1# RUN: yaml2obj %s -o %t 2# RUN: llvm-objdump --all-headers %t | FileCheck %s 3# RUN: llvm-objdump -x %t | FileCheck %s 4 5## Note: --all-headers (-x) is an alias for --archive-headers --file-headers 6## --section-headers --private-headers --reloc --syms (-afhprt). Test for them 7## in the following order which provides GNU objdump compatability. 8 9# CHECK: file format elf64-x86-64 10# CHECK-NEXT: architecture: x86_64 11# CHECK-NEXT: start address: 0x0000000000000000 12# CHECK-EMPTY: 13# CHECK-NEXT: Program Header: 14# CHECK-EMPTY: 15# CHECK-NEXT: Dynamic Section: 16# CHECK: INIT 17# CHECK-EMPTY: 18# CHECK-NEXT: Sections: 19# CHECK: 6 .shstrtab 0000002e 0000000000000000 20# CHECK-EMPTY: 21# CHECK-NEXT: SYMBOL TABLE: 22# CHECK-NEXT: 0000000000000000 l .text 0000000000000000 foo 23# CHECK-EMPTY: 24# CHECK-NEXT: RELOCATION RECORDS FOR [.text]: 25 26## Check how we dump the archives. 27## Check we dump the appropriate headers for each file in the archive. 28 29# RUN: cp %t %t2 30# RUN: rm -f %t.a 31# RUN: llvm-ar rcs %t.a %t %t2 32# RUN: llvm-objdump --all-headers %t.a | FileCheck %s --check-prefix=ARCHIVE 33 34# ARCHIVE: {{.*}}.a({{.*}}): file format elf64-x86-64 35# ARCHIVE: rw-r--r-- 36# ARCHIVE: architecture: x86_64 37# ARCHIVE: start address: 0x0000000000000000 38# ARCHIVE: Program Header: 39# ARCHIVE: Dynamic Section: 40# ARCHIVE: Sections: 41# ARCHIVE: SYMBOL TABLE: 42# ARCHIVE: RELOCATION RECORDS FOR [.text]: 43# ARCHIVE: {{.*}}.a({{.*}}2): file format elf64-x86-64 44# ARCHIVE: rw-r--r-- 45# ARCHIVE: architecture: x86_64 46# ARCHIVE: start address: 0x0000000000000000 47# ARCHIVE: Program Header: 48# ARCHIVE: Dynamic Section: 49# ARCHIVE: Sections: 50# ARCHIVE: SYMBOL TABLE: 51# ARCHIVE: RELOCATION RECORDS FOR [.text]: 52 53!ELF 54FileHeader: 55 Class: ELFCLASS64 56 Data: ELFDATA2LSB 57 Type: ET_REL 58 Machine: EM_X86_64 59Sections: 60 - Name: .text 61 Type: SHT_PROGBITS 62 - Name: .rel.text 63 Type: SHT_REL 64 Info: .text 65 Relocations: 66 - Offset: 0x1 67 Symbol: foo 68 Type: R_X86_64_32 69 - Name: .dynamic 70 Type: SHT_DYNAMIC 71 Flags: [ SHF_WRITE, SHF_ALLOC ] 72 EntSize: 0x0000000000000010 73 Entries: 74 - Tag: DT_INIT 75 Value: 0x00000000000006A0 76 - Tag: DT_NULL 77 Value: 0x0000000000000000 78Symbols: 79 - Name: foo 80 Section: .text 81