Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(529)

Unified Diff: ppapi/native_client/src/untrusted/pnacl_irt_shim/nacl.scons

Issue 10950042: PNaCl: Build a PPAPI shims library for all architectures (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/native_client/src/untrusted/pnacl_irt_shim/nacl.scons
diff --git a/ppapi/native_client/src/untrusted/pnacl_irt_shim/nacl.scons b/ppapi/native_client/src/untrusted/pnacl_irt_shim/nacl.scons
index 8aea64eda9269f10b656d40527b499bbe9ae625c..01a8fe9e2428c234762a448a6b23facf20ef2569 100644
--- a/ppapi/native_client/src/untrusted/pnacl_irt_shim/nacl.scons
+++ b/ppapi/native_client/src/untrusted/pnacl_irt_shim/nacl.scons
@@ -4,22 +4,30 @@
# found in the LICENSE file.
Import('env')
-import os
-# This library is part of the pnacl x86-64 toolchain only, and is used
-# to match the pnacl ABI to the IRT ABI. It was necessitated by problems
-# in passing structures by value on x86-64.
-if not env.Bit('bitcode') or not env.Bit('target_x86_64'):
+# This library contains PNaCl ABI shims which convert between the
+# x86-64 calling conventions used by the IRT library (which uses gcc's
+# ABI) and those used by the PNaCl translator. It was necessitated by
+# problems in passing structures by value on x86-64.
+#
+# We build the library on all architectures so that we can use the
+# same entry point symbol everywhere. On architectures other than
+# x86-64, the library currently does no calling conventions
+# conversion.
+if not env.Bit('bitcode'):
Return()
# The library must be compiled with nacl-gcc.
# Clear out the pnacl_generate_pexe bit to allow building this as a
# library dependency (much like the IRT).
-nacl_gcc_env = env.Clone()
-nacl_gcc_env.ClearBits('pnacl_generate_pexe')
-nacl_gcc_env = nacl_gcc_env.PNaClGetNNaClEnv()
+native_env = env.Clone()
+native_env.ClearBits('pnacl_generate_pexe')
+if env.Bit('target_arm'):
+ native_env.PNaClForceNative()
+else:
+ native_env = native_env.PNaClGetNNaClEnv()
-pnacl_irt_shim = nacl_gcc_env.ComponentLibrary('pnacl_irt_shim', [
+pnacl_irt_shim = native_env.ComponentLibrary('pnacl_irt_shim', [
'pnacl_shim.c',
'shim_entry.c',
'shim_ppapi.c',
« no previous file with comments | « ppapi/generators/idl_gen_wrapper.py ('k') | ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698