From 98002fdeba98543ad9aac3394b74969f03da6028 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Sat, 4 Nov 2017 10:10:57 +0000 Subject: [PATCH] gecko: unbreak build with GCC after r453437 MFH: 2017Q4 --- mail/thunderbird/files/patch-bug1414440 | 47 +++++++++---------- www/firefox-esr/files/patch-bug1414440 | 47 +++++++++---------- www/firefox/files/patch-bug1414440 | 60 +++++++++++-------------- www/seamonkey/files/patch-bug1414440 | 47 +++++++++---------- 4 files changed, 90 insertions(+), 111 deletions(-) diff --git a/mail/thunderbird/files/patch-bug1414440 b/mail/thunderbird/files/patch-bug1414440 index c3192c306d40..fcb9e74b2823 100644 --- a/mail/thunderbird/files/patch-bug1414440 +++ b/mail/thunderbird/files/patch-bug1414440 @@ -1,72 +1,67 @@ -Build libyuv with SIMD optimizations on Linux x86. +Always build libyuv x86 optimizations with Clang. diff --git media/libyuv/include/libyuv/compare_row.h media/libyuv/include/libyuv/compare_row.h -index 7abc2d4aef8f..161c12fa1b83 100644 +index 7abc2d4aef8f..fcf942c660a2 100644 --- mozilla/media/libyuv/include/libyuv/compare_row.h +++ mozilla/media/libyuv/include/libyuv/compare_row.h -@@ -18,8 +18,7 @@ namespace libyuv { - extern "C" { +@@ -19,7 +19,7 @@ extern "C" { #endif --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/include/libyuv/planar_functions.h media/libyuv/include/libyuv/planar_functions.h -index 040839c211b1..0d672dec96d6 100644 +index 040839c211b1..e99cb47d472f 100644 --- mozilla/media/libyuv/include/libyuv/planar_functions.h +++ mozilla/media/libyuv/include/libyuv/planar_functions.h -@@ -719,8 +719,7 @@ int I420Interpolate(const uint8* src0_y, - int height, +@@ -720,7 +720,7 @@ int I420Interpolate(const uint8* src0_y, int interpolation); --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/include/libyuv/rotate_row.h media/libyuv/include/libyuv/rotate_row.h -index 2c51584eee8b..73bbe8ef7ad4 100644 +index 2c51584eee8b..762ca4ba3ab9 100644 --- mozilla/media/libyuv/include/libyuv/rotate_row.h +++ mozilla/media/libyuv/include/libyuv/rotate_row.h -@@ -18,8 +18,7 @@ namespace libyuv { - extern "C" { +@@ -19,7 +19,7 @@ extern "C" { #endif --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/include/libyuv/row.h media/libyuv/include/libyuv/row.h -index f74bd9f7d17a..3bdfb75fc160 100644 +index f74bd9f7d17a..b52d6d1fcee0 100644 --- mozilla/media/libyuv/include/libyuv/row.h +++ mozilla/media/libyuv/include/libyuv/row.h -@@ -30,8 +30,7 @@ extern "C" { - free(var##_mem); \ +@@ -31,7 +31,7 @@ extern "C" { var = 0 --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/include/libyuv/scale_row.h media/libyuv/include/libyuv/scale_row.h -index edb46cc8c647..fe78a80f81bd 100644 +index edb46cc8c647..59017260b16d 100644 --- mozilla/media/libyuv/include/libyuv/scale_row.h +++ mozilla/media/libyuv/include/libyuv/scale_row.h -@@ -19,8 +19,7 @@ namespace libyuv { - extern "C" { +@@ -20,7 +20,7 @@ extern "C" { #endif --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git a/www/firefox-esr/files/patch-bug1414440 b/www/firefox-esr/files/patch-bug1414440 index 3a8c7b758ac9..deeab67aa92b 100644 --- a/www/firefox-esr/files/patch-bug1414440 +++ b/www/firefox-esr/files/patch-bug1414440 @@ -1,72 +1,67 @@ -Build libyuv with SIMD optimizations on Linux x86. +Always build libyuv x86 optimizations with Clang. diff --git media/libyuv/include/libyuv/compare_row.h media/libyuv/include/libyuv/compare_row.h -index 7abc2d4aef8f..161c12fa1b83 100644 +index 7abc2d4aef8f..fcf942c660a2 100644 --- media/libyuv/include/libyuv/compare_row.h +++ media/libyuv/include/libyuv/compare_row.h -@@ -18,8 +18,7 @@ namespace libyuv { - extern "C" { +@@ -19,7 +19,7 @@ extern "C" { #endif --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/include/libyuv/planar_functions.h media/libyuv/include/libyuv/planar_functions.h -index 040839c211b1..0d672dec96d6 100644 +index 040839c211b1..e99cb47d472f 100644 --- media/libyuv/include/libyuv/planar_functions.h +++ media/libyuv/include/libyuv/planar_functions.h -@@ -719,8 +719,7 @@ int I420Interpolate(const uint8* src0_y, - int height, +@@ -720,7 +720,7 @@ int I420Interpolate(const uint8* src0_y, int interpolation); --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/include/libyuv/rotate_row.h media/libyuv/include/libyuv/rotate_row.h -index 2c51584eee8b..73bbe8ef7ad4 100644 +index 2c51584eee8b..762ca4ba3ab9 100644 --- media/libyuv/include/libyuv/rotate_row.h +++ media/libyuv/include/libyuv/rotate_row.h -@@ -18,8 +18,7 @@ namespace libyuv { - extern "C" { +@@ -19,7 +19,7 @@ extern "C" { #endif --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/include/libyuv/row.h media/libyuv/include/libyuv/row.h -index f74bd9f7d17a..3bdfb75fc160 100644 +index f74bd9f7d17a..b52d6d1fcee0 100644 --- media/libyuv/include/libyuv/row.h +++ media/libyuv/include/libyuv/row.h -@@ -30,8 +30,7 @@ extern "C" { - free(var##_mem); \ +@@ -31,7 +31,7 @@ extern "C" { var = 0 --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/include/libyuv/scale_row.h media/libyuv/include/libyuv/scale_row.h -index edb46cc8c647..fe78a80f81bd 100644 +index edb46cc8c647..59017260b16d 100644 --- media/libyuv/include/libyuv/scale_row.h +++ media/libyuv/include/libyuv/scale_row.h -@@ -19,8 +19,7 @@ namespace libyuv { - extern "C" { +@@ -20,7 +20,7 @@ extern "C" { #endif --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git a/www/firefox/files/patch-bug1414440 b/www/firefox/files/patch-bug1414440 index 13808477368b..e0548e78f165 100644 --- a/www/firefox/files/patch-bug1414440 +++ b/www/firefox/files/patch-bug1414440 @@ -1,94 +1,88 @@ -Build libyuv with SIMD optimizations on Linux x86. +Always build libyuv x86 optimizations with Clang. diff --git media/libyuv/libyuv/include/libyuv/compare_row.h media/libyuv/libyuv/include/libyuv/compare_row.h -index 7abc2d4aef8f..161c12fa1b83 100644 +index 7abc2d4aef8f..fcf942c660a2 100644 --- media/libyuv/libyuv/include/libyuv/compare_row.h +++ media/libyuv/libyuv/include/libyuv/compare_row.h -@@ -18,8 +18,7 @@ namespace libyuv { - extern "C" { +@@ -19,7 +19,7 @@ extern "C" { #endif --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/libyuv/include/libyuv/planar_functions.h media/libyuv/libyuv/include/libyuv/planar_functions.h -index 040839c211b1..0d672dec96d6 100644 +index 040839c211b1..e99cb47d472f 100644 --- media/libyuv/libyuv/include/libyuv/planar_functions.h +++ media/libyuv/libyuv/include/libyuv/planar_functions.h -@@ -719,8 +719,7 @@ int I420Interpolate(const uint8* src0_y, - int height, +@@ -720,7 +720,7 @@ int I420Interpolate(const uint8* src0_y, int interpolation); --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/libyuv/include/libyuv/rotate_row.h media/libyuv/libyuv/include/libyuv/rotate_row.h -index 2c51584eee8b..73bbe8ef7ad4 100644 +index 2c51584eee8b..762ca4ba3ab9 100644 --- media/libyuv/libyuv/include/libyuv/rotate_row.h +++ media/libyuv/libyuv/include/libyuv/rotate_row.h -@@ -18,8 +18,7 @@ namespace libyuv { - extern "C" { +@@ -19,7 +19,7 @@ extern "C" { #endif --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/libyuv/include/libyuv/row.h media/libyuv/libyuv/include/libyuv/row.h -index f74bd9f7d17a..3bdfb75fc160 100644 +index f74bd9f7d17a..b52d6d1fcee0 100644 --- media/libyuv/libyuv/include/libyuv/row.h +++ media/libyuv/libyuv/include/libyuv/row.h -@@ -30,8 +30,7 @@ extern "C" { - free(var##_mem); \ +@@ -31,7 +31,7 @@ extern "C" { var = 0 --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 -@@ -103,7 +102,10 @@ extern "C" { +@@ -103,7 +103,9 @@ extern "C" { #define HAS_COPYROW_ERMS #define HAS_COPYROW_SSE2 #define HAS_H422TOARGBROW_SSSE3 -+#ifdef __SSE2__ -+// source/row_gcc.cc:5457:5: error: couldn't allocate input reg for constraint 'x' ++#if defined(_MSC_VER) || defined(__SSE__) #define HAS_HALFFLOATROW_SSE2 +#endif #define HAS_I400TOARGBROW_SSE2 #define HAS_I422TOARGB1555ROW_SSSE3 #define HAS_I422TOARGB4444ROW_SSSE3 -@@ -202,7 +204,10 @@ extern "C" { +@@ -202,8 +204,10 @@ extern "C" { #define HAS_ARGBTOYROW_AVX2 #define HAS_COPYROW_AVX #define HAS_H422TOARGBROW_AVX2 -+#ifdef __SSE2__ -+// source/row_gcc.cc:5492:5: error: couldn't allocate input reg for constraint 'x' ++#if defined(_MSC_VER) || defined(__SSE__) #define HAS_HALFFLOATROW_AVX2 -+#endif // #define HAS_HALFFLOATROW_F16C // Enable to test halffloat cast ++#endif #define HAS_I400TOARGBROW_AVX2 #define HAS_I422TOARGB1555ROW_AVX2 + #define HAS_I422TOARGB4444ROW_AVX2 diff --git media/libyuv/libyuv/include/libyuv/scale_row.h media/libyuv/libyuv/include/libyuv/scale_row.h -index edb46cc8c647..fe78a80f81bd 100644 +index edb46cc8c647..59017260b16d 100644 --- media/libyuv/libyuv/include/libyuv/scale_row.h +++ media/libyuv/libyuv/include/libyuv/scale_row.h -@@ -19,8 +19,7 @@ namespace libyuv { - extern "C" { +@@ -20,7 +20,7 @@ extern "C" { #endif --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git a/www/seamonkey/files/patch-bug1414440 b/www/seamonkey/files/patch-bug1414440 index c3192c306d40..fcb9e74b2823 100644 --- a/www/seamonkey/files/patch-bug1414440 +++ b/www/seamonkey/files/patch-bug1414440 @@ -1,72 +1,67 @@ -Build libyuv with SIMD optimizations on Linux x86. +Always build libyuv x86 optimizations with Clang. diff --git media/libyuv/include/libyuv/compare_row.h media/libyuv/include/libyuv/compare_row.h -index 7abc2d4aef8f..161c12fa1b83 100644 +index 7abc2d4aef8f..fcf942c660a2 100644 --- mozilla/media/libyuv/include/libyuv/compare_row.h +++ mozilla/media/libyuv/include/libyuv/compare_row.h -@@ -18,8 +18,7 @@ namespace libyuv { - extern "C" { +@@ -19,7 +19,7 @@ extern "C" { #endif --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/include/libyuv/planar_functions.h media/libyuv/include/libyuv/planar_functions.h -index 040839c211b1..0d672dec96d6 100644 +index 040839c211b1..e99cb47d472f 100644 --- mozilla/media/libyuv/include/libyuv/planar_functions.h +++ mozilla/media/libyuv/include/libyuv/planar_functions.h -@@ -719,8 +719,7 @@ int I420Interpolate(const uint8* src0_y, - int height, +@@ -720,7 +720,7 @@ int I420Interpolate(const uint8* src0_y, int interpolation); --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/include/libyuv/rotate_row.h media/libyuv/include/libyuv/rotate_row.h -index 2c51584eee8b..73bbe8ef7ad4 100644 +index 2c51584eee8b..762ca4ba3ab9 100644 --- mozilla/media/libyuv/include/libyuv/rotate_row.h +++ mozilla/media/libyuv/include/libyuv/rotate_row.h -@@ -18,8 +18,7 @@ namespace libyuv { - extern "C" { +@@ -19,7 +19,7 @@ extern "C" { #endif --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/include/libyuv/row.h media/libyuv/include/libyuv/row.h -index f74bd9f7d17a..3bdfb75fc160 100644 +index f74bd9f7d17a..b52d6d1fcee0 100644 --- mozilla/media/libyuv/include/libyuv/row.h +++ mozilla/media/libyuv/include/libyuv/row.h -@@ -30,8 +30,7 @@ extern "C" { - free(var##_mem); \ +@@ -31,7 +31,7 @@ extern "C" { var = 0 --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/include/libyuv/scale_row.h media/libyuv/include/libyuv/scale_row.h -index edb46cc8c647..fe78a80f81bd 100644 +index edb46cc8c647..59017260b16d 100644 --- mozilla/media/libyuv/include/libyuv/scale_row.h +++ mozilla/media/libyuv/include/libyuv/scale_row.h -@@ -19,8 +19,7 @@ namespace libyuv { - extern "C" { +@@ -20,7 +20,7 @@ extern "C" { #endif --#if defined(__pnacl__) || defined(__CLR_VER) || \ + #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+#if defined(__pnacl__) || defined(__CLR_VER) ++ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505