From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/21 Path: news.gmane.org!not-for-mail From: "gs@int3.at" Newsgroups: gmane.linux.lib.musl.general Subject: Re: Help assessing status of musl Date: Sun, 29 May 2011 18:44:15 +0200 Message-ID: <4DE277DF.3020605@int3.at> References: <20110528234156.GA277@brightrain.aerifal.cx> <4DE271F8.8030107@int3.at> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040305090903090205080501" X-Trace: dough.gmane.org 1306687373 26082 80.91.229.12 (29 May 2011 16:42:53 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 29 May 2011 16:42:53 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-104-gllmg-musl=m.gmane.org@lists.openwall.com Sun May 29 18:42:49 2011 Return-path: Envelope-to: gllmg-musl@lo.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by lo.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1QQj4h-0008HM-Pn for gllmg-musl@lo.gmane.org; Sun, 29 May 2011 18:42:48 +0200 Original-Received: (qmail 15477 invoked by uid 550); 29 May 2011 16:42:47 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 15466 invoked from network); 29 May 2011 16:42:47 -0000 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.14) Gecko/20110221 SUSE/3.1.8 Mail/1.0 In-Reply-To: <4DE271F8.8030107@int3.at> Xref: news.gmane.org gmane.linux.lib.musl.general:21 Archived-At: This is a multi-part message in MIME format. --------------040305090903090205080501 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit ok, tweaked it a bit more > > see attached perl script and output. > i recommend you rerun it since i didnt have the most recent musl > version installed. > > On 05/29/2011 01:41 AM, Rich Felker wrote: >> Apologies for the somewhat-slower progress on musl lately. The past >> few weeks I've had a good bit less contiguous time to devote to it. >> One thing that would help me make better use of my time is if I had a >> good list of the remaining areas of functionality that musl is >> missing, so I could use smaller blocks of time to write code that's >> simple and largely independent of everything else. >> >> Would anyone be willing to go through a list of symbols from musl, >> comparing it to the list of functions in the POSIX standard >> (http://pubs.opengroup.org/onlinepubs/9699919799/functions/contents.html) >> >> and break it down into a list of functions and some categories of >> functionality? For the most part anything in non-essential option >> groups could be omitted or put in a separate list to address later. >> >> Rich >> > --------------040305090903090205080501 Content-Type: text/plain; name="musl-diff.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="musl-diff.txt" a64l acosl aio_cancel aio_error aio_fsync aio_read aio_return aio_suspend aio_write asinl assert atanl cabs cacos cacosh cacosl carg casin casinh casinl catan catanh catanl ccos ccosh ccosl cexp cimag clog conj contents cosl cpow cproj creal csin csinh csinl csqrt ctan ctanh ctanl daylight dbm_clearerr dlclose dlerror dlopen dlsym encrypt environ errno exec exp2 fattach FD_CLR fdetach fdim feclearexcept fegetenv fegetexceptflag fegetround feholdexcept feraiseexcept fesetenv fesetexceptflag fesetround fetestexcept feupdateenv fma fmax fmemopen fmin fmtmsg fpclassify getdate getmsg getnetbyaddr getpmsg hcreate if_freenameindex if_nameindex initstate insque isastream isfinite isgreater isgreaterequal isinf isless islessequal islessgreater isnan isnormal isunordered j0 l64a lfind lgamma lio_listio llround log2 lround lsearch mq_close mq_getattr mq_notify mq_open mq_receive mq_send mq_setattr mq_timedreceive mq_timedsend mq_unlink nan nearbyint open_memstream optarg posix_mem_offset posix_spawnattr_destroy posix_spawnattr_getschedparam posix_spawnattr_getschedpolicy posix_spawnattr_init posix_spawnattr_setschedparam posix_spawnattr_setschedpolicy posix_trace_attr_destroy posix_trace_attr_getclockres posix_trace_attr_getinherited posix_trace_attr_getlogsize posix_trace_attr_getname posix_trace_attr_getstreamfullpolicy posix_trace_attr_getstreamsize posix_trace_attr_init posix_trace_attr_setinherited posix_trace_attr_setlogsize posix_trace_attr_setname posix_trace_attr_setstreamfullpolicy posix_trace_attr_setstreamsize posix_trace_clear posix_trace_close posix_trace_create posix_trace_event posix_trace_eventid_equal posix_trace_eventid_open posix_trace_eventset_add posix_trace_eventtypelist_getnext_id posix_trace_flush posix_trace_get_attr posix_trace_get_filter posix_trace_getnext_event posix_trace_get_status posix_trace_open posix_trace_set_filter posix_trace_shutdown posix_trace_start posix_trace_timedgetnext_event posix_trace_trid_eventid_open posix_trace_trygetnext_event posix_typed_mem_get_info posix_typed_mem_open psiginfo pthread_attr_getinheritsched pthread_attr_getschedpolicy pthread_attr_getstack pthread_attr_setinheritsched pthread_attr_setschedpolicy pthread_attr_setstack pthread_cleanup_pop pthread_getconcurrency pthread_getcpuclockid pthread_getschedparam pthread_mutexattr_getprioceiling pthread_mutexattr_getprotocol pthread_mutexattr_setprioceiling pthread_mutexattr_setprotocol pthread_mutex_getprioceiling pthread_mutex_setprioceiling pthread_setconcurrency pthread_setschedparam pthread_setschedprio putmsg remque sched_getparam sched_get_priority_max sched_getscheduler sched_rr_get_interval sched_setparam sched_setscheduler setkey setstate signbit signgam sinl stdin strfmon tanl tdelete tfind tgamma timezone _tolower _toupper tsearch twalk ulimit uselocale V2_chap01 V2_chap02 V2_chap03 va_arg wcpcpy wcpncpy wcscasecmp wcsdup wcsftime wcsncasecmp wcsnlen wcstod wcstok wcstold y0 --------------040305090903090205080501 Content-Type: text/plain; name="musl-syms.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="musl-syms.txt" unlinkat fchownat setuid scalbf __kernel_sinf isgraph_l stpncpy lrintf scandir vwarn __cancel getrlimit pathconf longjmp ilogbf getrusage bind_textdomain_codeset pthread_attr_destroy munlock pthread_condattr_setclock __fputwc_unlocked __fpclassifyl access getlogin_r pthread_condattr_getpshared umount sigpending wait fputc seekdir mkstemp vsprintf __stdio_read __dns_count_addrs posix_spawnattr_getsigmask mrand48 ioctl getservbyname setsockopt ualarm pthread_rwlockattr_destroy siginterrupt __getgrent_a msgctl nice hypot gethostbyname vdprintf verr atan2f prctl readdir_r tcflow vasprintf htons wmemcmp sigpause textdomain pthread_mutexattr_destroy wcstoll remainder acosf setregid timer_getoverrun iswlower setresuid cfgetispeed eventfd_write remquof newlocale __fdopen fstatfs execvp pthread_cancel pthread_rwlock_timedwrlock strndup shmat pthread_mutexattr_setrobust clock_nanosleep timer_delete toupper_l fwscanf shmctl gethostbyname2_r pclose regcomp clock_getres pipe atanh inet_aton isupper_l getuid fileno strspn tanh wcstoimax pthread_cond_init hasmntopt catclose wcspbrk sethostname getmntent mblen memccpy sigaction tmpnam symlink remainderf fgetws putwc munmap strerror msgsnd syslog setutent tolower_l __restore munlockall gettext lockf getsubopt rename __assert_fail setpgid ftok fputwc fexecve sincos execve getopt_long_only __kernel_rem_pio2 getservbyport_r pthread_rwlock_timedrdlock getpeername atexit strstr getprotobynumber strcmp bcopy __tm_to_time pthread_spin_lock iswalpha strcat catopen getlogin index iswcntrl fgets sigignore pthread_mutex_timedlock strtok_r wordexp fgetwc pthread_cond_timedwait posix_spawn_file_actions_destroy _Exit __strdup dngettext wait3 posix_fadvise tanf duplocale remquo openlog endutxent sem_trywait ldiv usleep pselect free fchown pthread_kill getopt powf __ptsname_r erand48 gmtime __toread strncmp __uflow fgetc strpbrk floorf wcscmp __fseeko __posix_spawnx swscanf dup2 __set_thread_area pthread_attr_setguardsize pthread_rwlock_trywrlock mount fsetpos posix_spawn_file_actions_addclose rand_r chown posix_spawnattr_setpgroup acosh inet_pton fchdir getgruid_r iconv acoshf alarm mkfifo ctime fchmodat clock_settime getspent lrint setjmp getdomainname __ieee754_rem_pio2 __rsyscall_unlock lrand48 vfwscanf swapon __stpcpy timer_settime sem_getvalue fgetws_unlocked __overflow dgettext strtold bind getpid mkdtemp recv pthread_mutexattr_settype endhostent ceil tmpfile pthread_mutex_lock scanf wctrans pthread_condattr_setpshared pthread_getspecific fstat getgrnam memchr connect link strtok wcsnrtombs strerror_r iswdigit __pthread_unregister_cancel sleep execlp feof_unlocked __kernel_cosf pthread_key_delete pthread_create ctermid pthread_atfork __sigaction scalbnf getenv drand48 pthread_attr_setdetachstate isblank_l getpwent malloc setnetent getwchar_unlocked updwtmpx killpg coshf warnx __ctype_get_mb_cur_max utimensat getdtablesize ntohl wcrtomb popen epoll_create1 cuserid strncasecmp pthread_barrierattr_init atoi dcngettext remove cbrtf kill readdir ungetwc ttyname_r epoll_wait sigfillset abort getdents posix_spawn_file_actions_adddup2 isatty strcpy tempnam fgetwc_unlocked rintf setgroups pthread_equal fputws nftw btowc tcgetpgrp __wait __timedwait sysconf logf strtof ntohs getutxent getgrent strcasecmp isalpha __lock wctob fcntl dn_expand sscanf fsync wcschr fclose semctl initgroups __lockfile mktime abs fmodf vfscanf getspnam_r __dst_adjust __tzset truncf inet_ntoa sem_post __unmapself tcsetpgrp mlock ptsname wcstombs mlockall syscall setutxent mbsinit sigrelse signal mkdir fputs asinhf __rsyscall_lock isgraph pthread_self _exit strftime __timedwait_cp strchr msgget iconv_open srand gettimeofday flockfile __kernel_rem_pio2f memrchr vwprintf clearenv scalb realloc asinf mktemp grantpt getutid errx setitimer crypt_r res_query sigwaitinfo memcmp log10f rewind __dns_query mkdirat openat pthread_spin_trylock mempcpy __setjmp open getpwuid __kernel_cos rindex sbrk pthread_barrier_init expf setmntent pthread_attr_setschedparam warn vsscanf strtol _setjmp pthread_rwlock_destroy gets wctype getspnam sem_wait freopen pthread_detach posix_spawn_file_actions_init ferror_unlocked clock_gettime exit isprint_l getitimer wcswidth towctrans clock_getcpuclockid sendfile write unsetenv pthread_attr_getdetachstate ungetc readlinkat scalblnf __stdio_seek setprotoent freeaddrinfo toupper putchar_unlocked gethostbyaddr_r getpgrp atol strcspn bsearch fputws_unlocked __dns_get_rr endutent getpgid printf __fwritex fprintf fstatat select umount2 getchar_unlocked isdigit fork putw vswprintf getutline endmntent atanf setvbuf wcsrtombs localtime_r difftime getsockname execl poll pthread_sigmask vscanf __syscall_cp_asm __tre_mem_alloc_impl tcdrain fflush_unlocked iswxdigit setlocale __libc_current_sigrtmax __ieee754_rem_pio2f __uniclone gethostname sinh msync sigemptyset wcscspn islower pututline fgetpos stime getsockopt sem_close getgid __fopen_rb_ca ftruncate getwc_unlocked fwprintf vfprintf pthread_mutex_trylock __crypt_r hstrerror pthread_rwlock_rdlock rmdir fchmod readlink isxdigit isupper utime __putenv shm_unlink jrand48 erfc ispunct cfmakeraw iswupper endnetent getline pthread_rwlockattr_init strcasestr getgrgid ttyname rint lseek lchown modf linkat __errno_location ilogb vfork nextafterf iswgraph islower_l getutxid wcsncmp fopen trunc tzset sigprocmask strtoul if_nametoindex stat unlockpt confstr iscntrl_l __ftello_unlocked openpty bsd_signal asctime_r system getprotobyname ldexp isspace getpriority strncat brk nrand48 getgrnam_r wcscat pthread_key_create __tre_mem_new_impl __res_state clearerr_unlocked wcsspn clearerr exp cbrt pthread_barrier_wait strsignal getpass copysign fnmatch ptsname_r pthread_cond_destroy __mmap putenv writev __libc_sigaction tcsendbreak cfsetospeed logb dprintf fseeko creat __libc_csu_init utimes accept perror klogctl fread pthread_mutexattr_gettype endpwent fputwc_unlocked setlinebuf posix_spawnattr_setsigdefault atan2 globfree putwchar closedir posix_spawnattr_getpgroup getservbyport atan isalpha_l sigtimedwait pthread_cond_broadcast pthread_mutexattr_getpshared ispunct_l pthread_attr_getschedparam __fseeko_unlocked sem_destroy strlen vprintf pthread_spin_init getmntent_r gethostent posix_spawn posix_spawnattr_getflags sem_init asin glob fscanf snprintf __towrite getegid sigwait setenv localeconv lstat wmemmove __munmap readv putwchar_unlocked __libc_start_main getc wcsncpy tcgetsid symlinkat recvfrom setbuf wctomb putchar eventfd sigsetjmp frexpf dcgettext sigset log10 __pthread_register_cancel strlcat log daemon pthread_spin_unlock getprotoent sigqueue erfcf setbuffer towupper pow memalign _longjmp atanhf ldexpf posix_madvise qsort wmemset __memrchr strptime pthread_attr_getscope posix_spawnattr_getsigdefault mremap __stdout_write madvise mknodat ftello ftrylockfile strtoull getpagesize srandom asinh fputs_unlocked __brk signalfd getopt_long execv bzero isblank sigsuspend fstatvfs llabs sendto ftell pthread_barrierattr_getpshared nl_langinfo vsyslog unlink sinhf pthread_barrierattr_setpshared pthread_condattr_getclock swapoff fdopendir pthread_cond_wait wcsxfrm posix_openpt pthread_setcanceltype ferror strnlen __wake epoll_create ctime_r memcpy getc_unlocked sysinfo frexpl random tcsetattr getsid reboot imaxdiv strtoumax iswspace posix_fallocate pthread_rwlockattr_getpshared iswalnum mbrlen statvfs swab wait4 bcmp getservbyname_r pthread_once sethostent dirfd towlower log1pf ftw strsep nanosleep __ftello pthread_attr_getstacksize pthread_mutex_unlock __vsyslog endgrent pthread_attr_init scalbln setservent __stdio_close setpwent mkfifoat hypotf getdelim fwrite_unlocked gai_strerror posix_memalign regfree getchar lchmod wcsstr mbtowc gethostbyaddr semget wcwidth wscanf mbstowcs pause pthread_rwlock_init shutdown read inet_ntop posix_spawnattr_setsigmask wmemcpy iswpunct __fpending sqrtf mbrtowc puts mbsnrtowcs socket sighold eventfd_read __stdio_write __syscall_ret pthread_mutex_consistent pwrite fabs fdatasync sigdelset getwchar pthread_exit __kernel_tan statfs putc fgets_unlocked getaddrinfo atof wcscoll pthread_setcancelstate iswprint pthread_condattr_init pthread_mutexattr_init llrint endspent getutent floor cosh iswctype fmod __fgetwc_unlocked __restore_rt isalnum __mremap scalbn wordfree pthread_rwlock_tryrdlock lckpwdf expm1f strlcpy setpriority setlogmask adjtimex iconv_close __tre_mem_destroy atoll shmget time round putc_unlocked lldiv getwc getnameinfo gethostid __dns_doqueries shm_open dup setgid setspent fflush setsid ulckpwdf __fpclassify fpathconf memmove isascii modff __rand48_step vswscanf __syscall_cp pthread_testcancel epoll_pwait tan fread_unlocked setgrent wcstoull __time_to_tm div copysignf inet_addr msgrcv expm1 updwtmp strdup __futex closelog clock recvmsg isdigit_l fgetc_unlocked __fclose_ca __pthread_unwind_next regerror sigaltstack frexp posix_spawnp tcgetattr sigaddset fputc_unlocked __fpclassifyf pthread_mutexattr_setpshared getgrouplist iswblank wcstoul pthread_join fwrite gethostbyname2 cfsetispeed pthread_rwlock_wrlock fabsf fileno_unlocked pthread_rwlock_unlock wprintf vwscanf __syscall sem_timedwait funlockfile waitid sendmsg sigismember strrchr semop srand48 fdopen adjtime __pthread_tsd_run_dtors __libc_csu_fini getpwuid_r inotify_add_watch telldir raise gmtime_r pthread_spin_destroy pread setpgrp send faccessat lcong48 renameat crypt wcstoumax __madvise getgroups isalnum_l _start __asctime ffs basename fwide pthread_cond_signal epoll_ctl seed48 __rsyscall sqrt ceilf strtoimax mprotect getppid alphasort setresgid wcslen vwarnx sockatmark cfgetospeed flock pututxline __kernel_tanf sem_unlink posix_spawnattr_setflags tcflush inotify_rm_watch geteuid htonl setegid cfsetspeed asctime settimeofday sync dirname tolower truncate sched_yield __getpwent_a verrx chdir res_init gethostbyname_r opendir labs pthread_mutex_destroy setreuid if_indextoname err pthread_mutex_init getservent erf log1p sinf wcscpy pthread_condattr_destroy mmap inotify_init __simple_malloc sin pivot_root __scanf inotify_init1 __getdents asprintf endprotoent toascii cosf feof close forkpty calloc __libc_current_sigrtmin __ipparse acos chmod nextafter rewinddir wcswcs uname wcstol pthread_attr_setstacksize listen __yield __stpncpy localtime vfwprintf strtoll iscntrl strcoll seteuid pthread_barrierattr_destroy logbf pthread_mutexattr_getrobust posix_spawn_file_actions_addopen freelocale mbsrtowcs strncpy pthread_attr_setscope timer_gettime pthread_setspecific wmemchr getnetent __kernel_sin memset vsnprintf isprint isxdigit_l realpath __langinfo imaxabs waitpid times tanhf bindtextdomain sem_open timer_create strtod getutxline putwc_unlocked strchrnul __mktemp erff stpcpy wcsncat execle roundf strxfrm chroot getpwnam_r getcwd fseek isspace_l socketpair futimens addmntent catgets wcsrchr getpwnam siglongjmp ngettext getw endservent cos swprintf sprintf rand pthread_rwlockattr_setpshared regexec shmdt setrlimit mknod pthread_barrier_destroy umask pthread_attr_getguardsize --------------040305090903090205080501 Content-Type: text/plain; name="posix-syms.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="posix-syms.txt" iswgraph fchownat posix_trace_attr_setstreamfullpolicy V2_chap01 setuid wcsncmp fopen tzset trunc stpncpy sigprocmask fmemopen scandir casinh posix_trace_close strtoul if_nametoindex stat unlockpt confstr getrlimit posix_trace_attr_setstreamsize pathconf system longjmp cpow fegetexceptflag posix_trace_attr_init getprotobyname pthread_mutex_getprioceiling getrusage pthread_attr_destroy ldexp munlock pthread_condattr_setclock isspace getpriority strncat access fesetround posix_trace_getnext_event pthread_condattr_getpshared isless nrand48 wait sigpending wcscat seekdir pthread_key_create fputc isgreaterequal csinl mkstemp environ wcsspn clearerr catan posix_spawnattr_getsigmask pthread_barrier_wait exp cbrt strsignal acosl mrand48 ioctl getservbyname fmin copysign setsockopt fnmatch pthread_rwlockattr_destroy pthread_cond_destroy posix_trace_flush siginterrupt putenv writev tcsendbreak cfsetospeed msgctl logb dprintf remque nice hypot cimag creat setkey mq_open accept perror cacos cosl tcflow fread pthread_mutexattr_gettype dlopen endpwent wmemcmp posix_spawnattr_setsigdefault sigpause atan2 pthread_mutexattr_destroy wcstoll remainder putwchar daylight closedir setregid posix_spawnattr_getpgroup aio_error timer_getoverrun iswlower aio_cancel atan sigtimedwait pthread_mutexattr_getpshared pthread_cond_broadcast mq_receive setstate cexp posix_trace_eventset_add pthread_attr_getschedparam cabs V2_chap03 posix_trace_eventid_equal cfgetispeed sem_destroy pthread_setschedparam newlocale strlen isnormal vprintf gethostent posix_spawnattr_getflags posix_spawn sem_init pthread_cancel open_memstream strndup pthread_rwlock_timedwrlock glob asin snprintf shmat fscanf pthread_mutexattr_setrobust fegetround wcstold posix_spawnattr_setschedparam clock_nanosleep timer_delete shmctl pthread_mutexattr_getprotocol fwscanf va_arg getegid sigwait setenv mq_timedsend pclose isnan localeconv wmemmove lstat regcomp clock_getres pipe atanh readv y0 posix_trace_eventid_open errno wcsncpy getc tcgetsid posix_trace_trygetnext_event getuid fileno tanh strspn recvfrom exec isinf wcstoimax setbuf wctomb putchar catclose wcspbrk pthread_mutexattr_setprotocol fmtmsg sigsetjmp mblen feraiseexcept sigaction memccpy dlerror tmpnam aio_suspend feholdexcept isgreater aio_write symlink log10 fgetws log feupdateenv wcscasecmp posix_trace_attr_setinherited pthread_spin_unlock putwc sigqueue munmap towupper pow islessgreater islessequal strerror msgsnd _longjmp syslog posix_madvise qsort wmemset strptime munlockall ctanh pthread_attr_getscope lockf posix_spawnattr_getsigdefault lsearch getsubopt rename setpgid ftok fexecve fputwc ftrylockfile srandom pthread_mutex_setprioceiling pthread_rwlock_timedrdlock getpeername asinh atexit aio_return strstr posix_trace_set_filter pthread_setschedprio sinl posix_mem_offset lgamma strcmp pthread_spin_lock iswalpha dbm_clearerr strcat isblank sigsuspend fstatvfs mq_setattr catopen llabs getlogin iswcntrl sendto posix_typed_mem_open fgets sched_setparam pthread_mutex_timedlock pthread_barrierattr_getpshared assert ftell posix_trace_start nl_langinfo mq_timedreceive wordexp unlink pthread_condattr_getclock pthread_barrierattr_setpshared j0 fgetwc pthread_cond_timedwait posix_trace_event fdopendir wcsxfrm posix_spawn_file_actions_destroy posix_openpt _Exit ferror posix_spawnattr_init posix_fadvise _toupper strnlen duplocale remquo openlog endutxent sem_trywait memcpy ldiv getc_unlocked pselect random tcsetattr free fchown pthread_kill fdetach getsid getopt imaxdiv posix_trace_attr_getlogsize tsearch erand48 gmtime strtoumax strncmp iswspace fgetc strpbrk wcscmp posix_fallocate pthread_rwlockattr_getpshared fattach iswalnum hcreate swscanf swab statvfs mbrlen posix_trace_eventtypelist_getnext_id contents pthread_cleanup_pop pthread_once sethostent pthread_attr_setguardsize dirfd towlower pthread_rwlock_trywrlock llround twalk ftw timezone wcstok tdelete nanosleep posix_spawn_file_actions_addclose fsetpos fmax posix_spawnattr_setpgroup chown pthread_attr_getstacksize catanl acosh posix_spawnattr_getschedpolicy fchdir iconv if_nameindex endgrent pthread_attr_init setservent scalbln setpwent aio_fsync fetestexcept clog feclearexcept alarm getdelim mkfifo ctime gai_strerror ccosh getnetbyaddr posix_memalign fchmodat getchar clock_settime wcsstr lrint psiginfo mbtowc exp2 lfind setjmp semget lrand48 pthread_attr_getstack wscanf wcwidth mbstowcs vfwscanf pause posix_trace_get_attr shutdown sem_getvalue read posix_spawnattr_setsigmask inet_ntop wmemcpy iswpunct mq_unlink strtold sched_getparam mbrtowc bind puts socket sighold getpid mkdtemp recv pthread_mutexattr_settype pwrite pthread_mutex_consistent endhostent ceil tmpfile pthread_mutex_lock fabs fdatasync wctrans sigdelset scanf getmsg pthread_condattr_setpshared pthread_getspecific fstat tfind pthread_exit getwchar posix_trace_attr_setlogsize getgrnam memchr putc connect link sched_getscheduler posix_trace_trid_eventid_open strtok getaddrinfo wcsnrtombs cacosl iswdigit atof wcscoll pthread_setcancelstate posix_spawnattr_getschedparam pthread_condattr_init iswprint pthread_mutexattr_init sleep conj posix_typed_mem_get_info llrint pthread_key_delete floor pthread_create cosh iswctype posix_trace_timedgetnext_event fmod ctermid pthread_atfork isalnum getenv csinh drand48 pthread_rwlock_tryrdlock pthread_attr_setdetachstate setpriority setlogmask getpwent iconv_close malloc setnetent pthread_getconcurrency time shmget round killpg posix_trace_get_status putmsg putc_unlocked utimensat lldiv ntohl wcrtomb getwc getnameinfo if_freenameindex popen gethostid strncasecmp pthread_barrierattr_init shm_open dup atoi setgid fflush remove setsid kill fpathconf readdir memmove ungetwc isascii vswscanf stdin sigfillset abort pthread_testcancel lround ccosl creal tan setgrent posix_spawn_file_actions_adddup2 tempnam strcpy isatty div nearbyint posix_trace_attr_setname inet_addr msgrcv pthread_equal fputws nftw posix_trace_attr_getname pthread_setconcurrency ccos btowc tcgetpgrp sched_rr_get_interval expm1 isfinite strdup posix_spawnattr_setschedpolicy sysconf closelog logf clock recvmsg fpclassify getgrent getutxent fma strcasecmp sigaltstack frexp isalpha wctob posix_spawnp fcntl tcgetattr sscanf sigaddset fsync wcschr getpmsg fclose fegetenv semctl pthread_mutexattr_setpshared mktime wcstoul iswblank abs pthread_join vfscanf cproj fwrite a64l optarg cfsetispeed fesetenv mq_close nan truncf posix_trace_attr_getstreamfullpolicy sem_post pthread_rwlock_wrlock tcsetpgrp mlock ptsname wcstombs pthread_rwlock_unlock insque wprintf vwscanf fdim mlockall sem_timedwait wcstod setutxent funlockfile mbsinit waitid strrchr sigismember sendmsg sigrelse semop srand48 signal posix_trace_get_filter fdopen mkdir fputs wcsnlen isgraph posix_trace_attr_getstreamsize aio_read wcsncasecmp wcsftime pthread_self strftime strchr getdate msgget iconv_open srand flockfile gettimeofday telldir raise wcpncpy pthread_spin_destroy vwprintf tanl ctan fesetexceptflag pread setpgrp send faccessat lcong48 realloc grantpt pthread_attr_setstack wcstoumax crypt setitimer getgroups sigwaitinfo memcmp ffs basename fwide pthread_cond_signal rewind _tolower seed48 sqrt wcpcpy signgam openat posix_trace_clear ctanl strtoimax getppid mprotect ulimit alphasort wcslen sockatmark cfgetospeed open getpwuid pututxline sem_unlink dlsym posix_spawnattr_setflags tcflush pthread_attr_getschedpolicy carg geteuid pthread_attr_setschedparam vsscanf strtol htonl setegid asctime tolower sync pthread_rwlock_destroy dirname truncate sched_setscheduler sched_yield wctype gets sem_wait mq_notify freopen chdir pthread_detach pthread_mutex_destroy labs opendir setreuid exit if_indextoname pthread_mutex_init getitimer posix_spawnattr_destroy wcswidth towctrans clock_getcpuclockid pthread_mutexattr_setprioceiling posix_trace_attr_getclockres erf write unsetenv log1p pthread_attr_getdetachstate wcscpy ungetc pthread_condattr_destroy setprotoent freeaddrinfo asinl mmap sin toupper putchar_unlocked toascii getpgrp endprotoent atol strcspn bsearch pthread_getschedparam feof close getpgid printf fstatat fprintf csin select calloc casin l64a chmod acos getchar_unlocked isdigit nextafter fork V2_chap02 rewinddir vswprintf lio_listio posix_trace_open uname atanf wcsrtombs setvbuf wcstol pthread_attr_setstacksize difftime getsockname strfmon casinl listen poll pthread_sigmask vscanf tcdrain localtime wcsdup vfwprintf iswxdigit strtoll setlocale iscntrl strcoll catanh seteuid sched_get_priority_max pthread_barrierattr_destroy pthread_mutexattr_getrobust posix_trace_shutdown posix_spawn_file_actions_addopen freelocale uselocale gethostname strncpy mbsrtowcs pthread_attr_setscope sinh pthread_mutexattr_getprioceiling isunordered pthread_setspecific msync wmemchr sigemptyset wcscspn islower memset vsnprintf FD_CLR fgetpos isprint getsockopt sem_close realpath getgid ftruncate imaxabs dlclose waitpid posix_trace_attr_destroy times pthread_getcpuclockid tgamma fwprintf timer_create sem_open vfprintf strtod pthread_mutex_trylock pthread_rwlock_rdlock rmdir wcsncat stpcpy erff strxfrm pthread_attr_getinheritsched getcwd fchmod atanl readlink mq_send csqrt isastream fseek isupper isxdigit utime shm_unlink jrand48 erfc pthread_attr_setschedpolicy pthread_attr_setinheritsched ispunct signbit socketpair futimens mq_getattr wcsrchr catgets siglongjmp getpwnam posix_trace_attr_getinherited endnetent iswupper getline cos endservent pthread_rwlockattr_init initstate swprintf sprintf getgrgid ttyname rint encrypt rand posix_trace_create pthread_rwlockattr_setpshared lchown lseek modf log2 ilogb shmdt setrlimit mknod pthread_barrier_destroy cacosh umask pthread_attr_getguardsize --------------040305090903090205080501 Content-Type: application/x-perl; name="musl-syms.pl" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="musl-syms.pl" #!/usr/bin/env perl use strict; use warnings; use File::Slurp; my $muslpath = "/usr/local/musl"; $muslpath = defined($ARGV[0]) ? $ARGV[0] : $muslpath; my @muslobjs = qw(libc.a); #add missing object files here die "need path to musl as ARGV0, if not in /usr/local/musl" unless(-e $muslpath); my $url = "http://pubs.opengroup.org/onlinepubs/9699919799/functions/contents.html"; my @posixsite = `wget -q -O - $url`; my %pxsyms; for(@posixsite) { if (/href=\"\.\.\/functions\/(\w+)\.html/) { $pxsyms{$1} = 1; } } my @pxsyma; push @pxsyma, $_ . "\n" for(keys(%pxsyms)); write_file "posix-syms.txt", @pxsyma; my $cmd = "nm -g"; $cmd .= " $muslpath/lib/" . $_ for (@muslobjs); my @tmuslsyms = `$cmd`; my %muslsyms; for(@tmuslsyms) { if(/[\da-f]+ [T|W] (\w+)/) { $muslsyms{$1} = 1; } } my @muslsyma; push @muslsyma, $_ . "\n" for(keys(%muslsyms)); write_file "musl-syms.txt", @muslsyma; #print "symbols defined in posix, but not in musl:\n"; for(keys %pxsyms) { print $_, "\n" unless defined $muslsyms{$_}; } --------------040305090903090205080501--