On 27/05/2026 09:00, Michael Van Canneyt via fpc-devel wrote:
On Tue, 26 May 2026, Martin Frb via fpc-devel wrote:
I have updated
https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/683
It should provide the new tag as specified by the DWARF
documentation. (including Dwarf-5 as that was added to FPC).
Given that many debuggers don't yet implement it, or (as gdb) have
bugs, like failing for if the language is Pascal, I propose to add a
new dwarf option.
This also allows it to be combined with the existing -godwarfcpp =>
in case of gdb actually of some interest (works for some string types).
As for the name of the option, if there are better ideas....
I also hope that this option (or if preferred an additional extra
option "goDwarfProperty" like "goDwarfWithSets") may be added for the
new property code (which is based on the not yet released DWARF-6).
Why not simply use -godwarf5/6 ?
Actually those are
-gw4
-gw5
and both exist.
For the moment that would suffice (at least for strings), since they are
the only info that is controlled by those yet.
That would mean, anyone using LLDB/GDB must simple keep using -gw3 (or
lower, in case of GDB -gw2 may still be better I think)
Immediate plans don't have anything to be added that would be of
difference for LLDB/GDB. So the above may hold for a good time to come.
But of course, no one knows, if anything will be found where LLDB/GDB
would benefit from some DWARF 4/5 encoding.
---------
If -gw4/5 are used then the question is: Should -goDwarfCpp disable the
new string tag. As indicated, under GDB it (mostly) works for a byte
based strings. (except index access).
On the other hand, the old encoding works fine for "language = c++" too.
(and FpDebug should not be used with goDwarfCpp)
---------
The other question is then how to proceed with the new property tag.
I don't think that using -gw6 just yet is a good idea. We don't know if
there will be further changes to the CU headers (or other headers).
The DW_TAG_property is unlikely to change. And even if, no consumer
except FpDebug would read it, if the DWARF version is 5 (or less).
Since leading members of the DWARF committee have said that is it ok to
use tag/attributes outside the documented context, there should be no
problem if we generated DWARF-5, and added the property tag to it.
We would then double check that it hasn't changed, when DWARF-6 comes,
and before we add -gw6.
But thenĀ for that we do need a new -goDwarf### option.
_______________________________________________
fpc-devel maillist - [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel