LLVM-LIPO(1)
π LLVM-LIPO(1) β hey bestie, welcome to the lipo page π
okay so real quick: this is llvm-lipo, one of the LLVM tools, and honestly? she's that girl for universal binaries. we're gonna go through the whole thing together, no skips, no cap β¨
β¨ NAME β¨
llvm-lipo β the LLVM tool for manipulating universal binaries π¦
πΈ SYNOPSIS πΈ
llvm-lipo [filenames...] [options]
π DESCRIPTION π
so basically llvm-lipo can do three iconic things, and she does them all flawlessly:
- create universal binaries out of Mach-O files π₯
- extract the regular object files out of a universal binary (get her out of the group chat energy) π
- display architecture info about both universal and regular files π
π COMMANDS π
llvm-lipo supports the following commands, and heads up bestie β they are mutually exclusive, so pick one, you cannot collect them all π
-help,-hβ displays usage information and exits. little shortcut, big slay.-versionβ displays the version of this program. that's it, that's the vibe check β-verify_arch <architecture 1> [<architecture 2> ...]β takes a single input file and verifies that the architectures you specified are actually present in the file. if they are, it exits with a status of0. if not? exits with a status of1π so you know immediately.-archsβ takes a single input file and displays the architectures present in it. each architecture is separated by a single whitespace. unknown architectures get shown asunknown(CPUtype,CPUsubtype)π§-infoβ takes at least one input file and displays the description of each one. these descriptions include the filename and the architecture types, separated by whitespace. universal binaries get grouped together first, then the thin files follow. and the formats look exactly like this, keep them verbatim boo:
Architectures in the fat file: <filename> are: <architectures>
Non-fat file: <filename> is architecture: <architecture>
-thinβ takes a single universal binary input file, plus the thin flag followed by an architecture type. it requires the output flag to be specified, and it outputs a thin binary of the specified architecture. diet culture but make it compiler tooling β¨-createβ takes at least one input file and requires the output flag to be specified. outputs a universal binary that combines all the input files together. friendship bracelet but for architectures π«Ά-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 then a thin input file. outputs a universal binary where the specified architecture slice in the universal binary input got replaced with the contents of that thin input file. glow-up via transplant π-segalignβ this is an additional flag, so you can specify it alongsidecreateandreplace. the segalign flag is followed by an architecture type, and then an alignment. that alignment is a hexadecimal number that is a power of 2 π’ outputs a file in which the slice with the specified architecture has the specified alignment. precision queen π
π¦ BUGS π¦
found something cursed? to report bugs, please visit <https://github.com/llvm/llvm-project/issues/>. don't suffer in silence bestie, tell the maintainers π
π AUTHOR π
maintained by the LLVM Team (https://llvm.org/). literal icons, honestly π
β COPYRIGHT β
2003-2026, LLVM Project β respect the legacy, periodt π
okay that's the whole page, you ate that π this was LLVM-LIPO(1) from the LLVM manual, page 23, dated 2026-10-06 β go forth and lipo responsibly, mwah ππΈ
π¦ where this page comes from
- centos-stream 9: llvm 23.1.3-1.el9 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- centos-stream 9: llvm 23.1.3-1.el9 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms