[all-commits] [llvm/llvm-project] f75da0: [llvm-objcopy][NFC] Move core implementation of ll...

avl-llvm via All-commits all-commits at lists.llvm.org
Thu Feb 17 02:12:38 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f75da0c8e65cf1b09012a8b62cd7f3e9a646bbc9
      https://github.com/llvm/llvm-project/commit/f75da0c8e65cf1b09012a8b62cd7f3e9a646bbc9
  Author: Alexey Lapshin <a.v.lapshin at mail.ru>
  Date:   2022-02-17 (Thu, 17 Feb 2022)

  Changed paths:
    A llvm/include/llvm/ObjCopy/COFF/COFFConfig.h
    A llvm/include/llvm/ObjCopy/COFF/COFFObjcopy.h
    A llvm/include/llvm/ObjCopy/CommonConfig.h
    A llvm/include/llvm/ObjCopy/ConfigManager.h
    A llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
    A llvm/include/llvm/ObjCopy/ELF/ELFObjcopy.h
    A llvm/include/llvm/ObjCopy/MachO/MachOConfig.h
    A llvm/include/llvm/ObjCopy/MachO/MachOObjcopy.h
    A llvm/include/llvm/ObjCopy/MultiFormatConfig.h
    A llvm/include/llvm/ObjCopy/ObjCopy.h
    A llvm/include/llvm/ObjCopy/wasm/WasmConfig.h
    A llvm/include/llvm/ObjCopy/wasm/WasmObjcopy.h
    M llvm/lib/CMakeLists.txt
    A llvm/lib/ObjCopy/Archive.cpp
    A llvm/lib/ObjCopy/Archive.h
    A llvm/lib/ObjCopy/CMakeLists.txt
    A llvm/lib/ObjCopy/COFF/COFFObjcopy.cpp
    A llvm/lib/ObjCopy/COFF/Object.cpp
    A llvm/lib/ObjCopy/COFF/Object.h
    A llvm/lib/ObjCopy/COFF/Reader.cpp
    A llvm/lib/ObjCopy/COFF/Reader.h
    A llvm/lib/ObjCopy/COFF/Writer.cpp
    A llvm/lib/ObjCopy/COFF/Writer.h
    A llvm/lib/ObjCopy/ConfigManager.cpp
    A llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    A llvm/lib/ObjCopy/ELF/Object.cpp
    A llvm/lib/ObjCopy/ELF/Object.h
    A llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
    A llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.h
    A llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
    A llvm/lib/ObjCopy/MachO/MachOReader.cpp
    A llvm/lib/ObjCopy/MachO/MachOReader.h
    A llvm/lib/ObjCopy/MachO/MachOWriter.cpp
    A llvm/lib/ObjCopy/MachO/MachOWriter.h
    A llvm/lib/ObjCopy/MachO/Object.cpp
    A llvm/lib/ObjCopy/MachO/Object.h
    A llvm/lib/ObjCopy/ObjCopy.cpp
    A llvm/lib/ObjCopy/wasm/Object.cpp
    A llvm/lib/ObjCopy/wasm/Object.h
    A llvm/lib/ObjCopy/wasm/Reader.cpp
    A llvm/lib/ObjCopy/wasm/Reader.h
    A llvm/lib/ObjCopy/wasm/WasmObjcopy.cpp
    A llvm/lib/ObjCopy/wasm/Writer.cpp
    A llvm/lib/ObjCopy/wasm/Writer.h
    M llvm/tools/llvm-objcopy/CMakeLists.txt
    R llvm/tools/llvm-objcopy/COFF/COFFConfig.h
    R llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp
    R llvm/tools/llvm-objcopy/COFF/COFFObjcopy.h
    R llvm/tools/llvm-objcopy/COFF/Object.cpp
    R llvm/tools/llvm-objcopy/COFF/Object.h
    R llvm/tools/llvm-objcopy/COFF/Reader.cpp
    R llvm/tools/llvm-objcopy/COFF/Reader.h
    R llvm/tools/llvm-objcopy/COFF/Writer.cpp
    R llvm/tools/llvm-objcopy/COFF/Writer.h
    R llvm/tools/llvm-objcopy/CommonConfig.h
    R llvm/tools/llvm-objcopy/ConfigManager.cpp
    R llvm/tools/llvm-objcopy/ConfigManager.h
    R llvm/tools/llvm-objcopy/ELF/ELFConfig.h
    R llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
    R llvm/tools/llvm-objcopy/ELF/ELFObjcopy.h
    R llvm/tools/llvm-objcopy/ELF/Object.cpp
    R llvm/tools/llvm-objcopy/ELF/Object.h
    R llvm/tools/llvm-objcopy/MachO/MachOConfig.h
    R llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
    R llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.h
    R llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
    R llvm/tools/llvm-objcopy/MachO/MachOObjcopy.h
    R llvm/tools/llvm-objcopy/MachO/MachOReader.cpp
    R llvm/tools/llvm-objcopy/MachO/MachOReader.h
    R llvm/tools/llvm-objcopy/MachO/MachOWriter.cpp
    R llvm/tools/llvm-objcopy/MachO/MachOWriter.h
    R llvm/tools/llvm-objcopy/MachO/Object.cpp
    R llvm/tools/llvm-objcopy/MachO/Object.h
    R llvm/tools/llvm-objcopy/MultiFormatConfig.h
    A llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    A llvm/tools/llvm-objcopy/ObjcopyOptions.h
    M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
    R llvm/tools/llvm-objcopy/llvm-objcopy.h
    R llvm/tools/llvm-objcopy/wasm/Object.cpp
    R llvm/tools/llvm-objcopy/wasm/Object.h
    R llvm/tools/llvm-objcopy/wasm/Reader.cpp
    R llvm/tools/llvm-objcopy/wasm/Reader.h
    R llvm/tools/llvm-objcopy/wasm/WasmConfig.h
    R llvm/tools/llvm-objcopy/wasm/WasmObjcopy.cpp
    R llvm/tools/llvm-objcopy/wasm/WasmObjcopy.h
    R llvm/tools/llvm-objcopy/wasm/Writer.cpp
    R llvm/tools/llvm-objcopy/wasm/Writer.h
    A llvm/unittests/ObjCopy/CMakeLists.txt
    A llvm/unittests/ObjCopy/ObjCopyTest.cpp

  Log Message:
  -----------
  [llvm-objcopy][NFC] Move core implementation of llvm-objcopy into separate library.

This patch moves core implementation of llvm-objcopy into Object library
(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);

```

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




More information about the All-commits mailing list