21 SystemZObjectWriter(uint8_t OSABI);
23 ~SystemZObjectWriter()
override;
28 bool IsPCRel)
const override;
32 SystemZObjectWriter::SystemZObjectWriter(uint8_t OSABI)
36 SystemZObjectWriter::~SystemZObjectWriter() {
65 case FK_Data_4:
return ELF::R_390_TLS_LE32;
66 case FK_Data_8:
return ELF::R_390_TLS_LE64;
74 case FK_Data_4:
return ELF::R_390_TLS_LDO32;
75 case FK_Data_8:
return ELF::R_390_TLS_LDO64;
83 case FK_Data_4:
return ELF::R_390_TLS_LDM32;
84 case FK_Data_8:
return ELF::R_390_TLS_LDM64;
93 case FK_Data_4:
return ELF::R_390_TLS_GD32;
94 case FK_Data_8:
return ELF::R_390_TLS_GD64;
109 unsigned SystemZObjectWriter::GetRelocType(
const MCValue &
Target,
111 bool IsPCRel)
const {
121 assert(!IsPCRel &&
"NTPOFF shouldn't be PC-relative");
126 return ELF::R_390_TLS_IEENT;
127 llvm_unreachable(
"Only PC-relative INDNTPOFF accesses are supported for now");
130 assert(!IsPCRel &&
"DTPOFF shouldn't be PC-relative");
134 assert(!IsPCRel &&
"TLSLDM shouldn't be PC-relative");
138 assert(!IsPCRel &&
"TLSGD shouldn't be PC-relative");
143 return ELF::R_390_GOTENT;
147 assert(IsPCRel &&
"@PLT shouldt be PC-relative");
This represents an "assembler immediate".
Defines the object file and target independent interfaces used by the assembler backend to write nati...
static unsigned getTLSGDReloc(unsigned Kind)
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
static unsigned getPCRelReloc(unsigned Kind)
static unsigned getTLSLEReloc(unsigned Kind)
MCSymbolRefExpr::VariantKind getAccessVariant() const
MCObjectWriter * createSystemZObjectWriter(raw_pwrite_stream &OS, uint8_t OSABI)
static unsigned getPLTReloc(unsigned Kind)
static unsigned getTLSLDMReloc(unsigned Kind)
MCFixupKind getKind() const
PowerPC TLS Dynamic Call Fixup
static unsigned getAbsoluteReloc(unsigned Kind)
Target - Wrapper for Target specific information.
MCObjectWriter * createELFObjectWriter(MCELFObjectTargetWriter *MOTW, raw_pwrite_stream &OS, bool IsLittleEndian)
Construct a new ELF writer instance.
static unsigned getTLSLDOReloc(unsigned Kind)
An abstract base class for streams implementations that also support a pwrite operation.
const ARM::ArchExtKind Kind