DirectNET

Data Center Management Solutions including UPS Systems, Data Center Cooling, KVM over IP & IP Power Strips, Server Racks and Server Rack accessories; KVM Switches and KVM Extenders; Rackmount Monitors and Rackmount Keyboards.


NAVIGATION
Home
Store
INSIDE MAC
Television Shows
Broadcast Shows
Daily News Shows
Special Shows
EVENTS
DAILY TIPS
Design
Mac OS X
Mac OS X UNIX
COMMUNITY
Forums
Surveys
NEWS
Current
Press
Archive
FEATURES
Editorial
Dr. Mac
Reviews
Reader Reports
RESOURCES
FAQ
Documentation
Learning Center
MAN pages
Glossary
Tutorials
Tips
Links

OUR PARTNERS


     update_prebinding file ...-root directory [-pkgs package-name install-
                       location ...] [-files filename ...] [-debug]


DESCRIPTION

     update_prebinding tries to synchronize prebinding information for li-
     braries and executables when new files are added to a system.  Prebinding
     information is pre-calculated address information for libraries used by a
     given executable or library.  By pre-determining where a function in an-
     other library is destined 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 or executable may place functions
     at different addresses, a newly installed library or executable's pre-
     binding information might not match the libraries already on the disk.
     When the dynamic linker determines determines 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, los-
     ing any advantage of having the prebinding information.

     update_prebinding ensures that prebinding information is up-to-date after
     new prebound applications or new versions of system libraries are in-
     stalled.  Given a list of the newly installed files in a package, up-
     date_prebinding finds all the libraries and executables that may dynami-
     cally load the changed files.  If so, the prebinding information must be
     updated, and update_prebinding performs redo_prebinding to update that
     file.  update_prebinding builds a dependency graph to minimize the files
     that must be updated, and applies a few other heuristics to only call
     redo_prebinding when necessary.

     The root argument specifies the directory tree to search for changed
     files.  This is usually the root directory.  update_prebinding will look
     for dependent libraries and executables 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.  update_prebinding
     uses the root to find the system libraries for that version of the OS.
     The root argument is not intended to limit update_prebinding's effect to
     a particular set of executables; instead, you must specify the changed
     files using -files or -pkgs.

     The pkgs argument specifies the packages containing the files to be up-
     dated.  update_prebinding uses this list to determine the files that must
     change, and thus identify the scope of updates necessary.  After the op-
     tion name, list every package that changed, along with its install root
     so that update_prebinding can find the newly installed files.

     If no packages are named on the command line, then update_prebinding
     scans the entire directory hierarchy from the named root looking for exe-
     cutables, then prebinds all executables from least dependent to most.

     efits of prebinding as long as the system libraries used by the applica-
     tion have been correctly prebound.

     Updating prebinding for a given library or application can fail if any of
     its dependent libraries are invalid -- not prebound, expected load ad-
     dress conflicting with other loaded libraries, or missing architecture in
     a fat library.  To test if an application is able to use prebinding in-
     formation, set the environment variable DYLD_PREBIND_DEBUG.  (See dyld(1)
     for details on this option.)

     For efficiency, update_prebinding does not actually execute /usr/bin/re-
     do_prebinding for each file to be updated, but instead executes similar
     code within the update_prebinding process.


SEE ALSO

     dyld(1) redo_prebinding(1)

BSD Experimental               February 14, 2001                             2

Copyright © 2000-2008 Inside Mac Media, Inc. All rights reserved.
Apple assumes no responsibility with regard to the selection, performance, or use of the products or services. All understandings, agreements, or warranties, if any, take place directly between the vendors and prospective users.
Apple, the Apple logo, Mac, PowerMac G4, PowerMac G5, Xserve, Xserve RAID, PowerBook, iBook, Airport, AirPort Extreme, iMac, eMac, iLife, iMovie, iCal, iPhoto, iTunes, QuickTime, FireWire, iPod, iSight, AppleWorks, Macintosh, Jaguar, Panther, Mac OS, Mac OS X and Mac OS X Server are trademarks of Apple Computer, Inc.