24 BPFELFObjectWriter(uint8_t OSABI);
25 ~BPFELFObjectWriter()
override =
default;
34BPFELFObjectWriter::BPFELFObjectWriter(uint8_t OSABI)
42 switch (
Fixup.getKind()) {
47 return ELF::R_BPF_64_64;
50 return ELF::R_BPF_64_32;
52 return ELF::R_BPF_64_ABS64;
57 if (
Sym.isDefined()) {
59 const MCSectionELF *SectionELF = dyn_cast<MCSectionELF>(&Section);
60 assert(SectionELF &&
"Null section for reloc symbol");
64 if (
Sym.isTemporary()) {
72 return ELF::R_BPF_64_NODYLD32;
78 return ELF::R_BPF_64_NODYLD32;
82 return ELF::R_BPF_64_ABS32;
86std::unique_ptr<MCObjectTargetWriter>
88 return std::make_unique<BPFELFObjectWriter>(OSABI);
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
PowerPC TLS Dynamic Call Fixup
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Context object for machine code objects.
virtual unsigned getRelocType(MCContext &Ctx, const MCValue &Target, const MCFixup &Fixup, bool IsPCRel) const =0
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
This represents a section on linux, lots of unix variants and some bare metal systems.
unsigned getFlags() const
Instances of this class represent a uniqued identifier for a section in the current translation unit.
Represent a reference to a symbol from inside an expression.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
This represents an "assembler immediate".
Target - Wrapper for Target specific information.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
This is an optimization pass for GlobalISel generic memory operations.
@ FK_PCRel_4
A four-byte pc relative fixup.
@ FK_Data_8
A eight-byte fixup.
@ FK_Data_4
A four-byte fixup.
@ FK_SecRel_8
A eight-byte section relative fixup.
std::unique_ptr< MCObjectTargetWriter > createBPFELFObjectWriter(uint8_t OSABI)