diff options
author | Bill Wendling <isanbard@gmail.com> | 2013-07-08 21:34:52 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2013-07-08 21:34:52 +0000 |
commit | 8722e25715f9c56a1f2a03587211f2b0d98b330d (patch) | |
tree | cf6b6da1410c426aa97e8400ee2decb11516194a /lib/CodeGen/TargetLoweringObjectFileImpl.cpp | |
parent | 69097a29ceb14f33d00153ec358afcf6c9d6e90b (diff) | |
download | llvm-8722e25715f9c56a1f2a03587211f2b0d98b330d.tar.gz llvm-8722e25715f9c56a1f2a03587211f2b0d98b330d.tar.bz2 llvm-8722e25715f9c56a1f2a03587211f2b0d98b330d.tar.xz |
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>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185872 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
-rw-r--r-- | lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/lib/CodeGen/TargetLoweringObjectFileImpl.cpp index 3e1afc01e0..c92894555b 100644 --- a/lib/CodeGen/TargetLoweringObjectFileImpl.cpp +++ b/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. |