aboutsummaryrefslogtreecommitdiff
path: root/gdb/objfiles.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/objfiles.c')
-rw-r--r--gdb/objfiles.c11
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 any, return the first child. */
res = objfile->separate_debug_objfile;
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)