Define VERSYMIDX/VALIDX/ADDRIDX in ldsodefs.h

This commit is contained in:
H.J. Lu 2012-09-28 11:30:57 -07:00
parent 25f5f885c6
commit 9bac1d8624
10 changed files with 22 additions and 46 deletions

View File

@ -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.
* 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 <toscano.pino@tiscali.it>
* sysdeps/pthread/aio_fsync.c: Fix the file mode checking.

View File

@ -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

View File

@ -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 }; \

View File

@ -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

View File

@ -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
/* Read the dynamic section at DYN and fill in INFO with indices DT_*. */
#ifndef RESOLVE_MAP

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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
{