mozilla-fix-top-level-asm.patch
branchfirefox84
changeset 1152 4cfe46c9a944
parent 1123 7fa561e5d7c7
child 1154 71a92b4d0527
equal deleted inserted replaced
1151:8df86bf11fc1 1152:4cfe46c9a944
     8  1 file changed, 4 insertions(+), 1 deletion(-)
     8  1 file changed, 4 insertions(+), 1 deletion(-)
     9 
     9 
    10 diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
    10 diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
    11 --- a/security/sandbox/linux/moz.build
    11 --- a/security/sandbox/linux/moz.build
    12 +++ b/security/sandbox/linux/moz.build
    12 +++ b/security/sandbox/linux/moz.build
    13 @@ -56,32 +56,32 @@ UNIFIED_SOURCES += [
    13 @@ -66,32 +66,32 @@ UNIFIED_SOURCES += [
    14      '../chromium/base/time/time_now_posix.cc',
    14      "../chromium/base/time/time_now_posix.cc",
    15      '../chromium/sandbox/linux/bpf_dsl/bpf_dsl.cc',
    15      "../chromium/sandbox/linux/bpf_dsl/bpf_dsl.cc",
    16      '../chromium/sandbox/linux/bpf_dsl/codegen.cc',
    16      "../chromium/sandbox/linux/bpf_dsl/codegen.cc",
    17      '../chromium/sandbox/linux/bpf_dsl/dump_bpf.cc',
    17      "../chromium/sandbox/linux/bpf_dsl/dump_bpf.cc",
    18      '../chromium/sandbox/linux/bpf_dsl/policy.cc',
    18      "../chromium/sandbox/linux/bpf_dsl/policy.cc",
    19      '../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc',
    19      "../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc",
    20      '../chromium/sandbox/linux/bpf_dsl/syscall_set.cc',
    20      "../chromium/sandbox/linux/bpf_dsl/syscall_set.cc",
    21      '../chromium/sandbox/linux/seccomp-bpf/die.cc',
    21      "../chromium/sandbox/linux/seccomp-bpf/die.cc",
    22 -    '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
    22 -    "../chromium/sandbox/linux/seccomp-bpf/syscall.cc",
    23      'broker/SandboxBrokerCommon.cpp',
    23      "broker/SandboxBrokerCommon.cpp",
    24      'Sandbox.cpp',
    24      "Sandbox.cpp",
    25      'SandboxBrokerClient.cpp',
    25      "SandboxBrokerClient.cpp",
    26      'SandboxFilter.cpp',
    26      "SandboxFilter.cpp",
    27      'SandboxFilterUtil.cpp',
    27      "SandboxFilterUtil.cpp",
    28      'SandboxHooks.cpp',
    28      "SandboxHooks.cpp",
    29      'SandboxInfo.cpp',
    29      "SandboxInfo.cpp",
    30      'SandboxLogging.cpp',
    30      "SandboxLogging.cpp",
    31      'SandboxOpenedFiles.cpp',
    31      "SandboxOpenedFiles.cpp",
    32      'SandboxReporterClient.cpp',
    32      "SandboxReporterClient.cpp",
    33  ]
    33  ]
    34  
    34  
    35  SOURCES += [
    35  SOURCES += [
    36      '../chromium/base/strings/safe_sprintf.cc',
    36      "../chromium/base/strings/safe_sprintf.cc",
    37      '../chromium/base/third_party/icu/icu_utf.cc',
    37      "../chromium/base/third_party/icu/icu_utf.cc",
    38 +    '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
    38 +    "../chromium/sandbox/linux/seccomp-bpf/syscall.cc",
    39      '../chromium/sandbox/linux/seccomp-bpf/trap.cc',
    39      "../chromium/sandbox/linux/seccomp-bpf/trap.cc",
    40      '../chromium/sandbox/linux/services/syscall_wrappers.cc',
    40      "../chromium/sandbox/linux/services/syscall_wrappers.cc",
    41  ]
    41  ]
    42  
    42  
    43  # This copy of SafeSPrintf doesn't need to avoid the Chromium logging
    43  # This copy of SafeSPrintf doesn't need to avoid the Chromium logging
    44  # dependency like the one in libxul does, but this way the behavior is
    44  # dependency like the one in libxul does, but this way the behavior is
    45  # consistent.  See also the comment in SandboxLogging.h.
    45  # consistent.  See also the comment in SandboxLogging.h.
    46  SOURCES['../chromium/base/strings/safe_sprintf.cc'].flags += ['-DNDEBUG']
    46  SOURCES["../chromium/base/strings/safe_sprintf.cc"].flags += ["-DNDEBUG"]
    47 @@ -91,16 +91,19 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc')
    47 @@ -105,16 +105,19 @@ if CONFIG["CC_TYPE"] in ("clang", "gcc")
    48      SOURCES['../chromium/base/third_party/icu/icu_utf.cc'].flags += ['-Wno-implicit-fallthrough']
    48          "-Wno-unreachable-code-return"
    49      SOURCES['../chromium/sandbox/linux/seccomp-bpf/trap.cc'].flags += ['-Wno-unreachable-code-return']
    49      ]
    50  
    50  
    51  if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
    51  if CONFIG["CC_TYPE"] in ("clang", "gcc"):
    52      CXXFLAGS += ['-Wno-shadow']
    52      CXXFLAGS += ["-Wno-shadow"]
    53      SOURCES['../chromium/sandbox/linux/services/syscall_wrappers.cc'].flags += [
    53      SOURCES["../chromium/sandbox/linux/services/syscall_wrappers.cc"].flags += [
    54          '-Wno-empty-body',
    54          "-Wno-empty-body",
    55      ]
    55      ]
    56 +    SOURCES['../chromium/sandbox/linux/seccomp-bpf/syscall.cc'].flags += [
    56 +    SOURCES['../chromium/sandbox/linux/seccomp-bpf/syscall.cc'].flags += [
    57 +        '-fno-lto'
    57 +        '-fno-lto'
    58 +    ]
    58 +    ]
    59  
    59  
    60  # gcc lto likes to put the top level asm in syscall.cc in a different partition
    60  # gcc lto likes to put the top level asm in syscall.cc in a different partition
    61  # from the function using it which breaks the build.  Work around that by
    61  # from the function using it which breaks the build.  Work around that by
    62  # forcing there to be only one partition.
    62  # forcing there to be only one partition.
    63  for f in CONFIG['OS_CXXFLAGS']:
    63  for f in CONFIG["OS_CXXFLAGS"]:
    64      if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang':
    64      if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang":
    65          LDFLAGS += ['--param lto-partitions=1']
    65          LDFLAGS += ["--param lto-partitions=1"]
    66  
    66