This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfa] tweak sorting of partial symbols
On Sun, 23 Feb 2003 19:40:25 -0500, Elena Zannoni <ezannoni at redhat dot com> said:
> It seems innocuous enough, and intuitively it makes sense, but can you
> show me a case where it makes a difference? I.e some set of strings
> for which the order would change?
Sure, that's a good question; I should have included such examples
with my original message.
Whitespace example:
Partial symtab contains: "foo<char *>", "goo".
Then, if we try to do a search for "foo<char*>", strcmp will locate
this after "foo<char *>" and before "goo". Then lookup_partial_symbol
will start looking at strings beginning with "goo", and will never see
the correct match of "foo<char *>".
Parenthesis example:
In practice, this is less like to be an issue, but I'll give it a
shot. Let's assume that '$' is a legitimate character to occur in
symbols. (Which may well even be the case on some systems.) Then say
that the partial symbol table contains "foo$" and "foo(int)". strcmp
will put them in this order, since '$' < '('.
Now, if the user searches for "foo", then strcmp will sort "foo"
before "foo$". Then lookup_partial_symbol will notice that
strcmp_iw("foo$", "foo") is false, so it won't proceed to the actual
match of "foo(int)" with "foo".
David Carlton
carlton at math dot stanford dot edu