author | jjkang |
Fri, 11 Jun 2010 15:22:19 +0800 | |
changeset 3 | d6b1fbb42aec |
parent 0 | 76b1f169d9fe |
permissions | -rw-r--r-- |
0
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1 |
.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2 |
.\" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
3 |
.\" Standard preamble: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
4 |
.\" ======================================================================== |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
5 |
.de Sh \" Subsection heading |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
6 |
.br |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
7 |
.if t .Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
8 |
.ne 5 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
9 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
10 |
\fB\\$1\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
11 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
12 |
.. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
13 |
.de Sp \" Vertical space (when we can't use .PP) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
14 |
.if t .sp .5v |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
15 |
.if n .sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
16 |
.. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
17 |
.de Vb \" Begin verbatim text |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
18 |
.ft CW |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
19 |
.nf |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
20 |
.ne \\$1 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
21 |
.. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
22 |
.de Ve \" End verbatim text |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
23 |
.ft R |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
24 |
.fi |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
25 |
.. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
26 |
.\" Set up some character translations and predefined strings. \*(-- will |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
27 |
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
28 |
.\" double quote, and \*(R" will give a right double quote. | will give a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
29 |
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
30 |
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
31 |
.\" expand to `' in nroff, nothing in troff, for use with C<>. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
32 |
.tr \(*W-|\(bv\*(Tr |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
33 |
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
34 |
.ie n \{\ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
35 |
. ds -- \(*W- |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
36 |
. ds PI pi |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
37 |
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
38 |
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
39 |
. ds L" "" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
40 |
. ds R" "" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
41 |
. ds C` "" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
42 |
. ds C' "" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
43 |
'br\} |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
44 |
.el\{\ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
45 |
. ds -- \|\(em\| |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
46 |
. ds PI \(*p |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
47 |
. ds L" `` |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
48 |
. ds R" '' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
49 |
'br\} |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
50 |
.\" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
51 |
.\" If the F register is turned on, we'll generate index entries on stderr for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
52 |
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
53 |
.\" entries marked with X<> in POD. Of course, you'll have to process the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
54 |
.\" output yourself in some meaningful fashion. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
55 |
.if \nF \{\ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
56 |
. de IX |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
57 |
. tm Index:\\$1\t\\n%\t"\\$2" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
58 |
.. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
59 |
. nr % 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
60 |
. rr F |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
61 |
.\} |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
62 |
.\" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
63 |
.\" For nroff, turn off justification. Always turn off hyphenation; it makes |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
64 |
.\" way too many mistakes in technical documents. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
65 |
.hy 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
66 |
.\" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
67 |
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
68 |
.\" Fear. Run. Save yourself. No user-serviceable parts. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
69 |
. \" fudge factors for nroff and troff |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
70 |
.if n \{\ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
71 |
. ds #H 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
72 |
. ds #V .8m |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
73 |
. ds #F .3m |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
74 |
. ds #[ \f1 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
75 |
. ds #] \fP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
76 |
.\} |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
77 |
.if t \{\ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
78 |
. ds #H ((1u-(\\\\n(.fu%2u))*.13m) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
79 |
. ds #V .6m |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
80 |
. ds #F 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
81 |
. ds #[ \& |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
82 |
. ds #] \& |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
83 |
.\} |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
84 |
. \" simple accents for nroff and troff |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
85 |
.if n \{\ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
86 |
. ds ' \& |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
87 |
. ds ` \& |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
88 |
. ds ^ \& |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
89 |
. ds , \& |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
90 |
. ds ~ ~ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
91 |
. ds / |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
92 |
.\} |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
93 |
.if t \{\ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
94 |
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
95 |
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
96 |
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
97 |
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
98 |
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
99 |
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
100 |
.\} |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
101 |
. \" troff and (daisy-wheel) nroff accents |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
102 |
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
103 |
.ds 8 \h'\*(#H'\(*b\h'-\*(#H' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
104 |
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
105 |
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
106 |
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
107 |
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
108 |
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
109 |
.ds ae a\h'-(\w'a'u*4/10)'e |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
110 |
.ds Ae A\h'-(\w'A'u*4/10)'E |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
111 |
. \" corrections for vroff |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
112 |
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
113 |
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
114 |
. \" for low resolution devices (crt and lpr) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
115 |
.if \n(.H>23 .if \n(.V>19 \ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
116 |
\{\ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
117 |
. ds : e |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
118 |
. ds 8 ss |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
119 |
. ds o a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
120 |
. ds d- d\h'-1'\(ga |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
121 |
. ds D- D\h'-1'\(hy |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
122 |
. ds th \o'bp' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
123 |
. ds Th \o'LP' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
124 |
. ds ae ae |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
125 |
. ds Ae AE |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
126 |
.\} |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
127 |
.rm #[ #] #H #V #F C |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
128 |
.\" ======================================================================== |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
129 |
.\" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
130 |
.IX Title "LD 1" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
131 |
.TH LD 1 "2008-01-09" "binutils-2.18.50" "GNU Development Tools" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
132 |
.SH "NAME" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
133 |
ld \- The GNU linker |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
134 |
.SH "SYNOPSIS" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
135 |
.IX Header "SYNOPSIS" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
136 |
ld [\fBoptions\fR] \fIobjfile\fR ... |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
137 |
.SH "DESCRIPTION" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
138 |
.IX Header "DESCRIPTION" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
139 |
\&\fBld\fR combines a number of object and archive files, relocates |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
140 |
their data and ties up symbol references. Usually the last step in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
141 |
compiling a program is to run \fBld\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
142 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
143 |
\&\fBld\fR accepts Linker Command Language files written in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
144 |
a superset of \s-1AT&T\s0's Link Editor Command Language syntax, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
145 |
to provide explicit and total control over the linking process. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
146 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
147 |
This man page does not describe the command language; see the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
148 |
\&\fBld\fR entry in \f(CW\*(C`info\*(C'\fR for full details on the command |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
149 |
language and on other aspects of the \s-1GNU\s0 linker. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
150 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
151 |
This version of \fBld\fR uses the general purpose \s-1BFD\s0 libraries |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
152 |
to operate on object files. This allows \fBld\fR to read, combine, and |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
153 |
write object files in many different formats\-\-\-for example, \s-1COFF\s0 or |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
154 |
\&\f(CW\*(C`a.out\*(C'\fR. Different formats may be linked together to produce any |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
155 |
available kind of object file. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
156 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
157 |
Aside from its flexibility, the \s-1GNU\s0 linker is more helpful than other |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
158 |
linkers in providing diagnostic information. Many linkers abandon |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
159 |
execution immediately upon encountering an error; whenever possible, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
160 |
\&\fBld\fR continues executing, allowing you to identify other errors |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
161 |
(or, in some cases, to get an output file in spite of the error). |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
162 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
163 |
The \s-1GNU\s0 linker \fBld\fR is meant to cover a broad range of situations, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
164 |
and to be as compatible as possible with other linkers. As a result, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
165 |
you have many choices to control its behavior. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
166 |
.SH "OPTIONS" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
167 |
.IX Header "OPTIONS" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
168 |
The linker supports a plethora of command-line options, but in actual |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
169 |
practice few of them are used in any particular context. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
170 |
For instance, a frequent use of \fBld\fR is to link standard Unix |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
171 |
object files on a standard, supported Unix system. On such a system, to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
172 |
link a file \f(CW\*(C`hello.o\*(C'\fR: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
173 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
174 |
.Vb 1 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
175 |
\& ld -o <output> /lib/crt0.o hello.o -lc |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
176 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
177 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
178 |
This tells \fBld\fR to produce a file called \fIoutput\fR as the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
179 |
result of linking the file \f(CW\*(C`/lib/crt0.o\*(C'\fR with \f(CW\*(C`hello.o\*(C'\fR and |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
180 |
the library \f(CW\*(C`libc.a\*(C'\fR, which will come from the standard search |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
181 |
directories. (See the discussion of the \fB\-l\fR option below.) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
182 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
183 |
Some of the command-line options to \fBld\fR may be specified at any |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
184 |
point in the command line. However, options which refer to files, such |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
185 |
as \fB\-l\fR or \fB\-T\fR, cause the file to be read at the point at |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
186 |
which the option appears in the command line, relative to the object |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
187 |
files and other file options. Repeating non-file options with a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
188 |
different argument will either have no further effect, or override prior |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
189 |
occurrences (those further to the left on the command line) of that |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
190 |
option. Options which may be meaningfully specified more than once are |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
191 |
noted in the descriptions below. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
192 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
193 |
Non-option arguments are object files or archives which are to be linked |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
194 |
together. They may follow, precede, or be mixed in with command-line |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
195 |
options, except that an object file argument may not be placed between |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
196 |
an option and its argument. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
197 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
198 |
Usually the linker is invoked with at least one object file, but you can |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
199 |
specify other forms of binary input files using \fB\-l\fR, \fB\-R\fR, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
200 |
and the script command language. If \fIno\fR binary input files at all |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
201 |
are specified, the linker does not produce any output, and issues the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
202 |
message \fBNo input files\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
203 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
204 |
If the linker cannot recognize the format of an object file, it will |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
205 |
assume that it is a linker script. A script specified in this way |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
206 |
augments the main linker script used for the link (either the default |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
207 |
linker script or the one specified by using \fB\-T\fR). This feature |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
208 |
permits the linker to link against a file which appears to be an object |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
209 |
or an archive, but actually merely defines some symbol values, or uses |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
210 |
\&\f(CW\*(C`INPUT\*(C'\fR or \f(CW\*(C`GROUP\*(C'\fR to load other objects. Note that |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
211 |
specifying a script in this way merely augments the main linker script; |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
212 |
use the \fB\-T\fR option to replace the default linker script entirely. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
213 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
214 |
For options whose names are a single letter, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
215 |
option arguments must either follow the option letter without intervening |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
216 |
whitespace, or be given as separate arguments immediately following the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
217 |
option that requires them. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
218 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
219 |
For options whose names are multiple letters, either one dash or two can |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
220 |
precede the option name; for example, \fB\-trace\-symbol\fR and |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
221 |
\&\fB\-\-trace\-symbol\fR are equivalent. Note\-\-\-there is one exception to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
222 |
this rule. Multiple letter options that start with a lower case 'o' can |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
223 |
only be preceded by two dashes. This is to reduce confusion with the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
224 |
\&\fB\-o\fR option. So for example \fB\-omagic\fR sets the output file |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
225 |
name to \fBmagic\fR whereas \fB\-\-omagic\fR sets the \s-1NMAGIC\s0 flag on the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
226 |
output. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
227 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
228 |
Arguments to multiple-letter options must either be separated from the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
229 |
option name by an equals sign, or be given as separate arguments |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
230 |
immediately following the option that requires them. For example, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
231 |
\&\fB\-\-trace\-symbol foo\fR and \fB\-\-trace\-symbol=foo\fR are equivalent. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
232 |
Unique abbreviations of the names of multiple-letter options are |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
233 |
accepted. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
234 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
235 |
Note\-\-\-if the linker is being invoked indirectly, via a compiler driver |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
236 |
(e.g. \fBgcc\fR) then all the linker command line options should be |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
237 |
prefixed by \fB\-Wl,\fR (or whatever is appropriate for the particular |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
238 |
compiler driver) like this: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
239 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
240 |
.Vb 1 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
241 |
\& gcc -Wl,--startgroup foo.o bar.o -Wl,--endgroup |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
242 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
243 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
244 |
This is important, because otherwise the compiler driver program may |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
245 |
silently drop the linker options, resulting in a bad link. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
246 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
247 |
Here is a table of the generic command line switches accepted by the \s-1GNU\s0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
248 |
linker: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
249 |
.IP "\fB@\fR\fIfile\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
250 |
.IX Item "@file" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
251 |
Read command-line options from \fIfile\fR. The options read are |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
252 |
inserted in place of the original @\fIfile\fR option. If \fIfile\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
253 |
does not exist, or cannot be read, then the option will be treated |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
254 |
literally, and not removed. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
255 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
256 |
Options in \fIfile\fR are separated by whitespace. A whitespace |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
257 |
character may be included in an option by surrounding the entire |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
258 |
option in either single or double quotes. Any character (including a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
259 |
backslash) may be included by prefixing the character to be included |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
260 |
with a backslash. The \fIfile\fR may itself contain additional |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
261 |
@\fIfile\fR options; any such options will be processed recursively. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
262 |
.IP "\fB\-a\fR\fIkeyword\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
263 |
.IX Item "-akeyword" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
264 |
This option is supported for \s-1HP/UX\s0 compatibility. The \fIkeyword\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
265 |
argument must be one of the strings \fBarchive\fR, \fBshared\fR, or |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
266 |
\&\fBdefault\fR. \fB\-aarchive\fR is functionally equivalent to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
267 |
\&\fB\-Bstatic\fR, and the other two keywords are functionally equivalent |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
268 |
to \fB\-Bdynamic\fR. This option may be used any number of times. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
269 |
.IP "\fB\-A\fR\fIarchitecture\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
270 |
.IX Item "-Aarchitecture" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
271 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
272 |
.IP "\fB\-\-architecture=\fR\fIarchitecture\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
273 |
.IX Item "--architecture=architecture" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
274 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
275 |
In the current release of \fBld\fR, this option is useful only for the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
276 |
Intel 960 family of architectures. In that \fBld\fR configuration, the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
277 |
\&\fIarchitecture\fR argument identifies the particular architecture in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
278 |
the 960 family, enabling some safeguards and modifying the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
279 |
archive-library search path. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
280 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
281 |
Future releases of \fBld\fR may support similar functionality for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
282 |
other architecture families. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
283 |
.IP "\fB\-b\fR \fIinput-format\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
284 |
.IX Item "-b input-format" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
285 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
286 |
.IP "\fB\-\-format=\fR\fIinput-format\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
287 |
.IX Item "--format=input-format" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
288 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
289 |
\&\fBld\fR may be configured to support more than one kind of object |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
290 |
file. If your \fBld\fR is configured this way, you can use the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
291 |
\&\fB\-b\fR option to specify the binary format for input object files |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
292 |
that follow this option on the command line. Even when \fBld\fR is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
293 |
configured to support alternative object formats, you don't usually need |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
294 |
to specify this, as \fBld\fR should be configured to expect as a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
295 |
default input format the most usual format on each machine. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
296 |
\&\fIinput-format\fR is a text string, the name of a particular format |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
297 |
supported by the \s-1BFD\s0 libraries. (You can list the available binary |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
298 |
formats with \fBobjdump \-i\fR.) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
299 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
300 |
You may want to use this option if you are linking files with an unusual |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
301 |
binary format. You can also use \fB\-b\fR to switch formats explicitly (when |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
302 |
linking object files of different formats), by including |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
303 |
\&\fB\-b\fR \fIinput-format\fR before each group of object files in a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
304 |
particular format. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
305 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
306 |
The default format is taken from the environment variable |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
307 |
\&\f(CW\*(C`GNUTARGET\*(C'\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
308 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
309 |
You can also define the input format from a script, using the command |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
310 |
\&\f(CW\*(C`TARGET\*(C'\fR; |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
311 |
.IP "\fB\-c\fR \fIMRI-commandfile\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
312 |
.IX Item "-c MRI-commandfile" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
313 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
314 |
.IP "\fB\-\-mri\-script=\fR\fIMRI-commandfile\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
315 |
.IX Item "--mri-script=MRI-commandfile" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
316 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
317 |
For compatibility with linkers produced by \s-1MRI\s0, \fBld\fR accepts script |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
318 |
files written in an alternate, restricted command language, described in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
319 |
the \s-1MRI\s0 Compatible Script Files section of \s-1GNU\s0 ld documentation. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
320 |
Introduce \s-1MRI\s0 script files with |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
321 |
the option \fB\-c\fR; use the \fB\-T\fR option to run linker |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
322 |
scripts written in the general-purpose \fBld\fR scripting language. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
323 |
If \fIMRI-cmdfile\fR does not exist, \fBld\fR looks for it in the directories |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
324 |
specified by any \fB\-L\fR options. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
325 |
.IP "\fB\-d\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
326 |
.IX Item "-d" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
327 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
328 |
.IP "\fB\-dc\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
329 |
.IX Item "-dc" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
330 |
.IP "\fB\-dp\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
331 |
.IX Item "-dp" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
332 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
333 |
These three options are equivalent; multiple forms are supported for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
334 |
compatibility with other linkers. They assign space to common symbols |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
335 |
even if a relocatable output file is specified (with \fB\-r\fR). The |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
336 |
script command \f(CW\*(C`FORCE_COMMON_ALLOCATION\*(C'\fR has the same effect. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
337 |
.IP "\fB\-e\fR \fIentry\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
338 |
.IX Item "-e entry" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
339 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
340 |
.IP "\fB\-\-entry=\fR\fIentry\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
341 |
.IX Item "--entry=entry" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
342 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
343 |
Use \fIentry\fR as the explicit symbol for beginning execution of your |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
344 |
program, rather than the default entry point. If there is no symbol |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
345 |
named \fIentry\fR, the linker will try to parse \fIentry\fR as a number, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
346 |
and use that as the entry address (the number will be interpreted in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
347 |
base 10; you may use a leading \fB0x\fR for base 16, or a leading |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
348 |
\&\fB0\fR for base 8). |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
349 |
.IP "\fB\-\-exclude\-libs\fR \fIlib\fR\fB,\fR\fIlib\fR\fB,...\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
350 |
.IX Item "--exclude-libs lib,lib,..." |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
351 |
Specifies a list of archive libraries from which symbols should not be automatically |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
352 |
exported. The library names may be delimited by commas or colons. Specifying |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
353 |
\&\f(CW\*(C`\-\-exclude\-libs ALL\*(C'\fR excludes symbols in all archive libraries from |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
354 |
automatic export. This option is available only for the i386 \s-1PE\s0 targeted |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
355 |
port of the linker and for \s-1ELF\s0 targeted ports. For i386 \s-1PE\s0, symbols |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
356 |
explicitly listed in a .def file are still exported, regardless of this |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
357 |
option. For \s-1ELF\s0 targeted ports, symbols affected by this option will |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
358 |
be treated as hidden. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
359 |
.IP "\fB\-E\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
360 |
.IX Item "-E" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
361 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
362 |
.IP "\fB\-\-export\-dynamic\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
363 |
.IX Item "--export-dynamic" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
364 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
365 |
When creating a dynamically linked executable, add all symbols to the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
366 |
dynamic symbol table. The dynamic symbol table is the set of symbols |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
367 |
which are visible from dynamic objects at run time. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
368 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
369 |
If you do not use this option, the dynamic symbol table will normally |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
370 |
contain only those symbols which are referenced by some dynamic object |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
371 |
mentioned in the link. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
372 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
373 |
If you use \f(CW\*(C`dlopen\*(C'\fR to load a dynamic object which needs to refer |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
374 |
back to the symbols defined by the program, rather than some other |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
375 |
dynamic object, then you will probably need to use this option when |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
376 |
linking the program itself. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
377 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
378 |
You can also use the dynamic list to control what symbols should |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
379 |
be added to the dynamic symbol table if the output format supports it. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
380 |
See the description of \fB\-\-dynamic\-list\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
381 |
.IP "\fB\-EB\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
382 |
.IX Item "-EB" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
383 |
Link big-endian objects. This affects the default output format. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
384 |
.IP "\fB\-EL\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
385 |
.IX Item "-EL" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
386 |
Link little-endian objects. This affects the default output format. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
387 |
.IP "\fB\-f\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
388 |
.IX Item "-f" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
389 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
390 |
.IP "\fB\-\-auxiliary\fR \fIname\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
391 |
.IX Item "--auxiliary name" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
392 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
393 |
When creating an \s-1ELF\s0 shared object, set the internal \s-1DT_AUXILIARY\s0 field |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
394 |
to the specified name. This tells the dynamic linker that the symbol |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
395 |
table of the shared object should be used as an auxiliary filter on the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
396 |
symbol table of the shared object \fIname\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
397 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
398 |
If you later link a program against this filter object, then, when you |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
399 |
run the program, the dynamic linker will see the \s-1DT_AUXILIARY\s0 field. If |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
400 |
the dynamic linker resolves any symbols from the filter object, it will |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
401 |
first check whether there is a definition in the shared object |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
402 |
\&\fIname\fR. If there is one, it will be used instead of the definition |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
403 |
in the filter object. The shared object \fIname\fR need not exist. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
404 |
Thus the shared object \fIname\fR may be used to provide an alternative |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
405 |
implementation of certain functions, perhaps for debugging or for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
406 |
machine specific performance. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
407 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
408 |
This option may be specified more than once. The \s-1DT_AUXILIARY\s0 entries |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
409 |
will be created in the order in which they appear on the command line. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
410 |
.IP "\fB\-F\fR \fIname\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
411 |
.IX Item "-F name" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
412 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
413 |
.IP "\fB\-\-filter\fR \fIname\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
414 |
.IX Item "--filter name" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
415 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
416 |
When creating an \s-1ELF\s0 shared object, set the internal \s-1DT_FILTER\s0 field to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
417 |
the specified name. This tells the dynamic linker that the symbol table |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
418 |
of the shared object which is being created should be used as a filter |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
419 |
on the symbol table of the shared object \fIname\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
420 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
421 |
If you later link a program against this filter object, then, when you |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
422 |
run the program, the dynamic linker will see the \s-1DT_FILTER\s0 field. The |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
423 |
dynamic linker will resolve symbols according to the symbol table of the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
424 |
filter object as usual, but it will actually link to the definitions |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
425 |
found in the shared object \fIname\fR. Thus the filter object can be |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
426 |
used to select a subset of the symbols provided by the object |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
427 |
\&\fIname\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
428 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
429 |
Some older linkers used the \fB\-F\fR option throughout a compilation |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
430 |
toolchain for specifying object-file format for both input and output |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
431 |
object files. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
432 |
The \s-1GNU\s0 linker uses other mechanisms for this purpose: the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
433 |
\&\fB\-b\fR, \fB\-\-format\fR, \fB\-\-oformat\fR options, the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
434 |
\&\f(CW\*(C`TARGET\*(C'\fR command in linker scripts, and the \f(CW\*(C`GNUTARGET\*(C'\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
435 |
environment variable. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
436 |
The \s-1GNU\s0 linker will ignore the \fB\-F\fR option when not |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
437 |
creating an \s-1ELF\s0 shared object. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
438 |
.IP "\fB\-fini\fR \fIname\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
439 |
.IX Item "-fini name" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
440 |
When creating an \s-1ELF\s0 executable or shared object, call \s-1NAME\s0 when the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
441 |
executable or shared object is unloaded, by setting \s-1DT_FINI\s0 to the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
442 |
address of the function. By default, the linker uses \f(CW\*(C`_fini\*(C'\fR as |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
443 |
the function to call. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
444 |
.IP "\fB\-g\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
445 |
.IX Item "-g" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
446 |
Ignored. Provided for compatibility with other tools. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
447 |
.IP "\fB\-G\fR\fIvalue\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
448 |
.IX Item "-Gvalue" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
449 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
450 |
.IP "\fB\-\-gpsize=\fR\fIvalue\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
451 |
.IX Item "--gpsize=value" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
452 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
453 |
Set the maximum size of objects to be optimized using the \s-1GP\s0 register to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
454 |
\&\fIsize\fR. This is only meaningful for object file formats such as |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
455 |
\&\s-1MIPS\s0 \s-1ECOFF\s0 which supports putting large and small objects into different |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
456 |
sections. This is ignored for other object file formats. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
457 |
.IP "\fB\-h\fR\fIname\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
458 |
.IX Item "-hname" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
459 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
460 |
.IP "\fB\-soname=\fR\fIname\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
461 |
.IX Item "-soname=name" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
462 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
463 |
When creating an \s-1ELF\s0 shared object, set the internal \s-1DT_SONAME\s0 field to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
464 |
the specified name. When an executable is linked with a shared object |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
465 |
which has a \s-1DT_SONAME\s0 field, then when the executable is run the dynamic |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
466 |
linker will attempt to load the shared object specified by the \s-1DT_SONAME\s0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
467 |
field rather than the using the file name given to the linker. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
468 |
.IP "\fB\-i\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
469 |
.IX Item "-i" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
470 |
Perform an incremental link (same as option \fB\-r\fR). |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
471 |
.IP "\fB\-init\fR \fIname\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
472 |
.IX Item "-init name" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
473 |
When creating an \s-1ELF\s0 executable or shared object, call \s-1NAME\s0 when the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
474 |
executable or shared object is loaded, by setting \s-1DT_INIT\s0 to the address |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
475 |
of the function. By default, the linker uses \f(CW\*(C`_init\*(C'\fR as the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
476 |
function to call. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
477 |
.IP "\fB\-l\fR\fInamespec\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
478 |
.IX Item "-lnamespec" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
479 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
480 |
.IP "\fB\-\-library=\fR\fInamespec\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
481 |
.IX Item "--library=namespec" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
482 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
483 |
Add the archive or object file specified by \fInamespec\fR to the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
484 |
list of files to link. This option may be used any number of times. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
485 |
If \fInamespec\fR is of the form \fI:\fIfilename\fI\fR, \fBld\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
486 |
will search the library path for a file called \fIfilename\fR, otherise it |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
487 |
will search the library path for a file called \fIlib\fInamespec\fI.a\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
488 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
489 |
On systems which support shared libraries, \fBld\fR may also search for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
490 |
files other than \fIlib\fInamespec\fI.a\fR. Specifically, on \s-1ELF\s0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
491 |
and SunOS systems, \fBld\fR will search a directory for a library |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
492 |
called \fIlib\fInamespec\fI.so\fR before searching for one called |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
493 |
\&\fIlib\fInamespec\fI.a\fR. (By convention, a \f(CW\*(C`.so\*(C'\fR extension |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
494 |
indicates a shared library.) Note that this behavior does not apply |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
495 |
to \fI:\fIfilename\fI\fR, which always specifies a file called |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
496 |
\&\fIfilename\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
497 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
498 |
The linker will search an archive only once, at the location where it is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
499 |
specified on the command line. If the archive defines a symbol which |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
500 |
was undefined in some object which appeared before the archive on the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
501 |
command line, the linker will include the appropriate file(s) from the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
502 |
archive. However, an undefined symbol in an object appearing later on |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
503 |
the command line will not cause the linker to search the archive again. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
504 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
505 |
See the \fB\-(\fR option for a way to force the linker to search |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
506 |
archives multiple times. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
507 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
508 |
You may list the same archive multiple times on the command line. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
509 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
510 |
This type of archive searching is standard for Unix linkers. However, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
511 |
if you are using \fBld\fR on \s-1AIX\s0, note that it is different from the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
512 |
behaviour of the \s-1AIX\s0 linker. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
513 |
.IP "\fB\-L\fR\fIsearchdir\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
514 |
.IX Item "-Lsearchdir" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
515 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
516 |
.IP "\fB\-\-library\-path=\fR\fIsearchdir\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
517 |
.IX Item "--library-path=searchdir" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
518 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
519 |
Add path \fIsearchdir\fR to the list of paths that \fBld\fR will search |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
520 |
for archive libraries and \fBld\fR control scripts. You may use this |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
521 |
option any number of times. The directories are searched in the order |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
522 |
in which they are specified on the command line. Directories specified |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
523 |
on the command line are searched before the default directories. All |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
524 |
\&\fB\-L\fR options apply to all \fB\-l\fR options, regardless of the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
525 |
order in which the options appear. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
526 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
527 |
If \fIsearchdir\fR begins with \f(CW\*(C`=\*(C'\fR, then the \f(CW\*(C`=\*(C'\fR will be replaced |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
528 |
by the \fIsysroot prefix\fR, a path specified when the linker is configured. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
529 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
530 |
The default set of paths searched (without being specified with |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
531 |
\&\fB\-L\fR) depends on which emulation mode \fBld\fR is using, and in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
532 |
some cases also on how it was configured. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
533 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
534 |
The paths can also be specified in a link script with the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
535 |
\&\f(CW\*(C`SEARCH_DIR\*(C'\fR command. Directories specified this way are searched |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
536 |
at the point in which the linker script appears in the command line. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
537 |
.IP "\fB\-m\fR\fIemulation\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
538 |
.IX Item "-memulation" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
539 |
Emulate the \fIemulation\fR linker. You can list the available |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
540 |
emulations with the \fB\-\-verbose\fR or \fB\-V\fR options. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
541 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
542 |
If the \fB\-m\fR option is not used, the emulation is taken from the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
543 |
\&\f(CW\*(C`LDEMULATION\*(C'\fR environment variable, if that is defined. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
544 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
545 |
Otherwise, the default emulation depends upon how the linker was |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
546 |
configured. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
547 |
.IP "\fB\-M\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
548 |
.IX Item "-M" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
549 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
550 |
.IP "\fB\-\-print\-map\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
551 |
.IX Item "--print-map" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
552 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
553 |
Print a link map to the standard output. A link map provides |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
554 |
information about the link, including the following: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
555 |
.RS 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
556 |
.IP "*" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
557 |
Where object files are mapped into memory. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
558 |
.IP "*" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
559 |
How common symbols are allocated. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
560 |
.IP "*" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
561 |
All archive members included in the link, with a mention of the symbol |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
562 |
which caused the archive member to be brought in. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
563 |
.IP "*" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
564 |
The values assigned to symbols. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
565 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
566 |
Note \- symbols whose values are computed by an expression which |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
567 |
involves a reference to a previous value of the same symbol may not |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
568 |
have correct result displayed in the link map. This is because the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
569 |
linker discards intermediate results and only retains the final value |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
570 |
of an expression. Under such circumstances the linker will display |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
571 |
the final value enclosed by square brackets. Thus for example a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
572 |
linker script containing: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
573 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
574 |
.Vb 3 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
575 |
\& foo = 1 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
576 |
\& foo = foo * 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
577 |
\& foo = foo + 8 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
578 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
579 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
580 |
will produce the following output in the link map if the \fB\-M\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
581 |
option is used: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
582 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
583 |
.Vb 3 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
584 |
\& 0x00000001 foo = 0x1 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
585 |
\& [0x0000000c] foo = (foo * 0x4) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
586 |
\& [0x0000000c] foo = (foo + 0x8) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
587 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
588 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
589 |
See \fBExpressions\fR for more information about expressions in linker |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
590 |
scripts. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
591 |
.RE |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
592 |
.RS 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
593 |
.RE |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
594 |
.IP "\fB\-n\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
595 |
.IX Item "-n" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
596 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
597 |
.IP "\fB\-\-nmagic\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
598 |
.IX Item "--nmagic" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
599 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
600 |
Turn off page alignment of sections, and mark the output as |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
601 |
\&\f(CW\*(C`NMAGIC\*(C'\fR if possible. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
602 |
.IP "\fB\-N\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
603 |
.IX Item "-N" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
604 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
605 |
.IP "\fB\-\-omagic\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
606 |
.IX Item "--omagic" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
607 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
608 |
Set the text and data sections to be readable and writable. Also, do |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
609 |
not page-align the data segment, and disable linking against shared |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
610 |
libraries. If the output format supports Unix style magic numbers, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
611 |
mark the output as \f(CW\*(C`OMAGIC\*(C'\fR. Note: Although a writable text section |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
612 |
is allowed for PE-COFF targets, it does not conform to the format |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
613 |
specification published by Microsoft. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
614 |
.IP "\fB\-\-no\-omagic\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
615 |
.IX Item "--no-omagic" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
616 |
This option negates most of the effects of the \fB\-N\fR option. It |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
617 |
sets the text section to be read\-only, and forces the data segment to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
618 |
be page\-aligned. Note \- this option does not enable linking against |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
619 |
shared libraries. Use \fB\-Bdynamic\fR for this. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
620 |
.IP "\fB\-o\fR \fIoutput\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
621 |
.IX Item "-o output" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
622 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
623 |
.IP "\fB\-\-output=\fR\fIoutput\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
624 |
.IX Item "--output=output" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
625 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
626 |
Use \fIoutput\fR as the name for the program produced by \fBld\fR; if this |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
627 |
option is not specified, the name \fIa.out\fR is used by default. The |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
628 |
script command \f(CW\*(C`OUTPUT\*(C'\fR can also specify the output file name. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
629 |
.IP "\fB\-O\fR \fIlevel\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
630 |
.IX Item "-O level" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
631 |
If \fIlevel\fR is a numeric values greater than zero \fBld\fR optimizes |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
632 |
the output. This might take significantly longer and therefore probably |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
633 |
should only be enabled for the final binary. At the moment this |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
634 |
option only affects \s-1ELF\s0 shared library generation. Future releases of |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
635 |
the linker may make more use of this option. Also currently there is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
636 |
no difference in the linker's behaviour for different non-zero values |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
637 |
of this option. Again this may change with future releases. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
638 |
.IP "\fB\-q\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
639 |
.IX Item "-q" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
640 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
641 |
.IP "\fB\-\-emit\-relocs\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
642 |
.IX Item "--emit-relocs" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
643 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
644 |
Leave relocation sections and contents in fully linked executables. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
645 |
Post link analysis and optimization tools may need this information in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
646 |
order to perform correct modifications of executables. This results |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
647 |
in larger executables. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
648 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
649 |
This option is currently only supported on \s-1ELF\s0 platforms. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
650 |
.IP "\fB\-\-force\-dynamic\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
651 |
.IX Item "--force-dynamic" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
652 |
Force the output file to have dynamic sections. This option is specific |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
653 |
to VxWorks targets. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
654 |
.IP "\fB\-r\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
655 |
.IX Item "-r" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
656 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
657 |
.IP "\fB\-\-relocatable\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
658 |
.IX Item "--relocatable" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
659 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
660 |
Generate relocatable output\-\-\-i.e., generate an output file that can in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
661 |
turn serve as input to \fBld\fR. This is often called \fIpartial |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
662 |
linking\fR. As a side effect, in environments that support standard Unix |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
663 |
magic numbers, this option also sets the output file's magic number to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
664 |
\&\f(CW\*(C`OMAGIC\*(C'\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
665 |
If this option is not specified, an absolute file is produced. When |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
666 |
linking \*(C+ programs, this option \fIwill not\fR resolve references to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
667 |
constructors; to do that, use \fB\-Ur\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
668 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
669 |
When an input file does not have the same format as the output file, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
670 |
partial linking is only supported if that input file does not contain any |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
671 |
relocations. Different output formats can have further restrictions; for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
672 |
example some \f(CW\*(C`a.out\*(C'\fR\-based formats do not support partial linking |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
673 |
with input files in other formats at all. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
674 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
675 |
This option does the same thing as \fB\-i\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
676 |
.IP "\fB\-R\fR \fIfilename\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
677 |
.IX Item "-R filename" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
678 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
679 |
.IP "\fB\-\-just\-symbols=\fR\fIfilename\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
680 |
.IX Item "--just-symbols=filename" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
681 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
682 |
Read symbol names and their addresses from \fIfilename\fR, but do not |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
683 |
relocate it or include it in the output. This allows your output file |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
684 |
to refer symbolically to absolute locations of memory defined in other |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
685 |
programs. You may use this option more than once. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
686 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
687 |
For compatibility with other \s-1ELF\s0 linkers, if the \fB\-R\fR option is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
688 |
followed by a directory name, rather than a file name, it is treated as |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
689 |
the \fB\-rpath\fR option. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
690 |
.IP "\fB\-s\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
691 |
.IX Item "-s" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
692 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
693 |
.IP "\fB\-\-strip\-all\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
694 |
.IX Item "--strip-all" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
695 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
696 |
Omit all symbol information from the output file. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
697 |
.IP "\fB\-S\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
698 |
.IX Item "-S" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
699 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
700 |
.IP "\fB\-\-strip\-debug\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
701 |
.IX Item "--strip-debug" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
702 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
703 |
Omit debugger symbol information (but not all symbols) from the output file. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
704 |
.IP "\fB\-t\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
705 |
.IX Item "-t" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
706 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
707 |
.IP "\fB\-\-trace\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
708 |
.IX Item "--trace" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
709 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
710 |
Print the names of the input files as \fBld\fR processes them. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
711 |
.IP "\fB\-T\fR \fIscriptfile\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
712 |
.IX Item "-T scriptfile" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
713 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
714 |
.IP "\fB\-\-script=\fR\fIscriptfile\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
715 |
.IX Item "--script=scriptfile" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
716 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
717 |
Use \fIscriptfile\fR as the linker script. This script replaces |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
718 |
\&\fBld\fR's default linker script (rather than adding to it), so |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
719 |
\&\fIcommandfile\fR must specify everything necessary to describe the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
720 |
output file. If \fIscriptfile\fR does not exist in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
721 |
the current directory, \f(CW\*(C`ld\*(C'\fR looks for it in the directories |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
722 |
specified by any preceding \fB\-L\fR options. Multiple \fB\-T\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
723 |
options accumulate. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
724 |
.IP "\fB\-dT\fR \fIscriptfile\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
725 |
.IX Item "-dT scriptfile" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
726 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
727 |
.IP "\fB\-\-default\-script=\fR\fIscriptfile\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
728 |
.IX Item "--default-script=scriptfile" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
729 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
730 |
Use \fIscriptfile\fR as the default linker script. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
731 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
732 |
This option is similar to the \fB\-\-script\fR option except that |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
733 |
processing of the script is delayed until after the rest of the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
734 |
command line has been processed. This allows options placed after the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
735 |
\&\fB\-\-default\-script\fR option on the command line to affect the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
736 |
behaviour of the linker script, which can be important when the linker |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
737 |
command line cannot be directly controlled by the user. (eg because |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
738 |
the command line is being constructed by another tool, such as |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
739 |
\&\fBgcc\fR). |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
740 |
.IP "\fB\-u\fR \fIsymbol\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
741 |
.IX Item "-u symbol" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
742 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
743 |
.IP "\fB\-\-undefined=\fR\fIsymbol\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
744 |
.IX Item "--undefined=symbol" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
745 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
746 |
Force \fIsymbol\fR to be entered in the output file as an undefined |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
747 |
symbol. Doing this may, for example, trigger linking of additional |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
748 |
modules from standard libraries. \fB\-u\fR may be repeated with |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
749 |
different option arguments to enter additional undefined symbols. This |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
750 |
option is equivalent to the \f(CW\*(C`EXTERN\*(C'\fR linker script command. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
751 |
.IP "\fB\-Ur\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
752 |
.IX Item "-Ur" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
753 |
For anything other than \*(C+ programs, this option is equivalent to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
754 |
\&\fB\-r\fR: it generates relocatable output\-\-\-i.e., an output file that can in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
755 |
turn serve as input to \fBld\fR. When linking \*(C+ programs, \fB\-Ur\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
756 |
\&\fIdoes\fR resolve references to constructors, unlike \fB\-r\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
757 |
It does not work to use \fB\-Ur\fR on files that were themselves linked |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
758 |
with \fB\-Ur\fR; once the constructor table has been built, it cannot |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
759 |
be added to. Use \fB\-Ur\fR only for the last partial link, and |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
760 |
\&\fB\-r\fR for the others. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
761 |
.IP "\fB\-\-unique[=\fR\fI\s-1SECTION\s0\fR\fB]\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
762 |
.IX Item "--unique[=SECTION]" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
763 |
Creates a separate output section for every input section matching |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
764 |
\&\fI\s-1SECTION\s0\fR, or if the optional wildcard \fI\s-1SECTION\s0\fR argument is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
765 |
missing, for every orphan input section. An orphan section is one not |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
766 |
specifically mentioned in a linker script. You may use this option |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
767 |
multiple times on the command line; It prevents the normal merging of |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
768 |
input sections with the same name, overriding output section assignments |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
769 |
in a linker script. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
770 |
.IP "\fB\-v\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
771 |
.IX Item "-v" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
772 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
773 |
.IP "\fB\-\-version\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
774 |
.IX Item "--version" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
775 |
.IP "\fB\-V\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
776 |
.IX Item "-V" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
777 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
778 |
Display the version number for \fBld\fR. The \fB\-V\fR option also |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
779 |
lists the supported emulations. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
780 |
.IP "\fB\-x\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
781 |
.IX Item "-x" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
782 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
783 |
.IP "\fB\-\-discard\-all\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
784 |
.IX Item "--discard-all" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
785 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
786 |
Delete all local symbols. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
787 |
.IP "\fB\-X\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
788 |
.IX Item "-X" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
789 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
790 |
.IP "\fB\-\-discard\-locals\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
791 |
.IX Item "--discard-locals" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
792 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
793 |
Delete all temporary local symbols. (These symbols start with |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
794 |
system-specific local label prefixes, typically \fB.L\fR for \s-1ELF\s0 systems |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
795 |
or \fBL\fR for traditional a.out systems.) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
796 |
.IP "\fB\-y\fR \fIsymbol\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
797 |
.IX Item "-y symbol" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
798 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
799 |
.IP "\fB\-\-trace\-symbol=\fR\fIsymbol\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
800 |
.IX Item "--trace-symbol=symbol" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
801 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
802 |
Print the name of each linked file in which \fIsymbol\fR appears. This |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
803 |
option may be given any number of times. On many systems it is necessary |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
804 |
to prepend an underscore. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
805 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
806 |
This option is useful when you have an undefined symbol in your link but |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
807 |
don't know where the reference is coming from. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
808 |
.IP "\fB\-Y\fR \fIpath\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
809 |
.IX Item "-Y path" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
810 |
Add \fIpath\fR to the default library search path. This option exists |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
811 |
for Solaris compatibility. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
812 |
.IP "\fB\-z\fR \fIkeyword\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
813 |
.IX Item "-z keyword" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
814 |
The recognized keywords are: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
815 |
.RS 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
816 |
.IP "\fBcombreloc\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
817 |
.IX Item "combreloc" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
818 |
Combines multiple reloc sections and sorts them to make dynamic symbol |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
819 |
lookup caching possible. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
820 |
.IP "\fBdefs\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
821 |
.IX Item "defs" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
822 |
Disallows undefined symbols in object files. Undefined symbols in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
823 |
shared libraries are still allowed. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
824 |
.IP "\fBexecstack\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
825 |
.IX Item "execstack" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
826 |
Marks the object as requiring executable stack. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
827 |
.IP "\fBinitfirst\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
828 |
.IX Item "initfirst" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
829 |
This option is only meaningful when building a shared object. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
830 |
It marks the object so that its runtime initialization will occur |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
831 |
before the runtime initialization of any other objects brought into |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
832 |
the process at the same time. Similarly the runtime finalization of |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
833 |
the object will occur after the runtime finalization of any other |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
834 |
objects. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
835 |
.IP "\fBinterpose\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
836 |
.IX Item "interpose" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
837 |
Marks the object that its symbol table interposes before all symbols |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
838 |
but the primary executable. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
839 |
.IP "\fBlazy\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
840 |
.IX Item "lazy" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
841 |
When generating an executable or shared library, mark it to tell the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
842 |
dynamic linker to defer function call resolution to the point when |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
843 |
the function is called (lazy binding), rather than at load time. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
844 |
Lazy binding is the default. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
845 |
.IP "\fBloadfltr\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
846 |
.IX Item "loadfltr" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
847 |
Marks the object that its filters be processed immediately at |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
848 |
runtime. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
849 |
.IP "\fBmuldefs\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
850 |
.IX Item "muldefs" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
851 |
Allows multiple definitions. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
852 |
.IP "\fBnocombreloc\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
853 |
.IX Item "nocombreloc" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
854 |
Disables multiple reloc sections combining. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
855 |
.IP "\fBnocopyreloc\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
856 |
.IX Item "nocopyreloc" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
857 |
Disables production of copy relocs. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
858 |
.IP "\fBnodefaultlib\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
859 |
.IX Item "nodefaultlib" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
860 |
Marks the object that the search for dependencies of this object will |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
861 |
ignore any default library search paths. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
862 |
.IP "\fBnodelete\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
863 |
.IX Item "nodelete" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
864 |
Marks the object shouldn't be unloaded at runtime. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
865 |
.IP "\fBnodlopen\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
866 |
.IX Item "nodlopen" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
867 |
Marks the object not available to \f(CW\*(C`dlopen\*(C'\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
868 |
.IP "\fBnodump\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
869 |
.IX Item "nodump" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
870 |
Marks the object can not be dumped by \f(CW\*(C`dldump\*(C'\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
871 |
.IP "\fBnoexecstack\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
872 |
.IX Item "noexecstack" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
873 |
Marks the object as not requiring executable stack. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
874 |
.IP "\fBnorelro\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
875 |
.IX Item "norelro" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
876 |
Don't create an \s-1ELF\s0 \f(CW\*(C`PT_GNU_RELRO\*(C'\fR segment header in the object. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
877 |
.IP "\fBnow\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
878 |
.IX Item "now" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
879 |
When generating an executable or shared library, mark it to tell the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
880 |
dynamic linker to resolve all symbols when the program is started, or |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
881 |
when the shared library is linked to using dlopen, instead of |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
882 |
deferring function call resolution to the point when the function is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
883 |
first called. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
884 |
.IP "\fBorigin\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
885 |
.IX Item "origin" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
886 |
Marks the object may contain \f(CW$ORIGIN\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
887 |
.IP "\fBrelro\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
888 |
.IX Item "relro" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
889 |
Create an \s-1ELF\s0 \f(CW\*(C`PT_GNU_RELRO\*(C'\fR segment header in the object. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
890 |
.IP "\fBmax\-page\-size=\fR\fIvalue\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
891 |
.IX Item "max-page-size=value" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
892 |
Set the emulation maximum page size to \fIvalue\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
893 |
.IP "\fBcommon\-page\-size=\fR\fIvalue\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
894 |
.IX Item "common-page-size=value" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
895 |
Set the emulation common page size to \fIvalue\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
896 |
.RE |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
897 |
.RS 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
898 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
899 |
Other keywords are ignored for Solaris compatibility. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
900 |
.RE |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
901 |
.IP "\fB\-(\fR \fIarchives\fR \fB\-)\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
902 |
.IX Item "-( archives -)" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
903 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
904 |
.IP "\fB\-\-start\-group\fR \fIarchives\fR \fB\-\-end\-group\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
905 |
.IX Item "--start-group archives --end-group" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
906 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
907 |
The \fIarchives\fR should be a list of archive files. They may be |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
908 |
either explicit file names, or \fB\-l\fR options. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
909 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
910 |
The specified archives are searched repeatedly until no new undefined |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
911 |
references are created. Normally, an archive is searched only once in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
912 |
the order that it is specified on the command line. If a symbol in that |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
913 |
archive is needed to resolve an undefined symbol referred to by an |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
914 |
object in an archive that appears later on the command line, the linker |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
915 |
would not be able to resolve that reference. By grouping the archives, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
916 |
they all be searched repeatedly until all possible references are |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
917 |
resolved. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
918 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
919 |
Using this option has a significant performance cost. It is best to use |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
920 |
it only when there are unavoidable circular references between two or |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
921 |
more archives. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
922 |
.IP "\fB\-\-accept\-unknown\-input\-arch\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
923 |
.IX Item "--accept-unknown-input-arch" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
924 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
925 |
.IP "\fB\-\-no\-accept\-unknown\-input\-arch\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
926 |
.IX Item "--no-accept-unknown-input-arch" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
927 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
928 |
Tells the linker to accept input files whose architecture cannot be |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
929 |
recognised. The assumption is that the user knows what they are doing |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
930 |
and deliberately wants to link in these unknown input files. This was |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
931 |
the default behaviour of the linker, before release 2.14. The default |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
932 |
behaviour from release 2.14 onwards is to reject such input files, and |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
933 |
so the \fB\-\-accept\-unknown\-input\-arch\fR option has been added to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
934 |
restore the old behaviour. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
935 |
.IP "\fB\-\-as\-needed\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
936 |
.IX Item "--as-needed" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
937 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
938 |
.IP "\fB\-\-no\-as\-needed\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
939 |
.IX Item "--no-as-needed" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
940 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
941 |
This option affects \s-1ELF\s0 \s-1DT_NEEDED\s0 tags for dynamic libraries mentioned |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
942 |
on the command line after the \fB\-\-as\-needed\fR option. Normally, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
943 |
the linker will add a \s-1DT_NEEDED\s0 tag for each dynamic library mentioned |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
944 |
on the command line, regardless of whether the library is actually |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
945 |
needed. \fB\-\-as\-needed\fR causes \s-1DT_NEEDED\s0 tags to only be emitted |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
946 |
for libraries that satisfy some symbol reference from regular objects |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
947 |
which is undefined at the point that the library was linked. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
948 |
\&\fB\-\-no\-as\-needed\fR restores the default behaviour. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
949 |
.IP "\fB\-\-add\-needed\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
950 |
.IX Item "--add-needed" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
951 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
952 |
.IP "\fB\-\-no\-add\-needed\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
953 |
.IX Item "--no-add-needed" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
954 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
955 |
This option affects the treatment of dynamic libraries from \s-1ELF\s0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
956 |
\&\s-1DT_NEEDED\s0 tags in dynamic libraries mentioned on the command line after |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
957 |
the \fB\-\-no\-add\-needed\fR option. Normally, the linker will add |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
958 |
a \s-1DT_NEEDED\s0 tag for each dynamic library from \s-1DT_NEEDED\s0 tags. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
959 |
\&\fB\-\-no\-add\-needed\fR causes \s-1DT_NEEDED\s0 tags will never be emitted |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
960 |
for those libraries from \s-1DT_NEEDED\s0 tags. \fB\-\-add\-needed\fR restores |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
961 |
the default behaviour. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
962 |
.IP "\fB\-assert\fR \fIkeyword\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
963 |
.IX Item "-assert keyword" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
964 |
This option is ignored for SunOS compatibility. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
965 |
.IP "\fB\-Bdynamic\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
966 |
.IX Item "-Bdynamic" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
967 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
968 |
.IP "\fB\-dy\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
969 |
.IX Item "-dy" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
970 |
.IP "\fB\-call_shared\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
971 |
.IX Item "-call_shared" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
972 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
973 |
Link against dynamic libraries. This is only meaningful on platforms |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
974 |
for which shared libraries are supported. This option is normally the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
975 |
default on such platforms. The different variants of this option are |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
976 |
for compatibility with various systems. You may use this option |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
977 |
multiple times on the command line: it affects library searching for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
978 |
\&\fB\-l\fR options which follow it. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
979 |
.IP "\fB\-Bgroup\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
980 |
.IX Item "-Bgroup" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
981 |
Set the \f(CW\*(C`DF_1_GROUP\*(C'\fR flag in the \f(CW\*(C`DT_FLAGS_1\*(C'\fR entry in the dynamic |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
982 |
section. This causes the runtime linker to handle lookups in this |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
983 |
object and its dependencies to be performed only inside the group. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
984 |
\&\fB\-\-unresolved\-symbols=report\-all\fR is implied. This option is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
985 |
only meaningful on \s-1ELF\s0 platforms which support shared libraries. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
986 |
.IP "\fB\-Bstatic\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
987 |
.IX Item "-Bstatic" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
988 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
989 |
.IP "\fB\-dn\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
990 |
.IX Item "-dn" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
991 |
.IP "\fB\-non_shared\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
992 |
.IX Item "-non_shared" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
993 |
.IP "\fB\-static\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
994 |
.IX Item "-static" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
995 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
996 |
Do not link against shared libraries. This is only meaningful on |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
997 |
platforms for which shared libraries are supported. The different |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
998 |
variants of this option are for compatibility with various systems. You |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
999 |
may use this option multiple times on the command line: it affects |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1000 |
library searching for \fB\-l\fR options which follow it. This |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1001 |
option also implies \fB\-\-unresolved\-symbols=report\-all\fR. This |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1002 |
option can be used with \fB\-shared\fR. Doing so means that a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1003 |
shared library is being created but that all of the library's external |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1004 |
references must be resolved by pulling in entries from static |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1005 |
libraries. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1006 |
.IP "\fB\-Bsymbolic\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1007 |
.IX Item "-Bsymbolic" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1008 |
When creating a shared library, bind references to global symbols to the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1009 |
definition within the shared library, if any. Normally, it is possible |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1010 |
for a program linked against a shared library to override the definition |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1011 |
within the shared library. This option is only meaningful on \s-1ELF\s0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1012 |
platforms which support shared libraries. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1013 |
.IP "\fB\-Bsymbolic\-functions\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1014 |
.IX Item "-Bsymbolic-functions" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1015 |
When creating a shared library, bind references to global function |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1016 |
symbols to the definition within the shared library, if any. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1017 |
This option is only meaningful on \s-1ELF\s0 platforms which support shared |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1018 |
libraries. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1019 |
.IP "\fB\-\-dynamic\-list=\fR\fIdynamic-list-file\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1020 |
.IX Item "--dynamic-list=dynamic-list-file" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1021 |
Specify the name of a dynamic list file to the linker. This is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1022 |
typically used when creating shared libraries to specify a list of |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1023 |
global symbols whose references shouldn't be bound to the definition |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1024 |
within the shared library, or creating dynamically linked executables |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1025 |
to specify a list of symbols which should be added to the symbol table |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1026 |
in the executable. This option is only meaningful on \s-1ELF\s0 platforms |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1027 |
which support shared libraries. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1028 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1029 |
The format of the dynamic list is the same as the version node without |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1030 |
scope and node name. See \fB\s-1VERSION\s0\fR for more information. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1031 |
.IP "\fB\-\-dynamic\-list\-data\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1032 |
.IX Item "--dynamic-list-data" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1033 |
Include all global data symbols to the dynamic list. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1034 |
.IP "\fB\-\-dynamic\-list\-cpp\-new\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1035 |
.IX Item "--dynamic-list-cpp-new" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1036 |
Provide the builtin dynamic list for \*(C+ operator new and delete. It |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1037 |
is mainly useful for building shared libstdc++. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1038 |
.IP "\fB\-\-dynamic\-list\-cpp\-typeinfo\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1039 |
.IX Item "--dynamic-list-cpp-typeinfo" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1040 |
Provide the builtin dynamic list for \*(C+ runtime type identification. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1041 |
.IP "\fB\-\-check\-sections\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1042 |
.IX Item "--check-sections" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1043 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1044 |
.IP "\fB\-\-no\-check\-sections\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1045 |
.IX Item "--no-check-sections" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1046 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1047 |
Asks the linker \fInot\fR to check section addresses after they have |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1048 |
been assigned to see if there are any overlaps. Normally the linker will |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1049 |
perform this check, and if it finds any overlaps it will produce |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1050 |
suitable error messages. The linker does know about, and does make |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1051 |
allowances for sections in overlays. The default behaviour can be |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1052 |
restored by using the command line switch \fB\-\-check\-sections\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1053 |
.IP "\fB\-\-cref\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1054 |
.IX Item "--cref" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1055 |
Output a cross reference table. If a linker map file is being |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1056 |
generated, the cross reference table is printed to the map file. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1057 |
Otherwise, it is printed on the standard output. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1058 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1059 |
The format of the table is intentionally simple, so that it may be |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1060 |
easily processed by a script if necessary. The symbols are printed out, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1061 |
sorted by name. For each symbol, a list of file names is given. If the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1062 |
symbol is defined, the first file listed is the location of the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1063 |
definition. The remaining files contain references to the symbol. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1064 |
.IP "\fB\-\-no\-define\-common\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1065 |
.IX Item "--no-define-common" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1066 |
This option inhibits the assignment of addresses to common symbols. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1067 |
The script command \f(CW\*(C`INHIBIT_COMMON_ALLOCATION\*(C'\fR has the same effect. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1068 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1069 |
The \fB\-\-no\-define\-common\fR option allows decoupling |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1070 |
the decision to assign addresses to Common symbols from the choice |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1071 |
of the output file type; otherwise a non-Relocatable output type |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1072 |
forces assigning addresses to Common symbols. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1073 |
Using \fB\-\-no\-define\-common\fR allows Common symbols that are referenced |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1074 |
from a shared library to be assigned addresses only in the main program. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1075 |
This eliminates the unused duplicate space in the shared library, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1076 |
and also prevents any possible confusion over resolving to the wrong |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1077 |
duplicate when there are many dynamic modules with specialized search |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1078 |
paths for runtime symbol resolution. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1079 |
.IP "\fB\-\-defsym\fR \fIsymbol\fR\fB=\fR\fIexpression\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1080 |
.IX Item "--defsym symbol=expression" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1081 |
Create a global symbol in the output file, containing the absolute |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1082 |
address given by \fIexpression\fR. You may use this option as many |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1083 |
times as necessary to define multiple symbols in the command line. A |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1084 |
limited form of arithmetic is supported for the \fIexpression\fR in this |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1085 |
context: you may give a hexadecimal constant or the name of an existing |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1086 |
symbol, or use \f(CW\*(C`+\*(C'\fR and \f(CW\*(C`\-\*(C'\fR to add or subtract hexadecimal |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1087 |
constants or symbols. If you need more elaborate expressions, consider |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1088 |
using the linker command language from a script. \fINote:\fR there should be no white |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1089 |
space between \fIsymbol\fR, the equals sign ("\fB=\fR"), and |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1090 |
\&\fIexpression\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1091 |
.IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1092 |
.IX Item "--demangle[=style]" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1093 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1094 |
.IP "\fB\-\-no\-demangle\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1095 |
.IX Item "--no-demangle" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1096 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1097 |
These options control whether to demangle symbol names in error messages |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1098 |
and other output. When the linker is told to demangle, it tries to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1099 |
present symbol names in a readable fashion: it strips leading |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1100 |
underscores if they are used by the object file format, and converts \*(C+ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1101 |
mangled symbol names into user readable names. Different compilers have |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1102 |
different mangling styles. The optional demangling style argument can be used |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1103 |
to choose an appropriate demangling style for your compiler. The linker will |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1104 |
demangle by default unless the environment variable \fB\s-1COLLECT_NO_DEMANGLE\s0\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1105 |
is set. These options may be used to override the default. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1106 |
.IP "\fB\-\-dynamic\-linker\fR \fIfile\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1107 |
.IX Item "--dynamic-linker file" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1108 |
Set the name of the dynamic linker. This is only meaningful when |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1109 |
generating dynamically linked \s-1ELF\s0 executables. The default dynamic |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1110 |
linker is normally correct; don't use this unless you know what you are |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1111 |
doing. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1112 |
.IP "\fB\-\-fatal\-warnings\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1113 |
.IX Item "--fatal-warnings" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1114 |
Treat all warnings as errors. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1115 |
.IP "\fB\-\-force\-exe\-suffix\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1116 |
.IX Item "--force-exe-suffix" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1117 |
Make sure that an output file has a .exe suffix. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1118 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1119 |
If a successfully built fully linked output file does not have a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1120 |
\&\f(CW\*(C`.exe\*(C'\fR or \f(CW\*(C`.dll\*(C'\fR suffix, this option forces the linker to copy |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1121 |
the output file to one of the same name with a \f(CW\*(C`.exe\*(C'\fR suffix. This |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1122 |
option is useful when using unmodified Unix makefiles on a Microsoft |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1123 |
Windows host, since some versions of Windows won't run an image unless |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1124 |
it ends in a \f(CW\*(C`.exe\*(C'\fR suffix. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1125 |
.IP "\fB\-\-gc\-sections\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1126 |
.IX Item "--gc-sections" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1127 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1128 |
.IP "\fB\-\-no\-gc\-sections\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1129 |
.IX Item "--no-gc-sections" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1130 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1131 |
Enable garbage collection of unused input sections. It is ignored on |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1132 |
targets that do not support this option. This option is not compatible |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1133 |
with \fB\-r\fR or \fB\-\-emit\-relocs\fR. The default behaviour (of not |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1134 |
performing this garbage collection) can be restored by specifying |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1135 |
\&\fB\-\-no\-gc\-sections\fR on the command line. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1136 |
.IP "\fB\-\-print\-gc\-sections\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1137 |
.IX Item "--print-gc-sections" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1138 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1139 |
.IP "\fB\-\-no\-print\-gc\-sections\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1140 |
.IX Item "--no-print-gc-sections" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1141 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1142 |
List all sections removed by garbage collection. The listing is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1143 |
printed on stderr. This option is only effective if garbage |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1144 |
collection has been enabled via the \fB\-\-gc\-sections\fR) option. The |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1145 |
default behaviour (of not listing the sections that are removed) can |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1146 |
be restored by specifying \fB\-\-no\-print\-gc\-sections\fR on the command |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1147 |
line. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1148 |
.IP "\fB\-\-help\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1149 |
.IX Item "--help" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1150 |
Print a summary of the command-line options on the standard output and exit. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1151 |
.IP "\fB\-\-target\-help\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1152 |
.IX Item "--target-help" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1153 |
Print a summary of all target specific options on the standard output and exit. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1154 |
.IP "\fB\-Map\fR \fImapfile\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1155 |
.IX Item "-Map mapfile" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1156 |
Print a link map to the file \fImapfile\fR. See the description of the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1157 |
\&\fB\-M\fR option, above. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1158 |
.IP "\fB\-\-no\-keep\-memory\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1159 |
.IX Item "--no-keep-memory" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1160 |
\&\fBld\fR normally optimizes for speed over memory usage by caching the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1161 |
symbol tables of input files in memory. This option tells \fBld\fR to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1162 |
instead optimize for memory usage, by rereading the symbol tables as |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1163 |
necessary. This may be required if \fBld\fR runs out of memory space |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1164 |
while linking a large executable. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1165 |
.IP "\fB\-\-no\-undefined\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1166 |
.IX Item "--no-undefined" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1167 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1168 |
.IP "\fB\-z defs\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1169 |
.IX Item "-z defs" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1170 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1171 |
Report unresolved symbol references from regular object files. This |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1172 |
is done even if the linker is creating a non-symbolic shared library. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1173 |
The switch \fB\-\-[no\-]allow\-shlib\-undefined\fR controls the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1174 |
behaviour for reporting unresolved references found in shared |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1175 |
libraries being linked in. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1176 |
.IP "\fB\-\-allow\-multiple\-definition\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1177 |
.IX Item "--allow-multiple-definition" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1178 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1179 |
.IP "\fB\-z muldefs\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1180 |
.IX Item "-z muldefs" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1181 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1182 |
Normally when a symbol is defined multiple times, the linker will |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1183 |
report a fatal error. These options allow multiple definitions and the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1184 |
first definition will be used. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1185 |
.IP "\fB\-\-allow\-shlib\-undefined\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1186 |
.IX Item "--allow-shlib-undefined" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1187 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1188 |
.IP "\fB\-\-no\-allow\-shlib\-undefined\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1189 |
.IX Item "--no-allow-shlib-undefined" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1190 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1191 |
Allows (the default) or disallows undefined symbols in shared libraries. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1192 |
This switch is similar to \fB\-\-no\-undefined\fR except that it |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1193 |
determines the behaviour when the undefined symbols are in a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1194 |
shared library rather than a regular object file. It does not affect |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1195 |
how undefined symbols in regular object files are handled. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1196 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1197 |
The reason that \fB\-\-allow\-shlib\-undefined\fR is the default is that |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1198 |
the shared library being specified at link time may not be the same as |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1199 |
the one that is available at load time, so the symbols might actually be |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1200 |
resolvable at load time. Plus there are some systems, (eg BeOS) where |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1201 |
undefined symbols in shared libraries is normal. (The kernel patches |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1202 |
them at load time to select which function is most appropriate |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1203 |
for the current architecture. This is used for example to dynamically |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1204 |
select an appropriate memset function). Apparently it is also normal |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1205 |
for \s-1HPPA\s0 shared libraries to have undefined symbols. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1206 |
.IP "\fB\-\-no\-undefined\-version\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1207 |
.IX Item "--no-undefined-version" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1208 |
Normally when a symbol has an undefined version, the linker will ignore |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1209 |
it. This option disallows symbols with undefined version and a fatal error |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1210 |
will be issued instead. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1211 |
.IP "\fB\-\-default\-symver\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1212 |
.IX Item "--default-symver" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1213 |
Create and use a default symbol version (the soname) for unversioned |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1214 |
exported symbols. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1215 |
.IP "\fB\-\-default\-imported\-symver\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1216 |
.IX Item "--default-imported-symver" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1217 |
Create and use a default symbol version (the soname) for unversioned |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1218 |
imported symbols. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1219 |
.IP "\fB\-\-no\-warn\-mismatch\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1220 |
.IX Item "--no-warn-mismatch" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1221 |
Normally \fBld\fR will give an error if you try to link together input |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1222 |
files that are mismatched for some reason, perhaps because they have |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1223 |
been compiled for different processors or for different endiannesses. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1224 |
This option tells \fBld\fR that it should silently permit such possible |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1225 |
errors. This option should only be used with care, in cases when you |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1226 |
have taken some special action that ensures that the linker errors are |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1227 |
inappropriate. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1228 |
.IP "\fB\-\-no\-warn\-search\-mismatch\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1229 |
.IX Item "--no-warn-search-mismatch" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1230 |
Normally \fBld\fR will give a warning if it finds an incompatible |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1231 |
library during a library search. This option silences the warning. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1232 |
.IP "\fB\-\-no\-whole\-archive\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1233 |
.IX Item "--no-whole-archive" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1234 |
Turn off the effect of the \fB\-\-whole\-archive\fR option for subsequent |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1235 |
archive files. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1236 |
.IP "\fB\-\-noinhibit\-exec\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1237 |
.IX Item "--noinhibit-exec" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1238 |
Retain the executable output file whenever it is still usable. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1239 |
Normally, the linker will not produce an output file if it encounters |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1240 |
errors during the link process; it exits without writing an output file |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1241 |
when it issues any error whatsoever. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1242 |
.IP "\fB\-nostdlib\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1243 |
.IX Item "-nostdlib" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1244 |
Only search library directories explicitly specified on the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1245 |
command line. Library directories specified in linker scripts |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1246 |
(including linker scripts specified on the command line) are ignored. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1247 |
.IP "\fB\-\-oformat\fR \fIoutput-format\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1248 |
.IX Item "--oformat output-format" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1249 |
\&\fBld\fR may be configured to support more than one kind of object |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1250 |
file. If your \fBld\fR is configured this way, you can use the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1251 |
\&\fB\-\-oformat\fR option to specify the binary format for the output |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1252 |
object file. Even when \fBld\fR is configured to support alternative |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1253 |
object formats, you don't usually need to specify this, as \fBld\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1254 |
should be configured to produce as a default output format the most |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1255 |
usual format on each machine. \fIoutput-format\fR is a text string, the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1256 |
name of a particular format supported by the \s-1BFD\s0 libraries. (You can |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1257 |
list the available binary formats with \fBobjdump \-i\fR.) The script |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1258 |
command \f(CW\*(C`OUTPUT_FORMAT\*(C'\fR can also specify the output format, but |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1259 |
this option overrides it. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1260 |
.IP "\fB\-pie\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1261 |
.IX Item "-pie" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1262 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1263 |
.IP "\fB\-\-pic\-executable\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1264 |
.IX Item "--pic-executable" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1265 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1266 |
Create a position independent executable. This is currently only supported on |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1267 |
\&\s-1ELF\s0 platforms. Position independent executables are similar to shared |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1268 |
libraries in that they are relocated by the dynamic linker to the virtual |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1269 |
address the \s-1OS\s0 chooses for them (which can vary between invocations). Like |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1270 |
normal dynamically linked executables they can be executed and symbols |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1271 |
defined in the executable cannot be overridden by shared libraries. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1272 |
.IP "\fB\-qmagic\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1273 |
.IX Item "-qmagic" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1274 |
This option is ignored for Linux compatibility. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1275 |
.IP "\fB\-Qy\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1276 |
.IX Item "-Qy" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1277 |
This option is ignored for \s-1SVR4\s0 compatibility. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1278 |
.IP "\fB\-\-relax\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1279 |
.IX Item "--relax" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1280 |
An option with machine dependent effects. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1281 |
This option is only supported on a few targets. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1282 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1283 |
On some platforms, the \fB\-\-relax\fR option performs global |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1284 |
optimizations that become possible when the linker resolves addressing |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1285 |
in the program, such as relaxing address modes and synthesizing new |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1286 |
instructions in the output object file. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1287 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1288 |
On some platforms these link time global optimizations may make symbolic |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1289 |
debugging of the resulting executable impossible. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1290 |
This is known to be |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1291 |
the case for the Matsushita \s-1MN10200\s0 and \s-1MN10300\s0 family of processors. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1292 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1293 |
On platforms where this is not supported, \fB\-\-relax\fR is accepted, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1294 |
but ignored. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1295 |
.IP "\fB\-\-retain\-symbols\-file\fR \fIfilename\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1296 |
.IX Item "--retain-symbols-file filename" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1297 |
Retain \fIonly\fR the symbols listed in the file \fIfilename\fR, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1298 |
discarding all others. \fIfilename\fR is simply a flat file, with one |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1299 |
symbol name per line. This option is especially useful in environments |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1300 |
(such as VxWorks) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1301 |
where a large global symbol table is accumulated gradually, to conserve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1302 |
run-time memory. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1303 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1304 |
\&\fB\-\-retain\-symbols\-file\fR does \fInot\fR discard undefined symbols, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1305 |
or symbols needed for relocations. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1306 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1307 |
You may only specify \fB\-\-retain\-symbols\-file\fR once in the command |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1308 |
line. It overrides \fB\-s\fR and \fB\-S\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1309 |
.IP "\fB\-rpath\fR \fIdir\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1310 |
.IX Item "-rpath dir" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1311 |
Add a directory to the runtime library search path. This is used when |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1312 |
linking an \s-1ELF\s0 executable with shared objects. All \fB\-rpath\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1313 |
arguments are concatenated and passed to the runtime linker, which uses |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1314 |
them to locate shared objects at runtime. The \fB\-rpath\fR option is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1315 |
also used when locating shared objects which are needed by shared |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1316 |
objects explicitly included in the link; see the description of the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1317 |
\&\fB\-rpath\-link\fR option. If \fB\-rpath\fR is not used when linking an |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1318 |
\&\s-1ELF\s0 executable, the contents of the environment variable |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1319 |
\&\f(CW\*(C`LD_RUN_PATH\*(C'\fR will be used if it is defined. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1320 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1321 |
The \fB\-rpath\fR option may also be used on SunOS. By default, on |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1322 |
SunOS, the linker will form a runtime search patch out of all the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1323 |
\&\fB\-L\fR options it is given. If a \fB\-rpath\fR option is used, the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1324 |
runtime search path will be formed exclusively using the \fB\-rpath\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1325 |
options, ignoring the \fB\-L\fR options. This can be useful when using |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1326 |
gcc, which adds many \fB\-L\fR options which may be on \s-1NFS\s0 mounted |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1327 |
file systems. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1328 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1329 |
For compatibility with other \s-1ELF\s0 linkers, if the \fB\-R\fR option is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1330 |
followed by a directory name, rather than a file name, it is treated as |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1331 |
the \fB\-rpath\fR option. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1332 |
.IP "\fB\-rpath\-link\fR \fI\s-1DIR\s0\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1333 |
.IX Item "-rpath-link DIR" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1334 |
When using \s-1ELF\s0 or SunOS, one shared library may require another. This |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1335 |
happens when an \f(CW\*(C`ld \-shared\*(C'\fR link includes a shared library as one |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1336 |
of the input files. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1337 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1338 |
When the linker encounters such a dependency when doing a non\-shared, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1339 |
non-relocatable link, it will automatically try to locate the required |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1340 |
shared library and include it in the link, if it is not included |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1341 |
explicitly. In such a case, the \fB\-rpath\-link\fR option |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1342 |
specifies the first set of directories to search. The |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1343 |
\&\fB\-rpath\-link\fR option may specify a sequence of directory names |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1344 |
either by specifying a list of names separated by colons, or by |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1345 |
appearing multiple times. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1346 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1347 |
This option should be used with caution as it overrides the search path |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1348 |
that may have been hard compiled into a shared library. In such a case it |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1349 |
is possible to use unintentionally a different search path than the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1350 |
runtime linker would do. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1351 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1352 |
The linker uses the following search paths to locate required shared |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1353 |
libraries: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1354 |
.RS 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1355 |
.IP "1." 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1356 |
Any directories specified by \fB\-rpath\-link\fR options. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1357 |
.IP "2." 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1358 |
Any directories specified by \fB\-rpath\fR options. The difference |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1359 |
between \fB\-rpath\fR and \fB\-rpath\-link\fR is that directories |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1360 |
specified by \fB\-rpath\fR options are included in the executable and |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1361 |
used at runtime, whereas the \fB\-rpath\-link\fR option is only effective |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1362 |
at link time. Searching \fB\-rpath\fR in this way is only supported |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1363 |
by native linkers and cross linkers which have been configured with |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1364 |
the \fB\-\-with\-sysroot\fR option. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1365 |
.IP "3." 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1366 |
On an \s-1ELF\s0 system, for native linkers, if the \fB\-rpath\fR and |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1367 |
\&\fB\-rpath\-link\fR options were not used, search the contents of the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1368 |
environment variable \f(CW\*(C`LD_RUN_PATH\*(C'\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1369 |
.IP "4." 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1370 |
On SunOS, if the \fB\-rpath\fR option was not used, search any |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1371 |
directories specified using \fB\-L\fR options. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1372 |
.IP "5." 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1373 |
For a native linker, the search the contents of the environment |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1374 |
variable \f(CW\*(C`LD_LIBRARY_PATH\*(C'\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1375 |
.IP "6." 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1376 |
For a native \s-1ELF\s0 linker, the directories in \f(CW\*(C`DT_RUNPATH\*(C'\fR or |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1377 |
\&\f(CW\*(C`DT_RPATH\*(C'\fR of a shared library are searched for shared |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1378 |
libraries needed by it. The \f(CW\*(C`DT_RPATH\*(C'\fR entries are ignored if |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1379 |
\&\f(CW\*(C`DT_RUNPATH\*(C'\fR entries exist. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1380 |
.IP "7." 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1381 |
The default directories, normally \fI/lib\fR and \fI/usr/lib\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1382 |
.IP "8." 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1383 |
For a native linker on an \s-1ELF\s0 system, if the file \fI/etc/ld.so.conf\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1384 |
exists, the list of directories found in that file. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1385 |
.RE |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1386 |
.RS 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1387 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1388 |
If the required shared library is not found, the linker will issue a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1389 |
warning and continue with the link. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1390 |
.RE |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1391 |
.IP "\fB\-shared\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1392 |
.IX Item "-shared" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1393 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1394 |
.IP "\fB\-Bshareable\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1395 |
.IX Item "-Bshareable" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1396 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1397 |
Create a shared library. This is currently only supported on \s-1ELF\s0, \s-1XCOFF\s0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1398 |
and SunOS platforms. On SunOS, the linker will automatically create a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1399 |
shared library if the \fB\-e\fR option is not used and there are |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1400 |
undefined symbols in the link. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1401 |
.IP "\fB\-\-sort\-common\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1402 |
.IX Item "--sort-common" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1403 |
This option tells \fBld\fR to sort the common symbols by size when it |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1404 |
places them in the appropriate output sections. First come all the one |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1405 |
byte symbols, then all the two byte, then all the four byte, and then |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1406 |
everything else. This is to prevent gaps between symbols due to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1407 |
alignment constraints. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1408 |
.IP "\fB\-\-sort\-section name\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1409 |
.IX Item "--sort-section name" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1410 |
This option will apply \f(CW\*(C`SORT_BY_NAME\*(C'\fR to all wildcard section |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1411 |
patterns in the linker script. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1412 |
.IP "\fB\-\-sort\-section alignment\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1413 |
.IX Item "--sort-section alignment" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1414 |
This option will apply \f(CW\*(C`SORT_BY_ALIGNMENT\*(C'\fR to all wildcard section |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1415 |
patterns in the linker script. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1416 |
.IP "\fB\-\-split\-by\-file [\fR\fIsize\fR\fB]\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1417 |
.IX Item "--split-by-file [size]" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1418 |
Similar to \fB\-\-split\-by\-reloc\fR but creates a new output section for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1419 |
each input file when \fIsize\fR is reached. \fIsize\fR defaults to a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1420 |
size of 1 if not given. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1421 |
.IP "\fB\-\-split\-by\-reloc [\fR\fIcount\fR\fB]\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1422 |
.IX Item "--split-by-reloc [count]" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1423 |
Tries to creates extra sections in the output file so that no single |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1424 |
output section in the file contains more than \fIcount\fR relocations. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1425 |
This is useful when generating huge relocatable files for downloading into |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1426 |
certain real time kernels with the \s-1COFF\s0 object file format; since \s-1COFF\s0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1427 |
cannot represent more than 65535 relocations in a single section. Note |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1428 |
that this will fail to work with object file formats which do not |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1429 |
support arbitrary sections. The linker will not split up individual |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1430 |
input sections for redistribution, so if a single input section contains |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1431 |
more than \fIcount\fR relocations one output section will contain that |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1432 |
many relocations. \fIcount\fR defaults to a value of 32768. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1433 |
.IP "\fB\-\-stats\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1434 |
.IX Item "--stats" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1435 |
Compute and display statistics about the operation of the linker, such |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1436 |
as execution time and memory usage. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1437 |
.IP "\fB\-\-sysroot=\fR\fIdirectory\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1438 |
.IX Item "--sysroot=directory" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1439 |
Use \fIdirectory\fR as the location of the sysroot, overriding the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1440 |
configure-time default. This option is only supported by linkers |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1441 |
that were configured using \fB\-\-with\-sysroot\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1442 |
.IP "\fB\-\-traditional\-format\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1443 |
.IX Item "--traditional-format" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1444 |
For some targets, the output of \fBld\fR is different in some ways from |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1445 |
the output of some existing linker. This switch requests \fBld\fR to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1446 |
use the traditional format instead. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1447 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1448 |
For example, on SunOS, \fBld\fR combines duplicate entries in the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1449 |
symbol string table. This can reduce the size of an output file with |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1450 |
full debugging information by over 30 percent. Unfortunately, the SunOS |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1451 |
\&\f(CW\*(C`dbx\*(C'\fR program can not read the resulting program (\f(CW\*(C`gdb\*(C'\fR has no |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1452 |
trouble). The \fB\-\-traditional\-format\fR switch tells \fBld\fR to not |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1453 |
combine duplicate entries. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1454 |
.IP "\fB\-\-section\-start\fR \fIsectionname\fR\fB=\fR\fIorg\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1455 |
.IX Item "--section-start sectionname=org" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1456 |
Locate a section in the output file at the absolute |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1457 |
address given by \fIorg\fR. You may use this option as many |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1458 |
times as necessary to locate multiple sections in the command |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1459 |
line. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1460 |
\&\fIorg\fR must be a single hexadecimal integer; |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1461 |
for compatibility with other linkers, you may omit the leading |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1462 |
\&\fB0x\fR usually associated with hexadecimal values. \fINote:\fR there |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1463 |
should be no white space between \fIsectionname\fR, the equals |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1464 |
sign ("\fB=\fR"), and \fIorg\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1465 |
.IP "\fB\-Tbss\fR \fIorg\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1466 |
.IX Item "-Tbss org" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1467 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1468 |
.IP "\fB\-Tdata\fR \fIorg\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1469 |
.IX Item "-Tdata org" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1470 |
.IP "\fB\-Ttext\fR \fIorg\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1471 |
.IX Item "-Ttext org" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1472 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1473 |
Same as \-\-section\-start, with \f(CW\*(C`.bss\*(C'\fR, \f(CW\*(C`.data\*(C'\fR or |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1474 |
\&\f(CW\*(C`.text\*(C'\fR as the \fIsectionname\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1475 |
.IP "\fB\-\-unresolved\-symbols=\fR\fImethod\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1476 |
.IX Item "--unresolved-symbols=method" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1477 |
Determine how to handle unresolved symbols. There are four possible |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1478 |
values for \fBmethod\fR: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1479 |
.RS 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1480 |
.IP "\fBignore-all\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1481 |
.IX Item "ignore-all" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1482 |
Do not report any unresolved symbols. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1483 |
.IP "\fBreport-all\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1484 |
.IX Item "report-all" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1485 |
Report all unresolved symbols. This is the default. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1486 |
.IP "\fBignore-in-object-files\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1487 |
.IX Item "ignore-in-object-files" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1488 |
Report unresolved symbols that are contained in shared libraries, but |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1489 |
ignore them if they come from regular object files. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1490 |
.IP "\fBignore-in-shared-libs\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1491 |
.IX Item "ignore-in-shared-libs" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1492 |
Report unresolved symbols that come from regular object files, but |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1493 |
ignore them if they come from shared libraries. This can be useful |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1494 |
when creating a dynamic binary and it is known that all the shared |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1495 |
libraries that it should be referencing are included on the linker's |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1496 |
command line. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1497 |
.RE |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1498 |
.RS 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1499 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1500 |
The behaviour for shared libraries on their own can also be controlled |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1501 |
by the \fB\-\-[no\-]allow\-shlib\-undefined\fR option. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1502 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1503 |
Normally the linker will generate an error message for each reported |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1504 |
unresolved symbol but the option \fB\-\-warn\-unresolved\-symbols\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1505 |
can change this to a warning. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1506 |
.RE |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1507 |
.IP "\fB\-\-dll\-verbose\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1508 |
.IX Item "--dll-verbose" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1509 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1510 |
.IP "\fB\-\-verbose\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1511 |
.IX Item "--verbose" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1512 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1513 |
Display the version number for \fBld\fR and list the linker emulations |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1514 |
supported. Display which input files can and cannot be opened. Display |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1515 |
the linker script being used by the linker. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1516 |
.IP "\fB\-\-version\-script=\fR\fIversion-scriptfile\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1517 |
.IX Item "--version-script=version-scriptfile" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1518 |
Specify the name of a version script to the linker. This is typically |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1519 |
used when creating shared libraries to specify additional information |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1520 |
about the version hierarchy for the library being created. This option |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1521 |
is only meaningful on \s-1ELF\s0 platforms which support shared libraries. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1522 |
.IP "\fB\-\-warn\-common\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1523 |
.IX Item "--warn-common" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1524 |
Warn when a common symbol is combined with another common symbol or with |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1525 |
a symbol definition. Unix linkers allow this somewhat sloppy practise, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1526 |
but linkers on some other operating systems do not. This option allows |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1527 |
you to find potential problems from combining global symbols. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1528 |
Unfortunately, some C libraries use this practise, so you may get some |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1529 |
warnings about symbols in the libraries as well as in your programs. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1530 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1531 |
There are three kinds of global symbols, illustrated here by C examples: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1532 |
.RS 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1533 |
.IP "\fBint i = 1;\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1534 |
.IX Item "int i = 1;" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1535 |
A definition, which goes in the initialized data section of the output |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1536 |
file. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1537 |
.IP "\fBextern int i;\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1538 |
.IX Item "extern int i;" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1539 |
An undefined reference, which does not allocate space. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1540 |
There must be either a definition or a common symbol for the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1541 |
variable somewhere. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1542 |
.IP "\fBint i;\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1543 |
.IX Item "int i;" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1544 |
A common symbol. If there are only (one or more) common symbols for a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1545 |
variable, it goes in the uninitialized data area of the output file. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1546 |
The linker merges multiple common symbols for the same variable into a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1547 |
single symbol. If they are of different sizes, it picks the largest |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1548 |
size. The linker turns a common symbol into a declaration, if there is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1549 |
a definition of the same variable. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1550 |
.RE |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1551 |
.RS 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1552 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1553 |
The \fB\-\-warn\-common\fR option can produce five kinds of warnings. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1554 |
Each warning consists of a pair of lines: the first describes the symbol |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1555 |
just encountered, and the second describes the previous symbol |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1556 |
encountered with the same name. One or both of the two symbols will be |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1557 |
a common symbol. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1558 |
.IP "1." 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1559 |
Turning a common symbol into a reference, because there is already a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1560 |
definition for the symbol. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1561 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1562 |
.Vb 3 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1563 |
\& <file>(<section>): warning: common of `<symbol>' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1564 |
\& overridden by definition |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1565 |
\& <file>(<section>): warning: defined here |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1566 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1567 |
.IP "2." 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1568 |
Turning a common symbol into a reference, because a later definition for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1569 |
the symbol is encountered. This is the same as the previous case, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1570 |
except that the symbols are encountered in a different order. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1571 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1572 |
.Vb 3 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1573 |
\& <file>(<section>): warning: definition of `<symbol>' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1574 |
\& overriding common |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1575 |
\& <file>(<section>): warning: common is here |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1576 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1577 |
.IP "3." 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1578 |
Merging a common symbol with a previous same-sized common symbol. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1579 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1580 |
.Vb 3 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1581 |
\& <file>(<section>): warning: multiple common |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1582 |
\& of `<symbol>' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1583 |
\& <file>(<section>): warning: previous common is here |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1584 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1585 |
.IP "4." 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1586 |
Merging a common symbol with a previous larger common symbol. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1587 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1588 |
.Vb 3 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1589 |
\& <file>(<section>): warning: common of `<symbol>' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1590 |
\& overridden by larger common |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1591 |
\& <file>(<section>): warning: larger common is here |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1592 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1593 |
.IP "5." 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1594 |
Merging a common symbol with a previous smaller common symbol. This is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1595 |
the same as the previous case, except that the symbols are |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1596 |
encountered in a different order. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1597 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1598 |
.Vb 3 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1599 |
\& <file>(<section>): warning: common of `<symbol>' |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1600 |
\& overriding smaller common |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1601 |
\& <file>(<section>): warning: smaller common is here |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1602 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1603 |
.RE |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1604 |
.RS 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1605 |
.RE |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1606 |
.IP "\fB\-\-warn\-constructors\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1607 |
.IX Item "--warn-constructors" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1608 |
Warn if any global constructors are used. This is only useful for a few |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1609 |
object file formats. For formats like \s-1COFF\s0 or \s-1ELF\s0, the linker can not |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1610 |
detect the use of global constructors. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1611 |
.IP "\fB\-\-warn\-multiple\-gp\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1612 |
.IX Item "--warn-multiple-gp" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1613 |
Warn if multiple global pointer values are required in the output file. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1614 |
This is only meaningful for certain processors, such as the Alpha. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1615 |
Specifically, some processors put large-valued constants in a special |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1616 |
section. A special register (the global pointer) points into the middle |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1617 |
of this section, so that constants can be loaded efficiently via a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1618 |
base-register relative addressing mode. Since the offset in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1619 |
base-register relative mode is fixed and relatively small (e.g., 16 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1620 |
bits), this limits the maximum size of the constant pool. Thus, in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1621 |
large programs, it is often necessary to use multiple global pointer |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1622 |
values in order to be able to address all possible constants. This |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1623 |
option causes a warning to be issued whenever this case occurs. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1624 |
.IP "\fB\-\-warn\-once\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1625 |
.IX Item "--warn-once" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1626 |
Only warn once for each undefined symbol, rather than once per module |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1627 |
which refers to it. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1628 |
.IP "\fB\-\-warn\-section\-align\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1629 |
.IX Item "--warn-section-align" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1630 |
Warn if the address of an output section is changed because of |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1631 |
alignment. Typically, the alignment will be set by an input section. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1632 |
The address will only be changed if it not explicitly specified; that |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1633 |
is, if the \f(CW\*(C`SECTIONS\*(C'\fR command does not specify a start address for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1634 |
the section. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1635 |
.IP "\fB\-\-warn\-shared\-textrel\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1636 |
.IX Item "--warn-shared-textrel" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1637 |
Warn if the linker adds a \s-1DT_TEXTREL\s0 to a shared object. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1638 |
.IP "\fB\-\-warn\-unresolved\-symbols\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1639 |
.IX Item "--warn-unresolved-symbols" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1640 |
If the linker is going to report an unresolved symbol (see the option |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1641 |
\&\fB\-\-unresolved\-symbols\fR) it will normally generate an error. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1642 |
This option makes it generate a warning instead. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1643 |
.IP "\fB\-\-error\-unresolved\-symbols\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1644 |
.IX Item "--error-unresolved-symbols" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1645 |
This restores the linker's default behaviour of generating errors when |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1646 |
it is reporting unresolved symbols. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1647 |
.IP "\fB\-\-whole\-archive\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1648 |
.IX Item "--whole-archive" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1649 |
For each archive mentioned on the command line after the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1650 |
\&\fB\-\-whole\-archive\fR option, include every object file in the archive |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1651 |
in the link, rather than searching the archive for the required object |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1652 |
files. This is normally used to turn an archive file into a shared |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1653 |
library, forcing every object to be included in the resulting shared |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1654 |
library. This option may be used more than once. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1655 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1656 |
Two notes when using this option from gcc: First, gcc doesn't know |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1657 |
about this option, so you have to use \fB\-Wl,\-whole\-archive\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1658 |
Second, don't forget to use \fB\-Wl,\-no\-whole\-archive\fR after your |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1659 |
list of archives, because gcc will add its own list of archives to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1660 |
your link and you may not want this flag to affect those as well. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1661 |
.IP "\fB\-\-wrap\fR \fIsymbol\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1662 |
.IX Item "--wrap symbol" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1663 |
Use a wrapper function for \fIsymbol\fR. Any undefined reference to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1664 |
\&\fIsymbol\fR will be resolved to \f(CW\*(C`_\|_wrap_\f(CIsymbol\f(CW\*(C'\fR. Any |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1665 |
undefined reference to \f(CW\*(C`_\|_real_\f(CIsymbol\f(CW\*(C'\fR will be resolved to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1666 |
\&\fIsymbol\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1667 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1668 |
This can be used to provide a wrapper for a system function. The |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1669 |
wrapper function should be called \f(CW\*(C`_\|_wrap_\f(CIsymbol\f(CW\*(C'\fR. If it |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1670 |
wishes to call the system function, it should call |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1671 |
\&\f(CW\*(C`_\|_real_\f(CIsymbol\f(CW\*(C'\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1672 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1673 |
Here is a trivial example: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1674 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1675 |
.Vb 6 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1676 |
\& void * |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1677 |
\& __wrap_malloc (size_t c) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1678 |
\& { |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1679 |
\& printf ("malloc called with %zu\en", c); |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1680 |
\& return __real_malloc (c); |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1681 |
\& } |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1682 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1683 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1684 |
If you link other code with this file using \fB\-\-wrap malloc\fR, then |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1685 |
all calls to \f(CW\*(C`malloc\*(C'\fR will call the function \f(CW\*(C`_\|_wrap_malloc\*(C'\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1686 |
instead. The call to \f(CW\*(C`_\|_real_malloc\*(C'\fR in \f(CW\*(C`_\|_wrap_malloc\*(C'\fR will |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1687 |
call the real \f(CW\*(C`malloc\*(C'\fR function. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1688 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1689 |
You may wish to provide a \f(CW\*(C`_\|_real_malloc\*(C'\fR function as well, so that |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1690 |
links without the \fB\-\-wrap\fR option will succeed. If you do this, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1691 |
you should not put the definition of \f(CW\*(C`_\|_real_malloc\*(C'\fR in the same |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1692 |
file as \f(CW\*(C`_\|_wrap_malloc\*(C'\fR; if you do, the assembler may resolve the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1693 |
call before the linker has a chance to wrap it to \f(CW\*(C`malloc\*(C'\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1694 |
.IP "\fB\-\-eh\-frame\-hdr\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1695 |
.IX Item "--eh-frame-hdr" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1696 |
Request creation of \f(CW\*(C`.eh_frame_hdr\*(C'\fR section and \s-1ELF\s0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1697 |
\&\f(CW\*(C`PT_GNU_EH_FRAME\*(C'\fR segment header. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1698 |
.IP "\fB\-\-enable\-new\-dtags\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1699 |
.IX Item "--enable-new-dtags" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1700 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1701 |
.IP "\fB\-\-disable\-new\-dtags\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1702 |
.IX Item "--disable-new-dtags" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1703 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1704 |
This linker can create the new dynamic tags in \s-1ELF\s0. But the older \s-1ELF\s0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1705 |
systems may not understand them. If you specify |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1706 |
\&\fB\-\-enable\-new\-dtags\fR, the dynamic tags will be created as needed. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1707 |
If you specify \fB\-\-disable\-new\-dtags\fR, no new dynamic tags will be |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1708 |
created. By default, the new dynamic tags are not created. Note that |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1709 |
those options are only available for \s-1ELF\s0 systems. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1710 |
.IP "\fB\-\-hash\-size=\fR\fInumber\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1711 |
.IX Item "--hash-size=number" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1712 |
Set the default size of the linker's hash tables to a prime number |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1713 |
close to \fInumber\fR. Increasing this value can reduce the length of |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1714 |
time it takes the linker to perform its tasks, at the expense of |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1715 |
increasing the linker's memory requirements. Similarly reducing this |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1716 |
value can reduce the memory requirements at the expense of speed. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1717 |
.IP "\fB\-\-hash\-style=\fR\fIstyle\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1718 |
.IX Item "--hash-style=style" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1719 |
Set the type of linker's hash table(s). \fIstyle\fR can be either |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1720 |
\&\f(CW\*(C`sysv\*(C'\fR for classic \s-1ELF\s0 \f(CW\*(C`.hash\*(C'\fR section, \f(CW\*(C`gnu\*(C'\fR for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1721 |
new style \s-1GNU\s0 \f(CW\*(C`.gnu.hash\*(C'\fR section or \f(CW\*(C`both\*(C'\fR for both |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1722 |
the classic \s-1ELF\s0 \f(CW\*(C`.hash\*(C'\fR and new style \s-1GNU\s0 \f(CW\*(C`.gnu.hash\*(C'\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1723 |
hash tables. The default is \f(CW\*(C`sysv\*(C'\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1724 |
.IP "\fB\-\-reduce\-memory\-overheads\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1725 |
.IX Item "--reduce-memory-overheads" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1726 |
This option reduces memory requirements at ld runtime, at the expense of |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1727 |
linking speed. This was introduced to select the old O(n^2) algorithm |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1728 |
for link map file generation, rather than the new O(n) algorithm which uses |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1729 |
about 40% more memory for symbol storage. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1730 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1731 |
Another effect of the switch is to set the default hash table size to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1732 |
1021, which again saves memory at the cost of lengthening the linker's |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1733 |
run time. This is not done however if the \fB\-\-hash\-size\fR switch |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1734 |
has been used. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1735 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1736 |
The \fB\-\-reduce\-memory\-overheads\fR switch may be also be used to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1737 |
enable other tradeoffs in future versions of the linker. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1738 |
.IP "\fB\-\-build\-id\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1739 |
.IX Item "--build-id" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1740 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1741 |
.IP "\fB\-\-build\-id=\fR\fIstyle\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1742 |
.IX Item "--build-id=style" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1743 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1744 |
Request creation of \f(CW\*(C`.note.gnu.build\-id\*(C'\fR \s-1ELF\s0 note section. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1745 |
The contents of the note are unique bits identifying this linked |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1746 |
file. \fIstyle\fR can be \f(CW\*(C`uuid\*(C'\fR to use 128 random bits, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1747 |
\&\f(CW\*(C`sha1\*(C'\fR to use a 160\-bit \s-1SHA1\s0 hash on the normative |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1748 |
parts of the output contents, \f(CW\*(C`md5\*(C'\fR to use a 128\-bit |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1749 |
\&\s-1MD5\s0 hash on the normative parts of the output contents, or |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1750 |
\&\f(CW\*(C`0x\f(CIhexstring\f(CW\*(C'\fR to use a chosen bit string specified as |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1751 |
an even number of hexadecimal digits (\f(CW\*(C`\-\*(C'\fR and \f(CW\*(C`:\*(C'\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1752 |
characters between digit pairs are ignored). If \fIstyle\fR is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1753 |
omitted, \f(CW\*(C`sha1\*(C'\fR is used. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1754 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1755 |
The \f(CW\*(C`md5\*(C'\fR and \f(CW\*(C`sha1\*(C'\fR styles produces an identifier |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1756 |
that is always the same in an identical output file, but will be |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1757 |
unique among all nonidentical output files. It is not intended |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1758 |
to be compared as a checksum for the file's contents. A linked |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1759 |
file may be changed later by other tools, but the build \s-1ID\s0 bit |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1760 |
string identifying the original linked file does not change. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1761 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1762 |
Passing \f(CW\*(C`none\*(C'\fR for \fIstyle\fR disables the setting from any |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1763 |
\&\f(CW\*(C`\-\-build\-id\*(C'\fR options earlier on the command line. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1764 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1765 |
The i386 \s-1PE\s0 linker supports the \fB\-shared\fR option, which causes |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1766 |
the output to be a dynamically linked library (\s-1DLL\s0) instead of a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1767 |
normal executable. You should name the output \f(CW\*(C`*.dll\*(C'\fR when you |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1768 |
use this option. In addition, the linker fully supports the standard |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1769 |
\&\f(CW\*(C`*.def\*(C'\fR files, which may be specified on the linker command line |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1770 |
like an object file (in fact, it should precede archives it exports |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1771 |
symbols from, to ensure that they get linked in, just like a normal |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1772 |
object file). |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1773 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1774 |
In addition to the options common to all targets, the i386 \s-1PE\s0 linker |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1775 |
support additional command line options that are specific to the i386 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1776 |
\&\s-1PE\s0 target. Options that take values may be separated from their |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1777 |
values by either a space or an equals sign. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1778 |
.IP "\fB\-\-add\-stdcall\-alias\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1779 |
.IX Item "--add-stdcall-alias" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1780 |
If given, symbols with a stdcall suffix (@\fInn\fR) will be exported |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1781 |
as-is and also with the suffix stripped. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1782 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1783 |
.IP "\fB\-\-base\-file\fR \fIfile\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1784 |
.IX Item "--base-file file" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1785 |
Use \fIfile\fR as the name of a file in which to save the base |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1786 |
addresses of all the relocations needed for generating DLLs with |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1787 |
\&\fIdlltool\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1788 |
[This is an i386 \s-1PE\s0 specific option] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1789 |
.IP "\fB\-\-dll\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1790 |
.IX Item "--dll" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1791 |
Create a \s-1DLL\s0 instead of a regular executable. You may also use |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1792 |
\&\fB\-shared\fR or specify a \f(CW\*(C`LIBRARY\*(C'\fR in a given \f(CW\*(C`.def\*(C'\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1793 |
file. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1794 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1795 |
.IP "\fB\-\-enable\-stdcall\-fixup\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1796 |
.IX Item "--enable-stdcall-fixup" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1797 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1798 |
.IP "\fB\-\-disable\-stdcall\-fixup\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1799 |
.IX Item "--disable-stdcall-fixup" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1800 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1801 |
If the link finds a symbol that it cannot resolve, it will attempt to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1802 |
do \*(L"fuzzy linking\*(R" by looking for another defined symbol that differs |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1803 |
only in the format of the symbol name (cdecl vs stdcall) and will |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1804 |
resolve that symbol by linking to the match. For example, the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1805 |
undefined symbol \f(CW\*(C`_foo\*(C'\fR might be linked to the function |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1806 |
\&\f(CW\*(C`_foo@12\*(C'\fR, or the undefined symbol \f(CW\*(C`_bar@16\*(C'\fR might be linked |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1807 |
to the function \f(CW\*(C`_bar\*(C'\fR. When the linker does this, it prints a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1808 |
warning, since it normally should have failed to link, but sometimes |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1809 |
import libraries generated from third-party dlls may need this feature |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1810 |
to be usable. If you specify \fB\-\-enable\-stdcall\-fixup\fR, this |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1811 |
feature is fully enabled and warnings are not printed. If you specify |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1812 |
\&\fB\-\-disable\-stdcall\-fixup\fR, this feature is disabled and such |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1813 |
mismatches are considered to be errors. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1814 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1815 |
.IP "\fB\-\-export\-all\-symbols\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1816 |
.IX Item "--export-all-symbols" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1817 |
If given, all global symbols in the objects used to build a \s-1DLL\s0 will |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1818 |
be exported by the \s-1DLL\s0. Note that this is the default if there |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1819 |
otherwise wouldn't be any exported symbols. When symbols are |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1820 |
explicitly exported via \s-1DEF\s0 files or implicitly exported via function |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1821 |
attributes, the default is to not export anything else unless this |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1822 |
option is given. Note that the symbols \f(CW\*(C`DllMain@12\*(C'\fR, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1823 |
\&\f(CW\*(C`DllEntryPoint@0\*(C'\fR, \f(CW\*(C`DllMainCRTStartup@12\*(C'\fR, and |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1824 |
\&\f(CW\*(C`impure_ptr\*(C'\fR will not be automatically |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1825 |
exported. Also, symbols imported from other DLLs will not be |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1826 |
re\-exported, nor will symbols specifying the \s-1DLL\s0's internal layout |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1827 |
such as those beginning with \f(CW\*(C`_head_\*(C'\fR or ending with |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1828 |
\&\f(CW\*(C`_iname\*(C'\fR. In addition, no symbols from \f(CW\*(C`libgcc\*(C'\fR, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1829 |
\&\f(CW\*(C`libstd++\*(C'\fR, \f(CW\*(C`libmingw32\*(C'\fR, or \f(CW\*(C`crtX.o\*(C'\fR will be exported. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1830 |
Symbols whose names begin with \f(CW\*(C`_\|_rtti_\*(C'\fR or \f(CW\*(C`_\|_builtin_\*(C'\fR will |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1831 |
not be exported, to help with \*(C+ DLLs. Finally, there is an |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1832 |
extensive list of cygwin-private symbols that are not exported |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1833 |
(obviously, this applies on when building DLLs for cygwin targets). |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1834 |
These cygwin-excludes are: \f(CW\*(C`_cygwin_dll_entry@12\*(C'\fR, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1835 |
\&\f(CW\*(C`_cygwin_crt0_common@8\*(C'\fR, \f(CW\*(C`_cygwin_noncygwin_dll_entry@12\*(C'\fR, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1836 |
\&\f(CW\*(C`_fmode\*(C'\fR, \f(CW\*(C`_impure_ptr\*(C'\fR, \f(CW\*(C`cygwin_attach_dll\*(C'\fR, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1837 |
\&\f(CW\*(C`cygwin_premain0\*(C'\fR, \f(CW\*(C`cygwin_premain1\*(C'\fR, \f(CW\*(C`cygwin_premain2\*(C'\fR, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1838 |
\&\f(CW\*(C`cygwin_premain3\*(C'\fR, and \f(CW\*(C`environ\*(C'\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1839 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1840 |
.IP "\fB\-\-exclude\-symbols\fR \fIsymbol\fR\fB,\fR\fIsymbol\fR\fB,...\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1841 |
.IX Item "--exclude-symbols symbol,symbol,..." |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1842 |
Specifies a list of symbols which should not be automatically |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1843 |
exported. The symbol names may be delimited by commas or colons. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1844 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1845 |
.IP "\fB\-\-file\-alignment\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1846 |
.IX Item "--file-alignment" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1847 |
Specify the file alignment. Sections in the file will always begin at |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1848 |
file offsets which are multiples of this number. This defaults to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1849 |
512. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1850 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1851 |
.IP "\fB\-\-heap\fR \fIreserve\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1852 |
.IX Item "--heap reserve" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1853 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1854 |
.IP "\fB\-\-heap\fR \fIreserve\fR\fB,\fR\fIcommit\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1855 |
.IX Item "--heap reserve,commit" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1856 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1857 |
Specify the number of bytes of memory to reserve (and optionally commit) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1858 |
to be used as heap for this program. The default is 1Mb reserved, 4K |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1859 |
committed. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1860 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1861 |
.IP "\fB\-\-image\-base\fR \fIvalue\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1862 |
.IX Item "--image-base value" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1863 |
Use \fIvalue\fR as the base address of your program or dll. This is |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1864 |
the lowest memory location that will be used when your program or dll |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1865 |
is loaded. To reduce the need to relocate and improve performance of |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1866 |
your dlls, each should have a unique base address and not overlap any |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1867 |
other dlls. The default is 0x400000 for executables, and 0x10000000 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1868 |
for dlls. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1869 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1870 |
.IP "\fB\-\-kill\-at\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1871 |
.IX Item "--kill-at" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1872 |
If given, the stdcall suffixes (@\fInn\fR) will be stripped from |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1873 |
symbols before they are exported. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1874 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1875 |
.IP "\fB\-\-large\-address\-aware\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1876 |
.IX Item "--large-address-aware" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1877 |
If given, the appropriate bit in the \*(L"Characteristics\*(R" field of the \s-1COFF\s0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1878 |
header is set to indicate that this executable supports virtual addresses |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1879 |
greater than 2 gigabytes. This should be used in conjunction with the /3GB |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1880 |
or /USERVA=\fIvalue\fR megabytes switch in the \*(L"[operating systems]\*(R" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1881 |
section of the \s-1BOOT\s0.INI. Otherwise, this bit has no effect. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1882 |
[This option is specific to \s-1PE\s0 targeted ports of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1883 |
.IP "\fB\-\-major\-image\-version\fR \fIvalue\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1884 |
.IX Item "--major-image-version value" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1885 |
Sets the major number of the \*(L"image version\*(R". Defaults to 1. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1886 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1887 |
.IP "\fB\-\-major\-os\-version\fR \fIvalue\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1888 |
.IX Item "--major-os-version value" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1889 |
Sets the major number of the \*(L"os version\*(R". Defaults to 4. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1890 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1891 |
.IP "\fB\-\-major\-subsystem\-version\fR \fIvalue\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1892 |
.IX Item "--major-subsystem-version value" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1893 |
Sets the major number of the \*(L"subsystem version\*(R". Defaults to 4. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1894 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1895 |
.IP "\fB\-\-minor\-image\-version\fR \fIvalue\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1896 |
.IX Item "--minor-image-version value" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1897 |
Sets the minor number of the \*(L"image version\*(R". Defaults to 0. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1898 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1899 |
.IP "\fB\-\-minor\-os\-version\fR \fIvalue\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1900 |
.IX Item "--minor-os-version value" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1901 |
Sets the minor number of the \*(L"os version\*(R". Defaults to 0. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1902 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1903 |
.IP "\fB\-\-minor\-subsystem\-version\fR \fIvalue\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1904 |
.IX Item "--minor-subsystem-version value" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1905 |
Sets the minor number of the \*(L"subsystem version\*(R". Defaults to 0. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1906 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1907 |
.IP "\fB\-\-output\-def\fR \fIfile\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1908 |
.IX Item "--output-def file" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1909 |
The linker will create the file \fIfile\fR which will contain a \s-1DEF\s0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1910 |
file corresponding to the \s-1DLL\s0 the linker is generating. This \s-1DEF\s0 file |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1911 |
(which should be called \f(CW\*(C`*.def\*(C'\fR) may be used to create an import |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1912 |
library with \f(CW\*(C`dlltool\*(C'\fR or may be used as a reference to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1913 |
automatically or implicitly exported symbols. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1914 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1915 |
.IP "\fB\-\-out\-implib\fR \fIfile\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1916 |
.IX Item "--out-implib file" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1917 |
The linker will create the file \fIfile\fR which will contain an |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1918 |
import lib corresponding to the \s-1DLL\s0 the linker is generating. This |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1919 |
import lib (which should be called \f(CW\*(C`*.dll.a\*(C'\fR or \f(CW\*(C`*.a\*(C'\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1920 |
may be used to link clients against the generated \s-1DLL\s0; this behaviour |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1921 |
makes it possible to skip a separate \f(CW\*(C`dlltool\*(C'\fR import library |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1922 |
creation step. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1923 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1924 |
.IP "\fB\-\-enable\-auto\-image\-base\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1925 |
.IX Item "--enable-auto-image-base" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1926 |
Automatically choose the image base for DLLs, unless one is specified |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1927 |
using the \f(CW\*(C`\-\-image\-base\*(C'\fR argument. By using a hash generated |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1928 |
from the dllname to create unique image bases for each \s-1DLL\s0, in-memory |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1929 |
collisions and relocations which can delay program execution are |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1930 |
avoided. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1931 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1932 |
.IP "\fB\-\-disable\-auto\-image\-base\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1933 |
.IX Item "--disable-auto-image-base" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1934 |
Do not automatically generate a unique image base. If there is no |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1935 |
user-specified image base (\f(CW\*(C`\-\-image\-base\*(C'\fR) then use the platform |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1936 |
default. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1937 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1938 |
.IP "\fB\-\-dll\-search\-prefix\fR \fIstring\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1939 |
.IX Item "--dll-search-prefix string" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1940 |
When linking dynamically to a dll without an import library, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1941 |
search for \f(CW\*(C`<string><basename>.dll\*(C'\fR in preference to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1942 |
\&\f(CW\*(C`lib<basename>.dll\*(C'\fR. This behaviour allows easy distinction |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1943 |
between DLLs built for the various \*(L"subplatforms\*(R": native, cygwin, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1944 |
uwin, pw, etc. For instance, cygwin DLLs typically use |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1945 |
\&\f(CW\*(C`\-\-dll\-search\-prefix=cyg\*(C'\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1946 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1947 |
.IP "\fB\-\-enable\-auto\-import\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1948 |
.IX Item "--enable-auto-import" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1949 |
Do sophisticated linking of \f(CW\*(C`_symbol\*(C'\fR to \f(CW\*(C`_\|_imp_\|_symbol\*(C'\fR for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1950 |
\&\s-1DATA\s0 imports from DLLs, and create the necessary thunking symbols when |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1951 |
building the import libraries with those \s-1DATA\s0 exports. Note: Use of the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1952 |
\&'auto\-import' extension will cause the text section of the image file |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1953 |
to be made writable. This does not conform to the PE-COFF format |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1954 |
specification published by Microsoft. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1955 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1956 |
Note \- use of the 'auto\-import' extension will also cause read only |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1957 |
data which would normally be placed into the .rdata section to be |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1958 |
placed into the .data section instead. This is in order to work |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1959 |
around a problem with consts that is described here: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1960 |
http://www.cygwin.com/ml/cygwin/2004\-09/msg01101.html |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1961 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1962 |
Using 'auto\-import' generally will 'just work' \*(-- but sometimes you may |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1963 |
see this message: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1964 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1965 |
"variable '<var>' can't be auto\-imported. Please read the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1966 |
documentation for ld's \f(CW\*(C`\-\-enable\-auto\-import\*(C'\fR for details." |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1967 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1968 |
This message occurs when some (sub)expression accesses an address |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1969 |
ultimately given by the sum of two constants (Win32 import tables only |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1970 |
allow one). Instances where this may occur include accesses to member |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1971 |
fields of struct variables imported from a \s-1DLL\s0, as well as using a |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1972 |
constant index into an array variable imported from a \s-1DLL\s0. Any |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1973 |
multiword variable (arrays, structs, long long, etc) may trigger |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1974 |
this error condition. However, regardless of the exact data type |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1975 |
of the offending exported variable, ld will always detect it, issue |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1976 |
the warning, and exit. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1977 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1978 |
There are several ways to address this difficulty, regardless of the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1979 |
data type of the exported variable: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1980 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1981 |
One way is to use \-\-enable\-runtime\-pseudo\-reloc switch. This leaves the task |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1982 |
of adjusting references in your client code for runtime environment, so |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1983 |
this method works only when runtime environment supports this feature. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1984 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1985 |
A second solution is to force one of the 'constants' to be a variable \*(-- |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1986 |
that is, unknown and un-optimizable at compile time. For arrays, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1987 |
there are two possibilities: a) make the indexee (the array's address) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1988 |
a variable, or b) make the 'constant' index a variable. Thus: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1989 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1990 |
.Vb 3 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1991 |
\& extern type extern_array[]; |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1992 |
\& extern_array[1] --> |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1993 |
\& { volatile type *t=extern_array; t[1] } |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1994 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1995 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1996 |
or |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1997 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1998 |
.Vb 3 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
1999 |
\& extern type extern_array[]; |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2000 |
\& extern_array[1] --> |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2001 |
\& { volatile int t=1; extern_array[t] } |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2002 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2003 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2004 |
For structs (and most other multiword data types) the only option |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2005 |
is to make the struct itself (or the long long, or the ...) variable: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2006 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2007 |
.Vb 3 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2008 |
\& extern struct s extern_struct; |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2009 |
\& extern_struct.field --> |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2010 |
\& { volatile struct s *t=&extern_struct; t->field } |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2011 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2012 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2013 |
or |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2014 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2015 |
.Vb 3 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2016 |
\& extern long long extern_ll; |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2017 |
\& extern_ll --> |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2018 |
\& { volatile long long * local_ll=&extern_ll; *local_ll } |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2019 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2020 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2021 |
A third method of dealing with this difficulty is to abandon |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2022 |
\&'auto\-import' for the offending symbol and mark it with |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2023 |
\&\f(CW\*(C`_\|_declspec(dllimport)\*(C'\fR. However, in practise that |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2024 |
requires using compile-time #defines to indicate whether you are |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2025 |
building a \s-1DLL\s0, building client code that will link to the \s-1DLL\s0, or |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2026 |
merely building/linking to a static library. In making the choice |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2027 |
between the various methods of resolving the 'direct address with |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2028 |
constant offset' problem, you should consider typical real-world usage: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2029 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2030 |
Original: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2031 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2032 |
.Vb 7 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2033 |
\& --foo.h |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2034 |
\& extern int arr[]; |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2035 |
\& --foo.c |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2036 |
\& #include "foo.h" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2037 |
\& void main(int argc, char **argv){ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2038 |
\& printf("%d\en",arr[1]); |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2039 |
\& } |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2040 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2041 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2042 |
Solution 1: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2043 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2044 |
.Vb 9 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2045 |
\& --foo.h |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2046 |
\& extern int arr[]; |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2047 |
\& --foo.c |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2048 |
\& #include "foo.h" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2049 |
\& void main(int argc, char **argv){ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2050 |
\& /* This workaround is for win32 and cygwin; do not "optimize" */ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2051 |
\& volatile int *parr = arr; |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2052 |
\& printf("%d\en",parr[1]); |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2053 |
\& } |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2054 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2055 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2056 |
Solution 2: |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2057 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2058 |
.Vb 14 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2059 |
\& --foo.h |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2060 |
\& /* Note: auto-export is assumed (no __declspec(dllexport)) */ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2061 |
\& #if (defined(_WIN32) || defined(__CYGWIN__)) && \e |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2062 |
\& !(defined(FOO_BUILD_DLL) || defined(FOO_STATIC)) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2063 |
\& #define FOO_IMPORT __declspec(dllimport) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2064 |
\& #else |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2065 |
\& #define FOO_IMPORT |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2066 |
\& #endif |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2067 |
\& extern FOO_IMPORT int arr[]; |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2068 |
\& --foo.c |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2069 |
\& #include "foo.h" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2070 |
\& void main(int argc, char **argv){ |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2071 |
\& printf("%d\en",arr[1]); |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2072 |
\& } |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2073 |
.Ve |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2074 |
.Sp |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2075 |
A fourth way to avoid this problem is to re-code your |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2076 |
library to use a functional interface rather than a data interface |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2077 |
for the offending variables (e.g. \fIset_foo()\fR and \fIget_foo()\fR accessor |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2078 |
functions). |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2079 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2080 |
.IP "\fB\-\-disable\-auto\-import\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2081 |
.IX Item "--disable-auto-import" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2082 |
Do not attempt to do sophisticated linking of \f(CW\*(C`_symbol\*(C'\fR to |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2083 |
\&\f(CW\*(C`_\|_imp_\|_symbol\*(C'\fR for \s-1DATA\s0 imports from DLLs. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2084 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2085 |
.IP "\fB\-\-enable\-runtime\-pseudo\-reloc\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2086 |
.IX Item "--enable-runtime-pseudo-reloc" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2087 |
If your code contains expressions described in \-\-enable\-auto\-import section, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2088 |
that is, \s-1DATA\s0 imports from \s-1DLL\s0 with non-zero offset, this switch will create |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2089 |
a vector of 'runtime pseudo relocations' which can be used by runtime |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2090 |
environment to adjust references to such data in your client code. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2091 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2092 |
.IP "\fB\-\-disable\-runtime\-pseudo\-reloc\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2093 |
.IX Item "--disable-runtime-pseudo-reloc" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2094 |
Do not create pseudo relocations for non-zero offset \s-1DATA\s0 imports from |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2095 |
DLLs. This is the default. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2096 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2097 |
.IP "\fB\-\-enable\-extra\-pe\-debug\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2098 |
.IX Item "--enable-extra-pe-debug" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2099 |
Show additional debug info related to auto-import symbol thunking. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2100 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2101 |
.IP "\fB\-\-section\-alignment\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2102 |
.IX Item "--section-alignment" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2103 |
Sets the section alignment. Sections in memory will always begin at |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2104 |
addresses which are a multiple of this number. Defaults to 0x1000. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2105 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2106 |
.IP "\fB\-\-stack\fR \fIreserve\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2107 |
.IX Item "--stack reserve" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2108 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2109 |
.IP "\fB\-\-stack\fR \fIreserve\fR\fB,\fR\fIcommit\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2110 |
.IX Item "--stack reserve,commit" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2111 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2112 |
Specify the number of bytes of memory to reserve (and optionally commit) |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2113 |
to be used as stack for this program. The default is 2Mb reserved, 4K |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2114 |
committed. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2115 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2116 |
.IP "\fB\-\-subsystem\fR \fIwhich\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2117 |
.IX Item "--subsystem which" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2118 |
.PD 0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2119 |
.IP "\fB\-\-subsystem\fR \fIwhich\fR\fB:\fR\fImajor\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2120 |
.IX Item "--subsystem which:major" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2121 |
.IP "\fB\-\-subsystem\fR \fIwhich\fR\fB:\fR\fImajor\fR\fB.\fR\fIminor\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2122 |
.IX Item "--subsystem which:major.minor" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2123 |
.PD |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2124 |
Specifies the subsystem under which your program will execute. The |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2125 |
legal values for \fIwhich\fR are \f(CW\*(C`native\*(C'\fR, \f(CW\*(C`windows\*(C'\fR, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2126 |
\&\f(CW\*(C`console\*(C'\fR, \f(CW\*(C`posix\*(C'\fR, and \f(CW\*(C`xbox\*(C'\fR. You may optionally set |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2127 |
the subsystem version also. Numeric values are also accepted for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2128 |
\&\fIwhich\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2129 |
[This option is specific to the i386 \s-1PE\s0 targeted port of the linker] |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2130 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2131 |
The 68HC11 and 68HC12 linkers support specific options to control the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2132 |
memory bank switching mapping and trampoline code generation. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2133 |
.IP "\fB\-\-no\-trampoline\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2134 |
.IX Item "--no-trampoline" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2135 |
This option disables the generation of trampoline. By default a trampoline |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2136 |
is generated for each far function which is called using a \f(CW\*(C`jsr\*(C'\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2137 |
instruction (this happens when a pointer to a far function is taken). |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2138 |
.IP "\fB\-\-bank\-window\fR \fIname\fR" 4 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2139 |
.IX Item "--bank-window name" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2140 |
This option indicates to the linker the name of the memory region in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2141 |
the \fB\s-1MEMORY\s0\fR specification that describes the memory bank window. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2142 |
The definition of such region is then used by the linker to compute |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2143 |
paging and addresses within the memory window. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2144 |
.SH "ENVIRONMENT" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2145 |
.IX Header "ENVIRONMENT" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2146 |
You can change the behaviour of \fBld\fR with the environment variables |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2147 |
\&\f(CW\*(C`GNUTARGET\*(C'\fR, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2148 |
\&\f(CW\*(C`LDEMULATION\*(C'\fR and \f(CW\*(C`COLLECT_NO_DEMANGLE\*(C'\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2149 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2150 |
\&\f(CW\*(C`GNUTARGET\*(C'\fR determines the input-file object format if you don't |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2151 |
use \fB\-b\fR (or its synonym \fB\-\-format\fR). Its value should be one |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2152 |
of the \s-1BFD\s0 names for an input format. If there is no |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2153 |
\&\f(CW\*(C`GNUTARGET\*(C'\fR in the environment, \fBld\fR uses the natural format |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2154 |
of the target. If \f(CW\*(C`GNUTARGET\*(C'\fR is set to \f(CW\*(C`default\*(C'\fR then \s-1BFD\s0 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2155 |
attempts to discover the input format by examining binary input files; |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2156 |
this method often succeeds, but there are potential ambiguities, since |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2157 |
there is no method of ensuring that the magic number used to specify |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2158 |
object-file formats is unique. However, the configuration procedure for |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2159 |
\&\s-1BFD\s0 on each system places the conventional format for that system first |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2160 |
in the search\-list, so ambiguities are resolved in favor of convention. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2161 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2162 |
\&\f(CW\*(C`LDEMULATION\*(C'\fR determines the default emulation if you don't use the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2163 |
\&\fB\-m\fR option. The emulation can affect various aspects of linker |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2164 |
behaviour, particularly the default linker script. You can list the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2165 |
available emulations with the \fB\-\-verbose\fR or \fB\-V\fR options. If |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2166 |
the \fB\-m\fR option is not used, and the \f(CW\*(C`LDEMULATION\*(C'\fR environment |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2167 |
variable is not defined, the default emulation depends upon how the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2168 |
linker was configured. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2169 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2170 |
Normally, the linker will default to demangling symbols. However, if |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2171 |
\&\f(CW\*(C`COLLECT_NO_DEMANGLE\*(C'\fR is set in the environment, then it will |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2172 |
default to not demangling symbols. This environment variable is used in |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2173 |
a similar fashion by the \f(CW\*(C`gcc\*(C'\fR linker wrapper program. The default |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2174 |
may be overridden by the \fB\-\-demangle\fR and \fB\-\-no\-demangle\fR |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2175 |
options. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2176 |
.SH "SEE ALSO" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2177 |
.IX Header "SEE ALSO" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2178 |
\&\fIar\fR\|(1), \fInm\fR\|(1), \fIobjcopy\fR\|(1), \fIobjdump\fR\|(1), \fIreadelf\fR\|(1) and |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2179 |
the Info entries for \fIbinutils\fR and |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2180 |
\&\fIld\fR. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2181 |
.SH "COPYRIGHT" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2182 |
.IX Header "COPYRIGHT" |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2183 |
Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2184 |
2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2185 |
.PP |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2186 |
Permission is granted to copy, distribute and/or modify this document |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2187 |
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1 |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2188 |
or any later version published by the Free Software Foundation; |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2189 |
with no Invariant Sections, with no Front-Cover Texts, and with no |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2190 |
Back-Cover Texts. A copy of the license is included in the |
76b1f169d9fe
DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff
changeset
|
2191 |
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". |