gdbserver/s390: Enable high GPRs, VX, TDB with 31-bit gdbserver.
authorMarcin Kościelnicki <koriakin@0x04.net>
Fri, 12 Feb 2016 13:39:29 +0000 (14:39 +0100)
committerMarcin Kościelnicki <koriakin@0x04.net>
Thu, 25 Feb 2016 19:05:38 +0000 (20:05 +0100)
commitab50308758bfde9ab7b50e6def65e20f0b560702
treea380aed2bbfed68277a6b5dda8959b73131b456c
parent1547ef64562ebbfcdc768ce93979f09bdd119b11
gdbserver/s390: Enable high GPRs, VX, TDB with 31-bit gdbserver.

Currently, 31-bit gdbserver doesn't support collecting/supplying high
GPRs, VX registers, and TDB data.  This is not much of a problem now,
since machines that have them usually have a 64-bit gdbserver that can
be used to debug 31-bit targets just fine.  However, with fast
tracepoints, it's not possible to use a 64-bit gdbserver with a 31-bit
IPA (and thus a 31-bit target), so 31-bit gdbserver has to be used
for 31-bit targets.  Thus, this patch is needed to allow collecting
high GPRs and VX registers on 31-bit targets via fast tracepoints.

gdb/gdbserver/ChangeLog:

* linux-s390-low.c (s390_num_regs_3264): Define on 31-bit too.
(s390_regmap_3264) [!__s390x__]: New global.
(s390_collect_ptrace_register): Skip map entries containing -1.
(s390_supply_ptrace_register): Ditto.
(s390_fill_gprs_high): New function.
(s390_store_gprs_high): New function.
(s390_regsets): Add NT_S390_HIGH_GPRS.
(s390_get_hwcap): Enable on 31-bit.
(have_hwcap_s390_high_gprs): Enable on 31-bit.
(s390_arch_setup): Enable detection of high GPRs, TDB, VX on 31-bit.
Detect NT_S390_HIGH_GPRS.
(s390_usrregs_info_3264): Enable on 31-bit.
(s390_regs_info): Enable regs_info_3264 on 31-bit.
(initialize_low_arch): Initialize s390_regsets_info_3264 on 31-bit.
gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-s390-low.c
This page took 0.02457 seconds and 4 git commands to generate.