1libc {
2  GLIBC_2.21 {
3    pthread_attr_destroy; pthread_attr_getdetachstate;
4    pthread_attr_getinheritsched; pthread_attr_getschedparam;
5    pthread_attr_getschedpolicy; pthread_attr_getscope; pthread_attr_init;
6    pthread_attr_setdetachstate; pthread_attr_setinheritsched;
7    pthread_attr_setschedparam; pthread_attr_setschedpolicy;
8    pthread_attr_setscope;
9    pthread_condattr_destroy; pthread_condattr_init;
10    pthread_cond_broadcast; pthread_cond_destroy;
11    pthread_cond_init; pthread_cond_signal; pthread_cond_wait;
12    pthread_cond_timedwait;
13    pthread_equal;
14    pthread_exit; pthread_getschedparam; pthread_setschedparam;
15    pthread_mutex_destroy; pthread_mutex_init;
16    pthread_mutex_lock; pthread_mutex_trylock; pthread_mutex_unlock;
17    pthread_self; pthread_setcancelstate; pthread_setcanceltype;
18    __pthread_get_cleanup_stack;
19  }
20  GLIBC_2.22 {
21    __register_atfork;
22  }
23
24  # C11 thread symbols.
25  GLIBC_2.32 {
26    thrd_current; thrd_equal; thrd_sleep; thrd_yield;
27  }
28
29  GLIBC_PRIVATE {
30    __libc_alloca_cutoff;
31    __libc_pthread_init;
32    __pthread_cleanup_stack;
33  }
34}
35
36libpthread {
37  GLIBC_2.2.6 {
38    _IO_flockfile; _IO_ftrylockfile; _IO_funlockfile;
39    __errno_location; __h_errno_location;
40  }
41  GLIBC_2.12 {
42    __pthread_get_cleanup_stack;
43
44    __pthread_mutex_transfer_np;
45
46    cthread_detach;
47    cthread_fork;
48    cthread_keycreate;
49    cthread_getspecific;
50    cthread_setspecific;
51    __mutex_lock_solid;
52    __mutex_unlock_solid;
53    _cthreads_flockfile;
54    _cthreads_ftrylockfile;
55    _cthreads_funlockfile;
56
57    flockfile; ftrylockfile; funlockfile;
58
59    pthread_atfork;
60
61    pthread_attr_destroy; pthread_attr_getdetachstate;
62    pthread_attr_getguardsize; pthread_attr_getinheritsched;
63    pthread_attr_getschedparam; pthread_attr_getschedpolicy;
64    pthread_attr_getscope; pthread_attr_getstack; pthread_attr_getstackaddr;
65    pthread_attr_getstacksize; pthread_attr_init; pthread_attr_setdetachstate;
66    pthread_attr_setguardsize; pthread_attr_setinheritsched;
67    pthread_attr_setschedparam; pthread_attr_setschedpolicy;
68    pthread_attr_setscope; pthread_attr_setstack; pthread_attr_setstackaddr;
69    pthread_attr_setstacksize;
70
71    pthread_barrier_destroy; pthread_barrier_init; pthread_barrier_wait;
72    pthread_barrierattr_destroy; pthread_barrierattr_getpshared;
73    pthread_barrierattr_init; pthread_barrierattr_setpshared;
74
75    pthread_cancel;
76
77    pthread_cond_broadcast; pthread_cond_destroy; pthread_cond_init;
78    pthread_cond_signal; pthread_cond_timedwait; pthread_cond_wait;
79
80    pthread_condattr_destroy; pthread_condattr_getclock;
81    pthread_condattr_getpshared; pthread_condattr_init;
82    pthread_condattr_setclock; pthread_condattr_setpshared;
83
84    pthread_create; pthread_detach; pthread_equal; pthread_exit;
85
86    pthread_getattr_np;
87
88    pthread_getconcurrency; pthread_getcpuclockid;
89    pthread_getschedparam; pthread_getspecific;
90
91    pthread_join;
92
93    pthread_key_create; pthread_key_delete;
94    __pthread_key_create;
95
96    pthread_kill;
97    __pthread_kill;
98
99    pthread_mutex_destroy; pthread_mutex_getprioceiling;
100    pthread_mutex_init; pthread_mutex_lock; pthread_mutex_setprioceiling;
101    pthread_mutex_timedlock; pthread_mutex_transfer_np;
102    pthread_mutex_trylock; pthread_mutex_unlock;
103
104    pthread_mutexattr_destroy; pthread_mutexattr_getprioceiling;
105    pthread_mutexattr_getprotocol; pthread_mutexattr_getpshared;
106    pthread_mutexattr_gettype; pthread_mutexattr_init;
107    pthread_mutexattr_setprioceiling; pthread_mutexattr_setprotocol;
108    pthread_mutexattr_setpshared; pthread_mutexattr_settype;
109
110    pthread_once;
111
112    pthread_rwlock_destroy; pthread_rwlock_init; pthread_rwlock_rdlock;
113    pthread_rwlock_timedrdlock; pthread_rwlock_timedwrlock;
114    pthread_rwlock_tryrdlock; pthread_rwlock_trywrlock;
115    pthread_rwlock_unlock; pthread_rwlock_wrlock;
116
117    pthread_rwlockattr_destroy; pthread_rwlockattr_getpshared;
118    pthread_rwlockattr_init; pthread_rwlockattr_setpshared;
119
120    pthread_self;
121    __pthread_self;
122
123    pthread_setcancelstate; pthread_setcanceltype;
124    pthread_setconcurrency; pthread_setschedparam;
125    pthread_setschedprio; pthread_setspecific;
126
127    pthread_sigmask;
128    pthread_testcancel;
129    pthread_yield;
130
131    sem_close; sem_destroy; sem_getvalue; sem_init; sem_open; sem_post;
132    sem_timedwait; sem_trywait; sem_unlink; sem_wait;
133
134    pthread_spin_destroy; pthread_spin_init; pthread_spin_lock;
135    pthread_spin_trylock; pthread_spin_unlock;
136    __pthread_spin_destroy; __pthread_spin_init;
137    __pthread_spin_lock; __pthread_spin_trylock; __pthread_spin_unlock;
138    _pthread_spin_lock;
139  }
140  GLIBC_2.21 {
141    pthread_hurd_cond_wait_np;
142    pthread_hurd_cond_timedwait_np;
143  }
144
145  GLIBC_2.32 {
146    # C11 thread symbols.
147    thrd_create; thrd_detach; thrd_exit; thrd_join;
148    mtx_init; mtx_lock; mtx_timedlock; mtx_trylock; mtx_unlock; mtx_destroy;
149    call_once;
150    cnd_broadcast; cnd_destroy; cnd_init; cnd_signal; cnd_timedwait; cnd_wait;
151    tss_create; tss_delete; tss_get; tss_set;
152
153    pthread_cond_clockwait;
154
155    pthread_mutexattr_getrobust; pthread_mutexattr_getrobust_np;
156    pthread_mutexattr_setrobust; pthread_mutexattr_setrobust_np;
157
158    pthread_mutex_consistent; pthread_mutex_consistent_np;
159    pthread_mutex_clocklock;
160
161    pthread_rwlock_clockrdlock; pthread_rwlock_clockwrlock;
162
163    pthread_tryjoin_np; pthread_timedjoin_np; pthread_clockjoin_np;
164
165    sem_clockwait;
166  }
167
168  GLIBC_PRIVATE {
169    __pthread_initialize_minimal;
170
171    __cthread_detach;
172    __cthread_fork;
173    __pthread_detach;
174    __pthread_create;
175    __cthread_keycreate;
176    __cthread_getspecific;
177    __cthread_setspecific;
178    __pthread_getspecific;
179    __pthread_setspecific;
180    __pthread_getattr_np;
181    __pthread_attr_getstack;
182    __pthread_mutex_init;
183    __pthread_mutex_destroy;
184    __pthread_mutex_timedlock;
185    __pthread_enable_asynccancel;
186    __pthread_disable_asynccancel;
187
188    __pthread_mutex_lock; __pthread_mutex_trylock; __pthread_mutex_unlock;
189    _pthread_mutex_lock; _pthread_mutex_trylock; _pthread_mutex_unlock;
190    _pthread_rwlock_destroy; _pthread_rwlock_init;
191  }
192}
193