gcc: xtensa: add -mabi option for call0/windowed ABI
authorMax Filippov <jcmvbkbc@gmail.com>
Mon, 13 Apr 2020 06:53:32 +0000 (23:53 -0700)
committerMax Filippov <jcmvbkbc@gmail.com>
Mon, 15 Jun 2020 10:35:50 +0000 (03:35 -0700)
commit8c8eb94914c1afcac014e33def43ce329dfa314e
tree247b0573a9dc63fa160111995e68501bc19b9986
parentf50c32fa7ab4d3bb8b8091c6d38186799b81093b
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__.
gcc/config/xtensa/elf.h
gcc/config/xtensa/linux.h
gcc/config/xtensa/uclinux.h
gcc/config/xtensa/xtensa.c
gcc/config/xtensa/xtensa.h
gcc/config/xtensa/xtensa.opt
gcc/doc/invoke.texi
gcc/testsuite/gcc.target/xtensa/mabi-call0.c [new file with mode: 0644]
gcc/testsuite/gcc.target/xtensa/mabi-windowed.c [new file with mode: 0644]
libgcc/configure
libgcc/configure.ac