66 lines
1.9 KiB
Plaintext
66 lines
1.9 KiB
Plaintext
## Check that with ELF input --private-headers outputs the program header,
|
|
## dynamic section and version definitions.
|
|
# RUN: yaml2obj %s -o %t
|
|
# RUN: llvm-objdump --private-headers %t | FileCheck %s
|
|
|
|
# CHECK: Program Header:
|
|
# CHECK-NEXT: LOAD off 0x00000000000000b0 vaddr 0x0000000000001000 paddr 0x0000000000001000 align 2**0
|
|
# CHECK-NEXT: filesz 0x000000000000003d memsz 0x000000000000003d flags ---
|
|
# CHECK-NEXT: DYNAMIC off 0x00000000000000cd vaddr 0x000000000000101d paddr 0x000000000000101d align 2**0
|
|
# CHECK-NEXT: filesz 0x0000000000000020 memsz 0x0000000000000020 flags ---
|
|
# CHECK: Dynamic Section:
|
|
# CHECK-NEXT: NEEDED bar
|
|
# CHECK: Version definitions:
|
|
# CHECK-NEXT: 1 0x01 0x075bcd15 foo
|
|
# CHECK-NEXT: 2 0x02 0x3ade68b1 VERSION_1
|
|
# CHECK-NEXT: VERSION_2
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_EXEC
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .dynstr
|
|
Type: SHT_STRTAB
|
|
Address: 0x1000
|
|
Content: "0062617200666F6F0056455253494F4E5F320056455253494F4E5F3100"
|
|
# Content is: bar, foo, VERSION_2, VERSION_1
|
|
- Name: .dynamic
|
|
Type: SHT_DYNAMIC
|
|
Flags: [ SHF_ALLOC ]
|
|
Entries:
|
|
- Tag: DT_NEEDED
|
|
Value: 0x1
|
|
- Tag: DT_NULL
|
|
Value: 0x0
|
|
- Name: .gnu.version_d
|
|
Type: SHT_GNU_verdef
|
|
Entries:
|
|
- Version: 1
|
|
Flags: 1
|
|
VersionNdx: 1
|
|
Hash: 123456789
|
|
Names:
|
|
- foo
|
|
- Version: 1
|
|
Flags: 2
|
|
VersionNdx: 2
|
|
Hash: 987654321
|
|
Names:
|
|
- VERSION_1
|
|
- VERSION_2
|
|
ProgramHeaders:
|
|
- Type: PT_LOAD
|
|
VAddr: 0x1000
|
|
FirstSec: .dynstr
|
|
LastSec: .dynamic
|
|
- Type: PT_DYNAMIC
|
|
VAddr: 0x101D
|
|
FirstSec: .dynamic
|
|
LastSec: .dynamic
|
|
DynamicSymbols:
|
|
- Name: bar
|
|
Binding: STB_GLOBAL
|