| ## Show that dumping occurs even if there is no PT_DYNAMIC header. |
| ## This is inconsistent with the GNU behavior, but seems to be more reasonable. |
| # RUN: yaml2obj %s -o %t.no-phdr |
| # RUN: llvm-readobj --dynamic-table %t.no-phdr | FileCheck %s --check-prefix=LLVM |
| # RUN: llvm-readelf --dynamic-table %t.no-phdr | FileCheck %s --check-prefix=GNU |
| |
| # LLVM: File: {{.*}}.no-phdr |
| # LLVM-NEXT: Format: ELF64-x86-64 |
| # LLVM-NEXT: Arch: x86_64 |
| # LLVM-NEXT: AddressSize: 64bit |
| # LLVM-NEXT: LoadName:{{ *}} |
| # LLVM-NEXT: DynamicSection [ (1 entries) |
| # LLVM-NEXT: Tag Type Name/Value |
| # LLVM-NEXT: 0x0000000000000000 NULL 0x0 |
| # LLVM-NEXT: ] |
| |
| # GNU: Dynamic section at offset 0x78 contains 1 entries: |
| # GNU-NEXT: Tag Type Name/Value |
| # GNU-NEXT: 0x0000000000000000 (NULL) 0x0 |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_EXEC |
| Machine: EM_X86_64 |
| Sections: |
| - Name: .dynamic |
| Type: SHT_DYNAMIC |
| Address: 0x1000 |
| Entries: |
| - Tag: DT_NULL |
| Value: 0 |
| ProgramHeaders: |
| - Type: PT_LOAD |
| VAddr: 0x1000 |
| Sections: |
| - Section: .dynamic |