]> git.saurik.com Git - apple/ld64.git/blob - doc/man/man1/rebase.1
ld64-123.2.1.tar.gz
[apple/ld64.git] / doc / man / man1 / rebase.1
1 .Dd June 6, 2006
2 .Dt rebase 1
3 .Os Darwin
4 .Sh NAME
5 .Nm rebase
6 .Nd "Changes base address of dylibs and bundles"
7 .Sh SYNOPSIS
8 .Nm
9 .Op Fl low_address Ar addr
10 .Op Fl high_address Ar addr
11 .Op Fl arch Ar arch
12 .Op Fl v
13 .Ar file(s)
14 .Sh DESCRIPTION
15 The base address of an image (dylib or bundle) is the preferred address for it to be loaded. By
16 default all images are built with a base address of zero. At runtime, if the
17 preferred memory range is already occupied, dyld will "slide" the image to a new address range.
18 There is a small cost to the slide, as dyld must do some fix ups.
19 The rebase tool takes a list of images and adjust their base address to be non-overlapping. If no
20 low or high address is specified, the a suitable address range is choosen for the architecture.
21 .Pp
22 The options are as follows:
23 .Bl -tag -width indent
24 .It Fl low_address Ar addr
25 Force the base address for the first image to be
26 .Ar addr
27 (specified in hex). Each subsequent file gets the next available base address.
28 .It Fl high_address Ar addr
29 Force the base address for the last image to be such that when that image is loaded it occupies
30 memory up to
31 .Ar addr
32 (specified in hex). Each preceeding file gets the previous available base address.
33 .It Fl arch Ar arch
34 Only rebase the specified architecture. Other architectures in a universal image are left as is.
35 .It Fl v
36 Verbose. Print information about rebasing done.
37 .El
38 .Sh SEE ALSO
39 .Xr ld 1