mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-20 02:34:48 +00:00
fix the definitions of ConstTextCoalSection/ConstDataCoalSection
to keep "Text" in sync with the "pure instructions" section attribute. Lack of this attribute was preventing the assembler from emitting multibyte noops instructions for templates (and inlines, and other coalesced stuff) and was causing the assembler to mismatch .o files. This fixes rdar://8018335 llvm-svn: 108461
This commit is contained in:
parent
403b684f74
commit
e2f110cba5
@ -518,12 +518,13 @@ void TargetLoweringObjectFileMachO::Initialize(MCContext &Ctx,
|
||||
SectionKind::getText());
|
||||
ConstTextCoalSection
|
||||
= getContext().getMachOSection("__TEXT", "__const_coal",
|
||||
MCSectionMachO::S_COALESCED,
|
||||
MCSectionMachO::S_COALESCED |
|
||||
MCSectionMachO::S_ATTR_PURE_INSTRUCTIONS,
|
||||
SectionKind::getText());
|
||||
ConstDataCoalSection
|
||||
= getContext().getMachOSection("__DATA","__const_coal",
|
||||
MCSectionMachO::S_COALESCED,
|
||||
SectionKind::getText());
|
||||
SectionKind::getReadOnly());
|
||||
ConstDataSection // .const_data
|
||||
= getContext().getMachOSection("__DATA", "__const", 0,
|
||||
SectionKind::getReadOnlyWithRel());
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
; TODO: linux drops this into .rodata, we drop it into ".gnu.linkonce.r.G2"
|
||||
|
||||
; DARWIN: .section __TEXT,__const_coal,coalesced
|
||||
; DARWIN: .section __TEXT,__const_coal,coalesced,pure_instructions
|
||||
; DARWIN: _G2:
|
||||
; DARWIN: .long 42
|
||||
|
||||
@ -85,7 +85,7 @@
|
||||
; LINUX: .byte 1
|
||||
; LINUX: .size G6, 1
|
||||
|
||||
; DARWIN: .section __TEXT,__const_coal,coalesced
|
||||
; DARWIN: .section __TEXT,__const_coal,coalesced,pure_instructions
|
||||
; DARWIN: .globl _G6
|
||||
; DARWIN: .weak_definition _G6
|
||||
; DARWIN:_G6:
|
||||
|
Loading…
x
Reference in New Issue
Block a user