[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / tools / llvm-objdump / X86 / elf-disassemble-relocs.test
blob593735a6a10267263c033a930cac3f673b4d37d2
1 ## Show that --disassemble + --reloc prints relocations inline and does not dump
2 ## the relocation sections.
4 # RUN: yaml2obj %s --docnum=1 -o %t1.o
5 # RUN: llvm-objdump %t1.o -d -r | FileCheck %s --implicit-check-not="RELOCATION RECORDS"
7 # CHECK:      0: e8 00 00 00 00                callq   0x5 <.text+0x5>
8 # CHECK-NEXT:          0000000000000001:  R_X86_64_PC32        foo-0x4
9 # CHECK-NEXT:          0000000000000002:  R_X86_64_NONE        bar+0x8
10 # CHECK-NEXT: 5: e8 00 00 00 00                callq   0xa <.text+0xa>
11 # CHECK-NEXT:          0000000000000006:  R_X86_64_PLT32       foo+0x1
13 --- !ELF
14 FileHeader:
15   Class:   ELFCLASS64
16   Data:    ELFDATA2LSB
17   Type:    ET_REL
18   Machine: EM_X86_64
19 Sections:
20   - Name:    .text
21     Type:    SHT_PROGBITS
22     Flags:   [SHF_ALLOC, SHF_EXECINSTR]
23     Content: 'e800000000e800000000'
24   - Name:    .rela.text
25     Type:    SHT_RELA
26     Info:    .text
27     Relocations:
28       - Offset: 1
29         Symbol: foo
30         Type:   R_X86_64_PC32
31         Addend: -4
32       - Offset: 2
33         Symbol: bar
34         Type:   R_X86_64_NONE
35         Addend: 8
36       - Offset: 6
37         Symbol: foo
38         Type:   R_X86_64_PLT32
39         Addend: 1
40 Symbols:
41   - Name: foo
42   - Name: bar
44 ## Check we report an error if the relocated section identified by the
45 ## sh_info field of a relocation section is invalid.
47 # RUN: yaml2obj %s --docnum=2 -o %t2.o
48 # RUN: not llvm-objdump %t2.o -d --reloc 2>&1 | FileCheck %s -DFILE=%t2.o --check-prefix=ERR
50 # ERR: error: '[[FILE]]': section (1): failed to get a relocated section: invalid section index: 255
52 --- !ELF
53 FileHeader:
54   Class:   ELFCLASS64
55   Data:    ELFDATA2LSB
56   Type:    ET_REL
57   Machine: EM_X86_64
58 Sections:
59 - Name: .rela.debug_info
60   Type: SHT_RELA
61   Link: 0
62   Info: 0xFF
63   Relocations: []
65 ## Check ranges of addends being displayed in a dump of relocations mixed with disassembly.
66 # RUN: yaml2obj --docnum=3 %s -o %t3
67 # RUN: llvm-objdump -d -r %t3 | FileCheck %s --check-prefix=ADDENDS
69 # ADDENDS: Disassembly of section .text:
70 # ADDENDS: R_X86_64_64 glob-0x8000000000000000
71 # ADDENDS: R_X86_64_64 glob+0x7fffffffffffffff
72 # ADDENDS: R_X86_64_64 glob-0x1
73 # ADDENDS: R_X86_64_64 glob+0x12345678
74 # ADDENDS: R_X86_64_64 glob{{$}}
76 --- !ELF
77 FileHeader:
78   Class:   ELFCLASS64
79   Data:    ELFDATA2LSB
80   Type:    ET_REL
81   Machine: EM_X86_64
82 Sections:
83 - Name:  .text
84   Type:  SHT_PROGBITS
85   Size:  8
86   Flags: [SHF_EXECINSTR,SHF_ALLOC]
87 - Name: .rela.text
88   Type: SHT_RELA
89   Info: .text
90   Relocations:
91     - Offset: 0x0
92       Addend: -9223372036854775808
93       Symbol: glob
94       Type:   R_X86_64_64
95     - Offset: 0x1
96       Symbol: glob
97       Type:   R_X86_64_64
98       Addend: 9223372036854775807
99     - Offset: 0x2
100       Symbol: glob
101       Type:   R_X86_64_64
102       Addend: -1
103     - Offset: 0x3
104       Symbol: glob
105       Type:   R_X86_64_64
106       Addend: 0x12345678
107     - Offset: 0x4
108       Symbol: glob
109       Type:   R_X86_64_64
110       Addend: 0
111 Symbols:
112   - Name:    glob
113     Section: .text
114     Value:   0x0
115     Size:    0
116     Binding: STB_GLOBAL