Skip to content

Commit 6264116

Browse files
Kudokmagiera
authored andcommitted
Introduce patch management (#103)
Summary: Instead of put all things in one jsc.patch which is hard to manage. This commit separate patches by purpose and add comment in patch.sh to describe each patch purpose.
1 parent 1ba5782 commit 6264116

14 files changed

+393
-347
lines changed

patches/intl/icu-disabled.patch

Lines changed: 0 additions & 13 deletions
This file was deleted.

patches/jsc.patch

Lines changed: 3 additions & 326 deletions
Original file line numberDiff line numberDiff line change
@@ -1,333 +1,10 @@
1-
diff -aur target-org/webkit/CMakeLists.txt target/webkit/CMakeLists.txt
2-
--- target-org/webkit/CMakeLists.txt 2017-12-22 19:18:43.000000000 +0200
3-
+++ target/webkit/CMakeLists.txt 2018-06-14 15:41:59.000000000 +0300
4-
@@ -170,13 +170,13 @@
5-
add_subdirectory(Tools)
6-
endif ()
7-
8-
-if ("${PORT}" STREQUAL "GTK" OR "${PORT}" STREQUAL "WPE")
9-
- if (DEVELOPER_MODE)
10-
- add_subdirectory(PerformanceTests)
11-
- endif ()
12-
-else ()
13-
- add_subdirectory(PerformanceTests)
14-
-endif ()
15-
+#if ("${PORT}" STREQUAL "GTK" OR "${PORT}" STREQUAL "WPE")
16-
+# if (DEVELOPER_MODE)
17-
+# add_subdirectory(PerformanceTests)
18-
+# endif ()
19-
+#else ()
20-
+# add_subdirectory(PerformanceTests)
21-
+#endif ()
22-
23-
# -----------------------------------------------------------------------------
24-
# Print the features list last, for maximum visibility.
25-
diff -aur target-org/webkit/Source/bmalloc/bmalloc/DebugHeap.cpp target/webkit/Source/bmalloc/bmalloc/DebugHeap.cpp
26-
--- target-org/webkit/Source/bmalloc/bmalloc/DebugHeap.cpp 2017-02-03 22:59:08.000000000 +0100
27-
+++ target/webkit/Source/bmalloc/bmalloc/DebugHeap.cpp 2017-08-02 10:07:11.000383124 +0200
28-
@@ -84,13 +84,8 @@
29-
30-
void* DebugHeap::memalign(size_t alignment, size_t size, bool crashOnFailure)
31-
{
32-
- void* result;
33-
- if (posix_memalign(&result, alignment, size)) {
34-
- if (crashOnFailure)
35-
- BCRASH();
36-
- return nullptr;
37-
- }
38-
- return result;
39-
+ BCRASH();
40-
+ return nullptr;
41-
}
42-
43-
void* DebugHeap::realloc(void* object, size_t size)
44-
diff -aur target-org/webkit/Source/cmake/FindICU.cmake target/webkit/Source/cmake/FindICU.cmake
45-
--- target-org/webkit/Source/cmake/FindICU.cmake 2016-11-30 19:45:57.000000000 +0100
46-
+++ target/webkit/Source/cmake/FindICU.cmake 2017-07-11 11:34:55.962374878 +0200
47-
@@ -25,7 +25,7 @@
48-
# Look for the library.
49-
find_library(
50-
ICU_LIBRARY
51-
- NAMES libicuuc cygicuuc cygicuuc32 icuuc
52-
+ NAMES libicuuc cygicuuc cygicuuc32 icuuc icuuc_jsc
53-
HINTS ${PC_ICU_LIBRARY_DIRS}
54-
${PC_ICU_LIBDIR}
55-
${WEBKIT_LIBRARIES_LINK_DIR}
56-
@@ -51,7 +51,7 @@
57-
pkg_check_modules(PC_ICU_I18N icu-i18n)
58-
find_library(
59-
ICU_I18N_LIBRARY
60-
- NAMES icui18n libicui18n libicuin cygicuin cygicuin32 icuin
61-
+ NAMES icui18n libicui18n libicuin cygicuin cygicuin32 icuin icui18n_jsc
62-
HINTS ${PC_ICU_I18N_LIBRARY_DIRS}
63-
${PC_ICU_I18N_LIBDIR}
64-
${WEBKIT_LIBRARIES_LINK_DIR}
65-
@@ -68,7 +68,7 @@
66-
# Look for the ICU data libraries
67-
find_library(
68-
ICU_DATA_LIBRARY
69-
- NAMES icudata libicudata cygicudata cygicudata32
70-
+ NAMES icudata libicudata cygicudata cygicudata32 icudata_jsc
71-
HINTS ${PC_ICU_I18N_LIBRARY_DIRS}
72-
${PC_ICU_I18N_LIBDIR}
73-
${WEBKIT_LIBRARIES_LINK_DIR}
74-
diff -aur target-org/webkit/Source/cmake/OptionsJSCOnly.cmake target/webkit/Source/cmake/OptionsJSCOnly.cmake
75-
--- target-org/webkit/Source/cmake/OptionsJSCOnly.cmake 2017-04-17 15:51:21.000000000 +0200
76-
+++ target/webkit/Source/cmake/OptionsJSCOnly.cmake 2017-07-11 11:34:55.962374878 +0200
77-
@@ -34,12 +34,11 @@
78-
set(ENABLE_WEBCORE OFF)
79-
set(ENABLE_WEBKIT_LEGACY OFF)
80-
set(ENABLE_WEBKIT OFF)
81-
-
82-
-if (WIN32)
83-
- set(ENABLE_API_TESTS OFF)
84-
-else ()
85-
- set(ENABLE_API_TESTS ON)
86-
-endif ()
87-
+set(ENABLE_API_TESTS OFF)
88-
+set(ENABLE_SAMPLING_PROFILER OFF)
89-
+set(ENABLE_DFG_JIT ON)
90-
+set(ENABLE_FTL_JIT OFF)
91-
+set(ENABLE_JIT ON)
92-
93-
if (WTF_CPU_X86 OR WTF_CPU_X86_64)
94-
SET_AND_EXPOSE_TO_BUILD(USE_UDIS86 1)
95-
diff -aur target-org/webkit/Source/JavaScriptCore/CMakeLists.txt target/webkit/Source/JavaScriptCore/CMakeLists.txt
96-
--- target-org/webkit/Source/JavaScriptCore/CMakeLists.txt 2017-05-02 21:13:03.000000000 +0200
97-
+++ target/webkit/Source/JavaScriptCore/CMakeLists.txt 2017-07-11 11:34:55.962374878 +0200
98-
@@ -1543,7 +1543,7 @@
99-
100-
target_include_directories(LLIntOffsetsExtractor PRIVATE ${JavaScriptCore_INCLUDE_DIRECTORIES})
101-
102-
-add_subdirectory(shell)
103-
+# add_subdirectory(shell)
104-
105-
WEBKIT_WRAP_SOURCELIST(${JavaScriptCore_SOURCES})
106-
WEBKIT_FRAMEWORK(JavaScriptCore)
107-
@@ -1555,6 +1555,7 @@
1+
--- target-org/webkit/Source/JavaScriptCore/CMakeLists.txt 2019-04-27 00:04:34.000000000 +0800
2+
+++ target/webkit/Source/JavaScriptCore/CMakeLists.txt 2019-04-27 00:06:00.000000000 +0800
3+
@@ -1234,6 +1234,7 @@
1084
install(TARGETS JavaScriptCore DESTINATION "${LIB_INSTALL_DIR}")
1095
endif ()
1106
endif ()
1117
+set_target_properties(JavaScriptCore PROPERTIES OUTPUT_NAME jsc)
1128

1139
# Force staging of shared scripts, even if they aren't directly used to build JavaScriptCore.
11410

115-
diff -aur target-org/webkit/Source/WTF/wtf/unix/LanguageUnix.cpp target/webkit/Source/WTF/wtf/unix/LanguageUnix.cpp
116-
--- target-org/webkit/Source/WTF/wtf/unix/LanguageUnix.cpp 2016-10-08 05:31:15.000000000 +0200
117-
+++ target/webkit/Source/WTF/wtf/unix/LanguageUnix.cpp 2017-07-11 11:34:55.962374878 +0200
118-
@@ -24,22 +24,27 @@
119-
#include <locale.h>
120-
#include <wtf/Vector.h>
121-
#include <wtf/text/WTFString.h>
122-
+#include <sys/system_properties.h>
123-
124-
namespace WTF {
125-
126-
-// Using pango_language_get_default() here is not an option, because
127-
-// it doesn't support changing the locale in runtime, so it returns
128-
-// always the same value.
129-
static String platformLanguage()
130-
{
131-
- String localeDefault(setlocale(LC_CTYPE, nullptr));
132-
- if (localeDefault.isEmpty() || equalIgnoringASCIICase(localeDefault, "C") || equalIgnoringASCIICase(localeDefault, "POSIX"))
133-
+ char buf[2 * (PROP_VALUE_MAX + 1)];
134-
+
135-
+ int locale_len = __system_property_get("persist.sys.locale", buf);
136-
+ if (locale_len == 0) {
137-
+ int lang_len = __system_property_get("persist.sys.language", buf);
138-
+ if(lang_len == 0) {
139-
return "en-US"_s;
140-
+ }
141-
+ int country_len = __system_property_get("persist.sys.country", buf + lang_len + 1);
142-
+ if(country_len != 0) {
143-
+ buf[lang_len] = '-';
144-
+ }
145-
+ }
146-
147-
- String normalizedDefault = localeDefault;
148-
- normalizedDefault.replace('_', '-');
149-
- normalizedDefault.truncate(normalizedDefault.find('.'));
150-
- return normalizedDefault;
151-
+ return String(buf);
152-
}
153-
154-
Vector<String> platformUserPreferredLanguages()
155-
diff -aur target-org/webkit/Source/WTF/wtf/StackTrace.cpp target/webkit/Source/WTF/wtf/StackTrace.cpp
156-
--- target-org/webkit/Source/WTF/wtf/StackTrace.cpp 2017-04-25 04:53:49.000000000 +0200
157-
+++ target/webkit/Source/WTF/wtf/StackTrace.cpp 2017-07-11 11:34:55.962374878 +0200
158-
@@ -30,10 +30,6 @@
159-
#include <wtf/Assertions.h>
160-
#include <wtf/PrintStream.h>
161-
162-
-#if HAVE(BACKTRACE_SYMBOLS) || HAVE(BACKTRACE)
163-
-#include <execinfo.h>
164-
-#endif
165-
-
166-
#if HAVE(DLADDR)
167-
#include <cxxabi.h>
168-
#include <dlfcn.h>
169-
diff -aur target-org/webkit/Source/WTF/wtf/unicode/CollatorDefault.cpp target/webkit/Source/WTF/wtf/unicode/CollatorDefault.cpp
170-
--- target-org/webkit/Source/WTF/wtf/unicode/CollatorDefault.cpp 2014-03-15 05:08:27.000000000 +0100
171-
+++ target/webkit/Source/WTF/wtf/unicode/CollatorDefault.cpp 2017-07-11 11:36:01.845264855 +0200
172-
@@ -28,12 +28,13 @@
173-
174-
#include "config.h"
175-
#include "Collator.h"
176-
+#include <StringView.h>
177-
178-
#if UCONFIG_NO_COLLATION
179-
180-
namespace WTF {
181-
182-
-int Collator::collate(StringView a, StringView b) const
183-
+int Collator::collate(StringView a, StringView b)
184-
{
185-
unsigned commonLength = std::min(a.length(), b.length());
186-
for (unsigned i = 0; i < commonLength; ++i) {
187-
@@ -51,7 +52,7 @@
188-
return 0;
189-
}
190-
191-
-int Collator::collateUTF8(const char* a, const char* b) const
192-
+int Collator::collateUTF8(const char* a, const char* b)
193-
{
194-
return collate(String::fromUTF8(a), String::fromUTF8(b));
195-
}
196-
diff -aur org/target/webkit/Source/cmake/OptionsCommon.cmake target/webkit/Source/cmake/OptionsCommon.cmake
197-
--- target-org/webkit/Source/cmake/OptionsCommon.cmake 2017-11-15 16:28:52.120093206 +0100
198-
+++ target/webkit/Source/cmake/OptionsCommon.cmake 2017-04-09 02:50:32.875166000 +0200
199-
@@ -115,7 +115,7 @@
200-
201-
# Check for headers
202-
WEBKIT_CHECK_HAVE_INCLUDE(HAVE_ERRNO_H errno.h)
203-
-WEBKIT_CHECK_HAVE_INCLUDE(HAVE_LANGINFO_H langinfo.h)
204-
+#WEBKIT_CHECK_HAVE_INCLUDE(HAVE_LANGINFO_H langinfo.h)
205-
WEBKIT_CHECK_HAVE_INCLUDE(HAVE_MMAP sys/mman.h)
206-
WEBKIT_CHECK_HAVE_INCLUDE(HAVE_PTHREAD_NP_H pthread_np.h)
207-
WEBKIT_CHECK_HAVE_INCLUDE(HAVE_STRINGS_H strings.h)
208-
diff -aur target-org/webkit/Source/cmake/FindICU.cmake target/webkit/Source/cmake/FindICU.cmake
209-
--- target-org/webkit/Source/cmake/FindICU.cmake 2018-07-24 15:41:23.452474811 +0200
210-
+++ target/webkit/Source/cmake/FindICU.cmake 2018-07-12 15:53:44.611542333 +0200
211-
@@ -16,19 +16,15 @@
212-
find_path(
213-
ICU_INCLUDE_DIR
214-
NAMES unicode/utypes.h
215-
- HINTS ${PC_ICU_INCLUDE_DIRS}
216-
- ${PC_ICU_INCLUDEDIR}
217-
- ${WEBKIT_LIBRARIES_INCLUDE_DIR}
218-
+ HINTS ${WEBKIT_LIBRARIES_INCLUDE_DIR}
219-
DOC "Include directory for the ICU library")
220-
mark_as_advanced(ICU_INCLUDE_DIR)
221-
222-
# Look for the library.
223-
find_library(
224-
ICU_LIBRARY
225-
- NAMES libicuuc cygicuuc cygicuuc32 icuuc icuuc_jsc
226-
- HINTS ${PC_ICU_LIBRARY_DIRS}
227-
- ${PC_ICU_LIBDIR}
228-
- ${WEBKIT_LIBRARIES_LINK_DIR}
229-
+ NAMES icuuc_jsc
230-
+ HINTS ${WEBKIT_LIBRARIES_LINK_DIR}
231-
DOC "Libraries to link against for the common parts of ICU")
232-
mark_as_advanced(ICU_LIBRARY)
233-
234-
@@ -51,10 +47,8 @@
235-
pkg_check_modules(PC_ICU_I18N icu-i18n)
236-
find_library(
237-
ICU_I18N_LIBRARY
238-
- NAMES icui18n libicui18n libicuin cygicuin cygicuin32 icuin icui18n_jsc
239-
- HINTS ${PC_ICU_I18N_LIBRARY_DIRS}
240-
- ${PC_ICU_I18N_LIBDIR}
241-
- ${WEBKIT_LIBRARIES_LINK_DIR}
242-
+ NAMES icui18n_jsc
243-
+ HINTS ${WEBKIT_LIBRARIES_LINK_DIR}
244-
DOC "Libraries to link against for ICU internationalization")
245-
mark_as_advanced(ICU_I18N_LIBRARY)
246-
if (ICU_I18N_LIBRARY)
247-
@@ -68,10 +62,8 @@
248-
# Look for the ICU data libraries
249-
find_library(
250-
ICU_DATA_LIBRARY
251-
- NAMES icudata libicudata cygicudata cygicudata32 icudata_jsc
252-
- HINTS ${PC_ICU_I18N_LIBRARY_DIRS}
253-
- ${PC_ICU_I18N_LIBDIR}
254-
- ${WEBKIT_LIBRARIES_LINK_DIR}
255-
+ NAMES icudata_jsc
256-
+ HINTS ${WEBKIT_LIBRARIES_LINK_DIR}
257-
DOC "Libraries to link against for ICU data")
258-
mark_as_advanced(ICU_DATA_LIBRARY)
259-
if (ICU_DATA_LIBRARY)
260-
diff -aur target-org/webkit/Source/JavaScriptCore/CMakeLists.txt target/webkit/Source/JavaScriptCore/CMakeLists.txt
261-
--- target-org/webkit/Source/JavaScriptCore/CMakeLists.txt 2018-07-25 09:56:23.662494914 +0200
262-
+++ target/webkit/Source/JavaScriptCore/CMakeLists.txt 2018-07-18 12:55:24.726736260 +0200
263-
@@ -118,5 +118,7 @@
264-
set(JavaScriptCore_LIBRARIES
265-
WTF${DEBUG_SUFFIX}
266-
${ICU_I18N_LIBRARIES}
267-
+ ${ICU_LIBRARIES}
268-
+ ${ICU_DATA_LIBRARIES}
269-
)
270-
271-
diff -aur target-org/webkit/Source/JavaScriptCore/API/JSBase.cpp target/webkit/Source/JavaScriptCore/API/JSBase.cpp
272-
--- target-org/webkit/Source/JavaScriptCore/API/JSBase.cpp 2017-05-05 02:37:52.000000000 +0300
273-
+++ target/webkit/Source/JavaScriptCore/API/JSBase.cpp 2018-10-09 14:38:30.000000000 +0300
274-
@@ -191,3 +191,9 @@
275-
const char iosInstallName60 = 0;
276-
const char iosInstallName61 = 0;
277-
#endif
278-
+
279-
+extern "C" int __android_log_print(int prio, const char *tag, const char *fmt, ...);
280-
+__attribute__((constructor))
281-
+void printVersion() {
282-
+ __android_log_print(3, "JavaScriptCore.Version", "%s", JSC_VERSION);
283-
+}
284-
diff -aur target-org/webkit/Source/JavaScriptCore/CMakeLists.txt target/webkit/Source/JavaScriptCore/CMakeLists.txt
285-
--- target-org/webkit/Source/JavaScriptCore/CMakeLists.txt 2017-10-16 15:19:26.000000000 +0300
286-
+++ target/webkit/Source/JavaScriptCore/CMakeLists.txt 2018-10-09 14:44:23.000000000 +0300
287-
@@ -119,4 +119,6 @@
288-
WTF${DEBUG_SUFFIX}
289-
${ICU_I18N_LIBRARIES}
290-
+ log
291-
)
292-
+add_definitions(-DJSC_VERSION="${JSC_VERSION}")
293-
294-
diff -aur target-org/webkit/Source/WTF/wtf/linux/MemoryFootprintLinux.cpp target/webkit/Source/WTF/wtf/linux/MemoryFootprintLinux.cpp
295-
--- target-org/webkit/Source/WTF/wtf/linux/MemoryFootprintLinux.cpp 2018-11-11 23:05:48.000000000 +0800
296-
+++ target/webkit/Source/WTF/wtf/linux/MemoryFootprintLinux.cpp 2018-11-12 23:39:22.000000000 +0800
297-
@@ -23,6 +23,10 @@
298-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
299-
*/
300-
301-
+// CUSTOMIZE_REACT_NATIVE: getline() does not implemented until Android NDK API 18.
302-
+// Since MemoryFootprint does not being used in JSC, comment out to prevent build break.
303-
+#if !defined(CUSTOMIZE_REACT_NATIVE)
304-
+
305-
#include "config.h"
306-
#include "MemoryFootprint.h"
307-
308-
@@ -107,3 +111,4 @@
309-
}
310-
311-
}
312-
+#endif // !defined(CUSTOMIZE_REACT_NATIVE)
313-
diff -aur target-org/webkit/Source/JavaScriptCore/Sources.txt target/webkit/Source/JavaScriptCore/Sources.txt
314-
--- target-org/webkit/Source/JavaScriptCore/Sources.txt 2018-11-11 23:05:40.000000000 +0800
315-
+++ target/webkit/Source/JavaScriptCore/Sources.txt 2018-11-12 00:03:26.000000000 +0800
316-
@@ -1046,3 +1046,6 @@
317-
318-
// Derived Sources
319-
yarr/YarrCanonicalizeUnicode.cpp
320-
+
321-
+// Polyfills
322-
+polyfills/log2.cpp
323-
diff -aur /dev/null target/webkit/Source/JavaScriptCore/polyfills/log2.cpp
324-
--- /dev/null 2018-11-12 01:21:57.000000000 +0800
325-
+++ target/webkit/Source/JavaScriptCore/polyfills/log2.cpp 2018-11-12 01:19:49.000000000 +0800
326-
@@ -0,0 +1,7 @@
327-
+#include <math.h>
328-
+
329-
+#if defined(__ANDROID__) && __ANDROID_API__ < 18
330-
+double log2(double x) {
331-
+ return log(x) / log(2.0);
332-
+}
333-
+#endif

patches/jsc_disable_icu.patch

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
diff -aur target-org/webkit/Source/WTF/wtf/CMakeLists.txt target/webkit/Source/WTF/wtf/CMakeLists.txt
2+
--- target-org/webkit/Source/WTF/wtf/CMakeLists.txt 2019-04-27 00:04:50.000000000 +0800
3+
+++ target/webkit/Source/WTF/wtf/CMakeLists.txt 2019-04-27 00:14:29.000000000 +0800
4+
@@ -475,7 +475,6 @@
5+
list(APPEND WTF_SOURCES
6+
unicode/CollatorDefault.cpp
7+
8+
- unicode/icu/CollatorICU.cpp
9+
)
10+
set(WTF_SYSTEM_INCLUDE_DIRECTORIES
11+
${ICU_INCLUDE_DIRS}

0 commit comments

Comments
 (0)