Re: [PATCH 0/4] arm64: kgdb/kdb: Fix single-step debugging issues

From: Doug Anderson
Date: Wed May 13 2020 - 20:34:46 EST


Hi,

On Sat, May 9, 2020 at 6:49 AM Wei Li <liwei391@xxxxxxxxxx> wrote:
>
> This patch set is to fix several issues of single-step debugging
> in kgdb/kdb on arm64.
>
> It seems that these issues have been shelved a very long time,
> but i still hope to solve them, as the single-step debugging
> is an useful feature.
>
> Note:
> Based on patch "arm64: cacheflush: Fix KGDB trap detection",
> https://www.spinics.net/lists/arm-kernel/msg803741.html
>
> Wei Li (4):
> arm64: kgdb: Fix single-step exception handling oops
> arm64: Extract kprobes_save_local_irqflag() and
> kprobes_restore_local_irqflag()
> arm64: kgdb: Fix single-stepping into the irq handler wrongly
> arm64: kgdb: Set PSTATE.SS to 1 to reenable single-step
>
> arch/arm64/include/asm/debug-monitors.h | 6 ++++++
> arch/arm64/kernel/debug-monitors.c | 28 ++++++++++++++++++++++++-
> arch/arm64/kernel/kgdb.c | 16 +++++++++++---
> arch/arm64/kernel/probes/kprobes.c | 28 ++-----------------------
> 4 files changed, 48 insertions(+), 30 deletions(-)

Just an overall note that I'm very happy that you posted this patch
series! It's always been a thorn in my side that stepping and
breakpoints were so broken on arm64 and I'm really excited that you're
fixing them. Now I'll have to get in the habit of using kgdb for more
than just debugging crashes and maybe I can use it more for exploring
how functions work more. :-)

I'll also note that with your patch series I'm even seeing the "call"
feature of gdb working now. That has always been terribly broken for
me.

-Doug