From b0dc959e1d2329fd034f7e674d2bc86da5e10e70 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 13 Jan 2010 08:02:14 +0000 Subject: 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 --- llvm/lib/Target/TargetLoweringObjectFile.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'llvm/lib/Target/TargetLoweringObjectFile.cpp') 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(), -- cgit v1.2.3