The latest spin of arm64/armhf support for chromium. My arm64 patches are now upstream, but a new patch is needed for chrome 51 (included and also submitted upstream).
Riku
diff -Nru chromium-browser-51.0.2704.63/debian/changelog chromium-browser-51.0.2704.63/debian/changelog --- chromium-browser-51.0.2704.63/debian/changelog 2016-05-29 01:43:34.000000000 +0000 +++ chromium-browser-51.0.2704.63/debian/changelog 2016-06-02 18:21:00.000000000 +0000 @@ -1,3 +1,10 @@ +chromium-browser (51.0.2704.63-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Add arm64/armhf builds + + -- Riku Voipio <riku.voi...@linaro.org> Thu, 02 Jun 2016 21:20:42 +0300 + chromium-browser (51.0.2704.63-2) unstable; urgency=medium * Fix libspeechd build error. diff -Nru chromium-browser-51.0.2704.63/debian/control chromium-browser-51.0.2704.63/debian/control --- chromium-browser-51.0.2704.63/debian/control 2016-05-29 03:56:21.000000000 +0000 +++ chromium-browser-51.0.2704.63/debian/control 2016-06-02 18:14:14.000000000 +0000 @@ -84,7 +84,7 @@ Standards-Version: 3.9.7 Package: chromium -Architecture: i386 amd64 +Architecture: i386 amd64 armhf arm64 Built-Using: ${Built-Using} Depends: ${misc:Depends}, @@ -122,7 +122,7 @@ ro, ru, sk, sl, sr, sv, sw, ta, te, th, tr, uk, vi, zh-CN, zh-TW Package: chromedriver -Architecture: i386 amd64 +Architecture: i386 amd64 armhf arm64 Depends: ${misc:Depends}, ${shlibs:Depends}, diff -Nru chromium-browser-51.0.2704.63/debian/patches/aarch64-fix-sigsys.patch chromium-browser-51.0.2704.63/debian/patches/aarch64-fix-sigsys.patch --- chromium-browser-51.0.2704.63/debian/patches/aarch64-fix-sigsys.patch 1970-01-01 00:00:00.000000000 +0000 +++ chromium-browser-51.0.2704.63/debian/patches/aarch64-fix-sigsys.patch 2016-06-02 18:24:16.000000000 +0000 @@ -0,0 +1,25 @@ +Ddescription: Fix build on arm64 +Author: Riku Voipio <riku.voi...@linaro.org> +Forwarded: https://codereview.chromium.org/2033733002/ + +Index: chromium-browser-50.0.2661.94/mojo/shell/runner/host/linux_sandbox.cc +=================================================================== +--- chromium-browser-50.0.2661.94.orig/mojo/shell/runner/host/linux_sandbox.cc ++++ chromium-browser-50.0.2661.94/mojo/shell/runner/host/linux_sandbox.cc +@@ -39,12 +39,16 @@ intptr_t SandboxSIGSYSHandler(const stru + const sandbox::syscall_broker::BrokerProcess* broker_process = + static_cast<const sandbox::syscall_broker::BrokerProcess*>(aux); + switch (args.nr) { ++#if defined(__NR_access) + case __NR_access: + return broker_process->Access(reinterpret_cast<const char*>(args.args[0]), + static_cast<int>(args.args[1])); ++#endif ++#if defined(__NR_open) + case __NR_open: + return broker_process->Open(reinterpret_cast<const char*>(args.args[0]), + static_cast<int>(args.args[1])); ++#endif + case __NR_faccessat: + if (static_cast<int>(args.args[0]) == AT_FDCWD) { + return broker_process->Access( diff -Nru chromium-browser-51.0.2704.63/debian/patches/series chromium-browser-51.0.2704.63/debian/patches/series --- chromium-browser-51.0.2704.63/debian/patches/series 2016-05-29 01:27:17.000000000 +0000 +++ chromium-browser-51.0.2704.63/debian/patches/series 2016-06-02 18:21:25.000000000 +0000 @@ -19,3 +19,4 @@ webui.patch system/speechd.patch +aarch64-fix-sigsys.patch diff -Nru chromium-browser-51.0.2704.63/debian/rules chromium-browser-51.0.2704.63/debian/rules --- chromium-browser-51.0.2704.63/debian/rules 2016-05-29 05:43:33.000000000 +0000 +++ chromium-browser-51.0.2704.63/debian/rules 2016-06-02 18:25:23.000000000 +0000 @@ -5,6 +5,7 @@ # enable all build hardening flags export DEB_BUILD_MAINT_OPTIONS=hardening=+all +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) # linker flags to avoid memory allocation issues on i386 export LDFLAGS+=-Wl,--no-keep-memory -Wl,--reduce-memory-overheads -Wl,--hash-size=7919 @@ -19,6 +20,22 @@ # treat all warnings as errors defines=werror= +ifeq (arm64,$(DEB_HOST_ARCH)) +defines += \ + target_arch=arm64 +endif + +ifeq (armhf,$(DEB_HOST_ARCH)) +defines += \ + arm_neon=0 \ + arm_use_neon=0 \ + v8_use_arm_eabi_hardfloat=true \ + arm_float_abi=hard \ + arm_thumb=1 \ + armv7=1 \ + arm_version=7 +endif + # build with gcc instead of clang defines+=clang=0 defines+=clang_use_chrome_plugins= diff -Nru chromium-browser-51.0.2704.63/debian/scripts/chromium chromium-browser-51.0.2704.63/debian/scripts/chromium --- chromium-browser-51.0.2704.63/debian/scripts/chromium 2016-02-12 02:52:44.000000000 +0000 +++ chromium-browser-51.0.2704.63/debian/scripts/chromium 2016-06-02 18:20:36.000000000 +0000 @@ -30,11 +30,15 @@ For more information, please read and possibly provide input to their bug tracking system at http://crbug.com/348761." -# Check whether this system supports sse2 -if test -z "$(grep sse2 /proc/cpuinfo)"; then - xmessage "$nosse2" - exit 1 -fi +case `uname -m` in + i386|i586|i686|x86_64) + # Check whether this system supports sse2 + if ! grep -q sse2 /proc/cpuinfo; then + xmessage "$nosse2" + exit 1 + fi + ;; +esac # Source additional settings for file in /etc/chromium.d/*; do