[test] Use yaml2obj -o %t instead of > %t

To improve consistency and avoid unneeded shell feature (output
redirection).

While here, make other changes to improve consistency

--docnum 1 => --docnum=1
-docnum=x => --docnum=x
diff --git a/llvm/test/tools/llvm-objcopy/COFF/add-gnu-debuglink.test b/llvm/test/tools/llvm-objcopy/COFF/add-gnu-debuglink.test
index 7afe4cd..b8d80d9 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/add-gnu-debuglink.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/add-gnu-debuglink.test
@@ -1,4 +1,4 @@
-RUN: yaml2obj %p/Inputs/x86_64-exe.yaml > %t.in123.exe
+RUN: yaml2obj %p/Inputs/x86_64-exe.yaml -o %t.in123.exe
 
 # Using a debuglink filename with a length that is a multiple of 4, to
 # showcase padding in CONTENTS below.
diff --git a/llvm/test/tools/llvm-objcopy/COFF/add-section.test b/llvm/test/tools/llvm-objcopy/COFF/add-section.test
index a82756e..e4938db 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/add-section.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/add-section.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 
 ## Test that llvm-objcopy adds a section to the given object with expected
 ## contents.
@@ -35,7 +35,7 @@
 ## Test that llvm-objcopy can add a section to an object with extended
 ## relocations.
 # RUN: %python %p/../Inputs/ungzip.py %p/Inputs/x86_64-obj-xrelocs.yaml.gz > %t.xrelocs.yaml
-# RUN: yaml2obj %t.xrelocs.yaml > %t.xrelocs.obj
+# RUN: yaml2obj %t.xrelocs.yaml -o %t.xrelocs.obj
 # RUN: llvm-objcopy --add-section=.test.section=%t.sec %t.xrelocs.obj %t1.xrelocs.obj
 # RUN: llvm-readobj --file-headers --sections --section-data %t1.xrelocs.obj | FileCheck %s --check-prefixes=CHECK-EXTENDED-RELOCS
 
diff --git a/llvm/test/tools/llvm-objcopy/COFF/basic-copy.test b/llvm/test/tools/llvm-objcopy/COFF/basic-copy.test
index ecdf430..351cd00 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/basic-copy.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/basic-copy.test
@@ -17,31 +17,31 @@
 - Alignment of section data
 - Checksums
 
-RUN: yaml2obj %p/Inputs/i386-obj.yaml > %t.i386.o
+RUN: yaml2obj %p/Inputs/i386-obj.yaml -o %t.i386.o
 RUN: llvm-objcopy %t.i386.o %t.i386-copy.o
 RUN: obj2yaml %t.i386.o > %t.i386.o.yaml
 RUN: obj2yaml %t.i386-copy.o > %t.i386-copy.o.yaml
 RUN: cmp %t.i386.o.yaml %t.i386-copy.o.yaml
 
-RUN: yaml2obj %p/Inputs/x86_64-obj.yaml > %t.x86_64.o
+RUN: yaml2obj %p/Inputs/x86_64-obj.yaml -o %t.x86_64.o
 RUN: llvm-objcopy %t.x86_64.o %t.x86_64-copy.o
 RUN: obj2yaml %t.x86_64.o > %t.x86_64.o.yaml
 RUN: obj2yaml %t.x86_64-copy.o > %t.x86_64-copy.o.yaml
 RUN: cmp %t.x86_64.o.yaml %t.x86_64-copy.o.yaml
 
-RUN: yaml2obj %p/Inputs/i386-exe.yaml > %t.i386.exe
+RUN: yaml2obj %p/Inputs/i386-exe.yaml -o %t.i386.exe
 RUN: llvm-objcopy %t.i386.exe %t.i386-copy.exe
 RUN: obj2yaml %t.i386.exe > %t.i386.exe.yaml
 RUN: obj2yaml %t.i386-copy.exe > %t.i386-copy.exe.yaml
 RUN: cmp %t.i386.exe.yaml %t.i386-copy.exe.yaml
 
-RUN: yaml2obj %p/Inputs/x86_64-exe.yaml > %t.x86_64.exe
+RUN: yaml2obj %p/Inputs/x86_64-exe.yaml -o %t.x86_64.exe
 RUN: llvm-objcopy %t.x86_64.exe %t.x86_64-copy.exe
 RUN: obj2yaml %t.x86_64.exe > %t.x86_64.exe.yaml
 RUN: obj2yaml %t.x86_64-copy.exe > %t.x86_64-copy.exe.yaml
 RUN: cmp %t.x86_64.exe.yaml %t.x86_64-copy.exe.yaml
 
-RUN: yaml2obj %p/Inputs/no-symbols.yaml > %t.no-symbols.o
+RUN: yaml2obj %p/Inputs/no-symbols.yaml -o %t.no-symbols.o
 RUN: llvm-objcopy %t.no-symbols.o %t.no-symbols-copy.o
 RUN: obj2yaml %t.no-symbols.o > %t.no-symbols.o.yaml
 RUN: obj2yaml %t.no-symbols-copy.o > %t.no-symbols-copy.o.yaml
diff --git a/llvm/test/tools/llvm-objcopy/COFF/discard-all.test b/llvm/test/tools/llvm-objcopy/COFF/discard-all.test
index 5d7d5ce..1576fa9 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/discard-all.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/discard-all.test
@@ -1,4 +1,4 @@
-RUN: yaml2obj %p/Inputs/discard-locals.yaml > %t.in.o
+RUN: yaml2obj %p/Inputs/discard-locals.yaml -o %t.in.o
 
 RUN: llvm-objdump -t %t.in.o | FileCheck %s --check-prefixes=SYMBOLS,SYMBOLS-PRE
 
diff --git a/llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test b/llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
index c2a6afe..66cdeea 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
@@ -1,4 +1,4 @@
-RUN: yaml2obj %p/Inputs/only-keep-sections.yaml > %t.in.exe
+RUN: yaml2obj %p/Inputs/only-keep-sections.yaml -o %t.in.exe
 
 RUN: llvm-objcopy --only-keep-debug %t.in.exe %t.out.exe
 RUN: llvm-readobj --sections %t.out.exe | FileCheck %s --check-prefix=SECTIONS
diff --git a/llvm/test/tools/llvm-objcopy/COFF/only-section.test b/llvm/test/tools/llvm-objcopy/COFF/only-section.test
index 42492ed..8610828 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/only-section.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/only-section.test
@@ -1,4 +1,4 @@
-RUN: yaml2obj %p/Inputs/only-keep-sections.yaml > %t.in.exe
+RUN: yaml2obj %p/Inputs/only-keep-sections.yaml -o %t.in.exe
 
 RUN: llvm-objcopy --only-section .debug_discardable %t.in.exe %t.out.exe
 RUN: llvm-objdump --section-headers -t %t.out.exe | FileCheck %s --check-prefixes=SECTIONS,SECTIONS-DEBUG,SYMBOLS,SYMBOLS-DEBUG
diff --git a/llvm/test/tools/llvm-objcopy/COFF/patch-debug-dir.test b/llvm/test/tools/llvm-objcopy/COFF/patch-debug-dir.test
index 82af183..19685be 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/patch-debug-dir.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/patch-debug-dir.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t.in.exe
+# RUN: yaml2obj %s -o %t.in.exe
 
 # RUN: llvm-objdump -s %t.in.exe | FileCheck %s --check-prefixes=CONTENTS,CONTENTS-PRE
 # RUN: llvm-readobj --sections %t.in.exe | FileCheck %s --check-prefixes=SECTIONS,SECTIONS-PRE
diff --git a/llvm/test/tools/llvm-objcopy/COFF/remove-section.test b/llvm/test/tools/llvm-objcopy/COFF/remove-section.test
index 58ff574..0649291 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/remove-section.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/remove-section.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t.in.o
+# RUN: yaml2obj %s -o %t.in.o
 #
 # RUN: llvm-objdump -section-headers %t.in.o | FileCheck %s --check-prefixes=SECTIONS-PRE
 # RUN: llvm-objdump -t %t.in.o | FileCheck %s --check-prefixes=SYMBOLS-PRE
diff --git a/llvm/test/tools/llvm-objcopy/COFF/strip-all.test b/llvm/test/tools/llvm-objcopy/COFF/strip-all.test
index 5e3ed9c..e85aee8 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/strip-all.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/strip-all.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t.in.o
+# RUN: yaml2obj %s -o %t.in.o
 
 # RUN: llvm-objdump -t %t.in.o | FileCheck %s --check-prefixes=SYMBOLS,SYMBOLS-PRE
 
diff --git a/llvm/test/tools/llvm-objcopy/COFF/strip-debug.test b/llvm/test/tools/llvm-objcopy/COFF/strip-debug.test
index 97fa96a..924a4d3 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/strip-debug.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/strip-debug.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t.in.o
+# RUN: yaml2obj %s -o %t.in.o
 #
 # RUN: llvm-objdump --section-headers %t.in.o | FileCheck %s --check-prefixes=SECTIONS,SECTIONS-PRE
 # RUN: llvm-objdump -t %t.in.o | FileCheck %s --check-prefixes=SYMBOLS,SYMBOLS-PRE
diff --git a/llvm/test/tools/llvm-objcopy/COFF/strip-reloc-symbol.test b/llvm/test/tools/llvm-objcopy/COFF/strip-reloc-symbol.test
index 9be4ab8..d197e64 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/strip-reloc-symbol.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/strip-reloc-symbol.test
@@ -1,4 +1,4 @@
-RUN: yaml2obj %p/Inputs/strip-symbols.yaml > %t.o
+RUN: yaml2obj %p/Inputs/strip-symbols.yaml -o %t.o
 RUN: not llvm-objcopy -N foo %t.o 2>&1 | FileCheck %s --check-prefix=ERROR
 RUN: not llvm-objcopy --strip-symbol foo %t.o 2>&1 | FileCheck %s --check-prefix=ERROR
 
diff --git a/llvm/test/tools/llvm-objcopy/COFF/strip-symbol.test b/llvm/test/tools/llvm-objcopy/COFF/strip-symbol.test
index 5eb6442..ab1251c 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/strip-symbol.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/strip-symbol.test
@@ -1,4 +1,4 @@
-RUN: yaml2obj %p/Inputs/strip-symbols.yaml > %t.in.o
+RUN: yaml2obj %p/Inputs/strip-symbols.yaml -o %t.in.o
 
 RUN: llvm-readobj -r %t.in.o | FileCheck %s --check-prefixes=RELOCS,RELOCS-PRE
 RUN: llvm-objdump -t %t.in.o | FileCheck %s --check-prefixes=SYMBOLS,SYMBOLS-PRE
diff --git a/llvm/test/tools/llvm-objcopy/COFF/strip-unneeded.test b/llvm/test/tools/llvm-objcopy/COFF/strip-unneeded.test
index ca3efe4..d6cfeaa 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/strip-unneeded.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/strip-unneeded.test
@@ -1,4 +1,4 @@
-RUN: yaml2obj %p/Inputs/discard-locals.yaml > %t.in.o
+RUN: yaml2obj %p/Inputs/discard-locals.yaml -o %t.in.o
 
 RUN: llvm-objdump -t %t.in.o | FileCheck %s --check-prefixes=SYMBOLS,SYMBOLS-PRE
 
diff --git a/llvm/test/tools/llvm-objcopy/COFF/weak-external.test b/llvm/test/tools/llvm-objcopy/COFF/weak-external.test
index b5a311f..07e0211 100644
--- a/llvm/test/tools/llvm-objcopy/COFF/weak-external.test
+++ b/llvm/test/tools/llvm-objcopy/COFF/weak-external.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t.in.o
+# RUN: yaml2obj %s -o %t.in.o
 
 # RUN: llvm-objdump -t %t.in.o | FileCheck %s --check-prefixes=SYMBOLS,SYMBOLS-PRE
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/abs-symbol.test b/llvm/test/tools/llvm-objcopy/ELF/abs-symbol.test
index 62c5873..8d86143 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/abs-symbol.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/abs-symbol.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --symbols %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/add-gnu-debuglink.test b/llvm/test/tools/llvm-objcopy/ELF/add-gnu-debuglink.test
index 330571c..b4ac99d 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/add-gnu-debuglink.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/add-gnu-debuglink.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: printf 0000 > %t.blob
 # RUN: llvm-objcopy --add-gnu-debuglink=%t.blob %t %t2
 # RUN: llvm-readobj --sections --section-data %t2 | FileCheck %s
diff --git a/llvm/test/tools/llvm-objcopy/ELF/add-note.test b/llvm/test/tools/llvm-objcopy/ELF/add-note.test
index b456230..84cb7db1 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/add-note.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/add-note.test
@@ -11,7 +11,7 @@
 # RUN: echo -e -n "\x08\x09\x0a\x0b" >> %t-note.bin
 # RUN: echo -e -n "\x0c\x0d\x0e\x0f" >> %t-note.bin
 
-# RUN: yaml2obj %s > %t.o
+# RUN: yaml2obj %s -o %t.o
 # RUN: llvm-objcopy --add-section=.note.gnu.build-id=%t-note.bin %t.o %t-with-note.o
 # RUN: llvm-readobj --notes %t-with-note.o | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/add-section-remove.test b/llvm/test/tools/llvm-objcopy/ELF/add-section-remove.test
index ad41d74..3aaf981 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/add-section-remove.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/add-section-remove.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: echo 0000 > %t.sec
 # RUN: llvm-objcopy -R .test2 --add-section=.test2=%t.sec %t %t2
 # RUN: llvm-readobj --file-headers --sections --section-data %t2 | FileCheck %s
diff --git a/llvm/test/tools/llvm-objcopy/ELF/add-section-special.test b/llvm/test/tools/llvm-objcopy/ELF/add-section-special.test
index e83cd51..3c3cb9f 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/add-section-special.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/add-section-special.test
@@ -2,7 +2,7 @@
 # By default, sections are SHT_PROGBITS, but .note sections (excluding
 # .note.GNU-stack) are SHT_NOTE sections.
 
-# RUN: yaml2obj %s > %t.o
+# RUN: yaml2obj %s -o %t.o
 # RUN: llvm-objcopy --add-section=.foo=/dev/null %t.o %t-foo.o
 # RUN: llvm-objcopy --add-section=.note.foo=/dev/null %t.o %t-regular-note.o
 # RUN: llvm-objcopy --add-section=.note.GNU-stack=/dev/null %t.o %t-gnu-stack.o
diff --git a/llvm/test/tools/llvm-objcopy/ELF/add-section.test b/llvm/test/tools/llvm-objcopy/ELF/add-section.test
index e930d27..290761f 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/add-section.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/add-section.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy -O binary -j .test2 %t %t.sec
 # RUN: llvm-objcopy -R .test2 %t %t2
 # RUN: llvm-objcopy --add-section=.test2=%t.sec %t2 %t3
diff --git a/llvm/test/tools/llvm-objcopy/ELF/armexidx-link.test b/llvm/test/tools/llvm-objcopy/ELF/armexidx-link.test
index 734f436..be4428a 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/armexidx-link.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/armexidx-link.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --remove-section=.text.bar %t %t2
 # RUN: llvm-readobj --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/bad-build-id.test b/llvm/test/tools/llvm-objcopy/ELF/bad-build-id.test
index 13c4b16..7adbd2f 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/bad-build-id.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/bad-build-id.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: not llvm-objcopy --build-id-link-dir=%t-dir --build-id-link-input=.debug %t 2>&1 >/dev/null | FileCheck %s
 
 # CHECK: build ID is smaller than two bytes
diff --git a/llvm/test/tools/llvm-objcopy/ELF/bad-output-format.test b/llvm/test/tools/llvm-objcopy/ELF/bad-output-format.test
index 932584c..df1a446 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/bad-output-format.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/bad-output-format.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t.o
+# RUN: yaml2obj %s -o %t.o
 
 # RUN: not llvm-objcopy -O xyz %t.o %t.2.o 2>&1 \
 # RUN:   | FileCheck %s --check-prefix=BAD-OUTPUT-FORMAT
diff --git a/llvm/test/tools/llvm-objcopy/ELF/basic-archive-copy.test b/llvm/test/tools/llvm-objcopy/ELF/basic-archive-copy.test
index ada1414..89994ad 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/basic-archive-copy.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/basic-archive-copy.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 
 # RUN: rm -f %t.a
 # RUN: llvm-ar crs %t.a %t
diff --git a/llvm/test/tools/llvm-objcopy/ELF/basic-copy.test b/llvm/test/tools/llvm-objcopy/ELF/basic-copy.test
index b6b0bcc..0eacb62 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/basic-copy.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/basic-copy.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/basic-keep.test b/llvm/test/tools/llvm-objcopy/ELF/basic-keep.test
index 8488a26..2790773 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/basic-keep.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/basic-keep.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --strip-non-alloc --keep-section=.test %t %t2
 # RUN: llvm-strip --strip-all --keep-section=.test %t -o %t3
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
diff --git a/llvm/test/tools/llvm-objcopy/ELF/basic-only-section.test b/llvm/test/tools/llvm-objcopy/ELF/basic-only-section.test
index f95ea38..fa959c4 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/basic-only-section.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/basic-only-section.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --only-section=.test %t %t2
 # RUN: llvm-objcopy -j .test %t %t3
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
diff --git a/llvm/test/tools/llvm-objcopy/ELF/basic-relocations.test b/llvm/test/tools/llvm-objcopy/ELF/basic-relocations.test
index ac1831a..9ffe13d 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/basic-relocations.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/basic-relocations.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --relocations %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/build-id-link-dir.test b/llvm/test/tools/llvm-objcopy/ELF/build-id-link-dir.test
index 9fe9a68..c99d0ef 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/build-id-link-dir.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/build-id-link-dir.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: mkdir -p %t-dir
 
 # RUN: llvm-objcopy --build-id-link-dir=%t-dir %t %t2
diff --git a/llvm/test/tools/llvm-objcopy/ELF/cannot-delete-dest.test b/llvm/test/tools/llvm-objcopy/ELF/cannot-delete-dest.test
index 1853049..68e547f 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/cannot-delete-dest.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/cannot-delete-dest.test
@@ -1,5 +1,5 @@
 # REQUIRES: system-windows
