aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/mips/dl-machine.h5
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 728df95d05..efd567ce34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2017-09-29 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/mips/dl-machine.h (elf_machine_dynamic): Return 0 if
+ _DYNAMIC is undefined for static executable.
+
+2017-09-29 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/arm/start.S (_start): Check PIC instead of SHARED.
2017-09-29 Joseph Myers <joseph@codesourcery.com>
diff --git a/sysdeps/mips/dl-machine.h b/sysdeps/mips/dl-machine.h
index 74ead7f524..8e9f6858cd 100644
--- a/sysdeps/mips/dl-machine.h
+++ b/sysdeps/mips/dl-machine.h
@@ -147,6 +147,11 @@ elf_machine_dynamic (void)
static inline ElfW(Addr)
elf_machine_load_address (void)
{
+#ifndef SHARED
+ extern ElfW(Dyn) _DYNAMIC[] __attribute__((weak, visibility ("hidden")));
+ if (!_DYNAMIC)
+ return 0;
+#endif
ElfW(Addr) addr;
#ifndef __mips16
asm (" .set noreorder\n"