mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Use __literal16. It has been supported by the linker since 2005.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201365 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c5887a2385
commit
cac25de43d
@ -562,7 +562,7 @@ SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
|
||||
return FourByteConstantSection;
|
||||
if (Kind.isMergeableConst8())
|
||||
return EightByteConstantSection;
|
||||
if (Kind.isMergeableConst16() && SixteenByteConstantSection)
|
||||
if (Kind.isMergeableConst16())
|
||||
return SixteenByteConstantSection;
|
||||
}
|
||||
|
||||
@ -601,7 +601,7 @@ TargetLoweringObjectFileMachO::getSectionForConstant(SectionKind Kind) const {
|
||||
return FourByteConstantSection;
|
||||
if (Kind.isMergeableConst8())
|
||||
return EightByteConstantSection;
|
||||
if (Kind.isMergeableConst16() && SixteenByteConstantSection)
|
||||
if (Kind.isMergeableConst16())
|
||||
return SixteenByteConstantSection;
|
||||
return ReadOnlySection; // .const
|
||||
}
|
||||
|
@ -79,16 +79,10 @@ void MCObjectFileInfo::InitMachOMCObjectFileInfo(Triple T) {
|
||||
MCSectionMachO::S_8BYTE_LITERALS,
|
||||
SectionKind::getMergeableConst8());
|
||||
|
||||
// ld_classic doesn't support .literal16 in 32-bit mode, and ld64 falls back
|
||||
// to using it in -static mode.
|
||||
SixteenByteConstantSection = 0;
|
||||
if (RelocM != Reloc::Static &&
|
||||
T.getArch() != Triple::x86_64 && T.getArch() != Triple::ppc64 &&
|
||||
T.getArch() != Triple::ppc64le)
|
||||
SixteenByteConstantSection = // .literal16
|
||||
Ctx->getMachOSection("__TEXT", "__literal16",
|
||||
MCSectionMachO::S_16BYTE_LITERALS,
|
||||
SectionKind::getMergeableConst16());
|
||||
SixteenByteConstantSection // .literal16
|
||||
= Ctx->getMachOSection("__TEXT", "__literal16",
|
||||
MCSectionMachO::S_16BYTE_LITERALS,
|
||||
SectionKind::getMergeableConst16());
|
||||
|
||||
ReadOnlySection // .const
|
||||
= Ctx->getMachOSection("__TEXT", "__const", 0,
|
||||
|
@ -1,5 +1,7 @@
|
||||
; RUN: llc < %s -mtriple=i386-unknown-linux-gnu | FileCheck %s -check-prefix=LINUX
|
||||
; RUN: llc < %s -mtriple=i386-apple-darwin9.7 | FileCheck %s -check-prefix=DARWIN
|
||||
; RUN: llc < %s -mtriple=i386-apple-darwin10 -relocation-model=static | FileCheck %s -check-prefix=DARWIN-STATIC
|
||||
; RUN: llc < %s -mtriple=x86_64-apple-darwin10 | FileCheck %s -check-prefix=DARWIN64
|
||||
; RUN: llc < %s -mtriple=i386-unknown-linux-gnu -fdata-sections | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
|
||||
|
||||
@ -47,6 +49,14 @@
|
||||
; DARWIN: _G4:
|
||||
; DARWIN: .long 34
|
||||
|
||||
; DARWIN-STATIC: .section __TEXT,__literal16,16byte_literals
|
||||
; DARWIN-STATIC: _G4:
|
||||
; DARWIN-STATIC: .long 34
|
||||
|
||||
; DARWIN64: .section __TEXT,__literal16,16byte_literals
|
||||
; DARWIN64: _G4:
|
||||
; DARWIN64: .quad 34
|
||||
|
||||
|
||||
; int G5 = 47;
|
||||
@G5 = global i32 47
|
||||
|
Loading…
Reference in New Issue
Block a user