This is the mail archive of the gdb@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]

Wrong source location in symbols


Hi

I seem to have a problem with the code loaction of symbols.

gdb 6.5, gcc 4.1.0, compiled for ppc-eabi, running on WinXP

Here's a snippet from the generated map file:

 .text          0x0000f6f4      0x41c N:/Indel-PPC/Tests/gccext3/bin41/CTaskTemplateClass.603
                0x0000fa28                _TASK_CLASS_NAME_::_TASK_CLASS_NAME_(char*)
...(snip)...
 .text          0x00097bfc       0x14 N:/IMD/Lib41/libnosys.a(write.o)
                0x00097bfc                write

.ctors          0x00097c10       0x98
...(snip)...

.dtors          0x00097ca8       0x10
...(snip)...

.got
                0x00097cb8                PROVIDE (__STARTUP_BEGIN, .)

.startup        0x00097cb8    0x12320
 *(.startup)
 .startup       0x00097cb8       0x6c N:/Indel-PPC/Tests/gccext3/bin41/CTaskTemplateClass.603
                0x00097cb8                _INI_1000__TASK_CLASS_NAME_()

But when I dump the symbol tables I get this:

[1001] T 0xeb20 _ZN17_TASK_CLASS_NAME_6ActionEv section .text  _TASK_CLASS_NAME_::Action()  write.c
[1002] T 0xebdc _ZN17_TASK_CLASS_NAME_D0Ev section .text  _TASK_CLASS_NAME_::~_TASK_CLASS_NAME_()  write.c
...(snip)...
[3549] B 0x98d44 Reg_INI_0101_INOS_TGT section .bss  write.c
[3550] B 0x98d50 Reg_INI_0145_INOS_TGT section .bss  write.c
[3551] B 0x98d5c Reg_INI_0205_INOS_TGT section .bss  write.c
[3552] B 0x98d68 Reg_INI_0160_INOS_TGT section .bss  write.c
...(snip)...
[3567] T 0x99bec _Z27_INI_1000__TASK_CLASS_NAME_v section .startup  _INI_1000__TASK_CLASS_NAME_()  write.c
[3575] T 0x9a530 _Z18_INI_0002_INCO_NETv section .startup  _INI_0002_INCO_NET()  write.c
[3576] T 0x9a5fc _Z18_INI_0150_INCO_NETv section .startup  _INI_0150_INCO_NET()  write.c
[3577] T 0x9a744 _Z27_INI_0002_CSAMDeviceSioLoadv section .startup  _INI_0002_CSAMDeviceSioLoad()  write.c

No matter where they are defined, the symbols get as location the (wrong)
file write.c, so the last valid file from the .text section. I tried with both
-gstabs or -gdwarf-2, but that didn't change anything. I also tried with
forward and back slashes in the paths of the compiled files, no luck.

Where's the code in gdb that would set these locations?

Thanks

bye  Fabi



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