Add file name to "Loadable section ... outside of ELF segments" warning
authorKeith Seitz <keiths@redhat.com>
Fri, 13 Nov 2020 17:28:50 +0000 (09:28 -0800)
committerKeith Seitz <keiths@redhat.com>
Fri, 13 Nov 2020 17:28:50 +0000 (09:28 -0800)
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.

gdb/ChangeLog
gdb/elfread.c

index 4eb64c139be41d23edf1432b2924685568b7d271..f8f6993a45c64e8cdd6ea9990f995a8b7833ba78 100644 (file)
@@ -1,3 +1,9 @@
+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.
+
 2020-11-13  Simon Marchi  <simon.marchi@polymtl.ca>
 
        PR gdb/26835
index f362bc8a622b3fce7089d4e7ea17db4705487dca..7915dcdcce9bd97d17320c7357cc4360eb4c1053 100644 (file)
@@ -149,8 +149,8 @@ elf_symfile_segments (bfd *abfd)
         binaries are not relocatable.  */
       if (bfd_section_size (sect) > 0 && j == num_segments
          && (bfd_section_flags (sect) & SEC_LOAD) != 0)
-       warning (_("Loadable section \"%s\" outside of ELF segments"),
-                bfd_section_name (sect));
+       warning (_("Loadable section \"%s\" outside of ELF segments\n  in %s"),
+                bfd_section_name (sect), bfd_get_filename (abfd));
     }
 
   return data;