27 SystemZObjectWriter(uint8_t OSABI);
28 ~SystemZObjectWriter()
override =
default;
33 const MCFixup &Fixup,
bool IsPCRel)
const override;
38 SystemZObjectWriter::SystemZObjectWriter(uint8_t OSABI)
70 case FK_Data_4:
return ELF::R_390_TLS_LE32;
71 case FK_Data_8:
return ELF::R_390_TLS_LE64;
79 case FK_Data_4:
return ELF::R_390_TLS_LDO32;
80 case FK_Data_8:
return ELF::R_390_TLS_LDO64;
88 case FK_Data_4:
return ELF::R_390_TLS_LDM32;
89 case FK_Data_8:
return ELF::R_390_TLS_LDM64;
98 case FK_Data_4:
return ELF::R_390_TLS_GD32;
99 case FK_Data_8:
return ELF::R_390_TLS_GD64;
119 bool IsPCRel)
const {
129 assert(!IsPCRel &&
"NTPOFF shouldn't be PC-relative");
134 return ELF::R_390_TLS_IEENT;
135 llvm_unreachable(
"Only PC-relative INDNTPOFF accesses are supported for now");
138 assert(!IsPCRel &&
"DTPOFF shouldn't be PC-relative");
142 assert(!IsPCRel &&
"TLSLDM shouldn't be PC-relative");
146 assert(!IsPCRel &&
"TLSGD shouldn't be PC-relative");
151 return ELF::R_390_GOTENT;
155 assert(IsPCRel &&
"@PLT shouldt be PC-relative");
163 std::unique_ptr<MCObjectTargetWriter>
165 return std::make_unique<SystemZObjectWriter>(OSABI);
This class represents lattice values for constants.
This represents an "assembler immediate".
block Block Frequency true
MCSymbolRefExpr::VariantKind getAccessVariant() const
static unsigned getTLSGDReloc(unsigned Kind)
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
std::unique_ptr< MCObjectTargetWriter > createSystemZObjectWriter(uint8_t OSABI)
static unsigned getRelocType(const MCValue &Target, const MCFixupKind FixupKind, const bool IsPCRel)
Translates generic PPC fixup kind to Mach-O/PPC relocation type enum.
static unsigned getPCRelReloc(unsigned Kind)
Context object for machine code objects.
static unsigned getTLSLEReloc(unsigned Kind)
static unsigned getPLTReloc(unsigned Kind)
static unsigned getTLSLDMReloc(unsigned Kind)
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
PowerPC TLS Dynamic Call Fixup
static unsigned getAbsoluteReloc(unsigned Kind)
Target - Wrapper for Target specific information.
static unsigned getTLSLDOReloc(unsigned Kind)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
MCFixupKind getKind() const