summaryrefslogtreecommitdiffstats
path: root/native_client_sdk
diff options
context:
space:
mode:
authorJF Bastien <jfb@chromium.org>2015-02-19 11:56:52 -0800
committerJF Bastien <jfb@chromium.org>2015-02-19 19:58:19 +0000
commit5cee41ecd4557e31755e18773b6006052f83a779 (patch)
tree3123eba98b8c1d0167d6d9dd0f62e767dc587033 /native_client_sdk
parentf018aaad33c80348dd6e935d573d558b83f17936 (diff)
downloadchromium_src-5cee41ecd4557e31755e18773b6006052f83a779.zip
chromium_src-5cee41ecd4557e31755e18773b6006052f83a779.tar.gz
chromium_src-5cee41ecd4557e31755e18773b6006052f83a779.tar.bz2
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}
Diffstat (limited to 'native_client_sdk')
-rw-r--r--native_client_sdk/doc_generated/reference/pnacl-c-cpp-language-support.html18
-rw-r--r--native_client_sdk/src/doc/reference/pnacl-c-cpp-language-support.rst19
2 files changed, 25 insertions, 12 deletions
diff --git a/native_client_sdk/doc_generated/reference/pnacl-c-cpp-language-support.html b/native_client_sdk/doc_generated/reference/pnacl-c-cpp-language-support.html
index d1e3585..3b76173 100644
--- a/native_client_sdk/doc_generated/reference/pnacl-c-cpp-language-support.html
+++ b/native_client_sdk/doc_generated/reference/pnacl-c-cpp-language-support.html
@@ -156,12 +156,18 @@ in <a class="reference internal" href="#id1">Memory Model and Atomics</a>.</p>
restrictions beyond C&#8217;s.</p>
<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
-<code>longjmp()</code>, which can be enabled with the <code>--pnacl-exceptions=sjlj</code>
-linker flag. Exceptions are disabled by default so that faster and
-smaller code is generated, and <code>throw</code> statements are 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
-future.</p>
+<code>longjmp()</code>, which can be enabled with the <code>--pnacl-exceptions=sjlj</code> linker
+flag (set with <code>LDFLAGS</code> when using Make). Exceptions are disabled by default
+so that faster and smaller code is generated, and <code>throw</code> statements are
+replaced with calls to <code>abort()</code>. The usual <code>-fno-exceptions</code> flag is also
+supported, though the default is <code>-fexceptions</code>. PNaCl will support full
+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>
<h2 id="inline-assembly">Inline Assembly</h2>
<p>Inline assembly isn&#8217;t supported by PNaCl because it isn&#8217;t portable. The
diff --git a/native_client_sdk/src/doc/reference/pnacl-c-cpp-language-support.rst b/native_client_sdk/src/doc/reference/pnacl-c-cpp-language-support.rst
index 2324774..1a87dff 100644
--- a/native_client_sdk/src/doc/reference/pnacl-c-cpp-language-support.rst
+++ b/native_client_sdk/src/doc/reference/pnacl-c-cpp-language-support.rst
@@ -176,12 +176,19 @@ C++ Exception Handling
======================
PNaCl currently supports C++ exception handling through ``setjmp()`` and
-``longjmp()``, which can be enabled with the ``--pnacl-exceptions=sjlj``
-linker flag. Exceptions are disabled by default so that faster and
-smaller code is generated, and ``throw`` statements are replaced with
-calls to ``abort()``. The usual ``-fno-exceptions`` flag is also
-supported. PNaCl will support full zero-cost exception handling in the
-future.
+``longjmp()``, which can be enabled with the ``--pnacl-exceptions=sjlj`` linker
+flag (set with ``LDFLAGS`` when using Make). Exceptions are disabled by default
+so that faster and smaller code is generated, and ``throw`` statements are
+replaced with calls to ``abort()``. The usual ``-fno-exceptions`` flag is also
+supported, though the default is ``-fexceptions``. PNaCl will support full
+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.