Module goblin::elf::rela [] [src]

Structs

Rela

Constants

R_X86_64_16
R_X86_64_32
R_X86_64_32S
R_X86_64_64
R_X86_64_8
R_X86_64_COPY
R_X86_64_DTPMOD64
R_X86_64_DTPOFF32
R_X86_64_DTPOFF64
R_X86_64_GLOB_DAT
R_X86_64_GOT32
R_X86_64_GOT64
R_X86_64_GOTOFF64
R_X86_64_GOTPC32
R_X86_64_GOTPC32_TLSDESC
R_X86_64_GOTPC64
R_X86_64_GOTPCREL
R_X86_64_GOTPCREL64
R_X86_64_GOTPLT64
R_X86_64_GOTTPOFF
R_X86_64_IRELATIVE
R_X86_64_JUMP_SLOT
R_X86_64_NONE
R_X86_64_NUM
R_X86_64_PC16
R_X86_64_PC32
R_X86_64_PC64
R_X86_64_PC8
R_X86_64_PLT32
R_X86_64_PLTOFF64
R_X86_64_RELATIVE
R_X86_64_RELATIVE64
R_X86_64_SIZE32
R_X86_64_SIZE64
R_X86_64_TLSDESC
R_X86_64_TLSDESC_CALL
R_X86_64_TLSGD
R_X86_64_TLSLD
R_X86_64_TPOFF32
R_X86_64_TPOFF64
SIZEOF_RELA

Functions

from_fd
from_raw

Gets the rela entries given a rela u64 and the size of the rela section in the binary, in bytes. Works for regular rela and the pltrela table. Assumes the pointer is valid and can safely return a slice of memory pointing to the relas because: 1. rela points to memory received from the kernel (i.e., it loaded the executable), or 2. The binary has already been mmapped (i.e., it's a SharedObject), and hence it's safe to return a slice of that memory. 3. Or if you obtained the pointer in some other lawful manner

r_info
r_sym
r_type
type_to_str