aboutsummaryrefslogtreecommitdiff
path: root/gdb/symfile.c
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2010-03-15 09:31:34 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2010-03-15 09:31:34 +0000
commit4d9743afc875c940c9cb0acc52696d25fdc9d506 (patch)
tree20b8c733e9f25b6a1345b249e56012e0dccfebd8 /gdb/symfile.c
parent799026a7046ca97f101f11f06a908f57aef1d869 (diff)
downloadgdb-4d9743afc875c940c9cb0acc52696d25fdc9d506.zip
gdb-4d9743afc875c940c9cb0acc52696d25fdc9d506.tar.gz
gdb-4d9743afc875c940c9cb0acc52696d25fdc9d506.tar.bz2
gdb/
* symfile.c (addr_info_make_relative): Ignore also missing ".dynbss" and ".sdynbss". Update the comment.
Diffstat (limited to 'gdb/symfile.c')
-rw-r--r--gdb/symfile.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 45d215d..22c2852 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -576,16 +576,19 @@ addr_info_make_relative (struct section_addr_info *addrs, bfd *abfd)
/* This section does not exist in ABFD, which is normally
unexpected and we want to issue a warning.
- However, the ELF prelinker does create a couple of sections
- (".gnu.liblist" and ".gnu.conflict") which are marked in the main
- executable as loadable (they are loaded in memory from the
- DYNAMIC segment) and yet are not present in separate debug info
- files. This is fine, and should not cause a warning. Shared
- libraries contain just the section ".gnu.liblist" but it is not
- marked as loadable there. */
+ However, the ELF prelinker does create a few sections which are
+ marked in the main executable as loadable (they are loaded in
+ memory from the DYNAMIC segment) and yet are not present in
+ separate debug info files. This is fine, and should not cause
+ a warning. Shared libraries contain just the section
+ ".gnu.liblist" but it is not marked as loadable there. There is
+ no other way to identify them than by their name as the sections
+ created by prelink have no special flags. */
if (!(strcmp (sect_name, ".gnu.liblist") == 0
- || strcmp (sect_name, ".gnu.conflict") == 0))
+ || strcmp (sect_name, ".gnu.conflict") == 0
+ || strcmp (sect_name, ".dynbss") == 0
+ || strcmp (sect_name, ".sdynbss") == 0))
warning (_("section %s not found in %s"), sect_name,
bfd_get_filename (abfd));