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
- From: "Robert Norton" <rnorton at broadcom dot com>
- To: "Robert Norton" <rnorton at broadcom dot com>, "Michael Snyder" <msnyder at specifix dot com>
- Cc: gdb at sourceware dot org
- Date: Wed, 6 Aug 2008 04:18:02 -0700
- Subject: RE: Bug handling zero sized symbols in minsyms.c
- References: <B0D822BFECD50F4991F2516EA50F273C07A0A2CF@NT-IRVA-0752.brcm.ad.broadcom.com> <1215020690.3601.1592.camel@localhost.localdomain> <B0D822BFECD50F4991F2516EA50F273C07A0A632@NT-IRVA-0752.brcm.ad.broadcom.com>
> -----Original Message-----
> From: gdb-owner@sourceware.org
> [mailto:gdb-owner@sourceware.org] On Behalf Of Robert Norton
> Sent: 03 July 2008 11:17
> To: Michael Snyder
> Cc: gdb@sourceware.org
> Subject: RE: Bug handling zero sized symbols in minsyms.c
>
> > -----Original Message-----
> > From: Michael Snyder [mailto:msnyder@specifix.com]
> > Sent: 02 July 2008 18:45
> > To: Robert Norton
> > Cc: gdb@sourceware.org
> > Subject: 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.
>
> It turns out that we (Broadcom) already have one on file, so
> no problems
> there.
>
> > Could you give us a change log entry please?
>
> How about:
>
> 2008-07-03 Robert Norton (rnorton@broadcom.com)
>
> * minsyms.c: Fix a bug with ignoring zero-sized symbols
> when looking
> up the minsym for a PC.
What is the status of this patch?
Robert