Summary: The -O flag is currently being mostly ignored; it's only checked whether or not the output format is "binary". This adds support for a few formats (e.g. elf64-x86-64), so that when specified, the output can change between 32/64 bit and sizes/alignments are updated accordingly. This fixes PR39135 Reviewers: jakehehrlich, jhenderson, alexshap, espindola Reviewed By: jhenderson Subscribers: emaste, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D53667 llvm-svn: 350541
21 lines
693 B
Plaintext
21 lines
693 B
Plaintext
# RUN: echo -n abcd > %t.x-txt
|
|
# Preserve input to verify it is not modified.
|
|
# RUN: cp %t.x-txt %t-copy.txt
|
|
# RUN: llvm-objcopy -I binary -B i386 -O elf64-x86-64 %t.x-txt %t.o
|
|
# RUN: llvm-readobj --file-headers %t.o | FileCheck %s
|
|
# RUN: cmp %t.x-txt %t-copy.txt
|
|
|
|
# Many uses of objcopy use no spaces in the flags, make sure that also works.
|
|
# RUN: llvm-objcopy -Ibinary -Bi386 -Oelf64-x86-64 %t.x-txt %t-no-spaces.o
|
|
# RUN: cmp %t.o %t-no-spaces.o
|
|
|
|
# CHECK: Format: ELF64-x86-64
|
|
# CHECK-NEXT: Arch: x86_64
|
|
# CHECK-NEXT: AddressSize: 64bit
|
|
|
|
# CHECK: Class: 64-bit
|
|
# CHECK: DataEncoding: LittleEndian
|
|
# CHECK: Machine: EM_X86_64
|
|
# CHECK: HeaderSize: 64
|
|
# CHECK: SectionHeaderEntrySize: 64
|