diff options
Diffstat (limited to 'gdb/objfiles.c')
-rw-r--r-- | 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 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) |