NAME
redoprebinding - redo the prebinding of an executable or dynamic
librarySYNOPSIS
redoprebinding [-c | -p | -d] [-i] [-z] [-u] [-r rootdir] [-e exe-
cutablepath] [-segaddrtable tablefilename] [-segaddrtablefile-
name pathname] [-seg1addr address] [-o outputfile] [-s] inputfile
DESCRIPTION
Redoprebinding 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 be prebound. The options allow for different types of checking for use in shellscripts. Only one of -c, -p or -d can be used at a time. If redopre-
binding redoes the prebinding on an input file it will run /usr/bin/objcunique if it exists on the result. OOPPTTIIOONNSS-cc 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).-pp 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.-dd 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-
tectures.-ii ignore non-prebound files (useful when running on all types of
files).-zz zero out the prebind check sum in the output if it has one.
-uu unprebind, rather than reprebind (-c, -p, -d, -e ignored).
Resets or removes prebinding-specific information from the input
file. As unprebinding is intended to produce a canonical Mach-O
binary, bundles and non-prebound executables and dylibs are
acceptable as input. For these files, the unprebind operation will zero library time stamps and version numbers and zeroentries in the two-level hints table.
-ee executablepath
replace any dependent library's "@executablepath" prefix with the executablepath argument.-sseeggaaddddrrttaabbllee tablefilename
The -segaddrtable option is used when the input a dynamic
library and if specified the table entry for the installname of the dynamic library is used for checking and the address to relocate the library to as it prefered address.-sseeggaaddddrrttaabblleeffiilleennaammee pathname
Use ppaatthhnnaammee instead of the install name of the library for matching an entry in the segment address table.-sseegg11aaddddrr address
Move the input library to base address aaddddrreessss.. This optiondoes not apply when -uu,, -sseeggaaddddrrttaabbllee or -sseeggaaddddrrttaabblleeffiillee-
nnaammee are specified.-rr rootdir
prepend the rootdir argument to all dependent libraries.-oo outputfile
write the updated file into outputfile rather than back into the input file.-ss write the updated file to standard output
DIAGNOSTICSWith 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. March 29, 2004 REDOPREBINDING(1)