LLVM-INSTALL-NAME-TOOL(1)

πŸ“¦
version 12.0.1 Β· 4 versions
, in fedora 43, fedora 44

✨ LLVM-INSTALL-NAME-TOOL(1) ✨

okay bestie, welcome to the llvm-install-name-tool page β€” it lives in section 1 of the LLVM manual and it's literally the girlboss of Mach-O library metadata πŸ’…


πŸŽ€ 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 a tool that manipulates dynamic shared library install names and rpaths listed in a Mach-O binary. it's giving surgeon but for metadata ✨

and for most scenarios?? it works as a drop-in replacement for Apple's install_name_tool. iconic behavior honestly πŸ‘‘


✨ OPTIONS ✨

heads up babes: at least one of the following options is required, and some options can be combined with other options. 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, play nice 🫢
  • -add_rpath <rpath> β€” adds an rpath named <rpath> to the specified binary. you can specify it multiple times to add multiple rpaths (yes queen, stacking). 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. this option gets ignored if <old_install_name> is not listed in the specified binary (note: the original page says "specfied", we're just gonna move past that πŸ’€)
  • -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. scorched earth, no survivors πŸ”₯
  • --help, -h β€” prints a summary of command line options. the classic "what do i even do here" button πŸ’œ
  • -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 standing, main character energy). this 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 if <new_rpath> is already listed in the binary 😀
  • --version, -V β€” displays the version of the llvm-install-name-tool executable. gotta know what era we're in ⭐

πŸ’€ 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, slay 🌈


πŸ› BUGS πŸ›

to report bugs, please visit <https://bugs.llvm.org/> β€” go tell them everything bestie, they wanna know 🫢


πŸ‘€ SEE ALSO πŸ‘€

llvm-objcopy(1)


🌟 AUTHOR 🌟

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


2003-2024, LLVM Project


and that's the whole page, bestie!! this was page 12, dated 2024-07-18, from the LLVM manual β€” iykyk πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from