summaryrefslogtreecommitdiffstats
path: root/meta/recipes-sato/webkit/webkitgtk
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-sato/webkit/webkitgtk')
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch6
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch91
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch155
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch17
4 files changed, 7 insertions, 262 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 fd062e0f74..efe286ed6b 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 @@
1From 3ab2b8aa49c92a68610eef14be1fbf535109b0fb Mon Sep 17 00:00:00 2001 1From af90ae1f128626e8d57a8bcbc432596bfc2987af Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 3 Feb 2020 17:06:27 -0800 3Date: Mon, 3 Feb 2020 17:06:27 -0800
4Subject: [PATCH] Enable THREADS_PREFER_PTHREAD_FLAG 4Subject: [PATCH] Enable THREADS_PREFER_PTHREAD_FLAG
@@ -20,11 +20,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
20 2 files changed, 2 insertions(+) 20 2 files changed, 2 insertions(+)
21 21
22diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake 22diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
23index 9eb44f1c..a24fdd0d 100644 23index af6c0fac..f393d741 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@@ -6,6 +6,7 @@ WEBKIT_OPTION_BEGIN() 26@@ -6,6 +6,7 @@ WEBKIT_OPTION_BEGIN()
27 SET_PROJECT_VERSION(2 32 0) 27 SET_PROJECT_VERSION(2 32 1)
28 28
29 set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string") 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)
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
deleted file mode 100644
index 1ccef1fdc8..0000000000
--- a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
+++ /dev/null
@@ -1,91 +0,0 @@
1From 828a500d5be62ba6fc94bd4fac3fe4bf1b1d4f6d Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 6 Oct 2017 17:00:08 +0300
4Subject: [PATCH] Fix build with musl
5
6Upstream-Status: Accepted
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8
9---
10 Source/JavaScriptCore/runtime/MachineContext.h | 10 +++++-----
11 Source/WTF/wtf/PlatformHave.h | 2 +-
12 2 files changed, 6 insertions(+), 6 deletions(-)
13
14--- a/Source/JavaScriptCore/runtime/MachineContext.h
15+++ b/Source/JavaScriptCore/runtime/MachineContext.h
16@@ -196,7 +196,7 @@ static inline void*& stackPointerImpl(mc
17 #error Unknown Architecture
18 #endif
19
20-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
21+#elif defined(__linux__)
22
23 #if CPU(X86)
24 return reinterpret_cast<void*&>((uintptr_t&) machineContext.gregs[REG_ESP]);
25@@ -347,7 +347,7 @@ static inline void*& framePointerImpl(mc
26 #error Unknown Architecture
27 #endif
28
29-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
30+#elif defined(__linux__)
31
32 // The following sequence depends on glibc's sys/ucontext.h.
33 #if CPU(X86)
34@@ -498,7 +498,7 @@ static inline void*& instructionPointerI
35 #error Unknown Architecture
36 #endif
37
38-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
39+#elif defined(__linux__)
40
41 // The following sequence depends on glibc's sys/ucontext.h.
42 #if CPU(X86)
43@@ -656,7 +656,7 @@ inline void*& argumentPointer<1>(mcontex
44 #error Unknown Architecture
45 #endif
46
47-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
48+#elif defined(__linux__)
49
50 // The following sequence depends on glibc's sys/ucontext.h.
51 #if CPU(X86)
52@@ -773,7 +773,7 @@ inline void*& llintInstructionPointer(mc
53 #error Unknown Architecture
54 #endif
55
56-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
57+#elif defined(__linux__)
58
59 // The following sequence depends on glibc's sys/ucontext.h.
60 #if CPU(X86)
61--- a/Source/WTF/wtf/PlatformHave.h
62+++ b/Source/WTF/wtf/PlatformHave.h
63@@ -202,7 +202,7 @@
64 #define HAVE_HOSTED_CORE_ANIMATION 1
65 #endif
66
67-#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
68+#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__linux__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
69 #define HAVE_MACHINE_CONTEXT 1
70 #endif
71
72--- a/Source/WebCore/xml/XPathGrammar.cpp
73+++ b/Source/WebCore/xml/XPathGrammar.cpp
74@@ -966,7 +966,7 @@ int yydebug;
75 #if YYERROR_VERBOSE
76
77 # ifndef yystrlen
78-# if defined __GLIBC__ && defined _STRING_H
79+# if defined __linux__ && defined _STRING_H
80 # define yystrlen strlen
81 # else
82 /* Return the length of YYSTR. */
83@@ -989,7 +989,7 @@ yystrlen (yystr)
84 # endif
85
86 # ifndef yystpcpy
87-# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
88+# if defined __linux__ && defined _STRING_H && defined _GNU_SOURCE
89 # define yystpcpy stpcpy
90 # else
91 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
diff --git a/meta/recipes-sato/webkit/webkitgtk/49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch b/meta/recipes-sato/webkit/webkitgtk/49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch
deleted file mode 100644
index ef70361c55..0000000000
--- a/meta/recipes-sato/webkit/webkitgtk/49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch
+++ /dev/null
@@ -1,155 +0,0 @@
1From 49a19c49c6de8af74e521f36cb43e6c1ec2e391c Mon Sep 17 00:00:00 2001
2From: Ross Kirsling <ross.kirsling@sony.com>
3Date: Tue, 13 Apr 2021 02:04:15 +0000
4Subject: [PATCH] ICU 69 deprecates ubrk_safeClone in favor of ubrk_clone
5 https://bugs.webkit.org/show_bug.cgi?id=224093
6
7Reviewed by Yusuke Suzuki.
8
9In a shining example of "disappointing library practices", ICU 69 deprecates ubrk_safeClone in favor of
10a new *draft* API ubrk_clone, meaning that no function with this functionality is exposed by default.
11
12This 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
30Canonical link: https://commits.webkit.org/236421@main
31git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275856 268f45cc-cd09-0410-ab3c-d52691b4dbfc
32
33Upstream-Status: Backport
34Signed-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
46diff --git a/Source/JavaScriptCore/Sources.txt b/Source/JavaScriptCore/Sources.txt
47index 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
58diff --git a/Source/JavaScriptCore/runtime/IntlSegmenter.cpp b/Source/JavaScriptCore/runtime/IntlSegmenter.cpp
59index 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 { };
71diff --git a/Source/JavaScriptCore/runtime/IntlSegmenter.h b/Source/JavaScriptCore/runtime/IntlSegmenter.h
72index 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
84diff --git a/Source/JavaScriptCore/runtime/IntlSegments.cpp b/Source/JavaScriptCore/runtime/IntlSegments.cpp
85index 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;
97diff --git a/Source/JavaScriptCore/runtime/IntlWorkaround.cpp b/Source/JavaScriptCore/runtime/IntlWorkaround.cpp
98new file mode 100644
99index 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/musl-lower-stack-usage.patch b/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch
index e4b5818358..f71f8452fd 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,4 @@
1From 5c82d20a00749e9106db78cdd23a09609dd3511c Mon Sep 17 00:00:00 2001 1From 04e4999c6fa2e9810634745a07f1e380f27b8e61 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 17 Mar 2021 13:24:57 -0700 3Date: Wed, 17 Mar 2021 13:24:57 -0700
4Subject: [PATCH] reduce thread stack and heap usage for javascriptcore on musl 4Subject: [PATCH] reduce thread stack and heap usage for javascriptcore on musl
@@ -20,12 +20,12 @@ Upstream-Status: Accepted
20Signed-off-by: Khem Raj <raj.khem@gmail.com> 20Signed-off-by: Khem Raj <raj.khem@gmail.com>
21 21
22--- 22---
23 Source/JavaScriptCore/runtime/OptionsList.h | 20 ++++++++++++++++---- 23 Source/JavaScriptCore/runtime/OptionsList.h | 18 +++++++++++++++---
24 Source/WTF/wtf/Threading.h | 4 ++++ 24 Source/WTF/wtf/Threading.h | 4 ++++
25 2 files changed, 20 insertions(+), 4 deletions(-) 25 2 files changed, 19 insertions(+), 3 deletions(-)
26 26
27diff --git a/Source/JavaScriptCore/runtime/OptionsList.h b/Source/JavaScriptCore/runtime/OptionsList.h 27diff --git a/Source/JavaScriptCore/runtime/OptionsList.h b/Source/JavaScriptCore/runtime/OptionsList.h
28index bc1cedb9..a6209742 100644 28index bb6d2f1d..a6209742 100644
29--- a/Source/JavaScriptCore/runtime/OptionsList.h 29--- a/Source/JavaScriptCore/runtime/OptionsList.h
30+++ b/Source/JavaScriptCore/runtime/OptionsList.h 30+++ b/Source/JavaScriptCore/runtime/OptionsList.h
31@@ -71,6 +71,18 @@ JS_EXPORT_PRIVATE bool canUseJITCage(); 31@@ -71,6 +71,18 @@ JS_EXPORT_PRIVATE bool canUseJITCage();
@@ -60,15 +60,6 @@ index bc1cedb9..a6209742 100644
60 \ 60 \
61 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") \
62 v(Bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \ 62 v(Bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \
63@@ -608,7 +620,7 @@ public:
64 bool init(const char*);
65 bool isInRange(unsigned);
66 const char* rangeString() const { return (m_state > InitError) ? m_rangeString : s_nullRangeStr; }
67-
68+
69 void dump(PrintStream& out) const;
70
71 private:
72diff --git a/Source/WTF/wtf/Threading.h b/Source/WTF/wtf/Threading.h 63diff --git a/Source/WTF/wtf/Threading.h b/Source/WTF/wtf/Threading.h
73index 9495d6c1..190b3811 100644 64index 9495d6c1..190b3811 100644
74--- a/Source/WTF/wtf/Threading.h 65--- a/Source/WTF/wtf/Threading.h