1## Test that llvm-readobj/llvm-readelf shows proper relocation type 2## names and values for arm target. 3 4# RUN: yaml2obj %s -o %t-arm.o 5# RUN: llvm-readobj -r --expand-relocs %t-arm.o | FileCheck %s 6 7# CHECK: Type: R_ARM_NONE (0) 8# CHECK: Type: R_ARM_PC24 (1) 9# CHECK: Type: R_ARM_ABS32 (2) 10# CHECK: Type: R_ARM_REL32 (3) 11# CHECK: Type: R_ARM_LDR_PC_G0 (4) 12# CHECK: Type: R_ARM_ABS16 (5) 13# CHECK: Type: R_ARM_ABS12 (6) 14# CHECK: Type: R_ARM_THM_ABS5 (7) 15# CHECK: Type: R_ARM_ABS8 (8) 16# CHECK: Type: R_ARM_SBREL32 (9) 17# CHECK: Type: R_ARM_THM_CALL (10) 18# CHECK: Type: R_ARM_THM_PC8 (11) 19# CHECK: Type: R_ARM_BREL_ADJ (12) 20# CHECK: Type: R_ARM_TLS_DESC (13) 21# CHECK: Type: R_ARM_THM_SWI8 (14) 22# CHECK: Type: R_ARM_XPC25 (15) 23# CHECK: Type: R_ARM_THM_XPC22 (16) 24# CHECK: Type: R_ARM_TLS_DTPMOD32 (17) 25# CHECK: Type: R_ARM_TLS_DTPOFF32 (18) 26# CHECK: Type: R_ARM_TLS_TPOFF32 (19) 27# CHECK: Type: R_ARM_COPY (20) 28# CHECK: Type: R_ARM_GLOB_DAT (21) 29# CHECK: Type: R_ARM_JUMP_SLOT (22) 30# CHECK: Type: R_ARM_RELATIVE (23) 31# CHECK: Type: R_ARM_GOTOFF32 (24) 32# CHECK: Type: R_ARM_BASE_PREL (25) 33# CHECK: Type: R_ARM_GOT_BREL (26) 34# CHECK: Type: R_ARM_CALL (28) 35# CHECK: Type: R_ARM_JUMP24 (29) 36# CHECK: Type: R_ARM_THM_JUMP24 (30) 37# CHECK: Type: R_ARM_BASE_ABS (31) 38# CHECK: Type: R_ARM_ALU_PCREL_7_0 (32) 39# CHECK: Type: R_ARM_ALU_PCREL_15_8 (33) 40# CHECK: Type: R_ARM_ALU_PCREL_23_15 (34) 41# CHECK: Type: R_ARM_LDR_SBREL_11_0_NC (35) 42# CHECK: Type: R_ARM_ALU_SBREL_19_12_NC (36) 43# CHECK: Type: R_ARM_ALU_SBREL_27_20_CK (37) 44# CHECK: Type: R_ARM_TARGET1 (38) 45# CHECK: Type: R_ARM_SBREL31 (39) 46# CHECK: Type: R_ARM_V4BX (40) 47# CHECK: Type: R_ARM_TARGET2 (41) 48# CHECK: Type: R_ARM_PREL31 (42) 49# CHECK: Type: R_ARM_MOVW_ABS_NC (43) 50# CHECK: Type: R_ARM_MOVT_ABS (44) 51# CHECK: Type: R_ARM_MOVW_PREL_NC (45) 52# CHECK: Type: R_ARM_MOVT_PREL (46) 53# CHECK: Type: R_ARM_THM_MOVW_ABS_NC (47) 54# CHECK: Type: R_ARM_THM_MOVT_ABS (48) 55# CHECK: Type: R_ARM_THM_MOVW_PREL_NC (49) 56# CHECK: Type: R_ARM_THM_MOVT_PREL (50) 57# CHECK: Type: R_ARM_THM_JUMP19 (51) 58# CHECK: Type: R_ARM_THM_JUMP6 (52) 59# CHECK: Type: R_ARM_THM_ALU_PREL_11_0 (53) 60# CHECK: Type: R_ARM_THM_PC12 (54) 61# CHECK: Type: R_ARM_ABS32_NOI (55) 62# CHECK: Type: R_ARM_REL32_NOI (56) 63# CHECK: Type: R_ARM_ALU_PC_G0_NC (57) 64# CHECK: Type: R_ARM_ALU_PC_G0 (58) 65# CHECK: Type: R_ARM_ALU_PC_G1_NC (59) 66# CHECK: Type: R_ARM_ALU_PC_G1 (60) 67# CHECK: Type: R_ARM_ALU_PC_G2 (61) 68# CHECK: Type: R_ARM_LDR_PC_G1 (62) 69# CHECK: Type: R_ARM_LDR_PC_G2 (63) 70# CHECK: Type: R_ARM_LDRS_PC_G0 (64) 71# CHECK: Type: R_ARM_LDRS_PC_G1 (65) 72# CHECK: Type: R_ARM_LDRS_PC_G2 (66) 73# CHECK: Type: R_ARM_LDC_PC_G0 (67) 74# CHECK: Type: R_ARM_LDC_PC_G1 (68) 75# CHECK: Type: R_ARM_LDC_PC_G2 (69) 76# CHECK: Type: R_ARM_ALU_SB_G0_NC (70) 77# CHECK: Type: R_ARM_ALU_SB_G0 (71) 78# CHECK: Type: R_ARM_ALU_SB_G1_NC (72) 79# CHECK: Type: R_ARM_ALU_SB_G1 (73) 80# CHECK: Type: R_ARM_ALU_SB_G2 (74) 81# CHECK: Type: R_ARM_LDR_SB_G0 (75) 82# CHECK: Type: R_ARM_LDR_SB_G1 (76) 83# CHECK: Type: R_ARM_LDR_SB_G2 (77) 84# CHECK: Type: R_ARM_LDRS_SB_G0 (78) 85# CHECK: Type: R_ARM_LDRS_SB_G1 (79) 86# CHECK: Type: R_ARM_LDRS_SB_G2 (80) 87# CHECK: Type: R_ARM_LDC_SB_G0 (81) 88# CHECK: Type: R_ARM_LDC_SB_G1 (82) 89# CHECK: Type: R_ARM_LDC_SB_G2 (83) 90# CHECK: Type: R_ARM_MOVW_BREL_NC (84) 91# CHECK: Type: R_ARM_MOVT_BREL (85) 92# CHECK: Type: R_ARM_MOVW_BREL (86) 93# CHECK: Type: R_ARM_THM_MOVW_BREL_NC (87) 94# CHECK: Type: R_ARM_THM_MOVT_BREL (88) 95# CHECK: Type: R_ARM_THM_MOVW_BREL (89) 96# CHECK: Type: R_ARM_TLS_GOTDESC (90) 97# CHECK: Type: R_ARM_TLS_CALL (91) 98# CHECK: Type: R_ARM_TLS_DESCSEQ (92) 99# CHECK: Type: R_ARM_THM_TLS_CALL (93) 100# CHECK: Type: R_ARM_PLT32_ABS (94) 101# CHECK: Type: R_ARM_GOT_ABS (95) 102# CHECK: Type: R_ARM_GOT_PREL (96) 103# CHECK: Type: R_ARM_GOT_BREL12 (97) 104# CHECK: Type: R_ARM_GOTOFF12 (98) 105# CHECK: Type: R_ARM_GOTRELAX (99) 106# CHECK: Type: R_ARM_GNU_VTENTRY (100) 107# CHECK: Type: R_ARM_GNU_VTINHERIT (101) 108# CHECK: Type: R_ARM_THM_JUMP11 (102) 109# CHECK: Type: R_ARM_THM_JUMP8 (103) 110# CHECK: Type: R_ARM_TLS_GD32 (104) 111# CHECK: Type: R_ARM_TLS_LDM32 (105) 112# CHECK: Type: R_ARM_TLS_LDO32 (106) 113# CHECK: Type: R_ARM_TLS_IE32 (107) 114# CHECK: Type: R_ARM_TLS_LE32 (108) 115# CHECK: Type: R_ARM_TLS_LDO12 (109) 116# CHECK: Type: R_ARM_TLS_LE12 (110) 117# CHECK: Type: R_ARM_TLS_IE12GP (111) 118# CHECK: Type: R_ARM_PRIVATE_0 (112) 119# CHECK: Type: R_ARM_PRIVATE_1 (113) 120# CHECK: Type: R_ARM_PRIVATE_2 (114) 121# CHECK: Type: R_ARM_PRIVATE_3 (115) 122# CHECK: Type: R_ARM_PRIVATE_4 (116) 123# CHECK: Type: R_ARM_PRIVATE_5 (117) 124# CHECK: Type: R_ARM_PRIVATE_6 (118) 125# CHECK: Type: R_ARM_PRIVATE_7 (119) 126# CHECK: Type: R_ARM_PRIVATE_8 (120) 127# CHECK: Type: R_ARM_PRIVATE_9 (121) 128# CHECK: Type: R_ARM_PRIVATE_10 (122) 129# CHECK: Type: R_ARM_PRIVATE_11 (123) 130# CHECK: Type: R_ARM_PRIVATE_12 (124) 131# CHECK: Type: R_ARM_PRIVATE_13 (125) 132# CHECK: Type: R_ARM_PRIVATE_14 (126) 133# CHECK: Type: R_ARM_PRIVATE_15 (127) 134# CHECK: Type: R_ARM_ME_TOO (128) 135# CHECK: Type: R_ARM_THM_TLS_DESCSEQ16 (129) 136# CHECK: Type: R_ARM_THM_TLS_DESCSEQ32 (130) 137# CHECK: Type: R_ARM_IRELATIVE (160) 138 139--- !ELF 140FileHeader: 141 Class: ELFCLASS32 142 Data: ELFDATA2LSB 143 Type: ET_REL 144 Machine: EM_ARM 145Sections: 146 - Name: .rel.text 147 Type: SHT_REL 148 Relocations: 149 - Type: R_ARM_NONE 150 - Type: R_ARM_PC24 151 - Type: R_ARM_ABS32 152 - Type: R_ARM_REL32 153 - Type: R_ARM_LDR_PC_G0 154 - Type: R_ARM_ABS16 155 - Type: R_ARM_ABS12 156 - Type: R_ARM_THM_ABS5 157 - Type: R_ARM_ABS8 158 - Type: R_ARM_SBREL32 159 - Type: R_ARM_THM_CALL 160 - Type: R_ARM_THM_PC8 161 - Type: R_ARM_BREL_ADJ 162 - Type: R_ARM_TLS_DESC 163 - Type: R_ARM_THM_SWI8 164 - Type: R_ARM_XPC25 165 - Type: R_ARM_THM_XPC22 166 - Type: R_ARM_TLS_DTPMOD32 167 - Type: R_ARM_TLS_DTPOFF32 168 - Type: R_ARM_TLS_TPOFF32 169 - Type: R_ARM_COPY 170 - Type: R_ARM_GLOB_DAT 171 - Type: R_ARM_JUMP_SLOT 172 - Type: R_ARM_RELATIVE 173 - Type: R_ARM_GOTOFF32 174 - Type: R_ARM_BASE_PREL 175 - Type: R_ARM_GOT_BREL 176 - Type: R_ARM_PLT32 177 - Type: R_ARM_CALL 178 - Type: R_ARM_JUMP24 179 - Type: R_ARM_THM_JUMP24 180 - Type: R_ARM_BASE_ABS 181 - Type: R_ARM_ALU_PCREL_7_0 182 - Type: R_ARM_ALU_PCREL_15_8 183 - Type: R_ARM_ALU_PCREL_23_15 184 - Type: R_ARM_LDR_SBREL_11_0_NC 185 - Type: R_ARM_ALU_SBREL_19_12_NC 186 - Type: R_ARM_ALU_SBREL_27_20_CK 187 - Type: R_ARM_TARGET1 188 - Type: R_ARM_SBREL31 189 - Type: R_ARM_V4BX 190 - Type: R_ARM_TARGET2 191 - Type: R_ARM_PREL31 192 - Type: R_ARM_MOVW_ABS_NC 193 - Type: R_ARM_MOVT_ABS 194 - Type: R_ARM_MOVW_PREL_NC 195 - Type: R_ARM_MOVT_PREL 196 - Type: R_ARM_THM_MOVW_ABS_NC 197 - Type: R_ARM_THM_MOVT_ABS 198 - Type: R_ARM_THM_MOVW_PREL_NC 199 - Type: R_ARM_THM_MOVT_PREL 200 - Type: R_ARM_THM_JUMP19 201 - Type: R_ARM_THM_JUMP6 202 - Type: R_ARM_THM_ALU_PREL_11_0 203 - Type: R_ARM_THM_PC12 204 - Type: R_ARM_ABS32_NOI 205 - Type: R_ARM_REL32_NOI 206 - Type: R_ARM_ALU_PC_G0_NC 207 - Type: R_ARM_ALU_PC_G0 208 - Type: R_ARM_ALU_PC_G1_NC 209 - Type: R_ARM_ALU_PC_G1 210 - Type: R_ARM_ALU_PC_G2 211 - Type: R_ARM_LDR_PC_G1 212 - Type: R_ARM_LDR_PC_G2 213 - Type: R_ARM_LDRS_PC_G0 214 - Type: R_ARM_LDRS_PC_G1 215 - Type: R_ARM_LDRS_PC_G2 216 - Type: R_ARM_LDC_PC_G0 217 - Type: R_ARM_LDC_PC_G1 218 - Type: R_ARM_LDC_PC_G2 219 - Type: R_ARM_ALU_SB_G0_NC 220 - Type: R_ARM_ALU_SB_G0 221 - Type: R_ARM_ALU_SB_G1_NC 222 - Type: R_ARM_ALU_SB_G1 223 - Type: R_ARM_ALU_SB_G2 224 - Type: R_ARM_LDR_SB_G0 225 - Type: R_ARM_LDR_SB_G1 226 - Type: R_ARM_LDR_SB_G2 227 - Type: R_ARM_LDRS_SB_G0 228 - Type: R_ARM_LDRS_SB_G1 229 - Type: R_ARM_LDRS_SB_G2 230 - Type: R_ARM_LDC_SB_G0 231 - Type: R_ARM_LDC_SB_G1 232 - Type: R_ARM_LDC_SB_G2 233 - Type: R_ARM_MOVW_BREL_NC 234 - Type: R_ARM_MOVT_BREL 235 - Type: R_ARM_MOVW_BREL 236 - Type: R_ARM_THM_MOVW_BREL_NC 237 - Type: R_ARM_THM_MOVT_BREL 238 - Type: R_ARM_THM_MOVW_BREL 239 - Type: R_ARM_TLS_GOTDESC 240 - Type: R_ARM_TLS_CALL 241 - Type: R_ARM_TLS_DESCSEQ 242 - Type: R_ARM_THM_TLS_CALL 243 - Type: R_ARM_PLT32_ABS 244 - Type: R_ARM_GOT_ABS 245 - Type: R_ARM_GOT_PREL 246 - Type: R_ARM_GOT_BREL12 247 - Type: R_ARM_GOTOFF12 248 - Type: R_ARM_GOTRELAX 249 - Type: R_ARM_GNU_VTENTRY 250 - Type: R_ARM_GNU_VTINHERIT 251 - Type: R_ARM_THM_JUMP11 252 - Type: R_ARM_THM_JUMP8 253 - Type: R_ARM_TLS_GD32 254 - Type: R_ARM_TLS_LDM32 255 - Type: R_ARM_TLS_LDO32 256 - Type: R_ARM_TLS_IE32 257 - Type: R_ARM_TLS_LE32 258 - Type: R_ARM_TLS_LDO12 259 - Type: R_ARM_TLS_LE12 260 - Type: R_ARM_TLS_IE12GP 261 - Type: R_ARM_PRIVATE_0 262 - Type: R_ARM_PRIVATE_1 263 - Type: R_ARM_PRIVATE_2 264 - Type: R_ARM_PRIVATE_3 265 - Type: R_ARM_PRIVATE_4 266 - Type: R_ARM_PRIVATE_5 267 - Type: R_ARM_PRIVATE_6 268 - Type: R_ARM_PRIVATE_7 269 - Type: R_ARM_PRIVATE_8 270 - Type: R_ARM_PRIVATE_9 271 - Type: R_ARM_PRIVATE_10 272 - Type: R_ARM_PRIVATE_11 273 - Type: R_ARM_PRIVATE_12 274 - Type: R_ARM_PRIVATE_13 275 - Type: R_ARM_PRIVATE_14 276 - Type: R_ARM_PRIVATE_15 277 - Type: R_ARM_ME_TOO 278 - Type: R_ARM_THM_TLS_DESCSEQ16 279 - Type: R_ARM_THM_TLS_DESCSEQ32 280 - Type: R_ARM_IRELATIVE 281