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 09070989ca7445a5ee628308c345f65a6ad345a8..f272ff848db027455365ecf43eece6f3f8afb107 100644 (file)
@@ -1,3 +1,7 @@
+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),
index 712b352e9df3b13c45ff0ce307cfe7daf41cf8e2..c97d620c5098ba46d9bbbe9cd6fc4dac0308c60a 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 d62a2c4d5f018c8d1387d70120cebd46cf9f33b2..325392f498fe3d911329871987efa8e1f038b3af 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 136c5dbcfe7f8b2d82d352edd127cbe121a8c2a0..73b6cf05b469a67392198a5ad511fbe861cc9f78 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