mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-29 03:36:06 +00:00

Summary: GNU objdump prints the file format in lowercase, e.g. `elf64-x86-64`. llvm-objdump prints `ELF64-x86-64` right now, even though piping that into llvm-objcopy refuses that as a valid arch to use. As an example of a problem this causes, see: https://github.com/ClangBuiltLinux/linux/issues/779 Reviewers: MaskRay, jhenderson, alexshap Reviewed By: MaskRay Subscribers: tpimh, sbc100, grimar, jvesely, nhaehnle, kerbowa, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D74433
71 lines
2.0 KiB
Plaintext
71 lines
2.0 KiB
Plaintext
# RUN: yaml2obj %s -o %t.o
|
|
# RUN: llvm-objdump --file-headers --private-headers --section-headers --syms \
|
|
# RUN: --full-contents --dwarf=frames \
|
|
# RUN: --reloc %t.o | FileCheck %s --check-prefixes=CHECK,RELOC
|
|
# RUN: llvm-objdump --file-headers --private-headers --section-headers --syms \
|
|
# RUN: --full-contents --dwarf=frames \
|
|
# RUN: --disassemble %t.o | FileCheck %s --check-prefixes=CHECK,DISASM
|
|
|
|
## Test the ordering of most of the output. Note that --disassemble suppresses
|
|
## --reloc, so we test them independently.
|
|
|
|
## File headers (-f)
|
|
# CHECK: file format elf64-x86-64
|
|
# CHECK: architecture: x86_64
|
|
# CHECK: start address: 0x0000000000000000
|
|
## Private headers (-p)
|
|
# CHECK: Program Header:
|
|
# CHECK: Dynamic Section:
|
|
## Section headers (-h)
|
|
# CHECK: Sections:
|
|
## Symbol table (-t)
|
|
# CHECK: SYMBOL TABLE:
|
|
## DWARF contents:
|
|
# CHECK: .eh_frame contents:
|
|
## Relocations (-r)
|
|
# RELOC: RELOCATION RECORDS FOR [.text]:
|
|
## Section contents (-s)
|
|
# CHECK: Contents of section .rel.text:
|
|
# CHECK: Contents of section .dynamic:
|
|
# CHECK: Contents of section .symtab:
|
|
# CHECK: Contents of section .strtab:
|
|
# CHECK: Contents of section .shstrtab:
|
|
## Disassembly (-d)
|
|
# DISASM: Disassembly of section .text:
|
|
|
|
!ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .text
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
|
Content: e800000000e800000000
|
|
- Name: .rel.text
|
|
Type: SHT_REL
|
|
Info: .text
|
|
Relocations:
|
|
- Offset: 0x1
|
|
Symbol: foo
|
|
Type: R_X86_64_32
|
|
- Name: .dynamic
|
|
Type: SHT_DYNAMIC
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
EntSize: 0x0000000000000010
|
|
Entries:
|
|
- Tag: DT_INIT
|
|
Value: 0x00000000000006A0
|
|
- Tag: DT_NULL
|
|
Value: 0x0000000000000000
|
|
- Name: .eh_frame
|
|
Type: SHT_X86_64_UNWIND
|
|
Flags: [ SHF_ALLOC ]
|
|
AddressAlign: 0x0000000000000001
|
|
Content: 00000000
|
|
Symbols:
|
|
- Name: foo
|
|
Section: .text
|