Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started"
authorPetr Hosek <phosek@chromium.org>
Thu, 27 Jul 2017 04:35:30 +0000 (04:35 +0000)
committerPetr Hosek <phosek@chromium.org>
Thu, 27 Jul 2017 04:35:30 +0000 (04:35 +0000)
commit27bcf6a680481319e33db948c900fd75e788a1ef
treea675425b786503c0ba4fdfef440dfb4b828314e5
parent4eda7561b3f8c8ec6f909adbcda80a4479e93e70
Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started"

As discussed on llvm-dev I've implemented the first basic steps towards
llvm-objcopy/llvm-objtool (name pending).

This change adds the ability to copy (without modification) 64-bit
little endian ELF executables that have SHT_PROGBITS, SHT_NOBITS,
SHT_NULL and SHT_STRTAB sections.

Patch by Jake Ehrlich

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

llvm-svn: 309249
llvm/test/CMakeLists.txt
llvm/test/tools/llvm-objcopy/basic-copy.test [new file with mode: 0644]
llvm/test/tools/llvm-objcopy/empty-section.test [new file with mode: 0644]
llvm/test/tools/llvm-objcopy/program-headers.test [new file with mode: 0644]
llvm/tools/LLVMBuild.txt
llvm/tools/llvm-objcopy/CMakeLists.txt [new file with mode: 0644]
llvm/tools/llvm-objcopy/LLVMBuild.txt [new file with mode: 0644]
llvm/tools/llvm-objcopy/Object.cpp [new file with mode: 0644]
llvm/tools/llvm-objcopy/Object.h [new file with mode: 0644]
llvm/tools/llvm-objcopy/llvm-objcopy.cpp [new file with mode: 0644]
llvm/tools/llvm-objcopy/llvm-objcopy.h [new file with mode: 0644]