From 9bac1d8624d3c628b473e20823fb5a154896714c Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 28 Sep 2012 11:30:57 -0700 Subject: [PATCH] Define VERSYMIDX/VALIDX/ADDRIDX in ldsodefs.h --- ChangeLog | 16 ++++++++++++++++ elf/dl-runtime.c | 4 ---- elf/dl-version.c | 5 ----- elf/do-rel.h | 8 -------- elf/dynamic-link.h | 4 ---- elf/rtld.c | 9 --------- sysdeps/generic/ldsodefs.h | 6 ++++++ sysdeps/sparc/sparc32/dl-machine.h | 5 ----- sysdeps/sparc/sparc64/dl-machine.h | 5 ----- sysdeps/x86_64/dl-tlsdesc.h | 6 ------ 10 files changed, 22 insertions(+), 46 deletions(-) diff --git a/ChangeLog b/ChangeLog index 16e37d12fa..4374c71f22 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2012-09-28 H.J. Lu + + * elf/dl-runtime.c (VERSYMIDX): Removed. + * elf/dl-version.c (VERSYMIDX): Likewise. + * elf/do-rel.h (VERSYMIDX): Likewise. + (VALIDX): Likewise. + * elf/dynamic-link.h (VERSYMIDX): Likewise. + * elf/rtld.c (VALIDX): Likewise. + (ADDRIDX): Likewise. + * sysdeps/generic/ldsodefs.h (VERSYMIDX): New macro. + (VALIDX): Likewise. + (ADDRIDX): Likewise. + * sysdeps/sparc/sparc32/dl-machine.h (VALIDX): Likewise. + * sysdeps/sparc/sparc64/dl-machine.h (VALIDX): Likewise. + * sysdeps/x86_64/dl-tlsdesc.h (ADDRIDX): Likewise. + 2012-09-28 Pino Toscano * sysdeps/pthread/aio_fsync.c: Fix the file mode checking. diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c index fdaa364c64..2e02a218e6 100644 --- a/elf/dl-runtime.c +++ b/elf/dl-runtime.c @@ -36,10 +36,6 @@ # define PLTREL ElfW(Rel) #endif -#ifndef VERSYMIDX -# define VERSYMIDX(sym) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym)) -#endif - /* The fixup functions might have need special attributes. If none are provided define the macro as empty. */ #ifndef ARCH_FIXUP_ATTRIBUTE diff --git a/elf/dl-version.c b/elf/dl-version.c index af7f89960d..b2ebb16512 100644 --- a/elf/dl-version.c +++ b/elf/dl-version.c @@ -28,11 +28,6 @@ #include -#ifndef VERSYMIDX -# define VERSYMIDX(tag) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (tag)) -#endif - - #define make_string(string, rest...) \ ({ \ const char *all[] = { string, ## rest }; \ diff --git a/elf/do-rel.h b/elf/do-rel.h index 10d8f31c4e..272b7821dd 100644 --- a/elf/do-rel.h +++ b/elf/do-rel.h @@ -32,14 +32,6 @@ (void *) (l_addr + relative->r_offset)) #endif -#ifndef VERSYMIDX -# define VERSYMIDX(sym) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym)) -#endif -#ifndef VALIDX -# define VALIDX(tag) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM \ - + DT_EXTRANUM + DT_VALTAGIDX (tag)) -#endif - /* Perform the relocations in MAP on the running program image as specified by RELTAG, SZTAG. If LAZY is nonzero, this is the first pass on PLT relocations; they should be set up to call _dl_runtime_resolve, rather diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h index 44f53b3c70..d982c52ed3 100644 --- a/elf/dynamic-link.h +++ b/elf/dynamic-link.h @@ -88,10 +88,6 @@ elf_machine_lazy_rel (struct link_map *map, #include -#ifndef VERSYMIDX -# define VERSYMIDX(sym) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym)) -#endif - /* Read the dynamic section at DYN and fill in INFO with indices DT_*. */ #ifndef RESOLVE_MAP diff --git a/elf/rtld.c b/elf/rtld.c index ed0a86bb3d..ed5d06298e 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -254,15 +254,6 @@ RTLD_START # error "sysdeps/MACHINE/dl-machine.h fails to define RTLD_START" #endif -#ifndef VALIDX -# define VALIDX(tag) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM \ - + DT_EXTRANUM + DT_VALTAGIDX (tag)) -#endif -#ifndef ADDRIDX -# define ADDRIDX(tag) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM \ - + DT_EXTRANUM + DT_VALNUM + DT_ADDRTAGIDX (tag)) -#endif - /* This is the second half of _dl_start (below). It can be inlined safely under DONT_USE_BOOTSTRAP_MAP, where it is careful not to make any GOT references. When the tools don't permit us to avoid using a GOT entry diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 72048eab7f..c667e34244 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -41,6 +41,12 @@ __BEGIN_DECLS +#define VERSYMIDX(sym) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym)) +#define VALIDX(tag) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM \ + + DT_EXTRANUM + DT_VALTAGIDX (tag)) +#define ADDRIDX(tag) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM \ + + DT_EXTRANUM + DT_VALNUM + DT_ADDRTAGIDX (tag)) + /* We use this macro to refer to ELF types independent of the native wordsize. `ElfW(TYPE)' is used in place of `Elf32_TYPE' or `Elf64_TYPE'. */ #define ELFW(type) _ElfW (ELF, __ELF_NATIVE_CLASS, type) diff --git a/sysdeps/sparc/sparc32/dl-machine.h b/sysdeps/sparc/sparc32/dl-machine.h index 2dfeeb27a3..04ce7854a1 100644 --- a/sysdeps/sparc/sparc32/dl-machine.h +++ b/sysdeps/sparc/sparc32/dl-machine.h @@ -29,11 +29,6 @@ #include #include -#ifndef VALIDX -# define VALIDX(tag) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM \ - + DT_EXTRANUM + DT_VALTAGIDX (tag)) -#endif - /* Return nonzero iff ELF header is compatible with the running host. */ static inline int elf_machine_matches_host (const Elf32_Ehdr *ehdr) diff --git a/sysdeps/sparc/sparc64/dl-machine.h b/sysdeps/sparc/sparc64/dl-machine.h index 2f8bbe1786..dec2fa0808 100644 --- a/sysdeps/sparc/sparc64/dl-machine.h +++ b/sysdeps/sparc/sparc64/dl-machine.h @@ -27,11 +27,6 @@ #include #include -#ifndef VALIDX -# define VALIDX(tag) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM \ - + DT_EXTRANUM + DT_VALTAGIDX (tag)) -#endif - #define ELF64_R_TYPE_ID(info) ((info) & 0xff) #define ELF64_R_TYPE_DATA(info) ((info) >> 8) diff --git a/sysdeps/x86_64/dl-tlsdesc.h b/sysdeps/x86_64/dl-tlsdesc.h index 06ede02148..ec750904fc 100644 --- a/sysdeps/x86_64/dl-tlsdesc.h +++ b/sysdeps/x86_64/dl-tlsdesc.h @@ -20,12 +20,6 @@ #ifndef _X86_64_DL_TLSDESC_H # define _X86_64_DL_TLSDESC_H 1 -/* Use this to access DT_TLSDESC_PLT and DT_TLSDESC_GOT. */ -#ifndef ADDRIDX -# define ADDRIDX(tag) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM \ - + DT_EXTRANUM + DT_VALNUM + DT_ADDRTAGIDX (tag)) -#endif - /* Type used to represent a TLS descriptor in the GOT. */ struct tlsdesc { -- 2.43.5