Manual Pages for UNIX Darwin command on man update_prebinding
MyWebUniversity

Manual Pages for UNIX Darwin command on man update_prebinding

updatedyldsharedcac... BSD General Commands Manualupdatedyldsharedcac...

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 you

to 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. You

can 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 already

up-to-date.

-ddeebbuugg This option prints out additional information about the work

being done.

-ssoorrttbbyynnaammee

By default uuppddaatteeddyyllddsshhaarreeddccaacchhee assignes a random start

address 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 to

mach-o images used to determine what should be in shared cache.

SEE ALSO

dyld(1) Darwin March 23, 2007 Darwin




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™