[PATCH v4 0/2] riscv: Rework the arch_kgdb_breakpoint() implementation

WangYuli wangyuli at uniontech.com
Fri Apr 11 00:29:04 PDT 2025


1. The arch_kgdb_breakpoint() function defines the kgdb_compiled_break
   symbol using inline assembly.
    
   There's a potential issue where the compiler might inline
   arch_kgdb_breakpoint(), which would then define the kgdb_compiled_break
   symbol multiple times, leading to fail to link vmlinux.o.
    
   This isn't merely a potential compilation problem. The intent here
   is to determine the global symbol address of kgdb_compiled_break,
   and if this function is inlined multiple times, it would logically
   be a grave error.

2. Remove ".option norvc/.option rvc" to fix a bug that the C extension
   would unconditionally enable even if the kernel is being built with
   CONFIG_RISCV_ISA_C=n.

WangYuli (2):
  riscv: KGDB: Do not inline arch_kgdb_breakpoint()
  riscv: KGDB: Remove ".option norvc/.option rvc" for
    kgdb_compiled_break

 arch/riscv/include/asm/kgdb.h | 9 +--------
 arch/riscv/kernel/kgdb.c      | 6 ++++++
 2 files changed, 7 insertions(+), 8 deletions(-)

-- 
2.49.0




More information about the linux-riscv mailing list