NAME
uuppddaatteeddyyllddsshhaarreeddccaacchhee - Updates dyld's shared cache
SYNOPSIS
uuppddaatteeddyyllddsshhaarreeddccaacchhee [-rroooott directory] [-aarrcchh arch] [-ffoorrccee] [-ddeebbuugg]
[-ssoorrttbbyynnaammee] [-uunniivveerrssaallbboooott]
DESCRIPTION
uuppddaatteeddyyllddsshhaarreeddccaacchhee ensures that dyld's shared cache is up-to-date.
Normally, this command never needs to be manually run. Instead, it is automatically run by launchd when dyld notices the shared cache is out of date. To prevent the cache from being regeneated during an install or during development of OS dylibs, dyld will not trigger a shared cache rebuild if the environment variable DYLDNOFIXPREBINDING is set, or if the main executable is a setuid binary, or alternate dylibs are loaded via one of the DYLD environment variables. The dyld shared cache is mapped by dyld into a process at launch time.Later, when loading any mach-o image, dyld will first check if is in the
share cache, and if it is will use that pre-bound version instead of
opening, mapping, and binding the original file. This results in signif-
icant performance improvements to launch time. uuppddaatteeddyyllddsshhaarreeddccaacchhee scans the directory/var/db/dyld/sharedregionroots for text files containing paths to mach-
o executables. The full dependencies of all dylibs required by those executables is used to determine which libraries are commonly used and should be placed in the shared cache. If one of the text files contains a path to a dylib, that dylib and its depenents will be forced into the cache.uuppddaatteeddyyllddsshhaarreeddccaacchhee builds a separate cache file for each architec-
ture. The cache files and a readable text map of the cached are gener-
ated to /var/db/dyld. You must be root to run this tool. The options are as follows:-rroooott directory
This option specifies the root of an OS installation for which dyld's shared cache should be updated. This allosw youto update the shared cache on a non-running version of the
OS. The cache files are created in the var/db/dyld directory of the specified directory.-aarrcchh arch By default uuppddaatteeddyyllddsshhaarreeddccaacchhee generates cache files for
all architecture that the current machine can execute. Youcan override this behavior by specifying one or more -arch
options and list exactly which architectures should have their shared caches updated.-ffoorrccee This option will cause uuppddaatteeddyyllddsshhaarreeddccaacchhee to regener-
ated the shared cache files even if they appear to be alreadyup-to-date.
-ddeebbuugg This option prints out additional information about the work
being done.-ssoorrttbbyynnaammee
By default uuppddaatteeddyyllddsshhaarreeddccaacchhee assignes a random startaddress to each mach-o image in the cache. This option
causes the start addresses to be choosen in path order, thus subsequent runs will produce the same address layout which can help reproduce some bugs.-uunniivveerrssaallbboooott
This option can only be used running on an machine with an Intel processor. It builds caches that can be used when booting on an Intel or a PowerPC based machine. FILES /var/db/dyld/sharedregionroots directory of text files with paths tomach-o images used to determine what should be in shared cache.
SEE ALSO
dyld(1) Darwin March 23, 2007 Darwin