summaryrefslogtreecommitdiffstats
path: root/native_client_sdk
diff options
context:
space:
mode:
authorjfb <jfb@chromium.org>2015-02-19 22:45:53 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-20 06:46:29 +0000
commit2f26be6eb26db7262994f3695f63d86660e55ff1 (patch)
treed0e6e5c38ad2673911def00edecc844b16ce335d /native_client_sdk
parent7efd98c8fc50bc12f5cb904db228bdf2d076931f (diff)
downloadchromium_src-2f26be6eb26db7262994f3695f63d86660e55ff1.zip
chromium_src-2f26be6eb26db7262994f3695f63d86660e55ff1.tar.gz
chromium_src-2f26be6eb26db7262994f3695f63d86660e55ff1.tar.bz2
NaCl docs: update release notes for 42 branch
TBR= sbc@chromium.org, dschuff@chromium.org, bradnelson@chromium.org BUG=none Review URL: https://codereview.chromium.org/943763002 Cr-Commit-Position: refs/heads/master@{#317260}
Diffstat (limited to 'native_client_sdk')
-rw-r--r--native_client_sdk/doc_generated/sdk/release-notes.html55
-rw-r--r--native_client_sdk/src/doc/sdk/release-notes.rst26
2 files changed, 57 insertions, 24 deletions
diff --git a/native_client_sdk/doc_generated/sdk/release-notes.html b/native_client_sdk/doc_generated/sdk/release-notes.html
index 55e2f13..7a81d94 100644
--- a/native_client_sdk/doc_generated/sdk/release-notes.html
+++ b/native_client_sdk/doc_generated/sdk/release-notes.html
@@ -5,6 +5,14 @@
<p>The dates in the following release notes denote when Chrome and the NaCl SDK
reached canary status. The stable release is typically 6 weeks later.</p>
<h2 id="chrome-pepper-42-20-february-2015">Chrome/Pepper 42 (20 February 2015)</h2>
+<h3 id="sdk">SDK</h3>
+<ul class="small-gap">
+<li>The SDK now contains experimental versions of <code>i686-nacl-clang</code>,
+<code>x86_64-nacl-clang</code>, and <code>arm-nacl-clang</code> as well as the <code>clang++</code>
+equivalents. These toolchains are based on the same LLVM version as PNaCl, but
+can be used to generate NaCl <code>.nexe</code> files instead of translating a
+<code>.pexe</code> locally or using the GCC toolchain.</li>
+</ul>
<h3 id="nacl">NaCl</h3>
<ul class="small-gap">
<li>The x86 NaCl validators accept instructions from the FMA3 extensions, as well
@@ -16,7 +24,10 @@ as AVX2 instructions (except <cite>VGATHER</cite>).</li>
used to upgrade all accesses to <cite>seq_cst</cite>. It still upgrades <cite>consume</cite> to
<cite>acquire</cite> (no compiler currently implements <cite>consume</cite>), and <cite>relaxed</cite> to
<cite>seq_cst</cite> (to conservatively avoid platform differences due to out-of-thin-air
-problems).</li>
+problems). This is currently disabled by default in the SDK so that the
+in-browser translator installed on users&#8217; machines has time to gain this
+support. Developers can turn it on by passing the
+<code>-pnacl-memory-order-seq-cst-only=false</code> flag to <code>opt</code>.</li>
<li>PNaCl handles nested struct type expansion, which allows it to better support
non-C languages such as Rust.</li>
<li>PNaCl breaks up many integer operations over 64-bits into individual 64-bit
@@ -65,12 +76,12 @@ linker.</li>
<li>Hardware Decode API in development preview.</li>
<li>Sync API in development preview.</li>
</ul>
-<h3 id="sdk">SDK</h3>
+<h3 id="id6">SDK</h3>
<ul class="small-gap">
<li>Demo of a <a class="reference internal" href="/native-client/io2014.html#io2014"><em>full development environment in the browser</em></a>.</li>
</ul>
<h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2>
-<h3 id="id6">PNaCl</h3>
+<h3 id="id7">PNaCl</h3>
<ul class="small-gap">
<li>Support <a class="reference external" href="http://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a>
and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html">GCC vectors</a> for SIMD
@@ -79,7 +90,7 @@ and performance is expected to become acceptable for version 37 of
Chrome. More SIMD instructions will be added in later releases.</li>
</ul>
<h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2>
-<h3 id="id7">PNaCl</h3>
+<h3 id="id8">PNaCl</h3>
<ul class="small-gap">
<li>Upgraded LLVM to version 3.4.</li>
<li>Translation now uses dynamic load balancing, making translation time faster.</li>
@@ -87,7 +98,7 @@ Chrome. More SIMD instructions will be added in later releases.</li>
Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#debugging-pnacl-pexes"><em>Debugging PNaCl pexes</em></a></li>
</ul>
<h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2>
-<h3 id="id8">Pepper</h3>
+<h3 id="id9">Pepper</h3>
<ul class="small-gap">
<li>Filesystems can now be passed from JavaScript to NaCl. The resulting
<code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the
@@ -97,7 +108,7 @@ Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href
<a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_media_stream_video_track">pp::MediaStreamVideoTrack</a> for
more details.</li>
</ul>
-<h3 id="id9">PNaCl</h3>
+<h3 id="id10">PNaCl</h3>
<ul class="small-gap">
<li>Parallel translation: at least 1.7x faster, even with older pexes.</li>
<li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using
@@ -111,7 +122,7 @@ LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</
handling (see <a class="reference external" href="https://groups.google.com/forum/#!topic/native-client-discuss/0spfg6O04FM">announcement</a>
for details).</li>
</ul>
-<h3 id="id10">SDK</h3>
+<h3 id="id11">SDK</h3>
<ul class="small-gap">
<li>The <code>nacl_io</code> library now includes a FUSE mount.</li>
<li>In the SDK examples, <code>common.js</code> now loads the Release version of the
@@ -225,7 +236,7 @@ for an application can specify a source file to compile such as
<p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts
library (which has been renamed nacl_io), changes to the example Makefiles, a
simple new 3D example, and a threaded file IO example.</p>
-<h3 id="id11">Build tools and toolchains</h3>
+<h3 id="id12">Build tools and toolchains</h3>
<ul class="small-gap">
<li><p class="first">Makefiles have been changed significantly:</p>
<ul class="small-gap">
@@ -245,14 +256,14 @@ with all toolchains.</li>
the same set of header files as host builds. Previously host and NaCl builds
used different headers, which could cause build problems.</li>
</ul>
-<h3 id="id12">Libraries</h3>
+<h3 id="id13">Libraries</h3>
<ul class="small-gap">
<li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has been expanded
with a new type of mount, httpfs, which can be used to read URLs via HTTP.
For details see <code>include/nacl_io/nacl_io.h</code>, as well as the
<code>hello_nacl_io</code> example.</li>
</ul>
-<h3 id="id13">Examples</h3>
+<h3 id="id14">Examples</h3>
<ul class="small-gap">
<li>A new example, <strong>hello_world_instance3d</strong>, has been added to demonstrate a
simplified 3D app.</li>
@@ -274,7 +285,7 @@ which provides a virtual file system that you can use with standard C file
operations, and ppapi_main, which lets you implement a Native Client module
using a simple ppapi_main function), and two new examples that demonstrate how
to use the nacl_mounts and ppapi_main libraries.</p>
-<h3 id="id14">Build tools and toolchains</h3>
+<h3 id="id15">Build tools and toolchains</h3>
<ul class="small-gap">
<li><p class="first">The SDK includes a new toolchain to build Native Client executables (.nexe
files) for <strong>ARM devices</strong>.</p>
@@ -311,7 +322,7 @@ For a C++ example of how to use the MessageLoop API, see
cannot make asynchronous PPAPI calls on a background thread without creating
and using a message loop.</li>
</ul>
-<h3 id="id15">Libraries</h3>
+<h3 id="id16">Libraries</h3>
<p>The SDK includes two new libraries:</p>
<ul class="small-gap">
<li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module
@@ -345,7 +356,7 @@ how to use ppapi_main, see examples/hello_world_stdio.</li>
<p>Header files for the new libraries are in the <code>include/</code> directory, source
files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code>
directory.</p>
-<h3 id="id16">Examples</h3>
+<h3 id="id17">Examples</h3>
<ul class="small-gap">
<li><p class="first">The SDK includes two new examples:</p>
<ul class="small-gap">
@@ -386,7 +397,7 @@ source dependencies, and invokes the build rules in a separate file
for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for the Windows
SDK, and an expanded list of attributes for Pepper 3D contexts that lets
applications specify a GPU preference for low power or performance.</p>
-<h3 id="id17">Build tools and toolchains</h3>
+<h3 id="id18">Build tools and toolchains</h3>
<ul class="small-gap">
<li>The SDK includes a new, experimental toolchain called <a class="reference external" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl</a> (pronounced
&#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent executable
@@ -402,7 +413,7 @@ determine the architecture of .nexe files. That means you can change the
names of your .nexe files and <code>create_nmf.py</code> will still be able to
generate the appropriate Native Client manifest file for your application.</li>
</ul>
-<h3 id="id19">Examples</h3>
+<h3 id="id20">Examples</h3>
<ul class="small-gap">
<li>The SDK examples now build with four toolchains: the glibc and newlib
toolchains, the experimental PNaCl toolchain, and the hosted toolchain on
@@ -413,7 +424,7 @@ builds both a debug and a release version.</li>
drawing function is now set up as the Flush() callback, which allows 2D
drawing to occur as quickly as possible.</li>
</ul>
-<h3 id="id20">PPAPI</h3>
+<h3 id="id21">PPAPI</h3>
<ul class="small-gap">
<li>When creating a 3D rendering context, the <a class="reference external" href="/native-client/pepper_stable/c/group___enums#ga7df48e1c55f6401beea2a1b9c07967e8">attribute list</a>
for the context can specify whether to prefer low power or performance for
@@ -485,7 +496,7 @@ Note that you must set the <code>CHROME_PATH</code> environment variable and sta
</ul>
</li>
</ul>
-<h3 id="id21">Examples</h3>
+<h3 id="id22">Examples</h3>
<ul class="small-gap">
<li>On Linux and Windows systems, most of the examples now build with three
toolchains: the Native Client glibc and newlib toolchains, and the native
@@ -501,7 +512,7 @@ onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="/e
a list of changes between version 1 and version 2 of the manifest file
format, and a support schedule for applications that use version 1.</li>
</ul>
-<h3 id="id22">PPAPI</h3>
+<h3 id="id23">PPAPI</h3>
<ul class="small-gap">
<li><a class="reference external" href="/native-client/pepper_stable/c/group___enums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a>
has two new enum values (_ISLEFT and _ISRIGHT).</li>
@@ -512,14 +523,14 @@ been fixed.</li>
<p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resources to enable
<strong>hosted development on Windows</strong>, and changes to the example Makefiles (each
example now builds both a debug and a release version).</p>
-<h3 id="id23">Tools</h3>
+<h3 id="id24">Tools</h3>
<ul class="small-gap">
<li>The SDK now includes a <strong>command-line debugger</strong> that you can use to debug
Native Client modules. See <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#devcycle-debugging"><em>Debugging with nacl-gdb</em></a> for instructions on how to use this debugger. For now,
nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux
systems. Support for Mac and 32-bit Windows systems will be added soon.</li>
</ul>
-<h3 id="id24">Windows SDK</h3>
+<h3 id="id25">Windows SDK</h3>
<ul class="small-gap">
<li><p class="first">Developers using the Windows SDK can now <strong>build a module as a Pepper
plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&#8221; plugin) using the
@@ -567,7 +578,7 @@ or <a class="reference external" href="http://www.chromium.org/nativeclient/how-
In the future, the SDK will include resources for hosted development on Mac
and Linux as well as Windows.
</aside>
-<h3 id="id25">Examples</h3>
+<h3 id="id26">Examples</h3>
<ul class="small-gap">
<li>Each example in the SDK now builds both a debug and a release version. As
before, most examples also build newlib and glibc versions, which means that
@@ -581,7 +592,7 @@ in each example&#8217;s web page, attaches event listeners to monitor the loadin
of the module, and implements handleMessage() to respond to messages sent
from the NaCl module to the JavaScript side of the application</li>
</ul>
-<h3 id="id26">PPAPI</h3>
+<h3 id="id27">PPAPI</h3>
<ul class="small-gap">
<li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits
class as its second parameter. For details see the <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1_completion_callback_factory#details">CompletionCallbackFactory
diff --git a/native_client_sdk/src/doc/sdk/release-notes.rst b/native_client_sdk/src/doc/sdk/release-notes.rst
index e6cfc3c..f3ccf15 100644
--- a/native_client_sdk/src/doc/sdk/release-notes.rst
+++ b/native_client_sdk/src/doc/sdk/release-notes.rst
@@ -7,16 +7,35 @@ Release Notes
The dates in the following release notes denote when Chrome and the NaCl SDK
reached canary status. The stable release is typically 6 weeks later.
+
+.. Chrome/Pepper 43 (03 April 2015)
+.. ===================================
+..
+.. PNaCl
+.. -----
+..
+.. * The C11/C++11 `acquire`, `release`, and `acq_rel` memory orders are now
+ generated by default. The in-browser Chrome 42 translator supports them, the
+ SDK can therefore generate them.
+
Chrome/Pepper 42 (20 February 2015)
===================================
+SDK
+---
+
+* The SDK now contains experimental versions of ``i686-nacl-clang``,
+ ``x86_64-nacl-clang``, and ``arm-nacl-clang`` as well as the ``clang++``
+ equivalents. These toolchains are based on the same LLVM version as PNaCl, but
+ can be used to generate NaCl ``.nexe`` files instead of translating a
+ ``.pexe`` locally or using the GCC toolchain.
+
NaCl
----
* The x86 NaCl validators accept instructions from the FMA3 extensions, as well
as AVX2 instructions (except `VGATHER`).
-
PNaCl
-----
@@ -24,7 +43,10 @@ PNaCl
used to upgrade all accesses to `seq_cst`. It still upgrades `consume` to
`acquire` (no compiler currently implements `consume`), and `relaxed` to
`seq_cst` (to conservatively avoid platform differences due to out-of-thin-air
- problems).
+ problems). This is currently disabled by default in the SDK so that the
+ in-browser translator installed on users' machines has time to gain this
+ support. Developers can turn it on by passing the
+ ``-pnacl-memory-order-seq-cst-only=false`` flag to ``opt``.
* PNaCl handles nested struct type expansion, which allows it to better support
non-C languages such as Rust.
* PNaCl breaks up many integer operations over 64-bits into individual 64-bit