blob: 6c23257d427b75f526dded827e1c0f313387bd0b [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001# Run me as a shell script in uclibc lib/*
2
3
4# Dump the list of dynamic symbols from libpthread
5# and compare libpthread's exported symbols of uclibc with glibc
6# (adjust /lib64/libpthread-*.*.so as needed).
7# The resulting diff is suspiciously large.
8# We export a lot of stuff which glibc does not.
9
10readelf -sDW libpthread-*.*.so \
11| grep '^ *[0-9]' \
12| sed 's/^[0-9a-f: ]*[^ ]\( *[A-Z]\)/\1/' \
13| sed 's/ [0-9] / N /' | sed 's/ [0-9][0-9] / N /' | sed 's/ [0-9][0-9][0-9] / N /' \
14| sort -k5 | uniq \
15>uclibc.lst
16
17readelf -sDW /lib64/libpthread-*.*.so \
18| grep '^ *[0-9]' \
19| sed 's/^[0-9a-f: ]*[^ ]\( *[A-Z]\)/\1/' \
20| sed 's/ [0-9] / N /' | sed 's/ [0-9][0-9] / N /' | sed 's/ [0-9][0-9][0-9] / N /' \
21| sort -k5 | uniq \
22>glibc.lst
23diff -u uclibc.lst glibc.lst >ug.diff
24
25
26# Check which exported symbols from libpthread are never referenced
27# from other libraries. Generally, I'd expect a very few __functions
28# with two underscores to be exported and not used by e.g. libc-X.X.X.so,
29# as these names are supposed to be internal, i.e. external programs
30# usually don't call them. On my system, I got 141 such __functions.
31# Examples:
32# __flockfilelist - NOP function (why do we need it at all?)
33# __pthread_perform_cleanup - called only from within libpthread
34
35echo *-*.*.*.so | xargs -n1 | grep -v libpthread | xargs readelf -aW >full_dump.lst
36>uclibc_unrefd.lst
37>uclibc_refd.lst
38sed 's/^.* //g' uclibc.lst \
39| while read symbol; do
40 if grep -F -- "$symbol" full_dump.lst >/dev/null 2>&1; then
41 echo "$symbol" >>uclibc_refd.lst
42 else
43 echo "$symbol" >>uclibc_unrefd.lst
44 fi
45done
46
47exit
48
49
50In case you don't have a glibc system to try it,
51ug.diff from vda's system is below.
52
53--- uclibc.lst 2009-03-16 03:07:58.000000000 +0100
54+++ glibc.lst 2009-03-16 03:07:58.000000000 +0100
55@@ -1,188 +1,173 @@
56- NOTYPE GLOBAL DEFAULT ABS __bss_start
57- FUNC GLOBAL DEFAULT N __compare_and_swap
58+ OBJECT GLOBAL DEFAULT ABS GLIBC_2.2.5
59+ OBJECT GLOBAL DEFAULT ABS GLIBC_2.2.6
60+ OBJECT GLOBAL DEFAULT ABS GLIBC_2.3.2
61+ OBJECT GLOBAL DEFAULT ABS GLIBC_2.3.3
62+ OBJECT GLOBAL DEFAULT ABS GLIBC_2.3.4
63+ OBJECT GLOBAL DEFAULT ABS GLIBC_2.4
64+ OBJECT GLOBAL DEFAULT ABS GLIBC_PRIVATE
65+ FUNC GLOBAL DEFAULT N _IO_flockfile
66+ FUNC GLOBAL DEFAULT N _IO_ftrylockfile
67+ FUNC GLOBAL DEFAULT N _IO_funlockfile
68+ NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses
69+ FUNC GLOBAL DEFAULT UND __clone
70+ FUNC WEAK DEFAULT N __close
71+ FUNC WEAK DEFAULT N __connect
72+ FUNC WEAK DEFAULT UND __cxa_finalize
73+ FUNC GLOBAL DEFAULT UND __endmntent
74 FUNC GLOBAL DEFAULT N __errno_location
75- FUNC GLOBAL DEFAULT N __flockfilelist
76- FUNC GLOBAL DEFAULT N __fresetlockfiles
77- FUNC GLOBAL DEFAULT N __funlockfilelist
78+ FUNC WEAK DEFAULT N __fcntl
79+ FUNC GLOBAL DEFAULT N __fork
80+ FUNC GLOBAL DEFAULT UND __fxstat64
81+ FUNC GLOBAL DEFAULT UND __getdelim
82+ FUNC GLOBAL DEFAULT UND __getmntent_r
83+ FUNC GLOBAL DEFAULT UND __getpagesize
84+ FUNC GLOBAL DEFAULT UND __gettimeofday
85 FUNC GLOBAL DEFAULT N __h_errno_location
86- FUNC GLOBAL DEFAULT N __linuxthreads_create_event
87- FUNC GLOBAL DEFAULT N __linuxthreads_death_event
88- OBJECT GLOBAL DEFAULT N __linuxthreads_initial_report_events
89- OBJECT GLOBAL DEFAULT N __linuxthreads_pthread_key_2ndlevel_size
90- OBJECT GLOBAL DEFAULT N __linuxthreads_pthread_keys_max
91- OBJECT GLOBAL DEFAULT N __linuxthreads_pthread_sizeof_descr
92- OBJECT GLOBAL DEFAULT N __linuxthreads_pthread_threads_max
93- FUNC GLOBAL DEFAULT N __linuxthreads_reap_event
94- OBJECT GLOBAL DEFAULT N __linuxthreads_version
95- FUNC GLOBAL DEFAULT N __pthread_alt_lock
96- FUNC GLOBAL DEFAULT N __pthread_alt_timedlock
97- FUNC GLOBAL DEFAULT N __pthread_alt_unlock
98- FUNC GLOBAL DEFAULT N __pthread_attr_destroy
99- FUNC GLOBAL DEFAULT N __pthread_attr_getdetachstate
100- FUNC GLOBAL DEFAULT N __pthread_attr_getguardsize
101- FUNC GLOBAL DEFAULT N __pthread_attr_getinheritsched
102- FUNC GLOBAL DEFAULT N __pthread_attr_getschedparam
103- FUNC GLOBAL DEFAULT N __pthread_attr_getschedpolicy
104- FUNC GLOBAL DEFAULT N __pthread_attr_getscope
105- FUNC GLOBAL DEFAULT N __pthread_attr_getstack
106- FUNC GLOBAL DEFAULT N __pthread_attr_getstacksize
107- FUNC GLOBAL DEFAULT N __pthread_attr_init
108- FUNC GLOBAL DEFAULT N __pthread_attr_setdetachstate
109- FUNC GLOBAL DEFAULT N __pthread_attr_setguardsize
110- FUNC GLOBAL DEFAULT N __pthread_attr_setinheritsched
111- FUNC GLOBAL DEFAULT N __pthread_attr_setschedparam
112- FUNC GLOBAL DEFAULT N __pthread_attr_setschedpolicy
113- FUNC GLOBAL DEFAULT N __pthread_attr_setscope
114- FUNC GLOBAL DEFAULT N __pthread_attr_setstack
115- FUNC GLOBAL DEFAULT N __pthread_attr_setstacksize
116- FUNC GLOBAL DEFAULT N __pthread_barrierattr_getpshared
117- FUNC GLOBAL DEFAULT N __pthread_compare_and_swap
118- FUNC GLOBAL DEFAULT N __pthread_cond_broadcast
119- FUNC GLOBAL DEFAULT N __pthread_cond_destroy
120- FUNC GLOBAL DEFAULT N __pthread_cond_init
121- FUNC GLOBAL DEFAULT N __pthread_cond_signal
122- FUNC GLOBAL DEFAULT N __pthread_cond_timedwait
123- FUNC GLOBAL DEFAULT N __pthread_cond_wait
124- FUNC GLOBAL DEFAULT N __pthread_condattr_destroy
125- FUNC GLOBAL DEFAULT N __pthread_condattr_init
126- FUNC GLOBAL DEFAULT N __pthread_create
127- FUNC GLOBAL DEFAULT N __pthread_destroy_specifics
128- FUNC GLOBAL DEFAULT N __pthread_do_exit
129- FUNC GLOBAL DEFAULT N __pthread_equal
130- FUNC GLOBAL DEFAULT N __pthread_exit
131- OBJECT GLOBAL DEFAULT N __pthread_exit_code
132- OBJECT GLOBAL DEFAULT N __pthread_exit_requested
133- FUNC GLOBAL DEFAULT N __pthread_find_self
134- OBJECT GLOBAL DEFAULT N __pthread_functions
135- FUNC GLOBAL DEFAULT N __pthread_getconcurrency
136- FUNC GLOBAL DEFAULT N __pthread_getschedparam
137- FUNC WEAK DEFAULT N __pthread_getspecific
138- OBJECT GLOBAL DEFAULT N __pthread_handles
139- OBJECT GLOBAL DEFAULT N __pthread_handles_num
140- OBJECT GLOBAL DEFAULT N __pthread_has_cas
141- FUNC GLOBAL DEFAULT N __pthread_init_max_stacksize
142- OBJECT GLOBAL DEFAULT N __pthread_initial_thread
143- OBJECT GLOBAL DEFAULT N __pthread_initial_thread_bos
144- FUNC GLOBAL DEFAULT N __pthread_initialize
145- FUNC GLOBAL DEFAULT N __pthread_initialize_manager
146+ FUNC GLOBAL DEFAULT N __libc_allocate_rtsig
147+ FUNC GLOBAL DEFAULT UND __libc_allocate_rtsig_private
148+ FUNC GLOBAL DEFAULT N __libc_current_sigrtmax
149+ FUNC GLOBAL DEFAULT UND __libc_current_sigrtmax_private
150+ FUNC GLOBAL DEFAULT N __libc_current_sigrtmin
151+ FUNC GLOBAL DEFAULT UND __libc_current_sigrtmin_private
152+ FUNC GLOBAL DEFAULT UND __libc_dl_error_tsd
153+ FUNC GLOBAL DEFAULT UND __libc_dlopen_mode
154+ FUNC GLOBAL DEFAULT UND __libc_dlsym
155+ FUNC GLOBAL DEFAULT UND __libc_fatal
156+ FUNC GLOBAL DEFAULT UND __libc_fork
157+ FUNC GLOBAL DEFAULT UND __libc_longjmp
158+ FUNC GLOBAL DEFAULT UND __libc_pthread_init
159+ OBJECT GLOBAL DEFAULT UND __libc_stack_end
160+ FUNC GLOBAL DEFAULT UND __libc_system
161+ FUNC GLOBAL DEFAULT UND __libc_thread_freeres
162+ FUNC WEAK DEFAULT N __lseek
163+ FUNC WEAK DEFAULT N __nanosleep
164+ FUNC WEAK DEFAULT N __open
165+ FUNC WEAK DEFAULT N __open64
166+ FUNC WEAK DEFAULT N __pread64
167+ FUNC GLOBAL DEFAULT N __pthread_cleanup_routine
168+ FUNC GLOBAL DEFAULT N __pthread_clock_gettime
169+ FUNC GLOBAL DEFAULT N __pthread_clock_settime
170+ FUNC GLOBAL DEFAULT N __pthread_getspecific
171 FUNC GLOBAL DEFAULT N __pthread_initialize_minimal
172- FUNC GLOBAL DEFAULT N __pthread_internal_tsd_address
173- FUNC GLOBAL DEFAULT N __pthread_internal_tsd_get
174- FUNC GLOBAL DEFAULT N __pthread_internal_tsd_set
175- FUNC WEAK DEFAULT N __pthread_key_create
176- FUNC GLOBAL DEFAULT N __pthread_kill_other_threads_np
177- OBJECT GLOBAL DEFAULT N __pthread_last_event
178- FUNC GLOBAL DEFAULT N __pthread_lock
179- OBJECT GLOBAL DEFAULT N __pthread_main_thread
180- FUNC GLOBAL DEFAULT N __pthread_manager
181- FUNC GLOBAL DEFAULT N __pthread_manager_adjust_prio
182- FUNC GLOBAL DEFAULT N __pthread_manager_event
183- OBJECT GLOBAL DEFAULT N __pthread_manager_reader
184- OBJECT GLOBAL DEFAULT N __pthread_manager_request
185- FUNC GLOBAL DEFAULT N __pthread_manager_sighandler
186- OBJECT GLOBAL DEFAULT N __pthread_manager_thread
187- OBJECT GLOBAL DEFAULT N __pthread_manager_thread_bos
188- OBJECT GLOBAL DEFAULT N __pthread_manager_thread_tos
189- OBJECT GLOBAL DEFAULT N __pthread_max_stacksize
190- FUNC WEAK DEFAULT N __pthread_mutex_destroy
191- FUNC WEAK DEFAULT N __pthread_mutex_init
192- FUNC WEAK DEFAULT N __pthread_mutex_lock
193- FUNC GLOBAL DEFAULT N __pthread_mutex_timedlock
194- FUNC WEAK DEFAULT N __pthread_mutex_trylock
195- FUNC WEAK DEFAULT N __pthread_mutex_unlock
196- FUNC WEAK DEFAULT N __pthread_mutexattr_destroy
197- FUNC GLOBAL DEFAULT N __pthread_mutexattr_getkind_np
198- FUNC GLOBAL DEFAULT N __pthread_mutexattr_getpshared
199- FUNC GLOBAL DEFAULT N __pthread_mutexattr_gettype
200- FUNC WEAK DEFAULT N __pthread_mutexattr_init
201- FUNC GLOBAL DEFAULT N __pthread_mutexattr_setkind_np
202- FUNC GLOBAL DEFAULT N __pthread_mutexattr_setpshared
203- FUNC WEAK DEFAULT N __pthread_mutexattr_settype
204- OBJECT GLOBAL DEFAULT N __pthread_nonstandard_stacks
205- FUNC GLOBAL DEFAULT N __pthread_null_sighandler
206- OBJECT GLOBAL DEFAULT N __pthread_offsetof_descr
207- OBJECT GLOBAL DEFAULT N __pthread_offsetof_pid
208- FUNC WEAK DEFAULT N __pthread_once
209- FUNC GLOBAL DEFAULT N __pthread_once_fork_child
210- FUNC GLOBAL DEFAULT N __pthread_once_fork_parent
211- FUNC GLOBAL DEFAULT N __pthread_once_fork_prepare
212- FUNC GLOBAL DEFAULT N __pthread_perform_cleanup
213- FUNC GLOBAL DEFAULT N __pthread_raise
214- FUNC GLOBAL DEFAULT N __pthread_reset_main_thread
215- FUNC GLOBAL DEFAULT N __pthread_restart_new
216- FUNC WEAK DEFAULT N __pthread_rwlock_destroy
217- FUNC WEAK DEFAULT N __pthread_rwlock_init
218- FUNC WEAK DEFAULT N __pthread_rwlock_rdlock
219- FUNC GLOBAL DEFAULT N __pthread_rwlock_timedrdlock
220- FUNC GLOBAL DEFAULT N __pthread_rwlock_timedwrlock
221- FUNC WEAK DEFAULT N __pthread_rwlock_tryrdlock
222- FUNC WEAK DEFAULT N __pthread_rwlock_trywrlock
223- FUNC WEAK DEFAULT N __pthread_rwlock_unlock
224- FUNC WEAK DEFAULT N __pthread_rwlock_wrlock
225- FUNC GLOBAL DEFAULT N __pthread_rwlockattr_destroy
226- FUNC GLOBAL DEFAULT N __pthread_self
227- FUNC GLOBAL DEFAULT N __pthread_setcancelstate
228- FUNC GLOBAL DEFAULT N __pthread_setcanceltype
229- FUNC GLOBAL DEFAULT N __pthread_setconcurrency
230- FUNC GLOBAL DEFAULT N __pthread_setschedparam
231- FUNC WEAK DEFAULT N __pthread_setspecific
232- OBJECT GLOBAL DEFAULT N __pthread_sig_cancel
233- OBJECT GLOBAL DEFAULT N __pthread_sig_debug
234- OBJECT GLOBAL DEFAULT N __pthread_sig_restart
235- FUNC GLOBAL DEFAULT N __pthread_sigaction
236- FUNC GLOBAL DEFAULT N __pthread_sighandler
237- FUNC GLOBAL DEFAULT N __pthread_sighandler_rt
238- FUNC GLOBAL DEFAULT N __pthread_sigwait
239- OBJECT GLOBAL DEFAULT N __pthread_sizeof_handle
240- OBJECT GLOBAL DEFAULT N __pthread_smp_kernel
241- FUNC GLOBAL DEFAULT N __pthread_spin_destroy
242- FUNC GLOBAL DEFAULT N __pthread_spin_init
243- FUNC GLOBAL DEFAULT N __pthread_spin_lock
244- FUNC GLOBAL DEFAULT N __pthread_spin_trylock
245- FUNC GLOBAL DEFAULT N __pthread_spin_unlock
246- FUNC GLOBAL DEFAULT N __pthread_thread_self
247- OBJECT GLOBAL DEFAULT N __pthread_threads_debug
248- OBJECT GLOBAL DEFAULT N __pthread_threads_events
249- OBJECT GLOBAL DEFAULT N __pthread_threads_max
250- FUNC GLOBAL DEFAULT N __pthread_timedsuspend_new
251- FUNC GLOBAL DEFAULT N __pthread_unlock
252- FUNC GLOBAL DEFAULT N __pthread_wait_for_restart_signal
253- FUNC GLOBAL DEFAULT N __register_atfork
254+ FUNC GLOBAL DEFAULT N __pthread_key_create
255+ FUNC GLOBAL DEFAULT N __pthread_mutex_destroy
256+ FUNC GLOBAL DEFAULT N __pthread_mutex_init
257+ FUNC GLOBAL DEFAULT N __pthread_mutex_lock
258+ FUNC GLOBAL DEFAULT N __pthread_mutex_trylock
259+ FUNC GLOBAL DEFAULT N __pthread_mutex_unlock
260+ FUNC GLOBAL DEFAULT N __pthread_mutexattr_destroy
261+ FUNC GLOBAL DEFAULT N __pthread_mutexattr_init
262+ FUNC GLOBAL DEFAULT N __pthread_mutexattr_settype
263+ FUNC GLOBAL DEFAULT N __pthread_once
264+ FUNC GLOBAL DEFAULT N __pthread_register_cancel
265+ FUNC GLOBAL DEFAULT N __pthread_register_cancel_defer
266+ FUNC GLOBAL DEFAULT N __pthread_rwlock_destroy
267+ FUNC GLOBAL DEFAULT N __pthread_rwlock_init
268+ FUNC GLOBAL DEFAULT N __pthread_rwlock_rdlock
269+ FUNC GLOBAL DEFAULT N __pthread_rwlock_tryrdlock
270+ FUNC GLOBAL DEFAULT N __pthread_rwlock_trywrlock
271+ FUNC GLOBAL DEFAULT N __pthread_rwlock_unlock
272+ FUNC GLOBAL DEFAULT N __pthread_rwlock_wrlock
273+ FUNC GLOBAL DEFAULT N __pthread_setspecific
274+ FUNC GLOBAL DEFAULT N __pthread_unregister_cancel
275+ FUNC GLOBAL DEFAULT N __pthread_unregister_cancel_restore
276+ FUNC GLOBAL DEFAULT N __pthread_unwind
277+ FUNC GLOBAL DEFAULT N __pthread_unwind_next
278+ FUNC WEAK DEFAULT N __pwrite64
279+ FUNC WEAK DEFAULT N __read
280+ FUNC GLOBAL DEFAULT UND __register_atfork
281+ FUNC GLOBAL DEFAULT N __res_state
282+ TLS GLOBAL DEFAULT UND __resp
283+ FUNC GLOBAL DEFAULT UND __sched_getparam
284+ FUNC GLOBAL DEFAULT UND __sched_getscheduler
285+ FUNC GLOBAL DEFAULT UND __sched_setscheduler
286+ FUNC WEAK DEFAULT N __send
287+ FUNC GLOBAL DEFAULT UND __setmntent
288 FUNC GLOBAL DEFAULT N __sigaction
289- OBJECT GLOBAL DEFAULT N __sighandler
290- NOTYPE GLOBAL DEFAULT ABS _edata
291- NOTYPE GLOBAL DEFAULT ABS _end
292- FUNC GLOBAL DEFAULT N _fini
293- FUNC GLOBAL DEFAULT N _init
294+ FUNC GLOBAL DEFAULT UND __statfs
295+ FUNC GLOBAL DEFAULT UND __sysconf
296+ FUNC GLOBAL DEFAULT UND __tls_get_addr
297+ OBJECT GLOBAL DEFAULT UND __vdso_clock_gettime
298+ FUNC GLOBAL DEFAULT N __vfork
299+ FUNC WEAK DEFAULT N __wait
300+ FUNC WEAK DEFAULT N __write
301+ FUNC GLOBAL DEFAULT UND _dl_allocate_tls
302+ FUNC GLOBAL DEFAULT UND _dl_allocate_tls_init
303+ FUNC GLOBAL DEFAULT UND _dl_deallocate_tls
304+ FUNC GLOBAL DEFAULT UND _dl_get_tls_static_info
305+ FUNC GLOBAL DEFAULT UND _dl_make_stack_executable
306+ FUNC GLOBAL DEFAULT UND _exit
307 FUNC GLOBAL DEFAULT N _pthread_cleanup_pop
308 FUNC GLOBAL DEFAULT N _pthread_cleanup_pop_restore
309 FUNC GLOBAL DEFAULT N _pthread_cleanup_push
310 FUNC GLOBAL DEFAULT N _pthread_cleanup_push_defer
311- FUNC GLOBAL DEFAULT N compare_and_swap_is_available
312- FUNC GLOBAL DEFAULT N get_eflags
313+ OBJECT GLOBAL DEFAULT UND _rtld_global
314+ FUNC GLOBAL DEFAULT UND _setjmp
315+ FUNC GLOBAL DEFAULT UND abort
316+ FUNC WEAK DEFAULT N accept
317+ FUNC GLOBAL DEFAULT UND calloc
318+ FUNC WEAK DEFAULT N close
319+ FUNC WEAK DEFAULT N connect
320+ TLS GLOBAL DEFAULT UND errno
321+ FUNC GLOBAL DEFAULT UND exit
322+ FUNC GLOBAL DEFAULT UND fclose
323+ FUNC WEAK DEFAULT N fcntl
324+ FUNC WEAK DEFAULT N flockfile
325+ FUNC GLOBAL DEFAULT UND fopen
326+ FUNC GLOBAL DEFAULT N fork
327+ FUNC GLOBAL DEFAULT UND free
328+ FUNC WEAK DEFAULT N fsync
329+ FUNC WEAK DEFAULT N ftrylockfile
330+ FUNC WEAK DEFAULT N funlockfile
331+ FUNC GLOBAL DEFAULT UND getrlimit
332+ TLS GLOBAL DEFAULT UND h_errno
333+ FUNC GLOBAL DEFAULT UND link
334 FUNC GLOBAL DEFAULT N longjmp
335+ FUNC WEAK DEFAULT N lseek
336+ FUNC WEAK DEFAULT N lseek64
337+ FUNC GLOBAL DEFAULT UND malloc
338+ FUNC GLOBAL DEFAULT UND memcpy
339+ FUNC GLOBAL DEFAULT UND mempcpy
340+ FUNC GLOBAL DEFAULT UND memset
341+ FUNC GLOBAL DEFAULT UND mktemp
342+ FUNC GLOBAL DEFAULT UND mmap
343+ FUNC GLOBAL DEFAULT UND mprotect
344+ FUNC WEAK DEFAULT N msync
345+ FUNC GLOBAL DEFAULT UND munmap
346+ FUNC WEAK DEFAULT N nanosleep
347+ FUNC WEAK DEFAULT N open
348+ FUNC WEAK DEFAULT N open64
349+ FUNC WEAK DEFAULT N pause
350+ FUNC WEAK DEFAULT N pread
351+ FUNC WEAK DEFAULT N pread64
352+ FUNC GLOBAL DEFAULT N pthread_atfork
353 FUNC GLOBAL DEFAULT N pthread_attr_destroy
354+ FUNC GLOBAL DEFAULT N pthread_attr_getaffinity_np
355 FUNC GLOBAL DEFAULT N pthread_attr_getdetachstate
356- FUNC WEAK DEFAULT N pthread_attr_getguardsize
357+ FUNC GLOBAL DEFAULT N pthread_attr_getguardsize
358 FUNC GLOBAL DEFAULT N pthread_attr_getinheritsched
359 FUNC GLOBAL DEFAULT N pthread_attr_getschedparam
360 FUNC GLOBAL DEFAULT N pthread_attr_getschedpolicy
361 FUNC GLOBAL DEFAULT N pthread_attr_getscope
362- FUNC WEAK DEFAULT N pthread_attr_getstack
363- FUNC WEAK DEFAULT N pthread_attr_getstacksize
364+ FUNC GLOBAL DEFAULT N pthread_attr_getstack
365+ FUNC GLOBAL DEFAULT N pthread_attr_getstackaddr
366+ FUNC GLOBAL DEFAULT N pthread_attr_getstacksize
367 FUNC GLOBAL DEFAULT N pthread_attr_init
368+ FUNC GLOBAL DEFAULT N pthread_attr_setaffinity_np
369 FUNC GLOBAL DEFAULT N pthread_attr_setdetachstate
370- FUNC WEAK DEFAULT N pthread_attr_setguardsize
371+ FUNC GLOBAL DEFAULT N pthread_attr_setguardsize
372 FUNC GLOBAL DEFAULT N pthread_attr_setinheritsched
373 FUNC GLOBAL DEFAULT N pthread_attr_setschedparam
374 FUNC GLOBAL DEFAULT N pthread_attr_setschedpolicy
375 FUNC GLOBAL DEFAULT N pthread_attr_setscope
376- FUNC WEAK DEFAULT N pthread_attr_setstack
377- FUNC WEAK DEFAULT N pthread_attr_setstacksize
378+ FUNC GLOBAL DEFAULT N pthread_attr_setstack
379+ FUNC GLOBAL DEFAULT N pthread_attr_setstackaddr
380+ FUNC GLOBAL DEFAULT N pthread_attr_setstacksize
381 FUNC GLOBAL DEFAULT N pthread_barrier_destroy
382 FUNC GLOBAL DEFAULT N pthread_barrier_init
383 FUNC GLOBAL DEFAULT N pthread_barrier_wait
384 FUNC GLOBAL DEFAULT N pthread_barrierattr_destroy
385+ FUNC GLOBAL DEFAULT N pthread_barrierattr_getpshared
386 FUNC GLOBAL DEFAULT N pthread_barrierattr_init
387 FUNC GLOBAL DEFAULT N pthread_barrierattr_setpshared
388 FUNC GLOBAL DEFAULT N pthread_cancel
389@@ -193,36 +178,49 @@
390 FUNC GLOBAL DEFAULT N pthread_cond_timedwait
391 FUNC GLOBAL DEFAULT N pthread_cond_wait
392 FUNC GLOBAL DEFAULT N pthread_condattr_destroy
393+ FUNC GLOBAL DEFAULT N pthread_condattr_getclock
394 FUNC GLOBAL DEFAULT N pthread_condattr_getpshared
395 FUNC GLOBAL DEFAULT N pthread_condattr_init
396+ FUNC GLOBAL DEFAULT N pthread_condattr_setclock
397 FUNC GLOBAL DEFAULT N pthread_condattr_setpshared
398 FUNC GLOBAL DEFAULT N pthread_create
399 FUNC GLOBAL DEFAULT N pthread_detach
400 FUNC GLOBAL DEFAULT N pthread_equal
401 FUNC GLOBAL DEFAULT N pthread_exit
402+ FUNC GLOBAL DEFAULT N pthread_getaffinity_np
403 FUNC GLOBAL DEFAULT N pthread_getattr_np
404- FUNC WEAK DEFAULT N pthread_getconcurrency
405+ FUNC GLOBAL DEFAULT N pthread_getconcurrency
406+ FUNC GLOBAL DEFAULT N pthread_getcpuclockid
407 FUNC GLOBAL DEFAULT N pthread_getschedparam
408 FUNC GLOBAL DEFAULT N pthread_getspecific
409 FUNC GLOBAL DEFAULT N pthread_join
410 FUNC GLOBAL DEFAULT N pthread_key_create
411 FUNC GLOBAL DEFAULT N pthread_key_delete
412 FUNC GLOBAL DEFAULT N pthread_kill
413- FUNC WEAK DEFAULT N pthread_kill_other_threads_np
414+ FUNC GLOBAL DEFAULT N pthread_kill_other_threads_np
415+ FUNC GLOBAL DEFAULT N pthread_mutex_consistent_np
416 FUNC GLOBAL DEFAULT N pthread_mutex_destroy
417+ FUNC GLOBAL DEFAULT N pthread_mutex_getprioceiling
418 FUNC GLOBAL DEFAULT N pthread_mutex_init
419 FUNC GLOBAL DEFAULT N pthread_mutex_lock
420+ FUNC GLOBAL DEFAULT N pthread_mutex_setprioceiling
421 FUNC GLOBAL DEFAULT N pthread_mutex_timedlock
422 FUNC GLOBAL DEFAULT N pthread_mutex_trylock
423 FUNC GLOBAL DEFAULT N pthread_mutex_unlock
424 FUNC GLOBAL DEFAULT N pthread_mutexattr_destroy
425 FUNC WEAK DEFAULT N pthread_mutexattr_getkind_np
426- FUNC WEAK DEFAULT N pthread_mutexattr_getpshared
427- FUNC WEAK DEFAULT N pthread_mutexattr_gettype
428+ FUNC GLOBAL DEFAULT N pthread_mutexattr_getprioceiling
429+ FUNC GLOBAL DEFAULT N pthread_mutexattr_getprotocol
430+ FUNC GLOBAL DEFAULT N pthread_mutexattr_getpshared
431+ FUNC GLOBAL DEFAULT N pthread_mutexattr_getrobust_np
432+ FUNC GLOBAL DEFAULT N pthread_mutexattr_gettype
433 FUNC GLOBAL DEFAULT N pthread_mutexattr_init
434 FUNC WEAK DEFAULT N pthread_mutexattr_setkind_np
435- FUNC WEAK DEFAULT N pthread_mutexattr_setpshared
436- FUNC WEAK DEFAULT N pthread_mutexattr_settype
437+ FUNC GLOBAL DEFAULT N pthread_mutexattr_setprioceiling
438+ FUNC GLOBAL DEFAULT N pthread_mutexattr_setprotocol
439+ FUNC GLOBAL DEFAULT N pthread_mutexattr_setpshared
440+ FUNC GLOBAL DEFAULT N pthread_mutexattr_setrobust_np
441+ FUNC GLOBAL DEFAULT N pthread_mutexattr_settype
442 FUNC GLOBAL DEFAULT N pthread_once
443 FUNC GLOBAL DEFAULT N pthread_rwlock_destroy
444 FUNC GLOBAL DEFAULT N pthread_rwlock_init
445@@ -240,27 +238,35 @@
446 FUNC GLOBAL DEFAULT N pthread_rwlockattr_setkind_np
447 FUNC GLOBAL DEFAULT N pthread_rwlockattr_setpshared
448 FUNC GLOBAL DEFAULT N pthread_self
449+ FUNC GLOBAL DEFAULT N pthread_setaffinity_np
450 FUNC GLOBAL DEFAULT N pthread_setcancelstate
451 FUNC GLOBAL DEFAULT N pthread_setcanceltype
452- FUNC WEAK DEFAULT N pthread_setconcurrency
453- FUNC GLOBAL DEFAULT N pthread_setegid_np
454- FUNC GLOBAL DEFAULT N pthread_seteuid_np
455- FUNC GLOBAL DEFAULT N pthread_setgid_np
456- FUNC GLOBAL DEFAULT N pthread_setregid_np
457- FUNC GLOBAL DEFAULT N pthread_setresgid_np
458- FUNC GLOBAL DEFAULT N pthread_setresuid_np
459- FUNC GLOBAL DEFAULT N pthread_setreuid_np
460+ FUNC GLOBAL DEFAULT N pthread_setconcurrency
461 FUNC GLOBAL DEFAULT N pthread_setschedparam
462+ FUNC GLOBAL DEFAULT N pthread_setschedprio
463 FUNC GLOBAL DEFAULT N pthread_setspecific
464- FUNC GLOBAL DEFAULT N pthread_setuid_np
465 FUNC GLOBAL DEFAULT N pthread_sigmask
466- FUNC WEAK DEFAULT N pthread_spin_destroy
467- FUNC WEAK DEFAULT N pthread_spin_init
468- FUNC WEAK DEFAULT N pthread_spin_lock
469- FUNC WEAK DEFAULT N pthread_spin_trylock
470- FUNC WEAK DEFAULT N pthread_spin_unlock
471+ FUNC GLOBAL DEFAULT N pthread_spin_destroy
472+ FUNC GLOBAL DEFAULT N pthread_spin_init
473+ FUNC GLOBAL DEFAULT N pthread_spin_lock
474+ FUNC GLOBAL DEFAULT N pthread_spin_trylock
475+ FUNC GLOBAL DEFAULT N pthread_spin_unlock
476 FUNC GLOBAL DEFAULT N pthread_testcancel
477+ FUNC GLOBAL DEFAULT N pthread_timedjoin_np
478+ FUNC GLOBAL DEFAULT N pthread_tryjoin_np
479+ FUNC GLOBAL DEFAULT N pthread_yield
480+ FUNC WEAK DEFAULT N pwrite
481+ FUNC WEAK DEFAULT N pwrite64
482 FUNC GLOBAL DEFAULT N raise
483+ FUNC WEAK DEFAULT N read
484+ FUNC GLOBAL DEFAULT UND realloc
485+ FUNC WEAK DEFAULT N recv
486+ FUNC WEAK DEFAULT N recvfrom
487+ FUNC WEAK DEFAULT N recvmsg
488+ FUNC GLOBAL DEFAULT UND sched_get_priority_max
489+ FUNC GLOBAL DEFAULT UND sched_get_priority_min
490+ FUNC GLOBAL DEFAULT UND sched_setparam
491+ FUNC GLOBAL DEFAULT UND sched_yield
492 FUNC GLOBAL DEFAULT N sem_close
493 FUNC GLOBAL DEFAULT N sem_destroy
494 FUNC GLOBAL DEFAULT N sem_getvalue
495@@ -271,8 +277,23 @@
496 FUNC GLOBAL DEFAULT N sem_trywait
497 FUNC GLOBAL DEFAULT N sem_unlink
498 FUNC GLOBAL DEFAULT N sem_wait
499- FUNC GLOBAL DEFAULT N set_eflags
500- FUNC GLOBAL DEFAULT N sigaction
501- FUNC GLOBAL DEFAULT N siglongjmp
502- FUNC GLOBAL DEFAULT N sigwait
503- FUNC GLOBAL DEFAULT N testandset
504+ FUNC WEAK DEFAULT N send
505+ FUNC WEAK DEFAULT N sendmsg
506+ FUNC WEAK DEFAULT N sendto
507+ FUNC WEAK DEFAULT N sigaction
508+ FUNC WEAK DEFAULT N siglongjmp
509+ FUNC WEAK DEFAULT N sigwait
510+ FUNC GLOBAL DEFAULT UND sscanf
511+ FUNC GLOBAL DEFAULT UND strcmp
512+ FUNC GLOBAL DEFAULT UND strlen
513+ FUNC GLOBAL DEFAULT N system
514+ FUNC WEAK DEFAULT N tcdrain
515+ FUNC GLOBAL DEFAULT UND tdelete
516+ FUNC GLOBAL DEFAULT UND tfind
517+ FUNC GLOBAL DEFAULT UND tsearch
518+ FUNC GLOBAL DEFAULT UND twalk
519+ FUNC GLOBAL DEFAULT UND unlink
520+ FUNC WEAK DEFAULT N vfork
521+ FUNC WEAK DEFAULT N wait
522+ FUNC WEAK DEFAULT N waitpid
523+ FUNC WEAK DEFAULT N write
524
525
526And uclibc_unrefd.lst is:
527
528__compare_and_swap
529__flockfilelist
530__fresetlockfiles
531__funlockfilelist
532__linuxthreads_create_event
533__linuxthreads_death_event
534__linuxthreads_initial_report_events
535__linuxthreads_pthread_key_2ndlevel_size
536__linuxthreads_pthread_keys_max
537__linuxthreads_pthread_sizeof_descr
538__linuxthreads_pthread_threads_max
539__linuxthreads_reap_event
540__linuxthreads_version
541__pthread_alt_lock
542__pthread_alt_timedlock
543__pthread_alt_unlock
544__pthread_attr_destroy
545__pthread_attr_getdetachstate
546__pthread_attr_getguardsize
547__pthread_attr_getinheritsched
548__pthread_attr_getschedparam
549__pthread_attr_getschedpolicy
550__pthread_attr_getscope
551__pthread_attr_getstack
552__pthread_attr_getstacksize
553__pthread_attr_init
554__pthread_attr_setdetachstate
555__pthread_attr_setguardsize
556__pthread_attr_setinheritsched
557__pthread_attr_setschedparam
558__pthread_attr_setschedpolicy
559__pthread_attr_setscope
560__pthread_attr_setstack
561__pthread_attr_setstacksize
562__pthread_barrierattr_getpshared
563__pthread_compare_and_swap
564__pthread_cond_broadcast
565__pthread_cond_destroy
566__pthread_cond_init
567__pthread_cond_signal
568__pthread_cond_timedwait
569__pthread_cond_wait
570__pthread_condattr_destroy
571__pthread_condattr_init
572__pthread_create
573__pthread_destroy_specifics
574__pthread_do_exit
575__pthread_equal
576__pthread_exit_code
577__pthread_exit_requested
578__pthread_find_self
579__pthread_functions
580__pthread_getconcurrency
581__pthread_getschedparam
582__pthread_getspecific
583__pthread_handles
584__pthread_handles_num
585__pthread_has_cas
586__pthread_init_max_stacksize
587__pthread_initial_thread
588__pthread_initial_thread_bos
589__pthread_initialize_manager
590__pthread_internal_tsd_address
591__pthread_internal_tsd_get
592__pthread_internal_tsd_set
593__pthread_key_create
594__pthread_kill_other_threads_np
595__pthread_last_event
596__pthread_lock
597__pthread_main_thread
598__pthread_manager
599__pthread_manager_adjust_prio
600__pthread_manager_event
601__pthread_manager_reader
602__pthread_manager_request
603__pthread_manager_sighandler
604__pthread_manager_thread
605__pthread_manager_thread_bos
606__pthread_manager_thread_tos
607__pthread_max_stacksize
608__pthread_mutex_destroy
609__pthread_mutex_timedlock
610__pthread_mutexattr_destroy
611__pthread_mutexattr_getkind_np
612__pthread_mutexattr_getpshared
613__pthread_mutexattr_gettype
614__pthread_mutexattr_init
615__pthread_mutexattr_setkind_np
616__pthread_mutexattr_setpshared
617__pthread_mutexattr_settype
618__pthread_nonstandard_stacks
619__pthread_null_sighandler
620__pthread_offsetof_descr
621__pthread_offsetof_pid
622__pthread_once_fork_child
623__pthread_once_fork_parent
624__pthread_once_fork_prepare
625__pthread_perform_cleanup
626__pthread_raise
627__pthread_reset_main_thread
628__pthread_restart_new
629__pthread_rwlock_destroy
630__pthread_rwlock_init
631__pthread_rwlock_rdlock
632__pthread_rwlock_timedrdlock
633__pthread_rwlock_timedwrlock
634__pthread_rwlock_tryrdlock
635__pthread_rwlock_trywrlock
636__pthread_rwlock_unlock
637__pthread_rwlock_wrlock
638__pthread_rwlockattr_destroy
639__pthread_self
640__pthread_setcancelstate
641__pthread_setcanceltype
642__pthread_setconcurrency
643__pthread_setschedparam
644__pthread_setspecific
645__pthread_sig_cancel
646__pthread_sig_debug
647__pthread_sig_restart
648__pthread_sigaction
649__pthread_sighandler
650__pthread_sighandler_rt
651__pthread_sigwait
652__pthread_sizeof_handle
653__pthread_smp_kernel
654__pthread_spin_destroy
655__pthread_spin_init
656__pthread_spin_lock
657__pthread_spin_trylock
658__pthread_spin_unlock
659__pthread_thread_self
660__pthread_threads_debug
661__pthread_threads_events
662__pthread_threads_max
663__pthread_timedsuspend_new
664__pthread_unlock
665__pthread_wait_for_restart_signal
666__register_atfork
667__sigaction
668__sighandler
669compare_and_swap_is_available
670get_eflags
671pthread_attr_getguardsize
672pthread_attr_getstack
673pthread_attr_getstacksize
674pthread_attr_setguardsize
675pthread_attr_setstack
676pthread_attr_setstacksize
677pthread_barrier_destroy
678pthread_barrier_init
679pthread_barrier_wait
680pthread_barrierattr_destroy
681pthread_barrierattr_init
682pthread_barrierattr_setpshared
683pthread_cancel
684pthread_condattr_getpshared
685pthread_condattr_setpshared
686pthread_create
687pthread_detach
688pthread_getattr_np
689pthread_getconcurrency
690pthread_getspecific
691pthread_join
692pthread_key_create
693pthread_key_delete
694pthread_kill
695pthread_kill_other_threads_np
696pthread_mutex_timedlock
697pthread_mutexattr_destroy
698pthread_mutexattr_getkind_np
699pthread_mutexattr_getpshared
700pthread_mutexattr_gettype
701pthread_mutexattr_init
702pthread_mutexattr_setkind_np
703pthread_mutexattr_setpshared
704pthread_mutexattr_settype
705pthread_rwlock_destroy
706pthread_rwlock_init
707pthread_rwlock_rdlock
708pthread_rwlock_timedrdlock
709pthread_rwlock_timedwrlock
710pthread_rwlock_tryrdlock
711pthread_rwlock_trywrlock
712pthread_rwlock_unlock
713pthread_rwlock_wrlock
714pthread_rwlockattr_destroy
715pthread_rwlockattr_getkind_np
716pthread_rwlockattr_getpshared
717pthread_rwlockattr_init
718pthread_rwlockattr_setkind_np
719pthread_rwlockattr_setpshared
720pthread_setconcurrency
721pthread_setegid_np
722pthread_seteuid_np
723pthread_setgid_np
724pthread_setregid_np
725pthread_setresgid_np
726pthread_setresuid_np
727pthread_setreuid_np
728pthread_setspecific
729pthread_setuid_np
730pthread_sigmask
731pthread_spin_destroy
732pthread_spin_init
733pthread_spin_lock
734pthread_spin_trylock
735pthread_spin_unlock
736pthread_testcancel
737sem_close
738sem_destroy
739sem_getvalue
740sem_init
741sem_open
742sem_post
743sem_timedwait
744sem_trywait
745sem_unlink
746sem_wait
747set_eflags
748testandset