bug-gdb
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]