https://sourceware.org/bugzilla/show_bug.cgi?id=19520
--- Comment #17 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=70abf8984bdea3b67cf64bdceb94c2055bb8f4d7 commit 70abf8984bdea3b67cf64bdceb94c2055bb8f4d7 Author: Rainer Orth <[email protected]> Date: Thu Nov 6 17:18:16 2025 +0100 gas: Default to -mrelax-relocations=no on Solaris/x86 [PR19520] I recently noticed a complex case statement in gas/configure.ac controlling the setting of ac_default_x86_relax_relocations on Solaris/x86. Since it included all versions of Solaris, it could be massively simplified. Looking closer however, I found that it was introduced in commit 0cb4071ef9e10f703220f5e731141bf438aca16e Author: H.J. Lu <[email protected]> Date: Wed Feb 3 08:25:15 2016 -0800 Add -mrelax-relocations= to x86 assembler based on PR gas/19520. This PR reported that the new R_386_GOT32X etc. relocations weren't supported on older versions of Solaris, breaking gcc bootstrap. In response, they were disabled on all Solaris versions except Solaris 12, where they had been implemented in the native toolchain based on my findings. However, Solaris 12 has been rechristened to 11.4 before release, effectively disabling DEFAULT_GENERATE_X86_RELAX_RELOCATIONS on all versions of Solaris/x86. Since Solaris 11.4 cannot be distinguished from earlier versions in cross configurations, this patch fixes this by removing --enable-x86-relax-relocations completely, instead disabling DEFAULT_GENERATE_X86_RELAX_RELOCATIONS in tc-i386.c on Solaris. It also adds testcases to verify the -mrelax-relocations default. Tested on {i386,amd64}-pc-solaris2.11 and {i686,x86_64}-pc-linux-gnu. 2025-10-16 Rainer Orth <[email protected]> gas: PR gas/19520 * configure.ac (ac_default_x86_relax_relocations): Remove. <i386-*-solaris2* | x86_64-*-solaris2>: Likewise. * configure: Regenerate. * config.in: Regenerate. * config/tc-i386.c (DEFAULT_GENERATE_X86_RELAX_RELOCATIONS): Define. * doc/c-i386.texi (i386-Options, -mrelax-relocations): Remove --enable-x86-relax-relocations reference. * testsuite/gas/i386/gotx.s: New source. * testsuite/gas/i386/gotx-default.d: New test. * testsuite/gas/i386/no-gotx-default.d: Likewise. * testsuite/gas/i386/i386.exp: Run them. -- You are receiving this mail because: You are on the CC list for the bug.
