Hi Alex,
>> ... so I recommend going ahead with the more conservative changes at
>> this point.
>
> Right: I'll use gas/gld options unless we can determine they won't work
> (Solaris and Darwin native tools). I've updated my patch and comments
> accordingly, will run another round of checks and bootstraps, and
> re-post/commit afterwards.
this is what I've committed.
Rainer
---------------------------------------------------------------------------
The GNU as --32 and --64 options are now applied to all x86 and SPARC
systems other than Darwin and Solaris with the native assembler.
Tested on {i386,amd64}-pc-solaris2.11, sparc{,v9}-sun-solaris2.11,
{x86_64,i686}-pc-linux-gnu, amd64-pc-freebsd15.0, and
sparc64-unknown-linux-gnu.
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
2026-01-28 Rainer Orth <[email protected]>
gcc:
PR other/123841
PR target/123926
* acinclude.m4 (gcc_GAS_FLAGS): Handle non-Darwin/Solaris as cases
alike on x86 and SPARC.
* configure: Regenerate.
# HG changeset patch
# Parent 7d781f3204a230b02bc732c13f01908545507d9e
build: Don't use gas options with Darwin/x86 as [PR123841]
diff --git a/gcc/acinclude.m4 b/gcc/acinclude.m4
--- a/gcc/acinclude.m4
+++ b/gcc/acinclude.m4
@@ -493,7 +493,7 @@ AC_DEFUN([gcc_GAS_FLAGS],
esac
;;
*-*-solaris2*:no)
- dnl Override the default, which may be incompatible.
+ dnl Solaris with the native assembler uses -m32/-m64 consistently.
case "$target" in
i?86-*-* | sparc-*-*)
gcc_cv_as_flags=-m32
@@ -505,16 +505,16 @@ AC_DEFUN([gcc_GAS_FLAGS],
as_32_opt=-m32
as_64_opt=-m64
;;
- i?86-*-*:* | x86_64-*-*:* )
- dnl Override the default, which may be incompatible.
+ i?86-*-*:* | x86_64-*-*:* | sparc*-*-*:*)
+ dnl Otherwise x86 and SPARC use GNU assembler options --32/--64/--x32.
case "$target" in
- i?86-*-*)
+ i?86-*-* | sparc-*-*)
gcc_cv_as_flags=--32
;;
x86_64-*-linux-gnux32*)
gcc_cv_as_flags=--x32
;;
- x86_64-*-linux*)
+ x86_64-*-* | sparcv9-*-* | sparc64-*-*)
gcc_cv_as_flags=--64
;;
esac
diff --git a/gcc/configure b/gcc/configure
--- a/gcc/configure
+++ b/gcc/configure
@@ -26188,15 +26188,15 @@ else
as_32_opt=-m32
as_64_opt=-m64
;;
- i?86-*-*:* | x86_64-*-*:* )
+ i?86-*-*:* | x86_64-*-*:* | sparc*-*-*:*)
case "$target" in
- i?86-*-*)
+ i?86-*-* | sparc-*-*)
gcc_cv_as_flags=--32
;;
x86_64-*-linux-gnux32*)
gcc_cv_as_flags=--x32
;;
- x86_64-*-linux*)
+ x86_64-*-* | sparcv9-*-* | sparc64-*-*)
gcc_cv_as_flags=--64
;;
esac