--- /dev/null
+# uClibc API tests
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+
+top_builddir=../../
+include ../Rules.mak
+-include Makefile.in
+include ../Test.mak
--- /dev/null
+# uClibc API tests
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+
+SHELL_TESTS := shell_tst-API
+run: $(SHELL_TESTS)
+
+define get_codes
+ $(subst .,,$(sort $(suffix $(subst -,.,$(foreach x,$(1),$(if $(findstring -,$(x)),$(x),))))))
+endef
+sym_files = $(patsubst %.syms,%,$(wildcard *.syms))
+stds = $(patsubst .%,%,$(sort $(suffix $(sym_files))))
+tests=$(foreach s,$(stds),$(patsubst %.$(s),%,$(sym_files)))
+codes=$(call get_codes,$(tests))
+
+shell_tst-API: uclibc_out=$(patsubst shell_%,%,$@).out
+shell_tst-API: glibc_out=$(patsubst shell_%,%_glibc,$@).out
+shell_tst-API:
+ @exec echo "DISABLED for now, needs improvement"
+shell_tst-API_DISABLED:
+ $(showtest)
+ $(Q)top_builddir=$(top_builddir) AWK=$(AWK) \
+ uclibc_out=$(uclibc_out) glibc_out=$(glibc_out) \
+ $(SHELL) \
+ $(patsubst shell_%,%.sh,$@) $(stds) "$(tests)"
+ $(do_showdiff) $(glibc_out) $(uclibc_out) ; \
+ exec diff -u "$(glibc_out)" "$(uclibc_out)"
--- /dev/null
+aio_cancel
+aio_error
+aio_fsync
+aio_read
+aio_return
+aio_suspend
+aio_write
+lio_listio
--- /dev/null
+htonl
+htons
+ntohl
+ntohs
+inet_addr
+inet_ntoa
+inet_ntop
+inet_pton
--- /dev/null
+cabs
+cabsf
+cabsl
+cacos
+cacosf
+cacosh
+cacoshf
+cacoshl
+cacosl
+carg
+cargf
+cargl
+casin
+casinf
+casinh
+casinhf
+casinhl
+casinl
+catan
+catanf
+catanh
+catanhf
+catanhl
+catanl
+ccos
+ccosf
+ccosh
+ccoshf
+ccoshl
+ccosl
+cexp
+cexpf
+cexpl
+cimag
+cimagf
+cimagl
+clog
+clogf
+clogl
+conj
+conjf
+conjl
+cpow
+cpowf
+cpowl
+cproj
+cprojf
+cprojl
+creal
+crealf
+creall
+csin
+csinf
+csinh
+csinhf
+csinhl
+csinl
+csqrt
+csqrtf
+csqrtl
+ctan
+ctanf
+ctanh
+ctanhf
+ctanhl
+ctanl
--- /dev/null
+isalnum_l
+isalpha_l
+isblank_l
+iscntrl_l
+isdigit_l
+isgraph_l
+islower_l
+isprint_l
+ispunct_l
+isspace_l
+isupper_l
+isxdigit_l
+tolower_l
+toupper_l
--- /dev/null
+isascii
+toascii
--- /dev/null
+isalnum
+isalpha
+isblank
+iscntrl
+isdigit
+isgraph
+islower
+isprint
+ispunct
+isspace
+isupper
+isxdigit
+tolower
+toupper
--- /dev/null
+seekdir
+telldir
--- /dev/null
+alphasort
+closedir
+dirfd
+fdopendir
+opendir
+readdir
+readdir_r
+rewinddir
+scandir
--- /dev/null
+dlclose
+dlerror
+dlopen
+dlsym
--- /dev/null
+posix_fadvise
+posix_fallocate
--- /dev/null
+creat
+fcntl
+open
+openat
--- /dev/null
+feclearexcept
+fegetenv
+fegetexceptflag
+fegetround
+feholdexcept
+feraiseexcept
+fesetenv
+fesetexceptflag
+fesetround
+fetestexcept
+feupdateenv
--- /dev/null
+glob
+globfree
--- /dev/null
+endgrent
+getgrent
+getgrgid
+getgrgid_r
+getgrnam
+getgrnam_r
--- /dev/null
+#!/bin/sh
+# vi: ft=awk :
+#
+# Script to extract functions and external variables off SUS html docs
+#
+# Copyright (C) 2010 Bernhard Reutner-Fischer
+# Public Domain
+
+# Usage:
+# wget http://www.opengroup.org/onlinepubs/9699919799/download/susv4.tgz
+# tar xzf susv4.tgz
+# SUS=susv4 html2input.sh -vFULL_DECLARATIONS=1
+# or
+# SUS=susv4 html2input.sh -vFULL_DECLARATIONS=0 -vSTDNAME=SUSv4
+#
+# Bug in time.h.html of SUSv4:
+# It inconsistently reads "as variables" instead of "external variables" that
+# is used everywhere except in time.h.html
+
+test "x$SUS" = "x" && SUS="susv4"
+test "x$AWK" = "x" && AWK="AWK"
+test "x$GREP" = "x" && GREP="GREP"
+for h in \
+ $($GREP -l "shall be declared as functions" $SUS/basedefs/*.h.html) \
+ $($GREP -l "shall declare the following as variables" $SUS/basedefs/*.h.html) \
+ $($GREP -l "shall declare the following external variables" $SUS/basedefs/*.h.html)
+do
+$AWK $* '
+function get_filename () {
+ if (NR == 1) {
+ x=FILENAME
+ sub(".*/", "", x)
+ split(x, f , ".")
+ fname=f[1]
+ if (STDNAME)
+ fname=fname "." STDNAME
+ fname=fname ".in"
+ printf "" > fname
+ }
+}
+function unhtml (l) {
+ sub("<tt>", "", l)
+ sub("</tt>", "", l)
+ sub("<sup>", "", l)
+ sub("</sup>", "", l)
+ sub("<a [^>]*>", "", l)
+ sub("</a>", "", l)
+ if (l ~ /<img[^>]*Option[[:space:]][[:space:]]*Start[^>]*>/) {
+ sub("<img[^>]*>", "[Option Start]", l)
+ } else if (l ~ /<img[^>]*Option[[:space:]][[:space:]]*End[^>]*>/) {
+ sub("<img[^>]*>", "[Option End]", l)
+ }
+ sub("<.*>", "", l)
+ return l
+}
+function get_funcname (l) {
+ if (FULL_DECLARATIONS)
+ return l
+ if (l !~ /;$/)
+ return l
+ cnt = split(l, foo, " ")
+ if (cnt >= 2 && foo[2] ~ /^\(\*/) {
+ cnt = split(l, foo, "(")
+ # good enough for signal() and sigset()
+ if (cnt >= 2)
+ l=foo[2]
+ } else {
+ sub("\\(.*", "", l)
+ }
+ gsub("[[\\]\\*]", "", l)
+ i = split(l, a, " ")
+ if (i)
+ l = a[i]
+ return l
+}
+function get_varname (l) {
+ if (FULL_DECLARATIONS)
+ return l
+ if (l !~ /;$/)
+ return l
+ gsub(",[[:space:]][[:space:]]*", ",", l)
+ sub(";$", "", l)
+ i = split(l, a, " ")
+ if (i)
+ l = a[i]
+ gsub("[[\\]\\*]", "", l)
+ gsub(",", "\n", l)
+ return l
+}
+BEGIN{data=0;l=""}
+get_filename()
+/shall be declared as functions/{data=1;isvar=0;next;}
+/shall declare the following as variables/{data=1;isvar=1;next;}
+/shall declare the following external variables/{data=1;isvar=1;next;}
+/<pre>/{data++;next;}
+/<\/pre>/{data=0;next;}
+/.*/{
+ if (data == 2 && fname) {
+ tmp = $0
+ sub("^[[:space:]][[:space:]]*", " ", tmp)
+ l = l tmp
+ tmp = unhtml(l)
+ if (!tmp)
+ next
+ l = tmp
+ if (tmp !~ /;$/ && tmp !~ />$/ &&
+ tmp !~ /Option Start\]$/ && tmp !~ /Option End\]$/)
+ next
+ if (!isvar)
+ l = get_funcname(l)
+ else
+ l = get_varname(l)
+ if (l)
+ print l >> fname
+ l=""
+ }
+}
+' $h
+done
--- /dev/null
+iconv
+iconv_close
+iconv_open
--- /dev/null
+imaxabs
+imaxdiv
+strtoimax
+strtoumax
+wcstoimax
+wcstoumax
--- /dev/null
+basename
+dirname
--- /dev/null
+duplocale
+freelocale
+newlocale
+uselocale
--- /dev/null
+localeconv
+setlocale
--- /dev/null
+j0
+j1
+jn
+y0
+y1
+yn
--- /dev/null
+acos
+acosf
+acosh
+acoshf
+acoshl
+acosl
+asin
+asinf
+asinh
+asinhf
+asinhl
+asinl
+atan
+atan2
+atan2f
+atan2l
+atanf
+atanh
+atanhf
+atanhl
+atanl
+cbrt
+cbrtf
+cbrtl
+ceil
+ceilf
+ceill
+copysign
+copysignf
+copysignl
+cos
+cosf
+cosh
+coshf
+coshl
+cosl
+erf
+erfc
+erfcf
+erfcl
+erff
+erfl
+exp
+exp2
+exp2f
+exp2l
+expf
+expl
+expm1
+expm1f
+expm1l
+fabs
+fabsf
+fabsl
+fdim
+fdimf
+fdiml
+floor
+floorf
+floorl
+fma
+fmaf
+fmal
+fmax
+fmaxf
+fmaxl
+fmin
+fminf
+fminl
+fmod
+fmodf
+fmodl
+frexp
+frexpf
+frexpl
+hypot
+hypotf
+hypotl
+ilogb
+ilogbf
+ilogbl
+ldexp
+ldexpf
+ldexpl
+lgamma
+lgammaf
+lgammal
+llrint
+llrintf
+llrintl
+llround
+llroundf
+llroundl
+log
+log10
+log10f
+log10l
+log1p
+log1pf
+log1pl
+log2
+log2f
+log2l
+logb
+logbf
+logbl
+logf
+logl
+lrint
+lrintf
+lrintl
+lround
+lroundf
+lroundl
+modf
+modff
+modfl
+nan
+nanf
+nanl
+nearbyint
+nearbyintf
+nearbyintl
+nextafter
+nextafterf
+nextafterl
+nexttoward
+nexttowardf
+nexttowardl
+pow
+powf
+powl
+remainder
+remainderf
+remainderl
+remquo
+remquof
+remquol
+rint
+rintf
+rintl
+round
+roundf
+roundl
+scalbln
+scalblnf
+scalblnl
+scalbn
+scalbnf
+scalbnl
+sin
+sinf
+sinh
+sinhf
+sinhl
+sinl
+sqrt
+sqrtf
+sqrtl
+tan
+tanf
+tanh
+tanhf
+tanhl
+tanl
+tgamma
+tgammaf
+tgammal
+trunc
+truncf
+truncl
--- /dev/null
+strfmon
+strfmon_l
--- /dev/null
+mq_close
+mq_getattr
+mq_notify
+mq_open
+mq_receive
+mq_send
+mq_setattr
+mq_timedreceive
+mq_timedsend
+mq_unlink
--- /dev/null
+dbm_clearerr
+dbm_close
+dbm_delete
+dbm_error
+dbm_fetch
+dbm_firstkey
+dbm_nextkey
+dbm_open
+dbm_store
--- /dev/null
+if_freenameindex
+if_indextoname
+if_nameindex
+if_nametoindex
--- /dev/null
+endhostent
+endnetent
+endprotoent
+endservent
+freeaddrinfo
+gai_strerror
+getaddrinfo
+gethostent
+getnameinfo
+getnetbyaddr
+getnetbyname
+getnetent
+getprotobyname
+getprotobynumber
+getprotoent
+getservbyname
+getservbyport
+getservent
+sethostent
+setnetent
+setprotoent
+setservent
--- /dev/null
+catclose
+catgets
+catopen
--- /dev/null
+pthread_mutexattr_getprotocol
+pthread_mutexattr_setprotocol
--- /dev/null
+pthread_getconcurrency
+pthread_setconcurrency
--- /dev/null
+pthread_mutex_getprioceiling
+pthread_mutex_setprioceiling
+pthread_mutexattr_getprioceiling
+pthread_mutexattr_setprioceiling
--- /dev/null
+pthread_getcpuclockid
--- /dev/null
+pthread_attr_getinheritsched
+pthread_attr_getschedpolicy
+pthread_attr_getscope
+pthread_attr_setinheritsched
+pthread_attr_setschedpolicy
+pthread_attr_setscope
+pthread_getschedparam
+pthread_setschedparam
+pthread_setschedprio
--- /dev/null
+pthread_attr_getstack
+pthread_attr_setstack
--- /dev/null
+pthread_barrierattr_getpshared
+pthread_barrierattr_setpshared
+pthread_condattr_getpshared
+pthread_condattr_setpshared
+pthread_mutexattr_getpshared
+pthread_mutexattr_setpshared
+pthread_rwlockattr_getpshared
+pthread_rwlockattr_setpshared
--- /dev/null
+pthread_attr_getstacksize
+pthread_attr_setstacksize
--- /dev/null
+pthread_atfork
+pthread_attr_destroy
+pthread_attr_getdetachstate
+pthread_attr_getguardsize
+pthread_attr_getschedparam
+pthread_attr_init
+pthread_attr_setdetachstate
+pthread_attr_setguardsize
+pthread_attr_setschedparam
+pthread_barrier_destroy
+pthread_barrier_init
+pthread_barrier_wait
+pthread_barrierattr_destroy
+pthread_barrierattr_init
+pthread_cancel
+pthread_cleanup_pop
+pthread_cleanup_push
+pthread_cond_broadcast
+pthread_cond_destroy
+pthread_cond_init
+pthread_cond_signal
+pthread_cond_timedwait
+pthread_cond_wait
+pthread_condattr_destroy
+pthread_condattr_getclock
+pthread_condattr_init
+pthread_condattr_setclock
+pthread_create
+pthread_detach
+pthread_equal
+pthread_exit
+pthread_getspecific
+pthread_join
+pthread_key_create
+pthread_key_delete
+pthread_mutex_consistent
+pthread_mutex_destroy
+pthread_mutex_init
+pthread_mutex_lock
+pthread_mutex_timedlock
+pthread_mutex_trylock
+pthread_mutex_unlock
+pthread_mutexattr_destroy
+pthread_mutexattr_getrobust
+pthread_mutexattr_gettype
+pthread_mutexattr_init
+pthread_mutexattr_setrobust
+pthread_mutexattr_settype
+pthread_once
+pthread_rwlock_destroy
+pthread_rwlock_init
+pthread_rwlock_rdlock
+pthread_rwlock_timedrdlock
+pthread_rwlock_timedwrlock
+pthread_rwlock_tryrdlock
+pthread_rwlock_trywrlock
+pthread_rwlock_unlock
+pthread_rwlock_wrlock
+pthread_rwlockattr_destroy
+pthread_rwlockattr_init
+pthread_self
+pthread_setcancelstate
+pthread_setcanceltype
+pthread_setspecific
+pthread_spin_destroy
+pthread_spin_init
+pthread_spin_lock
+pthread_spin_trylock
+pthread_spin_unlock
+pthread_testcancel
--- /dev/null
+endpwent
+getpwent
+setpwent
--- /dev/null
+getpwnam
+getpwnam_r
+getpwuid
+getpwuid_r
--- /dev/null
+regcomp
+regerror
+regexec
+regfree
--- /dev/null
+sched_getparam
+sched_getscheduler
+sched_setparam
+sched_setscheduler
--- /dev/null
+sched_get_priority_max
+sched_get_priority_min
+sched_rr_get_interval
--- /dev/null
+sched_yield
--- /dev/null
+hcreate
+hdestroy
+hsearch
+insque
+lfind
+lsearch
+remque
+tdelete
+tfind
+tsearch
+twalk
--- /dev/null
+sem_close
+sem_destroy
+sem_getvalue
+sem_init
+sem_open
+sem_post
+sem_timedwait
+sem_trywait
+sem_unlink
+sem_wait
--- /dev/null
+#!/usr/bin/awk -f
+#
+# Usage: awk -f separate.awk foo.SUSv4.in
+# Input: http://www.opengroup.org/onlinepubs/9699919799/basedefs/unistd.h.html#tag_13_77_03_06
+# Output: foo-$CODE.SUSv4.syms, foo.SUSv4.syms
+#
+# Copyright (C) 2010 Bernhard Reutner-Fischer
+# Public domain
+
+function get_code(line)
+{
+ sub("\\]\\[.*", "", line)
+ sub("\\[", "", line)
+ sub(" ", "", line)
+ return line
+}
+BEGIN{
+ code="";# feature set; XSI, OB XSI, CX, etc
+
+}
+/\[Option Start\]/{
+ code = get_code($0)
+ next
+}
+/\[Option End\]/{ code = ""; next; }
+/.*/ {
+ if (!hdrname) {
+ split(FILENAME, fparts, ".")
+ hdrname = fparts[1]
+ stdname = fparts[2]
+ if (fparts[3] != "in") {
+ print "inputfilename may not be ok, exiting."
+ exit(1)
+ }
+ }
+ if (code) {
+ fname = hdrname "-" code "." stdname ".syms"
+ } else {
+ fname = hdrname "." stdname ".syms"
+ }
+ sub("^*", "", $0)
+ if (file[code]) {
+ print $0 >> fname
+ } else {
+ print $0 > fname
+ file[code] = 1
+ }
+}
--- /dev/null
+siglongjmp
--- /dev/null
+kill
+psiginfo
+psignal
+pthread_kill
+pthread_sigmask
+sigaction
+sigaddset
+sigdelset
+sigemptyset
+sigfillset
+sigismember
+sigpending
+sigprocmask
+sigqueue
+sigsuspend
+sigtimedwait
+sigwait
+sigwaitinfo
--- /dev/null
+sighold
+sigignore
+siginterrupt
+sigpause
+sigrelse
+void
--- /dev/null
+killpg
+sigaltstack
--- /dev/null
+raise
+void
--- /dev/null
+posix_spawnattr_getschedparam
+posix_spawnattr_getschedpolicy
+posix_spawnattr_setschedparam
+posix_spawnattr_setschedpolicy
--- /dev/null
+posix_spawn
+posix_spawn_file_actions_addclose
+posix_spawn_file_actions_adddup2
+posix_spawn_file_actions_addopen
+posix_spawn_file_actions_destroy
+posix_spawn_file_actions_init
+posix_spawnattr_destroy
+posix_spawnattr_getflags
+posix_spawnattr_getpgroup
+posix_spawnattr_getsigdefault
+posix_spawnattr_getsigmask
+posix_spawnattr_init
+posix_spawnattr_setflags
+posix_spawnattr_setpgroup
+posix_spawnattr_setsigdefault
+posix_spawnattr_setsigmask
+posix_spawnp
--- /dev/null
+ctermid
+fdopen
+fileno
+flockfile
+fmemopen
+fseeko
+ftello
+ftrylockfile
+funlockfile
+getc_unlocked
+getchar_unlocked
+getdelim
+getline
+open_memstream
+pclose
+popen
+putc_unlocked
+putchar_unlocked
+renameat
+vdprintf
--- /dev/null
+gets
+tmpnam
--- /dev/null
+clearerr
+fclose
+feof
+ferror
+fflush
+fgetc
+fgetpos
+fgets
+fopen
+fprintf
+fputc
+fputs
+fread
+freopen
+fscanf
+fseek
+fsetpos
+ftell
+fwrite
+getc
+getchar
+perror
+printf
+putc
+putchar
+puts
+remove
+rename
+rewind
+scanf
+setbuf
+setvbuf
+snprintf
+sprintf
+sscanf
+tmpfile
+ungetc
+vfprintf
+vfscanf
+vprintf
+vscanf
+vsnprintf
+vsprintf
+vsscanf
--- /dev/null
+posix_memalign
--- /dev/null
+mkdtemp
+mkstemp
+setenv
+unsetenv
--- /dev/null
+a64l
+drand48
+erand48
+grantpt
+initstate
+jrand48
+l64a
+lcong48
+lrand48
+mrand48
+nrand48
+posix_openpt
+ptsname
+putenv
+random
+realpath
+seed48
+setkey
+setstate
+srand48
+srandom
+unlockpt
--- /dev/null
+_Exit
+abort
+abs
+atexit
+atof
+atoi
+atol
+atoll
+bsearch
+calloc
+div
+exit
+free
+getenv
+getsubopt
+labs
+ldiv
+llabs
+lldiv
+malloc
+mblen
+mbstowcs
+mbtowc
+qsort
+rand
+realloc
+srand
+strtod
+strtof
+strtol
+strtold
+strtoll
+strtoul
+strtoull
+system
+wcstombs
+wctomb
--- /dev/null
+stpcpy
+stpncpy
+strcoll_l
+strdup
+strerror_l
+strerror_r
+strndup
+strnlen
+strsignal
+strtok_r
+strxfrm_l
--- /dev/null
+memchr
+memcmp
+memcpy
+memmove
+memset
+strcat
+strchr
+strcmp
+strcoll
+strcpy
+strcspn
+strerror
+strlen
+strncat
+strncmp
+strncpy
+strpbrk
+strrchr
+strspn
+strstr
+strtok
+strxfrm
--- /dev/null
+strcasecmp
+strcasecmp_l
+strncasecmp
+strncasecmp_l
--- /dev/null
+fattach
+fdetach
+getmsg
+getpmsg
+ioctl
+isastream
+putmsg
+putpmsg
--- /dev/null
+posix_madvise
--- /dev/null
+mlockall
+munlockall
--- /dev/null
+mlock
+munlock
--- /dev/null
+shm_open
+shm_unlink
--- /dev/null
+posix_mem_offset
+posix_typed_mem_get_info
+posix_typed_mem_open
--- /dev/null
+mmap
+mprotect
+munmap
--- /dev/null
+msgctl
+msgget
+msgrcv
+msgsnd
--- /dev/null
+getpriority
+getrlimit
+getrusage
+setpriority
+setrlimit
--- /dev/null
+FD_CLR
+FD_ISSET
+FD_SET
+FD_ZERO
+pselect
+select
--- /dev/null
+semctl
+semget
+semop
--- /dev/null
+shmat
+shmctl
+shmdt
+shmget
--- /dev/null
+accept
+bind
+connect
+getpeername
+getsockname
+getsockopt
+listen
+recv
+recvfrom
+recvmsg
+send
+sendmsg
+sendto
+setsockopt
+shutdown
+sockatmark
+socket
+socketpair
--- /dev/null
+mknod
+mknodat
--- /dev/null
+chmod
+fchmod
+fchmodat
+fstat
+fstatat
+futimens
+lstat
+mkdir
+mkdirat
+mkfifo
+mkfifoat
+stat
+umask
+utimensat
--- /dev/null
+fstatvfs
+statvfs
--- /dev/null
+getitimer
+gettimeofday
+setitimer
--- /dev/null
+select
+utimes
--- /dev/null
+readv
+writev
--- /dev/null
+wait
+waitid
+waitpid
--- /dev/null
+closelog
+openlog
+setlogmask
+syslog
--- /dev/null
+cfgetispeed
+cfgetospeed
+cfsetispeed
+cfsetospeed
+tcdrain
+tcflow
+tcflush
+tcgetattr
+tcgetsid
+tcsendbreak
+tcsetattr
--- /dev/null
+clock_getcpuclockid
--- /dev/null
+clock_getres
+clock_gettime
+clock_nanosleep
+clock_settime
+gmtime_r
+localtime_r
+nanosleep
+strftime_l
+timer_create
+timer_delete
+timer_getoverrun
+timer_gettime
+timer_settime
+tzset
+tzname
--- /dev/null
+asctime
+ctime
--- /dev/null
+asctime_r
+ctime_r
--- /dev/null
+getdate
+strptime
+daylight
+timezone
--- /dev/null
+clock
+difftime
+gmtime
+localtime
+mktime
+strftime
+time
--- /dev/null
+posix_trace_eventset_add
+posix_trace_eventset_del
+posix_trace_eventset_empty
+posix_trace_eventset_fill
+posix_trace_eventset_ismember
+posix_trace_get_filter
+posix_trace_set_filter
+posix_trace_trid_eventid_open
--- /dev/null
+posix_trace_attr_getinherited
+posix_trace_attr_setinherited
--- /dev/null
+posix_trace_attr_getlogfullpolicy
+posix_trace_attr_getlogsize
+posix_trace_attr_setlogfullpolicy
+posix_trace_attr_setlogsize
+posix_trace_close
+posix_trace_create_withlog
+posix_trace_flush
+posix_trace_open
+posix_trace_rewind
--- /dev/null
+posix_trace_attr_destroy
+posix_trace_attr_getclockres
+posix_trace_attr_getcreatetime
+posix_trace_attr_getgenversion
+posix_trace_attr_getmaxdatasize
+posix_trace_attr_getmaxsystemeventsize
+posix_trace_attr_getmaxusereventsize
+posix_trace_attr_getname
+posix_trace_attr_getstreamfullpolicy
+posix_trace_attr_getstreamsize
+posix_trace_attr_init
+posix_trace_attr_setmaxdatasize
+posix_trace_attr_setname
+posix_trace_attr_setstreamfullpolicy
+posix_trace_attr_setstreamsize
+posix_trace_clear
+posix_trace_create
+posix_trace_event
+posix_trace_eventid_equal
+posix_trace_eventid_get_name
+posix_trace_eventid_open
+posix_trace_eventtypelist_getnext_id
+posix_trace_eventtypelist_rewind
+posix_trace_get_attr
+posix_trace_get_status
+posix_trace_getnext_event
+posix_trace_shutdown
+posix_trace_start
+posix_trace_stop
+posix_trace_timedgetnext_event
+posix_trace_trygetnext_event
--- /dev/null
+#!/bin/sh
+
+std="$1"
+shift
+cod="$*"
+
+result=0
+
+for l in $top_builddir/lib/lib*-*.so; do \
+ readelf -D -W -s $l | \
+ egrep -v "(UND|LOCAL|^Symbol table for image:|^[[:space:]]*Num[[:space:]])" | \
+ $AWK '{print $NF}'; \
+ done | sort | uniq > $uclibc_out
+for code in $cod; do cat $code.$std.syms; done | sort | uniq > $glibc_out
+result=0
+exit $result
--- /dev/null
+crypt
+encrypt
+gethostid
+lockf
+nice
+setregid
+setreuid
+swab
+sync
--- /dev/null
+access
+alarm
+chdir
+chown
+close
+confstr
+dup
+dup2
+_exit
+execl
+execle
+execlp
+execv
+execve
+execvp
+faccessat
+fchdir
+fchown
+fchownat
+fexecve
+fork
+fpathconf
+ftruncate
+getcwd
+getegid
+geteuid
+getgid
+getgroups
+gethostname
+getlogin
+getlogin_r
+getopt
+getpgid
+getpgrp
+getpid
+getppid
+getsid
+getuid
+isatty
+lchown
+link
+linkat
+lseek
+pathconf
+pause
+pipe
+pread
+pwrite
+read
+readlink
+readlinkat
+rmdir
+setegid
+seteuid
+setgid
+setpgid
+setsid
+setuid
+sleep
+symlink
+symlinkat
+sysconf
+tcgetpgrp
+tcsetpgrp
+truncate
+ttyname
+ttyname_r
+unlink
+unlinkat
+write
+optarg
+opterr
+optind
+optopt
--- /dev/null
+endutxent
+getutxent
+getutxid
+getutxline
+pututxline
+setutxent
--- /dev/null
+mbsnrtowcs
+open_wmemstream
+wcpcpy
+wcpncpy
+wcscasecmp
+wcscasecmp_l
+wcscoll_l
+wcsdup
+wcsncasecmp
+wcsncasecmp_l
+wcsnlen
+wcsnrtombs
+wcsxfrm_l
--- /dev/null
+iswalnum
+iswalpha
+iswcntrl
+iswctype
+iswdigit
+iswgraph
+iswlower
+iswprint
+iswpunct
+iswspace
+iswupper
+iswxdigit
+towlower
+towupper
+wctype
--- /dev/null
+wcswidth
+wcwidth
--- /dev/null
+btowc
+fgetwc
+fgetws
+fputwc
+fputws
+fwide
+fwprintf
+fwscanf
+getwc
+getwchar
+mbrlen
+mbrtowc
+mbsinit
+mbsrtowcs
+putwc
+putwchar
+swprintf
+swscanf
+ungetwc
+vfwprintf
+vfwscanf
+vswprintf
+vswscanf
+vwprintf
+vwscanf
+wcrtomb
+wcscat
+wcschr
+wcscmp
+wcscoll
+wcscpy
+wcscspn
+wcsftime
+wcslen
+wcsncat
+wcsncmp
+wcsncpy
+wcspbrk
+wcsrchr
+wcsrtombs
+wcsspn
+wcsstr
+wcstod
+wcstof
+wcstok
+wcstol
+wcstold
+wcstoll
+wcstoul
+wcstoull
+wcsxfrm
+wctob
+wmemchr
+wmemcmp
+wmemcpy
+wmemmove
+wmemset
+wprintf
+wscanf
--- /dev/null
+iswalnum_l
+iswalpha_l
+iswblank_l
+iswcntrl_l
+iswctype_l
+iswdigit_l
+iswgraph_l
+iswlower_l
+iswprint_l
+iswpunct_l
+iswspace_l
+iswupper_l
+iswxdigit_l
+towctrans_l
+towlower_l
+towupper_l
+wctrans_l
+wctype_l
--- /dev/null
+iswalnum
+iswalpha
+iswblank
+iswcntrl
+iswctype
+iswdigit
+iswgraph
+iswlower
+iswprint
+iswpunct
+iswspace
+iswupper
+iswxdigit
+towctrans
+towlower
+towupper
+wctrans
+wctype
--- /dev/null
+wordexp
+wordfree