diff --git a/lld/ELF/Arch/BPF.cpp b/lld/ELF/Arch/BPF.cpp index 1d60ff58b9600..fbe5a8c1d7339 100644 --- a/lld/ELF/Arch/BPF.cpp +++ b/lld/ELF/Arch/BPF.cpp @@ -47,8 +47,6 @@ RelExpr BPF::getRelExpr(RelType type, const Symbol &s, return R_PC; case R_BPF_64_64: return R_ABS; - case R_BPF_64_ABS64: - return R_ADDEND; default: error(getErrorLocation(loc) + "unrecognized reloc " + toString(type)); } @@ -78,14 +76,6 @@ void BPF::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const { write32le(loc + 8 + 4, val >> 32); break; } - case R_BPF_64_ABS64: { - // The relocation type is used for normal 64-bit data. The - // actual to-be-relocated data is stored at r_offset and the - // read/write data bitsize is 64 (8 bytes). The relocation can - // be resolved with the symbol value plus implicit addend. - write64le(loc, val); - break; - } default: error(getErrorLocation(loc) + "unrecognized reloc " + toString(rel.type)); } diff --git a/llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp b/llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp index 232e5a39bcb7e..0fff2682e7666 100644 --- a/llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp +++ b/llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp @@ -64,7 +64,7 @@ unsigned BPFELFObjectWriter::getRelocType(MCContext &Ctx, const MCValue &Target, // CALL instruction. return ELF::R_BPF_64_32; case FK_Data_8: - return ELF::R_BPF_64_ABS64; + return ELF::R_BPF_64_64; case FK_Data_4: if (const MCSymbolRefExpr *A = Target.getSymA()) { const MCSymbol &Sym = A->getSymbol();