mozilla-fix-top-level-asm.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Sun, 01 May 2022 18:18:56 +0200
branchfirefox99
changeset 1173 56ecd2ae6e61
parent 1170 f9b2d408b7ef
child 1191 37e065158be7
permissions -rw-r--r--
Firefox 99(.0.1)

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
@@ -66,32 +66,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"]
@@ -105,16 +105,19 @@ if CONFIG["CC_TYPE"] in ("clang", "gcc")
         "-Wno-unreachable-code-return"
     ]
 
 if CONFIG["CC_TYPE"] in ("clang", "gcc"):
     CXXFLAGS += ["-Wno-error=stack-protector"]
     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"]