LLVM 19.0.0git
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
llvm::MCELFObjectTargetWriter Class Referenceabstract

#include "llvm/MC/MCELFObjectWriter.h"

Inheritance diagram for llvm::MCELFObjectTargetWriter:
Inheritance graph
[legend]

Public Member Functions

virtual ~MCELFObjectTargetWriter ()=default
 
Triple::ObjectFormatType getFormat () const override
 
virtual unsigned getRelocType (MCContext &Ctx, const MCValue &Target, const MCFixup &Fixup, bool IsPCRel) const =0
 
virtual bool needsRelocateWithSymbol (const MCValue &Val, const MCSymbol &Sym, unsigned Type) const
 
virtual void sortRelocs (const MCAssembler &Asm, std::vector< ELFRelocationEntry > &Relocs)
 
virtual void addTargetSectionFlags (MCContext &Ctx, MCSectionELF &Sec)
 
uint8_t getRType (uint32_t Type) const
 
uint8_t getRType2 (uint32_t Type) const
 
uint8_t getRType3 (uint32_t Type) const
 
uint8_t getRSsym (uint32_t Type) const
 
unsigned setRSsym (unsigned Value, unsigned Type) const
 
virtual MCSectionELFgetMemtagRelocsSection (MCContext &Ctx) const
 
Accessors
uint8_t getOSABI () const
 
uint8_t getABIVersion () const
 
uint16_t getEMachine () const
 
bool hasRelocationAddend () const
 
bool is64Bit () const
 
- Public Member Functions inherited from llvm::MCObjectTargetWriter
virtual ~MCObjectTargetWriter ()=default
 
virtual Triple::ObjectFormatType getFormat () const =0
 

Static Public Member Functions

static bool classof (const MCObjectTargetWriter *W)
 
static uint8_t getOSABI (Triple::OSType OSType)
 
static unsigned setRTypes (unsigned Value1, unsigned Value2, unsigned Value3)
 

Protected Member Functions

 MCELFObjectTargetWriter (bool Is64Bit_, uint8_t OSABI_, uint16_t EMachine_, bool HasRelocationAddend_, uint8_t ABIVersion_=0)
 

Detailed Description

Definition at line 53 of file MCELFObjectWriter.h.

Constructor & Destructor Documentation

◆ MCELFObjectTargetWriter()

MCELFObjectTargetWriter::MCELFObjectTargetWriter ( bool  Is64Bit_,
uint8_t  OSABI_,
uint16_t  EMachine_,
bool  HasRelocationAddend_,
uint8_t  ABIVersion_ = 0 
)
protected

Definition at line 13 of file MCELFObjectTargetWriter.cpp.

◆ ~MCELFObjectTargetWriter()

virtual llvm::MCELFObjectTargetWriter::~MCELFObjectTargetWriter ( )
virtualdefault

Member Function Documentation

◆ addTargetSectionFlags()

void MCELFObjectTargetWriter::addTargetSectionFlags ( MCContext Ctx,
MCSectionELF Sec 
)
virtual

Definition at line 31 of file MCELFObjectTargetWriter.cpp.

◆ classof()

static bool llvm::MCELFObjectTargetWriter::classof ( const MCObjectTargetWriter W)
inlinestatic

Definition at line 68 of file MCELFObjectWriter.h.

References llvm::Triple::ELF.

◆ getABIVersion()

uint8_t llvm::MCELFObjectTargetWriter::getABIVersion ( ) const
inline

Definition at line 100 of file MCELFObjectWriter.h.

◆ getEMachine()

uint16_t llvm::MCELFObjectTargetWriter::getEMachine ( ) const
inline

Definition at line 101 of file MCELFObjectWriter.h.

◆ getFormat()

Triple::ObjectFormatType llvm::MCELFObjectTargetWriter::getFormat ( ) const
inlineoverridevirtual

Implements llvm::MCObjectTargetWriter.

Definition at line 67 of file MCELFObjectWriter.h.

References llvm::Triple::ELF.

◆ getMemtagRelocsSection()

virtual MCSectionELF * llvm::MCELFObjectTargetWriter::getMemtagRelocsSection ( MCContext Ctx) const
inlinevirtual

Definition at line 145 of file MCELFObjectWriter.h.

◆ getOSABI() [1/2]

uint8_t llvm::MCELFObjectTargetWriter::getOSABI ( ) const
inline

◆ getOSABI() [2/2]

static uint8_t llvm::MCELFObjectTargetWriter::getOSABI ( Triple::OSType  OSType)
inlinestatic

◆ getRelocType()

virtual unsigned llvm::MCELFObjectTargetWriter::getRelocType ( MCContext Ctx,
const MCValue Target,
const MCFixup Fixup,
bool  IsPCRel 
) const
pure virtual

Implemented in llvm::AVRELFObjectWriter.

◆ getRSsym()

uint8_t llvm::MCELFObjectTargetWriter::getRSsym ( uint32_t  Type) const
inline

Definition at line 127 of file MCELFObjectWriter.h.

References R_SSYM_SHIFT.

◆ getRType()

uint8_t llvm::MCELFObjectTargetWriter::getRType ( uint32_t  Type) const
inline

Definition at line 118 of file MCELFObjectWriter.h.

References R_TYPE_SHIFT.

◆ getRType2()

uint8_t llvm::MCELFObjectTargetWriter::getRType2 ( uint32_t  Type) const
inline

Definition at line 121 of file MCELFObjectWriter.h.

References R_TYPE2_SHIFT.

◆ getRType3()

uint8_t llvm::MCELFObjectTargetWriter::getRType3 ( uint32_t  Type) const
inline

Definition at line 124 of file MCELFObjectWriter.h.

References R_TYPE3_SHIFT.

◆ hasRelocationAddend()

bool llvm::MCELFObjectTargetWriter::hasRelocationAddend ( ) const
inline

Definition at line 102 of file MCELFObjectWriter.h.

◆ is64Bit()

bool llvm::MCELFObjectTargetWriter::is64Bit ( ) const
inline

Definition at line 103 of file MCELFObjectWriter.h.

◆ needsRelocateWithSymbol()

bool MCELFObjectTargetWriter::needsRelocateWithSymbol ( const MCValue Val,
const MCSymbol Sym,
unsigned  Type 
) const
virtual

Definition at line 20 of file MCELFObjectTargetWriter.cpp.

◆ setRSsym()

unsigned llvm::MCELFObjectTargetWriter::setRSsym ( unsigned  Value,
unsigned  Type 
) const
inline

Definition at line 137 of file MCELFObjectWriter.h.

References R_SSYM_MASK, and R_SSYM_SHIFT.

◆ setRTypes()

static unsigned llvm::MCELFObjectTargetWriter::setRTypes ( unsigned  Value1,
unsigned  Value2,
unsigned  Value3 
)
inlinestatic

Definition at line 132 of file MCELFObjectWriter.h.

References R_TYPE2_SHIFT, R_TYPE3_SHIFT, and R_TYPE_SHIFT.

◆ sortRelocs()

void MCELFObjectTargetWriter::sortRelocs ( const MCAssembler Asm,
std::vector< ELFRelocationEntry > &  Relocs 
)
virtual

Definition at line 27 of file MCELFObjectTargetWriter.cpp.


The documentation for this class was generated from the following files: