Revert "Make sure debug info contains linkage names (DW_AT_MIPS_linkage_name)"

temporarily while investigating gdb.cp/templates.exp.

This reverts commit r181471.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181496 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Christopher
2013-05-09 00:42:33 +00:00
parent c121f5dc26
commit c496875f0c
3 changed files with 12 additions and 135 deletions

View File

@ -1150,24 +1150,20 @@ DIE *CompileUnit::getOrCreateSubprogramDIE(DISubprogram SP) {
// Add function template parameters.
addTemplateParams(*SPDie, SP.getTemplateParams());
// Unfortunately this code needs to stay here instead of below the
// AT_specification code in order to work around a bug in older
// gdbs that requires the linkage name to resolve multiple template
// functions.
// TODO: Remove this set of code when we get rid of the old gdb
// compatibility.
StringRef LinkageName = SP.getLinkageName();
if (!LinkageName.empty() && DD->useDarwinGDBCompat())
addString(SPDie, dwarf::DW_AT_MIPS_linkage_name,
getRealLinkageName(LinkageName));
// If this DIE is going to refer declaration info using AT_specification
// then there is no need to add other attributes, except
// DW_AT_MIPS_linkage_name in two cases:
// 1) The current DIE has a linkage name but the referred-to declaration
// doesn't have one (e.g. constructor/destructor).
// 2) To work around a bug in older gdbs that requires the linkage name to
// resolve multiple template functions. TODO: Remove this case (the
// DD->useDarwinGDBCompat() condition) when we get rid of the old gdb
// compatibility.
// then there is no need to add other attributes.
if (DeclDie) {
if (!LinkageName.empty()
&& (SPDecl.getLinkageName().empty() || DD->useDarwinGDBCompat()))
addString(SPDie, dwarf::DW_AT_MIPS_linkage_name,
getRealLinkageName(LinkageName));
// Refer function declaration directly.
addDIEEntry(SPDie, dwarf::DW_AT_specification, dwarf::DW_FORM_ref4,
DeclDie);
@ -1176,7 +1172,7 @@ DIE *CompileUnit::getOrCreateSubprogramDIE(DISubprogram SP) {
}
// Add the linkage name if we have one.
if (!LinkageName.empty())
if (!LinkageName.empty() && !DD->useDarwinGDBCompat())
addString(SPDie, dwarf::DW_AT_MIPS_linkage_name,
getRealLinkageName(LinkageName));