On 09 Sep 2007, at 13:36, Bruce Tulloch wrote:
I've since downloaded and built gdb 6.6 and both problems remain
the same
so I don't think it's gdb per se. This latest GDB version still
produces a
SEGV on stabs symbols from time to time
A segfault in gdb is a bug in gdb regardless of whether our debug
information contains an error or not, but it may of course point at
an error in our debug info. We'll need a compilable example and
instructions on how to reproduce it before we can fix it though.
However for units that are in a directory specified via an -Fu
argument the
names are corrupted as I described before. Eg, -Fusrc/ produces a
filename
for the "Widget" unit as "src//Widget.pas" instead of just
"Widget.pas". In
the case of stabs the filename is reported correctly regardless of
where
the unit is located.
We really do not add any extra directory to the file name, I checked
it in the generated assembler code.
Is there another tool I can use than gdb to dump the dwarf data
from the
object?
readelf -w program
Example:
<0><5d>: Abbrev Number: 1 (DW_TAG_compile_unit)
DW_AT_name : un.pp
DW_AT_producer : Free Pascal 2.3.1 2007/08/28
DW_AT_comp_dir : ./udir
Still, gdb (6.5 under Fedora) also says:
(gdb) info source
Current source file is ./udir//un.pp
Compilation directory is ./udir
Located in /user/jmaebe/lnxhome/fpc/test/udir/un.pp
Jonas
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel