22 explicit LanaiELFObjectWriter(
uint8_t OSABI);
24 ~LanaiELFObjectWriter()
override =
default;
28 bool IsPCRel)
const override;
34LanaiELFObjectWriter::LanaiELFObjectWriter(
uint8_t OSABI)
38unsigned LanaiELFObjectWriter::getRelocType(
const MCFixup &
Fixup,
41 unsigned Kind =
static_cast<unsigned>(
Fixup.getKind());
44 Type = ELF::R_LANAI_21;
47 Type = ELF::R_LANAI_21_F;
50 Type = ELF::R_LANAI_25;
54 Type = ELF::R_LANAI_32;
57 Type = ELF::R_LANAI_HI16;
60 Type = ELF::R_LANAI_LO16;
63 Type = ELF::R_LANAI_NONE;
72bool LanaiELFObjectWriter::needsRelocateWithSymbol(
const MCValue &,
73 unsigned Type)
const {
76 case ELF::R_LANAI_21_F:
79 case ELF::R_LANAI_HI16:
86std::unique_ptr<MCObjectTargetWriter>
88 return std::make_unique<LanaiELFObjectWriter>(OSABI);
PowerPC TLS Dynamic Call Fixup
virtual unsigned getRelocType(const MCFixup &Fixup, const MCValue &Target, bool IsPCRel) const =0
virtual bool needsRelocateWithSymbol(const MCValue &, unsigned Type) const
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
The instances of the Type class are immutable: once they are created, they are never changed.
#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_Data_4
A four-byte fixup.
std::unique_ptr< MCObjectTargetWriter > createLanaiELFObjectWriter(uint8_t OSABI)