From 6a37d8646d65ab225bfd4a9e6e4646556fa98f44 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Thu, 29 Apr 2021 13:36:15 +0200 Subject: qtwebengine: few more fixes for gcc-11 Signed-off-by: Martin Jansa --- ...seil-cpp-mojo-perfetto-fix-build-with-gcc.patch | 84 ++++++++++++++++++++++ ...abseil-cpp-perfetto-fix-build-with-gcc-11.patch | 59 --------------- recipes-qt/qt5/qtwebengine_git.bb | 6 +- 3 files changed, 87 insertions(+), 62 deletions(-) create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0011-chromium-abseil-cpp-mojo-perfetto-fix-build-with-gcc.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0011-chromium-abseil-cpp-perfetto-fix-build-with-gcc-11.patch diff --git a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-abseil-cpp-mojo-perfetto-fix-build-with-gcc.patch b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-abseil-cpp-mojo-perfetto-fix-build-with-gcc.patch new file mode 100644 index 00000000..27b3d7d2 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-abseil-cpp-mojo-perfetto-fix-build-with-gcc.patch @@ -0,0 +1,84 @@ +From c6ff2c26ae6a1c7cde6685a697d8dafc6e2d2694 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Thu, 29 Apr 2021 11:11:51 +0200 +Subject: [PATCH] chromium: abseil-cpp, mojo, perfetto: fix build with gcc-11 + +* fixes abseil-cpp: +FAILED: obj/third_party/abseil-cpp/absl/synchronization/graphcycles_internal/graphcycles.o +/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.3+gitAUTOINC+0930b350d7_687d322fae-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.3+gitAUTOINC+0930b350d7_687d322fae-r0/recipe-sysroot -MMD -MF obj/third_party/abseil-cpp/absl/synchronization/graphcycles_internal/graphcycles.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/synchronization/internal/graphcycles.cc -o obj/third_party/abseil-cpp/absl/synchronization/graphcycles_internal/graphcycles.o +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc: In member function 'void absl::synchronization_internal::GraphCycles::RemoveNode(void*)': +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc:451:26: error: 'numeric_limits' is not a member of 'std' + 451 | if (x->version == std::numeric_limits::max()) { + | ^~~~~~~~~~~~~~ +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc:451:49: error: expected primary-expression before '>' token + 451 | if (x->version == std::numeric_limits::max()) { + | ^ +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc:451:52: error: '::max' has not been declared; did you mean 'std::max'? + 451 | if (x->version == std::numeric_limits::max()) { + | ^~~ + | std::max + +* mojo: +| FAILED: obj/mojo/public/cpp/platform/platform/named_platform_channel_posix.o +| /OE/build/oe-core/tmp-musl/work/core2-64-oe-linux-musl/qtwebengine/5.15.4+gitAUTOINC+be49f438d6_6c7b4ffb3f-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux-musl/x86_64-oe-linux-musl-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 --sysroot=/OE/build/oe-core/tmp-musl/work/core2-64-oe-linux-musl/qtwebengine/5.15.4+gitAUTOINC+be49f438d6_6c7b4ffb3f-r0/recipe-sysroot -MMD -MF obj/mojo/public/cpp/platform/platform/named_platform_channel_posix.o.d -DIS_MOJO_CPP_PLATFORM_IMPL -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 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen -I../../../../git/src/3rdparty/chromium/third_party/abseil-cpp -I../../../../git/src/3rdparty/chromium/third_party/boringssl/src/include -I../../../../git/src/3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -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 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -std=gnu++14 -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -c ../../../../git/src/3rdparty/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc -o obj/mojo/public/cpp/platform/platform/named_platform_channel_posix.o +| ../../../../git/src/3rdparty/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc: In function 'bool mojo::{anonymous}::MakeUnixAddr(const ServerName&, sockaddr_un*, size_t*)': +| ../../../../git/src/3rdparty/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc:53:3: error: 'strncpy' was not declared in this scope +| 53 | strncpy(unix_addr->sun_path, server_name.c_str(), kMaxSocketNameLength); +| | ^~~~~~~ +| ../../../../git/src/3rdparty/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc:18:1: note: 'strncpy' is defined in header ''; did you forget to '#include '? +| 17 | #include "base/strings/string_number_conversions.h" +| +++ |+#include +| 18 | + +* and perfetto: +../../../../git/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h:256:34: error: no member named 'numeric_limits' in namespace 'std' + PERFETTO_DCHECK(value < std::numeric_limits::max()); + +This is because its missing right header which perhaps is included +implicitly in older compilers + +Upstream-Status: Pending +Signed-off-by: Khem Raj +Signed-off-by: Martin Jansa +--- + .../mojo/public/cpp/platform/named_platform_channel_posix.cc | 1 + + .../abseil-cpp/absl/synchronization/internal/graphcycles.cc | 1 + + .../perfetto/src/trace_processor/containers/string_pool.h | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc b/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc +index 9082ac4da59..d039ff83a35 100644 +--- a/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc ++++ b/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + + #include "base/files/file_util.h" + #include "base/files/scoped_file.h" +diff --git a/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc b/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +index 19f9aab5b1a..ab9d7f80bc7 100644 +--- a/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc ++++ b/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +@@ -36,6 +36,7 @@ + #include "absl/synchronization/internal/graphcycles.h" + + #include ++#include + #include + #include "absl/base/internal/hide_ptr.h" + #include "absl/base/internal/raw_logging.h" +diff --git a/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h b/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h +index 11ae91cfeca..558ff00e8fe 100644 +--- a/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h ++++ b/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h +@@ -20,6 +20,7 @@ + #include + #include + ++#include + #include + #include + diff --git a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-abseil-cpp-perfetto-fix-build-with-gcc-11.patch b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-abseil-cpp-perfetto-fix-build-with-gcc-11.patch deleted file mode 100644 index 9388c767..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-abseil-cpp-perfetto-fix-build-with-gcc-11.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 504691a6e2ab928115cde1f6163661158151636b Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Thu, 29 Apr 2021 11:11:51 +0200 -Subject: [PATCH] chromium: abseil-cpp, perfetto: fix build with gcc-11 - -* fixes abseil-cpp: -FAILED: obj/third_party/abseil-cpp/absl/synchronization/graphcycles_internal/graphcycles.o -/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.3+gitAUTOINC+0930b350d7_687d322fae-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.3+gitAUTOINC+0930b350d7_687d322fae-r0/recipe-sysroot -MMD -MF obj/third_party/abseil-cpp/absl/synchronization/graphcycles_internal/graphcycles.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/synchronization/internal/graphcycles.cc -o obj/third_party/abseil-cpp/absl/synchronization/graphcycles_internal/graphcycles.o -../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc: In member function 'void absl::synchronization_internal::GraphCycles::RemoveNode(void*)': -../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc:451:26: error: 'numeric_limits' is not a member of 'std' - 451 | if (x->version == std::numeric_limits::max()) { - | ^~~~~~~~~~~~~~ -../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc:451:49: error: expected primary-expression before '>' token - 451 | if (x->version == std::numeric_limits::max()) { - | ^ -../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc:451:52: error: '::max' has not been declared; did you mean 'std::max'? - 451 | if (x->version == std::numeric_limits::max()) { - | ^~~ - | std::max - -* and perfetto: -../../../../git/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h:256:34: error: no member named 'numeric_limits' in namespace 'std' - PERFETTO_DCHECK(value < std::numeric_limits::max()); - -This is because its missing right header which perhaps is included -implicitly in older compilers - -Upstream-Status: Pending -Signed-off-by: Khem Raj -Signed-off-by: Martin Jansa ---- - .../abseil-cpp/absl/synchronization/internal/graphcycles.cc | 1 + - .../perfetto/src/trace_processor/containers/string_pool.h | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc b/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -index 19f9aab5b1a..ab9d7f80bc7 100644 ---- a/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -+++ b/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -@@ -36,6 +36,7 @@ - #include "absl/synchronization/internal/graphcycles.h" - - #include -+#include - #include - #include "absl/base/internal/hide_ptr.h" - #include "absl/base/internal/raw_logging.h" -diff --git a/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h b/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h -index 11ae91cfeca..558ff00e8fe 100644 ---- a/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h -+++ b/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h -@@ -20,6 +20,7 @@ - #include - #include - -+#include - #include - #include - diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index 7a3e045b..48d1c82f 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -164,7 +164,7 @@ SRC_URI_append_libc-musl = "\ " # Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/87-based-glibc -# 87-based-glibc.meta-qt5.2 +# 87-based-glibc.meta-qt5.3 SRC_URI += " \ file://chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch;patchdir=src/3rdparty \ file://chromium/0002-chromium-fix-build-with-clang.patch;patchdir=src/3rdparty \ @@ -176,11 +176,11 @@ SRC_URI += " \ file://chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch;patchdir=src/3rdparty \ file://chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch;patchdir=src/3rdparty \ file://chromium/0010-chromium-icu-use-system-library-only-targets.patch;patchdir=src/3rdparty \ - file://chromium/0011-chromium-abseil-cpp-perfetto-fix-build-with-gcc-11.patch;patchdir=src/3rdparty \ + file://chromium/0011-chromium-abseil-cpp-mojo-perfetto-fix-build-with-gcc.patch;patchdir=src/3rdparty \ " # Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/87-based -# 87-based.meta-qt5.2 +# 87-based.meta-qt5.4 SRC_URI_append_libc-musl = "\ file://chromium/0012-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \ file://chromium/0013-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \ -- cgit v1.2.3