AC_DEFUN([gcc_GAS_FLAGS],
[AC_CACHE_CHECK([assembler flags], gcc_cv_as_flags,
[ case "$target:$gas_flag" in
+ *-*-darwin*:*)
+ dnl Darwin with the native assembler uses -arch i386/x86_64/ppc/ppc64.
+ dnl
+ dnl Old cctools versions of the Darwin assembler identify as "GNU
+ dnl assembler version 1.38", but still accept the same options as later
+ dnl clang-based ones, so treat them all the same regardless.
+ case "$target" in
+ i?86-*-*)
+ gcc_cv_as_flags="-arch i386"
+ ;;
+ powerpc64*-*-*)
+ gcc_cv_as_flags="-arch ppc64"
+ ;;
+ powerpc*-*-*)
+ gcc_cv_as_flags="-arch ppc"
+ ;;
+ x86_64-*-*)
+ gcc_cv_as_flags="-arch x86_64"
+ ;;
+ esac
+ case "$target" in
+ i?86-*-* | x86_64-*-*)
+ as_32_opt="-arch i386"
+ as_64_opt="-arch x86_64"
+ ;;
+ esac
+ ;;
*-*-solaris2*:no)
dnl Override the default, which may be incompatible.
case "$target" in
as_32_opt=--32
as_64_opt=--64
;;
- powerpc*-*-darwin*:*)
- dnl Always pass -arch ppc to assembler.
- gcc_cv_as_flags="-arch ppc"
- ;;
amdgcn*:*)
dnl Currently, only the llvm-mc assembler is supported.
dnl Add flags to ensure an amdgcn ELF file is written.
$as_echo_n "(cached) " >&6
else
case "$target:$gas_flag" in
+ *-*-darwin*:*)
+ case "$target" in
+ i?86-*-*)
+ gcc_cv_as_flags="-arch i386"
+ ;;
+ powerpc64*-*-*)
+ gcc_cv_as_flags="-arch ppc64"
+ ;;
+ powerpc*-*-*)
+ gcc_cv_as_flags="-arch ppc"
+ ;;
+ x86_64-*-*)
+ gcc_cv_as_flags="-arch x86_64"
+ ;;
+ esac
+ case "$target" in
+ i?86-*-* | x86_64-*-*)
+ as_32_opt="-arch i386"
+ as_64_opt="-arch x86_64"
+ ;;
+ esac
+ ;;
*-*-solaris2*:no)
case "$target" in
i?86-*-* | sparc-*-*)
as_32_opt=--32
as_64_opt=--64
;;
- powerpc*-*-darwin*:*)
- gcc_cv_as_flags="-arch ppc"
- ;;
amdgcn*:*)
gcc_cv_as_flags="--filetype=obj -triple=amdgcn--amdhsa"
;;