mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-03 14:31:10 +00:00
Merging r198937:
------------------------------------------------------------------------ r198937 | kristof.beyls | 2014-01-10 08:41:49 -0500 (Fri, 10 Jan 2014) | 2 lines Make sure -use-init-array has intended effect on all AArch64 ELF targets, not just linux. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@206065 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1c59c2012a
commit
d5a280dab1
@ -31,12 +31,8 @@ using namespace llvm;
|
||||
|
||||
static TargetLoweringObjectFile *createTLOF(AArch64TargetMachine &TM) {
|
||||
const AArch64Subtarget *Subtarget = &TM.getSubtarget<AArch64Subtarget>();
|
||||
|
||||
if (Subtarget->isTargetLinux())
|
||||
return new AArch64LinuxTargetObjectFile();
|
||||
if (Subtarget->isTargetELF())
|
||||
return new TargetLoweringObjectFileELF();
|
||||
llvm_unreachable("unknown subtarget type");
|
||||
assert (Subtarget->isTargetELF() && "unknown subtarget type");
|
||||
return new AArch64ElfTargetObjectFile();
|
||||
}
|
||||
|
||||
AArch64TargetLowering::AArch64TargetLowering(AArch64TargetMachine &TM)
|
||||
|
@ -22,3 +22,10 @@ AArch64LinuxTargetObjectFile::Initialize(MCContext &Ctx,
|
||||
TargetLoweringObjectFileELF::Initialize(Ctx, TM);
|
||||
InitializeELF(TM.Options.UseInitArray);
|
||||
}
|
||||
|
||||
void
|
||||
AArch64ElfTargetObjectFile::Initialize(MCContext &Ctx,
|
||||
const TargetMachine &TM) {
|
||||
TargetLoweringObjectFileELF::Initialize(Ctx, TM);
|
||||
InitializeELF(TM.Options.UseInitArray);
|
||||
}
|
||||
|
@ -20,8 +20,12 @@
|
||||
|
||||
namespace llvm {
|
||||
|
||||
/// AArch64LinuxTargetObjectFile - This implementation is used for linux
|
||||
/// AArch64.
|
||||
/// AArch64ElfTargetObjectFile - This implementation is used for ELF
|
||||
/// AArch64 targets.
|
||||
class AArch64ElfTargetObjectFile : public TargetLoweringObjectFileELF {
|
||||
virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
|
||||
};
|
||||
|
||||
class AArch64LinuxTargetObjectFile : public TargetLoweringObjectFileELF {
|
||||
virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
|
||||
};
|
||||
|
@ -1,4 +1,5 @@
|
||||
; RUN: llc -mtriple=aarch64-none-linux-gnu -verify-machineinstrs -use-init-array < %s | FileCheck %s
|
||||
; RUN: llc -mtriple=aarch64-none-none-eabi -verify-machineinstrs -use-init-array < %s | FileCheck %s
|
||||
|
||||
define internal void @_GLOBAL__I_a() section ".text.startup" {
|
||||
ret void
|
||||
|
Loading…
x
Reference in New Issue
Block a user