gdbserver: xtensa: add call0 support
authorMax Filippov <jcmvbkbc@gmail.com>
Fri, 18 Nov 2016 16:58:21 +0000 (08:58 -0800)
committerMax Filippov <jcmvbkbc@gmail.com>
Mon, 27 Mar 2017 20:00:04 +0000 (13:00 -0700)
commit1a09b50a463ad005946849540da136b5cbe6237b
treeda576cf275753c41e47f9de0403968f64b2648df
parent0ce4291e3ffd90d2b94e02b4557d716c043bf02e
gdbserver: xtensa: add call0 support

Correctly handle a0- registers on requests from remote gdb. This fixes

  'Register 1 is not available'

and subsequent assertion in the remote gdb connecting to the gdbserver:

  'findvar.c:291: internal-error: value_of_register_lazy:
    Assertion `frame_id_p(get_frame_id (frame))' failed.'

The register structure is the same for windowed and call0 ABIs because
currently linux kernel internally requires windowed registers, so they
are always present.

gdb/gdbserver/
2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>

* linux-xtensa-low.c (xtensa_fill_gregset): Call collect_register
for all registers in a0_regnum..a0_regnum + C0_NREGS range.
(xtensa_store_gregset): Call supply_register for all registers in
a0_regnum..a0_regnum + C0_NREGS range.
gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-xtensa-low.c