1## Test that llvm-readobj/llvm-readelf shows proper relocation type 2## names and values for aarch64 target. 3 4# RUN: yaml2obj %s -o %t-aarch64.o 5# RUN: llvm-readobj -r --expand-relocs %t-aarch64.o | FileCheck %s 6 7# CHECK: Type: R_AARCH64_NONE (0) 8# CHECK: Type: R_AARCH64_ABS64 (257) 9# CHECK: Type: R_AARCH64_ABS32 (258) 10# CHECK: Type: R_AARCH64_ABS16 (259) 11# CHECK: Type: R_AARCH64_PREL64 (260) 12# CHECK: Type: R_AARCH64_PREL32 (261) 13# CHECK: Type: R_AARCH64_PREL16 (262) 14# CHECK: Type: R_AARCH64_MOVW_UABS_G0 (263) 15# CHECK: Type: R_AARCH64_MOVW_UABS_G0_NC (264) 16# CHECK: Type: R_AARCH64_MOVW_UABS_G1 (265) 17# CHECK: Type: R_AARCH64_MOVW_UABS_G1_NC (266) 18# CHECK: Type: R_AARCH64_MOVW_UABS_G2 (267) 19# CHECK: Type: R_AARCH64_MOVW_UABS_G2_NC (268) 20# CHECK: Type: R_AARCH64_MOVW_UABS_G3 (269) 21# CHECK: Type: R_AARCH64_MOVW_SABS_G0 (270) 22# CHECK: Type: R_AARCH64_MOVW_SABS_G1 (271) 23# CHECK: Type: R_AARCH64_MOVW_SABS_G2 (272) 24# CHECK: Type: R_AARCH64_LD_PREL_LO19 (273) 25# CHECK: Type: R_AARCH64_ADR_PREL_LO21 (274) 26# CHECK: Type: R_AARCH64_ADR_PREL_PG_HI21 (275) 27# CHECK: Type: R_AARCH64_ADR_PREL_PG_HI21_NC (276) 28# CHECK: Type: R_AARCH64_ADD_ABS_LO12_NC (277) 29# CHECK: Type: R_AARCH64_LDST8_ABS_LO12_NC (278) 30# CHECK: Type: R_AARCH64_TSTBR14 (279) 31# CHECK: Type: R_AARCH64_CONDBR19 (280) 32# CHECK: Type: R_AARCH64_JUMP26 (282) 33# CHECK: Type: R_AARCH64_CALL26 (283) 34# CHECK: Type: R_AARCH64_LDST16_ABS_LO12_NC (284) 35# CHECK: Type: R_AARCH64_LDST32_ABS_LO12_NC (285) 36# CHECK: Type: R_AARCH64_LDST64_ABS_LO12_NC (286) 37# CHECK: Type: R_AARCH64_MOVW_PREL_G0 (287) 38# CHECK: Type: R_AARCH64_MOVW_PREL_G0_NC (288) 39# CHECK: Type: R_AARCH64_MOVW_PREL_G1 (289) 40# CHECK: Type: R_AARCH64_MOVW_PREL_G1_NC (290) 41# CHECK: Type: R_AARCH64_MOVW_PREL_G2 (291) 42# CHECK: Type: R_AARCH64_MOVW_PREL_G2_NC (292) 43# CHECK: Type: R_AARCH64_MOVW_PREL_G3 (293) 44# CHECK: Type: R_AARCH64_LDST128_ABS_LO12_NC (299) 45# CHECK: Type: R_AARCH64_MOVW_GOTOFF_G0 (300) 46# CHECK: Type: R_AARCH64_MOVW_GOTOFF_G0_NC (301) 47# CHECK: Type: R_AARCH64_MOVW_GOTOFF_G1 (302) 48# CHECK: Type: R_AARCH64_MOVW_GOTOFF_G1_NC (303) 49# CHECK: Type: R_AARCH64_MOVW_GOTOFF_G2 (304) 50# CHECK: Type: R_AARCH64_MOVW_GOTOFF_G2_NC (305) 51# CHECK: Type: R_AARCH64_MOVW_GOTOFF_G3 (306) 52# CHECK: Type: R_AARCH64_GOTREL64 (307) 53# CHECK: Type: R_AARCH64_GOTREL32 (308) 54# CHECK: Type: R_AARCH64_GOT_LD_PREL19 (309) 55# CHECK: Type: R_AARCH64_LD64_GOTOFF_LO15 (310) 56# CHECK: Type: R_AARCH64_ADR_GOT_PAGE (311) 57# CHECK: Type: R_AARCH64_LD64_GOT_LO12_NC (312) 58# CHECK: Type: R_AARCH64_LD64_GOTPAGE_LO15 (313) 59# CHECK: Type: R_AARCH64_PLT32 (314) 60# CHECK: Type: R_AARCH64_TLSGD_ADR_PREL21 (512) 61# CHECK: Type: R_AARCH64_TLSGD_ADR_PAGE21 (513) 62# CHECK: Type: R_AARCH64_TLSGD_ADD_LO12_NC (514) 63# CHECK: Type: R_AARCH64_TLSGD_MOVW_G1 (515) 64# CHECK: Type: R_AARCH64_TLSGD_MOVW_G0_NC (516) 65# CHECK: Type: R_AARCH64_TLSLD_ADR_PREL21 (517) 66# CHECK: Type: R_AARCH64_TLSLD_ADR_PAGE21 (518) 67# CHECK: Type: R_AARCH64_TLSLD_ADD_LO12_NC (519) 68# CHECK: Type: R_AARCH64_TLSLD_MOVW_G1 (520) 69# CHECK: Type: R_AARCH64_TLSLD_MOVW_G0_NC (521) 70# CHECK: Type: R_AARCH64_TLSLD_LD_PREL19 (522) 71# CHECK: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G2 (523) 72# CHECK: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1 (524) 73# CHECK: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC (525) 74# CHECK: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0 (526) 75# CHECK: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC (527) 76# CHECK: Type: R_AARCH64_TLSLD_ADD_DTPREL_HI12 (528) 77# CHECK: Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12 (529) 78# CHECK: Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC (530) 79# CHECK: Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12 (531) 80# CHECK: Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC (532) 81# CHECK: Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12 (533) 82# CHECK: Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC (534) 83# CHECK: Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12 (535) 84# CHECK: Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC (536) 85# CHECK: Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12 (537) 86# CHECK: Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC (538) 87# CHECK: Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 (539) 88# CHECK: Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC (540) 89# CHECK: Type: R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 (541) 90# CHECK: Type: R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC (542) 91# CHECK: Type: R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 (543) 92# CHECK: Type: R_AARCH64_TLSLE_MOVW_TPREL_G2 (544) 93# CHECK: Type: R_AARCH64_TLSLE_MOVW_TPREL_G1 (545) 94# CHECK: Type: R_AARCH64_TLSLE_MOVW_TPREL_G1_NC (546) 95# CHECK: Type: R_AARCH64_TLSLE_MOVW_TPREL_G0 (547) 96# CHECK: Type: R_AARCH64_TLSLE_MOVW_TPREL_G0_NC (548) 97# CHECK: Type: R_AARCH64_TLSLE_ADD_TPREL_HI12 (549) 98# CHECK: Type: R_AARCH64_TLSLE_ADD_TPREL_LO12 (550) 99# CHECK: Type: R_AARCH64_TLSLE_ADD_TPREL_LO12_NC (551) 100# CHECK: Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12 (552) 101# CHECK: Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC (553) 102# CHECK: Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12 (554) 103# CHECK: Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC (555) 104# CHECK: Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12 (556) 105# CHECK: Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC (557) 106# CHECK: Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12 (558) 107# CHECK: Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC (559) 108# CHECK: Type: R_AARCH64_TLSDESC_LD_PREL19 (560) 109# CHECK: Type: R_AARCH64_TLSDESC_ADR_PREL21 (561) 110# CHECK: Type: R_AARCH64_TLSDESC_ADR_PAGE21 (562) 111# CHECK: Type: R_AARCH64_TLSDESC_LD64_LO12 (563) 112# CHECK: Type: R_AARCH64_TLSDESC_ADD_LO12 (564) 113# CHECK: Type: R_AARCH64_TLSDESC_OFF_G1 (565) 114# CHECK: Type: R_AARCH64_TLSDESC_OFF_G0_NC (566) 115# CHECK: Type: R_AARCH64_TLSDESC_LDR (567) 116# CHECK: Type: R_AARCH64_TLSDESC_ADD (568) 117# CHECK: Type: R_AARCH64_TLSDESC_CALL (569) 118# CHECK: Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12 (570) 119# CHECK: Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC (571) 120# CHECK: Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12 (572) 121# CHECK: Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC (573) 122# CHECK: Type: R_AARCH64_AUTH_ABS64 (580) 123# CHECK: Type: R_AARCH64_AUTH_MOVW_GOTOFF_G0 (581) 124# CHECK: Type: R_AARCH64_AUTH_MOVW_GOTOFF_G0_NC (582) 125# CHECK: Type: R_AARCH64_AUTH_MOVW_GOTOFF_G1 (583) 126# CHECK: Type: R_AARCH64_AUTH_MOVW_GOTOFF_G1_NC (584) 127# CHECK: Type: R_AARCH64_AUTH_MOVW_GOTOFF_G2 (585) 128# CHECK: Type: R_AARCH64_AUTH_MOVW_GOTOFF_G2_NC (586) 129# CHECK: Type: R_AARCH64_AUTH_MOVW_GOTOFF_G3 (587) 130# CHECK: Type: R_AARCH64_AUTH_GOT_LD_PREL19 (588) 131# CHECK: Type: R_AARCH64_AUTH_LD64_GOTOFF_LO15 (589) 132# CHECK: Type: R_AARCH64_AUTH_ADR_GOT_PAGE (590) 133# CHECK: Type: R_AARCH64_AUTH_LD64_GOT_LO12_NC (591) 134# CHECK: Type: R_AARCH64_AUTH_LD64_GOTPAGE_LO15 (592) 135# CHECK: Type: R_AARCH64_AUTH_GOT_ADD_LO12_NC (593) 136# CHECK: Type: R_AARCH64_AUTH_GOT_ADR_PREL_LO21 (594) 137# CHECK: Type: R_AARCH64_AUTH_TLSDESC_ADR_PAGE21 (595) 138# CHECK: Type: R_AARCH64_AUTH_TLSDESC_LD64_LO12 (596) 139# CHECK: Type: R_AARCH64_AUTH_TLSDESC_ADD_LO12 (597) 140# CHECK: Type: R_AARCH64_COPY (1024) 141# CHECK: Type: R_AARCH64_GLOB_DAT (1025) 142# CHECK: Type: R_AARCH64_JUMP_SLOT (1026) 143# CHECK: Type: R_AARCH64_RELATIVE (1027) 144# CHECK: Type: R_AARCH64_TLS_DTPMOD64 (1028) 145# CHECK: Type: R_AARCH64_TLS_DTPREL64 (1029) 146# CHECK: Type: R_AARCH64_TLS_TPREL64 (1030) 147# CHECK: Type: R_AARCH64_TLSDESC (1031) 148# CHECK: Type: R_AARCH64_IRELATIVE (1032) 149# CHECK: Type: R_AARCH64_AUTH_RELATIVE (1041) 150# CHECK: Type: R_AARCH64_AUTH_GLOB_DAT (1042) 151# CHECK: Type: R_AARCH64_AUTH_TLSDESC (1043) 152# CHECK: Type: R_AARCH64_AUTH_IRELATIVE (1044) 153 154--- !ELF 155FileHeader: 156 Class: ELFCLASS64 157 Data: ELFDATA2LSB 158 Type: ET_REL 159 Machine: EM_AARCH64 160Sections: 161 - Name: .rela.text 162 Type: SHT_RELA 163 Relocations: 164 - Type: R_AARCH64_NONE 165 - Type: R_AARCH64_ABS64 166 - Type: R_AARCH64_ABS32 167 - Type: R_AARCH64_ABS16 168 - Type: R_AARCH64_PREL64 169 - Type: R_AARCH64_PREL32 170 - Type: R_AARCH64_PREL16 171 - Type: R_AARCH64_MOVW_UABS_G0 172 - Type: R_AARCH64_MOVW_UABS_G0_NC 173 - Type: R_AARCH64_MOVW_UABS_G1 174 - Type: R_AARCH64_MOVW_UABS_G1_NC 175 - Type: R_AARCH64_MOVW_UABS_G2 176 - Type: R_AARCH64_MOVW_UABS_G2_NC 177 - Type: R_AARCH64_MOVW_UABS_G3 178 - Type: R_AARCH64_MOVW_SABS_G0 179 - Type: R_AARCH64_MOVW_SABS_G1 180 - Type: R_AARCH64_MOVW_SABS_G2 181 - Type: R_AARCH64_LD_PREL_LO19 182 - Type: R_AARCH64_ADR_PREL_LO21 183 - Type: R_AARCH64_ADR_PREL_PG_HI21 184 - Type: R_AARCH64_ADR_PREL_PG_HI21_NC 185 - Type: R_AARCH64_ADD_ABS_LO12_NC 186 - Type: R_AARCH64_LDST8_ABS_LO12_NC 187 - Type: R_AARCH64_TSTBR14 188 - Type: R_AARCH64_CONDBR19 189 - Type: R_AARCH64_JUMP26 190 - Type: R_AARCH64_CALL26 191 - Type: R_AARCH64_LDST16_ABS_LO12_NC 192 - Type: R_AARCH64_LDST32_ABS_LO12_NC 193 - Type: R_AARCH64_LDST64_ABS_LO12_NC 194 - Type: R_AARCH64_MOVW_PREL_G0 195 - Type: R_AARCH64_MOVW_PREL_G0_NC 196 - Type: R_AARCH64_MOVW_PREL_G1 197 - Type: R_AARCH64_MOVW_PREL_G1_NC 198 - Type: R_AARCH64_MOVW_PREL_G2 199 - Type: R_AARCH64_MOVW_PREL_G2_NC 200 - Type: R_AARCH64_MOVW_PREL_G3 201 - Type: R_AARCH64_LDST128_ABS_LO12_NC 202 - Type: R_AARCH64_MOVW_GOTOFF_G0 203 - Type: R_AARCH64_MOVW_GOTOFF_G0_NC 204 - Type: R_AARCH64_MOVW_GOTOFF_G1 205 - Type: R_AARCH64_MOVW_GOTOFF_G1_NC 206 - Type: R_AARCH64_MOVW_GOTOFF_G2 207 - Type: R_AARCH64_MOVW_GOTOFF_G2_NC 208 - Type: R_AARCH64_MOVW_GOTOFF_G3 209 - Type: R_AARCH64_GOTREL64 210 - Type: R_AARCH64_GOTREL32 211 - Type: R_AARCH64_GOT_LD_PREL19 212 - Type: R_AARCH64_LD64_GOTOFF_LO15 213 - Type: R_AARCH64_ADR_GOT_PAGE 214 - Type: R_AARCH64_LD64_GOT_LO12_NC 215 - Type: R_AARCH64_LD64_GOTPAGE_LO15 216 - Type: R_AARCH64_PLT32 217 - Type: R_AARCH64_TLSGD_ADR_PREL21 218 - Type: R_AARCH64_TLSGD_ADR_PAGE21 219 - Type: R_AARCH64_TLSGD_ADD_LO12_NC 220 - Type: R_AARCH64_TLSGD_MOVW_G1 221 - Type: R_AARCH64_TLSGD_MOVW_G0_NC 222 - Type: R_AARCH64_TLSLD_ADR_PREL21 223 - Type: R_AARCH64_TLSLD_ADR_PAGE21 224 - Type: R_AARCH64_TLSLD_ADD_LO12_NC 225 - Type: R_AARCH64_TLSLD_MOVW_G1 226 - Type: R_AARCH64_TLSLD_MOVW_G0_NC 227 - Type: R_AARCH64_TLSLD_LD_PREL19 228 - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G2 229 - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1 230 - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC 231 - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0 232 - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC 233 - Type: R_AARCH64_TLSLD_ADD_DTPREL_HI12 234 - Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12 235 - Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC 236 - Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12 237 - Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC 238 - Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12 239 - Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC 240 - Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12 241 - Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC 242 - Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12 243 - Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC 244 - Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 245 - Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC 246 - Type: R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 247 - Type: R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC 248 - Type: R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 249 - Type: R_AARCH64_TLSLE_MOVW_TPREL_G2 250 - Type: R_AARCH64_TLSLE_MOVW_TPREL_G1 251 - Type: R_AARCH64_TLSLE_MOVW_TPREL_G1_NC 252 - Type: R_AARCH64_TLSLE_MOVW_TPREL_G0 253 - Type: R_AARCH64_TLSLE_MOVW_TPREL_G0_NC 254 - Type: R_AARCH64_TLSLE_ADD_TPREL_HI12 255 - Type: R_AARCH64_TLSLE_ADD_TPREL_LO12 256 - Type: R_AARCH64_TLSLE_ADD_TPREL_LO12_NC 257 - Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12 258 - Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC 259 - Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12 260 - Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC 261 - Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12 262 - Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC 263 - Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12 264 - Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC 265 - Type: R_AARCH64_TLSDESC_LD_PREL19 266 - Type: R_AARCH64_TLSDESC_ADR_PREL21 267 - Type: R_AARCH64_TLSDESC_ADR_PAGE21 268 - Type: R_AARCH64_TLSDESC_LD64_LO12 269 - Type: R_AARCH64_TLSDESC_ADD_LO12 270 - Type: R_AARCH64_TLSDESC_OFF_G1 271 - Type: R_AARCH64_TLSDESC_OFF_G0_NC 272 - Type: R_AARCH64_TLSDESC_LDR 273 - Type: R_AARCH64_TLSDESC_ADD 274 - Type: R_AARCH64_TLSDESC_CALL 275 - Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12 276 - Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC 277 - Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12 278 - Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC 279 - Type: R_AARCH64_AUTH_ABS64 280 - Type: R_AARCH64_AUTH_MOVW_GOTOFF_G0 281 - Type: R_AARCH64_AUTH_MOVW_GOTOFF_G0_NC 282 - Type: R_AARCH64_AUTH_MOVW_GOTOFF_G1 283 - Type: R_AARCH64_AUTH_MOVW_GOTOFF_G1_NC 284 - Type: R_AARCH64_AUTH_MOVW_GOTOFF_G2 285 - Type: R_AARCH64_AUTH_MOVW_GOTOFF_G2_NC 286 - Type: R_AARCH64_AUTH_MOVW_GOTOFF_G3 287 - Type: R_AARCH64_AUTH_GOT_LD_PREL19 288 - Type: R_AARCH64_AUTH_LD64_GOTOFF_LO15 289 - Type: R_AARCH64_AUTH_ADR_GOT_PAGE 290 - Type: R_AARCH64_AUTH_LD64_GOT_LO12_NC 291 - Type: R_AARCH64_AUTH_LD64_GOTPAGE_LO15 292 - Type: R_AARCH64_AUTH_GOT_ADD_LO12_NC 293 - Type: R_AARCH64_AUTH_GOT_ADR_PREL_LO21 294 - Type: R_AARCH64_AUTH_TLSDESC_ADR_PAGE21 295 - Type: R_AARCH64_AUTH_TLSDESC_LD64_LO12 296 - Type: R_AARCH64_AUTH_TLSDESC_ADD_LO12 297 - Type: R_AARCH64_COPY 298 - Type: R_AARCH64_GLOB_DAT 299 - Type: R_AARCH64_JUMP_SLOT 300 - Type: R_AARCH64_RELATIVE 301 - Type: R_AARCH64_TLS_DTPMOD64 302 - Type: R_AARCH64_TLS_DTPREL64 303 - Type: R_AARCH64_TLS_TPREL64 304 - Type: R_AARCH64_TLSDESC 305 - Type: R_AARCH64_IRELATIVE 306 - Type: R_AARCH64_AUTH_RELATIVE 307 - Type: R_AARCH64_AUTH_GLOB_DAT 308 - Type: R_AARCH64_AUTH_TLSDESC 309 - Type: R_AARCH64_AUTH_IRELATIVE 310