REDO_PREBINDING(1)REDO_PREBINDING(1)NAMEredo_prebinding - redo the prebinding of an executable or dynamic
SYNOPSISredo_prebinding [-c | -p | -d] [-i] [-z] [-r rootdir] [-e exe‐
cutable_path] [-seg_addr_table table_file_name] [-seg_addr_table_file‐
name pathname] [-o output_file] input_file
Redo_prebinding is used to redo the prebinding of an executable or
dynamic library when one of the dependent dynamic libraries changes.
The input file, executable or dynamic library, must have initially been
prebound for this program to redo the prebinding. Also all depended
libraries must have their prebinding up to date. So when redoing the
prebinding for libraries they must be done in dependency order. Also
when building executables or dynamic libraries that are to be prebound
(with the -prebind options to ld(1) or libtool(1)) the dependent
libraries must have their prebinding up to date or the result will not
The options allow for different types of checking for use in shell
scripts. Only one of -c, -p or -d can be used at a time. If redo_pre‐
binding redoes the prebinding on an input file it will run
/usr/bin/objcunique if it exists on the result.
OPTIONS-c only check if the file needs to have it's prebinding redone and
return status. A 0 exit means the file's prebinding is up to
date, 1 means it needs to be redone and 2 means it could not be
checked for reasons like a dependent library is missing (an
error message is printed in these cases).
-p check only for prebound files and return status. An exit status
of 1 means the file is a Mach-O that could have been prebound
and is not otherwise the exit status is 0.
-d check only for dynamic shared library files and return status.
An exit status of 0 means the file is a dynamic shared library,
1 means the file is not, 2 means there is some mix in the archi‐
-i ignore non-prebound files (useful when running on all types of
-z zero out the prebind check sum in the output if it has one.
replace any dependent library's "@executable_path" prefix with
the executable_path argument.
The -seg_addr_table option is used when the input a dynamic
library and if specified the table entry for the install_name of
the dynamic library is used for checking and the address to
relocate the library to as it prefered address.
Use pathname instead of the install name of the library for
matching an entry in the segment address table.
prepend the rootdir argument to all dependent libraries.
write the updated file into output_file rather than back into
the input file.
With no -c, -p or -d an exit status of 0 means success and 2 means it
could not be done for reasons like a dependent library is missing (an
error message is printed in these cases). And exit of 3 is for the
specific case when the dependent libraries are out of date with respect
to each other.
Apple Computer, Inc. September 10, 2001 REDO_PREBINDING(1)