[binutils-gdb] ld: testsuite: Relax libgot-1-i386 test for Solaris [PR33350]
Rainer Orth
ro@sourceware.org
Sat Jan 24 07:09:37 GMT 2026
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=81ddb6d5283923ffc5ec8d150177365b099bdf0d
commit 81ddb6d5283923ffc5ec8d150177365b099bdf0d
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date: Sat Jan 24 08:08:48 2026 +0100
ld: testsuite: Relax libgot-1-i386 test for Solaris [PR33350]
When running the ld testsuite with -melf_i386_sol2 instead of -melf_i386
on Solaris, one test regresses:
FAIL: Build libgot-1-i386.so
The issue is that one line in the --got-contents output differs
unexpectedly:
Global Offset Table '.got.plt' contains 4 entries:
Index: Address Reloc Sym. Name + Addend/Value
- 0: 00200200 20016c
- 1: 00200204 0
- 2: 00200208 0
- 3: 0020020c R_386_JUMP_SLOT bar + 156
+ 0: 00200270 2001dc
+ 1: 00200274 0
+ 2: 00200278 0
+ 3: 0020027c R_386_JUMP_SLOT bar + 1c6
While ld-i386/libgot-1.rd already allows for differences in the
addresses, the addend is assumed to be fixed. However, this is not the
case with -melf_i386_sol2. The difference is that .hash, .dynsym, and
.symtab have additional entries as required by the Solaris ABI:
* In .dynsym and .symtab, _DYNAMIC, _GLOBAL_OFFSET_TABLE_, and
_PROCEDURE_LINKAGE_TABLE_ are added.
* .symtab also gains _END_ and _START_.
This explains the differences in addresses and addends, but they are
completely benign.
This patch thus allows for arbitrary addends.
Tested on {i386,amd64}-pc-solaris2.11 with both -melf_i386_sol2 and
-melf_i386, and {i686,x86_64}-pc-linux-gnu.
2026-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
ld:
PR ld/33350
* testsuite/ld-i386/libgot-1.rd: Allow for different
R_386_JUMP_SLOT addends.
Diff:
---
ld/testsuite/ld-i386/libgot-1.rd | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ld/testsuite/ld-i386/libgot-1.rd b/ld/testsuite/ld-i386/libgot-1.rd
index 6ff3d7d7b60..ec8481d8bea 100644
--- a/ld/testsuite/ld-i386/libgot-1.rd
+++ b/ld/testsuite/ld-i386/libgot-1.rd
@@ -15,4 +15,4 @@ Global Offset Table '\.got\.plt' contains 4 entries:
.* +[^0][0-9a-f]+
.* +0
.* +0
-.* R_386_JUMP_SLOT +bar \+ 156
+.* R_386_JUMP_SLOT +bar \+ [0-9a-f]+
More information about the Binutils-cvs
mailing list