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]

Path problem with dwarf on cygwin


Hi

I have another problem. This is again with gcc 4.1.0 and gdb 6.5 both
configured as host=cygwin, target=ppc-eabi (not literally :)

If I compile my project with -gstabs I don't seem to have any problems.
There are some warnings when I load the file but I can work with it.
But with dwarf debug info gdb has quite some problems resolving
files.

stabs:
Reading symbols from /data/gdb-6.5/gdb/gccext3-41s.x...
unknown symbol type 0x1e...expanding to full symbols...couldn't parse type; debu
gger out of date?...block end address less than block start address in fixed32::
fixed32(short, unsigned short) (patched it)...inner block (0xa8e58-0xa8e58) not
inside outer block (0x21d0-0x70950)...inner block not inside outer block in CINO
SModule::CINOSModule(long, char*, char*, char*, char*, char*, char*, char*, char
*, char*)...done.

(gdb) info line N:\Indel-PPC\Tests\gccext3\applicat\src\CTaskTemplateClass.cpp:142
Line 142 of "N:\Indel-PPC\Tests\gccext3\applicat\src\CTaskTemplateClass.cpp"
   starts at address 0xebd8 <_ZN17_TASK_CLASS_NAME_6ActionEv+184>
   and ends at 0xebdc <_ZN17_TASK_CLASS_NAME_D0Ev>.

dwarf:
Reading symbols from /data/gdb-6.5/gdb/gccext3-41d.x...unknown symbol type 0x1e.
..expanding to full symbols...Location list used without specifying the CU base
address....unsupported const value attribute form: 'DW_FORM_strp'...done.

(gdb) info line N:\Indel-PPC\Tests\gccext3\applicat\src\CTaskTemplateClass.cpp:142
Line number 142 is out of range for "N:\Indel-PPC\Tests\gccext3\applicat\src\CTaskTemplateClass.cpp".
(gdb) info line N:\Indel-PPC\Tests\gccext3\applicat\src/CTaskTemplateClass.cpp:142
Line number 142 is out of range for "N:\Indel-PPC\Tests\gccext3\applicat\src\CTaskTemplateClass.cpp".
(Other combinations of / and \ didn't work either).

After dumping all symbols I found that I have two symtabs for this file, one
has a linetable, the other does not. The only difference is the last path separator.

Symtab for file N:\Indel-PPC\Tests\gccext3\applicat\src\CTaskTemplateClass.cpp
Language: c++

Blockvector:
...

Symtab for file N:\Indel-PPC\Tests\gccext3\applicat\src/CTaskTemplateClass.cpp
Language: c++
Line table:
...
line 142 at 0xebd8
...
Blockvector same as previous symtab

How can this happen? Is this a problem of gcc or gdb? As I call gcc directly,
not from inside the cygwin shell, I give all paths with backslashes. So why is
there one with a forward slash?

Is there a possibility to tell gdb that these are the same files and not
create two symtabs? Or maybe a flag for configure of gcc/gdb? Something
like the textmode.o module for cygwin compiled programs.

Thanks

bye  Fabi



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