2009-12-03 Tristan Gingold <gingold@adacore.com>
authorTristan Gingold <gingold@adacore.com>
Thu, 3 Dec 2009 14:14:03 +0000 (14:14 +0000)
committerTristan Gingold <gingold@adacore.com>
Thu, 3 Dec 2009 14:14:03 +0000 (14:14 +0000)
* mach-o.c (bfd_mach_o_make_bfd_section): Force debug flags for
all sections of the __DWARF segment.

bfd/ChangeLog
bfd/mach-o.c

index 8db9a34744571e3d381a78b7497236ef81e9025d..00ae4cf13014a8d528d8381f28667ecb6887ec9d 100644 (file)
@@ -1,3 +1,8 @@
+2009-12-03  Tristan Gingold  <gingold@adacore.com>
+
+       * mach-o.c (bfd_mach_o_make_bfd_section): Force debug flags for
+       all sections of the __DWARF segment.
+
 2009-12-03  Alan Modra  <amodra@bigpond.net.au>
 
        PR ld/11047
index 641fd9bd4439c32a1ef3ee057f00cc7f7bdd42e9..766fb3d76d971319d19fd0282ff10ba42bdca81d 100644 (file)
@@ -1480,8 +1480,13 @@ bfd_mach_o_make_bfd_section (bfd *abfd, bfd_mach_o_section *section,
   if (sname == NULL)
     return NULL;
 
-  if (section->flags & BFD_MACH_O_S_ATTR_DEBUG)
-    flags = SEC_HAS_CONTENTS | SEC_DEBUGGING;
+  if ((section->flags & BFD_MACH_O_S_ATTR_DEBUG)
+      || !strcmp (section->segname, "__DWARF"))
+    {
+      /* Force flags for dwarf sections.  This looks weird but dsym files
+         have no flags for them and this is important for gdb.  */
+      flags = SEC_HAS_CONTENTS | SEC_DEBUGGING;
+    }
   else
     {
       flags = SEC_ALLOC;