- R - a set of symbols referenced in object codes
- D - a set of symbols whose values are defined in some object code
- S - a set of symbols that identify segments
R is a subset of the union of D and S
is said to be resolved.
The definition means that every undefined symbol has a corresponding defined symbol.
In MCLinker, we treat symbol resolution in the other way. MCLinker IR is a reduced graph of the use-define chain in typical compilers. An undefined symbol with relocation identifies the location of a `use`, and a defined symbol identifies the location of a `define`. Symbol resolution is a process to finish the topology of the use-define graph by connecting all defines to all uses. The termination condition of symbol resolution process in MCLinker is set if and only if every `use`s has its corresponding `define`.
Reference
@article{FraserH82,
title = {A Machine-Independent Linker},
author = {Christopher W. Fraser and David R. Hanson},
year = {1982},
researchr = {http://researchr.org/publication/FraserH82},
cites = {0},
citedby = {0},
journal = {Software: Practice and Experience},
volume = {12},
number = {4},
pages = {351-366},
}
沒有留言:
張貼留言