summaryrefslogtreecommitdiff
path: root/libgcc/configure
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2020-04-12 23:53:32 -0700
committerMax Filippov <jcmvbkbc@gmail.com>2020-06-15 03:35:50 -0700
commit8c8eb94914c1afcac014e33def43ce329dfa314e (patch)
tree247b0573a9dc63fa160111995e68501bc19b9986 /libgcc/configure
parentf50c32fa7ab4d3bb8b8091c6d38186799b81093b (diff)
gcc: xtensa: add -mabi option for call0/windowed ABI
2020-06-15 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config/xtensa/elf.h (ASM_SPEC, LINK_SPEC): Pass ABI switch to assembler/linker. * config/xtensa/linux.h (ASM_SPEC, LINK_SPEC): Ditto. * config/xtensa/uclinux.h (ASM_SPEC, LINK_SPEC): Ditto. * config/xtensa/xtensa.c (xtensa_option_override): Initialize xtensa_windowed_abi if needed. * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI_DEFAULT): New macro. (TARGET_WINDOWED_ABI): Redefine to xtensa_windowed_abi. * config/xtensa/xtensa.opt (xtensa_windowed_abi): New target option variable. (mabi=call0, mabi=windowed): New options. * doc/invoke.texi: Document new -mabi= Xtensa-specific options. gcc/testsuite/ * gcc.target/xtensa/mabi-call0.c: New test. * gcc.target/xtensa/mabi-windowed.c: New test. libgcc/ * configure: Regenerate. * configure.ac: Use AC_COMPILE_IFELSE instead of manual preprocessor invocation to check for __XTENSA_CALL0_ABI__.
Diffstat (limited to 'libgcc/configure')
-rwxr-xr-xlibgcc/configure24
1 files changed, 11 insertions, 13 deletions
diff --git a/libgcc/configure b/libgcc/configure
index 13548cacb85..284e4db0cdd 100755
--- a/libgcc/configure
+++ b/libgcc/configure
@@ -5330,19 +5330,17 @@ esac
# This is after config.host so we can augment tmake_file.
case ${host} in
xtensa*-*)
- cat > conftest.c <<EOF
- #ifdef __XTENSA_CALL0_ABI__
- #error
- #endif
-EOF
- if { ac_try='${CC-cc} -E -o conftest.i conftest.c 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- tmake_file="${tmake_file} xtensa/t-windowed"
- fi
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __XTENSA_CALL0_ABI__
+ #error
+ #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ tmake_file="${tmake_file} xtensa/t-windowed"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
;;
esac