LLVM-LIPO(1)

πŸ’– LLVM-LIPO(1) πŸ’–

okay so bestie, welcome to the LLVM-LIPO(1) manual page from the LLVM manual. This is the whole vibe for manipulating universal binaries, and it’s giving main-character energy fr fr. ✨

🌸 NAME 🌸

llvm-lipo β€” LLVM tool for manipulating universal binaries πŸ¦‹

✨ SYNOPSIS ✨

llvm-lipo [filenames...] [options]

πŸ’… DESCRIPTION πŸ’…

llvm-lipo can create universal binaries from Mach-O files, extract regular object files from universal binaries, and display architecture information about both universal and regular files. Literally three whole job descriptions in one little tool. πŸ”₯

πŸ‘‘ COMMANDS πŸ‘‘

llvm-lipo supports these mutually exclusive commands, so pick one bestie β€” not all of them at once:

  • -help, -h β€” display usage information and exit. short, sweet, slay.
  • -version β€” display the version of this program.
  • -verify_arch <architecture 1> [<architecture 2> ...] β€” take a single input file and verify the specified architectures are present in the file. If so then exit with a status of 0 else exit with a status of 1.
  • -archs β€” take a single input file and display the architectures present in the file. Each architecture is separated by a single whitespace. Unknown architectures are displayed as unknown(CPUtype,CPUsubtype).
  • -info β€” take at least one input file and display the descriptions of each file. The descriptions include the filename and architecture types separated by whitespace. Universal binaries are grouped together first, followed by thin files. The description looks like this: Architectures in the fat file: <filename> are: <architectures> Non-fat file: <filename> is architecture: <architecture>
  • -thin β€” take a single universal binary input file and the thin flag followed by an architecture type. Require the output flag to be specified, and output a thin binary of the specified architecture.
  • -create β€” take at least one input file and require the output flag to be specified. Output a universal binary combining the input files.
  • -replace β€” take a single universal binary input file and require the output flag to be specified. The replace flag is followed by an architecture type, and a thin input file. Output a universal binary with the specified architecture slice in the universal binary input replaced with the contents of the thin input file.
  • -segalign β€” additional flag that can be specified with -create and -replace. The segalign flag is followed by an architecture type, and an alignment. The alignment is a hexadecimal number that is a power of 2. Output a file in which the slice with the specified architecture has the specified alignment.

πŸ› BUGS πŸ›

To report bugs, please visit <‐ https://github.com/llvm/llvm-project/issues/>.

🌈 AUTHOR 🌈

Maintained by the LLVM Team (https://llvm.org/). 🫢

2003-2023, LLVM Project


okay that’s the whole page, bestie πŸ’œ source/version: LLVM, page 17, dated 2023-12-01. go manipulate those universal binaries responsibly, mwah πŸ’…βœ¨

πŸ“¦ where this page comes from