-# RUN: yaml2obj %s > %t.o
+# RUN: yaml2obj %s -o %t.o
 # RUN: rm -f %t2.o
 # RUN: cp %t.o %t2.o
 # RUN: attrib +r %t2.o
diff --git a/llvm/test/tools/llvm-objcopy/ELF/common-symbol.test b/llvm/test/tools/llvm-objcopy/ELF/common-symbol.test
index 42d5639..98e73d2 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/common-symbol.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/common-symbol.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --symbols %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/copy-osabi.test b/llvm/test/tools/llvm-objcopy/ELF/copy-osabi.test
index 75a22bc..f53ec72 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/copy-osabi.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/copy-osabi.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --file-headers %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/cross-arch-headers.test b/llvm/test/tools/llvm-objcopy/ELF/cross-arch-headers.test
index 9ebbe12..720dcbf 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/cross-arch-headers.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/cross-arch-headers.test
@@ -2,7 +2,7 @@
 # and DWO output.
 # Note that we don't actually need any DWARF to produce the DWO file.
 
-# RUN: yaml2obj %s > %t.o
+# RUN: yaml2obj %s -o %t.o
 
 # Without --output-format, the format should match the input.
 # RUN: llvm-objcopy %t.o %t.default.o --split-dwo=%t.default.dwo
diff --git a/llvm/test/tools/llvm-objcopy/ELF/cross-arch-sections-symbols.test b/llvm/test/tools/llvm-objcopy/ELF/cross-arch-sections-symbols.test
index d2da14e..937a3e6 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/cross-arch-sections-symbols.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/cross-arch-sections-symbols.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t.o
+# RUN: yaml2obj %s -o %t.o
 # Preserve input to verify it is not modified.
 # RUN: cp %t.o %t-copy.o
 # RUN: llvm-objcopy %t.o -O elf64-x86-64 %t.2.o
diff --git a/llvm/test/tools/llvm-objcopy/ELF/deterministic-archive.test b/llvm/test/tools/llvm-objcopy/ELF/deterministic-archive.test
index fd520fb..b102a41 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/deterministic-archive.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/deterministic-archive.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t.o
+# RUN: yaml2obj %s -o %t.o
 
 # Create an archive, specifying U so that timestamps/etc. are preserved.
 # We only test timestamps as a proxy for full deterministic writing; i.e. we
diff --git a/llvm/test/tools/llvm-objcopy/ELF/discard-all.test b/llvm/test/tools/llvm-objcopy/ELF/discard-all.test
index f27c161..50cad3a 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/discard-all.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/discard-all.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: cp %t %t1
 # RUN: llvm-objcopy --discard-all %t %t2
 # Verify that llvm-objcopy has not modified the input.
diff --git a/llvm/test/tools/llvm-objcopy/ELF/discard-locals-rel.test b/llvm/test/tools/llvm-objcopy/ELF/discard-locals-rel.test
index 5fce41d..3658eb3 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/discard-locals-rel.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/discard-locals-rel.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: not llvm-objcopy --discard-locals %t %t2 2>&1 | FileCheck %s
 
 !ELF
diff --git a/llvm/test/tools/llvm-objcopy/ELF/discard-locals.test b/llvm/test/tools/llvm-objcopy/ELF/discard-locals.test
index ef8a293..4aba1cd 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/discard-locals.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/discard-locals.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: cp %t %t1
 # RUN: llvm-objcopy --discard-locals %t %t2
 # Verify that llvm-objcopy has not modified the input.
diff --git a/llvm/test/tools/llvm-objcopy/ELF/discard-mix-local-and-all.test b/llvm/test/tools/llvm-objcopy/ELF/discard-mix-local-and-all.test
index 8bb39f6..986eb9c 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/discard-mix-local-and-all.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/discard-mix-local-and-all.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # Establish baseline objects for further checks. --discard-locals only discards
 # compiler-generated local symbols (starting with .L), --discard-all discards
 # all regular local symbols.
diff --git a/llvm/test/tools/llvm-objcopy/ELF/dump-section.test b/llvm/test/tools/llvm-objcopy/ELF/dump-section.test
index 1e56c72..176cc79 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/dump-section.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/dump-section.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy -O binary -j .text %t %t2
 # RUN: llvm-objcopy -O binary --only-section .text %t %t3
 # RUN: llvm-objcopy --dump-section .text=%t4 %t %t5
diff --git a/llvm/test/tools/llvm-objcopy/ELF/dynamic-relocations.test b/llvm/test/tools/llvm-objcopy/ELF/dynamic-relocations.test
index 9c4d5b7..000cf56 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/dynamic-relocations.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/dynamic-relocations.test
@@ -1,7 +1,7 @@
 ## Check that llvm-objcopy can handle an object
 ## containing dynamic relocations properly.
 
-# RUN: yaml2obj %s > %t1
+# RUN: yaml2obj %s -o %t1
 # RUN: llvm-objcopy %t1 %t2
 # RUN: llvm-readobj --sections --section-data %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shinfo-reference.test b/llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shinfo-reference.test
index a66b38d..b5fd2ee 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shinfo-reference.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shinfo-reference.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t

+# RUN: yaml2obj %s -o %t

 # RUN: llvm-objcopy -R .got.plt %t %t2

 

 ## .rela.plt is a dynamic relocation section that has a connection

diff --git a/llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shlink-reference.test b/llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shlink-reference.test
index 2ff68de..3cef37d 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shlink-reference.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shlink-reference.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t

+# RUN: yaml2obj %s -o %t

 

 ## Check we cannot remove the .dynsym symbol table because dynamic

 ## relocation section .rela.dyn still references it via sh_link field.

diff --git a/llvm/test/tools/llvm-objcopy/ELF/dynstr.test b/llvm/test/tools/llvm-objcopy/ELF/dynstr.test
index 68ec586..dab78df 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/dynstr.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/dynstr.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --sections --section-data %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/elf32be.test b/llvm/test/tools/llvm-objcopy/ELF/elf32be.test
index 374b799..a5f9738 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/elf32be.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/elf32be.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/elf32le.test b/llvm/test/tools/llvm-objcopy/ELF/elf32le.test
index b2cb40c..0c520e9 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/elf32le.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/elf32le.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/elf64be.test b/llvm/test/tools/llvm-objcopy/ELF/elf64be.test
index 97977b0..fabee53 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/elf64be.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/elf64be.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/empty-section.test b/llvm/test/tools/llvm-objcopy/ELF/empty-section.test
index 5c55383..4216c5d 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/empty-section.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/empty-section.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/explicit-keep-remove.test b/llvm/test/tools/llvm-objcopy/ELF/explicit-keep-remove.test
index 6512afa..60a8855 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/explicit-keep-remove.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/explicit-keep-remove.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy -R=.test --keep-section=.test %t %t2
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/explicit-only-section-remove.test b/llvm/test/tools/llvm-objcopy/ELF/explicit-only-section-remove.test
index 5baf845..d52e344 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/explicit-only-section-remove.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/explicit-only-section-remove.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy -R=.test --only-section=.test %t %t2
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/fail-no-output-directory.test b/llvm/test/tools/llvm-objcopy/ELF/fail-no-output-directory.test
index 0eb39b9..0a1784b 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/fail-no-output-directory.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/fail-no-output-directory.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: not llvm-objcopy %t no/such/dir 2>&1 | FileCheck %s
 # Don't check "No such file" which is OS dependent.
 # CHECK: 'no/such/dir':
diff --git a/llvm/test/tools/llvm-objcopy/ELF/globalize.test b/llvm/test/tools/llvm-objcopy/ELF/globalize.test
index e1dcc04..8869e2d 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/globalize.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/globalize.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --globalize-symbol Global \
 # RUN:   --globalize-symbol Local \
 # RUN:   --globalize-symbol Weak \
diff --git a/llvm/test/tools/llvm-objcopy/ELF/group-addr-misaligned.test b/llvm/test/tools/llvm-objcopy/ELF/group-addr-misaligned.test
index bedef1c..98e8110 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/group-addr-misaligned.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/group-addr-misaligned.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: not llvm-objcopy %t %t2 2>&1 | FileCheck %s
 # CHECK: error: invalid alignment 1 of group section '.group'
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/group-big-endian.test b/llvm/test/tools/llvm-objcopy/ELF/group-big-endian.test
index e76e6e5..b893273 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/group-big-endian.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/group-big-endian.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --remove-section=.text.bar %t %t2
 # RUN: llvm-readobj --elf-section-groups %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/group-reorder.test b/llvm/test/tools/llvm-objcopy/ELF/group-reorder.test
index 25c57be..6e0d4b9 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/group-reorder.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/group-reorder.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t.o
+# RUN: yaml2obj %s -o %t.o
 # RUN: llvm-objcopy %t.o %t.2.o
 # RUN: llvm-readelf --elf-section-groups --sections %t.o | FileCheck %s --check-prefix=IN
 # RUN: llvm-readelf --elf-section-groups --sections %t.2.o | FileCheck %s --check-prefix=OUT
