]> git.saurik.com Git - apple/ld64.git/blame - doc/man/man1/rebase.1
ld64-97.14.tar.gz
[apple/ld64.git] / doc / man / man1 / rebase.1
CommitLineData
69a49097
A
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
15The base address of an image (dylib or bundle) is the preferred address for it to be loaded. By
16default all images are built with a base address of zero. At runtime, if the
17preferred memory range is already occupied, dyld will "slide" the image to a new address range.
18There is a small cost to the slide, as dyld must do some fix ups.
19The rebase tool takes a list of images and adjust their base address to be non-overlapping. If no
20low or high address is specified, the a suitable address range is choosen for the architecture.
21.Pp
22The options are as follows:
23.Bl -tag -width indent
24.It Fl low_address Ar addr
25Force 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
29Force the base address for the last image to be such that when that image is loaded it occupies
30memory up to
31.Ar addr
32(specified in hex). Each preceeding file gets the previous available base address.
33.It Fl arch Ar arch
34Only rebase the specified architecture. Other architectures in a universal image are left as is.
35.It Fl v
36Verbose. Print information about rebasing done.
37.El
38.Sh SEE ALSO
39.Xr ld 1