llvm-for-llvmta/test/tools/llvm-objdump/X86/elf-disassemble-symbol-labe...

58 lines
1.7 KiB
Plaintext
Raw Normal View History

2022-04-25 10:02:23 +02:00
## 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