gc is not generating DW_AT_name according to the spec.
DW_AT_name is "a string representing the name as it appears in the source program."
Mangled names should go in DW_AT_linkage_name.
I've seen names like these:
package.functioname for functions
package.(type).functionname for methods
package.functioname.func1 for closures
package.type for types
These should all be the linkage_name.
We should probably represent packages as DW_TAG_namespace. Functions and types should be children of the package. Methods should be children of the type. Anonymous functions should only have a linkage_name and not a DW_AT_name.
It would also be good to fix variables to represent what's in the source, e.g. no '&foo'.
The text was updated successfully, but these errors were encountered: