This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/2] [ARM] Software single step cross linux kernel helpers


Hi,
When I play with software single step in GDBserver on arm-linux, I find
a problem that GDBserver can't single step over linux kernel helpers,
but GDB has already fixed it.  Patch #1 is to move the logic handling
step kernel helper to arch/arm-get-next-pcs.c, so that both GDB and
GDBserver can handle stepping over kernel helpers properly.

After I finished patch #1, I add a test case about it, but the test case
exposes the bug in the existing code stepping over kernel helper.  Looks
current code only handles the case that kernel helpers are tail-called.
Patch #2 adds the test case and the fix.  See more details there.

No regression on aarch64-linux (with multi-arch debugging).  Regression
testing on arm-linux is still running.

*** BLURB HERE ***

Yao Qi (2):
  [ARM] Fixup PC in software single step
  [ARM] Software single step cross kernel helpers

 gdb/arch/arm-get-next-pcs.c                        | 11 +++
 gdb/arch/arm-get-next-pcs.h                        |  4 +
 gdb/arch/arm-linux.c                               | 82 ++++++++++++++++++
 gdb/arch/arm-linux.h                               |  4 +
 gdb/arm-linux-tdep.c                               | 16 +---
 gdb/arm-tdep.c                                     |  3 +-
 gdb/gdbserver/linux-arm-low.c                      |  3 +-
 .../gdb.arch/arm-single-step-kernel-helper.c       | 36 ++++++++
 .../gdb.arch/arm-single-step-kernel-helper.exp     | 97 ++++++++++++++++++++++
 9 files changed, 241 insertions(+), 15 deletions(-)
 create mode 100644 gdb/testsuite/gdb.arch/arm-single-step-kernel-helper.c
 create mode 100644 gdb/testsuite/gdb.arch/arm-single-step-kernel-helper.exp

-- 
1.9.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]