comparison doc/manual/x510.html @ 153:ffef3ea07399 2.1 2.1

Preparing for release
author lost
date Fri, 30 Jan 2009 04:32:55 +0000
parents
children
comparison
equal deleted inserted replaced
152:6bd4755d224f 153:ffef3ea07399
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >Linker Operation</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
9 REL="HOME"
10 TITLE="LW Tool Chain"
11 HREF="index.html"><LINK
12 REL="UP"
13 TITLE="LWLINK"
14 HREF="c436.html"><LINK
15 REL="PREVIOUS"
16 TITLE="LWLINK"
17 HREF="c436.html"><LINK
18 REL="NEXT"
19 TITLE="Linking Scripts"
20 HREF="x524.html"></HEAD
21 ><BODY
22 CLASS="SECTION"
23 BGCOLOR="#FFFFFF"
24 TEXT="#000000"
25 LINK="#0000FF"
26 VLINK="#840084"
27 ALINK="#0000FF"
28 ><DIV
29 CLASS="NAVHEADER"
30 ><TABLE
31 SUMMARY="Header navigation table"
32 WIDTH="100%"
33 BORDER="0"
34 CELLPADDING="0"
35 CELLSPACING="0"
36 ><TR
37 ><TH
38 COLSPAN="3"
39 ALIGN="center"
40 >LW Tool Chain</TH
41 ></TR
42 ><TR
43 ><TD
44 WIDTH="10%"
45 ALIGN="left"
46 VALIGN="bottom"
47 ><A
48 HREF="c436.html"
49 ACCESSKEY="P"
50 >Prev</A
51 ></TD
52 ><TD
53 WIDTH="80%"
54 ALIGN="center"
55 VALIGN="bottom"
56 >Chapter 4. LWLINK</TD
57 ><TD
58 WIDTH="10%"
59 ALIGN="right"
60 VALIGN="bottom"
61 ><A
62 HREF="x524.html"
63 ACCESSKEY="N"
64 >Next</A
65 ></TD
66 ></TR
67 ></TABLE
68 ><HR
69 ALIGN="LEFT"
70 WIDTH="100%"></DIV
71 ><DIV
72 CLASS="SECTION"
73 ><H1
74 CLASS="SECTION"
75 ><A
76 NAME="AEN510"
77 >4.2. Linker Operation</A
78 ></H1
79 ><P
80 >LWLINK takes one or more files in the LWTOOLS object file format and links
81 them into a single binary. While the precise method is slightly different,
82 linking can be conceptualized as the following steps.</P
83 ><P
84 ></P
85 ><OL
86 TYPE="1"
87 ><LI
88 ><P
89 >First, the linker loads a linking script. If no script is specified, it
90 loads a built-in default script based on the output format selected. This
91 script tells the linker how to lay out the various sections in the final
92 binary.</P
93 ></LI
94 ><LI
95 ><P
96 >Next, the linker reads all the input files into memory. At this time, it
97 flags any format errors in those files. It constructs a table of symbols
98 for each object at this time.</P
99 ></LI
100 ><LI
101 ><P
102 >The linker then proceeds with organizing the sections loaded from each file
103 according to the linking script. As it does so, it is able to assign addresses
104 to each symbol defined in each object file. At this time, the linker may
105 also collapse different instances of the same section name into a single
106 section by appending the data from each subsequent instance of the section
107 to the first instance of the section.</P
108 ></LI
109 ><LI
110 ><P
111 >Next, the linker looks through every object file for every incomplete reference.
112 It then attempts to fully resolve that reference. If it cannot do so, it
113 throws an error. Once a reference is resolved, the value is placed into
114 the binary code at the specified section. It should be noted that an
115 incomplete reference can reference either a symbol internal to the object
116 file or an external symbol which is in the export list of another object
117 file.</P
118 ></LI
119 ><LI
120 ><P
121 >If all of the above steps are successful, the linker opens the output file
122 and actually constructs the binary.</P
123 ></LI
124 ></OL
125 ></DIV
126 ><DIV
127 CLASS="NAVFOOTER"
128 ><HR
129 ALIGN="LEFT"
130 WIDTH="100%"><TABLE
131 SUMMARY="Footer navigation table"
132 WIDTH="100%"
133 BORDER="0"
134 CELLPADDING="0"
135 CELLSPACING="0"
136 ><TR
137 ><TD
138 WIDTH="33%"
139 ALIGN="left"
140 VALIGN="top"
141 ><A
142 HREF="c436.html"
143 ACCESSKEY="P"
144 >Prev</A
145 ></TD
146 ><TD
147 WIDTH="34%"
148 ALIGN="center"
149 VALIGN="top"
150 ><A
151 HREF="index.html"
152 ACCESSKEY="H"
153 >Home</A
154 ></TD
155 ><TD
156 WIDTH="33%"
157 ALIGN="right"
158 VALIGN="top"
159 ><A
160 HREF="x524.html"
161 ACCESSKEY="N"
162 >Next</A
163 ></TD
164 ></TR
165 ><TR
166 ><TD
167 WIDTH="33%"
168 ALIGN="left"
169 VALIGN="top"
170 >LWLINK</TD
171 ><TD
172 WIDTH="34%"
173 ALIGN="center"
174 VALIGN="top"
175 ><A
176 HREF="c436.html"
177 ACCESSKEY="U"
178 >Up</A
179 ></TD
180 ><TD
181 WIDTH="33%"
182 ALIGN="right"
183 VALIGN="top"
184 >Linking Scripts</TD
185 ></TR
186 ></TABLE
187 ></DIV
188 ></BODY
189 ></HTML
190 >