blob: b54ce02190c1882084bc6032856905a6eb6ee5ab [file] [view] [edit]
# llvm-install-name-tool - LLVM tool for manipulating install-names and rpaths
```{program} llvm-install-name-tool
```
## SYNOPSIS
{program}`llvm-install-name-tool` \[*options*\] *input*
## DESCRIPTION
{program}`llvm-install-name-tool` is a tool to manipulate dynamic shared library
install names and rpaths listed in a Mach-O binary.
For most scenarios, it works as a drop-in replacement for Apple's
{program}`install_name_tool`.
## OPTIONS
At least one of the following options are required, and some options can be
combined with other options. Options {option}`-add_rpath`, {option}`-delete_rpath`,
and {option}`-rpath` can be combined in an invocation only if they do not share
the same `<rpath>` value.
:::{option} -add_rpath <rpath>
Add an rpath named `<rpath>` to the specified binary. Can be specified multiple
times to add multiple rpaths. Throws an error if `<rpath>` is already listed in
the binary.
:::
:::{option} -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. Option is ignored if `<old_install_name>` is not listed
in the specified binary.
:::
:::{option} -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.
:::
:::{option} -delete_all_rpaths
Deletes all rpaths from the binary.
:::
:::{option} --help, -h
Print a summary of command line options.
:::
:::{option} -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 {option}`-id` option is
selected. Option is ignored if the specified Mach-O binary is not a dynamic shared library.
:::
:::{option} -o <file>, --output <file>
Write the modified binary to `<file>` instead of updating the input file in place.
:::
:::{option} -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 `<new_rpath>` is already listed in the binary.
:::
:::{option} --version, -V
Display the version of the {program}`llvm-install-name-tool` executable.
:::
## EXIT STATUS
{program}`llvm-install-name-tool` exits with a non-zero exit code if there is an error.
Otherwise, it exits with code 0.
## BUGS
To report bugs, please visit \<<https://github.com/llvm/llvm-project/labels/tools:llvm-objcopy/strip/>>.
## SEE ALSO
{manpage}`llvm-objcopy(1)`