Recommit "[llvm-objcopy][MachO] Support load commands used in executables/shared...
authorSeiya Nuta <nuta@seiya.me>
Mon, 19 Aug 2019 21:05:31 +0000 (21:05 +0000)
committerSeiya Nuta <nuta@seiya.me>
Mon, 19 Aug 2019 21:05:31 +0000 (21:05 +0000)
commit552bcb854cfdfb7ca4fed8b07630d69f06907971
tree8bdda92e016f2697872cc46989fe421d33d9d1c8
parent50affbe47fc97f9514ef32d657b36b54285da214
Recommit "[llvm-objcopy][MachO] Support load commands used in executables/shared libraries"

Summary:
This patch implements copying some load commands that appear in executables/shared libraries such as the indirect symbol table.

I don't add tests intentionally because this patch is incomplete: we need a layout algorithm for executables/shared libraries. I'll submit it as a separate patch with tests.

Reviewers: alexshap, rupprecht, jhenderson, compnerd

Reviewed By: alexshap

Subscribers: abrachet, mgorny, mgrang, MaskRay, mtrent, jakehehrlich, llvm-commits

Tags: #llvm

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

llvm-svn: 369298
llvm/tools/llvm-objcopy/CMakeLists.txt
llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp [new file with mode: 0644]
llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.h [new file with mode: 0644]
llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
llvm/tools/llvm-objcopy/MachO/MachOReader.cpp
llvm/tools/llvm-objcopy/MachO/MachOReader.h
llvm/tools/llvm-objcopy/MachO/MachOWriter.cpp
llvm/tools/llvm-objcopy/MachO/MachOWriter.h
llvm/tools/llvm-objcopy/MachO/Object.h