diff --git a/llvm/test/tools/llvm-objcopy/ELF/group-unchanged.test b/llvm/test/tools/llvm-objcopy/ELF/group-unchanged.test
index f5f74b4..e7d9664 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/group-unchanged.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/group-unchanged.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --remove-section=.text.bar %t %t2
 # RUN: llvm-readobj --elf-section-groups %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/group.test b/llvm/test/tools/llvm-objcopy/ELF/group.test
index ea84f25..f82834e 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/group.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/group.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --remove-section=.text.bar %t %t2
 # RUN: llvm-readobj --elf-section-groups %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/hexagon-unsupported-on-x86.test b/llvm/test/tools/llvm-objcopy/ELF/hexagon-unsupported-on-x86.test
index 70a477c..749f6b1 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/hexagon-unsupported-on-x86.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/hexagon-unsupported-on-x86.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: not llvm-objcopy %t %t2 2>&1 >/dev/null | FileCheck %s
 
 !ELF
diff --git a/llvm/test/tools/llvm-objcopy/ELF/keep-file-symbols.test b/llvm/test/tools/llvm-objcopy/ELF/keep-file-symbols.test
index 86674f1..30e4aae 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/keep-file-symbols.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/keep-file-symbols.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --strip-all --keep-file-symbols %t %t2
 # RUN: llvm-readobj --symbols %t2 | FileCheck %s --check-prefix=STRIPALL
 # RUN: llvm-objcopy --keep-file-symbols --strip-symbol foo %t %t2
diff --git a/llvm/test/tools/llvm-objcopy/ELF/keep-global-symbols-mix-globalize.test b/llvm/test/tools/llvm-objcopy/ELF/keep-global-symbols-mix-globalize.test
index 8fecc7a..120b768 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/keep-global-symbols-mix-globalize.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/keep-global-symbols-mix-globalize.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t.o
+# RUN: yaml2obj %s -o %t.o
 
 # Tests --keep-global-symbol when used in combination with --globalize-symbol on
 # a different symbol.
diff --git a/llvm/test/tools/llvm-objcopy/ELF/keep-global-symbols.test b/llvm/test/tools/llvm-objcopy/ELF/keep-global-symbols.test
index cb4d911..a6ba1be 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/keep-global-symbols.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/keep-global-symbols.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t.o
+# RUN: yaml2obj %s -o %t.o
 
 # Tests that only global symbols (via -G/--keep-global-symbols) are kept via
 # the several different variants of -G/--keep-global-symbol(s).
diff --git a/llvm/test/tools/llvm-objcopy/ELF/keep-many.test b/llvm/test/tools/llvm-objcopy/ELF/keep-many.test
index 1abcb16..04649d6 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/keep-many.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/keep-many.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --strip-non-alloc --keep-section=.test --keep-section=.test3 %t %t2
 # RUN: llvm-objcopy --strip-non-alloc --regex --keep-section='^.test[0-9]+$' %t %t3
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
diff --git a/llvm/test/tools/llvm-objcopy/ELF/keep-only-section.test b/llvm/test/tools/llvm-objcopy/ELF/keep-only-section.test
index 75b5bbd..c4c32c6 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/keep-only-section.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/keep-only-section.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --keep-section=.test2 --only-section=.test %t %t2
 # RUN: llvm-objcopy -j .test --keep-section=.test2 %t %t3
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
diff --git a/llvm/test/tools/llvm-objcopy/ELF/keep-symbol-remove-section.test b/llvm/test/tools/llvm-objcopy/ELF/keep-symbol-remove-section.test
index 8b5fc97..ba2f70f 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/keep-symbol-remove-section.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/keep-symbol-remove-section.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --remove-section .text --keep-symbol foo %t %t2
 # RUN: llvm-readobj --symbols %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/keep-symbol.test b/llvm/test/tools/llvm-objcopy/ELF/keep-symbol.test
index 70a59fe..b91510d 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/keep-symbol.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/keep-symbol.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --discard-all -K foo --keep-symbol bar %t %t2
 # RUN: llvm-objcopy -K foo -N foo -N bar --keep-symbol bar -N baz %t %t3
 # RUN: llvm-objcopy --discard-all --regex -K '^ba.*' %t %t4
diff --git a/llvm/test/tools/llvm-objcopy/ELF/localize-hidden.test b/llvm/test/tools/llvm-objcopy/ELF/localize-hidden.test
index fe8639f..ec44063 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/localize-hidden.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/localize-hidden.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --localize-hidden %t %t2
 # RUN: llvm-readobj --relocations --symbols %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/localize.test b/llvm/test/tools/llvm-objcopy/ELF/localize.test
index 820ce1d..8f8106e 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/localize.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/localize.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy \
 # RUN:     --localize-symbol Global \
 # RUN:     -L GlobalUndef \
diff --git a/llvm/test/tools/llvm-objcopy/ELF/no-build-id-no-notes.test b/llvm/test/tools/llvm-objcopy/ELF/no-build-id-no-notes.test
index be266fe..6c3936d 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/no-build-id-no-notes.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/no-build-id-no-notes.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: not llvm-objcopy --build-id-link-dir=%t-dir --build-id-link-input=.debug %t 2>&1 >/dev/null | FileCheck %s
 
 # CHECK: could not find build ID
diff --git a/llvm/test/tools/llvm-objcopy/ELF/no-build-id.test b/llvm/test/tools/llvm-objcopy/ELF/no-build-id.test
index a66af94..93e4a82 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/no-build-id.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/no-build-id.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: not llvm-objcopy --build-id-link-dir=%t-dir --build-id-link-input=.debug %t 2>&1 >/dev/null | FileCheck %s -DINPUT=%t
 
 # CHECK: error: '[[INPUT]]': could not find build ID
diff --git a/llvm/test/tools/llvm-objcopy/ELF/no-symbol-relocation.test b/llvm/test/tools/llvm-objcopy/ELF/no-symbol-relocation.test
index eccc48b..2c6a4b7 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/no-symbol-relocation.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/no-symbol-relocation.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj --docnum=1 %s > %t1
+# RUN: yaml2obj --docnum=1 %s -o %t1
 # RUN: llvm-objcopy %t1 %t2
 # RUN: llvm-readobj --relocations %t2 | FileCheck %s
 
@@ -31,7 +31,7 @@
 ## Check we produce a valid output when stripping unneeded symbols from an object that
 ## has a symbol table and a relocation with a symbol index of 0.
 
-# RUN: yaml2obj --docnum=2 %s > %t3
+# RUN: yaml2obj --docnum=2 %s -o %t3
 # RUN: llvm-objcopy --strip-unneeded %t3 %t4
 # RUN: llvm-readobj --relocations --sections --symbols %t4 | FileCheck %s --check-prefix=STRIP
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/null-symbol.test b/llvm/test/tools/llvm-objcopy/ELF/null-symbol.test
index b7ac3e8..e9e73c9 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/null-symbol.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/null-symbol.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --symbols %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/only-section-many.test b/llvm/test/tools/llvm-objcopy/ELF/only-section-many.test
index 9f1f77d..0735b69 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/only-section-many.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/only-section-many.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy -j .test1 -j .test2 %t %t2
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/only-section-remove-strtab.test b/llvm/test/tools/llvm-objcopy/ELF/only-section-remove-strtab.test
index c88fef2..71aae8a 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/only-section-remove-strtab.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/only-section-remove-strtab.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy -R .symtab -R .strtab --only-section=.test %t %t2
 # RUN: llvm-objcopy -j .test -R .strtab -R .symtab %t %t3
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
diff --git a/llvm/test/tools/llvm-objcopy/ELF/only-section-strip-non-alloc.test b/llvm/test/tools/llvm-objcopy/ELF/only-section-strip-non-alloc.test
index ae39b51..04fac20 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/only-section-strip-non-alloc.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/only-section-strip-non-alloc.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --strip-non-alloc --only-section=.test %t %t2
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/prefix-alloc-sections-dynrelocsec.test b/llvm/test/tools/llvm-objcopy/ELF/prefix-alloc-sections-dynrelocsec.test
index 217fe55..fbdd20d 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/prefix-alloc-sections-dynrelocsec.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/prefix-alloc-sections-dynrelocsec.test
@@ -1,7 +1,7 @@
 ## Check that llvm-objcopy can correctly add a prefix to
 ## a dynamic relocation section and its target section.
 
-# RUN: yaml2obj %s > %t1
+# RUN: yaml2obj %s -o %t1
 # RUN: llvm-objcopy --prefix-alloc-sections=.prefix %t1 %t2
 # RUN: llvm-readobj --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/prefix-alloc-sections.test b/llvm/test/tools/llvm-objcopy/ELF/prefix-alloc-sections.test
index 4cb9df5..731c332 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/prefix-alloc-sections.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/prefix-alloc-sections.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --prefix-alloc-sections=.prefix %t %t2
 # RUN: llvm-readobj --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/prefix-symbols.test b/llvm/test/tools/llvm-objcopy/ELF/prefix-symbols.test
index b359e5e..7538a1c 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/prefix-symbols.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/prefix-symbols.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --prefix-symbols prefix %t %t2
 # RUN: llvm-readobj --symbols %t2 | FileCheck %s --check-prefix=COMMON --check-prefix=BASIC
 # RUN: llvm-objcopy --redefine-sym bar=baz --prefix-symbols prefix %t %t3
