This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFA] Fix objfile_separate_debug_iterate
- From: Tristan Gingold <gingold at adacore dot com>
- To: gdb-patches ml <gdb-patches at sourceware dot org>
- Date: Mon, 8 Feb 2010 15:16:04 +0100
- Subject: [RFA] Fix objfile_separate_debug_iterate
Hi,
this patch fixes a thinko that triggers when an objfile:
* has no separate objfile
* has 'brother' objfiles.
(This can happen currently only with Mach-O).
No regressions on GNU/Linux i386.
Tristan.
2010-02-08 Tristan Gingold <gingold@adacore.com>
* objfiles.c (objfile_separate_debug_iterate): Do not iterate on
brothers of the parent.
---
gdb/objfiles.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index 0b07e37..489b812 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -392,18 +392,21 @@ objfile_separate_debug_iterate (const struct objfile *parent,
{
struct objfile *res;
if (res)
return res;
- res = objfile->separate_debug_objfile_link;
- if (res)
- return res;
-
/* Common case where there is no separate debug objfile. */
if (objfile == parent)
return NULL;
+ /* Return the brother if any. Note that we don't iterate on brothers of
+ the parents. */
+ res = objfile->separate_debug_objfile_link;
+ if (res)
+ return res;
+
for (res = objfile->separate_debug_objfile_backlink;
res != parent;
res = res->separate_debug_objfile_backlink)
--
1.6.2