mirror of
https://github.com/darlinghq/cctools-port.git
synced 2024-12-02 09:16:21 +00:00
107 lines
3.8 KiB
Groff
107 lines
3.8 KiB
Groff
.TH REDO_PREBINDING 1 "March 29, 2004" "Apple Computer, Inc."
|
|
.SH NAME
|
|
redo_prebinding \- redo the prebinding of an executable or dynamic library
|
|
.SH SYNOPSIS
|
|
redo_prebinding [\-c | \-p | \-d] [\-i] [\-z] [\-u] [\-r rootdir] [\-e executable_path] [-seg_addr_table table_file_name] [-seg_addr_table_filename pathname] [-seg1addr address] [\-o output_file] [\-s] input_file
|
|
.SH DESCRIPTION
|
|
.I 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
|
|
.IR ld (1)
|
|
or
|
|
.IR libtool (1))
|
|
the dependent libraries must have their prebinding up to date or the result will
|
|
not be prebound.
|
|
.PP
|
|
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
|
|
.I redo_prebinding
|
|
redoes the prebinding on an input file it will run /usr/bin/objcunique if it
|
|
exists on the result.
|
|
.SH OPTIONS
|
|
.TP
|
|
.B \-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).
|
|
.TP
|
|
.B \-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.
|
|
.TP
|
|
.B \-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.
|
|
.TP
|
|
.B \-i
|
|
ignore non-prebound files (useful when running on all types of files).
|
|
.TP
|
|
.B \-z
|
|
zero out the prebind check sum in the output if it has one.
|
|
.TP
|
|
.B \-u
|
|
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 zero entries in the two-level hints
|
|
table.
|
|
.TP
|
|
.BI "\-e " executable_path
|
|
replace any dependent library's "@executable_path" prefix with the
|
|
.I executable_path
|
|
argument.
|
|
.TP
|
|
.BI "\-seg_addr_table " table_file_name
|
|
The
|
|
.I -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.
|
|
.TP
|
|
.BI "\-seg_addr_table_filename" " pathname"
|
|
Use
|
|
.B pathname
|
|
instead of the install name of the library for matching an entry in the segment
|
|
address table.
|
|
.TP
|
|
.BI "\-seg1addr " address
|
|
Move the input library to base address
|
|
.B address.
|
|
This option does not apply when
|
|
.B \-u,
|
|
.B \-seg_addr_table
|
|
or
|
|
.B \-seg_addr_table_filename
|
|
are specified.
|
|
.TP
|
|
.BI "\-r " rootdir
|
|
prepend the
|
|
.I rootdir
|
|
argument to all dependent libraries.
|
|
.TP
|
|
.BI "\-o " output_file
|
|
write the updated file into
|
|
.I output_file
|
|
rather than back into the input file.
|
|
.TP
|
|
.BI \-s
|
|
write the updated file to standard output
|
|
.SH 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.
|