OSDN Git Service

Like constants, globals on some platforms are GOT relative. This means they have...
authorAndrew Lenharth <andrewl@lenharth.org>
Thu, 28 Jul 2005 12:44:13 +0000 (12:44 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Thu, 28 Jul 2005 12:44:13 +0000 (12:44 +0000)
commit6a9746127a168306a670eaff11925605dbea9d4f
tree56a2b1ef8b41c868fc5a5f9d452ed70511c14bba
parent988b1dd608ed596879e29ad27d4aafdbf3a8f1ac
Like constants, globals on some platforms are GOT relative.  This means they have to be allocated
near the GOT, which new doesn't do.  So break out the allocate into a new function.

Also move GOT index handling into JITResolver.  This lets it update the mapping when a Lazy
function is JITed.  It doesn't managed the table, just the mapping.  Note that this is
still non-ideal, as any function that takes a function address should also take a GOT
index, but that is a lot of changes.  The relocation resolve process updates any GOT entry
it sees is out of date.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22537 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/MachineCodeEmitter.h
lib/ExecutionEngine/JIT/JIT.cpp
lib/ExecutionEngine/JIT/JITEmitter.cpp