1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00

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.
This commit is contained in:
Roland McGrath
2002-11-15 03:36:52 +00:00
parent 42c6bd6199
commit 3fa5f1fa0a
5 changed files with 5 additions and 24 deletions

View File

@ -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;