diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2020-05-10 08:03:08 -0700 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2020-06-15 13:01:30 -0700 |
commit | 7a77f1ac2c6f899faa39e8c0b42d4284d586c44e (patch) | |
tree | a62d6ddd84a685332322b873f7b2cd4facdc3601 /include/elf | |
parent | cae64165f47b64898c4f1982d294862cfae89a47 (diff) | |
download | gdb-7a77f1ac2c6f899faa39e8c0b42d4284d586c44e.zip gdb-7a77f1ac2c6f899faa39e8c0b42d4284d586c44e.tar.gz gdb-7a77f1ac2c6f899faa39e8c0b42d4284d586c44e.tar.bz2 |
xtensa: allow runtime ABI selection
2020-06-15 Max Filippov <jcmvbkbc@gmail.com>
bfd/
* elf32-xtensa.c (XSHAL_ABI, XTHAL_ABI_UNDEFINED)
(XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): New macros.
(elf32xtensa_abi): New global variable.
(xtensa_abi_choice): New function.
(elf_xtensa_create_plt_entry): Use xtensa_abi_choice instead of
XSHAL_ABI to select PLT code.
gas/
* config/tc-xtensa.c (XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): New
macros.
(elf32xtensa_abi): New declaration.
(option_abi_windowed, option_abi_call0): New enum constants.
(md_longopts): Add entries for --abi-windowed and --abi-call0.
(md_parse_option): Add handlers for --abi-windowed and
--abi-call0.
(xtensa_add_config_info): Use xtensa_abi_choice instead of
XSHAL_ABI to format ABI tag.
* doc/as.texi (Target Xtensa options): Add --abi-windowed and
--abi-call0 to the list of options.
* doc/c-xtensa.texi: Add description for options --abi-windowed
and --abi-call0.
* testsuite/gas/xtensa/abi-call0.d: New test definition.
* testsuite/gas/xtensa/abi-windowed.d: New test definition.
* testsuite/gas/xtensa/abi.s: New test source.
include/
* elf/xtensa.h (xtensa_abi_choice): New declaration.
ld/
* emultempl/xtensaelf.em (XSHAL_ABI): Remove macro definition.
(XTHAL_ABI_UNDEFINED, XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): New
macros.
(elf32xtensa_abi): New declaration.
(xt_config_info_unpack_and_check): Set elf32xtensa_abi if it is
undefined. Use xtensa_abi_choice instead of XSHAL_ABI to test
ABI tag consistency.
(xtensa_add_config_info): Use xtensa_abi_choice instead of
XSHAL_ABI to format ABI tag.
(PARSE_AND_LIST_PROLOGUE): Define OPTION_ABI_WINDOWED,
OPTION_ABI_CALL0 and declare elf32xtensa_abi.
(PARSE_AND_LIST_LONGOPTS): Add entries for --abi-windowed and
--abi-call0.
(PARSE_AND_LIST_OPTIONS): Add help text for --abi-windowed and
--abi-call0.
(PARSE_AND_LIST_ARGS_CASES): Add handlers for --abi-windowed and
--abi-call0.
* ld.texi: Add description for options --abi-windowed and
--abi-call0.
Diffstat (limited to 'include/elf')
-rw-r--r-- | include/elf/xtensa.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/elf/xtensa.h b/include/elf/xtensa.h index bd5c80d..eac1a15 100644 --- a/include/elf/xtensa.h +++ b/include/elf/xtensa.h @@ -225,6 +225,9 @@ xtensa_read_table_entries (bfd *abfd, extern int xtensa_compute_fill_extra_space (property_table_entry *entry); +extern int +xtensa_abi_choice (void); + #ifdef __cplusplus } #endif |