enumstd.elf.R_X86_64[src]

AMD x86-64 relocations.

Fields

NONE = 0

No reloc

@"64" = 1

Direct 64 bit

PC32 = 2

PC relative 32 bit signed

GOT32 = 3

32 bit GOT entry

PLT32 = 4

32 bit PLT address

COPY = 5

Copy symbol at runtime

GLOB_DAT = 6

Create GOT entry

JUMP_SLOT = 7

Create PLT entry

RELATIVE = 8

Adjust by program base

GOTPCREL = 9

32 bit signed PC relative offset to GOT

@"32" = 10

Direct 32 bit zero extended

@"32S" = 11

Direct 32 bit sign extended

@"16" = 12

Direct 16 bit zero extended

PC16 = 13

16 bit sign extended pc relative

@"8" = 14

Direct 8 bit sign extended

PC8 = 15

8 bit sign extended pc relative

DTPMOD64 = 16

ID of module containing symbol

DTPOFF64 = 17

Offset in module's TLS block

TPOFF64 = 18

Offset in initial TLS block

TLSGD = 19

32 bit signed PC relative offset to two GOT entries for GD symbol

TLSLD = 20

32 bit signed PC relative offset to two GOT entries for LD symbol

DTPOFF32 = 21

Offset in TLS block

GOTTPOFF = 22

32 bit signed PC relative offset to GOT entry for IE symbol

TPOFF32 = 23

Offset in initial TLS block

PC64 = 24

PC relative 64 bit

GOTOFF64 = 25

64 bit offset to GOT

GOTPC32 = 26

32 bit signed pc relative offset to GOT

GOT64 = 27

64 bit GOT entry offset

GOTPCREL64 = 28

64 bit PC relative offset to GOT entry

GOTPC64 = 29

64 bit PC relative offset to GOT

GOTPLT64 = 30

Like GOT64, says PLT entry needed

PLTOFF64 = 31

64-bit GOT relative offset to PLT entry

SIZE32 = 32

Size of symbol plus 32-bit addend

SIZE64 = 33

Size of symbol plus 64-bit addend

GOTPC32_TLSDESC = 34

GOT offset for TLS descriptor

TLSDESC_CALL = 35

Marker for call through TLS descriptor

TLSDESC = 36

TLS descriptor

IRELATIVE = 37

Adjust indirectly by program base

RELATIVE64 = 38

64-bit adjust by program base

GOTPCRELX = 41

39 Reserved was PC32_BND 40 Reserved was PLT32_BND Load from 32 bit signed pc relative offset to GOT entry without REX prefix, relaxable

REX_GOTPCRELX = 42

Load from 32 bit signed PC relative offset to GOT entry with REX prefix, relaxable

_

Source Code

Source code
pub const R_X86_64 = enum(u32) {
    /// No reloc
    NONE = 0,
    /// Direct 64 bit
    @"64" = 1,
    /// PC relative 32 bit signed
    PC32 = 2,
    /// 32 bit GOT entry
    GOT32 = 3,
    /// 32 bit PLT address
    PLT32 = 4,
    /// Copy symbol at runtime
    COPY = 5,
    /// Create GOT entry
    GLOB_DAT = 6,
    /// Create PLT entry
    JUMP_SLOT = 7,
    /// Adjust by program base
    RELATIVE = 8,
    /// 32 bit signed PC relative offset to GOT
    GOTPCREL = 9,
    /// Direct 32 bit zero extended
    @"32" = 10,
    /// Direct 32 bit sign extended
    @"32S" = 11,
    /// Direct 16 bit zero extended
    @"16" = 12,
    /// 16 bit sign extended pc relative
    PC16 = 13,
    /// Direct 8 bit sign extended
    @"8" = 14,
    /// 8 bit sign extended pc relative
    PC8 = 15,
    /// ID of module containing symbol
    DTPMOD64 = 16,
    /// Offset in module's TLS block
    DTPOFF64 = 17,
    /// Offset in initial TLS block
    TPOFF64 = 18,
    /// 32 bit signed PC relative offset to two GOT entries for GD symbol
    TLSGD = 19,
    /// 32 bit signed PC relative offset to two GOT entries for LD symbol
    TLSLD = 20,
    /// Offset in TLS block
    DTPOFF32 = 21,
    /// 32 bit signed PC relative offset to GOT entry for IE symbol
    GOTTPOFF = 22,
    /// Offset in initial TLS block
    TPOFF32 = 23,
    /// PC relative 64 bit
    PC64 = 24,
    /// 64 bit offset to GOT
    GOTOFF64 = 25,
    /// 32 bit signed pc relative offset to GOT
    GOTPC32 = 26,
    /// 64 bit GOT entry offset
    GOT64 = 27,
    /// 64 bit PC relative offset to GOT entry
    GOTPCREL64 = 28,
    /// 64 bit PC relative offset to GOT
    GOTPC64 = 29,
    /// Like GOT64, says PLT entry needed
    GOTPLT64 = 30,
    /// 64-bit GOT relative offset to PLT entry
    PLTOFF64 = 31,
    /// Size of symbol plus 32-bit addend
    SIZE32 = 32,
    /// Size of symbol plus 64-bit addend
    SIZE64 = 33,
    /// GOT offset for TLS descriptor
    GOTPC32_TLSDESC = 34,
    /// Marker for call through TLS descriptor
    TLSDESC_CALL = 35,
    /// TLS descriptor
    TLSDESC = 36,
    /// Adjust indirectly by program base
    IRELATIVE = 37,
    /// 64-bit adjust by program base
    RELATIVE64 = 38,
    /// 39 Reserved was PC32_BND
    /// 40 Reserved was PLT32_BND
    /// Load from 32 bit signed pc relative offset to GOT entry without REX prefix, relaxable
    GOTPCRELX = 41,
    /// Load from 32 bit signed PC relative offset to GOT entry with REX prefix, relaxable
    REX_GOTPCRELX = 42,
    _,
}