2002-11-14 Roland McGrath <roland@redhat.com>
authorroland <roland>
Thu, 14 Nov 2002 21:22:45 +0000 (21:22 +0000)
committerroland <roland>
Thu, 14 Nov 2002 21:22:45 +0000 (21:22 +0000)
* sysdeps/generic/errno.c [! USE___THREAD]
[HAVE_ELF && SHARED && DO_VERSIONING] (errno, _errno): Declare these
with compat_symbol so they are not link-time visible.
[! USE___THREAD] (__libc_errno): New alias for errno.
* csu/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE):
Add __libc_errno here.
* inet/herrno.c [USE___THREAD]: Use this conditional
in place of [USE_TLS && HAVE___THREAD].
[! USE___THREAD] [HAVE_ELF && SHARED && DO_VERSIONING]
(h_errno, _h_errno): Declare these with compat_symbol so they are not
link-time visible.
[! USE___THREAD] (__libc_h_errno): New alias for h_errno.
* resolv/res_libc.c [! USE___THREAD]
[HAVE_ELF && SHARED && DO_VERSIONING] (_res): Likewise.
(_res): Use __attribute__ ((section (".bss"))) so we can have an alias.
(__libc_res): Define as alias for _res.
* resolv/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE):
Add __libc_h_errno and __libc_res here.
2002-11-14  Jakub Jelinek  <jakub@redhat.com>

* csu/Versions (errno): Move STT_TLS symbol to GLIBC_PRIVATE for now.
* resolv/Versions (h_errno, _res): Likewise.

csu/Versions
resolv/Versions

index f0dfe91..bd82a96 100644 (file)
@@ -17,10 +17,14 @@ libc {
     # New special glibc functions.
     gnu_get_libc_release; gnu_get_libc_version;
   }
-  GLIBC_2.3 {
+  GLIBC_PRIVATE {
 %if USE_TLS && HAVE___THREAD
     # This version is for the TLS symbol, GLIBC_2.0 is the old object symbol.
     errno;
+%else
+    # This internal alias is solely to give libpthread access
+    # to the variable that is not directly user-visible at link time.
+    __libc_errno;
 %endif
   }
 }
index 09dca6a..238d579 100644 (file)
@@ -29,15 +29,18 @@ libc {
     # r*
     __res_state; __res_init; __res_nclose; __res_ninit; _res_hconf;
   }
-  GLIBC_2.3 {
+  GLIBC_PRIVATE {
+    __gai_sigqueue;
+
 %if USE_TLS && HAVE___THREAD
     # This version is for the TLS symbol, GLIBC_2.0 is the old object symbol.
     h_errno; _res;
+%else
+    # These internal aliases are solely to give libpthread access
+    # to the variables that are not directly user-visible.
+    __libc_h_errno; __libc_res;
 %endif
   }
-  GLIBC_PRIVATE {
-    __gai_sigqueue;
-  }
 }
 
 libresolv {