llvm-6502/include/llvm/Support/ELFRelocs/ARM.def
Will Newton e98441590b Update ARM ELF relocations to ABI 2.09
Add R_ARM_IRELATIVE.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222817 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-26 10:36:03 +00:00

139 lines
6.0 KiB
Modula-2

#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_IRELATIVE, 0xa0)