mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
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
This commit is contained in:
@ -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.
|
||||
|
Reference in New Issue
Block a user