diff --git a/gdb/symtab.c b/gdb/symtab.c index 9eb3784..23707d6 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -4536,6 +4536,10 @@ append_exact_match_to_sals (char *filename, char *fullname, int lineno, exact = 1; append_expanded_sal (ret, objfile->pspace, symtab, lineno, item->pc); + + if (j + 1 < len + && l->item[j + 1].line == lineno) + j++; } else if (!exact && item->line > lineno && (*best_item == NULL @@ -4660,15 +4664,15 @@ expand_line_sal (struct symtab_and_line sal) at the first instruction of that line, hence we want to eliminate the highest address. */ - for (i = ret.nelts - 1; i >= 0; i--) - if (blocks[i] != NULL) - for (j = 0; j < ret.nelts; ++j) - if (j != i && filter[j] && contained_in (blocks[i], blocks[j])) - { - filter[i] = 0; - ++deleted; - break; - } +// for (i = ret.nelts - 1; i >= 0; i--) +// if (blocks[i] != NULL) +// for (j = 0; j < ret.nelts; ++j) +// if (j != i && filter[j] && contained_in (blocks[i], blocks[j])) +// { +// filter[i] = 0; +// ++deleted; +// break; +// } { struct symtab_and_line *final =