diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2017-05-03 13:13:52 -0700 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2022-11-28 18:16:12 -0800 |
commit | d0a2cfbd3141dae38498fa077b01ae6bb394462b (patch) | |
tree | 8cb6fc2a729622c8b9dd3cbbce771a418e3a088f /gas/config/tc-xtensa.c | |
parent | cb44f89ce977b1ab2d4063f2487950bddfb75bc7 (diff) | |
download | gdb-d0a2cfbd3141dae38498fa077b01ae6bb394462b.zip gdb-d0a2cfbd3141dae38498fa077b01ae6bb394462b.tar.gz gdb-d0a2cfbd3141dae38498fa077b01ae6bb394462b.tar.bz2 |
xtensa: allow dynamic configuration
Import include/xtensa-dynconfig.h that defines XCHAL_* macros as fields
of a structure returned from the xtensa_get_config_v<x> function call.
Define that structure and fill it with default parameter values
specified in the include/xtensa-config.h.
Define reusable function xtensa_load_config that tries to load
configuration and return an address of an exported object from it.
Define functions xtensa_get_config_v{1,2} that use xtensa_load_config
to get structures xtensa_config_v{1,2}, either dynamically configured
or the default.
bfd/
* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Append
xtensa-dynconfig.c.
* Makefile.in: Regenerate.
* configure: Regenerate.
* configure.ac (xtensa_elf32_be_vec, xtensa_elf32_le_vec): Add
xtensa-dynconfig.lo to the tb.
* elf32-xtensa.c (xtensa-config.h): Replace #include with
xtensa-dynconfig.h.
(XSHAL_ABI, XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): Remove
definitions.
* xtensa-dynconfig.c: New file.
* xtensa-isa.c (xtensa-dynconfig.h): New #include.
(xtensa_get_modules): New function.
(xtensa_isa_init): Call xtensa_get_modules instead of taking
address of global xtensa_modules.
gas/
* config/tc-xtensa.c (xtensa-config.h): Replace #include with
xtensa-dynconfig.h.
(XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0, XTENSA_MARCH_EARLIEST):
Remove definitions.
* config/tc-xtensa.h (xtensa-config.h): Replace #include with
xtensa-dynconfig.h.
* config/xtensa-relax.c (xtensa-config.h): Replace #include with
xtensa-dynconfig.h.
(XCHAL_HAVE_WIDE_BRANCHES): Remove definition.
include/
* xtensa-dynconfig.h: New file.
ld/
* emultempl/xtensaelf.em (xtensa-config.h): Replace #include
with xtensa-dynconfig.h.
(XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): Remove definitions.
Diffstat (limited to 'gas/config/tc-xtensa.c')
-rw-r--r-- | gas/config/tc-xtensa.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c index f7a28d3..30152bb 100644 --- a/gas/config/tc-xtensa.c +++ b/gas/config/tc-xtensa.c @@ -27,22 +27,9 @@ #include "xtensa-relax.h" #include "dwarf2dbg.h" #include "xtensa-istack.h" -#include "xtensa-config.h" +#include "xtensa-dynconfig.h" #include "elf/xtensa.h" -/* Provide default values for new configuration settings. */ -#ifndef XTHAL_ABI_WINDOWED -#define XTHAL_ABI_WINDOWED 0 -#endif - -#ifndef XTHAL_ABI_CALL0 -#define XTHAL_ABI_CALL0 1 -#endif - -#ifndef XTENSA_MARCH_EARLIEST -#define XTENSA_MARCH_EARLIEST 0 -#endif - #ifndef uint32 #define uint32 unsigned int #endif |