aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog7
-rw-r--r--ld/emultempl/elf32.em7
2 files changed, 14 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 0ae8134..1331a7b 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,12 @@
2017-10-12 Alan Modra <amodra@gmail.com>
+ PR 22269
+ * emultempl/elf32.em (after_parse): Warn on --no-dynamic-linker
+ -z dynamic-undefined-weak combination. Set dynamic_undefined_weak
+ to zero when nointerp.
+
+2017-10-12 Alan Modra <amodra@gmail.com>
+
* emultempl/elf32.em (before_allocation): Call
elf_backend_hide_symbol, not _bfd_elf_link_hash_hide_symbol.
Formatting.
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index e6cf968..8737376 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -120,6 +120,13 @@ gld${EMULATION_NAME}_after_parse (void)
if (bfd_link_pie (&link_info))
link_info.flags_1 |= (bfd_vma) DF_1_PIE;
+ if (bfd_link_executable (&link_info)
+ && link_info.nointerp)
+ {
+ if (link_info.dynamic_undefined_weak > 0)
+ einfo (_("%P: warning: -z dynamic-undefined-weak ignored\n"));
+ link_info.dynamic_undefined_weak = 0;
+ }
after_parse_default ();
}