llvm-6502/lib
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
..
Analysis Remove braces around single-statement block and rangify outer loop. 2014-07-20 09:20:47 +00:00
AsmParser Add a dereferenceable attribute 2014-07-18 15:51:28 +00:00
Bitcode Add a dereferenceable attribute 2014-07-18 15:51:28 +00:00
CodeGen MachineRegionInfo.cpp: Another fix on MachineRegionInfo::MachineRegionInfo::recalculate() to appease msc17. 2014-07-20 11:14:55 +00:00
DebugInfo
ExecutionEngine [PowerPC] ELFv2 dynamic loader support 2014-07-20 23:53:14 +00:00
IR [C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) iterator ranges. 2014-07-20 09:10:11 +00:00
IRReader
LineEditor
Linker
LTO MergedLoadStoreMotion pass 2014-07-18 19:13:09 +00:00
MC [MC] Pass MCSymbolData to needsRelocateWithSymbol 2014-07-20 23:15:06 +00:00
Object Namespace cleanup (no functional change) 2014-07-20 12:08:28 +00:00
Option
ProfileData
Support Remove uses of the redundant ".reset(nullptr)" of unique_ptr, in favor of ".reset()" 2014-07-19 01:05:11 +00:00
TableGen [TableGen] Allow shift operators to take bits<n> 2014-07-17 17:04:27 +00:00
Target [PowerPC] ELFv2 stack space reduction 2014-07-20 23:43:15 +00:00
Transforms [LoopVectorize] Remove an unused private AA pointer 2014-07-20 23:28:25 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile