diff options
author | Roland McGrath <roland@gnu.org> | 2000-03-30 19:26:35 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2000-03-30 19:26:35 +0000 |
commit | 693ef46bb12bd665f0eea874dde42fc433b41f44 (patch) | |
tree | cb14d5110db6c28fe447eefd6419017653b26fc9 /hurd | |
parent | 841288ec5363f5bcb68b18d9f0707e8ed4c1501f (diff) | |
download | glibc-693ef46bb12bd665f0eea874dde42fc433b41f44.zip glibc-693ef46bb12bd665f0eea874dde42fc433b41f44.tar.gz glibc-693ef46bb12bd665f0eea874dde42fc433b41f44.tar.bz2 |
2000-03-30 Roland McGrath <roland@baalperazim.frob.com>
* mach/Versions (libc: GLIBC_2.0)
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]: Conditionalize
__vm_allocate on this.
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)]: Conditionalize
mutex- and spinlock-related symbols on this.
[!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3):
New version set. Lock-related symbols go here instead in this case.
* sysdeps/mach/hurd/Versions (libc: GLIBC_2.0): Remove
_cthread_exit_routine, _cthread_init_routine, cthread_keycreate,
cthread_getspecific, cthread_setspecific, __libc_getspecific.
* hurd/Versions
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: GLIBC_2.0):
Put them here instead.
[!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3):
New version set. Those cthreads symbols go here instead in this case.
* Versions.def (libc) [USE_IN_LIBIO]: Add HURD_CTHREADS_0.3 version.
Diffstat (limited to 'hurd')
-rw-r--r-- | hurd/Versions | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/hurd/Versions b/hurd/Versions index a81bc55..6166e99 100644 --- a/hurd/Versions +++ b/hurd/Versions @@ -1,5 +1,9 @@ +%define PIC +%include <shlib-compat.h> + libc { GLIBC_2.0 { +%if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) # These few symbols are here only for binary compatibility # with the pre-versioning libc.so.0.2 ABI. Their replacements # are in the GLIBC_2.1 version set. When the soname changes, @@ -7,6 +11,18 @@ libc { __getuids; __hurd_file_name_lookup; _hurd_proc_init; _hurd_umask; +%endif + + # These go into a different version set if GLIBC_2.0 compatibility + # is not required. See below. +%if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) + # variables used for detecting cthreads + _cthread_exit_routine; _cthread_init_routine; + + # cthreads functions with stubs in libc + cthread_keycreate; cthread_getspecific; cthread_setspecific; + __libc_getspecific; +%endif # necessary for the Hurd brk implementation _end; @@ -80,7 +96,7 @@ libc { hurd_safe_memmove; hurd_safe_memset; hurd_sig_post; hurd_thread_cancel; hurd_thread_self; - hurd_unpreemt_signals; + hurd_unpreempt_signals; # o* openport; @@ -108,8 +124,10 @@ libc { seteuids; } GLIBC_2.1.3 { +%if SHLIB_COMPAT (libc, GLIBC_2_1_3, HURD_CTHREADS_0_3) # c* cthread_fork; cthread_detach; +%endif # d* directory_name_split; @@ -117,4 +135,18 @@ libc { # h* hurd_directory_name_split; } + +%if !SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) + HURD_CTHREADS_0.3 { + # weak refs to libthreads functions that libc calls iff libthreads in use + cthread_fork; cthread_detach; + + # variables used for detecting cthreads + _cthread_exit_routine; _cthread_init_routine; + + # cthreads functions with stubs in libc + cthread_keycreate; cthread_getspecific; cthread_setspecific; + __libc_getspecific; + } +%endif } |