1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/lib/ExecutionEngine/RuntimeDyld
Daniel Sanders 981274986f 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

llvm-svn: 238915
2015-06-03 10:27:28 +00:00
..
Targets [RuntimeDyld] Fix MachO i386 SECTDIFF relocation to support non-zero addends. 2015-05-27 20:50:01 +00:00
CMakeLists.txt Fix the autoconf build 2015-03-07 21:47:46 +00:00
LLVMBuild.txt Fix build following r211956 2014-06-28 06:31:47 +00:00
Makefile
RTDyldMemoryManager.cpp [ExecutionEngine] Fix dependence issue by moving RTDyldMemoryManager into 2015-02-15 23:22:43 +00:00
RuntimeDyld.cpp Simplify another function that doesn't fail. 2015-06-01 00:27:26 +00:00
RuntimeDyldChecker.cpp [MCJIT][Orc] Refactor RTDyldMemoryManager, weave RuntimeDyld::SymbolInfo through 2015-03-30 03:37:06 +00:00
RuntimeDyldCheckerImpl.h [RuntimeDyldELF] Improve GOT support 2015-04-14 02:10:35 +00:00
RuntimeDyldCOFF.cpp Reapply part of r237975, "Fix Clang -Wmissing-override warning", except for DIContext.h, to apease g++-4.7. 2015-05-22 10:11:07 +00:00
RuntimeDyldCOFF.h [MCJIT][Orc] Refactor RTDyldMemoryManager, weave RuntimeDyld::SymbolInfo through 2015-03-30 03:37:06 +00:00
RuntimeDyldELF.cpp Re-commit r238838, r238844 with fix for host/target endian mismatch and windows buildbot. 2015-06-03 10:27:28 +00:00
RuntimeDyldELF.h [Mips64] Add support for MCJIT for MIPS64r2 and MIPS64r6 2015-05-28 13:48:41 +00:00
RuntimeDyldImpl.h [Mips64] Add support for MCJIT for MIPS64r2 and MIPS64r6 2015-05-28 13:48:41 +00:00
RuntimeDyldMachO.cpp Reapply part of r237975, "Fix Clang -Wmissing-override warning", except for DIContext.h, to apease g++-4.7. 2015-05-22 10:11:07 +00:00
RuntimeDyldMachO.h [MCJIT][Orc] Refactor RTDyldMemoryManager, weave RuntimeDyld::SymbolInfo through 2015-03-30 03:37:06 +00:00