LLVM-INSTALL-NAME-TOOL(1)

πŸ“¦ version 23.1.3, in centos-stream 9

πŸ’… LLVM-INSTALL-NAME-TOOL πŸ’…

okay bestie so this is the llvm-install-name-tool page from the LLVM manual, and i'm gonna walk you through it like we're texting at 1am 🫢


✨ NAME ✨

llvm-install-name-tool β€” the LLVM tool for manipulating install-names and rpaths, no cap πŸ”₯


🌸 SYNOPSIS 🌸

llvm-install-name-tool [options] input

πŸ¦‹ DESCRIPTION πŸ¦‹

so llvm-install-name-tool is literally the tool you use to mess with dynamic shared library install names and rpaths that are listed in a Mach-O binary. it's giving surgeon but make it linker-adjacent πŸ’…

and here's the slay: for most scenarios, it works as a drop-in replacement for Apple's install_name_tool. iykyk 😌✨


πŸŽ€ OPTIONS πŸŽ€

okay so the rules first, bestie, because they matter: at least one of the following options is required, and some options can be combined with other options. the options -add_rpath, -delete_rpath, and -rpath can be combined in an invocation only if they do not share the same <rpath> value. that's the whole vibe check, don't fight it 🫢

  • -add_rpath <rpath> β€” adds an rpath named <rpath> to the specified binary. you can specify it multiple times to add multiple rpaths. throws an error if <rpath> is already listed in the binary πŸ™ˆ
  • -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. the option is ignored if <old_install_name> is not listed in the specified binary πŸ’«
  • -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. yes, all of them. it's giving spring cleaning 🧹✨
  • --help, -h β€” prints a summary of command line options. the classic, the icon, the legend πŸ‘‘
  • -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. the option is ignored if the specified Mach-O binary is not a dynamic shared library 🌈
  • -o <file>, --output <file> β€” writes the modified binary to <file> instead of updating the input file in place. main character energy: no destructive edits unless you ask πŸŽ€
  • -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 😭
  • --version, -V β€” displays the version of the llvm-install-name-tool executable. love a little self-intro, periodt πŸ’œ

⭐ EXIT STATUS ⭐

llvm-install-name-tool exits with a non-zero exit code if there is an error. otherwise, it exits with code 0. simple as that, bestie πŸ’–


πŸ“ BUGS πŸ“

to report bugs, please visit:

https://github.com/llvm/llvm-project/labels/tools:llvm-objcopy/strip/

go be a snitch, it's for the greater good 🧚✨


πŸ”₯ SEE ALSO πŸ”₯

  • llvm-objcopy(1) β€” the sibling, the other one, the linked one πŸ’«

πŸ‘‘ AUTHOR πŸ‘‘

maintained by the LLVM Team (https://llvm.org/) β€” shoutout the whole team fr fr 🫢


2003-2026, LLVM Project πŸ’…


and that's the page!! mwah πŸ’– this was page 23, dated 2026-10-06, from the LLVM-INSTALL-NAME-TOOL(1) manual β€” go forth and rename ur install names, bestie, you're gonna slay πŸ¦‹πŸŽ€βœ¨

πŸ“¦ where this page comes from