diff options
Diffstat (limited to 'lib/Target/TargetLoweringObjectFile.cpp')
-rw-r--r-- | lib/Target/TargetLoweringObjectFile.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Target/TargetLoweringObjectFile.cpp b/lib/Target/TargetLoweringObjectFile.cpp index 82619c73e2..421f1e8fa8 100644 --- a/lib/Target/TargetLoweringObjectFile.cpp +++ b/lib/Target/TargetLoweringObjectFile.cpp @@ -295,7 +295,12 @@ getSymbolForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang, // FIXME: Use GetGlobalValueSymbol. SmallString<128> Name; Mang->getNameWithPrefix(Name, GV, false); - const MCSymbol *Sym = getContext().GetOrCreateSymbol(Name.str()); + const MCSymbol *Sym; + + if (GV->hasPrivateLinkage()) + Sym = getContext().GetOrCreateTemporarySymbol(Name.str()); + else + Sym = getContext().GetOrCreateSymbol(Name.str()); return getSymbolForDwarfReference(Sym, MMI, Encoding); } |