[PATCH] D33964: [LLVM][llvm-objcopy] Added basic plumbing to get things started

Jake Ehrlich via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 31 15:56:30 PDT 2017


jakehehrlich updated this revision to Diff 109019.
jakehehrlich added a comment.

1. Switched the ordering on sections in segments to use OriginalOffset instead of Address. This should be the same in general but also handles non-allocated sections being added to non PT_LOAD segments and is consistent with the rest of the code in the system.
2. Added llvm-objcopy to lit.cfg. This caused an odd incompatibility on windows but not linux
3. Added addresses to program-header.test. Without this the tests are invalid and before change 1) this would cause undefined behavior in the ordering of sections in segments because the address was 0x0 for everything. For some reason this error only occurred on windows. It would appear that the allocator on linux increases memory addresses monotonically and this caused the bug to be disguised. So now tests are valid


Repository:
  rL LLVM

https://reviews.llvm.org/D33964

Files:
  test/CMakeLists.txt
  test/lit.cfg
  test/tools/llvm-objcopy/basic-copy.test
  test/tools/llvm-objcopy/empty-section.test
  test/tools/llvm-objcopy/program-headers.test
  tools/LLVMBuild.txt
  tools/llvm-objcopy/CMakeLists.txt
  tools/llvm-objcopy/LLVMBuild.txt
  tools/llvm-objcopy/Object.cpp
  tools/llvm-objcopy/Object.h
  tools/llvm-objcopy/llvm-objcopy.cpp
  tools/llvm-objcopy/llvm-objcopy.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33964.109019.patch
Type: text/x-patch
Size: 28963 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170731/de9dd3b7/attachment.bin>


More information about the llvm-commits mailing list