--- /dev/null
+## Test that llvm-readobj/llvm-readelf shows proper relocation type
+## names and values for coff-i386 target.
+
+# RUN: yaml2obj %s -o %t-coff-i386.o
+# RUN: llvm-readobj -r --expand-relocs %t-coff-i386.o | FileCheck %s
+
+# CHECK: Type: IMAGE_REL_I386_ABSOLUTE (0)
+# CHECK: Type: IMAGE_REL_I386_DIR16 (1)
+# CHECK: Type: IMAGE_REL_I386_REL16 (2)
+# CHECK: Type: IMAGE_REL_I386_DIR32 (6)
+# CHECK: Type: IMAGE_REL_I386_DIR32NB (7)
+# CHECK: Type: IMAGE_REL_I386_SEG12 (9)
+# CHECK: Type: IMAGE_REL_I386_SECTION (10)
+# CHECK: Type: IMAGE_REL_I386_SECREL (11)
+# CHECK: Type: IMAGE_REL_I386_TOKEN (12)
+# CHECK: Type: IMAGE_REL_I386_SECREL7 (13)
+# CHECK: Type: IMAGE_REL_I386_REL32 (20)
+
+--- !COFF
+header:
+ Machine: IMAGE_FILE_MACHINE_I386
+ Characteristics: [ ]
+sections:
+ - Name: .text
+ Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
+ Alignment: 4
+ SectionData: 00
+ Relocations:
+ - VirtualAddress: 3
+ Type: IMAGE_REL_I386_ABSOLUTE
+ - VirtualAddress: 10
+ Type: IMAGE_REL_I386_DIR16
+ - VirtualAddress: 17
+ Type: IMAGE_REL_I386_REL16
+ - VirtualAddress: 24
+ Type: IMAGE_REL_I386_DIR32
+ - VirtualAddress: 31
+ Type: IMAGE_REL_I386_DIR32NB
+ - VirtualAddress: 38
+ Type: IMAGE_REL_I386_SEG12
+ - VirtualAddress: 45
+ Type: IMAGE_REL_I386_SECTION
+ - VirtualAddress: 52
+ Type: IMAGE_REL_I386_SECREL
+ - VirtualAddress: 59
+ Type: IMAGE_REL_I386_TOKEN
+ - VirtualAddress: 66
+ Type: IMAGE_REL_I386_SECREL7
+ - VirtualAddress: 73
+ Type: IMAGE_REL_I386_REL32
+symbols:
+ - Name: .text
+ Value: 0
+ SectionNumber: 1
+ SimpleType: IMAGE_SYM_TYPE_NULL
+ ComplexType: IMAGE_SYM_DTYPE_NULL
+ StorageClass: IMAGE_SYM_CLASS_STATIC
+ SectionDefinition:
+ Length: 77
+ NumberOfRelocations: 11
+ NumberOfLinenumbers: 0
+ CheckSum: 0
+ Number: 1
--- /dev/null
+## Test that llvm-readobj/llvm-readelf shows proper relocation type
+## names and values for coff-x64 target.
+
+# RUN: yaml2obj %s -o %t-coff-x86_64.o
+# RUN: llvm-readobj -r --expand-relocs %t-coff-x86_64.o | FileCheck %s
+
+# CHECK: Type: IMAGE_REL_AMD64_ABSOLUTE (0)
+# CHECK: Type: IMAGE_REL_AMD64_ADDR64 (1)
+# CHECK: Type: IMAGE_REL_AMD64_ADDR32 (2)
+# CHECK: Type: IMAGE_REL_AMD64_ADDR32NB (3)
+# CHECK: Type: IMAGE_REL_AMD64_REL32 (4)
+# CHECK: Type: IMAGE_REL_AMD64_REL32_1 (5)
+# CHECK: Type: IMAGE_REL_AMD64_REL32_2 (6)
+# CHECK: Type: IMAGE_REL_AMD64_REL32_3 (7)
+# CHECK: Type: IMAGE_REL_AMD64_REL32_4 (8)
+# CHECK: Type: IMAGE_REL_AMD64_REL32_5 (9)
+# CHECK: Type: IMAGE_REL_AMD64_SECTION (10)
+# CHECK: Type: IMAGE_REL_AMD64_SECREL (11)
+# CHECK: Type: IMAGE_REL_AMD64_SECREL7 (12)
+# CHECK: Type: IMAGE_REL_AMD64_TOKEN (13)
+# CHECK: Type: IMAGE_REL_AMD64_SREL32 (14)
+# CHECK: Type: IMAGE_REL_AMD64_PAIR (15)
+# CHECK: Type: IMAGE_REL_AMD64_SSPAN32 (16)
+
+--- !COFF
+header:
+ Machine: IMAGE_FILE_MACHINE_AMD64
+ Characteristics: [ ]
+sections:
+ - Name: .text
+ Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
+ Alignment: 4
+ SectionData: 00
+ Relocations:
+ - VirtualAddress: 4
+ Type: IMAGE_REL_AMD64_ABSOLUTE
+ - VirtualAddress: 12
+ Type: IMAGE_REL_AMD64_ADDR64
+ - VirtualAddress: 20
+ Type: IMAGE_REL_AMD64_ADDR32
+ - VirtualAddress: 28
+ Type: IMAGE_REL_AMD64_ADDR32NB
+ - VirtualAddress: 36
+ Type: IMAGE_REL_AMD64_REL32
+ - VirtualAddress: 44
+ Type: IMAGE_REL_AMD64_REL32_1
+ - VirtualAddress: 52
+ Type: IMAGE_REL_AMD64_REL32_2
+ - VirtualAddress: 60
+ Type: IMAGE_REL_AMD64_REL32_3
+ - VirtualAddress: 68
+ Type: IMAGE_REL_AMD64_REL32_4
+ - VirtualAddress: 76
+ Type: IMAGE_REL_AMD64_REL32_5
+ - VirtualAddress: 84
+ Type: IMAGE_REL_AMD64_SECTION
+ - VirtualAddress: 92
+ Type: IMAGE_REL_AMD64_SECREL
+ - VirtualAddress: 100
+ Type: IMAGE_REL_AMD64_SECREL7
+ - VirtualAddress: 108
+ Type: IMAGE_REL_AMD64_TOKEN
+ - VirtualAddress: 116
+ Type: IMAGE_REL_AMD64_SREL32
+ - VirtualAddress: 124
+ Type: IMAGE_REL_AMD64_PAIR
+ - VirtualAddress: 132
+ Type: IMAGE_REL_AMD64_SSPAN32
+symbols:
+ - Name: .text
+ Value: 0
+ SectionNumber: 1
+ SimpleType: IMAGE_SYM_TYPE_NULL
+ ComplexType: IMAGE_SYM_DTYPE_NULL
+ StorageClass: IMAGE_SYM_CLASS_STATIC
+ SectionDefinition:
+ Length: 136
+ NumberOfRelocations: 17
+ NumberOfLinenumbers: 0
+ CheckSum: 0
+ Number: 1
--- /dev/null
+## 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_DTPREL64 (1028)
+# CHECK: Type: R_AARCH64_TLS_DTPMOD64 (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
+ Link: .symtab
+ 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_DTPREL64
+ - Offset: 0x00000000000001DC
+ Type: R_AARCH64_TLS_DTPMOD64
+ - Offset: 0x00000000000001E0
+ Type: R_AARCH64_TLS_TPREL64
+ - Offset: 0x00000000000001E4
+ Type: R_AARCH64_TLSDESC
+ - Offset: 0x00000000000001E8
+ Type: R_AARCH64_IRELATIVE
--- /dev/null
+## Test that llvm-readobj/llvm-readelf shows proper relocation type
+## names and values for arm target.
+
+# RUN: yaml2obj %s -o %t-arm.o
+# RUN: llvm-readobj -r --expand-relocs %t-arm.o | FileCheck %s
+
+# CHECK: Type: R_ARM_NONE (0)
+# CHECK: Type: R_ARM_PC24 (1)
+# CHECK: Type: R_ARM_ABS32 (2)
+# CHECK: Type: R_ARM_REL32 (3)
+# CHECK: Type: R_ARM_LDR_PC_G0 (4)
+# CHECK: Type: R_ARM_ABS16 (5)
+# CHECK: Type: R_ARM_ABS12 (6)
+# CHECK: Type: R_ARM_THM_ABS5 (7)
+# CHECK: Type: R_ARM_ABS8 (8)
+# CHECK: Type: R_ARM_SBREL32 (9)
+# CHECK: Type: R_ARM_THM_CALL (10)
+# CHECK: Type: R_ARM_THM_PC8 (11)
+# CHECK: Type: R_ARM_BREL_ADJ (12)
+# CHECK: Type: R_ARM_TLS_DESC (13)
+# CHECK: Type: R_ARM_THM_SWI8 (14)
+# CHECK: Type: R_ARM_XPC25 (15)
+# CHECK: Type: R_ARM_THM_XPC22 (16)
+# CHECK: Type: R_ARM_TLS_DTPMOD32 (17)
+# CHECK: Type: R_ARM_TLS_DTPOFF32 (18)
+# CHECK: Type: R_ARM_TLS_TPOFF32 (19)
+# CHECK: Type: R_ARM_COPY (20)
+# CHECK: Type: R_ARM_GLOB_DAT (21)
+# CHECK: Type: R_ARM_JUMP_SLOT (22)
+# CHECK: Type: R_ARM_RELATIVE (23)
+# CHECK: Type: R_ARM_GOTOFF32 (24)
+# CHECK: Type: R_ARM_BASE_PREL (25)
+# CHECK: Type: R_ARM_GOT_BREL (26)
+# CHECK: Type: R_ARM_CALL (28)
+# CHECK: Type: R_ARM_JUMP24 (29)
+# CHECK: Type: R_ARM_THM_JUMP24 (30)
+# CHECK: Type: R_ARM_BASE_ABS (31)
+# CHECK: Type: R_ARM_ALU_PCREL_7_0 (32)
+# CHECK: Type: R_ARM_ALU_PCREL_15_8 (33)
+# CHECK: Type: R_ARM_ALU_PCREL_23_15 (34)
+# CHECK: Type: R_ARM_LDR_SBREL_11_0_NC (35)
+# CHECK: Type: R_ARM_ALU_SBREL_19_12_NC (36)
+# CHECK: Type: R_ARM_ALU_SBREL_27_20_CK (37)
+# CHECK: Type: R_ARM_TARGET1 (38)
+# CHECK: Type: R_ARM_SBREL31 (39)
+# CHECK: Type: R_ARM_V4BX (40)
+# CHECK: Type: R_ARM_TARGET2 (41)
+# CHECK: Type: R_ARM_PREL31 (42)
+# CHECK: Type: R_ARM_MOVW_ABS_NC (43)
+# CHECK: Type: R_ARM_MOVT_ABS (44)
+# CHECK: Type: R_ARM_MOVW_PREL_NC (45)
+# CHECK: Type: R_ARM_MOVT_PREL (46)
+# CHECK: Type: R_ARM_THM_MOVW_ABS_NC (47)
+# CHECK: Type: R_ARM_THM_MOVT_ABS (48)
+# CHECK: Type: R_ARM_THM_MOVW_PREL_NC (49)
+# CHECK: Type: R_ARM_THM_MOVT_PREL (50)
+# CHECK: Type: R_ARM_THM_JUMP19 (51)
+# CHECK: Type: R_ARM_THM_JUMP6 (52)
+# CHECK: Type: R_ARM_THM_ALU_PREL_11_0 (53)
+# CHECK: Type: R_ARM_THM_PC12 (54)
+# CHECK: Type: R_ARM_ABS32_NOI (55)
+# CHECK: Type: R_ARM_REL32_NOI (56)
+# CHECK: Type: R_ARM_ALU_PC_G0_NC (57)
+# CHECK: Type: R_ARM_ALU_PC_G0 (58)
+# CHECK: Type: R_ARM_ALU_PC_G1_NC (59)
+# CHECK: Type: R_ARM_ALU_PC_G1 (60)
+# CHECK: Type: R_ARM_ALU_PC_G2 (61)
+# CHECK: Type: R_ARM_LDR_PC_G1 (62)
+# CHECK: Type: R_ARM_LDR_PC_G2 (63)
+# CHECK: Type: R_ARM_LDRS_PC_G0 (64)
+# CHECK: Type: R_ARM_LDRS_PC_G1 (65)
+# CHECK: Type: R_ARM_LDRS_PC_G2 (66)
+# CHECK: Type: R_ARM_LDC_PC_G0 (67)
+# CHECK: Type: R_ARM_LDC_PC_G1 (68)
+# CHECK: Type: R_ARM_LDC_PC_G2 (69)
+# CHECK: Type: R_ARM_ALU_SB_G0_NC (70)
+# CHECK: Type: R_ARM_ALU_SB_G0 (71)
+# CHECK: Type: R_ARM_ALU_SB_G1_NC (72)
+# CHECK: Type: R_ARM_ALU_SB_G1 (73)
+# CHECK: Type: R_ARM_ALU_SB_G2 (74)
+# CHECK: Type: R_ARM_LDR_SB_G0 (75)
+# CHECK: Type: R_ARM_LDR_SB_G1 (76)
+# CHECK: Type: R_ARM_LDR_SB_G2 (77)
+# CHECK: Type: R_ARM_LDRS_SB_G0 (78)
+# CHECK: Type: R_ARM_LDRS_SB_G1 (79)
+# CHECK: Type: R_ARM_LDRS_SB_G2 (80)
+# CHECK: Type: R_ARM_LDC_SB_G0 (81)
+# CHECK: Type: R_ARM_LDC_SB_G1 (82)
+# CHECK: Type: R_ARM_LDC_SB_G2 (83)
+# CHECK: Type: R_ARM_MOVW_BREL_NC (84)
+# CHECK: Type: R_ARM_MOVT_BREL (85)
+# CHECK: Type: R_ARM_MOVW_BREL (86)
+# CHECK: Type: R_ARM_THM_MOVW_BREL_NC (87)
+# CHECK: Type: R_ARM_THM_MOVT_BREL (88)
+# CHECK: Type: R_ARM_THM_MOVW_BREL (89)
+# CHECK: Type: R_ARM_TLS_GOTDESC (90)
+# CHECK: Type: R_ARM_TLS_CALL (91)
+# CHECK: Type: R_ARM_TLS_DESCSEQ (92)
+# CHECK: Type: R_ARM_THM_TLS_CALL (93)
+# CHECK: Type: R_ARM_PLT32_ABS (94)
+# CHECK: Type: R_ARM_GOT_ABS (95)
+# CHECK: Type: R_ARM_GOT_PREL (96)
+# CHECK: Type: R_ARM_GOT_BREL12 (97)
+# CHECK: Type: R_ARM_GOTOFF12 (98)
+# CHECK: Type: R_ARM_GOTRELAX (99)
+# CHECK: Type: R_ARM_GNU_VTENTRY (100)
+# CHECK: Type: R_ARM_GNU_VTINHERIT (101)
+# CHECK: Type: R_ARM_THM_JUMP11 (102)
+# CHECK: Type: R_ARM_THM_JUMP8 (103)
+# CHECK: Type: R_ARM_TLS_GD32 (104)
+# CHECK: Type: R_ARM_TLS_LDM32 (105)
+# CHECK: Type: R_ARM_TLS_LDO32 (106)
+# CHECK: Type: R_ARM_TLS_IE32 (107)
+# CHECK: Type: R_ARM_TLS_LE32 (108)
+# CHECK: Type: R_ARM_TLS_LDO12 (109)
+# CHECK: Type: R_ARM_TLS_LE12 (110)
+# CHECK: Type: R_ARM_TLS_IE12GP (111)
+# CHECK: Type: R_ARM_PRIVATE_0 (112)
+# CHECK: Type: R_ARM_PRIVATE_1 (113)
+# CHECK: Type: R_ARM_PRIVATE_2 (114)
+# CHECK: Type: R_ARM_PRIVATE_3 (115)
+# CHECK: Type: R_ARM_PRIVATE_4 (116)
+# CHECK: Type: R_ARM_PRIVATE_5 (117)
+# CHECK: Type: R_ARM_PRIVATE_6 (118)
+# CHECK: Type: R_ARM_PRIVATE_7 (119)
+# CHECK: Type: R_ARM_PRIVATE_8 (120)
+# CHECK: Type: R_ARM_PRIVATE_9 (121)
+# CHECK: Type: R_ARM_PRIVATE_10 (122)
+# CHECK: Type: R_ARM_PRIVATE_11 (123)
+# CHECK: Type: R_ARM_PRIVATE_12 (124)
+# CHECK: Type: R_ARM_PRIVATE_13 (125)
+# CHECK: Type: R_ARM_PRIVATE_14 (126)
+# CHECK: Type: R_ARM_PRIVATE_15 (127)
+# CHECK: Type: R_ARM_ME_TOO (128)
+# CHECK: Type: R_ARM_THM_TLS_DESCSEQ16 (129)
+# CHECK: Type: R_ARM_THM_TLS_DESCSEQ32 (130)
+# CHECK: Type: R_ARM_IRELATIVE (160)
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_ARM
+ Flags: [ EF_ARM_EABI_VER5 ]
+Sections:
+ - Name: .text
+ Type: SHT_PROGBITS
+ Content: 00
+ - Name: .rel.text
+ Type: SHT_REL
+ Link: .symtab
+ AddressAlign: 0x0000000000000004
+ EntSize: 0x0000000000000008
+ Info: .text
+ Relocations:
+ - Offset: 0x0000000000000000
+ Type: R_ARM_NONE
+ - Offset: 0x0000000000000004
+ Type: R_ARM_PC24
+ - Offset: 0x0000000000000008
+ Type: R_ARM_ABS32
+ - Offset: 0x000000000000000C
+ Type: R_ARM_REL32
+ - Offset: 0x0000000000000010
+ Type: R_ARM_LDR_PC_G0
+ - Offset: 0x0000000000000014
+ Type: R_ARM_ABS16
+ - Offset: 0x0000000000000018
+ Type: R_ARM_ABS12
+ - Offset: 0x000000000000001C
+ Type: R_ARM_THM_ABS5
+ - Offset: 0x0000000000000020
+ Type: R_ARM_ABS8
+ - Offset: 0x0000000000000024
+ Type: R_ARM_SBREL32
+ - Offset: 0x0000000000000028
+ Type: R_ARM_THM_CALL
+ - Offset: 0x000000000000002C
+ Type: R_ARM_THM_PC8
+ - Offset: 0x0000000000000030
+ Type: R_ARM_BREL_ADJ
+ - Offset: 0x0000000000000034
+ Type: R_ARM_TLS_DESC
+ - Offset: 0x0000000000000038
+ Type: R_ARM_THM_SWI8
+ - Offset: 0x000000000000003C
+ Type: R_ARM_XPC25
+ - Offset: 0x0000000000000040
+ Type: R_ARM_THM_XPC22
+ - Offset: 0x0000000000000044
+ Type: R_ARM_TLS_DTPMOD32
+ - Offset: 0x0000000000000048
+ Type: R_ARM_TLS_DTPOFF32
+ - Offset: 0x000000000000004C
+ Type: R_ARM_TLS_TPOFF32
+ - Offset: 0x0000000000000050
+ Type: R_ARM_COPY
+ - Offset: 0x0000000000000054
+ Type: R_ARM_GLOB_DAT
+ - Offset: 0x0000000000000058
+ Type: R_ARM_JUMP_SLOT
+ - Offset: 0x000000000000005C
+ Type: R_ARM_RELATIVE
+ - Offset: 0x0000000000000060
+ Type: R_ARM_GOTOFF32
+ - Offset: 0x0000000000000064
+ Type: R_ARM_BASE_PREL
+ - Offset: 0x0000000000000068
+ Type: R_ARM_GOT_BREL
+ - Offset: 0x000000000000006C
+ Type: R_ARM_PLT32
+ - Offset: 0x0000000000000070
+ Type: R_ARM_CALL
+ - Offset: 0x0000000000000074
+ Type: R_ARM_JUMP24
+ - Offset: 0x0000000000000078
+ Type: R_ARM_THM_JUMP24
+ - Offset: 0x000000000000007C
+ Type: R_ARM_BASE_ABS
+ - Offset: 0x0000000000000080
+ Type: R_ARM_ALU_PCREL_7_0
+ - Offset: 0x0000000000000084
+ Type: R_ARM_ALU_PCREL_15_8
+ - Offset: 0x0000000000000088
+ Type: R_ARM_ALU_PCREL_23_15
+ - Offset: 0x000000000000008C
+ Type: R_ARM_LDR_SBREL_11_0_NC
+ - Offset: 0x0000000000000090
+ Type: R_ARM_ALU_SBREL_19_12_NC
+ - Offset: 0x0000000000000094
+ Type: R_ARM_ALU_SBREL_27_20_CK
+ - Offset: 0x0000000000000098
+ Type: R_ARM_TARGET1
+ - Offset: 0x000000000000009C
+ Type: R_ARM_SBREL31
+ - Offset: 0x00000000000000A0
+ Type: R_ARM_V4BX
+ - Offset: 0x00000000000000A4
+ Type: R_ARM_TARGET2
+ - Offset: 0x00000000000000A8
+ Type: R_ARM_PREL31
+ - Offset: 0x00000000000000AC
+ Type: R_ARM_MOVW_ABS_NC
+ - Offset: 0x00000000000000B0
+ Type: R_ARM_MOVT_ABS
+ - Offset: 0x00000000000000B4
+ Type: R_ARM_MOVW_PREL_NC
+ - Offset: 0x00000000000000B8
+ Type: R_ARM_MOVT_PREL
+ - Offset: 0x00000000000000BC
+ Type: R_ARM_THM_MOVW_ABS_NC
+ - Offset: 0x00000000000000C0
+ Type: R_ARM_THM_MOVT_ABS
+ - Offset: 0x00000000000000C4
+ Type: R_ARM_THM_MOVW_PREL_NC
+ - Offset: 0x00000000000000C8
+ Type: R_ARM_THM_MOVT_PREL
+ - Offset: 0x00000000000000CC
+ Type: R_ARM_THM_JUMP19
+ - Offset: 0x00000000000000D0
+ Type: R_ARM_THM_JUMP6
+ - Offset: 0x00000000000000D4
+ Type: R_ARM_THM_ALU_PREL_11_0
+ - Offset: 0x00000000000000D8
+ Type: R_ARM_THM_PC12
+ - Offset: 0x00000000000000DC
+ Type: R_ARM_ABS32_NOI
+ - Offset: 0x00000000000000E0
+ Type: R_ARM_REL32_NOI
+ - Offset: 0x00000000000000E4
+ Type: R_ARM_ALU_PC_G0_NC
+ - Offset: 0x00000000000000E8
+ Type: R_ARM_ALU_PC_G0
+ - Offset: 0x00000000000000EC
+ Type: R_ARM_ALU_PC_G1_NC
+ - Offset: 0x00000000000000F0
+ Type: R_ARM_ALU_PC_G1
+ - Offset: 0x00000000000000F4
+ Type: R_ARM_ALU_PC_G2
+ - Offset: 0x00000000000000F8
+ Type: R_ARM_LDR_PC_G1
+ - Offset: 0x00000000000000FC
+ Type: R_ARM_LDR_PC_G2
+ - Offset: 0x0000000000000100
+ Type: R_ARM_LDRS_PC_G0
+ - Offset: 0x0000000000000104
+ Type: R_ARM_LDRS_PC_G1
+ - Offset: 0x0000000000000108
+ Type: R_ARM_LDRS_PC_G2
+ - Offset: 0x000000000000010C
+ Type: R_ARM_LDC_PC_G0
+ - Offset: 0x0000000000000110
+ Type: R_ARM_LDC_PC_G1
+ - Offset: 0x0000000000000114
+ Type: R_ARM_LDC_PC_G2
+ - Offset: 0x0000000000000118
+ Type: R_ARM_ALU_SB_G0_NC
+ - Offset: 0x000000000000011C
+ Type: R_ARM_ALU_SB_G0
+ - Offset: 0x0000000000000120
+ Type: R_ARM_ALU_SB_G1_NC
+ - Offset: 0x0000000000000124
+ Type: R_ARM_ALU_SB_G1
+ - Offset: 0x0000000000000128
+ Type: R_ARM_ALU_SB_G2
+ - Offset: 0x000000000000012C
+ Type: R_ARM_LDR_SB_G0
+ - Offset: 0x0000000000000130
+ Type: R_ARM_LDR_SB_G1
+ - Offset: 0x0000000000000134
+ Type: R_ARM_LDR_SB_G2
+ - Offset: 0x0000000000000138
+ Type: R_ARM_LDRS_SB_G0
+ - Offset: 0x000000000000013C
+ Type: R_ARM_LDRS_SB_G1
+ - Offset: 0x0000000000000140
+ Type: R_ARM_LDRS_SB_G2
+ - Offset: 0x0000000000000144
+ Type: R_ARM_LDC_SB_G0
+ - Offset: 0x0000000000000148
+ Type: R_ARM_LDC_SB_G1
+ - Offset: 0x000000000000014C
+ Type: R_ARM_LDC_SB_G2
+ - Offset: 0x0000000000000150
+ Type: R_ARM_MOVW_BREL_NC
+ - Offset: 0x0000000000000154
+ Type: R_ARM_MOVT_BREL
+ - Offset: 0x0000000000000158
+ Type: R_ARM_MOVW_BREL
+ - Offset: 0x000000000000015C
+ Type: R_ARM_THM_MOVW_BREL_NC
+ - Offset: 0x0000000000000160
+ Type: R_ARM_THM_MOVT_BREL
+ - Offset: 0x0000000000000164
+ Type: R_ARM_THM_MOVW_BREL
+ - Offset: 0x0000000000000168
+ Type: R_ARM_TLS_GOTDESC
+ - Offset: 0x000000000000016C
+ Type: R_ARM_TLS_CALL
+ - Offset: 0x0000000000000170
+ Type: R_ARM_TLS_DESCSEQ
+ - Offset: 0x0000000000000174
+ Type: R_ARM_THM_TLS_CALL
+ - Offset: 0x0000000000000178
+ Type: R_ARM_PLT32_ABS
+ - Offset: 0x000000000000017C
+ Type: R_ARM_GOT_ABS
+ - Offset: 0x0000000000000180
+ Type: R_ARM_GOT_PREL
+ - Offset: 0x0000000000000184
+ Type: R_ARM_GOT_BREL12
+ - Offset: 0x0000000000000188
+ Type: R_ARM_GOTOFF12
+ - Offset: 0x000000000000018C
+ Type: R_ARM_GOTRELAX
+ - Offset: 0x0000000000000190
+ Type: R_ARM_GNU_VTENTRY
+ - Offset: 0x0000000000000194
+ Type: R_ARM_GNU_VTINHERIT
+ - Offset: 0x0000000000000198
+ Type: R_ARM_THM_JUMP11
+ - Offset: 0x000000000000019C
+ Type: R_ARM_THM_JUMP8
+ - Offset: 0x00000000000001A0
+ Type: R_ARM_TLS_GD32
+ - Offset: 0x00000000000001A4
+ Type: R_ARM_TLS_LDM32
+ - Offset: 0x00000000000001A8
+ Type: R_ARM_TLS_LDO32
+ - Offset: 0x00000000000001AC
+ Type: R_ARM_TLS_IE32
+ - Offset: 0x00000000000001B0
+ Type: R_ARM_TLS_LE32
+ - Offset: 0x00000000000001B4
+ Type: R_ARM_TLS_LDO12
+ - Offset: 0x00000000000001B8
+ Type: R_ARM_TLS_LE12
+ - Offset: 0x00000000000001BC
+ Type: R_ARM_TLS_IE12GP
+ - Offset: 0x00000000000001C0
+ Type: R_ARM_PRIVATE_0
+ - Offset: 0x00000000000001C4
+ Type: R_ARM_PRIVATE_1
+ - Offset: 0x00000000000001C8
+ Type: R_ARM_PRIVATE_2
+ - Offset: 0x00000000000001CC
+ Type: R_ARM_PRIVATE_3
+ - Offset: 0x00000000000001D0
+ Type: R_ARM_PRIVATE_4
+ - Offset: 0x00000000000001D4
+ Type: R_ARM_PRIVATE_5
+ - Offset: 0x00000000000001D8
+ Type: R_ARM_PRIVATE_6
+ - Offset: 0x00000000000001DC
+ Type: R_ARM_PRIVATE_7
+ - Offset: 0x00000000000001E0
+ Type: R_ARM_PRIVATE_8
+ - Offset: 0x00000000000001E4
+ Type: R_ARM_PRIVATE_9
+ - Offset: 0x00000000000001E8
+ Type: R_ARM_PRIVATE_10
+ - Offset: 0x00000000000001EC
+ Type: R_ARM_PRIVATE_11
+ - Offset: 0x00000000000001F0
+ Type: R_ARM_PRIVATE_12
+ - Offset: 0x00000000000001F4
+ Type: R_ARM_PRIVATE_13
+ - Offset: 0x00000000000001F8
+ Type: R_ARM_PRIVATE_14
+ - Offset: 0x00000000000001FC
+ Type: R_ARM_PRIVATE_15
+ - Offset: 0x0000000000000200
+ Type: R_ARM_ME_TOO
+ - Offset: 0x0000000000000204
+ Type: R_ARM_THM_TLS_DESCSEQ16
+ - Offset: 0x0000000000000208
+ Type: R_ARM_THM_TLS_DESCSEQ32
+ - Offset: 0x000000000000020C
+ Type: R_ARM_IRELATIVE
--- /dev/null
+## Test that llvm-readobj/llvm-readelf shows proper relocation type
+## names and values for i386 target.
+
+# RUN: yaml2obj %s -o %t-i386.o
+# RUN: llvm-readobj -r --expand-relocs %t-i386.o | FileCheck %s
+
+# CHECK: Type: R_386_NONE (0)
+# CHECK: Type: R_386_32 (1)
+# CHECK: Type: R_386_PC32 (2)
+# CHECK: Type: R_386_GOT32 (3)
+# CHECK: Type: R_386_PLT32 (4)
+# CHECK: Type: R_386_COPY (5)
+# CHECK: Type: R_386_GLOB_DAT (6)
+# CHECK: Type: R_386_JUMP_SLOT (7)
+# CHECK: Type: R_386_RELATIVE (8)
+# CHECK: Type: R_386_GOTOFF (9)
+# CHECK: Type: R_386_GOTPC (10)
+# CHECK: Type: R_386_32PLT (11)
+# CHECK: Type: R_386_TLS_TPOFF (14)
+# CHECK: Type: R_386_TLS_IE (15)
+# CHECK: Type: R_386_TLS_GOTIE (16)
+# CHECK: Type: R_386_TLS_LE (17)
+# CHECK: Type: R_386_TLS_GD (18)
+# CHECK: Type: R_386_TLS_LDM (19)
+# CHECK: Type: R_386_16 (20)
+# CHECK: Type: R_386_PC16 (21)
+# CHECK: Type: R_386_8 (22)
+# CHECK: Type: R_386_PC8 (23)
+# CHECK: Type: R_386_TLS_GD_32 (24)
+# CHECK: Type: R_386_TLS_GD_PUSH (25)
+# CHECK: Type: R_386_TLS_GD_CALL (26)
+# CHECK: Type: R_386_TLS_GD_POP (27)
+# CHECK: Type: R_386_TLS_LDM_32 (28)
+# CHECK: Type: R_386_TLS_LDM_PUSH (29)
+# CHECK: Type: R_386_TLS_LDM_CALL (30)
+# CHECK: Type: R_386_TLS_LDM_POP (31)
+# CHECK: Type: R_386_TLS_LDO_32 (32)
+# CHECK: Type: R_386_TLS_IE_32 (33)
+# CHECK: Type: R_386_TLS_LE_32 (34)
+# CHECK: Type: R_386_TLS_DTPMOD32 (35)
+# CHECK: Type: R_386_TLS_DTPOFF32 (36)
+# CHECK: Type: R_386_TLS_TPOFF32 (37)
+# CHECK: Type: R_386_TLS_GOTDESC (39)
+# CHECK: Type: R_386_TLS_DESC_CALL (40)
+# CHECK: Type: R_386_TLS_DESC (41)
+# CHECK: Type: R_386_IRELATIVE (42)
+# CHECK: Type: R_386_GOT32X (43)
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ OSABI: ELFOSABI_GNU
+ Type: ET_REL
+ Machine: EM_386
+Sections:
+ - Name: .text
+ Type: SHT_PROGBITS
+ Content: 00
+ - Name: .rel.text
+ Type: SHT_REL
+ Link: .symtab
+ AddressAlign: 0x0000000000000004
+ EntSize: 0x0000000000000008
+ Info: .text
+ Relocations:
+ - Offset: 0x0000000000000002
+ Type: R_386_NONE
+ - Offset: 0x0000000000000008
+ Type: R_386_32
+ - Offset: 0x000000000000000E
+ Type: R_386_PC32
+ - Offset: 0x0000000000000014
+ Type: R_386_GOT32
+ - Offset: 0x000000000000001A
+ Type: R_386_PLT32
+ - Offset: 0x0000000000000020
+ Type: R_386_COPY
+ - Offset: 0x0000000000000026
+ Type: R_386_GLOB_DAT
+ - Offset: 0x000000000000002C
+ Type: R_386_JUMP_SLOT
+ - Offset: 0x0000000000000032
+ Type: R_386_RELATIVE
+ - Offset: 0x0000000000000038
+ Type: R_386_GOTOFF
+ - Offset: 0x000000000000003E
+ Type: R_386_GOTPC
+ - Offset: 0x0000000000000044
+ Type: R_386_32PLT
+ - Offset: 0x000000000000004A
+ Type: R_386_TLS_TPOFF
+ - Offset: 0x0000000000000050
+ Type: R_386_TLS_IE
+ - Offset: 0x0000000000000056
+ Type: R_386_TLS_GOTIE
+ - Offset: 0x000000000000005C
+ Type: R_386_TLS_LE
+ - Offset: 0x0000000000000062
+ Type: R_386_TLS_GD
+ - Offset: 0x0000000000000068
+ Type: R_386_TLS_LDM
+ - Offset: 0x000000000000006E
+ Type: R_386_16
+ - Offset: 0x0000000000000074
+ Type: R_386_PC16
+ - Offset: 0x000000000000007A
+ Type: R_386_8
+ - Offset: 0x0000000000000080
+ Type: R_386_PC8
+ - Offset: 0x0000000000000086
+ Type: R_386_TLS_GD_32
+ - Offset: 0x000000000000008C
+ Type: R_386_TLS_GD_PUSH
+ - Offset: 0x0000000000000092
+ Type: R_386_TLS_GD_CALL
+ - Offset: 0x0000000000000098
+ Type: R_386_TLS_GD_POP
+ - Offset: 0x000000000000009E
+ Type: R_386_TLS_LDM_32
+ - Offset: 0x00000000000000A4
+ Type: R_386_TLS_LDM_PUSH
+ - Offset: 0x00000000000000AA
+ Type: R_386_TLS_LDM_CALL
+ - Offset: 0x00000000000000B0
+ Type: R_386_TLS_LDM_POP
+ - Offset: 0x00000000000000B6
+ Type: R_386_TLS_LDO_32
+ - Offset: 0x00000000000000BC
+ Type: R_386_TLS_IE_32
+ - Offset: 0x00000000000000C2
+ Type: R_386_TLS_LE_32
+ - Offset: 0x00000000000000C8
+ Type: R_386_TLS_DTPMOD32
+ - Offset: 0x00000000000000CE
+ Type: R_386_TLS_DTPOFF32
+ - Offset: 0x00000000000000D4
+ Type: R_386_TLS_TPOFF32
+ - Offset: 0x00000000000000DA
+ Type: R_386_TLS_GOTDESC
+ - Offset: 0x00000000000000E0
+ Type: R_386_TLS_DESC_CALL
+ - Offset: 0x00000000000000E6
+ Type: R_386_TLS_DESC
+ - Offset: 0x00000000000000EC
+ Type: R_386_IRELATIVE
+ - Offset: 0x00000000000000F2
+ Type: R_386_GOT32X
--- /dev/null
+## Test that llvm-readobj/llvm-readelf shows proper relocation type
+## names and values for lanai target.
+
+# RUN: yaml2obj %s -o %t-lanai.o
+# RUN: llvm-readobj -r --expand-relocs %t-lanai.o | FileCheck %s
+
+# CHECK: Type: R_LANAI_NONE (0)
+# CHECK: Type: R_LANAI_21 (1)
+# CHECK: Type: R_LANAI_21_F (2)
+# CHECK: Type: R_LANAI_25 (3)
+# CHECK: Type: R_LANAI_32 (4)
+# CHECK: Type: R_LANAI_HI16 (5)
+# CHECK: Type: R_LANAI_LO16 (6)
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2MSB
+ Type: ET_REL
+ Machine: EM_LANAI
+Sections:
+ - Name: .text
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+ AddressAlign: 0x0000000000000004
+ Content: 00
+ - Name: .rela.text
+ Type: SHT_RELA
+ Link: .symtab
+ AddressAlign: 0x0000000000000004
+ EntSize: 0x000000000000000C
+ Info: .text
+ Relocations:
+ - Offset: 0x0000000000000000
+ Type: R_LANAI_NONE
+ - Offset: 0x0000000000000004
+ Type: R_LANAI_21
+ - Offset: 0x0000000000000008
+ Type: R_LANAI_21_F
+ - Offset: 0x000000000000000C
+ Type: R_LANAI_25
+ - Offset: 0x0000000000000010
+ Type: R_LANAI_32
+ - Offset: 0x0000000000000014
+ Type: R_LANAI_HI16
+ - Offset: 0x0000000000000018
+ Type: R_LANAI_LO16
--- /dev/null
+## Test that llvm-readobj/llvm-readelf shows proper relocation type
+## names and values for mips target.
+
+# RUN: yaml2obj %s -o %t-mips.o
+# RUN: llvm-readobj -r --expand-relocs %t-mips.o | FileCheck %s
+
+# CHECK: Type: R_MIPS_NONE (0)
+# CHECK: Type: R_MIPS_16 (1)
+# CHECK: Type: R_MIPS_32 (2)
+# CHECK: Type: R_MIPS_REL32 (3)
+# CHECK: Type: R_MIPS_26 (4)
+# CHECK: Type: R_MIPS_HI16 (5)
+# CHECK: Type: R_MIPS_LO16 (6)
+# CHECK: Type: R_MIPS_GPREL16 (7)
+# CHECK: Type: R_MIPS_LITERAL (8)
+# CHECK: Type: R_MIPS_GOT16 (9)
+# CHECK: Type: R_MIPS_PC16 (10)
+# CHECK: Type: R_MIPS_CALL16 (11)
+# CHECK: Type: R_MIPS_GPREL32 (12)
+# CHECK: Type: R_MIPS_SHIFT5 (16)
+# CHECK: Type: R_MIPS_SHIFT6 (17)
+# CHECK: Type: R_MIPS_64 (18)
+# CHECK: Type: R_MIPS_GOT_DISP (19)
+# CHECK: Type: R_MIPS_GOT_PAGE (20)
+# CHECK: Type: R_MIPS_GOT_OFST (21)
+# CHECK: Type: R_MIPS_GOT_HI16 (22)
+# CHECK: Type: R_MIPS_GOT_LO16 (23)
+# CHECK: Type: R_MIPS_SUB (24)
+# CHECK: Type: R_MIPS_INSERT_A (25)
+# CHECK: Type: R_MIPS_INSERT_B (26)
+# CHECK: Type: R_MIPS_DELETE (27)
+# CHECK: Type: R_MIPS_HIGHER (28)
+# CHECK: Type: R_MIPS_HIGHEST (29)
+# CHECK: Type: R_MIPS_CALL_HI16 (30)
+# CHECK: Type: R_MIPS_CALL_LO16 (31)
+# CHECK: Type: R_MIPS_SCN_DISP (32)
+# CHECK: Type: R_MIPS_REL16 (33)
+# CHECK: Type: R_MIPS_ADD_IMMEDIATE (34)
+# CHECK: Type: R_MIPS_PJUMP (35)
+# CHECK: Type: R_MIPS_RELGOT (36)
+# CHECK: Type: R_MIPS_JALR (37)
+# CHECK: Type: R_MIPS_TLS_DTPMOD32 (38)
+# CHECK: Type: R_MIPS_TLS_DTPREL32 (39)
+# CHECK: Type: R_MIPS_TLS_DTPMOD64 (40)
+# CHECK: Type: R_MIPS_TLS_DTPREL64 (41)
+# CHECK: Type: R_MIPS_TLS_GD (42)
+# CHECK: Type: R_MIPS_TLS_LDM (43)
+# CHECK: Type: R_MIPS_TLS_DTPREL_HI16 (44)
+# CHECK: Type: R_MIPS_TLS_DTPREL_LO16 (45)
+# CHECK: Type: R_MIPS_TLS_GOTTPREL (46)
+# CHECK: Type: R_MIPS_TLS_TPREL32 (47)
+# CHECK: Type: R_MIPS_TLS_TPREL64 (48)
+# CHECK: Type: R_MIPS_TLS_TPREL_HI16 (49)
+# CHECK: Type: R_MIPS_TLS_TPREL_LO16 (50)
+# CHECK: Type: R_MIPS_GLOB_DAT (51)
+# CHECK: Type: R_MIPS_COPY (126)
+# CHECK: Type: R_MIPS_JUMP_SLOT (127)
+# CHECK: Type: R_MIPS_NUM (218)
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2MSB
+ OSABI: ELFOSABI_GNU
+ Type: ET_REL
+ Machine: EM_MIPS
+Sections:
+ - Name: .text
+ Type: SHT_PROGBITS
+ Content: 00
+ - Name: .rel.text
+ Type: SHT_REL
+ Link: .symtab
+ AddressAlign: 0x0000000000000004
+ EntSize: 0x0000000000000008
+ Info: .text
+ Relocations:
+ - Offset: 0x0000000000000000
+ Type: R_MIPS_NONE
+ - Offset: 0x0000000000000004
+ Type: R_MIPS_16
+ - Offset: 0x0000000000000008
+ Type: R_MIPS_32
+ - Offset: 0x000000000000000C
+ Type: R_MIPS_REL32
+ - Offset: 0x0000000000000010
+ Type: R_MIPS_26
+ - Offset: 0x0000000000000014
+ Type: R_MIPS_HI16
+ - Offset: 0x0000000000000018
+ Type: R_MIPS_LO16
+ - Offset: 0x000000000000001C
+ Type: R_MIPS_GPREL16
+ - Offset: 0x0000000000000020
+ Type: R_MIPS_LITERAL
+ - Offset: 0x0000000000000024
+ Type: R_MIPS_GOT16
+ - Offset: 0x0000000000000028
+ Type: R_MIPS_PC16
+ - Offset: 0x000000000000002C
+ Type: R_MIPS_CALL16
+ - Offset: 0x0000000000000030
+ Type: R_MIPS_GPREL32
+ - Offset: 0x0000000000000034
+ Type: R_MIPS_SHIFT5
+ - Offset: 0x0000000000000038
+ Type: R_MIPS_SHIFT6
+ - Offset: 0x000000000000003C
+ Type: R_MIPS_64
+ - Offset: 0x0000000000000040
+ Type: R_MIPS_GOT_DISP
+ - Offset: 0x0000000000000044
+ Type: R_MIPS_GOT_PAGE
+ - Offset: 0x0000000000000048
+ Type: R_MIPS_GOT_OFST
+ - Offset: 0x000000000000004C
+ Type: R_MIPS_GOT_HI16
+ - Offset: 0x0000000000000050
+ Type: R_MIPS_GOT_LO16
+ - Offset: 0x0000000000000054
+ Type: R_MIPS_SUB
+ - Offset: 0x0000000000000058
+ Type: R_MIPS_INSERT_A
+ - Offset: 0x000000000000005C
+ Type: R_MIPS_INSERT_B
+ - Offset: 0x0000000000000060
+ Type: R_MIPS_DELETE
+ - Offset: 0x0000000000000064
+ Type: R_MIPS_HIGHER
+ - Offset: 0x0000000000000068
+ Type: R_MIPS_HIGHEST
+ - Offset: 0x000000000000006C
+ Type: R_MIPS_CALL_HI16
+ - Offset: 0x0000000000000070
+ Type: R_MIPS_CALL_LO16
+ - Offset: 0x0000000000000074
+ Type: R_MIPS_SCN_DISP
+ - Offset: 0x0000000000000078
+ Type: R_MIPS_REL16
+ - Offset: 0x000000000000007C
+ Type: R_MIPS_ADD_IMMEDIATE
+ - Offset: 0x0000000000000080
+ Type: R_MIPS_PJUMP
+ - Offset: 0x0000000000000084
+ Type: R_MIPS_RELGOT
+ - Offset: 0x0000000000000088
+ Type: R_MIPS_JALR
+ - Offset: 0x000000000000008C
+ Type: R_MIPS_TLS_DTPMOD32
+ - Offset: 0x0000000000000090
+ Type: R_MIPS_TLS_DTPREL32
+ - Offset: 0x0000000000000094
+ Type: R_MIPS_TLS_DTPMOD64
+ - Offset: 0x0000000000000098
+ Type: R_MIPS_TLS_DTPREL64
+ - Offset: 0x000000000000009C
+ Type: R_MIPS_TLS_GD
+ - Offset: 0x00000000000000A0
+ Type: R_MIPS_TLS_LDM
+ - Offset: 0x00000000000000A4
+ Type: R_MIPS_TLS_DTPREL_HI16
+ - Offset: 0x00000000000000A8
+ Type: R_MIPS_TLS_DTPREL_LO16
+ - Offset: 0x00000000000000AC
+ Type: R_MIPS_TLS_GOTTPREL
+ - Offset: 0x00000000000000B0
+ Type: R_MIPS_TLS_TPREL32
+ - Offset: 0x00000000000000B4
+ Type: R_MIPS_TLS_TPREL64
+ - Offset: 0x00000000000000B8
+ Type: R_MIPS_TLS_TPREL_HI16
+ - Offset: 0x00000000000000BC
+ Type: R_MIPS_TLS_TPREL_LO16
+ - Offset: 0x00000000000000C0
+ Type: R_MIPS_GLOB_DAT
+ - Offset: 0x00000000000000C4
+ Type: R_MIPS_COPY
+ - Offset: 0x00000000000000C8
+ Type: R_MIPS_JUMP_SLOT
+ - Offset: 0x00000000000000CC
+ Type: R_MIPS_NUM
--- /dev/null
+## Test that llvm-readobj/llvm-readelf shows proper relocation type
+## names and values for mips64 target.
+
+# RUN: yaml2obj %s -o %t-mips64.o
+# RUN: llvm-readobj -r --expand-relocs %t-mips64.o | FileCheck %s
+
+# CHECK: Type: R_MIPS_NONE/R_MIPS_NONE/R_MIPS_NONE (0)
+# CHECK: Type: R_MIPS_16/R_MIPS_16/R_MIPS_16 (65793)
+# CHECK: Type: R_MIPS_32/R_MIPS_32/R_MIPS_32 (131586)
+# CHECK: Type: R_MIPS_REL32/R_MIPS_REL32/R_MIPS_REL32 (197379)
+# CHECK: Type: R_MIPS_26/R_MIPS_26/R_MIPS_26 (263172)
+# CHECK: Type: R_MIPS_HI16/R_MIPS_HI16/R_MIPS_HI16 (328965)
+# CHECK: Type: R_MIPS_LO16/R_MIPS_LO16/R_MIPS_LO16 (394758)
+# CHECK: Type: R_MIPS_GPREL16/R_MIPS_GPREL16/R_MIPS_GPREL16 (460551)
+# CHECK: Type: R_MIPS_LITERAL/R_MIPS_LITERAL/R_MIPS_LITERAL (526344)
+# CHECK: Type: R_MIPS_GOT16/R_MIPS_GOT16/R_MIPS_GOT16 (592137)
+# CHECK: Type: R_MIPS_PC16/R_MIPS_PC16/R_MIPS_PC16 (657930)
+# CHECK: Type: R_MIPS_CALL16/R_MIPS_CALL16/R_MIPS_CALL16 (723723)
+# CHECK: Type: R_MIPS_GPREL32/R_MIPS_GPREL32/R_MIPS_GPREL32 (789516)
+# CHECK: Type: R_MIPS_SHIFT5/R_MIPS_SHIFT5/R_MIPS_SHIFT5 (1052688)
+# CHECK: Type: R_MIPS_SHIFT6/R_MIPS_SHIFT6/R_MIPS_SHIFT6 (1118481)
+# CHECK: Type: R_MIPS_64/R_MIPS_64/R_MIPS_64 (1184274)
+# CHECK: Type: R_MIPS_GOT_DISP/R_MIPS_GOT_DISP/R_MIPS_GOT_DISP (1250067)
+# CHECK: Type: R_MIPS_GOT_PAGE/R_MIPS_GOT_PAGE/R_MIPS_GOT_PAGE (1315860)
+# CHECK: Type: R_MIPS_GOT_OFST/R_MIPS_GOT_OFST/R_MIPS_GOT_OFST (1381653)
+# CHECK: Type: R_MIPS_GOT_HI16/R_MIPS_GOT_HI16/R_MIPS_GOT_HI16 (1447446)
+# CHECK: Type: R_MIPS_GOT_LO16/R_MIPS_GOT_LO16/R_MIPS_GOT_LO16 (1513239)
+# CHECK: Type: R_MIPS_SUB/R_MIPS_SUB/R_MIPS_SUB (1579032)
+# CHECK: Type: R_MIPS_INSERT_A/R_MIPS_INSERT_A/R_MIPS_INSERT_A (1644825)
+# CHECK: Type: R_MIPS_INSERT_B/R_MIPS_INSERT_B/R_MIPS_INSERT_B (1710618)
+# CHECK: Type: R_MIPS_DELETE/R_MIPS_DELETE/R_MIPS_DELETE (1776411)
+# CHECK: Type: R_MIPS_HIGHER/R_MIPS_HIGHER/R_MIPS_HIGHER (1842204)
+# CHECK: Type: R_MIPS_HIGHEST/R_MIPS_HIGHEST/R_MIPS_HIGHEST (1907997)
+# CHECK: Type: R_MIPS_CALL_HI16/R_MIPS_CALL_HI16/R_MIPS_CALL_HI16 (1973790)
+# CHECK: Type: R_MIPS_CALL_LO16/R_MIPS_CALL_LO16/R_MIPS_CALL_LO16 (2039583)
+# CHECK: Type: R_MIPS_SCN_DISP/R_MIPS_SCN_DISP/R_MIPS_SCN_DISP (2105376)
+# CHECK: Type: R_MIPS_REL16/R_MIPS_REL16/R_MIPS_REL16 (2171169)
+# CHECK: Type: R_MIPS_ADD_IMMEDIATE/R_MIPS_ADD_IMMEDIATE/R_MIPS_ADD_IMMEDIATE (2236962)
+# CHECK: Type: R_MIPS_PJUMP/R_MIPS_PJUMP/R_MIPS_PJUMP (2302755)
+# CHECK: Type: R_MIPS_RELGOT/R_MIPS_RELGOT/R_MIPS_RELGOT (2368548)
+# CHECK: Type: R_MIPS_JALR/R_MIPS_JALR/R_MIPS_JALR (2434341)
+# CHECK: Type: R_MIPS_TLS_DTPMOD32/R_MIPS_TLS_DTPMOD32/R_MIPS_TLS_DTPMOD32 (2500134)
+# CHECK: Type: R_MIPS_TLS_DTPREL32/R_MIPS_TLS_DTPREL32/R_MIPS_TLS_DTPREL32 (2565927)
+# CHECK: Type: R_MIPS_TLS_DTPMOD64/R_MIPS_TLS_DTPMOD64/R_MIPS_TLS_DTPMOD64 (2631720)
+# CHECK: Type: R_MIPS_TLS_DTPREL64/R_MIPS_TLS_DTPREL64/R_MIPS_TLS_DTPREL64 (2697513)
+# CHECK: Type: R_MIPS_TLS_GD/R_MIPS_TLS_GD/R_MIPS_TLS_GD (2763306)
+# CHECK: Type: R_MIPS_TLS_LDM/R_MIPS_TLS_LDM/R_MIPS_TLS_LDM (2829099)
+# CHECK: Type: R_MIPS_TLS_DTPREL_HI16/R_MIPS_TLS_DTPREL_HI16/R_MIPS_TLS_DTPREL_HI16 (2894892)
+# CHECK: Type: R_MIPS_TLS_DTPREL_LO16/R_MIPS_TLS_DTPREL_LO16/R_MIPS_TLS_DTPREL_LO16 (2960685)
+# CHECK: Type: R_MIPS_TLS_GOTTPREL/R_MIPS_TLS_GOTTPREL/R_MIPS_TLS_GOTTPREL (3026478)
+# CHECK: Type: R_MIPS_TLS_TPREL32/R_MIPS_TLS_TPREL32/R_MIPS_TLS_TPREL32 (3092271)
+# CHECK: Type: R_MIPS_TLS_TPREL64/R_MIPS_TLS_TPREL64/R_MIPS_TLS_TPREL64 (3158064)
+# CHECK: Type: R_MIPS_TLS_TPREL_HI16/R_MIPS_TLS_TPREL_HI16/R_MIPS_TLS_TPREL_HI16 (3223857)
+# CHECK: Type: R_MIPS_TLS_TPREL_LO16/R_MIPS_TLS_TPREL_LO16/R_MIPS_TLS_TPREL_LO16 (3289650)
+# CHECK: Type: R_MIPS_GLOB_DAT/R_MIPS_GLOB_DAT/R_MIPS_GLOB_DAT (3355443)
+# CHECK: Type: R_MIPS_COPY/R_MIPS_COPY/R_MIPS_COPY (8289918)
+# CHECK: Type: R_MIPS_JUMP_SLOT/R_MIPS_JUMP_SLOT/R_MIPS_JUMP_SLOT (8355711)
+# CHECK: Type: R_MIPS_NUM/R_MIPS_NUM/R_MIPS_NUM (14342874)
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ OSABI: ELFOSABI_GNU
+ Type: ET_REL
+ Machine: EM_MIPS
+Sections:
+ - Name: .text
+ Type: SHT_PROGBITS
+ Content: 00
+ - Name: .rela.text
+ Type: SHT_RELA
+ Link: .symtab
+ AddressAlign: 0x0000000000000008
+ EntSize: 0x0000000000000018
+ Info: .text
+ Relocations:
+ - Offset: 0x0000000000000000
+ Type: R_MIPS_NONE
+ - Offset: 0x0000000000000004
+ Type: R_MIPS_16
+ Type2: R_MIPS_16
+ Type3: R_MIPS_16
+ - Offset: 0x0000000000000008
+ Type: R_MIPS_32
+ Type2: R_MIPS_32
+ Type3: R_MIPS_32
+ - Offset: 0x000000000000000C
+ Type: R_MIPS_REL32
+ Type2: R_MIPS_REL32
+ Type3: R_MIPS_REL32
+ - Offset: 0x0000000000000010
+ Type: R_MIPS_26
+ Type2: R_MIPS_26
+ Type3: R_MIPS_26
+ - Offset: 0x0000000000000014
+ Type: R_MIPS_HI16
+ Type2: R_MIPS_HI16
+ Type3: R_MIPS_HI16
+ - Offset: 0x0000000000000018
+ Type: R_MIPS_LO16
+ Type2: R_MIPS_LO16
+ Type3: R_MIPS_LO16
+ - Offset: 0x000000000000001C
+ Type: R_MIPS_GPREL16
+ Type2: R_MIPS_GPREL16
+ Type3: R_MIPS_GPREL16
+ - Offset: 0x0000000000000020
+ Type: R_MIPS_LITERAL
+ Type2: R_MIPS_LITERAL
+ Type3: R_MIPS_LITERAL
+ - Offset: 0x0000000000000024
+ Type: R_MIPS_GOT16
+ Type2: R_MIPS_GOT16
+ Type3: R_MIPS_GOT16
+ - Offset: 0x0000000000000028
+ Type: R_MIPS_PC16
+ Type2: R_MIPS_PC16
+ Type3: R_MIPS_PC16
+ - Offset: 0x000000000000002C
+ Type: R_MIPS_CALL16
+ Type2: R_MIPS_CALL16
+ Type3: R_MIPS_CALL16
+ - Offset: 0x0000000000000030
+ Type: R_MIPS_GPREL32
+ Type2: R_MIPS_GPREL32
+ Type3: R_MIPS_GPREL32
+ - Offset: 0x0000000000000034
+ Type: R_MIPS_SHIFT5
+ Type2: R_MIPS_SHIFT5
+ Type3: R_MIPS_SHIFT5
+ - Offset: 0x0000000000000038
+ Type: R_MIPS_SHIFT6
+ Type2: R_MIPS_SHIFT6
+ Type3: R_MIPS_SHIFT6
+ - Offset: 0x000000000000003C
+ Type: R_MIPS_64
+ Type2: R_MIPS_64
+ Type3: R_MIPS_64
+ - Offset: 0x0000000000000040
+ Type: R_MIPS_GOT_DISP
+ Type2: R_MIPS_GOT_DISP
+ Type3: R_MIPS_GOT_DISP
+ - Offset: 0x0000000000000044
+ Type: R_MIPS_GOT_PAGE
+ Type2: R_MIPS_GOT_PAGE
+ Type3: R_MIPS_GOT_PAGE
+ - Offset: 0x0000000000000048
+ Type: R_MIPS_GOT_OFST
+ Type2: R_MIPS_GOT_OFST
+ Type3: R_MIPS_GOT_OFST
+ - Offset: 0x000000000000004C
+ Type: R_MIPS_GOT_HI16
+ Type2: R_MIPS_GOT_HI16
+ Type3: R_MIPS_GOT_HI16
+ - Offset: 0x0000000000000050
+ Type: R_MIPS_GOT_LO16
+ Type2: R_MIPS_GOT_LO16
+ Type3: R_MIPS_GOT_LO16
+ - Offset: 0x0000000000000054
+ Type: R_MIPS_SUB
+ Type2: R_MIPS_SUB
+ Type3: R_MIPS_SUB
+ - Offset: 0x0000000000000058
+ Type: R_MIPS_INSERT_A
+ Type2: R_MIPS_INSERT_A
+ Type3: R_MIPS_INSERT_A
+ - Offset: 0x000000000000005C
+ Type: R_MIPS_INSERT_B
+ Type2: R_MIPS_INSERT_B
+ Type3: R_MIPS_INSERT_B
+ - Offset: 0x0000000000000060
+ Type: R_MIPS_DELETE
+ Type2: R_MIPS_DELETE
+ Type3: R_MIPS_DELETE
+ - Offset: 0x0000000000000064
+ Type: R_MIPS_HIGHER
+ Type2: R_MIPS_HIGHER
+ Type3: R_MIPS_HIGHER
+ - Offset: 0x0000000000000068
+ Type: R_MIPS_HIGHEST
+ Type2: R_MIPS_HIGHEST
+ Type3: R_MIPS_HIGHEST
+ - Offset: 0x000000000000006C
+ Type: R_MIPS_CALL_HI16
+ Type2: R_MIPS_CALL_HI16
+ Type3: R_MIPS_CALL_HI16
+ - Offset: 0x0000000000000070
+ Type: R_MIPS_CALL_LO16
+ Type2: R_MIPS_CALL_LO16
+ Type3: R_MIPS_CALL_LO16
+ - Offset: 0x0000000000000074
+ Type: R_MIPS_SCN_DISP
+ Type2: R_MIPS_SCN_DISP
+ Type3: R_MIPS_SCN_DISP
+ - Offset: 0x0000000000000078
+ Type: R_MIPS_REL16
+ Type2: R_MIPS_REL16
+ Type3: R_MIPS_REL16
+ - Offset: 0x000000000000007C
+ Type: R_MIPS_ADD_IMMEDIATE
+ Type2: R_MIPS_ADD_IMMEDIATE
+ Type3: R_MIPS_ADD_IMMEDIATE
+ - Offset: 0x0000000000000080
+ Type: R_MIPS_PJUMP
+ Type2: R_MIPS_PJUMP
+ Type3: R_MIPS_PJUMP
+ - Offset: 0x0000000000000084
+ Type: R_MIPS_RELGOT
+ Type2: R_MIPS_RELGOT
+ Type3: R_MIPS_RELGOT
+ - Offset: 0x0000000000000088
+ Type: R_MIPS_JALR
+ Type2: R_MIPS_JALR
+ Type3: R_MIPS_JALR
+ - Offset: 0x000000000000008C
+ Type: R_MIPS_TLS_DTPMOD32
+ Type2: R_MIPS_TLS_DTPMOD32
+ Type3: R_MIPS_TLS_DTPMOD32
+ - Offset: 0x0000000000000090
+ Type: R_MIPS_TLS_DTPREL32
+ Type2: R_MIPS_TLS_DTPREL32
+ Type3: R_MIPS_TLS_DTPREL32
+ - Offset: 0x0000000000000094
+ Type: R_MIPS_TLS_DTPMOD64
+ Type2: R_MIPS_TLS_DTPMOD64
+ Type3: R_MIPS_TLS_DTPMOD64
+ - Offset: 0x0000000000000098
+ Type: R_MIPS_TLS_DTPREL64
+ Type2: R_MIPS_TLS_DTPREL64
+ Type3: R_MIPS_TLS_DTPREL64
+ - Offset: 0x000000000000009C
+ Type: R_MIPS_TLS_GD
+ Type2: R_MIPS_TLS_GD
+ Type3: R_MIPS_TLS_GD
+ - Offset: 0x00000000000000A0
+ Type: R_MIPS_TLS_LDM
+ Type2: R_MIPS_TLS_LDM
+ Type3: R_MIPS_TLS_LDM
+ - Offset: 0x00000000000000A4
+ Type: R_MIPS_TLS_DTPREL_HI16
+ Type2: R_MIPS_TLS_DTPREL_HI16
+ Type3: R_MIPS_TLS_DTPREL_HI16
+ - Offset: 0x00000000000000A8
+ Type: R_MIPS_TLS_DTPREL_LO16
+ Type2: R_MIPS_TLS_DTPREL_LO16
+ Type3: R_MIPS_TLS_DTPREL_LO16
+ - Offset: 0x00000000000000AC
+ Type: R_MIPS_TLS_GOTTPREL
+ Type2: R_MIPS_TLS_GOTTPREL
+ Type3: R_MIPS_TLS_GOTTPREL
+ - Offset: 0x00000000000000B0
+ Type: R_MIPS_TLS_TPREL32
+ Type2: R_MIPS_TLS_TPREL32
+ Type3: R_MIPS_TLS_TPREL32
+ - Offset: 0x00000000000000B4
+ Type: R_MIPS_TLS_TPREL64
+ Type2: R_MIPS_TLS_TPREL64
+ Type3: R_MIPS_TLS_TPREL64
+ - Offset: 0x00000000000000B8
+ Type: R_MIPS_TLS_TPREL_HI16
+ Type2: R_MIPS_TLS_TPREL_HI16
+ Type3: R_MIPS_TLS_TPREL_HI16
+ - Offset: 0x00000000000000BC
+ Type: R_MIPS_TLS_TPREL_LO16
+ Type2: R_MIPS_TLS_TPREL_LO16
+ Type3: R_MIPS_TLS_TPREL_LO16
+ - Offset: 0x00000000000000C0
+ Type: R_MIPS_GLOB_DAT
+ Type2: R_MIPS_GLOB_DAT
+ Type3: R_MIPS_GLOB_DAT
+ - Offset: 0x00000000000000C4
+ Type: R_MIPS_COPY
+ Type2: R_MIPS_COPY
+ Type3: R_MIPS_COPY
+ - Offset: 0x00000000000000C8
+ Type: R_MIPS_JUMP_SLOT
+ Type2: R_MIPS_JUMP_SLOT
+ Type3: R_MIPS_JUMP_SLOT
+ - Offset: 0x00000000000000CC
+ Type: R_MIPS_NUM
+ Type2: R_MIPS_NUM
+ Type3: R_MIPS_NUM
--- /dev/null
+## Test that llvm-readobj/llvm-readelf shows proper relocation type
+## names and values for ppc64 target.
+
+## TODO: Use yaml2obj. obj2yaml now hangs on dumping relocs.obj.elf-ppc64
+# RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.elf-ppc64 | FileCheck %s
+
+# CHECK: Type: R_PPC64_NONE (0)
+# CHECK: Type: R_PPC64_ADDR32 (1)
+# CHECK: Type: R_PPC64_ADDR16_LO (4)
+# CHECK: Type: R_PPC64_ADDR16_HI (5)
+# CHECK: Type: R_PPC64_ADDR14 (7)
+# CHECK: Type: R_PPC64_REL24 (10)
+# CHECK: Type: R_PPC64_REL32 (26)
+# CHECK: Type: R_PPC64_ADDR64 (38)
+# CHECK: Type: R_PPC64_ADDR16_HIGHER (39)
+# CHECK: Type: R_PPC64_ADDR16_HIGHEST (41)
+# CHECK: Type: R_PPC64_REL64 (44)
+# CHECK: Type: R_PPC64_TOC16 (47)
+# CHECK: Type: R_PPC64_TOC16_LO (48)
+# CHECK: Type: R_PPC64_TOC16_HA (50)
+# CHECK: Type: R_PPC64_TOC (51)
+# CHECK: Type: R_PPC64_ADDR16_DS (56)
+# CHECK: Type: R_PPC64_ADDR16_LO_DS (57)
+# CHECK: Type: R_PPC64_TOC16_DS (63)
+# CHECK: Type: R_PPC64_TOC16_LO_DS (64)
+# CHECK: Type: R_PPC64_TLS (67)
+# CHECK: Type: R_PPC64_TPREL16_LO (70)
+# CHECK: Type: R_PPC64_TPREL16_HA (72)
+# CHECK: Type: R_PPC64_DTPREL16_LO (75)
+# CHECK: Type: R_PPC64_DTPREL16_HA (77)
+# CHECK: Type: R_PPC64_GOT_TLSGD16_LO (80)
+# CHECK: Type: R_PPC64_GOT_TLSGD16_HA (82)
+# CHECK: Type: R_PPC64_GOT_TLSLD16_LO (84)
+# CHECK: Type: R_PPC64_GOT_TLSLD16_HA (86)
+# CHECK: Type: R_PPC64_GOT_TPREL16_LO_DS (88)
+# CHECK: Type: R_PPC64_GOT_TPREL16_HA (90)
+# CHECK: Type: R_PPC64_TLSGD (107)
+# CHECK: Type: R_PPC64_TLSLD (108)
--- /dev/null
+## Test that llvm-readobj/llvm-readelf shows proper relocation type
+## names and values for x86_64 target.
+
+# RUN: yaml2obj %s -o %t-x86_64.o
+# RUN: llvm-readobj -r --expand-relocs %t-x86_64.o | FileCheck %s
+
+# CHECK: Type: R_X86_64_NONE (0)
+# CHECK: Type: R_X86_64_64 (1)
+# CHECK: Type: R_X86_64_PC32 (2)
+# CHECK: Type: R_X86_64_GOT32 (3)
+# CHECK: Type: R_X86_64_PLT32 (4)
+# CHECK: Type: R_X86_64_COPY (5)
+# CHECK: Type: R_X86_64_GLOB_DAT (6)
+# CHECK: Type: R_X86_64_JUMP_SLOT (7)
+# CHECK: Type: R_X86_64_RELATIVE (8)
+# CHECK: Type: R_X86_64_GOTPCREL (9)
+# CHECK: Type: R_X86_64_32 (10)
+# CHECK: Type: R_X86_64_32S (11)
+# CHECK: Type: R_X86_64_16 (12)
+# CHECK: Type: R_X86_64_PC16 (13)
+# CHECK: Type: R_X86_64_8 (14)
+# CHECK: Type: R_X86_64_PC8 (15)
+# CHECK: Type: R_X86_64_DTPMOD64 (16)
+# CHECK: Type: R_X86_64_DTPOFF64 (17)
+# CHECK: Type: R_X86_64_TPOFF64 (18)
+# CHECK: Type: R_X86_64_TLSGD (19)
+# CHECK: Type: R_X86_64_TLSLD (20)
+# CHECK: Type: R_X86_64_DTPOFF32 (21)
+# CHECK: Type: R_X86_64_GOTTPOFF (22)
+# CHECK: Type: R_X86_64_TPOFF32 (23)
+# CHECK: Type: R_X86_64_PC64 (24)
+# CHECK: Type: R_X86_64_GOTOFF64 (25)
+# CHECK: Type: R_X86_64_GOTPC32 (26)
+# CHECK: Type: R_X86_64_GOT64 (27)
+# CHECK: Type: R_X86_64_GOTPCREL64 (28)
+# CHECK: Type: R_X86_64_GOTPC64 (29)
+# CHECK: Type: R_X86_64_GOTPLT64 (30)
+# CHECK: Type: R_X86_64_PLTOFF64 (31)
+# CHECK: Type: R_X86_64_SIZE32 (32)
+# CHECK: Type: R_X86_64_SIZE64 (33)
+# CHECK: Type: R_X86_64_GOTPC32_TLSDESC (34)
+# CHECK: Type: R_X86_64_TLSDESC_CALL (35)
+# CHECK: Type: R_X86_64_TLSDESC (36)
+# CHECK: Type: R_X86_64_IRELATIVE (37)
+# CHECK: Type: R_X86_64_GOTPCRELX (41)
+# CHECK: Type: R_X86_64_REX_GOTPCRELX (42)
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ OSABI: ELFOSABI_GNU
+ Type: ET_REL
+ Machine: EM_X86_64
+Sections:
+ - Name: .text
+ Type: SHT_PROGBITS
+ Content: 00
+ - Name: .rela.text
+ Type: SHT_RELA
+ Link: .symtab
+ AddressAlign: 0x0000000000000008
+ EntSize: 0x0000000000000018
+ Info: .text
+ Relocations:
+ - Offset: 0x0000000000000003
+ Type: R_X86_64_NONE
+ - Offset: 0x000000000000000A
+ Type: R_X86_64_64
+ - Offset: 0x0000000000000011
+ Type: R_X86_64_PC32
+ - Offset: 0x0000000000000018
+ Type: R_X86_64_GOT32
+ - Offset: 0x000000000000001F
+ Type: R_X86_64_PLT32
+ - Offset: 0x0000000000000026
+ Type: R_X86_64_COPY
+ - Offset: 0x000000000000002D
+ Type: R_X86_64_GLOB_DAT
+ - Offset: 0x0000000000000034
+ Type: R_X86_64_JUMP_SLOT
+ - Offset: 0x000000000000003B
+ Type: R_X86_64_RELATIVE
+ - Offset: 0x0000000000000042
+ Type: R_X86_64_GOTPCREL
+ - Offset: 0x0000000000000049
+ Type: R_X86_64_32
+ - Offset: 0x0000000000000050
+ Type: R_X86_64_32S
+ - Offset: 0x0000000000000057
+ Type: R_X86_64_16
+ - Offset: 0x000000000000005E
+ Type: R_X86_64_PC16
+ - Offset: 0x0000000000000065
+ Type: R_X86_64_8
+ - Offset: 0x000000000000006C
+ Type: R_X86_64_PC8
+ - Offset: 0x0000000000000073
+ Type: R_X86_64_DTPMOD64
+ - Offset: 0x000000000000007A
+ Type: R_X86_64_DTPOFF64
+ - Offset: 0x0000000000000081
+ Type: R_X86_64_TPOFF64
+ - Offset: 0x0000000000000088
+ Type: R_X86_64_TLSGD
+ - Offset: 0x000000000000008F
+ Type: R_X86_64_TLSLD
+ - Offset: 0x0000000000000096
+ Type: R_X86_64_DTPOFF32
+ - Offset: 0x000000000000009D
+ Type: R_X86_64_GOTTPOFF
+ - Offset: 0x00000000000000A4
+ Type: R_X86_64_TPOFF32
+ - Offset: 0x00000000000000AB
+ Type: R_X86_64_PC64
+ - Offset: 0x00000000000000B2
+ Type: R_X86_64_GOTOFF64
+ - Offset: 0x00000000000000B9
+ Type: R_X86_64_GOTPC32
+ - Offset: 0x00000000000000C0
+ Type: R_X86_64_GOT64
+ - Offset: 0x00000000000000C7
+ Type: R_X86_64_GOTPCREL64
+ - Offset: 0x00000000000000CE
+ Type: R_X86_64_GOTPC64
+ - Offset: 0x00000000000000D5
+ Type: R_X86_64_GOTPLT64
+ - Offset: 0x00000000000000DC
+ Type: R_X86_64_PLTOFF64
+ - Offset: 0x00000000000000E3
+ Type: R_X86_64_SIZE32
+ - Offset: 0x00000000000000EA
+ Type: R_X86_64_SIZE64
+ - Offset: 0x00000000000000F1
+ Type: R_X86_64_GOTPC32_TLSDESC
+ - Offset: 0x00000000000000F8
+ Type: R_X86_64_TLSDESC_CALL
+ - Offset: 0x00000000000000FF
+ Type: R_X86_64_TLSDESC
+ - Offset: 0x0000000000000106
+ Type: R_X86_64_IRELATIVE
+ - Offset: 0x000000000000010A
+ Type: R_X86_64_GOTPCRELX
+ - Offset: 0x000000000000010E
+ Type: R_X86_64_REX_GOTPCRELX
--- /dev/null
+## Test that llvm-readobj/llvm-readelf shows proper relocation type
+## names and values for macho-arm target.
+
+## TODO: use yaml2obj.
+# RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.macho-arm | FileCheck %s
+
+# CHECK: Type: ARM_RELOC_VANILLA (0)
+# CHECK: Type: ARM_RELOC_PAIR (1)
+# CHECK: Type: ARM_RELOC_SECTDIFF (2)
+# CHECK: Type: ARM_RELOC_LOCAL_SECTDIFF (3)
+# CHECK: Type: ARM_RELOC_PB_LA_PTR (4)
+# CHECK: Type: ARM_RELOC_BR24 (5)
+# CHECK: Type: ARM_THUMB_RELOC_BR22 (6)
+# CHECK: Type: ARM_THUMB_32BIT_BRANCH (7)
+# CHECK: Type: ARM_RELOC_HALF (8)
+# CHECK: Type: ARM_RELOC_HALF_SECTDIFF (9)
--- /dev/null
+## Test that llvm-readobj/llvm-readelf shows proper relocation type
+## names and values for macho-i386 target.
+
+## TODO: use yaml2obj.
+# RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.macho-i386 | FileCheck %s
+
+# CHECK: Type: GENERIC_RELOC_VANILLA (0)
+# CHECK: Type: GENERIC_RELOC_PAIR (1)
+# CHECK: Type: GENERIC_RELOC_SECTDIFF (2)
+# CHECK: Type: GENERIC_RELOC_PB_LA_PTR (3)
+# CHECK: Type: GENERIC_RELOC_LOCAL_SECTDIFF (4)
+# CHECK: Type: GENERIC_RELOC_TLV (5)
--- /dev/null
+## Test that llvm-readobj/llvm-readelf shows proper relocation type
+## names and values for macho-x64 target.
+
+## TODO: use yaml2obj.
+# RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.macho-x86_64 | FileCheck %s
+
+# CHECK: Type: X86_64_RELOC_UNSIGNED (0)
+# CHECK: Type: X86_64_RELOC_SIGNED (1)
+# CHECK: Type: X86_64_RELOC_BRANCH (2)
+# CHECK: Type: X86_64_RELOC_GOT_LOAD (3)
+# CHECK: Type: X86_64_RELOC_GOT (4)
+# CHECK: Type: X86_64_RELOC_SUBTRACTOR (5)
+# CHECK: Type: X86_64_RELOC_SIGNED_1 (6)
+# CHECK: Type: X86_64_RELOC_SIGNED_2 (7)
+# CHECK: Type: X86_64_RELOC_SIGNED_4 (8)
+# CHECK: Type: X86_64_RELOC_TLV (9)
+++ /dev/null
-// Test that libObject and subsequently llvm-readobj shows proper relocation type
-// names and values.
-
-// Todo: ELF-PPC, ELF-HEXAGON
-
-RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.elf-i386 | FileCheck %s -check-prefix ELF-32
-RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.elf-x86_64 | FileCheck %s -check-prefix ELF-64
-RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.elf-aarch64 | FileCheck %s -check-prefix ELF-AARCH64
-RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.elf-arm | FileCheck %s -check-prefix ELF-ARM
-RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.elf-lanai | FileCheck %s -check-prefix ELF-LANAI
-RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.elf-mips | FileCheck %s -check-prefix ELF-MIPS
-RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.elf-mips64el | FileCheck %s -check-prefix ELF-MIPS64EL
-RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.elf-ppc64 | FileCheck %s -check-prefix ELF-PPC64
-RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.coff-i386 | FileCheck %s -check-prefix COFF-32
-RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.coff-x86_64 | FileCheck %s -check-prefix COFF-64
-RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.macho-arm | FileCheck %s -check-prefix MACHO-ARM
-RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.macho-i386 | FileCheck %s -check-prefix MACHO-32
-RUN: llvm-readobj -r --expand-relocs %p/Inputs/relocs.obj.macho-x86_64 | FileCheck %s -check-prefix MACHO-64
-
-
-ELF-32: Type: R_386_NONE (0)
-ELF-32: Type: R_386_32 (1)
-ELF-32: Type: R_386_PC32 (2)
-ELF-32: Type: R_386_GOT32 (3)
-ELF-32: Type: R_386_PLT32 (4)
-ELF-32: Type: R_386_COPY (5)
-ELF-32: Type: R_386_GLOB_DAT (6)
-ELF-32: Type: R_386_JUMP_SLOT (7)
-ELF-32: Type: R_386_RELATIVE (8)
-ELF-32: Type: R_386_GOTOFF (9)
-ELF-32: Type: R_386_GOTPC (10)
-ELF-32: Type: R_386_32PLT (11)
-ELF-32: Type: R_386_TLS_TPOFF (14)
-ELF-32: Type: R_386_TLS_IE (15)
-ELF-32: Type: R_386_TLS_GOTIE (16)
-ELF-32: Type: R_386_TLS_LE (17)
-ELF-32: Type: R_386_TLS_GD (18)
-ELF-32: Type: R_386_TLS_LDM (19)
-ELF-32: Type: R_386_16 (20)
-ELF-32: Type: R_386_PC16 (21)
-ELF-32: Type: R_386_8 (22)
-ELF-32: Type: R_386_PC8 (23)
-ELF-32: Type: R_386_TLS_GD_32 (24)
-ELF-32: Type: R_386_TLS_GD_PUSH (25)
-ELF-32: Type: R_386_TLS_GD_CALL (26)
-ELF-32: Type: R_386_TLS_GD_POP (27)
-ELF-32: Type: R_386_TLS_LDM_32 (28)
-ELF-32: Type: R_386_TLS_LDM_PUSH (29)
-ELF-32: Type: R_386_TLS_LDM_CALL (30)
-ELF-32: Type: R_386_TLS_LDM_POP (31)
-ELF-32: Type: R_386_TLS_LDO_32 (32)
-ELF-32: Type: R_386_TLS_IE_32 (33)
-ELF-32: Type: R_386_TLS_LE_32 (34)
-ELF-32: Type: R_386_TLS_DTPMOD32 (35)
-ELF-32: Type: R_386_TLS_DTPOFF32 (36)
-ELF-32: Type: R_386_TLS_TPOFF32 (37)
-ELF-32: Type: R_386_TLS_GOTDESC (39)
-ELF-32: Type: R_386_TLS_DESC_CALL (40)
-ELF-32: Type: R_386_TLS_DESC (41)
-ELF-32: Type: R_386_IRELATIVE (42)
-_LF-32: Type: R_386_NUM (43)
-
-ELF-64: Type: R_X86_64_NONE (0)
-ELF-64: Type: R_X86_64_64 (1)
-ELF-64: Type: R_X86_64_PC32 (2)
-ELF-64: Type: R_X86_64_GOT32 (3)
-ELF-64: Type: R_X86_64_PLT32 (4)
-ELF-64: Type: R_X86_64_COPY (5)
-ELF-64: Type: R_X86_64_GLOB_DAT (6)
-ELF-64: Type: R_X86_64_JUMP_SLOT (7)
-ELF-64: Type: R_X86_64_RELATIVE (8)
-ELF-64: Type: R_X86_64_GOTPCREL (9)
-ELF-64: Type: R_X86_64_32 (10)
-ELF-64: Type: R_X86_64_32S (11)
-ELF-64: Type: R_X86_64_16 (12)
-ELF-64: Type: R_X86_64_PC16 (13)
-ELF-64: Type: R_X86_64_8 (14)
-ELF-64: Type: R_X86_64_PC8 (15)
-ELF-64: Type: R_X86_64_DTPMOD64 (16)
-ELF-64: Type: R_X86_64_DTPOFF64 (17)
-ELF-64: Type: R_X86_64_TPOFF64 (18)
-ELF-64: Type: R_X86_64_TLSGD (19)
-ELF-64: Type: R_X86_64_TLSLD (20)
-ELF-64: Type: R_X86_64_DTPOFF32 (21)
-ELF-64: Type: R_X86_64_GOTTPOFF (22)
-ELF-64: Type: R_X86_64_TPOFF32 (23)
-ELF-64: Type: R_X86_64_PC64 (24)
-ELF-64: Type: R_X86_64_GOTOFF64 (25)
-ELF-64: Type: R_X86_64_GOTPC32 (26)
-ELF-64: Type: R_X86_64_GOT64 (27)
-ELF-64: Type: R_X86_64_GOTPCREL64 (28)
-ELF-64: Type: R_X86_64_GOTPC64 (29)
-ELF-64: Type: R_X86_64_GOTPLT64 (30)
-ELF-64: Type: R_X86_64_PLTOFF64 (31)
-ELF-64: Type: R_X86_64_SIZE32 (32)
-ELF-64: Type: R_X86_64_SIZE64 (33)
-ELF-64: Type: R_X86_64_GOTPC32_TLSDESC (34)
-ELF-64: Type: R_X86_64_TLSDESC_CALL (35)
-ELF-64: Type: R_X86_64_TLSDESC (36)
-ELF-64: Type: R_X86_64_IRELATIVE (37)
-
-ELF-PPC: Type: R_PPC_NONE (0)
-ELF-PPC: Type: R_PPC_ADDR32 (1)
-ELF-PPC: Type: R_PPC_ADDR24 (2)
-ELF-PPC: Type: R_PPC_ADDR16 (3)
-ELF-PPC: Type: R_PPC_ADDR16_LO (4)
-ELF-PPC: Type: R_PPC_ADDR16_HI (5)
-ELF-PPC: Type: R_PPC_ADDR16_HA (6)
-ELF-PPC: Type: R_PPC_ADDR14 (7)
-ELF-PPC: Type: R_PPC_ADDR14_BRTAKEN (8)
-ELF-PPC: Type: R_PPC_ADDR14_BRNTAKEN (9)
-ELF-PPC: Type: R_PPC_REL24 (10)
-ELF-PPC: Type: R_PPC_REL14 (11)
-ELF-PPC: Type: R_PPC_REL14_BRTAKEN (12)
-ELF-PPC: Type: R_PPC_REL14_BRNTAKEN (13)
-ELF-PPC: Type: R_PPC_REL32 (26)
-ELF-PPC: Type: R_PPC_TPREL16_LO (70)
-ELF-PPC: Type: R_PPC_TPREL16_HA (72)
-
-ELF-PPC64: Type: R_PPC64_NONE (0)
-ELF-PPC64: Type: R_PPC64_ADDR32 (1)
-ELF-PPC64: Type: R_PPC64_ADDR16_LO (4)
-ELF-PPC64: Type: R_PPC64_ADDR16_HI (5)
-ELF-PPC64: Type: R_PPC64_ADDR14 (7)
-ELF-PPC64: Type: R_PPC64_REL24 (10)
-ELF-PPC64: Type: R_PPC64_REL32 (26)
-ELF-PPC64: Type: R_PPC64_ADDR64 (38)
-ELF-PPC64: Type: R_PPC64_ADDR16_HIGHER (39)
-ELF-PPC64: Type: R_PPC64_ADDR16_HIGHEST (41)
-ELF-PPC64: Type: R_PPC64_REL64 (44)
-ELF-PPC64: Type: R_PPC64_TOC16 (47)
-ELF-PPC64: Type: R_PPC64_TOC16_LO (48)
-ELF-PPC64: Type: R_PPC64_TOC16_HA (50)
-ELF-PPC64: Type: R_PPC64_TOC (51)
-ELF-PPC64: Type: R_PPC64_ADDR16_DS (56)
-ELF-PPC64: Type: R_PPC64_ADDR16_LO_DS (57)
-ELF-PPC64: Type: R_PPC64_TOC16_DS (63)
-ELF-PPC64: Type: R_PPC64_TOC16_LO_DS (64)
-ELF-PPC64: Type: R_PPC64_TLS (67)
-ELF-PPC64: Type: R_PPC64_TPREL16_LO (70)
-ELF-PPC64: Type: R_PPC64_TPREL16_HA (72)
-ELF-PPC64: Type: R_PPC64_DTPREL16_LO (75)
-ELF-PPC64: Type: R_PPC64_DTPREL16_HA (77)
-ELF-PPC64: Type: R_PPC64_GOT_TLSGD16_LO (80)
-ELF-PPC64: Type: R_PPC64_GOT_TLSGD16_HA (82)
-ELF-PPC64: Type: R_PPC64_GOT_TLSLD16_LO (84)
-ELF-PPC64: Type: R_PPC64_GOT_TLSLD16_HA (86)
-ELF-PPC64: Type: R_PPC64_GOT_TPREL16_LO_DS (88)
-ELF-PPC64: Type: R_PPC64_GOT_TPREL16_HA (90)
-ELF-PPC64: Type: R_PPC64_TLSGD (107)
-ELF-PPC64: Type: R_PPC64_TLSLD (108)
-
-ELF-AARCH64: Type: R_AARCH64_NONE (0)
-ELF-AARCH64: Type: R_AARCH64_ABS64 (257)
-ELF-AARCH64: Type: R_AARCH64_ABS32 (258)
-ELF-AARCH64: Type: R_AARCH64_ABS16 (259)
-ELF-AARCH64: Type: R_AARCH64_PREL64 (260)
-ELF-AARCH64: Type: R_AARCH64_PREL32 (261)
-ELF-AARCH64: Type: R_AARCH64_PREL16 (262)
-ELF-AARCH64: Type: R_AARCH64_MOVW_UABS_G0 (263)
-ELF-AARCH64: Type: R_AARCH64_MOVW_UABS_G0_NC (264)
-ELF-AARCH64: Type: R_AARCH64_MOVW_UABS_G1 (265)
-ELF-AARCH64: Type: R_AARCH64_MOVW_UABS_G1_NC (266)
-ELF-AARCH64: Type: R_AARCH64_MOVW_UABS_G2 (267)
-ELF-AARCH64: Type: R_AARCH64_MOVW_UABS_G2_NC (268)
-ELF-AARCH64: Type: R_AARCH64_MOVW_UABS_G3 (269)
-ELF-AARCH64: Type: R_AARCH64_MOVW_SABS_G0 (270)
-ELF-AARCH64: Type: R_AARCH64_MOVW_SABS_G1 (271)
-ELF-AARCH64: Type: R_AARCH64_MOVW_SABS_G2 (272)
-ELF-AARCH64: Type: R_AARCH64_LD_PREL_LO19 (273)
-ELF-AARCH64: Type: R_AARCH64_ADR_PREL_LO21 (274)
-ELF-AARCH64: Type: R_AARCH64_ADR_PREL_PG_HI21 (275)
-ELF-AARCH64: Type: R_AARCH64_ADR_PREL_PG_HI21_NC (276)
-ELF-AARCH64: Type: R_AARCH64_ADD_ABS_LO12_NC (277)
-ELF-AARCH64: Type: R_AARCH64_LDST8_ABS_LO12_NC (278)
-ELF-AARCH64: Type: R_AARCH64_TSTBR14 (279)
-ELF-AARCH64: Type: R_AARCH64_CONDBR19 (280)
-ELF-AARCH64: Type: R_AARCH64_JUMP26 (282)
-ELF-AARCH64: Type: R_AARCH64_CALL26 (283)
-ELF-AARCH64: Type: R_AARCH64_LDST16_ABS_LO12_NC (284)
-ELF-AARCH64: Type: R_AARCH64_LDST32_ABS_LO12_NC (285)
-ELF-AARCH64: Type: R_AARCH64_LDST64_ABS_LO12_NC (286)
-ELF-AARCH64: Type: R_AARCH64_MOVW_PREL_G0 (287)
-ELF-AARCH64: Type: R_AARCH64_MOVW_PREL_G0_NC (288)
-ELF-AARCH64: Type: R_AARCH64_MOVW_PREL_G1 (289)
-ELF-AARCH64: Type: R_AARCH64_MOVW_PREL_G1_NC (290)
-ELF-AARCH64: Type: R_AARCH64_MOVW_PREL_G2 (291)
-ELF-AARCH64: Type: R_AARCH64_MOVW_PREL_G2_NC (292)
-ELF-AARCH64: Type: R_AARCH64_MOVW_PREL_G3 (293)
-ELF-AARCH64: Type: R_AARCH64_LDST128_ABS_LO12_NC (299)
-ELF-AARCH64: Type: R_AARCH64_MOVW_GOTOFF_G0 (300)
-ELF-AARCH64: Type: R_AARCH64_MOVW_GOTOFF_G0_NC (301)
-ELF-AARCH64: Type: R_AARCH64_MOVW_GOTOFF_G1 (302)
-ELF-AARCH64: Type: R_AARCH64_MOVW_GOTOFF_G1_NC (303)
-ELF-AARCH64: Type: R_AARCH64_MOVW_GOTOFF_G2 (304)
-ELF-AARCH64: Type: R_AARCH64_MOVW_GOTOFF_G2_NC (305)
-ELF-AARCH64: Type: R_AARCH64_MOVW_GOTOFF_G3 (306)
-ELF-AARCH64: Type: R_AARCH64_GOTREL64 (307)
-ELF-AARCH64: Type: R_AARCH64_GOTREL32 (308)
-ELF-AARCH64: Type: R_AARCH64_GOT_LD_PREL19 (309)
-ELF-AARCH64: Type: R_AARCH64_LD64_GOTOFF_LO15 (310)
-ELF-AARCH64: Type: R_AARCH64_ADR_GOT_PAGE (311)
-ELF-AARCH64: Type: R_AARCH64_LD64_GOT_LO12_NC (312)
-ELF-AARCH64: Type: R_AARCH64_LD64_GOTPAGE_LO15 (313)
-ELF-AARCH64: Type: R_AARCH64_TLSGD_ADR_PREL21 (512)
-ELF-AARCH64: Type: R_AARCH64_TLSGD_ADR_PAGE21 (513)
-ELF-AARCH64: Type: R_AARCH64_TLSGD_ADD_LO12_NC (514)
-ELF-AARCH64: Type: R_AARCH64_TLSGD_MOVW_G1 (515)
-ELF-AARCH64: Type: R_AARCH64_TLSGD_MOVW_G0_NC (516)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_ADR_PREL21 (517)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_ADR_PAGE21 (518)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_ADD_LO12_NC (519)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_MOVW_G1 (520)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_MOVW_G0_NC (521)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_LD_PREL19 (522)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G2 (523)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1 (524)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC (525)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0 (526)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC (527)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_ADD_DTPREL_HI12 (528)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12 (529)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC (530)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12 (531)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC (532)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12 (533)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC (534)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12 (535)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC (536)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12 (537)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC (538)
-ELF-AARCH64: Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 (539)
-ELF-AARCH64: Type: R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC (540)
-ELF-AARCH64: Type: R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 (541)
-ELF-AARCH64: Type: R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC (542)
-ELF-AARCH64: Type: R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 (543)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_MOVW_TPREL_G2 (544)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_MOVW_TPREL_G1 (545)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_MOVW_TPREL_G1_NC (546)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_MOVW_TPREL_G0 (547)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_MOVW_TPREL_G0_NC (548)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_ADD_TPREL_HI12 (549)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_ADD_TPREL_LO12 (550)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_ADD_TPREL_LO12_NC (551)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12 (552)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC (553)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12 (554)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC (555)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12 (556)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC (557)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12 (558)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC (559)
-ELF-AARCH64: Type: R_AARCH64_TLSDESC_LD_PREL19 (560)
-ELF-AARCH64: Type: R_AARCH64_TLSDESC_ADR_PREL21 (561)
-ELF-AARCH64: Type: R_AARCH64_TLSDESC_ADR_PAGE21 (562)
-ELF-AARCH64: Type: R_AARCH64_TLSDESC_LD64_LO12 (563)
-ELF-AARCH64: Type: R_AARCH64_TLSDESC_ADD_LO12 (564)
-ELF-AARCH64: Type: R_AARCH64_TLSDESC_OFF_G1 (565)
-ELF-AARCH64: Type: R_AARCH64_TLSDESC_OFF_G0_NC (566)
-ELF-AARCH64: Type: R_AARCH64_TLSDESC_LDR (567)
-ELF-AARCH64: Type: R_AARCH64_TLSDESC_ADD (568)
-ELF-AARCH64: Type: R_AARCH64_TLSDESC_CALL (569)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12 (570)
-ELF-AARCH64: Type: R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC (571)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12 (572)
-ELF-AARCH64: Type: R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC (573)
-ELF-AARCH64: Type: R_AARCH64_COPY (1024)
-ELF-AARCH64: Type: R_AARCH64_GLOB_DAT (1025)
-ELF-AARCH64: Type: R_AARCH64_JUMP_SLOT (1026)
-ELF-AARCH64: Type: R_AARCH64_RELATIVE (1027)
-ELF-AARCH64: Type: R_AARCH64_TLS_DTPREL64 (1028)
-ELF-AARCH64: Type: R_AARCH64_TLS_DTPMOD64 (1029)
-ELF-AARCH64: Type: R_AARCH64_TLS_TPREL64 (1030)
-ELF-AARCH64: Type: R_AARCH64_TLSDESC (1031)
-ELF-AARCH64: Type: R_AARCH64_IRELATIVE (1032)
-
-ELF-ARM: Type: R_ARM_NONE (0)
-ELF-ARM: Type: R_ARM_PC24 (1)
-ELF-ARM: Type: R_ARM_ABS32 (2)
-ELF-ARM: Type: R_ARM_REL32 (3)
-ELF-ARM: Type: R_ARM_LDR_PC_G0 (4)
-ELF-ARM: Type: R_ARM_ABS16 (5)
-ELF-ARM: Type: R_ARM_ABS12 (6)
-ELF-ARM: Type: R_ARM_THM_ABS5 (7)
-ELF-ARM: Type: R_ARM_ABS8 (8)
-ELF-ARM: Type: R_ARM_SBREL32 (9)
-ELF-ARM: Type: R_ARM_THM_CALL (10)
-ELF-ARM: Type: R_ARM_THM_PC8 (11)
-ELF-ARM: Type: R_ARM_BREL_ADJ (12)
-ELF-ARM: Type: R_ARM_TLS_DESC (13)
-ELF-ARM: Type: R_ARM_THM_SWI8 (14)
-ELF-ARM: Type: R_ARM_XPC25 (15)
-ELF-ARM: Type: R_ARM_THM_XPC22 (16)
-ELF-ARM: Type: R_ARM_TLS_DTPMOD32 (17)
-ELF-ARM: Type: R_ARM_TLS_DTPOFF32 (18)
-ELF-ARM: Type: R_ARM_TLS_TPOFF32 (19)
-ELF-ARM: Type: R_ARM_COPY (20)
-ELF-ARM: Type: R_ARM_GLOB_DAT (21)
-ELF-ARM: Type: R_ARM_JUMP_SLOT (22)
-ELF-ARM: Type: R_ARM_RELATIVE (23)
-ELF-ARM: Type: R_ARM_GOTOFF32 (24)
-ELF-ARM: Type: R_ARM_BASE_PREL (25)
-ELF-ARM: Type: R_ARM_GOT_BREL (26)
-ELF-ARM: Type: R_ARM_CALL (28)
-ELF-ARM: Type: R_ARM_JUMP24 (29)
-ELF-ARM: Type: R_ARM_THM_JUMP24 (30)
-ELF-ARM: Type: R_ARM_BASE_ABS (31)
-ELF-ARM: Type: R_ARM_ALU_PCREL_7_0 (32)
-ELF-ARM: Type: R_ARM_ALU_PCREL_15_8 (33)
-ELF-ARM: Type: R_ARM_ALU_PCREL_23_15 (34)
-ELF-ARM: Type: R_ARM_LDR_SBREL_11_0_NC (35)
-ELF-ARM: Type: R_ARM_ALU_SBREL_19_12_NC (36)
-ELF-ARM: Type: R_ARM_ALU_SBREL_27_20_CK (37)
-ELF-ARM: Type: R_ARM_TARGET1 (38)
-ELF-ARM: Type: R_ARM_SBREL31 (39)
-ELF-ARM: Type: R_ARM_V4BX (40)
-ELF-ARM: Type: R_ARM_TARGET2 (41)
-ELF-ARM: Type: R_ARM_PREL31 (42)
-ELF-ARM: Type: R_ARM_MOVW_ABS_NC (43)
-ELF-ARM: Type: R_ARM_MOVT_ABS (44)
-ELF-ARM: Type: R_ARM_MOVW_PREL_NC (45)
-ELF-ARM: Type: R_ARM_MOVT_PREL (46)
-ELF-ARM: Type: R_ARM_THM_MOVW_ABS_NC (47)
-ELF-ARM: Type: R_ARM_THM_MOVT_ABS (48)
-ELF-ARM: Type: R_ARM_THM_MOVW_PREL_NC (49)
-ELF-ARM: Type: R_ARM_THM_MOVT_PREL (50)
-ELF-ARM: Type: R_ARM_THM_JUMP19 (51)
-ELF-ARM: Type: R_ARM_THM_JUMP6 (52)
-ELF-ARM: Type: R_ARM_THM_ALU_PREL_11_0 (53)
-ELF-ARM: Type: R_ARM_THM_PC12 (54)
-ELF-ARM: Type: R_ARM_ABS32_NOI (55)
-ELF-ARM: Type: R_ARM_REL32_NOI (56)
-ELF-ARM: Type: R_ARM_ALU_PC_G0_NC (57)
-ELF-ARM: Type: R_ARM_ALU_PC_G0 (58)
-ELF-ARM: Type: R_ARM_ALU_PC_G1_NC (59)
-ELF-ARM: Type: R_ARM_ALU_PC_G1 (60)
-ELF-ARM: Type: R_ARM_ALU_PC_G2 (61)
-ELF-ARM: Type: R_ARM_LDR_PC_G1 (62)
-ELF-ARM: Type: R_ARM_LDR_PC_G2 (63)
-ELF-ARM: Type: R_ARM_LDRS_PC_G0 (64)
-ELF-ARM: Type: R_ARM_LDRS_PC_G1 (65)
-ELF-ARM: Type: R_ARM_LDRS_PC_G2 (66)
-ELF-ARM: Type: R_ARM_LDC_PC_G0 (67)
-ELF-ARM: Type: R_ARM_LDC_PC_G1 (68)
-ELF-ARM: Type: R_ARM_LDC_PC_G2 (69)
-ELF-ARM: Type: R_ARM_ALU_SB_G0_NC (70)
-ELF-ARM: Type: R_ARM_ALU_SB_G0 (71)
-ELF-ARM: Type: R_ARM_ALU_SB_G1_NC (72)
-ELF-ARM: Type: R_ARM_ALU_SB_G1 (73)
-ELF-ARM: Type: R_ARM_ALU_SB_G2 (74)
-ELF-ARM: Type: R_ARM_LDR_SB_G0 (75)
-ELF-ARM: Type: R_ARM_LDR_SB_G1 (76)
-ELF-ARM: Type: R_ARM_LDR_SB_G2 (77)
-ELF-ARM: Type: R_ARM_LDRS_SB_G0 (78)
-ELF-ARM: Type: R_ARM_LDRS_SB_G1 (79)
-ELF-ARM: Type: R_ARM_LDRS_SB_G2 (80)
-ELF-ARM: Type: R_ARM_LDC_SB_G0 (81)
-ELF-ARM: Type: R_ARM_LDC_SB_G1 (82)
-ELF-ARM: Type: R_ARM_LDC_SB_G2 (83)
-ELF-ARM: Type: R_ARM_MOVW_BREL_NC (84)
-ELF-ARM: Type: R_ARM_MOVT_BREL (85)
-ELF-ARM: Type: R_ARM_MOVW_BREL (86)
-ELF-ARM: Type: R_ARM_THM_MOVW_BREL_NC (87)
-ELF-ARM: Type: R_ARM_THM_MOVT_BREL (88)
-ELF-ARM: Type: R_ARM_THM_MOVW_BREL (89)
-ELF-ARM: Type: R_ARM_TLS_GOTDESC (90)
-ELF-ARM: Type: R_ARM_TLS_CALL (91)
-ELF-ARM: Type: R_ARM_TLS_DESCSEQ (92)
-ELF-ARM: Type: R_ARM_THM_TLS_CALL (93)
-ELF-ARM: Type: R_ARM_PLT32_ABS (94)
-ELF-ARM: Type: R_ARM_GOT_ABS (95)
-ELF-ARM: Type: R_ARM_GOT_PREL (96)
-ELF-ARM: Type: R_ARM_GOT_BREL12 (97)
-ELF-ARM: Type: R_ARM_GOTOFF12 (98)
-ELF-ARM: Type: R_ARM_GOTRELAX (99)
-ELF-ARM: Type: R_ARM_GNU_VTENTRY (100)
-ELF-ARM: Type: R_ARM_GNU_VTINHERIT (101)
-ELF-ARM: Type: R_ARM_THM_JUMP11 (102)
-ELF-ARM: Type: R_ARM_THM_JUMP8 (103)
-ELF-ARM: Type: R_ARM_TLS_GD32 (104)
-ELF-ARM: Type: R_ARM_TLS_LDM32 (105)
-ELF-ARM: Type: R_ARM_TLS_LDO32 (106)
-ELF-ARM: Type: R_ARM_TLS_IE32 (107)
-ELF-ARM: Type: R_ARM_TLS_LE32 (108)
-ELF-ARM: Type: R_ARM_TLS_LDO12 (109)
-ELF-ARM: Type: R_ARM_TLS_LE12 (110)
-ELF-ARM: Type: R_ARM_TLS_IE12GP (111)
-ELF-ARM: Type: R_ARM_PRIVATE_0 (112)
-ELF-ARM: Type: R_ARM_PRIVATE_1 (113)
-ELF-ARM: Type: R_ARM_PRIVATE_2 (114)
-ELF-ARM: Type: R_ARM_PRIVATE_3 (115)
-ELF-ARM: Type: R_ARM_PRIVATE_4 (116)
-ELF-ARM: Type: R_ARM_PRIVATE_5 (117)
-ELF-ARM: Type: R_ARM_PRIVATE_6 (118)
-ELF-ARM: Type: R_ARM_PRIVATE_7 (119)
-ELF-ARM: Type: R_ARM_PRIVATE_8 (120)
-ELF-ARM: Type: R_ARM_PRIVATE_9 (121)
-ELF-ARM: Type: R_ARM_PRIVATE_10 (122)
-ELF-ARM: Type: R_ARM_PRIVATE_11 (123)
-ELF-ARM: Type: R_ARM_PRIVATE_12 (124)
-ELF-ARM: Type: R_ARM_PRIVATE_13 (125)
-ELF-ARM: Type: R_ARM_PRIVATE_14 (126)
-ELF-ARM: Type: R_ARM_PRIVATE_15 (127)
-ELF-ARM: Type: R_ARM_ME_TOO (128)
-ELF-ARM: Type: R_ARM_THM_TLS_DESCSEQ16 (129)
-ELF-ARM: Type: R_ARM_THM_TLS_DESCSEQ32 (130)
-ELF-ARM: Type: R_ARM_IRELATIVE (160)
-
-ELF-LANAI: Type: R_LANAI_NONE (0)
-ELF-LANAI: Type: R_LANAI_21 (1)
-ELF-LANAI: Type: R_LANAI_21_F (2)
-ELF-LANAI: Type: R_LANAI_25 (3)
-ELF-LANAI: Type: R_LANAI_32 (4)
-ELF-LANAI: Type: R_LANAI_HI16 (5)
-ELF-LANAI: Type: R_LANAI_LO16 (6)
-
-ELF-MIPS: Type: R_MIPS_NONE (0)
-ELF-MIPS: Type: R_MIPS_16 (1)
-ELF-MIPS: Type: R_MIPS_32 (2)
-ELF-MIPS: Type: R_MIPS_REL32 (3)
-ELF-MIPS: Type: R_MIPS_26 (4)
-ELF-MIPS: Type: R_MIPS_HI16 (5)
-ELF-MIPS: Type: R_MIPS_LO16 (6)
-ELF-MIPS: Type: R_MIPS_GPREL16 (7)
-ELF-MIPS: Type: R_MIPS_LITERAL (8)
-ELF-MIPS: Type: R_MIPS_GOT16 (9)
-ELF-MIPS: Type: R_MIPS_PC16 (10)
-ELF-MIPS: Type: R_MIPS_CALL16 (11)
-ELF-MIPS: Type: R_MIPS_GPREL32 (12)
-ELF-MIPS: Type: R_MIPS_SHIFT5 (16)
-ELF-MIPS: Type: R_MIPS_SHIFT6 (17)
-ELF-MIPS: Type: R_MIPS_64 (18)
-ELF-MIPS: Type: R_MIPS_GOT_DISP (19)
-ELF-MIPS: Type: R_MIPS_GOT_PAGE (20)
-ELF-MIPS: Type: R_MIPS_GOT_OFST (21)
-ELF-MIPS: Type: R_MIPS_GOT_HI16 (22)
-ELF-MIPS: Type: R_MIPS_GOT_LO16 (23)
-ELF-MIPS: Type: R_MIPS_SUB (24)
-ELF-MIPS: Type: R_MIPS_INSERT_A (25)
-ELF-MIPS: Type: R_MIPS_INSERT_B (26)
-ELF-MIPS: Type: R_MIPS_DELETE (27)
-ELF-MIPS: Type: R_MIPS_HIGHER (28)
-ELF-MIPS: Type: R_MIPS_HIGHEST (29)
-ELF-MIPS: Type: R_MIPS_CALL_HI16 (30)
-ELF-MIPS: Type: R_MIPS_CALL_LO16 (31)
-ELF-MIPS: Type: R_MIPS_SCN_DISP (32)
-ELF-MIPS: Type: R_MIPS_REL16 (33)
-ELF-MIPS: Type: R_MIPS_ADD_IMMEDIATE (34)
-ELF-MIPS: Type: R_MIPS_PJUMP (35)
-ELF-MIPS: Type: R_MIPS_RELGOT (36)
-ELF-MIPS: Type: R_MIPS_JALR (37)
-ELF-MIPS: Type: R_MIPS_TLS_DTPMOD32 (38)
-ELF-MIPS: Type: R_MIPS_TLS_DTPREL32 (39)
-ELF-MIPS: Type: R_MIPS_TLS_DTPMOD64 (40)
-ELF-MIPS: Type: R_MIPS_TLS_DTPREL64 (41)
-ELF-MIPS: Type: R_MIPS_TLS_GD (42)
-ELF-MIPS: Type: R_MIPS_TLS_LDM (43)
-ELF-MIPS: Type: R_MIPS_TLS_DTPREL_HI16 (44)
-ELF-MIPS: Type: R_MIPS_TLS_DTPREL_LO16 (45)
-ELF-MIPS: Type: R_MIPS_TLS_GOTTPREL (46)
-ELF-MIPS: Type: R_MIPS_TLS_TPREL32 (47)
-ELF-MIPS: Type: R_MIPS_TLS_TPREL64 (48)
-ELF-MIPS: Type: R_MIPS_TLS_TPREL_HI16 (49)
-ELF-MIPS: Type: R_MIPS_TLS_TPREL_LO16 (50)
-ELF-MIPS: Type: R_MIPS_GLOB_DAT (51)
-ELF-MIPS: Type: R_MIPS_COPY (126)
-ELF-MIPS: Type: R_MIPS_JUMP_SLOT (127)
-ELF-MIPS: Type: R_MIPS_NUM (218)
-ELF-MIPS64EL: Type: R_MIPS_NONE/R_MIPS_NONE/R_MIPS_NONE (0)
-ELF-MIPS64EL: Type: R_MIPS_16/R_MIPS_16/R_MIPS_16 (65793)
-ELF-MIPS64EL: Type: R_MIPS_32/R_MIPS_32/R_MIPS_32 (131586)
-ELF-MIPS64EL: Type: R_MIPS_REL32/R_MIPS_REL32/R_MIPS_REL32 (197379)
-ELF-MIPS64EL: Type: R_MIPS_26/R_MIPS_26/R_MIPS_26 (263172)
-ELF-MIPS64EL: Type: R_MIPS_HI16/R_MIPS_HI16/R_MIPS_HI16 (328965)
-ELF-MIPS64EL: Type: R_MIPS_LO16/R_MIPS_LO16/R_MIPS_LO16 (394758)
-ELF-MIPS64EL: Type: R_MIPS_GPREL16/R_MIPS_GPREL16/R_MIPS_GPREL16 (460551)
-ELF-MIPS64EL: Type: R_MIPS_LITERAL/R_MIPS_LITERAL/R_MIPS_LITERAL (526344)
-ELF-MIPS64EL: Type: R_MIPS_GOT16/R_MIPS_GOT16/R_MIPS_GOT16 (592137)
-ELF-MIPS64EL: Type: R_MIPS_PC16/R_MIPS_PC16/R_MIPS_PC16 (657930)
-ELF-MIPS64EL: Type: R_MIPS_CALL16/R_MIPS_CALL16/R_MIPS_CALL16 (723723)
-ELF-MIPS64EL: Type: R_MIPS_GPREL32/R_MIPS_GPREL32/R_MIPS_GPREL32 (789516)
-ELF-MIPS64EL: Type: R_MIPS_SHIFT5/R_MIPS_SHIFT5/R_MIPS_SHIFT5 (1052688)
-ELF-MIPS64EL: Type: R_MIPS_SHIFT6/R_MIPS_SHIFT6/R_MIPS_SHIFT6 (1118481)
-ELF-MIPS64EL: Type: R_MIPS_64/R_MIPS_64/R_MIPS_64 (1184274)
-ELF-MIPS64EL: Type: R_MIPS_GOT_DISP/R_MIPS_GOT_DISP/R_MIPS_GOT_DISP (1250067)
-ELF-MIPS64EL: Type: R_MIPS_GOT_PAGE/R_MIPS_GOT_PAGE/R_MIPS_GOT_PAGE (1315860)
-ELF-MIPS64EL: Type: R_MIPS_GOT_OFST/R_MIPS_GOT_OFST/R_MIPS_GOT_OFST (1381653)
-ELF-MIPS64EL: Type: R_MIPS_GOT_HI16/R_MIPS_GOT_HI16/R_MIPS_GOT_HI16 (1447446)
-ELF-MIPS64EL: Type: R_MIPS_GOT_LO16/R_MIPS_GOT_LO16/R_MIPS_GOT_LO16 (1513239)
-ELF-MIPS64EL: Type: R_MIPS_SUB/R_MIPS_SUB/R_MIPS_SUB (1579032)
-ELF-MIPS64EL: Type: R_MIPS_INSERT_A/R_MIPS_INSERT_A/R_MIPS_INSERT_A (1644825)
-ELF-MIPS64EL: Type: R_MIPS_INSERT_B/R_MIPS_INSERT_B/R_MIPS_INSERT_B (1710618)
-ELF-MIPS64EL: Type: R_MIPS_DELETE/R_MIPS_DELETE/R_MIPS_DELETE (1776411)
-ELF-MIPS64EL: Type: R_MIPS_HIGHER/R_MIPS_HIGHER/R_MIPS_HIGHER (1842204)
-ELF-MIPS64EL: Type: R_MIPS_HIGHEST/R_MIPS_HIGHEST/R_MIPS_HIGHEST (1907997)
-ELF-MIPS64EL: Type: R_MIPS_CALL_HI16/R_MIPS_CALL_HI16/R_MIPS_CALL_HI16 (1973790)
-ELF-MIPS64EL: Type: R_MIPS_CALL_LO16/R_MIPS_CALL_LO16/R_MIPS_CALL_LO16 (2039583)
-ELF-MIPS64EL: Type: R_MIPS_SCN_DISP/R_MIPS_SCN_DISP/R_MIPS_SCN_DISP (2105376)
-ELF-MIPS64EL: Type: R_MIPS_REL16/R_MIPS_REL16/R_MIPS_REL16 (2171169)
-ELF-MIPS64EL: Type: R_MIPS_ADD_IMMEDIATE/R_MIPS_ADD_IMMEDIATE/R_MIPS_ADD_IMMEDIATE (2236962)
-ELF-MIPS64EL: Type: R_MIPS_PJUMP/R_MIPS_PJUMP/R_MIPS_PJUMP (2302755)
-ELF-MIPS64EL: Type: R_MIPS_RELGOT/R_MIPS_RELGOT/R_MIPS_RELGOT (2368548)
-ELF-MIPS64EL: Type: R_MIPS_JALR/R_MIPS_JALR/R_MIPS_JALR (2434341)
-ELF-MIPS64EL: Type: R_MIPS_TLS_DTPMOD32/R_MIPS_TLS_DTPMOD32/R_MIPS_TLS_DTPMOD32 (2500134)
-ELF-MIPS64EL: Type: R_MIPS_TLS_DTPREL32/R_MIPS_TLS_DTPREL32/R_MIPS_TLS_DTPREL32 (2565927)
-ELF-MIPS64EL: Type: R_MIPS_TLS_DTPMOD64/R_MIPS_TLS_DTPMOD64/R_MIPS_TLS_DTPMOD64 (2631720)
-ELF-MIPS64EL: Type: R_MIPS_TLS_DTPREL64/R_MIPS_TLS_DTPREL64/R_MIPS_TLS_DTPREL64 (2697513)
-ELF-MIPS64EL: Type: R_MIPS_TLS_GD/R_MIPS_TLS_GD/R_MIPS_TLS_GD (2763306)
-ELF-MIPS64EL: Type: R_MIPS_TLS_LDM/R_MIPS_TLS_LDM/R_MIPS_TLS_LDM (2829099)
-ELF-MIPS64EL: Type: R_MIPS_TLS_DTPREL_HI16/R_MIPS_TLS_DTPREL_HI16/R_MIPS_TLS_DTPREL_HI16 (2894892)
-ELF-MIPS64EL: Type: R_MIPS_TLS_DTPREL_LO16/R_MIPS_TLS_DTPREL_LO16/R_MIPS_TLS_DTPREL_LO16 (2960685)
-ELF-MIPS64EL: Type: R_MIPS_TLS_GOTTPREL/R_MIPS_TLS_GOTTPREL/R_MIPS_TLS_GOTTPREL (3026478)
-ELF-MIPS64EL: Type: R_MIPS_TLS_TPREL32/R_MIPS_TLS_TPREL32/R_MIPS_TLS_TPREL32 (3092271)
-ELF-MIPS64EL: Type: R_MIPS_TLS_TPREL64/R_MIPS_TLS_TPREL64/R_MIPS_TLS_TPREL64 (3158064)
-ELF-MIPS64EL: Type: R_MIPS_TLS_TPREL_HI16/R_MIPS_TLS_TPREL_HI16/R_MIPS_TLS_TPREL_HI16 (3223857)
-ELF-MIPS64EL: Type: R_MIPS_TLS_TPREL_LO16/R_MIPS_TLS_TPREL_LO16/R_MIPS_TLS_TPREL_LO16 (3289650)
-ELF-MIPS64EL: Type: R_MIPS_GLOB_DAT/R_MIPS_GLOB_DAT/R_MIPS_GLOB_DAT (3355443)
-ELF-MIPS64EL: Type: R_MIPS_COPY/R_MIPS_COPY/R_MIPS_COPY (8289918)
-ELF-MIPS64EL: Type: R_MIPS_JUMP_SLOT/R_MIPS_JUMP_SLOT/R_MIPS_JUMP_SLOT (8355711)
-ELF-MIPS64EL: Type: R_MIPS_NUM/R_MIPS_NUM/R_MIPS_NUM (14342874)
-
-ELF-HEXAGON: Type: R_HEX_NONE (0)
-ELF-HEXAGON: Type: R_HEX_B22_PCREL (1)
-ELF-HEXAGON: Type: R_HEX_B15_PCREL (2)
-ELF-HEXAGON: Type: R_HEX_B7_PCREL (3)
-ELF-HEXAGON: Type: R_HEX_LO16 (4)
-ELF-HEXAGON: Type: R_HEX_HI16 (5)
-ELF-HEXAGON: Type: R_HEX_32 (6)
-ELF-HEXAGON: Type: R_HEX_16 (7)
-ELF-HEXAGON: Type: R_HEX_8 (8)
-ELF-HEXAGON: Type: R_HEX_GPREL16_0 (9)
-ELF-HEXAGON: Type: R_HEX_GPREL16_1 (10)
-ELF-HEXAGON: Type: R_HEX_GPREL16_2 (11)
-ELF-HEXAGON: Type: R_HEX_GPREL16_3 (12)
-ELF-HEXAGON: Type: R_HEX_HL16 (13)
-ELF-HEXAGON: Type: R_HEX_B13_PCREL (14)
-ELF-HEXAGON: Type: R_HEX_B9_PCREL (15)
-ELF-HEXAGON: Type: R_HEX_B32_PCREL_X (16)
-ELF-HEXAGON: Type: R_HEX_32_6_X (17)
-ELF-HEXAGON: Type: R_HEX_B22_PCREL_X (18)
-ELF-HEXAGON: Type: R_HEX_B15_PCREL_X (19)
-ELF-HEXAGON: Type: R_HEX_B13_PCREL_X (20)
-ELF-HEXAGON: Type: R_HEX_B9_PCREL_X (21)
-ELF-HEXAGON: Type: R_HEX_B7_PCREL_X (22)
-ELF-HEXAGON: Type: R_HEX_16_X (23)
-ELF-HEXAGON: Type: R_HEX_12_X (24)
-ELF-HEXAGON: Type: R_HEX_11_X (25)
-ELF-HEXAGON: Type: R_HEX_10_X (26)
-ELF-HEXAGON: Type: R_HEX_9_X (27)
-ELF-HEXAGON: Type: R_HEX_8_X (28)
-ELF-HEXAGON: Type: R_HEX_7_X (29)
-ELF-HEXAGON: Type: R_HEX_6_X (30)
-ELF-HEXAGON: Type: R_HEX_32_PCREL (31)
-ELF-HEXAGON: Type: R_HEX_COPY (32)
-ELF-HEXAGON: Type: R_HEX_GLOB_DAT (33)
-ELF-HEXAGON: Type: R_HEX_JMP_SLOT (34)
-ELF-HEXAGON: Type: R_HEX_RELATIVE (35)
-ELF-HEXAGON: Type: R_HEX_PLT_B22_PCREL (36)
-ELF-HEXAGON: Type: R_HEX_GOTREL_LO16 (37)
-ELF-HEXAGON: Type: R_HEX_GOTREL_HI16 (38)
-ELF-HEXAGON: Type: R_HEX_GOTREL_32 (39)
-ELF-HEXAGON: Type: R_HEX_GOT_LO16 (40)
-ELF-HEXAGON: Type: R_HEX_GOT_HI16 (41)
-ELF-HEXAGON: Type: R_HEX_GOT_32 (42)
-ELF-HEXAGON: Type: R_HEX_GOT_16 (43)
-ELF-HEXAGON: Type: R_HEX_DTPMOD_32 (44)
-ELF-HEXAGON: Type: R_HEX_DTPREL_LO16 (45)
-ELF-HEXAGON: Type: R_HEX_DTPREL_HI16 (46)
-ELF-HEXAGON: Type: R_HEX_DTPREL_32 (47)
-ELF-HEXAGON: Type: R_HEX_DTPREL_16 (48)
-ELF-HEXAGON: Type: R_HEX_GD_PLT_B22_PCREL (49)
-ELF-HEXAGON: Type: R_HEX_GD_GOT_LO16 (50)
-ELF-HEXAGON: Type: R_HEX_GD_GOT_HI16 (51)
-ELF-HEXAGON: Type: R_HEX_GD_GOT_32 (52)
-ELF-HEXAGON: Type: R_HEX_GD_GOT_16 (53)
-ELF-HEXAGON: Type: R_HEX_IE_LO16 (54)
-ELF-HEXAGON: Type: R_HEX_IE_HI16 (55)
-ELF-HEXAGON: Type: R_HEX_IE_32 (56)
-ELF-HEXAGON: Type: R_HEX_IE_GOT_LO16 (57)
-ELF-HEXAGON: Type: R_HEX_IE_GOT_HI16 (58)
-ELF-HEXAGON: Type: R_HEX_IE_GOT_32 (59)
-ELF-HEXAGON: Type: R_HEX_IE_GOT_16 (60)
-ELF-HEXAGON: Type: R_HEX_TPREL_LO16 (61)
-ELF-HEXAGON: Type: R_HEX_TPREL_HI16 (62)
-ELF-HEXAGON: Type: R_HEX_TPREL_32 (63)
-ELF-HEXAGON: Type: R_HEX_TPREL_16 (64)
-ELF-HEXAGON: Type: R_HEX_6_PCREL_X (65)
-ELF-HEXAGON: Type: R_HEX_GOTREL_32_6_X (66)
-ELF-HEXAGON: Type: R_HEX_GOTREL_16_X (67)
-ELF-HEXAGON: Type: R_HEX_GOTREL_11_X (68)
-ELF-HEXAGON: Type: R_HEX_GOT_32_6_X (69)
-ELF-HEXAGON: Type: R_HEX_GOT_16_X (70)
-ELF-HEXAGON: Type: R_HEX_GOT_11_X (71)
-ELF-HEXAGON: Type: R_HEX_DTPREL_32_6_X (72)
-ELF-HEXAGON: Type: R_HEX_DTPREL_16_X (73)
-ELF-HEXAGON: Type: R_HEX_DTPREL_11_X (74)
-ELF-HEXAGON: Type: R_HEX_GD_GOT_32_6_X (75)
-ELF-HEXAGON: Type: R_HEX_GD_GOT_16_X (76)
-ELF-HEXAGON: Type: R_HEX_GD_GOT_11_X (77)
-ELF-HEXAGON: Type: R_HEX_IE_32_6_X (78)
-ELF-HEXAGON: Type: R_HEX_IE_16_X (79)
-ELF-HEXAGON: Type: R_HEX_IE_GOT_32_6_X (80)
-ELF-HEXAGON: Type: R_HEX_IE_GOT_16_X (81)
-ELF-HEXAGON: Type: R_HEX_IE_GOT_11_X (82)
-ELF-HEXAGON: Type: R_HEX_TPREL_32_6_X (83)
-ELF-HEXAGON: Type: R_HEX_TPREL_16_X (84)
-ELF-HEXAGON: Type: R_HEX_TPREL_11_X (85)
-
-COFF-32: Type: IMAGE_REL_I386_ABSOLUTE (0)
-COFF-32: Type: IMAGE_REL_I386_DIR16 (1)
-COFF-32: Type: IMAGE_REL_I386_REL16 (2)
-COFF-32: Type: IMAGE_REL_I386_DIR32 (6)
-COFF-32: Type: IMAGE_REL_I386_DIR32NB (7)
-COFF-32: Type: IMAGE_REL_I386_SEG12 (9)
-COFF-32: Type: IMAGE_REL_I386_SECTION (10)
-COFF-32: Type: IMAGE_REL_I386_SECREL (11)
-COFF-32: Type: IMAGE_REL_I386_TOKEN (12)
-COFF-32: Type: IMAGE_REL_I386_SECREL7 (13)
-COFF-32: Type: IMAGE_REL_I386_REL32 (20)
-
-COFF-64: Type: IMAGE_REL_AMD64_ABSOLUTE (0)
-COFF-64: Type: IMAGE_REL_AMD64_ADDR64 (1)
-COFF-64: Type: IMAGE_REL_AMD64_ADDR32 (2)
-COFF-64: Type: IMAGE_REL_AMD64_ADDR32NB (3)
-COFF-64: Type: IMAGE_REL_AMD64_REL32 (4)
-COFF-64: Type: IMAGE_REL_AMD64_REL32_1 (5)
-COFF-64: Type: IMAGE_REL_AMD64_REL32_2 (6)
-COFF-64: Type: IMAGE_REL_AMD64_REL32_3 (7)
-COFF-64: Type: IMAGE_REL_AMD64_REL32_4 (8)
-COFF-64: Type: IMAGE_REL_AMD64_REL32_5 (9)
-COFF-64: Type: IMAGE_REL_AMD64_SECTION (10)
-COFF-64: Type: IMAGE_REL_AMD64_SECREL (11)
-COFF-64: Type: IMAGE_REL_AMD64_SECREL7 (12)
-COFF-64: Type: IMAGE_REL_AMD64_TOKEN (13)
-COFF-64: Type: IMAGE_REL_AMD64_SREL32 (14)
-COFF-64: Type: IMAGE_REL_AMD64_PAIR (15)
-COFF-64: Type: IMAGE_REL_AMD64_SSPAN32 (16)
-
-COFF-ARM: Type: IMAGE_REL_ARM_ABSOLUTE (0x0000)
-COFF-ARM: Type: IMAGE_REL_ARM_ADDR32 (0x0001)
-COFF-ARM: Type: IMAGE_REL_ARM_ADDR32NB (0x0002)
-COFF-ARM: Type: IMAGE_REL_ARM_BRANCH24 (0x0003)
-COFF-ARM: Type: IMAGE_REL_ARM_BRANCH11 (0x0004)
-COFF-ARM: Type: IMAGE_REL_ARM_TOKEN (0x0005)
-COFF-ARM: Type: IMAGE_REL_ARM_BLX24 (0x0008)
-COFF-ARM: Type: IMAGE_REL_ARM_BLX11 (0x0009)
-COFF-ARM: Type: IMAGE_REL_ARM_SECTION (0x000E)
-COFF-ARM: Type: IMAGE_REL_ARM_SECREL (0x000F)
-COFF-ARM: Type: IMAGE_REL_ARM_MOV32A (0x0010)
-COFF-ARM: Type: IMAGE_REL_ARM_MOV32T (0x0011)
-COFF-ARM: Type: IMAGE_REL_ARM_BRANCH20T (0x0012)
-COFF-ARM: Type: IMAGE_REL_ARM_BRANCH24T (0x0014)
-COFF-ARM: Type: IMAGE_REL_ARM_BLX23T (0x0015)
-
-MACHO-32: Type: GENERIC_RELOC_VANILLA (0)
-MACHO-32: Type: GENERIC_RELOC_PAIR (1)
-MACHO-32: Type: GENERIC_RELOC_SECTDIFF (2)
-MACHO-32: Type: GENERIC_RELOC_PB_LA_PTR (3)
-MACHO-32: Type: GENERIC_RELOC_LOCAL_SECTDIFF (4)
-MACHO-32: Type: GENERIC_RELOC_TLV (5)
-
-MACHO-64: Type: X86_64_RELOC_UNSIGNED (0)
-MACHO-64: Type: X86_64_RELOC_SIGNED (1)
-MACHO-64: Type: X86_64_RELOC_BRANCH (2)
-MACHO-64: Type: X86_64_RELOC_GOT_LOAD (3)
-MACHO-64: Type: X86_64_RELOC_GOT (4)
-MACHO-64: Type: X86_64_RELOC_SUBTRACTOR (5)
-MACHO-64: Type: X86_64_RELOC_SIGNED_1 (6)
-MACHO-64: Type: X86_64_RELOC_SIGNED_2 (7)
-MACHO-64: Type: X86_64_RELOC_SIGNED_4 (8)
-MACHO-64: Type: X86_64_RELOC_TLV (9)
-
-MACHO-ARM: Type: ARM_RELOC_VANILLA (0)
-MACHO-ARM: Type: ARM_RELOC_PAIR (1)
-MACHO-ARM: Type: ARM_RELOC_SECTDIFF (2)
-MACHO-ARM: Type: ARM_RELOC_LOCAL_SECTDIFF (3)
-MACHO-ARM: Type: ARM_RELOC_PB_LA_PTR (4)
-MACHO-ARM: Type: ARM_RELOC_BR24 (5)
-MACHO-ARM: Type: ARM_THUMB_RELOC_BR22 (6)
-MACHO-ARM: Type: ARM_THUMB_32BIT_BRANCH (7)
-MACHO-ARM: Type: ARM_RELOC_HALF (8)
-MACHO-ARM: Type: ARM_RELOC_HALF_SECTDIFF (9)
-
-MACHO-PPC: PPC_RELOC_VANILLA (0)
-MACHO-PPC: PPC_RELOC_PAIR (1)
-MACHO-PPC: PPC_RELOC_BR14 (2)
-MACHO-PPC: PPC_RELOC_BR24 (3)
-MACHO-PPC: PPC_RELOC_HI16 (4)
-MACHO-PPC: PPC_RELOC_LO16 (5)
-MACHO-PPC: PPC_RELOC_HA16 (6)
-MACHO-PPC: PPC_RELOC_LO14 (7)
-MACHO-PPC: PPC_RELOC_SECTDIFF (8)
-MACHO-PPC: PPC_RELOC_PB_LA_PTR (9)
-MACHO-PPC: PPC_RELOC_HI16_SECTDIFF (10)
-MACHO-PPC: PPC_RELOC_LO16_SECTDIFF (11)
-MACHO-PPC: PPC_RELOC_HA16_SECTDIFF (12)
-MACHO-PPC: PPC_RELOC_JBSR (13)
-MACHO-PPC: PPC_RELOC_LO14_SECTDIFF (14)
-MACHO-PPC: PPC_RELOC_LOCAL_SECTDIFF (15)