Even if the subprogram is going to use AT_specification, emit DW_AT_MIPS_linkage_name. This helps gdb and fixes var-path-expr.exp regression reported by gdb testsuite.
llvm-svn: 130794
This commit is contained in:
parent
f6daf94ab2
commit
543596d57b
|
@ -332,6 +332,11 @@ DIE *DwarfDebug::createSubprogramDIE(DISubprogram SP) {
|
|||
// Add function template parameters.
|
||||
SPCU->addTemplateParams(*SPDie, SP.getTemplateParams());
|
||||
|
||||
StringRef LinkageName = SP.getLinkageName();
|
||||
if (!LinkageName.empty())
|
||||
SPCU->addString(SPDie, dwarf::DW_AT_MIPS_linkage_name, dwarf::DW_FORM_string,
|
||||
getRealLinkageName(LinkageName));
|
||||
|
||||
// If this DIE is going to refer declaration info using AT_specification
|
||||
// then there is no need to add other attributes.
|
||||
if (SP.getFunctionDeclaration().isSubprogram())
|
||||
|
@ -342,11 +347,6 @@ DIE *DwarfDebug::createSubprogramDIE(DISubprogram SP) {
|
|||
SPCU->addString(SPDie, dwarf::DW_AT_name, dwarf::DW_FORM_string,
|
||||
SP.getName());
|
||||
|
||||
StringRef LinkageName = SP.getLinkageName();
|
||||
if (!LinkageName.empty())
|
||||
SPCU->addString(SPDie, dwarf::DW_AT_MIPS_linkage_name, dwarf::DW_FORM_string,
|
||||
getRealLinkageName(LinkageName));
|
||||
|
||||
SPCU->addSourceLine(SPDie, SP);
|
||||
|
||||
if (SP.isPrototyped())
|
||||
|
|
Loading…
Reference in New Issue