summaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtwebengine
diff options
context:
space:
mode:
authorMikko Gronoff <mikko.gronoff@qt.io>2017-10-18 11:06:26 +0300
committerMikko Gronoff <mikko.gronoff@qt.io>2017-10-31 13:41:46 +0200
commit2401cc3106e6f6e1d9c2a3016110cfa914a13dab (patch)
tree91ff16b8128511bfe449f54977c4fb3f3511647d /recipes-qt/qt5/qtwebengine
parentf3213460a0495cac618d37bcbe59fddd58b6d65d (diff)
parente0db5666f9c04c92683514ca220b0aafd0a49df2 (diff)
downloadmeta-qt5-2401cc3106e6f6e1d9c2a3016110cfa914a13dab.tar.gz
Merge remote-tracking branch 'qtyocto/5.9' into 5.10
* qtyocto/5.9: qt5: update version to 5.9.3 qt5: remove use of OE_QMAKE_WAYLAND_SCANNER qtquickcontrols: remove duplicate FILES append qtdeclarative: remove upstreamed patch qt5: update qtx11extras revision for 5.9.2 qt5: update submodules qt5: update submodules Merge remote-tracking branch 'qtyocto/upstream/master' into 5.9 qt5: add missing commercial license Fix compiling for qtenginio and qtquick1 Use correct HostPrefix qt5: update submodules qtwebview: remove obsolete patch qt5: update submodules qtwebengine: add patch for long paths qtwebengine: update 0004-Force-host-toolchain-configuration.patch qtwebengine: fix build with glibc-2.26 qt: upgrade to latest revision in 5.9 branch qt: refresh remaining patches and add links to meta-qt5 repos qtwebengine: add a fix for building demobrowser without printing support Upgrade to Qt 5.9.0 qtbase, qtgraphicaleffect, qtmultimedia, qtscript, qtlocation, qtwayland: disable gold to work around binutils bug qtwebengine: disable SECURITY_STRINGFORMAT to fix the build meta-toolchain-qt5: don't rely on COREBASE/LICENSE qtbase: fix Krogoth build regression from efa8aaf qt3d: refresh patches qtwebengine: refresh patches qtbase: refresh the patches qtwebengine: update to 5.9.2 qt5: bump version number to 5.9.2 qtbase: fix Krogoth build regression from efa8aaf gstreamer1.0-plugins-bad: add qt5 packageconfig qtbase: remove qtbase-native from DEPENDS qt3d: Fix build with clang qtwebkit: Backport a patch to fix build with icu-59 quazip: update to 0.7.3 and add missing metadata qtbase: Use sched_yield instead of pthread_yield qtbase: Fix ptests with clang qt5-ptest: fix build with yocto < 2.3 (pyro) qtbase: add ptest qwt-qt5.inc: fix QA warning qt5-git.inc: set CVE_PRODUCT to qt python-pyqt5: include QtWidgets module qt5-creator: Link with libexecinfo on musl qtvirtualkeyboard: Include sys/time.h qtwebengine: Fix build on musl qt5-creator: Fix build with NO_ACCESSIBILITY maliit-framework-qt5: Always have optimize flags qtbase-native: Fix qdbuscpp2xml segfault qt5-ptest.inc: append do_populate_sysroot only for target qtwebengine: fix build with gcc7 qwt-qt5: Fix rpath issues qtquickcontrols2: fix compilation of examples/texteditor qtquick1: add ptest qtdeclarative: add ptest qtxmlpatterns: add ptest qt5: add qt5-ptest.inc qtwebengine: add PACKAGECONFIG for webrtc libconnman-qt5: update to 1.1.10 Revert "qttools: DEPENDS on icu" qttools: DEPENDS on icu qtbase: respect "ld-is-gold" DISTRO_FEATURES Change-Id: I9dfcab3c94b62b22b68e66e8b13bdf4c570aada1
Diffstat (limited to 'recipes-qt/qt5/qtwebengine')
-rw-r--r--recipes-qt/qt5/qtwebengine/0001-Build-accessibility-tests-only-when-Qt-is-configured.patch41
-rw-r--r--recipes-qt/qt5/qtwebengine/0001-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch (renamed from recipes-qt/qt5/qtwebengine/0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch)20
-rw-r--r--recipes-qt/qt5/qtwebengine/0001-functions.prf-allow-build-for-linux-oe-g-platform.patch30
-rw-r--r--recipes-qt/qt5/qtwebengine/0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch23
-rw-r--r--recipes-qt/qt5/qtwebengine/0002-chromium-Force-host-toolchain-configuration.patch40
-rw-r--r--recipes-qt/qt5/qtwebengine/0003-Include-dependency-to-QCoreApplication-translate.patch23
-rw-r--r--recipes-qt/qt5/qtwebengine/0003-chromium-workaround-for-too-long-.rps-file-name.patch (renamed from recipes-qt/qt5/qtwebengine/0001-chromium-workaround-for-too-long-.rps-file-name.patch)12
-rw-r--r--recipes-qt/qt5/qtwebengine/0004-Force-host-toolchain-configuration.patch (renamed from recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch)32
-rw-r--r--recipes-qt/qt5/qtwebengine/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch33
-rw-r--r--recipes-qt/qt5/qtwebengine/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch45
-rw-r--r--recipes-qt/qt5/qtwebengine/0006-chromium-musl-include-fcntl.h-for-loff_t.patch22
-rw-r--r--recipes-qt/qt5/qtwebengine/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch62
-rw-r--r--recipes-qt/qt5/qtwebengine/0008-chromium-musl-linux-glibc-make-the-distinction.patch23
-rw-r--r--recipes-qt/qt5/qtwebengine/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch24
-rw-r--r--recipes-qt/qt5/qtwebengine/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch24
-rw-r--r--recipes-qt/qt5/qtwebengine/0011-chromium-musl-Match-syscalls-to-match-musl.patch44
-rw-r--r--recipes-qt/qt5/qtwebengine/0012-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch79
-rw-r--r--recipes-qt/qt5/qtwebengine/0013-chromium-musl-Do-not-define-__sbrk-on-musl.patch26
-rw-r--r--recipes-qt/qt5/qtwebengine/0014-chromium-musl-Adjust-default-pthread-stack-size.patch47
-rw-r--r--recipes-qt/qt5/qtwebengine/0015-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch22
-rw-r--r--recipes-qt/qt5/qtwebengine/0016-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch23
21 files changed, 650 insertions, 45 deletions
diff --git a/recipes-qt/qt5/qtwebengine/0001-Build-accessibility-tests-only-when-Qt-is-configured.patch b/recipes-qt/qt5/qtwebengine/0001-Build-accessibility-tests-only-when-Qt-is-configured.patch
new file mode 100644
index 00000000..a5fb1d84
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0001-Build-accessibility-tests-only-when-Qt-is-configured.patch
@@ -0,0 +1,41 @@
1From 4649f2a11fe4b87e9b79f50ff8ac99ba9a2344f4 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Michael=20Br=C3=BCning?= <michael.bruning@qt.io>
3Date: Wed, 25 Oct 2017 09:47:47 +0200
4Subject: [PATCH] Build accessibility tests only when Qt is configured with
5 accessibility
6
7Original patch by Daniel Mack <daniel@zonque.org>
8
9Task-number: QTBUG-64015
10Change-Id: I7dd0a1aa9bff08c6d19e818acf0e1b8b4b701f5b
11Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
12---
13 tests/auto/widgets/widgets.pro | 5 ++++-
14 1 file changed, 4 insertions(+), 1 deletion(-)
15
16diff --git a/tests/auto/widgets/widgets.pro b/tests/auto/widgets/widgets.pro
17index 441eea0..7bab18f 100644
18--- a/tests/auto/widgets/widgets.pro
19+++ b/tests/auto/widgets/widgets.pro
20@@ -1,7 +1,6 @@
21 TEMPLATE = subdirs
22
23 SUBDIRS += \
24- qwebengineaccessibility \
25 qwebenginedefaultsurfaceformat \
26 qwebenginedownloads \
27 qwebenginefaviconmanager \
28@@ -14,6 +13,10 @@ SUBDIRS += \
29 qwebenginesettings \
30 qwebengineview
31
32+qtConfig(accessibility) {
33+ SUBDIRS += qwebengineaccessibility
34+}
35+
36 contains(WEBENGINE_CONFIG, use_spellchecker):!cross_compile {
37 !contains(WEBENGINE_CONFIG, use_native_spellchecker) {
38 SUBDIRS += qwebenginespellcheck
39--
402.7.4
41
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/0001-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch
index 34f58ded..0e9ea724 100644
--- a/recipes-qt/qt5/qtwebengine/0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch
+++ b/recipes-qt/qt5/qtwebengine/0001-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch
@@ -1,4 +1,4 @@
1From de6311b4d556abbe131462a3cd962ae87da59522 Mon Sep 17 00:00:00 2001 1From d559da6ab0834aeb7307008015b6232e586fea00 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] chromium: Change false to FALSE and 1 to TRUE, FIX
@@ -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
diff --git a/recipes-qt/qt5/qtwebengine/0001-functions.prf-allow-build-for-linux-oe-g-platform.patch b/recipes-qt/qt5/qtwebengine/0001-functions.prf-allow-build-for-linux-oe-g-platform.patch
new file mode 100644
index 00000000..275ef9e8
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0001-functions.prf-allow-build-for-linux-oe-g-platform.patch
@@ -0,0 +1,30 @@
1From 96746f09947cc36f6c9fc8631bc6a6e7f59efe24 Mon Sep 17 00:00:00 2001
2From: Frieder Schrempf <frieder.schrempf@online.de>
3Date: Mon, 1 Dec 2014 14:34:40 +0000
4Subject: [PATCH] functions.prf: allow build for linux-oe-g++ platform
5
6Upstream-Status: Inappropriate [OE specific]
7
8Signed-off-by: Frieder Schrempf <frieder.schrempf@online.de>
9Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
10---
11 mkspecs/features/functions.prf | 6 ++++++
12 1 file changed, 6 insertions(+)
13
14diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf
15index 56894e58..ef418a4c 100644
16--- a/mkspecs/features/functions.prf
17+++ b/mkspecs/features/functions.prf
18@@ -21,6 +21,12 @@ defineTest(isPlatformSupported) {
19 return(false)
20 }
21 gcc:!clang:!isGCCVersionSupported(): return(false)
22+ } else:linux-oe-g++* {
23+ !gcc:!clang {
24+ skipBuild("Qt WebEngine on Linux requires clang or GCC.")
25+ return(false)
26+ }
27+ gcc:!clang:!isGCCVersionSupported(): return(false)
28 } else:win32 {
29 winrt {
30 skipBuild("WinRT is not supported.")
diff --git a/recipes-qt/qt5/qtwebengine/0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch b/recipes-qt/qt5/qtwebengine/0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch
new file mode 100644
index 00000000..6ada3f94
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch
@@ -0,0 +1,23 @@
1From 06e9e7844ffa2b6985e5fa7a1c475c8a54ca252a Mon Sep 17 00:00:00 2001
2From: Cleiton Bueno <cleitonrbueno@gmail.com>
3Date: Fri, 25 Dec 2015 18:16:05 -0200
4Subject: [PATCH] WebEngine qquickwebengineview_p_p.h add include QColor
5
6Signed-off-by: Cleiton Bueno <cleitonrbueno@gmail.com>
7---
8 src/webengine/api/qquickwebengineview_p_p.h | 2 ++
9 1 file changed, 2 insertions(+)
10
11diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h
12index 19ecf5e1..f6f638ee 100644
13--- a/src/webengine/api/qquickwebengineview_p_p.h
14+++ b/src/webengine/api/qquickwebengineview_p_p.h
15@@ -59,6 +59,8 @@
16 #include <QString>
17 #include <QtCore/qcompilerdetection.h>
18 #include <QtGui/qaccessibleobject.h>
19+#include <QColor>
20+
21
22 namespace QtWebEngineCore {
23 class WebContentsAdapter;
diff --git a/recipes-qt/qt5/qtwebengine/0002-chromium-Force-host-toolchain-configuration.patch b/recipes-qt/qt5/qtwebengine/0002-chromium-Force-host-toolchain-configuration.patch
new file mode 100644
index 00000000..4a1a975f
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0002-chromium-Force-host-toolchain-configuration.patch
@@ -0,0 +1,40 @@
1From a0b1a742813d0846472fab4aada2388bf2d42d80 Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Wed, 15 Mar 2017 13:53:28 +0200
4Subject: [PATCH] chromium: Force host toolchain configuration
5
6Force gcc/g++ to be used for parts using host toolchain, since
7the option(host_build) does not work in yocto builds.
8
9Upstream-Status: Inappropriate [OE specific]
10Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
11Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
12---
13 chromium/tools/gn/bootstrap/bootstrap.py | 12 ++++++------
14 1 file changed, 6 insertions(+), 6 deletions(-)
15
16diff --git a/chromium/tools/gn/bootstrap/bootstrap.py b/chromium/tools/gn/bootstrap/bootstrap.py
17index 43d252b43e..e58347848e 100755
18--- a/chromium/tools/gn/bootstrap/bootstrap.py
19+++ b/chromium/tools/gn/bootstrap/bootstrap.py
20@@ -298,14 +298,14 @@ def write_gn_ninja(path, root_gen_dir, options):
21 ld = os.environ.get('LD', 'link.exe')
22 ar = os.environ.get('AR', 'lib.exe')
23 else:
24- cc = os.environ.get('CC', 'cc')
25- cxx = os.environ.get('CXX', 'c++')
26+ cc = os.environ.get('CC_host', 'gcc')
27+ cxx = os.environ.get('CXX_host', 'g++')
28 ld = cxx
29- ar = os.environ.get('AR', 'ar')
30+ ar = os.environ.get('AR_host', 'ar')
31
32- cflags = os.environ.get('CFLAGS', '').split()
33- cflags_cc = os.environ.get('CXXFLAGS', '').split()
34- ldflags = os.environ.get('LDFLAGS', '').split()
35+ cflags = os.environ.get('CFLAGS_host', '').split()
36+ cflags_cc = os.environ.get('CXXFLAGS_host', '').split()
37+ ldflags = os.environ.get('LDFLAGS_host', '').split()
38 include_dirs = [root_gen_dir, SRC_ROOT]
39 libs = []
40
diff --git a/recipes-qt/qt5/qtwebengine/0003-Include-dependency-to-QCoreApplication-translate.patch b/recipes-qt/qt5/qtwebengine/0003-Include-dependency-to-QCoreApplication-translate.patch
new file mode 100644
index 00000000..8c0484bd
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0003-Include-dependency-to-QCoreApplication-translate.patch
@@ -0,0 +1,23 @@
1From bfd5e19fea1315d10b3217acaf92dfc32018ad03 Mon Sep 17 00:00:00 2001
2From: Cleiton Bueno <cleitonrbueno@gmail.com>
3Date: Thu, 24 Dec 2015 15:59:51 -0200
4Subject: [PATCH] Include dependency to QCoreApplication::translate()
5
6Signed-off-by: Cleiton Bueno <cleitonrbueno@gmail.com>
7---
8 src/core/media_capture_devices_dispatcher.h | 2 ++
9 1 file changed, 2 insertions(+)
10
11diff --git a/src/core/media_capture_devices_dispatcher.h b/src/core/media_capture_devices_dispatcher.h
12index c378c327..1d33d956 100644
13--- a/src/core/media_capture_devices_dispatcher.h
14+++ b/src/core/media_capture_devices_dispatcher.h
15@@ -45,6 +45,8 @@
16 #include <list>
17 #include <map>
18
19+#include <QCoreApplication>
20+
21 #include "web_contents_adapter_client.h"
22
23 #include "base/callback.h"
diff --git a/recipes-qt/qt5/qtwebengine/0001-chromium-workaround-for-too-long-.rps-file-name.patch b/recipes-qt/qt5/qtwebengine/0003-chromium-workaround-for-too-long-.rps-file-name.patch
index 42ceeacf..ed897ea2 100644
--- a/recipes-qt/qt5/qtwebengine/0001-chromium-workaround-for-too-long-.rps-file-name.patch
+++ b/recipes-qt/qt5/qtwebengine/0003-chromium-workaround-for-too-long-.rps-file-name.patch
@@ -1,4 +1,4 @@
1From c72097e8790553771daf3231124c3fbe1a438379 Mon Sep 17 00:00:00 2001 1From 5c31bc4a7ae6133fe4cb60fa71465c6706a071c8 Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io> 2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Thu, 30 Mar 2017 11:37:24 +0300 3Date: Thu, 30 Mar 2017 11:37:24 +0300
4Subject: [PATCH] chromium: workaround for too long .rps file name 4Subject: [PATCH] chromium: workaround for too long .rps file name
@@ -14,13 +14,13 @@ le.rsp): Unable to create file. File name too long
14Task-number: QTBUG-59769 14Task-number: QTBUG-59769
15Change-Id: I73c5e64ae5174412be2a675e35b0b6047f2bf4c1 15Change-Id: I73c5e64ae5174412be2a675e35b0b6047f2bf4c1
16--- 16---
17 src/3rdparty/chromium/tools/gn/ninja_action_target_writer.cc | 9 +++++++++ 17 chromium/tools/gn/ninja_action_target_writer.cc | 9 +++++++++
18 1 file changed, 9 insertions(+) 18 1 file changed, 9 insertions(+)
19 19
20diff --git a/src/3rdparty/chromium/tools/gn/ninja_action_target_writer.cc b/src/3rdparty/chromium/tools/gn/ninja_action_target_writer.cc 20diff --git a/chromium/tools/gn/ninja_action_target_writer.cc b/chromium/tools/gn/ninja_action_target_writer.cc
21index a5bc6cd..5cefbfe 100644 21index a5bc6cd526..5cefbfe77c 100644
22--- a/src/3rdparty/chromium/tools/gn/ninja_action_target_writer.cc 22--- a/chromium/tools/gn/ninja_action_target_writer.cc
23+++ b/src/3rdparty/chromium/tools/gn/ninja_action_target_writer.cc 23+++ b/chromium/tools/gn/ninja_action_target_writer.cc
24@@ -115,9 +115,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() { 24@@ -115,9 +115,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() {
25 // strictly necessary for regular one-shot actions, but it's easier to 25 // strictly necessary for regular one-shot actions, but it's easier to
26 // just always define unique_name. 26 // just always define unique_name.
diff --git a/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch b/recipes-qt/qt5/qtwebengine/0004-Force-host-toolchain-configuration.patch
index 148b0629..bda0ba1a 100644
--- a/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch
+++ b/recipes-qt/qt5/qtwebengine/0004-Force-host-toolchain-configuration.patch
@@ -1,4 +1,4 @@
1From e7d1e5dfdece59f247a1d71ad0ca1b0c8cadda21 Mon Sep 17 00:00:00 2001 1From 9bdd03ad0bbb221ad7bffe0e570605c21c28b1b5 Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io> 2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Wed, 15 Mar 2017 13:53:28 +0200 3Date: Wed, 15 Mar 2017 13:53:28 +0200
4Subject: [PATCH] Force host toolchain configuration 4Subject: [PATCH] Force host toolchain configuration
@@ -10,7 +10,6 @@ Don't use QT_ARCH for the host architecture, since that's always
10the target architecture in bitbake builds, instead ask specifically 10the target architecture in bitbake builds, instead ask specifically
11for the qmakes's host architecture. 11for the qmakes's host architecture.
12 12
13Change-Id: I38329d545e527dbc5892547b6951822171ab761f
14Upstream-Status: Inappropriate [OE specific] 13Upstream-Status: Inappropriate [OE specific]
15Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> 14Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
16--- 15---
@@ -19,7 +18,7 @@ Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
19 2 files changed, 8 insertions(+), 8 deletions(-) 18 2 files changed, 8 insertions(+), 8 deletions(-)
20 19
21diff --git a/src/buildtools/configure_host.pro b/src/buildtools/configure_host.pro 20diff --git a/src/buildtools/configure_host.pro b/src/buildtools/configure_host.pro
22index f1b3d47..1212372 100644 21index f1b3d47b..12123729 100644
23--- a/src/buildtools/configure_host.pro 22--- a/src/buildtools/configure_host.pro
24+++ b/src/buildtools/configure_host.pro 23+++ b/src/buildtools/configure_host.pro
25@@ -4,7 +4,7 @@ TEMPLATE = aux 24@@ -4,7 +4,7 @@ TEMPLATE = aux
@@ -58,7 +57,7 @@ index f1b3d47..1212372 100644
58 " nm = \"$$which(nm)\" " \ 57 " nm = \"$$which(nm)\" " \
59 " toolchain_args = { " \ 58 " toolchain_args = { " \
60diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri 59diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
61index 714c864..f66ca55 100644 60index 714c864d..f66ca551 100644
62--- a/src/core/config/linux.pri 61--- a/src/core/config/linux.pri
63+++ b/src/core/config/linux.pri 62+++ b/src/core/config/linux.pri
64@@ -98,7 +98,7 @@ contains(QT_ARCH, "mips"):!host_build { 63@@ -98,7 +98,7 @@ contains(QT_ARCH, "mips"):!host_build {
@@ -70,28 +69,3 @@ index 714c864..f66ca55 100644
70 gn_args += host_cpu=\"$$GN_HOST_CPU\" 69 gn_args += host_cpu=\"$$GN_HOST_CPU\"
71 # Don't bother trying to use system libraries in this case 70 # Don't bother trying to use system libraries in this case
72 gn_args += use_glib=false 71 gn_args += use_glib=false
73diff --git a/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py b/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py
74index 75b9690..601f688 100755
75--- a/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py
76+++ b/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py
77@@ -298,14 +298,14 @@ def write_gn_ninja(path, root_gen_dir, options):
78 ld = os.environ.get('LD', 'link.exe')
79 ar = os.environ.get('AR', 'lib.exe')
80 else:
81- cc = os.environ.get('CC', 'cc')
82- cxx = os.environ.get('CXX', 'c++')
83+ cc = os.environ.get('CC_host', 'gcc')
84+ cxx = os.environ.get('CXX_host', 'g++')
85 ld = cxx
86- ar = os.environ.get('AR', 'ar')
87+ ar = os.environ.get('AR_host', 'ar')
88
89- cflags = os.environ.get('CFLAGS', '').split()
90- cflags_cc = os.environ.get('CXXFLAGS', '').split()
91- ldflags = os.environ.get('LDFLAGS', '').split()
92+ cflags = os.environ.get('CFLAGS_host', '').split()
93+ cflags_cc = os.environ.get('CXXFLAGS_host', '').split()
94+ ldflags = os.environ.get('LDFLAGS_host', '').split()
95 include_dirs = [root_gen_dir, SRC_ROOT]
96 libs = []
97
diff --git a/recipes-qt/qt5/qtwebengine/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch b/recipes-qt/qt5/qtwebengine/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch
new file mode 100644
index 00000000..68ffb6ce
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch
@@ -0,0 +1,33 @@
1From 71b3c3d4160c5e98cc0a0797710bdd121a79e8b8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 14:01:12 -0700
4Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if not
5 defined
6
7Musl does not define this Macro
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 chromium/sandbox/linux/suid/sandbox.c | 9 +++++++++
12 1 file changed, 9 insertions(+)
13
14diff --git a/chromium/sandbox/linux/suid/sandbox.c b/chromium/sandbox/linux/suid/sandbox.c
15index b655d1c79c..3de34e36f2 100644
16--- a/chromium/sandbox/linux/suid/sandbox.c
17+++ b/chromium/sandbox/linux/suid/sandbox.c
18@@ -44,6 +44,15 @@ static bool DropRoot();
19
20 #define HANDLE_EINTR(x) TEMP_FAILURE_RETRY(x)
21
22+#ifndef TEMP_FAILURE_RETRY
23+# define TEMP_FAILURE_RETRY(expression) \
24+ (__extension__ \
25+ ({ long int __result; \
26+ do __result = (long int) (expression); \
27+ while (__result == -1L && errno == EINTR); \
28+ __result; }))
29+#endif
30+
31 static void FatalError(const char* msg, ...)
32 __attribute__((noreturn, format(printf, 1, 2)));
33
diff --git a/recipes-qt/qt5/qtwebengine/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch b/recipes-qt/qt5/qtwebengine/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
new file mode 100644
index 00000000..bf1f1891
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
@@ -0,0 +1,45 @@
1From e695f37fc52defd1b96664b003444692e9b6cb65 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 14:09:06 -0700
4Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on non-glibc/linux
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 chromium/base/trace_event/malloc_dump_provider.cc | 3 ++-
9 chromium/content/child/content_child_helpers.cc | 2 +-
10 2 files changed, 3 insertions(+), 2 deletions(-)
11
12diff --git a/chromium/base/trace_event/malloc_dump_provider.cc b/chromium/base/trace_event/malloc_dump_provider.cc
13index 7d0cb57931..10be59ebad 100644
14--- a/chromium/base/trace_event/malloc_dump_provider.cc
15+++ b/chromium/base/trace_event/malloc_dump_provider.cc
16@@ -210,6 +210,7 @@ MallocDumpProvider::~MallocDumpProvider() {}
17 // the current process.
18 bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args,
19 ProcessMemoryDump* pmd) {
20+#if defined(__GLIBC__)
21 size_t total_virtual_size = 0;
22 size_t resident_size = 0;
23 size_t allocated_objects_size = 0;
24@@ -321,7 +322,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args,
25 pmd->DumpHeapUsage(metrics_by_context, overhead, "malloc");
26 }
27 tid_dumping_heap_ = kInvalidThreadId;
28-
29+#endif // __GLIBC__
30 return true;
31 }
32
33diff --git a/chromium/content/child/content_child_helpers.cc b/chromium/content/child/content_child_helpers.cc
34index 7ddeb4d16a..b8c73b09c5 100644
35--- a/chromium/content/child/content_child_helpers.cc
36+++ b/chromium/content/child/content_child_helpers.cc
37@@ -25,7 +25,7 @@ namespace content {
38 // though, this provides only a partial and misleading value.
39 // Unfortunately some telemetry benchmark rely on it and these need to
40 // be refactored before getting rid of this. See crbug.com/581365 .
41-#if defined(OS_LINUX) || defined(OS_ANDROID)
42+#if defined(__GLIBC__) || defined(OS_ANDROID)
43 size_t GetMemoryUsageKB() {
44 struct mallinfo minfo = mallinfo();
45 uint64_t mem_usage =
diff --git a/recipes-qt/qt5/qtwebengine/0006-chromium-musl-include-fcntl.h-for-loff_t.patch b/recipes-qt/qt5/qtwebengine/0006-chromium-musl-include-fcntl.h-for-loff_t.patch
new file mode 100644
index 00000000..b39ab2c5
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0006-chromium-musl-include-fcntl.h-for-loff_t.patch
@@ -0,0 +1,22 @@
1From ee6aec4439a7ee320d7700d7f10cd3948a73f3e3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 14:37:49 -0700
4Subject: [PATCH] chromium: musl: include fcntl.h for loff_t
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h | 1 +
9 1 file changed, 1 insertion(+)
10
11diff --git a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
12index b29ec2d29a..91f77dd88d 100644
13--- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
14+++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
15@@ -150,6 +150,7 @@ extern "C" {
16 #include <stddef.h>
17 #include <stdint.h>
18 #include <string.h>
19+#include <fcntl.h>
20 #include <sys/ptrace.h>
21 #include <sys/resource.h>
22 #include <sys/time.h>
diff --git a/recipes-qt/qt5/qtwebengine/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch b/recipes-qt/qt5/qtwebengine/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch
new file mode 100644
index 00000000..65f709d5
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch
@@ -0,0 +1,62 @@
1From 90ebe616e563ab1224234281ea7b1a478f42ca92 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 14:38:37 -0700
4Subject: [PATCH] chromium: musl: use off64_t instead of the internal __off64_t
5
6- only do the glibc 32-bit ABI check for mmap/mmap64 on gnu libc. musl
7 does not support the 32-bit ABI.
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 .../third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 10 +++++-----
12 1 file changed, 5 insertions(+), 5 deletions(-)
13
14diff --git a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h
15index 715c045f66..edc8cf2db7 100644
16--- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h
17+++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h
18@@ -77,7 +77,7 @@ typedef off64_t __off64_t;
19
20 static inline void* do_mmap64(void *start, size_t length,
21 int prot, int flags,
22- int fd, __off64_t offset) __THROW {
23+ int fd, off64_t offset) __THROW {
24 // The original gperftools uses sys_mmap() here. But, it is not allowed by
25 // Chromium's sandbox.
26 return (void *)syscall(SYS_mmap, start, length, prot, flags, fd, offset);
27@@ -90,7 +90,7 @@ static inline void* do_mmap64(void *start, size_t length,
28
29 static inline void* do_mmap64(void *start, size_t length,
30 int prot, int flags,
31- int fd, __off64_t offset) __THROW {
32+ int fd, off64_t offset) __THROW {
33 void *result;
34
35 // Try mmap2() unless it's not supported
36@@ -161,7 +161,7 @@ static inline void* do_mmap64(void *start, size_t length,
37
38 extern "C" {
39 void* mmap64(void *start, size_t length, int prot, int flags,
40- int fd, __off64_t offset ) __THROW
41+ int fd, off64_t offset ) __THROW
42 ATTRIBUTE_SECTION(malloc_hook);
43 void* mmap(void *start, size_t length,int prot, int flags,
44 int fd, off_t offset) __THROW
45@@ -178,7 +178,7 @@ extern "C" {
46 }
47
48 extern "C" void* mmap64(void *start, size_t length, int prot, int flags,
49- int fd, __off64_t offset) __THROW {
50+ int fd, off64_t offset) __THROW {
51 MallocHook::InvokePreMmapHook(start, length, prot, flags, fd, offset);
52 void *result;
53 if (!MallocHook::InvokeMmapReplacement(
54@@ -189,7 +189,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags,
55 return result;
56 }
57
58-# if !defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH)
59+# if defined(__GLIBC__) && (!defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH))
60
61 extern "C" void* mmap(void *start, size_t length, int prot, int flags,
62 int fd, off_t offset) __THROW {
diff --git a/recipes-qt/qt5/qtwebengine/0008-chromium-musl-linux-glibc-make-the-distinction.patch b/recipes-qt/qt5/qtwebengine/0008-chromium-musl-linux-glibc-make-the-distinction.patch
new file mode 100644
index 00000000..7a778c22
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0008-chromium-musl-linux-glibc-make-the-distinction.patch
@@ -0,0 +1,23 @@
1From d0621f9278ddd04c05b6ab3ef638be65f96f1bd6 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 14:54:38 -0700
4Subject: [PATCH] chromium: musl: linux != glibc, make the distinction
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 chromium/base/allocator/allocator_check.cc | 2 +-
9 1 file changed, 1 insertion(+), 1 deletion(-)
10
11diff --git a/chromium/base/allocator/allocator_check.cc b/chromium/base/allocator/allocator_check.cc
12index 5a0564d2f3..8c2dc6491d 100644
13--- a/chromium/base/allocator/allocator_check.cc
14+++ b/chromium/base/allocator/allocator_check.cc
15@@ -21,7 +21,7 @@ bool IsAllocatorInitialized() {
16 #if defined(OS_WIN) && defined(ALLOCATOR_SHIM)
17 // Set by allocator_shim_win.cc when the shimmed _set_new_mode() is called.
18 return g_is_win_shim_layer_initialized;
19-#elif defined(OS_LINUX) && defined(USE_TCMALLOC) && \
20+#elif defined(__GLIBC__) && defined(USE_TCMALLOC) && \
21 !defined(MEMORY_TOOL_REPLACES_ALLOCATOR)
22 // From third_party/tcmalloc/chromium/src/gperftools/tcmalloc.h.
23 // TODO(primiano): replace with an include once base can depend on allocator.
diff --git a/recipes-qt/qt5/qtwebengine/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch b/recipes-qt/qt5/qtwebengine/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
new file mode 100644
index 00000000..2bc79932
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
@@ -0,0 +1,24 @@
1From e8f8e7aa48e97b9b91858ef94f1940464a9178a3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 15:09:02 -0700
4Subject: [PATCH] chromium: musl: allocator: Do not include glibc_weak_symbols
5 for musl
6
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9 chromium/base/allocator/allocator_shim.cc | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-)
11
12diff --git a/chromium/base/allocator/allocator_shim.cc b/chromium/base/allocator/allocator_shim.cc
13index 95480ea4b6..1de3d1a532 100644
14--- a/chromium/base/allocator/allocator_shim.cc
15+++ b/chromium/base/allocator/allocator_shim.cc
16@@ -266,7 +266,7 @@ void ShimFree(void* address) {
17 // In the case of tcmalloc we also want to plumb into the glibc hooks
18 // to avoid that allocations made in glibc itself (e.g., strdup()) get
19 // accidentally performed on the glibc heap instead of the tcmalloc one.
20-#if defined(USE_TCMALLOC)
21+#if defined(USE_TCMALLOC) && defined(__GLIBC__)
22 #include "base/allocator/allocator_shim_override_glibc_weak_symbols.h"
23 #endif
24
diff --git a/recipes-qt/qt5/qtwebengine/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch b/recipes-qt/qt5/qtwebengine/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch
new file mode 100644
index 00000000..82e85f94
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch
@@ -0,0 +1,24 @@
1From ab272bfc9aef6d50c44e1c1bdfdb8a325aebaefc Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 15:12:39 -0700
4Subject: [PATCH] chromium: musl: Use correct member name __si_fields from
5 LinuxSigInfo
6
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9 chromium/sandbox/linux/seccomp-bpf/trap.cc | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-)
11
12diff --git a/chromium/sandbox/linux/seccomp-bpf/trap.cc b/chromium/sandbox/linux/seccomp-bpf/trap.cc
13index 003708d2c8..0fef3148f9 100644
14--- a/chromium/sandbox/linux/seccomp-bpf/trap.cc
15+++ b/chromium/sandbox/linux/seccomp-bpf/trap.cc
16@@ -168,7 +168,7 @@ void Trap::SigSys(int nr, LinuxSigInfo* info, ucontext_t* ctx) {
17 // most versions of glibc don't include this information in siginfo_t. So,
18 // we need to explicitly copy it into a arch_sigsys structure.
19 struct arch_sigsys sigsys;
20- memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
21+ memcpy(&sigsys, &info->__si_fields, sizeof(sigsys));
22
23 #if defined(__mips__)
24 // When indirect syscall (syscall(__NR_foo, ...)) is made on Mips, the
diff --git a/recipes-qt/qt5/qtwebengine/0011-chromium-musl-Match-syscalls-to-match-musl.patch b/recipes-qt/qt5/qtwebengine/0011-chromium-musl-Match-syscalls-to-match-musl.patch
new file mode 100644
index 00000000..e4e35efc
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0011-chromium-musl-Match-syscalls-to-match-musl.patch
@@ -0,0 +1,44 @@
1From bd3d6bd46e792e312435897e925cca5ccedc1dda Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 15:24:49 -0700
4Subject: [PATCH] chromium: musl: Match syscalls to match musl
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 chromium/third_party/lss/linux_syscall_support.h | 16 ++++++++++++++++
9 1 file changed, 16 insertions(+)
10
11diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h
12index 9dbd2391b2..a715de177c 100644
13--- a/chromium/third_party/lss/linux_syscall_support.h
14+++ b/chromium/third_party/lss/linux_syscall_support.h
15@@ -793,6 +793,14 @@ struct kernel_statfs {
16 #endif
17
18
19+#undef stat64
20+#undef fstat64
21+
22+#ifndef __NR_fstatat
23+#define __NR_fstatat __NR_fstatat64
24+#endif
25+
26+
27 #if defined(__x86_64__)
28 #ifndef ARCH_SET_GS
29 #define ARCH_SET_GS 0x1001
30@@ -1210,6 +1218,14 @@ struct kernel_statfs {
31 #ifndef __NR_fallocate
32 #define __NR_fallocate 285
33 #endif
34+
35+#ifndef __NR_pread
36+#define __NR_pread __NR_pread64
37+#endif
38+#ifndef __NR_pwrite
39+#define __NR_pwrite __NR_pwrite64
40+#endif
41+
42 /* End of x86-64 definitions */
43 #elif defined(__mips__)
44 #if _MIPS_SIM == _MIPS_SIM_ABI32
diff --git a/recipes-qt/qt5/qtwebengine/0012-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch b/recipes-qt/qt5/qtwebengine/0012-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
new file mode 100644
index 00000000..65adde3e
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0012-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
@@ -0,0 +1,79 @@
1From 505fcfa52c49c9975e63066f631244ace6061d3c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 15:27:50 -0700
4Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for non-glibc
5 platforms
6
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9 chromium/net/dns/dns_config_service_posix.cc | 4 ++++
10 chromium/net/dns/dns_reloader.cc | 4 ++++
11 chromium/net/dns/resolv_compat.h | 29 ++++++++++++++++++++++++++++
12 3 files changed, 37 insertions(+)
13 create mode 100644 chromium/net/dns/resolv_compat.h
14
15diff --git a/chromium/net/dns/dns_config_service_posix.cc b/chromium/net/dns/dns_config_service_posix.cc
16index ba8a369133..e9b40d07fc 100644
17--- a/chromium/net/dns/dns_config_service_posix.cc
18+++ b/chromium/net/dns/dns_config_service_posix.cc
19@@ -25,6 +25,10 @@
20 #include "net/dns/notify_watcher_mac.h"
21 #include "net/dns/serial_worker.h"
22
23+#if defined(OS_LINUX) && !defined(__GLIBC__)
24+#include "net/dns/resolv_compat.h"
25+#endif
26+
27 #if defined(OS_MACOSX) && !defined(OS_IOS)
28 #include "net/dns/dns_config_watcher_mac.h"
29 #endif
30diff --git a/chromium/net/dns/dns_reloader.cc b/chromium/net/dns/dns_reloader.cc
31index 74534e6b1b..2780a776e4 100644
32--- a/chromium/net/dns/dns_reloader.cc
33+++ b/chromium/net/dns/dns_reloader.cc
34@@ -9,6 +9,10 @@
35
36 #include <resolv.h>
37
38+#if defined(OS_LINUX) && !defined(__GLIBC__)
39+#include "net/dns/resolv_compat.h"
40+#endif
41+
42 #include "base/lazy_instance.h"
43 #include "base/logging.h"
44 #include "base/macros.h"
45diff --git a/chromium/net/dns/resolv_compat.h b/chromium/net/dns/resolv_compat.h
46new file mode 100644
47index 0000000000..4f0e852a19
48--- /dev/null
49+++ b/chromium/net/dns/resolv_compat.h
50@@ -0,0 +1,29 @@
51+#if !defined(__GLIBC__)
52+/***************************************************************************
53+ * resolv_compat.h
54+ *
55+ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc
56+ * Note: res_init() is actually deprecated according to
57+ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html
58+ **************************************************************************/
59+#include <string.h>
60+
61+static inline int res_ninit(res_state statp)
62+{
63+ int rc = res_init();
64+ if (statp != &_res) {
65+ memcpy(statp, &_res, sizeof(*statp));
66+ }
67+ return rc;
68+}
69+
70+static inline int res_nclose(res_state statp)
71+{
72+ if (!statp)
73+ return -1;
74+ if (statp != &_res) {
75+ memset(statp, 0, sizeof(*statp));
76+ }
77+ return 0;
78+}
79+#endif
diff --git a/recipes-qt/qt5/qtwebengine/0013-chromium-musl-Do-not-define-__sbrk-on-musl.patch b/recipes-qt/qt5/qtwebengine/0013-chromium-musl-Do-not-define-__sbrk-on-musl.patch
new file mode 100644
index 00000000..6c864285
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0013-chromium-musl-Do-not-define-__sbrk-on-musl.patch
@@ -0,0 +1,26 @@
1From e4d5b6ccd77506edb7d52f3857c4a5f22bea2437 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 15:39:57 -0700
4Subject: [PATCH] chromium: musl: Do not define __sbrk on musl
5
6musl libc does not have sbrk. on musl libc will only work when called with 0 as
7argument, so we just let it out for now
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h
15index edc8cf2db7..a868b50d30 100644
16--- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h
17+++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h
18@@ -233,7 +233,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size,
19 }
20
21 // Don't hook sbrk() in Android, since it doesn't expose __sbrk.
22-#if !defined(__ANDROID__)
23+#if !defined(__ANDROID__) && defined(__GLIBC__)
24 // libc's version:
25 extern "C" void* __sbrk(ptrdiff_t increment);
26
diff --git a/recipes-qt/qt5/qtwebengine/0014-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/0014-chromium-musl-Adjust-default-pthread-stack-size.patch
new file mode 100644
index 00000000..f1cc205b
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0014-chromium-musl-Adjust-default-pthread-stack-size.patch
@@ -0,0 +1,47 @@
1From 72a77c994434ecb708b2790ba9efaf1decc02503 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 16:41:23 -0700
4Subject: [PATCH] chromium: musl: Adjust default pthread stack size
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 chromium/base/threading/platform_thread_linux.cc | 3 ++-
9 chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp | 4 ++--
10 2 files changed, 4 insertions(+), 3 deletions(-)
11
12diff --git a/chromium/base/threading/platform_thread_linux.cc b/chromium/base/threading/platform_thread_linux.cc
13index 92fbda5ee1..c41579d4ed 100644
14--- a/chromium/base/threading/platform_thread_linux.cc
15+++ b/chromium/base/threading/platform_thread_linux.cc
16@@ -175,7 +175,8 @@ void TerminateOnThread() {}
17
18 size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) {
19 #if !defined(THREAD_SANITIZER)
20- return 0;
21+ // use 8mb like glibc to avoid running out of space
22+ return (1 << 23);
23 #else
24 // ThreadSanitizer bloats the stack heavily. Evidence has been that the
25 // default stack size isn't enough for some browser tests.
26diff --git a/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp b/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp
27index 1d164f510a..3358deb256 100644
28--- a/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp
29+++ b/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp
30@@ -68,7 +68,7 @@ size_t StackFrameDepth::getUnderestimatedStackSize() {
31 // FIXME: On Mac OSX and Linux, this method cannot estimate stack size
32 // correctly for the main thread.
33
34-#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD)
35+#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD)
36 // pthread_getattr_np() can fail if the thread is not invoked by
37 // pthread_create() (e.g., the main thread of webkit_unit_tests).
38 // If so, a conservative size estimate is returned.
39@@ -135,7 +135,7 @@ size_t StackFrameDepth::getUnderestimatedStackSize() {
40 }
41
42 void* StackFrameDepth::getStackStart() {
43-#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD)
44+#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD)
45 pthread_attr_t attr;
46 int error;
47 #if OS(FREEBSD)
diff --git a/recipes-qt/qt5/qtwebengine/0015-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch b/recipes-qt/qt5/qtwebengine/0015-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch
new file mode 100644
index 00000000..58cd0a76
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0015-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch
@@ -0,0 +1,22 @@
1From f2e66acda4934e4c0f56a58ba107cc208f09b7ef Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 17:15:34 -0700
4Subject: [PATCH] chromium: musl: include asm-generic/ioctl.h for TCGETS2
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 chromium/device/serial/serial_io_handler_posix.cc | 1 +
9 1 file changed, 1 insertion(+)
10
11diff --git a/chromium/device/serial/serial_io_handler_posix.cc b/chromium/device/serial/serial_io_handler_posix.cc
12index a2ca2e2309..e139cdf9e9 100644
13--- a/chromium/device/serial/serial_io_handler_posix.cc
14+++ b/chromium/device/serial/serial_io_handler_posix.cc
15@@ -6,6 +6,7 @@
16
17 #include <sys/ioctl.h>
18 #include <termios.h>
19+#include <asm-generic/ioctls.h>
20
21 #include "base/files/file_util.h"
22 #include "base/posix/eintr_wrapper.h"
diff --git a/recipes-qt/qt5/qtwebengine/0016-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch b/recipes-qt/qt5/qtwebengine/0016-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch
new file mode 100644
index 00000000..acc2c78a
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0016-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch
@@ -0,0 +1,23 @@
1From 2141914268b26507d52cc7541cf268478ddc0bdf Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 8 Jul 2017 09:08:23 -0700
4Subject: [PATCH] chromium: musl: tcmalloc: Use off64_t insread of __off64_t
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h | 2 +-
9 1 file changed, 1 insertion(+), 1 deletion(-)
10
11diff --git a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
12index 91f77dd88d..bb84a0b305 100644
13--- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
14+++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
15@@ -1929,7 +1929,7 @@ typedef unsigned long int ulong;
16 #if defined(__x86_64__)
17 /* Need to make sure __off64_t isn't truncated to 32-bits under x32. */
18 LSS_INLINE void* LSS_NAME(mmap)(void *s, size_t l, int p, int f, int d,
19- __off64_t o) {
20+ off64_t o) {
21 LSS_BODY(6, void*, mmap, LSS_SYSCALL_ARG(s), LSS_SYSCALL_ARG(l),
22 LSS_SYSCALL_ARG(p), LSS_SYSCALL_ARG(f),
23 LSS_SYSCALL_ARG(d), (uint64_t)(o));