2002-11-14 Roland McGrath <roland@redhat.com>
authorRoland McGrath <roland@gnu.org>
Fri, 15 Nov 2002 03:36:52 +0000 (03:36 +0000)
committerRoland McGrath <roland@gnu.org>
Fri, 15 Nov 2002 03:36:52 +0000 (03:36 +0000)
* sysdeps/generic/errno.c (__libc_errno): Remove alias.
* inet/herrno.c (__libc_h_errno): Likewise.
* resolv/res_libc.c (__libc_res): Likewise.
[USE___THREAD]: Use this in place of [USE_TLS && HAVE___THREAD].
(__res_state) [! USE___THREAD]: Don't define as weak.
* csu/Versions: Revert last change.
* resolv/Versions: Revert last change.

csu/Versions
inet/herrno.c
resolv/Versions
resolv/res_libc.c
sysdeps/generic/errno.c

index bd82a96..a1321a9 100644 (file)
@@ -21,10 +21,6 @@ libc {
 %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 f0ee81b..b85d75b 100644 (file)
@@ -34,9 +34,6 @@ extern __thread int __libc_h_errno __attribute__ ((alias ("h_errno")))
 int h_errno = 0;
 weak_alias (h_errno, _h_errno)
 
-/* This alias is needed by libpthread.  */
-strong_alias (h_errno, __libc_h_errno)
-
 /* We declare these with compat_symbol so that they are not
    visible at link time.  Programs must use the accessor functions.  */
 # if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING
index 238d579..2449a41 100644 (file)
@@ -35,10 +35,6 @@ libc {
 %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
   }
 }
index b1132b0..7c4fd7a 100644 (file)
 
 #include <tls.h>
 
-#if USE_TLS && HAVE___THREAD
+#if USE___THREAD
 /* With __thread support, this per-thread variable is used in all cases.  */
 __thread struct __res_state _res;
 extern __thread struct __res_state __libc_res __attribute__ ((alias ("_res")))
   attribute_hidden;
 # define _res __libc_res
 #else
-/* The resolver state for use by single-threaded programs.
-
-   This differs from a plain uninitialized definition in that it doesn't
-   create a common definition, but a plain symbol that resides in .bss,
-   which can have an alias.  */
-struct __res_state _res __attribute__ ((section (".bss")));
-
-/* This alias is needed by libpthread.  */
-strong_alias (_res, __libc_res)
+/* The resolver state for use by single-threaded programs.  */
+struct __res_state _res;
 
 /* We declare this with compat_symbol so that it's not
    visible at link time.  Programs must use the accessor functions.  */
@@ -52,7 +45,9 @@ compat_symbol (libc, _res, _res, GLIBC_2_0);
 /* This function is used to access the resolver state in
    single-threaded programs.  */
 struct __res_state *
+#if ! USE___THREAD
 weak_const_function
+#endif
 __res_state (void)
 {
   return &_res;
index 45c9639..1c0561c 100644 (file)
@@ -32,9 +32,6 @@ extern __thread int __libc_errno __attribute__ ((alias ("errno")))
 int errno __attribute__ ((section (".bss")));
 strong_alias (errno, _errno)
 
-/* This alias is needed by libpthread.  */
-strong_alias (errno, __libc_errno)
-
 /* We declare these with compat_symbol so that they are not
    visible at link time.  Programs must use the accessor functions.  */
 # if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING