x86_64 and other targets finish_dynamic_symbol

Alan Modra amodra@gmail.com
Thu Feb 15 10:59:51 GMT 2024
On Thu, Feb 15, 2024 at 07:14:00PM +1030, Alan Modra wrote:
> On Thu, Feb 15, 2024 at 11:56:49AM +1030, Alan Modra wrote:
> > On Tue, Feb 13, 2024 at 04:03:52PM -0800, H.J. Lu wrote:
> > > On Tue, Feb 13, 2024 at 3:53 PM Alan Modra <amodra@gmail.com> wrote:
> > > > I propose changing all occurrences of "return false" in
> > > > finish_dynamic_symbol functions where targets don't first emit an
> > > > error message, to BFD_ASSERTs.  Opinions?
> > > 
> > > Sounds good to me.
> > 
> > This is what I'm about to apply.
> 
> I didn't examine ld testsuite logs properly after cf95b909e2c2.
> Replacing one of the "return false" with BFD_ASSERT in
> finish_dynamic_symbol was wrong as it causes segmentation faults on
> testcases expected to fail.  Revert those changes and instead make
> a bfd_final_link failure noisy.

And this.

Making a bfd_final_link failure noisy requires testsuite changes.

diff --git a/ld/testsuite/ld-arm/non-contiguous-arm7.err b/ld/testsuite/ld-arm/non-contiguous-arm7.err
index 3185ef58ffc..7b3a3d8c3c9 100644
--- a/ld/testsuite/ld-arm/non-contiguous-arm7.err
+++ b/ld/testsuite/ld-arm/non-contiguous-arm7.err
@@ -2,3 +2,4 @@
 .* may change behaviour for section .?\.bss\.MY_BUF.? from .*
 .* discards section .?\.bss\.MY_BUF.? from .*
 .* unresolvable R_ARM_ABS32 relocation against symbol .?MY_BUF.?
+.* final link failed
diff --git a/ld/testsuite/ld-mips-elf/n64-plt-2.ed b/ld/testsuite/ld-mips-elf/n64-plt-2.ed
index 4a42ec1e341..effdb1b522a 100644
--- a/ld/testsuite/ld-mips-elf/n64-plt-2.ed
+++ b/ld/testsuite/ld-mips-elf/n64-plt-2.ed
@@ -1 +1,2 @@
 [^\n]*: `\.got\.plt' entry VMA of 0x7fff8000 outside the 32-bit range supported; consider using `-Ttext-segment=\.\.\.'
+.* final link failed
diff --git a/ld/testsuite/ld-mips-elf/n64-plt-3.ed b/ld/testsuite/ld-mips-elf/n64-plt-3.ed
index 29a346b274d..400d91871a8 100644
--- a/ld/testsuite/ld-mips-elf/n64-plt-3.ed
+++ b/ld/testsuite/ld-mips-elf/n64-plt-3.ed
@@ -1 +1,2 @@
 [^\n]*: `\.got\.plt' start VMA of 0xffffffff7fff7ff0 outside the 32-bit range supported; consider using `-Ttext-segment=\.\.\.'
+.* final link failed

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list