diff --git a/llvm/test/tools/llvm-objcopy/ELF/redefine-symbol.test b/llvm/test/tools/llvm-objcopy/ELF/redefine-symbol.test
index f5927bd..8350698 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/redefine-symbol.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/redefine-symbol.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --redefine-sym foo=oof --redefine-sym empty= %t %t2
 # RUN: llvm-readobj --symbols %t2 | FileCheck %s
 # RUN: echo "  bar   rab #rename bar  " > %t.rename1.txt
diff --git a/llvm/test/tools/llvm-objcopy/ELF/regex.test b/llvm/test/tools/llvm-objcopy/ELF/regex.test
index 9fe751f..7f5683f 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/regex.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/regex.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 
 # No symbol matches, because pattern is implicitly enveloped in '^$'
 # RUN: llvm-objcopy --discard-all --regex -K 'ba' %t %t2
diff --git a/llvm/test/tools/llvm-objcopy/ELF/reloc-error-remove-symtab.test b/llvm/test/tools/llvm-objcopy/ELF/reloc-error-remove-symtab.test
index 4c161de..5482018 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/reloc-error-remove-symtab.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/reloc-error-remove-symtab.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: not llvm-objcopy -R .symtab %t %t2 2>&1 >/dev/null | FileCheck %s --check-prefix=ERR1 -DINPUT=%t
 # RUN: cp %t %t3
 # RUN: not llvm-strip --no-strip-all -R .symtab %t3 2>&1 >/dev/null | FileCheck %s --check-prefix=ERR2 -DINPUT=%t3
diff --git a/llvm/test/tools/llvm-objcopy/ELF/reloc-no-symtab.test b/llvm/test/tools/llvm-objcopy/ELF/reloc-no-symtab.test
index 96bf4d3..90f47c6 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/reloc-no-symtab.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/reloc-no-symtab.test
@@ -5,7 +5,7 @@
 # $ llvm-strip /tmp/a -o /tmp/b
 # llvm-strip: error: Link field value 0 in section .rela.plt is invalid.
 
-# RUN: yaml2obj %s > %t.original
+# RUN: yaml2obj %s -o %t.original
 # RUN: llvm-strip %t.original -o %t.stripped
 # RUN: llvm-readobj --sections %t.original | FileCheck %s
 # RUN: llvm-readobj --sections %t.stripped | FileCheck %s
diff --git a/llvm/test/tools/llvm-objcopy/ELF/relocatable-phdr.test b/llvm/test/tools/llvm-objcopy/ELF/relocatable-phdr.test
index 4021646..036d5a6 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/relocatable-phdr.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/relocatable-phdr.test
@@ -1,6 +1,6 @@
 # This test ensures an object without a program header will retain zero values
 # for offset and header size when copied with llvm-objcopy.
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --file-headers %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/remove-multiple-sections.test b/llvm/test/tools/llvm-objcopy/ELF/remove-multiple-sections.test
index a162303..ddc4cef 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/remove-multiple-sections.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/remove-multiple-sections.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy -R .test2 -R .test3 -R .test5 %t %t2
 # RUN: llvm-readobj --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/remove-section-with-symbol.test b/llvm/test/tools/llvm-objcopy/ELF/remove-section-with-symbol.test
index 598da16..f1f1996 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/remove-section-with-symbol.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/remove-section-with-symbol.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy -R .test %t %t2
 # RUN: llvm-readobj --file-headers --symbols %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/remove-section.test b/llvm/test/tools/llvm-objcopy/ELF/remove-section.test
index 927485a..c06b9eb 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/remove-section.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/remove-section.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: cp %t %t1
 
 # RUN: llvm-objcopy -R .test2 %t %t2
diff --git a/llvm/test/tools/llvm-objcopy/ELF/remove-shstrtab-error.test b/llvm/test/tools/llvm-objcopy/ELF/remove-shstrtab-error.test
index 797681f..d2852ff 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/remove-shstrtab-error.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/remove-shstrtab-error.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: not llvm-objcopy -R .shstrtab %t %t2 2>&1 >/dev/null | FileCheck %s -DINPUT=%t
 
 !ELF
diff --git a/llvm/test/tools/llvm-objcopy/ELF/remove-symtab.test b/llvm/test/tools/llvm-objcopy/ELF/remove-symtab.test
index 5c53962..54f69e5 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/remove-symtab.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/remove-symtab.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy -R .symtab %t %t2
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/rename-section-and-prefix-alloc-sections.test b/llvm/test/tools/llvm-objcopy/ELF/rename-section-and-prefix-alloc-sections.test
index fd642b6..112eb26 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/rename-section-and-prefix-alloc-sections.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/rename-section-and-prefix-alloc-sections.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --rename-section=.text=.text2 --rename-section=.data=.data2 --prefix-alloc-sections=.prefix %t %t2
 # RUN: llvm-readobj --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/rename-section-flag-osproc-mask.test b/llvm/test/tools/llvm-objcopy/ELF/rename-section-flag-osproc-mask.test
index ae572a6..f0f3c2d 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/rename-section-flag-osproc-mask.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/rename-section-flag-osproc-mask.test
@@ -2,7 +2,7 @@
 
 # ===== x86_64 =====
 
-# RUN: yaml2obj --docnum 1 %s > %t-x86_64.o
+# RUN: yaml2obj --docnum=1 %s -o %t-x86_64.o
 # RUN: llvm-objcopy --rename-section=.foo=.bar,alloc %t-x86_64.o
 # RUN: llvm-readobj --sections %t-x86_64.o | FileCheck %s --check-prefix=X86_64
 
@@ -27,7 +27,7 @@
 
 # ===== hex =====
 
-# RUN: yaml2obj --docnum 2 %s > %t-hex.o
+# RUN: yaml2obj --docnum=2 %s -o %t-hex.o
 # RUN: llvm-objcopy --rename-section=.foo=.bar,alloc %t-hex.o
 # RUN: llvm-readobj --sections %t-hex.o | FileCheck %s --check-prefix=HEX
 
@@ -52,7 +52,7 @@
 
 # ===== mips =====
 
-# RUN: yaml2obj --docnum 3 %s > %t-mips.o
+# RUN: yaml2obj --docnum=3 %s -o %t-mips.o
 # RUN: llvm-objcopy --rename-section=.foo=.bar,alloc %t-mips.o
 # RUN: llvm-readobj --sections %t-mips.o | FileCheck %s --check-prefix=MIPS
 
@@ -88,7 +88,7 @@
 
 # ===== arm =====
 
-# RUN: yaml2obj --docnum 4 %s > %t-arm.o
+# RUN: yaml2obj --docnum=4 %s -o %t-arm.o
 # RUN: llvm-objcopy --rename-section=.foo=.bar,alloc %t-arm.o
 # RUN: llvm-readobj --sections %t-arm.o | FileCheck %s --check-prefix=ARM
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/rename-section-flag-preserved.test b/llvm/test/tools/llvm-objcopy/ELF/rename-section-flag-preserved.test
index e22920f..e3e0a3d 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/rename-section-flag-preserved.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/rename-section-flag-preserved.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 
 # Single flags on a section with all flags:
 # RUN: llvm-objcopy --rename-section=.foo=.bar,alloc %t %t.alloc
diff --git a/llvm/test/tools/llvm-objcopy/ELF/rename-section-flag.test b/llvm/test/tools/llvm-objcopy/ELF/rename-section-flag.test
index 2638a7c..129f4c1 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/rename-section-flag.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/rename-section-flag.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 
 # Single flags on a section with no flags:
 # RUN: llvm-objcopy --rename-section=.foo=.bar,alloc  \
diff --git a/llvm/test/tools/llvm-objcopy/ELF/rename-section-multiple.test b/llvm/test/tools/llvm-objcopy/ELF/rename-section-multiple.test
index c508ac8..eac0ce0 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/rename-section-multiple.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/rename-section-multiple.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --rename-section=.test1=.test2 --rename-section=.test3=.test4 --rename-section=.test5=.test6 %t %t2
 # RUN: llvm-readobj --file-headers --sections --section-data %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/rename-section.test b/llvm/test/tools/llvm-objcopy/ELF/rename-section.test
index c8a1eaf..b2927c2 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/rename-section.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/rename-section.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --rename-section=.foo=.bar %t %t2
 # RUN: llvm-readobj --file-headers --sections --section-data %t2 | FileCheck %s
 # RUN: not llvm-objcopy --rename-section=.foo.bar --rename-section=.foo=.other %t %t2 2>&1 | FileCheck %s --check-prefix=BAD-FORMAT
diff --git a/llvm/test/tools/llvm-objcopy/ELF/section-index-unsupported.test b/llvm/test/tools/llvm-objcopy/ELF/section-index-unsupported.test
index 6c60bf5..8479d00 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/section-index-unsupported.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/section-index-unsupported.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: not llvm-objcopy %t %t2 2>&1 >/dev/null | FileCheck %s
 
 !ELF
