diff options
author | David Fang <fang@csl.cornell.edu> | 2013-08-08 20:14:40 +0000 |
---|---|---|
committer | David Fang <fang@csl.cornell.edu> | 2013-08-08 20:14:40 +0000 |
commit | b88cdf62f58db831aba26b6c94a8e6866a96a0b7 (patch) | |
tree | b7a0298c05a267b4e7f5d5293a5ab2cba9a86745 /llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp | |
parent | 614f707362f8be2d6fcdcabb1c9f75e91ccfee71 (diff) | |
download | bcm5719-llvm-b88cdf62f58db831aba26b6c94a8e6866a96a0b7.tar.gz bcm5719-llvm-b88cdf62f58db831aba26b6c94a8e6866a96a0b7.zip |
initial draft of PPCMachObjectWriter.cpp
this records relocation entries in the mach-o object file
for PIC code generation.
tested on powerpc-darwin8, validated against darwin otool -rvV
llvm-svn: 188004
Diffstat (limited to 'llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp')
-rw-r--r-- | llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp index b2a8701b68b..dd619548d00 100644 --- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp +++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp @@ -69,19 +69,6 @@ static unsigned getFixupKindNumBytes(unsigned Kind) { } namespace { -class PPCMachObjectWriter : public MCMachObjectTargetWriter { -public: - PPCMachObjectWriter(bool Is64Bit, uint32_t CPUType, - uint32_t CPUSubtype) - : MCMachObjectTargetWriter(Is64Bit, CPUType, CPUSubtype) {} - - void RecordRelocation(MachObjectWriter *Writer, - const MCAssembler &Asm, const MCAsmLayout &Layout, - const MCFragment *Fragment, const MCFixup &Fixup, - MCValue Target, uint64_t &FixedValue) { - llvm_unreachable("Relocation emission for MachO/PPC unimplemented!"); - } -}; class PPCAsmBackend : public MCAsmBackend { const Target &TheTarget; @@ -174,12 +161,11 @@ namespace { MCObjectWriter *createObjectWriter(raw_ostream &OS) const { bool is64 = getPointerSize() == 8; - return createMachObjectWriter(new PPCMachObjectWriter( - /*Is64Bit=*/is64, - (is64 ? object::mach::CTM_PowerPC64 : - object::mach::CTM_PowerPC), - object::mach::CSPPC_ALL), - OS, /*IsLittleEndian=*/false); + return createPPCMachObjectWriter( + OS, + /*Is64Bit=*/is64, + (is64 ? object::mach::CTM_PowerPC64 : object::mach::CTM_PowerPC), + object::mach::CSPPC_ALL); } virtual bool doesSectionRequireSymbols(const MCSection &Section) const { |