REDO_PREBINDING(1) General Commands Manual 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 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
fastbind(1) General Commands Manual fastbind(1)NAME
fastbind - Prepare an incomplete executable for faster program start-up
SYNOPSIS
incomplete-executable...
DESCRIPTION
is a tool that can improve the start-up time of programs that use shared libraries (incomplete executables) by storing information about
needed shared library symbols in the executable file.
performs analysis on the symbols used to bind an executable and all of it's dependent shared libraries, and stores this information in the
executable file. The next time the executable is run, the dynamic loader will notice that this information is available, and it will use
this fastbind information to bind the executable instead of the standard search method for binding the symbols. For Itanium-based systems,
the dynamic loader is for 32-bit mode or for 64-bit mode. For PA-RISC systems, the dynamic loader is for 32-bit mode or for 64-bit mode.
Since writes the fastbind information in the executable file, you must have write permission on the executable file. Also, if the exe-
cutable file being analyzed is being run as another process, the file will be locked against modifications by the kernel, and will fail.
If the shared libraries that an executable is dependent on are modified after the fastbind information is created, the dynamic loader will
silently revert to standard search method for binding the symbols. The fastbind information can be re-created by running on the executable
again. will automatically erase the old fastbind information and generate the new one.
The option can be used to instruct the linker to run the fastbind tool on an incomplete executable it has produced.
Environment Variables
If determines that the fastbind information is out of date, it will silently revert to standard search method for binding the symbols. If
the environment variable is set to the dynamic loader will emit a warning message when the fastbind information is out of date.
The environment variable can be set to to make the dynamic loader ignore the fastbind information and revert to the standard search method
for binding the symbols.
Options
recognizes the following options:
Remove the fastbind information from the executable, returning it to the
same state it was in before was originally run on it.
Normally, if
detects any unsatisfied symbols while building the fastbind information, it will generate an error message and not mod-
ify the executable file. When is invoked with option however, unresolved symbols are allowed.
EXTERNAL INFLUENCES
Environment Variables
The following internationalization variables affect the execution of
Determines the locale category for native language, local customs and
coded character set in the absence of and other environment variables. If is not specified or is set to the empty string, a default
of (see lang(5)) is used instead of
Determines the values for all locale categories and has precedence over
and other environment variables.
Determines the locale that should be used to affect the format
and contents of diagnostic messages written to standard error.
Determines the locale category for numeric formatting.
Determines the locale category for character handling functions.
Determines the location of message catalogs for the processing
of
If any internationalization variable contains an invalid setting, behaves as if all internationalization variables are set to See envi-
ron(5).
In addition, the following environment variable affects
Specifies a directory
for temporary files (see tmpnam(3S)).
DIAGNOSTICS
returns zero when the operation is successful. A non-zero return code indicates that an error occurred.
EXAMPLES
To run on the executable file
enter:
To later remove the fastbind information from the executable file enter:
WARNINGS
32-bit PA-RISC does not work with EXEC_MAGIC executables.
effectively enforces bind restricted and bind immediate. For example, consider an executable linked bind deferred, which calls a function
foo() defined in an implicitly loaded library. Before the actual call is made, if it explicitly loads a shared library (using shl_load(3X)
with having a definition for when is finally called, it will be resolved from the explicitly loaded library. But after running the symbol
will be resolved from the implicitly loaded library.
AUTHOR
was developed by Hewlett-Packard.
FILES
output file
32-bit PA-RISC dynamic loader
32-bit Itanium-based dynamic loader
64-bit PA-RISC dynamic loader
64-bit Itanium-based dynamic loader
message catalog
temporary files
SEE ALSO
System Tools
ld(1) invoke the link editor
Miscellaneous
a.out(4) assembler, compiler, and linker output
dld.sl(5) PA-RISC dynamic loader
dld.so(5) Itanium-based dynamic loader
Texts and Tutorials