From 8de22952803b2cdc37590c080854709834ff4a678363503bfa9bbe4b68aa24d2 Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Wed, 25 Sep 2019 12:32:05 +0000 Subject: [PATCH] - add mozilla-fix-top-level-asm.patch to fix LTO build (w/o PGO) OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=775 --- MozillaFirefox.changes | 1 + MozillaFirefox.spec | 5 ++-- mozilla-fix-top-level-asm.patch | 42 +++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 mozilla-fix-top-level-asm.patch diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes index ea80c66..55f708c 100644 --- a/MozillaFirefox.changes +++ b/MozillaFirefox.changes @@ -6,6 +6,7 @@ Wed Sep 25 11:25:17 UTC 2019 - Wolfgang Rosenauer - Make build verbose (contributed by Martin Liška) - remove obsolete kde.js setting (boo#1151186) - update create-tar.sh to latest revision and adjusted tar_stamps +- add mozilla-fix-top-level-asm.patch to fix LTO build (w/o PGO) ------------------------------------------------------------------- Thu Sep 19 13:31:16 UTC 2019 - Wolfgang Rosenauer diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec index 3898860..0d8b9b9 100644 --- a/MozillaFirefox.spec +++ b/MozillaFirefox.spec @@ -186,6 +186,7 @@ Patch20: mozilla-bmo1511604.patch Patch21: mozilla-bmo1554971.patch Patch22: mozilla-nestegg-big-endian.patch Patch23: mozilla-bmo1512162.patch +Patch24; mozilla-fix-top-level-asm.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -321,6 +322,7 @@ cd $RPM_BUILD_DIR/%{source_prefix} %patch21 -p1 %patch22 -p1 %patch23 -p1 +%patch24 -p1 # Firefox %patch101 -p1 %patch102 -p1 @@ -453,9 +455,8 @@ ac_add_options --enable-optimize="-O1" %ifarch x86_64 # LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506) %if 0%{?suse_version} > 1500 -%if 0%{?do_profiling} ac_add_options --enable-lto -# for some reason, building with LTO fails without PGO +%if 0%{?do_profiling} ac_add_options MOZ_PGO=1 %endif %endif diff --git a/mozilla-fix-top-level-asm.patch b/mozilla-fix-top-level-asm.patch new file mode 100644 index 0000000..37aad5f --- /dev/null +++ b/mozilla-fix-top-level-asm.patch @@ -0,0 +1,42 @@ +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 +index aae85843e9f6..208368dfd189 100644 +--- a/security/sandbox/linux/moz.build ++++ b/security/sandbox/linux/moz.build +@@ -61,7 +61,6 @@ UNIFIED_SOURCES += [ + '../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', +@@ -77,6 +76,7 @@ UNIFIED_SOURCES += [ + 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', + ] +@@ -96,6 +96,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'): + 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 +-- +2.23.0 +