aboutsummaryrefslogtreecommitdiff
path: root/resolv
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-11-15 03:36:52 +0000
committerRoland McGrath <roland@gnu.org>2002-11-15 03:36:52 +0000
commit3fa5f1fa0a4973c6915fbfe0a43cbbe57c9b8ca9 (patch)
tree2861854e75cf17b05e8aed44864d101f96a71649 /resolv
parent42c6bd6199f549e61f38fe140945bf43d7a47f45 (diff)
downloadglibc-3fa5f1fa0a4973c6915fbfe0a43cbbe57c9b8ca9.zip
glibc-3fa5f1fa0a4973c6915fbfe0a43cbbe57c9b8ca9.tar.gz
glibc-3fa5f1fa0a4973c6915fbfe0a43cbbe57c9b8ca9.tar.bz2
2002-11-14 Roland McGrath <roland@redhat.com>
* 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.
Diffstat (limited to 'resolv')
-rw-r--r--resolv/Versions4
-rw-r--r--resolv/res_libc.c15
2 files changed, 5 insertions, 14 deletions
diff --git a/resolv/Versions b/resolv/Versions
index 238d579..2449a41 100644
--- a/resolv/Versions
+++ b/resolv/Versions
@@ -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
}
}
diff --git a/resolv/res_libc.c b/resolv/res_libc.c
index b1132b0..7c4fd7a 100644
--- a/resolv/res_libc.c
+++ b/resolv/res_libc.c
@@ -24,22 +24,15 @@
#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;