mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-12-11 19:19:04 +08:00
gdb/xtensa: make a0-a15 pseudo registers in case of Window ABI
xtensa_pseudo_register_read/write implement access to a0-a15 registers in the case of Window ABI. However the split between 'raw' and 'pseudo' registers was made based on the location of the first masked register. To make access to a0-a15 go through the pseudo register mechanism, the split should be set based on the location of a0, instead.
This commit is contained in:
committed by
Alexey Lapshin
parent
ab91a76024
commit
18482f47e3
@@ -3147,6 +3147,12 @@ xtensa_derive_tdep (xtensa_gdbarch_tdep *tdep)
|
|||||||
/* Number of pseudo registers. */
|
/* Number of pseudo registers. */
|
||||||
tdep->num_pseudo_regs = n - tdep->num_regs;
|
tdep->num_pseudo_regs = n - tdep->num_regs;
|
||||||
|
|
||||||
|
if (tdep->isa_use_windowed_registers) {
|
||||||
|
/* In window ABI, a0-a15 are pseudo registers */
|
||||||
|
tdep->num_regs = tdep->a0_base;
|
||||||
|
tdep->num_pseudo_regs = n - tdep->a0_base;
|
||||||
|
}
|
||||||
|
|
||||||
/* Empirically determined maximum sizes. */
|
/* Empirically determined maximum sizes. */
|
||||||
tdep->max_register_raw_size = max_size;
|
tdep->max_register_raw_size = max_size;
|
||||||
tdep->max_register_virtual_size = max_size;
|
tdep->max_register_virtual_size = max_size;
|
||||||
|
|||||||
Reference in New Issue
Block a user