From 7062bd4230a9b94adff4101af9ae6c6a0d53c6e6 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 30 Dec 2014 14:30:37 -0800 Subject: Don't check PI_STATIC_AND_HIDDEN in i386 dl-machine.h PI_STATIC_AND_HIDDEN is always defined for i386. There is no need to check PI_STATIC_AND_HIDDEN in sysdeps/i386/dl-machine.h. [BZ #17775] * sysdeps/i386/dl-machine.h (PI_STATIC_AND_HIDDEN): Removed. (elf_machine_dynamic) [!PI_STATIC_AND_HIDDEN]: Likewise. (elf_machine_load_address) [!PI_STATIC_AND_HIDDEN]: Likewise. --- sysdeps/i386/dl-machine.h | 33 --------------------------------- 1 file changed, 33 deletions(-) (limited to 'sysdeps/i386/dl-machine.h') diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h index 94a6d38..e38fae6 100644 --- a/sysdeps/i386/dl-machine.h +++ b/sysdeps/i386/dl-machine.h @@ -34,8 +34,6 @@ elf_machine_matches_host (const Elf32_Ehdr *ehdr) } -#ifdef PI_STATIC_AND_HIDDEN - /* Return the link-time address of _DYNAMIC. Conveniently, this is the first element of the GOT, a special entry that is never relocated. */ static inline Elf32_Addr __attribute__ ((unused, const)) @@ -59,37 +57,6 @@ elf_machine_load_address (void) return (Elf32_Addr) &bygotoff - elf_machine_dynamic (); } -#else /* Without .hidden support, we can't compile the code above. */ - -/* Return the link-time address of _DYNAMIC. Conveniently, this is the - first element of the GOT. This must be inlined in a function which - uses global data. */ -static inline Elf32_Addr __attribute__ ((unused)) -elf_machine_dynamic (void) -{ - register Elf32_Addr *got asm ("%ebx"); - return *got; -} - - -/* Return the run-time load address of the shared object. */ -static inline Elf32_Addr __attribute__ ((unused)) -elf_machine_load_address (void) -{ - /* It doesn't matter what variable this is, the reference never makes - it to assembly. We need a dummy reference to some global variable - via the GOT to make sure the compiler initialized %ebx in time. */ - extern int _dl_argc; - Elf32_Addr addr; - asm ("leal _dl_start@GOTOFF(%%ebx), %0\n" - "subl _dl_start@GOT(%%ebx), %0" - : "=r" (addr) : "m" (_dl_argc) : "cc"); - return addr; -} - -#endif - - /* Set up the loaded object described by L so its unrelocated PLT entries will jump to the on-demand fixup code in dl-runtime.c. */ -- cgit v1.1