From 2a38fca150f065f869ed530fffe1a07beec80692 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Wed, 4 Aug 2021 20:01:39 +0200 Subject: qtwebengine: fix build with glibc-2.34 Signed-off-by: Martin Jansa --- ...mium-abseil-cpp-fix-build-with-glibc-2.34.patch | 72 ++++++++++++++++++++ ...sl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch | 33 --------- ...romium-breakpad-fix-build-with-glibc-2.34.patch | 72 ++++++++++++++++++++ ...sl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch | 52 -------------- ...-chromium-musl-include-fcntl.h-for-loff_t.patch | 22 ------ ...sl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch | 33 +++++++++ ...sl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch | 52 ++++++++++++++ ...sl-use-off64_t-instead-of-the-internal-__.patch | 62 ----------------- ...-chromium-musl-include-fcntl.h-for-loff_t.patch | 22 ++++++ ...ium-musl-linux-glibc-make-the-distinction.patch | 23 ------- ...sl-Define-res_ninit-and-res_nclose-for-no.patch | 79 ---------------------- ...sl-use-off64_t-instead-of-the-internal-__.patch | 62 +++++++++++++++++ ...hromium-musl-Do-not-define-__sbrk-on-musl.patch | 26 ------- ...ium-musl-linux-glibc-make-the-distinction.patch | 23 +++++++ ...um-musl-Adjust-default-pthread-stack-size.patch | 47 ------------- ...sl-Define-res_ninit-and-res_nclose-for-no.patch | 79 ++++++++++++++++++++++ ...hromium-musl-Do-not-define-__sbrk-on-musl.patch | 26 +++++++ ...sl-elf_reader.cc-include-sys-reg.h-to-get.patch | 52 -------------- ...um-musl-Adjust-default-pthread-stack-size.patch | 47 +++++++++++++ .../chromium/0021-chromium-musl-pread-pwrite.patch | 32 --------- ...sl-elf_reader.cc-include-sys-reg.h-to-get.patch | 52 ++++++++++++++ ...sl-initialize-msghdr-in-a-compatible-mann.patch | 45 ------------ .../chromium/0023-chromium-musl-pread-pwrite.patch | 32 +++++++++ ...sl-initialize-msghdr-in-a-compatible-mann.patch | 45 ++++++++++++ 24 files changed, 617 insertions(+), 473 deletions(-) create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0012-chromium-abseil-cpp-fix-build-with-glibc-2.34.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0013-chromium-breakpad-fix-build-with-glibc-2.34.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-include-fcntl.h-for-loff_t.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-use-off64_t-instead-of-the-internal-__.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-include-fcntl.h-for-loff_t.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-linux-glibc-make-the-distinction.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-use-off64_t-instead-of-the-internal-__.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Do-not-define-__sbrk-on-musl.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-linux-glibc-make-the-distinction.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Adjust-default-pthread-stack-size.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Do-not-define-__sbrk-on-musl.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Adjust-default-pthread-stack-size.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-pread-pwrite.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-pread-pwrite.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch (limited to 'recipes-qt/qt5/qtwebengine/chromium') diff --git a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-abseil-cpp-fix-build-with-glibc-2.34.patch b/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-abseil-cpp-fix-build-with-glibc-2.34.patch new file mode 100644 index 00000000..a19be4f0 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-abseil-cpp-fix-build-with-glibc-2.34.patch @@ -0,0 +1,72 @@ +From 78b1bcff4d9b977313e9ea15068168e1b11f5ba1 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 4 Aug 2021 19:08:03 +0200 +Subject: [PATCH] chromium: abseil-cpp: fix build with glibc-2.34 + +* backport a fix from upstream abseil-cpp: + https://github.com/abseil/abseil-cpp/commit/a9831f1cbf93fb18dd951453635f488037454ce9 + + to fix: + +[97/24505] CXX obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o +FAILED: obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o +/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -Wdate-time --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot -MMD -MF obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DABSL_ALLOCATOR_NOTHROW=1 -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/abseil-cpp -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc -o obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc: In function 'bool absl::SetupAlternateStackOnce()': +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: error: no matching function for call to 'max(long int, int)' + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:61, + from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&)' + 254 | max(const _Tp& __a, const _Tp& __b) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note: deduced conflicting types for parameter 'const _Tp' ('long int' and 'int') + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:61, + from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)' + 300 | max(const _Tp& __a, const _Tp& __b, _Compare __comp) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note: deduced conflicting types for parameter 'const _Tp' ('long int' and 'int') + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, + from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>)' + 3461 | max(initializer_list<_Tp> __l) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note: mismatched types 'std::initializer_list<_Tp>' and 'long int' + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, + from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)' + 3467 | max(initializer_list<_Tp> __l, _Compare __comp) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note: mismatched types 'std::initializer_list<_Tp>' and 'long int' + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ + +Signed-off-by: Martin Jansa +--- + .../abseil-cpp/absl/debugging/failure_signal_handler.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc b/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc +index 5d13bdbbbd1..150a43f2660 100644 +--- a/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc ++++ b/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc +@@ -135,7 +135,7 @@ static bool SetupAlternateStackOnce() { + #else + const size_t page_mask = sysconf(_SC_PAGESIZE) - 1; + #endif +- size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; ++ size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \ + defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER) + // Account for sanitizer instrumentation requiring additional stack space. diff --git a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch b/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch deleted file mode 100644 index 6bbcaae7..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 39c047e4e590f7ea4a3f6b002d45dccc5f395cd0 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:01:12 -0700 -Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if not - defined - -Musl does not define this Macro - -Signed-off-by: Khem Raj ---- - chromium/sandbox/linux/suid/sandbox.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/chromium/sandbox/linux/suid/sandbox.c b/chromium/sandbox/linux/suid/sandbox.c -index 5fdb4817af8..e5b9431daa0 100644 ---- a/chromium/sandbox/linux/suid/sandbox.c -+++ b/chromium/sandbox/linux/suid/sandbox.c -@@ -46,6 +46,15 @@ static bool DropRoot(); - - #define HANDLE_EINTR(x) TEMP_FAILURE_RETRY(x) - -+#ifndef TEMP_FAILURE_RETRY -+# define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif -+ - static void FatalError(const char* msg, ...) - __attribute__((noreturn, format(printf, 1, 2))); - diff --git a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-breakpad-fix-build-with-glibc-2.34.patch b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-breakpad-fix-build-with-glibc-2.34.patch new file mode 100644 index 00000000..8e3b844d --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-breakpad-fix-build-with-glibc-2.34.patch @@ -0,0 +1,72 @@ +From a3bc792bdc116806a50e022d9102914c8daf6210 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 4 Aug 2021 19:11:06 +0200 +Subject: [PATCH] chromium: breakpad: fix build with glibc-2.34 + +* fixes: +[218/24061] CXX obj/third_party/breakpad/client/exception_handler.o +FAILED: obj/third_party/breakpad/client/exception_handler.o +/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -Wdate-time --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot -MMD -MF obj/third_party/breakpad/client/exception_handler.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../../../../git/src/3rdparty/chromium/third_party/breakpad -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/third_party/linux/include -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -o obj/third_party/breakpad/client/exception_handler.o +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc: In function 'void google_breakpad::{anonymous}::InstallAlternateStackLocked()': +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: error: no matching function for call to 'max(int, long int)' + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39, + from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&)' + 254 | max(const _Tp& __a, const _Tp& __b) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long int') + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39, + from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)' + 300 | max(const _Tp& __a, const _Tp& __b, _Compare __comp) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long int') + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>)' + 3461 | max(initializer_list<_Tp> __l) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: mismatched types 'std::initializer_list<_Tp>' and 'int' + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)' + 3467 | max(initializer_list<_Tp> __l, _Compare __comp) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: mismatched types 'std::initializer_list<_Tp>' and 'int' + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ + +Signed-off-by: Martin Jansa +--- + .../breakpad/src/client/linux/handler/exception_handler.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc +index ca353c40997..2e43ba6fc04 100644 +--- a/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc ++++ b/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc +@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() { + // SIGSTKSZ may be too small to prevent the signal handlers from overrunning + // the alternative stack. Ensure that the size of the alternative stack is + // large enough. +- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); ++ static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + + // Only set an alternative stack if there isn't already one, or if the current + // one is too small. diff --git a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch deleted file mode 100644 index d41c644d..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 02b620db1f054d6320b62ef421bbb84003b3d7e1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:09:06 -0700 -Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on non-glibc/linux - -Signed-off-by: Khem Raj ---- - chromium/base/process/process_metrics_posix.cc | 4 ++-- - chromium/base/trace_event/malloc_dump_provider.cc | 2 ++ - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/chromium/base/process/process_metrics_posix.cc b/chromium/base/process/process_metrics_posix.cc -index 9d12c427bb3..900ab13519f 100644 ---- a/chromium/base/process/process_metrics_posix.cc -+++ b/chromium/base/process/process_metrics_posix.cc -@@ -119,14 +119,14 @@ size_t ProcessMetrics::GetMallocUsage() { - malloc_statistics_t stats = {0}; - malloc_zone_statistics(nullptr, &stats); - return stats.size_in_use; --#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#elif defined(__GLIBC__) || defined(OS_CHROMEOS) || defined(OS_ANDROID) - struct mallinfo minfo = mallinfo(); - #if BUILDFLAG(USE_TCMALLOC) - return minfo.uordblks; - #else - return minfo.hblkhd + minfo.arena; - #endif --#elif defined(OS_FUCHSIA) -+#else - // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. - return 0; - #endif -diff --git a/chromium/base/trace_event/malloc_dump_provider.cc b/chromium/base/trace_event/malloc_dump_provider.cc -index c327f486596..90129e851e8 100644 ---- a/chromium/base/trace_event/malloc_dump_provider.cc -+++ b/chromium/base/trace_event/malloc_dump_provider.cc -@@ -77,6 +77,7 @@ MallocDumpProvider::~MallocDumpProvider() = default; - // the current process. - bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, - ProcessMemoryDump* pmd) { -+#if defined(__GLIBC__) - { - base::AutoLock auto_lock(emit_metrics_on_memory_dump_lock_); - if (!emit_metrics_on_memory_dump_) -@@ -170,6 +171,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, - MemoryAllocatorDump::kUnitsBytes, - resident_size - allocated_objects_size); - } -+#endif // __GLIBC__ - return true; - } - diff --git a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-include-fcntl.h-for-loff_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-include-fcntl.h-for-loff_t.patch deleted file mode 100644 index 9369ed61..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-include-fcntl.h-for-loff_t.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 21a0b6b6f3517548165aca2cbb6e4c20389d5be9 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:37:49 -0700 -Subject: [PATCH] chromium: musl: include fcntl.h for loff_t - -Signed-off-by: Khem Raj ---- - .../tcmalloc/chromium/src/base/linux_syscall_support.h | 1 + - 1 file changed, 1 insertion(+) - -diff --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 -index ca5936d6e63..5484dbadfbd 100644 ---- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h -+++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h -@@ -154,6 +154,7 @@ extern "C" { - #include - #include - #include -+#include - #include - #include - #include diff --git a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch new file mode 100644 index 00000000..bc7e30bf --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch @@ -0,0 +1,33 @@ +From 00ad5230c6467c633d67b579baf543fff4a24012 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 14:01:12 -0700 +Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if not + defined + +Musl does not define this Macro + +Signed-off-by: Khem Raj +--- + chromium/sandbox/linux/suid/sandbox.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/chromium/sandbox/linux/suid/sandbox.c b/chromium/sandbox/linux/suid/sandbox.c +index 5fdb4817af8..e5b9431daa0 100644 +--- a/chromium/sandbox/linux/suid/sandbox.c ++++ b/chromium/sandbox/linux/suid/sandbox.c +@@ -46,6 +46,15 @@ static bool DropRoot(); + + #define HANDLE_EINTR(x) TEMP_FAILURE_RETRY(x) + ++#ifndef TEMP_FAILURE_RETRY ++# define TEMP_FAILURE_RETRY(expression) \ ++ (__extension__ \ ++ ({ long int __result; \ ++ do __result = (long int) (expression); \ ++ while (__result == -1L && errno == EINTR); \ ++ __result; })) ++#endif ++ + static void FatalError(const char* msg, ...) + __attribute__((noreturn, format(printf, 1, 2))); + diff --git a/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch new file mode 100644 index 00000000..d8fd1573 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch @@ -0,0 +1,52 @@ +From a7523f006993f0c430cdb3d3530e61d87e9ab931 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 14:09:06 -0700 +Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on non-glibc/linux + +Signed-off-by: Khem Raj +--- + chromium/base/process/process_metrics_posix.cc | 4 ++-- + chromium/base/trace_event/malloc_dump_provider.cc | 2 ++ + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/chromium/base/process/process_metrics_posix.cc b/chromium/base/process/process_metrics_posix.cc +index 9d12c427bb3..900ab13519f 100644 +--- a/chromium/base/process/process_metrics_posix.cc ++++ b/chromium/base/process/process_metrics_posix.cc +@@ -119,14 +119,14 @@ size_t ProcessMetrics::GetMallocUsage() { + malloc_statistics_t stats = {0}; + malloc_zone_statistics(nullptr, &stats); + return stats.size_in_use; +-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ++#elif defined(__GLIBC__) || defined(OS_CHROMEOS) || defined(OS_ANDROID) + struct mallinfo minfo = mallinfo(); + #if BUILDFLAG(USE_TCMALLOC) + return minfo.uordblks; + #else + return minfo.hblkhd + minfo.arena; + #endif +-#elif defined(OS_FUCHSIA) ++#else + // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. + return 0; + #endif +diff --git a/chromium/base/trace_event/malloc_dump_provider.cc b/chromium/base/trace_event/malloc_dump_provider.cc +index c327f486596..90129e851e8 100644 +--- a/chromium/base/trace_event/malloc_dump_provider.cc ++++ b/chromium/base/trace_event/malloc_dump_provider.cc +@@ -77,6 +77,7 @@ MallocDumpProvider::~MallocDumpProvider() = default; + // the current process. + bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, + ProcessMemoryDump* pmd) { ++#if defined(__GLIBC__) + { + base::AutoLock auto_lock(emit_metrics_on_memory_dump_lock_); + if (!emit_metrics_on_memory_dump_) +@@ -170,6 +171,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, + MemoryAllocatorDump::kUnitsBytes, + resident_size - allocated_objects_size); + } ++#endif // __GLIBC__ + return true; + } + diff --git a/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-use-off64_t-instead-of-the-internal-__.patch b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-use-off64_t-instead-of-the-internal-__.patch deleted file mode 100644 index e889e1bd..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-use-off64_t-instead-of-the-internal-__.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 8b75424d0997059414eed6b10a0b1a6050437c49 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:38:37 -0700 -Subject: [PATCH] chromium: musl: use off64_t instead of the internal __off64_t - -- only do the glibc 32-bit ABI check for mmap/mmap64 on gnu libc. musl - does not support the 32-bit ABI. - -Signed-off-by: Khem Raj ---- - .../tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --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 -index 17415aaf538..59c1b6fb5f6 100644 ---- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -+++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -@@ -60,7 +60,7 @@ - - static inline void* do_mmap64(void *start, size_t length, - int prot, int flags, -- int fd, __off64_t offset) __THROW { -+ int fd, off64_t offset) __THROW { - // The original gperftools uses sys_mmap() here. But, it is not allowed by - // Chromium's sandbox. - return (void*)syscall(SYS_mmap, start, length, prot, flags, fd, offset); -@@ -73,7 +73,7 @@ static inline void* do_mmap64(void *start, size_t length, - - static inline void* do_mmap64(void *start, size_t length, - int prot, int flags, -- int fd, __off64_t offset) __THROW { -+ int fd, off64_t offset) __THROW { - void *result; - - // Try mmap2() unless it's not supported -@@ -144,7 +144,7 @@ static inline void* do_mmap64(void *start, size_t length, - - extern "C" { - void* mmap64(void *start, size_t length, int prot, int flags, -- int fd, __off64_t offset ) __THROW -+ int fd, off64_t offset ) __THROW - ATTRIBUTE_SECTION(malloc_hook); - void* mmap(void *start, size_t length,int prot, int flags, - int fd, off_t offset) __THROW -@@ -159,7 +159,7 @@ extern "C" { - } - - extern "C" void* mmap64(void *start, size_t length, int prot, int flags, -- int fd, __off64_t offset) __THROW { -+ int fd, off64_t offset) __THROW { - MallocHook::InvokePreMmapHook(start, length, prot, flags, fd, offset); - void *result; - if (!MallocHook::InvokeMmapReplacement( -@@ -170,7 +170,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags, - return result; - } - --# if !defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH) -+# if defined(__GLIBC__) && (!defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH)) - - extern "C" void* mmap(void *start, size_t length, int prot, int flags, - int fd, off_t offset) __THROW { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-include-fcntl.h-for-loff_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-include-fcntl.h-for-loff_t.patch new file mode 100644 index 00000000..2dd1aa7c --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-include-fcntl.h-for-loff_t.patch @@ -0,0 +1,22 @@ +From 0c96c6426495030da4a8059d73e83c7a62cd63bf Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 14:37:49 -0700 +Subject: [PATCH] chromium: musl: include fcntl.h for loff_t + +Signed-off-by: Khem Raj +--- + .../tcmalloc/chromium/src/base/linux_syscall_support.h | 1 + + 1 file changed, 1 insertion(+) + +diff --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 +index ca5936d6e63..5484dbadfbd 100644 +--- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h ++++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h +@@ -154,6 +154,7 @@ extern "C" { + #include + #include + #include ++#include + #include + #include + #include diff --git a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-linux-glibc-make-the-distinction.patch b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-linux-glibc-make-the-distinction.patch deleted file mode 100644 index 87a38514..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-linux-glibc-make-the-distinction.patch +++ /dev/null @@ -1,23 +0,0 @@ -From eab6e024109ab2bd13bb0189be8d18bae1f597d4 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:54:38 -0700 -Subject: [PATCH] chromium: musl: linux != glibc, make the distinction - -Signed-off-by: Khem Raj ---- - chromium/base/allocator/allocator_check.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/base/allocator/allocator_check.cc b/chromium/base/allocator/allocator_check.cc -index a5ca0b7191e..7017d48b5a0 100644 ---- a/chromium/base/allocator/allocator_check.cc -+++ b/chromium/base/allocator/allocator_check.cc -@@ -27,7 +27,7 @@ bool IsAllocatorInitialized() { - // Set by allocator_shim_override_ucrt_symbols_win.h when the - // shimmed _set_new_mode() is called. - return g_is_win_shim_layer_initialized; --#elif (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ -+#elif (defined(__GLIBC__) || defined(OS_CHROMEOS)) && \ - BUILDFLAG(USE_TCMALLOC) && !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) - // From third_party/tcmalloc/chromium/src/gperftools/tcmalloc.h. - // TODO(primiano): replace with an include once base can depend on allocator. diff --git a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch deleted file mode 100644 index cf860499..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 108a2e0d81870c418431c8dfb48d827f69606b6e Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 15:27:50 -0700 -Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for non-glibc - platforms - -Signed-off-by: Khem Raj ---- - chromium/net/dns/dns_config_service_posix.cc | 4 +++ - chromium/net/dns/dns_reloader.cc | 4 +++ - chromium/net/dns/resolv_compat.h | 29 ++++++++++++++++++++ - 3 files changed, 37 insertions(+) - create mode 100644 chromium/net/dns/resolv_compat.h - -diff --git a/chromium/net/dns/dns_config_service_posix.cc b/chromium/net/dns/dns_config_service_posix.cc -index 5a4aead0acf..3427923836b 100644 ---- a/chromium/net/dns/dns_config_service_posix.cc -+++ b/chromium/net/dns/dns_config_service_posix.cc -@@ -30,6 +30,10 @@ - #include "net/dns/public/dns_protocol.h" - #include "net/dns/serial_worker.h" - -+#if defined(OS_LINUX) && !defined(__GLIBC__) -+#include "net/dns/resolv_compat.h" -+#endif -+ - #if defined(OS_MAC) - #include "net/dns/dns_config_watcher_mac.h" - #endif -diff --git a/chromium/net/dns/dns_reloader.cc b/chromium/net/dns/dns_reloader.cc -index 0672e711afb..300f77e3b38 100644 ---- a/chromium/net/dns/dns_reloader.cc -+++ b/chromium/net/dns/dns_reloader.cc -@@ -9,6 +9,10 @@ - - #include - -+#if defined(OS_LINUX) && !defined(__GLIBC__) -+#include "net/dns/resolv_compat.h" -+#endif -+ - #include "base/lazy_instance.h" - #include "base/macros.h" - #include "base/notreached.h" -diff --git a/chromium/net/dns/resolv_compat.h b/chromium/net/dns/resolv_compat.h -new file mode 100644 -index 00000000000..4f0e852a19d ---- /dev/null -+++ b/chromium/net/dns/resolv_compat.h -@@ -0,0 +1,29 @@ -+#if !defined(__GLIBC__) -+/*************************************************************************** -+ * resolv_compat.h -+ * -+ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc -+ * Note: res_init() is actually deprecated according to -+ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html -+ **************************************************************************/ -+#include -+ -+static inline int res_ninit(res_state statp) -+{ -+ int rc = res_init(); -+ if (statp != &_res) { -+ memcpy(statp, &_res, sizeof(*statp)); -+ } -+ return rc; -+} -+ -+static inline int res_nclose(res_state statp) -+{ -+ if (!statp) -+ return -1; -+ if (statp != &_res) { -+ memset(statp, 0, sizeof(*statp)); -+ } -+ return 0; -+} -+#endif diff --git a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-use-off64_t-instead-of-the-internal-__.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-use-off64_t-instead-of-the-internal-__.patch new file mode 100644 index 00000000..5d97cca9 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-use-off64_t-instead-of-the-internal-__.patch @@ -0,0 +1,62 @@ +From e3e38034ba58645f381d27b577b876e49c0a2a2c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 14:38:37 -0700 +Subject: [PATCH] chromium: musl: use off64_t instead of the internal __off64_t + +- only do the glibc 32-bit ABI check for mmap/mmap64 on gnu libc. musl + does not support the 32-bit ABI. + +Signed-off-by: Khem Raj +--- + .../tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --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 +index 17415aaf538..59c1b6fb5f6 100644 +--- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h ++++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h +@@ -60,7 +60,7 @@ + + static inline void* do_mmap64(void *start, size_t length, + int prot, int flags, +- int fd, __off64_t offset) __THROW { ++ int fd, off64_t offset) __THROW { + // The original gperftools uses sys_mmap() here. But, it is not allowed by + // Chromium's sandbox. + return (void*)syscall(SYS_mmap, start, length, prot, flags, fd, offset); +@@ -73,7 +73,7 @@ static inline void* do_mmap64(void *start, size_t length, + + static inline void* do_mmap64(void *start, size_t length, + int prot, int flags, +- int fd, __off64_t offset) __THROW { ++ int fd, off64_t offset) __THROW { + void *result; + + // Try mmap2() unless it's not supported +@@ -144,7 +144,7 @@ static inline void* do_mmap64(void *start, size_t length, + + extern "C" { + void* mmap64(void *start, size_t length, int prot, int flags, +- int fd, __off64_t offset ) __THROW ++ int fd, off64_t offset ) __THROW + ATTRIBUTE_SECTION(malloc_hook); + void* mmap(void *start, size_t length,int prot, int flags, + int fd, off_t offset) __THROW +@@ -159,7 +159,7 @@ extern "C" { + } + + extern "C" void* mmap64(void *start, size_t length, int prot, int flags, +- int fd, __off64_t offset) __THROW { ++ int fd, off64_t offset) __THROW { + MallocHook::InvokePreMmapHook(start, length, prot, flags, fd, offset); + void *result; + if (!MallocHook::InvokeMmapReplacement( +@@ -170,7 +170,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags, + return result; + } + +-# if !defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH) ++# if defined(__GLIBC__) && (!defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH)) + + extern "C" void* mmap(void *start, size_t length, int prot, int flags, + int fd, off_t offset) __THROW { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Do-not-define-__sbrk-on-musl.patch b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Do-not-define-__sbrk-on-musl.patch deleted file mode 100644 index 34e91314..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Do-not-define-__sbrk-on-musl.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 1821c58b645e97b11b49bd8790673e81165cfb3e Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 15:39:57 -0700 -Subject: [PATCH] chromium: musl: Do not define __sbrk on musl - -musl libc does not have sbrk. on musl libc will only work when called with 0 as -argument, so we just let it out for now - -Signed-off-by: Khem Raj ---- - .../third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --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 -index 59c1b6fb5f6..10f0786d829 100644 ---- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -+++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -@@ -213,7 +213,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size, - return result; - } - --#ifndef __UCLIBC__ -+#if !defined(__UCLIBC__) && defined(__GLIBC__) - // libc's version: - extern "C" void* __sbrk(intptr_t increment); - diff --git a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-linux-glibc-make-the-distinction.patch b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-linux-glibc-make-the-distinction.patch new file mode 100644 index 00000000..18c36b1c --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-linux-glibc-make-the-distinction.patch @@ -0,0 +1,23 @@ +From 9bae3b2fc8a771d17ec91627dff37b6df40bd107 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 14:54:38 -0700 +Subject: [PATCH] chromium: musl: linux != glibc, make the distinction + +Signed-off-by: Khem Raj +--- + chromium/base/allocator/allocator_check.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/base/allocator/allocator_check.cc b/chromium/base/allocator/allocator_check.cc +index a5ca0b7191e..7017d48b5a0 100644 +--- a/chromium/base/allocator/allocator_check.cc ++++ b/chromium/base/allocator/allocator_check.cc +@@ -27,7 +27,7 @@ bool IsAllocatorInitialized() { + // Set by allocator_shim_override_ucrt_symbols_win.h when the + // shimmed _set_new_mode() is called. + return g_is_win_shim_layer_initialized; +-#elif (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ ++#elif (defined(__GLIBC__) || defined(OS_CHROMEOS)) && \ + BUILDFLAG(USE_TCMALLOC) && !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) + // From third_party/tcmalloc/chromium/src/gperftools/tcmalloc.h. + // TODO(primiano): replace with an include once base can depend on allocator. diff --git a/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Adjust-default-pthread-stack-size.patch deleted file mode 100644 index f97ae1ad..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Adjust-default-pthread-stack-size.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 8d4e7979c7d5b71159e4cab112ba5938109ac4e6 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 16:41:23 -0700 -Subject: [PATCH] chromium: musl: Adjust default pthread stack size - -Signed-off-by: Khem Raj ---- - chromium/base/threading/platform_thread_linux.cc | 3 ++- - .../third_party/blink/renderer/platform/wtf/stack_util.cc | 4 ++-- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/chromium/base/threading/platform_thread_linux.cc b/chromium/base/threading/platform_thread_linux.cc -index c1a705e2b89..f322fdb8352 100644 ---- a/chromium/base/threading/platform_thread_linux.cc -+++ b/chromium/base/threading/platform_thread_linux.cc -@@ -377,7 +377,8 @@ void TerminateOnThread() {} - - size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { - #if !defined(THREAD_SANITIZER) -- return 0; -+ // use 8mb like glibc to avoid running out of space -+ return (1 << 23); - #else - // ThreadSanitizer bloats the stack heavily. Evidence has been that the - // default stack size isn't enough for some browser tests. -diff --git a/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc b/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc -index 71b901f4044..f33aba04bc3 100644 ---- a/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc -+++ b/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc -@@ -29,7 +29,7 @@ size_t GetUnderestimatedStackSize() { - // FIXME: On Mac OSX and Linux, this method cannot estimate stack size - // correctly for the main thread. - --#elif defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) - // pthread_getattr_np() can fail if the thread is not invoked by - // pthread_create() (e.g., the main thread of blink_unittests). -@@ -97,7 +97,7 @@ return Threading::ThreadStackSize(); - } - - void* GetStackStart() { --#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) - pthread_attr_t attr; - int error; diff --git a/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch new file mode 100644 index 00000000..be74bcf7 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch @@ -0,0 +1,79 @@ +From 28bdd37b1103437da3002ac5f2c329d899caea76 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 15:27:50 -0700 +Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for non-glibc + platforms + +Signed-off-by: Khem Raj +--- + chromium/net/dns/dns_config_service_posix.cc | 4 +++ + chromium/net/dns/dns_reloader.cc | 4 +++ + chromium/net/dns/resolv_compat.h | 29 ++++++++++++++++++++ + 3 files changed, 37 insertions(+) + create mode 100644 chromium/net/dns/resolv_compat.h + +diff --git a/chromium/net/dns/dns_config_service_posix.cc b/chromium/net/dns/dns_config_service_posix.cc +index 5a4aead0acf..3427923836b 100644 +--- a/chromium/net/dns/dns_config_service_posix.cc ++++ b/chromium/net/dns/dns_config_service_posix.cc +@@ -30,6 +30,10 @@ + #include "net/dns/public/dns_protocol.h" + #include "net/dns/serial_worker.h" + ++#if defined(OS_LINUX) && !defined(__GLIBC__) ++#include "net/dns/resolv_compat.h" ++#endif ++ + #if defined(OS_MAC) + #include "net/dns/dns_config_watcher_mac.h" + #endif +diff --git a/chromium/net/dns/dns_reloader.cc b/chromium/net/dns/dns_reloader.cc +index 0672e711afb..300f77e3b38 100644 +--- a/chromium/net/dns/dns_reloader.cc ++++ b/chromium/net/dns/dns_reloader.cc +@@ -9,6 +9,10 @@ + + #include + ++#if defined(OS_LINUX) && !defined(__GLIBC__) ++#include "net/dns/resolv_compat.h" ++#endif ++ + #include "base/lazy_instance.h" + #include "base/macros.h" + #include "base/notreached.h" +diff --git a/chromium/net/dns/resolv_compat.h b/chromium/net/dns/resolv_compat.h +new file mode 100644 +index 00000000000..4f0e852a19d +--- /dev/null ++++ b/chromium/net/dns/resolv_compat.h +@@ -0,0 +1,29 @@ ++#if !defined(__GLIBC__) ++/*************************************************************************** ++ * resolv_compat.h ++ * ++ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc ++ * Note: res_init() is actually deprecated according to ++ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html ++ **************************************************************************/ ++#include ++ ++static inline int res_ninit(res_state statp) ++{ ++ int rc = res_init(); ++ if (statp != &_res) { ++ memcpy(statp, &_res, sizeof(*statp)); ++ } ++ return rc; ++} ++ ++static inline int res_nclose(res_state statp) ++{ ++ if (!statp) ++ return -1; ++ if (statp != &_res) { ++ memset(statp, 0, sizeof(*statp)); ++ } ++ return 0; ++} ++#endif diff --git a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Do-not-define-__sbrk-on-musl.patch b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Do-not-define-__sbrk-on-musl.patch new file mode 100644 index 00000000..da25b723 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Do-not-define-__sbrk-on-musl.patch @@ -0,0 +1,26 @@ +From 48ae420276e0e5356b700494b1da5fd4bc358844 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 15:39:57 -0700 +Subject: [PATCH] chromium: musl: Do not define __sbrk on musl + +musl libc does not have sbrk. on musl libc will only work when called with 0 as +argument, so we just let it out for now + +Signed-off-by: Khem Raj +--- + .../third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --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 +index 59c1b6fb5f6..10f0786d829 100644 +--- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h ++++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h +@@ -213,7 +213,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size, + return result; + } + +-#ifndef __UCLIBC__ ++#if !defined(__UCLIBC__) && defined(__GLIBC__) + // libc's version: + extern "C" void* __sbrk(intptr_t increment); + diff --git a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch deleted file mode 100644 index 5d219358..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 9bb8968968361bc7e24bb51c70a27b06efba195f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 25 Sep 2018 12:59:05 -0700 -Subject: [PATCH] chromium: musl: elf_reader.cc: include to get - __WORDSIZE on musl libc - -Signed-off-by: Khem Raj -Signed-off-by: Martin Jansa ---- - chromium/third_party/breakpad/breakpad/configure.ac | 2 +- - .../breakpad/breakpad/src/common/dwarf/elf_reader.cc | 2 ++ - .../breakpad/breakpad/src/common/linux/elf_core_dump.h | 1 + - 3 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/chromium/third_party/breakpad/breakpad/configure.ac b/chromium/third_party/breakpad/breakpad/configure.ac -index 08513687f34..13745540a5e 100644 ---- a/chromium/third_party/breakpad/breakpad/configure.ac -+++ b/chromium/third_party/breakpad/breakpad/configure.ac -@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32, - AC_HEADER_STDC - AC_SYS_LARGEFILE - AX_PTHREAD --AC_CHECK_HEADERS([a.out.h sys/random.h]) -+AC_CHECK_HEADERS([a.out.h sys/random.h sys/reg.h]) - AC_CHECK_FUNCS([arc4random getcontext getrandom]) - AM_CONDITIONAL([HAVE_GETCONTEXT], [test "x$ac_cv_func_getcontext" = xyes]) - -diff --git a/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc b/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc -index bbfdba68093..d7d5dcf0e92 100644 ---- a/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc -+++ b/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc -@@ -30,6 +30,8 @@ - #define _GNU_SOURCE // needed for pread() - #endif - -+#include -+#include - #include - #include - #include -diff --git a/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h b/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -index 6e153745dba..5cd2c6fcb23 100644 ---- a/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -+++ b/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -@@ -33,6 +33,7 @@ - #ifndef COMMON_LINUX_ELF_CORE_DUMP_H_ - #define COMMON_LINUX_ELF_CORE_DUMP_H_ - -+#include - #include - #include - #include diff --git a/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Adjust-default-pthread-stack-size.patch new file mode 100644 index 00000000..b5d58d05 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Adjust-default-pthread-stack-size.patch @@ -0,0 +1,47 @@ +From ad847b58068d0727d279658ffb9577893b6a57b5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 16:41:23 -0700 +Subject: [PATCH] chromium: musl: Adjust default pthread stack size + +Signed-off-by: Khem Raj +--- + chromium/base/threading/platform_thread_linux.cc | 3 ++- + .../third_party/blink/renderer/platform/wtf/stack_util.cc | 4 ++-- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/chromium/base/threading/platform_thread_linux.cc b/chromium/base/threading/platform_thread_linux.cc +index c1a705e2b89..f322fdb8352 100644 +--- a/chromium/base/threading/platform_thread_linux.cc ++++ b/chromium/base/threading/platform_thread_linux.cc +@@ -377,7 +377,8 @@ void TerminateOnThread() {} + + size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { + #if !defined(THREAD_SANITIZER) +- return 0; ++ // use 8mb like glibc to avoid running out of space ++ return (1 << 23); + #else + // ThreadSanitizer bloats the stack heavily. Evidence has been that the + // default stack size isn't enough for some browser tests. +diff --git a/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc b/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc +index 71b901f4044..f33aba04bc3 100644 +--- a/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc ++++ b/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc +@@ -29,7 +29,7 @@ size_t GetUnderestimatedStackSize() { + // FIXME: On Mac OSX and Linux, this method cannot estimate stack size + // correctly for the main thread. + +-#elif defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ ++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ + defined(OS_FUCHSIA) + // pthread_getattr_np() can fail if the thread is not invoked by + // pthread_create() (e.g., the main thread of blink_unittests). +@@ -97,7 +97,7 @@ return Threading::ThreadStackSize(); + } + + void* GetStackStart() { +-#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ + defined(OS_FUCHSIA) + pthread_attr_t attr; + int error; diff --git a/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-pread-pwrite.patch b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-pread-pwrite.patch deleted file mode 100644 index 8ae89b4c..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-pread-pwrite.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 5c0daff380e86d0af67211bb8b08e194abb43e2c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 23 Dec 2018 16:58:04 -0800 -Subject: [PATCH] chromium: musl: pread pwrite - -Redefine pread/pwrite in terms of 64bit variants on musl -since 32bit variants don't exist and aliases are not defined in -libc either - -Upstream-Status: Submitted [https://codereview.chromium.org/1743093002/] -Signed-off-by: Khem Raj ---- - chromium/third_party/lss/linux_syscall_support.h | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h -index e4ac22644c0..f56203ccce4 100644 ---- a/chromium/third_party/lss/linux_syscall_support.h -+++ b/chromium/third_party/lss/linux_syscall_support.h -@@ -1258,6 +1258,12 @@ struct kernel_statfs { - #ifndef __NR_getrandom - #define __NR_getrandom 318 - #endif -+ -+#undef __NR_pread -+#define __NR_pread __NR_pread64 -+#undef __NR_pwrite -+#define __NR_pwrite __NR_pwrite64 -+ - /* End of x86-64 definitions */ - #elif defined(__mips__) - #if _MIPS_SIM == _MIPS_SIM_ABI32 diff --git a/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch new file mode 100644 index 00000000..5e9503ea --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch @@ -0,0 +1,52 @@ +From 12013eed158bd6d61526921bf77766e696a41571 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 25 Sep 2018 12:59:05 -0700 +Subject: [PATCH] chromium: musl: elf_reader.cc: include to get + __WORDSIZE on musl libc + +Signed-off-by: Khem Raj +Signed-off-by: Martin Jansa +--- + chromium/third_party/breakpad/breakpad/configure.ac | 2 +- + .../breakpad/breakpad/src/common/dwarf/elf_reader.cc | 2 ++ + .../breakpad/breakpad/src/common/linux/elf_core_dump.h | 1 + + 3 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/chromium/third_party/breakpad/breakpad/configure.ac b/chromium/third_party/breakpad/breakpad/configure.ac +index 08513687f34..13745540a5e 100644 +--- a/chromium/third_party/breakpad/breakpad/configure.ac ++++ b/chromium/third_party/breakpad/breakpad/configure.ac +@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32, + AC_HEADER_STDC + AC_SYS_LARGEFILE + AX_PTHREAD +-AC_CHECK_HEADERS([a.out.h sys/random.h]) ++AC_CHECK_HEADERS([a.out.h sys/random.h sys/reg.h]) + AC_CHECK_FUNCS([arc4random getcontext getrandom]) + AM_CONDITIONAL([HAVE_GETCONTEXT], [test "x$ac_cv_func_getcontext" = xyes]) + +diff --git a/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc b/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc +index bbfdba68093..d7d5dcf0e92 100644 +--- a/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc ++++ b/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc +@@ -30,6 +30,8 @@ + #define _GNU_SOURCE // needed for pread() + #endif + ++#include ++#include + #include + #include + #include +diff --git a/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h b/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h +index 6e153745dba..5cd2c6fcb23 100644 +--- a/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h ++++ b/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h +@@ -33,6 +33,7 @@ + #ifndef COMMON_LINUX_ELF_CORE_DUMP_H_ + #define COMMON_LINUX_ELF_CORE_DUMP_H_ + ++#include + #include + #include + #include diff --git a/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch deleted file mode 100644 index c5aaa3fe..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 5305f280c00e90b5961d77086eb3f498ece1c5dc Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 10 May 2020 08:16:01 -0700 -Subject: [PATCH] chromium: musl: initialize msghdr in a compatible manner - -initialize msghdr in a compatible manner - -msghdr stuct from socket.h is not same between musl and glibc -where musl claims to be more posix compliant where as glibc seems -to fill whats needed for linux sizewise and chooses long enough types -which maybe questionable, therefore constructing a structure with explicit -constructor is not going to work correctly for musl and glibc at same time - -see -https://git.musl-libc.org/cgit/musl/commit/arch/x86_64/bits/socket.h?id=7168790763cdeb794df52be6e3b39fbb021c5a64 - -This fix initialized the struct to 0 first and then sets the struct elements -by name, so we dont have to hard code the positions of elements when initializing -structure - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - chromium/net/socket/udp_socket_posix.cc | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/chromium/net/socket/udp_socket_posix.cc b/chromium/net/socket/udp_socket_posix.cc -index 71265568be5..42e0d298045 100644 ---- a/chromium/net/socket/udp_socket_posix.cc -+++ b/chromium/net/socket/udp_socket_posix.cc -@@ -1151,8 +1151,12 @@ SendResult UDPSocketPosixSender::InternalSendmmsgBuffers( - for (auto& buffer : buffers) - msg_iov->push_back({const_cast(buffer->data()), buffer->length()}); - msgvec->reserve(buffers.size()); -- for (size_t j = 0; j < buffers.size(); j++) -- msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0}); -+ for (size_t j = 0; j < buffers.size(); j++) { -+ struct msghdr m = {0}; -+ m.msg_iov = &msg_iov[j]; -+ m.msg_iovlen = 1; -+ msgvec->push_back({m, 0}); -+ } - int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0)); - SendResult send_result(0, 0, std::move(buffers)); - if (result < 0) { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-pread-pwrite.patch b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-pread-pwrite.patch new file mode 100644 index 00000000..f9fd76f4 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-pread-pwrite.patch @@ -0,0 +1,32 @@ +From c4178e519cebec88088ff24bb7daa13a21049d85 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 23 Dec 2018 16:58:04 -0800 +Subject: [PATCH] chromium: musl: pread pwrite + +Redefine pread/pwrite in terms of 64bit variants on musl +since 32bit variants don't exist and aliases are not defined in +libc either + +Upstream-Status: Submitted [https://codereview.chromium.org/1743093002/] +Signed-off-by: Khem Raj +--- + chromium/third_party/lss/linux_syscall_support.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h +index e4ac22644c0..f56203ccce4 100644 +--- a/chromium/third_party/lss/linux_syscall_support.h ++++ b/chromium/third_party/lss/linux_syscall_support.h +@@ -1258,6 +1258,12 @@ struct kernel_statfs { + #ifndef __NR_getrandom + #define __NR_getrandom 318 + #endif ++ ++#undef __NR_pread ++#define __NR_pread __NR_pread64 ++#undef __NR_pwrite ++#define __NR_pwrite __NR_pwrite64 ++ + /* End of x86-64 definitions */ + #elif defined(__mips__) + #if _MIPS_SIM == _MIPS_SIM_ABI32 diff --git a/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch b/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch new file mode 100644 index 00000000..01fe94f5 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch @@ -0,0 +1,45 @@ +From 73f270ff373f5719ea74cdb590ca1f535fbe0cd9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 10 May 2020 08:16:01 -0700 +Subject: [PATCH] chromium: musl: initialize msghdr in a compatible manner + +initialize msghdr in a compatible manner + +msghdr stuct from socket.h is not same between musl and glibc +where musl claims to be more posix compliant where as glibc seems +to fill whats needed for linux sizewise and chooses long enough types +which maybe questionable, therefore constructing a structure with explicit +constructor is not going to work correctly for musl and glibc at same time + +see +https://git.musl-libc.org/cgit/musl/commit/arch/x86_64/bits/socket.h?id=7168790763cdeb794df52be6e3b39fbb021c5a64 + +This fix initialized the struct to 0 first and then sets the struct elements +by name, so we dont have to hard code the positions of elements when initializing +structure + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + chromium/net/socket/udp_socket_posix.cc | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/chromium/net/socket/udp_socket_posix.cc b/chromium/net/socket/udp_socket_posix.cc +index 71265568be5..42e0d298045 100644 +--- a/chromium/net/socket/udp_socket_posix.cc ++++ b/chromium/net/socket/udp_socket_posix.cc +@@ -1151,8 +1151,12 @@ SendResult UDPSocketPosixSender::InternalSendmmsgBuffers( + for (auto& buffer : buffers) + msg_iov->push_back({const_cast(buffer->data()), buffer->length()}); + msgvec->reserve(buffers.size()); +- for (size_t j = 0; j < buffers.size(); j++) +- msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0}); ++ for (size_t j = 0; j < buffers.size(); j++) { ++ struct msghdr m = {0}; ++ m.msg_iov = &msg_iov[j]; ++ m.msg_iovlen = 1; ++ msgvec->push_back({m, 0}); ++ } + int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0)); + SendResult send_result(0, 0, std::move(buffers)); + if (result < 0) { -- cgit v1.2.3-54-g00ecf