From a73de388e628a67490cdd7734779d405740b7fa3 Mon Sep 17 00:00:00 2001 From: Jani Suonpera Date: Wed, 27 Jan 2021 09:21:29 +0200 Subject: qt5: update submodules for LTS 5.15 - Webengine-chromium branch changed from 83-based to 87-based. - PACKAGECONFIGs protobuf and jsoncpp are removed because these configurations has been removed from src/buildtools/configure.json - DEPENDS nodejs-native added. This mandatory for chromium build. Task-number: QTBUG-90623 Change-Id: Ic933c88399422941114915afe5baa202850928f4 Reviewed-by: Samuli Piippo --- recipes-qt/qt5/nativesdk-qtbase_git.bb | 2 +- recipes-qt/qt5/qt3d_git.bb | 2 +- recipes-qt/qt5/qtbase-native_git.bb | 2 +- recipes-qt/qt5/qtbase_git.bb | 2 +- recipes-qt/qt5/qtcharts_git.bb | 2 +- recipes-qt/qt5/qtcoap_git.bb | 2 +- recipes-qt/qt5/qtconnectivity_git.bb | 2 +- recipes-qt/qt5/qtdatavis3d_git.bb | 2 +- recipes-qt/qt5/qtdeclarative_git.bb | 2 +- recipes-qt/qt5/qtgamepad_git.bb | 2 +- recipes-qt/qt5/qtgraphicaleffects_git.bb | 2 +- recipes-qt/qt5/qtimageformats_git.bb | 2 +- recipes-qt/qt5/qtknx_git.bb | 2 +- recipes-qt/qt5/qtlocation_git.bb | 2 +- recipes-qt/qt5/qtlottie_git.bb | 2 +- recipes-qt/qt5/qtmqtt_git.bb | 2 +- recipes-qt/qt5/qtmultimedia_git.bb | 2 +- recipes-qt/qt5/qtnetworkauth_git.bb | 2 +- recipes-qt/qt5/qtopcua_git.bb | 2 +- recipes-qt/qt5/qtpurchasing_git.bb | 2 +- recipes-qt/qt5/qtquick3d_git.bb | 2 +- recipes-qt/qt5/qtquickcontrols2_git.bb | 2 +- recipes-qt/qt5/qtquickcontrols_git.bb | 2 +- recipes-qt/qt5/qtquicktimeline_git.bb | 2 +- recipes-qt/qt5/qtremoteobjects_git.bb | 2 +- recipes-qt/qt5/qtscxml_git.bb | 2 +- recipes-qt/qt5/qtsensors_git.bb | 2 +- recipes-qt/qt5/qtserialbus_git.bb | 2 +- recipes-qt/qt5/qtserialport_git.bb | 2 +- recipes-qt/qt5/qtsvg_git.bb | 2 +- recipes-qt/qt5/qttools_git.bb | 2 +- recipes-qt/qt5/qttranslations_git.bb | 2 +- recipes-qt/qt5/qtvirtualkeyboard_git.bb | 2 +- recipes-qt/qt5/qtwayland_git.bb | 2 +- recipes-qt/qt5/qtwebchannel_git.bb | 2 +- ...um-workaround-for-too-long-.rps-file-name.patch | 2 +- .../0002-chromium-fix-build-with-clang.patch | 91 ++++ .../0002-chromium-stack-pointer-clobber.patch | 49 -- ...0003-chromium-Exclude-CRC32-for-32bit-arm.patch | 33 ++ .../0003-chromium-fix-build-with-clang.patch | 91 ---- ...-Do-not-try-to-set-the-guessed-values-for.patch | 41 ++ ...0004-chromium-Exclude-CRC32-for-32bit-arm.patch | 33 -- ...-Do-not-try-to-set-the-guessed-values-for.patch | 41 -- .../0005-chromium-aarch64-skia-build-fix.patch | 51 ++ .../0006-chromium-aarch64-skia-build-fix.patch | 64 --- ...um-fix-build-after-y2038-changes-in-glibc.patch | 28 ++ ...x-build-on-32bit-arches-with-64bit-time_t.patch | 47 ++ ...um-fix-build-after-y2038-changes-in-glibc.patch | 28 -- ...x-build-on-32bit-arches-with-64bit-time_t.patch | 47 -- ...ium-Include-cstddef-for-size_t-definition.patch | 35 ++ ...ium-Include-cstddef-for-size_t-definition.patch | 35 -- ...ve-CharAllocator-definition-to-a-header-f.patch | 554 +++++++++++++++++++++ ...10-chromium-Link-v8-with-libatomic-on-x86.patch | 29 ++ ...ve-CharAllocator-definition-to-a-header-f.patch | 554 --------------------- ...0011-chromium-Include-cstddef-and-cstdint.patch | 24 - ...omium-icu-use-system-library-only-targets.patch | 88 ++++ ...x-sandbox-Aw-snap-for-syscalls-403-and-40.patch | 139 ++++++ ...12-chromium-Link-v8-with-libatomic-on-x86.patch | 29 -- ...hromium-Add-missing-include-for-C-strncpy.patch | 22 + ...omium-icu-use-system-library-only-targets.patch | 88 ---- ...sl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch | 33 ++ ...x-sandbox-Aw-snap-for-syscalls-403-and-40.patch | 139 ------ ...sl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch | 52 ++ ...-chromium-musl-include-fcntl.h-for-loff_t.patch | 22 + ...sl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch | 33 -- ...sl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch | 52 -- ...sl-use-off64_t-instead-of-the-internal-__.patch | 62 +++ ...-chromium-musl-include-fcntl.h-for-loff_t.patch | 22 - ...ium-musl-linux-glibc-make-the-distinction.patch | 23 + ...sl-Define-res_ninit-and-res_nclose-for-no.patch | 79 +++ ...sl-use-off64_t-instead-of-the-internal-__.patch | 62 --- ...hromium-musl-Do-not-define-__sbrk-on-musl.patch | 26 + ...ium-musl-linux-glibc-make-the-distinction.patch | 23 - ...um-musl-Adjust-default-pthread-stack-size.patch | 47 ++ ...sl-allocator-Do-not-include-glibc_weak_sy.patch | 24 - ...sl-Use-_fpstate-instead-of-_libc_fpstate-.patch | 69 +++ ...sl-Define-res_ninit-and-res_nclose-for-no.patch | 79 --- ...sl-elf_reader.cc-include-sys-reg.h-to-get.patch | 53 ++ ...hromium-musl-Do-not-define-__sbrk-on-musl.patch | 26 - .../chromium/0024-chromium-musl-pread-pwrite.patch | 31 ++ ...um-musl-Adjust-default-pthread-stack-size.patch | 47 -- ...sl-initialize-msghdr-in-a-compatible-mann.patch | 45 ++ ...sl-Use-_fpstate-instead-of-_libc_fpstate-.patch | 63 --- ...sl-elf_reader.cc-include-sys-reg.h-to-get.patch | 56 --- .../chromium/0028-chromium-musl-pread-pwrite.patch | 31 -- ...sl-initialize-msghdr-in-a-compatible-mann.patch | 45 -- recipes-qt/qt5/qtwebengine_git.bb | 59 ++- recipes-qt/qt5/qtwebglplugin_git.bb | 2 +- recipes-qt/qt5/qtwebsockets_git.bb | 2 +- recipes-qt/qt5/qtwebview_git.bb | 2 +- recipes-qt/qt5/qtx11extras_git.bb | 2 +- recipes-qt/qt5/qtxmlpatterns_git.bb | 2 +- 92 files changed, 1769 insertions(+), 1857 deletions(-) create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0003-chromium-fix-build-with-clang.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0005-chromium-aarch64-skia-build-fix.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0006-chromium-fix-build-after-y2038-changes-in-glibc.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0007-chromium-fix-build-after-y2038-changes-in-glibc.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Include-cstddef-for-size_t-definition.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Include-cstddef-for-size_t-definition.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Move-CharAllocator-definition-to-a-header-f.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Link-v8-with-libatomic-on-x86.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Move-CharAllocator-definition-to-a-header-f.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Include-cstddef-and-cstdint.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0011-chromium-icu-use-system-library-only-targets.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0013-chromium-Add-missing-include-for-C-strncpy.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0015-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-include-fcntl.h-for-loff_t.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-use-off64_t-instead-of-the-internal-__.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-include-fcntl.h-for-loff_t.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-linux-glibc-make-the-distinction.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-use-off64_t-instead-of-the-internal-__.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Do-not-define-__sbrk-on-musl.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-linux-glibc-make-the-distinction.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Adjust-default-pthread-stack-size.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-Do-not-define-__sbrk-on-musl.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-pread-pwrite.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-Adjust-default-pthread-stack-size.patch create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0026-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0027-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0028-chromium-musl-pread-pwrite.patch delete mode 100644 recipes-qt/qt5/qtwebengine/chromium/0029-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb index af09a20d..9033b546 100644 --- a/recipes-qt/qt5/nativesdk-qtbase_git.bb +++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb @@ -195,4 +195,4 @@ fakeroot do_generate_qt_environment_file() { do_generate_qt_environment_file[umask] = "022" addtask generate_qt_environment_file after do_install before do_package -SRCREV = "ffa0ecdc5d507754ddd962e2edbc859c198b2700" +SRCREV = "270729e48d5f644c0e1dc8c24efa228cfd83a68f" diff --git a/recipes-qt/qt5/qt3d_git.bb b/recipes-qt/qt5/qt3d_git.bb index ab8ee711..dcf6ddab 100644 --- a/recipes-qt/qt5/qt3d_git.bb +++ b/recipes-qt/qt5/qt3d_git.bb @@ -36,6 +36,6 @@ do_configure_prepend() { ${S}/src/quick3d/imports/input/importsinput.pro } -SRCREV = "3b8ef584594048514645bc818ab5dd43cf882fe1" +SRCREV = "b72eca26017ee5b30c1dbfec558e11274b372e01" BBCLASSEXTEND += "native nativesdk" diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb index cabe8acc..b10c88b4 100644 --- a/recipes-qt/qt5/qtbase-native_git.bb +++ b/recipes-qt/qt5/qtbase-native_git.bb @@ -142,4 +142,4 @@ do_install() { echo 'set(_qt5_corelib_extra_includes "${_qt5Core_install_prefix}/lib${QT_DIR_NAME}/mkspecs/linux-oe-g++")' > ${D}${libdir}/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake } -SRCREV = "ffa0ecdc5d507754ddd962e2edbc859c198b2700" +SRCREV = "270729e48d5f644c0e1dc8c24efa228cfd83a68f" diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index e8a7ad65..d9db4aa6 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -302,4 +302,4 @@ sed -i \ $D${OE_QMAKE_PATH_ARCHDATA}/mkspecs/qmodule.pri } -SRCREV = "ffa0ecdc5d507754ddd962e2edbc859c198b2700" +SRCREV = "270729e48d5f644c0e1dc8c24efa228cfd83a68f" diff --git a/recipes-qt/qt5/qtcharts_git.bb b/recipes-qt/qt5/qtcharts_git.bb index 00d69d03..c0696146 100644 --- a/recipes-qt/qt5/qtcharts_git.bb +++ b/recipes-qt/qt5/qtcharts_git.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative qtmultimedia" -SRCREV = "130463160b4923069eb98da49edaf7d93180f4f8" +SRCREV = "9ac57c36d42d083d1767353c7eb817d96817d22e" # The same issue as in qtbase: # http://errors.yoctoproject.org/Errors/Details/152641/ diff --git a/recipes-qt/qt5/qtcoap_git.bb b/recipes-qt/qt5/qtcoap_git.bb index bc74eea1..22ab7517 100644 --- a/recipes-qt/qt5/qtcoap_git.bb +++ b/recipes-qt/qt5/qtcoap_git.bb @@ -11,4 +11,4 @@ PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative" DEPENDS += "qtbase" -SRCREV = "939716873ed57613db879856cf71bde95de6e7bf" +SRCREV = "455d7c6f2ea03e44a2d08a9ba40e163f5d0bedd0" diff --git a/recipes-qt/qt5/qtconnectivity_git.bb b/recipes-qt/qt5/qtconnectivity_git.bb index 04826b90..51dc2c7f 100644 --- a/recipes-qt/qt5/qtconnectivity_git.bb +++ b/recipes-qt/qt5/qtconnectivity_git.bb @@ -19,4 +19,4 @@ PACKAGECONFIG[bluez] = "-feature-bluez,-no-feature-bluez,bluez5" EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "69a87a9b831e36a578594a0a13130c384ad03121" +SRCREV = "0db3b38521e11147cb802798a2cb7811a96029a9" diff --git a/recipes-qt/qt5/qtdatavis3d_git.bb b/recipes-qt/qt5/qtdatavis3d_git.bb index 0c80d9ea..b0bc7937 100644 --- a/recipes-qt/qt5/qtdatavis3d_git.bb +++ b/recipes-qt/qt5/qtdatavis3d_git.bb @@ -8,4 +8,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative qtmultimedia qtxmlpatterns" -SRCREV = "c085311c02dd216e5a041b90c164d55b3cf3ce92" +SRCREV = "d480e17ae84e1fb053db3de7b39da1bbbb455632" diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb index c94965fa..159bd0ef 100644 --- a/recipes-qt/qt5/qtdeclarative_git.bb +++ b/recipes-qt/qt5/qtdeclarative_git.bb @@ -32,6 +32,6 @@ do_install_append_class-nativesdk() { rm -rf ${D}${OE_QMAKE_PATH_QML} } -SRCREV = "e203a185cfab199a89a33b903096d6d0023a8a88" +SRCREV = "e655719687f339bef0bb2def577f73932367eb02" BBCLASSEXTEND =+ "native nativesdk" diff --git a/recipes-qt/qt5/qtgamepad_git.bb b/recipes-qt/qt5/qtgamepad_git.bb index 3746a392..4e9d2574 100644 --- a/recipes-qt/qt5/qtgamepad_git.bb +++ b/recipes-qt/qt5/qtgamepad_git.bb @@ -14,4 +14,4 @@ PACKAGECONFIG[sdl2] = "-feature-sdl2,-no-feature-sdl2,libsdl2" EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "64afa18a0a1e9588060e2e6d917bb01ccdd48a81" +SRCREV = "558c50409d2205a7e02c64164561b55dda7d707e" diff --git a/recipes-qt/qt5/qtgraphicaleffects_git.bb b/recipes-qt/qt5/qtgraphicaleffects_git.bb index 0b4ef2bb..183376b3 100644 --- a/recipes-qt/qt5/qtgraphicaleffects_git.bb +++ b/recipes-qt/qt5/qtgraphicaleffects_git.bb @@ -18,4 +18,4 @@ RDEPENDS_${PN}-dev = "" # http://errors.yoctoproject.org/Errors/Build/44912/ LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" -SRCREV = "c36998dc1581167b12cc3de8e4ac68c2a5d9f76e" +SRCREV = "6cee6cddce42b3b46ffba6e4445aab2d1ed48de2" diff --git a/recipes-qt/qt5/qtimageformats_git.bb b/recipes-qt/qt5/qtimageformats_git.bb index dec19f98..e99b0051 100644 --- a/recipes-qt/qt5/qtimageformats_git.bb +++ b/recipes-qt/qt5/qtimageformats_git.bb @@ -25,4 +25,4 @@ PACKAGECONFIG[libwebp] = ",CONFIG+=done_config_libwebp,libwebp" EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "cb82c74310837fe4e832c8ab72176a5d63e4355f" +SRCREV = "e78696656bfb28b42691ed0445f1a4f370b2d496" diff --git a/recipes-qt/qt5/qtknx_git.bb b/recipes-qt/qt5/qtknx_git.bb index 0d24c3e4..0e2654f4 100644 --- a/recipes-qt/qt5/qtknx_git.bb +++ b/recipes-qt/qt5/qtknx_git.bb @@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "dae081dc404f62619a9945c76898519cb7b524d6" +SRCREV = "4afdbb3235c461e405d7163d4ad93de473dd8630" diff --git a/recipes-qt/qt5/qtlocation_git.bb b/recipes-qt/qt5/qtlocation_git.bb index 4ee9ce5b..fdea001f 100644 --- a/recipes-qt/qt5/qtlocation_git.bb +++ b/recipes-qt/qt5/qtlocation_git.bb @@ -35,7 +35,7 @@ SRC_URI += " \ ${QT_GIT}/qtlocation-mapboxgl.git;name=qtlocation-mapboxgl;branch=${QT_MODULE_BRANCH_MAPBOXGL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/mapbox-gl-native \ " -SRCREV_qtlocation = "861e372b6ad81570d4f496e42fb25a6699b72f2f" +SRCREV_qtlocation = "a924cd38a71af86023e0a9ea19d3379136b68c7f" SRCREV_qtlocation-mapboxgl = "d3101bbc22edd41c9036ea487d4a71eabd97823d" SRCREV_FORMAT = "qtlocation_qtlocation-mapboxgl" diff --git a/recipes-qt/qt5/qtlottie_git.bb b/recipes-qt/qt5/qtlottie_git.bb index a886ce41..0625ac61 100644 --- a/recipes-qt/qt5/qtlottie_git.bb +++ b/recipes-qt/qt5/qtlottie_git.bb @@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative" -SRCREV = "fa8c8bfc6742ab98b61d1351e054e0e73e9a42f4" +SRCREV = "55ab856e0f5ac84f4a24e6b599eb1952790c4bdd" diff --git a/recipes-qt/qt5/qtmqtt_git.bb b/recipes-qt/qt5/qtmqtt_git.bb index 6d1cc295..b7c96c5c 100644 --- a/recipes-qt/qt5/qtmqtt_git.bb +++ b/recipes-qt/qt5/qtmqtt_git.bb @@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "0b4955ce8b692409c3deded57892eb61e75be428" +SRCREV = "45a54d7ef3682c85c3ec05192e326213e246c5a5" diff --git a/recipes-qt/qt5/qtmultimedia_git.bb b/recipes-qt/qt5/qtmultimedia_git.bb index 77c03eef..0b09fea0 100644 --- a/recipes-qt/qt5/qtmultimedia_git.bb +++ b/recipes-qt/qt5/qtmultimedia_git.bb @@ -38,7 +38,7 @@ SRC_URI += "\ # http://errors.yoctoproject.org/Errors/Build/44914/ LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" -SRCREV = "bd29c87027637a013f2c5e3b549fcda84e4d7545" +SRCREV = "80d46e3a5f64ff2456c40bdba63b6d5c69a32cdd" # Temporary work around for Qt5MultimediaConfig.cmake referencing non-existent videoeglvideonode directory do_install_append() { diff --git a/recipes-qt/qt5/qtnetworkauth_git.bb b/recipes-qt/qt5/qtnetworkauth_git.bb index f3312128..541bb2da 100644 --- a/recipes-qt/qt5/qtnetworkauth_git.bb +++ b/recipes-qt/qt5/qtnetworkauth_git.bb @@ -9,4 +9,4 @@ require qt5-lts.inc DEPENDS += "qtbase" -SRCREV = "53870ee9bb9117702cd1f11cb1c5d1cfc2d5394a" +SRCREV = "7c58247c2526df0c1687f320842fd03f31ec7e90" diff --git a/recipes-qt/qt5/qtopcua_git.bb b/recipes-qt/qt5/qtopcua_git.bb index cabfca75..8d8b5fdd 100644 --- a/recipes-qt/qt5/qtopcua_git.bb +++ b/recipes-qt/qt5/qtopcua_git.bb @@ -18,4 +18,4 @@ SECURITY_STRINGFORMAT = "" DEPENDS += "qtbase" -SRCREV = "c400d4ecf9778e7359da5b1ce9b3e61cc0f49f2e" +SRCREV = "50d92642ddfbc709df7a4eedc05e46c74df80926" diff --git a/recipes-qt/qt5/qtpurchasing_git.bb b/recipes-qt/qt5/qtpurchasing_git.bb index 95a810a9..5def15b3 100644 --- a/recipes-qt/qt5/qtpurchasing_git.bb +++ b/recipes-qt/qt5/qtpurchasing_git.bb @@ -10,4 +10,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative" -SRCREV = "cbf444fb570ca4f4ca21d963d2ae4010f10d473e" +SRCREV = "1a36ca30f42a391f2fd4aeb6b7139fddda9d3625" diff --git a/recipes-qt/qt5/qtquick3d_git.bb b/recipes-qt/qt5/qtquick3d_git.bb index 61461056..ac613cf9 100644 --- a/recipes-qt/qt5/qtquick3d_git.bb +++ b/recipes-qt/qt5/qtquick3d_git.bb @@ -21,7 +21,7 @@ FILES_${PN}-qmlplugins += " \ ${OE_QMAKE_PATH_QML}/QtQuick3D/Helpers/meshes/*.mesh \ " -SRCREV_qtquick3d = "68b30bb23e34426e7d6a4c243a42ae57dfe45c6b" +SRCREV_qtquick3d = "c7ca1a4fe3fb4b1f6a689ed6b7d8c7dbbdebedd8" SRCREV_assimp = "8f0c6b04b2257a520aaab38421b2e090204b69df" SRCREV_FORMAT = "qtquick3d_assimp" diff --git a/recipes-qt/qt5/qtquickcontrols2_git.bb b/recipes-qt/qt5/qtquickcontrols2_git.bb index 3eb68116..11b3b9ca 100644 --- a/recipes-qt/qt5/qtquickcontrols2_git.bb +++ b/recipes-qt/qt5/qtquickcontrols2_git.bb @@ -10,4 +10,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtdeclarative qtdeclarative-native" -SRCREV = "a2593ff9cf5d0af885c20c2e9f9faa6ca4f1c1a3" +SRCREV = "7e819a5777a0632175347688312da9cee0702177" diff --git a/recipes-qt/qt5/qtquickcontrols_git.bb b/recipes-qt/qt5/qtquickcontrols_git.bb index 2cd9ce19..677263f5 100644 --- a/recipes-qt/qt5/qtquickcontrols_git.bb +++ b/recipes-qt/qt5/qtquickcontrols_git.bb @@ -17,4 +17,4 @@ FILES_${PN}-qmlplugins += " \ ${OE_QMAKE_PATH_QML}/QtQuick/Dialogs/qml/icons.ttf \ " -SRCREV = "cf3f6d7fec824cdf01f9b329ab3b92b1c0e0a420" +SRCREV = "345343b7830cd9ccf03ccbe435cdaee13ba8d0fc" diff --git a/recipes-qt/qt5/qtquicktimeline_git.bb b/recipes-qt/qt5/qtquicktimeline_git.bb index 2ea80856..94621fed 100644 --- a/recipes-qt/qt5/qtquicktimeline_git.bb +++ b/recipes-qt/qt5/qtquicktimeline_git.bb @@ -10,4 +10,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS = "qtbase qtdeclarative" -SRCREV = "67503cdadea43b95ddad0de1a04951aff0ce1a07" +SRCREV = "6f7482fbe565a8e51eb336d09e559817e380986f" diff --git a/recipes-qt/qt5/qtremoteobjects_git.bb b/recipes-qt/qt5/qtremoteobjects_git.bb index bdf067db..23101df2 100644 --- a/recipes-qt/qt5/qtremoteobjects_git.bb +++ b/recipes-qt/qt5/qtremoteobjects_git.bb @@ -25,6 +25,6 @@ PACKAGECONFIG[tools-only] = "CONFIG+=tools-only" EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "4d6d1e35fb8e0cb900b5e5e9266edea51dc4f735" +SRCREV = "baccb040a4843d657c68dd7c0399aadcc6160ddc" BBCLASSEXTEND += "native nativesdk" diff --git a/recipes-qt/qt5/qtscxml_git.bb b/recipes-qt/qt5/qtscxml_git.bb index 0959af9e..0de0fb96 100644 --- a/recipes-qt/qt5/qtscxml_git.bb +++ b/recipes-qt/qt5/qtscxml_git.bb @@ -10,7 +10,7 @@ require qt5-lts.inc DEPENDS += "qtbase qtdeclarative qtxmlpatterns qtscxml-native" -SRCREV = "7a15000f42c7a3171719727cd056f82a78244ed7" +SRCREV = "2951c124d3ff58abe1f84175e512ba26977f13d8" # Patches from https://github.com/meta-qt5/qtscxml/commits/b5.15 # 5.15.meta-qt5.1 diff --git a/recipes-qt/qt5/qtsensors_git.bb b/recipes-qt/qt5/qtsensors_git.bb index 85f45949..c2b0128c 100644 --- a/recipes-qt/qt5/qtsensors_git.bb +++ b/recipes-qt/qt5/qtsensors_git.bb @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative" -SRCREV = "921a31375f29e429e95352b08b2b9dbfea663cb1" +SRCREV = "b85e041d265730bed57fa13984c074ccf0c5ebe6" diff --git a/recipes-qt/qt5/qtserialbus_git.bb b/recipes-qt/qt5/qtserialbus_git.bb index 13bdc0fb..043d7135 100644 --- a/recipes-qt/qt5/qtserialbus_git.bb +++ b/recipes-qt/qt5/qtserialbus_git.bb @@ -17,4 +17,4 @@ PACKAGECONFIG[socketcan] = "-feature-socketcan,-no-feature-socketcan,,libsocketc EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "8884c5e43df846deac5a0c7c290eeb633d6bfe32" +SRCREV = "c4236b865d6027f0873ec71ecc9ee2b003025f8e" diff --git a/recipes-qt/qt5/qtserialport_git.bb b/recipes-qt/qt5/qtserialport_git.bb index 4995900d..50daaf1d 100644 --- a/recipes-qt/qt5/qtserialport_git.bb +++ b/recipes-qt/qt5/qtserialport_git.bb @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "941d1d8560d1f3e40077c251fbde6fd6a5b0f0d4" +SRCREV = "79cc3f07a089e9f58b0b2487b274cca36261bd30" diff --git a/recipes-qt/qt5/qtsvg_git.bb b/recipes-qt/qt5/qtsvg_git.bb index cec31869..87f7e986 100644 --- a/recipes-qt/qt5/qtsvg_git.bb +++ b/recipes-qt/qt5/qtsvg_git.bb @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "aceea78cc05ac8ff947cee9de8149b48771781a8" +SRCREV = "6d3ab4cde81b2d8be680e5757a30d5e46f772e36" diff --git a/recipes-qt/qt5/qttools_git.bb b/recipes-qt/qt5/qttools_git.bb index 6b17e78d..21e5b55d 100644 --- a/recipes-qt/qt5/qttools_git.bb +++ b/recipes-qt/qt5/qttools_git.bb @@ -39,7 +39,7 @@ EXTRA_QMAKEVARS_PRE += " \ ${@bb.utils.contains('PACKAGECONFIG', 'qtwebkit', '', 'CONFIG+=noqtwebkit', d)} \ ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'CONFIG+=disable_external_rpath CONFIG+=assistant', 'CONFIG+=noqdoc', d)} \ " -SRCREV = "33693a928986006d79c1ee743733cde5966ac402" +SRCREV = "63bacb8f099b35a68d86a20a80e8ff5e33f86d5f" BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-qt/qt5/qttranslations_git.bb b/recipes-qt/qt5/qttranslations_git.bb index 35efea20..f7902430 100644 --- a/recipes-qt/qt5/qttranslations_git.bb +++ b/recipes-qt/qt5/qttranslations_git.bb @@ -98,4 +98,4 @@ FILES_${PN}-qthelp = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qt_help_*.qm \ " -SRCREV = "68f420ebdfb226e3d0c09ebed06d5454cc6c3a7f" +SRCREV = "1bd8194ea9ea5f3085a0cb689fc5408782d14a2f" diff --git a/recipes-qt/qt5/qtvirtualkeyboard_git.bb b/recipes-qt/qt5/qtvirtualkeyboard_git.bb index 8036bfe8..cebe8a20 100644 --- a/recipes-qt/qt5/qtvirtualkeyboard_git.bb +++ b/recipes-qt/qt5/qtvirtualkeyboard_git.bb @@ -71,4 +71,4 @@ FILES_${PN} += "${OE_QMAKE_PATH_DATA}/qtvirtualkeyboard/lipi_toolkit" DEPENDS += "qtbase qtdeclarative qtmultimedia qtquickcontrols qtsvg qtxmlpatterns qtdeclarative-native" -SRCREV = "2f0e9f98c6c6fdac09f762d41fddcc114f64b28a" +SRCREV = "3ff31b4093611174e89fcd18895ed471b6c753db" diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb index f0007ee6..83015580 100644 --- a/recipes-qt/qt5/qtwayland_git.bb +++ b/recipes-qt/qt5/qtwayland_git.bb @@ -43,7 +43,7 @@ PACKAGECONFIG[wayland-vulkan-server-buffer] = "-feature-wayland-vulkan-server-bu EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "a8d35b3c18bdb05a0da3ed50a554a7b7bd4ebed3" +SRCREV = "6bb05fed8fdb564f3ff0136bbdaf4efd6088797d" BBCLASSEXTEND =+ "native nativesdk" diff --git a/recipes-qt/qt5/qtwebchannel_git.bb b/recipes-qt/qt5/qtwebchannel_git.bb index 078294e4..f58417cc 100644 --- a/recipes-qt/qt5/qtwebchannel_git.bb +++ b/recipes-qt/qt5/qtwebchannel_git.bb @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtdeclarative qtwebsockets" -SRCREV = "47be9a51b01d9fd9e7f6dca81e98d4eedcec6d38" +SRCREV = "5c35d1cd85ebd015b3fcc758af798ca2af90a7f9" 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 8b5d41ba..43fc31fc 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 5af62581e5116b57efbe4bb7cc467efeb0aab941 Mon Sep 17 00:00:00 2001 +From 0229d48e46497568217b426123a576a2eaaff4e9 Mon Sep 17 00:00:00 2001 From: Samuli Piippo 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 new file mode 100644 index 00000000..fa64d4a0 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch @@ -0,0 +1,91 @@ +From a7012306f328056d5c08ec1320da4037ee8fc5ee Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 2 Feb 2019 19:28:59 -0800 +Subject: [PATCH] chromium: fix build with clang + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + chromium/build/config/compiler/BUILD.gn | 27 ++----------------------- + 1 file changed, 2 insertions(+), 25 deletions(-) + +diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn +index 6a58d21cf07..c007eab8ec9 100644 +--- a/chromium/build/config/compiler/BUILD.gn ++++ b/chromium/build/config/compiler/BUILD.gn +@@ -782,8 +782,6 @@ config("compiler_cpu_abi") { + } + } else if (current_cpu == "arm") { + if (is_clang && !is_android && !is_nacl) { +- cflags += [ "--target=arm-linux-gnueabihf" ] +- ldflags += [ "--target=arm-linux-gnueabihf" ] + } + if (!is_nacl) { + cflags += [ +@@ -796,8 +794,6 @@ config("compiler_cpu_abi") { + } + } else if (current_cpu == "arm64") { + if (is_clang && !is_android && !is_nacl && !is_fuchsia) { +- cflags += [ "--target=aarch64-linux-gnu" ] +- ldflags += [ "--target=aarch64-linux-gnu" ] + } + } else if (current_cpu == "mipsel" && !is_nacl) { + ldflags += [ "-Wl,--hash-style=sysv" ] +@@ -806,9 +802,6 @@ config("compiler_cpu_abi") { + if (is_android) { + cflags += [ "--target=mipsel-linux-android" ] + ldflags += [ "--target=mipsel-linux-android" ] +- } else { +- cflags += [ "--target=mipsel-linux-gnu" ] +- ldflags += [ "--target=mipsel-linux-gnu" ] + } + } else { + cflags += [ "-EL" ] +@@ -887,10 +880,7 @@ config("compiler_cpu_abi") { + } else if (current_cpu == "mips" && !is_nacl) { + ldflags += [ "-Wl,--hash-style=sysv" ] + if (custom_toolchain == "") { +- if (is_clang) { +- cflags += [ "--target=mips-linux-gnu" ] +- ldflags += [ "--target=mips-linux-gnu" ] +- } else { ++ if (!is_clang) { + cflags += [ "-EB" ] + ldflags += [ "-EB" ] + } +@@ -937,9 +927,6 @@ config("compiler_cpu_abi") { + if (is_android) { + cflags += [ "--target=mips64el-linux-android" ] + ldflags += [ "--target=mips64el-linux-android" ] +- } else { +- cflags += [ "--target=mips64el-linux-gnuabi64" ] +- ldflags += [ "--target=mips64el-linux-gnuabi64" ] + } + } else { + cflags += [ +@@ -996,10 +983,7 @@ config("compiler_cpu_abi") { + } else if (current_cpu == "mips64") { + ldflags += [ "-Wl,--hash-style=sysv" ] + if (custom_toolchain == "") { +- if (is_clang) { +- cflags += [ "--target=mips64-linux-gnuabi64" ] +- ldflags += [ "--target=mips64-linux-gnuabi64" ] +- } else { ++ if (!is_clang) { + cflags += [ + "-EB", + "-mabi=64", +@@ -1166,13 +1150,6 @@ config("compiler_deterministic") { + } + } + } +- +- # Tells the compiler not to use absolute paths when passing the default +- # paths to the tools it invokes. We don't want this because we don't +- # really need it and it can mess up the goma cache entries. +- if (is_clang && !is_nacl && !(use_qt && use_libcxx)) { +- cflags += [ "-no-canonical-prefixes" ] +- } + } + + config("clang_revision") { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch deleted file mode 100644 index c93ba991..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 8dd7987fc70fd8dab4a9f7ee32334c8d28ed34e4 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 23 Dec 2018 16:58:04 -0800 -Subject: [PATCH] chromium: stack pointer clobber - -Do not add stack pointer to clobber list - -it was being ignored until gcc 9.0 became capable -of flagging this silent ignoring via [1] - -[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813 - -Upstream-Status: Submitted [https://chromium-review.googlesource.com/c/linux-syscall-support/+/1390160] -Signed-off-by: Khem Raj ---- - chromium/third_party/lss/linux_syscall_support.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h -index d2baee9d243..fd8efdffea6 100644 ---- a/chromium/third_party/lss/linux_syscall_support.h -+++ b/chromium/third_party/lss/linux_syscall_support.h -@@ -2017,7 +2017,7 @@ struct kernel_statfs { - : "i" (__NR_##name), "ri" ((long)(arg1)), \ - "c" ((long)(arg2)), "d" ((long)(arg3)), \ - "S" ((long)(arg4)), "D" ((long)(arg5)) \ -- : "esp", "memory"); \ -+ : "memory"); \ - LSS_RETURN(type,__res); \ - } - #undef _syscall6 -@@ -2039,7 +2039,7 @@ struct kernel_statfs { - : "i" (__NR_##name), "0" ((long)(&__s)), \ - "c" ((long)(arg2)), "d" ((long)(arg3)), \ - "S" ((long)(arg4)), "D" ((long)(arg5)) \ -- : "esp", "memory"); \ -+ : "memory"); \ - LSS_RETURN(type,__res); \ - } - LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack, -@@ -2125,7 +2125,7 @@ struct kernel_statfs { - : "0"(-EINVAL), "i"(__NR_clone), - "m"(fn), "m"(child_stack), "m"(flags), "m"(arg), - "m"(parent_tidptr), "m"(newtls), "m"(child_tidptr) -- : "esp", "memory", "ecx", "edx", "esi", "edi"); -+ : "memory", "ecx", "edx", "esi", "edi"); - LSS_RETURN(int, __res); - } - 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 new file mode 100644 index 00000000..92f8a30e --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch @@ -0,0 +1,33 @@ +From 475f0b52895b89b64936c37a338f0d0cf5552297 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 5 Feb 2019 14:32:20 -0800 +Subject: [PATCH] chromium: Exclude CRC32 for 32bit arm + +This fixes build issues during cross compiling for linux using clang + +Fixes +src/3rdparty/chromium/third_party/zlib/crc32_simd.c:184: undefined reference to `__crc32d' + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + chromium/third_party/zlib/BUILD.gn | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/chromium/third_party/zlib/BUILD.gn b/chromium/third_party/zlib/BUILD.gn +index 891c2c34bfb..5ab519bd133 100644 +--- a/chromium/third_party/zlib/BUILD.gn ++++ b/chromium/third_party/zlib/BUILD.gn +@@ -115,8 +115,11 @@ if (use_arm_neon_optimizations) { + # Disabled for iPhone, as described in DDI0487C_a_armv8_arm: + # "All implementations of the ARMv8.1 architecture are required to + # implement the CRC32* instructions. These are optional in ARMv8.0." ++ defines = [] + if (!is_ios) { +- defines = [ "CRC32_ARMV8_CRC32" ] ++ if (current_cpu == "arm64") { ++ defines += [ "CRC32_ARMV8_CRC32" ] ++ } + if (is_android) { + defines += [ "ARMV8_OS_ANDROID" ] + } else if (is_linux || is_chromeos) { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-fix-build-with-clang.patch b/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-fix-build-with-clang.patch deleted file mode 100644 index a3f292c3..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-fix-build-with-clang.patch +++ /dev/null @@ -1,91 +0,0 @@ -From be18ba6e0b879fbd542f4e0d1a249f2ab5abb27c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 2 Feb 2019 19:28:59 -0800 -Subject: [PATCH] chromium: fix build with clang - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - chromium/build/config/compiler/BUILD.gn | 27 ++----------------------- - 1 file changed, 2 insertions(+), 25 deletions(-) - -diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn -index ca81bd8ce0f..d3c588b21e3 100644 ---- a/chromium/build/config/compiler/BUILD.gn -+++ b/chromium/build/config/compiler/BUILD.gn -@@ -776,8 +776,6 @@ config("compiler_cpu_abi") { - } - } else if (current_cpu == "arm") { - if (is_clang && !is_android && !is_nacl) { -- cflags += [ "--target=arm-linux-gnueabihf" ] -- ldflags += [ "--target=arm-linux-gnueabihf" ] - } - if (!is_nacl) { - cflags += [ -@@ -790,8 +788,6 @@ config("compiler_cpu_abi") { - } - } else if (current_cpu == "arm64") { - if (is_clang && !is_android && !is_nacl && !is_fuchsia) { -- cflags += [ "--target=aarch64-linux-gnu" ] -- ldflags += [ "--target=aarch64-linux-gnu" ] - } - } else if (current_cpu == "mipsel" && !is_nacl) { - ldflags += [ "-Wl,--hash-style=sysv" ] -@@ -800,9 +796,6 @@ config("compiler_cpu_abi") { - if (is_android) { - cflags += [ "--target=mipsel-linux-android" ] - ldflags += [ "--target=mipsel-linux-android" ] -- } else { -- cflags += [ "--target=mipsel-linux-gnu" ] -- ldflags += [ "--target=mipsel-linux-gnu" ] - } - } else { - cflags += [ "-EL" ] -@@ -881,10 +874,7 @@ config("compiler_cpu_abi") { - } else if (current_cpu == "mips" && !is_nacl) { - ldflags += [ "-Wl,--hash-style=sysv" ] - if (custom_toolchain == "") { -- if (is_clang) { -- cflags += [ "--target=mips-linux-gnu" ] -- ldflags += [ "--target=mips-linux-gnu" ] -- } else { -+ if (!is_clang) { - cflags += [ "-EB" ] - ldflags += [ "-EB" ] - } -@@ -931,9 +921,6 @@ config("compiler_cpu_abi") { - if (is_android) { - cflags += [ "--target=mips64el-linux-android" ] - ldflags += [ "--target=mips64el-linux-android" ] -- } else { -- cflags += [ "--target=mips64el-linux-gnuabi64" ] -- ldflags += [ "--target=mips64el-linux-gnuabi64" ] - } - } else { - cflags += [ -@@ -990,10 +977,7 @@ config("compiler_cpu_abi") { - } else if (current_cpu == "mips64") { - ldflags += [ "-Wl,--hash-style=sysv" ] - if (custom_toolchain == "") { -- if (is_clang) { -- cflags += [ "--target=mips64-linux-gnuabi64" ] -- ldflags += [ "--target=mips64-linux-gnuabi64" ] -- } else { -+ if (!is_clang) { - cflags += [ - "-EB", - "-mabi=64", -@@ -1157,13 +1141,6 @@ config("compiler_deterministic") { - } - } - } -- -- # Tells the compiler not to use absolute paths when passing the default -- # paths to the tools it invokes. We don't want this because we don't -- # really need it and it can mess up the goma cache entries. -- if (is_clang && !is_nacl && !(use_qt && use_libcxx)) { -- cflags += [ "-no-canonical-prefixes" ] -- } - } - - config("clang_revision") { 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 new file mode 100644 index 00000000..1c3a2154 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch @@ -0,0 +1,41 @@ +From b1571a939a3456b576de3a2d4897ea2b1b2b4b89 Mon Sep 17 00:00:00 2001 +From: Johannes Pointner +Date: Fri, 3 May 2019 09:12:38 +0200 +Subject: [PATCH] chromium: Do not try to set the guessed values for + + march/mtune/float-abi OE config machinary has computed these values already + and fed it via compiler cmdline to chromium build + +I think upstream should check for the values on compiler cmdline +before overriding these + +Upstream-Status: Inappropriate [OE-Specific] + +Signed-off-by: Khem Raj +Signed-off-by: Johannes Pointner + +%% original patch: 0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch +--- + chromium/build/config/compiler/BUILD.gn | 9 --------- + 1 file changed, 9 deletions(-) + +diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn +index c007eab8ec9..feb4340f522 100644 +--- a/chromium/build/config/compiler/BUILD.gn ++++ b/chromium/build/config/compiler/BUILD.gn +@@ -783,15 +783,6 @@ config("compiler_cpu_abi") { + } else if (current_cpu == "arm") { + if (is_clang && !is_android && !is_nacl) { + } +- if (!is_nacl) { +- cflags += [ +- "-march=$arm_arch", +- "-mfloat-abi=$arm_float_abi", +- ] +- } +- if (arm_tune != "") { +- cflags += [ "-mtune=$arm_tune" ] +- } + } else if (current_cpu == "arm64") { + if (is_clang && !is_android && !is_nacl && !is_fuchsia) { + } diff --git a/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch deleted file mode 100644 index c3de3cc5..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7eeed60fceeca490c5252e256baff08100e13259 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 5 Feb 2019 14:32:20 -0800 -Subject: [PATCH] chromium: Exclude CRC32 for 32bit arm - -This fixes build issues during cross compiling for linux using clang - -Fixes -src/3rdparty/chromium/third_party/zlib/crc32_simd.c:184: undefined reference to `__crc32d' - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - chromium/third_party/zlib/BUILD.gn | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/chromium/third_party/zlib/BUILD.gn b/chromium/third_party/zlib/BUILD.gn -index 00d1e7c6ca3..f2c36d72dd2 100644 ---- a/chromium/third_party/zlib/BUILD.gn -+++ b/chromium/third_party/zlib/BUILD.gn -@@ -86,8 +86,11 @@ if (use_arm_neon_optimizations) { - # Disabled for iPhone, as described in DDI0487C_a_armv8_arm: - # "All implementations of the ARMv8.1 architecture are required to - # implement the CRC32* instructions. These are optional in ARMv8.0." -+ defines = [] - if (!is_ios) { -- defines = [ "CRC32_ARMV8_CRC32" ] -+ if (current_cpu == "arm64") { -+ defines += [ "CRC32_ARMV8_CRC32" ] -+ } - if (is_android) { - defines += [ "ARMV8_OS_ANDROID" ] - } else if (is_linux || is_chromeos) { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for.patch b/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for.patch deleted file mode 100644 index 5f3f4528..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 0faac107930255380ea07aa75267153022de2248 Mon Sep 17 00:00:00 2001 -From: Johannes Pointner -Date: Fri, 3 May 2019 09:12:38 +0200 -Subject: [PATCH] chromium: Do not try to set the guessed values for - - march/mtune/float-abi OE config machinary has computed these values already - and fed it via compiler cmdline to chromium build - -I think upstream should check for the values on compiler cmdline -before overriding these - -Upstream-Status: Inappropriate [OE-Specific] - -Signed-off-by: Khem Raj -Signed-off-by: Johannes Pointner - -%% original patch: 0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch ---- - chromium/build/config/compiler/BUILD.gn | 9 --------- - 1 file changed, 9 deletions(-) - -diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn -index d3c588b21e3..6d49fde33cc 100644 ---- a/chromium/build/config/compiler/BUILD.gn -+++ b/chromium/build/config/compiler/BUILD.gn -@@ -777,15 +777,6 @@ config("compiler_cpu_abi") { - } else if (current_cpu == "arm") { - if (is_clang && !is_android && !is_nacl) { - } -- if (!is_nacl) { -- cflags += [ -- "-march=$arm_arch", -- "-mfloat-abi=$arm_float_abi", -- ] -- } -- if (arm_tune != "") { -- cflags += [ "-mtune=$arm_tune" ] -- } - } else if (current_cpu == "arm64") { - if (is_clang && !is_android && !is_nacl && !is_fuchsia) { - } 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 new file mode 100644 index 00000000..c3b3c830 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-aarch64-skia-build-fix.patch @@ -0,0 +1,51 @@ +From abe0a1c661241943b40192cf3fe73227123d7369 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Thu, 8 Mar 2018 15:39:55 +0100 +Subject: [PATCH] chromium: aarch64 skia build fix + +Upstream-Status: Inappropriate + +GCC (tested rocko's 7.3.0) cannot find these intrinsics and the build fails: + +../../third_party/skia/src/opts/SkRasterPipeline_opts.h: In function 'neon::F neon::from_half(neon::U16)': +../../third_party/skia/src/opts/SkRasterPipeline_opts.h:657:26: error: cannot convert 'neon::U16 {aka short unsigned int}' to 'float16x4_ t {aka __vector(4) __ fp16}' for argument '1' to ' +float32x4_t vcvt_f32_f16(float16x4_t)' + return vcvt_f32_f16(h); + ^ +../../third_party/skia/src/opts/SkRasterPipeline_opts.h: In function 'neon::U16 neon::to_half(neon::F)': +../../third_party/skia/src/opts/SkRasterPipeline_opts.h:677:26: error: cannot convert 'neon::F {aka float}' to 'float32x4_t {aka __vector (4) float}' for argum ent '1' to 'float16x4_t vcvt +_f16_f32(float32x4_t)' + return vcvt_f16_f32(f); + ^ + +Upstream seems to have had similar issues according to +https://skia-review.googlesource.com/c/skia/+/84222, but there is no fix at the +moment. + +Signed-off-by: Raphael Kubo da Costa +--- + chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h +index 659794d1b50..d5b609ba93d 100644 +--- a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h ++++ b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h +@@ -984,7 +984,7 @@ SI F from_half(U16 h) { + memcpy(&fp16, &h, sizeof(U16)); + return float(fp16); + +-#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_SKX) ++#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_SKX) || defined(JUMPER_IS_AVX512) + return _mm256_cvtph_ps(h); + + #else +@@ -1008,7 +1008,7 @@ SI U16 to_half(F f) { + memcpy(&u16, &fp16, sizeof(U16)); + return u16; + +-#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_SKX) ++#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_SKX) || defined(JUMPER_IS_AVX512) + return _mm256_cvtps_ph(f, _MM_FROUND_CUR_DIRECTION); + + #else diff --git a/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch b/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch deleted file mode 100644 index f560e315..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 69abe5acb926cef9ac771015ade3873fa9985f3b Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Thu, 8 Mar 2018 15:39:55 +0100 -Subject: [PATCH] chromium: aarch64 skia build fix - -Upstream-Status: Inappropriate - -GCC (tested rocko's 7.3.0) cannot find these intrinsics and the build fails: - -../../third_party/skia/src/opts/SkRasterPipeline_opts.h: In function 'neon::F neon::from_half(neon::U16)': -../../third_party/skia/src/opts/SkRasterPipeline_opts.h:657:26: error: cannot convert 'neon::U16 {aka short unsigned int}' to 'float16x4_ t {aka __vector(4) __ fp16}' for argument '1' to ' -float32x4_t vcvt_f32_f16(float16x4_t)' - return vcvt_f32_f16(h); - ^ -../../third_party/skia/src/opts/SkRasterPipeline_opts.h: In function 'neon::U16 neon::to_half(neon::F)': -../../third_party/skia/src/opts/SkRasterPipeline_opts.h:677:26: error: cannot convert 'neon::F {aka float}' to 'float32x4_t {aka __vector (4) float}' for argum ent '1' to 'float16x4_t vcvt -_f16_f32(float32x4_t)' - return vcvt_f16_f32(f); - ^ - -Upstream seems to have had similar issues according to -https://skia-review.googlesource.com/c/skia/+/84222, but there is no fix at the -moment. - -Signed-off-by: Raphael Kubo da Costa ---- - .../skia/src/opts/SkRasterPipeline_opts.h | 17 ++--------------- - 1 file changed, 2 insertions(+), 15 deletions(-) - -diff --git a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h -index 831f5b3bb03..bb9377c3641 100644 ---- a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h -+++ b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h -@@ -986,13 +986,7 @@ SI F approx_powf(F x, F y) { - } - - SI F from_half(U16 h) { --#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \ -- && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -- __fp16 fp16; -- memcpy(&fp16, &h, sizeof(U16)); -- return float(fp16); -- --#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) -+#if defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) - return _mm256_cvtph_ps(h); - - #else -@@ -1009,14 +1003,7 @@ SI F from_half(U16 h) { - } - - SI U16 to_half(F f) { --#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \ -- && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -- __fp16 fp16 = __fp16(f); -- U16 u16; -- memcpy(&u16, &fp16, sizeof(U16)); -- return u16; -- --#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) -+#if defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) - return _mm256_cvtps_ph(f, _MM_FROUND_CUR_DIRECTION); - - #else 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 new file mode 100644 index 00000000..ed7e2774 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-fix-build-after-y2038-changes-in-glibc.patch @@ -0,0 +1,28 @@ +From 5af48e4ca5d2515606a07c9896e927d65e77ca72 Mon Sep 17 00:00:00 2001 +From: Jiri Slaby +Date: Thu, 11 Jul 2019 09:35:13 +0200 +Subject: [PATCH] chromium: fix build after y2038 changes in glibc + +SIOCGSTAMP is defined in linux/sockios.h since kernel 5.2. Include that +file wherever needed. + +Signed-off-by: Jiri Slaby +Signed-off-by: Martin Jansa + +Upstream-Status: Pending +--- + chromium/third_party/webrtc/rtc_base/physical_socket_server.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc b/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc +index cf6e7927951..e5df6f9d92c 100644 +--- a/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc ++++ b/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc +@@ -70,6 +70,7 @@ typedef void* SockOptArg; + #endif // WEBRTC_POSIX + + #if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__) ++#include + + int64_t GetSocketRecvTimestamp(int socket) { + struct timeval tv_ioctl; 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 new file mode 100644 index 00000000..ba734781 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,47 @@ +From 80c09862860702ce559c150784de50aa56282802 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 10:07:43 -0800 +Subject: [PATCH] chromium: Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Signed-off-by: Khem Raj +Signed-off-by: Martin Jansa +--- + chromium/ui/events/ozone/evdev/event_converter_evdev.h | 5 +++++ + chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc | 3 +-- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/chromium/ui/events/ozone/evdev/event_converter_evdev.h b/chromium/ui/events/ozone/evdev/event_converter_evdev.h +index 2d184811a00..fb2ba0069f1 100644 +--- a/chromium/ui/events/ozone/evdev/event_converter_evdev.h ++++ b/chromium/ui/events/ozone/evdev/event_converter_evdev.h +@@ -20,6 +20,11 @@ + #include "ui/events/ozone/evdev/event_dispatch_callback.h" + #include "ui/gfx/geometry/size.h" + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + struct input_event; + + namespace ui { +diff --git a/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc b/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc +index b8d089f7381..5d2d08b1ec6 100644 +--- a/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc ++++ b/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc +@@ -62,8 +62,7 @@ void TouchEventLogEvdev::DumpLog(const char* filename) { + continue; + std::string event_string = base::StringPrintf( + "E: %ld.%06ld %04x %04x %d %d\n", te->ev.input_event_sec, +- te->ev.input_event_usec, te->ev.type, te->ev.code, te->ev.value, +- te->slot); ++ te->ev.input_event_usec, te->ev.type, te->ev.code, te->ev.value, te->slot); + report_content += event_string; + } + file.Write(0, report_content.c_str(), report_content.length()); diff --git a/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-fix-build-after-y2038-changes-in-glibc.patch b/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-fix-build-after-y2038-changes-in-glibc.patch deleted file mode 100644 index 1c7a3b1e..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-fix-build-after-y2038-changes-in-glibc.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8a0cc2a6be8fb9f8c3f4976ad4b41b291e672a67 Mon Sep 17 00:00:00 2001 -From: Jiri Slaby -Date: Thu, 11 Jul 2019 09:35:13 +0200 -Subject: [PATCH] chromium: fix build after y2038 changes in glibc - -SIOCGSTAMP is defined in linux/sockios.h since kernel 5.2. Include that -file wherever needed. - -Signed-off-by: Jiri Slaby -Signed-off-by: Martin Jansa - -Upstream-Status: Pending ---- - chromium/third_party/webrtc/rtc_base/physical_socket_server.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc b/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc -index 0cbcb8130c6..bc3dd3bddda 100644 ---- a/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc -+++ b/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc -@@ -71,6 +71,7 @@ typedef void* SockOptArg; - #endif // WEBRTC_POSIX - - #if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__) -+#include - - int64_t GetSocketRecvTimestamp(int socket) { - struct timeval tv_ioctl; diff --git a/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch deleted file mode 100644 index 63a460cc..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch +++ /dev/null @@ -1,47 +0,0 @@ -From ddedffaeb9f04ac8530f87f5010e0008dc548b96 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 30 Nov 2019 10:07:43 -0800 -Subject: [PATCH] chromium: Fix build on 32bit arches with 64bit time_t - -time element is deprecated on new input_event structure in kernel's -input.h [1] - -[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f - -Signed-off-by: Khem Raj -Signed-off-by: Martin Jansa ---- - chromium/ui/events/ozone/evdev/event_converter_evdev.h | 5 +++++ - chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc | 3 +-- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/chromium/ui/events/ozone/evdev/event_converter_evdev.h b/chromium/ui/events/ozone/evdev/event_converter_evdev.h -index 717410f2ebc..a4cd55ca20e 100644 ---- a/chromium/ui/events/ozone/evdev/event_converter_evdev.h -+++ b/chromium/ui/events/ozone/evdev/event_converter_evdev.h -@@ -20,6 +20,11 @@ - #include "ui/events/ozone/evdev/event_dispatch_callback.h" - #include "ui/gfx/geometry/size.h" - -+#ifndef input_event_sec -+#define input_event_sec time.tv_sec -+#define input_event_usec time.tv_usec -+#endif -+ - struct input_event; - - namespace ui { -diff --git a/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc b/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc -index 01e49b7bbfd..4fccfd62f84 100644 ---- a/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc -+++ b/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc -@@ -63,8 +63,7 @@ void TouchEventLogEvdev::DumpLog(const char* filename) { - continue; - std::string event_string = base::StringPrintf( - "E: %ld.%06ld %04x %04x %d %d\n", te->ev.input_event_sec, -- te->ev.input_event_usec, te->ev.type, te->ev.code, te->ev.value, -- te->slot); -+ te->ev.input_event_usec, te->ev.type, te->ev.code, te->ev.value, te->slot); - report_content += event_string; - } - file.Write(0, report_content.c_str(), report_content.length()); 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 new file mode 100644 index 00000000..25ea5639 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Include-cstddef-for-size_t-definition.patch @@ -0,0 +1,35 @@ +From 8c4ba9f35e835159502239e184646615e71db00c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 25 Dec 2019 15:41:16 -0800 +Subject: [PATCH] chromium: Include cstddef for size_t definition + +Include ctsdint for uintXX_t + +Fixes +In file included from ../../../../git/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.cc:10: +../../../../git/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h:34:3: error: 'size_t' does not name a type + 34 | size_t stability_counter_; + | ^~~~~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +ccc + +Signed-off-by: Khem Raj +--- + .../third_party/webrtc/modules/video_coding/decoding_state.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/chromium/third_party/webrtc/modules/video_coding/decoding_state.h b/chromium/third_party/webrtc/modules/video_coding/decoding_state.h +index ec972949d89..2a76775cfb6 100644 +--- a/chromium/third_party/webrtc/modules/video_coding/decoding_state.h ++++ b/chromium/third_party/webrtc/modules/video_coding/decoding_state.h +@@ -15,6 +15,7 @@ + #include + #include + #include ++#include + + namespace webrtc { + diff --git a/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Include-cstddef-for-size_t-definition.patch b/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Include-cstddef-for-size_t-definition.patch deleted file mode 100644 index 41a8ce36..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Include-cstddef-for-size_t-definition.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 022100d701dca71ecfe237e133712398bc1c59a7 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 25 Dec 2019 15:41:16 -0800 -Subject: [PATCH] chromium: Include cstddef for size_t definition - -Include ctsdint for uintXX_t - -Fixes -In file included from ../../../../git/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.cc:10: -../../../../git/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h:34:3: error: 'size_t' does not name a type - 34 | size_t stability_counter_; - | ^~~~~~ - -Upstream-Status: Pending -Signed-off-by: Khem Raj - -ccc - -Signed-off-by: Khem Raj ---- - .../third_party/webrtc/modules/video_coding/decoding_state.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/chromium/third_party/webrtc/modules/video_coding/decoding_state.h b/chromium/third_party/webrtc/modules/video_coding/decoding_state.h -index ec972949d89..2a76775cfb6 100644 ---- a/chromium/third_party/webrtc/modules/video_coding/decoding_state.h -+++ b/chromium/third_party/webrtc/modules/video_coding/decoding_state.h -@@ -15,6 +15,7 @@ - #include - #include - #include -+#include - - namespace webrtc { - 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 new file mode 100644 index 00000000..cd65c8b6 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Move-CharAllocator-definition-to-a-header-f.patch @@ -0,0 +1,554 @@ +From 6c1bd0d6abecc1f3c198e4b3e41975edef2ebcff Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 2 Jan 2020 17:13:55 -0800 +Subject: [PATCH] chromium: Move CharAllocator definition to a header file + +Fixes +error: invalid application of 'sizeof' to an incomplete type 'cc::ListContainerHelper::CharAllocator' + +Signed-off-by: Khem Raj +--- + chromium/cc/base/list_container_helper.cc | 251 --------------------- + chromium/cc/base/list_container_helper.h | 255 ++++++++++++++++++++++ + 2 files changed, 255 insertions(+), 251 deletions(-) + +diff --git a/chromium/cc/base/list_container_helper.cc b/chromium/cc/base/list_container_helper.cc +index 7b594b4a458..9dae1c360c4 100644 +--- a/chromium/cc/base/list_container_helper.cc ++++ b/chromium/cc/base/list_container_helper.cc +@@ -13,259 +13,8 @@ + #include "base/check_op.h" + #include "base/memory/aligned_memory.h" + +-namespace { +-const size_t kDefaultNumElementTypesToReserve = 32; +-} // namespace +- + namespace cc { + +-// CharAllocator +-//////////////////////////////////////////////////// +-// This class deals only with char* and void*. It does allocation and passing +-// out raw pointers, as well as memory deallocation when being destroyed. +-class ListContainerHelper::CharAllocator { +- public: +- // CharAllocator::InnerList +- ///////////////////////////////////////////// +- // This class holds the raw memory chunk, as well as information about its +- // size and availability. +- struct InnerList { +- InnerList(const InnerList&) = delete; +- InnerList& operator=(const InnerList&) = delete; +- +- std::unique_ptr data; +- // The number of elements in total the memory can hold. The difference +- // between capacity and size is the how many more elements this list can +- // hold. +- size_t capacity; +- // The number of elements have been put into this list. +- size_t size; +- // The size of each element is in bytes. This is used to move from between +- // elements' memory locations. +- size_t step; +- +- InnerList() : capacity(0), size(0), step(0) {} +- +- void Erase(char* position) { +- // Confident that destructor is called by caller of this function. Since +- // CharAllocator does not handle construction after +- // allocation, it doesn't handle desctrution before deallocation. +- DCHECK_LE(position, LastElement()); +- DCHECK_GE(position, Begin()); +- char* start = position + step; +- std::copy(start, End(), position); +- +- --size; +- // Decrease capacity to avoid creating not full not last InnerList. +- --capacity; +- } +- +- void InsertBefore(size_t alignment, char** position, size_t count) { +- DCHECK_LE(*position, LastElement() + step); +- DCHECK_GE(*position, Begin()); +- +- // Adjust the size and capacity +- size_t old_size = size; +- size += count; +- capacity = size; +- +- // Allocate the new data and update the iterator's pointer. +- std::unique_ptr new_data( +- static_cast(base::AlignedAlloc(size * step, alignment))); +- size_t position_offset = *position - Begin(); +- *position = new_data.get() + position_offset; +- +- // Copy the data before the inserted segment +- memcpy(new_data.get(), data.get(), position_offset); +- // Copy the data after the inserted segment. +- memcpy(new_data.get() + position_offset + count * step, +- data.get() + position_offset, old_size * step - position_offset); +- data = std::move(new_data); +- } +- +- bool IsEmpty() const { return !size; } +- bool IsFull() { return capacity == size; } +- size_t NumElementsAvailable() const { return capacity - size; } +- +- void* AddElement() { +- DCHECK_LT(size, capacity); +- ++size; +- return LastElement(); +- } +- +- void RemoveLast() { +- DCHECK(!IsEmpty()); +- --size; +- } +- +- char* Begin() const { return data.get(); } +- char* End() const { return data.get() + size * step; } +- char* LastElement() const { return data.get() + (size - 1) * step; } +- char* ElementAt(size_t index) const { return data.get() + index * step; } +- }; +- +- CharAllocator(size_t alignment, size_t element_size, size_t element_count) +- // base::AlignedAlloc does not accept alignment less than sizeof(void*). +- : alignment_(std::max(sizeof(void*), alignment)), +- element_size_(element_size), +- size_(0), +- last_list_index_(0), +- last_list_(nullptr) { +- // If this fails, then alignment of elements after the first could be wrong, +- // and we need to pad sizes to fix that. +- DCHECK_EQ(element_size % alignment, 0u); +- AllocateNewList(element_count > 0 ? element_count +- : kDefaultNumElementTypesToReserve); +- last_list_ = storage_[last_list_index_].get(); +- } +- +- CharAllocator(const CharAllocator&) = delete; +- ~CharAllocator() = default; +- +- CharAllocator& operator=(const CharAllocator&) = delete; +- +- void* Allocate() { +- if (last_list_->IsFull()) { +- // Only allocate a new list if there isn't a spare one still there from +- // previous usage. +- if (last_list_index_ + 1 >= storage_.size()) +- AllocateNewList(last_list_->capacity * 2); +- +- ++last_list_index_; +- last_list_ = storage_[last_list_index_].get(); +- } +- +- ++size_; +- return last_list_->AddElement(); +- } +- +- size_t alignment() const { return alignment_; } +- size_t element_size() const { return element_size_; } +- size_t list_count() const { return storage_.size(); } +- size_t size() const { return size_; } +- bool IsEmpty() const { return size() == 0; } +- +- size_t Capacity() const { +- size_t capacity_sum = 0; +- for (const auto& inner_list : storage_) +- capacity_sum += inner_list->capacity; +- return capacity_sum; +- } +- +- void Clear() { +- // Remove all except for the first InnerList. +- DCHECK(!storage_.empty()); +- storage_.erase(storage_.begin() + 1, storage_.end()); +- last_list_index_ = 0; +- last_list_ = storage_[0].get(); +- last_list_->size = 0; +- size_ = 0; +- } +- +- void RemoveLast() { +- DCHECK(!IsEmpty()); +- last_list_->RemoveLast(); +- if (last_list_->IsEmpty() && last_list_index_ > 0) { +- --last_list_index_; +- last_list_ = storage_[last_list_index_].get(); +- +- // If there are now two empty inner lists, free one of them. +- if (last_list_index_ + 2 < storage_.size()) +- storage_.pop_back(); +- } +- --size_; +- } +- +- void Erase(PositionInCharAllocator* position) { +- DCHECK_EQ(this, position->ptr_to_container); +- +- // Update |position| to point to the element after the erased element. +- InnerList* list = storage_[position->vector_index].get(); +- char* item_iterator = position->item_iterator; +- if (item_iterator == list->LastElement()) +- position->Increment(); +- +- list->Erase(item_iterator); +- // TODO(weiliangc): Free the InnerList if it is empty. +- --size_; +- } +- +- void InsertBefore(ListContainerHelper::Iterator* position, size_t count) { +- if (!count) +- return; +- +- // If |position| is End(), then append |count| elements at the end. This +- // will happen to not invalidate any iterators or memory. +- if (!position->item_iterator) { +- // Set |position| to be the first inserted element. +- Allocate(); +- position->vector_index = storage_.size() - 1; +- position->item_iterator = storage_[position->vector_index]->LastElement(); +- // Allocate the rest. +- for (size_t i = 1; i < count; ++i) +- Allocate(); +- } else { +- storage_[position->vector_index]->InsertBefore( +- alignment_, &position->item_iterator, count); +- size_ += count; +- } +- } +- +- InnerList* InnerListById(size_t id) const { +- DCHECK_LT(id, storage_.size()); +- return storage_[id].get(); +- } +- +- size_t FirstInnerListId() const { +- // |size_| > 0 means that at least one vector in |storage_| will be +- // non-empty. +- DCHECK_GT(size_, 0u); +- size_t id = 0; +- while (storage_[id]->size == 0) +- ++id; +- return id; +- } +- +- size_t LastInnerListId() const { +- // |size_| > 0 means that at least one vector in |storage_| will be +- // non-empty. +- DCHECK_GT(size_, 0u); +- size_t id = storage_.size() - 1; +- while (storage_[id]->size == 0) +- --id; +- return id; +- } +- +- size_t NumAvailableElementsInLastList() const { +- return last_list_->NumElementsAvailable(); +- } +- +- private: +- void AllocateNewList(size_t list_size) { +- std::unique_ptr new_list(new InnerList); +- new_list->capacity = list_size; +- new_list->size = 0; +- new_list->step = element_size_; +- new_list->data.reset(static_cast( +- base::AlignedAlloc(list_size * element_size_, alignment_))); +- storage_.push_back(std::move(new_list)); +- } +- +- std::vector> storage_; +- const size_t alignment_; +- const size_t element_size_; +- +- // The number of elements in the list. +- size_t size_; +- +- // The index of the last list to have had elements added to it, or the only +- // list if the container has not had elements added since being cleared. +- size_t last_list_index_; +- +- // This is equivalent to |storage_[last_list_index_]|. +- InnerList* last_list_; +-}; +- + // PositionInCharAllocator + ////////////////////////////////////////////////////// + ListContainerHelper::PositionInCharAllocator::PositionInCharAllocator( +diff --git a/chromium/cc/base/list_container_helper.h b/chromium/cc/base/list_container_helper.h +index 31658bc8486..9e65013cbdb 100644 +--- a/chromium/cc/base/list_container_helper.h ++++ b/chromium/cc/base/list_container_helper.h +@@ -8,9 +8,17 @@ + #include + + #include ++#include ++#include + ++#include "base/logging.h" ++#include "base/memory/aligned_memory.h" + #include "cc/base/base_export.h" + ++namespace { ++const size_t kDefaultNumElementTypesToReserve = 32; ++} // namespace ++ + namespace cc { + + // Helper class for ListContainer non-templated logic. All methods are private, +@@ -174,6 +182,253 @@ class CC_BASE_EXPORT ListContainerHelper final { + std::unique_ptr data_; + }; + ++// CharAllocator ++//////////////////////////////////////////////////// ++// This class deals only with char* and void*. It does allocation and passing ++// out raw pointers, as well as memory deallocation when being destroyed. ++class ListContainerHelper::CharAllocator { ++ public: ++ // CharAllocator::InnerList ++ ///////////////////////////////////////////// ++ // This class holds the raw memory chunk, as well as information about its ++ // size and availability. ++ struct InnerList { ++ InnerList(const InnerList&) = delete; ++ InnerList& operator=(const InnerList&) = delete; ++ ++ std::unique_ptr data; ++ // The number of elements in total the memory can hold. The difference ++ // between capacity and size is the how many more elements this list can ++ // hold. ++ size_t capacity; ++ // The number of elements have been put into this list. ++ size_t size; ++ // The size of each element is in bytes. This is used to move from between ++ // elements' memory locations. ++ size_t step; ++ ++ InnerList() : capacity(0), size(0), step(0) {} ++ ++ void Erase(char* position) { ++ // Confident that destructor is called by caller of this function. Since ++ // CharAllocator does not handle construction after ++ // allocation, it doesn't handle desctrution before deallocation. ++ DCHECK_LE(position, LastElement()); ++ DCHECK_GE(position, Begin()); ++ char* start = position + step; ++ std::copy(start, End(), position); ++ ++ --size; ++ // Decrease capacity to avoid creating not full not last InnerList. ++ --capacity; ++ } ++ ++ void InsertBefore(size_t alignment, char** position, size_t count) { ++ DCHECK_LE(*position, LastElement() + step); ++ DCHECK_GE(*position, Begin()); ++ ++ // Adjust the size and capacity ++ size_t old_size = size; ++ size += count; ++ capacity = size; ++ ++ // Allocate the new data and update the iterator's pointer. ++ std::unique_ptr new_data( ++ static_cast(base::AlignedAlloc(size * step, alignment))); ++ size_t position_offset = *position - Begin(); ++ *position = new_data.get() + position_offset; ++ ++ // Copy the data before the inserted segment ++ memcpy(new_data.get(), data.get(), position_offset); ++ // Copy the data after the inserted segment. ++ memcpy(new_data.get() + position_offset + count * step, ++ data.get() + position_offset, old_size * step - position_offset); ++ data = std::move(new_data); ++ } ++ ++ bool IsEmpty() const { return !size; } ++ bool IsFull() { return capacity == size; } ++ size_t NumElementsAvailable() const { return capacity - size; } ++ ++ void* AddElement() { ++ DCHECK_LT(size, capacity); ++ ++size; ++ return LastElement(); ++ } ++ ++ void RemoveLast() { ++ DCHECK(!IsEmpty()); ++ --size; ++ } ++ ++ char* Begin() const { return data.get(); } ++ char* End() const { return data.get() + size * step; } ++ char* LastElement() const { return data.get() + (size - 1) * step; } ++ char* ElementAt(size_t index) const { return data.get() + index * step; } ++ }; ++ ++ CharAllocator(size_t alignment, size_t element_size, size_t element_count) ++ // base::AlignedAlloc does not accept alignment less than sizeof(void*). ++ : alignment_(std::max(sizeof(void*), alignment)), ++ element_size_(element_size), ++ size_(0), ++ last_list_index_(0), ++ last_list_(nullptr) { ++ // If this fails, then alignment of elements after the first could be wrong, ++ // and we need to pad sizes to fix that. ++ DCHECK_EQ(element_size % alignment, 0u); ++ AllocateNewList(element_count > 0 ? element_count ++ : kDefaultNumElementTypesToReserve); ++ last_list_ = storage_[last_list_index_].get(); ++ } ++ ++ CharAllocator(const CharAllocator&) = delete; ++ ~CharAllocator() = default; ++ ++ CharAllocator& operator=(const CharAllocator&) = delete; ++ ++ void* Allocate() { ++ if (last_list_->IsFull()) { ++ // Only allocate a new list if there isn't a spare one still there from ++ // previous usage. ++ if (last_list_index_ + 1 >= storage_.size()) ++ AllocateNewList(last_list_->capacity * 2); ++ ++ ++last_list_index_; ++ last_list_ = storage_[last_list_index_].get(); ++ } ++ ++ ++size_; ++ return last_list_->AddElement(); ++ } ++ ++ size_t alignment() const { return alignment_; } ++ size_t element_size() const { return element_size_; } ++ size_t list_count() const { return storage_.size(); } ++ size_t size() const { return size_; } ++ bool IsEmpty() const { return size() == 0; } ++ ++ size_t Capacity() const { ++ size_t capacity_sum = 0; ++ for (const auto& inner_list : storage_) ++ capacity_sum += inner_list->capacity; ++ return capacity_sum; ++ } ++ ++ void Clear() { ++ // Remove all except for the first InnerList. ++ DCHECK(!storage_.empty()); ++ storage_.erase(storage_.begin() + 1, storage_.end()); ++ last_list_index_ = 0; ++ last_list_ = storage_[0].get(); ++ last_list_->size = 0; ++ size_ = 0; ++ } ++ ++ void RemoveLast() { ++ DCHECK(!IsEmpty()); ++ last_list_->RemoveLast(); ++ if (last_list_->IsEmpty() && last_list_index_ > 0) { ++ --last_list_index_; ++ last_list_ = storage_[last_list_index_].get(); ++ ++ // If there are now two empty inner lists, free one of them. ++ if (last_list_index_ + 2 < storage_.size()) ++ storage_.pop_back(); ++ } ++ --size_; ++ } ++ ++ void Erase(PositionInCharAllocator* position) { ++ DCHECK_EQ(this, position->ptr_to_container); ++ ++ // Update |position| to point to the element after the erased element. ++ InnerList* list = storage_[position->vector_index].get(); ++ char* item_iterator = position->item_iterator; ++ if (item_iterator == list->LastElement()) ++ position->Increment(); ++ ++ list->Erase(item_iterator); ++ // TODO(weiliangc): Free the InnerList if it is empty. ++ --size_; ++ } ++ ++ void InsertBefore(ListContainerHelper::Iterator* position, size_t count) { ++ if (!count) ++ return; ++ ++ // If |position| is End(), then append |count| elements at the end. This ++ // will happen to not invalidate any iterators or memory. ++ if (!position->item_iterator) { ++ // Set |position| to be the first inserted element. ++ Allocate(); ++ position->vector_index = storage_.size() - 1; ++ position->item_iterator = storage_[position->vector_index]->LastElement(); ++ // Allocate the rest. ++ for (size_t i = 1; i < count; ++i) ++ Allocate(); ++ } else { ++ storage_[position->vector_index]->InsertBefore( ++ alignment_, &position->item_iterator, count); ++ size_ += count; ++ } ++ } ++ ++ InnerList* InnerListById(size_t id) const { ++ DCHECK_LT(id, storage_.size()); ++ return storage_[id].get(); ++ } ++ ++ size_t FirstInnerListId() const { ++ // |size_| > 0 means that at least one vector in |storage_| will be ++ // non-empty. ++ DCHECK_GT(size_, 0u); ++ size_t id = 0; ++ while (storage_[id]->size == 0) ++ ++id; ++ return id; ++ } ++ ++ size_t LastInnerListId() const { ++ // |size_| > 0 means that at least one vector in |storage_| will be ++ // non-empty. ++ DCHECK_GT(size_, 0u); ++ size_t id = storage_.size() - 1; ++ while (storage_[id]->size == 0) ++ --id; ++ return id; ++ } ++ ++ size_t NumAvailableElementsInLastList() const { ++ return last_list_->NumElementsAvailable(); ++ } ++ ++ private: ++ void AllocateNewList(size_t list_size) { ++ std::unique_ptr new_list(new InnerList); ++ new_list->capacity = list_size; ++ new_list->size = 0; ++ new_list->step = element_size_; ++ new_list->data.reset(static_cast( ++ base::AlignedAlloc(list_size * element_size_, alignment_))); ++ storage_.push_back(std::move(new_list)); ++ } ++ ++ std::vector> storage_; ++ const size_t alignment_; ++ const size_t element_size_; ++ ++ // The number of elements in the list. ++ size_t size_; ++ ++ // The index of the last list to have had elements added to it, or the only ++ // list if the container has not had elements added since being cleared. ++ size_t last_list_index_; ++ ++ // This is equivalent to |storage_[last_list_index_]|. ++ InnerList* last_list_; ++}; ++ + } // namespace cc + + #endif // CC_BASE_LIST_CONTAINER_HELPER_H_ 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 new file mode 100644 index 00000000..c63047b8 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Link-v8-with-libatomic-on-x86.patch @@ -0,0 +1,29 @@ +From 79aff9ed2ef07c562ba6dcbdd7e0274eebd3dc29 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Feb 2020 12:17:23 -0800 +Subject: [PATCH] chromium: Link v8 with libatomic on x86 + +Fixes +| v8_base_without_compiler_jumbo_47.cc:(.text._ZN2v88internal4wasm12_GLOBAL__N_123ExecuteCompilationUnitsERKSt10shared_ptrINS2_22BackgroundCompileTokenEEPNS0_8CountersEiNS2_19CompileBaselineOnlyE+0x29a): undefined reference to `__atomic_l +oad' + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + chromium/v8/BUILD.gn | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/chromium/v8/BUILD.gn b/chromium/v8/BUILD.gn +index ba99c75140b..33cf943bcba 100644 +--- a/chromium/v8/BUILD.gn ++++ b/chromium/v8/BUILD.gn +@@ -3862,7 +3862,8 @@ v8_source_set("v8_base_without_compiler") { + if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel" || + v8_current_cpu == "mips64" || v8_current_cpu == "mips64el" || + v8_current_cpu == "ppc" || v8_current_cpu == "ppc64" || +- v8_current_cpu == "s390" || v8_current_cpu == "s390x") { ++ v8_current_cpu == "s390" || v8_current_cpu == "s390x" || ++ v8_current_cpu == "x86") { + libs += [ "atomic" ] + } + diff --git a/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Move-CharAllocator-definition-to-a-header-f.patch b/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Move-CharAllocator-definition-to-a-header-f.patch deleted file mode 100644 index abe1e16d..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Move-CharAllocator-definition-to-a-header-f.patch +++ /dev/null @@ -1,554 +0,0 @@ -From 9d9db26e626e1c8d4d10eab1522daf0efc8cb11c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 2 Jan 2020 17:13:55 -0800 -Subject: [PATCH] chromium: Move CharAllocator definition to a header file - -Fixes -error: invalid application of 'sizeof' to an incomplete type 'cc::ListContainerHelper::CharAllocator' - -Signed-off-by: Khem Raj ---- - chromium/cc/base/list_container_helper.cc | 251 --------------------- - chromium/cc/base/list_container_helper.h | 255 ++++++++++++++++++++++ - 2 files changed, 255 insertions(+), 251 deletions(-) - -diff --git a/chromium/cc/base/list_container_helper.cc b/chromium/cc/base/list_container_helper.cc -index 3a4c0b6a2f9..89df57a7b8e 100644 ---- a/chromium/cc/base/list_container_helper.cc -+++ b/chromium/cc/base/list_container_helper.cc -@@ -12,259 +12,8 @@ - #include "base/logging.h" - #include "base/memory/aligned_memory.h" - --namespace { --const size_t kDefaultNumElementTypesToReserve = 32; --} // namespace -- - namespace cc { - --// CharAllocator --//////////////////////////////////////////////////// --// This class deals only with char* and void*. It does allocation and passing --// out raw pointers, as well as memory deallocation when being destroyed. --class ListContainerHelper::CharAllocator { -- public: -- // CharAllocator::InnerList -- ///////////////////////////////////////////// -- // This class holds the raw memory chunk, as well as information about its -- // size and availability. -- struct InnerList { -- InnerList(const InnerList&) = delete; -- InnerList& operator=(const InnerList&) = delete; -- -- std::unique_ptr data; -- // The number of elements in total the memory can hold. The difference -- // between capacity and size is the how many more elements this list can -- // hold. -- size_t capacity; -- // The number of elements have been put into this list. -- size_t size; -- // The size of each element is in bytes. This is used to move from between -- // elements' memory locations. -- size_t step; -- -- InnerList() : capacity(0), size(0), step(0) {} -- -- void Erase(char* position) { -- // Confident that destructor is called by caller of this function. Since -- // CharAllocator does not handle construction after -- // allocation, it doesn't handle desctrution before deallocation. -- DCHECK_LE(position, LastElement()); -- DCHECK_GE(position, Begin()); -- char* start = position + step; -- std::copy(start, End(), position); -- -- --size; -- // Decrease capacity to avoid creating not full not last InnerList. -- --capacity; -- } -- -- void InsertBefore(size_t alignment, char** position, size_t count) { -- DCHECK_LE(*position, LastElement() + step); -- DCHECK_GE(*position, Begin()); -- -- // Adjust the size and capacity -- size_t old_size = size; -- size += count; -- capacity = size; -- -- // Allocate the new data and update the iterator's pointer. -- std::unique_ptr new_data( -- static_cast(base::AlignedAlloc(size * step, alignment))); -- size_t position_offset = *position - Begin(); -- *position = new_data.get() + position_offset; -- -- // Copy the data before the inserted segment -- memcpy(new_data.get(), data.get(), position_offset); -- // Copy the data after the inserted segment. -- memcpy(new_data.get() + position_offset + count * step, -- data.get() + position_offset, old_size * step - position_offset); -- data = std::move(new_data); -- } -- -- bool IsEmpty() const { return !size; } -- bool IsFull() { return capacity == size; } -- size_t NumElementsAvailable() const { return capacity - size; } -- -- void* AddElement() { -- DCHECK_LT(size, capacity); -- ++size; -- return LastElement(); -- } -- -- void RemoveLast() { -- DCHECK(!IsEmpty()); -- --size; -- } -- -- char* Begin() const { return data.get(); } -- char* End() const { return data.get() + size * step; } -- char* LastElement() const { return data.get() + (size - 1) * step; } -- char* ElementAt(size_t index) const { return data.get() + index * step; } -- }; -- -- CharAllocator(size_t alignment, size_t element_size, size_t element_count) -- // base::AlignedAlloc does not accept alignment less than sizeof(void*). -- : alignment_(std::max(sizeof(void*), alignment)), -- element_size_(element_size), -- size_(0), -- last_list_index_(0), -- last_list_(nullptr) { -- // If this fails, then alignment of elements after the first could be wrong, -- // and we need to pad sizes to fix that. -- DCHECK_EQ(element_size % alignment, 0u); -- AllocateNewList(element_count > 0 ? element_count -- : kDefaultNumElementTypesToReserve); -- last_list_ = storage_[last_list_index_].get(); -- } -- -- CharAllocator(const CharAllocator&) = delete; -- ~CharAllocator() = default; -- -- CharAllocator& operator=(const CharAllocator&) = delete; -- -- void* Allocate() { -- if (last_list_->IsFull()) { -- // Only allocate a new list if there isn't a spare one still there from -- // previous usage. -- if (last_list_index_ + 1 >= storage_.size()) -- AllocateNewList(last_list_->capacity * 2); -- -- ++last_list_index_; -- last_list_ = storage_[last_list_index_].get(); -- } -- -- ++size_; -- return last_list_->AddElement(); -- } -- -- size_t alignment() const { return alignment_; } -- size_t element_size() const { return element_size_; } -- size_t list_count() const { return storage_.size(); } -- size_t size() const { return size_; } -- bool IsEmpty() const { return size() == 0; } -- -- size_t Capacity() const { -- size_t capacity_sum = 0; -- for (const auto& inner_list : storage_) -- capacity_sum += inner_list->capacity; -- return capacity_sum; -- } -- -- void Clear() { -- // Remove all except for the first InnerList. -- DCHECK(!storage_.empty()); -- storage_.erase(storage_.begin() + 1, storage_.end()); -- last_list_index_ = 0; -- last_list_ = storage_[0].get(); -- last_list_->size = 0; -- size_ = 0; -- } -- -- void RemoveLast() { -- DCHECK(!IsEmpty()); -- last_list_->RemoveLast(); -- if (last_list_->IsEmpty() && last_list_index_ > 0) { -- --last_list_index_; -- last_list_ = storage_[last_list_index_].get(); -- -- // If there are now two empty inner lists, free one of them. -- if (last_list_index_ + 2 < storage_.size()) -- storage_.pop_back(); -- } -- --size_; -- } -- -- void Erase(PositionInCharAllocator* position) { -- DCHECK_EQ(this, position->ptr_to_container); -- -- // Update |position| to point to the element after the erased element. -- InnerList* list = storage_[position->vector_index].get(); -- char* item_iterator = position->item_iterator; -- if (item_iterator == list->LastElement()) -- position->Increment(); -- -- list->Erase(item_iterator); -- // TODO(weiliangc): Free the InnerList if it is empty. -- --size_; -- } -- -- void InsertBefore(ListContainerHelper::Iterator* position, size_t count) { -- if (!count) -- return; -- -- // If |position| is End(), then append |count| elements at the end. This -- // will happen to not invalidate any iterators or memory. -- if (!position->item_iterator) { -- // Set |position| to be the first inserted element. -- Allocate(); -- position->vector_index = storage_.size() - 1; -- position->item_iterator = storage_[position->vector_index]->LastElement(); -- // Allocate the rest. -- for (size_t i = 1; i < count; ++i) -- Allocate(); -- } else { -- storage_[position->vector_index]->InsertBefore( -- alignment_, &position->item_iterator, count); -- size_ += count; -- } -- } -- -- InnerList* InnerListById(size_t id) const { -- DCHECK_LT(id, storage_.size()); -- return storage_[id].get(); -- } -- -- size_t FirstInnerListId() const { -- // |size_| > 0 means that at least one vector in |storage_| will be -- // non-empty. -- DCHECK_GT(size_, 0u); -- size_t id = 0; -- while (storage_[id]->size == 0) -- ++id; -- return id; -- } -- -- size_t LastInnerListId() const { -- // |size_| > 0 means that at least one vector in |storage_| will be -- // non-empty. -- DCHECK_GT(size_, 0u); -- size_t id = storage_.size() - 1; -- while (storage_[id]->size == 0) -- --id; -- return id; -- } -- -- size_t NumAvailableElementsInLastList() const { -- return last_list_->NumElementsAvailable(); -- } -- -- private: -- void AllocateNewList(size_t list_size) { -- std::unique_ptr new_list(new InnerList); -- new_list->capacity = list_size; -- new_list->size = 0; -- new_list->step = element_size_; -- new_list->data.reset(static_cast( -- base::AlignedAlloc(list_size * element_size_, alignment_))); -- storage_.push_back(std::move(new_list)); -- } -- -- std::vector> storage_; -- const size_t alignment_; -- const size_t element_size_; -- -- // The number of elements in the list. -- size_t size_; -- -- // The index of the last list to have had elements added to it, or the only -- // list if the container has not had elements added since being cleared. -- size_t last_list_index_; -- -- // This is equivalent to |storage_[last_list_index_]|. -- InnerList* last_list_; --}; -- - // PositionInCharAllocator - ////////////////////////////////////////////////////// - ListContainerHelper::PositionInCharAllocator::PositionInCharAllocator( -diff --git a/chromium/cc/base/list_container_helper.h b/chromium/cc/base/list_container_helper.h -index 31658bc8486..9e65013cbdb 100644 ---- a/chromium/cc/base/list_container_helper.h -+++ b/chromium/cc/base/list_container_helper.h -@@ -8,9 +8,17 @@ - #include - - #include -+#include -+#include - -+#include "base/logging.h" -+#include "base/memory/aligned_memory.h" - #include "cc/base/base_export.h" - -+namespace { -+const size_t kDefaultNumElementTypesToReserve = 32; -+} // namespace -+ - namespace cc { - - // Helper class for ListContainer non-templated logic. All methods are private, -@@ -174,6 +182,253 @@ class CC_BASE_EXPORT ListContainerHelper final { - std::unique_ptr data_; - }; - -+// CharAllocator -+//////////////////////////////////////////////////// -+// This class deals only with char* and void*. It does allocation and passing -+// out raw pointers, as well as memory deallocation when being destroyed. -+class ListContainerHelper::CharAllocator { -+ public: -+ // CharAllocator::InnerList -+ ///////////////////////////////////////////// -+ // This class holds the raw memory chunk, as well as information about its -+ // size and availability. -+ struct InnerList { -+ InnerList(const InnerList&) = delete; -+ InnerList& operator=(const InnerList&) = delete; -+ -+ std::unique_ptr data; -+ // The number of elements in total the memory can hold. The difference -+ // between capacity and size is the how many more elements this list can -+ // hold. -+ size_t capacity; -+ // The number of elements have been put into this list. -+ size_t size; -+ // The size of each element is in bytes. This is used to move from between -+ // elements' memory locations. -+ size_t step; -+ -+ InnerList() : capacity(0), size(0), step(0) {} -+ -+ void Erase(char* position) { -+ // Confident that destructor is called by caller of this function. Since -+ // CharAllocator does not handle construction after -+ // allocation, it doesn't handle desctrution before deallocation. -+ DCHECK_LE(position, LastElement()); -+ DCHECK_GE(position, Begin()); -+ char* start = position + step; -+ std::copy(start, End(), position); -+ -+ --size; -+ // Decrease capacity to avoid creating not full not last InnerList. -+ --capacity; -+ } -+ -+ void InsertBefore(size_t alignment, char** position, size_t count) { -+ DCHECK_LE(*position, LastElement() + step); -+ DCHECK_GE(*position, Begin()); -+ -+ // Adjust the size and capacity -+ size_t old_size = size; -+ size += count; -+ capacity = size; -+ -+ // Allocate the new data and update the iterator's pointer. -+ std::unique_ptr new_data( -+ static_cast(base::AlignedAlloc(size * step, alignment))); -+ size_t position_offset = *position - Begin(); -+ *position = new_data.get() + position_offset; -+ -+ // Copy the data before the inserted segment -+ memcpy(new_data.get(), data.get(), position_offset); -+ // Copy the data after the inserted segment. -+ memcpy(new_data.get() + position_offset + count * step, -+ data.get() + position_offset, old_size * step - position_offset); -+ data = std::move(new_data); -+ } -+ -+ bool IsEmpty() const { return !size; } -+ bool IsFull() { return capacity == size; } -+ size_t NumElementsAvailable() const { return capacity - size; } -+ -+ void* AddElement() { -+ DCHECK_LT(size, capacity); -+ ++size; -+ return LastElement(); -+ } -+ -+ void RemoveLast() { -+ DCHECK(!IsEmpty()); -+ --size; -+ } -+ -+ char* Begin() const { return data.get(); } -+ char* End() const { return data.get() + size * step; } -+ char* LastElement() const { return data.get() + (size - 1) * step; } -+ char* ElementAt(size_t index) const { return data.get() + index * step; } -+ }; -+ -+ CharAllocator(size_t alignment, size_t element_size, size_t element_count) -+ // base::AlignedAlloc does not accept alignment less than sizeof(void*). -+ : alignment_(std::max(sizeof(void*), alignment)), -+ element_size_(element_size), -+ size_(0), -+ last_list_index_(0), -+ last_list_(nullptr) { -+ // If this fails, then alignment of elements after the first could be wrong, -+ // and we need to pad sizes to fix that. -+ DCHECK_EQ(element_size % alignment, 0u); -+ AllocateNewList(element_count > 0 ? element_count -+ : kDefaultNumElementTypesToReserve); -+ last_list_ = storage_[last_list_index_].get(); -+ } -+ -+ CharAllocator(const CharAllocator&) = delete; -+ ~CharAllocator() = default; -+ -+ CharAllocator& operator=(const CharAllocator&) = delete; -+ -+ void* Allocate() { -+ if (last_list_->IsFull()) { -+ // Only allocate a new list if there isn't a spare one still there from -+ // previous usage. -+ if (last_list_index_ + 1 >= storage_.size()) -+ AllocateNewList(last_list_->capacity * 2); -+ -+ ++last_list_index_; -+ last_list_ = storage_[last_list_index_].get(); -+ } -+ -+ ++size_; -+ return last_list_->AddElement(); -+ } -+ -+ size_t alignment() const { return alignment_; } -+ size_t element_size() const { return element_size_; } -+ size_t list_count() const { return storage_.size(); } -+ size_t size() const { return size_; } -+ bool IsEmpty() const { return size() == 0; } -+ -+ size_t Capacity() const { -+ size_t capacity_sum = 0; -+ for (const auto& inner_list : storage_) -+ capacity_sum += inner_list->capacity; -+ return capacity_sum; -+ } -+ -+ void Clear() { -+ // Remove all except for the first InnerList. -+ DCHECK(!storage_.empty()); -+ storage_.erase(storage_.begin() + 1, storage_.end()); -+ last_list_index_ = 0; -+ last_list_ = storage_[0].get(); -+ last_list_->size = 0; -+ size_ = 0; -+ } -+ -+ void RemoveLast() { -+ DCHECK(!IsEmpty()); -+ last_list_->RemoveLast(); -+ if (last_list_->IsEmpty() && last_list_index_ > 0) { -+ --last_list_index_; -+ last_list_ = storage_[last_list_index_].get(); -+ -+ // If there are now two empty inner lists, free one of them. -+ if (last_list_index_ + 2 < storage_.size()) -+ storage_.pop_back(); -+ } -+ --size_; -+ } -+ -+ void Erase(PositionInCharAllocator* position) { -+ DCHECK_EQ(this, position->ptr_to_container); -+ -+ // Update |position| to point to the element after the erased element. -+ InnerList* list = storage_[position->vector_index].get(); -+ char* item_iterator = position->item_iterator; -+ if (item_iterator == list->LastElement()) -+ position->Increment(); -+ -+ list->Erase(item_iterator); -+ // TODO(weiliangc): Free the InnerList if it is empty. -+ --size_; -+ } -+ -+ void InsertBefore(ListContainerHelper::Iterator* position, size_t count) { -+ if (!count) -+ return; -+ -+ // If |position| is End(), then append |count| elements at the end. This -+ // will happen to not invalidate any iterators or memory. -+ if (!position->item_iterator) { -+ // Set |position| to be the first inserted element. -+ Allocate(); -+ position->vector_index = storage_.size() - 1; -+ position->item_iterator = storage_[position->vector_index]->LastElement(); -+ // Allocate the rest. -+ for (size_t i = 1; i < count; ++i) -+ Allocate(); -+ } else { -+ storage_[position->vector_index]->InsertBefore( -+ alignment_, &position->item_iterator, count); -+ size_ += count; -+ } -+ } -+ -+ InnerList* InnerListById(size_t id) const { -+ DCHECK_LT(id, storage_.size()); -+ return storage_[id].get(); -+ } -+ -+ size_t FirstInnerListId() const { -+ // |size_| > 0 means that at least one vector in |storage_| will be -+ // non-empty. -+ DCHECK_GT(size_, 0u); -+ size_t id = 0; -+ while (storage_[id]->size == 0) -+ ++id; -+ return id; -+ } -+ -+ size_t LastInnerListId() const { -+ // |size_| > 0 means that at least one vector in |storage_| will be -+ // non-empty. -+ DCHECK_GT(size_, 0u); -+ size_t id = storage_.size() - 1; -+ while (storage_[id]->size == 0) -+ --id; -+ return id; -+ } -+ -+ size_t NumAvailableElementsInLastList() const { -+ return last_list_->NumElementsAvailable(); -+ } -+ -+ private: -+ void AllocateNewList(size_t list_size) { -+ std::unique_ptr new_list(new InnerList); -+ new_list->capacity = list_size; -+ new_list->size = 0; -+ new_list->step = element_size_; -+ new_list->data.reset(static_cast( -+ base::AlignedAlloc(list_size * element_size_, alignment_))); -+ storage_.push_back(std::move(new_list)); -+ } -+ -+ std::vector> storage_; -+ const size_t alignment_; -+ const size_t element_size_; -+ -+ // The number of elements in the list. -+ size_t size_; -+ -+ // The index of the last list to have had elements added to it, or the only -+ // list if the container has not had elements added since being cleared. -+ size_t last_list_index_; -+ -+ // This is equivalent to |storage_[last_list_index_]|. -+ InnerList* last_list_; -+}; -+ - } // namespace cc - - #endif // CC_BASE_LIST_CONTAINER_HELPER_H_ diff --git a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Include-cstddef-and-cstdint.patch b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Include-cstddef-and-cstdint.patch deleted file mode 100644 index 464f952b..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Include-cstddef-and-cstdint.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 1b8d57ba6595bbd743f6570d834f6a08600fb117 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 15 Jan 2020 16:53:46 -0800 -Subject: [PATCH] chromium: Include and - -These headers are needed for uintXX_t and size_t definitions - -Signed-off-by: Khem Raj ---- - chromium/third_party/webrtc/call/rtx_receive_stream.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/chromium/third_party/webrtc/call/rtx_receive_stream.h b/chromium/third_party/webrtc/call/rtx_receive_stream.h -index 66cc46dc091..e8cadb2bb80 100644 ---- a/chromium/third_party/webrtc/call/rtx_receive_stream.h -+++ b/chromium/third_party/webrtc/call/rtx_receive_stream.h -@@ -11,6 +11,7 @@ - #ifndef CALL_RTX_RECEIVE_STREAM_H_ - #define CALL_RTX_RECEIVE_STREAM_H_ - -+#include - #include - #include - 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 new file mode 100644 index 00000000..8c990ce7 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-icu-use-system-library-only-targets.patch @@ -0,0 +1,88 @@ +From b670124d771e503a17cf0d0ac7bbaf8ef601f31f Mon Sep 17 00:00:00 2001 +From: Andrej Valek +Date: Fri, 17 Apr 2020 09:43:32 +0200 +Subject: [PATCH] chromium: icu: use system library only targets + + - use bundled one for native/v8 internal builds + +Complete system ICU library using requires ICU dev package +be installed on host. Enabling dependency on native package +is not enough due to V8 hosttools toolchain. V8 toolchain +is not using native sysroot, only a host packages. +On the other hand webenegine does not produce external +native artifacts. So external system ICU linking is not +needed. + +Signed-off-by: Andrej Valek +Signed-off-by: Martin Jansa +--- + chromium/third_party/icu/BUILD.gn | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/chromium/third_party/icu/BUILD.gn b/chromium/third_party/icu/BUILD.gn +index 2430d3e48e5..5d00226667d 100644 +--- a/chromium/third_party/icu/BUILD.gn ++++ b/chromium/third_party/icu/BUILD.gn +@@ -8,9 +8,13 @@ import("//build/config/linux/pkg_config.gni") + import("//build/shim_headers.gni") + import("//third_party/icu/config.gni") + import("//third_party/icu/sources.gni") ++import("//v8/gni/snapshot_toolchain.gni") + + declare_args() { + use_system_icu = false ++ ++ # Use only target icu library, when system using is enabled ++ use_system_icu_target_only = false + } + + if (is_android) { +@@ -24,6 +28,12 @@ if (is_mac && !icu_is_in_fuchsia) { + assert(!icu_disable_thin_archive || !is_component_build, + "icu_disable_thin_archive only works in static library builds") + ++if (use_system_icu) { ++ # Use system library only for target, otherwise use bundled ++ if ((current_toolchain != host_toolchain) && (current_toolchain != v8_snapshot_toolchain)) { ++ use_system_icu_target_only = true ++ } ++} + # Meta target that includes both icuuc and icui18n. Most targets want both. + # You can depend on the individually if you need to. + group("icu") { +@@ -413,7 +423,7 @@ config("system_icu_config") { + } + } + +-if (use_system_icu) { ++if (use_system_icu_target_only) { + pkg_config("system_icui18n") { + packages = [ "icu-i18n" ] + } +@@ -626,7 +636,7 @@ shim_headers("icuuc_shim") { + } + + config("icu_config") { +- if (use_system_icu) { ++ if (use_system_icu_target_only) { + configs = [ ":system_icu_config"] + } else { + configs = [ ":bundled_icu_config"] +@@ -634,7 +644,7 @@ config("icu_config") { + } + + group("icuuc") { +- if (use_system_icu) { ++ if (use_system_icu_target_only) { + deps = [ ":icuuc_shim" ] + public_configs = [ + ":system_icu_config", +@@ -646,7 +656,7 @@ group("icuuc") { + } + + group("icui18n") { +- if (use_system_icu) { ++ if (use_system_icu_target_only) { + deps = [ ":icui18n_shim" ] + public_configs = [ + ":system_icu_config", 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 new file mode 100644 index 00000000..070f994d --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch @@ -0,0 +1,139 @@ +From 967aab36341387968070ae75edd503b1208a6961 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Mon, 20 Apr 2020 23:56:48 +0200 +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 + +Taken as is from meta-browser. Saw my application freeze for syscall 0407 +trouble: + +| ../../../../git/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0407 + +Original commit message: + +* syscall 403: reported by ArchLinux users [1-2] +* syscall 407: reported by me [3] + +Looking at [4-5] it seems that glibc (>=2.31?) introduced extra syscalls for +32Bit systems to handle time64: + +* __NR_clock_gettime -> __NR_clock_gettime64 +* __NR_clock_nanosleep -> __NR_clock_nanosleep_time64 + +To fix +| ../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0403 +| ../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0407 + +we handle new systemcalls in the same way as 64bit systems do and 32bit systems +did before glibc 2.31. + +[1] https://bugs.archlinux32.org/index.php?do=details&task_id=105 +[2] https://bbs.archlinux32.org/viewtopic.php?id=2897 +[3] https://github.com/OSSystems/meta-browser/issues/357 +[4] https://sourceware.org/git/?p=glibc.git;a=commit;h=2e44b10b42d68d9887ccab17b76db5d7bbae4fb6 +[5] https://github.com/bminor/glibc/blob/019d828669df966dc4ef2684fce0b1c17bef9aae/sysdeps/unix/sysv/linux/clock_gettime.c#L30 + +Upstream Status: Pending [Have no idea where to send this] + +Signed-off-by: Andreas Müller +Signed-off-by: Martin Jansa +--- + .../sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc | 9 ++++++++- + .../syscall_parameters_restrictions_unittests.cc | 6 ++++++ + .../sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc | 6 ++++++ + .../sandbox/linux/system_headers/arm_linux_syscalls.h | 8 ++++++++ + .../sandbox/linux/system_headers/mips_linux_syscalls.h | 8 ++++++++ + 5 files changed, 36 insertions(+), 1 deletion(-) + +diff --git a/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc +index 3c67b124786..e6e989d7b49 100644 +--- a/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc ++++ b/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc +@@ -157,7 +157,14 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, + return Allow(); + #endif + +- if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep) { ++ if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep ++#if defined(__NR_clock_gettime64) ++ || sysno == __NR_clock_gettime64 ++#endif ++#if defined(__NR_clock_nanosleep_time64) ++ || sysno == __NR_clock_nanosleep_time64 ++#endif ++ ) { + return RestrictClockID(); + } + +diff --git a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc +index b6c8c637746..81972a9d998 100644 +--- a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc ++++ b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc +@@ -60,6 +60,12 @@ class RestrictClockIdPolicy : public bpf_dsl::Policy { + case __NR_clock_gettime: + case __NR_clock_getres: + case __NR_clock_nanosleep: ++#if defined(__NR_clock_nanosleep_time64) ++ case __NR_clock_nanosleep_time64: ++#endif ++#if defined(__NR_clock_gettime64) ++ case __NR_clock_gettime64: ++#endif + return RestrictClockID(); + default: + return Allow(); +diff --git a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +index d9d18822f67..0db8745cb57 100644 +--- a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc ++++ b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +@@ -39,6 +39,12 @@ bool SyscallSets::IsAllowedGettime(int sysno) { + // filtered by RestrictClokID(). + case __NR_clock_gettime: // Parameters filtered by RestrictClockID(). + case __NR_clock_nanosleep: // Parameters filtered by RestrictClockID(). ++#if defined(__NR_clock_gettime64) ++ case __NR_clock_gettime64: // Parameters filtered by RestrictClockID(). ++#endif ++#if defined(__NR_clock_nanosleep_time64) ++ case __NR_clock_nanosleep_time64: // Parameters filtered by RestrictClockID(). ++#endif + case __NR_clock_settime: // Privileged. + #if defined(__i386__) || \ + (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) +diff --git a/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h b/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h +index 85e2110b4c2..c39c22b5114 100644 +--- a/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h ++++ b/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h +@@ -1441,6 +1441,14 @@ + #define __NR_io_pgetevents (__NR_SYSCALL_BASE+399) + #endif + ++#if !defined(__NR_clock_gettime64) ++#define __NR_clock_gettime64 (__NR_SYSCALL_BASE+403) ++#endif ++ ++#if !defined(__NR_clock_nanosleep_time64) ++#define __NR_clock_nanosleep_time64 (__NR_SYSCALL_BASE+407) ++#endif ++ + // ARM private syscalls. + #if !defined(__ARM_NR_BASE) + #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000) +diff --git a/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h b/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h +index ddbf97f3d8b..fa01b3bbc66 100644 +--- a/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h ++++ b/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h +@@ -1433,4 +1433,12 @@ + #define __NR_memfd_create (__NR_Linux + 354) + #endif + ++#if !defined(__NR_clock_gettime64) ++#define __NR_clock_gettime64 (__NR_Linux + 403) ++#endif ++ ++#if !defined(__NR_clock_nanosleep_time64) ++#define __NR_clock_nanosleep_time64 (__NR_Linux + 407) ++#endif ++ + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_MIPS_LINUX_SYSCALLS_H_ diff --git a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch b/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch deleted file mode 100644 index eaff07e0..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch +++ /dev/null @@ -1,29 +0,0 @@ -From e60314a1257964bbebc0e7633d9799fd7c7ec35b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 1 Feb 2020 12:17:23 -0800 -Subject: [PATCH] chromium: Link v8 with libatomic on x86 - -Fixes -| v8_base_without_compiler_jumbo_47.cc:(.text._ZN2v88internal4wasm12_GLOBAL__N_123ExecuteCompilationUnitsERKSt10shared_ptrINS2_22BackgroundCompileTokenEEPNS0_8CountersEiNS2_19CompileBaselineOnlyE+0x29a): undefined reference to `__atomic_l -oad' - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - chromium/v8/BUILD.gn | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/chromium/v8/BUILD.gn b/chromium/v8/BUILD.gn -index ab20142de9a..4ef4aa80cc0 100644 ---- a/chromium/v8/BUILD.gn -+++ b/chromium/v8/BUILD.gn -@@ -3543,7 +3543,8 @@ v8_source_set("v8_base_without_compiler") { - if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel" || - v8_current_cpu == "mips64" || v8_current_cpu == "mips64el" || - v8_current_cpu == "ppc" || v8_current_cpu == "ppc64" || -- v8_current_cpu == "s390" || v8_current_cpu == "s390x") { -+ v8_current_cpu == "s390" || v8_current_cpu == "s390x" || -+ v8_current_cpu == "x86") { - libs += [ "atomic" ] - } - 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 new file mode 100644 index 00000000..10e924c0 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-Add-missing-include-for-C-strncpy.patch @@ -0,0 +1,22 @@ +From 5b64a08023887bd4664996175120312e07287f1b Mon Sep 17 00:00:00 2001 +From: Jani Suonpera +Date: Thu, 4 Feb 2021 14:30:44 +0200 +Subject: [PATCH] Add missing include for C strncpy + +Task-number:QTBUG-90623 +--- + .../mojo/public/cpp/platform/named_platform_channel_posix.cc | 1 + + 1 file changed, 1 insertion(+) + +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..24b21771d89 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 // strncpy + + #include "base/files/file_util.h" + #include "base/files/scoped_file.h" diff --git a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch deleted file mode 100644 index 8a6660ff..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 344e8a3945a29239dd2f27ea4969e3d64d5d8911 Mon Sep 17 00:00:00 2001 -From: Andrej Valek -Date: Fri, 17 Apr 2020 09:43:32 +0200 -Subject: [PATCH] chromium: icu: use system library only targets - - - use bundled one for native/v8 internal builds - -Complete system ICU library using requires ICU dev package -be installed on host. Enabling dependency on native package -is not enough due to V8 hosttools toolchain. V8 toolchain -is not using native sysroot, only a host packages. -On the other hand webenegine does not produce external -native artifacts. So external system ICU linking is not -needed. - -Signed-off-by: Andrej Valek -Signed-off-by: Martin Jansa ---- - chromium/third_party/icu/BUILD.gn | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -diff --git a/chromium/third_party/icu/BUILD.gn b/chromium/third_party/icu/BUILD.gn -index 73673fa20ac..a656692c7bf 100644 ---- a/chromium/third_party/icu/BUILD.gn -+++ b/chromium/third_party/icu/BUILD.gn -@@ -7,9 +7,13 @@ import("//build/config/host_byteorder.gni") - import("//build/config/linux/pkg_config.gni") - import("//build/shim_headers.gni") - import("//third_party/icu/config.gni") -+import("//v8/gni/snapshot_toolchain.gni") - - declare_args() { - use_system_icu = false -+ -+ # Use only target icu library, when system using is enabled -+ use_system_icu_target_only = false - } - - if (is_android) { -@@ -23,6 +27,12 @@ if (is_mac) { - assert(!icu_disable_thin_archive || !is_component_build, - "icu_disable_thin_archive only works in static library builds") - -+if (use_system_icu) { -+ # Use system library only for target, otherwise use bundled -+ if ((current_toolchain != host_toolchain) && (current_toolchain != v8_snapshot_toolchain)) { -+ use_system_icu_target_only = true -+ } -+} - # Meta target that includes both icuuc and icui18n. Most targets want both. - # You can depend on the individually if you need to. - group("icu") { -@@ -1222,7 +1232,7 @@ config("system_icu_config") { - } - } - --if (use_system_icu) { -+if (use_system_icu_target_only) { - pkg_config("system_icui18n") { - packages = [ "icu-i18n" ] - } -@@ -1435,7 +1445,7 @@ shim_headers("icuuc_shim") { - } - - config("icu_config") { -- if (use_system_icu) { -+ if (use_system_icu_target_only) { - configs = [ ":system_icu_config"] - } else { - configs = [ ":bundled_icu_config"] -@@ -1443,7 +1453,7 @@ config("icu_config") { - } - - group("icuuc") { -- if (use_system_icu) { -+ if (use_system_icu_target_only) { - deps = [ ":icuuc_shim" ] - public_configs = [ - ":system_icu_config", -@@ -1455,7 +1465,7 @@ group("icuuc") { - } - - group("icui18n") { -- if (use_system_icu) { -+ if (use_system_icu_target_only) { - deps = [ ":icui18n_shim" ] - public_configs = [ - ":system_icu_config", diff --git a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch new file mode 100644 index 00000000..1caa4a67 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch @@ -0,0 +1,33 @@ +From 56486b901c7101c5b78b1282f5b81e80141f9b05 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 14:01:12 -0700 +Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if not + defined + +Musl does not define this Macro + +Signed-off-by: Khem Raj +--- + chromium/sandbox/linux/suid/sandbox.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/chromium/sandbox/linux/suid/sandbox.c b/chromium/sandbox/linux/suid/sandbox.c +index 5fdb4817af8..e5b9431daa0 100644 +--- a/chromium/sandbox/linux/suid/sandbox.c ++++ b/chromium/sandbox/linux/suid/sandbox.c +@@ -46,6 +46,15 @@ static bool DropRoot(); + + #define HANDLE_EINTR(x) TEMP_FAILURE_RETRY(x) + ++#ifndef TEMP_FAILURE_RETRY ++# define TEMP_FAILURE_RETRY(expression) \ ++ (__extension__ \ ++ ({ long int __result; \ ++ do __result = (long int) (expression); \ ++ while (__result == -1L && errno == EINTR); \ ++ __result; })) ++#endif ++ + static void FatalError(const char* msg, ...) + __attribute__((noreturn, format(printf, 1, 2))); + diff --git a/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch deleted file mode 100644 index 1b43fcbb..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 5aa69767be0fbbc7a3a5075c6c94366a535c99a8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Mon, 20 Apr 2020 23:56:48 +0200 -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 - -Taken as is from meta-browser. Saw my application freeze for syscall 0407 -trouble: - -| ../../../../git/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0407 - -Original commit message: - -* syscall 403: reported by ArchLinux users [1-2] -* syscall 407: reported by me [3] - -Looking at [4-5] it seems that glibc (>=2.31?) introduced extra syscalls for -32Bit systems to handle time64: - -* __NR_clock_gettime -> __NR_clock_gettime64 -* __NR_clock_nanosleep -> __NR_clock_nanosleep_time64 - -To fix -| ../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0403 -| ../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0407 - -we handle new systemcalls in the same way as 64bit systems do and 32bit systems -did before glibc 2.31. - -[1] https://bugs.archlinux32.org/index.php?do=details&task_id=105 -[2] https://bbs.archlinux32.org/viewtopic.php?id=2897 -[3] https://github.com/OSSystems/meta-browser/issues/357 -[4] https://sourceware.org/git/?p=glibc.git;a=commit;h=2e44b10b42d68d9887ccab17b76db5d7bbae4fb6 -[5] https://github.com/bminor/glibc/blob/019d828669df966dc4ef2684fce0b1c17bef9aae/sysdeps/unix/sysv/linux/clock_gettime.c#L30 - -Upstream Status: Pending [Have no idea where to send this] - -Signed-off-by: Andreas Müller -Signed-off-by: Martin Jansa ---- - .../sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc | 9 ++++++++- - .../syscall_parameters_restrictions_unittests.cc | 6 ++++++ - .../sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc | 6 ++++++ - .../sandbox/linux/system_headers/arm_linux_syscalls.h | 8 ++++++++ - .../sandbox/linux/system_headers/mips_linux_syscalls.h | 8 ++++++++ - 5 files changed, 36 insertions(+), 1 deletion(-) - -diff --git a/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -index 768025ce192..87025d91785 100644 ---- a/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -+++ b/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -@@ -148,7 +148,14 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, - return Allow(); - #endif - -- if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep) { -+ if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep -+#if defined(__NR_clock_gettime64) -+ || sysno == __NR_clock_gettime64 -+#endif -+#if defined(__NR_clock_nanosleep_time64) -+ || sysno == __NR_clock_nanosleep_time64 -+#endif -+ ) { - return RestrictClockID(); - } - -diff --git a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc -index 76193b62c9f..7731c697002 100644 ---- a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc -+++ b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc -@@ -60,6 +60,12 @@ class RestrictClockIdPolicy : public bpf_dsl::Policy { - case __NR_clock_gettime: - case __NR_clock_getres: - case __NR_clock_nanosleep: -+#if defined(__NR_clock_nanosleep_time64) -+ case __NR_clock_nanosleep_time64: -+#endif -+#if defined(__NR_clock_gettime64) -+ case __NR_clock_gettime64: -+#endif - return RestrictClockID(); - default: - return Allow(); -diff --git a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -index d9d18822f67..0db8745cb57 100644 ---- a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -+++ b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -@@ -39,6 +39,12 @@ bool SyscallSets::IsAllowedGettime(int sysno) { - // filtered by RestrictClokID(). - case __NR_clock_gettime: // Parameters filtered by RestrictClockID(). - case __NR_clock_nanosleep: // Parameters filtered by RestrictClockID(). -+#if defined(__NR_clock_gettime64) -+ case __NR_clock_gettime64: // Parameters filtered by RestrictClockID(). -+#endif -+#if defined(__NR_clock_nanosleep_time64) -+ case __NR_clock_nanosleep_time64: // Parameters filtered by RestrictClockID(). -+#endif - case __NR_clock_settime: // Privileged. - #if defined(__i386__) || \ - (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -diff --git a/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h b/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h -index 1addd53843c..5de2162f981 100644 ---- a/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h -+++ b/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h -@@ -1385,6 +1385,14 @@ - #define __NR_memfd_create (__NR_SYSCALL_BASE+385) - #endif - -+#if !defined(__NR_clock_gettime64) -+#define __NR_clock_gettime64 (__NR_SYSCALL_BASE+403) -+#endif -+ -+#if !defined(__NR_clock_nanosleep_time64) -+#define __NR_clock_nanosleep_time64 (__NR_SYSCALL_BASE+407) -+#endif -+ - // ARM private syscalls. - #if !defined(__ARM_NR_BASE) - #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000) -diff --git a/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h b/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h -index ddbf97f3d8b..fa01b3bbc66 100644 ---- a/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h -+++ b/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h -@@ -1433,4 +1433,12 @@ - #define __NR_memfd_create (__NR_Linux + 354) - #endif - -+#if !defined(__NR_clock_gettime64) -+#define __NR_clock_gettime64 (__NR_Linux + 403) -+#endif -+ -+#if !defined(__NR_clock_nanosleep_time64) -+#define __NR_clock_nanosleep_time64 (__NR_Linux + 407) -+#endif -+ - #endif // SANDBOX_LINUX_SYSTEM_HEADERS_MIPS_LINUX_SYSCALLS_H_ diff --git a/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch new file mode 100644 index 00000000..2e3b1155 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch @@ -0,0 +1,52 @@ +From ee3e05b09ad149ea02d9d4b743ea75cdc38a6f4e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 14:09:06 -0700 +Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on non-glibc/linux + +Signed-off-by: Khem Raj +--- + chromium/base/process/process_metrics_posix.cc | 4 ++-- + chromium/base/trace_event/malloc_dump_provider.cc | 2 ++ + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/chromium/base/process/process_metrics_posix.cc b/chromium/base/process/process_metrics_posix.cc +index 9d12c427bb3..900ab13519f 100644 +--- a/chromium/base/process/process_metrics_posix.cc ++++ b/chromium/base/process/process_metrics_posix.cc +@@ -119,14 +119,14 @@ size_t ProcessMetrics::GetMallocUsage() { + malloc_statistics_t stats = {0}; + malloc_zone_statistics(nullptr, &stats); + return stats.size_in_use; +-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ++#elif defined(__GLIBC__) || defined(OS_CHROMEOS) || defined(OS_ANDROID) + struct mallinfo minfo = mallinfo(); + #if BUILDFLAG(USE_TCMALLOC) + return minfo.uordblks; + #else + return minfo.hblkhd + minfo.arena; + #endif +-#elif defined(OS_FUCHSIA) ++#else + // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. + return 0; + #endif +diff --git a/chromium/base/trace_event/malloc_dump_provider.cc b/chromium/base/trace_event/malloc_dump_provider.cc +index c327f486596..90129e851e8 100644 +--- a/chromium/base/trace_event/malloc_dump_provider.cc ++++ b/chromium/base/trace_event/malloc_dump_provider.cc +@@ -77,6 +77,7 @@ MallocDumpProvider::~MallocDumpProvider() = default; + // the current process. + bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, + ProcessMemoryDump* pmd) { ++#if defined(__GLIBC__) + { + base::AutoLock auto_lock(emit_metrics_on_memory_dump_lock_); + if (!emit_metrics_on_memory_dump_) +@@ -170,6 +171,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, + MemoryAllocatorDump::kUnitsBytes, + resident_size - allocated_objects_size); + } ++#endif // __GLIBC__ + return true; + } + diff --git a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-include-fcntl.h-for-loff_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-include-fcntl.h-for-loff_t.patch new file mode 100644 index 00000000..5d97d60a --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-include-fcntl.h-for-loff_t.patch @@ -0,0 +1,22 @@ +From 7f62849b103d44e6467b8fb722217586f8b68016 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 14:37:49 -0700 +Subject: [PATCH] chromium: musl: include fcntl.h for loff_t + +Signed-off-by: Khem Raj +--- + .../tcmalloc/chromium/src/base/linux_syscall_support.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h +index ca5936d6e63..5484dbadfbd 100644 +--- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h ++++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h +@@ -154,6 +154,7 @@ extern "C" { + #include + #include + #include ++#include + #include + #include + #include diff --git a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch deleted file mode 100644 index 01c46c05..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0dbcdee3ccc23d3a6c9e66b5abc3fb3d1ccbc297 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:01:12 -0700 -Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if not - defined - -Musl does not define this Macro - -Signed-off-by: Khem Raj ---- - chromium/sandbox/linux/suid/sandbox.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/chromium/sandbox/linux/suid/sandbox.c b/chromium/sandbox/linux/suid/sandbox.c -index 854819bfbb4..a99d32741d0 100644 ---- a/chromium/sandbox/linux/suid/sandbox.c -+++ b/chromium/sandbox/linux/suid/sandbox.c -@@ -46,6 +46,15 @@ static bool DropRoot(); - - #define HANDLE_EINTR(x) TEMP_FAILURE_RETRY(x) - -+#ifndef TEMP_FAILURE_RETRY -+# define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif -+ - static void FatalError(const char* msg, ...) - __attribute__((noreturn, format(printf, 1, 2))); - diff --git a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch deleted file mode 100644 index 03226154..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch +++ /dev/null @@ -1,52 +0,0 @@ -From bbb23eb876e1f4500e7c8fd716a73351ad660725 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:09:06 -0700 -Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on non-glibc/linux - -Signed-off-by: Khem Raj ---- - chromium/base/process/process_metrics_posix.cc | 4 ++-- - chromium/base/trace_event/malloc_dump_provider.cc | 2 ++ - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/chromium/base/process/process_metrics_posix.cc b/chromium/base/process/process_metrics_posix.cc -index 044bd8d244f..cec43e1d59b 100644 ---- a/chromium/base/process/process_metrics_posix.cc -+++ b/chromium/base/process/process_metrics_posix.cc -@@ -110,14 +110,14 @@ size_t ProcessMetrics::GetMallocUsage() { - malloc_statistics_t stats = {0}; - malloc_zone_statistics(nullptr, &stats); - return stats.size_in_use; --#elif defined(OS_LINUX) || defined(OS_ANDROID) -+#elif defined(__GLIBC__) || defined(OS_ANDROID) - struct mallinfo minfo = mallinfo(); - #if BUILDFLAG(USE_TCMALLOC) - return minfo.uordblks; - #else - return minfo.hblkhd + minfo.arena; - #endif --#elif defined(OS_FUCHSIA) -+#else - // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. - return 0; - #endif -diff --git a/chromium/base/trace_event/malloc_dump_provider.cc b/chromium/base/trace_event/malloc_dump_provider.cc -index 7e42cfc20bb..4e24fc711ad 100644 ---- a/chromium/base/trace_event/malloc_dump_provider.cc -+++ b/chromium/base/trace_event/malloc_dump_provider.cc -@@ -77,6 +77,7 @@ MallocDumpProvider::~MallocDumpProvider() = default; - // the current process. - bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, - ProcessMemoryDump* pmd) { -+#if defined(__GLIBC__) - { - base::AutoLock auto_lock(emit_metrics_on_memory_dump_lock_); - if (!emit_metrics_on_memory_dump_) -@@ -175,6 +176,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, - MemoryAllocatorDump::kUnitsBytes, - resident_size - allocated_objects_size); - } -+#endif // __GLIBC__ - return true; - } - diff --git a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-use-off64_t-instead-of-the-internal-__.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-use-off64_t-instead-of-the-internal-__.patch new file mode 100644 index 00000000..9d3f327f --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-use-off64_t-instead-of-the-internal-__.patch @@ -0,0 +1,62 @@ +From adf366d5da96db4a9538826a97cbd6833b17ac07 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 14:38:37 -0700 +Subject: [PATCH] chromium: musl: use off64_t instead of the internal __off64_t + +- only do the glibc 32-bit ABI check for mmap/mmap64 on gnu libc. musl + does not support the 32-bit ABI. + +Signed-off-by: Khem Raj +--- + .../tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h +index 17415aaf538..59c1b6fb5f6 100644 +--- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h ++++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h +@@ -60,7 +60,7 @@ + + static inline void* do_mmap64(void *start, size_t length, + int prot, int flags, +- int fd, __off64_t offset) __THROW { ++ int fd, off64_t offset) __THROW { + // The original gperftools uses sys_mmap() here. But, it is not allowed by + // Chromium's sandbox. + return (void*)syscall(SYS_mmap, start, length, prot, flags, fd, offset); +@@ -73,7 +73,7 @@ static inline void* do_mmap64(void *start, size_t length, + + static inline void* do_mmap64(void *start, size_t length, + int prot, int flags, +- int fd, __off64_t offset) __THROW { ++ int fd, off64_t offset) __THROW { + void *result; + + // Try mmap2() unless it's not supported +@@ -144,7 +144,7 @@ static inline void* do_mmap64(void *start, size_t length, + + extern "C" { + void* mmap64(void *start, size_t length, int prot, int flags, +- int fd, __off64_t offset ) __THROW ++ int fd, off64_t offset ) __THROW + ATTRIBUTE_SECTION(malloc_hook); + void* mmap(void *start, size_t length,int prot, int flags, + int fd, off_t offset) __THROW +@@ -159,7 +159,7 @@ extern "C" { + } + + extern "C" void* mmap64(void *start, size_t length, int prot, int flags, +- int fd, __off64_t offset) __THROW { ++ int fd, off64_t offset) __THROW { + MallocHook::InvokePreMmapHook(start, length, prot, flags, fd, offset); + void *result; + if (!MallocHook::InvokeMmapReplacement( +@@ -170,7 +170,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags, + return result; + } + +-# if !defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH) ++# if defined(__GLIBC__) && (!defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH)) + + extern "C" void* mmap(void *start, size_t length, int prot, int flags, + int fd, off_t offset) __THROW { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-include-fcntl.h-for-loff_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-include-fcntl.h-for-loff_t.patch deleted file mode 100644 index 869ac113..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-include-fcntl.h-for-loff_t.patch +++ /dev/null @@ -1,22 +0,0 @@ -From d1d6bd4260eb847c1493a8ce4a974bb8d8ee0218 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:37:49 -0700 -Subject: [PATCH] chromium: musl: include fcntl.h for loff_t - -Signed-off-by: Khem Raj ---- - .../tcmalloc/chromium/src/base/linux_syscall_support.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h -index ca5936d6e63..5484dbadfbd 100644 ---- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h -+++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h -@@ -154,6 +154,7 @@ extern "C" { - #include - #include - #include -+#include - #include - #include - #include diff --git a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-linux-glibc-make-the-distinction.patch b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-linux-glibc-make-the-distinction.patch new file mode 100644 index 00000000..f6d604cb --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-linux-glibc-make-the-distinction.patch @@ -0,0 +1,23 @@ +From 0e1d9c34ad4488733c4cb5ec20b82e3d9473e5b6 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 14:54:38 -0700 +Subject: [PATCH] chromium: musl: linux != glibc, make the distinction + +Signed-off-by: Khem Raj +--- + chromium/base/allocator/allocator_check.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/base/allocator/allocator_check.cc b/chromium/base/allocator/allocator_check.cc +index a5ca0b7191e..e80f67e54f1 100644 +--- a/chromium/base/allocator/allocator_check.cc ++++ b/chromium/base/allocator/allocator_check.cc +@@ -27,7 +27,7 @@ bool IsAllocatorInitialized() { + // Set by allocator_shim_override_ucrt_symbols_win.h when the + // shimmed _set_new_mode() is called. + return g_is_win_shim_layer_initialized; +-#elif (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ ++#elif (defined(__GLIBC__) || defined(OS_CHROMEOS)) && \ + BUILDFLAG(USE_TCMALLOC) && !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) + // From third_party/tcmalloc/chromium/src/gperftools/tcmalloc.h. + // TODO(primiano): replace with an include once base can depend on allocator. diff --git a/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch new file mode 100644 index 00000000..a43b6083 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch @@ -0,0 +1,79 @@ +From 8fc1e879eb657d9a46e4a08ae8989e1b589f5745 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 15:27:50 -0700 +Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for non-glibc + platforms + +Signed-off-by: Khem Raj +--- + chromium/net/dns/dns_config_service_posix.cc | 4 +++ + chromium/net/dns/dns_reloader.cc | 4 +++ + chromium/net/dns/resolv_compat.h | 29 ++++++++++++++++++++ + 3 files changed, 37 insertions(+) + create mode 100644 chromium/net/dns/resolv_compat.h + +diff --git a/chromium/net/dns/dns_config_service_posix.cc b/chromium/net/dns/dns_config_service_posix.cc +index 5a4aead0acf..3427923836b 100644 +--- a/chromium/net/dns/dns_config_service_posix.cc ++++ b/chromium/net/dns/dns_config_service_posix.cc +@@ -30,6 +30,10 @@ + #include "net/dns/public/dns_protocol.h" + #include "net/dns/serial_worker.h" + ++#if defined(OS_LINUX) && !defined(__GLIBC__) ++#include "net/dns/resolv_compat.h" ++#endif ++ + #if defined(OS_MAC) + #include "net/dns/dns_config_watcher_mac.h" + #endif +diff --git a/chromium/net/dns/dns_reloader.cc b/chromium/net/dns/dns_reloader.cc +index 0672e711afb..300f77e3b38 100644 +--- a/chromium/net/dns/dns_reloader.cc ++++ b/chromium/net/dns/dns_reloader.cc +@@ -9,6 +9,10 @@ + + #include + ++#if defined(OS_LINUX) && !defined(__GLIBC__) ++#include "net/dns/resolv_compat.h" ++#endif ++ + #include "base/lazy_instance.h" + #include "base/macros.h" + #include "base/notreached.h" +diff --git a/chromium/net/dns/resolv_compat.h b/chromium/net/dns/resolv_compat.h +new file mode 100644 +index 00000000000..4f0e852a19d +--- /dev/null ++++ b/chromium/net/dns/resolv_compat.h +@@ -0,0 +1,29 @@ ++#if !defined(__GLIBC__) ++/*************************************************************************** ++ * resolv_compat.h ++ * ++ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc ++ * Note: res_init() is actually deprecated according to ++ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html ++ **************************************************************************/ ++#include ++ ++static inline int res_ninit(res_state statp) ++{ ++ int rc = res_init(); ++ if (statp != &_res) { ++ memcpy(statp, &_res, sizeof(*statp)); ++ } ++ return rc; ++} ++ ++static inline int res_nclose(res_state statp) ++{ ++ if (!statp) ++ return -1; ++ if (statp != &_res) { ++ memset(statp, 0, sizeof(*statp)); ++ } ++ return 0; ++} ++#endif diff --git a/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-use-off64_t-instead-of-the-internal-__.patch b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-use-off64_t-instead-of-the-internal-__.patch deleted file mode 100644 index 638c7312..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-use-off64_t-instead-of-the-internal-__.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 7cf2404330f7888f3cc8a25becfe944cc2fc421e Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:38:37 -0700 -Subject: [PATCH] chromium: musl: use off64_t instead of the internal __off64_t - -- only do the glibc 32-bit ABI check for mmap/mmap64 on gnu libc. musl - does not support the 32-bit ABI. - -Signed-off-by: Khem Raj ---- - .../tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -index 17415aaf538..59c1b6fb5f6 100644 ---- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -+++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -@@ -60,7 +60,7 @@ - - static inline void* do_mmap64(void *start, size_t length, - int prot, int flags, -- int fd, __off64_t offset) __THROW { -+ int fd, off64_t offset) __THROW { - // The original gperftools uses sys_mmap() here. But, it is not allowed by - // Chromium's sandbox. - return (void*)syscall(SYS_mmap, start, length, prot, flags, fd, offset); -@@ -73,7 +73,7 @@ static inline void* do_mmap64(void *start, size_t length, - - static inline void* do_mmap64(void *start, size_t length, - int prot, int flags, -- int fd, __off64_t offset) __THROW { -+ int fd, off64_t offset) __THROW { - void *result; - - // Try mmap2() unless it's not supported -@@ -144,7 +144,7 @@ static inline void* do_mmap64(void *start, size_t length, - - extern "C" { - void* mmap64(void *start, size_t length, int prot, int flags, -- int fd, __off64_t offset ) __THROW -+ int fd, off64_t offset ) __THROW - ATTRIBUTE_SECTION(malloc_hook); - void* mmap(void *start, size_t length,int prot, int flags, - int fd, off_t offset) __THROW -@@ -159,7 +159,7 @@ extern "C" { - } - - extern "C" void* mmap64(void *start, size_t length, int prot, int flags, -- int fd, __off64_t offset) __THROW { -+ int fd, off64_t offset) __THROW { - MallocHook::InvokePreMmapHook(start, length, prot, flags, fd, offset); - void *result; - if (!MallocHook::InvokeMmapReplacement( -@@ -170,7 +170,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags, - return result; - } - --# if !defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH) -+# if defined(__GLIBC__) && (!defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH)) - - extern "C" void* mmap(void *start, size_t length, int prot, int flags, - int fd, off_t offset) __THROW { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Do-not-define-__sbrk-on-musl.patch b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Do-not-define-__sbrk-on-musl.patch new file mode 100644 index 00000000..d817c3d0 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Do-not-define-__sbrk-on-musl.patch @@ -0,0 +1,26 @@ +From 107051f8490498b30757d79c97f9309057bc4cc8 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 15:39:57 -0700 +Subject: [PATCH] chromium: musl: Do not define __sbrk on musl + +musl libc does not have sbrk. on musl libc will only work when called with 0 as +argument, so we just let it out for now + +Signed-off-by: Khem Raj +--- + .../third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h +index 59c1b6fb5f6..10f0786d829 100644 +--- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h ++++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h +@@ -213,7 +213,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size, + return result; + } + +-#ifndef __UCLIBC__ ++#if !defined(__UCLIBC__) && defined(__GLIBC__) + // libc's version: + extern "C" void* __sbrk(intptr_t increment); + diff --git a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-linux-glibc-make-the-distinction.patch b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-linux-glibc-make-the-distinction.patch deleted file mode 100644 index 55939ddd..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-linux-glibc-make-the-distinction.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 350b57a5cad7c655ccb68a8b4b91e7d32021a1d7 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 14:54:38 -0700 -Subject: [PATCH] chromium: musl: linux != glibc, make the distinction - -Signed-off-by: Khem Raj ---- - chromium/base/allocator/allocator_check.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/base/allocator/allocator_check.cc b/chromium/base/allocator/allocator_check.cc -index 5ea77ef2d27..85343a13905 100644 ---- a/chromium/base/allocator/allocator_check.cc -+++ b/chromium/base/allocator/allocator_check.cc -@@ -27,7 +27,7 @@ bool IsAllocatorInitialized() { - // Set by allocator_shim_override_ucrt_symbols_win.h when the - // shimmed _set_new_mode() is called. - return g_is_win_shim_layer_initialized; --#elif defined(OS_LINUX) && BUILDFLAG(USE_TCMALLOC) && \ -+#elif defined(__GLIBC__) && BUILDFLAG(USE_TCMALLOC) && \ - !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) - // From third_party/tcmalloc/chromium/src/gperftools/tcmalloc.h. - // TODO(primiano): replace with an include once base can depend on allocator. diff --git a/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Adjust-default-pthread-stack-size.patch new file mode 100644 index 00000000..bd69316b --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Adjust-default-pthread-stack-size.patch @@ -0,0 +1,47 @@ +From 3cc48f9e538838ef7bc6bc80041ed00d44bde697 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 16:41:23 -0700 +Subject: [PATCH] chromium: musl: Adjust default pthread stack size + +Signed-off-by: Khem Raj +--- + chromium/base/threading/platform_thread_linux.cc | 3 ++- + .../third_party/blink/renderer/platform/wtf/stack_util.cc | 4 ++-- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/chromium/base/threading/platform_thread_linux.cc b/chromium/base/threading/platform_thread_linux.cc +index c1a705e2b89..f322fdb8352 100644 +--- a/chromium/base/threading/platform_thread_linux.cc ++++ b/chromium/base/threading/platform_thread_linux.cc +@@ -377,7 +377,8 @@ void TerminateOnThread() {} + + size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { + #if !defined(THREAD_SANITIZER) +- return 0; ++ // use 8mb like glibc to avoid running out of space ++ return (1 << 23); + #else + // ThreadSanitizer bloats the stack heavily. Evidence has been that the + // default stack size isn't enough for some browser tests. +diff --git a/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc b/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc +index 71b901f4044..f33aba04bc3 100644 +--- a/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc ++++ b/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc +@@ -29,7 +29,7 @@ size_t GetUnderestimatedStackSize() { + // FIXME: On Mac OSX and Linux, this method cannot estimate stack size + // correctly for the main thread. + +-#elif defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ ++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ + defined(OS_FUCHSIA) + // pthread_getattr_np() can fail if the thread is not invoked by + // pthread_create() (e.g., the main thread of blink_unittests). +@@ -97,7 +97,7 @@ return Threading::ThreadStackSize(); + } + + void* GetStackStart() { +-#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ + defined(OS_FUCHSIA) + pthread_attr_t attr; + int error; diff --git a/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch deleted file mode 100644 index 37276844..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 68decc5d87b4eb013f1455fc4f81f67f926fa3b2 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 15:09:02 -0700 -Subject: [PATCH] chromium: musl: allocator: Do not include glibc_weak_symbols - for musl - -Signed-off-by: Khem Raj ---- - chromium/base/allocator/allocator_shim.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/base/allocator/allocator_shim.cc b/chromium/base/allocator/allocator_shim.cc -index ef42d5ad67f..626e4c996a5 100644 ---- a/chromium/base/allocator/allocator_shim.cc -+++ b/chromium/base/allocator/allocator_shim.cc -@@ -352,7 +352,7 @@ ALWAYS_INLINE void ShimAlignedFree(void* address, void* context) { - // In the case of tcmalloc we also want to plumb into the glibc hooks - // to avoid that allocations made in glibc itself (e.g., strdup()) get - // accidentally performed on the glibc heap instead of the tcmalloc one. --#if BUILDFLAG(USE_TCMALLOC) -+#if BUILDFLAG(USE_TCMALLOC) && defined(__GLIBC__) - #include "base/allocator/allocator_shim_override_glibc_weak_symbols.h" - #endif - diff --git a/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch new file mode 100644 index 00000000..9ce9edce --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch @@ -0,0 +1,69 @@ +From 46283c0005cfb5d882b76df89a5c4fd880c0de42 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 25 Sep 2018 12:35:07 -0700 +Subject: [PATCH] chromium: musl: Use _fpstate instead of _libc_fpstate on + linux + +glibc defines both. musl libc only the former. + +Signed-off-by: Khem Raj +--- + .../client/linux/dump_writer_common/ucontext_reader.cc | 8 ++++---- + .../src/client/linux/dump_writer_common/ucontext_reader.h | 4 ++-- + .../src/client/linux/minidump_writer/minidump_writer.h | 2 +- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc +index 6eec1be2465..57d91943e83 100644 +--- a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc ++++ b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc +@@ -48,8 +48,8 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_EIP]; + } + +-void UContextReader::FillCPUContext(RawContextCPU* out, const ucontext_t* uc, +- const fpstate_t* fp) { ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, ++ const struct _fpstate* fp) { + const greg_t* regs = uc->uc_mcontext.gregs; + + out->context_flags = MD_CONTEXT_X86_FULL | +@@ -96,8 +96,8 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_RIP]; + } + +-void UContextReader::FillCPUContext(RawContextCPU* out, const ucontext_t* uc, +- const fpstate_t* fpregs) { ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, ++ const struct _fpstate* fpregs) { + const greg_t* regs = uc->uc_mcontext.gregs; + + out->context_flags = MD_CONTEXT_AMD64_FULL; +diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h +index 7d41008815f..6cacabe4369 100644 +--- a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h ++++ b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h +@@ -50,8 +50,8 @@ struct UContextReader { + // out: the minidump structure + // info: the collection of register structures. + #if defined(__i386__) || defined(__x86_64) +- static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc, +- const fpstate_t* fp); ++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, ++ const struct _fpstate* fp); + #elif defined(__aarch64__) + static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc, + const struct fpsimd_context* fpregs); +diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h b/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h +index e3b0b16daea..5d144dcd27c 100644 +--- a/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h ++++ b/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h +@@ -49,7 +49,7 @@ class ExceptionHandler; + #if defined(__aarch64__) + typedef struct fpsimd_context fpstate_t; + #elif !defined(__ARM_EABI__) && !defined(__mips__) +-typedef std::remove_pointer::type fpstate_t; ++typedef struct _fpstate fpstate_t; + #endif + + // These entries store a list of memory regions that the client wants included diff --git a/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch deleted file mode 100644 index aea690d9..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch +++ /dev/null @@ -1,79 +0,0 @@ -From fea443adcea6e081cfee94a19c75e7b0516e1bce Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 15:27:50 -0700 -Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for non-glibc - platforms - -Signed-off-by: Khem Raj ---- - chromium/net/dns/dns_config_service_posix.cc | 4 +++ - chromium/net/dns/dns_reloader.cc | 4 +++ - chromium/net/dns/resolv_compat.h | 29 ++++++++++++++++++++ - 3 files changed, 37 insertions(+) - create mode 100644 chromium/net/dns/resolv_compat.h - -diff --git a/chromium/net/dns/dns_config_service_posix.cc b/chromium/net/dns/dns_config_service_posix.cc -index 2e0f06b0c1e..aaafef77d79 100644 ---- a/chromium/net/dns/dns_config_service_posix.cc -+++ b/chromium/net/dns/dns_config_service_posix.cc -@@ -29,6 +29,10 @@ - #include "net/dns/public/dns_protocol.h" - #include "net/dns/serial_worker.h" - -+#if defined(OS_LINUX) && !defined(__GLIBC__) -+#include "net/dns/resolv_compat.h" -+#endif -+ - #if defined(OS_MACOSX) && !defined(OS_IOS) - #include "net/dns/dns_config_watcher_mac.h" - #endif -diff --git a/chromium/net/dns/dns_reloader.cc b/chromium/net/dns/dns_reloader.cc -index 1c014a65019..2670a827aa5 100644 ---- a/chromium/net/dns/dns_reloader.cc -+++ b/chromium/net/dns/dns_reloader.cc -@@ -9,6 +9,10 @@ - - #include - -+#if defined(OS_LINUX) && !defined(__GLIBC__) -+#include "net/dns/resolv_compat.h" -+#endif -+ - #include "base/lazy_instance.h" - #include "base/logging.h" - #include "base/macros.h" -diff --git a/chromium/net/dns/resolv_compat.h b/chromium/net/dns/resolv_compat.h -new file mode 100644 -index 00000000000..4f0e852a19d ---- /dev/null -+++ b/chromium/net/dns/resolv_compat.h -@@ -0,0 +1,29 @@ -+#if !defined(__GLIBC__) -+/*************************************************************************** -+ * resolv_compat.h -+ * -+ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc -+ * Note: res_init() is actually deprecated according to -+ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html -+ **************************************************************************/ -+#include -+ -+static inline int res_ninit(res_state statp) -+{ -+ int rc = res_init(); -+ if (statp != &_res) { -+ memcpy(statp, &_res, sizeof(*statp)); -+ } -+ return rc; -+} -+ -+static inline int res_nclose(res_state statp) -+{ -+ if (!statp) -+ return -1; -+ if (statp != &_res) { -+ memset(statp, 0, sizeof(*statp)); -+ } -+ return 0; -+} -+#endif diff --git a/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch new file mode 100644 index 00000000..11ff47f0 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch @@ -0,0 +1,53 @@ +From 78e9d21a5a43c8af5329ba10daee1859e08d8ccf Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 25 Sep 2018 12:59:05 -0700 +Subject: [PATCH] chromium: musl: elf_reader.cc: include to get + __WORDSIZE on musl libc + +Signed-off-by: Khem Raj +Signed-off-by: Martin Jansa +--- + chromium/third_party/breakpad/breakpad/configure.ac | 2 +- + .../breakpad/breakpad/src/common/dwarf/elf_reader.cc | 2 ++ + .../breakpad/breakpad/src/common/linux/elf_core_dump.h | 1 + + 3 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/chromium/third_party/breakpad/breakpad/configure.ac b/chromium/third_party/breakpad/breakpad/configure.ac +index 08513687f34..13745540a5e 100644 +--- a/chromium/third_party/breakpad/breakpad/configure.ac ++++ b/chromium/third_party/breakpad/breakpad/configure.ac +@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32, + AC_HEADER_STDC + AC_SYS_LARGEFILE + AX_PTHREAD +-AC_CHECK_HEADERS([a.out.h sys/random.h]) ++AC_CHECK_HEADERS([a.out.h sys/random.h sys/reg.h]) + AC_CHECK_FUNCS([arc4random getcontext getrandom]) + AM_CONDITIONAL([HAVE_GETCONTEXT], [test "x$ac_cv_func_getcontext" = xyes]) + +diff --git a/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc b/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc +index bbfdba68093..fa822e5453a 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 @@ + #include + #include + #include ++#include + #include ++#include + + #include + #include +diff --git a/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h b/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h +index 6e153745dba..5cd2c6fcb23 100644 +--- a/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h ++++ b/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h +@@ -33,6 +33,7 @@ + #ifndef COMMON_LINUX_ELF_CORE_DUMP_H_ + #define COMMON_LINUX_ELF_CORE_DUMP_H_ + ++#include + #include + #include + #include diff --git a/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-Do-not-define-__sbrk-on-musl.patch b/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-Do-not-define-__sbrk-on-musl.patch deleted file mode 100644 index cd1059e3..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-Do-not-define-__sbrk-on-musl.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 64e79d346a2038b976f5bafe2b0b2032b1628229 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 15:39:57 -0700 -Subject: [PATCH] chromium: musl: Do not define __sbrk on musl - -musl libc does not have sbrk. on musl libc will only work when called with 0 as -argument, so we just let it out for now - -Signed-off-by: Khem Raj ---- - .../third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -index 59c1b6fb5f6..10f0786d829 100644 ---- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -+++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h -@@ -213,7 +213,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size, - return result; - } - --#ifndef __UCLIBC__ -+#if !defined(__UCLIBC__) && defined(__GLIBC__) - // libc's version: - extern "C" void* __sbrk(intptr_t increment); - diff --git a/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-pread-pwrite.patch b/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-pread-pwrite.patch new file mode 100644 index 00000000..554afdfe --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-pread-pwrite.patch @@ -0,0 +1,31 @@ +From 5ce942260f64c70234a0af73af9cc8d26e99f188 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 23 Dec 2018 16:58:04 -0800 +Subject: [PATCH] chromium: musl: pread pwrite + +Redefine pread/pwrite in terms of 64bit variants on musl +since 32bit variants don't exist and aliases are not defined in +libc either + +Upstream-Status: Submitted [https://codereview.chromium.org/1743093002/] +Signed-off-by: Khem Raj +--- + chromium/third_party/lss/linux_syscall_support.h | 5 +++++ + 1 file changed, 5 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 +--- 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 { + #ifndef __NR_getrandom + #define __NR_getrandom 318 + #endif ++#undef __NR_pread ++#define __NR_pread __NR_pread64 ++#undef __NR_pwrite ++#define __NR_pwrite __NR_pwrite64 ++ + /* End of x86-64 definitions */ + #elif defined(__mips__) + #if _MIPS_SIM == _MIPS_SIM_ABI32 diff --git a/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-Adjust-default-pthread-stack-size.patch deleted file mode 100644 index 50d17413..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-Adjust-default-pthread-stack-size.patch +++ /dev/null @@ -1,47 +0,0 @@ -From cecdf34d89110115948cfde44c04a43c9925b24a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 16:41:23 -0700 -Subject: [PATCH] chromium: musl: Adjust default pthread stack size - -Signed-off-by: Khem Raj ---- - chromium/base/threading/platform_thread_linux.cc | 3 ++- - chromium/third_party/blink/renderer/platform/wtf/stack_util.cc | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/chromium/base/threading/platform_thread_linux.cc b/chromium/base/threading/platform_thread_linux.cc -index 74a01ad5af5..dab5773d73b 100644 ---- a/chromium/base/threading/platform_thread_linux.cc -+++ b/chromium/base/threading/platform_thread_linux.cc -@@ -377,7 +377,8 @@ void TerminateOnThread() {} - - size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { - #if !defined(THREAD_SANITIZER) -- return 0; -+ // use 8mb like glibc to avoid running out of space -+ return (1 << 23); - #else - // ThreadSanitizer bloats the stack heavily. Evidence has been that the - // default stack size isn't enough for some browser tests. -diff --git a/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc b/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc -index ab1dff4167e..b0763b0bd9a 100644 ---- a/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc -+++ b/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc -@@ -29,7 +29,7 @@ size_t GetUnderestimatedStackSize() { - // FIXME: On Mac OSX and Linux, this method cannot estimate stack size - // correctly for the main thread. - --#elif defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) - // pthread_getattr_np() can fail if the thread is not invoked by - // pthread_create() (e.g., the main thread of blink_unittests). -@@ -97,7 +97,7 @@ return Threading::ThreadStackSize(); - } - - void* GetStackStart() { --#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) - pthread_attr_t attr; - int error; diff --git a/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch b/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch new file mode 100644 index 00000000..d2617a83 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch @@ -0,0 +1,45 @@ +From b37418977ba9bb13dae396b929f3365866e86af1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 10 May 2020 08:16:01 -0700 +Subject: [PATCH] chromium: musl: initialize msghdr in a compatible manner + +initialize msghdr in a compatible manner + +msghdr stuct from socket.h is not same between musl and glibc +where musl claims to be more posix compliant where as glibc seems +to fill whats needed for linux sizewise and chooses long enough types +which maybe questionable, therefore constructing a structure with explicit +constructor is not going to work correctly for musl and glibc at same time + +see +https://git.musl-libc.org/cgit/musl/commit/arch/x86_64/bits/socket.h?id=7168790763cdeb794df52be6e3b39fbb021c5a64 + +This fix initialized the struct to 0 first and then sets the struct elements +by name, so we dont have to hard code the positions of elements when initializing +structure + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + chromium/net/socket/udp_socket_posix.cc | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/chromium/net/socket/udp_socket_posix.cc b/chromium/net/socket/udp_socket_posix.cc +index 71265568be5..42e0d298045 100644 +--- a/chromium/net/socket/udp_socket_posix.cc ++++ b/chromium/net/socket/udp_socket_posix.cc +@@ -1151,8 +1151,12 @@ SendResult UDPSocketPosixSender::InternalSendmmsgBuffers( + for (auto& buffer : buffers) + msg_iov->push_back({const_cast(buffer->data()), buffer->length()}); + msgvec->reserve(buffers.size()); +- for (size_t j = 0; j < buffers.size(); j++) +- msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0}); ++ for (size_t j = 0; j < buffers.size(); j++) { ++ struct msghdr m = {0}; ++ m.msg_iov = &msg_iov[j]; ++ m.msg_iovlen = 1; ++ msgvec->push_back({m, 0}); ++ } + int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0)); + SendResult send_result(0, 0, std::move(buffers)); + if (result < 0) { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0026-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch b/recipes-qt/qt5/qtwebengine/chromium/0026-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch deleted file mode 100644 index 07a1e3d6..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0026-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch +++ /dev/null @@ -1,63 +0,0 @@ -From ae4187267b4d0d2ff13a6593b69ca06cee321eea Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 25 Sep 2018 12:35:07 -0700 -Subject: [PATCH] chromium: musl: Use _fpstate instead of _libc_fpstate on - linux - -glibc defines both. musl libc only the former. - -Signed-off-by: Khem Raj ---- - .../src/client/linux/dump_writer_common/ucontext_reader.cc | 4 ++-- - .../src/client/linux/dump_writer_common/ucontext_reader.h | 2 +- - .../src/client/linux/minidump_writer/minidump_writer.h | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -index 6ee6cc1e4cd..a8f9ccc72ac 100644 ---- a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -+++ b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -@@ -49,7 +49,7 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - } - - void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, -- const struct _libc_fpstate* fp) { -+ const struct _fpstate* fp) { - const greg_t* regs = uc->uc_mcontext.gregs; - - out->context_flags = MD_CONTEXT_X86_FULL | -@@ -97,7 +97,7 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - } - - void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, -- const struct _libc_fpstate* fpregs) { -+ const struct _fpstate* fpregs) { - const greg_t* regs = uc->uc_mcontext.gregs; - - out->context_flags = MD_CONTEXT_AMD64_FULL; -diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -index f830618f240..f3dde1f4dff 100644 ---- a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -+++ b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -@@ -50,7 +50,7 @@ struct UContextReader { - // info: the collection of register structures. - #if defined(__i386__) || defined(__x86_64) - static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, -- const struct _libc_fpstate* fp); -+ const struct _fpstate* fp); - #elif defined(__aarch64__) - static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct fpsimd_context* fpregs); -diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h b/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -index d1dc331215a..d1cc5624cd4 100644 ---- a/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -+++ b/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -@@ -48,7 +48,7 @@ class ExceptionHandler; - #if defined(__aarch64__) - typedef struct fpsimd_context fpstate_t; - #elif !defined(__ARM_EABI__) && !defined(__mips__) --typedef struct _libc_fpstate fpstate_t; -+typedef struct _fpstate fpstate_t; - #endif - - // These entries store a list of memory regions that the client wants included diff --git a/recipes-qt/qt5/qtwebengine/chromium/0027-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch b/recipes-qt/qt5/qtwebengine/chromium/0027-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch deleted file mode 100644 index 63f93873..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0027-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch +++ /dev/null @@ -1,56 +0,0 @@ -From f12f5d2dc91548ca77b296a0be3705aacc9fca33 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 25 Sep 2018 12:59:05 -0700 -Subject: [PATCH] chromium: musl: elf_reader.cc: include to get - __WORDSIZE on musl libc - -Signed-off-by: Khem Raj -Signed-off-by: Martin Jansa ---- - chromium/third_party/breakpad/breakpad/configure.ac | 2 +- - .../breakpad/breakpad/src/common/dwarf/elf_reader.cc | 3 ++- - .../breakpad/breakpad/src/common/linux/elf_core_dump.h | 1 + - 3 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/chromium/third_party/breakpad/breakpad/configure.ac b/chromium/third_party/breakpad/breakpad/configure.ac -index 492d09038f9..a6403ed8c3c 100644 ---- a/chromium/third_party/breakpad/breakpad/configure.ac -+++ b/chromium/third_party/breakpad/breakpad/configure.ac -@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32, - AC_HEADER_STDC - AC_SYS_LARGEFILE - AX_PTHREAD --AC_CHECK_HEADERS([a.out.h sys/random.h]) -+AC_CHECK_HEADERS([a.out.h sys/random.h sys/reg.h]) - AC_CHECK_FUNCS([arc4random getrandom]) - - AX_CXX_COMPILE_STDCXX(11, noext, mandatory) -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 4135a51a980..be92b792d3c 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 -@@ -29,10 +29,11 @@ - #ifndef _GNU_SOURCE - #define _GNU_SOURCE // needed for pread() - #endif -- -+#include - #include - #include - #include -+#include - #include - #include - #include -diff --git a/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h b/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -index d03c7a88d38..28b55ab6300 100644 ---- a/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -+++ b/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -@@ -33,6 +33,7 @@ - #ifndef COMMON_LINUX_ELF_CORE_DUMP_H_ - #define COMMON_LINUX_ELF_CORE_DUMP_H_ - -+#include - #include - #include - #include diff --git a/recipes-qt/qt5/qtwebengine/chromium/0028-chromium-musl-pread-pwrite.patch b/recipes-qt/qt5/qtwebengine/chromium/0028-chromium-musl-pread-pwrite.patch deleted file mode 100644 index edeb3272..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0028-chromium-musl-pread-pwrite.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 3269ffba733ed7eeb7c2c36912dd19ca1ef35f8b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 23 Dec 2018 16:58:04 -0800 -Subject: [PATCH] chromium: musl: pread pwrite - -Redefine pread/pwrite in terms of 64bit variants on musl -since 32bit variants don't exist and aliases are not defined in -libc either - -Upstream-Status: Submitted [https://codereview.chromium.org/1743093002/] -Signed-off-by: Khem Raj ---- - chromium/third_party/lss/linux_syscall_support.h | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h -index fd8efdffea6..22a8863031c 100644 ---- a/chromium/third_party/lss/linux_syscall_support.h -+++ b/chromium/third_party/lss/linux_syscall_support.h -@@ -1244,6 +1244,11 @@ struct kernel_statfs { - #ifndef __NR_fallocate - #define __NR_fallocate 285 - #endif -+#undef __NR_pread -+#define __NR_pread __NR_pread64 -+#undef __NR_pwrite -+#define __NR_pwrite __NR_pwrite64 -+ - /* End of x86-64 definitions */ - #elif defined(__mips__) - #if _MIPS_SIM == _MIPS_SIM_ABI32 diff --git a/recipes-qt/qt5/qtwebengine/chromium/0029-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch b/recipes-qt/qt5/qtwebengine/chromium/0029-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch deleted file mode 100644 index 72adf1cb..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0029-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 0b04cbd5b93908bad4dfc6d829048fe90a09b868 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 10 May 2020 08:16:01 -0700 -Subject: [PATCH] chromium: musl: initialize msghdr in a compatible manner - -initialize msghdr in a compatible manner - -msghdr stuct from socket.h is not same between musl and glibc -where musl claims to be more posix compliant where as glibc seems -to fill whats needed for linux sizewise and chooses long enough types -which maybe questionable, therefore constructing a structure with explicit -constructor is not going to work correctly for musl and glibc at same time - -see -https://git.musl-libc.org/cgit/musl/commit/arch/x86_64/bits/socket.h?id=7168790763cdeb794df52be6e3b39fbb021c5a64 - -This fix initialized the struct to 0 first and then sets the struct elements -by name, so we dont have to hard code the positions of elements when initializing -structure - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - chromium/net/socket/udp_socket_posix.cc | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/chromium/net/socket/udp_socket_posix.cc b/chromium/net/socket/udp_socket_posix.cc -index 7df6892d67e..030ff8896e4 100644 ---- a/chromium/net/socket/udp_socket_posix.cc -+++ b/chromium/net/socket/udp_socket_posix.cc -@@ -1199,8 +1199,12 @@ SendResult UDPSocketPosixSender::InternalSendmmsgBuffers( - for (auto& buffer : buffers) - msg_iov->push_back({const_cast(buffer->data()), buffer->length()}); - msgvec->reserve(buffers.size()); -- for (size_t j = 0; j < buffers.size(); j++) -- msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0}); -+ for (size_t j = 0; j < buffers.size(); j++) { -+ struct msghdr m = {0}; -+ m.msg_iov = &msg_iov[j]; -+ m.msg_iovlen = 1; -+ msgvec->push_back({m, 0}); -+ } - int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0)); - SendResult send_result(0, 0, std::move(buffers)); - if (result < 0) { diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index 27fa629f..62a41012 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -26,6 +26,7 @@ DEPENDS += " \ jpeg-native \ freetype-native \ gperf-native \ + nodejs-native \ ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcomposite libxcursor libxi libxrandr libxtst', '', d)} \ " @@ -59,8 +60,6 @@ PACKAGECONFIG[libpng] = "-feature-webengine-system-png,-no-feature-webengine-sys PACKAGECONFIG[harfbuzz] = "-feature-webengine-system-harfbuzz,-no-feature-webengine-system-harfbuzz,harfbuzz" PACKAGECONFIG[glib] = "-feature-webengine-system-glib,-no-feature-webengine-system-glib,glib-2.0" PACKAGECONFIG[zlib] = "-feature-webengine-system-zlib,-no-feature-webengine-system-zlib,zlib" -PACKAGECONFIG[protobuf] = "-feature-webengine-system-protobuf,-no-feature-webengine-system-protobuf,protobuf" -PACKAGECONFIG[jsoncpp] = "-feature-webengine-system-jsoncpp,-no-feature-webengine-system-jsoncpp,jsoncpp" PACKAGECONFIG[libxml2] = "-feature-webengine-system-libxml2,-no-feature-webengine-system-libxml2,libxml2" PACKAGECONFIG[minizip] = "-feature-webengine-system-minizip,-no-feature-webengine-system-minizip,minizip" PACKAGECONFIG[proprietary-codecs] = "-feature-webengine-proprietary-codecs,-no-feature-webengine-proprietary-codecs" @@ -144,7 +143,7 @@ RDEPENDS_${PN}-examples += " \ qtdeclarative-qmlplugins \ " -QT_MODULE_BRANCH_CHROMIUM = "83-based" +QT_MODULE_BRANCH_CHROMIUM = "87-based" # Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15-glibc # 5.15-glibc.meta-qt5.8 @@ -164,41 +163,39 @@ SRC_URI_append_libc-musl = "\ # 80-based-glibc.meta-qt5.4 SRC_URI += " \ file://chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch;patchdir=src/3rdparty \ - file://chromium/0002-chromium-stack-pointer-clobber.patch;patchdir=src/3rdparty \ - file://chromium/0003-chromium-fix-build-with-clang.patch;patchdir=src/3rdparty \ - file://chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch;patchdir=src/3rdparty \ - file://chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for.patch;patchdir=src/3rdparty \ - file://chromium/0006-chromium-aarch64-skia-build-fix.patch;patchdir=src/3rdparty \ - file://chromium/0007-chromium-fix-build-after-y2038-changes-in-glibc.patch;patchdir=src/3rdparty \ - file://chromium/0008-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch;patchdir=src/3rdparty \ - file://chromium/0009-chromium-Include-cstddef-for-size_t-definition.patch;patchdir=src/3rdparty \ - file://chromium/0010-chromium-Move-CharAllocator-definition-to-a-header-f.patch;patchdir=src/3rdparty \ - file://chromium/0011-chromium-Include-cstddef-and-cstdint.patch;patchdir=src/3rdparty \ - file://chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch;patchdir=src/3rdparty \ - file://chromium/0014-chromium-icu-use-system-library-only-targets.patch;patchdir=src/3rdparty \ - file://chromium/0015-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch;patchdir=src/3rdparty \ + file://chromium/0002-chromium-fix-build-with-clang.patch;patchdir=src/3rdparty \ + file://chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch;patchdir=src/3rdparty \ + file://chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch;patchdir=src/3rdparty \ + file://chromium/0005-chromium-aarch64-skia-build-fix.patch;patchdir=src/3rdparty \ + file://chromium/0006-chromium-fix-build-after-y2038-changes-in-glibc.patch;patchdir=src/3rdparty \ + file://chromium/0007-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch;patchdir=src/3rdparty \ + file://chromium/0008-chromium-Include-cstddef-for-size_t-definition.patch;patchdir=src/3rdparty \ + file://chromium/0009-chromium-Move-CharAllocator-definition-to-a-header-f.patch;patchdir=src/3rdparty \ + file://chromium/0010-chromium-Link-v8-with-libatomic-on-x86.patch;patchdir=src/3rdparty \ + 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 \ " # Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/80-based # 80-based.meta-qt5.4 SRC_URI_append_libc-musl = "\ - file://chromium/0016-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \ - file://chromium/0017-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \ - file://chromium/0018-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \ - file://chromium/0019-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \ - file://chromium/0020-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \ - file://chromium/0021-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch;patchdir=src/3rdparty \ - file://chromium/0023-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \ - file://chromium/0024-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \ - file://chromium/0025-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \ - file://chromium/0026-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch;patchdir=src/3rdparty \ - file://chromium/0027-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch;patchdir=src/3rdparty \ - file://chromium/0028-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \ - file://chromium/0029-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch;patchdir=src/3rdparty \ + 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 \ " -SRCREV_qtwebengine = "f328054d2eafc073b98a0246b2d644ee09c99d9c" -SRCREV_chromium = "25db271c9b53e576cbb2cdc84d2c56ca5e8633a8" +SRCREV_qtwebengine = "7a9b2483f6e1476ad373df6733d96f17bbf103a6" +SRCREV_chromium = "3b1e8320c3e93dc41211ccd66cfd26fa7eec18c5" SRCREV = "${SRCREV_qtwebengine}" SRCREV_FORMAT = "qtwebengine_chromium" diff --git a/recipes-qt/qt5/qtwebglplugin_git.bb b/recipes-qt/qt5/qtwebglplugin_git.bb index 058b2d45..025c0b77 100644 --- a/recipes-qt/qt5/qtwebglplugin_git.bb +++ b/recipes-qt/qt5/qtwebglplugin_git.bb @@ -18,4 +18,4 @@ do_configure_prepend() { EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtdeclarative', 'CONFIG+=OE_QTDECLARATIVE_ENABLED', '', d)}" -SRCREV = "550a8cee241bbf8c11863dec9587d579dcb1108b" +SRCREV = "42e9105b277c83270e774e1de091b089a25a6077" diff --git a/recipes-qt/qt5/qtwebsockets_git.bb b/recipes-qt/qt5/qtwebsockets_git.bb index 1e48483f..525bd9cd 100644 --- a/recipes-qt/qt5/qtwebsockets_git.bb +++ b/recipes-qt/qt5/qtwebsockets_git.bb @@ -11,4 +11,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative" -SRCREV = "e7883bc64440b1ff4666272ac6eb710ee4bc221b" +SRCREV = "43f9a2dbf9bff83203db4ebe969af3d0523ae5c5" diff --git a/recipes-qt/qt5/qtwebview_git.bb b/recipes-qt/qt5/qtwebview_git.bb index c1300c6e..4246811c 100644 --- a/recipes-qt/qt5/qtwebview_git.bb +++ b/recipes-qt/qt5/qtwebview_git.bb @@ -23,4 +23,4 @@ python() { if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): raise bb.parse.SkipRecipe('Requires meta-python2 to be present.') } -SRCREV = "920de5f1cd9f9001cfef1bfd2c19e6720793362f" +SRCREV = "2e7a10fa88f363a2cdd3ab1b567f8e39c10bdba3" diff --git a/recipes-qt/qt5/qtx11extras_git.bb b/recipes-qt/qt5/qtx11extras_git.bb index 2d692b5a..59fdd02e 100644 --- a/recipes-qt/qt5/qtx11extras_git.bb +++ b/recipes-qt/qt5/qtx11extras_git.bb @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "3898f5484fd4864b047729bfeda9a1222f32364f" +SRCREV = "2c3c665cf1629aa55fec9c24d9d1324c28ebfc0b" diff --git a/recipes-qt/qt5/qtxmlpatterns_git.bb b/recipes-qt/qt5/qtxmlpatterns_git.bb index a458e0b5..0d198f4c 100644 --- a/recipes-qt/qt5/qtxmlpatterns_git.bb +++ b/recipes-qt/qt5/qtxmlpatterns_git.bb @@ -25,6 +25,6 @@ do_configure_prepend() { EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtdeclarative', 'CONFIG+=OE_QTDECLARATIVE_ENABLED', '', d)}" -SRCREV = "189e28d0aff1f3d7960228ba318b83e3cadac98c" +SRCREV = "4f20b58bf26d04f940db39bb5bafa5686299289a" BBCLASSEXTEND =+ "native nativesdk" -- cgit v1.2.3