Compiler projects using llvm
#ifndef ELF_RELOC
#error "ELF_RELOC must be defined"
#endif

// Meets 2.09 ABI Specs.
ELF_RELOC(R_ARM_NONE,                   0x00)
ELF_RELOC(R_ARM_PC24,                   0x01)
ELF_RELOC(R_ARM_ABS32,                  0x02)
ELF_RELOC(R_ARM_REL32,                  0x03)
ELF_RELOC(R_ARM_LDR_PC_G0,              0x04)
ELF_RELOC(R_ARM_ABS16,                  0x05)
ELF_RELOC(R_ARM_ABS12,                  0x06)
ELF_RELOC(R_ARM_THM_ABS5,               0x07)
ELF_RELOC(R_ARM_ABS8,                   0x08)
ELF_RELOC(R_ARM_SBREL32,                0x09)
ELF_RELOC(R_ARM_THM_CALL,               0x0a)
ELF_RELOC(R_ARM_THM_PC8,                0x0b)
ELF_RELOC(R_ARM_BREL_ADJ,               0x0c)
ELF_RELOC(R_ARM_TLS_DESC,               0x0d)
ELF_RELOC(R_ARM_THM_SWI8,               0x0e)
ELF_RELOC(R_ARM_XPC25,                  0x0f)
ELF_RELOC(R_ARM_THM_XPC22,              0x10)
ELF_RELOC(R_ARM_TLS_DTPMOD32,           0x11)
ELF_RELOC(R_ARM_TLS_DTPOFF32,           0x12)
ELF_RELOC(R_ARM_TLS_TPOFF32,            0x13)
ELF_RELOC(R_ARM_COPY,                   0x14)
ELF_RELOC(R_ARM_GLOB_DAT,               0x15)
ELF_RELOC(R_ARM_JUMP_SLOT,              0x16)
ELF_RELOC(R_ARM_RELATIVE,               0x17)
ELF_RELOC(R_ARM_GOTOFF32,               0x18)
ELF_RELOC(R_ARM_BASE_PREL,              0x19)
ELF_RELOC(R_ARM_GOT_BREL,               0x1a)
ELF_RELOC(R_ARM_PLT32,                  0x1b)
ELF_RELOC(R_ARM_CALL,                   0x1c)
ELF_RELOC(R_ARM_JUMP24,                 0x1d)
ELF_RELOC(R_ARM_THM_JUMP24,             0x1e)
ELF_RELOC(R_ARM_BASE_ABS,               0x1f)
ELF_RELOC(R_ARM_ALU_PCREL_7_0,          0x20)
ELF_RELOC(R_ARM_ALU_PCREL_15_8,         0x21)
ELF_RELOC(R_ARM_ALU_PCREL_23_15,        0x22)
ELF_RELOC(R_ARM_LDR_SBREL_11_0_NC,      0x23)
ELF_RELOC(R_ARM_ALU_SBREL_19_12_NC,     0x24)
ELF_RELOC(R_ARM_ALU_SBREL_27_20_CK,     0x25)
ELF_RELOC(R_ARM_TARGET1,                0x26)
ELF_RELOC(R_ARM_SBREL31,                0x27)
ELF_RELOC(R_ARM_V4BX,                   0x28)
ELF_RELOC(R_ARM_TARGET2,                0x29)
ELF_RELOC(R_ARM_PREL31,                 0x2a)
ELF_RELOC(R_ARM_MOVW_ABS_NC,            0x2b)
ELF_RELOC(R_ARM_MOVT_ABS,               0x2c)
ELF_RELOC(R_ARM_MOVW_PREL_NC,           0x2d)
ELF_RELOC(R_ARM_MOVT_PREL,              0x2e)
ELF_RELOC(R_ARM_THM_MOVW_ABS_NC,        0x2f)
ELF_RELOC(R_ARM_THM_MOVT_ABS,           0x30)
ELF_RELOC(R_ARM_THM_MOVW_PREL_NC,       0x31)
ELF_RELOC(R_ARM_THM_MOVT_PREL,          0x32)
ELF_RELOC(R_ARM_THM_JUMP19,             0x33)
ELF_RELOC(R_ARM_THM_JUMP6,              0x34)
ELF_RELOC(R_ARM_THM_ALU_PREL_11_0,      0x35)
ELF_RELOC(R_ARM_THM_PC12,               0x36)
ELF_RELOC(R_ARM_ABS32_NOI,              0x37)
ELF_RELOC(R_ARM_REL32_NOI,              0x38)
ELF_RELOC(R_ARM_ALU_PC_G0_NC,           0x39)
ELF_RELOC(R_ARM_ALU_PC_G0,              0x3a)
ELF_RELOC(R_ARM_ALU_PC_G1_NC,           0x3b)
ELF_RELOC(R_ARM_ALU_PC_G1,              0x3c)
ELF_RELOC(R_ARM_ALU_PC_G2,              0x3d)
ELF_RELOC(R_ARM_LDR_PC_G1,              0x3e)
ELF_RELOC(R_ARM_LDR_PC_G2,              0x3f)
ELF_RELOC(R_ARM_LDRS_PC_G0,             0x40)
ELF_RELOC(R_ARM_LDRS_PC_G1,             0x41)
ELF_RELOC(R_ARM_LDRS_PC_G2,             0x42)
ELF_RELOC(R_ARM_LDC_PC_G0,              0x43)
ELF_RELOC(R_ARM_LDC_PC_G1,              0x44)
ELF_RELOC(R_ARM_LDC_PC_G2,              0x45)
ELF_RELOC(R_ARM_ALU_SB_G0_NC,           0x46)
ELF_RELOC(R_ARM_ALU_SB_G0,              0x47)
ELF_RELOC(R_ARM_ALU_SB_G1_NC,           0x48)
ELF_RELOC(R_ARM_ALU_SB_G1,              0x49)
ELF_RELOC(R_ARM_ALU_SB_G2,              0x4a)
ELF_RELOC(R_ARM_LDR_SB_G0,              0x4b)
ELF_RELOC(R_ARM_LDR_SB_G1,              0x4c)
ELF_RELOC(R_ARM_LDR_SB_G2,              0x4d)
ELF_RELOC(R_ARM_LDRS_SB_G0,             0x4e)
ELF_RELOC(R_ARM_LDRS_SB_G1,             0x4f)
ELF_RELOC(R_ARM_LDRS_SB_G2,             0x50)
ELF_RELOC(R_ARM_LDC_SB_G0,              0x51)
ELF_RELOC(R_ARM_LDC_SB_G1,              0x52)
ELF_RELOC(R_ARM_LDC_SB_G2,              0x53)
ELF_RELOC(R_ARM_MOVW_BREL_NC,           0x54)
ELF_RELOC(R_ARM_MOVT_BREL,              0x55)
ELF_RELOC(R_ARM_MOVW_BREL,              0x56)
ELF_RELOC(R_ARM_THM_MOVW_BREL_NC,       0x57)
ELF_RELOC(R_ARM_THM_MOVT_BREL,          0x58)
ELF_RELOC(R_ARM_THM_MOVW_BREL,          0x59)
ELF_RELOC(R_ARM_TLS_GOTDESC,            0x5a)
ELF_RELOC(R_ARM_TLS_CALL,               0x5b)
ELF_RELOC(R_ARM_TLS_DESCSEQ,            0x5c)
ELF_RELOC(R_ARM_THM_TLS_CALL,           0x5d)
ELF_RELOC(R_ARM_PLT32_ABS,              0x5e)
ELF_RELOC(R_ARM_GOT_ABS,                0x5f)
ELF_RELOC(R_ARM_GOT_PREL,               0x60)
ELF_RELOC(R_ARM_GOT_BREL12,             0x61)
ELF_RELOC(R_ARM_GOTOFF12,               0x62)
ELF_RELOC(R_ARM_GOTRELAX,               0x63)
ELF_RELOC(R_ARM_GNU_VTENTRY,            0x64)
ELF_RELOC(R_ARM_GNU_VTINHERIT,          0x65)
ELF_RELOC(R_ARM_THM_JUMP11,             0x66)
ELF_RELOC(R_ARM_THM_JUMP8,              0x67)
ELF_RELOC(R_ARM_TLS_GD32,               0x68)
ELF_RELOC(R_ARM_TLS_LDM32,              0x69)
ELF_RELOC(R_ARM_TLS_LDO32,              0x6a)
ELF_RELOC(R_ARM_TLS_IE32,               0x6b)
ELF_RELOC(R_ARM_TLS_LE32,               0x6c)
ELF_RELOC(R_ARM_TLS_LDO12,              0x6d)
ELF_RELOC(R_ARM_TLS_LE12,               0x6e)
ELF_RELOC(R_ARM_TLS_IE12GP,             0x6f)
ELF_RELOC(R_ARM_PRIVATE_0,              0x70)
ELF_RELOC(R_ARM_PRIVATE_1,              0x71)
ELF_RELOC(R_ARM_PRIVATE_2,              0x72)
ELF_RELOC(R_ARM_PRIVATE_3,              0x73)
ELF_RELOC(R_ARM_PRIVATE_4,              0x74)
ELF_RELOC(R_ARM_PRIVATE_5,              0x75)
ELF_RELOC(R_ARM_PRIVATE_6,              0x76)
ELF_RELOC(R_ARM_PRIVATE_7,              0x77)
ELF_RELOC(R_ARM_PRIVATE_8,              0x78)
ELF_RELOC(R_ARM_PRIVATE_9,              0x79)
ELF_RELOC(R_ARM_PRIVATE_10,             0x7a)
ELF_RELOC(R_ARM_PRIVATE_11,             0x7b)
ELF_RELOC(R_ARM_PRIVATE_12,             0x7c)
ELF_RELOC(R_ARM_PRIVATE_13,             0x7d)
ELF_RELOC(R_ARM_PRIVATE_14,             0x7e)
ELF_RELOC(R_ARM_PRIVATE_15,             0x7f)
ELF_RELOC(R_ARM_ME_TOO,                 0x80)
ELF_RELOC(R_ARM_THM_TLS_DESCSEQ16,      0x81)
ELF_RELOC(R_ARM_THM_TLS_DESCSEQ32,      0x82)
ELF_RELOC(R_ARM_THM_BF16,               0x88)
ELF_RELOC(R_ARM_THM_BF12,               0x89)
ELF_RELOC(R_ARM_THM_BF18,               0x8a)
ELF_RELOC(R_ARM_IRELATIVE,              0xa0)