## 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-prefix=LLVM # RUN: llvm-readelf -r --expand-relocs %t-i386.o | FileCheck %s --check-prefix=GNU # LLVM: Type: R_386_NONE (0) # LLVM: Type: R_386_32 (1) # LLVM: Type: R_386_PC32 (2) # LLVM: Type: R_386_GOT32 (3) # LLVM: Type: R_386_PLT32 (4) # LLVM: Type: R_386_COPY (5) # LLVM: Type: R_386_GLOB_DAT (6) # LLVM: Type: R_386_JUMP_SLOT (7) # LLVM: Type: R_386_RELATIVE (8) # LLVM: Type: R_386_GOTOFF (9) # LLVM: Type: R_386_GOTPC (10) # LLVM: Type: R_386_32PLT (11) # LLVM: Type: R_386_TLS_TPOFF (14) # LLVM: Type: R_386_TLS_IE (15) # LLVM: Type: R_386_TLS_GOTIE (16) # LLVM: Type: R_386_TLS_LE (17) # LLVM: Type: R_386_TLS_GD (18) # LLVM: Type: R_386_TLS_LDM (19) # LLVM: Type: R_386_16 (20) # LLVM: Type: R_386_PC16 (21) # LLVM: Type: R_386_8 (22) # LLVM: Type: R_386_PC8 (23) # LLVM: Type: R_386_TLS_GD_32 (24) # LLVM: Type: R_386_TLS_GD_PUSH (25) # LLVM: Type: R_386_TLS_GD_CALL (26) # LLVM: Type: R_386_TLS_GD_POP (27) # LLVM: Type: R_386_TLS_LDM_32 (28) # LLVM: Type: R_386_TLS_LDM_PUSH (29) # LLVM: Type: R_386_TLS_LDM_CALL (30) # LLVM: Type: R_386_TLS_LDM_POP (31) # LLVM: Type: R_386_TLS_LDO_32 (32) # LLVM: Type: R_386_TLS_IE_32 (33) # LLVM: Type: R_386_TLS_LE_32 (34) # LLVM: Type: R_386_TLS_DTPMOD32 (35) # LLVM: Type: R_386_TLS_DTPOFF32 (36) # LLVM: Type: R_386_TLS_TPOFF32 (37) # LLVM: Type: R_386_TLS_GOTDESC (39) # LLVM: Type: R_386_TLS_DESC_CALL (40) # LLVM: Type: R_386_TLS_DESC (41) # LLVM: Type: R_386_IRELATIVE (42) # LLVM: Type: R_386_GOT32X (43) # GNU: Relocation section '.rel.text' at offset 0x34 contains 41 entries: # GNU-NEXT: Offset Info Type Sym. Value Symbol's Name # GNU-NEXT: 00000002 00000100 R_386_NONE 00000000 foo # GNU-NEXT: 00000008 00000101 R_386_32 00000000 foo # GNU-NEXT: 0000000e 00000102 R_386_PC32 00000000 foo # GNU-NEXT: 00000014 00000103 R_386_GOT32 00000000 foo # GNU-NEXT: 0000001a 00000104 R_386_PLT32 00000000 foo # GNU-NEXT: 00000020 00000105 R_386_COPY 00000000 foo # GNU-NEXT: 00000026 00000106 R_386_GLOB_DAT 00000000 foo # GNU-NEXT: 0000002c 00000107 R_386_JUMP_SLOT 00000000 foo # GNU-NEXT: 00000032 00000108 R_386_RELATIVE 00000000 foo # GNU-NEXT: 00000038 00000109 R_386_GOTOFF 00000000 foo # GNU-NEXT: 0000003e 0000010a R_386_GOTPC 00000000 foo # GNU-NEXT: 00000044 0000010b R_386_32PLT 00000000 foo # GNU-NEXT: 0000004a 0000010e R_386_TLS_TPOFF 00000000 foo # GNU-NEXT: 00000050 0000010f R_386_TLS_IE 00000000 foo # GNU-NEXT: 00000056 00000110 R_386_TLS_GOTIE 00000000 foo # GNU-NEXT: 0000005c 00000111 R_386_TLS_LE 00000000 foo # GNU-NEXT: 00000062 00000112 R_386_TLS_GD 00000000 foo # GNU-NEXT: 00000068 00000113 R_386_TLS_LDM 00000000 foo # GNU-NEXT: 0000006e 00000114 R_386_16 00000000 foo # GNU-NEXT: 00000074 00000115 R_386_PC16 00000000 foo # GNU-NEXT: 0000007a 00000116 R_386_8 00000000 foo # GNU-NEXT: 00000080 00000117 R_386_PC8 00000000 foo # GNU-NEXT: 00000086 00000118 R_386_TLS_GD_32 00000000 foo # GNU-NEXT: 0000008c 00000119 R_386_TLS_GD_PUSH 00000000 foo # GNU-NEXT: 00000092 0000011a R_386_TLS_GD_CALL 00000000 foo # GNU-NEXT: 00000098 0000011b R_386_TLS_GD_POP 00000000 foo # GNU-NEXT: 0000009e 0000011c R_386_TLS_LDM_32 00000000 foo # GNU-NEXT: 000000a4 0000011d R_386_TLS_LDM_PUSH 00000000 foo # GNU-NEXT: 000000aa 0000011e R_386_TLS_LDM_CALL 00000000 foo # GNU-NEXT: 000000b0 0000011f R_386_TLS_LDM_POP 00000000 foo # GNU-NEXT: 000000b6 00000120 R_386_TLS_LDO_32 00000000 foo # GNU-NEXT: 000000bc 00000121 R_386_TLS_IE_32 00000000 foo # GNU-NEXT: 000000c2 00000122 R_386_TLS_LE_32 00000000 foo # GNU-NEXT: 000000c8 00000123 R_386_TLS_DTPMOD32 00000000 foo # GNU-NEXT: 000000ce 00000124 R_386_TLS_DTPOFF32 00000000 foo # GNU-NEXT: 000000d4 00000125 R_386_TLS_TPOFF32 00000000 foo # GNU-NEXT: 000000da 00000127 R_386_TLS_GOTDESC 00000000 foo # GNU-NEXT: 000000e0 00000128 R_386_TLS_DESC_CALL 00000000 foo # GNU-NEXT: 000000e6 00000129 R_386_TLS_DESC 00000000 foo # GNU-NEXT: 000000ec 0000012a R_386_IRELATIVE 00000000 foo # GNU-NEXT: 000000f2 0000012b R_386_GOT32X 00000000 foo --- !ELF FileHeader: Class: ELFCLASS32 Data: ELFDATA2LSB Type: ET_REL Machine: EM_386 Sections: - Name: .rel.text Type: SHT_REL Link: .symtab Relocations: - Offset: 0x0000000000000002 Type: R_386_NONE Symbol: foo - Offset: 0x0000000000000008 Type: R_386_32 Symbol: foo - Offset: 0x000000000000000E Type: R_386_PC32 Symbol: foo - Offset: 0x0000000000000014 Type: R_386_GOT32 Symbol: foo - Offset: 0x000000000000001A Type: R_386_PLT32 Symbol: foo - Offset: 0x0000000000000020 Type: R_386_COPY Symbol: foo - Offset: 0x0000000000000026 Type: R_386_GLOB_DAT Symbol: foo - Offset: 0x000000000000002C Type: R_386_JUMP_SLOT Symbol: foo - Offset: 0x0000000000000032 Type: R_386_RELATIVE Symbol: foo - Offset: 0x0000000000000038 Type: R_386_GOTOFF Symbol: foo - Offset: 0x000000000000003E Type: R_386_GOTPC Symbol: foo - Offset: 0x0000000000000044 Type: R_386_32PLT Symbol: foo - Offset: 0x000000000000004A Type: R_386_TLS_TPOFF Symbol: foo - Offset: 0x0000000000000050 Type: R_386_TLS_IE Symbol: foo - Offset: 0x0000000000000056 Type: R_386_TLS_GOTIE Symbol: foo - Offset: 0x000000000000005C Type: R_386_TLS_LE Symbol: foo - Offset: 0x0000000000000062 Type: R_386_TLS_GD Symbol: foo - Offset: 0x0000000000000068 Type: R_386_TLS_LDM Symbol: foo - Offset: 0x000000000000006E Type: R_386_16 Symbol: foo - Offset: 0x0000000000000074 Type: R_386_PC16 Symbol: foo - Offset: 0x000000000000007A Type: R_386_8 Symbol: foo - Offset: 0x0000000000000080 Type: R_386_PC8 Symbol: foo - Offset: 0x0000000000000086 Type: R_386_TLS_GD_32 Symbol: foo - Offset: 0x000000000000008C Type: R_386_TLS_GD_PUSH Symbol: foo - Offset: 0x0000000000000092 Type: R_386_TLS_GD_CALL Symbol: foo - Offset: 0x0000000000000098 Type: R_386_TLS_GD_POP Symbol: foo - Offset: 0x000000000000009E Type: R_386_TLS_LDM_32 Symbol: foo - Offset: 0x00000000000000A4 Type: R_386_TLS_LDM_PUSH Symbol: foo - Offset: 0x00000000000000AA Type: R_386_TLS_LDM_CALL Symbol: foo - Offset: 0x00000000000000B0 Type: R_386_TLS_LDM_POP Symbol: foo - Offset: 0x00000000000000B6 Type: R_386_TLS_LDO_32 Symbol: foo - Offset: 0x00000000000000BC Type: R_386_TLS_IE_32 Symbol: foo - Offset: 0x00000000000000C2 Type: R_386_TLS_LE_32 Symbol: foo - Offset: 0x00000000000000C8 Type: R_386_TLS_DTPMOD32 Symbol: foo - Offset: 0x00000000000000CE Type: R_386_TLS_DTPOFF32 Symbol: foo - Offset: 0x00000000000000D4 Type: R_386_TLS_TPOFF32 Symbol: foo - Offset: 0x00000000000000DA Type: R_386_TLS_GOTDESC Symbol: foo - Offset: 0x00000000000000E0 Type: R_386_TLS_DESC_CALL Symbol: foo - Offset: 0x00000000000000E6 Type: R_386_TLS_DESC Symbol: foo - Offset: 0x00000000000000EC Type: R_386_IRELATIVE Symbol: foo - Offset: 0x00000000000000F2 Type: R_386_GOT32X Symbol: foo Symbols: - Name: foo Binding: STB_GLOBAL