On 30/04/2026 00:50, Pierre Muller via fpc-devel wrote:
I tried recently to use dwarfdump, a standard unix utility,
and this tool does indeed list a few issues with
the DWARF information generated by Free Pascal.
I didn't have time to investigate these issues.
I just did try myself.
The list definitely includes false positives.
dwarfdump [Mar 6 2026 19:38:46 (libdwarf 2.3.1 dwarfdump 2.3.1)]
And the latest 3.3.1 fpc
Proof?
*** DWARF CHECK: DW_TAG_compile_unit -> DW_TAG_interface_type: tag-tree
relation is not standard. ***
1) The dwarf docs don't say anything that wouldn't allow this. And as
other types are declared in the CU, where else should an intf be?
2) From dwarfdump sources
https://github.com/avast/libdwarf/blob/master/libdwarf/dwarfdump/tag_tree.list
2a)
Since DWARF is generally descriptive, not prescriptive,
this list is at best a current understanding of
appropriate practice. Moreover the the dwarf standard
does not actually list the tag-tag dependencies.
So mistakes in the list below is certainly possible.
2b)
DW_TAG_interface_type is not listed as possible child to any of the
other tags.
It is only listed as a parent specifying which children it can have.
So given the list in the above file, it couldn't be used anywhere at all.
_______________________________________________
fpc-devel maillist - [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel