diff options
author | Roland McGrath <roland@gnu.org> | 2002-12-30 00:10:07 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-12-30 00:10:07 +0000 |
commit | 4aeb650e63ca7d7cdb62ce081ba7ddd9b6dfb683 (patch) | |
tree | f53ef74481f568944f554d2ffba1e49d930ad215 | |
parent | c7371e6e47d6c1607f1dcd6434cc1e181e5e1872 (diff) | |
download | glibc-4aeb650e63ca7d7cdb62ce081ba7ddd9b6dfb683.zip glibc-4aeb650e63ca7d7cdb62ce081ba7ddd9b6dfb683.tar.gz glibc-4aeb650e63ca7d7cdb62ce081ba7ddd9b6dfb683.tar.bz2 |
* resolv/res_libc.c: Move _res defn magic after res_init defn
so _res macro is in effect for that code.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | resolv/res_libc.c | 44 |
2 files changed, 25 insertions, 22 deletions
@@ -1,5 +1,8 @@ 2002-12-29 Roland McGrath <roland@redhat.com> + * resolv/res_libc.c: Move _res defn magic after res_init defn + so _res macro is in effect for that code. + * Makerules ($(common-objpfx)%.h $(common-objpfx)%.h.d): Fix sed pattern for prepending $(..) so it doesn't affect $(foo). diff --git a/resolv/res_libc.c b/resolv/res_libc.c index 4f67a31..67a3467 100644 --- a/resolv/res_libc.c +++ b/resolv/res_libc.c @@ -20,28 +20,6 @@ #include <arpa/nameser.h> #include <resolv.h> -#undef _res - -#include <tls.h> - -#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. */ -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. */ -# if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING -# include <shlib-compat.h> -compat_symbol (libc, _res, _res, GLIBC_2_0); -# endif -#endif - /* The following bit is copied from res_data.c (where it is #ifdef'ed out) since res_init() should go into libc.so but the rest of that @@ -87,6 +65,28 @@ res_init(void) { return (__res_vinit(&_res, 1)); } +/* This needs to be after the use of _res in res_init, above. */ +#undef _res + +#include <tls.h> + +#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. */ +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. */ +# if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING +# include <shlib-compat.h> +compat_symbol (libc, _res, _res, GLIBC_2_0); +# endif +#endif #include <shlib-compat.h> |