Lines Matching +full:very +full:- +full:high
5 ---------------------------
23 ------------
29 We believe that these high-level design choices achieved a right balance
36 The linkers share the same design but share very little code.
39 to abstract the differences wouldn't be worth its complexity and run-time
45 One of the most important things in archiving high performance is to
47 Therefore, the high-level design matters more than local optimizations.
48 Since we are trying to create a high-performance linker,
49 it is very important to keep the design as efficient as possible.
71 - If the linker visits an object file, the linker links object files to the
74 - If the linker visits an archive file, it checks for the archive file's
78 This algorithm sometimes leads to a counter-intuitive behavior. If you give
85 but that cannot fix the issue of mutually-dependent archive files.
87 Linking mutually-dependent archive files is tricky. You may specify the same
89 you may use the special command line options, `--start-group` and
90 `--end-group`, to let the linker loop over the files between the options until
110 ------------------------
114 in order to link a very large executable. In order to link Chrome with debug
117 - 17,000 files,
118 - 1,800,000 sections,
119 - 6,300,000 symbols, and
120 - 13,000,000 relocations.
140 -------------------------
150 The linker creates linker-defined symbols as well.
154 - Defined symbols are for all symbols that are considered as "resolved",
156 absolute symbols, linker-created symbols, etc.
157 - Undefined symbols represent undefined symbols, which need to be replaced by
159 - Lazy symbols represent symbols we found in archive file headers
167 The above mechanism allows you to use pointers to Symbols as a very cheap way
172 been replaced by the defined symbol in-place.
179 - If we add Defined and Undefined symbols, the symbol table will keep the
181 - If we add Defined and Lazy symbols, it will keep the former.
182 - If we add Lazy and Undefined, it will keep the former,
195 Specifically, section-based chunks know how to read relocation tables
225 assign unique, non-overlapping addresses and file offsets to them, and then
232 - processes command line options,
233 - creates a symbol table,
234 - creates an InputFile for each input file and puts all symbols within into
236 - checks if there's no remaining undefined symbols,
237 - creates a writer,
238 - and passes the symbol table to the writer to write the result to a file.
240 Link-Time Optimization
241 ----------------------
254 --------
260 Windows executables or DLLs are not position-independent; they are
283 Note that this run-time relocation mechanism is much simpler than ELF.
293 ICF is an optimization to reduce output size by merging read-only sections
294 by not only their names but by their contents. If two read-only sections
312 ----------