67 lines
2.5 KiB
Diff
67 lines
2.5 KiB
Diff
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"]
|
|
|