Re: [PATCH] xtensa: initialize call_abi in xtensa_tdep

Max Filippov
2015-08-20T07:38:14Z

On Sun, Jun 7, 2015 at 1:05 AM, Max Filippov <jcmvbkbc@gmail.com> wrote:
> 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.
> ---
> gdb/xtensa-tdep.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/gdb/xtensa-tdep.h b/gdb/xtensa-tdep.h
> index adacaf8..3b6ea66 100644
> --- a/gdb/xtensa-tdep.h
> +++ b/gdb/xtensa-tdep.h
> @@ -246,7 +246,8 @@ struct gdbarch_tdep
> .spill_location = -1, \
> .spill_size = (spillsz), \
> .unused = 0, \
> - .call_abi = 0, \
> + .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, \
> --

Ping?

--
Thanks.
-- Max