blob: fdd3b97b6b266fdc3340df3f0d8c79620da224a9 [file] [log] [blame]
## 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_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: .text
Type: SHT_PROGBITS
Content: 00
- Name: .rela.text
Type: SHT_RELA
AddressAlign: 0x0000000000000008
EntSize: 0x0000000000000018
Info: .text
Relocations:
- Offset: 0x0000000000000000
Type: R_AARCH64_NONE
- Offset: 0x0000000000000004
Type: R_AARCH64_ABS64
- Offset: 0x0000000000000008
Type: R_AARCH64_ABS32
- Offset: 0x000000000000000C
Type: R_AARCH64_ABS16
- Offset: 0x0000000000000010
Type: R_AARCH64_PREL64
- Offset: 0x0000000000000014
Type: R_AARCH64_PREL32
- Offset: 0x0000000000000018
Type: R_AARCH64_PREL16
- Offset: 0x000000000000001C
Type: R_AARCH64_MOVW_UABS_G0
- Offset: 0x0000000000000020
Type: R_AARCH64_MOVW_UABS_G0_NC
- Offset: 0x0000000000000024
Type: R_AARCH64_MOVW_UABS_G1
- Offset: 0x0000000000000028
Type: R_AARCH64_MOVW_UABS_G1_NC
- Offset: 0x000000000000002C
Type: R_AARCH64_MOVW_UABS_G2
- Offset: 0x0000000000000030
Type: R_AARCH64_MOVW_UABS_G2_NC
- Offset: 0x0000000000000034
Type: R_AARCH64_MOVW_UABS_G3
- Offset: 0x0000000000000038
Type: R_AARCH64_MOVW_SABS_G0
- Offset: 0x000000000000003C
Type: R_AARCH64_MOVW_SABS_G1
- Offset: 0x0000000000000040
Type: R_AARCH64_MOVW_SABS_G2
- Offset: 0x0000000000000044
Type: R_AARCH64_LD_PREL_LO19
- Offset: 0x0000000000000048
Type: R_AARCH64_ADR_PREL_LO21
- Offset: 0x000000000000004C
Type: R_AARCH64_ADR_PREL_PG_HI21
- Offset: 0x0000000000000050
Type: R_AARCH64_ADR_PREL_PG_HI21_NC
- Offset: 0x0000000000000054
Type: R_AARCH64_ADD_ABS_LO12_NC
- Offset: 0x0000000000000058
Type: R_AARCH64_LDST8_ABS_LO12_NC
- Offset: 0x000000000000005C
Type: R_AARCH64_TSTBR14
- Offset: 0x0000000000000060
Type: R_AARCH64_CONDBR19
- Offset: 0x0000000000000064
Type: R_AARCH64_JUMP26
- Offset: 0x0000000000000068
Type: R_AARCH64_CALL26
- Offset: 0x000000000000006C
Type: R_AARCH64_LDST16_ABS_LO12_NC
- Offset: 0x0000000000000070
Type: R_AARCH64_LDST32_ABS_LO12_NC
- Offset: 0x0000000000000074
Type: R_AARCH64_LDST64_ABS_LO12_NC
- Offset: 0x0000000000000078
Type: R_AARCH64_MOVW_PREL_G0
- Offset: 0x000000000000007C
Type: R_AARCH64_MOVW_PREL_G0_NC
- Offset: 0x0000000000000080
Type: R_AARCH64_MOVW_PREL_G1
- Offset: 0x0000000000000084
Type: R_AARCH64_MOVW_PREL_G1_NC
- Offset: 0x0000000000000088
Type: R_AARCH64_MOVW_PREL_G2
- Offset: 0x000000000000008C
Type: R_AARCH64_MOVW_PREL_G2_NC
- Offset: 0x0000000000000090
Type: R_AARCH64_MOVW_PREL_G3
- Offset: 0x0000000000000094
Type: R_AARCH64_LDST128_ABS_LO12_NC
- Offset: 0x0000000000000098
Type: R_AARCH64_MOVW_GOTOFF_G0
- Offset: 0x000000000000009C
Type: R_AARCH64_MOVW_GOTOFF_G0_NC
- Offset: 0x00000000000000A0
Type: R_AARCH64_MOVW_GOTOFF_G1
- Offset: 0x00000000000000A4
Type: R_AARCH64_MOVW_GOTOFF_G1_NC
- Offset: 0x00000000000000A8
Type: R_AARCH64_MOVW_GOTOFF_G2
- Offset: 0x00000000000000AC
Type: R_AARCH64_MOVW_GOTOFF_G2_NC
- Offset: 0x00000000000000B0
Type: R_AARCH64_MOVW_GOTOFF_G3
- Offset: 0x00000000000000B4
Type: R_AARCH64_GOTREL64
- Offset: 0x00000000000000B8
Type: R_AARCH64_GOTREL32
- Offset: 0x00000000000000BC
Type: R_AARCH64_GOT_LD_PREL19
- Offset: 0x00000000000000C0
Type: R_AARCH64_LD64_GOTOFF_LO15
- Offset: 0x00000000000000C4
Type: R_AARCH64_ADR_GOT_PAGE
- Offset: 0x00000000000000C8
Type: R_AARCH64_LD64_GOT_LO12_NC
- Offset: 0x00000000000000CC
Type: R_AARCH64_LD64_GOTPAGE_LO15
- Offset: 0x00000000000000D0
Type: R_AARCH64_TLSGD_ADR_PREL21
- Offset: 0x00000000000000D4
Type: R_AARCH64_TLSGD_ADR_PAGE21
- Offset: 0x00000000000000D8
Type: R_AARCH64_TLSGD_ADD_LO12_NC
- Offset: 0x00000000000000DC
Type: R_AARCH64_TLSGD_MOVW_G1
- Offset: 0x00000000000000E0
Type: R_AARCH64_TLSGD_MOVW_G0_NC
- Offset: 0x00000000000000E4
Type: R_AARCH64_TLSLD_ADR_PREL21
- Offset: 0x00000000000000E8
Type: R_AARCH64_TLSLD_ADR_PAGE21
- Offset: 0x00000000000000EC
Type: R_AARCH64_TLSLD_ADD_LO12_NC
- Offset: 0x00000000000000F0
Type: R_AARCH64_TLSLD_MOVW_G1
- Offset: 0x00000000000000F4
Type: R_AARCH64_TLSLD_MOVW_G0_NC
- Offset: 0x00000000000000F8
Type: R_AARCH64_TLSLD_LD_PREL19
- Offset: 0x00000000000000FC
Type: R_AARCH64_TLSLD_MOVW_DTPREL_G2
- Offset: 0x0000000000000100
Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1
- Offset: 0x0000000000000104
Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC
- Offset: 0x0000000000000108
Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0
- Offset: 0x000000000000010C
Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC
- Offset: 0x0000000000000110
Type: R_AARCH64_TLSLD_ADD_DTPREL_HI12
- Offset: 0x0000000000000114
Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12
- Offset: 0x0000000000000118
Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC
- Offset: 0x000000000000011C
Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12
- Offset: 0x0000000000000120
Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC
- Offset: 0x0000000000000124
Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12
- Offset: 0x0000000000000128
Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC
- Offset: 0x000000000000012C
Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12
- Offset: 0x0000000000000130
Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC
- Offset: 0x0000000000000134
Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12
- Offset: 0x0000000000000138
Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC
- Offset: 0x000000000000013C
Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G1
- Offset: 0x0000000000000140
Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC
- Offset: 0x0000000000000144
Type: R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21
- Offset: 0x0000000000000148
Type: R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC
- Offset: 0x000000000000014C
Type: R_AARCH64_TLSIE_LD_GOTTPREL_PREL19
- Offset: 0x0000000000000150
Type: R_AARCH64_TLSLE_MOVW_TPREL_G2
- Offset: 0x0000000000000154
Type: R_AARCH64_TLSLE_MOVW_TPREL_G1
- Offset: 0x0000000000000158
Type: R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
- Offset: 0x000000000000015C
Type: R_AARCH64_TLSLE_MOVW_TPREL_G0
- Offset: 0x0000000000000160
Type: R_AARCH64_TLSLE_MOVW_TPREL_G0_NC
- Offset: 0x0000000000000164
Type: R_AARCH64_TLSLE_ADD_TPREL_HI12
- Offset: 0x0000000000000168
Type: R_AARCH64_TLSLE_ADD_TPREL_LO12
- Offset: 0x000000000000016C
Type: R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
- Offset: 0x0000000000000170
Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12
- Offset: 0x0000000000000174
Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC
- Offset: 0x0000000000000178
Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12
- Offset: 0x000000000000017C
Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC
- Offset: 0x0000000000000180
Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12
- Offset: 0x0000000000000184
Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC
- Offset: 0x0000000000000188
Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12
- Offset: 0x000000000000018C
Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC
- Offset: 0x0000000000000190
Type: R_AARCH64_TLSDESC_LD_PREL19
- Offset: 0x0000000000000194
Type: R_AARCH64_TLSDESC_ADR_PREL21
- Offset: 0x0000000000000198
Type: R_AARCH64_TLSDESC_ADR_PAGE21
- Offset: 0x000000000000019C
Type: R_AARCH64_TLSDESC_LD64_LO12
- Offset: 0x00000000000001A0
Type: R_AARCH64_TLSDESC_ADD_LO12
- Offset: 0x00000000000001A4
Type: R_AARCH64_TLSDESC_OFF_G1
- Offset: 0x00000000000001A8
Type: R_AARCH64_TLSDESC_OFF_G0_NC
- Offset: 0x00000000000001AC
Type: R_AARCH64_TLSDESC_LDR
- Offset: 0x00000000000001B0
Type: R_AARCH64_TLSDESC_ADD
- Offset: 0x00000000000001B4
Type: R_AARCH64_TLSDESC_CALL
- Offset: 0x00000000000001B8
Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12
- Offset: 0x00000000000001BC
Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC
- Offset: 0x00000000000001C0
Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12
- Offset: 0x00000000000001C4
Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC
- Offset: 0x00000000000001C8
Type: R_AARCH64_COPY
- Offset: 0x00000000000001CC
Type: R_AARCH64_GLOB_DAT
- Offset: 0x00000000000001D0
Type: R_AARCH64_JUMP_SLOT
- Offset: 0x00000000000001D4
Type: R_AARCH64_RELATIVE
- Offset: 0x00000000000001D8
Type: R_AARCH64_TLS_DTPMOD64
- Offset: 0x00000000000001DC
Type: R_AARCH64_TLS_DTPREL64
- Offset: 0x00000000000001E0
Type: R_AARCH64_TLS_TPREL64
- Offset: 0x00000000000001E4
Type: R_AARCH64_TLSDESC
- Offset: 0x00000000000001E8
Type: R_AARCH64_IRELATIVE