Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

redo_prebinding(1) [opendarwin man page]

REDO_PREBINDING(1)					      General Commands Manual						REDO_PREBINDING(1)

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 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 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 architectures. -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)

Check Out this Related Man Page

CMPDYLIB(1)						      General Commands Manual						       CMPDYLIB(1)

cmpdylib - compare two dynamic shared libraries for compatibility SYNOPSIS
cmpdylib oldLibrary newLibrary DESCRIPTION
cmpdylib compares two versions of a dynamic shared library to see if they are compatible with each other. If the two versions are incompat- ible, the reason is printed to stdout, and the exit status is nonzero. If they are compatible, nothing is printed, and the exit status is zero. To see if the two versions are compatible, cmpdylib first verifies that newLibrary was built for all of the architectures that oldLibrary was built for. If so, for each architecture, it checks to see if the global symbols defined in oldLibrary are still defined in newLibrary. It then looks for new symbols, symbols defined in newLibrary that are not defined in oldLibrary. If it finds new symbols, it compares the compatibility version numbers of the two libraries. If the compatibility version number of newLibrary is greater than oldLibrary, the libraries are still compatible. If the compatibility version number is the same or less, the libraries are incompatible. OPTIONS
oldLibrary The older version of the library. newLibrary The newer version of the library. EXAMPLES
This example shows the result of performing cmpdylib on two incompatible versions of the Foundation library. As stated, the versions are incompatible because the newer version was not built for the ppc architecture. cmpdylib /System/Library/Frameworks/Foundation.framework/Foundation Foundation_proj/Foundation cmpdylib: file: Foundation_proj/Foundation does not contain architecture: ppc cmpdylib: new dynamic shared library: Foundation_proj/Foundation does not contain architecture ppc DIAGNOSTICS
The exit status is zero if the library versions are compatible and nonzero if they are incompatible. BUGS
There are lots of other things that could be checked for that are not (such as the Objective C API). Apple Computer, Inc. November 3, 1997 CMPDYLIB(1)
Man Page