This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [rft/symtab] Check the sizes of minimal symbols
On Sun, Jul 09, 2006 at 10:26:20PM +0200, Mark Kettenis wrote:
> > Date: Thu, 6 Jul 2006 23:54:20 -0400
> > From: Daniel Jacobowitz <drow@false.org>
> >
> > This is something I've been meaning to do for years, on general principle.
> > Much to my surprise it did very good things (~ 15% fails fixed) for my
> > native amd64 test run, too, so I have a good example to illustrate with.
> >
> > In ELF, one of the properties of a symbol is its size. If left unspecified,
> > the size is treated as zero. Some hand-written code may lack .size, but
> > most compiled code will have it.
>
> Cool! Unfortunately there seems to be something wrong with the patch.
> On i386-pc-openbsd3.9, a gdb segfaults when I try to run anything.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x1c0066a8 in lookup_minimal_symbol_by_pc_section (pc=469800299,
> section=0x800e95fc) at ../../../src/gdb/gdb/minsyms.c:535
> 535 if (MSYMBOL_SIZE (&msymbol[hi]) != 0
I'm just guessing here but... is hi == -1 when that happens? Does
adding "hi >= 0 &&" to the front of that if statement help?
--
Daniel Jacobowitz
CodeSourcery