aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-29 04:54:38 +0000
committerChris Lattner <sabre@nondot.org>2009-07-29 04:54:38 +0000
commit067fe1ae5488764afb8d8fdafba65899dc221887 (patch)
treee741fe98184af9f319689694d930abc141a0abff
parent95db93caa1130725123eb50479d0c51c09e8a2f4 (diff)
downloadexternal_llvm-067fe1ae5488764afb8d8fdafba65899dc221887.zip
external_llvm-067fe1ae5488764afb8d8fdafba65899dc221887.tar.gz
external_llvm-067fe1ae5488764afb8d8fdafba65899dc221887.tar.bz2
remove some completely wrong code. 1 is never < 16. It turns out that GCC appears to put strings of any length into the ELF cstring equivalent, so just rip out the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77429 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/TargetLoweringObjectFile.cpp30
1 files changed, 10 insertions, 20 deletions
diff --git a/lib/Target/TargetLoweringObjectFile.cpp b/lib/Target/TargetLoweringObjectFile.cpp
index 7bd6788..379099b 100644
--- a/lib/Target/TargetLoweringObjectFile.cpp
+++ b/lib/Target/TargetLoweringObjectFile.cpp
@@ -412,28 +412,18 @@ SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
if (Kind.isText()) return TextSection;
if (Kind.isMergeableCString()) {
- //Constant *C = cast<GlobalVariable>(GV)->getInitializer();
+ assert(CStringSection_ && "Should have string section prefix");
- // FIXME: This is completely wrong. Why is it comparing the size of the
- // character type to 1?
- /// cast<ArrayType>(C->getType())->getNumElements();
- uint64_t Size = 1;
- if (Size <= 16) {
- assert(CStringSection_ && "Should have string section prefix");
-
- // We also need alignment here.
- // FIXME: this is getting the alignment of the character, not the
- // alignment of the global!
- unsigned Align =
- TM.getTargetData()->getPreferredAlignment(cast<GlobalVariable>(GV));
-
- std::string Name = CStringSection_->getName() + utostr(Size) + '.' +
- utostr(Align);
- return getOrCreateSection(Name.c_str(), false,
- SectionKind::MergeableCString);
- }
+ // We also need alignment here.
+ // FIXME: this is getting the alignment of the character, not the
+ // alignment of the global!
+ unsigned Align =
+ TM.getTargetData()->getPreferredAlignment(cast<GlobalVariable>(GV));
- return ReadOnlySection;
+ std::string Name = CStringSection_->getName() + utostr(Size) + '.' +
+ utostr(Align);
+ return getOrCreateSection(Name.c_str(), false,
+ SectionKind::MergeableCString);
}
if (Kind.isMergeableConst()) {