diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2015-09-15 19:30:32 +0000 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gcc.gnu.org> | 2015-09-15 19:30:32 +0000 |
commit | c8338173d725ca0690f25f54e04171ed6cad6be9 (patch) | |
tree | 803610303e599bef8722a38ee06d5bb81ced922e /gcc | |
parent | e1b8828bc8c162f376cd2ede28de3064673519e9 (diff) | |
download | gcc-c8338173d725ca0690f25f54e04171ed6cad6be9.zip gcc-c8338173d725ca0690f25f54e04171ed6cad6be9.tar.gz gcc-c8338173d725ca0690f25f54e04171ed6cad6be9.tar.bz2 |
xtensa: fix xtensa_fallback_frame_state for call0 ABI
2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
gcc/
* config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New
definition.
(DWARF_FRAME_REGISTERS): Reserve space for one extra register in
call0 ABI.
libgcc/
* config/xtensa/linux-unwind.h (xtensa_fallback_frame_state):
Add support for call0 ABI.
From-SVN: r227809
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/xtensa/xtensa.h | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bb317cf..6805c03 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2015-09-15 Max Filippov <jcmvbkbc@gmail.com> + * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New + definition. + (DWARF_FRAME_REGISTERS): Reserve space for one extra register in + call0 ABI. + +2015-09-15 Max Filippov <jcmvbkbc@gmail.com> + * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2 to pass TLS call argument, according to current ABI. * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h index ebc8792..01d93e9 100644 --- a/gcc/config/xtensa/xtensa.h +++ b/gcc/config/xtensa/xtensa.h @@ -813,7 +813,9 @@ typedef struct xtensa_args for debugging. */ #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, 0) #define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (0) -#define DWARF_FRAME_REGISTERS 16 +#define DWARF_ALT_FRAME_RETURN_COLUMN 16 +#define DWARF_FRAME_REGISTERS (DWARF_ALT_FRAME_RETURN_COLUMN \ + + (TARGET_WINDOWED_ABI ? 0 : 1)) #define EH_RETURN_DATA_REGNO(N) ((N) < 2 ? (N) + 2 : INVALID_REGNUM) #define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \ (flag_pic \ |