This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]