mozilla-fix-top-level-asm.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Fri, 12 Jun 2020 23:02:01 +0200
changeset 1131 4a5aa8293178
parent 1123 7fa561e5d7c7
child 1152 4cfe46c9a944
permissions -rw-r--r--
78.0b5 building

From 91bb79836ee274855393bdf6ab10e24899b1b349 Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Fri, 17 May 2019 14:41:35 +0200
Subject: [PATCH] Fix top-level asm issue.

---
 security/sandbox/linux/moz.build | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
--- a/security/sandbox/linux/moz.build
+++ b/security/sandbox/linux/moz.build
@@ -56,32 +56,32 @@ UNIFIED_SOURCES += [
     '../chromium/base/time/time_now_posix.cc',
     '../chromium/sandbox/linux/bpf_dsl/bpf_dsl.cc',
     '../chromium/sandbox/linux/bpf_dsl/codegen.cc',
     '../chromium/sandbox/linux/bpf_dsl/dump_bpf.cc',
     '../chromium/sandbox/linux/bpf_dsl/policy.cc',
     '../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc',
     '../chromium/sandbox/linux/bpf_dsl/syscall_set.cc',
     '../chromium/sandbox/linux/seccomp-bpf/die.cc',
-    '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
     'broker/SandboxBrokerCommon.cpp',
     'Sandbox.cpp',
     'SandboxBrokerClient.cpp',
     'SandboxFilter.cpp',
     'SandboxFilterUtil.cpp',
     'SandboxHooks.cpp',
     'SandboxInfo.cpp',
     'SandboxLogging.cpp',
     'SandboxOpenedFiles.cpp',
     'SandboxReporterClient.cpp',
 ]
 
 SOURCES += [
     '../chromium/base/strings/safe_sprintf.cc',
     '../chromium/base/third_party/icu/icu_utf.cc',
+    '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
     '../chromium/sandbox/linux/seccomp-bpf/trap.cc',
     '../chromium/sandbox/linux/services/syscall_wrappers.cc',
 ]
 
 # This copy of SafeSPrintf doesn't need to avoid the Chromium logging
 # dependency like the one in libxul does, but this way the behavior is
 # consistent.  See also the comment in SandboxLogging.h.
 SOURCES['../chromium/base/strings/safe_sprintf.cc'].flags += ['-DNDEBUG']
@@ -91,16 +91,19 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc')
     SOURCES['../chromium/base/third_party/icu/icu_utf.cc'].flags += ['-Wno-implicit-fallthrough']
     SOURCES['../chromium/sandbox/linux/seccomp-bpf/trap.cc'].flags += ['-Wno-unreachable-code-return']
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-shadow']
     SOURCES['../chromium/sandbox/linux/services/syscall_wrappers.cc'].flags += [
         '-Wno-empty-body',
     ]
+    SOURCES['../chromium/sandbox/linux/seccomp-bpf/syscall.cc'].flags += [
+        '-fno-lto'
+    ]
 
 # gcc lto likes to put the top level asm in syscall.cc in a different partition
 # from the function using it which breaks the build.  Work around that by
 # forcing there to be only one partition.
 for f in CONFIG['OS_CXXFLAGS']:
     if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang':
         LDFLAGS += ['--param lto-partitions=1']