[oe] [PATCH][meta-browser 1/2] cef3, chromium: fix build with gcc-5.3

Martin Jansa martin.jansa at gmail.com
Wed Mar 16 15:47:41 UTC 2016


Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
---
 ...0001-bignum.cc-disable-warning-from-gcc-5.patch | 39 +++++++++++++++++-----
 ...-image_util.cc-disable-warning-from-gcc-5.patch | 17 +++++-----
 .../cef3/0003-disable-uninitialized-warning.patch  | 24 +++++++++++++
 recipes-browser/chromium/cef3_280796.bb            |  1 +
 .../0003-disable-uninitialized-warning.patch       | 19 +++++++++++
 recipes-browser/chromium/chromium_40.0.2214.91.bb  |  1 +
 6 files changed, 83 insertions(+), 18 deletions(-)
 create mode 100644 recipes-browser/chromium/cef3/0003-disable-uninitialized-warning.patch
 create mode 100644 recipes-browser/chromium/chromium/chromium-40/0003-disable-uninitialized-warning.patch

diff --git a/recipes-browser/chromium/cef3/0001-bignum.cc-disable-warning-from-gcc-5.patch b/recipes-browser/chromium/cef3/0001-bignum.cc-disable-warning-from-gcc-5.patch
index 4a28bda..86691a5 100644
--- a/recipes-browser/chromium/cef3/0001-bignum.cc-disable-warning-from-gcc-5.patch
+++ b/recipes-browser/chromium/cef3/0001-bignum.cc-disable-warning-from-gcc-5.patch
@@ -23,17 +23,38 @@ diff --git a/third_party/WebKit/Source/wtf/dtoa/bignum.cc b/third_party/WebKit/S
 index a000b46..6c6d336 100644
 --- a/third_party/WebKit/Source/wtf/dtoa/bignum.cc
 +++ b/third_party/WebKit/Source/wtf/dtoa/bignum.cc
-@@ -109,7 +109,10 @@ namespace double_conversion {
-         int length = value.length();
-         int pos = 0;
-         // Let's just say that each digit needs 4 bits.
+@@ -102,7 +102,10 @@
+     }
+ 
+ 
 +#pragma GCC diagnostic push
 +#pragma GCC diagnostic warning "-Wstrict-overflow"
