commit:     2f2ceab0a79e973d3e1e70dc4cf201bd09c5154b
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 14 13:09:14 2020 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Fri Feb 14 13:09:29 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2f2ceab0

www-client/firefox: Fix pgo/lto builds

Closes: https://bugs.gentoo.org/709440
Closes: https://bugs.gentoo.org/706772
Closes: https://bugs.gentoo.org/709594
Package-Manager: Portage-2.3.88, Repoman-2.3.20
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>

 .../firefox/files/firefox-69.0-lto-gcc-fix.patch   | 26 -----------
 .../files/firefox-73.0_fix_lto_pgo_builds.patch    | 51 ++++++++++++++++++++++
 www-client/firefox/firefox-73.0.ebuild             |  2 +
 3 files changed, 53 insertions(+), 26 deletions(-)

diff --git a/www-client/firefox/files/firefox-69.0-lto-gcc-fix.patch 
b/www-client/firefox/files/firefox-69.0-lto-gcc-fix.patch
deleted file mode 100644
index 9fe9673cb08..00000000000
--- a/www-client/firefox/files/firefox-69.0-lto-gcc-fix.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-# HG changeset patch
-# Parent  79ae951dc72ba16a2451c4cde7298aa986376b0c
-Fix lto builds of sandbox on linux
-
-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
-@@ -95,17 +95,17 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc')
-     CXXFLAGS += ['-Wno-shadow']
-     SOURCES['../chromium/sandbox/linux/services/syscall_wrappers.cc'].flags 
+= [
-         '-Wno-empty-body',
-     ]
- 
- # 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']:
-+for f in CONFIG['MOZ_LTO_CFLAGS']:
-     if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang':
-         LDFLAGS += ['--param', 'lto-partitions=1']
- 
- DEFINES['NS_NO_XPCOM'] = True
- DisableStlWrapping()
- 
- LOCAL_INCLUDES += ['/security/sandbox/linux']
- LOCAL_INCLUDES += ['/security/sandbox/chromium-shim']

diff --git a/www-client/firefox/files/firefox-73.0_fix_lto_pgo_builds.patch 
b/www-client/firefox/files/firefox-73.0_fix_lto_pgo_builds.patch
new file mode 100644
index 00000000000..5e2420c60c4
--- /dev/null
+++ b/www-client/firefox/files/firefox-73.0_fix_lto_pgo_builds.patch
@@ -0,0 +1,51 @@
+From c193eba68325c07bbf13eb3995842545b7d23695 Mon Sep 17 00:00:00 2001
+From: 
+Date: Thu, 13 Feb 2020 20:29:09 -0600
+Subject: [PATCH] Fix pgo/lto builds
+
+---
+ build/moz.configure/lto-pgo.configure | 4 ++--
+ security/sandbox/linux/moz.build      | 5 ++---
+ 2 files changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/build/moz.configure/lto-pgo.configure 
b/build/moz.configure/lto-pgo.configure
+index 394c1d8911..1f26a6e565 100644
+--- a/build/moz.configure/lto-pgo.configure
++++ b/build/moz.configure/lto-pgo.configure
+@@ -70,7 +70,7 @@ set_config('PGO_PROFILE_PATH', pgo_profile_path)
+ def pgo_flags(compiler, target, profdata):
+     if compiler.type == 'gcc':
+         return namespace(
+-            gen_cflags=['-fprofile-generate'],
++            gen_cflags=['-fprofile-generate', 
'-DMOZ_PROFILE_INSTRUMENTATION'],
+             gen_ldflags=['-fprofile-generate'],
+             use_cflags=['-fprofile-use', '-fprofile-correction',
+                         '-Wcoverage-mismatch'],
+@@ -91,7 +91,7 @@ def pgo_flags(compiler, target, profdata):
+             gen_ldflags = ['-fprofile-generate']
+ 
+         return namespace(
+-            gen_cflags=[prefix + '-fprofile-generate'],
++            gen_cflags=[prefix + '-fprofile-generate', 
'-DMOZ_PROFILE_INSTRUMENTATION'],
+             gen_ldflags=gen_ldflags,
+             use_cflags=[prefix + '-fprofile-use=%s' % profdata,
+                         # Some error messages about mismatched profile data
+diff --git a/security/sandbox/linux/moz.build 
b/security/sandbox/linux/moz.build
+index aae85843e9..e300260fa0 100644
+--- a/security/sandbox/linux/moz.build
++++ b/security/sandbox/linux/moz.build
+@@ -100,9 +100,8 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
+ # 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']
++if CONFIG['CC_TYPE'] != 'clang':
++    LDFLAGS += ['--param', 'lto-partitions=1']
+ 
+ DEFINES['NS_NO_XPCOM'] = True
+ DisableStlWrapping()
+-- 
+2.25.0
+

diff --git a/www-client/firefox/firefox-73.0.ebuild 
b/www-client/firefox/firefox-73.0.ebuild
index a2025c36124..c4fb0b23ad1 100644
--- a/www-client/firefox/firefox-73.0.ebuild
+++ b/www-client/firefox/firefox-73.0.ebuild
@@ -257,6 +257,8 @@ src_prepare() {
        use !wayland && rm -f "${WORKDIR}/firefox/2019_mozilla-bug1539471.patch"
        eapply "${WORKDIR}/firefox"
 
+       eapply "${FILESDIR}/${PN}-73.0_fix_lto_pgo_builds.patch"
+
        # Allow user to apply any additional patches without modifing ebuild
        eapply_user
 

Reply via email to