| ## Test that llvm-readobj/llvm-readelf shows proper relocation type |
| ## names and values for aarch64 target. |
| |
| # RUN: yaml2obj %s -o %t-aarch64.o |
| # RUN: llvm-readobj -r --expand-relocs %t-aarch64.o | FileCheck %s |
| |
| # CHECK: Type: R_AARCH64_NONE (0) |
| # CHECK: Type: R_AARCH64_ABS64 (257) |
| # CHECK: Type: R_AARCH64_ABS32 (258) |
| # CHECK: Type: R_AARCH64_ABS16 (259) |
| # CHECK: Type: R_AARCH64_PREL64 (260) |
| # CHECK: Type: R_AARCH64_PREL32 (261) |
| # CHECK: Type: R_AARCH64_PREL16 (262) |
| # CHECK: Type: R_AARCH64_MOVW_UABS_G0 (263) |
| # CHECK: Type: R_AARCH64_MOVW_UABS_G0_NC (264) |
| # CHECK: Type: R_AARCH64_MOVW_UABS_G1 (265) |
| # CHECK: Type: R_AARCH64_MOVW_UABS_G1_NC (266) |
| # CHECK: Type: R_AARCH64_MOVW_UABS_G2 (267) |
| # CHECK: Type: R_AARCH64_MOVW_UABS_G2_NC (268) |
| # CHECK: Type: R_AARCH64_MOVW_UABS_G3 (269) |
| # CHECK: Type: R_AARCH64_MOVW_SABS_G0 (270) |
| # CHECK: Type: R_AARCH64_MOVW_SABS_G1 (271) |
| # CHECK: Type: R_AARCH64_MOVW_SABS_G2 (272) |
| # CHECK: Type: R_AARCH64_LD_PREL_LO19 (273) |
| # CHECK: Type: R_AARCH64_ADR_PREL_LO21 (274) |
| # CHECK: Type: R_AARCH64_ADR_PREL_PG_HI21 (275) |
| # CHECK: Type: R_AARCH64_ADR_PREL_PG_HI21_NC (276) |
| # CHECK: Type: R_AARCH64_ADD_ABS_LO12_NC (277) |
| # CHECK: Type: R_AARCH64_LDST8_ABS_LO12_NC (278) |
| # CHECK: Type: R_AARCH64_TSTBR14 (279) |
| # CHECK: Type: R_AARCH64_CONDBR19 (280) |
| # CHECK: Type: R_AARCH64_JUMP26 (282) |
| # CHECK: Type: R_AARCH64_CALL26 (283) |
| # CHECK: Type: R_AARCH64_LDST16_ABS_LO12_NC (284) |
| # CHECK: Type: R_AARCH64_LDST32_ABS_LO12_NC (285) |
| # CHECK: Type: R_AARCH64_LDST64_ABS_LO12_NC (286) |
| # CHECK: Type: R_AARCH64_MOVW_PREL_G0 (287) |
| # CHECK: Type: R_AARCH64_MOVW_PREL_G0_NC (288) |
| # CHECK: Type: R_AARCH64_MOVW_PREL_G1 (289) |
| # CHECK: Type: R_AARCH64_MOVW_PREL_G1_NC (290) |
| # CHECK: Type: R_AARCH64_MOVW_PREL_G2 (291) |
| # CHECK: Type: R_AARCH64_MOVW_PREL_G2_NC (292) |
| # CHECK: Type: R_AARCH64_MOVW_PREL_G3 (293) |
| # CHECK: Type: R_AARCH64_LDST128_ABS_LO12_NC (299) |
| # CHECK: Type: R_AARCH64_MOVW_GOTOFF_G0 (300) |
| # CHECK: Type: R_AARCH64_MOVW_GOTOFF_G0_NC (301) |
| # CHECK: Type: R_AARCH64_MOVW_GOTOFF_G1 (302) |
| # CHECK: Type: R_AARCH64_MOVW_GOTOFF_G1_NC (303) |
| # CHECK: Type: R_AARCH64_MOVW_GOTOFF_G2 (304) |
| # CHECK: Type: R_AARCH64_MOVW_GOTOFF_G2_NC (305) |
| # CHECK: Type: R_AARCH64_MOVW_GOTOFF_G3 (306) |
| # CHECK: Type: R_AARCH64_GOTREL64 (307) |
| # CHECK: Type: R_AARCH64_GOTREL32 (308) |
| # CHECK: Type: R_AARCH64_GOT_LD_PREL19 (309) |
| # CHECK: Type: R_AARCH64_LD64_GOTOFF_LO15 (310) |
| # CHECK: Type: R_AARCH64_ADR_GOT_PAGE (311) |
| # CHECK: Type: R_AARCH64_LD64_GOT_LO12_NC (312) |
| # CHECK: Type: R_AARCH64_LD64_GOTPAGE_LO15 (313) |
| # CHECK: Type: R_AARCH64_PLT32 (314) |
| # CHECK: Type: R_AARCH64_TLSGD_ADR_PREL21 (512) |
| # CHECK: Type: R_AARCH64_TLSGD_ADR_PAGE21 (513) |
| # CHECK: Type: R_AARCH64_TLSGD_ADD_LO12_NC (514) |
| # CHECK: Type: R_AARCH64_TLSGD_MOVW_G1 (515) |
| # CHECK: Type: R_AARCH64_TLSGD_MOVW_G0_NC (516) |
| # CHECK: Type: R_AARCH64_TLSLD_ADR_PREL21 (517) |
| # CHECK: Type: R_AARCH64_TLSLD_ADR_PAGE21 (518) |
| # CHECK: Type: R_AARCH64_TLSLD_ADD_LO12_NC (519) |
| # CHECK: Type: R_AARCH64_TLSLD_MOVW_G1 (520) |
| # CHECK: Type: R_AARCH64_TLSLD_MOVW_G0_NC (521) |
| # CHECK: Type: R_AARCH64_TLSLD_LD_PREL19 (522) |
| # CHECK: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G2 (523) |
| # CHECK: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1 (524) |
| # CHECK: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC (525) |
| # CHECK: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0 (526) |
| # CHECK: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC (527) |
| # CHECK: Type: R_AARCH64_TLSLD_ADD_DTPREL_HI12 (528) |
| # CHECK: Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12 (529) |
| # CHECK: Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC (530) |
| # CHECK: Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12 (531) |
| # CHECK: Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC (532) |
| # CHECK: Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12 (533) |
| # CHECK: Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC (534) |
| # CHECK: Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12 (535) |
| # CHECK: Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC (536) |
| # CHECK: Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12 (537) |
| # CHECK: Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC (538) |
| # CHECK: Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 (539) |
| # CHECK: Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC (540) |
| # CHECK: Type: R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 (541) |
| # CHECK: Type: R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC (542) |
| # CHECK: Type: R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 (543) |
| # CHECK: Type: R_AARCH64_TLSLE_MOVW_TPREL_G2 (544) |
| # CHECK: Type: R_AARCH64_TLSLE_MOVW_TPREL_G1 (545) |
| # CHECK: Type: R_AARCH64_TLSLE_MOVW_TPREL_G1_NC (546) |
| # CHECK: Type: R_AARCH64_TLSLE_MOVW_TPREL_G0 (547) |
| # CHECK: Type: R_AARCH64_TLSLE_MOVW_TPREL_G0_NC (548) |
| # CHECK: Type: R_AARCH64_TLSLE_ADD_TPREL_HI12 (549) |
| # CHECK: Type: R_AARCH64_TLSLE_ADD_TPREL_LO12 (550) |
| # CHECK: Type: R_AARCH64_TLSLE_ADD_TPREL_LO12_NC (551) |
| # CHECK: Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12 (552) |
| # CHECK: Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC (553) |
| # CHECK: Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12 (554) |
| # CHECK: Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC (555) |
| # CHECK: Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12 (556) |
| # CHECK: Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC (557) |
| # CHECK: Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12 (558) |
| # CHECK: Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC (559) |
| # CHECK: Type: R_AARCH64_TLSDESC_LD_PREL19 (560) |
| # CHECK: Type: R_AARCH64_TLSDESC_ADR_PREL21 (561) |
| # CHECK: Type: R_AARCH64_TLSDESC_ADR_PAGE21 (562) |
| # CHECK: Type: R_AARCH64_TLSDESC_LD64_LO12 (563) |
| # CHECK: Type: R_AARCH64_TLSDESC_ADD_LO12 (564) |
| # CHECK: Type: R_AARCH64_TLSDESC_OFF_G1 (565) |
| # CHECK: Type: R_AARCH64_TLSDESC_OFF_G0_NC (566) |
| # CHECK: Type: R_AARCH64_TLSDESC_LDR (567) |
| # CHECK: Type: R_AARCH64_TLSDESC_ADD (568) |
| # CHECK: Type: R_AARCH64_TLSDESC_CALL (569) |
| # CHECK: Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12 (570) |
| # CHECK: Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC (571) |
| # CHECK: Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12 (572) |
| # CHECK: Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC (573) |
| # CHECK: Type: R_AARCH64_COPY (1024) |
| # CHECK: Type: R_AARCH64_GLOB_DAT (1025) |
| # CHECK: Type: R_AARCH64_JUMP_SLOT (1026) |
| # CHECK: Type: R_AARCH64_RELATIVE (1027) |
| # CHECK: Type: R_AARCH64_TLS_DTPMOD64 (1028) |
| # CHECK: Type: R_AARCH64_TLS_DTPREL64 (1029) |
| # CHECK: Type: R_AARCH64_TLS_TPREL64 (1030) |
| # CHECK: Type: R_AARCH64_TLSDESC (1031) |
| # CHECK: Type: R_AARCH64_IRELATIVE (1032) |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Machine: EM_AARCH64 |
| Sections: |
| - Name: .rela.text |
| Type: SHT_RELA |
| Relocations: |
| - Type: R_AARCH64_NONE |
| - Type: R_AARCH64_ABS64 |
| - Type: R_AARCH64_ABS32 |
| - Type: R_AARCH64_ABS16 |
| - Type: R_AARCH64_PREL64 |
| - Type: R_AARCH64_PREL32 |
| - Type: R_AARCH64_PREL16 |
| - Type: R_AARCH64_MOVW_UABS_G0 |
| - Type: R_AARCH64_MOVW_UABS_G0_NC |
| - Type: R_AARCH64_MOVW_UABS_G1 |
| - Type: R_AARCH64_MOVW_UABS_G1_NC |
| - Type: R_AARCH64_MOVW_UABS_G2 |
| - Type: R_AARCH64_MOVW_UABS_G2_NC |
| - Type: R_AARCH64_MOVW_UABS_G3 |
| - Type: R_AARCH64_MOVW_SABS_G0 |
| - Type: R_AARCH64_MOVW_SABS_G1 |
| - Type: R_AARCH64_MOVW_SABS_G2 |
| - Type: R_AARCH64_LD_PREL_LO19 |
| - Type: R_AARCH64_ADR_PREL_LO21 |
| - Type: R_AARCH64_ADR_PREL_PG_HI21 |
| - Type: R_AARCH64_ADR_PREL_PG_HI21_NC |
| - Type: R_AARCH64_ADD_ABS_LO12_NC |
| - Type: R_AARCH64_LDST8_ABS_LO12_NC |
| - Type: R_AARCH64_TSTBR14 |
| - Type: R_AARCH64_CONDBR19 |
| - Type: R_AARCH64_JUMP26 |
| - Type: R_AARCH64_CALL26 |
| - Type: R_AARCH64_LDST16_ABS_LO12_NC |
| - Type: R_AARCH64_LDST32_ABS_LO12_NC |
| - Type: R_AARCH64_LDST64_ABS_LO12_NC |
| - Type: R_AARCH64_MOVW_PREL_G0 |
| - Type: R_AARCH64_MOVW_PREL_G0_NC |
| - Type: R_AARCH64_MOVW_PREL_G1 |
| - Type: R_AARCH64_MOVW_PREL_G1_NC |
| - Type: R_AARCH64_MOVW_PREL_G2 |
| - Type: R_AARCH64_MOVW_PREL_G2_NC |
| - Type: R_AARCH64_MOVW_PREL_G3 |
| - Type: R_AARCH64_LDST128_ABS_LO12_NC |
| - Type: R_AARCH64_MOVW_GOTOFF_G0 |
| - Type: R_AARCH64_MOVW_GOTOFF_G0_NC |
| - Type: R_AARCH64_MOVW_GOTOFF_G1 |
| - Type: R_AARCH64_MOVW_GOTOFF_G1_NC |
| - Type: R_AARCH64_MOVW_GOTOFF_G2 |
| - Type: R_AARCH64_MOVW_GOTOFF_G2_NC |
| - Type: R_AARCH64_MOVW_GOTOFF_G3 |
| - Type: R_AARCH64_GOTREL64 |
| - Type: R_AARCH64_GOTREL32 |
| - Type: R_AARCH64_GOT_LD_PREL19 |
| - Type: R_AARCH64_LD64_GOTOFF_LO15 |
| - Type: R_AARCH64_ADR_GOT_PAGE |
| - Type: R_AARCH64_LD64_GOT_LO12_NC |
| - Type: R_AARCH64_LD64_GOTPAGE_LO15 |
| - Type: R_AARCH64_PLT32 |
| - Type: R_AARCH64_TLSGD_ADR_PREL21 |
| - Type: R_AARCH64_TLSGD_ADR_PAGE21 |
| - Type: R_AARCH64_TLSGD_ADD_LO12_NC |
| - Type: R_AARCH64_TLSGD_MOVW_G1 |
| - Type: R_AARCH64_TLSGD_MOVW_G0_NC |
| - Type: R_AARCH64_TLSLD_ADR_PREL21 |
| - Type: R_AARCH64_TLSLD_ADR_PAGE21 |
| - Type: R_AARCH64_TLSLD_ADD_LO12_NC |
| - Type: R_AARCH64_TLSLD_MOVW_G1 |
| - Type: R_AARCH64_TLSLD_MOVW_G0_NC |
| - Type: R_AARCH64_TLSLD_LD_PREL19 |
| - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G2 |
| - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1 |
| - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC |
| - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0 |
| - Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC |
| - Type: R_AARCH64_TLSLD_ADD_DTPREL_HI12 |
| - Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12 |
| - Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC |
| - Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12 |
| - Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC |
| - Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12 |
| - Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC |
| - Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12 |
| - Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC |
| - Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12 |
| - Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC |
| - Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 |
| - Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC |
| - Type: R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 |
| - Type: R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC |
| - Type: R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 |
| - Type: R_AARCH64_TLSLE_MOVW_TPREL_G2 |
| - Type: R_AARCH64_TLSLE_MOVW_TPREL_G1 |
| - Type: R_AARCH64_TLSLE_MOVW_TPREL_G1_NC |
| - Type: R_AARCH64_TLSLE_MOVW_TPREL_G0 |
| - Type: R_AARCH64_TLSLE_MOVW_TPREL_G0_NC |
| - Type: R_AARCH64_TLSLE_ADD_TPREL_HI12 |
| - Type: R_AARCH64_TLSLE_ADD_TPREL_LO12 |
| - Type: R_AARCH64_TLSLE_ADD_TPREL_LO12_NC |
| - Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12 |
| - Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC |
| - Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12 |
| - Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC |
| - Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12 |
| - Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC |
| - Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12 |
| - Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC |
| - Type: R_AARCH64_TLSDESC_LD_PREL19 |
| - Type: R_AARCH64_TLSDESC_ADR_PREL21 |
| - Type: R_AARCH64_TLSDESC_ADR_PAGE21 |
| - Type: R_AARCH64_TLSDESC_LD64_LO12 |
| - Type: R_AARCH64_TLSDESC_ADD_LO12 |
| - Type: R_AARCH64_TLSDESC_OFF_G1 |
| - Type: R_AARCH64_TLSDESC_OFF_G0_NC |
| - Type: R_AARCH64_TLSDESC_LDR |
| - Type: R_AARCH64_TLSDESC_ADD |
| - Type: R_AARCH64_TLSDESC_CALL |
| - Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12 |
| - Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC |
| - Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12 |
| - Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC |
| - Type: R_AARCH64_COPY |
| - Type: R_AARCH64_GLOB_DAT |
| - Type: R_AARCH64_JUMP_SLOT |
| - Type: R_AARCH64_RELATIVE |
| - Type: R_AARCH64_TLS_DTPMOD64 |
| - Type: R_AARCH64_TLS_DTPREL64 |
| - Type: R_AARCH64_TLS_TPREL64 |
| - Type: R_AARCH64_TLSDESC |
| - Type: R_AARCH64_IRELATIVE |