From 91bb79836ee274855393bdf6ab10e24899b1b349 Mon Sep 17 00:00:00 2001 From: Martin Liska 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"]