mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
* 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. 2002-11-14 Roland McGrath <roland@redhat.com>
This commit is contained in:
@ -31,8 +31,22 @@ 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. */
|
||||
struct __res_state _res;
|
||||
/* 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)
|
||||
|
||||
/* We declare this with compat_symbol so that it's not
|
||||
visible at link time. Programs must use the accessor functions. */
|
||||
# if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING
|
||||
# include <shlib-compat.h>
|
||||
compat_symbol (libc, _res, _res, GLIBC_2_0);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* This function is used to access the resolver state in
|
||||
|
Reference in New Issue
Block a user