llvm-6502/lib/ExecutionEngine/RuntimeDyld
Sean Callanan 5069b21b45 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
2012-03-20 22:25:39 +00:00
..
CMakeLists.txt Adding a basic ELF dynamic loader and MC-JIT for ELF. Functionality is currently basic and will be enhanced with future patches. 2012-01-16 08:56:09 +00:00
DyldELFObject.h Expose the ELFObjectFile class directly in the Object/ELF.h header, similarly 2012-02-12 06:12:10 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile
RuntimeDyld.cpp Split the lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h header to smaller logical headers. 2012-01-22 07:05:02 +00:00
RuntimeDyldELF.cpp Convert assert(0) to llvm_unreachable 2012-02-07 05:05:23 +00:00
RuntimeDyldELF.h Split the lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h header to smaller logical headers. 2012-01-22 07:05:02 +00:00
RuntimeDyldImpl.h Split the lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h header to smaller logical headers. 2012-01-22 07:05:02 +00:00
RuntimeDyldMachO.cpp RuntimeDyldMachO has the ability to keep track of 2012-03-20 22:25:39 +00:00
RuntimeDyldMachO.h RuntimeDyldMachO has the ability to keep track of 2012-03-20 22:25:39 +00:00