1libc {
2  GLIBC_2.0 {
3    __pthread_getspecific;
4    __pthread_key_create;
5    __pthread_mutex_destroy;
6    __pthread_mutex_init;
7    __pthread_mutex_lock;
8    __pthread_mutex_trylock;
9    __pthread_mutex_unlock;
10    __pthread_mutexattr_destroy;
11    __pthread_mutexattr_init;
12    __pthread_mutexattr_settype;
13    __pthread_once;
14    __pthread_setspecific;
15    _pthread_cleanup_pop;
16    _pthread_cleanup_pop_restore;
17    _pthread_cleanup_push;
18    _pthread_cleanup_push_defer;
19    pthread_atfork;
20    pthread_attr_destroy;
21    pthread_attr_getdetachstate;
22    pthread_attr_getinheritsched;
23    pthread_attr_getschedparam;
24    pthread_attr_getschedpolicy;
25    pthread_attr_getscope;
26    pthread_attr_init;
27    pthread_attr_setdetachstate;
28    pthread_attr_setinheritsched;
29    pthread_attr_setschedparam;
30    pthread_attr_setschedpolicy;
31    pthread_attr_setscope;
32    pthread_cancel;
33    pthread_cond_broadcast;
34    pthread_cond_destroy;
35    pthread_cond_init;
36    pthread_cond_signal;
37    pthread_cond_timedwait;
38    pthread_cond_wait;
39    pthread_condattr_destroy;
40    pthread_condattr_init;
41    pthread_create;
42    pthread_detach;
43    pthread_equal;
44    pthread_exit;
45    pthread_getschedparam;
46    pthread_getspecific;
47    pthread_join;
48    pthread_key_create;
49    pthread_key_delete;
50    pthread_kill;
51    pthread_kill_other_threads_np;
52    pthread_mutex_destroy;
53    pthread_mutex_init;
54    pthread_mutex_lock;
55    pthread_mutex_trylock;
56    pthread_mutex_unlock;
57    pthread_mutexattr_destroy;
58    pthread_mutexattr_getkind_np;
59    pthread_mutexattr_init;
60    pthread_mutexattr_setkind_np;
61    pthread_once;
62    pthread_self;
63    pthread_setcancelstate;
64    pthread_setcanceltype;
65    pthread_setschedparam;
66    pthread_setspecific;
67    pthread_sigmask;
68    pthread_testcancel;
69    sem_destroy;
70    sem_getvalue;
71    sem_init;
72    sem_post;
73    sem_trywait;
74    sem_wait;
75  }
76  GLIBC_2.1 {
77    pthread_attr_getguardsize;
78    pthread_attr_getstackaddr;
79    pthread_attr_getstacksize;
80    pthread_attr_init;
81    pthread_attr_setguardsize;
82    pthread_attr_setstackaddr;
83    pthread_attr_setstacksize;
84    pthread_create;
85    pthread_getconcurrency;
86    pthread_mutexattr_gettype;
87    pthread_mutexattr_settype;
88    pthread_rwlock_destroy;
89    pthread_rwlock_init;
90    pthread_rwlock_rdlock;
91    pthread_rwlock_tryrdlock;
92    pthread_rwlock_trywrlock;
93    pthread_rwlock_unlock;
94    pthread_rwlock_wrlock;
95    pthread_rwlockattr_destroy;
96    pthread_rwlockattr_getkind_np;
97    pthread_rwlockattr_getpshared;
98    pthread_rwlockattr_init;
99    pthread_rwlockattr_setkind_np;
100    pthread_rwlockattr_setpshared;
101    pthread_setconcurrency;
102    sem_destroy;
103    sem_getvalue;
104    sem_init;
105    sem_post;
106    sem_trywait;
107    sem_wait;
108  }
109  GLIBC_2.1.1 {
110    sem_close;
111    sem_open;
112    sem_unlink;
113  }
114  GLIBC_2.2 {
115    __pthread_rwlock_destroy;
116    __pthread_rwlock_init;
117    __pthread_rwlock_rdlock;
118    __pthread_rwlock_tryrdlock;
119    __pthread_rwlock_trywrlock;
120    __pthread_rwlock_unlock;
121    __pthread_rwlock_wrlock;
122    pthread_attr_getstack;
123    pthread_attr_setstack;
124    pthread_barrier_destroy;
125    pthread_barrier_init;
126    pthread_barrier_wait;
127    pthread_barrierattr_destroy;
128    pthread_barrierattr_init;
129    pthread_barrierattr_setpshared;
130    pthread_condattr_getpshared;
131    pthread_condattr_setpshared;
132    pthread_getcpuclockid;
133    pthread_mutex_timedlock;
134    pthread_mutexattr_getpshared;
135    pthread_mutexattr_setpshared;
136    pthread_rwlock_timedrdlock;
137    pthread_rwlock_timedwrlock;
138    pthread_spin_destroy;
139    pthread_spin_init;
140    pthread_spin_lock;
141    pthread_spin_trylock;
142    pthread_spin_unlock;
143    pthread_yield;
144    sem_timedwait;
145  }
146  GLIBC_2.2.3 {
147    pthread_getattr_np;
148  }
149  GLIBC_2.3.2 {
150    __register_atfork;
151    pthread_cond_broadcast;
152    pthread_cond_destroy;
153    pthread_cond_init;
154    pthread_cond_signal;
155    pthread_cond_timedwait;
156    pthread_cond_wait;
157  }
158  GLIBC_2.3.3 {
159    __pthread_cleanup_routine;
160    __pthread_register_cancel;
161    __pthread_register_cancel_defer;
162    __pthread_unregister_cancel;
163    __pthread_unregister_cancel_restore;
164    __pthread_unwind_next;
165    pthread_attr_getaffinity_np;
166    pthread_attr_setaffinity_np;
167    pthread_barrierattr_getpshared;
168    pthread_condattr_getclock;
169    pthread_condattr_setclock;
170    pthread_getaffinity_np;
171    pthread_setaffinity_np;
172    pthread_timedjoin_np;
173    pthread_tryjoin_np;
174  }
175  GLIBC_2.3.4 {
176    pthread_attr_getaffinity_np;
177    pthread_attr_setaffinity_np;
178    pthread_getaffinity_np;
179    pthread_setaffinity_np;
180    pthread_setschedprio;
181  }
182  GLIBC_2.4 {
183    pthread_mutex_consistent_np;
184    pthread_mutex_getprioceiling;
185    pthread_mutex_setprioceiling;
186    pthread_mutexattr_getprioceiling;
187    pthread_mutexattr_getprotocol;
188    pthread_mutexattr_getrobust_np;
189    pthread_mutexattr_setprioceiling;
190    pthread_mutexattr_setprotocol;
191    pthread_mutexattr_setrobust_np;
192  }
193  GLIBC_2.11 {
194    pthread_sigqueue;
195  }
196  GLIBC_2.12 {
197    pthread_getname_np;
198    pthread_mutex_consistent;
199    pthread_mutexattr_getrobust;
200    pthread_mutexattr_setrobust;
201    pthread_setname_np;
202  }
203  GLIBC_2.18 {
204    pthread_getattr_default_np;
205    pthread_setattr_default_np;
206  }
207  # C11 thread symbols.
208  GLIBC_2.28 {
209    call_once;
210    cnd_broadcast;
211    cnd_destroy;
212    cnd_init;
213    cnd_signal;
214    cnd_timedwait;
215    cnd_wait;
216    mtx_destroy;
217    mtx_init;
218    mtx_lock;
219    mtx_timedlock;
220    mtx_trylock;
221    mtx_unlock;
222    thrd_current;
223    thrd_create;
224    thrd_detach;
225    thrd_equal;
226    thrd_exit;
227    thrd_join;
228    thrd_sleep;
229    thrd_yield;
230    tss_create;
231    tss_delete;
232    tss_get;
233    tss_set;
234  }
235  GLIBC_2.30 {
236    pthread_cond_clockwait;
237    pthread_mutex_clocklock;
238    pthread_rwlock_clockrdlock;
239    pthread_rwlock_clockwrlock;
240    sem_clockwait;
241  }
242  GLIBC_2.31 {
243    pthread_clockjoin_np;
244  }
245  GLIBC_2.32 {
246    pthread_attr_getsigmask_np;
247    pthread_attr_setaffinity_np;
248    pthread_attr_setsigmask_np;
249    pthread_getaffinity_np;
250    pthread_getattr_np;
251    pthread_sigmask;
252  }
253  GLIBC_2.34 {
254    __pthread_cleanup_routine;
255    __pthread_key_create;
256    __pthread_register_cancel;
257    __pthread_register_cancel_defer;
258    __pthread_unregister_cancel;
259    __pthread_unregister_cancel_restore;
260    __pthread_unwind_next;
261    _pthread_cleanup_pop;
262    _pthread_cleanup_push;
263    call_once;
264    cnd_broadcast;
265    cnd_destroy;
266    cnd_init;
267    cnd_signal;
268    cnd_timedwait;
269    cnd_wait;
270    mtx_destroy;
271    mtx_init;
272    mtx_lock;
273    mtx_timedlock;
274    mtx_trylock;
275    mtx_unlock;
276    pthread_attr_getaffinity_np;
277    pthread_attr_getguardsize;
278    pthread_attr_getstack;
279    pthread_attr_getstackaddr;
280    pthread_attr_getstacksize;
281    pthread_attr_setguardsize;
282    pthread_attr_setstack;
283    pthread_attr_setstackaddr;
284    pthread_attr_setstacksize;
285    pthread_barrier_destroy;
286    pthread_barrier_init;
287    pthread_barrier_wait;
288    pthread_barrierattr_destroy;
289    pthread_barrierattr_getpshared;
290    pthread_barrierattr_init;
291    pthread_barrierattr_setpshared;
292    pthread_cancel;
293    pthread_clockjoin_np;
294    pthread_cond_clockwait;
295    pthread_condattr_getclock;
296    pthread_condattr_getpshared;
297    pthread_condattr_setclock;
298    pthread_condattr_setpshared;
299    pthread_create;
300    pthread_detach;
301    pthread_getattr_default_np;
302    pthread_getconcurrency;
303    pthread_getcpuclockid;
304    pthread_getname_np;
305    pthread_getspecific;
306    pthread_join;
307    pthread_key_create;
308    pthread_key_delete;
309    pthread_kill;
310    pthread_mutex_clocklock;
311    pthread_mutex_consistent;
312    pthread_mutex_getprioceiling;
313    pthread_mutex_setprioceiling;
314    pthread_mutex_timedlock;
315    pthread_mutex_trylock;
316    pthread_mutexattr_destroy;
317    pthread_mutexattr_getprioceiling;
318    pthread_mutexattr_getprotocol;
319    pthread_mutexattr_getpshared;
320    pthread_mutexattr_getrobust;
321    pthread_mutexattr_gettype;
322    pthread_mutexattr_init;
323    pthread_mutexattr_setprioceiling;
324    pthread_mutexattr_setprotocol;
325    pthread_mutexattr_setpshared;
326    pthread_mutexattr_setrobust;
327    pthread_mutexattr_settype;
328    pthread_once;
329    pthread_rwlock_clockrdlock;
330    pthread_rwlock_clockwrlock;
331    pthread_rwlock_destroy;
332    pthread_rwlock_init;
333    pthread_rwlock_rdlock;
334    pthread_rwlock_timedrdlock;
335    pthread_rwlock_timedwrlock;
336    pthread_rwlock_tryrdlock;
337    pthread_rwlock_trywrlock;
338    pthread_rwlock_unlock;
339    pthread_rwlock_wrlock;
340    pthread_rwlockattr_destroy;
341    pthread_rwlockattr_getkind_np;
342    pthread_rwlockattr_getpshared;
343    pthread_rwlockattr_init;
344    pthread_rwlockattr_setkind_np;
345    pthread_rwlockattr_setpshared;
346    pthread_setaffinity_np;
347    pthread_setattr_default_np;
348    pthread_setconcurrency;
349    pthread_setname_np;
350    pthread_setschedprio;
351    pthread_setspecific;
352    pthread_sigqueue;
353    pthread_spin_destroy;
354    pthread_spin_init;
355    pthread_spin_lock;
356    pthread_spin_trylock;
357    pthread_spin_unlock;
358    pthread_testcancel;
359    pthread_timedjoin_np;
360    pthread_tryjoin_np;
361    sem_clockwait;
362    sem_close;
363    sem_destroy;
364    sem_getvalue;
365    sem_init;
366    sem_open;
367    sem_post;
368    sem_timedwait;
369    sem_trywait;
370    sem_unlink;
371    sem_wait;
372    thrd_create;
373    thrd_detach;
374    thrd_exit;
375    thrd_join;
376    tss_create;
377    tss_delete;
378    tss_get;
379    tss_set;
380  }
381  GLIBC_PRIVATE {
382    __libc_alloca_cutoff;
383    __lll_lock_wake_private;
384    __lll_lock_wait_private;
385    __nptl_create_event;
386    __nptl_death_event;
387    __nptl_last_event;
388    __nptl_nthreads;
389    __nptl_rtld_global;
390    __nptl_threads_events;
391    __nptl_version;
392    __pthread_get_minstack;
393    __pthread_keys;
394    _thread_db___nptl_last_event;
395    _thread_db___nptl_nthreads;
396    _thread_db___nptl_rtld_global;
397    _thread_db___pthread_keys;
398    _thread_db_const_thread_area;
399    _thread_db_dtv_dtv;
400    _thread_db_dtv_slotinfo_gen;
401    _thread_db_dtv_slotinfo_list_len;
402    _thread_db_dtv_slotinfo_list_next;
403    _thread_db_dtv_slotinfo_list_slotinfo;
404    _thread_db_dtv_slotinfo_map;
405    _thread_db_dtv_t_counter;
406    _thread_db_dtv_t_pointer_val;
407    _thread_db_link_map_l_tls_modid;
408    _thread_db_link_map_l_tls_offset;
409    _thread_db_list_t_next;
410    _thread_db_list_t_prev;
411    _thread_db_pthread_cancelhandling;
412    _thread_db_pthread_dtvp;
413    _thread_db_pthread_eventbuf;
414    _thread_db_pthread_eventbuf_eventmask;
415    _thread_db_pthread_eventbuf_eventmask_event_bits;
416    _thread_db_pthread_key_data_data;
417    _thread_db_pthread_key_data_level2_data;
418    _thread_db_pthread_key_data_seq;
419    _thread_db_pthread_key_struct_destr;
420    _thread_db_pthread_key_struct_seq;
421    _thread_db_pthread_list;
422    _thread_db_pthread_nextevent;
423    _thread_db_pthread_report_events;
424    _thread_db_pthread_schedparam_sched_priority;
425    _thread_db_pthread_schedpolicy;
426    _thread_db_pthread_specific;
427    _thread_db_pthread_start_routine;
428    _thread_db_pthread_tid;
429    _thread_db_register32;
430    _thread_db_register32_thread_area;
431    _thread_db_register64;
432    _thread_db_register64_thread_area;
433    _thread_db_rtld_global__dl_stack_used;
434    _thread_db_rtld_global__dl_stack_user;
435    _thread_db_rtld_global__dl_tls_dtv_slotinfo_list;
436    _thread_db_sizeof_dtv_slotinfo;
437    _thread_db_sizeof_dtv_slotinfo_list;
438    _thread_db_sizeof_list_t;
439    _thread_db_sizeof_pthread;
440    _thread_db_sizeof_pthread_key_data;
441    _thread_db_sizeof_pthread_key_data_level2;
442    _thread_db_sizeof_pthread_key_struct;
443    _thread_db_sizeof_td_eventbuf_t;
444    _thread_db_sizeof_td_thr_events_t;
445    _thread_db_td_eventbuf_t_eventdata;
446    _thread_db_td_eventbuf_t_eventnum;
447    _thread_db_td_thr_events_t_event_bits;
448  }
449}
450
451libpthread {
452  GLIBC_2.0 {
453    __libpthread_version_placeholder;
454  }
455
456  GLIBC_2.1 {
457    __libpthread_version_placeholder;
458  }
459
460  GLIBC_2.1.1 {
461    __libpthread_version_placeholder;
462  }
463
464  GLIBC_2.1.2 {
465    __libpthread_version_placeholder;
466  }
467
468  GLIBC_2.2 {
469    __libpthread_version_placeholder;
470  }
471
472  GLIBC_2.2.3 {
473    __libpthread_version_placeholder;
474  }
475
476  GLIBC_2.2.6 {
477    __libpthread_version_placeholder;
478  }
479
480  GLIBC_2.3.2 {
481    __libpthread_version_placeholder;
482  }
483
484  GLIBC_2.3.3 {
485    __libpthread_version_placeholder;
486  }
487
488  GLIBC_2.3.4 {
489    __libpthread_version_placeholder;
490  }
491
492  GLIBC_2.4 {
493    __libpthread_version_placeholder;
494  };
495
496  GLIBC_2.11 {
497    __libpthread_version_placeholder;
498  };
499
500  GLIBC_2.12 {
501    __libpthread_version_placeholder;
502  };
503
504  GLIBC_2.13 {
505  }
506
507  GLIBC_2.18 {
508    __libpthread_version_placeholder;
509  }
510
511  GLIBC_2.19 {
512  }
513
514  GLIBC_2.28 {
515    __libpthread_version_placeholder;
516  }
517
518  GLIBC_2.29 {
519  }
520
521  GLIBC_2.30 {
522    __libpthread_version_placeholder;
523  }
524
525  GLIBC_2.31 {
526    __libpthread_version_placeholder;
527  }
528}
529
530ld {
531  GLIBC_PRIVATE {
532     __nptl_initial_report_events;
533     __nptl_set_robust_list_avail;
534  }
535}
536