Relaxations vs debug info
James Bowman <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <2BB0A51F073B384698CACFD1D5A30FCC24F429@glaexch3> |
I am working on some linker relaxations for my target, using existing
relaxation implementations as my pattern.
Everything seems to be working: relaxations are being applied, for example
relaxation reduces the size of function foo from 0x48 to 0x38 bytes.
Checking symbols, it looks good:
$ ft32-elf-objdump -t a.out | grep foo
0000033c g F .text 00000038 foo
However when I look at the debug info (objdump -g) I see that the size is still 0x48:
<a1d> DW_AT_name : foo
<a21> DW_AT_decl_file : 1
<a22> DW_AT_decl_line : 51
<a23> DW_AT_prototyped : 1
<a23> DW_AT_type : <0x5d>
<a27> DW_AT_low_pc : 0x33c
<a2b> DW_AT_high_pc : 0x48
Unsurprisingly this confuses gdb.
My question is: in relaxation, how does the gdb info get adjusted?