llvm-6502/lib/ExecutionEngine
Ulrich Weigand 68b292b026 [PowerPC] ELFv2 dynamic loader support
This patch enables the new ELFv2 ABI in the runtime dynamic loader.
The loader has to implement the following features:
- In the ELFv2 ABI, do not look up a function descriptor in .opd, but
  instead use the local entry point when resolving a direct call.
- Update the TOC restore code to use the new TOC slot linkage area
  offset.
- Create PLT stubs appropriate for the ELFv2 ABI.

Note that this patch also adds common-code changes. These are necessary
because the loader must check the newly added ELF flags: the e_flags
header bits encoding the ABI version, and the st_other symbol table
entry bits encoding the local entry point offset.  There is currently
no way to access these, so I've added ObjectFile::getPlatformFlags and
SymbolRef::getOther accessors.

Reviewed by Hal Finkel.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213491 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-20 23:53:14 +00:00
..
IntelJITEvents Updates in IntelJITEventListener.cpp - by Arch Robison. 2014-06-01 08:45:11 +00:00
Interpreter Remove 'using std::errro_code' from lib. 2014-06-13 02:24:39 +00:00
JIT Drop the udis86 wrapper from llvm::sys 2014-07-17 20:05:29 +00:00
MCJIT Revert "Replace Execution Engine's mutex with std::recursive_mutex." 2014-06-20 21:07:14 +00:00
OProfileJIT [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 03:04:17 +00:00
RuntimeDyld [PowerPC] ELFv2 dynamic loader support 2014-07-20 23:53:14 +00:00
CMakeLists.txt
EventListenerCommon.h [Layering] Move DebugInfo.h into the IR library where its implementation 2014-03-06 00:46:21 +00:00
ExecutionEngine.cpp ExecutionEngine::create(): fix interpreter fallback when JIT is unavailable 2014-07-01 03:18:49 +00:00
ExecutionEngineBindings.cpp [un]wrap extracted from lib/Target/Target[MachineC].cpp, lib/ExecutionEngine/ExecutionEngineBindings.cpp into include/llvm/IR/DataLayout.h 2014-05-13 09:45:26 +00:00
LLVMBuild.txt Prune redundant dependencies in LLVMBuild.txt. 2013-12-11 00:30:57 +00:00
Makefile
RTDyldMemoryManager.cpp Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
TargetSelect.cpp [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 06:32:26 +00:00