LLVM-LIPO(1)

πŸ“¦ version 15.0.7, in opensuse-leap 16.0

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

okay so welcome to the LLVM manual page for llvm-lipo, bestie 🫢 this is the whole vibe: universal binaries, thin slices, architecture checks β€” and yes, she’s iconic. let’s go πŸ’–

✨ 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. it’s giving β€œone tool, three jobs, zero boring energy” ✨

πŸ”₯ COMMANDS πŸ”₯

llvm-lipo supports the following mutually exclusive commands β€” so pick exactly one, okay? no mixing, no matching, no chaos πŸ’…

  • -help, -h β€” display usage information and exit. that’s it, that’s the whole command πŸŽ€
  • -version β€” display the version of this program. cute and simple πŸ’–
  • -verify_arch <architecture 1> [<architecture 2> ...] β€” take a single input file and verify the specified architectures are present in the file. if they are, exit with a status of 0; otherwise exit with a status of 1. it’s literally a vibe check for architectures πŸ¦‹
  • -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). no cap, that’s the whole format πŸ‘‘
  • -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 templates are:
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. this requires the output flag to be specified, and outputs 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. it’s giving β€œput the slices together, bestie” 🧚
  • -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/. seriously, they want to know πŸ™ˆ

🫢 AUTHOR 🫢

maintained by the LLVM Team (https://llvm.org/). periodt πŸ’œ

2003-2023, LLVM Project


later bestie β€” this page is from LLVM-LIPO(1), version 15, dated 2023-01-14 πŸ«ΆπŸ’– mwah πŸ’‹

πŸ“¦ where this page comes from