aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2013-07-08 21:34:52 +0000
committerBill Wendling <isanbard@gmail.com>2013-07-08 21:34:52 +0000
commit0176708e85e2a374790fcc340366f5ca6218ca10 (patch)
treed3c03f962c6d9ec452032acd3fefd0c98968ea5b /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
parent72ebead43f3910debfb2aaa5ab2e51cdb4f56624 (diff)
downloadllvm-0176708e85e2a374790fcc340366f5ca6218ca10.zip
llvm-0176708e85e2a374790fcc340366f5ca6218ca10.tar.gz
llvm-0176708e85e2a374790fcc340366f5ca6218ca10.tar.bz2
Stop emitting weak symbols into the "coal" sections.
The Mach-O linker has been able to support the weak-def bit on any symbol for quite a while now. The compiler however continued to place these symbols into a "coal" section, which required the linker to map them back to the base section name. Replace the sections like this: __TEXT/__textcoal_nt instead use __TEXT/__text __TEXT/__const_coal instead use __TEXT/__const __DATA/__datacoal_nt instead use __DATA/__data <rdar://problem/14265330> llvm-svn: 185872
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
-rw-r--r--llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
index 3e1afc0..c928945 100644
--- a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+++ b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
@@ -524,14 +524,14 @@ const MCSection *TargetLoweringObjectFileMachO::
SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
Mangler *Mang, const TargetMachine &TM) const {
if (Kind.isText())
- return GV->isWeakForLinker() ? TextCoalSection : TextSection;
-
- // If this is weak/linkonce, put this in a coalescable section, either in text
- // or data depending on if it is writable.
+ return TextSection;
+
+ // If this is weak/linkonce, put this in a read only or data section depending
+ // on whether or not it's writable.
if (GV->isWeakForLinker()) {
if (Kind.isReadOnly())
- return ConstTextCoalSection;
- return DataCoalSection;
+ return ReadOnlySection;
+ return DataSection;
}
// FIXME: Alignment check should be handled by section classifier.