mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-07 06:43:00 +03:00
* resolv/res_libc.c: Move _res defn magic after res_init defn
so _res macro is in effect for that code.
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
2002-12-29 Roland McGrath <roland@redhat.com>
|
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
|
* Makerules ($(common-objpfx)%.h $(common-objpfx)%.h.d): Fix sed
|
||||||
pattern for prepending $(..) so it doesn't affect $(foo).
|
pattern for prepending $(..) so it doesn't affect $(foo).
|
||||||
|
|
||||||
|
@@ -20,28 +20,6 @@
|
|||||||
#include <arpa/nameser.h>
|
#include <arpa/nameser.h>
|
||||||
#include <resolv.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
|
/* 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
|
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));
|
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>
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user