aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2009-12-03 14:14:03 +0000
committerTristan Gingold <gingold@adacore.com>2009-12-03 14:14:03 +0000
commitef17cb22d068776deb20642e461f1c90e5dd3bf3 (patch)
tree3ca7d8915f22cbf41d3a38b084837325da3eb86b /bfd
parentf9f0e73285704b47d65e73890b8fb63dc7139460 (diff)
downloadgdb-ef17cb22d068776deb20642e461f1c90e5dd3bf3.zip
gdb-ef17cb22d068776deb20642e461f1c90e5dd3bf3.tar.gz
gdb-ef17cb22d068776deb20642e461f1c90e5dd3bf3.tar.bz2
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.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/mach-o.c9
2 files changed, 12 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 8db9a34..00ae4cf 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/mach-o.c b/bfd/mach-o.c
index 641fd9b..766fb3d 100644
--- a/bfd/mach-o.c
+++ b/bfd/mach-o.c
@@ -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;