This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Bug handling zero sized symbols in minsyms.c
On Wed, 2008-07-02 at 09:58 -0700, Robert Norton wrote:
> Hi,
>
> In minsyms.c:lookup_minimal_symbol_by_pc_section() there is some code
> which attempts to prefer symbols with sizes over those with zero size.
> This is quite useful[1]. Unfortunately the present code will only work
> if there is at most one zero-sized symbol. The fix is around line 503:
>
> if (MSYMBOL_SIZE (&msymbol[hi]) == 0
> && best_zero_sized == -1)
> {
> best_zero_sized = hi;
> hi--;
> continue;
> }
>
> SHOULD be:
>
> if (MSYMBOL_SIZE (&msymbol[hi]) == 0)
> {
> if (best_zero_sized == -1)
> best_zero_sized = hi;
> hi--;
> continue;
> }
>
> We keep the highest zero-sized symbol as the best but continue to
> iterate backwards until we hit a non-zero-sized symbol or run out of
> symbols. It's pretty clear that this is what was originally intended.
Your change is good, thanks.
> I can get copyright assigment for this if required although it seems
> pretty trivial...
Not necessary, but feel free to if you'd like.
I think this is at least the second change you've submitted.
Could you give us a change log entry please?