diff options
Diffstat (limited to 'contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp')
| -rw-r--r-- | contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp b/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp index 4cdbae4d0d96..b724a89f81d2 100644 --- a/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp +++ b/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp @@ -75,6 +75,9 @@ static X86_64RelType getType64(unsigned Kind, case X86::reloc_riprel_4byte_relax_rex: case X86::reloc_riprel_4byte_movq_load: return RT64_32; + case X86::reloc_branch_4byte_pcrel: + Modifier = MCSymbolRefExpr::VK_PLT; + return RT64_32; case FK_PCRel_2: case FK_Data_2: return RT64_16; @@ -298,9 +301,7 @@ unsigned X86ELFObjectWriter::getRelocType(MCContext &Ctx, const MCValue &Target, return getRelocType32(Ctx, Modifier, getType32(Type), IsPCRel, Kind); } -std::unique_ptr<MCObjectWriter> -llvm::createX86ELFObjectWriter(raw_pwrite_stream &OS, bool IsELF64, - uint8_t OSABI, uint16_t EMachine) { - auto MOTW = llvm::make_unique<X86ELFObjectWriter>(IsELF64, OSABI, EMachine); - return createELFObjectWriter(std::move(MOTW), OS, /*IsLittleEndian=*/true); +std::unique_ptr<MCObjectTargetWriter> +llvm::createX86ELFObjectWriter(bool IsELF64, uint8_t OSABI, uint16_t EMachine) { + return llvm::make_unique<X86ELFObjectWriter>(IsELF64, OSABI, EMachine); } |
