summaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtwebengine
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2017-07-11 10:20:35 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2017-07-12 10:25:33 +0200
commitc2768bd4e5dffb22126c0bd1f40638c9a74295fd (patch)
tree923b028b03e66b94079e40a760b8db3e781ad95b /recipes-qt/qt5/qtwebengine
parent00d72cd892b2c7edb3c0c158f0f2f5f5ecd41887 (diff)
downloadmeta-qt5-c2768bd4e5dffb22126c0bd1f40638c9a74295fd.tar.gz
qtwebengine: fix build with gcc7
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes-qt/qt5/qtwebengine')
-rw-r--r--recipes-qt/qt5/qtwebengine/0001-chromium-base.gypi-include-atomicops_internals_x86_g.patch21
-rw-r--r--recipes-qt/qt5/qtwebengine/0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch25
-rw-r--r--recipes-qt/qt5/qtwebengine/0003-chromium-v8-fix-build-with-gcc7.patch134
-rw-r--r--recipes-qt/qt5/qtwebengine/0004-chromium-WebKit-fix-build-with-gcc7.patch44
4 files changed, 204 insertions, 20 deletions
diff --git a/recipes-qt/qt5/qtwebengine/0001-chromium-base.gypi-include-atomicops_internals_x86_g.patch b/recipes-qt/qt5/qtwebengine/0001-chromium-base.gypi-include-atomicops_internals_x86_g.patch
index ccd43e21..44901165 100644
--- a/recipes-qt/qt5/qtwebengine/0001-chromium-base.gypi-include-atomicops_internals_x86_g.patch
+++ b/recipes-qt/qt5/qtwebengine/0001-chromium-base.gypi-include-atomicops_internals_x86_g.patch
@@ -1,19 +1,19 @@
1From db56cd0fd185a9f3858f5aa6e95b24e63dee119f Mon Sep 17 00:00:00 2001 1From 83eee1ff5f9259595b8630e464fa869c6fde8f3c Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Fri, 3 Oct 2014 03:52:11 +0200 3Date: Fri, 3 Oct 2014 03:52:11 +0200
4Subject: [PATCH] <chromium> base.gypi: include atomicops_internals_x86_gcc.cc 4Subject: [PATCH 1/4] <chromium> base.gypi: include
5 when building for x64 arch 5 atomicops_internals_x86_gcc.cc when building for x64 arch
6 6
7Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 7Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
8--- 8---
9 src/3rdparty/chromium/base/base.gypi | 2 +- 9 chromium/base/base.gypi | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-) 10 1 file changed, 1 insertion(+), 1 deletion(-)
11 11
12diff --git a/src/3rdparty/chromium/base/base.gypi b/src/3rdparty/chromium/base/base.gypi 12diff --git a/chromium/base/base.gypi b/chromium/base/base.gypi
13index 63c3f76..331c975 100644 13index a4da596070..13173d621e 100644
14--- a/src/3rdparty/chromium/base/base.gypi 14--- a/chromium/base/base.gypi
15+++ b/src/3rdparty/chromium/base/base.gypi 15+++ b/chromium/base/base.gypi
16@@ -801,7 +801,7 @@ 16@@ -845,7 +845,7 @@
17 ['include', '^nix/'], 17 ['include', '^nix/'],
18 ], 18 ],
19 }], 19 }],
@@ -22,3 +22,6 @@ index 63c3f76..331c975 100644
22 'sources/': [ 22 'sources/': [
23 ['include', 'atomicops_internals_x86_gcc.cc'], 23 ['include', 'atomicops_internals_x86_gcc.cc'],
24 ], 24 ],
25--
262.13.2
27
diff --git a/recipes-qt/qt5/qtwebengine/0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch b/recipes-qt/qt5/qtwebengine/0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch
index 34f58ded..eae27879 100644
--- a/recipes-qt/qt5/qtwebengine/0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch
+++ b/recipes-qt/qt5/qtwebengine/0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch
@@ -1,7 +1,7 @@
1From de6311b4d556abbe131462a3cd962ae87da59522 Mon Sep 17 00:00:00 2001 1From 4aa614106c03793709e5dbd69f45df8a5e5c9fe4 Mon Sep 17 00:00:00 2001
2From: Cleiton Bueno <cleitonrbueno@gmail.com> 2From: Cleiton Bueno <cleitonrbueno@gmail.com>
3Date: Thu, 24 Dec 2015 12:46:58 -0200 3Date: Thu, 24 Dec 2015 12:46:58 -0200
4Subject: [PATCH] chromium: Change false to FALSE and 1 to TRUE, FIX 4Subject: [PATCH 2/4] chromium: Change false to FALSE and 1 to TRUE, FIX
5 qtwebengine compile 5 qtwebengine compile
6 6
7Signed-off-by: Cleiton Bueno <cleitonrbueno@gmail.com> 7Signed-off-by: Cleiton Bueno <cleitonrbueno@gmail.com>
@@ -10,11 +10,11 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
10 chromium/ui/gfx/codec/jpeg_codec.cc | 12 ++++++------ 10 chromium/ui/gfx/codec/jpeg_codec.cc | 12 ++++++------
11 1 file changed, 6 insertions(+), 6 deletions(-) 11 1 file changed, 6 insertions(+), 6 deletions(-)
12 12
13diff --git a/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc b/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc 13diff --git a/chromium/ui/gfx/codec/jpeg_codec.cc b/chromium/ui/gfx/codec/jpeg_codec.cc
14index 8a08fe0..32b2a05 100644 14index 6d926378be..738d3fdedf 100644
15--- a/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc 15--- a/chromium/ui/gfx/codec/jpeg_codec.cc
16+++ b/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc 16+++ b/chromium/ui/gfx/codec/jpeg_codec.cc
17@@ -120,7 +120,7 @@ boolean EmptyOutputBuffer(jpeg_compress_struct* cinfo) { 17@@ -121,7 +121,7 @@ boolean EmptyOutputBuffer(jpeg_compress_struct* cinfo) {
18 // tell libjpeg where to write the next data 18 // tell libjpeg where to write the next data
19 cinfo->dest->next_output_byte = &(*state->out)[state->image_buffer_used]; 19 cinfo->dest->next_output_byte = &(*state->out)[state->image_buffer_used];
20 cinfo->dest->free_in_buffer = state->out->size() - state->image_buffer_used; 20 cinfo->dest->free_in_buffer = state->out->size() - state->image_buffer_used;
@@ -23,7 +23,7 @@ index 8a08fe0..32b2a05 100644
23 } 23 }
24 24
25 // Cleans up the JpegEncoderState to prepare for returning in the final form. 25 // Cleans up the JpegEncoderState to prepare for returning in the final form.
26@@ -261,7 +261,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format, 26@@ -262,7 +262,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format,
27 cinfo.data_precision = 8; 27 cinfo.data_precision = 8;
28 28
29 jpeg_set_defaults(&cinfo); 29 jpeg_set_defaults(&cinfo);
@@ -32,7 +32,7 @@ index 8a08fe0..32b2a05 100644
32 32
33 // set up the destination manager 33 // set up the destination manager
34 jpeg_destination_mgr destmgr; 34 jpeg_destination_mgr destmgr;
35@@ -273,7 +273,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format, 35@@ -274,7 +274,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format,
36 JpegEncoderState state(output); 36 JpegEncoderState state(output);
37 cinfo.client_data = &state; 37 cinfo.client_data = &state;
38 38
@@ -41,7 +41,7 @@ index 8a08fe0..32b2a05 100644
41 41
42 // feed it the rows, doing necessary conversions for the color format 42 // feed it the rows, doing necessary conversions for the color format
43 #ifdef JCS_EXTENSIONS 43 #ifdef JCS_EXTENSIONS
44@@ -359,7 +359,7 @@ void InitSource(j_decompress_ptr cinfo) { 44@@ -360,7 +360,7 @@ void InitSource(j_decompress_ptr cinfo) {
45 // set to a positive value if TRUE is returned. A FALSE return should only 45 // set to a positive value if TRUE is returned. A FALSE return should only
46 // be used when I/O suspension is desired." 46 // be used when I/O suspension is desired."
47 boolean FillInputBuffer(j_decompress_ptr cinfo) { 47 boolean FillInputBuffer(j_decompress_ptr cinfo) {
@@ -50,7 +50,7 @@ index 8a08fe0..32b2a05 100644
50 } 50 }
51 51
52 // Skip data in the buffer. Since we have all the data at once, this operation 52 // Skip data in the buffer. Since we have all the data at once, this operation
53@@ -487,8 +487,8 @@ bool JPEGCodec::Decode(const unsigned char* input, size_t input_size, 53@@ -488,8 +488,8 @@ bool JPEGCodec::Decode(const unsigned char* input, size_t input_size,
54 cinfo.client_data = &state; 54 cinfo.client_data = &state;
55 55
56 // fill the file metadata into our buffer 56 // fill the file metadata into our buffer
@@ -61,3 +61,6 @@ index 8a08fe0..32b2a05 100644
61 61
62 // we want to always get RGB data out 62 // we want to always get RGB data out
63 switch (cinfo.jpeg_color_space) { 63 switch (cinfo.jpeg_color_space) {
64--
652.13.2
66
diff --git a/recipes-qt/qt5/qtwebengine/0003-chromium-v8-fix-build-with-gcc7.patch b/recipes-qt/qt5/qtwebengine/0003-chromium-v8-fix-build-with-gcc7.patch
new file mode 100644
index 00000000..2acce2c5
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0003-chromium-v8-fix-build-with-gcc7.patch
@@ -0,0 +1,134 @@
1From 1a163c0cab05761f269fcb5adad5d40d71200d52 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Tue, 11 Jul 2017 10:15:41 +0200
4Subject: [PATCH 3/4] chromium: v8 fix build with gcc7
5
6Use the fix from nodejs:
7https://github.com/nodejs/node/commit/2a2a5565c298639b823250b571101f51210c50e8
8
9* fixes:
10| ../../git/src/v8/src/objects-body-descriptors.h: In static member function 'static void v8::internal::FixedBodyDescriptor<start_offset, end_offset, size>::IterateBody(v8::internal::HeapObject*, int)':
11| ../../git/src/v8/src/objects-body-descriptors.h:102:20: error: no matching function for call to 'v8::internal::FixedBodyDescriptor<start_offset, end_offset, size>::IterateBody(v8::internal::HeapObject*&)'
12| IterateBody(obj);
13| ^
14
15and
16
17| ../../v8/src/objects.h: In member function 'uint32_t v8::internal::HashTable<Derived, Shape, Key>::Hash(Key)':
18| ../../v8/src/objects.h:3205:46: error: invalid use of incomplete type 'class v8::internal::Heap' [-Werror]
19| return Shape::SeededHash(key, GetHeap()->HashSeed());
20| ^~
21
22and
23
24../../v8/src/heap/mark-compact.cc:3660:43: error: 'v8::internal::PointerUpdateJobTraits<direction>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::PointerDirection direction = (v8::internal::PointerDirection)1; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>' declared with greater visibility than the type of its field 'v8::internal::PointerUpdateJobTraits<direction>::UpdateTypedPointers(v8::internal::Heap*, v8::internal::MemoryChunk*)::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with v8::internal::PointerDirection direction = (v8::internal::PointerDirection)1; v8::internal::Address = unsigned char*; v8::internal::byte = unsigned char]::<lambda(v8::internal::Object**)>::<heap capture>' [-Werror=attributes]
25
26Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
27---
28 chromium/v8/src/heap/mark-compact.cc | 5 +++++
29 chromium/v8/src/objects-body-descriptors.h | 2 +-
30 chromium/v8/src/objects-inl.h | 20 ++++++++++++++++++++
31 chromium/v8/src/objects.h | 20 ++++----------------
32 4 files changed, 30 insertions(+), 17 deletions(-)
33
34diff --git a/chromium/v8/src/heap/mark-compact.cc b/chromium/v8/src/heap/mark-compact.cc
35index f9a55dfc61..da46270aec 100644
36--- a/chromium/v8/src/heap/mark-compact.cc
37+++ b/chromium/v8/src/heap/mark-compact.cc
38@@ -3614,6 +3614,9 @@ void MarkCompactCollector::EvacuateNewSpaceAndCandidates() {
39 #endif
40 }
41
42+#pragma GCC diagnostic push
43+#pragma GCC diagnostic warning "-Wattributes"
44+
45 template <PointerDirection direction>
46 class PointerUpdateJobTraits {
47 public:
48@@ -3701,6 +3704,8 @@ class PointerUpdateJobTraits {
49 }
50 };
51
52+#pragma GCC diagnostic pop
53+
54 int NumberOfPointerUpdateTasks(int pages) {
55 if (!FLAG_parallel_pointer_update) return 1;
56 const int kMaxTasks = 4;
57diff --git a/chromium/v8/src/objects-body-descriptors.h b/chromium/v8/src/objects-body-descriptors.h
58index 91cb8883be..a1c3634bd7 100644
59--- a/chromium/v8/src/objects-body-descriptors.h
60+++ b/chromium/v8/src/objects-body-descriptors.h
61@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public BodyDescriptorBase {
62
63 template <typename StaticVisitor>
64 static inline void IterateBody(HeapObject* obj, int object_size) {
65- IterateBody(obj);
66+ IterateBody<StaticVisitor>(obj);
67 }
68 };
69
70diff --git a/chromium/v8/src/objects-inl.h b/chromium/v8/src/objects-inl.h
71index 58441d3853..e850fd787f 100644
72--- a/chromium/v8/src/objects-inl.h
73+++ b/chromium/v8/src/objects-inl.h
74@@ -38,6 +38,26 @@
75 namespace v8 {
76 namespace internal {
77
78+template <typename Derived, typename Shape, typename Key>
79+uint32_t HashTable<Derived, Shape, Key>::Hash(Key key) {
80+ if (Shape::UsesSeed) {
81+ return Shape::SeededHash(key, GetHeap()->HashSeed());
82+ } else {
83+ return Shape::Hash(key);
84+ }
85+}
86+
87+
88+template <typename Derived, typename Shape, typename Key>
89+uint32_t HashTable<Derived, Shape, Key>::HashForObject(Key key,
90+ Object* object) {
91+ if (Shape::UsesSeed) {
92+ return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
93+ } else {
94+ return Shape::HashForObject(key, object);
95+ }
96+}
97+
98 PropertyDetails::PropertyDetails(Smi* smi) {
99 value_ = smi->value();
100 }
101diff --git a/chromium/v8/src/objects.h b/chromium/v8/src/objects.h
102index 7d774beb5b..eda1478766 100644
103--- a/chromium/v8/src/objects.h
104+++ b/chromium/v8/src/objects.h
105@@ -3193,22 +3193,10 @@ class HashTable : public HashTableBase {
106 public:
107 typedef Shape ShapeT;
108
109- // Wrapper methods
110- inline uint32_t Hash(Key key) {
111- if (Shape::UsesSeed) {
112- return Shape::SeededHash(key, GetHeap()->HashSeed());
113- } else {
114- return Shape::Hash(key);
115- }
116- }
117-
118- inline uint32_t HashForObject(Key key, Object* object) {
119- if (Shape::UsesSeed) {
120- return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
121- } else {
122- return Shape::HashForObject(key, object);
123- }
124- }
125+ // Wrapper methods. Defined in src/objects-inl.h
126+ // to break a cycle with src/heap/heap.h.
127+ inline uint32_t Hash(Key key);
128+ inline uint32_t HashForObject(Key key, Object* object);
129
130 // Returns a new HashTable object.
131 MUST_USE_RESULT static Handle<Derived> New(
132--
1332.13.2
134
diff --git a/recipes-qt/qt5/qtwebengine/0004-chromium-WebKit-fix-build-with-gcc7.patch b/recipes-qt/qt5/qtwebengine/0004-chromium-WebKit-fix-build-with-gcc7.patch
new file mode 100644
index 00000000..46e87611
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0004-chromium-WebKit-fix-build-with-gcc7.patch
@@ -0,0 +1,44 @@
1From 2be0856e09f47e7f2c35e77d4e000d769c6beaf9 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Tue, 11 Jul 2017 10:18:13 +0200
4Subject: [PATCH 4/4] chromium: WebKit fix build with gcc7
5
6Based on qtwebengine-opensource-src-5.8.0-wtf-gcc7.patch from
7http://git.net/ml/scm-fedora-commits/2017-03/msg15697.html
8
9* Fixes:
10In file included from ../../git/src/third_party/WebKit/Source/platform/heap/ThreadingTraits.h:14:0,
11 from ../../git/src/third_party/WebKit/Source/platform/heap/ThreadState.h:37,
12 from ../../git/src/third_party/WebKit/Source/platform/heap/GarbageCollected.h:8,
13 from ../../git/src/third_party/WebKit/Source/platform/heap/Visitor.h:35,
14 from ../../git/src/third_party/WebKit/Source/platform/heap/GCInfo.h:8,
15 from ../../git/src/third_party/WebKit/Source/platform/heap/Heap.h:35,
16 from ../../git/src/third_party/WebKit/Source/platform/heap/Handle.h:34,
17 from ../../git/src/third_party/WebKit/public/platform/WebPrivatePtr.h:38,
18 from ../../git/src/third_party/WebKit/public/platform/WebString.h:35,
19 from ../../git/src/third_party/WebKit/Source/platform/exported/FilePathConversion.cpp:8:
20../../git/src/third_party/WebKit/Source/wtf/LinkedHashSet.h: In member function 'void WTF::LinkedHashSet<Value, HashFunctions, HashTraits, Allocator>::swap(WTF::LinkedHashSet<Value, HashFunctions, HashTraits, Allocator>&)':
21../../git/src/third_party/WebKit/Source/wtf/LinkedHashSet.h:549:5: error: there are no arguments to 'swapAnchor' that depend on a template parameter, so a declaration of 'swapAnchor' must be available [-fpermissive]
22 swapAnchor(m_anchor, other.m_anchor);
23 ^~~~~~~~~~
24../../git/src/third_party/WebKit/Source/wtf/LinkedHashSet.h:549:5: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
25---
26 chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h | 2 ++
27 1 file changed, 2 insertions(+)
28
29diff --git a/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h b/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h
30index e85c72fd65..6f94cd6734 100644
31--- a/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h
32+++ b/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h
33@@ -542,6 +542,8 @@ inline LinkedHashSet<T, U, V, W>& LinkedHashSet<T, U, V, W>::operator=(LinkedHas
34 return *this;
35 }
36
37+inline void swapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b);
38+
39 template<typename T, typename U, typename V, typename W>
40 inline void LinkedHashSet<T, U, V, W>::swap(LinkedHashSet& other)
41 {
42--
432.13.2
44