On 26 Oct 2009, at 14:57, Bruce Bauman wrote:

Does this mean the 32-bit version of FPC generates STABS and the 64- bit
version generates DWARF?

By default, yes. You can also force the 32 bit version generate DWARF by using -gw2 rather than -g

If my goal was to use gdb on a large application written in Pascal, am I
better off using the 32-bit version because the debugger support is
better?

It depends.

Advantages of using Stabs instead of DWARF
* var parameters (although if you simply print the value of a reference parameter in gdb, you also get the value; it's just in the stack frame info that they're displayed as addresses) * symbolic constants (i.e., not "typed constants) are supported in Stabs, but not in DWARF * shortstrings are sometimes truncated to 8 characters when you use DWARF (but I still haven't figured out why)

Advantages of using DWARF instead of Stabs
* faster linking
* support for absolute variables (in FPC 2.3.x and later)
* support for properties that map directly to fields (in FPC 2.3.x and later)
* support for 64 bit systems
* will get support for dynamic arrays, ansistrings etc in the future
* will keep improving in the future, while Stabs is a dead end

Also, I'm assuming it's the DWARF parser in gdb that needs "fixing". Is
this specific to Pascal, or is the DWARF support generally broken?

The full DWARF specs are simply not yet implemented in gdb. Just like in FPC, GDB development outside the interest of the main contributors is mainly driven by user patches. And at least C and C++ don't have the notion of "var" parameters.


Jonas
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to