-         while (length >= kMaxUint64DecimalDigits) {
+     void Bignum::AssignDecimalString(Vector<const char> value) {
 +#pragma GCC diagnostic pop
-             uint64_t digits = ReadUInt64(value, pos, kMaxUint64DecimalDigits);
-             pos += kMaxUint64DecimalDigits;
-             length -= kMaxUint64DecimalDigits;
+         // 2^64 = 18446744073709551616 > 10^19
+         const int kMaxUint64DecimalDigits = 19;
+         Zero();
+@@ -699,7 +699,10 @@
+     }
+
+
++#pragma GCC diagnostic push
++#pragma GCC diagnostic warning "-Wstrict-overflow"
+     void Bignum::Align(const Bignum& other) {
++#pragma GCC diagnostic pop
+         if (exponent_ > other.exponent_) {
+             // If "X" represents a "hidden" digit (by the exponent) then we are in the
+             // following case (a == this, b == other):
+@@ -715,7 +715,10 @@
+             for (int i = used_digits_ - 1; i >= 0; --i) {
+                 bigits_[i + zero_digits] = bigits_[i];
+             }
++#pragma GCC diagnostic push
++#pragma GCC diagnostic warning "-Wstrict-overflow"
+             for (int i = 0; i < zero_digits; ++i) {
++#pragma GCC diagnostic pop
+                 bigits_[i] = 0;
+             }
+             used_digits_ += zero_digits;
 -- 
 1.8.4.5
-
diff --git a/recipes-browser/chromium/cef3/0002-image_util.cc-disable-warning-from-gcc-5.patch b/recipes-browser/chromium/cef3/0002-image_util.cc-disable-warning-from-gcc-5.patch
index 7023233..1825a85 100644
--- a/recipes-browser/chromium/cef3/0002-image_util.cc-disable-warning-from-gcc-5.patch
+++ b/recipes-browser/chromium/cef3/0002-image_util.cc-disable-warning-from-gcc-5.patch
@@ -24,17 +24,16 @@ diff --git a/ui/gfx/image/image_util.cc b/ui/gfx/image/image_util.cc
 index 89a3f8c..d595da3 100644
 --- a/ui/gfx/image/image_util.cc
 +++ b/ui/gfx/image/image_util.cc
-@@ -68,7 +68,10 @@ bool VisibleMargins(const ImageSkia& image, int* leading, int* trailing) {
-   int inner_min = bitmap.width();
-   for (int x = 0; x < bitmap.width(); ++x) {
-     for (int y = 0; y < bitmap.height(); ++y) {
+@@ -47,7 +47,10 @@
+ }
+ #endif  // !defined(OS_IOS)
+ 
 +#pragma GCC diagnostic push
 +#pragma GCC diagnostic warning "-Wstrict-overflow"
-       if (SkColorGetA(bitmap.getColor(x, y)) > kMinimumVisibleOpacity) {
+ bool VisibleMargins(const ImageSkia& image, int* leading, int* trailing) {
 +#pragma GCC diagnostic pop
-         inner_min = x;
-         break;
-       }
+   *leading = 0;
+   *trailing = std::max(1, image.width()) - 1;
+   if (!image.HasRepresentation(1.0))
 -- 
 1.8.4.5
-
diff --git a/recipes-browser/chromium/cef3/0003-disable-uninitialized-warning.patch b/recipes-browser/chromium/cef3/0003-disable-uninitialized-warning.patch
new file mode 100644
index 0000000..bf3eb43
--- /dev/null
+++ b/recipes-browser/chromium/cef3/0003-disable-uninitialized-warning.patch
@@ -0,0 +1,24 @@
+../../third_party/WebKit/Source/core/inspector/InspectorTimelineAgent.cpp: In static member function 'static void WTF::HashTableBucketInitializer<false>::initialize(Value&) [with Traits = WTF::HashMapValueTraits<WTF::HashTraits<int>, WTF::HashTraits<blink::TimelineThreadState> >; Value = WTF::KeyValuePair<int, blink::TimelineThreadState>]':
+../../third_party/WebKit/Source/core/inspector/InspectorTimelineAgent.cpp:234:8: error: '<anonymous>.blink::TimelineThreadState::inKnownLayerTask' is used uninitialized in this function [-Werror=uninitialized]
+ struct TimelineThreadState {
+        ^
+
+--- a/third_party/WebKit/Source/core/inspector/InspectorTimelineAgent.cpp	2016-03-10 09:53:53.595413000 -1000
++++ b/third_party/WebKit/Source/core/inspector/InspectorTimelineAgent.cpp	2016-03-10 09:55:40.131413000 -1000
+@@ -195,6 +195,8 @@
+     Vector<Entry> m_stack;
+ };
+ 
++#pragma GCC diagnostic push
++#pragma GCC diagnostic warning "-Wuninitialized"
+ struct TimelineThreadState {
+     TimelineThreadState() { }
+ 
+@@ -209,6 +211,7 @@
+     bool inKnownLayerTask;
+     unsigned long long decodedPixelRefId;
+ };
++#pragma GCC diagnostic push
+ 
+ struct TimelineImageInfo {
+     int backendNodeId;
diff --git a/recipes-browser/chromium/cef3_280796.bb b/recipes-browser/chromium/cef3_280796.bb
index 6872e5b..dab721e 100644
--- a/recipes-browser/chromium/cef3_280796.bb
+++ b/recipes-browser/chromium/cef3_280796.bb
@@ -17,6 +17,7 @@ SRC_URI = "http://people.linaro.org/~zoltan.kuscsik/chromium-browser/chromium_re
 	   file://cef-simple \
 	   file://0001-bignum.cc-disable-warning-from-gcc-5.patch \
 	   file://0002-image_util.cc-disable-warning-from-gcc-5.patch \
+           file://0003-disable-uninitialized-warning.patch \
 	   file://0003-gtest-typed-test.h-disable-warning-unused-definition.patch \
 	   file://0004-SaturatedArithmetic.h-put-parentheses-to-silence-war.patch \
 	  "
diff --git a/recipes-browser/chromium/chromium/chromium-40/0003-disable-uninitialized-warning.patch b/recipes-browser/chromium/chromium/chromium-40/0003-disable-uninitialized-warning.patch
new file mode 100644
index 0000000..232dbf4
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-40/0003-disable-uninitialized-warning.patch
@@ -0,0 +1,19 @@
+../../third_party/WebKit/Source/core/inspector/InspectorTimelineAgent.cpp: In static member function 'static void WTF::HashTableBucketInitializer<false>::initialize(Value&) [with Traits = WTF::HashMapValueTraits<WTF::HashTraits<int>, WTF::HashTraits<blink::TimelineThreadState> >; Value = WTF::KeyValuePair<int, blink::TimelineThreadState>]':
+../../third_party/WebKit/Source/core/inspector/InspectorTimelineAgent.cpp:234:8: error: '<anonymous>.blink::TimelineThreadState::inKnownLayerTask' is used uninitialized in this function [-Werror=uninitialized]
+ struct TimelineThreadState {
+        ^
+
+--- a/third_party/WebKit/Source/core/inspector/InspectorTimelineAgent.cpp	2016-03-10 08:14:18.771413000 -1000
++++ b/third_party/WebKit/Source/core/inspector/InspectorTimelineAgent.cpp	2016-03-10 08:15:58.179413000 -1000
+@@ -231,7 +231,11 @@
+     Vector<Entry> m_stack;
+ };
+ 
++#pragma GCC diagnostic push
++#pragma GCC diagnostic warning "-Wuninitialized"
+ struct TimelineThreadState {
++#pragma GCC diagnostic pop
++
+     ALLOW_ONLY_INLINE_ALLOCATION();
+ public:
+     TimelineThreadState() { }
diff --git a/recipes-browser/chromium/chromium_40.0.2214.91.bb b/recipes-browser/chromium/chromium_40.0.2214.91.bb
index 0942d7d..25489c1 100644
--- a/recipes-browser/chromium/chromium_40.0.2214.91.bb
+++ b/recipes-browser/chromium/chromium_40.0.2214.91.bb
@@ -31,6 +31,7 @@ SRC_URI = "\
         file://chromium-40/add_missing_stat_h_include.patch \
         file://chromium-40/0001-bignum.cc-disable-warning-from-gcc-5.patch \
         file://chromium-40/0002-image_util.cc-disable-warning-from-gcc-5.patch \
+        file://chromium-40/0003-disable-uninitialized-warning.patch \
         file://chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch \
 "
 
-- 
2.7.3




More information about the Openembedded-devel mailing list