https://sourceware.org/bugzilla/show_bug.cgi?id=33350
--- Comment #4 from Sourceware Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Rainer Orth <[email protected]>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=81ddb6d5283923ffc5ec8d150177365b099bdf0d commit 81ddb6d5283923ffc5ec8d150177365b099bdf0d Author: Rainer Orth <[email protected]> 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 <[email protected]> ld: PR ld/33350 * testsuite/ld-i386/libgot-1.rd: Allow for different R_386_JUMP_SLOT addends. -- You are receiving this mail because: You are on the CC list for the bug.
