LLVM-INSTALL-NAME-TOOL(1)

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

πŸ’– llvm-install-name-tool(1) β€” the LLVM era πŸ’–

okay so bestie, welcome to the LLVM manual page for llvm-install-name-tool(1) β€” literally the glow-up you didn't know your Mach-O binaries needed ✨


🌸 NAME 🌸

llvm-install-name-tool β€” the LLVM tool for manipulating install-names and rpaths πŸŽ€


✨ SYNOPSIS ✨

llvm-install-name-tool [options] input

πŸ¦‹ DESCRIPTION πŸ¦‹

So llvm-install-name-tool is that girl who manipulates dynamic shared library install names and rpaths listed in a Mach-O binary πŸ’… no cap.

And for most scenarios, she works as a drop-in replacement for Apple's install_name_tool β€” like, she just slides in and does the job πŸ‘‘ periodt.


πŸ’œ OPTIONS πŸ’œ

okay so the rules first, because there are rules: you need at least one of the following options, and some options can be combined with other options. And listen β€” -add_rpath, -delete_rpath, and -rpath can be combined in an invocation only if they do not share the same <rpath> value. the way that's a vibe check on your flags, fr fr πŸ™ˆ

  • -add_rpath <rpath> β€” adds an rpath named <rpath> to the specified binary ✨ you can specify it multiple times to add multiple rpaths. it throws an error if <rpath> is already listed in the binary β€” not me getting caught duplicating πŸ’€
  • -change <old_install_name> <new_install_name> β€” changes an install name <old_install_name> to <new_install_name> in the specified binary πŸŽ€ can be specified multiple times to change multiple dependent shared library install names. and bestie, the option is ignored if <old_install_name> is not listed in the specified binary β€” it's giving unbothered πŸ’…
  • -delete_rpath <rpath> β€” deletes an rpath named <rpath> from the specified binary 🌸 can be specified multiple times to delete multiple rpaths. throws an error if <rpath> is not listed in the binary 😭
  • -delete_all_rpaths β€” deletes all rpaths from the binary πŸ”₯ clean slate energy, we love a fresh start
  • --help, -h β€” prints a summary of command line options 🫢 the lil pep talk before you start
  • -id <name> β€” changes the shared library's identification name under LC_ID_DYLIB to <name> in the specified binary ⭐ if specified multiple times, only the last -id option is selected (last one wins, main character energy πŸ‘‘). the option is ignored if the specified Mach-O binary is not a dynamic shared library πŸ™ˆ
  • -rpath <old_rpath> <new_rpath> β€” changes an rpath named <old_rpath> to <new_rpath> in the specified binary πŸ¦‹ can be specified multiple times to change multiple rpaths. throws an error if <old_rpath> is not listed in the binary or <new_rpath> is already listed in the binary 😀 both directions get a vibe check
  • --version, -V β€” displays the version of the llvm-install-name-tool executable πŸ’–

🌈 EXIT STATUS 🌈

llvm-install-name-tool exits with a non-zero exit code if there is an error. otherwise? she exits with code 0 ✨ slay.


πŸ’€ BUGS πŸ’€

to report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-objcopy/strip/> πŸ› bestie, don't suffer in silence, tell the team


πŸ“ SEE ALSO πŸ“

llvm-objcopy(1) β€” go give her a read too, iykyk 🧚


πŸ’œ AUTHOR πŸ’œ

maintained by the LLVM Team (https://llvm.org/) 🫢 absolute icons


2003-2023, LLVM Project ⭐


okay that's the whole page, no notes πŸ’… and a lil sign-off from the footer: this beauty is LLVM-INSTALL-NAME-TOOL(1), page 15, dated 2023-01-14, from LLVM β€” that's the source, that's the version, and that's the tea πŸ¦‹πŸ’–βœ¨

πŸ“¦ where this page comes from