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_COPY (1024) 123# CHECK: Type: R_AARCH64_GLOB_DAT (1025) 124# CHECK: Type: R_AARCH64_JUMP_SLOT (1026) 125# CHECK: Type: R_AARCH64_RELATIVE (1027) 126# CHECK: Type: R_AARCH64_TLS_DTPMOD64 (1028) 127# CHECK: Type: R_AARCH64_TLS_DTPREL64 (1029) 128# CHECK: Type: R_AARCH64_TLS_TPREL64 (1030) 129# CHECK: Type: R_AARCH64_TLSDESC (1031) 130# CHECK: Type: R_AARCH64_IRELATIVE (1032) 131 132--- !ELF 133FileHeader: 134 Class: ELFCLASS64 135 Data: ELFDATA2LSB 136 Type: ET_REL 137 Machine: EM_AARCH64 138Sections: 139 - Name: .rela.text 140 Type: SHT_RELA 141 Relocations: 142 - Type: R_AARCH64_NONE 143 - Type: R_AARCH64_ABS64 144 - Type: R_AARCH64_ABS32 145 - Type: R_AARCH64_ABS16 146 - Type: R_AARCH64_PREL64 147 - Type: R_AARCH64_PREL32 148 - Type: R_AARCH64_PREL16 149 - Type: R_AARCH64_MOVW_UABS_G0 150 - Type: R_AARCH64_MOVW_UABS_G0_NC 151 - Type: R_AARCH64_MOVW_UABS_G1 152 - Type: R_AARCH64_MOVW_UABS_G1_NC 153 - Type: R_AARCH64_MOVW_UABS_G2 154 - Type: R_AARCH64_MOVW_UABS_G2_NC 155 - Type: R_AARCH64_MOVW_UABS_G3 156 - Type: R_AARCH64_MOVW_SABS_G0 157 - Type: R_AARCH64_MOVW_SABS_G1 158 - Type: R_AARCH64_MOVW_SABS_G2 159 - Type: R_AARCH64_LD_PREL_LO19 160 - Type: R_AARCH64_ADR_PREL_LO21 161 - Type: R_AARCH64_ADR_PREL_PG_HI21 162 - Type: R_AARCH64_ADR_PREL_PG_HI21_NC 163 - Type: R_AARCH64_ADD_ABS_LO12_NC 164 - Type: R_AARCH64_LDST8_ABS_LO12_NC 165 - Type: R_AARCH64_TSTBR14 166 - Type: R_AARCH64_CONDBR19 167 - Type: R_AARCH64_JUMP26 168 - Type: R_AARCH64_CALL26 169 - Type: R_AARCH64_LDST16_ABS_LO12_NC 170 - Type: R_AARCH64_LDST32_ABS_LO12_NC 171 - Type: R_AARCH64_LDST64_ABS_LO12_NC 172 - Type: R_AARCH64_MOVW_PREL_G0 173 - Type: R_AARCH64_MOVW_PREL_G0_NC 174 - Type: R_AARCH64_MOVW_PREL_G1 175 - Type: R_AARCH64_MOVW_PREL_G1_NC 176 - Type: R_AARCH64_MOVW_PREL_G2 177 - Type: R_AARCH64_MOVW_PREL_G2_NC 178 - Type: R_AARCH64_MOVW_PREL_G3 179 - Type: R_AARCH64_LDST128_ABS_LO12_NC 180 - Type: R_AARCH64_MOVW_GOTOFF_G0 181 - Type: R_AARCH64_MOVW_GOTOFF_G0_NC 182 - Type: R_AARCH64_MOVW_GOTOFF_G1 183 - Type: R_AARCH64_MOVW_GOTOFF_G1_NC 184 - Type: R_AARCH64_MOVW_GOTOFF_G2 185 - Type: R_AARCH64_MOVW_GOTOFF_G2_NC 186 - Type: R_AARCH64_MOVW_GOTOFF_G3 187 - Type: R_AARCH64_GOTREL64 188 - Type: R_AARCH64_GOTREL32 189 - Type: R_AARCH64_GOT_LD_PREL19 190 - Type: R_AARCH64_LD64_GOTOFF_LO15 191 - Type: R_AARCH64_ADR_GOT_PAGE 192 - Type: R_AARCH64_LD64_GOT_LO12_NC 193 - Type: R_AARCH64_LD64_GOTPAGE_LO15 194 - Type: R_AARCH64_PLT32 195 - Type: R_AARCH64_TLSGD_ADR_PREL21 196 - Type: R_AARCH64_TLSGD_ADR_PAGE21 197 - Type: R_AARCH64_TLSGD_ADD_LO12_NC 198 - Type: R_AARCH64_TLSGD_MOVW_G1 199 - Type: R_AARCH64_TLSGD_MOVW_G0_NC 200 - Type: R_AARCH64_TLSLD_ADR_PREL21 201 - Type: R_AARCH64_TLSLD_ADR_PAGE21 202 - Type: R_AARCH64_TLSLD_ADD_LO12_NC 203 - Type: R_AARCH64_TLSLD_MOVW_G1 204 - Type: R_AARCH64_TLSLD_MOVW_G0_NC 205 - Type: R_AARCH64_TLSLD_LD_PREL19 206 - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G2 207 - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1 208 - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC 209 - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0 210 - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC 211 - Type: R_AARCH64_TLSLD_ADD_DTPREL_HI12 212 - Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12 213 - Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC 214 - Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12 215 - Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC 216 - Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12 217 - Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC 218 - Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12 219 - Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC 220 - Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12 221 - Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC 222 - Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 223 - Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC 224 - Type: R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 225 - Type: R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC 226 - Type: R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 227 - Type: R_AARCH64_TLSLE_MOVW_TPREL_G2 228 - Type: R_AARCH64_TLSLE_MOVW_TPREL_G1 229 - Type: R_AARCH64_TLSLE_MOVW_TPREL_G1_NC 230 - Type: R_AARCH64_TLSLE_MOVW_TPREL_G0 231 - Type: R_AARCH64_TLSLE_MOVW_TPREL_G0_NC 232 - Type: R_AARCH64_TLSLE_ADD_TPREL_HI12 233 - Type: R_AARCH64_TLSLE_ADD_TPREL_LO12 234 - Type: R_AARCH64_TLSLE_ADD_TPREL_LO12_NC 235 - Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12 236 - Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC 237 - Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12 238 - Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC 239 - Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12 240 - Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC 241 - Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12 242 - Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC 243 - Type: R_AARCH64_TLSDESC_LD_PREL19 244 - Type: R_AARCH64_TLSDESC_ADR_PREL21 245 - Type: R_AARCH64_TLSDESC_ADR_PAGE21 246 - Type: R_AARCH64_TLSDESC_LD64_LO12 247 - Type: R_AARCH64_TLSDESC_ADD_LO12 248 - Type: R_AARCH64_TLSDESC_OFF_G1 249 - Type: R_AARCH64_TLSDESC_OFF_G0_NC 250 - Type: R_AARCH64_TLSDESC_LDR 251 - Type: R_AARCH64_TLSDESC_ADD 252 - Type: R_AARCH64_TLSDESC_CALL 253 - Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12 254 - Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC 255 - Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12 256 - Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC 257 - Type: R_AARCH64_COPY 258 - Type: R_AARCH64_GLOB_DAT 259 - Type: R_AARCH64_JUMP_SLOT 260 - Type: R_AARCH64_RELATIVE 261 - Type: R_AARCH64_TLS_DTPMOD64 262 - Type: R_AARCH64_TLS_DTPREL64 263 - Type: R_AARCH64_TLS_TPREL64 264 - Type: R_AARCH64_TLSDESC 265 - Type: R_AARCH64_IRELATIVE 266