comparison lwlink/main.c @ 234:d389adbcc4ab

Added section base and length symbols to lwlink Added the ability for a link script to define section base and section length symbols when linking. These symbols are searched for when an external reference is resolved before looking up any symbols in the various objects being linked. Also documented the new link script directives and added such directives to all default link scripts.
author William Astle <lost@l-w.ca>
date Fri, 10 Aug 2012 23:47:56 -0600
parents c6a38fd8bd33
children ce1fdc8d6568
comparison
equal deleted inserted replaced
233:7887a48b74df 234:d389adbcc4ab
163 163
164 extern void read_files(void); 164 extern void read_files(void);
165 extern void setup_script(void); 165 extern void setup_script(void);
166 extern void resolve_files(void); 166 extern void resolve_files(void);
167 extern void resolve_sections(void); 167 extern void resolve_sections(void);
168 extern void generate_symbols(void);
168 extern void resolve_references(void); 169 extern void resolve_references(void);
169 extern void do_output(void); 170 extern void do_output(void);
170 extern void display_map(void); 171 extern void display_map(void);
171 172
172 // main function; parse command line, set up assembler state, and run the 173 // main function; parse command line, set up assembler state, and run the
194 // objects must be included 195 // objects must be included
195 resolve_files(); 196 resolve_files();
196 197
197 // resolve section bases and section order 198 // resolve section bases and section order
198 resolve_sections(); 199 resolve_sections();
200
201 // generate symbols
202 generate_symbols();
199 203
200 // resolve incomplete references 204 // resolve incomplete references
201 resolve_references(); 205 resolve_references();
202 206
203 // do the actual output 207 // do the actual output