elfread.c has if (bfd_get_section_size (sect) > 0 && j == num_segments && (bfd_get_section_flags (abfd, sect) & SEC_LOAD) != 0) warning (_("Loadable section \"%s\" outside of ELF segments"), bfd_section_name (abfd, sect)); This message lacks of filename, which is very useful when shared libraries are used.
The master branch has been updated by Keith Seitz <kseitz@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=9d3ab915be4548c6fee80c0b2f79a509fd4150b8 commit 9d3ab915be4548c6fee80c0b2f79a509fd4150b8 Author: Keith Seitz <keiths@redhat.com> Date: Fri Nov 13 09:28:50 2020 -0800 Add file name to "Loadable section ... outside of ELF segments" warning As requested in gdb/23034, I would like to extend the warning message GDB displays when it detects a loadable section that is outside any ELF segment. Before: $ gdb -q --ex "b systemctl_main" -ex "r" -batch --args systemctl kexec Breakpoint 1 at 0xc24d: file ../src/systemctl/systemctl.c, line 8752. warning: Loadable section ".note.gnu.property" outside of ELF segments [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments [snip] Breakpoint 1, systemctl_main (argv=0x7fffffffd348, argc=2) at ../src/systemctl/systemctl.c:8752 8752 r = systemctl_main(argc, argv); After: warning: Loadable section ".note.gnu.property" outside of ELF segments in .gnu_debugdata for /lib64/libcap.so.2 warning: Loadable section ".note.gnu.property" outside of ELF segments in .gnu_debugdata for /lib64/libacl.so.1 [snip] I think this is eminently more useful output. gdb/ChangeLog 2020-11-13 Keith Seitz <keiths@redhat.com> PR gdb/23034 * elfread.c (elf_symfile_segments): Output a BFD file name for the "Loadable section ... outside of ELF segments" warning.
Better late than never...