1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/test/tools/llvm-objcopy
Jordan Rupprecht 1fea6bcbb3 [llvm-strip] Fix -p|--preserve-dates to not truncate output when used in-place.
The restoreDateOnFile() method used to preserve dates uses sys::fs::openFileForWrite(). That method defaults to opening files with CD_CreateAlways, which truncates the output file if it exists. Use CD_OpenExisting instead to open it and *not* truncate it, which also has the side benefit of erroring if the file does not exist (it should always exist, because we just wrote it out).

Also, fix the test case to make sure the output is a valid output file, and not empty. The extra test assertions are enough to catch this regression.

llvm-svn: 340996
2018-08-29 23:21:56 +00:00
..
Inputs [llvm-objcopy, tests] Fix several llvm-objcopy tests 2018-07-20 16:19:36 +00:00
abs-symbol.test [llvm-objcopy] Add support for special section indexes in symbol table greater than SHN_LORESERVE 2017-09-07 23:02:50 +00:00
add-gnu-debuglink.test [llvm-objcopy] Use the full filename in --add-gnu-debuglink 2018-02-19 19:53:44 +00:00
add-section-remove.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
add-section.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
adjacent-segments.test Reland "[llvm-objcopy] Add support for nested and overlapping segments" 2017-09-19 21:37:35 +00:00
armexidx-link.test [llvm-objcopy] Fix sh_link 2018-04-20 20:46:04 +00:00
auto-remove-shndx.test [lit, python] Always add quotes around the python path in lit 2018-08-06 22:37:44 +00:00
basic-archive-copy.test [llvm-objcopy] Add support for static libraries 2018-07-06 17:51:03 +00:00
basic-binary-copy.test Reland "[llvm][llvm-objcopy] Added support for outputting to binary in llvm-objcopy" 2017-08-04 21:09:26 +00:00
basic-copy.test
basic-keep.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
basic-only-keep-debug.test [llvm-objcopy] Add --only-keep-debug as a noop 2018-05-15 20:53:53 +00:00
basic-only-keep.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
basic-relocations.test Reland "[llvm-objcopy] Add support for relocations" 2017-09-06 23:41:02 +00:00
binary-first-seg-offset-zero.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
binary-input-and-output.test [llvm-objcopy] Add support for -I binary -B <arch>. 2018-08-17 18:51:11 +00:00
binary-input-arch.test Fix windows buildbots by removing : from filenames 2018-08-17 19:18:20 +00:00
binary-input-error.test [llvm-objcopy] Add support for -I binary -B <arch>. 2018-08-17 18:51:11 +00:00
binary-input.test [llvm-objcopy] Add support for -I binary -B <arch>. 2018-08-17 18:51:11 +00:00
binary-no-paddr.test [llvm-objcopy] Use physical instead of virtual address when aligning and placing sections in binary 2018-01-22 19:27:30 +00:00
binary-out-error.test [llvm-objcopy] Refactor llvm-objcopy to use reader and writer objects 2018-01-25 22:46:17 +00:00
binary-paddr.test [llvm-objcopy] Use physical instead of virtual address when aligning and placing sections in binary 2018-01-22 19:27:30 +00:00
binary-remove-all-but-one.test [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy 2017-11-15 19:13:31 +00:00
binary-remove-end.test [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy 2017-11-15 19:13:31 +00:00
binary-remove-middle.test [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy 2017-11-15 19:13:31 +00:00
binary-segment-layout.test [llvm-objcopy] Use physical instead of virtual address when aligning and placing sections in binary 2018-01-22 19:27:30 +00:00
cannot-delete-dest.test Simplify test. 2017-12-05 18:26:23 +00:00
check-addr-offset-align-binary.test [llvm-objcopy] Fix bug in how segment alignment was being handled 2017-11-02 23:24:04 +00:00
check-addr-offset-align.test [llvm-objcopy] Fix bug in how segment alignment was being handled 2017-11-02 23:24:04 +00:00
common-symbol.test [llvm-objcopy] Add e_machine validity check for reserved section indexes 2017-09-13 03:04:50 +00:00
discard-all.test [llvm-strip] Expose --discard-all option 2018-06-06 21:23:19 +00:00
drawf-fission.test [llvm-objcopy] Add support for dwarf fission 2017-11-03 18:58:41 +00:00
dump-section.test [llvm-objcopy] Add --dump-section 2018-08-09 17:05:21 +00:00
dynamic-relocations.test [llvm-objcopy] Add support for dynamic relocations 2017-09-26 18:02:25 +00:00
dynamic.test Reland "[llvm-objcopy] Add support for .dynamic, .dynsym, and .dynstr" 2017-09-20 17:11:58 +00:00
dynstr.test Reland "[llvm-objcopy] Add support for .dynamic, .dynsym, and .dynstr" 2017-09-20 17:11:58 +00:00
dynsym-error-remove-strtab.test [llvm-objcopy] Fix sh_link 2018-04-20 20:46:04 +00:00
dynsym.test Reland "[llvm-objcopy] Add support for .dynamic, .dynsym, and .dynstr" 2017-09-20 17:11:58 +00:00
elf32be.test [llvm-objcopy] Support the rest of the ELF formats 2017-11-14 18:41:47 +00:00
elf32le.test [llvm-objcopy] Support the rest of the ELF formats 2017-11-14 18:41:47 +00:00
elf64be.test [llvm-objcopy] Support the rest of the ELF formats 2017-11-14 18:41:47 +00:00
empty-section.test
explicit-keep-remove.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
explicit-only-keep-remove.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
fail-no-output-directory.test [llvm-objcopy] Add support for static libraries 2018-07-06 17:51:03 +00:00
globalize.test [llvm-objcopy] Add --globalize-symbol option 2018-04-27 19:09:44 +00:00
group-big-endian.test [llvm-objcopy] Implement support for section groups 2018-03-21 19:53:44 +00:00
group-unchanged.test [llvm-objcopy] Implement support for section groups 2018-03-21 19:53:44 +00:00
group.test [llvm-objcopy] Implement support for section groups 2018-03-21 19:53:44 +00:00
help-message.test [llvm-objcopy] Add tests for help messages 2018-05-10 15:56:04 +00:00
hexagon-unsupported-on-x86.test [llvm-objcopy] Add test to check that architecture specific values are not used on wrong architecture. 2017-09-19 19:05:15 +00:00
identical-segments.test Reland "[llvm-objcopy] Add support for nested and overlapping segments" 2017-09-19 21:37:35 +00:00
keep-file-symbols.test [llvm-objcopy] Fix null symbol handling 2018-06-01 16:19:46 +00:00
keep-global-symbols-mix-globalize.test [llvm-objcopy] Implement -G/--keep-global-symbol(s). 2018-08-17 22:34:48 +00:00
keep-global-symbols.test [llvm-objcopy] Implement -G/--keep-global-symbol(s). 2018-08-17 22:34:48 +00:00
keep-many.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
keep-only-keep.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
keep-symbol-remove-section.test [llvm-objcopy] Add --keep-symbol (-K) option 2018-05-15 14:09:37 +00:00
keep-symbol.test [llvm-objcopy] Add --keep-symbol (-K) option 2018-05-15 14:09:37 +00:00
localize-hidden.test [llvm-objcopy] Add --localize-hidden option 2018-01-05 19:19:09 +00:00
localize.test [llvm-objcopy] Add --localize-symbol option 2018-04-26 17:44:43 +00:00
many-sections.test [lit, python] Always add quotes around the python path in lit 2018-08-06 22:37:44 +00:00
marker-segment.test [llvm-objcopy] Fix handling of zero-size segments in llvm-objcopy 2018-02-14 23:31:33 +00:00
no-symbol-relocation.test Reland "[llvm-objcopy] Add support for relocations" 2017-09-06 23:41:02 +00:00
null-symbol.test [llvm-objcopy] Fix null symbol handling 2018-06-01 16:19:46 +00:00
only-keep-many.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
only-keep-remove-strtab.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
only-keep-strip-non-alloc.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
overlap-chain.test Reland "[llvm-objcopy] Add support for nested and overlapping segments" 2017-09-19 21:37:35 +00:00
parent-loop-check.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
prefix-symbols.test [llvm-objcopy] Add --prefix-symbols option 2018-08-09 17:49:04 +00:00
program-headers.test
pt-phdr.test Reland "[llvm-objcopy] Add support for nested and overlapping segments" 2017-09-19 21:37:35 +00:00
redefine-symbol.test [llvm-objcopy] Implement --redefine-sym option 2018-04-26 18:28:17 +00:00
reloc-error-remove-symtab.test [llvm-objcopy] Add support for removing sections 2017-10-10 18:47:09 +00:00
remove-multiple-sections.test [llvm-objcopy] Add ability to remove multiple sections by name 2017-10-10 23:02:43 +00:00
remove-section-with-symbol.test [llvm-objcopy] Add support for removing sections 2017-10-10 18:47:09 +00:00
remove-section.test [llvm-objcopy] Update remove-section.test 2018-05-11 04:30:57 +00:00
remove-shndx.test [lit, python] Always add quotes around the python path in lit 2018-08-06 22:37:44 +00:00
remove-shstrtab-error.test [llvm-objcopy] Refactor llvm-objcopy to use reader and writer objects 2018-01-25 22:46:17 +00:00
remove-symtab.test [llvm-objcopy] Add support for removing sections 2017-10-10 18:47:09 +00:00
rename-section-flag-osproc-mask.test [llvm-objcopy] Add support for --rename-section flags from gnu objcopy 2018-08-01 16:23:22 +00:00
rename-section-flag-preserved.test [llvm-objcopy] Add support for --rename-section flags from gnu objcopy 2018-08-01 16:23:22 +00:00
rename-section-flag.test [llvm-objcopy] Add support for --rename-section flags from gnu objcopy 2018-08-01 16:23:22 +00:00
rename-section-multiple.test [llvm-objcopy] Add basic support for --rename-section 2018-07-20 19:54:24 +00:00
rename-section.test [llvm-objcopy] Add support for --rename-section flags from gnu objcopy 2018-08-01 16:23:22 +00:00
section-index-unsupported.test [llvm-objcopy] Add test to check that architecture specific values are not used on wrong architecture. 2017-09-19 19:05:15 +00:00
sectionless-segment.test [llvm][llvm-objcopy] When outputting to binary don't output segments that cover no sections 2017-08-04 23:18:18 +00:00
segment-shift-section-remove.test [llvm-objcopy] Add support for removing sections 2017-10-10 18:47:09 +00:00
segment-shift.test [llvm-objcopy] Fix major layout bugs in llvm-objcopy 2017-10-04 17:44:42 +00:00
segment-test-remove-section.test [llvm-objcopy] Add support for removing sections 2017-10-10 18:47:09 +00:00
strict-no-add.test [lit, python] Always add quotes around the python path in lit 2018-08-06 22:37:44 +00:00
strip-all-and-keep-symbol.test [llvm-objcopy] Fix null symbol handling 2018-06-01 16:19:46 +00:00
strip-all-and-remove.test [llvm-strip] Add support for -remove-section 2018-05-11 05:27:06 +00:00
strip-all-gnu.test [llvm-objcopy] Add --strip-all-gnu and change --strip-all 2017-11-27 18:56:01 +00:00
strip-all.test Handle the lack of a symbol table correctly. 2018-07-26 20:05:31 +00:00
strip-debug-and-remove.test [llvm-strip] Add support for -remove-section 2018-05-11 05:27:06 +00:00
strip-debug.test [llvm-objcopy] Make --strip-debug strip .gdb_index 2018-07-31 21:26:35 +00:00
strip-dwo-groups.test [llvm-objcopy] Implement support for section groups 2018-03-21 19:53:44 +00:00
strip-dwo-inplace.test [llvm-objcopy] Make modifications in-place if output is not specified 2018-02-09 23:33:31 +00:00
strip-group-symbol.test [llvm-objcopy] NFC: Add some color to error() 2018-08-09 22:52:03 +00:00
strip-non-alloc.test [llvm-objcopy] Add -strip-non-alloc option to remove all non-allocated sections 2017-11-14 18:50:24 +00:00
strip-preserve-time.test [llvm-strip] Fix -p|--preserve-dates to not truncate output when used in-place. 2018-08-29 23:21:56 +00:00
strip-reloc-symbol.test [llvm-objcopy] NFC: Add some color to error() 2018-08-09 22:52:03 +00:00
strip-sections-keep.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
strip-sections-only-keep.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
strip-sections.test Reland "[llvm-objcopy] Add support for --strip-sections to remove all section headers leaving only program headers and loadable segment data" 2017-10-11 18:09:18 +00:00
strip-symbol.test [llvm-objcopy] Add --strip-symbol (-N) option 2018-05-09 21:36:54 +00:00
strip-unneeded.test [llvm-strip] Expose --strip-unneeded option 2018-06-07 10:05:25 +00:00
symbol-copy.test [llvm-objcopy] Add support for visibility 2018-01-02 23:01:24 +00:00
symtab-error-on-remove-strtab.test [llvm-objcopy] Add support for removing sections 2017-10-10 18:47:09 +00:00
symtab-link.test llvm-objcopy: Set sh_link to 0 on unrecognized symtab-linked sections. 2018-05-30 19:30:39 +00:00
triple-overlap.test Reland "[llvm-objcopy] Add support for nested and overlapping segments" 2017-09-19 21:37:35 +00:00
two-seg-remove-end.test [llvm-objcopy] Use physical instead of virtual address when aligning and placing sections in binary 2018-01-22 19:27:30 +00:00
two-seg-remove-first.test [llvm-objcopy] Use physical instead of virtual address when aligning and placing sections in binary 2018-01-22 19:27:30 +00:00
two-seg-remove-third-sec.test [llvm-objcopy] Use physical instead of virtual address when aligning and placing sections in binary 2018-01-22 19:27:30 +00:00
weaken-all.test [llvm-objcopy] Add --weaken option 2018-05-02 20:14:49 +00:00
weaken.test [llvm-objcopy] Add --weaken-symbol (-W) option 2018-04-27 19:16:27 +00:00