llvm/lib/ExecutionEngine
Daniel Sanders 682b194cd6 Re-commit r238838, r238844 with fix for host/target endian mismatch and windows buildbot.
The windows buildbot originally failed because the check expressions are
evaluated as 64-bit values, even for 32-bit symbols. Fixed this by comparing
bottom 32-bits of the expressions.

The host/target endian mismatch issue is that it's invalid to read/write target
values using a host pointer without taking care of endian differences between
the target and host. Most (if not all) instances of
reinterpret_cast<uint32_t*>() in the RuntimeDyld are examples of this bug.
This has been fixed for Mips using the endian aware read/write functions.

The original commits were:
r238838:
[mips] Add RuntimeDyld tests for currently supported O32 relocations.

Reviewers: petarj, vkalintiris

Reviewed By: vkalintiris

Subscribers: vkalintiris, llvm-commits

Differential Revision: http://reviews.llvm.org/D10126

r238844:
[mips][mcjit] Add support for R_MIPS_PC32.

Summary:
This allows us to resolve relocations for DW_EH_PE_pcrel TType encodings
in the exception handling LSDA.

Also fixed a nearby typo.

Reviewers: petarj, vkalintiris

Reviewed By: vkalintiris

Subscribers: vkalintiris, llvm-commits

Differential Revision: http://reviews.llvm.org/D10127



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238915 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-03 10:27:28 +00:00
..
IntelJITEvents Try to fix the build of IntelJITEventListener. 2015-06-01 02:18:14 +00:00
Interpreter Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types 2015-05-29 19:43:39 +00:00
MCJIT Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
OProfileJIT [jitlistener] Remove unused code 2015-04-08 13:17:48 +00:00
Orc [Orc] Reapply r236465 with fixes for the MSVC bots. 2015-05-05 17:37:18 +00:00
RuntimeDyld Re-commit r238838, r238844 with fix for host/target endian mismatch and windows buildbot. 2015-06-03 10:27:28 +00:00
CMakeLists.txt
ExecutionEngine.cpp Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types 2015-05-29 19:43:39 +00:00
ExecutionEngineBindings.cpp add missing dependency for ExecutionEngine lib 2015-06-01 21:56:56 +00:00
GDBRegistrationListener.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
LLVMBuild.txt add missing dependency for ExecutionEngine lib 2015-06-01 21:56:56 +00:00
Makefile
SectionMemoryManager.cpp
TargetSelect.cpp Readdress r236990, use of static members on a non-static variable. 2015-05-11 22:20:48 +00:00