diff options
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
-rw-r--r-- | llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp index 10729cd81a5..5a8367eea77 100644 --- a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp +++ b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp @@ -960,8 +960,13 @@ void TargetLoweringObjectFileCOFF::getNameWithPrefix( ((isa<Function>(GV) && TM.getFunctionSections()) || (isa<GlobalVariable>(GV) && TM.getDataSections()))) { SmallString<256> Tmp; - Mang.getNameWithPrefix(Tmp, GV, CannotUsePrivateLabel, /*ForceNonPrivate=*/true); - OutName.append(Tmp.begin(), Tmp.end()); + Mang.getNameWithPrefix(Tmp, GV, /*CannotUsePrivateLabel=*/false); + if (Tmp.startswith(".L")) + OutName.append(Tmp.begin() + 2, Tmp.end()); + else if (Tmp.startswith("L")) + OutName.append(Tmp.begin() + 1, Tmp.end()); + else + OutName.append(Tmp.begin(), Tmp.end()); return; } Mang.getNameWithPrefix(OutName, GV, CannotUsePrivateLabel); |