diff options
author | Alexander Kanavin <alex.kanavin@gmail.com> | 2021-05-05 17:18:13 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-05-09 23:30:15 +0100 |
commit | 99445990caa21c7ad076fc086eb8a759f2a69aae (patch) | |
tree | 8a40b0c338dc6e2e6ad6ee9046c47cb289f2593a /meta/recipes-sato | |
parent | 39932f22fa0710897c82e807e699beaf985b419a (diff) | |
download | poky-99445990caa21c7ad076fc086eb8a759f2a69aae.tar.gz |
webkitgtk: update 2.30.6 -> 2.32.0
Drop 0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch
(merged upstream).
Rebase other patches.
(From OE-Core rev: f64e9ba5f0d48e34d7022bf74bd9765f9e8a792c)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-sato')
-rw-r--r-- | meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch | 14 | ||||
-rw-r--r-- | meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch | 77 | ||||
-rw-r--r-- | meta/recipes-sato/webkit/webkitgtk/49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch | 155 | ||||
-rw-r--r-- | meta/recipes-sato/webkit/webkitgtk/include_xutil.patch | 18 | ||||
-rw-r--r-- | meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch | 24 | ||||
-rw-r--r-- | meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch | 20 | ||||
-rw-r--r-- | meta/recipes-sato/webkit/webkitgtk_2.32.0.bb (renamed from meta/recipes-sato/webkit/webkitgtk_2.30.6.bb) | 5 |
7 files changed, 210 insertions, 103 deletions
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch index ca7b1bca48..fd062e0f74 100644 --- a/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch +++ b/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From b145ab4273c59f4f908cdaff9e267241bd970e93 Mon Sep 17 00:00:00 2001 | 1 | From 3ab2b8aa49c92a68610eef14be1fbf535109b0fb Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Mon, 3 Feb 2020 17:06:27 -0800 | 3 | Date: Mon, 3 Feb 2020 17:06:27 -0800 |
4 | Subject: [PATCH] Enable THREADS_PREFER_PTHREAD_FLAG | 4 | Subject: [PATCH] Enable THREADS_PREFER_PTHREAD_FLAG |
@@ -20,19 +20,19 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
20 | 2 files changed, 2 insertions(+) | 20 | 2 files changed, 2 insertions(+) |
21 | 21 | ||
22 | diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake | 22 | diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake |
23 | index 8732e935..9b4fbae7 100644 | 23 | index 9eb44f1c..a24fdd0d 100644 |
24 | --- a/Source/cmake/OptionsGTK.cmake | 24 | --- a/Source/cmake/OptionsGTK.cmake |
25 | +++ b/Source/cmake/OptionsGTK.cmake | 25 | +++ b/Source/cmake/OptionsGTK.cmake |
26 | @@ -32,6 +32,7 @@ set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string") | 26 | @@ -6,6 +6,7 @@ WEBKIT_OPTION_BEGIN() |
27 | if (USER_AGENT_BRANDING) | 27 | SET_PROJECT_VERSION(2 32 0) |
28 | add_definitions(-DUSER_AGENT_BRANDING="${USER_AGENT_BRANDING}") | 28 | |
29 | endif () | 29 | set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string") |
30 | +set(THREADS_PREFER_PTHREAD_FLAG ON) | 30 | +set(THREADS_PREFER_PTHREAD_FLAG ON) |
31 | 31 | ||
32 | find_package(Cairo 1.14.0 REQUIRED) | 32 | find_package(Cairo 1.14.0 REQUIRED) |
33 | find_package(Fontconfig 2.8.0 REQUIRED) | 33 | find_package(Fontconfig 2.8.0 REQUIRED) |
34 | diff --git a/Source/cmake/OptionsJSCOnly.cmake b/Source/cmake/OptionsJSCOnly.cmake | 34 | diff --git a/Source/cmake/OptionsJSCOnly.cmake b/Source/cmake/OptionsJSCOnly.cmake |
35 | index 316c6240..2f712602 100644 | 35 | index 10664400..d9aca95a 100644 |
36 | --- a/Source/cmake/OptionsJSCOnly.cmake | 36 | --- a/Source/cmake/OptionsJSCOnly.cmake |
37 | +++ b/Source/cmake/OptionsJSCOnly.cmake | 37 | +++ b/Source/cmake/OptionsJSCOnly.cmake |
38 | @@ -1,3 +1,4 @@ | 38 | @@ -1,3 +1,4 @@ |
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch deleted file mode 100644 index 68195f8464..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch +++ /dev/null | |||
@@ -1,77 +0,0 @@ | |||
1 | From 40520b0de69d8ca8e659248f5ffe641f33cc6dee Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 9 Mar 2021 14:16:58 -0800 | ||
4 | Subject: [PATCH] Extend atomics check to include 1-byte CAS test | ||
5 | |||
6 | Rename ATOMIC_INT64_REQUIRES_LIBATOMIC to ATOMICS_REQUIRE_LIBATOMIC so | ||
7 | it can reflect broader range which is now checked | ||
8 | |||
9 | Rename ATOMIC_INT64_IS_BUILTIN to ATOMICS_ARE_BUILTIN | ||
10 | |||
11 | Upstream-Status: Accepted [https://bugs.webkit.org/attachment.cgi?bugid=222959] | ||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
13 | --- | ||
14 | Source/JavaScriptCore/CMakeLists.txt | 2 +- | ||
15 | Source/WebKit/CMakeLists.txt | 2 +- | ||
16 | Source/cmake/WebKitCompilerFlags.cmake | 15 ++++++++++----- | ||
17 | 3 files changed, 12 insertions(+), 7 deletions(-) | ||
18 | |||
19 | --- a/Source/JavaScriptCore/CMakeLists.txt | ||
20 | +++ b/Source/JavaScriptCore/CMakeLists.txt | ||
21 | @@ -129,7 +129,7 @@ if (USE_CAPSTONE) | ||
22 | list(APPEND JavaScriptCore_LIBRARIES capstone) | ||
23 | endif () | ||
24 | |||
25 | -if (ATOMIC_INT64_REQUIRES_LIBATOMIC) | ||
26 | +if (ATOMICS_REQUIRE_LIBATOMIC) | ||
27 | list(APPEND JavaScriptCore_LIBRARIES atomic) | ||
28 | endif () | ||
29 | |||
30 | --- a/Source/WebKit/CMakeLists.txt | ||
31 | +++ b/Source/WebKit/CMakeLists.txt | ||
32 | @@ -337,7 +337,7 @@ if (USE_LIBWEBRTC) | ||
33 | list(APPEND WebKit_LIBRARIES webrtc) | ||
34 | endif () | ||
35 | |||
36 | -if (ATOMIC_INT64_REQUIRES_LIBATOMIC) | ||
37 | +if (ATOMICS_REQUIRE_LIBATOMIC) | ||
38 | list(APPEND WebKit_PRIVATE_LIBRARIES atomic) | ||
39 | endif () | ||
40 | |||
41 | --- a/Source/cmake/WebKitCompilerFlags.cmake | ||
42 | +++ b/Source/cmake/WebKitCompilerFlags.cmake | ||
43 | @@ -280,12 +280,17 @@ endif () | ||
44 | if (COMPILER_IS_GCC_OR_CLANG) | ||
45 | set(ATOMIC_TEST_SOURCE " | ||
46 | #include <atomic> | ||
47 | - int main() { std::atomic<int64_t> i(0); i++; return 0; } | ||
48 | + int main() { | ||
49 | + std::atomic<int64_t> i(0); | ||
50 | + std::atomic<int8_t> j(0); | ||
51 | + i++; j++; | ||
52 | + return 0; | ||
53 | + } | ||
54 | ") | ||
55 | - check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMIC_INT64_IS_BUILTIN) | ||
56 | - if (NOT ATOMIC_INT64_IS_BUILTIN) | ||
57 | + check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMICS_ARE_BUILTIN) | ||
58 | + if (NOT ATOMICS_ARE_BUILTIN) | ||
59 | set(CMAKE_REQUIRED_LIBRARIES atomic) | ||
60 | - check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMIC_INT64_REQUIRES_LIBATOMIC) | ||
61 | + check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMICS_REQUIRE_LIBATOMIC) | ||
62 | unset(CMAKE_REQUIRED_LIBRARIES) | ||
63 | endif () | ||
64 | endif () | ||
65 | --- a/Source/WTF/wtf/CMakeLists.txt | ||
66 | +++ b/Source/WTF/wtf/CMakeLists.txt | ||
67 | @@ -529,6 +529,10 @@ list(APPEND WTF_LIBRARIES | ||
68 | ICU::uc | ||
69 | ) | ||
70 | |||
71 | +if (ATOMICS_REQUIRE_LIBATOMIC) | ||
72 | + list(APPEND WTF_LIBRARIES atomic) | ||
73 | +endif () | ||
74 | + | ||
75 | set(WTF_INTERFACE_LIBRARIES WTF) | ||
76 | set(WTF_INTERFACE_INCLUDE_DIRECTORIES ${WTF_FRAMEWORK_HEADERS_DIR}) | ||
77 | set(WTF_INTERFACE_DEPENDENCIES WTF_CopyHeaders) | ||
diff --git a/meta/recipes-sato/webkit/webkitgtk/49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch b/meta/recipes-sato/webkit/webkitgtk/49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch new file mode 100644 index 0000000000..ef70361c55 --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk/49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch | |||
@@ -0,0 +1,155 @@ | |||
1 | From 49a19c49c6de8af74e521f36cb43e6c1ec2e391c Mon Sep 17 00:00:00 2001 | ||
2 | From: Ross Kirsling <ross.kirsling@sony.com> | ||
3 | Date: Tue, 13 Apr 2021 02:04:15 +0000 | ||
4 | Subject: [PATCH] ICU 69 deprecates ubrk_safeClone in favor of ubrk_clone | ||
5 | https://bugs.webkit.org/show_bug.cgi?id=224093 | ||
6 | |||
7 | Reviewed by Yusuke Suzuki. | ||
8 | |||
9 | In a shining example of "disappointing library practices", ICU 69 deprecates ubrk_safeClone in favor of | ||
10 | a new *draft* API ubrk_clone, meaning that no function with this functionality is exposed by default. | ||
11 | |||
12 | This patch introduces a function cloneUBreakIterator to abstract over this change; however, since we need to: | ||
13 | |||
14 | 1. confine the effects of disabling U_HIDE_DRAFT_API to a non-unified implementation file | ||
15 | 2. still be able to include ubrk.h from IntlSegmenter.h to instantiate ICUDeleter<ubrk_close> (*not* `clone`!) | ||
16 | |||
17 | ...the new helper function is introduced in a *headerless* implementation file, IntlWorkaround.cpp. | ||
18 | |||
19 | * JavaScriptCore.xcodeproj/project.pbxproj: | ||
20 | * Sources.txt: | ||
21 | * runtime/IntlSegmenter.cpp: | ||
22 | (JSC::IntlSegmenter::segment const): | ||
23 | * runtime/IntlSegmenter.h: | ||
24 | * runtime/IntlSegments.cpp: | ||
25 | (JSC::IntlSegments::createSegmentIterator): | ||
26 | * runtime/IntlWorkaround.cpp: Added. | ||
27 | (JSC::cloneUBreakIterator): | ||
28 | |||
29 | |||
30 | Canonical link: https://commits.webkit.org/236421@main | ||
31 | git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275856 268f45cc-cd09-0410-ab3c-d52691b4dbfc | ||
32 | |||
33 | Upstream-Status: Backport | ||
34 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
35 | --- | ||
36 | Source/JavaScriptCore/ChangeLog | 27 ++++++++++ | ||
37 | .../JavaScriptCore.xcodeproj/project.pbxproj | 16 +++--- | ||
38 | Source/JavaScriptCore/Sources.txt | 1 + | ||
39 | .../JavaScriptCore/runtime/IntlSegmenter.cpp | 2 +- | ||
40 | Source/JavaScriptCore/runtime/IntlSegmenter.h | 4 ++ | ||
41 | .../JavaScriptCore/runtime/IntlSegments.cpp | 2 +- | ||
42 | .../JavaScriptCore/runtime/IntlWorkaround.cpp | 53 +++++++++++++++++++ | ||
43 | 7 files changed, 97 insertions(+), 8 deletions(-) | ||
44 | create mode 100644 Source/JavaScriptCore/runtime/IntlWorkaround.cpp | ||
45 | |||
46 | diff --git a/Source/JavaScriptCore/Sources.txt b/Source/JavaScriptCore/Sources.txt | ||
47 | index 28b5b83632b9..b6492dfdcb75 100644 | ||
48 | --- a/Source/JavaScriptCore/Sources.txt | ||
49 | +++ b/Source/JavaScriptCore/Sources.txt | ||
50 | @@ -849,6 +849,7 @@ runtime/IntlSegmenterConstructor.cpp | ||
51 | runtime/IntlSegmenterPrototype.cpp | ||
52 | runtime/IntlSegments.cpp | ||
53 | runtime/IntlSegmentsPrototype.cpp | ||
54 | +runtime/IntlWorkaround.cpp @no-unify // Confine U_HIDE_DRAFT_API's effect to this file. | ||
55 | runtime/IteratorOperations.cpp | ||
56 | runtime/IteratorPrototype.cpp | ||
57 | runtime/JSArray.cpp | ||
58 | diff --git a/Source/JavaScriptCore/runtime/IntlSegmenter.cpp b/Source/JavaScriptCore/runtime/IntlSegmenter.cpp | ||
59 | index 2ad74f94bbe8..93c9b2032847 100644 | ||
60 | --- a/Source/JavaScriptCore/runtime/IntlSegmenter.cpp | ||
61 | +++ b/Source/JavaScriptCore/runtime/IntlSegmenter.cpp | ||
62 | @@ -125,7 +125,7 @@ JSValue IntlSegmenter::segment(JSGlobalObject* globalObject, JSValue stringValue | ||
63 | auto upconvertedCharacters = Box<Vector<UChar>>::create(string.charactersWithoutNullTermination()); | ||
64 | |||
65 | UErrorCode status = U_ZERO_ERROR; | ||
66 | - auto segmenter = std::unique_ptr<UBreakIterator, UBreakIteratorDeleter>(ubrk_safeClone(m_segmenter.get(), nullptr, nullptr, &status)); | ||
67 | + auto segmenter = std::unique_ptr<UBreakIterator, UBreakIteratorDeleter>(cloneUBreakIterator(m_segmenter.get(), &status)); | ||
68 | if (U_FAILURE(status)) { | ||
69 | throwTypeError(globalObject, scope, "failed to initialize Segments"_s); | ||
70 | return { }; | ||
71 | diff --git a/Source/JavaScriptCore/runtime/IntlSegmenter.h b/Source/JavaScriptCore/runtime/IntlSegmenter.h | ||
72 | index cd0f426c4897..a5239575a9f3 100644 | ||
73 | --- a/Source/JavaScriptCore/runtime/IntlSegmenter.h | ||
74 | +++ b/Source/JavaScriptCore/runtime/IntlSegmenter.h | ||
75 | @@ -75,4 +75,8 @@ class IntlSegmenter final : public JSNonFinalObject { | ||
76 | Granularity m_granularity { Granularity::Grapheme }; | ||
77 | }; | ||
78 | |||
79 | +// Abstraction to call ubrk_safeClone or ubrk_clone depending on ICU version. | ||
80 | +// This is implemented in IntlWorkaround.cpp in order to confine draft API visibility. | ||
81 | +UBreakIterator* cloneUBreakIterator(const UBreakIterator*, UErrorCode*); | ||
82 | + | ||
83 | } // namespace JSC | ||
84 | diff --git a/Source/JavaScriptCore/runtime/IntlSegments.cpp b/Source/JavaScriptCore/runtime/IntlSegments.cpp | ||
85 | index b6aba32fb822..8b81791e4133 100644 | ||
86 | --- a/Source/JavaScriptCore/runtime/IntlSegments.cpp | ||
87 | +++ b/Source/JavaScriptCore/runtime/IntlSegments.cpp | ||
88 | @@ -100,7 +100,7 @@ JSObject* IntlSegments::createSegmentIterator(JSGlobalObject* globalObject) | ||
89 | auto scope = DECLARE_THROW_SCOPE(vm); | ||
90 | |||
91 | UErrorCode status = U_ZERO_ERROR; | ||
92 | - auto segmenter = std::unique_ptr<UBreakIterator, UBreakIteratorDeleter>(ubrk_safeClone(m_segmenter.get(), nullptr, nullptr, &status)); | ||
93 | + auto segmenter = std::unique_ptr<UBreakIterator, UBreakIteratorDeleter>(cloneUBreakIterator(m_segmenter.get(), &status)); | ||
94 | if (U_FAILURE(status)) { | ||
95 | throwTypeError(globalObject, scope, "failed to initialize SegmentIterator"_s); | ||
96 | return nullptr; | ||
97 | diff --git a/Source/JavaScriptCore/runtime/IntlWorkaround.cpp b/Source/JavaScriptCore/runtime/IntlWorkaround.cpp | ||
98 | new file mode 100644 | ||
99 | index 000000000000..8d820857ec22 | ||
100 | --- /dev/null | ||
101 | +++ b/Source/JavaScriptCore/runtime/IntlWorkaround.cpp | ||
102 | @@ -0,0 +1,53 @@ | ||
103 | +/* | ||
104 | + * Copyright (C) 2021 Sony Interactive Entertainment Inc. | ||
105 | + * | ||
106 | + * Redistribution and use in source and binary forms, with or without | ||
107 | + * modification, are permitted provided that the following conditions | ||
108 | + * are met: | ||
109 | + * 1. Redistributions of source code must retain the above copyright | ||
110 | + * notice, this list of conditions and the following disclaimer. | ||
111 | + * 2. Redistributions in binary form must reproduce the above copyright | ||
112 | + * notice, this list of conditions and the following disclaimer in the | ||
113 | + * documentation and/or other materials provided with the distribution. | ||
114 | + * | ||
115 | + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' | ||
116 | + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, | ||
117 | + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
118 | + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS | ||
119 | + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
120 | + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
121 | + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
122 | + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
123 | + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
124 | + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | ||
125 | + * THE POSSIBILITY OF SUCH DAMAGE. | ||
126 | + */ | ||
127 | + | ||
128 | +#include "config.h" | ||
129 | + | ||
130 | +#include <unicode/uvernum.h> | ||
131 | + | ||
132 | +// ICU 69 introduces draft API ubrk_clone and deprecates ubrk_safeClone. | ||
133 | +#if U_ICU_VERSION_MAJOR_NUM >= 69 | ||
134 | +#define HAVE_ICU_UBRK_CLONE 1 | ||
135 | +#endif | ||
136 | + | ||
137 | +#if defined(U_HIDE_DRAFT_API) | ||
138 | +#undef U_HIDE_DRAFT_API | ||
139 | +#endif | ||
140 | +#include <unicode/ubrk.h> | ||
141 | + | ||
142 | +namespace JSC { | ||
143 | + | ||
144 | +UBreakIterator* cloneUBreakIterator(const UBreakIterator*, UErrorCode*); | ||
145 | + | ||
146 | +UBreakIterator* cloneUBreakIterator(const UBreakIterator* iterator, UErrorCode* status) | ||
147 | +{ | ||
148 | +#if HAVE(ICU_UBRK_CLONE) | ||
149 | + return ubrk_clone(iterator, status); | ||
150 | +#else | ||
151 | + return ubrk_safeClone(iterator, nullptr, nullptr, status); | ||
152 | +#endif | ||
153 | +} | ||
154 | + | ||
155 | +} // namespace JSC | ||
diff --git a/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch b/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch index f770b381ce..ffe1b74be3 100644 --- a/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch +++ b/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch | |||
@@ -1,3 +1,8 @@ | |||
1 | From d95f46e149226f634830e76cc1f4f8e3ee04ff5a Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Fri, 6 Nov 2020 04:38:13 +0100 | ||
4 | Subject: [PATCH] webkitgtk: fix build with x11 enabled | ||
5 | |||
1 | Since | 6 | Since |
2 | https://github.com/WebKit/webkit/commit/acd3f32cd43c363be032f93ede3aa10c4ee97fa4 | 7 | https://github.com/WebKit/webkit/commit/acd3f32cd43c363be032f93ede3aa10c4ee97fa4 |
3 | it uses XVisualInfo which is defined in Xutil.h | 8 | it uses XVisualInfo which is defined in Xutil.h |
@@ -11,9 +16,14 @@ webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp:132 | |||
11 | Upstream-Status: Pending | 16 | Upstream-Status: Pending |
12 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | 17 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> |
13 | 18 | ||
14 | diff -uNr webkitgtk-2.30.2.orig/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp | 19 | --- |
15 | --- webkitgtk-2.30.2.orig/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp 2020-08-12 09:17:55.000000000 +0000 | 20 | Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp | 1 + |
16 | +++ webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp 2020-11-06 03:11:40.379913528 +0000 | 21 | 1 file changed, 1 insertion(+) |
22 | |||
23 | diff --git a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp | ||
24 | index 2d66b9cd..424fb5a1 100644 | ||
25 | --- a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp | ||
26 | +++ b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp | ||
17 | @@ -30,6 +30,7 @@ | 27 | @@ -30,6 +30,7 @@ |
18 | 28 | ||
19 | #if PLATFORM(X11) | 29 | #if PLATFORM(X11) |
@@ -21,4 +31,4 @@ diff -uNr webkitgtk-2.30.2.orig/Source/WebCore/platform/graphics/x11/PlatformDis | |||
21 | +#include <X11/Xutil.h> | 31 | +#include <X11/Xutil.h> |
22 | #include <X11/extensions/Xcomposite.h> | 32 | #include <X11/extensions/Xcomposite.h> |
23 | #if PLATFORM(GTK) | 33 | #if PLATFORM(GTK) |
24 | #include <X11/extensions/Xdamage.h> | 34 | #include <X11/Xutil.h> |
diff --git a/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch b/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch index 5033de4196..e4b5818358 100644 --- a/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch +++ b/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch | |||
@@ -1,4 +1,7 @@ | |||
1 | reduce thread stack and heap usage for javascriptcore on musl | 1 | From 5c82d20a00749e9106db78cdd23a09609dd3511c Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 17 Mar 2021 13:24:57 -0700 | ||
4 | Subject: [PATCH] reduce thread stack and heap usage for javascriptcore on musl | ||
2 | 5 | ||
3 | default sizes for musl are smaller compared to glibc, this matches | 6 | default sizes for musl are smaller compared to glibc, this matches |
4 | to musl defaults, avoid stack overflow crashes in jscore | 7 | to musl defaults, avoid stack overflow crashes in jscore |
@@ -16,9 +19,16 @@ glibc in OE remains same | |||
16 | Upstream-Status: Accepted | 19 | Upstream-Status: Accepted |
17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 20 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
18 | 21 | ||
22 | --- | ||
23 | Source/JavaScriptCore/runtime/OptionsList.h | 20 ++++++++++++++++---- | ||
24 | Source/WTF/wtf/Threading.h | 4 ++++ | ||
25 | 2 files changed, 20 insertions(+), 4 deletions(-) | ||
26 | |||
27 | diff --git a/Source/JavaScriptCore/runtime/OptionsList.h b/Source/JavaScriptCore/runtime/OptionsList.h | ||
28 | index bc1cedb9..a6209742 100644 | ||
19 | --- a/Source/JavaScriptCore/runtime/OptionsList.h | 29 | --- a/Source/JavaScriptCore/runtime/OptionsList.h |
20 | +++ b/Source/JavaScriptCore/runtime/OptionsList.h | 30 | +++ b/Source/JavaScriptCore/runtime/OptionsList.h |
21 | @@ -75,6 +75,18 @@ constexpr bool enableWebAssemblyStreamin | 31 | @@ -71,6 +71,18 @@ JS_EXPORT_PRIVATE bool canUseJITCage(); |
22 | // On instantiation of the first VM instance, the Options will be write protected | 32 | // On instantiation of the first VM instance, the Options will be write protected |
23 | // and cannot be modified thereafter. | 33 | // and cannot be modified thereafter. |
24 | 34 | ||
@@ -37,7 +47,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
37 | #define FOR_EACH_JSC_OPTION(v) \ | 47 | #define FOR_EACH_JSC_OPTION(v) \ |
38 | v(Bool, useKernTCSM, defaultTCSMValue(), Normal, "Note: this needs to go before other options since they depend on this value.") \ | 48 | v(Bool, useKernTCSM, defaultTCSMValue(), Normal, "Note: this needs to go before other options since they depend on this value.") \ |
39 | v(Bool, validateOptions, false, Normal, "crashes if mis-typed JSC options were passed to the VM") \ | 49 | v(Bool, validateOptions, false, Normal, "crashes if mis-typed JSC options were passed to the VM") \ |
40 | @@ -90,9 +102,9 @@ constexpr bool enableWebAssemblyStreamin | 50 | @@ -86,9 +98,9 @@ JS_EXPORT_PRIVATE bool canUseJITCage(); |
41 | \ | 51 | \ |
42 | v(Bool, reportMustSucceedExecutableAllocations, false, Normal, nullptr) \ | 52 | v(Bool, reportMustSucceedExecutableAllocations, false, Normal, nullptr) \ |
43 | \ | 53 | \ |
@@ -50,7 +60,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
50 | \ | 60 | \ |
51 | v(Bool, crashOnDisallowedVMEntry, ASSERT_ENABLED, Normal, "Forces a crash if we attempt to enter the VM when disallowed") \ | 61 | v(Bool, crashOnDisallowedVMEntry, ASSERT_ENABLED, Normal, "Forces a crash if we attempt to enter the VM when disallowed") \ |
52 | v(Bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \ | 62 | v(Bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \ |
53 | @@ -601,7 +613,7 @@ public: | 63 | @@ -608,7 +620,7 @@ public: |
54 | bool init(const char*); | 64 | bool init(const char*); |
55 | bool isInRange(unsigned); | 65 | bool isInRange(unsigned); |
56 | const char* rangeString() const { return (m_state > InitError) ? m_rangeString : s_nullRangeStr; } | 66 | const char* rangeString() const { return (m_state > InitError) ? m_rangeString : s_nullRangeStr; } |
@@ -59,10 +69,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
59 | void dump(PrintStream& out) const; | 69 | void dump(PrintStream& out) const; |
60 | 70 | ||
61 | private: | 71 | private: |
72 | diff --git a/Source/WTF/wtf/Threading.h b/Source/WTF/wtf/Threading.h | ||
73 | index 9495d6c1..190b3811 100644 | ||
62 | --- a/Source/WTF/wtf/Threading.h | 74 | --- a/Source/WTF/wtf/Threading.h |
63 | +++ b/Source/WTF/wtf/Threading.h | 75 | +++ b/Source/WTF/wtf/Threading.h |
64 | @@ -56,6 +56,10 @@ | 76 | @@ -60,6 +60,10 @@ |
65 | #include <array> | 77 | #include <dispatch/dispatch.h> |
66 | #endif | 78 | #endif |
67 | 79 | ||
68 | +#if OS(LINUX) && !defined(__GLIBC__) | 80 | +#if OS(LINUX) && !defined(__GLIBC__) |
diff --git a/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch b/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch index 0493150a91..aa11c131d2 100644 --- a/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch +++ b/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch | |||
@@ -1,22 +1,28 @@ | |||
1 | From ec6045fcf5a46123b54029a675d08d89a5e30f21 Mon Sep 17 00:00:00 2001 | ||
1 | From: Alberto Garcia <berto@igalia.com> | 2 | From: Alberto Garcia <berto@igalia.com> |
2 | Subject: Reduce memory usage when not using the Gold linker | 3 | Date: Sun, 25 Apr 2021 18:45:13 +0000 |
3 | Bug-Debian: https://bugs.debian.org/949621 | 4 | Subject: [PATCH] Reduce memory usage when not using the Gold linker |
4 | Forwarded: no | ||
5 | 5 | ||
6 | Upstream-Status: Pending | 6 | Upstream-Status: Pending |
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
8 | |||
9 | --- | ||
10 | Source/cmake/OptionsCommon.cmake | 5 +++++ | ||
11 | 1 file changed, 5 insertions(+) | ||
12 | |||
13 | diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake | ||
14 | index dd4da682..71ad6106 100644 | ||
8 | --- a/Source/cmake/OptionsCommon.cmake | 15 | --- a/Source/cmake/OptionsCommon.cmake |
9 | +++ b/Source/cmake/OptionsCommon.cmake | 16 | +++ b/Source/cmake/OptionsCommon.cmake |
10 | @@ -95,6 +95,12 @@ option(GCC_OFFLINEASM_SOURCE_MAP | 17 | @@ -101,6 +101,11 @@ option(GCC_OFFLINEASM_SOURCE_MAP |
11 | "Produce debug line information for offlineasm-generated code" | ||
12 | ${GCC_OFFLINEASM_SOURCE_MAP_DEFAULT}) | 18 | ${GCC_OFFLINEASM_SOURCE_MAP_DEFAULT}) |
13 | 19 | ||
20 | option(USE_APPLE_ICU "Use Apple's internal ICU" ${APPLE}) | ||
14 | +# Pass --reduce-memory-overheads to the bfd linker in order to save memory | 21 | +# Pass --reduce-memory-overheads to the bfd linker in order to save memory |
15 | +if (NOT USE_LD_GOLD) | 22 | +if (NOT USE_LD_GOLD) |
16 | + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads") | 23 | + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads") |
17 | + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads") | 24 | + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads") |
18 | +endif () | 25 | +endif () |
19 | + | 26 | |
20 | # Enable the usage of OpenMP. | 27 | # Enable the usage of OpenMP. |
21 | # - At this moment, OpenMP is only used as an alternative implementation | 28 | # - At this moment, OpenMP is only used as an alternative implementation |
22 | # to native threads for the parallelization of the SVG filters. | ||
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.30.6.bb b/meta/recipes-sato/webkit/webkitgtk_2.32.0.bb index 7d0d0fc16f..8a07fadd9b 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.30.6.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.32.0.bb | |||
@@ -18,12 +18,12 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ | |||
18 | file://0001-Fix-build-with-musl.patch \ | 18 | file://0001-Fix-build-with-musl.patch \ |
19 | file://include_xutil.patch \ | 19 | file://include_xutil.patch \ |
20 | file://reduce-memory-overheads.patch \ | 20 | file://reduce-memory-overheads.patch \ |
21 | file://0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch \ | ||
22 | file://musl-lower-stack-usage.patch \ | 21 | file://musl-lower-stack-usage.patch \ |
23 | file://0001-MiniBrowser-Fix-reproduciblity.patch \ | 22 | file://0001-MiniBrowser-Fix-reproduciblity.patch \ |
23 | file://49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch \ | ||
24 | " | 24 | " |
25 | 25 | ||
26 | SRC_URI[sha256sum] = "50736ec7a91770b5939d715196e5fe7209b93efcdeef425b24dc51fb8e9d7c1e" | 26 | SRC_URI[sha256sum] = "9d7df4dae9ada2394257565acc2a68ace9308c4c61c3fcc00111dc1f11076bf0" |
27 | 27 | ||
28 | inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc | 28 | inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc |
29 | 29 | ||
@@ -76,6 +76,7 @@ EXTRA_OECMAKE = " \ | |||
76 | -DENABLE_MINIBROWSER=ON \ | 76 | -DENABLE_MINIBROWSER=ON \ |
77 | -DPYTHON_EXECUTABLE=`which python3` \ | 77 | -DPYTHON_EXECUTABLE=`which python3` \ |
78 | -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ | 78 | -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ |
79 | -DENABLE_GAMEPAD=OFF \ | ||
79 | " | 80 | " |
80 | 81 | ||
81 | # Javascript JIT is not supported on ARC | 82 | # Javascript JIT is not supported on ARC |