diff --git a/llvm/test/tools/llvm-objcopy/ELF/set-section-flags-and-rename.test b/llvm/test/tools/llvm-objcopy/ELF/set-section-flags-and-rename.test
index 15ea3ae..4b553b3 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/set-section-flags-and-rename.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/set-section-flags-and-rename.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 
 # RUN: not llvm-objcopy --rename-section=.foo=.bar --set-section-flags=.foo=alloc %t %t.2 2>&1 | FileCheck %s --check-prefix=SET-FOO
 # RUN: not llvm-objcopy --rename-section=.foo=.bar --set-section-flags=.bar=alloc %t %t.2 2>&1 | FileCheck %s --check-prefix=SET-BAR
diff --git a/llvm/test/tools/llvm-objcopy/ELF/set-section-flags-multiple.test b/llvm/test/tools/llvm-objcopy/ELF/set-section-flags-multiple.test
index 41732f3..dd469ab 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/set-section-flags-multiple.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/set-section-flags-multiple.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 
 # RUN: llvm-objcopy --set-section-flags=.foo=alloc --set-section-flags=.bar=code %t %t.2
 # RUN: llvm-readobj --sections %t.2 | FileCheck %s --check-prefixes=CHECK,ALLOC,WRITE
diff --git a/llvm/test/tools/llvm-objcopy/ELF/set-section-flags.test b/llvm/test/tools/llvm-objcopy/ELF/set-section-flags.test
index 54e3736..db063fd 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/set-section-flags.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/set-section-flags.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 
 # Single flags on a section with no flags:
 # RUN: llvm-objcopy --set-section-flags=.foo=alloc \
diff --git a/llvm/test/tools/llvm-objcopy/ELF/shstrtab-optimize.test b/llvm/test/tools/llvm-objcopy/ELF/shstrtab-optimize.test
index 8b1da21..19c1b67 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/shstrtab-optimize.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/shstrtab-optimize.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-all-and-keep-symbol.test b/llvm/test/tools/llvm-objcopy/ELF/strip-all-and-keep-symbol.test
index 8ff1aa4..10228e6 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-all-and-keep-symbol.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-all-and-keep-symbol.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: cp %t %t1
 # RUN: llvm-objcopy --strip-all --keep-symbol foo %t %t2
 # RUN: llvm-readobj --sections --symbols %t2 | FileCheck %s
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-all-and-remove.test b/llvm/test/tools/llvm-objcopy/ELF/strip-all-and-remove.test
index 15a6f4f..e190a7e 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-all-and-remove.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-all-and-remove.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: cp %t %t1
 
 # RUN: llvm-strip --remove-section=.text.bar %t
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-all-gnu.test b/llvm/test/tools/llvm-objcopy/ELF/strip-all-gnu.test
index 727a91b..7df3d3b 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-all-gnu.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-all-gnu.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --strip-all-gnu %t %t2
 # RUN: llvm-strip --strip-all-gnu %t -o %t3
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-all.test b/llvm/test/tools/llvm-objcopy/ELF/strip-all.test
index dabb9ef..cba3f14 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-all.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-all.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: cp %t %t3
 # RUN: llvm-objcopy --strip-all %t %t2
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-debug-and-remove.test b/llvm/test/tools/llvm-objcopy/ELF/strip-debug-and-remove.test
index da76592..ed782a1 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-debug-and-remove.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-debug-and-remove.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: cp %t %t1
 
 # RUN: llvm-strip --strip-debug --remove-section=.text.bar %t
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-debug.test b/llvm/test/tools/llvm-objcopy/ELF/strip-debug.test
index c4440bf..711f9d3 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-debug.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-debug.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: cp %t %t3
 # RUN: llvm-objcopy --strip-debug %t %t2
 # RUN: llvm-readobj --file-headers --sections --symbols %t2 | FileCheck %s
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-group-symbol.test b/llvm/test/tools/llvm-objcopy/ELF/strip-group-symbol.test
index acca56c..6565899 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-group-symbol.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-group-symbol.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: not llvm-objcopy -N foo %t %t2 2>&1 | FileCheck %s
 
 --- !ELF
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-multiple-files.test b/llvm/test/tools/llvm-objcopy/ELF/strip-multiple-files.test
index b22974a..a6af949 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-multiple-files.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-multiple-files.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t.o
+# RUN: yaml2obj %s -o %t.o
 
 # Run llvm-strip normally. This will create a stripped object file for later
 # tests so we only have to run FileCheck on it once.
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-non-alloc.test b/llvm/test/tools/llvm-objcopy/ELF/strip-non-alloc.test
index 1f082bf..cf6561d 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-non-alloc.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-non-alloc.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --strip-non-alloc %t %t2
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-preserve-arm-attributes.test b/llvm/test/tools/llvm-objcopy/ELF/strip-preserve-arm-attributes.test
index 2dcca66..0434ff1 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-preserve-arm-attributes.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-preserve-arm-attributes.test
@@ -2,7 +2,7 @@
 ## .ARM.attributes sections in ELF files. This is needed to maintain
 ## compatibility for Ubuntu/Debian distributions on ARM.
 
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --strip-all %t %t2
 # RUN: llvm-readobj --sections %t2 | FileCheck %s
 # RUN: llvm-objcopy --strip-all-gnu %t %t3
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-preserve-atime.test b/llvm/test/tools/llvm-objcopy/ELF/strip-preserve-atime.test
index aad537c..f23ece4 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-preserve-atime.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-preserve-atime.test
@@ -3,7 +3,7 @@
 # UNSUPPORTED: system-netbsd
 
 # Preserve dates when stripping to an output file.
-# RUN: yaml2obj %s > %t.1.o
+# RUN: yaml2obj %s -o %t.1.o
 # RUN: touch -a -t 199505050555.55 %t.1.o
 # RUN: llvm-strip -p %t.1.o -o %t-preserved.1.o
 # RUN: ls -lu %t-preserved.1.o | FileCheck %s --check-prefix=CHECK-PRESERVE-ATIME
@@ -11,28 +11,28 @@
 # RUN: llvm-readobj %t-preserved.1.o
 
 # Preserve dates available via objcopy interface as well.
-# RUN: yaml2obj %s > %t.2.o
+# RUN: yaml2obj %s -o %t.2.o
 # RUN: touch -a -t 199505050555.55 %t.2.o
 # RUN: llvm-objcopy -p %t.2.o %t-preserved.2.o
 # RUN: ls -lu %t-preserved.2.o | FileCheck %s --check-prefix=CHECK-PRESERVE-ATIME
 # RUN: llvm-readobj %t-preserved.2.o
 
 # Preserve dates when stripping in place.
-# RUN: yaml2obj %s > %t.3.o
+# RUN: yaml2obj %s -o %t.3.o
 # RUN: touch -a -t 199505050555.55 %t.3.o
 # RUN: llvm-strip -p %t.3.o
 # RUN: ls -lu %t.3.o | FileCheck %s --check-prefix=CHECK-PRESERVE-ATIME
 # RUN: llvm-readobj %t.3.o
 
 # Without -p set, don't preserve dates.
-# RUN: yaml2obj %s > %t.4.o
+# RUN: yaml2obj %s -o %t.4.o
 # RUN: touch -a -t 199505050555.55 %t.4.o
 # RUN: llvm-strip %t.4.o
 # RUN: ls -lu %t.4.o | FileCheck %s --check-prefix=CHECK-NO-PRESERVE-ATIME
 # RUN: llvm-readobj %t.4.o
 
 # Preserve dates in archives.
-# RUN: yaml2obj %s > %t.5.o
+# RUN: yaml2obj %s -o %t.5.o
 # RUN: rm -f %t.a
 # RUN: llvm-ar cr %t.a %t.5.o
 # RUN: touch -a -t 199505050555.55 %t.a
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-preserve-mtime.test b/llvm/test/tools/llvm-objcopy/ELF/strip-preserve-mtime.test
index 5f247ae..aa1c37a 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-preserve-mtime.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-preserve-mtime.test
@@ -1,7 +1,7 @@
 # Note: ls -l prints the modified timestamp
 
 # Preserve dates when stripping to an output file.
-# RUN: yaml2obj %s > %t.1.o
+# RUN: yaml2obj %s -o %t.1.o
 # RUN: touch -m -t 199705050555.55 %t.1.o
 # RUN: llvm-strip -p %t.1.o -o %t-preserved.1.o
 # RUN: ls -l %t-preserved.1.o | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
@@ -9,28 +9,28 @@
 # RUN: llvm-readobj %t-preserved.1.o
 
 # Preserve dates available via objcopy interface as well.
-# RUN: yaml2obj %s > %t.2.o
+# RUN: yaml2obj %s -o %t.2.o
 # RUN: touch -m -t 199705050555.55 %t.2.o
 # RUN: llvm-objcopy -p %t.2.o %t-preserved.2.o
 # RUN: ls -l %t-preserved.2.o | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
 # RUN: llvm-readobj %t-preserved.2.o
 
 # Preserve dates when stripping in place.
-# RUN: yaml2obj %s > %t.3.o
+# RUN: yaml2obj %s -o %t.3.o
 # RUN: touch -m -t 199705050555.55 %t.3.o
 # RUN: llvm-strip -p %t.3.o
 # RUN: ls -l %t.3.o | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
 # RUN: llvm-readobj %t.3.o
 
 # Without -p set, don't preserve dates.
