This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH v3] xtensa: initialize call_abi in xtensa_tdep
- From: Max Filippov <jcmvbkbc at gmail dot com>
- To: gdb-patches at sourceware dot org
- Cc: Maxim Grigoriev <maxim2405 at gmail dot com>, Woody LaRue <larue at cadence dot com>, Marc Gauthier <marc at cadence dot com>, Joel Brobecker <brobecker at adacore dot com>, Max Filippov <jcmvbkbc at gmail dot com>
- Date: Thu, 20 Aug 2015 16:53:35 +0300
- Subject: [PATCH v3] xtensa: initialize call_abi in xtensa_tdep
- Authentication-results: sourceware.org; auth=none
Use XSHAL_ABI value provided by xtensa-config.h to correctly initialize
xtensa_tdep.call_abi
This fixes calls to functions from GDB that otherwise fail with the
following assertion in call0 configuration:
gdb/regcache.c:602: internal-error: regcache_raw_read: Assertion
`regnum >= 0 && regnum < regcache->descr->nr_raw_registers' failed.
gdb/
* xtensa-tdep.h (XTENSA_GDBARCH_TDEP_INSTANTIATE): Initialize
call_abi using XSHAL_ABI macro.
---
Changes v2 -> v3:
- rebase to the current master.
Changes v1 -> v2:
- fix call_abi code formatting.
gdb/xtensa-tdep.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gdb/xtensa-tdep.h b/gdb/xtensa-tdep.h
index caa2988..ff090f3 100644
--- a/gdb/xtensa-tdep.h
+++ b/gdb/xtensa-tdep.h
@@ -246,7 +246,9 @@ struct gdbarch_tdep
.spill_location = -1, \
.spill_size = (spillsz), \
.unused = 0, \
- .call_abi = CallAbiDefault, \
+ .call_abi = (XSHAL_ABI == XTHAL_ABI_CALL0 \
+ ? CallAbiCall0Only \
+ : CallAbiDefault), \
.debug_interrupt_level = XCHAL_DEBUGLEVEL, \
.icache_line_bytes = XCHAL_ICACHE_LINESIZE, \
.dcache_line_bytes = XCHAL_DCACHE_LINESIZE, \
--
1.8.1.4