diff options
| author | Fangrui Song <maskray@google.com> | 2019-09-14 01:36:31 +0000 |
|---|---|---|
| committer | Fangrui Song <maskray@google.com> | 2019-09-14 01:36:31 +0000 |
| commit | 2f519d7072bf48a81985fadc2dc145296d612223 (patch) | |
| tree | 8d0ca4b9f00f4d5b80e4023592951eeb3da84d39 /llvm/test/tools/llvm-objcopy/ELF/binary-input-error.test | |
| parent | ba53030dd0938902dd858f7eac45732295e74120 (diff) | |
| download | bcm5719-llvm-2f519d7072bf48a81985fadc2dc145296d612223.tar.gz bcm5719-llvm-2f519d7072bf48a81985fadc2dc145296d612223.zip | |
[llvm-objcopy] Ignore -B --binary-architecture=
GNU objcopy documents that -B is only useful with architecture-less
input (i.e. "binary" or "ihex"). After D67144, -O defaults to -I, and
-B is essentially a NOP.
* If -O is binary/ihex, GNU objcopy ignores -B.
* If -O is elf*, -B provides the e_machine field in GNU objcopy.
So to convert a blob to an ELF, `-I binary -B i386:x86-64 -O elf64-x86-64` has to be specified.
`-I binary -B i386:x86-64 -O elf64-x86-64` creates an ELF with its
e_machine field set to EM_NONE in GNU objcopy, but a regular x86_64 ELF
in elftoolchain elfcopy. Follow the elftoolchain approach (ignoring -B)
to simplify code. Users that expect their command line portable should
specify -B.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D67215
llvm-svn: 371914
Diffstat (limited to 'llvm/test/tools/llvm-objcopy/ELF/binary-input-error.test')
| -rw-r--r-- | llvm/test/tools/llvm-objcopy/ELF/binary-input-error.test | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/test/tools/llvm-objcopy/ELF/binary-input-error.test b/llvm/test/tools/llvm-objcopy/ELF/binary-input-error.test index d0dd50a4194..40ce3edce01 100644 --- a/llvm/test/tools/llvm-objcopy/ELF/binary-input-error.test +++ b/llvm/test/tools/llvm-objcopy/ELF/binary-input-error.test @@ -1,6 +1,4 @@ # RUN: echo abcd > %t.txt -# RUN: not llvm-objcopy -I binary -B xyz %t.txt %t.o 2>&1 \ -# RUN: | FileCheck %s --check-prefix=BAD-BINARY-ARCH - -# BAD-BINARY-ARCH: invalid architecture: 'xyz' +## -B is ignored. +# RUN: llvm-objcopy -I binary -B xyz %t.txt %t.o |

