LLVM  8.0.1
Macros | Functions
AArch64ELFObjectWriter.cpp File Reference
#include "MCTargetDesc/AArch64FixupKinds.h"
#include "MCTargetDesc/AArch64MCExpr.h"
#include "MCTargetDesc/AArch64MCTargetDesc.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCELFObjectWriter.h"
#include "llvm/MC/MCFixup.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/MC/MCValue.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
#include <cstdint>
Include dependency graph for AArch64ELFObjectWriter.cpp:

Go to the source code of this file.

Macros

#define R_CLS(rtype)   IsILP32 ? ELF::R_AARCH64_P32_##rtype : ELF::R_AARCH64_##rtype
 
#define BAD_ILP32_MOV(lp64rtype)
 

Functions

static bool isNonILP32reloc (const MCFixup &Fixup, AArch64MCExpr::VariantKind RefKind, MCContext &Ctx)
 

Macro Definition Documentation

◆ BAD_ILP32_MOV

#define BAD_ILP32_MOV (   lp64rtype)
Value:
"ILP32 absolute MOV relocation not " \
"supported (LP64 eqv: " #lp64rtype ")"

Definition at line 53 of file AArch64ELFObjectWriter.cpp.

Referenced by isNonILP32reloc().

◆ R_CLS

#define R_CLS (   rtype)    IsILP32 ? ELF::R_AARCH64_P32_##rtype : ELF::R_AARCH64_##rtype

Definition at line 51 of file AArch64ELFObjectWriter.cpp.

Referenced by isNonILP32reloc().

Function Documentation

◆ isNonILP32reloc()

static bool isNonILP32reloc ( const MCFixup Fixup,
AArch64MCExpr::VariantKind  RefKind,
MCContext Ctx 
)
static

Definition at line 58 of file AArch64ELFObjectWriter.cpp.

References assert(), BAD_ILP32_MOV, Fixup, llvm::AArch64::fixup_aarch64_add_imm12, llvm::AArch64::fixup_aarch64_ldr_pcrel_imm19, llvm::AArch64::fixup_aarch64_ldst_imm12_scale1, llvm::AArch64::fixup_aarch64_ldst_imm12_scale16, llvm::AArch64::fixup_aarch64_ldst_imm12_scale2, llvm::AArch64::fixup_aarch64_ldst_imm12_scale4, llvm::AArch64::fixup_aarch64_ldst_imm12_scale8, llvm::AArch64::fixup_aarch64_movw, llvm::AArch64::fixup_aarch64_pcrel_adr_imm21, llvm::AArch64::fixup_aarch64_pcrel_adrp_imm21, llvm::AArch64::fixup_aarch64_pcrel_branch14, llvm::AArch64::fixup_aarch64_pcrel_branch19, llvm::AArch64::fixup_aarch64_pcrel_branch26, llvm::AArch64::fixup_aarch64_pcrel_call26, llvm::AArch64::fixup_aarch64_tlsdesc_call, llvm::FK_Data_1, llvm::FK_Data_2, llvm::FK_Data_4, llvm::FK_Data_8, llvm::MCFixup::getKind(), llvm::MCSymbolRefExpr::getKind(), llvm::MCFixup::getLoc(), llvm::MCValue::getRefKind(), getRelocType(), llvm::MCValue::getSymA(), llvm::MCValue::getSymB(), llvm::AArch64MCExpr::getSymbolLoc(), llvm::AArch64MCExpr::isNotChecked(), llvm_unreachable, R_CLS, llvm::MCContext::reportError(), llvm::AArch64MCExpr::VK_ABS, llvm::AArch64MCExpr::VK_ABS_G0, llvm::AArch64MCExpr::VK_ABS_G0_NC, llvm::AArch64MCExpr::VK_ABS_G0_S, llvm::AArch64MCExpr::VK_ABS_G1, llvm::AArch64MCExpr::VK_ABS_G1_NC, llvm::AArch64MCExpr::VK_ABS_G1_S, llvm::AArch64MCExpr::VK_ABS_G2, llvm::AArch64MCExpr::VK_ABS_G2_NC, llvm::AArch64MCExpr::VK_ABS_G2_S, llvm::AArch64MCExpr::VK_ABS_G3, llvm::AArch64MCExpr::VK_DTPREL, llvm::AArch64MCExpr::VK_DTPREL_G0, llvm::AArch64MCExpr::VK_DTPREL_G0_NC, llvm::AArch64MCExpr::VK_DTPREL_G1, llvm::AArch64MCExpr::VK_DTPREL_G1_NC, llvm::AArch64MCExpr::VK_DTPREL_G2, llvm::AArch64MCExpr::VK_DTPREL_HI12, llvm::AArch64MCExpr::VK_DTPREL_LO12, llvm::AArch64MCExpr::VK_DTPREL_LO12_NC, llvm::AArch64MCExpr::VK_GOT, llvm::AArch64MCExpr::VK_GOTTPREL, llvm::AArch64MCExpr::VK_GOTTPREL_G0_NC, llvm::AArch64MCExpr::VK_GOTTPREL_G1, llvm::MCSymbolRefExpr::VK_None, llvm::AArch64MCExpr::VK_TLSDESC, llvm::AArch64MCExpr::VK_TLSDESC_LO12, llvm::AArch64MCExpr::VK_TPREL, llvm::AArch64MCExpr::VK_TPREL_G0, llvm::AArch64MCExpr::VK_TPREL_G0_NC, llvm::AArch64MCExpr::VK_TPREL_G1, llvm::AArch64MCExpr::VK_TPREL_G1_NC, llvm::AArch64MCExpr::VK_TPREL_G2, llvm::AArch64MCExpr::VK_TPREL_HI12, llvm::AArch64MCExpr::VK_TPREL_LO12, and llvm::AArch64MCExpr::VK_TPREL_LO12_NC.