24 SparcELFObjectWriter(
bool Is64Bit, uint8_t OSABI)
29 ~SparcELFObjectWriter()
override {}
33 bool IsPCRel)
const override;
35 bool needsRelocateWithSymbol(
const MCSymbol &Sym,
36 unsigned Type)
const override;
41 unsigned SparcELFObjectWriter::GetRelocType(
const MCValue &
Target,
47 return ELF::R_SPARC_DISP32;
51 switch((
unsigned)Fixup.
getKind()) {
54 case FK_Data_1:
return ELF::R_SPARC_DISP8;
55 case FK_Data_2:
return ELF::R_SPARC_DISP16;
56 case FK_Data_4:
return ELF::R_SPARC_DISP32;
57 case FK_Data_8:
return ELF::R_SPARC_DISP64;
67 switch((
unsigned)Fixup.
getKind()) {
109 return ELF::R_SPARC_NONE;
112 bool SparcELFObjectWriter::needsRelocateWithSymbol(
const MCSymbol &Sym,
113 unsigned Type)
const {
122 case ELF::R_SPARC_GOT10:
123 case ELF::R_SPARC_GOT13:
124 case ELF::R_SPARC_GOT22:
125 case ELF::R_SPARC_GOTDATA_HIX22:
126 case ELF::R_SPARC_GOTDATA_LOX10:
127 case ELF::R_SPARC_GOTDATA_OP_HIX22:
128 case ELF::R_SPARC_GOTDATA_OP_LOX10:
fixup_sparc_got22 - 22-bit fixup corresponding to got22(foo)
This represents an "assembler immediate".
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
fixup_sparc_m44 - 10-bit fixup corresponding to m44(foo)
Defines the object file and target independent interfaces used by the assembler backend to write nati...
MCObjectWriter * createSparcELFObjectWriter(raw_pwrite_stream &OS, bool Is64Bit, bool IsLIttleEndian, uint8_t OSABI)
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.
fixup_sparc_got10 - 10-bit fixup corresponding to got10(foo)
fixup_sparc_hm - 10-bit fixup corresponding to hm(foo)
uint32_t getOffset() const
fixup_sparc_br19 - 19-bit PC relative relocation for branches on icc/xcc
const MCExpr * getValue() const
The instances of the Type class are immutable: once they are created, they are never changed...
fixup_sparc_hh - 22-bit fixup corresponding to hh(foo)
fixup_sparc_l44 - 12-bit fixup corresponding to l44(foo)
MCFixupKind getKind() const
PowerPC TLS Dynamic Call Fixup
fixup_sparc_lo10 - 10-bit fixup corresponding to lo(foo)
Target - Wrapper for Target specific information.
fixup_sparc_pc22 - 22-bit fixup corresponding to pc22(foo)
MCObjectWriter * createELFObjectWriter(MCELFObjectTargetWriter *MOTW, raw_pwrite_stream &OS, bool IsLittleEndian)
Construct a new ELF writer instance.
An abstract base class for streams implementations that also support a pwrite operation.
fixup_sparc_br22 - 22-bit PC relative relocation for branches
fixups for Thread Local Storage
fixup_sparc_hi22 - 22-bit fixup corresponding to hi(foo) for sethi
fixup_sparc_h44 - 22-bit fixup corresponding to h44(foo)
fixup_sparc_pc10 - 10-bit fixup corresponding to pc10(foo)