NaCl: Allow building Chromium for ARM64 with "enable_nacl = true"
This is an initial step to enable NaCl to work in ARM64 Chromium using
ARM32 NaCl. This disables building the parts of NaCl that would need
to be built as ARM32 (including nacl_helper and various untrusted
nexes). It enables building NaCl support into the ARM64 chrome
executable.
With this change, various NaCl tests pass when run on ARM64 Ubuntu
(20.04), including this test:
xvfb-run -a ./out/default/browser_tests --gtest_filter=PPAPINaClNewlibTest.PostMessage
That requires that the following files are copied from an ARM32 build
of Chromium:
nacl_helper
nacl_helper_bootstrap
nacl_irt_arm.nexe
ppapi_nacl_tests_newlib.nmf
ppapi_nacl_tests_newlib_arm.nexe
Two changes will be needed after this:
* Building NaCl trusted code as ARM32 in an ARM64 build
* Building NaCl untrusted code (nexes) as ARM32 in an ARM64 build
Landing this change first allows those to be more easily implemented
and tested in either order.
Bug: 1299021
Change-Id: Ib25ebbe56c91ed735beb87b0b3479b8b7621b389
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3430407
Reviewed-by: Derek Schuff <[email protected]>
Reviewed-by: Lei Zhang <[email protected]>
Reviewed-by: Devlin Cronin <[email protected]>
Reviewed-by: Thomas Anderson <[email protected]>
Commit-Queue: Mark Seaborn <[email protected]>
Cr-Commit-Position: refs/heads/main@{#984490}
diff --git a/chrome/installer/linux/BUILD.gn b/chrome/installer/linux/BUILD.gn
index 0a7f45e..fbc20f5 100644
--- a/chrome/installer/linux/BUILD.gn
+++ b/chrome/installer/linux/BUILD.gn
@@ -41,6 +41,12 @@
]
packaging_files_shlibs = []
+# TODO(https://crbug.com/1299021): Implement building these NaCl targets as
+# ARM32 when Chrome is built for ARM64 (for Linux/Chrome OS).
+if (target_cpu == "arm64") {
+ enable_nacl = false
+}
+
if (enable_nacl) {
packaging_files_executables += [
"$root_out_dir/nacl_helper",