summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/TargetLoweringObjectFile.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-01-13 08:02:14 +0000
committerChris Lattner <sabre@nondot.org>2010-01-13 08:02:14 +0000
commitb0dc959e1d2329fd034f7e674d2bc86da5e10e70 (patch)
tree392f343c01a4206c46ac1e96e0fb58adeee2216b /llvm/lib/Target/TargetLoweringObjectFile.cpp
parentceb5a4e8f653e72f08c0fe9f8a875c0780078e05 (diff)
downloadbcm5719-llvm-b0dc959e1d2329fd034f7e674d2bc86da5e10e70.tar.gz
bcm5719-llvm-b0dc959e1d2329fd034f7e674d2bc86da5e10e70.zip
add a fixme, ELF MCSection isn't quite right and weak unnamed globals are broken
on linux (even though they are pointless, they shouldn't ICE). llvm-svn: 93308
Diffstat (limited to 'llvm/lib/Target/TargetLoweringObjectFile.cpp')
-rw-r--r--llvm/lib/Target/TargetLoweringObjectFile.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/TargetLoweringObjectFile.cpp b/llvm/lib/Target/TargetLoweringObjectFile.cpp
index bd683db8932..3ef2b3f3abb 100644
--- a/llvm/lib/Target/TargetLoweringObjectFile.cpp
+++ b/llvm/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(),
OpenPOWER on IntegriCloud