summaryrefslogtreecommitdiff
path: root/llvm.spec.in
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2012-03-20 22:25:39 +0000
committerSean Callanan <scallanan@apple.com>2012-03-20 22:25:39 +0000
commit5069b21b45d8ec99a1b34b6483d800ba5c2ea598 (patch)
tree3cf1b418721fc326d8e42f0db32e6e8d23ee5593 /llvm.spec.in
parent768b4e8cb4dabc14b8e16806d1defb79f83a7d72 (diff)
downloadllvm-5069b21b45d8ec99a1b34b6483d800ba5c2ea598.tar.gz
llvm-5069b21b45d8ec99a1b34b6483d800ba5c2ea598.tar.bz2
llvm-5069b21b45d8ec99a1b34b6483d800ba5c2ea598.tar.xz
RuntimeDyldMachO has the ability to keep track of
relocations (i.e., pieces of data whose addresses are referred to elsewhere in the binary image) and update the references when the section containing the relocations moves. The way this works is that there is a map from section IDs to lists of relocations. Because the relocations are associated with the section containing the data being referred to, they are updated only when the target moves. However, many data references are relative and also depend on the location of the referrer. To solve this problem, I introduced a new data structure, Referrer, which simply contains the section being referred to and the index of the relocation in that section. These referrers are associated with the source containing the reference that needs to be updated, so now regardless of which end of the relocation moves, the relocation will now be updated correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153147 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'llvm.spec.in')
0 files changed, 0 insertions, 0 deletions