gdb/
authorJan Kratochvil <jan.kratochvil@redhat.com>
Mon, 15 Mar 2010 09:31:34 +0000 (09:31 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Mon, 15 Mar 2010 09:31:34 +0000 (09:31 +0000)
* symfile.c (addr_info_make_relative): Ignore also missing ".dynbss"
and ".sdynbss".  Update the comment.

gdb/ChangeLog
gdb/symfile.c

index 677892f..766408d 100644 (file)
@@ -1,3 +1,8 @@
+2010-03-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * symfile.c (addr_info_make_relative): Ignore also missing ".dynbss"
+       and ".sdynbss".  Update the comment.
+
 2010-03-15  Jie Zhang  <jie@codesourcery.com>
 
        * MAINTAINERS: Update my email address.
index 45d215d..22c2852 100644 (file)
@@ -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));