aboutsummaryrefslogtreecommitdiff
path: root/gas/doc
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2020-05-10 08:03:08 -0700
committerMax Filippov <jcmvbkbc@gmail.com>2020-06-15 13:01:30 -0700
commit7a77f1ac2c6f899faa39e8c0b42d4284d586c44e (patch)
treea62d6ddd84a685332322b873f7b2cd4facdc3601 /gas/doc
parentcae64165f47b64898c4f1982d294862cfae89a47 (diff)
downloadgdb-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 'gas/doc')
-rw-r--r--gas/doc/as.texi1
-rw-r--r--gas/doc/c-xtensa.texi8
2 files changed, 9 insertions, 0 deletions
diff --git a/gas/doc/as.texi b/gas/doc/as.texi
index dd6c968..f8d892e 100644
--- a/gas/doc/as.texi
+++ b/gas/doc/as.texi
@@ -626,6 +626,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
[@b{--[no-]transform}]
[@b{--rename-section} @var{oldname}=@var{newname}]
[@b{--[no-]trampolines}]
+ [@b{--abi-windowed}|@b{--abi-call0}]
@end ifset
@ifset Z80
diff --git a/gas/doc/c-xtensa.texi b/gas/doc/c-xtensa.texi
index e0c5e1a..b17ee83 100644
--- a/gas/doc/c-xtensa.texi
+++ b/gas/doc/c-xtensa.texi
@@ -122,6 +122,14 @@ across a greater range of addresses. @xref{Xtensa Jump Relaxation,
potentially be out of range. In the absence of such jumps this option
does not affect code size or performance. The default is
@samp{--trampolines}.
+
+@item --abi-windowed | --abi-call0
+@kindex --abi-windowed
+@kindex --abi-call0
+Choose ABI tag written to the @code{.xtensa.info} section. ABI tag
+indicates ABI of the assembly code. A warning is issued by the linker
+on an attempt to link object files with inconsistent ABI tags.
+Default ABI is chosen by the Xtensa core configuration.
@end table
@c man end