From e1cbf07ac4f8c8525dfadaa19bfb2997a2bfaad9 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 6 May 2019 09:13:53 +0930 Subject: [PATCH] PicoJava weak undefined symbols 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 | 4 ++++ bfd/elf32-pj.c | 1 + ld/ChangeLog | 4 ++++ ld/testsuite/ld-undefined/weak-undef.exp | 1 - 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 09070989ca7..f272ff848db 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2019-05-06 Alan Modra + + * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error. + 2019-05-06 Alan Modra * reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA), diff --git a/bfd/elf32-pj.c b/bfd/elf32-pj.c index 712b352e9df..c97d620c509 100644 --- a/bfd/elf32-pj.c +++ b/bfd/elf32-pj.c @@ -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; diff --git a/ld/ChangeLog b/ld/ChangeLog index d62a2c4d5f0..325392f498f 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,7 @@ +2019-05-06 Alan Modra + + * testsuite/ld-undefined/weak-undef.exp: Don't xfail pj. + 2019-05-04 Alan Modra * testsuite/ld-scripts/fill.d: Don't xfail m32c diff --git a/ld/testsuite/ld-undefined/weak-undef.exp b/ld/testsuite/ld-undefined/weak-undef.exp index 136c5dbcfe7..73b6cf05b46 100644 --- a/ld/testsuite/ld-undefined/weak-undef.exp +++ b/ld/testsuite/ld-undefined/weak-undef.exp @@ -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 -- 2.30.2