[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 Jan 17 09:03:31 PST 2022
avl added a comment.
@alexander-shaposhnikov My understaning is that current state of this patch is pretty close to above description:
> I kind of envisioned the following minimalistic interface exposed by the library (essentially just a single function):
> Error copy(const Config &C, const object::Object &O, raw_ostream &Out)
Error executeObjcopyOnBinary(const MultiFormatConfig &Config,
object::Binary &In, raw_ostream &Out);
This function does dispatch on input formats and calls format-specific function.
It is not a single function though. I think we may refactor it further with separate patches.
> My hope was that we would refactor Config significantly and clean it up with 2 major goals in mind: (1) have proper separation of concerns and structure: Config { ... <common options>, COFFConfig, ELFConfig, MachOConfig };
> (in particular, the fields which are not required anymore would be removed)
Config was refactored by following patches :
https://reviews.llvm.org/D99055
https://reviews.llvm.org/D102277
https://reviews.llvm.org/D103260
> (2) the functionality which is specific to the tool (e.g. creating a .DWO file) would live in the tool and would not be a part of the library. The same applies e.g. to setting file attributes.
these patches did it possible to leave creating a .DWO file, setting attributes, creating streams inside the tool:
https://reviews.llvm.org/D98582
https://reviews.llvm.org/D98511
https://reviews.llvm.org/D91028
https://reviews.llvm.org/D98426
https://reviews.llvm.org/D95478
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88827/new/
https://reviews.llvm.org/D88827
More information about the llvm-commits
mailing list