* sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Don't return early
[glibc.git] / linuxthreads / Versions
blob615a132e54c8056f21725f1fa1e8cb2d5a3c1616
1 libc {
2   GLIBC_2.0 {
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; pthread_cond_broadcast; pthread_cond_destroy;
9     pthread_cond_init; pthread_cond_signal; pthread_cond_wait;
10     pthread_cond_timedwait;
11     pthread_condattr_destroy; pthread_condattr_init; pthread_equal;
12     pthread_exit; pthread_getschedparam; pthread_mutex_destroy;
13     pthread_mutex_init; pthread_mutex_lock; pthread_mutex_unlock;
14     pthread_self; pthread_setcancelstate; pthread_setcanceltype;
15     pthread_setschedparam;
16   }
17   GLIBC_2.1 {
18     pthread_attr_init;
19   }
20   GLIBC_2.3.2 {
21     # Changed pthread_cond_t.
22     pthread_cond_init; pthread_cond_destroy;
23     pthread_cond_wait; pthread_cond_signal;
24     pthread_cond_broadcast; pthread_cond_timedwait;
25   }
26   GLIBC_PRIVATE {
27     # Internal libc interface to libpthread
28     __libc_dl_error_tsd;
30     __libc_pthread_init; __libc_current_sigrtmin_private;
31     __libc_current_sigrtmax_private; __libc_allocate_rtsig_private;
33     __libc_creat; __libc_poll; __libc_pselect; __libc_select;
34     __libc_sigpause; __libc_sigsuspend; __libc_sigwait; __libc_sigwaitinfo;
35     __libc_waitid; __libc___xpg_sigpause; __librt_enable_asynccancel;
36     __librt_disable_asynccancel; __librt_multiple_threads;
38     __libc_sigaction; __on_exit;
39   }
42 libpthread {
43   GLIBC_2.0 {
44     # Hidden entry point (through macros).
45     _pthread_cleanup_pop; _pthread_cleanup_pop_restore; _pthread_cleanup_push;
46     _pthread_cleanup_push_defer;
48     # Overwritten libc functions.
49     accept; close; connect; fcntl; fork; fsync; longjmp; lseek; msync;
50     nanosleep; open; pause; raise; read; recv; recvfrom; recvmsg; send;
51     sendmsg; sendto; sigaction; siglongjmp; system; tcdrain; wait;
52     waitpid; write;
53     __close; __connect; __fcntl; __lseek; __open; __read; __send; __wait;
54     __write;
55     _IO_flockfile; _IO_ftrylockfile; _IO_funlockfile;
56     vfork; __fork;
58     # POSIX.1c extensions to libc.
59     flockfile; funlockfile; ftrylockfile;
61     # Non-standard POSIX1.x functions.
62     pthread_kill_other_threads_np; pthread_mutexattr_getkind_np;
63     pthread_mutexattr_setkind_np;
65     # Real POSIX.1c functions.
66     pthread_atfork; pthread_attr_destroy; pthread_attr_getdetachstate;
67     pthread_attr_getinheritsched; pthread_attr_getschedparam;
68     pthread_attr_getschedpolicy; pthread_attr_getscope; pthread_attr_init;
69     pthread_attr_setdetachstate; pthread_attr_setinheritsched;
70     pthread_attr_setschedparam; pthread_attr_setschedpolicy;
71     pthread_attr_setscope; pthread_cancel; pthread_cond_broadcast;
72     pthread_cond_destroy; pthread_cond_init; pthread_cond_signal;
73     pthread_cond_timedwait; pthread_cond_wait; pthread_condattr_destroy;
74     pthread_condattr_init; pthread_create; pthread_detach; pthread_equal;
75     pthread_exit; pthread_getschedparam; pthread_getspecific; pthread_join;
76     pthread_key_create; pthread_key_delete; pthread_kill;
77     pthread_mutex_destroy; pthread_mutex_init; pthread_mutex_lock;
78     pthread_mutex_trylock; pthread_mutex_unlock; pthread_mutexattr_destroy;
79     pthread_mutexattr_init; pthread_once; pthread_self; pthread_setcancelstate;
80     pthread_setcanceltype; pthread_setschedparam; pthread_setspecific;
81     pthread_sigmask; pthread_testcancel;
83     sem_destroy; sem_getvalue; sem_init; sem_post; sem_trywait; sem_wait;
84     sigwait;
86     # Protected names for functions used in other shared objects.
87     __pthread_atfork; __pthread_getspecific;
88     __pthread_key_create; __pthread_mutex_destroy; __pthread_mutex_init;
89     __pthread_mutex_lock; __pthread_mutex_trylock; __pthread_mutex_unlock;
90     __pthread_mutexattr_destroy; __pthread_mutexattr_init;
91     __pthread_mutexattr_settype; __pthread_once; __pthread_setspecific;
93     # The error functions.
94     __errno_location; __h_errno_location;
96     # Must be preemptible
97     __sigaction;
98   }
99   GLIBC_2.1 {
100     # Functions with changed interface.
101     pthread_attr_init; pthread_create;
103     # Unix98 extensions.
104     pthread_rwlock_init; pthread_rwlock_destroy; pthread_rwlock_rdlock;
105     pthread_rwlock_tryrdlock; pthread_rwlock_wrlock; pthread_rwlock_trywrlock;
106     pthread_rwlock_unlock; pthread_rwlockattr_init; pthread_rwlockattr_destroy;
107     pthread_rwlockattr_getpshared; pthread_rwlockattr_setpshared;
108     pthread_rwlockattr_getkind_np; pthread_rwlockattr_setkind_np;
110     pthread_attr_getguardsize; pthread_attr_setguardsize;
111     pthread_attr_getstackaddr; pthread_attr_setstackaddr;
112     pthread_attr_getstacksize; pthread_attr_setstacksize;
114     pthread_getconcurrency; pthread_setconcurrency;
116     pthread_mutexattr_gettype; pthread_mutexattr_settype;
118     sem_destroy; sem_getvalue; sem_init; sem_post; sem_trywait; sem_wait;
120     # helper functions
121     __libc_current_sigrtmin; __libc_current_sigrtmax;
122     __libc_allocate_rtsig;
123   }
124   GLIBC_2.1.1 {
125     sem_close; sem_open; sem_unlink;
126   }
127   GLIBC_2.1.2 {
128     __vfork;
129   }
130   GLIBC_2.2 {
131     # For the cancelation wrappers.
132     pread; __pread64; pread64; pwrite; __pwrite64; pwrite64; lseek64;
133     open64; __open64;
135     __res_state;
137     # Names used internally.
138     __pthread_rwlock_init; __pthread_rwlock_destroy; __pthread_rwlock_rdlock;
139     __pthread_rwlock_tryrdlock; __pthread_rwlock_wrlock;
140     __pthread_rwlock_trywrlock; __pthread_rwlock_unlock;
142     # No really implemented.
143     pthread_condattr_getpshared; pthread_condattr_setpshared;
144     pthread_mutexattr_getpshared; pthread_mutexattr_setpshared;
146     # New functions from IEEE Std. 1003.1-200x.
147     sem_timedwait;
148     pthread_attr_getstack; pthread_attr_setstack;
149     pthread_spin_destroy; pthread_spin_init; pthread_spin_lock;
150     pthread_spin_trylock; pthread_spin_unlock;
151     pthread_getcpuclockid;
152     pthread_barrier_destroy; pthread_barrier_init; pthread_barrier_wait;
153     pthread_barrierattr_destroy; pthread_barrierattr_init;
154     pthread_barrierattr_setpshared;
155     pthread_mutex_timedlock;
156     pthread_rwlock_timedrdlock; pthread_rwlock_timedwrlock;
158     # Extensions.
159     pthread_yield;
160   }
161   GLIBC_2.2.3 {
162     # Extensions.
163     pthread_getattr_np;
164   }
165   GLIBC_2.2.6 {
166     # Cancellation wrapper
167     __nanosleep;
168   }
169   GLIBC_2.3.2 {
170     # Changed pthread_cond_t.
171     pthread_cond_init; pthread_cond_destroy;
172     pthread_cond_wait; pthread_cond_timedwait;
173     pthread_cond_signal; pthread_cond_broadcast;
174   }
176   # Hey you!!  Yes, YOU!  Do not add new symbols here!
177   # The linuxthreads libpthread ABI froze at GLIBC_2.3.2 and lacks
178   # numerous additions that NPTL's libpthread has.  We can't go adding
179   # any new symbols here unless we support all the new symbols in NPTL,
180   # and we don't want to do that.  Linuxthreads is only alive for
181   # compatibility with old binaries using old interfaces.
183   GLIBC_PRIVATE {
184     # Internal libc interface to libpthread
185     __pthread_initialize;
186     __pthread_kill_other_threads_np;
187   }