[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / tools / llvm-objdump / X86 / elf-disassemble-symbol-references.yaml
blobd627b207a23dacdff95ef52c5008f572d52b0cc0
1 ## Show that references in disassembly are labelled with the correct symbol.
2 # RUN: yaml2obj %s --docnum=1 -o %t
3 # RUN: llvm-objdump %t -d | FileCheck %s --check-prefix=EXEC
5 # EXEC: Disassembly of section .text1:
6 # EXEC:     4000: e8 00 00 00 00                callq   0 <third>
7 # EXEC: Disassembly of section .text2:
8 # EXEC:     4005: e8 12 34 56 78                callq   2018915346 <fourth+0x78563412>
10 --- !ELF
11 FileHeader:
12   Class:   ELFCLASS64
13   Data:    ELFDATA2LSB
14   Type:    ET_EXEC
15   Machine: EM_X86_64
16 Sections:
17   - Name:    .text1
18     Type:    SHT_PROGBITS
19     Address: 0x4000
20     Flags:   [SHF_ALLOC, SHF_EXECINSTR]
21     Content: 'e800000000' # Case 1: Referencing an address with a symbol.
22   - Name:    .text2
23     Type:    SHT_PROGBITS
24     Flags:   [SHF_ALLOC, SHF_EXECINSTR]
25     Address: 0x4005
26     Content: 'e812345678' # Case 2: Referencing an address without a symbol.
27   - Name:    .text3
28     Type:    SHT_PROGBITS
29     Flags:   [SHF_ALLOC, SHF_EXECINSTR]
30     Address: 0x400A
31 Symbols:
32   - Name:    first
33     Section: .text1
34     Value:   0x4000
35   - Name:    second
36     Section: .text1
37     Value:   0x4005
38   - Name:    third
39     Section: .text2
40     Value:   0x4005
41   - Name:    fourth
42     Section: .text3
43     Value:   0x400A
45 # RUN: yaml2obj %s --docnum=2 -o %t.o
46 # RUN: llvm-objdump %t.o -d | FileCheck %s --check-prefix=REL
48 # REL:      Disassembly of section .text1:
49 # REL-EMPTY:
50 # REL-NEXT: 0000000000000000 .text1:
51 # REL-NEXT:        0: e8 00 00 00 00                callq   0 <.text1+0x5>
52 # REL-EMPTY:
53 # REL-NEXT: Disassembly of section .text2:
54 # REL-EMPTY:
55 # REL-NEXT: 0000000000000000 .text2:
56 # REL-NEXT:        0: e8 00 00 00 00                callq   0 <sym2>
57 # REL-EMPTY:
58 # REL-NEXT: Disassembly of section .text3:
59 # REL-EMPTY:
60 # REL-NEXT: 0000000000000000 .text3:
61 # REL-NEXT:        0: e8 00 00 00 00                callq   0 <.text3+0x5>
63 --- !ELF
64 FileHeader:
65   Class:   ELFCLASS64
66   Data:    ELFDATA2LSB
67   Type:    ET_REL
68   Machine: EM_X86_64
69 Sections:
70   - Name:    .text1
71     Type:    SHT_PROGBITS
72     Flags:   [SHF_ALLOC, SHF_EXECINSTR]
73     Content: 'e800000000' # Case 1: Instruction is patched by a relocation.
74   - Name:    .rela.text1
75     Type:    SHT_RELA
76     Info:    .text1
77     Relocations:
78       - Offset: 1
79         Type:   R_X86_64_PC32
80         Symbol: sym3
81   - Name:    .text2
82     Type:    SHT_PROGBITS
83     Flags:   [SHF_ALLOC, SHF_EXECINSTR]
84     Content: 'e800000000' # Case 2: Referencing an address with a matching symbol in that section.
85   - Name:    .text3
86     Type:    SHT_PROGBITS
87     Flags:   [SHF_ALLOC, SHF_EXECINSTR]
88     Content: 'e800000000' # Case 3: Referencing an address without a matching symbol in that section.
89   - Name:    .other
90     Type:    SHT_PROGBITS
91 Symbols:
92   # Shouldn't be picked, despite matching value, as not in right section.
93   - Name:    sym1
94     Section: .other
95     Value:   5
96   # Symbol in correct section, with right value should be picked for disassembly of .text2.
97   - Name:    sym2
98     Section: .text2
99     Value:   5
100   # Symbol referenced by relocation could be picked for disassembly of .text1, but isn't.
101   - Name:    sym3