LLVM-LIPO(1)
π llvm-lipo β the LLVM manual, but make it a group chat π
okay bestie, welcome to the llvm-lipo(1) page, straight out of the LLVM manual set. this is the little tool that does universal binary β¨thingsβ¨ and honestly? it's giving main character energy for Mach-O files. let's get into it π«Ά
πΈ NAME πΈ
llvm-lipo β the LLVM tool for manipulating universal binaries π
π SYNOPSIS π
llvm-lipo [filenamesβ¦] [options]
π¦ DESCRIPTION π¦
so what does llvm-lipo actually do, you ask? three iconic things, no cap:
- it can create universal binaries from Mach-O files π
- it can extract regular object files from universal binaries β¨
- it can display architecture information about both universal and regular files π
π COMMANDS π
bestie, listen β llvm-lipo supports the following commands, and they are mutually exclusive. pick one, you can't have them all, that's the rule π
-help,-hβ show the usage info and dip. that's it, that's the whole vibe.-versionβ display the version of this program. iconic, lowkey.-verify_arch <architecture 1> [<architecture 2> ...]β take a single input file and verify that the architectures you named are actually present in the file. if they are? exit with a status of0. if not? exit with a status of1. it's a vibe check fr fr.-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 asunknown(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 output 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, plus the thin flag followed by an architecture type. this one requires the output flag to be specified, and it outputs a thin binary of the specified architecture π§-createβ take at least one input file and require the output flag to be specified. outputs a universal binary combining the input files. it's the group project of binaries, honestly πΈ-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. outputs a universal binary where the specified architecture slice in the universal binary input gets replaced with the contents of the thin input file. out with the old, in with the new π-segalignβ an additional flag you can specify alongsidecreateandreplace. the segalign flag is followed by an architecture type and an alignment. the alignment is a hexadecimal number that is a power of2. outputs a file where the slice with the specified architecture has the specified alignment β
heads up bestie:-thin,-createand-replaceall require the output flag to be specified. do not forget it, i am begging you π
π BUGS π
found a bug? not the cute kind? to report bugs, please visit <https://github.com/llvm/llvm-project/issues/>. they will handle it, we're just the messenger π«Ά
π AUTHOR π
Maintained by the LLVM Team (https://llvm.org/). absolute legends, fr.
π COPYRIGHT π
2003-2025, LLVM Project. periodt. π
and that's the whole page, bestie! this was the LLVM release 14 version, dated 2025-05-22 β go forth and manipulate those universal binaries, you've got this β¨ππ
π¦ where this page comes from
- ubuntu questing: llvm-14 1:14.0.6-20ubuntu3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms