mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
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@gentoo.org>
This commit is contained in:
@@ -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']
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user