REDO_PREBINDING(1) REDO_PREBINDING(1)
NAME
redo_prebinding - redo the prebinding of an executable or
dynamic library
SYNOPSIS
redo_prebinding [-c | -p | -d] [-i] [-z] [-r rootdir] [-e
executable_path] [-seg_addr_table table_file_name]
[-seg_addr_table_filename pathname] [-o output_file]
input_file
DESCRIPTION
Redo_prebinding is used to redo the prebinding of an exe-
cutable 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 -pre-
bind options to ld(1) or libtool(1)) the dependent
libraries must have their prebinding up to date or the
result will not be prebound.
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_prebinding 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 prebind-
ing 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 architec-
tures.
-i ignore non-prebound files (useful when running on
all types of files).
-z zero out the prebind check sum in the output if it
has one.
-e executable_path
replace any dependent library's "@executable_path"
prefix with the executable_path argument.
-seg_addr_table table_file_name
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.
-seg_addr_table_filename pathname
Use pathname instead of the install name of the
library for matching an entry in the segment
address table.
-r rootdir
prepend the rootdir argument to all dependent
libraries.
-o output_file
write the updated file into output_file rather than
back into the input file.
DIAGNOSTICS
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)