extra/chromium: v8 fix

This commit is contained in:
Kevin Mihelich 2016-05-28 00:56:32 +00:00
parent 6ed89c0fde
commit 5bc87998fc
3 changed files with 52 additions and 3 deletions

View file

@ -1,7 +1,7 @@
From 3e466a13cbd0fbc4db71d9ad9b60e3d6cf6a94c7 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sun, 6 Mar 2016 20:26:53 -0700
Subject: [PATCH] system ffmpeg fixes
Subject: [PATCH 1/2] system ffmpeg fixes
---
media/ffmpeg/ffmpeg_common.h | 5 -----

View file

@ -0,0 +1,44 @@
From 25d42d8e806a4a38fe5e3fec7d52a896f7b7de42 Mon Sep 17 00:00:00 2001
From: "riku.voipio" <riku.voipio@linaro.org>
Date: Tue, 1 Mar 2016 08:02:43 -0800
Subject: [PATCH 2/2] Linux Sandbox: whitelist arm64 syscalls
On debian/arm64, two syscalls needed whitelisting for chromium to work with seccomp:
epoll_pwait, replacing epoll_wait which is a legacy syscall not available on arm64. epoll_wait implmentation in glibc calls epoll_pwait behind scenes, so this needs to be enabled.
getrlimit, missing #ifdef for arm64 in several policy definitions. test for arm64 added for each case.
BUG=581018
R=keescook@chromium.org,jln@chromium.org,rsesek@chromium.org
TEST=Start chrome on arm64 with seccomp enabled kernel
Review URL: https://codereview.chromium.org/1613883002
Cr-Commit-Position: refs/heads/master@{#378440}
---
mojo/shell/runner/host/linux_sandbox.cc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mojo/shell/runner/host/linux_sandbox.cc b/mojo/shell/runner/host/linux_sandbox.cc
index 9e9dbc7..0d9082c 100644
--- a/mojo/shell/runner/host/linux_sandbox.cc
+++ b/mojo/shell/runner/host/linux_sandbox.cc
@@ -39,12 +39,14 @@ intptr_t SandboxSIGSYSHandler(const struct sandbox::arch_seccomp_data& args,
const sandbox::syscall_broker::BrokerProcess* broker_process =
static_cast<const sandbox::syscall_broker::BrokerProcess*>(aux);
switch (args.nr) {
+#if !defined(__aarch64__)
case __NR_access:
return broker_process->Access(reinterpret_cast<const char*>(args.args[0]),
static_cast<int>(args.args[1]));
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(
--
2.7.2

View file

@ -43,13 +43,15 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgn
chromium.desktop
chromium-widevine.patch
PNGImageDecoder.patch
0001-system-ffmpeg-fixes.patch)
0001-system-ffmpeg-fixes.patch
0002-Linux-Sandbox-whitelist-arm64-syscalls.patch)
sha256sums=('b243e46e0ebaf8f60d1c37a0d99f1fdd80e1597667be4776a1862bb004e4eee9'
'8b01fb4efe58146279858a754d90b49e5a38c9a0b36a1f84cbb7d12f92b84c28'
'028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9'
'4660344789c45c9b9e52cb6d86f7cb6edb297b39320d04f6947e5216d6e5f64c'
'd9fd982ba6d50edb7743db6122b975ad1d3da5a9ad907c8ab7cf574395b186cd'
'c26596aee41e49389eca863b6cacd7b5e311b436a17a555ebebebec02ed88991')
'81f9859f29d40ebea54c6031296bc4e809ac6694ddbb81c0313f57c7e913f194'
'f3779695ef808e5f8d122ecda98418cc0f4b5d0a6f064237b856dc1be71428fa')
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
@ -78,6 +80,9 @@ prepare() {
# Fix building with system ffmpeg
patch -Np1 -i ../0001-system-ffmpeg-fixes.patch
# AArch64 fix
patch -Np1 -i ../0002-Linux-Sandbox-whitelist-arm64-syscalls.patch
# Commentception use bundled ICU due to build failures (50.0.2661.75)
# See https://crbug.com/584920 and https://crbug.com/592268
# ---