From: Marcus Shawcroft Date: Fri, 28 Jun 2013 10:27:26 +0000 (+0100) Subject: [AArch64] Adjust elf_machine_dynamic to find _DYNAMIC via _GLOBAL_OFFSET_TABLE_ X-Git-Tag: glibc-2.18~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed0257f7d3378ec4a72e297f0dcba5159f2dd138;p=thirdparty%2Fglibc.git [AArch64] Adjust elf_machine_dynamic to find _DYNAMIC via _GLOBAL_OFFSET_TABLE_ --- diff --git a/ports/ChangeLog.aarch64 b/ports/ChangeLog.aarch64 index 25424bbc82d..25276218e16 100644 --- a/ports/ChangeLog.aarch64 +++ b/ports/ChangeLog.aarch64 @@ -1,3 +1,8 @@ +2013-06-28 Marcus Shawcroft + + * sysdeps/aarch64/dl-machine.h (elf_machine_dynamic): De-reference + _GLOBAL_OFFSET_TABLE_. + 2013-06-28 Marcus Shawcroft * sysdeps/unix/sysv/linux/aarch64/getcontext.S (__getcontext): Simplify diff --git a/ports/sysdeps/aarch64/dl-machine.h b/ports/sysdeps/aarch64/dl-machine.h index c91b0c42e02..71dd6b3894c 100644 --- a/ports/sysdeps/aarch64/dl-machine.h +++ b/ports/sysdeps/aarch64/dl-machine.h @@ -36,8 +36,8 @@ elf_machine_matches_host (const ElfW(Ehdr) *ehdr) static inline ElfW(Addr) __attribute__ ((unused)) elf_machine_dynamic (void) { - ElfW(Addr) addr = (ElfW(Addr)) &_DYNAMIC; - return addr; + extern const ElfW(Addr) _GLOBAL_OFFSET_TABLE_[] attribute_hidden; + return _GLOBAL_OFFSET_TABLE_[0]; } /* Return the run-time load address of the shared object. */