[PATCH v2 00/11] Split up s390-linux-tdep.c

Philipp Rudo prudo@linux.vnet.ibm.com
Tue Dec 5 12:29:00 GMT 2017

Hi everybody

changes v1 -> v2:

	- Rebase to current master.

	- Hook s390 into osabi mechanism including some preparation/clean
	  up in s390_gdbarch_init (Patches #1-#7)

	- Don't move s390_cannot_store_register and s390_write_pc as well as
	  the regmap/regset definitions to the new file.

Note: I haven't added the switch from macros to enum for the register
numbering Uli has suggested.  'Condensing' the definitions, i.e. only define
the first register number of a range of equal registers, like ppc does it,
leads to constructs like 'S390_R0_REGNUM + N'.  Those constructs appear
rather often as there are quite a lot of instructions which give special
meaning to specific registers.  Giving the fact that the main reason to do
this switch is so 'only' three of the definitions can stay in
s390-linux-tdep.h, I think this switch can be deferred to later when I have
time to take a closer look at it.



This patch set splits up the s390 tdep code followed by some minor clean up
and coding style fixes.  It originates from my Linux kernel feature and
helps adding the new Linux kernel 'OS' to s390 while keeping the code
manageable.  I want to bring the set upstream in advance of the rest of the
kernel debugging feature as nearly all changes to s390-linux-tdep.c cause
merge conflicts making the maintenance off-tree extremely labor intensive
and error prone.


Philipp Rudo (11):
  s390: Remove duplicate checks for cached gdbarch at init
  s390: Allocate gdbarch & tdep at start of gdbarch init
  s390: gdbarch_tdep.have_* int -> bool
  s390: gdbarch_tdep add field tdesc
  s390: Move tdesc validation to separate function
  s390: if -> gdb_assert for tdesc_has_registers check
  s390: Hook s390 into OSABI mechanism
  s390: Split up s390-linux-tdep.c into two files
  s390: Clean up s390-linux-tdep.c
  s390: Add comments to uncommented functions in s390-tdep.c
  s390: Add comments to uncommented functions in s390-linux-tdep.c

 gdb/Makefile.in       |    3 +
 gdb/configure.tgt     |    4 +-
 gdb/s390-linux-nat.c  |    1 +
 gdb/s390-linux-tdep.c | 2897 +++----------------------------------------------
 gdb/s390-linux-tdep.h |  176 +--
 gdb/s390-tdep.c       | 2565 +++++++++++++++++++++++++++++++++++++++++++
 gdb/s390-tdep.h       |  367 +++++++
 7 files changed, 3124 insertions(+), 2889 deletions(-)
 create mode 100644 gdb/s390-tdep.c
 create mode 100644 gdb/s390-tdep.h


More information about the Gdb-patches mailing list