OSDN Git Service

[MCJIT] Add options to llvm-rtdyld to describe a phony target address space for
authorLang Hames <lhames@gmail.com>
Tue, 29 Jul 2014 23:43:13 +0000 (23:43 +0000)
committerLang Hames <lhames@gmail.com>
Tue, 29 Jul 2014 23:43:13 +0000 (23:43 +0000)
commit41364b7d5420aecf266cda68552fe05b61ebb847
tree0f4f91bc24bd31f3893bf91f64abf5865a869b1a
parent1bb9c8155ad075e5f78665470a1e7636d3b27d52
[MCJIT] Add options to llvm-rtdyld to describe a phony target address space for
use in -verify mode.

This patch adds three hidden command line options to llvm-rtdyld:

 -target-addr-start <start-addr> : Specify the start of the virtual address
                                   space on the phony target.

 -target-addr-end   <end-addr>   : Specify the end of the virtual address space
                                   on the phony target.

 -target-section-sep <sep>       : Specify the separation (in bytes) between the
                                   end of one section and the start of the next.

These options automatically default to sane values for the target platform. In
particular, they allow narrow (e.g. 32-bit, 16-bit) targets to be tested from
wider (e.g. 64-bit, 32-bit) hosts without overflowing pointers.

The section separation option defaults to zero, but can be set to a large number
(e.g. 1 << 32) to force large separations between sections in order to
stress-test large-code-model code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214255 91177308-0d34-0410-b5e6-96231b3b80d8
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
tools/llvm-rtdyld/llvm-rtdyld.cpp