]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
s390: discard .interp section
authorIlya Leoshkevich <iii@linux.ibm.com>
Mon, 23 Jan 2023 21:50:32 +0000 (22:50 +0100)
committerAndrea Righi <andrea.righi@canonical.com>
Tue, 14 Mar 2023 15:47:19 +0000 (16:47 +0100)
commit47cfbd0dda9a731c85f0afc436fa31a5aeacb37d
tree86c205de0c8c03384dd24da033286c69532c9ad5
parent12c12a977103840d5de4a069a92870d421266b95
s390: discard .interp section

BugLink: https://bugs.launchpad.net/bugs/2011425
commit e9c9cb90e76ffaabcc7ca8f275d9e82195fd6367 upstream.

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 <iii@linux.ibm.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
arch/s390/kernel/vmlinux.lds.S