-# RUN: yaml2obj %s > %t.4.o
+# RUN: yaml2obj %s -o %t.4.o
 # RUN: touch -m -t 199705050555.55 %t.4.o
 # RUN: llvm-strip %t.4.o
 # RUN: ls -l %t.4.o | FileCheck %s --check-prefix=CHECK-NO-PRESERVE-MTIME
 # RUN: llvm-readobj %t.4.o
 
 # Preserve dates in archives.
-# RUN: yaml2obj %s > %t.5.o
+# RUN: yaml2obj %s -o %t.5.o
 # RUN: rm -f %t.a
 # RUN: llvm-ar cr %t.a %t.5.o
 # RUN: touch -m -t 199705050555.55 %t.a
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-reloc-symbol.test b/llvm/test/tools/llvm-objcopy/ELF/strip-reloc-symbol.test
index 99b5d51..63c9e12 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-reloc-symbol.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-reloc-symbol.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: not llvm-objcopy -N foo %t %t2 2>&1 | FileCheck %s
 
 !ELF
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-section-err.test b/llvm/test/tools/llvm-objcopy/ELF/strip-section-err.test
index 8f0a809..7f53cf6 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-section-err.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-section-err.test
@@ -1,14 +1,14 @@
 ## Check we cannot remove a section containing symbols
 ## referenced by relocations contained in the object.
 
-# RUN: yaml2obj %s > %t1
+# RUN: yaml2obj %s -o %t1
 # RUN: not llvm-objcopy -R .data %t1 2>&1 | FileCheck %s -DINPUT=%t1
 # CHECK: error: '[[INPUT]]': section '.data' cannot be removed: (.text+0x1) has relocation against symbol 'foo'
 
 ## Check the behavior when we also remove the relocation section.
 ## We have no reference in this case and hence no error should be emitted.
 
-# RUN: yaml2obj %s > %t2
+# RUN: yaml2obj %s -o %t2
 # RUN: llvm-objcopy -R .data -R .rela.text %t2 %t3
 # RUN: llvm-objdump --section-headers %t3 | FileCheck %s --check-prefix=NOSEC
 # NOSEC-NOT: .data
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-sections-keep.test b/llvm/test/tools/llvm-objcopy/ELF/strip-sections-keep.test
index 711687f..ebf3200 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-sections-keep.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-sections-keep.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --strip-sections --keep-section=.shstrtab %t %t2
 # RUN: od -Ax -t c %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-sections-only-section.test b/llvm/test/tools/llvm-objcopy/ELF/strip-sections-only-section.test
index e2236a9..054a396 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-sections-only-section.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-sections-only-section.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --strip-sections --only-section=.test %t %t2
 # RUN: od -Ax -t x1 %t2 | FileCheck %s
 # RUN: od -Ax -t c  %t2 | FileCheck %s --check-prefix=TEXT
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-sections.test b/llvm/test/tools/llvm-objcopy/ELF/strip-sections.test
index d17dc33..68bc07f 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-sections.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-sections.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --strip-sections %t %t2
 # RUN: llvm-readobj --file-headers --program-headers %t2 | FileCheck %s
 # RUN: od -t x1 -j 4096 -N 12 %t2 | FileCheck %s --ignore-case --check-prefix=DATA
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-symbol-and-relocation.test b/llvm/test/tools/llvm-objcopy/ELF/strip-symbol-and-relocation.test
index 76833c0..d1147feb 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-symbol-and-relocation.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-symbol-and-relocation.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 
 ## Check we are able to strip all symbols and relocatable information at the same time.
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-symbol.test b/llvm/test/tools/llvm-objcopy/ELF/strip-symbol.test
index e63aaae..78de46c 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-symbol.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-symbol.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --strip-symbol baz -N bar %t %t2
 # RUN: llvm-readobj --symbols --sections %t2 | FileCheck %s
 # RUN: llvm-strip --strip-symbol baz -N bar %t -o %t3
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded-all-symbols.test b/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded-all-symbols.test
index e2fd420..c66a523 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded-all-symbols.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded-all-symbols.test
@@ -2,7 +2,7 @@
 ## eliminate the static symbol table, because it's not used
 ## by the dynamic loader. 
 
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: cp %t %t1
 # RUN: llvm-objcopy --strip-unneeded %t %t2
 # RUN: llvm-readobj --section-headers %t2 | FileCheck %s
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded-remove-debug-keep-link.test b/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded-remove-debug-keep-link.test
index 948bfea..6bc5300 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded-remove-debug-keep-link.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded-remove-debug-keep-link.test
@@ -1,7 +1,7 @@
 ## Verifies that running with --strip-unneeded removes debugging sections but
 ## retains the .gnu_debuglink section.
 
-# RUN: yaml2obj %s > %t.o
+# RUN: yaml2obj %s -o %t.o
 # RUN: touch %t.debug
 # RUN: llvm-objcopy --add-gnu-debuglink=%t.debug %t.o %t.2.o
 # RUN: llvm-strip --strip-unneeded %t.2.o -o %t.3.o
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded.test b/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded.test
index 98d031c..0556a4f 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strip-unneeded.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: cp %t %t1
 # RUN: llvm-objcopy --strip-unneeded %t %t2
 # Verify that llvm-objcopy has not modified the input.
diff --git a/llvm/test/tools/llvm-objcopy/ELF/strtab-optimize.test b/llvm/test/tools/llvm-objcopy/ELF/strtab-optimize.test
index 41f8681..10b17a6 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/strtab-optimize.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/strtab-optimize.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2 --add-symbol='foo=1' --add-symbol='foofoo=2'
 # RUN: llvm-readobj --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/symbol-copy.test b/llvm/test/tools/llvm-objcopy/ELF/symbol-copy.test
index 9e70a81..a71ccfd 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/symbol-copy.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/symbol-copy.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --symbols %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/symbol-empty-name.test b/llvm/test/tools/llvm-objcopy/ELF/symbol-empty-name.test
index f2a5b1a..84f6ff7 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/symbol-empty-name.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/symbol-empty-name.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --symbols %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/symtab-error-on-remove-strtab.test b/llvm/test/tools/llvm-objcopy/ELF/symtab-error-on-remove-strtab.test
index 4aac930..d74a755 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/symtab-error-on-remove-strtab.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/symtab-error-on-remove-strtab.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: not llvm-objcopy -R .strtab %t %t2 2>&1 >/dev/null | FileCheck %s --check-prefix=ERR1 -DINPUT=%t
 # RUN: cp %t %t3
 # RUN: not llvm-strip --no-strip-all -R .strtab %t3 2>&1 >/dev/null | FileCheck %s --check-prefix=ERR2 -DINPUT=%t3
diff --git a/llvm/test/tools/llvm-objcopy/ELF/symtab-link.test b/llvm/test/tools/llvm-objcopy/ELF/symtab-link.test
index 8297529..701e4a3 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/symtab-link.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/symtab-link.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --sections %t2 | FileCheck %s
 # RUN: cp %t %t3
diff --git a/llvm/test/tools/llvm-objcopy/ELF/weaken-all.test b/llvm/test/tools/llvm-objcopy/ELF/weaken-all.test
index ab83c65..6fd8b64 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/weaken-all.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/weaken-all.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --weaken %t %t2
 # RUN: llvm-readobj --symbols %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/ELF/weaken.test b/llvm/test/tools/llvm-objcopy/ELF/weaken.test
index 09f2476..3c4a711 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/weaken.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/weaken.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy --weaken-symbol Global -W Local -W Weak %t %t2
 # RUN: llvm-readobj --symbols %t2 | FileCheck %s
 # RUN: llvm-objcopy --regex --weaken-symbol='.*' %t %t3
diff --git a/llvm/test/tools/llvm-objcopy/ELF/wildcard-flags.test b/llvm/test/tools/llvm-objcopy/ELF/wildcard-flags.test
index 29a91cd..49f1838 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/wildcard-flags.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/wildcard-flags.test
@@ -3,7 +3,7 @@
 ## are configured correctly.
 ## For more detailed syntax tests, see wildcard-syntax.test.
 
-# RUN: yaml2obj %s > %t.o
+# RUN: yaml2obj %s -o %t.o
 
 ## Check that --regex and --wildcard cannot be used together.
 # RUN: not llvm-objcopy --regex --wildcard %t.o %t.err.o 2>&1 \
diff --git a/llvm/test/tools/llvm-objcopy/ELF/wildcard-syntax.test b/llvm/test/tools/llvm-objcopy/ELF/wildcard-syntax.test
index 685ba16..67f7f0b 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/wildcard-syntax.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/wildcard-syntax.test
@@ -1,7 +1,7 @@
 ## This test checks that llvm-objcopy accepts glob (or "shell wildcard") syntax
 ## for the --wildcard (-w) flag correctly.
 
-# RUN: yaml2obj --docnum=1 %s > %t.o
+# RUN: yaml2obj --docnum=1 %s -o %t.o
 
 ## * matches all characters.
 # RUN: llvm-objcopy --remove-section='.f*' %t.o %t.glob.o
