DW_AT_[MIPS_]linkage_name inconsistency

We're inconsistent about using DW_AT_MIPS_linkage_name versus
DW_AT_linkage_name.

Variables (see DwarfCompileUnit::getOrCreateGlobalVariableDIE())
get the standard attribute for DWARF >= 4, MIPS for older.

Subprograms (see DwarfUnit::applySubprogramDefinitionAttributes())
always get DW_AT_MIPS_linkage_name (no version check).

Before I go drudging through however many tests will die if I add
a version check... we DO want to fix this, right?
Thanks,
--paulr

P.S. PS4 doesn't want linkage names at all, which will probably
be even more painful test-wise, but it seemed like cleaning up
this bit should come first regardless.

We’re inconsistent about using DW_AT_MIPS_linkage_name versus
DW_AT_linkage_name.

Variables (see DwarfCompileUnit::getOrCreateGlobalVariableDIE())
get the standard attribute for DWARF >= 4, MIPS for older.

Subprograms (see DwarfUnit::applySubprogramDefinitionAttributes())
always get DW_AT_MIPS_linkage_name (no version check).

Probably just a bug. It’s definitely not intentional on my part.

Before I go drudging through however many tests will die if I add
a version check… we DO want to fix this, right?

Yep.

Thanks,
–paulr

P.S. PS4 doesn’t want linkage names at all, which will probably
be even more painful test-wise, but it seemed like cleaning up
this bit should come first regardless.

Yeah. Other fun is various different vendor attributes that we probably don’t want depending on debugger that’s going to be used.

-fgdb-extensions, -flldb-extensions, -f-extensions?

-eric

Yeah. Other fun is various different vendor attributes that we probably don’t want depending on debugger that’s going to be used.

-fgdb-extensions, -flldb-extensions, -f-extensions?

Yeah, we’ve been tolerating all those DW_AT_APPLE_* things for years. Never quite annoying or space-consuming enough to do something about. J

Being able to specify debugger-specific behavior separately from target is an intriguing idea. Would sure make the testing easier even if end users don’t care.

–paulr

Yeah. Other fun is various different vendor attributes that we probably don't want depending on debugger that's going to be used.

-fgdb-extensions, -flldb-extensions, -f<whatever your debugger is called>-extensions?

Yeah, we've been tolerating all those DW_AT_APPLE_* things for years. Never quite annoying or space-consumingabout. J

Being able to specify debugger-specific behavior separately from target is an intriguing idea. Would sure make the testing easier even if end users don't care.

Agreed! Many of the checks for the Darwin platform should really be a check for LLDB extensions, so platforms like FreeBSD that use LLDB as the system debugger can benefit from it, too.

-- adrian