summaryrefslogtreecommitdiff
path: root/lib/Target/TargetLoweringObjectFile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/TargetLoweringObjectFile.cpp')
-rw-r--r--lib/Target/TargetLoweringObjectFile.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/TargetLoweringObjectFile.cpp b/lib/Target/TargetLoweringObjectFile.cpp
index bd683db893..3ef2b3f3ab 100644
--- a/lib/Target/TargetLoweringObjectFile.cpp
+++ b/lib/Target/TargetLoweringObjectFile.cpp
@@ -578,6 +578,10 @@ SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
const char *Prefix = getSectionPrefixForUniqueGlobal(Kind);
SmallString<128> Name;
Name.append(Prefix, Prefix+strlen(Prefix));
+ // FIXME: This will fail for weak globals with no names, this also depends
+ // on the mangling behavior of makeNameProper to mangle the section name
+ // before construction. Instead, this should use getNameWithPrefix on the
+ // global variable and the MCSection printing code should do the mangling.
Mang->makeNameProper(Name, GV->getName());
return getELFSection(Name.str(),