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

Michael Snyder
2001-09-10T11:24:00Z

Jason Molenda wrote:
>
> 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;
> + }

If this test works, then wouldn't some sort of strcmp test work too?