qld 0.1.0

A fast, parallel linker compatible with GNU ld, gold, lld and mold
Documentation
//! PowerPC64 relocation types.
//!
//! Generated from binutils' `include/elf/ppc64.h`, with names as GNU
//! `readelf` prints them, less the two numbers binutils only uses
//! internally (`R_PPC64_LO_DS_OPT`, `R_PPC64_16DX_HA`).

relocation_types! {
    /// Returns the name of a PowerPC64 relocation type `r_type`, as `readelf` prints it.
    reloc_name;
    R_PPC64_NONE = 0,
    R_PPC64_ADDR32 = 1,
    R_PPC64_ADDR24 = 2,
    R_PPC64_ADDR16 = 3,
    R_PPC64_ADDR16_LO = 4,
    R_PPC64_ADDR16_HI = 5,
    R_PPC64_ADDR16_HA = 6,
    R_PPC64_ADDR14 = 7,
    R_PPC64_ADDR14_BRTAKEN = 8,
    R_PPC64_ADDR14_BRNTAKEN = 9,
    R_PPC64_REL24 = 10,
    R_PPC64_REL14 = 11,
    R_PPC64_REL14_BRTAKEN = 12,
    R_PPC64_REL14_BRNTAKEN = 13,
    R_PPC64_GOT16 = 14,
    R_PPC64_GOT16_LO = 15,
    R_PPC64_GOT16_HI = 16,
    R_PPC64_GOT16_HA = 17,
    R_PPC64_COPY = 19,
    R_PPC64_GLOB_DAT = 20,
    R_PPC64_JMP_SLOT = 21,
    R_PPC64_RELATIVE = 22,
    R_PPC64_UADDR32 = 24,
    R_PPC64_UADDR16 = 25,
    R_PPC64_REL32 = 26,
    R_PPC64_PLT32 = 27,
    R_PPC64_PLTREL32 = 28,
    R_PPC64_PLT16_LO = 29,
    R_PPC64_PLT16_HI = 30,
    R_PPC64_PLT16_HA = 31,
    R_PPC64_SECTOFF = 33,
    R_PPC64_SECTOFF_LO = 34,
    R_PPC64_SECTOFF_HI = 35,
    R_PPC64_SECTOFF_HA = 36,
    R_PPC64_REL30 = 37,
    R_PPC64_ADDR64 = 38,
    R_PPC64_ADDR16_HIGHER = 39,
    R_PPC64_ADDR16_HIGHERA = 40,
    R_PPC64_ADDR16_HIGHEST = 41,
    R_PPC64_ADDR16_HIGHESTA = 42,
    R_PPC64_UADDR64 = 43,
    R_PPC64_REL64 = 44,
    R_PPC64_PLT64 = 45,
    R_PPC64_PLTREL64 = 46,
    R_PPC64_TOC16 = 47,
    R_PPC64_TOC16_LO = 48,
    R_PPC64_TOC16_HI = 49,
    R_PPC64_TOC16_HA = 50,
    R_PPC64_TOC = 51,
    R_PPC64_PLTGOT16 = 52,
    R_PPC64_PLTGOT16_LO = 53,
    R_PPC64_PLTGOT16_HI = 54,
    R_PPC64_PLTGOT16_HA = 55,
    R_PPC64_ADDR16_DS = 56,
    R_PPC64_ADDR16_LO_DS = 57,
    R_PPC64_GOT16_DS = 58,
    R_PPC64_GOT16_LO_DS = 59,
    R_PPC64_PLT16_LO_DS = 60,
    R_PPC64_SECTOFF_DS = 61,
    R_PPC64_SECTOFF_LO_DS = 62,
    R_PPC64_TOC16_DS = 63,
    R_PPC64_TOC16_LO_DS = 64,
    R_PPC64_PLTGOT16_DS = 65,
    R_PPC64_PLTGOT16_LO_DS = 66,
    R_PPC64_TLS = 67,
    R_PPC64_DTPMOD64 = 68,
    R_PPC64_TPREL16 = 69,
    R_PPC64_TPREL16_LO = 70,
    R_PPC64_TPREL16_HI = 71,
    R_PPC64_TPREL16_HA = 72,
    R_PPC64_TPREL64 = 73,
    R_PPC64_DTPREL16 = 74,
    R_PPC64_DTPREL16_LO = 75,
    R_PPC64_DTPREL16_HI = 76,
    R_PPC64_DTPREL16_HA = 77,
    R_PPC64_DTPREL64 = 78,
    R_PPC64_GOT_TLSGD16 = 79,
    R_PPC64_GOT_TLSGD16_LO = 80,
    R_PPC64_GOT_TLSGD16_HI = 81,
    R_PPC64_GOT_TLSGD16_HA = 82,
    R_PPC64_GOT_TLSLD16 = 83,
    R_PPC64_GOT_TLSLD16_LO = 84,
    R_PPC64_GOT_TLSLD16_HI = 85,
    R_PPC64_GOT_TLSLD16_HA = 86,
    R_PPC64_GOT_TPREL16_DS = 87,
    R_PPC64_GOT_TPREL16_LO_DS = 88,
    R_PPC64_GOT_TPREL16_HI = 89,
    R_PPC64_GOT_TPREL16_HA = 90,
    R_PPC64_GOT_DTPREL16_DS = 91,
    R_PPC64_GOT_DTPREL16_LO_DS = 92,
    R_PPC64_GOT_DTPREL16_HI = 93,
    R_PPC64_GOT_DTPREL16_HA = 94,
    R_PPC64_TPREL16_DS = 95,
    R_PPC64_TPREL16_LO_DS = 96,
    R_PPC64_TPREL16_HIGHER = 97,
    R_PPC64_TPREL16_HIGHERA = 98,
    R_PPC64_TPREL16_HIGHEST = 99,
    R_PPC64_TPREL16_HIGHESTA = 100,
    R_PPC64_DTPREL16_DS = 101,
    R_PPC64_DTPREL16_LO_DS = 102,
    R_PPC64_DTPREL16_HIGHER = 103,
    R_PPC64_DTPREL16_HIGHERA = 104,
    R_PPC64_DTPREL16_HIGHEST = 105,
    R_PPC64_DTPREL16_HIGHESTA = 106,
    R_PPC64_TLSGD = 107,
    R_PPC64_TLSLD = 108,
    R_PPC64_TOCSAVE = 109,
    R_PPC64_ADDR16_HIGH = 110,
    R_PPC64_ADDR16_HIGHA = 111,
    R_PPC64_TPREL16_HIGH = 112,
    R_PPC64_TPREL16_HIGHA = 113,
    R_PPC64_DTPREL16_HIGH = 114,
    R_PPC64_DTPREL16_HIGHA = 115,
    R_PPC64_REL24_NOTOC = 116,
    R_PPC64_ADDR64_LOCAL = 117,
    R_PPC64_ENTRY = 118,
    R_PPC64_PLTSEQ = 119,
    R_PPC64_PLTCALL = 120,
    R_PPC64_PLTSEQ_NOTOC = 121,
    R_PPC64_PLTCALL_NOTOC = 122,
    R_PPC64_PCREL_OPT = 123,
    R_PPC64_REL24_P9NOTOC = 124,
    R_PPC64_D34 = 128,
    R_PPC64_D34_LO = 129,
    R_PPC64_D34_HI30 = 130,
    R_PPC64_D34_HA30 = 131,
    R_PPC64_PCREL34 = 132,
    R_PPC64_GOT_PCREL34 = 133,
    R_PPC64_PLT_PCREL34 = 134,
    R_PPC64_PLT_PCREL34_NOTOC = 135,
    R_PPC64_ADDR16_HIGHER34 = 136,
    R_PPC64_ADDR16_HIGHERA34 = 137,
    R_PPC64_ADDR16_HIGHEST34 = 138,
    R_PPC64_ADDR16_HIGHESTA34 = 139,
    R_PPC64_REL16_HIGHER34 = 140,
    R_PPC64_REL16_HIGHERA34 = 141,
    R_PPC64_REL16_HIGHEST34 = 142,
    R_PPC64_REL16_HIGHESTA34 = 143,
    R_PPC64_D28 = 144,
    R_PPC64_PCREL28 = 145,
    R_PPC64_TPREL34 = 146,
    R_PPC64_DTPREL34 = 147,
    R_PPC64_GOT_TLSGD_PCREL34 = 148,
    R_PPC64_GOT_TLSLD_PCREL34 = 149,
    R_PPC64_GOT_TPREL_PCREL34 = 150,
    R_PPC64_GOT_DTPREL_PCREL34 = 151,
    R_PPC64_REL16_HIGH = 240,
    R_PPC64_REL16_HIGHA = 241,
    R_PPC64_REL16_HIGHER = 242,
    R_PPC64_REL16_HIGHERA = 243,
    R_PPC64_REL16_HIGHEST = 244,
    R_PPC64_REL16_HIGHESTA = 245,
    R_PPC64_REL16DX_HA = 246,
    R_PPC64_JMP_IREL = 247,
    R_PPC64_IRELATIVE = 248,
    R_PPC64_REL16 = 249,
    R_PPC64_REL16_LO = 250,
    R_PPC64_REL16_HI = 251,
    R_PPC64_REL16_HA = 252,
    R_PPC64_GNU_VTINHERIT = 253,
    R_PPC64_GNU_VTENTRY = 254,
}

/// `DT_PPC64_GLINK`: 32 bytes before the first lazy `.glink` entry.
pub const DT_PPC64_GLINK: i64 = 0x7000_0000;