PSA: PNaCl ABI version changing

129 views
Skip to first unread message

David Sehr

unread,
Sep 20, 2013, 2:19:45 PM9/20/13
to Native Client Discuss
Hi everyone,

Since PNaCl was delayed from Chrome 30 to 31, we used the extra time to simplify our stable bitcode format further.  We've settled on a version 2 bitcode format that produces smaller pexe files than the original Chrome 30 version (v1 bitcode).  It does not affect the actual high-level bitcode *features* supported (same set of intrinsics, etc.), just the low-level encoding.

Since PNaCl isn't officially released yet, we'd like to stop supporting version 1 while there are still few developers using PNaCl.  In the long term, it makes sense to use smaller and simpler bitcode files.  In other words, use version 2. We're sorry that this is more churn for early adopters. In the future, we will maintain backwards compatibility. For now, we are doing a two stage roll out, one translator version for the next few days that accepts both versions 1 and 2, before transitioning to only accept version 2 on Monday before the Chrome 31 branch.

What this means is that we'd like developers to transition to the latest PNaCl SDK ("naclsdk info pepper_canary" should say "NaCl revision: 12177" or higher).  Using the new SDK, please recompile to target the v2 bitcode.

The currently deployed PNaCl translator for Chrome 31 is revision "0.1.0.12144" (see about:nacl, to see if you've been auto-updated). The 12144 translator supports both bitcode version 1 and bitcode version 2, so that even if you haven't recompiled yet, things will still work (we're not breaking things immediately).  However, Chrome 31 branches on Monday, and over the weekend we'd like to push out a PNaCl translator which is stricter and only accepts version 2 bitcode, so that developers don't accidentally ship version 1 bitcode.

Let us know if you have questions, or any feedback.  We'll send a followup when the stricter translator is starting to trickle out via auto-update.  Thank you, and I hope you all find version 2 bitcode an improvement for your applications.

Cheers,

David

Jan Voung

unread,
Sep 25, 2013, 4:31:26 PM9/25/13
to native-cli...@googlegroups.com
Quick update, everyone,

Yesterday we started pushing out a new chrome PNaCl translator that only accepts version 2.  Please be sure to use a pepper_31 or pepper_canary SDK so that your apps are compiled with version 2 bitcode.

If your app is not updated and does not load, check the JS console.  The JS console should show:

"PnaclCoordinator: PNaCl Translator Error: Unsupported PNaCl bitcode version: 1"

Hope that helps,
- Jan


--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to native-client-di...@googlegroups.com.
To post to this group, send email to native-cli...@googlegroups.com.
Visit this group at http://groups.google.com/group/native-client-discuss.
For more options, visit https://groups.google.com/groups/opt_out.

Reply all
Reply to author
Forward
0 new messages