[PATCHv2,0/5] Add new gdbarch::displaced_step_buffer_length field

Message ID cover.1678116328.git.aburgess@redhat.com
Headers
Series Add new gdbarch::displaced_step_buffer_length field |

Message

Andrew Burgess March 6, 2023, 3:31 p.m. UTC
  Changes in v2:

  - The final patch (#5), actually adding displaced_step_buffer_length
    has been updated inline with Simon's feedback.  The changes are
    pretty minor so I've added the Approved-By tag.

  - Patches #1 and #2 are new in this version.  These two patches are
    removing fields from gdbarch_components.py that have no effect on
    the generated source.  Removing these fields makes it easier to
    refactor the gdbarch.py code in later commits.

  - Patch #3 is from the v1 series and hasn't changed significantly.
    I dropped the comment change on max_insn_length.  Simon was
    correct in his feedback, the changes I made to this comment made
    little sense.  The rest of the patch is basically unchagned.

  - Patch #4 is new in this version.  This makes the changes Simon
    wanted to see about the 'invalid' field no longer being able to
    take the value 'None', and also we can now have both a predicate
    and a string 'invalid' field.

    I did play with splitting these two changes (invalid can't be None
    and predicate+string invalid), but this made little sense, and was
    really forced.  Allowing the second seems to fall naturally out of
    refactoring the 'invalid' field to stop it taking the value 'None'.

Thoughts?

Thanks,
Andrew

---

Andrew Burgess (5):
  gdb/gdbarch: remove unused 'invalid=True' from gdbarch_components.py
  gdb/gdbarch: remove yet more 'invalid=True' from gdbarch_components.py
  gdb/gdbarch: split postdefault setup from invalid check in gdbarch.py
  gdb/gdbarch: remove the 'invalid=None' state from
    gdbarch_components.py
  gdb: add gdbarch::displaced_step_buffer_length

 gdb/aarch64-linux-tdep.c  |   4 +-
 gdb/arm-tdep.c            |   4 +-
 gdb/displaced-stepping.c  |   6 +-
 gdb/gdbarch-gen.h         |  12 +++-
 gdb/gdbarch.c             |  42 ++++++++++++
 gdb/gdbarch.py            |  60 ++++++++---------
 gdb/gdbarch_components.py | 131 ++++++++++----------------------------
 gdb/gdbarch_types.py      |   7 +-
 gdb/linux-tdep.c          |   2 +-
 gdb/rs6000-tdep.c         |   6 +-
 10 files changed, 134 insertions(+), 140 deletions(-)


base-commit: 6a208145d24c47912c8beb4f1f4b9abeb8d51134