From: Ilya Leoshkevich Date: Mon, 23 Jan 2023 21:50:32 +0000 (+0100) Subject: s390: discard .interp section X-Git-Tag: v6.6.17~5518^2~59 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e9c9cb90e76ffaabcc7ca8f275d9e82195fd6367;p=platform%2Fkernel%2Flinux-rpi.git s390: discard .interp section When debugging vmlinux with QEMU + GDB, the following GDB error may occur: (gdb) c Continuing. Warning: Cannot insert breakpoint -1. Cannot access memory at address 0xffffffffffff95c0 Command aborted. (gdb) The reason is that, when .interp section is present, GDB tries to locate the file specified in it in memory and put a number of breakpoints there (see enable_break() function in gdb/solib-svr4.c). Sometimes GDB finds a bogus location that matches its heuristics, fails to set a breakpoint and stops. This makes further debugging impossible. The .interp section contains misleading information anyway (vmlinux does not need ld.so), so fix by discarding it. Signed-off-by: Ilya Leoshkevich Cc: Signed-off-by: Heiko Carstens --- diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S index 5c2224f..acdf1e8 100644 --- a/arch/s390/kernel/vmlinux.lds.S +++ b/arch/s390/kernel/vmlinux.lds.S @@ -231,5 +231,6 @@ SECTIONS DISCARDS /DISCARD/ : { *(.eh_frame) + *(.interp) } }