LLVM-INSTALL-NAME-TOOL(1)
π LLVM-INSTALL-NAME-TOOL(1) β the LLVM manual, bestie edition π
okay so real talk, this page is from the LLVM manual, and it's all about llvm-install-name-tool β the girlies who remix install-names and rpaths in Mach-O binaries. buckle up, we're getting into it π
β¨ NAME β¨
llvm-install-name-tool β the LLVM tool for manipulating install-names and rpaths. that's it, that's the whole vibe π¦
π«Ά SYNOPSIS π«Ά
llvm-install-name-tool [options] input
literally just options and then your input. no notes. periodt.
π DESCRIPTION π
llvm-install-name-tool is the tool that manipulates dynamic shared library install names and rpaths listed inside a Mach-O binary. it's giving surgeon but for library paths π₯
and for most scenarios? it works as a drop-in replacement for Apple's install_name_tool. no cap. it just slots right in there like it was always meant to be π
πΈ OPTIONS πΈ
okay bestie, listen β you need at least one of these options, and some of them can be combined with each other. but here's the tea: -add_rpath, -delete_rpath, and -rpath can only be combined in one invocation if they do not share the same <rpath> value. so like, no fighting over the same rpath, mwah π
-add_rpath <rpath>β adds an rpath named<rpath>to the specified binary. can be specified multiple times to add multiple rpaths, go off. but it throws an error if<rpath>is already listed in the binary π-change <old_install_name> <new_install_name>β changes an install name from<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 lowkey, the option is just ignored if<old_install_name>isn't 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>isn't listed in the binary π-delete_all_rpathsβ deletes all the rpaths from the binary. all of them. gone. iconic destructive energy β--help,-hβ prints a summary of command line options. your bestie when you're lost π§-id <name>β changes the shared library's identification name underLC_ID_DYLIBto<name>in the specified binary. if you specify it multiple times, only the last-idoption is selected (so pick a favourite, she's monogamous π). the option is ignored if the specified Mach-O binary isn't 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>isn't listed in the binary or if<new_rpath>is already listed in the binary π₯--version,-Vβ displays the version of thellvm-install-name-toolexecutable π
π¦ EXIT STATUS π¦
if there's an error, llvm-install-name-tool exits with a non-zero exit code. otherwise? it exits with code 0. clean, simple, slay β¨
π BUGS π
got bugs to report? pls don't suffer in silence bestie, visit:
https://github.com/llvm/llvm-project/labels/tools:llvm-objcopy/strip/
π SEE ALSO π
llvm-objcopy(1)β the sibling, the companion, the other main character π«Ά
π AUTHOR π
maintained by the LLVM Team (https://llvm.org/). the girlies behind the curtain π
π COPYRIGHT π
2003-2024, LLVM Project
no cap, that's the whole page. go remix those install names bestie π
mwah π β this was page 15 of the LLVM-INSTALL-NAME-TOOL(1) manual, dated 2024-04-14, brought to you by the LLVM manual fam. take care of her, she's iconic πΈ
π¦ where this page comes from
- ubuntu noble: llvm-16 1:16.0.6-23ubuntu4 Β· APACHE-2-LLVM-EXCEPTIONS
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms