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

Reply via email to