diff options
author | Samuli Piippo <samuli.piippo@qt.io> | 2017-06-09 09:34:09 +0300 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-08-20 19:30:05 +0200 |
commit | 969f1f80bf255498abbec6886d443670c20a79c8 (patch) | |
tree | 45a65f19da61868c2fe71669fb4b7d29b374edac /recipes-qt/qt5/qtwebengine/0003-chromium-v8-fix-build-with-gcc7.patch | |
parent | 648f7b0a2eb202d4378ce50ae566b6ca450dd010 (diff) | |
download | meta-qt5-969f1f80bf255498abbec6886d443670c20a79c8.tar.gz |
Upgrade to Qt 5.9.0
* adapt QtWebEngine recipe to use GN instead of GYP
* add QtRemoteObjects and QtWebView as a new Qt modules
* update available QtBase configure arguments
* remove obsolete patches
* patch all .pc files to remove build paths
* include generated QML cache files in packages
* the patch "configure paths for target qmake properly" could not
be applied anymore and support must be done differently
* QtWebEngine now requires gcc-multilib to be installed on the host
system, because the host tools are built to the same bitness as
the target (arm -> x86, aarch64 -> x86-64)
* refresh the patches to match with b5.9* branches on:
https://github.com/meta-qt5/qtbase
https://github.com/meta-qt5/qtwebengine
and 56-based branch on
https://github.com/meta-qt5/qtwebengine-chromium
Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes-qt/qt5/qtwebengine/0003-chromium-v8-fix-build-with-gcc7.patch')
-rw-r--r-- | recipes-qt/qt5/qtwebengine/0003-chromium-v8-fix-build-with-gcc7.patch | 131 |
1 files changed, 0 insertions, 131 deletions
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 deleted file mode 100644 index f2456dd6..00000000 --- a/recipes-qt/qt5/qtwebengine/0003-chromium-v8-fix-build-with-gcc7.patch +++ /dev/null | |||
@@ -1,131 +0,0 @@ | |||
1 | From 944746d5d04ea8eaf268a97440c98136beae1e47 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Tue, 11 Jul 2017 10:15:41 +0200 | ||
4 | Subject: [PATCH] chromium: v8 fix build with gcc7 | ||
5 | |||
6 | Use the fix from nodejs: | ||
7 | https://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 | |||
15 | and | ||
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 | |||
22 | and | ||
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 | |||
26 | Signed-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 | |||
34 | diff --git a/chromium/v8/src/heap/mark-compact.cc b/chromium/v8/src/heap/mark-compact.cc | ||
35 | index 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; | ||
57 | diff --git a/chromium/v8/src/objects-body-descriptors.h b/chromium/v8/src/objects-body-descriptors.h | ||
58 | index 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 | |||
70 | diff --git a/chromium/v8/src/objects-inl.h b/chromium/v8/src/objects-inl.h | ||
71 | index 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 | } | ||
101 | diff --git a/chromium/v8/src/objects.h b/chromium/v8/src/objects.h | ||
102 | index 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( | ||