updateprebinding(1) BSD General Commands Manual updateprebinding(1)
NAME
updateprebinding -- Update prebinding information when new system
libraries or frameworks are installed
SYNOPSIS
updateprebinding [-root directory] [-force] [-debug]
DESCRIPTION
updateprebinding ensures that prebinding information is up-to-date after
new versions of system libraries are installed. Prebinding information
is pre-calculated address information for libraries used by a given
library. By pre-determining where a function in another library is des-
tined to be placed, the dynamic linker does not have to resolve symbols
at application startup time, and the application can launch faster.
Because each recompilation of a library may place functions at different
addresses, a newly installed library's prebinding information might not
match the libraries already on the disk. When the dynamic linker deter-
mines that prebinding information for a library could be invalid, it
defaults to resolving all the names for that library, and for all
libraries referenced by that library, losing any advantage of having the
prebinding information.
The -root option specifies the directory tree to search for changed
files. This is usually the root directory. updateprebinding will look
for dependent libraries within this directory hierarchy, but will not go
to different file systems. The argument allows you to update prebinding
information for a specific file to match a non-running version of the
operating system on another partition. updateprebinding uses the root
to find the system libraries for that version of the OS. The root argu-
ment is not intended to limit updateprebinding's effect to a particular
set of libraries. By default, updateprebinding only changes a file if
the prebinding is out of date.
The -force option ensures that all files examined are re-prebound, even
if the prebinding is otherwise up-to-date. The command updateprebinding
-root / -force will prebind all binaries on the root volume, even if oth-
erwise correct.
The -debug option prints out additional information while the prebinding
is being updated.
Issues
updateprebinding only work on libraries that have been compiled and
linked with the prebinding information added. Applications still gain
the benefits of prebinding as long as the system libraries used by the
application have been correctly prebound.
Updating prebinding for a given library can fail if any of its dependent
libraries are invalid -- not prebound, expected load address conflicting
with other loaded libraries, or missing architecture in a universal
library. To test if an application is able to use prebinding informa-
tion, set the environment variable DYLDPREBINDEBUG. (See dyld(1) for
details on this option.)
SEE ALSO
dyld(1)
BSD February 14, 2001 BSD
|