Wrong address for static function in linux module
Jean-Rene Peulve
jr.peulve@wanadoo.fr
Wed Apr 12 11:38:00 GMT 2006
Hi Daniel,
I was using -g from the standard uClinux tree to build the kernel.
I just tried -gdwarf-2 and it seems to work.
I got it right with -ggdb as well.
Many thanks.
By the way I had to fixe
Jean-René
At 16:40 11/04/06, Daniel Jacobowitz wrote:
>On Tue, Apr 11, 2006 at 04:31:32PM +0200, Jean-Rene Peulve wrote:
> > Hi Daniel,
> >
> > At 15:38 11/04/06, Daniel Jacobowitz wrote:
> > >On Tue, Apr 11, 2006 at 03:33:32PM +0200, Jean-Rene Peulve wrote:
> > >> Relocation section '.rela.stab' at offset 0x2039c contains 41 entries:
> > >> Offset Info Type Sym.Value Sym. Name + Addend
> > >
> > >...
> > >
> > >> 000032e4 00000201 R_68K_32 00000000 .text + 136
> > >
> > >> Output of m68k-elf-readelf -s horloge.o:
> > >> Symbol table '.symtab' contains 47 entries:
> > >> ..
> > >> 12: 00000136 62 FUNC LOCAL DEFAULT 1 horloge_read
> > >
> > >There's your relocation of debug info.
> > >
> > >It is entirely likely that the problem only happens because you're
> > >using stabs. It's supposed to work, but I've never tried it. Try
> > >taking a look at the contents of the .stab section at that offset
> > >(0x32e4) in the file. Then breakpoint after the call to
> > >symfile_relocate_debug_section in elfstab_build_psymtabs, and see
> > >what's at offset 0x32e4 now. It should be a bit relocated.
> >
> > In bfd_perform_relocation for the .stab section I see that at line 633
> > relocation is 0 for the static function horloge_read when it is 0x37a for
> > the non static function HorlogeCheck.
>
>That is not a problem. That's just the symbol value, relative to the
>start of .text. Look down at line 645, and you'll see the addend
>applied.
>
> > What do you recommend to use rather than stabs ?
>
>DWARF-2.
>
>--
>Daniel Jacobowitz
>CodeSourcery
More information about the Gdb
mailing list