From 399f313b12b98f268b6c95967d473dfd64c72df6 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Tue, 9 Feb 2010 10:59:50 +0000 Subject: 2010-02-08 Tristan Gingold * objfiles.c (objfile_separate_debug_iterate): Do not iterate on brothers of the parent. --- gdb/objfiles.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'gdb/objfiles.c') 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) -- cgit v1.1