21 SystemZObjectWriter(uint8_t OSABI);
23 ~SystemZObjectWriter()
override;
28 const MCFixup &Fixup,
bool IsPCRel)
const override;
32 SystemZObjectWriter::SystemZObjectWriter(uint8_t OSABI)
36 SystemZObjectWriter::~SystemZObjectWriter() {
67 case FK_Data_4:
return ELF::R_390_TLS_LE32;
68 case FK_Data_8:
return ELF::R_390_TLS_LE64;
76 case FK_Data_4:
return ELF::R_390_TLS_LDO32;
77 case FK_Data_8:
return ELF::R_390_TLS_LDO64;
85 case FK_Data_4:
return ELF::R_390_TLS_LDM32;
86 case FK_Data_8:
return ELF::R_390_TLS_LDM64;
95 case FK_Data_4:
return ELF::R_390_TLS_GD32;
96 case FK_Data_8:
return ELF::R_390_TLS_GD64;
116 bool IsPCRel)
const {
126 assert(!IsPCRel &&
"NTPOFF shouldn't be PC-relative");
131 return ELF::R_390_TLS_IEENT;
132 llvm_unreachable(
"Only PC-relative INDNTPOFF accesses are supported for now");
135 assert(!IsPCRel &&
"DTPOFF shouldn't be PC-relative");
139 assert(!IsPCRel &&
"TLSLDM shouldn't be PC-relative");
143 assert(!IsPCRel &&
"TLSGD shouldn't be PC-relative");
148 return ELF::R_390_GOTENT;
152 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)...
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)
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
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
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.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())