[PATCH 00/13] Split brekapoint_from_pc to breakpoint_kind_from_pc and sw_breakpoint_from_kind

Yao Qi
2016-08-31T15:06:25Z

This patch series is to split gdbarch method brekapoint_from_pc to
methods breakpoint_kind_from_pc and sw_breakpoint_from_kind. After
these changes, new gdbarch methods breakpoint_kind_from_pc and
sw_breakpoint_from_kind are more preferred than brekapoint_from_pc.

In this patch https://sourceware.org/ml/gdb-patches/2016-05/msg00201.html,
I wanted to remove a global variable arm_override_mode, and the
discussion leads to a design here
https://sourceware.org/ml/gdb-patches/2016-07/msg00211.html In short,
we reuse bp_target_info.placed_size as the "kind" of a breakpoint,
which can be got by gdbarch breakpoint_kind_from_pc or
breakpoint_kind_from_current_state.

I choose a way that I can change the code incrementally, and make the
review easier. Patch #1, #2, #5, and #8 are obvious, IMO. Patch #7
and #12 do the major work, and the rest are code refactor.

Regression tested on arm-linux and x86_64-linux. Tests on other
architectures are welcome!

*** BLURB HERE ***

Yao Qi (13):
Remove v850_dbtrap_breakpoint_from_pc
Rename 'arch' by 'gdbarch' in m32c_gdbarch_init
gdbarch_breakpoint_from_pc doesn't return NULL
GDBARCH_BREAKPOINT_MANIPULATION and
SET_GDBARCH_BREAKPOINT_MANIPULATION
Share enum arm_breakpoint_kinds
Add enum for mips breakpoint kinds
Split brekapoint_from_pc to breakpoint_kind_from_pc and
sw_breakpoint_from_kind
New gdbarch methods breakpoint_kind_from_pc and
sw_breakpoint_from_kind
Rename placed_size to kind
Remove gdbarch_remote_breakpoint_from_pc
Add default_breakpoint_from_pc
Determine the kind of single step breakpoint
Remove arm_override_mode

gdb/aarch64-tdep.c | 12 +-
gdb/alpha-tdep.c | 12 +-
gdb/arch-utils.c | 18 ++-
gdb/arch-utils.h | 52 ++++++++-
gdb/arch/arm.h | 8 ++
gdb/arm-tdep.c | 125 +++++++++++++-------
gdb/avr-tdep.c | 13 +--
gdb/bfin-tdep.c | 32 +++---
gdb/breakpoint.c | 27 +++++
gdb/breakpoint.h | 10 +-
gdb/cris-tdep.c | 24 ++--
gdb/frv-tdep.c | 12 +-
gdb/ft32-tdep.c | 13 +--
gdb/gdbarch.c | 76 +++++++++---
gdb/gdbarch.h | 26 ++++-
gdb/gdbarch.sh | 20 +++-
gdb/gdbserver/linux-aarch32-low.c | 8 --
gdb/h8300-tdep.c | 14 +--
gdb/hppa-tdep.c | 12 +-
gdb/i386-tdep.c | 11 +-
gdb/ia64-tdep.c | 15 ++-
gdb/iq2000-tdep.c | 21 ++--
gdb/lm32-tdep.c | 12 +-
gdb/m32c-tdep.c | 53 ++++-----
gdb/m32r-tdep.c | 51 ++++----
gdb/m68hc11-tdep.c | 13 +--
gdb/m68k-tdep.c | 13 +--
gdb/m88k-tdep.c | 15 +--
gdb/mem-break.c | 15 ++-
gdb/mep-tdep.c | 12 +-
gdb/microblaze-linux-tdep.c | 2 -
gdb/microblaze-tdep.c | 13 +--
gdb/mips-tdep.c | 236 +++++++++++++++++++-------------------
gdb/mn10300-tdep.c | 12 +-
gdb/moxie-tdep.c | 14 +--
gdb/msp430-tdep.c | 14 +--
gdb/mt-tdep.c | 27 +++--
gdb/nios2-tdep.c | 98 +++++++++-------
gdb/ppc-linux-tdep.c | 2 -
gdb/record-full.c | 10 --
gdb/remote.c | 20 +---
gdb/rl78-tdep.c | 22 ++--
gdb/rs6000-tdep.c | 19 +--
gdb/rx-tdep.c | 13 +--
gdb/s390-linux-tdep.c | 14 +--
gdb/score-tdep.c | 119 ++++++++++---------
gdb/sh-tdep.c | 38 +++---
gdb/sh64-tdep.c | 69 +++++------
gdb/sparc-tdep.c | 12 +-
gdb/spu-tdep.c | 13 +--
gdb/tic6x-tdep.c | 17 ++-
gdb/tilegx-tdep.c | 18 +--
gdb/v850-tdep.c | 60 +++++-----
gdb/vax-tdep.c | 13 +--
gdb/xstormy16-tdep.c | 13 +--
gdb/xtensa-tdep.c | 55 ++++-----
56 files changed, 879 insertions(+), 809 deletions(-)

--
1.9.1