#ifndef ELF_RELOC
#error "ELF_RELOC must be defined"
#endif

// These types and values are from the LoongArch ELF psABI which can be found at
// https://github.com/loongson/LoongArch-Documentation
// and these definitions has been adopted by binutils (include/elf/loongarch.h).
// The commit hash (main branch) we reference is:
// 9b3bd9f4a497115913c22f1a2a47863798fbc02a

ELF_RELOC(R_LARCH_NONE,                        0)
ELF_RELOC(R_LARCH_32,                          1)
ELF_RELOC(R_LARCH_64,                          2)
ELF_RELOC(R_LARCH_RELATIVE,                    3)
ELF_RELOC(R_LARCH_COPY,                        4)
ELF_RELOC(R_LARCH_JUMP_SLOT,                   5)
ELF_RELOC(R_LARCH_TLS_DTPMOD32,                6)
ELF_RELOC(R_LARCH_TLS_DTPMOD64,                7)
ELF_RELOC(R_LARCH_TLS_DTPREL32,                8)
ELF_RELOC(R_LARCH_TLS_DTPREL64,                9)
ELF_RELOC(R_LARCH_TLS_TPREL32,                10)
ELF_RELOC(R_LARCH_TLS_TPREL64,                11)
ELF_RELOC(R_LARCH_IRELATIVE,                  12)
ELF_RELOC(R_LARCH_MARK_LA,                    20)
ELF_RELOC(R_LARCH_MARK_PCREL,                 21)
ELF_RELOC(R_LARCH_SOP_PUSH_PCREL,             22)
ELF_RELOC(R_LARCH_SOP_PUSH_ABSOLUTE,          23)
ELF_RELOC(R_LARCH_SOP_PUSH_DUP,               24)
ELF_RELOC(R_LARCH_SOP_PUSH_GPREL,             25)
ELF_RELOC(R_LARCH_SOP_PUSH_TLS_TPREL,         26)
ELF_RELOC(R_LARCH_SOP_PUSH_TLS_GOT,           27)
ELF_RELOC(R_LARCH_SOP_PUSH_TLS_GD,            28)
ELF_RELOC(R_LARCH_SOP_PUSH_PLT_PCREL,         29)
ELF_RELOC(R_LARCH_SOP_ASSERT,                 30)
ELF_RELOC(R_LARCH_SOP_NOT,                    31)
ELF_RELOC(R_LARCH_SOP_SUB,                    32)
ELF_RELOC(R_LARCH_SOP_SL,                     33)
ELF_RELOC(R_LARCH_SOP_SR,                     34)
ELF_RELOC(R_LARCH_SOP_ADD,                    35)
ELF_RELOC(R_LARCH_SOP_AND,                    36)
ELF_RELOC(R_LARCH_SOP_IF_ELSE,                37)
ELF_RELOC(R_LARCH_SOP_POP_32_S_10_5,          38)
ELF_RELOC(R_LARCH_SOP_POP_32_U_10_12,         39)
ELF_RELOC(R_LARCH_SOP_POP_32_S_10_12,         40)
ELF_RELOC(R_LARCH_SOP_POP_32_S_10_16,         41)
ELF_RELOC(R_LARCH_SOP_POP_32_S_10_16_S2,      42)
ELF_RELOC(R_LARCH_SOP_POP_32_S_5_20,          43)
ELF_RELOC(R_LARCH_SOP_POP_32_S_0_5_10_16_S2,  44)
ELF_RELOC(R_LARCH_SOP_POP_32_S_0_10_10_16_S2, 45)
ELF_RELOC(R_LARCH_SOP_POP_32_U,               46)
ELF_RELOC(R_LARCH_ADD8,                       47)
ELF_RELOC(R_LARCH_ADD16,                      48)
ELF_RELOC(R_LARCH_ADD24,                      49)
ELF_RELOC(R_LARCH_ADD32,                      50)
ELF_RELOC(R_LARCH_ADD64,                      51)
ELF_RELOC(R_LARCH_SUB8,                       52)
ELF_RELOC(R_LARCH_SUB16,                      53)
ELF_RELOC(R_LARCH_SUB24,                      54)
ELF_RELOC(R_LARCH_SUB32,                      55)
ELF_RELOC(R_LARCH_SUB64,                      56)
ELF_RELOC(R_LARCH_GNU_VTINHERIT,              57)
ELF_RELOC(R_LARCH_GNU_VTENTRY,                58)

