[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gdb-5.0 bug - found and fixed
From: |
John Love-Jensen |
Subject: |
gdb-5.0 bug - found and fixed |
Date: |
Wed, 20 Dec 2000 12:22:04 -0600 |
Dear gdb gurus,
I found the bug in gdb-5.0.
In the routine (symtab.c) find_pc_sect_psymtab, the short-circuit logic can
prevent the continued traversal of the ALL_PSYMTABS, causing nested shared
objects to be masked by the parent shared object. (The nested shared
objects can have their pc as a subrange of the parent shared objects
textlow/texthigh range.)
I added an extra local variable...
register struct partical_symtab *best = NULL;
And changed "return (pst);" fallback to...
/* Best we've got so far, but it's still unimpressive. */
/* Maybe a more likely match further down the chain. */
best = pst;
And changd the final "return (NULL);" to...
return (best);
Problem solved in 4 days of scrutinizing gdb code. Three line change.
*whew*
Sincerely,
John Love-Jensen
Adobe Systems Incorporated
PS: SunOS 5.8, gcc 2.95.2, gdb 5.0.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gdb-5.0 bug - found and fixed,
John Love-Jensen <=