about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-03 17:45:53 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-03 17:46:07 -0700
commitc34a19ed4b0bcf91ff9671b733f8cfffa111e7f6 (patch)
tree84693e54c61a3653c5c4a52f56d26265388c6b55
parentcdd4155d6c527c00a89606385859984e35bd2910 (diff)
downloadglibc-c34a19ed4b0bcf91ff9671b733f8cfffa111e7f6.tar.gz
glibc-c34a19ed4b0bcf91ff9671b733f8cfffa111e7f6.tar.xz
glibc-c34a19ed4b0bcf91ff9671b733f8cfffa111e7f6.zip
arm: Don't check _DYNAMIC in elf_machine_load_address
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.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/arm/dl-machine.h3
2 files changed, 5 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index d411313cc8..b16d4a5d0f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 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.
 
 2017-10-03  Joseph Myers  <joseph@codesourcery.com>
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
index efe2e1b3a3..7e2d73e3d4 100644
--- a/sysdeps/arm/dl-machine.h
+++ b/sysdeps/arm/dl-machine.h
@@ -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;