Skip to content
Snippets Groups Projects
Commit 988a7121a7d5 authored by Armin Rigo's avatar Armin Rigo
Browse files

Issue #2103: comments about --source and the PAX issues.

parent 3cd948df449b
No related branches found
No related tags found
No related merge requests found
......@@ -282,6 +282,13 @@
PYPY_GC_MAX_DELTA=200MB pypy --jit loop_longevity=300 ../../rpython/bin/rpython -Ojit targetpypystandalone
</pre>
</li>
<li><p class="first">You can run translations with <tt class="docutils literal"><span class="pre">--source</span></tt>, which only builds the C
source files (and prints at the end where). Then you can <tt class="docutils literal">cd</tt> there
and execute <tt class="docutils literal">make</tt>. This is another way to reduce memory usage.
Note that afterwards, you have to run manually <tt class="docutils literal"><span class="pre">pypy-c</span>
<span class="pre">.../pypy/tool/build_cffi_imports.py</span></tt> if you want to be able to import
the cffi-based modules.</p>
</li>
<li><p class="first">On Linux, because of <tt class="docutils literal">asmgcroot</tt>, compiling the generated C files
is delicate. It requires using gcc with no particularly
fancy options. It does not work e.g. with clang, or if you pass uncommon
......@@ -290,6 +297,12 @@
the <a class="reference external" href="http://pypy.readthedocs.org/en/latest/config/translation.gcrootfinder.html">shadow stack</a> option instead (for a small performance price in
non-JITted code).</p>
</li>
<li><p class="first">Like other JITs, PyPy doesn't work out of the box on some Linux
distributions that trade full POSIX compliance for extra security
features. E.g. with PAX, you have to run PyPy with <tt class="docutils literal">paxctl <span class="pre">-cm</span></tt>.
This also applies to translation (unless you use CPython to run the
translation and you specify <tt class="docutils literal"><span class="pre">--source</span></tt>).</p>
</li>
</ul>
</div>
<div class="section" id="packaging">
......
......@@ -295,6 +295,13 @@
PYPY_GC_MAX_DELTA=200MB pypy --jit loop_longevity=300 ../../rpython/bin/rpython -Ojit targetpypystandalone
* You can run translations with ``--source``, which only builds the C
source files (and prints at the end where). Then you can ``cd`` there
and execute ``make``. This is another way to reduce memory usage.
Note that afterwards, you have to run manually ``pypy-c
.../pypy/tool/build_cffi_imports.py`` if you want to be able to import
the cffi-based modules.
* On Linux, because of ``asmgcroot``, compiling the generated C files
is delicate. It requires using gcc with no particularly
fancy options. It does not work e.g. with clang, or if you pass uncommon
......@@ -303,6 +310,12 @@
the `shadow stack`_ option instead (for a small performance price in
non-JITted code).
* Like other JITs, PyPy doesn't work out of the box on some Linux
distributions that trade full POSIX compliance for extra security
features. E.g. with PAX, you have to run PyPy with ``paxctl -cm``.
This also applies to translation (unless you use CPython to run the
translation and you specify ``--source``).
.. _`x86 (IA-32)`: http://en.wikipedia.org/wiki/IA-32
.. _`x86-64`: http://en.wikipedia.org/wiki/X86-64
.. _SSE2: http://en.wikipedia.org/wiki/SSE2
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment