LLVM-INSTALL-NAME-TOOL(1)

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

okay bestie, so this is the manual page for llvm-install-name-tool, section 1 of the LLVM manuals. it's giving "Mach-O makeover station" and honestly? iconic. let's get into it πŸŽ€


✨ NAME ✨

llvm-install-name-tool β€” the LLVM tool for manipulating install-names and rpaths. no cap, that's literally the whole job description πŸ’…


✨ SYNOPSIS ✨

llvm-install-name-tool [options] input

🌸 DESCRIPTION 🌸

so llvm-install-name-tool is a tool to manipulate dynamic shared library install names and rpaths listed in a Mach-O binary. that's the vibe. πŸ¦‹

and for most scenarios, it works as a drop-in replacement for Apple's install_name_tool. bestie said "I'll be you but LLVM" and meant it fr fr.


πŸ’… OPTIONS πŸ’…

at least one of the following options is required, and some options can be combined with other options. ok but listen β€” options -add_rpath, -delete_rpath, and -rpath can be combined in an invocation only if they do not share the same <rpath> value. so like, no fighting over the same rpath pls πŸ™ˆ

  • -add_rpath <rpath> β€” add an rpath named <rpath> to the specified binary. can be specified multiple times to add multiple rpaths. it throws an error if <rpath> is already listed in the binary (no duplicates, this is a no-repeat zone πŸ’€).
  • -change <old_install_name> <new_install_name> β€” change 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. lowkey chill of it tbh.
  • -delete_rpath <rpath> β€” delete 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. girl has to actually exist first βœ‹
  • -delete_all_rpaths β€” deletes all rpaths from the binary. every single one. clean slate. main character energy 🧹✨
  • --help, -h β€” print a summary of command line options. your little cheat sheet 🫢
  • -id <name> β€” change 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 (soz to all the earlier ones, they're cancelled). the option is ignored if the specified Mach-O binary is not a dynamic shared library.
  • -rpath <old_rpath> <new_rpath> β€” change 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 if <new_rpath> is already listed in the binary. glow-up accepted only if the new name is actually available πŸ’–
  • --version, -V β€” display the version of the llvm-install-name-tool executable. slay, what version are we on today ⭐

πŸ”₯ EXIT STATUS πŸ”₯

llvm-install-name-tool exits with a non-zero exit code if there is an error. otherwise, it exits with code 0. that's it, that's the whole mood. 0 = ate, non-zero = we have a situation 😭


πŸ’€ BUGS πŸ’€

to report bugs, please visit:

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

not me sending you straight to GitHub, but that's where the bug reports live bestie πŸ›


🌈 SEE ALSO 🌈

the sibling. the family. iykyk πŸ’œ


πŸ‘‘ AUTHOR πŸ‘‘

maintained by the LLVM Team (https://llvm.org/). they're the ones keeping this whole thing alive, periodt.


2003-2025, LLVM Project


and that's the whole page, bestie!! every flag, every error, every "throws an error" β€” all here, none skipped, we don't do that here πŸ’…

this page is from the LLVM Project, version 20, dated 2025-09-03, and the title up top was LLVM-INSTALL-NAME-TOOL(1) β€” so now you know exactly where this lil doc came from πŸ¦‹βœ¨

πŸ“¦ where this page comes from