This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi, We define the same VERSYMIDX/VALIDX/ADDRIDX macros all over the places. This patch defines them in include/elf.h and removes the rest. I also enclosed patches for arm and mips. Tested on x86-64 and ia32. OK to install? Thanks. H.J. --- 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 --------- include/elf.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 c277677..f906b16 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2012-09-28 H.J. Lu <hongjiu.lu@intel.com> + + * 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. + * include/elf.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 Siddhesh Poyarekar <siddhesh@redhat.com> [BZ #5298] diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c index fdaa364..2e02a21 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 af7f899..b2ebb16 100644 --- a/elf/dl-version.c +++ b/elf/dl-version.c @@ -28,11 +28,6 @@ #include <assert.h> -#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 10d8f31..272b782 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 e1ec01f..bdf7497 100644 --- a/elf/dynamic-link.h +++ b/elf/dynamic-link.h @@ -88,10 +88,6 @@ elf_machine_lazy_rel (struct link_map *map, #include <dl-machine.h> -#ifndef VERSYMIDX -# define VERSYMIDX(sym) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym)) -#endif - #include "get-dynamic-info.h" #ifdef RESOLVE_MAP diff --git a/elf/rtld.c b/elf/rtld.c index ed0a86b..ed5d062 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/include/elf.h b/include/elf.h index cdedd85..7bda6af 100644 --- a/include/elf.h +++ b/include/elf.h @@ -3,4 +3,10 @@ /* Some information which is not meant for the public and therefore not in <elf.h>. */ # include <dl-dtprocnum.h> + +# 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)) #endif diff --git a/sysdeps/sparc/sparc32/dl-machine.h b/sysdeps/sparc/sparc32/dl-machine.h index 2dfeeb2..04ce785 100644 --- a/sysdeps/sparc/sparc32/dl-machine.h +++ b/sysdeps/sparc/sparc32/dl-machine.h @@ -29,11 +29,6 @@ #include <tls.h> #include <dl-plt.h> -#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 2f8bbe1..dec2fa0 100644 --- a/sysdeps/sparc/sparc64/dl-machine.h +++ b/sysdeps/sparc/sparc64/dl-machine.h @@ -27,11 +27,6 @@ #include <sysdep.h> #include <dl-plt.h> -#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 06ede02..ec75090 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 { -- 1.7.11.4
Attachment:
0001-Remove-arm-ADDRIDX-macro-definition.patch
Description: Text document
Attachment:
0002-Remove-mips-VERSYMIDX-macro-definition.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |