OSDN Git Service

2009-12-03 Tristan Gingold <gingold@adacore.com>
authorgingold <gingold>
Thu, 3 Dec 2009 23:14:02 +0000 (23:14 +0000)
committergingold <gingold>
Thu, 3 Dec 2009 23:14:02 +0000 (23: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 8db9a34..00ae4cf 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 641fd9b..766fb3d 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;