@@ -61,7 +61,7 @@
 
 ## Use a separate test file with special characters for the following tests.
 
-# RUN: yaml2obj --docnum=2 %s > %t.special.o
+# RUN: yaml2obj --docnum=2 %s -o %t.special.o
 
 ## \ escapes wildcard characters.
 # RUN: llvm-objcopy --remove-section='\*' %t.special.o %t.escape.1.o
diff --git a/llvm/test/tools/llvm-objcopy/MachO/basic-big-endian-32-copy.test b/llvm/test/tools/llvm-objcopy/MachO/basic-big-endian-32-copy.test
index 692fb50..083011b 100644
--- a/llvm/test/tools/llvm-objcopy/MachO/basic-big-endian-32-copy.test
+++ b/llvm/test/tools/llvm-objcopy/MachO/basic-big-endian-32-copy.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: cmp %t %t2
 
diff --git a/llvm/test/tools/llvm-objcopy/MachO/basic-big-endian-64-copy.test b/llvm/test/tools/llvm-objcopy/MachO/basic-big-endian-64-copy.test
index 5294f4e..ff8e4a0 100644
--- a/llvm/test/tools/llvm-objcopy/MachO/basic-big-endian-64-copy.test
+++ b/llvm/test/tools/llvm-objcopy/MachO/basic-big-endian-64-copy.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: cmp %t %t2
 
diff --git a/llvm/test/tools/llvm-objcopy/MachO/basic-executable-copy.test b/llvm/test/tools/llvm-objcopy/MachO/basic-executable-copy.test
index 85eebad..ce176b6 100644
--- a/llvm/test/tools/llvm-objcopy/MachO/basic-executable-copy.test
+++ b/llvm/test/tools/llvm-objcopy/MachO/basic-executable-copy.test
@@ -2,7 +2,7 @@
 ## uses llvm-readobj instead of cmp because some parts of the object
 ## (e.g., the string table) are not identical; the output file is correct but
 ## some offsets differ from the input file.
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
 
diff --git a/llvm/test/tools/llvm-objcopy/MachO/basic-little-endian-32-copy.test b/llvm/test/tools/llvm-objcopy/MachO/basic-little-endian-32-copy.test
index c43aed7..7e66639 100644
--- a/llvm/test/tools/llvm-objcopy/MachO/basic-little-endian-32-copy.test
+++ b/llvm/test/tools/llvm-objcopy/MachO/basic-little-endian-32-copy.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: cmp %t %t2
 
diff --git a/llvm/test/tools/llvm-objcopy/MachO/basic-little-endian-64-copy.test b/llvm/test/tools/llvm-objcopy/MachO/basic-little-endian-64-copy.test
index b395020..18e3bbb 100644
--- a/llvm/test/tools/llvm-objcopy/MachO/basic-little-endian-64-copy.test
+++ b/llvm/test/tools/llvm-objcopy/MachO/basic-little-endian-64-copy.test
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-objcopy %t %t2
 # RUN: cmp %t %t2
 
diff --git a/llvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test b/llvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test
index 6d26201..61aca20 100644
--- a/llvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test
+++ b/llvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test
@@ -1,10 +1,10 @@
 ## This test checks adding a new LC_RPATH load command to a MachO binary.
 
-# RUN: yaml2obj %p/Inputs/i386.yaml > %t.i386
+# RUN: yaml2obj %p/Inputs/i386.yaml -o %t.i386
 # RUN: llvm-install-name-tool -add_rpath @executable_path/. %t.i386
 # RUN: llvm-objdump -p %t.i386 | FileCheck --check-prefix=NEW-RPATH %s
 
-# RUN: yaml2obj %p/Inputs/x86_64.yaml > %t.x86_64
+# RUN: yaml2obj %p/Inputs/x86_64.yaml -o %t.x86_64
 # RUN: llvm-install-name-tool -add_rpath @executable_path/. %t.x86_64
 # RUN: llvm-objdump -p %t.x86_64 | FileCheck --check-prefix=NEW-RPATH %s
 
diff --git a/llvm/test/tools/llvm-objcopy/MachO/min-version-load-commands.test b/llvm/test/tools/llvm-objcopy/MachO/min-version-load-commands.test
index 42dce2e..504ea1e 100644
--- a/llvm/test/tools/llvm-objcopy/MachO/min-version-load-commands.test
+++ b/llvm/test/tools/llvm-objcopy/MachO/min-version-load-commands.test
@@ -3,18 +3,18 @@
 ## load command of this type (LC_VERSION_MIN_IPHONEOS, LC_VERSION_MIN_MACOSX,
 ## LC_VERSION_MIN_TVOS, LC_VERSION_MIN_WATCHOS).
 
-# RUN: yaml2obj %p/Inputs/min_iphoneos_version_lc.yaml > %t.iphoneos
+# RUN: yaml2obj %p/Inputs/min_iphoneos_version_lc.yaml -o %t.iphoneos
 # RUN: llvm-objcopy %t.iphoneos %t.iphoneos.copy
 # RUN: cmp %t.iphoneos %t.iphoneos.copy
 
-# RUN: yaml2obj %p/Inputs/min_macos_version_lc.yaml > %t.macos
+# RUN: yaml2obj %p/Inputs/min_macos_version_lc.yaml -o %t.macos
 # RUN: llvm-objcopy %t.macos %t.macos.copy
 # RUN: cmp %t.macos %t.macos.copy
 
-# RUN: yaml2obj %p/Inputs/min_tvos_version_lc.yaml > %t.tvos
+# RUN: yaml2obj %p/Inputs/min_tvos_version_lc.yaml -o %t.tvos
 # RUN: llvm-objcopy %t.tvos %t.tvos.copy
 # RUN: cmp %t.tvos %t.tvos.copy
 
-# RUN: yaml2obj %p/Inputs/min_watchos_version_lc.yaml > %t.watchos
+# RUN: yaml2obj %p/Inputs/min_watchos_version_lc.yaml -o %t.watchos
 # RUN: llvm-objcopy %t.watchos %t.watchos.copy
 # RUN: cmp %t.watchos %t.watchos.copy
diff --git a/llvm/test/tools/llvm-objcopy/MachO/only-section.test b/llvm/test/tools/llvm-objcopy/MachO/only-section.test
index 4e26031..2caab80 100644
--- a/llvm/test/tools/llvm-objcopy/MachO/only-section.test
+++ b/llvm/test/tools/llvm-objcopy/MachO/only-section.test
@@ -1,7 +1,7 @@
 ## Show that if --only-section is given, llvm-objcopy removes all sections
 ## except ones specified in the option.
 
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 
 ## Specify all sections. The output file should be the same as the input.
 # RUN: llvm-objcopy -j __TEXT,__text -j __DATA,__data -j __TEXT,__const %t %t2
diff --git a/llvm/test/tools/llvm-objcopy/MachO/remove-section.test b/llvm/test/tools/llvm-objcopy/MachO/remove-section.test
index beb4dd8..a9f279c9 100644
--- a/llvm/test/tools/llvm-objcopy/MachO/remove-section.test
+++ b/llvm/test/tools/llvm-objcopy/MachO/remove-section.test
@@ -1,7 +1,7 @@
 ## Show that if --remove-section is given, llvm-objcopy removes sections
 ## specified by the option.
 
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 
 ## Remove only __TEXT,__text section.
 # RUN: llvm-objcopy --remove-section __TEXT,__text %t %t2
diff --git a/llvm/test/tools/llvm-objcopy/MachO/strip-all.test b/llvm/test/tools/llvm-objcopy/MachO/strip-all.test
index 1a69234..fe2bc97 100644
--- a/llvm/test/tools/llvm-objcopy/MachO/strip-all.test
+++ b/llvm/test/tools/llvm-objcopy/MachO/strip-all.test
@@ -1,7 +1,7 @@
 ## Show that llvm-objcopy/llvm-strip removes all symbols and debug sections.
 
-# RUN: yaml2obj %p/Inputs/strip-all.yaml > %t.exec
-# RUN: yaml2obj %p/Inputs/strip-all-with-dwarf.yaml > %t.dwarf
+# RUN: yaml2obj %p/Inputs/strip-all.yaml -o %t.exec
+# RUN: yaml2obj %p/Inputs/strip-all-with-dwarf.yaml -o %t.dwarf
 
 ## Check that the symbol list satisfies the order: local / defined external /
 ## undefined external, otherwise llvm-objcopy will fail.
diff --git a/llvm/test/tools/llvm-objcopy/redefine-symbols.test b/llvm/test/tools/llvm-objcopy/redefine-symbols.test
index 837294d..8f6cba0 100644
--- a/llvm/test/tools/llvm-objcopy/redefine-symbols.test
+++ b/llvm/test/tools/llvm-objcopy/redefine-symbols.test
@@ -1,6 +1,6 @@
 ## Test common parsing errors general to all supported binary formats.
 
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 
 # RUN: not llvm-objcopy --redefine-sym bar %t /dev/null 2>&1 | FileCheck %s --check-prefix=BAD-FORMAT
 # BAD-FORMAT: bad format for --redefine-sym