]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
arm: Don't check _DYNAMIC in elf_machine_load_address
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 4 Oct 2017 00:45:53 +0000 (17:45 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 4 Oct 2017 00:46:07 +0000 (17:46 -0700)
Since arm can't convert access _DYNAMIC via GOT, which needs dynamic
relocation, to PC-relative at link-time, don't check _DYNAMIC in
elf_machine_load_address.

* sysdeps/arm/dl-machine.h (elf_machine_load_address): Don't
check _DYNAMIC.

ChangeLog
sysdeps/arm/dl-machine.h

index d411313cc876dd5d4545cf9628d8b0b9b306cf9d..b16d4a5d0fb3d25a6ebe60d94dd2d4cc262f4dc4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-10-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/arm/dl-machine.h (elf_machine_load_address): Don't
+       check _DYNAMIC.
+
 2017-10-03  H.J. Lu  <hongjiu.lu@intel.com>
 
        * math/test-math-iscanonical.cc (error): Replace bool with int.
index efe2e1b3a3a0431ef3be571f66dd6b3b3ac5d1e6..7e2d73e3d40c5378e0638108150d1fdd984361dd 100644 (file)
@@ -59,9 +59,6 @@ elf_machine_load_address (void)
   Elf32_Addr got_addr = (Elf32_Addr) &__dl_start;
   asm ("adr %0, _dl_start" : "=r" (pcrel_addr));
 #else
-  extern Elf32_Dyn _DYNAMIC[] __attribute__((weak, visibility ("hidden")));
-  if (!_DYNAMIC)
-    return 0;
   extern Elf32_Addr __dl_relocate_static_pie (void *)
     asm ("_dl_relocate_static_pie") attribute_hidden;
   Elf32_Addr got_addr = (Elf32_Addr) &__dl_relocate_static_pie;