Bug 23034 - Lack of info in outside of ELF segments message
Summary: Lack of info in outside of ELF segments message
Status: RESOLVED FIXED
Alias: None
Product: gdb
Classification: Unclassified
Component: gdb (show other bugs)
Version: 8.1
: P2 normal
Target Milestone: ---
Assignee: Keith Seitz
URL:
Keywords: good-first-bug
Depends on:
Blocks:
 
Reported: 2018-04-06 21:13 UTC by H.J. Lu
Modified: 2020-11-13 17:47 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2018-04-06 21:13:09 UTC
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.
Comment 1 Sourceware Commits 2020-11-13 17:44:47 UTC
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.
Comment 2 Keith Seitz 2020-11-13 17:47:40 UTC
Better late than never...