LLVM-LIPO(1)

πŸŽ€ NAME πŸŽ€

Bestie, meet llvm-lipo: the LLVM tool for manipulating universal binaries. It's giving main character energy in the Mach-O world πŸ’….

✨ SYNOPSIS ✨

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

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so 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. No cap β€” that's the whole vibe check ✨.

πŸ’– COMMANDS πŸ’–

Okay so llvm-lipo supports the following mutually exclusive commands (pick one, bestie β€” they do not share):

  • -help, -h β€” displays usage information and exits. Iconic little escape hatch ✨.
  • -version β€” displays the version of this program.
  • -verify_arch <architecture 1> [<architecture 2> ...] β€” takes a single input file and verifies the specified architectures are present in the file. If so, it exits with a status of 0; else it exits with a status of 1. Vibe check: pass or fail.
  • -archs β€” takes a single input file and displays the architectures present in the file. Each architecture is separated by a single whitespace. Unknown architectures are displayed as unknown(CPUtype,CPUsubtype). iykyk.
  • -info β€” takes at least one input file and displays 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 output is literally:

Architectures in the fat file: <filename> are: <architectures>
Non-fat file: <filename> is architecture: <architecture>
  • -thin β€” takes a single universal binary input file and the thin flag followed by an architecture type. It requires the output flag to be specified, and outputs a thin binary of the specified architecture.
  • -create β€” takes at least one input file and requires the output flag to be specified. It outputs a universal binary combining the input files.
  • -replace β€” takes a single universal binary input file and requires the output flag to be specified. The replace flag is followed by an architecture type and a thin input file. It outputs a universal binary with the specified architecture slice in the universal binary input replaced with the contents of the thin input file.
  • -segalign β€” an 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. It outputs 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/. Fr fr, the LLVM team wants the deets 🫢.

🌸 Author 🌸

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

The copyright is 2003-2026, LLVM Project, and that's iconic longevity πŸ’–.


Mwah πŸ’‹ β€” signing off from LLVM-LIPO(1): source/version 23, dated 2026-10-20. Stay iconic, bestie 🫢✨

πŸ“¦ where this page comes from
  • arch rolling: llvm 23.1.4-1 Β· Apache-2.0 WITH LLVM-exception
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms