Commit 5cee41ec authored by JF Bastien's avatar JF Bastien

NaCl docs: mention static libraries for SJLJ

This recently came up on our mailing list, and isn't quite obvious.

R=sbc@chromium.org
BUG= none

Review URL: https://codereview.chromium.org/940503003

Cr-Commit-Position: refs/heads/master@{#317114}
parent f018aaad
...@@ -156,12 +156,18 @@ in <a class="reference internal" href="#id1">Memory Model and Atomics</a>.</p> ...@@ -156,12 +156,18 @@ in <a class="reference internal" href="#id1">Memory Model and Atomics</a>.</p>
restrictions beyond C&#8217;s.</p> restrictions beyond C&#8217;s.</p>
<h2 id="c-exception-handling"><span id="exception-handling"></span>C++ Exception Handling</h2> <h2 id="c-exception-handling"><span id="exception-handling"></span>C++ Exception Handling</h2>
<p>PNaCl currently supports C++ exception handling through <code>setjmp()</code> and <p>PNaCl currently supports C++ exception handling through <code>setjmp()</code> and
<code>longjmp()</code>, which can be enabled with the <code>--pnacl-exceptions=sjlj</code> <code>longjmp()</code>, which can be enabled with the <code>--pnacl-exceptions=sjlj</code> linker
linker flag. Exceptions are disabled by default so that faster and flag (set with <code>LDFLAGS</code> when using Make). Exceptions are disabled by default
smaller code is generated, and <code>throw</code> statements are replaced with so that faster and smaller code is generated, and <code>throw</code> statements are
calls to <code>abort()</code>. The usual <code>-fno-exceptions</code> flag is also replaced with calls to <code>abort()</code>. The usual <code>-fno-exceptions</code> flag is also
supported. PNaCl will support full zero-cost exception handling in the supported, though the default is <code>-fexceptions</code>. PNaCl will support full
future.</p> zero-cost exception handling in the future.</p>
<aside>
When using <a class="reference external" href="https://code.google.com/p/naclports">naclports</a> or other prebuilt static libraries, you don&#8217;t
need to recompile because the exception handling support is
implemented at link time (when all the static libraries are put
together with your application).
</aside>
<p>NaCl supports full zero-cost C++ exception handling.</p> <p>NaCl supports full zero-cost C++ exception handling.</p>
<h2 id="inline-assembly">Inline Assembly</h2> <h2 id="inline-assembly">Inline Assembly</h2>
<p>Inline assembly isn&#8217;t supported by PNaCl because it isn&#8217;t portable. The <p>Inline assembly isn&#8217;t supported by PNaCl because it isn&#8217;t portable. The
......
...@@ -176,12 +176,19 @@ C++ Exception Handling ...@@ -176,12 +176,19 @@ C++ Exception Handling
====================== ======================
PNaCl currently supports C++ exception handling through ``setjmp()`` and PNaCl currently supports C++ exception handling through ``setjmp()`` and
``longjmp()``, which can be enabled with the ``--pnacl-exceptions=sjlj`` ``longjmp()``, which can be enabled with the ``--pnacl-exceptions=sjlj`` linker
linker flag. Exceptions are disabled by default so that faster and flag (set with ``LDFLAGS`` when using Make). Exceptions are disabled by default
smaller code is generated, and ``throw`` statements are replaced with so that faster and smaller code is generated, and ``throw`` statements are
calls to ``abort()``. The usual ``-fno-exceptions`` flag is also replaced with calls to ``abort()``. The usual ``-fno-exceptions`` flag is also
supported. PNaCl will support full zero-cost exception handling in the supported, though the default is ``-fexceptions``. PNaCl will support full
future. zero-cost exception handling in the future.
.. note:: When using naclports_ or other prebuilt static libraries, you don't
need to recompile because the exception handling support is
implemented at link time (when all the static libraries are put
together with your application).
.. _naclports: https://code.google.com/p/naclports
NaCl supports full zero-cost C++ exception handling. NaCl supports full zero-cost C++ exception handling.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment