PicoJava weak undefined symbols
authorAlan Modra <amodra@gmail.com>
Sun, 5 May 2019 23:43:53 +0000 (09:13 +0930)
committerAlan Modra <amodra@gmail.com>
Mon, 6 May 2019 02:11:28 +0000 (11:41 +0930)
This fixes the recently added ld-elf/pr24511 test failure on pj-elf.
Incidentally, pj-elf has failed its gas "pj" test since 2005-12-22
(git commit 54758c3e39).  I think that makes the target ripe for
obsolescence.

bfd/
* elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
ld/
* testsuite/ld-undefined/weak-undef.exp: Don't xfail pj.

bfd/ChangeLog
bfd/elf32-pj.c
ld/ChangeLog
ld/testsuite/ld-undefined/weak-undef.exp

index 0907098..f272ff8 100644 (file)
@@ -1,5 +1,9 @@
 2019-05-06  Alan Modra  <amodra@gmail.com>
 
+       * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
+
+2019-05-06  Alan Modra  <amodra@gmail.com>
+
        * reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
        (BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
        Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
index 712b352..c97d620 100644 (file)
@@ -54,6 +54,7 @@ pj_elf_reloc (bfd *abfd,
     }
 
   if (symbol_in != NULL
+      && (symbol_in->flags & BSF_WEAK) == 0
       && bfd_is_und_section (symbol_in->section))
     return bfd_reloc_undefined;
 
index d62a2c4..325392f 100644 (file)
@@ -1,3 +1,7 @@
+2019-05-06  Alan Modra  <amodra@gmail.com>
+
+       * testsuite/ld-undefined/weak-undef.exp: Don't xfail pj.
+
 2019-05-04  Alan Modra  <amodra@gmail.com>
 
        * testsuite/ld-scripts/fill.d: Don't xfail m32c
index 136c5db..73b6cf0 100644 (file)
@@ -35,7 +35,6 @@ if { ![is_elf_format] && ![is_pecoff_format] } then {
     if {! [istarget i?86-*-*]} {
        setup_xfail *-*-pe*
     }
-    setup_xfail pj-*-*
     fail $testname
 } elseif {![is_remote host] && [which $objdump] == 0} then {
     unresolved $testname