]> git.ipfire.org Git - thirdparty/gcc.git/commit
Remove HAVE_AS_SPARC_GOTDATA_OP
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Sat, 14 Feb 2026 15:21:23 +0000 (16:21 +0100)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Sat, 14 Feb 2026 15:21:23 +0000 (16:21 +0100)
commitd37f4b2a1acda7c9ee93ad370ece5292ee051b7a
tree7baf2d273c7a2e9c8a14f8cf4f84734573b8c7d1
parent8a9490979b97d6ce3498fde891b04597a48925ed
Remove HAVE_AS_SPARC_GOTDATA_OP

Since the introduction of gcc_cv_as_flags on SPARC,
HAVE_AS_SPARC_GOTDATA_OP became undefined on sparcv9-sun-solaris2.11
with the native assembler.  This happens because /bin/as is now invoked
with -m64, but the test fails to assemble:

/bin/as: "gotdata_op.s", line 8: error: detect global register use not covered .register pseudo-op

While the test can be adjusted by the addition of

.register %g2, #scratch

which makes it work with both as -m32/-m64 and gas --32/--64, it
turns out the whole workaround has become unnecessary:

When trying all combinations of as/ld with -m32/-m64, with both the
original Solaris 11.4 as/ld and the current one, as well as gas/gld
2.20.1, 2.30, and 2.46, the only cases where the test fails are when
using gld 2.20.1.  Solaris/SPARC requires binutils 2.30 now, and 2.20.1
can be considered ancient history on Linux/sparc64, too.  Therefore the
test and the code guarded by it can just go.

Bootstrapped without regressions on sparc{,v9}-sun-solaris2.11 and
sparc64-unknown-linux-gnu.

2026-02-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

gcc:
* configure.ac <sparc*-*-*> (gcc_cv_as_sparc_gotdata_op): Remove.
* configure: Regenerate.
* config.in: Regenerate.
* config/sparc/sparc.md [!HAVE_AS_SPARC_GOTDATA_OP]: Remove.
gcc/config.in
gcc/config/sparc/sparc.md
gcc/configure
gcc/configure.ac