summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2018-07-22 00:44:12 -0400
committerMike Gilbert <floppym@gentoo.org>2018-07-22 00:44:54 -0400
commit4df468253f85ead4ce444e2d4945d2457181606b (patch)
treeecf5b043b4a87c346e7906fe2966e7a112c6c8c1 /www-client/chromium
parentmedia-libs/soxr: arm stable wrt bug #657768 (diff)
downloadgentoo-4df468253f85ead4ce444e2d4945d2457181606b.tar.gz
gentoo-4df468253f85ead4ce444e2d4945d2457181606b.tar.bz2
gentoo-4df468253f85ead4ce444e2d4945d2457181606b.zip
www-client/chromium: disable EBP usage in ffmpeg on x86
Closes: https://bugs.gentoo.org/656902 Package-Manager: Portage-2.3.40_p15, Repoman-2.3.9_p247
Diffstat (limited to 'www-client/chromium')
-rw-r--r--www-client/chromium/chromium-67.0.3396.99.ebuild1
-rw-r--r--www-client/chromium/chromium-68.0.3440.68.ebuild1
-rw-r--r--www-client/chromium/chromium-69.0.3493.3.ebuild1
-rw-r--r--www-client/chromium/files/chromium-ffmpeg-ebp-r0.patch18
-rw-r--r--www-client/chromium/files/chromium-ffmpeg-ebp-r1.patch18
5 files changed, 39 insertions, 0 deletions
diff --git a/www-client/chromium/chromium-67.0.3396.99.ebuild b/www-client/chromium/chromium-67.0.3396.99.ebuild
index 48fa2fe9d54d..15b156c80587 100644
--- a/www-client/chromium/chromium-67.0.3396.99.ebuild
+++ b/www-client/chromium/chromium-67.0.3396.99.ebuild
@@ -138,6 +138,7 @@ PATCHES=(
"${FILESDIR}/chromium-stdint.patch"
"${FILESDIR}/chromium-ffmpeg-r1.patch"
"${FILESDIR}/chromium-ffmpeg-clang.patch"
+ "${FILESDIR}/chromium-ffmpeg-ebp-r0.patch"
)
pre_build_checks() {
diff --git a/www-client/chromium/chromium-68.0.3440.68.ebuild b/www-client/chromium/chromium-68.0.3440.68.ebuild
index 13d9aa7c022f..09d01b49d5ab 100644
--- a/www-client/chromium/chromium-68.0.3440.68.ebuild
+++ b/www-client/chromium/chromium-68.0.3440.68.ebuild
@@ -140,6 +140,7 @@ PATCHES=(
"${FILESDIR}/chromium-libjpeg-r0.patch"
"${FILESDIR}/chromium-cors-string-r0.patch"
"${FILESDIR}/chromium-libwebp-shim-r0.patch"
+ "${FILESDIR}/chromium-ffmpeg-ebp-r1.patch"
)
pre_build_checks() {
diff --git a/www-client/chromium/chromium-69.0.3493.3.ebuild b/www-client/chromium/chromium-69.0.3493.3.ebuild
index 42156a1df106..8846a001bb72 100644
--- a/www-client/chromium/chromium-69.0.3493.3.ebuild
+++ b/www-client/chromium/chromium-69.0.3493.3.ebuild
@@ -137,6 +137,7 @@ PATCHES=(
"${FILESDIR}/chromium-memcpy-r0.patch"
"${FILESDIR}/chromium-math.h-r0.patch"
"${FILESDIR}/chromium-stdint.patch"
+ "${FILESDIR}/chromium-ffmpeg-ebp-r0.patch"
)
pre_build_checks() {
diff --git a/www-client/chromium/files/chromium-ffmpeg-ebp-r0.patch b/www-client/chromium/files/chromium-ffmpeg-ebp-r0.patch
new file mode 100644
index 000000000000..e7161c6d1102
--- /dev/null
+++ b/www-client/chromium/files/chromium-ffmpeg-ebp-r0.patch
@@ -0,0 +1,18 @@
+https://bugs.chromium.org/p/chromium/issues/detail?id=796379
+https://bugs.gentoo.org/656902
+
+--- a/third_party/ffmpeg/BUILD.gn
+--- b/third_party/ffmpeg/BUILD.gn
+@@ -247,11 +247,7 @@
+ # On POSIX x86, sanitizers will fail to compiler the H264 CABAC code due to
+ # insufficient registers unless we disable EBP usage. crbug.com/786760
+ if (target_cpu == "x86") {
+- if (using_sanitizer) {
+- defines += [ "HAVE_EBP_AVAILABLE=0" ]
+- } else {
+- defines += [ "HAVE_EBP_AVAILABLE=1" ]
+- }
++ defines += [ "HAVE_EBP_AVAILABLE=0" ]
+ }
+
+ if (!is_clang) {
diff --git a/www-client/chromium/files/chromium-ffmpeg-ebp-r1.patch b/www-client/chromium/files/chromium-ffmpeg-ebp-r1.patch
new file mode 100644
index 000000000000..5e0f151514f7
--- /dev/null
+++ b/www-client/chromium/files/chromium-ffmpeg-ebp-r1.patch
@@ -0,0 +1,18 @@
+https://bugs.chromium.org/p/chromium/issues/detail?id=796379
+https://bugs.gentoo.org/656902
+
+--- a/third_party/ffmpeg/BUILD.gn
+--- b/third_party/ffmpeg/BUILD.gn
+@@ -239,11 +239,7 @@
+ # Windows builds can't compile without EBP because we can't omit frame
+ # pointers like we do on posix.
+ if (target_cpu == "x86") {
+- if (using_sanitizer || is_win) {
+- defines += [ "HAVE_EBP_AVAILABLE=0" ]
+- } else {
+- defines += [ "HAVE_EBP_AVAILABLE=1" ]
+- }
++ defines += [ "HAVE_EBP_AVAILABLE=0" ]
+ }
+
+ if (is_posix || is_fuchsia) {