Represents riscv fixups. Ordered in the same way as the relocations in include/llvm/BinaryFormat/ELFRelocs/RISCV.def.

Synopsis

Declared in <llvm/ExecutionEngine/JITLink/riscv.h>

enum EdgeKind_riscv : Edge::Kind;

Members

Name

Description

R_RISCV_32

A plain 32‐bit pointer value relocation

R_RISCV_64

A plain 64‐bit pointer value relocation

R_RISCV_BRANCH

PC‐relative branch pointer value relocation

R_RISCV_JAL

High 20 bits of PC‐relative jump pointer value relocation

R_RISCV_CALL

PC relative call

R_RISCV_CALL_PLT

PC relative call by PLT

R_RISCV_GOT_HI20

PC relative GOT offset

R_RISCV_PCREL_HI20

High 20 bits of PC relative relocation

R_RISCV_PCREL_LO12_I

Low 12 bits of PC relative relocation, used by I type instruction format

R_RISCV_PCREL_LO12_S

Low 12 bits of PC relative relocation, used by S type instruction format

R_RISCV_HI20

High 20 bits of 32‐bit pointer value relocation

R_RISCV_LO12_I

Low 12 bits of 32‐bit pointer value relocation

R_RISCV_LO12_S

Low 12 bits of 32‐bit pointer value relocation, used by S type instruction format

R_RISCV_ADD8

8 bits label addition

R_RISCV_ADD16

16 bits label addition

R_RISCV_ADD32

32 bits label addition

R_RISCV_ADD64

64 bits label addition

R_RISCV_SUB8

8 bits label subtraction

R_RISCV_SUB16

16 bits label subtraction

R_RISCV_SUB32

32 bits label subtraction

R_RISCV_SUB64

64 bits label subtraction

R_RISCV_RVC_BRANCH

8‐bit PC‐relative branch offset

R_RISCV_RVC_JUMP

11‐bit PC‐relative jump offset

R_RISCV_SUB6

6 bits label subtraction

R_RISCV_SET6

Local label assignment

R_RISCV_SET8

Local label assignment

R_RISCV_SET16

Local label assignment

R_RISCV_SET32

Local label assignment

R_RISCV_32_PCREL

32 bits PC relative relocation

CallRelaxable

An auipc/jalr pair eligible for linker relaxation.

AlignRelaxable

Alignment requirement used by linker relaxation.

NegDelta32

32‐bit negative delta.

R_RISCV_SET_ULEB128

Set ULEB128‐encoded value

R_RISCV_SUB_ULEB128

Subtract from ULEB128‐encoded value

Created with MrDocs