155c81d42SFangrui Song# RUN: yaml2obj %s -o %t.o 2d84e9427SJordan Rupprecht# RUN: llvm-objdump --file-headers --private-headers --section-headers --syms \ 3d84e9427SJordan Rupprecht# RUN: --full-contents --dwarf=frames \ 4d84e9427SJordan Rupprecht# RUN: --reloc %t.o | FileCheck %s --check-prefixes=CHECK,RELOC 5d84e9427SJordan Rupprecht# RUN: llvm-objdump --file-headers --private-headers --section-headers --syms \ 6d84e9427SJordan Rupprecht# RUN: --full-contents --dwarf=frames \ 7d84e9427SJordan Rupprecht# RUN: --disassemble %t.o | FileCheck %s --check-prefixes=CHECK,DISASM 8d84e9427SJordan Rupprecht 9d84e9427SJordan Rupprecht## Test the ordering of most of the output. Note that --disassemble suppresses 10d84e9427SJordan Rupprecht## --reloc, so we test them independently. 11d84e9427SJordan Rupprecht 12d84e9427SJordan Rupprecht## File headers (-f) 13*60a8a504SJordan Rupprecht# CHECK: file format elf64-x86-64 14d84e9427SJordan Rupprecht# CHECK: architecture: x86_64 15d84e9427SJordan Rupprecht# CHECK: start address: 0x0000000000000000 16d84e9427SJordan Rupprecht## Private headers (-p) 17d84e9427SJordan Rupprecht# CHECK: Program Header: 18d84e9427SJordan Rupprecht# CHECK: Dynamic Section: 19d84e9427SJordan Rupprecht## Section headers (-h) 20d84e9427SJordan Rupprecht# CHECK: Sections: 21d84e9427SJordan Rupprecht## Symbol table (-t) 22d84e9427SJordan Rupprecht# CHECK: SYMBOL TABLE: 23d84e9427SJordan Rupprecht## DWARF contents: 24d84e9427SJordan Rupprecht# CHECK: .eh_frame contents: 25d84e9427SJordan Rupprecht## Relocations (-r) 26d84e9427SJordan Rupprecht# RELOC: RELOCATION RECORDS FOR [.text]: 27d84e9427SJordan Rupprecht## Section contents (-s) 28d84e9427SJordan Rupprecht# CHECK: Contents of section .rel.text: 29d84e9427SJordan Rupprecht# CHECK: Contents of section .dynamic: 30d84e9427SJordan Rupprecht# CHECK: Contents of section .symtab: 31d84e9427SJordan Rupprecht# CHECK: Contents of section .strtab: 32d84e9427SJordan Rupprecht# CHECK: Contents of section .shstrtab: 33d84e9427SJordan Rupprecht## Disassembly (-d) 34d84e9427SJordan Rupprecht# DISASM: Disassembly of section .text: 35d84e9427SJordan Rupprecht 36d84e9427SJordan Rupprecht!ELF 37d84e9427SJordan RupprechtFileHeader: 38d84e9427SJordan Rupprecht Class: ELFCLASS64 39d84e9427SJordan Rupprecht Data: ELFDATA2LSB 40d84e9427SJordan Rupprecht Type: ET_REL 41d84e9427SJordan Rupprecht Machine: EM_X86_64 42d84e9427SJordan RupprechtSections: 43d84e9427SJordan Rupprecht - Name: .text 44d84e9427SJordan Rupprecht Type: SHT_PROGBITS 45d84e9427SJordan Rupprecht Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 46d84e9427SJordan Rupprecht Content: e800000000e800000000 47d84e9427SJordan Rupprecht - Name: .rel.text 48d84e9427SJordan Rupprecht Type: SHT_REL 49d84e9427SJordan Rupprecht Info: .text 50d84e9427SJordan Rupprecht Relocations: 51d84e9427SJordan Rupprecht - Offset: 0x1 52d84e9427SJordan Rupprecht Symbol: foo 53d84e9427SJordan Rupprecht Type: R_X86_64_32 54d84e9427SJordan Rupprecht - Name: .dynamic 55d84e9427SJordan Rupprecht Type: SHT_DYNAMIC 56d84e9427SJordan Rupprecht Flags: [ SHF_WRITE, SHF_ALLOC ] 57d84e9427SJordan Rupprecht EntSize: 0x0000000000000010 58d84e9427SJordan Rupprecht Entries: 59d84e9427SJordan Rupprecht - Tag: DT_INIT 60d84e9427SJordan Rupprecht Value: 0x00000000000006A0 61d84e9427SJordan Rupprecht - Tag: DT_NULL 62d84e9427SJordan Rupprecht Value: 0x0000000000000000 63d84e9427SJordan Rupprecht - Name: .eh_frame 64d84e9427SJordan Rupprecht Type: SHT_X86_64_UNWIND 65d84e9427SJordan Rupprecht Flags: [ SHF_ALLOC ] 66d84e9427SJordan Rupprecht AddressAlign: 0x0000000000000001 67d84e9427SJordan Rupprecht Content: 00000000 68d84e9427SJordan RupprechtSymbols: 69d84e9427SJordan Rupprecht - Name: foo 70d84e9427SJordan Rupprecht Section: .text 71