// Relocs whose processing do not require a stack machine.
//
// Spec addition: https://github.com/loongson/LoongArch-Documentation/pull/57
// Binutils commit 6d13722a97cee3fd397e116bde3bcedbb1e220be
//      and commit 9801120721c3a702ce3bd50433ef920f92a83502
ELF_RELOC(R_LARCH_B16,              64)
ELF_RELOC(R_LARCH_B21,              65)
ELF_RELOC(R_LARCH_B26,              66)
ELF_RELOC(R_LARCH_ABS_HI20,         67)
ELF_RELOC(R_LARCH_ABS_LO12,         68)
ELF_RELOC(R_LARCH_ABS64_LO20,       69)
ELF_RELOC(R_LARCH_ABS64_HI12,       70)
ELF_RELOC(R_LARCH_PCALA_HI20,       71)
ELF_RELOC(R_LARCH_PCALA_LO12,       72)
ELF_RELOC(R_LARCH_PCALA64_LO20,     73)
ELF_RELOC(R_LARCH_PCALA64_HI12,     74)
ELF_RELOC(R_LARCH_GOT_PC_HI20,      75)
ELF_RELOC(R_LARCH_GOT_PC_LO12,      76)
ELF_RELOC(R_LARCH_GOT64_PC_LO20,    77)
ELF_RELOC(R_LARCH_GOT64_PC_HI12,    78)
ELF_RELOC(R_LARCH_GOT_HI20,         79)
ELF_RELOC(R_LARCH_GOT_LO12,         80)
ELF_RELOC(R_LARCH_GOT64_LO20,       81)
ELF_RELOC(R_LARCH_GOT64_HI12,       82)
ELF_RELOC(R_LARCH_TLS_LE_HI20,      83)
ELF_RELOC(R_LARCH_TLS_LE_LO12,      84)
ELF_RELOC(R_LARCH_TLS_LE64_LO20,    85)
ELF_RELOC(R_LARCH_TLS_LE64_HI12,    86)
ELF_RELOC(R_LARCH_TLS_IE_PC_HI20,   87)
ELF_RELOC(R_LARCH_TLS_IE_PC_LO12,   88)
ELF_RELOC(R_LARCH_TLS_IE64_PC_LO20, 89)
ELF_RELOC(R_LARCH_TLS_IE64_PC_HI12, 90)
ELF_RELOC(R_LARCH_TLS_IE_HI20,      91)
ELF_RELOC(R_LARCH_TLS_IE_LO12,      92)
ELF_RELOC(R_LARCH_TLS_IE64_LO20,    93)
ELF_RELOC(R_LARCH_TLS_IE64_HI12,    94)
ELF_RELOC(R_LARCH_TLS_LD_PC_HI20,   95)
ELF_RELOC(R_LARCH_TLS_LD_HI20,      96)
ELF_RELOC(R_LARCH_TLS_GD_PC_HI20,   97)
ELF_RELOC(R_LARCH_TLS_GD_HI20,      98)
ELF_RELOC(R_LARCH_32_PCREL,         99)
ELF_RELOC(R_LARCH_RELAX,            100)

// Relocs added in ELF for the LoongArch™ Architecture v20230519, part of the
// v2.10 LoongArch ABI specs.
//
// Spec addition: https://github.com/loongson/la-abi-specs/pull/1
// Binutils commit 57a930e3bfe4b2c7fd6463ed39311e1938513138
ELF_RELOC(R_LARCH_DELETE,      101)
ELF_RELOC(R_LARCH_ALIGN,       102)
ELF_RELOC(R_LARCH_PCREL20_S2,  103)
ELF_RELOC(R_LARCH_CFA,         104)
ELF_RELOC(R_LARCH_ADD6,        105)
ELF_RELOC(R_LARCH_SUB6,        106)
ELF_RELOC(R_LARCH_ADD_ULEB128, 107)
ELF_RELOC(R_LARCH_SUB_ULEB128, 108)
ELF_RELOC(R_LARCH_64_PCREL,    109)
