Index: native_client_sdk/doc_generated/reference/pnacl-undefined-behavior.html |
diff --git a/native_client_sdk/doc_generated/reference/pnacl-undefined-behavior.html b/native_client_sdk/doc_generated/reference/pnacl-undefined-behavior.html |
index 272b4a7bfb813e97fe0e89577681f10eac81706f..d584d676df72d8be21054448e4df07a8b53c8531 100644 |
--- a/native_client_sdk/doc_generated/reference/pnacl-undefined-behavior.html |
+++ b/native_client_sdk/doc_generated/reference/pnacl-undefined-behavior.html |
@@ -21,8 +21,7 @@ |
</li> |
</ul> |
-</div><section id="overview"> |
-<span id="undefined-behavior"></span><h2 id="overview"><span id="undefined-behavior"></span>Overview</h2> |
+</div><h2 id="overview"><span id="undefined-behavior"></span>Overview</h2> |
<p>C and C++ undefined behavior allows efficient mapping of the source |
language onto hardware, but leads to different behavior on different |
platforms.</p> |
@@ -57,7 +56,6 @@ randomizations.</li> |
</ul> |
</li> |
</ul> |
-</section><section id="specification"> |
<h2 id="specification">Specification</h2> |
<p>PNaCl’s goal is that a single <em>pexe</em> should work reliably in the same |
manner on all architectures, irrespective of runtime parameters and |
@@ -72,9 +70,7 @@ and diverging behavior would be rare.</p> |
<p>Note that none of these issues are vulnerabilities in PNaCl and Chrome: |
the NaCl sandboxing still constrains the code through Software Fault |
Isolation.</p> |
-</section><section id="behavior-in-pnacl-bitcode"> |
<h2 id="behavior-in-pnacl-bitcode">Behavior in PNaCl Bitcode</h2> |
-<section id="well-defined"> |
<h3 id="well-defined">Well-Defined</h3> |
<p>The following are traditionally undefined behavior in C/C++ but are well |
defined at the <em>pexe</em> level:</p> |
@@ -103,12 +99,10 @@ Atomics</em></a>).</li> |
x86, and through integer divide emulation routine or explicit checks |
on ARM).</li> |
</ul> |
-</section><section id="not-well-defined"> |
<h3 id="not-well-defined">Not Well-Defined</h3> |
<p>The following are traditionally undefined behavior in C/C++ which also |
exhibit undefined behavior at the <em>pexe</em> level. Some are easier to fix |
than others.</p> |
-<section id="potentially-fixable"> |
<h4 id="potentially-fixable">Potentially Fixable</h4> |
<ul class="small-gap"> |
<li><p class="first">Shift by greater-than-or-equal to left-hand-side’s bit-width or |
@@ -155,8 +149,7 @@ will be undefined. PNaCl could change this to always trap, as the |
defined behavior. PNaCl’s frontend or the translator could insert |
checks with <code>-fsanitize=vla-bound</code>.</li> |
</ul> |
-</section><section id="floating-point"> |
-<span id="undefined-behavior-fp"></span><h4 id="floating-point"><span id="undefined-behavior-fp"></span>Floating-Point</h4> |
+<h4 id="floating-point"><span id="undefined-behavior-fp"></span>Floating-Point</h4> |
<p>PNaCl offers a IEEE-754 implementation which is as correct as the |
underlying hardware allows, with a few limitations. These are a few |
sources of undefined behavior which are believed to be fixable:</p> |
@@ -175,7 +168,6 @@ SIMD operations.</li> |
function implementation isn’t, e.g. <code>std::min</code> and <code>std::max</code>), is |
well-defined in the <em>pexe</em>.</li> |
</ul> |
-</section><section id="simd-vectors"> |
<h4 id="simd-vectors">SIMD Vectors</h4> |
<p>SIMD vector instructions aren’t part of the C/C++ standards and as such |
their behavior isn’t specified at all in C/C++; it is usually left up to |
@@ -185,7 +177,6 @@ offers the same guarantees on these vectors as the guarantees offered by |
the contained elements. Of notable interest amongst these guarantees are |
those of alignment for load/store instructions on vectors: they have the |
same alignment restriction as the contained elements.</p> |
-</section><section id="hard-to-fix"> |
<h4 id="hard-to-fix">Hard to Fix</h4> |
<ul class="small-gap"> |
<li><p class="first">Null pointer/reference has behavior determined by the NaCl sandbox:</p> |
@@ -231,6 +222,6 @@ and at least one of which is not atomic: this will be very dependent |
on processor and execution sequence, see <a class="reference internal" href="/native-client/reference/pnacl-c-cpp-language-support.html#memory-model-and-atomics"><em>Memory Model and |
Atomics</em></a>.</li> |
</ul> |
-</section></section></section></section> |
+</section> |
{{/partials.standard_nacl_article}} |