elf-disassemble-symbol-labels-exec.test
1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
## Show which labels are printed in disassembly of an executable.
# RUN: yaml2obj %s -o %t
# RUN: llvm-objdump %t -d | FileCheck %s --implicit-check-not=stt_section \
# RUN: --implicit-check-not=fourth \
# RUN: --implicit-check-not=absolute \
# RUN: --implicit-check-not=other
# Match this line so the implicit check-nots don't match the path.
# CHECK: {{^.*}}file format ELF64-x86-64
# CHECK: 0000000000004000 first:
# CHECK: 0000000000004001 second:
# CHECK: 0000000000004002 third:
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_X86_64
Sections:
- Name: .text
Type: SHT_PROGBITS
Address: 0x4000
Flags: [SHF_ALLOC, SHF_EXECINSTR]
Content: '9090909090'
- Name: .text2
Type: SHT_PROGBITS
Address: 0x4004
Flags: [SHF_ALLOC, SHF_EXECINSTR]
Size: 0
Symbols:
- Name: first # Shows, with second, that symbol sizes are not used to delineate functions.
Value: 0x4000
Section: .text
Size: 0x2
- Name: second
Value: 0x4001
Size: 0x1
Section: .text
- Name: third # Shows, with fourth, that first symbol is picked.
Value: 0x4002
Section: .text
- Name: fourth
Value: 0x4002
Section: .text
- Name: stt_section # Shows that STT_SECTION symbols are ignored even if no other symbol present.
Value: 0x4003
Type: STT_SECTION
Section: .text
- Name: absolute # Show that absolute symbols are ignored.
Value: 0x4004
Index: SHN_ABS
- Name: other # Show that symbols from other sections are ignored.
Value: 0x4004
Section: .text2