1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/test/tools/llvm-objcopy
Jake Ehrlich dd2311d56c [llvm-objcopy] Fix major layout bugs in llvm-objcopy
Somehow a few massive errors slipped though the cracks of testing.

1. The code in Segment::finalize was left over from the old layout
algorithm. In certain situations this would cause very strange issues
with segment layout. For instance in the shift-segments.test case it
would cause the second segment to have the same offset as the first.

2. In debugging this I discovered another issue. Namely section alignment
was not being computed based on Section->Align but instead
Section->Offset which is bizarre and makes no sense. I have no clue how
it worked in the first place. This issue is also fixed

3. Fixing #2 exposed a bug where things were not being written past the end
of the file that technically should have been. This was because in
certain cases (like overlapping-segments) the end of the file wouldn't
always be bumped if the offset could be chosen relative to an existing
segment that already had it's offset chosen. For fully nested segments
this is fine but for overlapping segments this leaves the end of the
file short. So I changed how the offset is bumped when looping though
segments.

Differential Revision: https://reviews.llvm.org/D38436

llvm-svn: 314918
2017-10-04 17:44:42 +00:00
..
Inputs [llvm-objcopy] Add support for dynamic relocations 2017-09-26 18:02:25 +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
adjacent-segments.test Reland "[llvm-objcopy] Add support for nested and overlapping segments" 2017-09-19 21:37:35 +00:00
basic-align-copy.test Reland "[llvm][llvm-objcopy] Added support for outputting to binary in llvm-objcopy" 2017-08-04 21:09:26 +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 Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started" 2017-08-01 00:33:58 +00:00
basic-relocations.test Reland "[llvm-objcopy] Add support for relocations" 2017-09-06 23:41:02 +00:00
common-symbol.test [llvm-objcopy] Add e_machine validity check for reserved section indexes 2017-09-13 03:04:50 +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.test Reland "[llvm-objcopy] Add support for .dynamic, .dynsym, and .dynstr" 2017-09-20 17:11:58 +00:00
empty-section.test Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started" 2017-08-01 00:33:58 +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
no-symbol-relocation.test Reland "[llvm-objcopy] Add support for relocations" 2017-09-06 23:41:02 +00:00
overlap-chain.test Reland "[llvm-objcopy] Add support for nested and overlapping segments" 2017-09-19 21:37:35 +00:00
program-headers.test Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started" 2017-08-01 00:33:58 +00:00
pt-phdr.test Reland "[llvm-objcopy] Add support for nested and overlapping segments" 2017-09-19 21:37:35 +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.test [llvm-objcopy] Fix major layout bugs in llvm-objcopy 2017-10-04 17:44:42 +00:00
symbol-copy.test Reland "[llvm] Add symbol table support to llvm-objcopy" 2017-08-29 02:12:03 +00:00
triple-overlap.test Reland "[llvm-objcopy] Add support for nested and overlapping segments" 2017-09-19 21:37:35 +00:00