[PATCH] D13188: [MachO] Stop generating *coal* sections.
Akira Hatanaka via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 5 16:29:09 PDT 2015
ping
On Fri, Sep 25, 2015 at 7:33 PM, Akira Hatanaka <ahatanak at gmail.com> wrote:
> ahatanak created this revision.
> ahatanak added a subscriber: llvm-commits.
>
> Some background on why we don't have to use *coal* sections anymore:
> Long ago when C++ was new and "weak" had not been standardized, an attempt
> was made in cctools to support C++ inlines that can be coalesced by putting
> them into their own section (__TEXT/__textcoal_nt instead of __TEXT/__text).
>
> The current macho linker supports the weak-def bit on any symbol to allow
> it to be coalesced, but the compiler still puts weak-def functions/data
> into alternate section names, which the linker must map back to the base
> section name.
>
>
> This patch makes changes that are necessary to prevent the compiler and
> asssembler from using the "coal" sections and have them use the base
> sections instead when the target architecture is not powerpc:
>
> __TEXT/__textcoal_nt instead use __TEXT/__text
> __TEXT/__const_coal instead use __TEXT/__const
> __DATA/__datacoal_nt instead use __DATA/__data
>
> If the target is powerpc, we continue to use the *coal* sections since
> anyone targeting powerpc is probably using an old linker that doesn't have
> support for the weak-def bits.
>
> http://reviews.llvm.org/D13188
>
> Files:
> include/llvm/MC/MCContext.h
> lib/MC/MCContext.cpp
> lib/MC/MCObjectFileInfo.cpp
> test/CodeGen/PowerPC/coal-sections.ll
> test/CodeGen/X86/coal-sections.ll
> test/CodeGen/X86/global-sections.ll
> test/MC/MachO/coal-sections-powerpc.s
> test/MC/MachO/coal-sections-x86_64.s
> test/MC/MachO/weakdef.s
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151005/c7affa6e/attachment.html>
More information about the llvm-commits
mailing list