summaryrefslogtreecommitdiff
path: root/experimental/firefox-esr/fix-sandbox-membarrier.patch
diff options
context:
space:
mode:
authorA. Wilcox <awilcox@wilcox-tech.com>2019-06-13 19:11:47 +0000
committerA. Wilcox <awilcox@wilcox-tech.com>2019-06-13 19:11:47 +0000
commitdefca1226f4258b7d4793568ab817e62c558b235 (patch)
tree8f6dac97c81343accfc854890dbd15f1dcf3ad6e /experimental/firefox-esr/fix-sandbox-membarrier.patch
parent7cbc839eac40d61bf115994f2448af7fb48d0316 (diff)
parent37cd8e9274bb1112ff85d170bc7c87e582d7baaa (diff)
downloadpackages-defca1226f4258b7d4793568ab817e62c558b235.tar.gz
packages-defca1226f4258b7d4793568ab817e62c558b235.tar.bz2
packages-defca1226f4258b7d4793568ab817e62c558b235.tar.xz
packages-defca1226f4258b7d4793568ab817e62c558b235.zip
Merge branch 'firefox-esr-60' into 'master'
Bump and fix experimental/firefox-esr This MR bumps experimental/firefox-esr to 60.6.1 ESR (the latest release at this time), and updates the LLVM dependency to LLVM 7. Two new patches are required: the first fixes for building with Rust 1.33.0, as the build will fail due to undocumented macros, which I believe is a change in the behaviour of the `deny_docs` compiler pragma from 1.31.x; the second (courtesy of @aranea) fixes mozbuild to actually disable the profiling code when the `--disable-profiling` flag is passed in `mozconfig`, which otherwise fails to compile due to musl incompatibility. Build succeeds on `x86_64` with beta3 Rust and on `aarch64` with beta2 Rust. Resulting package appears to work on both platforms, as my test boxen could both load https://adelielinux.org and play youtube videos. See merge request !221
Diffstat (limited to 'experimental/firefox-esr/fix-sandbox-membarrier.patch')
-rw-r--r--experimental/firefox-esr/fix-sandbox-membarrier.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/experimental/firefox-esr/fix-sandbox-membarrier.patch b/experimental/firefox-esr/fix-sandbox-membarrier.patch
new file mode 100644
index 000000000..841b17a91
--- /dev/null
+++ b/experimental/firefox-esr/fix-sandbox-membarrier.patch
@@ -0,0 +1,52 @@
+allow usage of SYS_membarrier, needed since musl-1.1.22
+
+--- a/security/sandbox/linux/SandboxFilter.cpp
++++ b/security/sandbox/linux/SandboxFilter.cpp
+@@ -283,6 +283,8 @@
+ case __NR_set_tid_address:
+ return Allow();
+ #endif
++ case __NR_membarrier:
++ return Allow();
+
+ // prctl
+ case __NR_prctl: {
+
+--- a/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
++++ b/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
+@@ -1385,6 +1385,10 @@
+ #define __NR_memfd_create (__NR_SYSCALL_BASE+385)
+ #endif
+
++#if !defined(__NR_membarrier)
++#define __NR_membarrier (__NR_SYSCALL_BASE+389)
++#endif
++
+ // ARM private syscalls.
+ #if !defined(__ARM_NR_BASE)
+ #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
+
+--- a/security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
++++ b/security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
+@@ -1290,5 +1290,9 @@
+ #define __NR_memfd_create 319
+ #endif
+
++#if !defined(__NR_membarrier)
++#define __NR_membarrier 324
++#endif
++
+ #endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
+
+--- a/security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
++++ b/security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
+@@ -1490,5 +1490,9 @@
+ #define __NR_shutdown 373
+ #endif
+
++#if !defined(__NR_membarrier)
++#define __NR_membarrier 375
++#endif
++
+ #endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
+