[PATCH] D88827: [llvm-objcopy][NFC] Move core implementation of llvm-objcopy into separate library.

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 5 05:30:01 PDT 2020


avl created this revision.
avl added reviewers: jhenderson, rupprecht, grimar, alexshap, MaskRay.
Herald added subscribers: llvm-commits, abrachet, sunfish, hiraditya, sbc100, mgorny, emaste.
Herald added a reviewer: espindola.
Herald added a project: LLVM.
avl requested review of this revision.
Herald added a subscriber: aheejin.

This patch moves core implementation of llvm-objcopy into separate library ObjCopy
(http://lists.llvm.org/pipermail/llvm-dev/2020-September/145075.html).
The functionality for parsing input options is left inside tools/llvm-objcopy.
The interface of ObjCopy library:

ObjCopy/ELF/ELFObjcopy.h
Error executeObjcopyOnIHex(const CopyConfig &Config, MemoryBuffer &In,

  Buffer &Out);

Error executeObjcopyOnRawBinary(const CopyConfig &Config, MemoryBuffer &In,

  Buffer &Out);

Error executeObjcopyOnBinary(const CopyConfig &Config,

  object::ELFObjectFileBase &In, Buffer &Out);

ObjCopy/COFF/COFFObjcopy.h
Error executeObjcopyOnBinary(const CopyConfig &Config,

  object::COFFObjectFile &In, Buffer &Out);

ObjCopy/MachO/MachOObjcopy.h
Error executeObjcopyOnBinary(const CopyConfig &Config,

  object::MachOObjectFile &In, Buffer &Out);

ObjCopy/wasm/WasmObjcopy.h
Error executeObjcopyOnBinary(const CopyConfig &Config,

  object::WasmObjectFile &In, Buffer &Out);


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D88827

Files:
  llvm/include/llvm/ObjCopy/Buffer.h
  llvm/include/llvm/ObjCopy/COFF/COFFObjcopy.h
  llvm/include/llvm/ObjCopy/COFF/Object.h
  llvm/include/llvm/ObjCopy/COFF/Reader.h
  llvm/include/llvm/ObjCopy/COFF/Writer.h
  llvm/include/llvm/ObjCopy/CopyConfig.h
  llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
  llvm/include/llvm/ObjCopy/ELF/ELFObjcopy.h
  llvm/include/llvm/ObjCopy/ELF/Object.h
  llvm/include/llvm/ObjCopy/MachO/MachOLayoutBuilder.h
  llvm/include/llvm/ObjCopy/MachO/MachOObjcopy.h
  llvm/include/llvm/ObjCopy/MachO/MachOReader.h
  llvm/include/llvm/ObjCopy/MachO/MachOWriter.h
  llvm/include/llvm/ObjCopy/MachO/Object.h
  llvm/include/llvm/ObjCopy/wasm/Object.h
  llvm/include/llvm/ObjCopy/wasm/Reader.h
  llvm/include/llvm/ObjCopy/wasm/WasmObjcopy.h
  llvm/include/llvm/ObjCopy/wasm/Writer.h
  llvm/lib/CMakeLists.txt
  llvm/lib/LLVMBuild.txt
  llvm/lib/ObjCopy/Buffer.cpp
  llvm/lib/ObjCopy/CMakeLists.txt
  llvm/lib/ObjCopy/COFF/COFFObjcopy.cpp
  llvm/lib/ObjCopy/COFF/Object.cpp
  llvm/lib/ObjCopy/COFF/Reader.cpp
  llvm/lib/ObjCopy/COFF/Writer.cpp
  llvm/lib/ObjCopy/CopyConfig.cpp
  llvm/lib/ObjCopy/ELF/ELFConfig.cpp
  llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
  llvm/lib/ObjCopy/ELF/Object.cpp
  llvm/lib/ObjCopy/LLVMBuild.txt
  llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
  llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
  llvm/lib/ObjCopy/MachO/MachOReader.cpp
  llvm/lib/ObjCopy/MachO/MachOWriter.cpp
  llvm/lib/ObjCopy/MachO/Object.cpp
  llvm/lib/ObjCopy/wasm/Object.cpp
  llvm/lib/ObjCopy/wasm/Reader.cpp
  llvm/lib/ObjCopy/wasm/WasmObjcopy.cpp
  llvm/lib/ObjCopy/wasm/Writer.cpp
  llvm/tools/llvm-objcopy/Buffer.cpp
  llvm/tools/llvm-objcopy/Buffer.h
  llvm/tools/llvm-objcopy/CMakeLists.txt
  llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp
  llvm/tools/llvm-objcopy/COFF/COFFObjcopy.h
  llvm/tools/llvm-objcopy/COFF/Object.cpp
  llvm/tools/llvm-objcopy/COFF/Object.h
  llvm/tools/llvm-objcopy/COFF/Reader.cpp
  llvm/tools/llvm-objcopy/COFF/Reader.h
  llvm/tools/llvm-objcopy/COFF/Writer.cpp
  llvm/tools/llvm-objcopy/COFF/Writer.h
  llvm/tools/llvm-objcopy/CopyConfig.cpp
  llvm/tools/llvm-objcopy/CopyConfig.h
  llvm/tools/llvm-objcopy/ELF/ELFConfig.cpp
  llvm/tools/llvm-objcopy/ELF/ELFConfig.h
  llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
  llvm/tools/llvm-objcopy/ELF/ELFObjcopy.h
  llvm/tools/llvm-objcopy/ELF/Object.cpp
  llvm/tools/llvm-objcopy/ELF/Object.h
  llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
  llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.h
  llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
  llvm/tools/llvm-objcopy/MachO/MachOObjcopy.h
  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.cpp
  llvm/tools/llvm-objcopy/MachO/Object.h
  llvm/tools/llvm-objcopy/ParseConfig.cpp
  llvm/tools/llvm-objcopy/ParseConfig.h
  llvm/tools/llvm-objcopy/llvm-objcopy.cpp
  llvm/tools/llvm-objcopy/wasm/Object.cpp
  llvm/tools/llvm-objcopy/wasm/Object.h
  llvm/tools/llvm-objcopy/wasm/Reader.cpp
  llvm/tools/llvm-objcopy/wasm/Reader.h
  llvm/tools/llvm-objcopy/wasm/WasmObjcopy.cpp
  llvm/tools/llvm-objcopy/wasm/WasmObjcopy.h
  llvm/tools/llvm-objcopy/wasm/Writer.cpp
  llvm/tools/llvm-objcopy/wasm/Writer.h
  llvm/unittests/CMakeLists.txt
  llvm/unittests/ObjCopy/CMakeLists.txt
  llvm/unittests/ObjCopy/ObjCopyTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D88827.296161.patch
Type: text/x-patch
Size: 60991 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201005/8d02484c/attachment-0001.bin>


More information about the llvm-commits mailing list