This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


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

Debug format problem with incremental linking



Hi,

I'm running into problems with the debug information that is generated
when compiling a linux kernel for mips.  Basically, I'm seeing that 
multiple function symbols have the same begin address in the .mdebug
section.  For example -- the init_arch and r3081_wait functions in my
build have differnet addresses as far as compilation is concerned, and
code executes correctly.  When I look into the .mdebug section, I see 
that the begin, end, stab, and external records are all correct for 
the r3081_wait function, but that the begin record for the init_arch
function is the same as that for the the r3081_wait function!  This in
turn seems to be causing the stab and external records to be incorrect,
causing symbolic problems in my debugger.  

I've traced the problem down, and it seems to be a side-effect of 
partial linking.  When the linker links multiple .o files into another
.o file (which is later used as input to another ld command), the 
debug records inside the .mdebug section are getting corrupted.  Has
anyone run into this problem before?  Any suggestions of other flags
I can pass into the partial link that may help?  I'm using the mipsel
rpm of binutils 2.9.5-3.  Or, are there any alternatives to 
partial linking that don't involve a lot of makefile manipulation?

I'm currently passing the -ggdb flag to the compiler to generate the
debug info.  I've also tried using coff format to remove the stab 
records, but that option does not allow the 2.4 kernel to compile 
under egcs 2.91.66.

Any ideas?  Thanks,

-ian

-- 
----------------------------------------
Ian Thompson           tel: 408.952.2023
Firmware Engineer      fax: 408.570.0910
Palmchip Corporation   www.palmchip.com


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