[PATCH] D61927: [tools]Introduce llvm-lipo

Alexander Shaposhnikov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 14 18:29:39 PDT 2019


alexshap created this revision.
alexshap added reviewers: smeenai, lhames, jhenderson, jakehehrlich.
alexshap created this object with visibility "All Users".
Herald added a subscriber: mgorny.
Herald added a project: LLVM.

This diff starts the implementation of llvm-lipo which is supposed to be a drop-in replacement for the well-known tool lipo.
Lipo manipulates fat binaries, in particular, it can create a "fat" binary, extract regular object files from a fat binary, 
report some useful information about the input.

In this diff to get things started we implement the option -verify_arch.
Next we are planning to contribute the implementation of

"-archs": (along the lines of the current diff).

"-thin": (takes a fat a binary binary and writes the "slice" for a particular architecture into a separate file "as is". libObject's functionality is enough for it.

"-create": (takes multiple regular mach-o object files for different architectures and generates a "fat" binary, we are planning  to use the standard libObject functionality for reading/inspecting/validating the input files, 
populate  MachO::fat_header and MachO::fat_arch structures and write them and the slices "as is".

Test plan:
make check-all


Repository:
  rL LLVM

https://reviews.llvm.org/D61927

Files:
  test/tools/llvm-lipo/verify-arch-macho-binary.test
  test/tools/llvm-lipo/verify-arch-universal-binary.test
  tools/llvm-lipo/CMakeLists.txt
  tools/llvm-lipo/LLVMBuild.txt
  tools/llvm-lipo/llvm-lipo.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61927.199542.patch
Type: text/x-patch
Size: 15292 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190515/79dea769/attachment.bin>


More information about the llvm-commits mailing list