diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/AsmPrinter.cpp | 10 | ||||
-rw-r--r-- | lib/CodeGen/DwarfWriter.cpp | 4 |
2 files changed, 12 insertions, 2 deletions
diff --git a/lib/CodeGen/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter.cpp index 9f5447fa5f..e9542fc6c1 100644 --- a/lib/CodeGen/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter.cpp @@ -349,6 +349,16 @@ unsigned AsmPrinter::getPreferredAlignmentLog(const GlobalVariable *GV) const { return Alignment; } +/// getGlobalLinkName - Returns the asm/link name of of the specified +/// global variable. Should be overridden by each target asm printer to +/// generate the appropriate value. +void AsmPrinter::getGlobalLinkName(const GlobalVariable *GV, + std::string &LinkName) { + // Default action is to use a global symbol. + LinkName = TAI->getGlobalPrefix(); + LinkName += GV->getName(); +} + // EmitAlignment - Emit an alignment directive to the specified power of two. void AsmPrinter::EmitAlignment(unsigned NumBits, const GlobalValue *GV) const { if (GV && GV->getAlignment()) diff --git a/lib/CodeGen/DwarfWriter.cpp b/lib/CodeGen/DwarfWriter.cpp index 8fe8b4e762..1c52c5bf5d 100644 --- a/lib/CodeGen/DwarfWriter.cpp +++ b/lib/CodeGen/DwarfWriter.cpp @@ -1634,8 +1634,8 @@ DIE *DwarfWriter::NewGlobalVariable(GlobalVariableDesc *GVD) { AddSourceLine(VariableDie, UnitDesc, GVD->getLine()); // Work up linkage name. - std::string LinkageName(TAI->getGlobalPrefix()); - LinkageName += GV->getName(); + std::string LinkageName; + Asm->getGlobalLinkName(GV, LinkageName); // Add address. DIEBlock *Block = new DIEBlock(); |