[RFA] bug in symtab.c:lookup_block_symbol()'s search method

Jason Molenda
2001-09-09T07:48:00Z

This patch fixes a bug introduced in October, 2000. Discussion and history
are here:
http://sources.redhat.com/ml/gdb-patches/2001-09/msg00076.html

Analysis of performance impact is here:
http://sources.redhat.com/ml/gdb-patches/2001-09/msg00084.html

This patch should be approved for both the mainline and the 5.1 branch.
It adds no new testsuite failures.

Jason

2001-09-07 Jason Molenda (jmolenda@apple.com)

* symtab.c (lookup_block_symbol): Break out of linear search
if we're past the range of possible matches.

Index: symtab.c
===================================================================
RCS file: /cvs/src/src/gdb/symtab.c,v
retrieving revision 1.42
diff -u -p -r1.42 symtab.c
--- symtab.c 2001/07/07 17:19:50 1.42
+++ symtab.c 2001/09/09 14:17:25
@@ -1249,6 +1249,10 @@ lookup_block_symbol (register const stru
{
return sym;
}
+ if (SYMBOL_SOURCE_NAME (sym)[0] > name[0])
+ {
+ break;
+ }
bot++;
}
}