[PATCH 2/3] riscv: kgdb: use BREAK_INSTR_SIZE instead of hardcoded value
Clément Léger
clement.leger at linux.dev
Thu Nov 12 23:16:13 PST 2026
Before commit 550c2aa787d1 ("riscv: KGDB: Remove ".option norvc/.option
rvc" for kgdb_compiled_break"), .norvc was enforced and that resulted
in a non compressed ebreak instruction so the +4 was legit. The
previously mentionned commit removed that option, leading to ebreak
being emitted as c.ebreak when compiled with CONFIG_RISCV_ISA_C=y.
Use BREAK_INSTR_SIZE so epc is incremented by whatever size the break
instruction is.
Fixes: 550c2aa787d1 ("riscv: KGDB: Remove ".option norvc/.option rvc" for kgdb_compiled_break")
Signed-off-by: Clément Léger <clement.leger at linux.dev>
---
arch/riscv/kernel/kgdb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/riscv/kernel/kgdb.c b/arch/riscv/kernel/kgdb.c
index 4ad817698af8..121dae87dc68 100644
--- a/arch/riscv/kernel/kgdb.c
+++ b/arch/riscv/kernel/kgdb.c
@@ -365,7 +365,7 @@ static int kgdb_riscv_notify(struct notifier_block *self, unsigned long cmd,
return NOTIFY_DONE;
if (type == KGDB_COMPILED_BREAK)
- regs->epc += 4;
+ regs->epc += BREAK_INSTR_SIZE;
local_irq_restore(flags);
--
2.55.0
More information about the linux-riscv
mailing list