diff options
author | Marcin KoĆcielnicki <koriakin@0x04.net> | 2016-02-12 14:39:29 +0100 |
---|---|---|
committer | Marcin KoĆcielnicki <koriakin@0x04.net> | 2016-02-25 20:05:38 +0100 |
commit | ab50308758bfde9ab7b50e6def65e20f0b560702 (patch) | |
tree | a380aed2bbfed68277a6b5dda8959b73131b456c /gdb/gdbserver/server.h | |
parent | 1547ef64562ebbfcdc768ce93979f09bdd119b11 (diff) | |
download | binutils-ab50308758bfde9ab7b50e6def65e20f0b560702.zip binutils-ab50308758bfde9ab7b50e6def65e20f0b560702.tar.gz binutils-ab50308758bfde9ab7b50e6def65e20f0b560702.tar.bz2 |
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.
Diffstat (limited to 'gdb/gdbserver/server.h')
0 files changed, 0 insertions, 0 deletions