Jordan Rupprecht | cf67633 | 2018-08-17 18:51:11 +0000 | [diff] [blame] | 1 | # RUN: echo abcd > %t.txt |
| 2 | |
| 3 | # Preserve input to verify it is not modified |
| 4 | # RUN: cp %t.txt %t-copy.txt |
| 5 | |
Fangrui Song | ba53030 | 2019-09-14 01:36:16 +0000 | [diff] [blame] | 6 | ## -I binary -O binary preserves payload through in-memory representation. |
| 7 | # RUN: llvm-objcopy -I binary -O binary %t.txt %t.2.txt |
Jordan Rupprecht | cf67633 | 2018-08-17 18:51:11 +0000 | [diff] [blame] | 8 | # RUN: cmp %t.txt %t.2.txt |
| 9 | # RUN: cmp %t.txt %t-copy.txt |
| 10 | |
Fangrui Song | ba53030 | 2019-09-14 01:36:16 +0000 | [diff] [blame] | 11 | ## If -O is not specified, it defaults to -I, i.e. "binary". |
| 12 | # RUN: llvm-objcopy -I binary %t.txt %t.3.txt |
Jordan Rupprecht | cf67633 | 2018-08-17 18:51:11 +0000 | [diff] [blame] | 13 | # RUN: cmp %t.txt %t.3.txt |
Fangrui Song | ba53030 | 2019-09-14 01:36:16 +0000 | [diff] [blame] | 14 | |
| 15 | ## -I binary -O elf* creates an ELF. -O binary transforms it back to the |
| 16 | ## original file. |
| 17 | # RUN: llvm-objcopy -I binary -O elf64-x86-64 %t.txt %t.o |
| 18 | # RUN: llvm-objcopy -O binary %t.o %t.4.txt |
| 19 | # RUN: cmp %t.txt %t.4.txt |
| 20 | |
| 21 | ## -B is ignored. |
| 22 | # RUN: llvm-objcopy -I binary -B i386:x86-64 -O binary %t.txt %t.5.txt |
| 23 | # RUN: cmp %t.txt %t.5.txt |