diff options
author | Jani Suonpera <jani.suonpera@qt.io> | 2021-09-16 14:59:32 +0300 |
---|---|---|
committer | Jani Suonpera <jani.suonpera@qt.io> | 2021-09-21 10:42:20 +0300 |
commit | 1a30142e7cfd82962fbacfc6b65f5c1fc046aa5d (patch) | |
tree | f9b7bdfb77c8607d0d60ac64c677bc318bd18e44 | |
parent | cedf8cd4c0fec6ba5a550c1daf59401dec887de6 (diff) | |
parent | a2882fecc96019781880c38fc6a81a9b71c944ad (diff) |
Merge remote-tracking branch qt/upstream/master' into lts-5.15
Task-number: QTBUG-96310
Change-Id: I3c129d5b6739f699eb00e188b8f60c12ce931641
55 files changed, 777 insertions, 114 deletions
diff --git a/classes/qmake5_base.bbclass b/classes/qmake5_base.bbclass index 3f1bba23..6266c55c 100644 --- a/classes/qmake5_base.bbclass +++ b/classes/qmake5_base.bbclass @@ -27,6 +27,7 @@ EXTRA_OEMAKE = " \ OE_QMAKE_LINK='${OE_QMAKE_LINK}' \ OE_QMAKE_LDFLAGS='${OE_QMAKE_LDFLAGS}' \ OE_QMAKE_AR='${OE_QMAKE_AR}' \ + OE_QMAKE_OBJCOPY='${OE_QMAKE_OBJCOPY}' \ OE_QMAKE_STRIP='${OE_QMAKE_STRIP}' \ OE_QMAKE_INCDIR_QT='${STAGING_DIR_TARGET}/${OE_QMAKE_PATH_HEADERS}' \ " @@ -39,6 +40,7 @@ export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}" export OE_QMAKE_LINK = "${CXX}" export OE_QMAKE_LDFLAGS = "${LDFLAGS}" export OE_QMAKE_AR = "${AR}" +export OE_QMAKE_OBJCOPY = "${OBJCOPY}" export OE_QMAKE_STRIP = "echo" # qmake reads if from shell environment diff --git a/conf/layer.conf b/conf/layer.conf index ac19c93a..bb975617 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -29,7 +29,7 @@ LAYERVERSION_qt5-layer = "1" LAYERDEPENDS_qt5-layer = "core" -LAYERSERIES_COMPAT_qt5-layer = "dunfell gatesgarth" +LAYERSERIES_COMPAT_qt5-layer = "dunfell gatesgarth hardknott" LICENSE_PATH += "${LAYERDIR}/licenses" diff --git a/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb b/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb index de0527c5..3a4d25ac 100644 --- a/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb +++ b/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb @@ -3,7 +3,7 @@ SUMMARY = "Host packages for the Qt5 standalone SDK or external toolchain" LICENSE = "MIT" -inherit nativesdk packagegroup +inherit packagegroup nativesdk PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1" diff --git a/recipes-qt/qt5/nativesdk-qt5.inc b/recipes-qt/qt5/nativesdk-qt5.inc index 2eb8c142..5472012c 100644 --- a/recipes-qt/qt5/nativesdk-qt5.inc +++ b/recipes-qt/qt5/nativesdk-qt5.inc @@ -1,4 +1,4 @@ -inherit nativesdk qmake5_base +inherit qmake5_base nativesdk # we don't want conflicts with qt4 OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}" diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb index 7e594472..925333fd 100644 --- a/recipes-qt/qt5/nativesdk-qtbase_git.bb +++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb @@ -42,6 +42,7 @@ SRC_URI += "\ file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \ file://0018-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \ file://0019-Define-__NR_futex-if-it-does-not-exist.patch \ + file://0020-Revert-Fix-workaround-in-pthread-destructor.patch \ " # common for qtbase-native and nativesdk-qtbase @@ -175,6 +176,7 @@ fakeroot do_generate_qt_environment_file() { echo 'export OE_QMAKE_CXX="$CXX"' >> $script echo 'export OE_QMAKE_LINK="$CXX"' >> $script echo 'export OE_QMAKE_AR=$AR' >> $script + echo 'export OE_QMAKE_OBJCOPY=$OBJCOPY' >> $script echo 'export OE_QMAKE_STRIP=$STRIP' >> $script echo 'export QT_CONF_PATH=${OE_QMAKE_PATH_HOST_BINS}/qt.conf' >> $script echo 'export OE_QMAKE_LIBDIR_QT=`qmake -query QT_INSTALL_LIBS`' >> $script diff --git a/recipes-qt/qt5/ogl-runtime/0001-Qt3D-Add-support-to-fix-build-on-ppc64.patch b/recipes-qt/qt5/ogl-runtime/0001-Qt3D-Add-support-to-fix-build-on-ppc64.patch new file mode 100644 index 00000000..494d598a --- /dev/null +++ b/recipes-qt/qt5/ogl-runtime/0001-Qt3D-Add-support-to-fix-build-on-ppc64.patch @@ -0,0 +1,59 @@ +From c70df6bf52cdcdceb73ed965a28642177df32943 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 13 Mar 2021 12:58:32 -0800 +Subject: [PATCH] Qt3D: Add support to fix build on ppc64 + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/foundation/Qt3DSPreprocessor.h | 2 +- + src/foundation/Qt3DSSystem.cpp | 8 +++++++- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/foundation/Qt3DSPreprocessor.h b/src/foundation/Qt3DSPreprocessor.h +index 066a38e..98ff573 100644 +--- a/src/foundation/Qt3DSPreprocessor.h ++++ b/src/foundation/Qt3DSPreprocessor.h +@@ -114,7 +114,7 @@ Platform define + #define QT3DS_X64 + #elif defined(__ppc__) + #define QT3DS_PPC +-#elif defined(__ppc64__) ++#elif defined(__powerpc64__) + #define QT3DS_PPC + #define QT3DS_PPC64 + //# elif defined(__aarch64__) +diff --git a/src/foundation/Qt3DSSystem.cpp b/src/foundation/Qt3DSSystem.cpp +index e87a25e..81f563f 100644 +--- a/src/foundation/Qt3DSSystem.cpp ++++ b/src/foundation/Qt3DSSystem.cpp +@@ -62,6 +62,10 @@ const char *qt3ds::foundation::System::g_FloatingPointModel = ""; + const char *qt3ds::foundation::System::g_Processor = "x64"; + const char *qt3ds::foundation::System::g_BitWidth = "64"; + const char *qt3ds::foundation::System::g_FloatingPointModel = ""; ++#elif defined(QT3DS_PPC64) ++const char *qt3ds::foundation::System::g_Processor = "ppc64"; ++const char *qt3ds::foundation::System::g_BitWidth = "64"; ++const char *qt3ds::foundation::System::g_FloatingPointModel = ""; + #elif defined(QT3DS_ARM) + #if defined(__aarch64__) || defined(__ARM64__) + const char *qt3ds::foundation::System::g_Processor = "arm"; +@@ -97,6 +101,8 @@ const char *qt3ds::foundation::System::g_GPUType = "gles3"; + const char *qt3ds::foundation::System::g_GPUType = ""; + #elif defined(QT3DS_X64) + const char *qt3ds::foundation::System::g_GPUType = ""; ++#elif defined(QT3DS_PPC64) ++const char *qt3ds::foundation::System::g_GPUType = ""; + #else + #error "Must define a processor type (QT3DS_ARM or QT3DS_X86)" + #endif +@@ -136,4 +142,4 @@ const char *System::getPlatformGLStr() + strcpy(text, str.c_str()); + } + return text; +-} +\ No newline at end of file ++} +-- +2.30.2 + diff --git a/recipes-qt/qt5/ogl-runtime_git.bb b/recipes-qt/qt5/ogl-runtime_git.bb index 1669382e..fd362864 100644 --- a/recipes-qt/qt5/ogl-runtime_git.bb +++ b/recipes-qt/qt5/ogl-runtime_git.bb @@ -20,6 +20,7 @@ SRC_URI += " \ ${QT_GIT}/qt3dstudio-eastl.git;name=EASTL;branch=${QT_MODULE_BRANCH_EASTL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/EASTL \ file://0001-Fix-examples-build-error.patch \ file://0001-Qt3DSSimpleTypes-make-QT3DSU64-as-unsigned-long-on-l.patch \ + file://0001-Qt3D-Add-support-to-fix-build-on-ppc64.patch \ " SRCREV_ogl-runtime = "b53aeb784f950d7b2a5ebe38ea37c5bb6f456c9c" diff --git a/recipes-qt/qt5/qt3d/0001-renderers-opengl-Link-in-libatomic-on-riscv.patch b/recipes-qt/qt5/qt3d/0001-renderers-opengl-Link-in-libatomic-on-riscv.patch new file mode 100644 index 00000000..9f6e1f54 --- /dev/null +++ b/recipes-qt/qt5/qt3d/0001-renderers-opengl-Link-in-libatomic-on-riscv.patch @@ -0,0 +1,28 @@ +From b2c6dd0330d9dee417192a32ae6c636b77b6bf46 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 8 Mar 2021 15:16:01 -0800 +Subject: [PATCH] renderers/opengl: Link in libatomic on riscv + +GCC 11 needs this since it failing to find a builtin function + +Fixes +src/plugins/renderers/opengl/renderer/renderview.cpp:107: undefined reference to `__atomic_exchange_1' + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/plugins/renderers/opengl/opengl.pri | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/plugins/renderers/opengl/opengl.pri b/src/plugins/renderers/opengl/opengl.pri +index 1682ab7b3..31b71dd6b 100644 +--- a/src/plugins/renderers/opengl/opengl.pri ++++ b/src/plugins/renderers/opengl/opengl.pri +@@ -39,3 +39,5 @@ qtConfig(qt3d-simd-sse2):!qtConfig(qt3d-simd-avx2) { + CONFIG += simd + QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE2 + } ++ ++LIBS += "-latomic" +-- +2.30.1 + diff --git a/recipes-qt/qt5/qt3d_git.bb b/recipes-qt/qt5/qt3d_git.bb index 02f15128..f8d102bc 100644 --- a/recipes-qt/qt5/qt3d_git.bb +++ b/recipes-qt/qt5/qt3d_git.bb @@ -16,6 +16,8 @@ DEPENDS_class-target += "qtdeclarative qt3d-native" SRC_URI += " \ file://0001-Allow-a-tools-only-build.patch \ " +SRC_URI_append_riscv64 = " file://0001-renderers-opengl-Link-in-libatomic-on-riscv.patch" +SRC_URI_append_riscv32 = " file://0001-renderers-opengl-Link-in-libatomic-on-riscv.patch" PACKAGECONFIG ??= "" PACKAGECONFIG_class-native ??= "tools-only" diff --git a/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in b/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in deleted file mode 100644 index 64f7c6ba..00000000 --- a/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Type=Application -Exec=sh -c "PATH=$PATH:@QT5_QMAKE@ qtcreator %F" -Name=Qt Creator -GenericName=C++ IDE for developing Qt applications -X-KDE-StartupNotify=true -Icon=QtProject-qtcreator -Terminal=false -Categories=Development;IDE;Qt; -MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.nokia.qt.qmakeprofile;application/vnd.nokia.xml.qt.resource; diff --git a/recipes-qt/qt5/qt5-creator_git.bb b/recipes-qt/qt5/qt5-creator_git.bb index 36d59cae..d89b0758 100644 --- a/recipes-qt/qt5/qt5-creator_git.bb +++ b/recipes-qt/qt5/qt5-creator_git.bb @@ -17,12 +17,12 @@ inherit qmake5 mime-xdg DEPENDS += "qtbase qtscript qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native zlib" DEPENDS_append_libc-musl = " libexecinfo" -SRCREV = "1da2c1f7666ced45d6eea1cd0adfdc68a828e3a0" -PV = "4.13.1+git${SRCPV}" +SRCREV = "978f6caf1e18ad0b0415fde60a8c130448969c6d" +PV = "4.15.0+git${SRCPV}" # Patches from https://github.com/meta-qt5/qtcreator/commits/b4.9.2 # 4.9.2.meta-qt5.1 SRC_URI = " \ - git://code.qt.io/qt-creator/qt-creator.git;branch=4.13 \ + git://code.qt.io/qt-creator/qt-creator.git;branch=4.15 \ file://0001-app-Use-malloc_trim-only-on-glibc.patch \ file://0001-Fix-interface-of-propertyNameListForWritableProperti.patch \ " @@ -30,7 +30,10 @@ SRC_URI_append_libc-musl = " file://0001-Link-with-libexecinfo-on-musl.patch" S = "${WORKDIR}/git" -EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME}" +EXTRA_QMAKEVARS_PRE += " \ + IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME} \ + CONFIG+=disable_external_rpath \ +" EXTRANATIVEPATH += "chrpath-native" @@ -39,7 +42,7 @@ PACKAGECONFIG_append_toolchain-clang = " clang" # Important note: In case clang was added to qttools' PACKAGECONFIG, it has to # be added here too - otherwise build fails trying to link native clang libraries -PACKAGECONFIG[clang] = ",,clang llvm-common" +PACKAGECONFIG[clang] = ",,clang" COMPATIBLE_HOST_toolchain-clang_riscv32 = "null" COMPATIBLE_HOST_toolchain-clang_riscv64 = "null" diff --git a/recipes-qt/qt5/qt5-native.inc b/recipes-qt/qt5/qt5-native.inc index 76816027..3afc3f28 100644 --- a/recipes-qt/qt5/qt5-native.inc +++ b/recipes-qt/qt5/qt5-native.inc @@ -1,4 +1,4 @@ -inherit native qmake5_base +inherit qmake5_base native # we don't want conflicts with qt4 OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}" diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb index ed84fc27..0ad0e7f3 100644 --- a/recipes-qt/qt5/qtbase-native_git.bb +++ b/recipes-qt/qt5/qtbase-native_git.bb @@ -37,6 +37,7 @@ SRC_URI += "\ file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \ file://0018-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \ file://0019-Define-__NR_futex-if-it-does-not-exist.patch \ + file://0020-Revert-Fix-workaround-in-pthread-destructor.patch \ " # common for qtbase-native and nativesdk-qtbase diff --git a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch index 37e0a6a9..ccc29043 100644 --- a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch +++ b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch @@ -1,4 +1,4 @@ -From c97da220d95091386724e1eadc360ed16ed52dfe Mon Sep 17 00:00:00 2001 +From f7b84519234ff0cecb6495d31f377910dce34b62 Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Mon, 15 Apr 2013 04:29:32 +0200 Subject: [PATCH] Add linux-oe-g++ platform @@ -24,17 +24,17 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> mkspecs/features/configure.prf | 4 +-- mkspecs/features/qt.prf | 6 ++--- mkspecs/features/qt_functions.prf | 2 +- - mkspecs/linux-oe-g++/qmake.conf | 39 ++++++++++++++++++++++++++++ + mkspecs/linux-oe-g++/qmake.conf | 40 ++++++++++++++++++++++++++++ mkspecs/linux-oe-g++/qplatformdefs.h | 1 + - 6 files changed, 47 insertions(+), 7 deletions(-) + 6 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 mkspecs/linux-oe-g++/qmake.conf create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h diff --git a/configure b/configure -index b6c9b462f2..4e3fcd41d1 100755 +index f9407ef587..467f57f960 100755 --- a/configure +++ b/configure -@@ -708,7 +708,7 @@ fi +@@ -709,7 +709,7 @@ fi # is where the resulting variable is written to setBootstrapVariable() { @@ -65,10 +65,10 @@ index 934a18a924..0f5b1b6333 100644 msg = "test $$1 succeeded" write_file($$QMAKE_CONFIG_LOG, msg, append) diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf -index 69d1954306..37f7c9c4a2 100644 +index 89f4946c50..97c1b43ccb 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf -@@ -151,7 +151,7 @@ import_plugins:qtConfig(static) { +@@ -148,7 +148,7 @@ import_plugins:qtConfig(static) { plug_name = $$QMAKE_PREFIX_STATICLIB$${plug}$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB plug_path = $$eval(QT_PLUGIN.$${plug}.PATH) isEmpty(plug_path): \ @@ -77,7 +77,7 @@ index 69d1954306..37f7c9c4a2 100644 LIBS += $$plug_path/$$plug_type/$$plug_name } else { LIBS += -l$${plug}$$qtPlatformTargetSuffix() -@@ -274,8 +274,8 @@ for(ever) { +@@ -271,8 +271,8 @@ for(ever) { # static builds: link qml import plugins into the target. contains(all_qt_module_deps, qml): \ qtConfig(static):import_plugins:!host_build:!no_import_scan { @@ -89,10 +89,10 @@ index 69d1954306..37f7c9c4a2 100644 # run qmlimportscanner qtPrepareTool(QMLIMPORTSCANNER, qmlimportscanner, , system) diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf -index 7777e615bd..8d792fa70a 100644 +index 1903e509c8..c093dd4592 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf -@@ -87,7 +87,7 @@ defineTest(qtHaveModule) { +@@ -69,7 +69,7 @@ defineTest(qtHaveModule) { defineTest(qtPrepareTool) { cmd = $$eval(QT_TOOL.$${2}.binary) isEmpty(cmd) { @@ -103,10 +103,10 @@ index 7777e615bd..8d792fa70a 100644 cmd = perl -w $$system_path($${cmd}.pl) diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf new file mode 100644 -index 0000000000..c202c47fa1 +index 0000000000..9275fc7d74 --- /dev/null +++ b/mkspecs/linux-oe-g++/qmake.conf -@@ -0,0 +1,39 @@ +@@ -0,0 +1,40 @@ +# +# qmake configuration for linux-g++ with modifications for building with OpenEmbedded +# @@ -117,8 +117,9 @@ index 0000000000..c202c47fa1 + +include(../common/linux.conf) + -+# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip ++# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar, objcopy, and strip +QMAKE_AR = $$(OE_QMAKE_AR) cqs ++QMAKE_OBJCOPY = $$(OE_QMAKE_OBJCOPY) +QMAKE_STRIP = $$(OE_QMAKE_STRIP) + +include(../common/gcc-base-unix.conf) diff --git a/recipes-qt/qt5/qtbase/0020-Revert-Fix-workaround-in-pthread-destructor.patch b/recipes-qt/qt5/qtbase/0020-Revert-Fix-workaround-in-pthread-destructor.patch new file mode 100644 index 00000000..c397ddb3 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0020-Revert-Fix-workaround-in-pthread-destructor.patch @@ -0,0 +1,67 @@ +From aeaea761f21e5430d3199d2ca4414d18ed7b0fd5 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Tue, 26 Jan 2021 08:50:45 +0100 +Subject: [PATCH] Revert "Fix workaround in pthread destructor" + +This reverts commit 81ce2d1d6fa741de4d27b939a378147a02019ec1. + +currentThreadData was reverted in 5.12 before this commit: + +81ce2d1d6f Fix workaround in pthread destructor +8867e0eaa7 Revert "Remove pthread storage for thread local data" +78665d8a0c Remove pthread storage for thread local data + +causing build failures in configurations which use this +| /home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/cortexa8t2hf-neon-halium-webos-linux-gnueabi/qtbase/5.15.2+gitAUTOINC+40143c189b-r0/git/src/corelib/thread/qthread_unix.cpp: In function 'void destroy_current_thread_data(void*)': +| /home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/cortexa8t2hf-neon-halium-webos-linux-gnueabi/qtbase/5.15.2+gitAUTOINC+40143c189b-r0/git/src/corelib/thread/qthread_unix.cpp:121:5: error: 'currentThreadData' was not declared in this scope +| 121 | currentThreadData = data; +| | ^~~~~~~~~~~~~~~~~ + +--- + src/corelib/thread/qthread_unix.cpp | 25 +++++++++++++++++++------ + 1 file changed, 19 insertions(+), 6 deletions(-) + +diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp +index 659d5fb03c..1da68b3130 100644 +--- a/src/corelib/thread/qthread_unix.cpp ++++ b/src/corelib/thread/qthread_unix.cpp +@@ -116,11 +116,18 @@ static pthread_key_t current_thread_data_key; + + static void destroy_current_thread_data(void *p) + { ++#if defined(Q_OS_VXWORKS) ++ // Calling setspecific(..., 0) sets the value to 0 for ALL threads. ++ // The 'set to 1' workaround adds a bit of an overhead though, ++ // since this function is called twice now. ++ if (p == (void *)1) ++ return; ++#endif ++ // POSIX says the value in our key is set to zero before calling ++ // this destructor function, so we need to set it back to the ++ // right value... ++ pthread_setspecific(current_thread_data_key, p); + QThreadData *data = static_cast<QThreadData *>(p); +- // thread_local variables are set to zero before calling this destructor function, +- // if they are internally using pthread-specific data management, +- // so we need to set it back to the right value... +- currentThreadData = data; + if (data->isAdopted) { + QThread *thread = data->thread.loadAcquire(); + Q_ASSERT(thread); +@@ -131,8 +138,14 @@ static void destroy_current_thread_data(void *p) + data->deref(); + + // ... but we must reset it to zero before returning so we aren't +- // leaving a dangling pointer. +- currentThreadData = nullptr; ++ // called again (POSIX allows implementations to call destructor ++ // functions repeatedly until all values are zero) ++ pthread_setspecific(current_thread_data_key, ++#if defined(Q_OS_VXWORKS) ++ (void *)1); ++#else ++ nullptr); ++#endif + } + + static void create_current_thread_data_key() diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index 2a07f2b1..7ff6fc66 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -33,6 +33,7 @@ SRC_URI += "\ file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \ file://0018-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \ file://0019-Define-__NR_futex-if-it-does-not-exist.patch \ + file://0020-Revert-Fix-workaround-in-pthread-destructor.patch \ " # Disable LTO for now, QT5 patches are being worked upstream, perhaps revisit with @@ -267,6 +268,7 @@ do_install_append() { echo "isEmpty(QMAKE_LINK_C): QMAKE_LINK_C = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf echo "isEmpty(QMAKE_LINK_C_SHLIB): QMAKE_LINK_C_SHLIB = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf echo "isEmpty(QMAKE_LFLAGS): QMAKE_LFLAGS = ${OE_QMAKE_LDFLAGS}" >> $conf + echo "isEmpty(QMAKE_OBJCOPY): QMAKE_OBJCOPY = ${TARGET_PREFIX}objcopy" >> $conf echo "isEmpty(QMAKE_STRIP): QMAKE_STRIP = ${TARGET_PREFIX}strip" >> $conf echo "isEmpty(CC_host): CC_host = ${CC_host}" >> $conf echo "isEmpty(CXX_host): CXX_host = ${CXX_host}" >> $conf diff --git a/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch b/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch index 6336e524..f5dd675a 100644 --- a/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch +++ b/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch @@ -1,4 +1,4 @@ -From cd88a299fa46b2a1be2dbdbda7d6abd77e4edb23 Mon Sep 17 00:00:00 2001 +From e9a8985fe1fd45da990e821283dcb16109d1d674 Mon Sep 17 00:00:00 2001 From: Piotr Tworek <tworaz@tworaz.net> Date: Wed, 3 Jul 2019 01:13:40 +0200 Subject: [PATCH] Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to locate qmlcachegen @@ -14,7 +14,7 @@ Signed-off-by: Piotr Tworek <tworaz@tworaz.net> 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in -index be2113b258..ce28345cad 100644 +index 26d42c02a9..7b4186c837 100644 --- a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in +++ b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in @@ -18,11 +18,7 @@ function(QTQUICK_COMPILER_ADD_RESOURCES outfiles) diff --git a/recipes-qt/qt5/qtdeclarative/0001-yarr-Include-limits-for-numeric_limits.patch b/recipes-qt/qt5/qtdeclarative/0001-yarr-Include-limits-for-numeric_limits.patch new file mode 100644 index 00000000..92b76393 --- /dev/null +++ b/recipes-qt/qt5/qtdeclarative/0001-yarr-Include-limits-for-numeric_limits.patch @@ -0,0 +1,29 @@ +From c6ed528f11456bb53789708e44692f730623910b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 3 Mar 2021 07:26:21 -0800 +Subject: [PATCH] yarr: Include <limits> for numeric_limits + +Fixes +src/3rdparty/masm/yarr/Yarr.h:46:44: error: 'numeric_limits' is not a member of 'std' + 46 | static const unsigned offsetNoMatch = std::numeric_limits<unsigned>::max(); + | ^~~~~~~~~~~~~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/3rdparty/masm/yarr/Yarr.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/3rdparty/masm/yarr/Yarr.h b/src/3rdparty/masm/yarr/Yarr.h +index ccf78f9880..cbb42c60d8 100644 +--- a/src/3rdparty/masm/yarr/Yarr.h ++++ b/src/3rdparty/masm/yarr/Yarr.h +@@ -27,7 +27,7 @@ + + #pragma once + +-#include <limits.h> ++#include <limits> + #include "YarrErrorCode.h" + + namespace JSC { namespace Yarr { diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb index 4dae2ed6..dc04fb53 100644 --- a/recipes-qt/qt5/qtdeclarative_git.bb +++ b/recipes-qt/qt5/qtdeclarative_git.bb @@ -16,6 +16,7 @@ LIC_FILES_CHKSUM = " \ # 5.15.meta-qt5.1 SRC_URI += " \ file://0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch \ + file://0001-yarr-Include-limits-for-numeric_limits.patch \ " LDFLAGS_append_riscv64 = " -pthread" @@ -27,6 +28,27 @@ PACKAGECONFIG[qml-debug] = "-qml-debug,-no-qml-debug" PACKAGECONFIG[qml-network] = "-qml-network, -no-qml-network" PACKAGECONFIG[static] = ",,qtdeclarative-native" +EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" + +do_install_ptest() { + mkdir -p ${D}${PTEST_PATH} + for var in `find ${B}/tests/auto/ -name tst_*`; do + case=$(basename ${var}) + if [ -z `echo ${case} | grep '\.'` ]; then + dname=$(dirname ${var}) + pdir=$(basename ${dname}) + echo ${pdir}/${case} >> ${D}${PTEST_PATH}/tst_list + + mkdir ${D}${PTEST_PATH}/${pdir} + install -m 0744 ${var} ${D}${PTEST_PATH}/${pdir} + data_dir=${S}/${dname##${B}}/data + if [ -d ${data_dir} ]; then + cp -r ${data_dir} ${D}${PTEST_PATH}/${pdir} + fi + fi + done +} + do_install_append_class-nativesdk() { # qml files not needed in nativesdk rm -rf ${D}${OE_QMAKE_PATH_QML} diff --git a/recipes-qt/qt5/qtquickcontrols2/0001-Revert-Get-the-scale-of-the-popup-item-when-setting-.patch b/recipes-qt/qt5/qtquickcontrols2/0001-Revert-Get-the-scale-of-the-popup-item-when-setting-.patch new file mode 100644 index 00000000..a5512bbe --- /dev/null +++ b/recipes-qt/qt5/qtquickcontrols2/0001-Revert-Get-the-scale-of-the-popup-item-when-setting-.patch @@ -0,0 +1,128 @@ +From 9fada65e1dd8958cbe4b8dc12c9e4814fcff5a6c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Fri, 16 Apr 2021 21:54:16 +0200 +Subject: [PATCH] Revert "Get the scale of the popup item when setting the + parent item" + +Upgrade 5.14.2 (for us dunfell) -> 5.15.2 introduced a bug: Opening a menu +for the second+ time, menu moves right and down and parts land outside screen. +Reported but nobody cares. [1] + +[1] https://bugreports.qt.io/browse/QTBUG-86973 + +Upstream-Status: Pending + +This reverts commit 761dba8b23b7e558acc57b3e481648ce319a4397. +--- + src/quicktemplates2/qquickpopuppositioner.cpp | 18 +++++++-------- + .../qquickpopuppositioner_p_p.h | 1 - + tests/auto/controls/data/tst_combobox.qml | 22 ------------------- + tests/auto/controls/data/tst_popup.qml | 3 --- + 4 files changed, 8 insertions(+), 36 deletions(-) + +diff --git a/src/quicktemplates2/qquickpopuppositioner.cpp b/src/quicktemplates2/qquickpopuppositioner.cpp +index 1bfaafbe6..dbe8ac1d5 100644 +--- a/src/quicktemplates2/qquickpopuppositioner.cpp ++++ b/src/quicktemplates2/qquickpopuppositioner.cpp +@@ -92,10 +92,7 @@ void QQuickPopupPositioner::setParentItem(QQuickItem *parent) + + QQuickItemPrivate::get(parent)->addItemChangeListener(this, ItemChangeTypes); + addAncestorListeners(parent->parentItem()); +- // Store the scale property so the end result of any transition that could effect the scale +- // does not influence the top left of the final popup, so it doesn't appear to flip from one +- // position to another as a result +- m_popupScale = m_popup->popupItem()->scale(); ++ + if (m_popup->popupItem()->isVisible()) + QQuickPopupPrivate::get(m_popup)->reposition(); + } +@@ -111,10 +108,11 @@ void QQuickPopupPositioner::reposition() + return; + } + +- const qreal w = popupItem->width() * m_popupScale; +- const qreal h = popupItem->height() * m_popupScale; +- const qreal iw = popupItem->implicitWidth() * m_popupScale; +- const qreal ih = popupItem->implicitHeight() * m_popupScale; ++ const qreal scale = popupItem->scale(); ++ const qreal w = popupItem->width() * scale; ++ const qreal h = popupItem->height() * scale; ++ const qreal iw = popupItem->implicitWidth() * scale; ++ const qreal ih = popupItem->implicitHeight() * scale; + + bool widthAdjusted = false; + bool heightAdjusted = false; +@@ -260,9 +258,9 @@ void QQuickPopupPositioner::reposition() + } + + if (!p->hasWidth && widthAdjusted && rect.width() > 0) +- popupItem->setWidth(rect.width() / m_popupScale); ++ popupItem->setWidth(rect.width() / scale); + if (!p->hasHeight && heightAdjusted && rect.height() > 0) +- popupItem->setHeight(rect.height() / m_popupScale); ++ popupItem->setHeight(rect.height() / scale); + m_positioning = false; + } + +diff --git a/src/quicktemplates2/qquickpopuppositioner_p_p.h b/src/quicktemplates2/qquickpopuppositioner_p_p.h +index 03a2e2fed..64f57a3fa 100644 +--- a/src/quicktemplates2/qquickpopuppositioner_p_p.h ++++ b/src/quicktemplates2/qquickpopuppositioner_p_p.h +@@ -79,7 +79,6 @@ protected: + bool m_positioning = false; + QQuickItem *m_parentItem = nullptr; + QQuickPopup *m_popup = nullptr; +- qreal m_popupScale = 1.0; + }; + + QT_END_NAMESPACE +diff --git a/tests/auto/controls/data/tst_combobox.qml b/tests/auto/controls/data/tst_combobox.qml +index 1c58372ff..e9156fee5 100644 +--- a/tests/auto/controls/data/tst_combobox.qml ++++ b/tests/auto/controls/data/tst_combobox.qml +@@ -911,28 +911,6 @@ TestCase { + compare(control.popup.visible, true) + verify(control.popup.contentItem.y < control.y) + +- +- // Account for when a transition of a scale from 0.9-1.0 that it is placed above right away and not below +- // first just because there is room at the 0.9 scale +- if (control.popup.enter !== null) { +- // hide +- mouseClick(control) +- compare(control.pressed, false) +- tryCompare(control.popup, "visible", false) +- control.y = control.Window.height - (control.popup.contentItem.height * 0.99) +- var popupYSpy = createTemporaryObject(signalSpy, testCase, {target: control.popup, signalName: "yChanged"}) +- verify(popupYSpy.valid) +- mousePress(control) +- compare(control.pressed, true) +- compare(control.popup.visible, false) +- mouseRelease(control) +- compare(control.pressed, false) +- compare(control.popup.visible, true) +- tryCompare(control.popup.enter, "running", false) +- verify(control.popup.contentItem.y < control.y) +- verify(popupYSpy.count === 1) +- } +- + // follow the control outside the horizontal window bounds + control.x = -control.width / 2 + compare(control.x, -control.width / 2) +diff --git a/tests/auto/controls/data/tst_popup.qml b/tests/auto/controls/data/tst_popup.qml +index 57d5ccccf..71d6f2d76 100644 +--- a/tests/auto/controls/data/tst_popup.qml ++++ b/tests/auto/controls/data/tst_popup.qml +@@ -1276,9 +1276,6 @@ TestCase { + { visible: true, width: 100, height: 100 }) + verify(control) + verify(control.visible) +- // If there is a transition then make sure it is finished +- if (control.enter !== null) +- tryCompare(control.enter, "running", false) + compare(control.parent, control.Overlay.overlay) + compare(control.x, 0) + compare(control.y, 0) +-- +2.26.2 + diff --git a/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch b/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch index 31961d91..67ea08b2 100644 --- a/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch +++ b/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch @@ -1,4 +1,4 @@ -From a6f536ce5753e95d2ecfd392ebc7deb37aceea09 Mon Sep 17 00:00:00 2001 +From 4f5aa37cb8c785f227eb3a55595dd055d5f3e2c5 Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@qt.io> Date: Wed, 15 Mar 2017 13:53:28 +0200 Subject: [PATCH] Force host toolchain configuration @@ -19,10 +19,10 @@ Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/buildtools/config/linux.pri b/src/buildtools/config/linux.pri -index 455a2e3c..6178d860 100644 +index 7507d51e..1e078cbf 100644 --- a/src/buildtools/config/linux.pri +++ b/src/buildtools/config/linux.pri -@@ -122,7 +122,7 @@ contains(QT_ARCH, "mips") { +@@ -118,7 +118,7 @@ contains(QT_ARCH, "mips") { host_build { gn_args += custom_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:host\" diff --git a/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch b/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch index 43fc31fc..ee1d7fdb 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch @@ -1,4 +1,4 @@ -From 0229d48e46497568217b426123a576a2eaaff4e9 Mon Sep 17 00:00:00 2001 +From b0251611be6c04c9157589d155ff6a1c1469685f Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@qt.io> Date: Thu, 30 Mar 2017 11:37:24 +0300 Subject: [PATCH] chromium: workaround for too long .rps file name diff --git a/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch index fa64d4a0..ff448ab9 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch @@ -1,4 +1,4 @@ -From a7012306f328056d5c08ec1320da4037ee8fc5ee Mon Sep 17 00:00:00 2001 +From b3e90f55b7174973b432344995b5da749b250ddf Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 2 Feb 2019 19:28:59 -0800 Subject: [PATCH] chromium: fix build with clang diff --git a/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch b/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch index 92f8a30e..e15b2f7b 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch @@ -1,4 +1,4 @@ -From 475f0b52895b89b64936c37a338f0d0cf5552297 Mon Sep 17 00:00:00 2001 +From 4ad5b8e7645190fb4202df2b538690c8650fd6b2 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 5 Feb 2019 14:32:20 -0800 Subject: [PATCH] chromium: Exclude CRC32 for 32bit arm diff --git a/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch index 1c3a2154..ccc19f91 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch @@ -1,4 +1,4 @@ -From b1571a939a3456b576de3a2d4897ea2b1b2b4b89 Mon Sep 17 00:00:00 2001 +From 19bfaced4a770f85e187a8228496c793abfba6d9 Mon Sep 17 00:00:00 2001 From: Johannes Pointner <johannes.pointner@br-automation.com> Date: Fri, 3 May 2019 09:12:38 +0200 Subject: [PATCH] chromium: Do not try to set the guessed values for diff --git a/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-aarch64-skia-build-fix.patch b/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-aarch64-skia-build-fix.patch index c3b3c830..6cfbdcae 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-aarch64-skia-build-fix.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-aarch64-skia-build-fix.patch @@ -1,4 +1,4 @@ -From abe0a1c661241943b40192cf3fe73227123d7369 Mon Sep 17 00:00:00 2001 +From 3af74da07ef771948f4229706e088562fd419534 Mon Sep 17 00:00:00 2001 From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> Date: Thu, 8 Mar 2018 15:39:55 +0100 Subject: [PATCH] chromium: aarch64 skia build fix diff --git a/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-fix-build-after-y2038-changes-in-glibc.patch b/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-fix-build-after-y2038-changes-in-glibc.patch index ed7e2774..a50af5f8 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-fix-build-after-y2038-changes-in-glibc.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-fix-build-after-y2038-changes-in-glibc.patch @@ -1,4 +1,4 @@ -From 5af48e4ca5d2515606a07c9896e927d65e77ca72 Mon Sep 17 00:00:00 2001 +From d65ae3fe949ca238e7e3479ca4852dde959303b1 Mon Sep 17 00:00:00 2001 From: Jiri Slaby <jslaby@suse.cz> Date: Thu, 11 Jul 2019 09:35:13 +0200 Subject: [PATCH] chromium: fix build after y2038 changes in glibc diff --git a/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch index ba734781..5d02fbab 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -1,4 +1,4 @@ -From 80c09862860702ce559c150784de50aa56282802 Mon Sep 17 00:00:00 2001 +From 936bf9b5e16978062919c64c6efffb4de772978a Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 30 Nov 2019 10:07:43 -0800 Subject: [PATCH] chromium: Fix build on 32bit arches with 64bit time_t diff --git a/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Include-cstddef-for-size_t-definition.patch b/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Include-cstddef-for-size_t-definition.patch index 25ea5639..4ad12736 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Include-cstddef-for-size_t-definition.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Include-cstddef-for-size_t-definition.patch @@ -1,4 +1,4 @@ -From 8c4ba9f35e835159502239e184646615e71db00c Mon Sep 17 00:00:00 2001 +From 4f4291c43c52c2503f9603cbcddd777ccd585368 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 25 Dec 2019 15:41:16 -0800 Subject: [PATCH] chromium: Include cstddef for size_t definition diff --git a/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Move-CharAllocator-definition-to-a-header-f.patch b/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Move-CharAllocator-definition-to-a-header-f.patch index cd65c8b6..9f75cf24 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Move-CharAllocator-definition-to-a-header-f.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Move-CharAllocator-definition-to-a-header-f.patch @@ -1,7 +1,8 @@ -From 6c1bd0d6abecc1f3c198e4b3e41975edef2ebcff Mon Sep 17 00:00:00 2001 +From 1a89703d1be0fc11c1d417cefdae587d9cb06e62 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 2 Jan 2020 17:13:55 -0800 -Subject: [PATCH] chromium: Move CharAllocator definition to a header file +Subject: [PATCH] chromium: Move CharAllocator definition to a header + file Fixes error: invalid application of 'sizeof' to an incomplete type 'cc::ListContainerHelper::CharAllocator' diff --git a/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Link-v8-with-libatomic-on-x86.patch b/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Link-v8-with-libatomic-on-x86.patch index c63047b8..78882af1 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Link-v8-with-libatomic-on-x86.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Link-v8-with-libatomic-on-x86.patch @@ -1,4 +1,4 @@ -From 79aff9ed2ef07c562ba6dcbdd7e0274eebd3dc29 Mon Sep 17 00:00:00 2001 +From 6d44d2699f3da33fb9afa8a169fc062bbbffd92c Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 1 Feb 2020 12:17:23 -0800 Subject: [PATCH] chromium: Link v8 with libatomic on x86 diff --git a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-icu-use-system-library-only-targets.patch b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-icu-use-system-library-only-targets.patch index 8c990ce7..54be2991 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-icu-use-system-library-only-targets.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-icu-use-system-library-only-targets.patch @@ -1,4 +1,4 @@ -From b670124d771e503a17cf0d0ac7bbaf8ef601f31f Mon Sep 17 00:00:00 2001 +From e1acc223a1bd8e1b619d45847daed05d99729820 Mon Sep 17 00:00:00 2001 From: Andrej Valek <andrej.valek@siemens.com> Date: Fri, 17 Apr 2020 09:43:32 +0200 Subject: [PATCH] chromium: icu: use system library only targets diff --git a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch b/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch index 070f994d..6f56fca1 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch @@ -1,7 +1,8 @@ -From 967aab36341387968070ae75edd503b1208a6961 Mon Sep 17 00:00:00 2001 +From e16ab9ca069ebb6499ca5c4949fa6db8d58ee7cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> Date: Mon, 20 Apr 2020 23:56:48 +0200 -Subject: [PATCH] chromium: Fix sandbox 'Aw, snap' for syscalls 403 and 407 +Subject: [PATCH] chromium: Fix sandbox 'Aw, snap' for syscalls 403 and + 407 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-Add-missing-include-for-C-strncpy.patch b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-Add-missing-include-for-C-strncpy.patch index 10e924c0..81159aa9 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-Add-missing-include-for-C-strncpy.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-Add-missing-include-for-C-strncpy.patch @@ -1,7 +1,7 @@ -From 5b64a08023887bd4664996175120312e07287f1b Mon Sep 17 00:00:00 2001 +From 339af001155fd49f4f967dcf08664e247d258877 Mon Sep 17 00:00:00 2001 From: Jani Suonpera <jani.suonpera@qt.io> Date: Thu, 4 Feb 2021 14:30:44 +0200 -Subject: [PATCH] Add missing include for C strncpy +Subject: [PATCH] chromium: Add missing include for C strncpy Task-number:QTBUG-90623 --- diff --git a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-abseil-cpp-mojo-perfetto-fix-build-with-gcc.patch b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-abseil-cpp-mojo-perfetto-fix-build-with-gcc.patch new file mode 100644 index 00000000..b0b012b5 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-abseil-cpp-mojo-perfetto-fix-build-with-gcc.patch @@ -0,0 +1,72 @@ +From e9a3312ef31c38e50f70e2963d0565f50e627895 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +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<uint32_t>::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<uint32_t>::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<uint32_t>::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 '<cstring>'; did you forget to '#include <cstring>'? +| 17 | #include "base/strings/string_number_conversions.h" +| +++ |+#include <cstring> +| 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<uint32_t>::max()); + +This is because its missing right header which perhaps is included +implicitly in older compilers + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + .../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 27fec21681d..f7b632457ab 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 <algorithm> ++#include <limits> + #include <array> + #include <limits> + #include "absl/base/internal/hide_ptr.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 6b76b74c91b..1655d35f6ac 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 +@@ -21,6 +21,7 @@ + #include <stddef.h> + #include <stdint.h> + ++#include <limits> + #include <unordered_map> + #include <vector> + 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/0015-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch index 1caa4a67..2b2a71f5 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch @@ -1,8 +1,8 @@ -From 56486b901c7101c5b78b1282f5b81e80141f9b05 Mon Sep 17 00:00:00 2001 +From 0720824a9ddd8dd5733323f98c20da8e20a3f00e Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 14:01:12 -0700 -Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if not - defined +Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if + not defined Musl does not define this Macro 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/0016-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch index 2e3b1155..20ab5d96 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch @@ -1,7 +1,8 @@ -From ee3e05b09ad149ea02d9d4b743ea75cdc38a6f4e Mon Sep 17 00:00:00 2001 +From e1fa81138385b061c4ad6f0b8c70621e459cdc83 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 14:09:06 -0700 -Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on non-glibc/linux +Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on + non-glibc/linux Signed-off-by: Khem Raj <raj.khem@gmail.com> --- diff --git a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-include-fcntl.h-for-loff_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-include-fcntl.h-for-loff_t.patch index 5d97d60a..233e71a3 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-include-fcntl.h-for-loff_t.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-include-fcntl.h-for-loff_t.patch @@ -1,4 +1,4 @@ -From 7f62849b103d44e6467b8fb722217586f8b68016 Mon Sep 17 00:00:00 2001 +From 321d061c2416748744abec84ddb00ae36d779ae0 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 14:37:49 -0700 Subject: [PATCH] chromium: musl: include fcntl.h for loff_t 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/0018-chromium-musl-use-off64_t-instead-of-the-internal-__.patch index 9d3f327f..b195fea5 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-use-off64_t-instead-of-the-internal-__.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-use-off64_t-instead-of-the-internal-__.patch @@ -1,7 +1,8 @@ -From adf366d5da96db4a9538826a97cbd6833b17ac07 Mon Sep 17 00:00:00 2001 +From f46206ac042ca33313e385c348ed5ecb8bc3d2f0 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 14:38:37 -0700 -Subject: [PATCH] chromium: musl: use off64_t instead of the internal __off64_t +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. diff --git a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-linux-glibc-make-the-distinction.patch b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-linux-glibc-make-the-distinction.patch index f6d604cb..48c6ec3f 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-linux-glibc-make-the-distinction.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-linux-glibc-make-the-distinction.patch @@ -1,4 +1,4 @@ -From 0e1d9c34ad4488733c4cb5ec20b82e3d9473e5b6 Mon Sep 17 00:00:00 2001 +From 8de6b6bb628f94b461de6d178207e381373881b6 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 14:54:38 -0700 Subject: [PATCH] chromium: musl: linux != glibc, make the distinction @@ -9,7 +9,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 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..e80f67e54f1 100644 +index a5ca0b7191e..7017d48b5a0 100644 --- a/chromium/base/allocator/allocator_check.cc +++ b/chromium/base/allocator/allocator_check.cc @@ -27,7 +27,7 @@ bool IsAllocatorInitialized() { 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/0020-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch index a43b6083..b506214d 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch @@ -1,8 +1,8 @@ -From 8fc1e879eb657d9a46e4a08ae8989e1b589f5745 Mon Sep 17 00:00:00 2001 +From fd57ca553714b8c2a13d9ead8b2b62b1882edb2f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 15:27:50 -0700 -Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for non-glibc - platforms +Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for + non-glibc platforms Signed-off-by: Khem Raj <raj.khem@gmail.com> --- diff --git a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Do-not-define-__sbrk-on-musl.patch b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Do-not-define-__sbrk-on-musl.patch index d817c3d0..d84f3436 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Do-not-define-__sbrk-on-musl.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Do-not-define-__sbrk-on-musl.patch @@ -1,4 +1,4 @@ -From 107051f8490498b30757d79c97f9309057bc4cc8 Mon Sep 17 00:00:00 2001 +From c212e32e8453e6130de1c6f9325b048802bf59d4 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 15:39:57 -0700 Subject: [PATCH] chromium: musl: Do not define __sbrk on musl diff --git a/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-Adjust-default-pthread-stack-size.patch index bd69316b..2fb48e3b 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Adjust-default-pthread-stack-size.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-Adjust-default-pthread-stack-size.patch @@ -1,4 +1,4 @@ -From 3cc48f9e538838ef7bc6bc80041ed00d44bde697 Mon Sep 17 00:00:00 2001 +From e4d62b7ec685d00f9690ffac20580637a3b07b4a Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 16:41:23 -0700 Subject: [PATCH] chromium: musl: Adjust default pthread stack size diff --git a/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch index 9ce9edce..49fbb1ec 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch @@ -1,8 +1,8 @@ -From 46283c0005cfb5d882b76df89a5c4fd880c0de42 Mon Sep 17 00:00:00 2001 +From 19eb2ff78ff3217648da47fc15a44b987ff14b81 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 25 Sep 2018 12:35:07 -0700 -Subject: [PATCH] chromium: musl: Use _fpstate instead of _libc_fpstate on - linux +Subject: [PATCH] chromium: musl: Use _fpstate instead of _libc_fpstate + on linux glibc defines both. musl libc only the former. diff --git a/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch b/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch index 11ff47f0..847b4726 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch @@ -1,16 +1,16 @@ -From 78e9d21a5a43c8af5329ba10daee1859e08d8ccf Mon Sep 17 00:00:00 2001 +From 130dd0978ca18d2108935bf4558de17cce06813c Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 25 Sep 2018 12:59:05 -0700 -Subject: [PATCH] chromium: musl: elf_reader.cc: include <sys/reg.h> to get - __WORDSIZE on musl libc +Subject: [PATCH] chromium: musl: elf_reader.cc: include <sys/reg.h> to + get __WORDSIZE on musl libc Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> --- - 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(-) + chromium/third_party/breakpad/breakpad/configure.ac | 2 +- + .../breakpad/breakpad/src/common/dwarf/elf_reader.cc | 4 ++++ + .../breakpad/breakpad/src/common/linux/elf_core_dump.h | 1 + + 3 files changed, 6 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 @@ -26,10 +26,18 @@ index 08513687f34..13745540a5e 100644 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..fa822e5453a 100644 +index bbfdba68093..a98bb7e6fd7 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 -@@ -36,7 +36,9 @@ +@@ -30,13 +30,17 @@ + #define _GNU_SOURCE // needed for pread() + #endif + ++#include <config.h> ++#include <sys/reg.h> + #include <fcntl.h> + #include <limits.h> + #include <string.h> #include <sys/mman.h> #include <sys/stat.h> #include <sys/types.h> diff --git a/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-pread-pwrite.patch b/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-pread-pwrite.patch index 554afdfe..245e19fc 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-pread-pwrite.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-pread-pwrite.patch @@ -1,4 +1,4 @@ -From 5ce942260f64c70234a0af73af9cc8d26e99f188 Mon Sep 17 00:00:00 2001 +From cc286866d3449a4b3f13a9134acd2bd037591e68 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 23 Dec 2018 16:58:04 -0800 Subject: [PATCH] chromium: musl: pread pwrite @@ -10,17 +10,18 @@ libc either Upstream-Status: Submitted [https://codereview.chromium.org/1743093002/] Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - chromium/third_party/lss/linux_syscall_support.h | 5 +++++ - 1 file changed, 5 insertions(+) + 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..37988077a23 100644 +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,11 @@ struct kernel_statfs { +@@ -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 diff --git a/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch b/recipes-qt/qt5/qtwebengine/chromium/0026-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch index d2617a83..7ea1263b 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0026-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch @@ -1,7 +1,8 @@ -From b37418977ba9bb13dae396b929f3365866e86af1 Mon Sep 17 00:00:00 2001 +From 60bd7d460f814d232a597d9177ec8400b13af793 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 10 May 2020 08:16:01 -0700 -Subject: [PATCH] chromium: musl: initialize msghdr in a compatible manner +Subject: [PATCH] chromium: musl: initialize msghdr in a compatible + manner initialize msghdr in a compatible manner diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index 602cb088..5f4bb9d2 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -17,11 +17,12 @@ DEPENDS += " \ nspr-native \ ninja-native \ nasm-native \ + nodejs-native \ bison-native \ qtwebchannel \ qtbase qtdeclarative qtxmlpatterns qtquickcontrols qtquickcontrols2 \ qtlocation \ - libdrm fontconfig pixman openssl pango cairo pciutils nss \ + libdrm libxkbcommon fontconfig pixman openssl pango cairo pciutils nss \ libcap \ jpeg-native \ freetype-native \ @@ -146,21 +147,21 @@ RDEPENDS_${PN}-examples += " \ QT_MODULE_BRANCH_CHROMIUM = "87-based" # Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15-glibc -# 5.15-glibc.meta-qt5.8 +# 5.15-glibc.meta-qt5.12 SRC_URI += " \ ${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty \ file://0001-Force-host-toolchain-configuration.patch \ " # Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15 -# 5.15-glibc.meta-qt5.8 +# 5.15.meta-qt5.12 SRC_URI_append_libc-musl = "\ file://0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch \ file://0003-musl-link-against-libexecinfo.patch \ file://0004-mkspecs-Allow-builds-with-libc-glibc.patch \ " -# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/80-based-glibc -# 80-based-glibc.meta-qt5.4 +# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/87-based-glibc +# 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 \ @@ -175,23 +176,24 @@ SRC_URI += " \ file://chromium/0011-chromium-icu-use-system-library-only-targets.patch;patchdir=src/3rdparty \ file://chromium/0012-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch;patchdir=src/3rdparty \ file://chromium/0013-chromium-Add-missing-include-for-C-strncpy.patch;patchdir=src/3rdparty \ + file://chromium/0014-chromium-abseil-cpp-mojo-perfetto-fix-build-with-gcc.patch;patchdir=src/3rdparty \ " -# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/80-based -# 80-based.meta-qt5.4 +# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/87-based +# 87-based.meta-qt5.4 SRC_URI_append_libc-musl = "\ - file://chromium/0014-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \ - file://chromium/0015-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \ - file://chromium/0016-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \ - file://chromium/0017-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \ - file://chromium/0018-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \ - file://chromium/0019-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \ - file://chromium/0020-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \ - file://chromium/0021-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \ - file://chromium/0022-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch;patchdir=src/3rdparty \ - file://chromium/0023-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch;patchdir=src/3rdparty \ - file://chromium/0024-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \ - file://chromium/0025-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch;patchdir=src/3rdparty \ + file://chromium/0015-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \ + file://chromium/0016-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \ + file://chromium/0017-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \ + file://chromium/0018-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \ + file://chromium/0019-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \ + file://chromium/0020-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \ + file://chromium/0021-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \ + file://chromium/0022-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \ + file://chromium/0023-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch;patchdir=src/3rdparty \ + file://chromium/0024-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch;patchdir=src/3rdparty \ + file://chromium/0025-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \ + file://chromium/0026-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch;patchdir=src/3rdparty \ " SRCREV_qtwebengine = "2acbba86362ac3a1c2d8c20390dc263875f8f09c" diff --git a/recipes-qt/qt5/qtwebkit/0006-Fix-build-with-bison37.patch b/recipes-qt/qt5/qtwebkit/0005-Fix-build-with-bison37.patch index 9262f5fe..9262f5fe 100644 --- a/recipes-qt/qt5/qtwebkit/0006-Fix-build-with-bison37.patch +++ b/recipes-qt/qt5/qtwebkit/0005-Fix-build-with-bison37.patch diff --git a/recipes-qt/qt5/qtwebkit/0007-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch b/recipes-qt/qt5/qtwebkit/0006-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch index 15607c0d..15607c0d 100644 --- a/recipes-qt/qt5/qtwebkit/0007-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch +++ b/recipes-qt/qt5/qtwebkit/0006-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch diff --git a/recipes-qt/qt5/qtwebkit/0008-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch b/recipes-qt/qt5/qtwebkit/0007-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch index 4eef3451..4eef3451 100644 --- a/recipes-qt/qt5/qtwebkit/0008-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch +++ b/recipes-qt/qt5/qtwebkit/0007-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch diff --git a/recipes-qt/qt5/qtwebkit/0008-Fix-build-with-icu-68.patch b/recipes-qt/qt5/qtwebkit/0008-Fix-build-with-icu-68.patch new file mode 100644 index 00000000..1715c8f3 --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0008-Fix-build-with-icu-68.patch @@ -0,0 +1,125 @@ +From 0e94085f74b562bf8edf5418142323785a069454 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Wed, 2 Dec 2020 22:34:54 +0100 +Subject: [PATCH] Fix build with icu >= 68 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + Source/WebCore/platform/text/TextCodecICU.cpp | 15 +++++++++++++++ + Source/WebCore/platform/text/icu/UTextProvider.h | 15 +++++++++++++++ + .../platform/text/icu/UTextProviderLatin1.cpp | 15 +++++++++++++++ + .../platform/text/icu/UTextProviderUTF16.cpp | 15 +++++++++++++++ + 4 files changed, 60 insertions(+) + +diff --git a/Source/WebCore/platform/text/TextCodecICU.cpp b/Source/WebCore/platform/text/TextCodecICU.cpp +index dd6ff0675..7ce8a70ef 100644 +--- a/Source/WebCore/platform/text/TextCodecICU.cpp ++++ b/Source/WebCore/platform/text/TextCodecICU.cpp +@@ -39,6 +39,21 @@ + #include <wtf/text/StringBuilder.h> + #include <wtf/unicode/CharacterNames.h> + ++// Since icu 68.1 icu we have to: ++#ifndef TRUE ++// Taken from umachibe.h: ++/** ++ * The TRUE value of a UBool. ++ * ++ * @deprecated ICU 68 Use standard "true" instead. ++ */ ++# define TRUE true ++#endif ++ ++#ifndef FALSE ++# define FALSE false ++#endif ++ + namespace WebCore { + + const size_t ConversionBufferSize = 16384; +diff --git a/Source/WebCore/platform/text/icu/UTextProvider.h b/Source/WebCore/platform/text/icu/UTextProvider.h +index c254fc4c7..9d2ad8b8c 100644 +--- a/Source/WebCore/platform/text/icu/UTextProvider.h ++++ b/Source/WebCore/platform/text/icu/UTextProvider.h +@@ -28,6 +28,21 @@ + + #include <unicode/utext.h> + ++// Since icu 68.1 icu we have to: ++#ifndef TRUE ++// Taken from umachibe.h: ++/** ++ * The TRUE value of a UBool. ++ * ++ * @deprecated ICU 68 Use standard "true" instead. ++ */ ++# define TRUE true ++#endif ++ ++#ifndef FALSE ++# define FALSE false ++#endif ++ + namespace WebCore { + + enum class UTextProviderContext { +diff --git a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp +index cd6852c71..0c95ea529 100644 +--- a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp ++++ b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp +@@ -29,6 +29,21 @@ + #include "UTextProvider.h" + #include <wtf/text/StringImpl.h> + ++// Since icu 68.1 icu we have to: ++#ifndef TRUE ++// Taken from umachibe.h: ++/** ++ * The TRUE value of a UBool. ++ * ++ * @deprecated ICU 68 Use standard "true" instead. ++ */ ++# define TRUE true ++#endif ++ ++#ifndef FALSE ++# define FALSE false ++#endif ++ + namespace WebCore { + + // Latin1 provider +diff --git a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp +index 7aaac48c8..6ac693602 100644 +--- a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp ++++ b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp +@@ -28,6 +28,21 @@ + + #include "UTextProvider.h" + ++// Since icu 68.1 icu we have to: ++#ifndef TRUE ++// Taken from umachibe.h: ++/** ++ * The TRUE value of a UBool. ++ * ++ * @deprecated ICU 68 Use standard "true" instead. ++ */ ++# define TRUE true ++#endif ++ ++#ifndef FALSE ++# define FALSE false ++#endif ++ + namespace WebCore { + + // UTF16ContextAware provider +-- +2.26.2 + diff --git a/recipes-qt/qt5/qtwebkit/0009-Riscv-Add-support-for-riscv.patch b/recipes-qt/qt5/qtwebkit/0009-Riscv-Add-support-for-riscv.patch new file mode 100644 index 00000000..2bfb72fe --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0009-Riscv-Add-support-for-riscv.patch @@ -0,0 +1,83 @@ +From b5a58d2c001689b07591fdce8820773d57a74002 Mon Sep 17 00:00:00 2001 +From: Chenxi Mao <chenxi.mao2013@gmail.com> +Date: Fri, 3 Apr 2020 08:33:10 +0800 +Subject: [PATCH 1/1] Riscv: Add support for riscv + +--- + CMakeLists.txt | 2 ++ + Source/JavaScriptCore/CMakeLists.txt | 1 + + Source/WTF/wtf/Platform.h | 12 ++++++++++-- + Source/WTF/wtf/dtoa/utils.h | 2 +- + 4 files changed, 14 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 31a2ea1fd..516476729 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -83,6 +83,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390") + set(WTF_CPU_S390 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x") + set(WTF_CPU_S390X 1) ++elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64") ++ set(WTF_CPU_RISCV64 1) + else () + message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'") + endif () +diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt +index 937b3ed00..2fff29f9d 100644 +--- a/Source/JavaScriptCore/CMakeLists.txt ++++ b/Source/JavaScriptCore/CMakeLists.txt +@@ -1286,6 +1286,7 @@ elseif (WTF_CPU_S390) + elseif (WTF_CPU_S390X) + elseif (WTF_CPU_MIPS) + elseif (WTF_CPU_SH4) ++elseif (WTF_CPU_RISCV64) + elseif (WTF_CPU_X86) + elseif (WTF_CPU_X86_64) + if (MSVC AND ENABLE_JIT) +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 5717f3ea1..8fac85f72 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -349,7 +349,14 @@ + + #endif /* ARM */ + +-#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) ++#if defined(__riscv) ++#define WTF_CPU_RISCV 1 ++#if __riscv_xlen == 64 ++#define WTF_CPU_RISCV64 1 ++#endif ++#endif ++ ++#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) || CPU(RISCV) + #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 + #endif + +@@ -707,7 +714,8 @@ + || CPU(S390X) \ + || CPU(MIPS64) \ + || CPU(PPC64) \ +- || CPU(PPC64LE) ++ || CPU(PPC64LE) \ ++ || CPU(RISCV64) + #define USE_JSVALUE64 1 + #else + #define USE_JSVALUE32_64 1 +diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h +index 05302e6e6..25dd352ee 100644 +--- a/Source/WTF/wtf/dtoa/utils.h ++++ b/Source/WTF/wtf/dtoa/utils.h +@@ -49,7 +49,7 @@ + defined(__ARMEL__) || \ + defined(_MIPS_ARCH_MIPS32R2) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 +-#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) ++#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) || CPU(RISCV) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) + #if defined(_WIN32) +-- +2.17.1 + diff --git a/recipes-qt/qt5/qtwebkit/0010-webdriver-libatomic.patch b/recipes-qt/qt5/qtwebkit/0010-webdriver-libatomic.patch new file mode 100644 index 00000000..39ee847c --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0010-webdriver-libatomic.patch @@ -0,0 +1,23 @@ +link with libatomic + +This fixes build with C11 + +lib/../Source/WTF/wtf/CMakeFiles/WTF.dir/Assertions.cpp.o:/usr/include/c++/11.0.1/bits/atomic_base.h:520: more undefined references to `__atomic_compare_exchange_1' follow +| collect2: error: ld returned 1 exit status + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- a/Source/WTF/wtf/CMakeLists.txt ++++ b/Source/WTF/wtf/CMakeLists.txt +@@ -245,6 +245,10 @@ if (NOT USE_SYSTEM_MALLOC) + list(APPEND WTF_LIBRARIES bmalloc) + endif () + ++list(APPEND WTF_LIBRARIES ++ -Wl,--as-needed -Wl,-latomic -Wl,--no-as-needed ++) ++ + list(APPEND WTF_SOURCES + unicode/icu/CollatorICU.cpp + ) diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb index a10346f4..fc9ca922 100644 --- a/recipes-qt/qt5/qtwebkit_git.bb +++ b/recipes-qt/qt5/qtwebkit_git.bb @@ -16,12 +16,16 @@ SRC_URI += "\ file://0002-Fix-build-with-non-glibc-libc-on-musl.patch \ file://0003-Fix-build-bug-for-armv32-BE.patch \ file://0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \ - file://0005-Riscv-Add-support-for-riscv.patch \ - file://0006-Fix-build-with-bison37.patch \ - file://0007-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch \ - file://0008-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch \ + file://0005-Fix-build-with-bison37.patch \ + file://0006-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch \ + file://0007-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch \ + file://0008-Fix-build-with-icu-68.patch \ + file://0009-Riscv-Add-support-for-riscv.patch \ " +SRC_URI_append_riscv32 = " file://0010-webdriver-libatomic.patch " +SRC_URI_append_riscv64 = " file://0010-webdriver-libatomic.patch " + inherit cmake_qt5 perlnative inherit python3native @@ -58,14 +62,17 @@ EXTRA_OECMAKE += " \ EXTRA_OECMAKE_append_toolchain-clang = " -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}'" # JIT not supported on MIPS/PPC/RISCV -EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " -EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " -EXTRA_OECMAKE_append_riscv64 = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " +EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON " +EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON " +EXTRA_OECMAKE_append_powerpc64le = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON " +EXTRA_OECMAKE_append_riscv64 = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON " # Disable gold on mips64/clang # mips64-yoe-linux-musl-ld.gold: internal error in get_got_page_offset, at ../../gold/mips.cc:6260 # mips-yoe-linux-musl-ld.gold: error: Can't find matching LO16 reloc -EXTRA_OECMAKE_append_toolchain-clang_mipsarch = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE_append_riscv64 = " -DUSE_LD_GOLD=OFF " PACKAGECONFIG ??= "qtlocation qtmultimedia qtsensors qtwebchannel \ ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ |