blob: 6e29637d357922f4b97352d683f7a507e7ed0a64 [file] [log] [blame]
## Test that llvm-readobj/llvm-readelf shows proper relocation type
## names and values for arm target.
# RUN: yaml2obj %s -o %t-arm.o
# RUN: llvm-readobj -r --expand-relocs %t-arm.o | FileCheck %s
# CHECK: Type: R_ARM_NONE (0)
# CHECK: Type: R_ARM_PC24 (1)
# CHECK: Type: R_ARM_ABS32 (2)
# CHECK: Type: R_ARM_REL32 (3)
# CHECK: Type: R_ARM_LDR_PC_G0 (4)
# CHECK: Type: R_ARM_ABS16 (5)
# CHECK: Type: R_ARM_ABS12 (6)
# CHECK: Type: R_ARM_THM_ABS5 (7)
# CHECK: Type: R_ARM_ABS8 (8)
# CHECK: Type: R_ARM_SBREL32 (9)
# CHECK: Type: R_ARM_THM_CALL (10)
# CHECK: Type: R_ARM_THM_PC8 (11)
# CHECK: Type: R_ARM_BREL_ADJ (12)
# CHECK: Type: R_ARM_TLS_DESC (13)
# CHECK: Type: R_ARM_THM_SWI8 (14)
# CHECK: Type: R_ARM_XPC25 (15)
# CHECK: Type: R_ARM_THM_XPC22 (16)
# CHECK: Type: R_ARM_TLS_DTPMOD32 (17)
# CHECK: Type: R_ARM_TLS_DTPOFF32 (18)
# CHECK: Type: R_ARM_TLS_TPOFF32 (19)
# CHECK: Type: R_ARM_COPY (20)
# CHECK: Type: R_ARM_GLOB_DAT (21)
# CHECK: Type: R_ARM_JUMP_SLOT (22)
# CHECK: Type: R_ARM_RELATIVE (23)
# CHECK: Type: R_ARM_GOTOFF32 (24)
# CHECK: Type: R_ARM_BASE_PREL (25)
# CHECK: Type: R_ARM_GOT_BREL (26)
# CHECK: Type: R_ARM_CALL (28)
# CHECK: Type: R_ARM_JUMP24 (29)
# CHECK: Type: R_ARM_THM_JUMP24 (30)
# CHECK: Type: R_ARM_BASE_ABS (31)
# CHECK: Type: R_ARM_ALU_PCREL_7_0 (32)
# CHECK: Type: R_ARM_ALU_PCREL_15_8 (33)
# CHECK: Type: R_ARM_ALU_PCREL_23_15 (34)
# CHECK: Type: R_ARM_LDR_SBREL_11_0_NC (35)
# CHECK: Type: R_ARM_ALU_SBREL_19_12_NC (36)
# CHECK: Type: R_ARM_ALU_SBREL_27_20_CK (37)
# CHECK: Type: R_ARM_TARGET1 (38)
# CHECK: Type: R_ARM_SBREL31 (39)
# CHECK: Type: R_ARM_V4BX (40)
# CHECK: Type: R_ARM_TARGET2 (41)
# CHECK: Type: R_ARM_PREL31 (42)
# CHECK: Type: R_ARM_MOVW_ABS_NC (43)
# CHECK: Type: R_ARM_MOVT_ABS (44)
# CHECK: Type: R_ARM_MOVW_PREL_NC (45)
# CHECK: Type: R_ARM_MOVT_PREL (46)
# CHECK: Type: R_ARM_THM_MOVW_ABS_NC (47)
# CHECK: Type: R_ARM_THM_MOVT_ABS (48)
# CHECK: Type: R_ARM_THM_MOVW_PREL_NC (49)
# CHECK: Type: R_ARM_THM_MOVT_PREL (50)
# CHECK: Type: R_ARM_THM_JUMP19 (51)
# CHECK: Type: R_ARM_THM_JUMP6 (52)
# CHECK: Type: R_ARM_THM_ALU_PREL_11_0 (53)
# CHECK: Type: R_ARM_THM_PC12 (54)
# CHECK: Type: R_ARM_ABS32_NOI (55)
# CHECK: Type: R_ARM_REL32_NOI (56)
# CHECK: Type: R_ARM_ALU_PC_G0_NC (57)
# CHECK: Type: R_ARM_ALU_PC_G0 (58)
# CHECK: Type: R_ARM_ALU_PC_G1_NC (59)
# CHECK: Type: R_ARM_ALU_PC_G1 (60)
# CHECK: Type: R_ARM_ALU_PC_G2 (61)
# CHECK: Type: R_ARM_LDR_PC_G1 (62)
# CHECK: Type: R_ARM_LDR_PC_G2 (63)
# CHECK: Type: R_ARM_LDRS_PC_G0 (64)
# CHECK: Type: R_ARM_LDRS_PC_G1 (65)
# CHECK: Type: R_ARM_LDRS_PC_G2 (66)
# CHECK: Type: R_ARM_LDC_PC_G0 (67)
# CHECK: Type: R_ARM_LDC_PC_G1 (68)
# CHECK: Type: R_ARM_LDC_PC_G2 (69)
# CHECK: Type: R_ARM_ALU_SB_G0_NC (70)
# CHECK: Type: R_ARM_ALU_SB_G0 (71)
# CHECK: Type: R_ARM_ALU_SB_G1_NC (72)
# CHECK: Type: R_ARM_ALU_SB_G1 (73)
# CHECK: Type: R_ARM_ALU_SB_G2 (74)
# CHECK: Type: R_ARM_LDR_SB_G0 (75)
# CHECK: Type: R_ARM_LDR_SB_G1 (76)
# CHECK: Type: R_ARM_LDR_SB_G2 (77)
# CHECK: Type: R_ARM_LDRS_SB_G0 (78)
# CHECK: Type: R_ARM_LDRS_SB_G1 (79)
# CHECK: Type: R_ARM_LDRS_SB_G2 (80)
# CHECK: Type: R_ARM_LDC_SB_G0 (81)
# CHECK: Type: R_ARM_LDC_SB_G1 (82)
# CHECK: Type: R_ARM_LDC_SB_G2 (83)
# CHECK: Type: R_ARM_MOVW_BREL_NC (84)
# CHECK: Type: R_ARM_MOVT_BREL (85)
# CHECK: Type: R_ARM_MOVW_BREL (86)
# CHECK: Type: R_ARM_THM_MOVW_BREL_NC (87)
# CHECK: Type: R_ARM_THM_MOVT_BREL (88)
# CHECK: Type: R_ARM_THM_MOVW_BREL (89)
# CHECK: Type: R_ARM_TLS_GOTDESC (90)
# CHECK: Type: R_ARM_TLS_CALL (91)
# CHECK: Type: R_ARM_TLS_DESCSEQ (92)
# CHECK: Type: R_ARM_THM_TLS_CALL (93)
# CHECK: Type: R_ARM_PLT32_ABS (94)
# CHECK: Type: R_ARM_GOT_ABS (95)
# CHECK: Type: R_ARM_GOT_PREL (96)
# CHECK: Type: R_ARM_GOT_BREL12 (97)
# CHECK: Type: R_ARM_GOTOFF12 (98)
# CHECK: Type: R_ARM_GOTRELAX (99)
# CHECK: Type: R_ARM_GNU_VTENTRY (100)
# CHECK: Type: R_ARM_GNU_VTINHERIT (101)
# CHECK: Type: R_ARM_THM_JUMP11 (102)
# CHECK: Type: R_ARM_THM_JUMP8 (103)
# CHECK: Type: R_ARM_TLS_GD32 (104)
# CHECK: Type: R_ARM_TLS_LDM32 (105)
# CHECK: Type: R_ARM_TLS_LDO32 (106)
# CHECK: Type: R_ARM_TLS_IE32 (107)
# CHECK: Type: R_ARM_TLS_LE32 (108)
# CHECK: Type: R_ARM_TLS_LDO12 (109)
# CHECK: Type: R_ARM_TLS_LE12 (110)
# CHECK: Type: R_ARM_TLS_IE12GP (111)
# CHECK: Type: R_ARM_PRIVATE_0 (112)
# CHECK: Type: R_ARM_PRIVATE_1 (113)
# CHECK: Type: R_ARM_PRIVATE_2 (114)
# CHECK: Type: R_ARM_PRIVATE_3 (115)
# CHECK: Type: R_ARM_PRIVATE_4 (116)
# CHECK: Type: R_ARM_PRIVATE_5 (117)
# CHECK: Type: R_ARM_PRIVATE_6 (118)
# CHECK: Type: R_ARM_PRIVATE_7 (119)
# CHECK: Type: R_ARM_PRIVATE_8 (120)
# CHECK: Type: R_ARM_PRIVATE_9 (121)
# CHECK: Type: R_ARM_PRIVATE_10 (122)
# CHECK: Type: R_ARM_PRIVATE_11 (123)
# CHECK: Type: R_ARM_PRIVATE_12 (124)
# CHECK: Type: R_ARM_PRIVATE_13 (125)
# CHECK: Type: R_ARM_PRIVATE_14 (126)
# CHECK: Type: R_ARM_PRIVATE_15 (127)
# CHECK: Type: R_ARM_ME_TOO (128)
# CHECK: Type: R_ARM_THM_TLS_DESCSEQ16 (129)
# CHECK: Type: R_ARM_THM_TLS_DESCSEQ32 (130)
# CHECK: Type: R_ARM_IRELATIVE (160)
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
Type: ET_REL
Machine: EM_ARM
Flags: [ EF_ARM_EABI_VER5 ]
Sections:
- Name: .text
Type: SHT_PROGBITS
Content: 00
- Name: .rel.text
Type: SHT_REL
Link: .symtab
AddressAlign: 0x0000000000000004
EntSize: 0x0000000000000008
Info: .text
Relocations:
- Offset: 0x0000000000000000
Type: R_ARM_NONE
- Offset: 0x0000000000000004
Type: R_ARM_PC24
- Offset: 0x0000000000000008
Type: R_ARM_ABS32
- Offset: 0x000000000000000C
Type: R_ARM_REL32
- Offset: 0x0000000000000010
Type: R_ARM_LDR_PC_G0
- Offset: 0x0000000000000014
Type: R_ARM_ABS16
- Offset: 0x0000000000000018
Type: R_ARM_ABS12
- Offset: 0x000000000000001C
Type: R_ARM_THM_ABS5
- Offset: 0x0000000000000020
Type: R_ARM_ABS8
- Offset: 0x0000000000000024
Type: R_ARM_SBREL32
- Offset: 0x0000000000000028
Type: R_ARM_THM_CALL
- Offset: 0x000000000000002C
Type: R_ARM_THM_PC8
- Offset: 0x0000000000000030
Type: R_ARM_BREL_ADJ
- Offset: 0x0000000000000034
Type: R_ARM_TLS_DESC
- Offset: 0x0000000000000038
Type: R_ARM_THM_SWI8
- Offset: 0x000000000000003C
Type: R_ARM_XPC25
- Offset: 0x0000000000000040
Type: R_ARM_THM_XPC22
- Offset: 0x0000000000000044
Type: R_ARM_TLS_DTPMOD32
- Offset: 0x0000000000000048
Type: R_ARM_TLS_DTPOFF32
- Offset: 0x000000000000004C
Type: R_ARM_TLS_TPOFF32
- Offset: 0x0000000000000050
Type: R_ARM_COPY
- Offset: 0x0000000000000054
Type: R_ARM_GLOB_DAT
- Offset: 0x0000000000000058
Type: R_ARM_JUMP_SLOT
- Offset: 0x000000000000005C
Type: R_ARM_RELATIVE
- Offset: 0x0000000000000060
Type: R_ARM_GOTOFF32
- Offset: 0x0000000000000064
Type: R_ARM_BASE_PREL
- Offset: 0x0000000000000068
Type: R_ARM_GOT_BREL
- Offset: 0x000000000000006C
Type: R_ARM_PLT32
- Offset: 0x0000000000000070
Type: R_ARM_CALL
- Offset: 0x0000000000000074
Type: R_ARM_JUMP24
- Offset: 0x0000000000000078
Type: R_ARM_THM_JUMP24
- Offset: 0x000000000000007C
Type: R_ARM_BASE_ABS
- Offset: 0x0000000000000080
Type: R_ARM_ALU_PCREL_7_0
- Offset: 0x0000000000000084
Type: R_ARM_ALU_PCREL_15_8
- Offset: 0x0000000000000088
Type: R_ARM_ALU_PCREL_23_15
- Offset: 0x000000000000008C
Type: R_ARM_LDR_SBREL_11_0_NC
- Offset: 0x0000000000000090
Type: R_ARM_ALU_SBREL_19_12_NC
- Offset: 0x0000000000000094
Type: R_ARM_ALU_SBREL_27_20_CK
- Offset: 0x0000000000000098
Type: R_ARM_TARGET1
- Offset: 0x000000000000009C
Type: R_ARM_SBREL31
- Offset: 0x00000000000000A0
Type: R_ARM_V4BX
- Offset: 0x00000000000000A4
Type: R_ARM_TARGET2
- Offset: 0x00000000000000A8
Type: R_ARM_PREL31
- Offset: 0x00000000000000AC
Type: R_ARM_MOVW_ABS_NC
- Offset: 0x00000000000000B0
Type: R_ARM_MOVT_ABS
- Offset: 0x00000000000000B4
Type: R_ARM_MOVW_PREL_NC
- Offset: 0x00000000000000B8
Type: R_ARM_MOVT_PREL
- Offset: 0x00000000000000BC
Type: R_ARM_THM_MOVW_ABS_NC
- Offset: 0x00000000000000C0
Type: R_ARM_THM_MOVT_ABS
- Offset: 0x00000000000000C4
Type: R_ARM_THM_MOVW_PREL_NC
- Offset: 0x00000000000000C8
Type: R_ARM_THM_MOVT_PREL
- Offset: 0x00000000000000CC
Type: R_ARM_THM_JUMP19
- Offset: 0x00000000000000D0
Type: R_ARM_THM_JUMP6
- Offset: 0x00000000000000D4
Type: R_ARM_THM_ALU_PREL_11_0
- Offset: 0x00000000000000D8
Type: R_ARM_THM_PC12
- Offset: 0x00000000000000DC
Type: R_ARM_ABS32_NOI
- Offset: 0x00000000000000E0
Type: R_ARM_REL32_NOI
- Offset: 0x00000000000000E4
Type: R_ARM_ALU_PC_G0_NC
- Offset: 0x00000000000000E8
Type: R_ARM_ALU_PC_G0
- Offset: 0x00000000000000EC
Type: R_ARM_ALU_PC_G1_NC
- Offset: 0x00000000000000F0
Type: R_ARM_ALU_PC_G1
- Offset: 0x00000000000000F4
Type: R_ARM_ALU_PC_G2
- Offset: 0x00000000000000F8
Type: R_ARM_LDR_PC_G1
- Offset: 0x00000000000000FC
Type: R_ARM_LDR_PC_G2
- Offset: 0x0000000000000100
Type: R_ARM_LDRS_PC_G0
- Offset: 0x0000000000000104
Type: R_ARM_LDRS_PC_G1
- Offset: 0x0000000000000108
Type: R_ARM_LDRS_PC_G2
- Offset: 0x000000000000010C
Type: R_ARM_LDC_PC_G0
- Offset: 0x0000000000000110
Type: R_ARM_LDC_PC_G1
- Offset: 0x0000000000000114
Type: R_ARM_LDC_PC_G2
- Offset: 0x0000000000000118
Type: R_ARM_ALU_SB_G0_NC
- Offset: 0x000000000000011C
Type: R_ARM_ALU_SB_G0
- Offset: 0x0000000000000120
Type: R_ARM_ALU_SB_G1_NC
- Offset: 0x0000000000000124
Type: R_ARM_ALU_SB_G1
- Offset: 0x0000000000000128
Type: R_ARM_ALU_SB_G2
- Offset: 0x000000000000012C
Type: R_ARM_LDR_SB_G0
- Offset: 0x0000000000000130
Type: R_ARM_LDR_SB_G1
- Offset: 0x0000000000000134
Type: R_ARM_LDR_SB_G2
- Offset: 0x0000000000000138
Type: R_ARM_LDRS_SB_G0
- Offset: 0x000000000000013C
Type: R_ARM_LDRS_SB_G1
- Offset: 0x0000000000000140
Type: R_ARM_LDRS_SB_G2
- Offset: 0x0000000000000144
Type: R_ARM_LDC_SB_G0
- Offset: 0x0000000000000148
Type: R_ARM_LDC_SB_G1
- Offset: 0x000000000000014C
Type: R_ARM_LDC_SB_G2
- Offset: 0x0000000000000150
Type: R_ARM_MOVW_BREL_NC
- Offset: 0x0000000000000154
Type: R_ARM_MOVT_BREL
- Offset: 0x0000000000000158
Type: R_ARM_MOVW_BREL
- Offset: 0x000000000000015C
Type: R_ARM_THM_MOVW_BREL_NC
- Offset: 0x0000000000000160
Type: R_ARM_THM_MOVT_BREL
- Offset: 0x0000000000000164
Type: R_ARM_THM_MOVW_BREL
- Offset: 0x0000000000000168
Type: R_ARM_TLS_GOTDESC
- Offset: 0x000000000000016C
Type: R_ARM_TLS_CALL
- Offset: 0x0000000000000170
Type: R_ARM_TLS_DESCSEQ
- Offset: 0x0000000000000174
Type: R_ARM_THM_TLS_CALL
- Offset: 0x0000000000000178
Type: R_ARM_PLT32_ABS
- Offset: 0x000000000000017C
Type: R_ARM_GOT_ABS
- Offset: 0x0000000000000180
Type: R_ARM_GOT_PREL
- Offset: 0x0000000000000184
Type: R_ARM_GOT_BREL12
- Offset: 0x0000000000000188
Type: R_ARM_GOTOFF12
- Offset: 0x000000000000018C
Type: R_ARM_GOTRELAX
- Offset: 0x0000000000000190
Type: R_ARM_GNU_VTENTRY
- Offset: 0x0000000000000194
Type: R_ARM_GNU_VTINHERIT
- Offset: 0x0000000000000198
Type: R_ARM_THM_JUMP11
- Offset: 0x000000000000019C
Type: R_ARM_THM_JUMP8
- Offset: 0x00000000000001A0
Type: R_ARM_TLS_GD32
- Offset: 0x00000000000001A4
Type: R_ARM_TLS_LDM32
- Offset: 0x00000000000001A8
Type: R_ARM_TLS_LDO32
- Offset: 0x00000000000001AC
Type: R_ARM_TLS_IE32
- Offset: 0x00000000000001B0
Type: R_ARM_TLS_LE32
- Offset: 0x00000000000001B4
Type: R_ARM_TLS_LDO12
- Offset: 0x00000000000001B8
Type: R_ARM_TLS_LE12
- Offset: 0x00000000000001BC
Type: R_ARM_TLS_IE12GP
- Offset: 0x00000000000001C0
Type: R_ARM_PRIVATE_0
- Offset: 0x00000000000001C4
Type: R_ARM_PRIVATE_1
- Offset: 0x00000000000001C8
Type: R_ARM_PRIVATE_2
- Offset: 0x00000000000001CC
Type: R_ARM_PRIVATE_3
- Offset: 0x00000000000001D0
Type: R_ARM_PRIVATE_4
- Offset: 0x00000000000001D4
Type: R_ARM_PRIVATE_5
- Offset: 0x00000000000001D8
Type: R_ARM_PRIVATE_6
- Offset: 0x00000000000001DC
Type: R_ARM_PRIVATE_7
- Offset: 0x00000000000001E0
Type: R_ARM_PRIVATE_8
- Offset: 0x00000000000001E4
Type: R_ARM_PRIVATE_9
- Offset: 0x00000000000001E8
Type: R_ARM_PRIVATE_10
- Offset: 0x00000000000001EC
Type: R_ARM_PRIVATE_11
- Offset: 0x00000000000001F0
Type: R_ARM_PRIVATE_12
- Offset: 0x00000000000001F4
Type: R_ARM_PRIVATE_13
- Offset: 0x00000000000001F8
Type: R_ARM_PRIVATE_14
- Offset: 0x00000000000001FC
Type: R_ARM_PRIVATE_15
- Offset: 0x0000000000000200
Type: R_ARM_ME_TOO
- Offset: 0x0000000000000204
Type: R_ARM_THM_TLS_DESCSEQ16
- Offset: 0x0000000000000208
Type: R_ARM_THM_TLS_DESCSEQ32
- Offset: 0x000000000000020C
Type: R_ARM_IRELATIVE