mozilla-fix-top-level-asm.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Wed, 17 Jun 2020 09:51:57 +0200
changeset 1135 082b9d2dfd7d
parent 1123 7fa561e5d7c7
child 1152 4cfe46c9a944
permissions -rw-r--r--
78.0b8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1111
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
From 91bb79836ee274855393bdf6ab10e24899b1b349 Mon Sep 17 00:00:00 2001
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     2
From: Martin Liska <mliska@suse.cz>
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     3
Date: Fri, 17 May 2019 14:41:35 +0200
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
Subject: [PATCH] Fix top-level asm issue.
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     6
---
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     7
 security/sandbox/linux/moz.build | 5 ++++-
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     8
 1 file changed, 4 insertions(+), 1 deletion(-)
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     9
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    10
diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    11
--- a/security/sandbox/linux/moz.build
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    12
+++ b/security/sandbox/linux/moz.build
1123
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    13
@@ -56,32 +56,32 @@ UNIFIED_SOURCES += [
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    14
     '../chromium/base/time/time_now_posix.cc',
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    15
     '../chromium/sandbox/linux/bpf_dsl/bpf_dsl.cc',
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    16
     '../chromium/sandbox/linux/bpf_dsl/codegen.cc',
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    17
     '../chromium/sandbox/linux/bpf_dsl/dump_bpf.cc',
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    18
     '../chromium/sandbox/linux/bpf_dsl/policy.cc',
1111
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    19
     '../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc',
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
     '../chromium/sandbox/linux/bpf_dsl/syscall_set.cc',
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
     '../chromium/sandbox/linux/seccomp-bpf/die.cc',
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    22
-    '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    23
     'broker/SandboxBrokerCommon.cpp',
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    24
     'Sandbox.cpp',
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    25
     'SandboxBrokerClient.cpp',
1123
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    26
     'SandboxFilter.cpp',
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    27
     'SandboxFilterUtil.cpp',
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    28
     'SandboxHooks.cpp',
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    29
     'SandboxInfo.cpp',
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    30
     'SandboxLogging.cpp',
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    31
     'SandboxOpenedFiles.cpp',
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    32
     'SandboxReporterClient.cpp',
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    33
 ]
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    34
 
1111
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    35
 SOURCES += [
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    36
     '../chromium/base/strings/safe_sprintf.cc',
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    37
     '../chromium/base/third_party/icu/icu_utf.cc',
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    38
+    '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    39
     '../chromium/sandbox/linux/seccomp-bpf/trap.cc',
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    40
     '../chromium/sandbox/linux/services/syscall_wrappers.cc',
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    41
 ]
1123
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    42
 
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    43
 # This copy of SafeSPrintf doesn't need to avoid the Chromium logging
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    44
 # dependency like the one in libxul does, but this way the behavior is
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    45
 # consistent.  See also the comment in SandboxLogging.h.
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    46
 SOURCES['../chromium/base/strings/safe_sprintf.cc'].flags += ['-DNDEBUG']
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    47
@@ -91,16 +91,19 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc')
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    48
     SOURCES['../chromium/base/third_party/icu/icu_utf.cc'].flags += ['-Wno-implicit-fallthrough']
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    49
     SOURCES['../chromium/sandbox/linux/seccomp-bpf/trap.cc'].flags += ['-Wno-unreachable-code-return']
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    50
 
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    51
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    52
     CXXFLAGS += ['-Wno-shadow']
1111
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    53
     SOURCES['../chromium/sandbox/linux/services/syscall_wrappers.cc'].flags += [
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    54
         '-Wno-empty-body',
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    55
     ]
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    56
+    SOURCES['../chromium/sandbox/linux/seccomp-bpf/syscall.cc'].flags += [
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    57
+        '-fno-lto'
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    58
+    ]
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    59
 
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    60
 # gcc lto likes to put the top level asm in syscall.cc in a different partition
97a6da6d7e29 Firefox 69.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    61
 # from the function using it which breaks the build.  Work around that by
1123
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    62
 # forcing there to be only one partition.
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    63
 for f in CONFIG['OS_CXXFLAGS']:
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    64
     if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang':
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    65
         LDFLAGS += ['--param lto-partitions=1']
7fa561e5d7c7 Firefox 74.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1111
diff changeset
    66