[PATCH v3 00/13] Regset rework preparations part 2
Andreas Arnez <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
Version 2 is here: https://sourceware.org/ml/gdb-patches/2014-06/msg00881.html Changes in version 3: * Add new (optional) field 'size' to struct regcache_map_entry. Exploit this in most regmaps. * regcache_supply/collect_regset: Support the new 'size' field. Also treat the case of a single register more efficiently. In order to reduce code duplication, combine the supply- and collect-logic in one local worker function. * S390: Correct s390_regmap_last_break. * HPPA: Set slot size for each FP register to 4, to replicate original behavior. Add "FIXME" comment, since this doesn't seem to match the register types in 64-bit mode. * SCORE: Avoid negative offsets in regmap and add explicit logic for supplying EPC from same slot as PC. * TILEGX: Use 8-byte slots for all registers, including the PC. * M68K: Set slot size for each FP register to 12, even on ColdFire, where FP regs are just 8 bytes long and thus leave gaps. Also increase M68K_LINUX_GREGS_SIZE to (20 * 4). * Correct IA64_LINUX_GREGS_SIZE and IA64_LINUX_FPREGS_SIZE. Andreas Arnez (13): Rename 'descr' field in regset structure to 'regmap'. regcache: Add functions suitable for regset_supply/collect. S390: Migrate to regcache_supply/collect_regset. AARCH64 Linux: Fill 'collect_regset' in regset structures. ALPHA Linux: Fill 'collect_regset' in regset structures. FRV Linux: Fill 'collect_regset' in regset structures. HPPA Linux: Fill 'collect_regset' in regset structures. M32R Linux: Fill 'collect_regset' in regset structure. NIOS2 Linux: Fill 'collect_regset' in regset structure. SCORE: Fill 'collect_regset' in regset structure. TILEGX Linux: Fill 'collect_regset' in regset structure. M68K Linux: Define regset structures. IA64 Linux: Define regset structures. gdb/aarch64-linux-nat.c | 38 ++----- gdb/aarch64-linux-tdep.c | 90 ++++----------- gdb/aarch64-linux-tdep.h | 18 ++- gdb/alpha-linux-tdep.c | 56 ++++++---- gdb/frv-linux-tdep.c | 141 +++++++++--------------- gdb/hppa-linux-tdep.c | 103 ++++++----------- gdb/ia64-linux-tdep.c | 90 +++++++++++++++ gdb/m32r-linux-tdep.c | 79 +++++++++++--- gdb/m68klinux-tdep.c | 66 +++++++++++ gdb/nios2-linux-tdep.c | 21 +++- gdb/ppc-linux-tdep.c | 4 +- gdb/regcache.c | 87 +++++++++++++++ gdb/regcache.h | 45 ++++++++ gdb/regset.h | 7 +- gdb/rs6000-tdep.c | 12 +- gdb/s390-linux-nat.c | 177 +++++++++++++----------------- gdb/s390-linux-tdep.c | 279 ++++++++++------------------------------------- gdb/s390-linux-tdep.h | 13 +-- gdb/score-tdep.c | 86 +++++++-------- gdb/score-tdep.h | 34 +----- gdb/tilegx-linux-tdep.c | 34 ++---- gdb/tilegx-tdep.h | 1 + 22 files changed, 748 insertions(+), 733 deletions(-) -- 1.8.4.2