summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta-arm/.gitlab-ci.yml7
-rw-r--r--meta-arm/ci/qemuarm64-secureboot-ts.yml28
-rw-r--r--meta-arm/documentation/oeqa-fvp.md55
-rw-r--r--meta-arm/documentation/runfvp.md9
-rw-r--r--meta-arm/meta-arm-bsp/conf/machine/corstone500.conf2
-rw-r--r--meta-arm/meta-arm-bsp/conf/machine/fvp-base.conf2
-rw-r--r--meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc4
-rw-r--r--meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf3
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/n1sdp/bl_size.patch40
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-n1sdp.inc28
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-cmd-load-add-load-command-for-memory-mapped.patch26
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-arm-add-support-to-corstone1000-platform.patch32
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-usb-common-move-urb-code-to-common.patch6
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-usb-add-isp1760-family-driver.patch10
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-corstone1000-enable-isp1763-usb-controller.patch6
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-arm_ffa-introducing-Arm-FF-A-low-level-driver.patch38
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-arm_ffa-introducing-armffa-command.patch16
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-arm_ffa-introducing-MM-communication-with-FF-A.patch18
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-arm_ffa-introducing-test-module-for-UCLASS_FFA.patch12
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-arm_ffa-corstone1000-enable-FF-A-and-MM-support.patch6
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0011-efi-corstone1000-introduce-EFI-capsule-update.patch32
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0012-corstone1000-Update-FFA-shared-buffer-address.patch6
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-corstone1000-Make-sure-shared-buffer-contents-are-no.patch6
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-arm-corstone1000-fix-unrecognized-filesystem-type.patch10
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_capsule-corstone1000-pass-interface-id-and-buffe.patch12
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_boottime-corstone1000-pass-interface-id-and-kern.patch10
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-efi_loader-corstone1000-remove-guid-check-from-corst.patch12
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-arm_ffa-removing-the-cast-when-using-binary-OR-on-FI.patch6
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-Return-proper-error-code-when-rx-buffer-is-larger.patch31
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-Use-correct-buffer-size.patch (renamed from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-Use-correct-buffer-size.patch)6
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch (renamed from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch)10
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-Update-comm_buf-when-EFI_BUFFER_TOO_SMALL.patch30
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-efi_firmware-add-get_image_info-for-corstone1000.patch (renamed from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-efi_firmware-add-get_image_info-for-corstone1000.patch)67
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-efi_loader-send-bootcomplete-message-to-secure-encla.patch (renamed from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-efi_loader-send-bootcomplete-message-to-secure-encla.patch)18
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-efi_loader-fix-null-pointer-exception-with-get_image.patch (renamed from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0026-efi_loader-fix-null-pointer-exception-with-get_image.patch)10
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-Comment-mm_communicate-failure-log.patch34
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-arm-corstone1000-add-mmc-for-fvp.patch (renamed from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0027-arm-corstone1000-add-mmc-for-fvp.patch)8
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-corstone1000-use-a-compressed-kernel.patch32
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone500/0001-armv7-adding-generic-timer-access-through-MMIO.patch16
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone500/0002-board-arm-add-corstone500-board.patch22
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot_%.bbappend16
-rw-r--r--meta-arm/meta-arm-bsp/recipes-kernel/linux/arm-platforms-kmeta/bsp/arm-platforms/juno.scc1
-rw-r--r--meta-arm/meta-arm-bsp/recipes-kernel/linux/files/fvp-base-arm32/0001-ARM-vexpress-enable-GICv3.patch20
-rw-r--r--meta-arm/meta-arm-bsp/recipes-kernel/linux/files/juno/juno-dts-mhu-doorbell.patch616
-rw-r--r--meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc2
-rw-r--r--meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-5.10/tc/init_disassemble_info-signature-changes-causes-compile-failures.patch99
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0001-core-arm-add-MPIDR-affinity-shift-and-mask-for-32-bi.patch29
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0002-plat-n1sdp-add-N1SDP-platform-support.patch233
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0003-HACK-disable-instruction-cache-and-data-cache.patch46
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0004-Handle-logging-syscall.patch33
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-n1sdp.inc22
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.18.0.bbappend6
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/secure-partitions/corstone1000/0048-Fix-UEFI-get_variable-with-small-buffer.patch407
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-corstone1000.inc1
-rw-r--r--meta-arm/meta-arm-bsp/wic/corstone1000-image.corstone1000.wks2
-rw-r--r--meta-arm/meta-arm/classes/fvpboot.bbclass2
-rw-r--r--meta-arm/meta-arm/conf/machine/qemuarm-secureboot.conf1
-rw-r--r--meta-arm/meta-arm/lib/oeqa/runtime/cases/linuxboot.py3
-rw-r--r--meta-arm/meta-arm/lib/oeqa/runtime/cases/trusted_services.py50
-rw-r--r--meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/build-deps-upgrade-to-mbed-TLS-2.28.0.patch72
-rw-r--r--meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/rwx-segments.patch38
-rw-r--r--meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/ssl.patch52
-rw-r--r--meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/tf-a-tests-no-warn-rwx-segments.patch26
-rw-r--r--meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.7.0.bb3
-rw-r--r--meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend9
-rw-r--r--meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.0.bb2
-rw-r--r--meta-arm/meta-arm/recipes-devtools/gator-daemon/gator-daemon/0001-daemon-mxml-Define-_GNU_SOURCE.patch31
-rw-r--r--meta-arm/meta-arm/recipes-devtools/gator-daemon/gator-daemon_7.7.0.bb1
-rw-r--r--meta-arm/meta-arm/recipes-kernel/arm-ffa-tee/arm-ffa-tee_1.1.1.bb22
-rw-r--r--meta-arm/meta-arm/recipes-kernel/arm-ffa-tee/files/Makefile14
-rw-r--r--meta-arm/meta-arm/recipes-kernel/arm-ffa-user/arm-ffa-user_5.0.0.bb29
-rw-r--r--meta-arm/meta-arm/recipes-kernel/arm-ffa-user/files/Makefile14
-rw-r--r--meta-arm/meta-arm/recipes-kernel/linux/arm-ffa-5.15.inc5
-rw-r--r--meta-arm/meta-arm/recipes-kernel/linux/arm-ffa-transport.inc6
-rw-r--r--meta-arm/meta-arm/recipes-kernel/linux/linux-yocto-5.15/Add-sec_world_id-to-struct-tee_shm.patch44
-rw-r--r--meta-arm/meta-arm/recipes-kernel/linux/linux-yocto-5.15/skip-unavailable-memory.patch (renamed from meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/skip-unavailable-memory.patch)9
-rw-r--r--meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/arm-ffa-transport.cfg1
-rw-r--r--meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/generic-arm64-kmeta/generic-arm64-standard.scc1
-rw-r--r--meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/no-strict-devmem.cfg1
-rw-r--r--meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/tee.cfg1
-rw-r--r--meta-arm/meta-arm/recipes-kernel/linux/linux-yocto_%.bbappend9
-rw-r--r--meta-arm/meta-arm/recipes-kernel/linux/linux-yocto_5.15%.bbappend8
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-client_3.17.0.bb3
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-client_3.18.0.bb3
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-examples.inc2
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-examples/0001-Makefile-Fix-non-portable-sh-check-for-plugins.patch46
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-examples_3.17.0.bb3
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-examples_3.18.0.bb3
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit_3.18.0.bb (renamed from meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit_3.17.0.bb)2
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-ts.inc54
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os.inc7
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os/0001-core-Define-section-attributes-for-clang.patch188
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os/0008-no-warn-rwx-segments.patch64
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os/3.14/0009-add-z-execstack.patch95
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os/3.14/0010-add-note-GNU-stack-section.patch128
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os/3.18/0009-add-z-execstack.patch90
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os/3.18/0010-add-note-GNU-stack-section.patch128
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os_%.bbappend5
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os_3.14.0.bb5
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os_3.17.0.bb5
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os_3.18.0.bb5
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-test_3.18.0.bb (renamed from meta-arm/meta-arm/recipes-security/optee/optee-test_3.17.0.bb)2
-rw-r--r--meta-arm/meta-arm/recipes-security/packagegroups/packagegroup-ts-tests.bb26
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0004-correctly-find-headers-dir.patch30
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0005-setting-sysroot-for-libgcc-lookup.patch30
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0006-applying-lowercase-project-convention.patch32
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0009-PSA-CRYPTO-API-INCLUDE.patch39
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0010-change-libts-to-export-CMake-package.patch346
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0011-Adapt-deployments-to-libts-changes.patch197
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0012-psa-arch-test-toolchain.patch40
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0017-Move-libsp-mocks-into-separate-component.patch349
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0018-Add-mock-for-libsp-sp_discovery.patch339
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0019-Add-mock-for-libsp-sp_memory_management.patch977
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0020-Add-mock-for-libsp-sp_messaging.patch284
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0021-Add-64-bit-direct-message-handling-to-libsp.patch2552
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0022-Change-MM-communicate-RPC-protocol-of-call-endpoint.patch497
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0023-Change-MM-communicate-RPC-protocol-of-MM-caller.patch100
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/files/0024-Deny-64-bit-FF-A-messages-in-FF-A-RPC-endpoint.patch70
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/libts/0001-QEMU-MM-communication-buffer-address.patch29
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/libts/tee-udev.rules2
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/libts_%.bbappend3
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/libts_git.bb44
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/trusted-services-src.inc80
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/trusted-services.inc52
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-demo_git.bb21
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-newlib/0003-Add-newlib-deployment.patch85
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-newlib/0021-newlib-configure.patch72
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-newlib_4.1.0.bb31
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-api-test-common_git.inc36
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-crypto-api-test_git.bb9
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-iat-api-test/0012-PSA-TARGET-QCBOR.patch29
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-iat-api-test_git.bb19
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-its-api-test_git.bb9
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-ps-api-test_git.bb9
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-remote-test_git.bb12
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-service-test_git.bb21
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-attestation_git.bb7
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-common.inc29
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-crypto_git.bb9
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-env-test/0013-env-test-no-std-libs.patch33
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-env-test_git.bb14
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-its_git.bb7
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-se-proxy_git.bb9
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-smm-gateway_%.bbappend5
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-smm-gateway_git.bb7
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-storage_git.bb7
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-uefi-test_git.bb21
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/ts-uuid.inc9
-rw-r--r--meta-arm/meta-atp/recipes-kernel/atp/atp-test_3.1.bb1
-rw-r--r--meta-arm/meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb1
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5ops_20.bb2
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/files/init_disassemble_info-signature-changes-causes-compile-failures.patch99
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_%.bbappend3
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs/0001-Define-strndupa-if-it-does-not-exist.patch16
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.5.bb (renamed from meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb)2
-rw-r--r--meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.11.0.bb25
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.11.bb (renamed from meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.10.bb)2
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch28
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch47
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_2022.08.07.bb (renamed from meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_git.bb)7
-rw-r--r--meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-Do-not-run-git-rev-parse-during-configure.patch35
-rw-r--r--meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-fix-misspelled-kwarg-name.patch36
-rw-r--r--meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0002-meson-Various-fixes.patch132
-rw-r--r--meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.96.bb (renamed from meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.92.bb)8
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_42.2.bb (renamed from meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_42.1.bb)2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.4.bb (renamed from meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.3.bb)2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.2.bb (renamed from meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.1.bb)2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.3.bb (renamed from meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.2.bb)2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.15.bb (renamed from meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.14.bb)2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.7.bb (renamed from meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.6.bb)2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.4.bb (renamed from meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.3.bb)2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.3.bb (renamed from meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.2.bb)2
-rw-r--r--meta-openembedded/meta-gnome/recipes-support/ibus/ibus.inc2
-rw-r--r--meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.4.0.bb (renamed from meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.3.0.bb)2
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch6
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch29
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-fcntl-Fix-build-failure-for-some-architectures-with-.patch34
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch6
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-workaround-for-overlapping-sections-in-binary.patch9
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch4
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/cross-clang.patch2
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.10.bb (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.8.bb)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.10.bb (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.8.bb)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.10.bb (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.8.bb)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc4
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.10.bb (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.8.bb)0
-rw-r--r--meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.40.4.bb (renamed from meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb)49
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.4.0.bb (renamed from meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb)5
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb (renamed from meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb)7
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch15
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch50
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb4
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch10
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0001-fix-return-makes-integer-from-pointer-without-a-cast.patch27
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0002-fix-comparison-between-pointer-and-zero-character-co.patch27
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0003-include-config.h.patch26
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb5
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.9.bb (renamed from meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.6.bb)2
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.1.bb25
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-avb-fix-compilation-on-big-endian.patch53
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch47
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.56.bb (renamed from meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb)55
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch27
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb1
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.11.bb (renamed from meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb)8
-rw-r--r--meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-reglib-Remove-unused-variables.patch59
-rw-r--r--meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_3.18.bb1
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/0001-port-linux-Re-order-header-includes.patch33
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-version.c-don-t-print-build-flags.patch41
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb1
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.15.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.14.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-smbtorture-skip-test-case-tfork_cmd_send.patch38
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-Fix-errors-with-Werror-implicit-function-declara.patch32
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.14.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.13.bb)6
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/sshpass/sshpass_1.09.bb11
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/mount_conflict.patch30
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.8.bb1
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/0001-Forward-port-defining-PREFIX_BINDIR-to-use-new-autoc.patch25
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch10
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb12
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.7c.bb3
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch15
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.51.bb (renamed from meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.50.bb)4
-rw-r--r--meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet/0001-libknet-tests-Correct-include-path-for-poll.h.patch29
-rw-r--r--meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.24.bb (renamed from meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.22.bb)3
-rw-r--r--meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20220627.bb (renamed from meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20210219.bb)4
-rw-r--r--meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210914.bb14
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/freediameter/files/0001-tests-use-EXTENSIONS_DIR.patch92
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/freediameter/files/pass-ptest-env.patch72
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/freediameter/files/run-ptest1
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.4.0.bb7
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.2.2.bb5
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-ac_add_search_path.m4-keep-consistent-between-32bit.patch11
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch4
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch6
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmpd-always-exit-after-displaying-usage.patch55
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch4
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch28
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch6
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch6
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch26
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch4
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch4
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch2
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch4
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.3.bb (renamed from meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.1.bb)5
-rw-r--r--meta-openembedded/meta-networking/recipes-support/chrony/chrony/chrony.conf7
-rw-r--r--meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_7.0.bb (renamed from meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.15.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.3.6.bb (renamed from meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.3.4.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.4.bb (renamed from meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.3.bb)4
-rw-r--r--meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-netlink_git.bb13
-rw-r--r--meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools.inc9
-rw-r--r--meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools_git.bb9
-rw-r--r--meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.33.1.bb (renamed from meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.14.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb3
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ntpsec/ntpsec/0001-wscript-Widen-the-search-for-tags.patch29
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ntpsec/ntpsec_1.2.1.bb8
-rw-r--r--meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.32.bb6
-rw-r--r--meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_42.0.bb (renamed from meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_41.0.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/0001-ssmtp-Correct-the-null-pointer-assignment-to-char-po.patch51
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb3
-rw-r--r--meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-enum-Fix-compiler-warning.patch31
-rw-r--r--meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.7.bb (renamed from meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.6.bb)7
-rw-r--r--meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.2.bb (renamed from meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.1.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.1.bb (renamed from meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.16.2.bb (renamed from meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.16.1.bb)9
-rw-r--r--meta-openembedded/meta-oe/classes/image_types_sparse.bbclass16
-rw-r--r--meta-openembedded/meta-oe/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch44
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb1
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch40
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb1
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0001-io_uring-Replace-pthread_self-with-s-tid.patch45
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.31.bb (renamed from meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.30.bb)5
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/gensio/files/0001-tools-gensiot-Fix-build-with-musl.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.5.2.bb (renamed from meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.3.1.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.29.bb (renamed from meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.28.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.20.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_6.2.1.bb (renamed from meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_6.0.5.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-core/safec/safec/0001-strpbrk_s-Remove-unused-variable-len.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-core/safec/safec_3.7.1.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch (renamed from poky/meta/recipes-core/systemd/systemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch)33
-rw-r--r--meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-portability-Avoid-glibc-and-linux-mount.h-conflict.patch161
-rw-r--r--meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.8.bb (renamed from meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.7.bb)3
-rw-r--r--meta-openembedded/meta-oe/recipes-core/uutils-coreutils/README.txt19
-rw-r--r--meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils.inc57
-rw-r--r--meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.15.bb282
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch22
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc5
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch110
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch6
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc10
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.5.bb (renamed from meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.4.bb)3
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0015-libsparse-Split-off-most-of-sparse_file_read_normal-.patch60
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0016-libsparse-Add-hole-mode-to-sparse_file_read.patch188
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0017-img2simg-Add-support-for-converting-holes-to-don-t-c.patch114
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220821.0.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220703.0.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.127.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.126.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb9
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.20.3.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.10.1.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.8.3.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.8.1.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/makeself/makeself_2.4.5.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.10.5.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20220807.0.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20200505.0.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.9.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.8.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch18
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-linking-error-with-ld-gold.patch6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Lower-init-prio-for-extension-attributes.patch79
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch10
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-protobuf-fix-configure-error.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.21.5.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.19.4.bb)32
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb8
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-dlt-system-Fix-buffer-overflow-detection-on-32bit-ta.patch40
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch71
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Revert-Remove-unused-variable-in-mpi_mul_hlp.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Use-posix-strerror_r-with-musl.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch43
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-chunkio-Link-with-fts-library-with-musl.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-mbedtls-Remove-unused-variable.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch82
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Disable-documentation-warning-as-error-with-.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Do-not-overwrite-CFLAGS.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch43
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0004-build-Make-systemd-init-systemd-detection-contingent.patch64
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0005-stackdriver-Fix-return-type-mismatch.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0006-monkey-Fix-TLS-detection-testcase.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch16
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb69
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb90
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.9.bb (renamed from meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.7.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb37
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_git.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-redefine-LOCKPROG.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.7.bb (renamed from meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.6.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.8.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-Remove-unused-linux-fs.h-includes.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-libostree-Remove-including-sys-mount.h.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-s390x-se-luks-gencpio-There-is-no-bashism.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2022.5.bb (renamed from meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2022.2.bb)12
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-Added-support-for-duktape-as-JS-engine.patch20
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0004-Make-netgroup-support-optional.patch (renamed from meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch)103
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0005-Make-netgroup-support-optional-duktape.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.119.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/redis/redis-7/GNU_SOURCE-7.patch (renamed from meta-openembedded/meta-oe/recipes-extended/redis/redis-7/GNU_SOURCE.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.4.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.16.bb (renamed from meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.15.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.9.1.bb (renamed from meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.9.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.18.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.1.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/wayland/waylandpp_1.0.0.bb37
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.1.0.bb (renamed from meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.6.bb (renamed from meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.7.bb (renamed from meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.6.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.16.0.bb (renamed from meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.14.0.bb)19
-rw-r--r--meta-openembedded/meta-oe/recipes-security/audit/audit/0001-Replace-__attribute_malloc__-with-__attribute__-__ma.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-security/audit/audit/Fixed-swig-host-contamination-issue.patch13
-rw-r--r--meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.8.bb (renamed from meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.7.bb)10
-rw-r--r--meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.11.1.bb (renamed from meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.11.0.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.2.2.bb (renamed from meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.2.0.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.5.0.bb (renamed from meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.33.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.8.0.bb (renamed from meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.7.0.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gd/gd/0001-Fix-deprecared-function-prototypes.patch115
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.3.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.1.bb (renamed from meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-Makefile-fix-parallel-build-of-examples.patch46
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-examples-Use-proper-function-prototype-for-main.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch57
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libb64/libb64/0003-fix-integer-overflows.patch77
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libb64/libb64/0004-Fix-off-by-one-error.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libb64/libb64/0005-make-overriding-CFLAGS-possible.patch40
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libb64/libb64/0006-do-not-export-the-CHARS_PER_LINE-variable.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libb64/libb64/0007-initialize-encoder-decoder-state-in-the-constructors.patch44
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libb64/libb64_2.0.0.1.bb (renamed from meta-openembedded/meta-oe/recipes-support/libb64/libb64_1.2.1.bb)20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb (renamed from meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb (renamed from meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-teamd-Include-missing-headers-for-strrchr-and-memcmp.patch46
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.31.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/nano/nano_6.4.bb (renamed from meta-openembedded/meta-oe/recipes-support/nano/nano_6.3.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/neon/neon/0001-Disable-installing-documentation.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-support/neon/neon/fix-package-check-for-libxml2.patch50
-rw-r--r--meta-openembedded/meta-oe/recipes-support/neon/neon_0.32.2.bb (renamed from meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb)29
-rw-r--r--meta-openembedded/meta-oe/recipes-support/nspr/nspr/0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-support/nspr/nspr_4.29.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.2.bb (renamed from meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pcp/pcp_5.3.6.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite/0001-pcsc-spy-use-python3-only.patch43
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.9.8.bb (renamed from meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.9.0.bb)12
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-unbundled-PCRE2-dependency.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poco/poco/0002-remove-providers-unitialization.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.2.bb (renamed from meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.0.bb)11
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.08.0.bb (renamed from meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.07.0.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/satyr/files/0001-py_base_stacktrace.c-include-glib.h.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.39.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.2.0.bb (renamed from meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.1.1.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/spdlog/files/0001-Enable-use-of-external-fmt-library.patch68
-rw-r--r--meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.10.0.bb (renamed from meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.9.2.bb)9
-rw-r--r--meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/tree/tree_2.0.3.bb (renamed from meta-openembedded/meta-oe/recipes-support/tree/tree_2.0.2.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-utils-fix-build-against-5.15-libc-headers-headers.patch62
-rw-r--r--meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.36.bb10
-rw-r--r--meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.18.bb (renamed from meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.17.bb)3
-rw-r--r--meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.19.bb (renamed from meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.18.bb)3
-rw-r--r--meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.41.bb (renamed from meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.38.bb)2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libdigest/libdigest-sha1-perl_2.13.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb (renamed from meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.18.bb)2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.074.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libipc/libipc-signal-perl_1.00.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.013.1.bb (renamed from meta-openembedded/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb)3
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.17.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.68.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libnet/libnet-telnet-perl_3.05.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libproc/libproc-waitstat-perl_1.00.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.37.bb (renamed from meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.36.bb)3
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb2
-rw-r--r--meta-openembedded/meta-python/README5
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.5.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.4.2.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref/run-ptest3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref_3.5.2.bb29
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.8.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.5.bb)6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_22.7.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_22.6.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.8.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.6.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_37.1.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_37.1.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_2.1.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_2.1.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_6.4.4.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_6.4.1.bb)5
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.11.2.bb)5
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.28.bb12
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.12.bb6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.0.2.bb1
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.7.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.6.0.bb)3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.3.4.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.3.3.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_3.0.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_3.0.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.7.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.6.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.16.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.16.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.6.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.6.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.2.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.1.3.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.3.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.3.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_5.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_5.1.bb)4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.57.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.54.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.11.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.9.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.48.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.47.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-absl-always-use-asm-sgidefs.h.patch33
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch28
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.48.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.47.0.bb)7
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.6.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.5.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-hexbytes_0.3.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-hexbytes_0.2.2.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.3.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.2.3.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.21.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.19.5.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_5.0.8.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_5.0.7.bb)3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.5.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.5.1.bb)27
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces/0001-netifaces-initialize-msghdr-in-a-portable-way.patch49
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.11.0.bb6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.8.5.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.8.4.bb)4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.4.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.3.bb)6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.6.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.5.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_3.3.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_3.1.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.30.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.24.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.21.5.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.21.3.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-check-pointer-size-when-cross-compiling.patch31
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.10.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.9.2.bb)4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.2.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.2.1.bb)3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.9.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.8.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_1.9.1.bb11
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.5.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.4.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_2.0.4.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_2.0.3.bb)11
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.4.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.3.0.bb)4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pythonping_1.1.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pythonping_1.1.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_23.2.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_23.2.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2022.8.17.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2022.7.24.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-requests-unixsocket_0.3.0.bb14
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-declarative-requirements_1.3.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-declarative-requirements_1.2.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.40.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.39.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.4.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.3.bb)9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_4.10.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_4.8.0.bb)5
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.5.4.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.5.2.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.2.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.2.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_2.0.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_2.0.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.3.6.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.3.5.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.8.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.7.2.bb)3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.39.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.7.bb)3
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem/0001-Don-t-set-tp_print-on-Python-3.patch44
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.1.3.bb1
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0001-make_exports.awk-not-expose-the-path.patch32
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.54.bb1
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/monkey/files/0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch30
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.6.9.bb1
-rw-r--r--meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.36.1.bb (renamed from meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.35.1.bb)2
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb2
-rw-r--r--meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb2
-rw-r--r--meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.7.3.bb (renamed from meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.7.2.bb)2
-rw-r--r--meta-security/kas/kas-security-base.yml3
-rw-r--r--meta-security/meta-parsec/README.md3
-rw-r--r--meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py100
-rw-r--r--meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_1.0.0.bb7
-rw-r--r--meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.2.bb2
-rw-r--r--meta-security/recipes-core/packagegroup/packagegroup-core-security.bb6
-rw-r--r--meta-security/recipes-ids/samhain/files/0001-Don-t-expose-configure-args.patch44
-rw-r--r--meta-security/recipes-ids/samhain/samhain-standalone.bb1
-rw-r--r--meta-security/recipes-kernel/lkrg/lkrg-module_0.9.5.bb (renamed from meta-security/recipes-kernel/lkrg/lkrg-module_0.9.4.bb)0
-rw-r--r--meta-security/recipes-mac/AppArmor/apparmor_3.0.6.bb (renamed from meta-security/recipes-mac/AppArmor/apparmor_3.0.5.bb)0
-rw-r--r--meta-security/recipes-security/cryptmount/cryptmount_5.3.3.bb27
-rw-r--r--meta-security/recipes-security/cryptmount/files/remove_linux_fs.patch19
-rw-r--r--meta-security/recipes-security/glome/glome_git.bb24
-rw-r--r--poky/.templateconf2
-rwxr-xr-xpoky/bitbake/bin/bitbake-layers4
-rwxr-xr-xpoky/bitbake/bin/bitbake-prserv2
-rwxr-xr-xpoky/bitbake/bin/bitbake-worker3
-rwxr-xr-xpoky/bitbake/bin/git-make-shallow2
-rw-r--r--poky/bitbake/lib/bb/COW.py2
-rw-r--r--poky/bitbake/lib/bb/asyncrpc/__init__.py2
-rw-r--r--poky/bitbake/lib/bb/asyncrpc/client.py2
-rw-r--r--poky/bitbake/lib/bb/asyncrpc/serv.py2
-rw-r--r--poky/bitbake/lib/bb/build.py4
-rw-r--r--poky/bitbake/lib/bb/codeparser.py2
-rw-r--r--poky/bitbake/lib/bb/compress/_pipecompress.py2
-rw-r--r--poky/bitbake/lib/bb/compress/lz4.py2
-rw-r--r--poky/bitbake/lib/bb/compress/zstd.py2
-rw-r--r--poky/bitbake/lib/bb/cooker.py1
-rw-r--r--poky/bitbake/lib/bb/cookerdata.py1
-rw-r--r--poky/bitbake/lib/bb/daemonize.py2
-rw-r--r--poky/bitbake/lib/bb/data.py2
-rw-r--r--poky/bitbake/lib/bb/exceptions.py2
-rw-r--r--poky/bitbake/lib/bb/fetch2/gitsm.py3
-rw-r--r--poky/bitbake/lib/bb/fetch2/npm.py2
-rw-r--r--poky/bitbake/lib/bb/fetch2/osc.py2
-rw-r--r--poky/bitbake/lib/bb/parse/parse_py/BBHandler.py37
-rw-r--r--poky/bitbake/lib/bb/process.py2
-rw-r--r--poky/bitbake/lib/bb/runqueue.py49
-rw-r--r--poky/bitbake/lib/bb/siggen.py4
-rw-r--r--poky/bitbake/lib/bb/tests/compression.py2
-rw-r--r--poky/bitbake/lib/bb/tests/cooker.py2
-rw-r--r--poky/bitbake/lib/bb/tests/fetch.py28
-rw-r--r--poky/bitbake/lib/bb/tests/parse.py1
-rw-r--r--poky/bitbake/lib/bb/utils.py27
-rw-r--r--poky/bitbake/lib/bblayers/__init__.py2
-rw-r--r--poky/bitbake/lib/bblayers/action.py2
-rw-r--r--poky/bitbake/lib/bblayers/common.py2
-rw-r--r--poky/bitbake/lib/bblayers/layerindex.py2
-rw-r--r--poky/bitbake/lib/bblayers/query.py28
-rw-r--r--poky/bitbake/lib/prserv/__init__.py2
-rw-r--r--poky/bitbake/lib/prserv/client.py2
-rw-r--r--poky/bitbake/lib/prserv/db.py2
-rw-r--r--poky/bitbake/lib/prserv/serv.py2
-rwxr-xr-xpoky/bitbake/lib/toaster/manage.py2
-rw-r--r--poky/documentation/README4
-rw-r--r--poky/documentation/conf.py2
-rw-r--r--poky/documentation/dev-manual/common-tasks.rst2
-rw-r--r--poky/documentation/kernel-dev/common.rst84
-rw-r--r--poky/documentation/kernel-dev/intro.rst8
-rw-r--r--poky/documentation/migration-guides/release-4.0.rst1
-rw-r--r--poky/documentation/migration-guides/release-notes-4.0.3.rst314
-rw-r--r--poky/documentation/ref-manual/features.rst2
-rw-r--r--poky/documentation/ref-manual/system-requirements.rst59
-rw-r--r--poky/documentation/sdk-manual/appendix-customizing.rst14
-rw-r--r--poky/documentation/sdk-manual/appendix-obtain.rst18
-rw-r--r--poky/documentation/sdk-manual/extensible.rst66
-rw-r--r--poky/documentation/sdk-manual/working-projects.rst13
-rw-r--r--poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc2
-rw-r--r--poky/meta-poky/conf/distro/poky-tiny.conf2
-rw-r--r--poky/meta-poky/conf/distro/poky.conf5
-rw-r--r--poky/meta-poky/conf/templates/default/bblayers.conf.sample (renamed from poky/meta-poky/conf/bblayers.conf.sample)0
-rw-r--r--poky/meta-poky/conf/templates/default/conf-notes.txt (renamed from poky/meta-poky/conf/conf-notes.txt)0
-rw-r--r--poky/meta-poky/conf/templates/default/local.conf.sample (renamed from poky/meta-poky/conf/local.conf.sample)0
-rw-r--r--poky/meta-poky/conf/templates/default/local.conf.sample.extended (renamed from poky/meta-poky/conf/local.conf.sample.extended)0
-rw-r--r--poky/meta-poky/conf/templates/default/site.conf.sample (renamed from poky/meta-poky/conf/site.conf.sample)0
-rw-r--r--poky/meta-selftest/recipes-test/testrpm/files/testfile.txt1
-rw-r--r--poky/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb18
-rw-r--r--poky/meta-skeleton/recipes-kernel/hello-mod/files/hello.c13
-rw-r--r--poky/meta-skeleton/recipes-skeleton/service/service_0.1.bb2
-rw-r--r--poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend23
-rw-r--r--poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.19.bbappend23
-rw-r--r--poky/meta/classes-global/base.bbclass (renamed from poky/meta/classes/base.bbclass)6
-rw-r--r--poky/meta/classes-global/buildstats.bbclass (renamed from poky/meta/classes/buildstats.bbclass)6
-rw-r--r--poky/meta/classes-global/debian.bbclass (renamed from poky/meta/classes/debian.bbclass)6
-rw-r--r--poky/meta/classes-global/devshell.bbclass (renamed from poky/meta/classes/devshell.bbclass)6
-rw-r--r--poky/meta/classes-global/insane.bbclass (renamed from poky/meta/classes/insane.bbclass)13
-rw-r--r--poky/meta/classes-global/license.bbclass (renamed from poky/meta/classes/license.bbclass)6
-rw-r--r--poky/meta/classes-global/logging.bbclass (renamed from poky/meta/classes/logging.bbclass)6
-rw-r--r--poky/meta/classes-global/mirrors.bbclass (renamed from poky/meta/classes/mirrors.bbclass)6
-rw-r--r--poky/meta/classes-global/package.bbclass (renamed from poky/meta/classes/package.bbclass)74
-rw-r--r--poky/meta/classes-global/package_deb.bbclass (renamed from poky/meta/classes/package_deb.bbclass)2
-rw-r--r--poky/meta/classes-global/package_ipk.bbclass (renamed from poky/meta/classes/package_ipk.bbclass)6
-rw-r--r--poky/meta/classes-global/package_pkgdata.bbclass (renamed from poky/meta/classes/package_pkgdata.bbclass)6
-rw-r--r--poky/meta/classes-global/package_rpm.bbclass (renamed from poky/meta/classes/package_rpm.bbclass)12
-rw-r--r--poky/meta/classes-global/package_tar.bbclass (renamed from poky/meta/classes/package_tar.bbclass)6
-rw-r--r--poky/meta/classes-global/packagedata.bbclass (renamed from poky/meta/classes/packagedata.bbclass)6
-rw-r--r--poky/meta/classes-global/patch.bbclass (renamed from poky/meta/classes/patch.bbclass)2
-rw-r--r--poky/meta/classes-global/sanity.bbclass (renamed from poky/meta/classes/sanity.bbclass)7
-rw-r--r--poky/meta/classes-global/sstate.bbclass (renamed from poky/meta/classes/sstate.bbclass)6
-rw-r--r--poky/meta/classes-global/staging.bbclass (renamed from poky/meta/classes/staging.bbclass)6
-rw-r--r--poky/meta/classes-global/uninative.bbclass (renamed from poky/meta/classes/uninative.bbclass)8
-rw-r--r--poky/meta/classes-global/utility-tasks.bbclass (renamed from poky/meta/classes/utility-tasks.bbclass)6
-rw-r--r--poky/meta/classes-global/utils.bbclass (renamed from poky/meta/classes/utils.bbclass)5
-rw-r--r--poky/meta/classes-recipe/allarch.bbclass (renamed from poky/meta/classes/allarch.bbclass)6
-rw-r--r--poky/meta/classes-recipe/autotools-brokensep.bbclass (renamed from poky/meta/classes/autotools-brokensep.bbclass)6
-rw-r--r--poky/meta/classes-recipe/autotools.bbclass (renamed from poky/meta/classes/autotools.bbclass)6
-rw-r--r--poky/meta/classes-recipe/baremetal-image.bbclass (renamed from poky/meta/classes/baremetal-image.bbclass)15
-rw-r--r--poky/meta/classes-recipe/bash-completion.bbclass (renamed from poky/meta/classes/bash-completion.bbclass)6
-rw-r--r--poky/meta/classes-recipe/bin_package.bbclass (renamed from poky/meta/classes/bin_package.bbclass)6
-rw-r--r--poky/meta/classes-recipe/binconfig-disabled.bbclass (renamed from poky/meta/classes/binconfig-disabled.bbclass)6
-rw-r--r--poky/meta/classes-recipe/binconfig.bbclass (renamed from poky/meta/classes/binconfig.bbclass)6
-rw-r--r--poky/meta/classes-recipe/cargo.bbclass (renamed from poky/meta/classes/cargo.bbclass)17
-rw-r--r--poky/meta/classes-recipe/cargo_common.bbclass (renamed from poky/meta/classes/cargo_common.bbclass)21
-rw-r--r--poky/meta/classes-recipe/cmake.bbclass (renamed from poky/meta/classes/cmake.bbclass)6
-rw-r--r--poky/meta/classes-recipe/cml1.bbclass (renamed from poky/meta/classes/cml1.bbclass)6
-rw-r--r--poky/meta/classes-recipe/compress_doc.bbclass (renamed from poky/meta/classes/compress_doc.bbclass)6
-rw-r--r--poky/meta/classes-recipe/core-image.bbclass (renamed from poky/meta/classes/core-image.bbclass)3
-rw-r--r--poky/meta/classes-recipe/cpan-base.bbclass (renamed from poky/meta/classes/cpan-base.bbclass)6
-rw-r--r--poky/meta/classes-recipe/cpan.bbclass (renamed from poky/meta/classes/cpan.bbclass)6
-rw-r--r--poky/meta/classes-recipe/cpan_build.bbclass (renamed from poky/meta/classes/cpan_build.bbclass)6
-rw-r--r--poky/meta/classes-recipe/cross-canadian.bbclass (renamed from poky/meta/classes/cross-canadian.bbclass)4
-rw-r--r--poky/meta/classes-recipe/cross.bbclass (renamed from poky/meta/classes/cross.bbclass)6
-rw-r--r--poky/meta/classes-recipe/crosssdk.bbclass (renamed from poky/meta/classes/crosssdk.bbclass)6
-rw-r--r--poky/meta/classes-recipe/deploy.bbclass (renamed from poky/meta/classes/deploy.bbclass)6
-rw-r--r--poky/meta/classes-recipe/devicetree.bbclass (renamed from poky/meta/classes/devicetree.bbclass)6
-rw-r--r--poky/meta/classes-recipe/devupstream.bbclass (renamed from poky/meta/classes/devupstream.bbclass)6
-rw-r--r--poky/meta/classes-recipe/distro_features_check.bbclass (renamed from poky/meta/classes/distro_features_check.bbclass)6
-rw-r--r--poky/meta/classes-recipe/dos2unix.bbclass (renamed from poky/meta/classes/dos2unix.bbclass)6
-rw-r--r--poky/meta/classes-recipe/externalsrc.bbclass (renamed from poky/meta/classes/externalsrc.bbclass)3
-rw-r--r--poky/meta/classes-recipe/features_check.bbclass (renamed from poky/meta/classes/features_check.bbclass)3
-rw-r--r--poky/meta/classes-recipe/fontcache.bbclass (renamed from poky/meta/classes/fontcache.bbclass)6
-rw-r--r--poky/meta/classes-recipe/fs-uuid.bbclass (renamed from poky/meta/classes/fs-uuid.bbclass)6
-rw-r--r--poky/meta/classes-recipe/gconf.bbclass (renamed from poky/meta/classes/gconf.bbclass)6
-rw-r--r--poky/meta/classes-recipe/gettext.bbclass (renamed from poky/meta/classes/gettext.bbclass)6
-rw-r--r--poky/meta/classes-recipe/gi-docgen.bbclass (renamed from poky/meta/classes/gi-docgen.bbclass)6
-rw-r--r--poky/meta/classes-recipe/gio-module-cache.bbclass (renamed from poky/meta/classes/gio-module-cache.bbclass)6
-rw-r--r--poky/meta/classes-recipe/glide.bbclass (renamed from poky/meta/classes/glide.bbclass)6
-rw-r--r--poky/meta/classes-recipe/gnomebase.bbclass (renamed from poky/meta/classes/gnomebase.bbclass)6
-rw-r--r--poky/meta/classes-recipe/go-mod.bbclass (renamed from poky/meta/classes/go-mod.bbclass)6
-rw-r--r--poky/meta/classes-recipe/go-ptest.bbclass (renamed from poky/meta/classes/go-ptest.bbclass)6
-rw-r--r--poky/meta/classes-recipe/go.bbclass (renamed from poky/meta/classes/go.bbclass)6
-rw-r--r--poky/meta/classes-recipe/goarch.bbclass (renamed from poky/meta/classes/goarch.bbclass)6
-rw-r--r--poky/meta/classes-recipe/gobject-introspection-data.bbclass (renamed from poky/meta/classes/gobject-introspection-data.bbclass)6
-rw-r--r--poky/meta/classes-recipe/gobject-introspection.bbclass (renamed from poky/meta/classes/gobject-introspection.bbclass)6
-rw-r--r--poky/meta/classes-recipe/grub-efi-cfg.bbclass (renamed from poky/meta/classes/grub-efi-cfg.bbclass)3
-rw-r--r--poky/meta/classes-recipe/grub-efi.bbclass (renamed from poky/meta/classes/grub-efi.bbclass)6
-rw-r--r--poky/meta/classes-recipe/gsettings.bbclass (renamed from poky/meta/classes/gsettings.bbclass)6
-rw-r--r--poky/meta/classes-recipe/gtk-doc.bbclass (renamed from poky/meta/classes/gtk-doc.bbclass)6
-rw-r--r--poky/meta/classes-recipe/gtk-icon-cache.bbclass (renamed from poky/meta/classes/gtk-icon-cache.bbclass)6
-rw-r--r--poky/meta/classes-recipe/gtk-immodules-cache.bbclass (renamed from poky/meta/classes/gtk-immodules-cache.bbclass)6
-rw-r--r--poky/meta/classes-recipe/image-artifact-names.bbclass (renamed from poky/meta/classes/image-artifact-names.bbclass)6
-rw-r--r--poky/meta/classes-recipe/image-combined-dbg.bbclass (renamed from poky/meta/classes/image-combined-dbg.bbclass)6
-rw-r--r--poky/meta/classes-recipe/image-container.bbclass (renamed from poky/meta/classes/image-container.bbclass)6
-rw-r--r--poky/meta/classes-recipe/image-live.bbclass (renamed from poky/meta/classes/image-live.bbclass)5
-rw-r--r--poky/meta/classes-recipe/image-postinst-intercepts.bbclass (renamed from poky/meta/classes/image-postinst-intercepts.bbclass)6
-rw-r--r--poky/meta/classes-recipe/image.bbclass (renamed from poky/meta/classes/image.bbclass)7
-rw-r--r--poky/meta/classes-recipe/image_types.bbclass (renamed from poky/meta/classes/image_types.bbclass)24
-rw-r--r--poky/meta/classes-recipe/image_types_wic.bbclass (renamed from poky/meta/classes/image_types_wic.bbclass)6
-rw-r--r--poky/meta/classes-recipe/kernel-arch.bbclass (renamed from poky/meta/classes/kernel-arch.bbclass)6
-rw-r--r--poky/meta/classes-recipe/kernel-artifact-names.bbclass (renamed from poky/meta/classes/kernel-artifact-names.bbclass)6
-rw-r--r--poky/meta/classes-recipe/kernel-devicetree.bbclass (renamed from poky/meta/classes/kernel-devicetree.bbclass)6
-rw-r--r--poky/meta/classes-recipe/kernel-fitimage.bbclass (renamed from poky/meta/classes/kernel-fitimage.bbclass)14
-rw-r--r--poky/meta/classes-recipe/kernel-grub.bbclass (renamed from poky/meta/classes/kernel-grub.bbclass)6
-rw-r--r--poky/meta/classes-recipe/kernel-module-split.bbclass (renamed from poky/meta/classes/kernel-module-split.bbclass)6
-rw-r--r--poky/meta/classes-recipe/kernel-uboot.bbclass (renamed from poky/meta/classes/kernel-uboot.bbclass)6
-rw-r--r--poky/meta/classes-recipe/kernel-uimage.bbclass (renamed from poky/meta/classes/kernel-uimage.bbclass)6
-rw-r--r--poky/meta/classes-recipe/kernel-yocto.bbclass (renamed from poky/meta/classes/kernel-yocto.bbclass)6
-rw-r--r--poky/meta/classes-recipe/kernel.bbclass (renamed from poky/meta/classes/kernel.bbclass)22
-rw-r--r--poky/meta/classes-recipe/kernelsrc.bbclass (renamed from poky/meta/classes/kernelsrc.bbclass)6
-rw-r--r--poky/meta/classes-recipe/lib_package.bbclass (renamed from poky/meta/classes/lib_package.bbclass)5
-rw-r--r--poky/meta/classes-recipe/libc-package.bbclass (renamed from poky/meta/classes/libc-package.bbclass)6
-rw-r--r--poky/meta/classes-recipe/license_image.bbclass (renamed from poky/meta/classes/license_image.bbclass)6
-rw-r--r--poky/meta/classes-recipe/linux-dummy.bbclass (renamed from poky/meta/classes/linux-dummy.bbclass)5
-rw-r--r--poky/meta/classes-recipe/linux-kernel-base.bbclass (renamed from poky/meta/classes/linux-kernel-base.bbclass)6
-rw-r--r--poky/meta/classes-recipe/linuxloader.bbclass (renamed from poky/meta/classes/linuxloader.bbclass)6
-rw-r--r--poky/meta/classes-recipe/live-vm-common.bbclass (renamed from poky/meta/classes/live-vm-common.bbclass)6
-rw-r--r--poky/meta/classes-recipe/manpages.bbclass (renamed from poky/meta/classes/manpages.bbclass)6
-rw-r--r--poky/meta/classes-recipe/meson-routines.bbclass (renamed from poky/meta/classes/meson-routines.bbclass)6
-rw-r--r--poky/meta/classes-recipe/meson.bbclass (renamed from poky/meta/classes/meson.bbclass)6
-rw-r--r--poky/meta/classes-recipe/mime-xdg.bbclass (renamed from poky/meta/classes/mime-xdg.bbclass)4
-rw-r--r--poky/meta/classes-recipe/mime.bbclass (renamed from poky/meta/classes/mime.bbclass)6
-rw-r--r--poky/meta/classes-recipe/module-base.bbclass (renamed from poky/meta/classes/module-base.bbclass)6
-rw-r--r--poky/meta/classes-recipe/module.bbclass (renamed from poky/meta/classes/module.bbclass)6
-rw-r--r--poky/meta/classes-recipe/multilib_header.bbclass (renamed from poky/meta/classes/multilib_header.bbclass)6
-rw-r--r--poky/meta/classes-recipe/multilib_script.bbclass (renamed from poky/meta/classes/multilib_script.bbclass)6
-rw-r--r--poky/meta/classes-recipe/native.bbclass (renamed from poky/meta/classes/native.bbclass)6
-rw-r--r--poky/meta/classes-recipe/nativesdk.bbclass (renamed from poky/meta/classes/nativesdk.bbclass)7
-rw-r--r--poky/meta/classes-recipe/nopackages.bbclass (renamed from poky/meta/classes/nopackages.bbclass)6
-rw-r--r--poky/meta/classes-recipe/npm.bbclass (renamed from poky/meta/classes/npm.bbclass)26
-rw-r--r--poky/meta/classes-recipe/packagegroup.bbclass (renamed from poky/meta/classes/packagegroup.bbclass)6
-rw-r--r--poky/meta/classes-recipe/perl-version.bbclass (renamed from poky/meta/classes/perl-version.bbclass)6
-rw-r--r--poky/meta/classes-recipe/perlnative.bbclass (renamed from poky/meta/classes/perlnative.bbclass)6
-rw-r--r--poky/meta/classes-recipe/pixbufcache.bbclass (renamed from poky/meta/classes/pixbufcache.bbclass)6
-rw-r--r--poky/meta/classes-recipe/pkgconfig.bbclass8
-rw-r--r--poky/meta/classes-recipe/populate_sdk.bbclass (renamed from poky/meta/classes/populate_sdk.bbclass)6
-rw-r--r--poky/meta/classes-recipe/populate_sdk_base.bbclass (renamed from poky/meta/classes/populate_sdk_base.bbclass)8
-rw-r--r--poky/meta/classes-recipe/populate_sdk_ext.bbclass (renamed from poky/meta/classes/populate_sdk_ext.bbclass)9
-rw-r--r--poky/meta/classes-recipe/ptest-gnome.bbclass (renamed from poky/meta/classes/ptest-gnome.bbclass)6
-rw-r--r--poky/meta/classes-recipe/ptest-perl.bbclass (renamed from poky/meta/classes/ptest-perl.bbclass)6
-rw-r--r--poky/meta/classes-recipe/ptest.bbclass (renamed from poky/meta/classes/ptest.bbclass)6
-rw-r--r--poky/meta/classes-recipe/pypi.bbclass (renamed from poky/meta/classes/pypi.bbclass)6
-rw-r--r--poky/meta/classes-recipe/python3-dir.bbclass (renamed from poky/meta/classes/python3-dir.bbclass)6
-rw-r--r--poky/meta/classes-recipe/python3native.bbclass (renamed from poky/meta/classes/python3native.bbclass)6
-rw-r--r--poky/meta/classes-recipe/python3targetconfig.bbclass (renamed from poky/meta/classes/python3targetconfig.bbclass)6
-rw-r--r--poky/meta/classes-recipe/python_flit_core.bbclass (renamed from poky/meta/classes/python_flit_core.bbclass)6
-rw-r--r--poky/meta/classes-recipe/python_hatchling.bbclass (renamed from poky/meta/classes/python_hatchling.bbclass)6
-rw-r--r--poky/meta/classes-recipe/python_pep517.bbclass (renamed from poky/meta/classes/python_pep517.bbclass)6
-rw-r--r--poky/meta/classes-recipe/python_poetry_core.bbclass (renamed from poky/meta/classes/python_poetry_core.bbclass)6
-rw-r--r--poky/meta/classes-recipe/python_pyo3.bbclass (renamed from poky/meta/classes/python_pyo3.bbclass)8
-rw-r--r--poky/meta/classes-recipe/python_setuptools3_rust.bbclass (renamed from poky/meta/classes/python_setuptools3_rust.bbclass)6
-rw-r--r--poky/meta/classes-recipe/python_setuptools_build_meta.bbclass (renamed from poky/meta/classes/python_setuptools_build_meta.bbclass)6
-rw-r--r--poky/meta/classes-recipe/qemu.bbclass (renamed from poky/meta/classes/qemu.bbclass)6
-rw-r--r--poky/meta/classes-recipe/qemuboot.bbclass (renamed from poky/meta/classes/qemuboot.bbclass)6
-rw-r--r--poky/meta/classes-recipe/rootfs-postcommands.bbclass (renamed from poky/meta/classes/rootfs-postcommands.bbclass)40
-rw-r--r--poky/meta/classes-recipe/rootfs_deb.bbclass (renamed from poky/meta/classes/rootfs_deb.bbclass)2
-rw-r--r--poky/meta/classes-recipe/rootfs_ipk.bbclass (renamed from poky/meta/classes/rootfs_ipk.bbclass)6
-rw-r--r--poky/meta/classes-recipe/rootfs_rpm.bbclass (renamed from poky/meta/classes/rootfs_rpm.bbclass)6
-rw-r--r--poky/meta/classes-recipe/rootfsdebugfiles.bbclass (renamed from poky/meta/classes/rootfsdebugfiles.bbclass)6
-rw-r--r--poky/meta/classes-recipe/rust-bin.bbclass (renamed from poky/meta/classes/rust-bin.bbclass)7
-rw-r--r--poky/meta/classes-recipe/rust-common.bbclass (renamed from poky/meta/classes/rust-common.bbclass)96
-rw-r--r--poky/meta/classes-recipe/rust-target-config.bbclass (renamed from poky/meta/classes/rust-target-config.bbclass)53
-rw-r--r--poky/meta/classes-recipe/rust.bbclass (renamed from poky/meta/classes/rust.bbclass)12
-rw-r--r--poky/meta/classes-recipe/scons.bbclass (renamed from poky/meta/classes/scons.bbclass)6
-rw-r--r--poky/meta/classes-recipe/setuptools3-base.bbclass (renamed from poky/meta/classes/setuptools3-base.bbclass)6
-rw-r--r--poky/meta/classes-recipe/setuptools3.bbclass (renamed from poky/meta/classes/setuptools3.bbclass)6
-rw-r--r--poky/meta/classes-recipe/setuptools3_legacy.bbclass (renamed from poky/meta/classes/setuptools3_legacy.bbclass)6
-rw-r--r--poky/meta/classes-recipe/siteinfo.bbclass (renamed from poky/meta/classes/siteinfo.bbclass)6
-rw-r--r--poky/meta/classes-recipe/syslinux.bbclass (renamed from poky/meta/classes/syslinux.bbclass)4
-rw-r--r--poky/meta/classes-recipe/systemd-boot-cfg.bbclass (renamed from poky/meta/classes/systemd-boot-cfg.bbclass)6
-rw-r--r--poky/meta/classes-recipe/systemd-boot.bbclass (renamed from poky/meta/classes/systemd-boot.bbclass)2
-rw-r--r--poky/meta/classes-recipe/systemd.bbclass (renamed from poky/meta/classes/systemd.bbclass)6
-rw-r--r--poky/meta/classes-recipe/testimage.bbclass (renamed from poky/meta/classes/testimage.bbclass)2
-rw-r--r--poky/meta/classes-recipe/testsdk.bbclass (renamed from poky/meta/classes/testsdk.bbclass)2
-rw-r--r--poky/meta/classes-recipe/texinfo.bbclass (renamed from poky/meta/classes/texinfo.bbclass)6
-rw-r--r--poky/meta/classes-recipe/toolchain-scripts-base.bbclass (renamed from poky/meta/classes/toolchain-scripts-base.bbclass)6
-rw-r--r--poky/meta/classes-recipe/toolchain-scripts.bbclass (renamed from poky/meta/classes/toolchain-scripts.bbclass)6
-rw-r--r--poky/meta/classes-recipe/uboot-config.bbclass (renamed from poky/meta/classes/uboot-config.bbclass)11
-rw-r--r--poky/meta/classes-recipe/uboot-extlinux-config.bbclass (renamed from poky/meta/classes/uboot-extlinux-config.bbclass)2
-rw-r--r--poky/meta/classes-recipe/uboot-sign.bbclass (renamed from poky/meta/classes/uboot-sign.bbclass)6
-rw-r--r--poky/meta/classes-recipe/update-alternatives.bbclass (renamed from poky/meta/classes/update-alternatives.bbclass)6
-rw-r--r--poky/meta/classes-recipe/update-rc.d.bbclass (renamed from poky/meta/classes/update-rc.d.bbclass)6
-rw-r--r--poky/meta/classes-recipe/upstream-version-is-even.bbclass (renamed from poky/meta/classes/upstream-version-is-even.bbclass)6
-rw-r--r--poky/meta/classes-recipe/vala.bbclass (renamed from poky/meta/classes/vala.bbclass)6
-rw-r--r--poky/meta/classes-recipe/waf.bbclass (renamed from poky/meta/classes/waf.bbclass)6
-rw-r--r--poky/meta/classes-recipe/xmlcatalog.bbclass (renamed from poky/meta/classes/xmlcatalog.bbclass)6
-rw-r--r--poky/meta/classes/archiver.bbclass12
-rw-r--r--poky/meta/classes/buildhistory.bbclass4
-rw-r--r--poky/meta/classes/buildstats-summary.bbclass6
-rw-r--r--poky/meta/classes/ccache.bbclass6
-rw-r--r--poky/meta/classes/ccmake.bbclass6
-rw-r--r--poky/meta/classes/chrpath.bbclass6
-rw-r--r--poky/meta/classes/copyleft_compliance.bbclass6
-rw-r--r--poky/meta/classes/copyleft_filter.bbclass8
-rw-r--r--poky/meta/classes/create-spdx.bbclass4
-rw-r--r--poky/meta/classes/cve-check.bbclass42
-rw-r--r--poky/meta/classes/devtool-source.bbclass6
-rw-r--r--poky/meta/classes/distrooverrides.bbclass6
-rw-r--r--poky/meta/classes/extrausers.bbclass6
-rw-r--r--poky/meta/classes/icecc.bbclass6
-rw-r--r--poky/meta/classes/image-buildinfo.bbclass2
-rw-r--r--poky/meta/classes/mcextend.bbclass6
-rw-r--r--poky/meta/classes/metadata_scm.bbclass5
-rw-r--r--poky/meta/classes/migrate_localcount.bbclass6
-rw-r--r--poky/meta/classes/multilib.bbclass6
-rw-r--r--poky/meta/classes/multilib_global.bbclass6
-rw-r--r--poky/meta/classes/oelint.bbclass6
-rw-r--r--poky/meta/classes/overlayfs-etc.bbclass6
-rw-r--r--poky/meta/classes/overlayfs.bbclass6
-rw-r--r--poky/meta/classes/own-mirrors.bbclass6
-rw-r--r--poky/meta/classes/pkgconfig.bbclass2
-rw-r--r--poky/meta/classes/prexport.bbclass6
-rw-r--r--poky/meta/classes/primport.bbclass6
-rw-r--r--poky/meta/classes/recipe_sanity.bbclass6
-rw-r--r--poky/meta/classes/relative_symlinks.bbclass6
-rw-r--r--poky/meta/classes/relocatable.bbclass6
-rw-r--r--poky/meta/classes/remove-libtool.bbclass6
-rw-r--r--poky/meta/classes/report-error.bbclass3
-rw-r--r--poky/meta/classes/rm_work.bbclass6
-rw-r--r--poky/meta/classes/rm_work_and_downloads.bbclass3
-rw-r--r--poky/meta/classes/sign_ipk.bbclass6
-rw-r--r--poky/meta/classes/sign_package_feed.bbclass6
-rw-r--r--poky/meta/classes/sign_rpm.bbclass6
-rw-r--r--poky/meta/classes/siteconfig.bbclass6
-rw-r--r--poky/meta/classes/terminal.bbclass6
-rw-r--r--poky/meta/classes/testexport.bbclass10
-rw-r--r--poky/meta/classes/toaster.bbclass2
-rw-r--r--poky/meta/classes/typecheck.bbclass6
-rw-r--r--poky/meta/classes/useradd-staticids.bbclass6
-rw-r--r--poky/meta/classes/useradd.bbclass6
-rw-r--r--poky/meta/classes/useradd_base.bbclass6
-rw-r--r--poky/meta/classes/yocto-check-layer.bbclass6
-rw-r--r--poky/meta/conf/bitbake.conf15
-rw-r--r--poky/meta/conf/distro/include/default-distrovars.inc2
-rw-r--r--poky/meta/conf/distro/include/maintainers.inc14
-rw-r--r--poky/meta/conf/distro/include/no-static-libs.inc2
-rw-r--r--poky/meta/conf/distro/include/ptest-packagelists.inc1
-rw-r--r--poky/meta/conf/distro/include/tcmode-default.inc10
-rw-r--r--poky/meta/conf/distro/include/yocto-uninative.inc10
-rw-r--r--poky/meta/conf/machine/include/x86/x86-base.inc2
-rw-r--r--poky/meta/conf/machine/qemuarmv5.conf2
-rw-r--r--poky/meta/conf/machine/qemux86-64.conf2
-rw-r--r--poky/meta/conf/testexport.conf3
-rw-r--r--poky/meta/files/layers.example.json48
-rw-r--r--poky/meta/files/layers.schema.json76
-rw-r--r--poky/meta/lib/bblayers/buildconf.py85
-rw-r--r--poky/meta/lib/bblayers/create.py2
-rw-r--r--poky/meta/lib/bblayers/makesetup.py107
-rw-r--r--poky/meta/lib/bblayers/setupwriters/oe-setup-layers.py50
-rw-r--r--poky/meta/lib/buildstats.py2
-rw-r--r--poky/meta/lib/oe/__init__.py2
-rw-r--r--poky/meta/lib/oe/cachedpath.py2
-rw-r--r--poky/meta/lib/oe/classextend.py2
-rw-r--r--poky/meta/lib/oe/classutils.py2
-rw-r--r--poky/meta/lib/oe/copy_buildsystem.py2
-rw-r--r--poky/meta/lib/oe/cve_check.py8
-rw-r--r--poky/meta/lib/oe/data.py2
-rw-r--r--poky/meta/lib/oe/distro_check.py2
-rw-r--r--poky/meta/lib/oe/elf.py2
-rw-r--r--poky/meta/lib/oe/gpg_sign.py2
-rw-r--r--poky/meta/lib/oe/license.py2
-rw-r--r--poky/meta/lib/oe/lsb.py2
-rw-r--r--poky/meta/lib/oe/maketype.py2
-rw-r--r--poky/meta/lib/oe/manifest.py2
-rw-r--r--poky/meta/lib/oe/npm_registry.py6
-rw-r--r--poky/meta/lib/oe/overlayfs.py2
-rw-r--r--poky/meta/lib/oe/package.py2
-rw-r--r--poky/meta/lib/oe/package_manager/__init__.py2
-rw-r--r--poky/meta/lib/oe/package_manager/deb/__init__.py2
-rw-r--r--poky/meta/lib/oe/package_manager/deb/manifest.py2
-rw-r--r--poky/meta/lib/oe/package_manager/deb/rootfs.py2
-rw-r--r--poky/meta/lib/oe/package_manager/deb/sdk.py2
-rw-r--r--poky/meta/lib/oe/package_manager/ipk/__init__.py2
-rw-r--r--poky/meta/lib/oe/package_manager/ipk/manifest.py2
-rw-r--r--poky/meta/lib/oe/package_manager/ipk/rootfs.py2
-rw-r--r--poky/meta/lib/oe/package_manager/ipk/sdk.py2
-rw-r--r--poky/meta/lib/oe/package_manager/rpm/__init__.py2
-rw-r--r--poky/meta/lib/oe/package_manager/rpm/manifest.py2
-rw-r--r--poky/meta/lib/oe/package_manager/rpm/rootfs.py2
-rw-r--r--poky/meta/lib/oe/package_manager/rpm/sdk.py2
-rw-r--r--poky/meta/lib/oe/packagedata.py2
-rw-r--r--poky/meta/lib/oe/packagegroup.py2
-rw-r--r--poky/meta/lib/oe/patch.py2
-rw-r--r--poky/meta/lib/oe/path.py2
-rw-r--r--poky/meta/lib/oe/prservice.py2
-rw-r--r--poky/meta/lib/oe/qa.py2
-rw-r--r--poky/meta/lib/oe/reproducible.py2
-rw-r--r--poky/meta/lib/oe/rootfs.py2
-rw-r--r--poky/meta/lib/oe/rust.py6
-rw-r--r--poky/meta/lib/oe/sbom.py2
-rw-r--r--poky/meta/lib/oe/sdk.py2
-rw-r--r--poky/meta/lib/oe/spdx.py2
-rw-r--r--poky/meta/lib/oe/sstatesig.py2
-rw-r--r--poky/meta/lib/oe/terminal.py2
-rw-r--r--poky/meta/lib/oe/types.py2
-rw-r--r--poky/meta/lib/oe/useradd.py2
-rw-r--r--poky/meta/lib/oe/utils.py2
-rw-r--r--poky/meta/lib/oeqa/controllers/__init__.py2
-rw-r--r--poky/meta/lib/oeqa/controllers/testtargetloader.py2
-rw-r--r--poky/meta/lib/oeqa/core/utils/concurrencytest.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/_qemutiny.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/apt.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/boot.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/buildcpio.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/buildgalculator.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/buildlzip.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/connman.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/date.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/df.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/dnf.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py5
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/gcc.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/gi.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/go.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/gstreamer.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/kernelmodule.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ksample.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ldd.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/logrotate.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/multilib.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/oe_syslog.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/opkg.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/pam.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/parselogs.py4
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/perl.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ping.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ptest.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/python.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/rpm.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/rt.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/rtc.py5
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/runlevel.py5
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/rust.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/scons.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/scp.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/skeletoninit.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ssh.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/stap.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/storage.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/suspend.py5
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/systemd.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/terminal.py5
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/usb_hid.py5
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/weston.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/x32lib.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/xorg.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/buildtools-cases/build.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/buildtools-cases/gcc.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/buildtools-cases/https.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/buildtools-cases/sanity.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/buildtools-docs-cases/build.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/assimp.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/buildcpio.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/buildepoxy.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/buildgalculator.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/buildlzip.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/gcc.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/perl.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/python.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/rust.py2
-rw-r--r--poky/meta/lib/oeqa/sdk/files/rust/hello/build.rs3
-rw-r--r--poky/meta/lib/oeqa/sdk/testmetaidesupport.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/archiver.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/bblayers.py45
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/bblogging.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/bbtests.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/binutils.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/buildhistory.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/buildoptions.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/containerimage.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/cve_check.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/debuginfod.py44
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/devtool.py38
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/distrodata.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/eSDK.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/fetch.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/fitimage.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/gcc.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/gdbserver.py66
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/glibc.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/gotoolchain.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/image_typedep.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/imagefeatures.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py7
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/intercept.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/layerappend.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/liboe.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/lic_checksum.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/manifest.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/meta_ide.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/multiconfig.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/newlib.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oelib/elf.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oelib/license.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oelib/path.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oelib/types.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oelib/utils.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oescripts.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/overlayfs.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/package.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/pkgdata.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/prservice.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/pseudo.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/recipetool.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/recipeutils.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/reproducible.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/resulttooltests.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/rootfspostcommandstests.py97
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/rpmtests.py14
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/runcmd.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/runtime_test.py16
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/selftest.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/signing.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/sstate.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/sstatetests.py28
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/sysroot.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/tinfoil.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/wic.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/wrapper.py5
-rw-r--r--poky/meta/lib/oeqa/utils/__init__.py2
-rw-r--r--poky/meta/lib/oeqa/utils/commands.py19
-rw-r--r--poky/meta/lib/oeqa/utils/dump.py2
-rw-r--r--poky/meta/lib/oeqa/utils/ftools.py2
-rw-r--r--poky/meta/lib/oeqa/utils/httpserver.py2
-rw-r--r--poky/meta/lib/oeqa/utils/logparser.py2
-rw-r--r--poky/meta/lib/oeqa/utils/network.py2
-rw-r--r--poky/meta/lib/oeqa/utils/nfs.py4
-rw-r--r--poky/meta/lib/oeqa/utils/package_manager.py2
-rw-r--r--poky/meta/lib/oeqa/utils/qemurunner.py2
-rw-r--r--poky/meta/lib/oeqa/utils/subprocesstweak.py2
-rw-r--r--poky/meta/lib/rootfspostcommands.py64
-rw-r--r--poky/meta/recipes-bsp/efivar/efivar/0001-Fix-glibc-2.36-build-mount.h-conflicts.patch60
-rw-r--r--poky/meta/recipes-bsp/efivar/efivar_38.bb1
-rw-r--r--poky/meta/recipes-bsp/gnu-efi/gnu-efi/lib-Makefile-fix-parallel-issue.patch38
-rw-r--r--poky/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch17
-rw-r--r--poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb (renamed from poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb)3
-rw-r--r--poky/meta/recipes-bsp/grub/files/CVE-2021-3695-video-readers-png-Drop-greyscale-support-to-fix-heap.patch179
-rw-r--r--poky/meta/recipes-bsp/grub/files/CVE-2021-3696-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff.patch50
-rw-r--r--poky/meta/recipes-bsp/grub/files/CVE-2021-3697-video-readers-jpeg-Block-int-underflow-wild-pointer.patch84
-rw-r--r--poky/meta/recipes-bsp/grub/files/CVE-2022-28733-net-ip-Do-IP-fragment-maths-safely.patch63
-rw-r--r--poky/meta/recipes-bsp/grub/files/CVE-2022-28734-net-http-Error-out-on-headers-with-LF-without-CR.patch58
-rw-r--r--poky/meta/recipes-bsp/grub/files/CVE-2022-28734-net-http-Fix-OOB-write-for-split-http-headers.patch56
-rw-r--r--poky/meta/recipes-bsp/grub/files/CVE-2022-28735-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch111
-rw-r--r--poky/meta/recipes-bsp/grub/files/video-Remove-trailing-whitespaces.patch693
-rw-r--r--poky/meta/recipes-bsp/grub/files/video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch264
-rw-r--r--poky/meta/recipes-bsp/grub/files/video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch53
-rw-r--r--poky/meta/recipes-bsp/grub/grub2.inc10
-rw-r--r--poky/meta/recipes-bsp/setserial/setserial/0001-setserial.c-Add-needed-system-headers-for-ioctl-and-.patch41
-rw-r--r--poky/meta/recipes-bsp/setserial/setserial_2.17.bb3
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.18.6/0001-avoid-start-failure-with-bind-user.patch (renamed from poky/meta/recipes-connectivity/bind/bind-9.18.4/0001-avoid-start-failure-with-bind-user.patch)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.18.6/0001-named-lwresd-V-and-start-log-hide-build-options.patch (renamed from poky/meta/recipes-connectivity/bind/bind-9.18.4/0001-named-lwresd-V-and-start-log-hide-build-options.patch)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.18.6/bind-ensure-searching-for-json-headers-searches-sysr.patch (renamed from poky/meta/recipes-connectivity/bind/bind-9.18.4/bind-ensure-searching-for-json-headers-searches-sysr.patch)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.18.6/bind9 (renamed from poky/meta/recipes-connectivity/bind/bind-9.18.4/bind9)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.18.6/conf.patch (renamed from poky/meta/recipes-connectivity/bind/bind-9.18.4/conf.patch)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.18.6/generate-rndc-key.sh (renamed from poky/meta/recipes-connectivity/bind/bind-9.18.4/generate-rndc-key.sh)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.18.6/init.d-add-support-for-read-only-rootfs.patch (renamed from poky/meta/recipes-connectivity/bind/bind-9.18.4/init.d-add-support-for-read-only-rootfs.patch)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.18.6/make-etc-initd-bind-stop-work.patch (renamed from poky/meta/recipes-connectivity/bind/bind-9.18.4/make-etc-initd-bind-stop-work.patch)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.18.6/named.service (renamed from poky/meta/recipes-connectivity/bind/bind-9.18.4/named.service)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind_9.18.6.bb (renamed from poky/meta/recipes-connectivity/bind/bind_9.18.4.bb)2
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5.inc1
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5/fix_service.patch30
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5_5.65.bb (renamed from poky/meta/recipes-connectivity/bluez5/bluez5_5.64.bb)2
-rw-r--r--poky/meta/recipes-connectivity/connman/connman.inc11
-rw-r--r--poky/meta/recipes-connectivity/connman/connman/CVE-2022-32292.patch37
-rw-r--r--poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p1.patch141
-rw-r--r--poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p2.patch174
-rw-r--r--poky/meta/recipes-connectivity/connman/connman_1.41.bb3
-rw-r--r--poky/meta/recipes-connectivity/iproute2/iproute2/0001-configure-Define-_GNU_SOURCE-when-checking-for-setns.patch28
-rw-r--r--poky/meta/recipes-connectivity/iproute2/iproute2/0001-ip-ipstats.c-add-an-include-where-MIN-is-defined.patch25
-rw-r--r--poky/meta/recipes-connectivity/iproute2/iproute2_5.19.0.bb (renamed from poky/meta/recipes-connectivity/iproute2/iproute2_5.18.0.bb)4
-rw-r--r--poky/meta/recipes-connectivity/kea/kea_2.2.0.bb (renamed from poky/meta/recipes-connectivity/kea/kea_2.0.2.bb)6
-rw-r--r--poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb4
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-mountd-Check-for-return-of-stat-function.patch34
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-Fix-function-prototypes.patch93
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.2.bb (renamed from poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.1.bb)11
-rw-r--r--poky/meta/recipes-connectivity/openssh/openssh/ssh_config6
-rw-r--r--poky/meta/recipes-connectivity/openssh/openssh/sshd_config17
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear.inc128
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear_2022.82.bb129
-rw-r--r--poky/meta/recipes-core/ell/ell/0001-build-fix-time.h-related-breakage-on-musl.patch79
-rw-r--r--poky/meta/recipes-core/ell/ell_0.52.bb (renamed from poky/meta/recipes-core/ell/ell_0.51.bb)6
-rw-r--r--poky/meta/recipes-core/glib-networking/glib-networking_2.72.2.bb (renamed from poky/meta/recipes-core/glib-networking/glib-networking_2.72.1.bb)2
-rw-r--r--poky/meta/recipes-core/glibc/cross-localedef-native_2.36.bb (renamed from poky/meta/recipes-core/glibc/cross-localedef-native_2.35.bb)4
-rw-r--r--poky/meta/recipes-core/glibc/glibc-common.inc2
-rw-r--r--poky/meta/recipes-core/glibc/glibc-locale_2.36.bb (renamed from poky/meta/recipes-core/glibc/glibc-locale_2.35.bb)0
-rw-r--r--poky/meta/recipes-core/glibc/glibc-mtrace_2.36.bb (renamed from poky/meta/recipes-core/glibc/glibc-mtrace_2.35.bb)0
-rw-r--r--poky/meta/recipes-core/glibc/glibc-scripts_2.36.bb (renamed from poky/meta/recipes-core/glibc/glibc-scripts_2.35.bb)0
-rw-r--r--poky/meta/recipes-core/glibc/glibc-tests_2.36.bb (renamed from poky/meta/recipes-core/glibc/glibc-tests_2.35.bb)1
-rw-r--r--poky/meta/recipes-core/glibc/glibc-testsuite_2.36.bb (renamed from poky/meta/recipes-core/glibc/glibc-testsuite_2.35.bb)0
-rw-r--r--poky/meta/recipes-core/glibc/glibc-version.inc6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch2
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch2
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch8
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch22
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch12
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch4
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch30
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch2
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch8
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch4
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch46
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch4
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0015-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch (renamed from poky/meta/recipes-core/glibc/glibc/0016-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch)6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0016-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch (renamed from poky/meta/recipes-core/glibc/glibc/0017-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch)4
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0017-powerpc-Do-not-ask-compiler-for-finding-arch.patch (renamed from poky/meta/recipes-core/glibc/glibc/0019-powerpc-Do-not-ask-compiler-for-finding-arch.patch)2
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0018-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch19
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0019-Replace-echo-with-printf-builtin-in-nscd-init-script.patch (renamed from poky/meta/recipes-core/glibc/glibc/0021-Replace-echo-with-printf-builtin-in-nscd-init-script.patch)4
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0020-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch (renamed from poky/meta/recipes-core/glibc/glibc/0022-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch)7
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0021-timezone-Make-shell-interpreter-overridable-in-tzsel.patch (renamed from poky/meta/recipes-core/glibc/glibc/0023-timezone-Make-shell-interpreter-overridable-in-tzsel.patch)10
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0022-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch27
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0023-fix-create-thread-failed-in-unprivileged-process-BZ-.patch (renamed from poky/meta/recipes-core/glibc/glibc/0024-fix-create-thread-failed-in-unprivileged-process-BZ-.patch)6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0024-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch (renamed from poky/meta/recipes-core/glibc/glibc/reproducible-paths.patch)23
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0025-startup-Force-O2.patch28
-rw-r--r--poky/meta/recipes-core/glibc/glibc_2.36.bb (renamed from poky/meta/recipes-core/glibc/glibc_2.35.bb)19
-rw-r--r--poky/meta/recipes-core/libcgroup/libcgroup/0001-api-Use-GNU-strerror_r-when-available.patch55
-rw-r--r--poky/meta/recipes-core/libcgroup/libcgroup_3.0.0.bb (renamed from poky/meta/recipes-core/libcgroup/libcgroup_2.0.2.bb)8
-rw-r--r--poky/meta/recipes-core/libxml/libxml2_2.9.14.bb6
-rw-r--r--poky/meta/recipes-core/meta/cve-update-db-native.bb51
-rw-r--r--poky/meta/recipes-core/meta/testexport-tarball.bb2
-rw-r--r--poky/meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch18
-rw-r--r--poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch20
-rw-r--r--poky/meta/recipes-core/musl/musl_git.bb2
-rw-r--r--poky/meta/recipes-core/ncurses/files/exit_prototype.patch22
-rw-r--r--poky/meta/recipes-core/ncurses/ncurses_6.3+20220423.bb1
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-Update-to-latest.patch45
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf_git.bb1
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-base.bb5
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb13
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb5
-rw-r--r--poky/meta/recipes-core/systemd/systemd-boot_251.4.bb (renamed from poky/meta/recipes-core/systemd/systemd-boot_251.3.bb)0
-rw-r--r--poky/meta/recipes-core/systemd/systemd.inc2
-rw-r--r--poky/meta/recipes-core/systemd/systemd_251.4.bb (renamed from poky/meta/recipes-core/systemd/systemd_251.3.bb)1
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty6
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit/install.patch2
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit/sysvinit_remove_linux_fs.patch17
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit_3.04.bb1
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux-libuuid_2.38.1.bb (renamed from poky/meta/recipes-core/util-linux/util-linux-libuuid_2.38.bb)0
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux.inc4
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux/0001-check-for-sys-pidfd.h.patch53
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux/0001-configure.ac-Improve-check-for-magic.patch40
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux_2.38.1.bb (renamed from poky/meta/recipes-core/util-linux/util-linux_2.38.bb)2
-rw-r--r--poky/meta/recipes-core/zlib/zlib/0001-Fix-a-bug-when-getting-a-gzip-header-extra-field-wit.patch38
-rw-r--r--poky/meta/recipes-core/zlib/zlib/0001-Fix-extra-field-processing-bug-that-dereferences-NUL.patch36
-rw-r--r--poky/meta/recipes-core/zlib/zlib_1.2.12.bb2
-rw-r--r--poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch4
-rw-r--r--poky/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch87
-rw-r--r--poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch4
-rw-r--r--poky/meta/recipes-devtools/apt/apt_2.4.5.bb3
-rw-r--r--poky/meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch64
-rw-r--r--poky/meta/recipes-devtools/autoconf/autoconf_2.71.bb1
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-2.39.inc (renamed from poky/meta/recipes-devtools/binutils/binutils-2.38.inc)26
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc2
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.39.bb (renamed from poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.38.bb)0
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.39.bb (renamed from poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.38.bb)0
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-cross.inc1
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-cross_2.39.bb (renamed from poky/meta/recipes-devtools/binutils/binutils-cross_2.38.bb)0
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.39.bb (renamed from poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.38.bb)0
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch2
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch2
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch16
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch10
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0005-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0006-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch)2
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0006-warn-for-uses-of-system-directories-when-cross-linki.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0007-warn-for-uses-of-system-directories-when-cross-linki.patch)42
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0007-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0008-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch)8
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0008-Use-libtool-2.4.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0009-Use-libtool-2.4.patch)8611
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch)2
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0010-sync-with-OE-libtool-changes.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0011-sync-with-OE-libtool-changes.patch)2
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0011-Check-for-clang-before-checking-gcc-version.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0012-Check-for-clang-before-checking-gcc-version.patch)10
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0012-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch)17
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0013-Avoid-as-info-race-condition.patch75
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0014-CVE-2019-1010204.patch49
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils_2.39.bb (renamed from poky/meta/recipes-devtools/binutils/binutils_2.38.bb)12
-rw-r--r--poky/meta/recipes-devtools/bootchart2/bootchart2/0001-Do-not-include-linux-fs.h.patch31
-rw-r--r--poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb1
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-device-utils.c-Use-linux-mount.h-instead-of-sys-moun.patch32
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.19.bb (renamed from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.1.bb)3
-rw-r--r--poky/meta/recipes-devtools/cargo/cargo-cross-canadian.inc85
-rw-r--r--poky/meta/recipes-devtools/cargo/cargo-cross-canadian_1.62.0.bb6
-rw-r--r--poky/meta/recipes-devtools/cargo/cargo.inc13
-rw-r--r--poky/meta/recipes-devtools/cargo/cargo_1.63.0.bb (renamed from poky/meta/recipes-devtools/cargo/cargo_1.62.0.bb)1
-rw-r--r--poky/meta/recipes-devtools/ccache/ccache_4.6.2.bb (renamed from poky/meta/recipes-devtools/ccache/ccache_4.6.1.bb)4
-rw-r--r--poky/meta/recipes-devtools/ccache/files/0001-Include-time.h-for-time_t.patch29
-rw-r--r--poky/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch8
-rw-r--r--poky/meta/recipes-devtools/ccache/files/0002-config-Include-sys-types.h-for-mode_t-defintion.patch25
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake-native_3.24.0.bb (renamed from poky/meta/recipes-devtools/cmake/cmake-native_3.23.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake.inc4
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake_3.24.0.bb (renamed from poky/meta/recipes-devtools/cmake/cmake_3.23.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/expect/expect/0001-Add-prototype-to-function-definitions.patch113
-rw-r--r--poky/meta/recipes-devtools/expect/expect_5.45.4.bb3
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-12.2.inc (renamed from poky/meta/recipes-devtools/gcc/gcc-12.1.inc)9
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross-canadian_12.2.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-cross-canadian_12.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross.inc1
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross_12.2.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-cross_12.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-crosssdk_12.2.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-crosssdk_12.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-multilib-config.inc2
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-runtime.inc17
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-runtime_12.2.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-runtime_12.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-sanitizers_12.2.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-sanitizers_12.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-source_12.2.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-source_12.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc/0001-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch45
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc/hardcoded-paths.patch19
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc/prefix-map-realpath.patch63
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc_12.2.bb (renamed from poky/meta/recipes-devtools/gcc/gcc_12.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc-common.inc3
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc-initial_12.2.bb (renamed from poky/meta/recipes-devtools/gcc/libgcc-initial_12.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc_12.2.bb (renamed from poky/meta/recipes-devtools/gcc/libgcc_12.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/libgfortran_12.2.bb (renamed from poky/meta/recipes-devtools/gcc/libgfortran_12.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/git/git_2.37.2.bb (renamed from poky/meta/recipes-devtools/git/git_2.37.1.bb)2
-rw-r--r--poky/meta/recipes-devtools/go/go-1.19.inc (renamed from poky/meta/recipes-devtools/go/go-1.18.4.inc)3
-rw-r--r--poky/meta/recipes-devtools/go/go-binary-native_1.19.bb (renamed from poky/meta/recipes-devtools/go/go-binary-native_1.18.4.bb)4
-rw-r--r--poky/meta/recipes-devtools/go/go-cross-canadian_1.19.bb (renamed from poky/meta/recipes-devtools/go/go-cross-canadian_1.18.4.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-cross_1.19.bb (renamed from poky/meta/recipes-devtools/go/go-cross_1.18.4.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-crosssdk_1.19.bb (renamed from poky/meta/recipes-devtools/go/go-crosssdk_1.18.4.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-native_1.19.bb (renamed from poky/meta/recipes-devtools/go/go-native_1.18.4.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-runtime_1.19.bb (renamed from poky/meta/recipes-devtools/go/go-runtime_1.18.4.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch39
-rw-r--r--poky/meta/recipes-devtools/go/go/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch18
-rw-r--r--poky/meta/recipes-devtools/go/go/0004-ld-add-soname-to-shareable-objects.patch17
-rw-r--r--poky/meta/recipes-devtools/go/go/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch12
-rw-r--r--poky/meta/recipes-devtools/go/go/0006-cmd-dist-separate-host-and-target-builds.patch41
-rw-r--r--poky/meta/recipes-devtools/go/go/filter-build-paths.patch53
-rw-r--r--poky/meta/recipes-devtools/go/go/stack-protector.patch32
-rw-r--r--poky/meta/recipes-devtools/go/go_1.19.bb (renamed from poky/meta/recipes-devtools/go/go_1.18.4.bb)0
-rw-r--r--poky/meta/recipes-devtools/json-c/json-c/0001-Fix-build-with-clang-15.patch34
-rw-r--r--poky/meta/recipes-devtools/json-c/json-c/run-ptest20
-rw-r--r--poky/meta/recipes-devtools/json-c/json-c_0.16.bb18
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf_0.68.0.bb (renamed from poky/meta/recipes-devtools/libdnf/libdnf_0.67.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/librepo/librepo/0001-metadata_downloader-Include-unistd.h-for-lseek.patch34
-rw-r--r--poky/meta/recipes-devtools/librepo/librepo_1.14.4.bb (renamed from poky/meta/recipes-devtools/librepo/librepo_1.14.3.bb)3
-rw-r--r--poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch90
-rw-r--r--poky/meta/recipes-devtools/llvm/llvm/llvm-config42
-rw-r--r--poky/meta/recipes-devtools/llvm/llvm_git.bb11
-rw-r--r--poky/meta/recipes-devtools/meson/meson_0.63.1.bb (renamed from poky/meta/recipes-devtools/meson/meson_0.63.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/mtd/mtd-utils/0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch31
-rw-r--r--poky/meta/recipes-devtools/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-git-2.patch105
-rw-r--r--poky/meta/recipes-devtools/mtd/mtd-utils_git.bb2
-rw-r--r--poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch65
-rw-r--r--poky/meta/recipes-devtools/patchelf/patchelf_0.15.0.bb (renamed from poky/meta/recipes-devtools/patchelf/patchelf_0.14.5.bb)3
-rw-r--r--poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch24
-rw-r--r--poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch28
-rw-r--r--poky/meta/recipes-devtools/perl-cross/files/0001-configure_func.sh-Add-_GNU_SOURCE-define-and-functio.patch485
-rw-r--r--poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb3
-rw-r--r--poky/meta/recipes-devtools/perl/perl_5.36.0.bb10
-rw-r--r--poky/meta/recipes-devtools/pkgconf/pkgconf_1.9.3.bb (renamed from poky/meta/recipes-devtools/pkgconf/pkgconf_1.8.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/pseudo/pseudo_git.bb2
-rw-r--r--poky/meta/recipes-devtools/python/python3-cython_0.29.32.bb18
-rw-r--r--poky/meta/recipes-devtools/python/python3-dtschema_2022.8.1.bb (renamed from poky/meta/recipes-devtools/python/python3-dtschema_2022.7.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-hatchling_1.8.1.bb (renamed from poky/meta/recipes-devtools/python/python3-hatchling_1.6.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb (renamed from poky/meta/recipes-devtools/python/python3-hypothesis_6.50.1.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-jsonschema_4.9.1.bb (renamed from poky/meta/recipes-devtools/python/python3-jsonschema_4.9.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-markdown_3.4.1.bb (renamed from poky/meta/recipes-devtools/python/python3-markdown_3.3.7.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-more-itertools_8.14.0.bb (renamed from poky/meta/recipes-devtools/python/python3-more-itertools_8.13.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-numpy_1.23.2.bb (renamed from poky/meta/recipes-devtools/python/python3-numpy_1.23.1.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-pbr_5.10.0.bb4
-rw-r--r--poky/meta/recipes-devtools/python/python3-pbr_5.9.0.bb4
-rw-r--r--poky/meta/recipes-devtools/python/python3-pip/reproducible.patch83
-rw-r--r--poky/meta/recipes-devtools/python/python3-pip_22.2.2.bb (renamed from poky/meta/recipes-devtools/python/python3-pip_22.2.1.bb)3
-rw-r--r--poky/meta/recipes-devtools/python/python3-pyelftools_0.29.bb (renamed from poky/meta/recipes-devtools/python/python3-pyelftools_0.28.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-pygments_2.13.0.bb (renamed from poky/meta/recipes-devtools/python/python3-pygments_2.12.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-pytz_2022.2.1.bb (renamed from poky/meta/recipes-devtools/python/python3-pytz_2022.1.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-requests_2.28.1.bb1
-rw-r--r--poky/meta/recipes-devtools/python/python3-setuptools-rust/8e9892f08b1248dc03862da86915c2745e0ff7ec.patch221
-rw-r--r--poky/meta/recipes-devtools/python/python3-setuptools-rust_1.5.1.bb (renamed from poky/meta/recipes-devtools/python/python3-setuptools-rust_1.4.1.bb)7
-rw-r--r--poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch2
-rw-r--r--poky/meta/recipes-devtools/python/python3-setuptools_65.0.2.bb (renamed from poky/meta/recipes-devtools/python/python3-setuptools_63.3.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-sphinx_5.1.1.bb (renamed from poky/meta/recipes-devtools/python/python3-sphinx_5.0.2.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-urllib3_1.26.12.bb (renamed from poky/meta/recipes-devtools/python/python3-urllib3_1.26.10.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch6
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch2
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch2
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch2
-rw-r--r--poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch6
-rw-r--r--poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch2
-rw-r--r--poky/meta/recipes-devtools/python/python3_3.10.6.bb (renamed from poky/meta/recipes-devtools/python/python3_3.10.5.bb)5
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu.inc5
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_1.patch92
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_2.patch115
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_1.patch42
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_2.patch146
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/qemu-7.0.0-glibc-2.36.patch46
-rw-r--r--poky/meta/recipes-devtools/repo/repo_2.29.1.bb (renamed from poky/meta/recipes-devtools/repo/repo_2.28.bb)2
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-CVE-2021-3521.patch57
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch14
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch18
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch31
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0002-CVE-2021-3521.patch64
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0003-CVE-2021-3521.patch329
-rw-r--r--poky/meta/recipes-devtools/rpm/rpm_4.17.1.bb (renamed from poky/meta/recipes-devtools/rpm/rpm_4.17.0.bb)6
-rw-r--r--poky/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch173
-rw-r--r--poky/meta/recipes-devtools/rsync/files/0001-Turn-on-pedantic-errors-at-the-end-of-configure.patch68
-rw-r--r--poky/meta/recipes-devtools/rsync/rsync_3.2.5.bb (renamed from poky/meta/recipes-devtools/rsync/rsync_3.2.4.bb)5
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby/0001-Remove-dependency-on-libcapstone.patch36
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby_3.1.2.bb2
-rw-r--r--poky/meta/recipes-devtools/rust/README-rust.md26
-rw-r--r--poky/meta/recipes-devtools/rust/libstd-rs.inc4
-rw-r--r--poky/meta/recipes-devtools/rust/libstd-rs_1.63.0.bb (renamed from poky/meta/recipes-devtools/rust/libstd-rs_1.62.0.bb)0
-rw-r--r--poky/meta/recipes-devtools/rust/rust-cross-canadian-common.inc49
-rw-r--r--poky/meta/recipes-devtools/rust/rust-cross-canadian.inc101
-rw-r--r--poky/meta/recipes-devtools/rust/rust-cross-canadian_1.62.0.bb6
-rw-r--r--poky/meta/recipes-devtools/rust/rust-cross-canadian_1.63.0.bb2
-rw-r--r--poky/meta/recipes-devtools/rust/rust-cross.inc47
-rw-r--r--poky/meta/recipes-devtools/rust/rust-cross_1.62.0.bb8
-rw-r--r--poky/meta/recipes-devtools/rust/rust-crosssdk_1.62.0.bb8
-rw-r--r--poky/meta/recipes-devtools/rust/rust-llvm.inc9
-rw-r--r--poky/meta/recipes-devtools/rust/rust-llvm_1.63.0.bb (renamed from poky/meta/recipes-devtools/rust/rust-llvm_1.62.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/rust/rust-snapshot.inc24
-rw-r--r--poky/meta/recipes-devtools/rust/rust-source.inc8
-rw-r--r--poky/meta/recipes-devtools/rust/rust-target.inc2
-rw-r--r--poky/meta/recipes-devtools/rust/rust-tools-cross-canadian.inc38
-rw-r--r--poky/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.62.0.bb6
-rw-r--r--poky/meta/recipes-devtools/rust/rust.inc78
-rw-r--r--poky/meta/recipes-devtools/rust/rust/0001-Add-ENOTSUP-constant-for-riscv32-musl.patch27
-rw-r--r--poky/meta/recipes-devtools/rust/rust/crossbeam_atomic.patch50
-rw-r--r--poky/meta/recipes-devtools/rust/rust/hardcodepaths.patch70
-rw-r--r--poky/meta/recipes-devtools/rust/rust_1.62.0.bb21
-rw-r--r--poky/meta/recipes-devtools/rust/rust_1.63.0.bb85
-rw-r--r--poky/meta/recipes-devtools/strace/strace_5.19.bb (renamed from poky/meta/recipes-devtools/strace/strace_5.18.bb)2
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch15
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0002-linux-syslinux-implement-open_ext2_fs.patch21
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0003-linux-syslinux-implement-install_to_ext2.patch13
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0004-linux-syslinux-add-ext_file_read-and-ext_file_write.patch13
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0005-linux-syslinux-implement-handle_adv_on_ext.patch13
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0006-linux-syslinux-implement-write_to_ext-and-add-syslin.patch21
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch13
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch11
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0009-linux-syslinux-implement-install_bootblock.patch11
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch19
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0011-install-don-t-install-obsolete-file-com32.ld.patch (renamed from poky/meta/recipes-devtools/syslinux/syslinux/0001-install-don-t-install-obsolete-file-com32.ld.patch)7
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0012-libinstaller-Fix-build-with-glibc-2.36.patch56
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0013-remove-clean-script.patch27
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0014-Fix-reproducibility-issues.patch (renamed from poky/meta/recipes-devtools/syslinux/syslinux/determinism.patch)20
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/syslinux-remove-clean-script.patch17
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb9
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch8
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all1
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind_3.19.0.bb4
-rw-r--r--poky/meta/recipes-devtools/xmlto/xmlto/0001-Skip-validating-xmlto-output.patch29
-rw-r--r--poky/meta/recipes-devtools/xmlto/xmlto/configure.in-drop-the-test-of-xmllint-and-xsltproc.patch (renamed from poky/meta/recipes-devtools/xmlto/xmlto-0.0.28/configure.in-drop-the-test-of-xmllint-and-xsltproc.patch)6
-rw-r--r--poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb16
-rw-r--r--poky/meta/recipes-extended/cracklib/cracklib/0001-rules-Drop-using-register-keyword.patch278
-rw-r--r--poky/meta/recipes-extended/cracklib/cracklib/0002-rules-Correct-parameter-types-to-Debug-calls.patch40
-rw-r--r--poky/meta/recipes-extended/cracklib/cracklib_2.9.7.bb5
-rw-r--r--poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch6
-rw-r--r--poky/meta/recipes-extended/ethtool/ethtool_5.19.bb (renamed from poky/meta/recipes-extended/ethtool/ethtool_5.18.bb)2
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch78
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript_9.56.1.bb1
-rw-r--r--poky/meta/recipes-extended/libmnl/libmnl_1.0.5.bb4
-rw-r--r--poky/meta/recipes-extended/libtirpc/libtirpc_1.3.3.bb (renamed from poky/meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb)5
-rw-r--r--poky/meta/recipes-extended/lighttpd/lighttpd_1.4.66.bb (renamed from poky/meta/recipes-extended/lighttpd/lighttpd_1.4.65.bb)2
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-lapi-fsmount-resolve-conflict-in-different-header-fi.patch71
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-lapi-pidfd-adding-pidfd-header-file.patch60
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-rt-migrate-Use-int-instead-of-pthread_t-for-thread-I.patch36
-rw-r--r--poky/meta/recipes-extended/ltp/ltp_20220527.bb4
-rw-r--r--poky/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch2
-rw-r--r--poky/meta/recipes-extended/msmtp/msmtp_1.8.22.bb (renamed from poky/meta/recipes-extended/msmtp/msmtp_1.8.20.bb)2
-rw-r--r--poky/meta/recipes-extended/pam/libpam/99_pam2
-rw-r--r--poky/meta/recipes-extended/screen/screen/0001-configure-Add-needed-system-headers-in-checks.patch151
-rw-r--r--poky/meta/recipes-extended/screen/screen_4.9.0.bb3
-rw-r--r--poky/meta/recipes-extended/shadow/files/0001-Drop-nsswitch.conf-message-when-not-in-place-eg.-musl.patch27
-rw-r--r--poky/meta/recipes-extended/shadow/files/0001-shadow-use-relaxed-usernames.patch (renamed from poky/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch)47
-rw-r--r--poky/meta/recipes-extended/shadow/files/shadow-4.1.3-dots-in-usernames.patch27
-rw-r--r--poky/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch4
-rw-r--r--poky/meta/recipes-extended/shadow/shadow.inc15
-rw-r--r--poky/meta/recipes-extended/shadow/shadow_4.12.1.bb (renamed from poky/meta/recipes-extended/shadow/shadow_4.11.1.bb)0
-rw-r--r--poky/meta/recipes-extended/slang/slang/dont-link-to-host.patch23
-rw-r--r--poky/meta/recipes-extended/slang/slang/terminfo_fixes.patch28
-rw-r--r--poky/meta/recipes-extended/slang/slang_2.3.3.bb (renamed from poky/meta/recipes-extended/slang/slang_2.3.2.bb)3
-rw-r--r--poky/meta/recipes-extended/stress-ng/stress-ng/0001-core-helper-remove-include-of-sys-mount.h.patch34
-rw-r--r--poky/meta/recipes-extended/stress-ng/stress-ng/0002-core-shim-remove-include-of-sys-mount.h.patch34
-rw-r--r--poky/meta/recipes-extended/stress-ng/stress-ng_0.14.03.bb (renamed from poky/meta/recipes-extended/stress-ng/stress-ng_0.14.02.bb)7
-rw-r--r--poky/meta/recipes-extended/sysklogd/sysklogd_2.4.4.bb (renamed from poky/meta/recipes-extended/sysklogd/sysklogd_2.4.0.bb)2
-rw-r--r--poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-implicit-function-declaration-warnings.patch109
-rw-r--r--poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb1
-rw-r--r--poky/meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch27
-rw-r--r--poky/meta/recipes-extended/time/time_1.9.bb4
-rw-r--r--poky/meta/recipes-extended/timezone/timezone.inc6
-rw-r--r--poky/meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch112
-rw-r--r--poky/meta/recipes-extended/unzip/unzip_6.0.bb4
-rw-r--r--poky/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch37
-rw-r--r--poky/meta/recipes-extended/watchdog/watchdog_5.16.bb1
-rw-r--r--poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb2
-rw-r--r--poky/meta/recipes-extended/xz/xz/CVE-2022-1271.patch96
-rw-r--r--poky/meta/recipes-extended/xz/xz_5.2.6.bb (renamed from poky/meta/recipes-extended/xz/xz_5.2.5.bb)7
-rw-r--r--poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Specify-correct-function-signatures-and-de.patch134
-rw-r--r--poky/meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch35
-rw-r--r--poky/meta/recipes-extended/zip/zip_3.0.bb5
-rw-r--r--poky/meta/recipes-gnome/epiphany/epiphany_42.4.bb (renamed from poky/meta/recipes-gnome/epiphany/epiphany_42.3.bb)2
-rw-r--r--poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb2
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch18
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch22
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.9.bb (renamed from poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.8.bb)12
-rw-r--r--poky/meta/recipes-gnome/libnotify/libnotify_0.8.1.bb (renamed from poky/meta/recipes-gnome/libnotify/libnotify_0.8.0.bb)2
-rw-r--r--poky/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb (renamed from poky/meta/recipes-gnome/librsvg/librsvg_2.54.4.bb)18
-rw-r--r--poky/meta/recipes-graphics/harfbuzz/harfbuzz/0001-fix-signedness-of-char-in-tests.patch27
-rw-r--r--poky/meta/recipes-graphics/harfbuzz/harfbuzz_5.1.0.bb (renamed from poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.4.1.bb)6
-rw-r--r--poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.4.bb (renamed from poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.3.bb)2
-rw-r--r--poky/meta/recipes-graphics/kmscube/kmscube/0001-drm-common.c-do-not-use-invalid-modifier.patch27
-rw-r--r--poky/meta/recipes-graphics/kmscube/kmscube_git.bb6
-rw-r--r--poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb2
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa-gl_22.1.6.bb (renamed from poky/meta/recipes-graphics/mesa/mesa-gl_22.1.3.bb)0
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa.inc22
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa_22.1.6.bb (renamed from poky/meta/recipes-graphics/mesa/mesa_22.1.3.bb)0
-rw-r--r--poky/meta/recipes-graphics/pango/pango_1.50.9.bb (renamed from poky/meta/recipes-graphics/pango/pango_1.50.8.bb)2
-rw-r--r--poky/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch (renamed from poky/meta/recipes-graphics/piglit/piglit/0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch)0
-rw-r--r--poky/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch (renamed from poky/meta/recipes-graphics/piglit/piglit/0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch)0
-rw-r--r--poky/meta/recipes-graphics/piglit/piglit/0004-CMakeLists.txt-add-missing-endian.h-check.patch (renamed from poky/meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-add-missing-endian.h-check.patch)0
-rw-r--r--poky/meta/recipes-graphics/piglit/piglit/0005-cmake-Don-t-enable-GLX-if-tests-are-disabled.patch32
-rw-r--r--poky/meta/recipes-graphics/piglit/piglit_git.bb14
-rw-r--r--poky/meta/recipes-graphics/shaderc/shaderc_2022.2.bb (renamed from poky/meta/recipes-graphics/shaderc/shaderc_2022.1.bb)2
-rw-r--r--poky/meta/recipes-graphics/spir/spirv-tools/0001-Remove-default-copy-constructor-in-header.-4879.patch34
-rw-r--r--poky/meta/recipes-graphics/spir/spirv-tools_1.3.216.0.bb4
-rw-r--r--poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-Qualify-move-as-std-move.patch405
-rw-r--r--poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch27
-rw-r--r--poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb4
-rw-r--r--poky/meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch32
-rw-r--r--poky/meta/recipes-graphics/wayland/weston_10.0.2.bb (renamed from poky/meta/recipes-graphics/wayland/weston_10.0.1.bb)5
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxcvt_0.1.2.bb (renamed from poky/meta/recipes-graphics/xorg-lib/libxcvt_0.1.1.bb)2
-rw-r--r--poky/meta/recipes-graphics/xorg-proto/xorgproto_2022.2.bb (renamed from poky/meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb)4
-rw-r--r--poky/meta/recipes-kernel/kexec/kexec-tools_2.0.25.bb (renamed from poky/meta/recipes-kernel/kexec/kexec-tools_2.0.24.bb)2
-rw-r--r--poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.19.bb (renamed from poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.16.bb)4
-rw-r--r--poky/meta/recipes-kernel/linux/kernel-devsrc.bb20
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-dev.bb2
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb8
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_5.19.bb (renamed from poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb)12
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb8
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.19.bb (renamed from poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb)14
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto.inc2
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb58
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb28
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_5.19.bb70
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-compaction.patch68
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb1
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools_2.13.8.bb (renamed from poky/meta/recipes-kernel/lttng/lttng-tools_2.13.7.bb)2
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-ust_2.13.4.bb (renamed from poky/meta/recipes-kernel/lttng/lttng-ust_2.13.3.bb)2
-rw-r--r--poky/meta/recipes-kernel/perf/perf.bb3
-rw-r--r--poky/meta/recipes-kernel/systemtap/systemtap/python-3.11.patch37
-rw-r--r--poky/meta/recipes-kernel/systemtap/systemtap_git.inc1
-rw-r--r--poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2022.08.12.bb (renamed from poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2022.06.06.bb)2
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-plugins/0001-arcam_av.c-Include-missing-string.h.patch25
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.7.1.bb4
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch112
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.bb (renamed from poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.0.1.bb)6
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch86
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.bb1
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-include-required-system-headers-for-isspace-and-ssca.patch35
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.3.bb1
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/CVE-2022-34526.patch32
-rw-r--r--poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb4
-rw-r--r--poky/meta/recipes-multimedia/mpg123/mpg123_1.30.2.bb (renamed from poky/meta/recipes-multimedia/mpg123/mpg123_1.30.1.bb)2
-rw-r--r--poky/meta/recipes-multimedia/webp/libwebp_1.2.4.bb (renamed from poky/meta/recipes-multimedia/webp/libwebp_1.2.2.bb)2
-rw-r--r--poky/meta/recipes-sato/puzzles/puzzles_git.bb2
-rw-r--r--poky/meta/recipes-sato/webkit/libwpe_1.12.3.bb (renamed from poky/meta/recipes-sato/webkit/libwpe_1.12.0.bb)2
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk_2.36.6.bb (renamed from poky/meta/recipes-sato/webkit/webkitgtk_2.36.4.bb)2
-rw-r--r--poky/meta/recipes-sato/webkit/wpebackend-fdo_1.12.1.bb (renamed from poky/meta/recipes-sato/webkit/wpebackend-fdo_1.12.0.bb)2
-rw-r--r--poky/meta/recipes-support/apr/apr/0001-add-AC_CACHE_CHECK-for-strerror_r-return-type.patch52
-rw-r--r--poky/meta/recipes-support/apr/apr/0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch62
-rw-r--r--poky/meta/recipes-support/apr/apr_1.7.0.bb19
-rw-r--r--poky/meta/recipes-support/boost/boost-1.80.0.inc (renamed from poky/meta/recipes-support/boost/boost-1.79.0.inc)2
-rw-r--r--poky/meta/recipes-support/boost/boost-build-native_1.80.0.bb (renamed from poky/meta/recipes-support/boost/boost-build-native_4.4.1.bb)5
-rw-r--r--poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch19
-rw-r--r--poky/meta/recipes-support/boost/boost/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch34
-rw-r--r--poky/meta/recipes-support/boost/boost/boost-CVE-2012-2677.patch112
-rw-r--r--poky/meta/recipes-support/boost/boost_1.80.0.bb (renamed from poky/meta/recipes-support/boost/boost_1.79.0.bb)4
-rw-r--r--poky/meta/recipes-support/curl/curl_7.85.0.bb (renamed from poky/meta/recipes-support/curl/curl_7.84.0.bb)4
-rw-r--r--poky/meta/recipes-support/curl/files/0001-easy_lock-switch-to-using-atomic_int-instead-of-bool.patch37
-rw-r--r--poky/meta/recipes-support/curl/files/0001-easy_lock.h-include-sched.h-if-available-to-fix-buil.patch33
-rw-r--r--poky/meta/recipes-support/diffoscope/diffoscope_220.bb (renamed from poky/meta/recipes-support/diffoscope/diffoscope_218.bb)2
-rw-r--r--poky/meta/recipes-support/gnutls/gnutls_3.7.7.bb (renamed from poky/meta/recipes-support/gnutls/gnutls_3.7.6.bb)2
-rw-r--r--poky/meta/recipes-support/gnutls/libtasn1_4.19.0.bb (renamed from poky/meta/recipes-support/gnutls/libtasn1_4.18.0.bb)2
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch18
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme_1.18.0.bb (renamed from poky/meta/recipes-support/gpgme/gpgme_1.17.1.bb)2
-rw-r--r--poky/meta/recipes-support/icu/icu_71.1.bb14
-rw-r--r--poky/meta/recipes-support/iso-codes/iso-codes_4.11.0.bb (renamed from poky/meta/recipes-support/iso-codes/iso-codes_4.10.0.bb)2
-rw-r--r--poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.14.bb (renamed from poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.12.bb)4
-rw-r--r--poky/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch2
-rw-r--r--poky/meta/recipes-support/libcap/libcap_2.65.bb (renamed from poky/meta/recipes-support/libcap/libcap_2.64.bb)2
-rw-r--r--poky/meta/recipes-support/libevdev/libevdev_1.13.0.bb (renamed from poky/meta/recipes-support/libevdev/libevdev_1.12.1.bb)2
-rw-r--r--poky/meta/recipes-support/libgcrypt/files/0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch79
-rw-r--r--poky/meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch18
-rw-r--r--poky/meta/recipes-support/libgcrypt/files/run-ptest8
-rw-r--r--poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb26
-rw-r--r--poky/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.75.bb7
-rw-r--r--poky/meta/recipes-support/liburcu/liburcu_0.13.2.bb (renamed from poky/meta/recipes-support/liburcu/liburcu_0.13.1.bb)2
-rw-r--r--poky/meta/recipes-support/lz4/files/CVE-2021-3520.patch27
-rw-r--r--poky/meta/recipes-support/lz4/lz4_1.9.4.bb (renamed from poky/meta/recipes-support/lz4/lz4_1.9.3.bb)10
-rw-r--r--poky/meta/recipes-support/nettle/nettle_3.8.1.bb (renamed from poky/meta/recipes-support/nettle/nettle_3.8.bb)2
-rw-r--r--poky/meta/recipes-support/pinentry/pinentry_1.2.0.bb3
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/rng-tools.service5
-rw-r--r--poky/meta/recipes-support/sqlite/sqlite3_3.39.2.bb (renamed from poky/meta/recipes-support/sqlite/sqlite3_3.39.1.bb)2
-rw-r--r--poky/meta/recipes-support/vim/vim.inc4
-rwxr-xr-xpoky/scripts/autobuilder-worker-prereq-tests2
-rwxr-xr-xpoky/scripts/bitbake-prserv-tool2
-rwxr-xr-xpoky/scripts/bitbake-whatchanged4
-rwxr-xr-xpoky/scripts/combo-layer-hook-default.sh2
-rwxr-xr-xpoky/scripts/contrib/ddimage2
-rwxr-xr-xpoky/scripts/contrib/dialog-power-control2
-rwxr-xr-xpoky/scripts/contrib/documentation-audit.sh2
-rwxr-xr-xpoky/scripts/contrib/patchreview.py2
-rwxr-xr-xpoky/scripts/contrib/test_build_time_worker.sh2
-rwxr-xr-xpoky/scripts/contrib/verify-homepage.py2
-rwxr-xr-xpoky/scripts/cp-noerror2
-rwxr-xr-xpoky/scripts/gen-lockedsig-cache3
-rwxr-xr-xpoky/scripts/git4
-rw-r--r--poky/scripts/lib/argparse_oe.py2
-rw-r--r--poky/scripts/lib/devtool/menuconfig.py2
-rw-r--r--poky/scripts/lib/devtool/standard.py16
-rw-r--r--poky/scripts/lib/recipetool/create_buildsys_python.py2
-rw-r--r--poky/scripts/lib/wic/ksparser.py2
-rw-r--r--poky/scripts/lib/wic/plugins/source/bootimg-partition.py2
-rw-r--r--poky/scripts/lib/wic/plugins/source/empty.py2
-rw-r--r--poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py2
-rw-r--r--poky/scripts/lib/wic/plugins/source/rawcopy.py6
-rwxr-xr-xpoky/scripts/oe-debuginfod2
-rwxr-xr-xpoky/scripts/oe-gnome-terminal-phonehome2
-rwxr-xr-xpoky/scripts/oe-pkgdata-browser5
-rwxr-xr-xpoky/scripts/oe-pylint2
-rwxr-xr-xpoky/scripts/oe-setup-builddir21
-rwxr-xr-xpoky/scripts/oe-setup-layers78
-rwxr-xr-xpoky/scripts/oe-time-dd-test.sh4
-rwxr-xr-xpoky/scripts/oe-trim-schemas2
-rwxr-xr-xpoky/scripts/oepydevshell-internal.py2
-rwxr-xr-xpoky/scripts/pythondeps2
-rwxr-xr-xpoky/scripts/relocate_sdk.py10
-rw-r--r--poky/scripts/runqemu.README16
-rwxr-xr-xpoky/scripts/sstate-diff-machines.sh2
-rwxr-xr-xpoky/scripts/sstate-sysroot-cruft.sh2
-rwxr-xr-xpoky/scripts/sysroot-relativelinks.py2
-rwxr-xr-xpoky/scripts/task-time2
-rwxr-xr-xpoky/scripts/verify-bashisms2
1515 files changed, 32999 insertions, 8832 deletions
diff --git a/meta-arm/.gitlab-ci.yml b/meta-arm/.gitlab-ci.yml
index 840a65074d..1fb21f60f4 100644
--- a/meta-arm/.gitlab-ci.yml
+++ b/meta-arm/.gitlab-ci.yml
@@ -171,6 +171,13 @@ qemuarm64-secureboot:
TCLIBC: [glibc, musl]
TESTING: testimage
+qemuarm64-secureboot-ts:
+ extends: .build
+ parallel:
+ matrix:
+ - TCLIBC: [glibc, musl]
+ TESTING: testimage
+
qemuarm64:
extends: .build
parallel:
diff --git a/meta-arm/ci/qemuarm64-secureboot-ts.yml b/meta-arm/ci/qemuarm64-secureboot-ts.yml
new file mode 100644
index 0000000000..66a27c684b
--- /dev/null
+++ b/meta-arm/ci/qemuarm64-secureboot-ts.yml
@@ -0,0 +1,28 @@
+# Build qemuarm64-secureboot machine with
+# Trusted Services secure partition included into optee-os image.
+#
+# Run Trustes Services OEQA tests.
+
+header:
+ version: 11
+ includes:
+ - ci/base.yml
+ - ci/meta-openembedded.yml
+
+machine: qemuarm64-secureboot
+
+local_conf_header:
+ failing_tests: |
+ # software IO TLB: Cannot allocate buffer
+ DEFAULT_TEST_SUITES:remove = "parselogs"
+ trusted_services: |
+ TEST_SUITES:append = " trusted_services"
+ # Include TS Crypto, Storage, ITS, Attestation and SMM-Gateway SPs into optee-os image
+ MACHINE_FEATURES:append = " arm-ffa ts-crypto ts-storage ts-its ts-attestation ts-smm-gateway"
+ # Include TS demo/test tools into image
+ IMAGE_INSTALL:append = " packagegroup-ts-tests"
+ # Include TS PSA Arch tests into image
+ IMAGE_INSTALL:append = " packagegroup-ts-tests-psa"
+
+target:
+ - core-image-base
diff --git a/meta-arm/documentation/oeqa-fvp.md b/meta-arm/documentation/oeqa-fvp.md
new file mode 100644
index 0000000000..582dd38bd6
--- /dev/null
+++ b/meta-arm/documentation/oeqa-fvp.md
@@ -0,0 +1,55 @@
+# OEQA on Arm FVPs
+
+OE-Core's [oeqa][OEQA] framework provides a method of performing runtime tests on machines using the `testimage` Yocto task. meta-arm has good support for writing test cases against [Arm FVPs][FVP], meaning the [runfvp][RUNFVP] boot configuration can be re-used.
+
+Tests can be configured to run automatically post-build by setting the variable `TESTIMAGE_AUTO="1"`, e.g. in your Kas file or local.conf.
+
+There are two main methods of testing, using different test "targets".
+
+## OEFVPTarget
+
+This runs test cases on a machine using SSH. It therefore requires that an SSH server is installed in the image.
+
+In test cases, the primary interface with the target is, e.g:
+```
+(status, output) = self.target.run('uname -a')
+```
+which runs a single command on the target (using `ssh -c`) and returns the status code and the output. It is therefore useful for running tests in a Linux environment.
+
+For examples of test cases, see meta/lib/oeqa/runtime/cases in OE-Core. The majority of test cases depend on `ssh.SSHTest.test_ssh`, which first validates that the SSH connection is functioning.
+
+Example machine configuration:
+```
+TEST_TARGET = "OEFVPTarget"
+TEST_SERVER_IP = "127.0.0.1"
+TEST_TARGET_IP = "127.0.0.1:8022"
+IMAGE_FEATURES:append = " ssh-server-dropbear"
+FVP_CONFIG[bp.virtio_net.hostbridge.userNetPorts] ?= "8022=22"
+```
+
+## OEFVPSerialTarget
+
+This runs tests against one or more serial consoles on the FVP. It is more flexible than OEFVPTarget, but test cases written for this test target do not support the test cases in OE-core. As it does not require an SSH server, it is suitable for machines with performance or memory limitations.
+
+Internally, this test target launches a [Pexpect][PEXPECT] instance for each entry in FVP_CONSOLES which can be used with the provided alias. The whole Pexpect API is exposed on the target, where the alias is always passed as the first argument, e.g.:
+```
+self.target.expect('default', r'root@.*\:~#', timeout=30)
+self.assertNotIn(b'ERROR:', self.target.before('tf-a'))
+```
+
+For an example of a full test case, see meta-arm/lib/oeqa/runtime/cases/linuxboot.py This test case can be used to minimally verify that a machine boots to a Linux shell. The default timeout is 10 minutes, but this can be configured with the variable TEST_FVP_LINUX_BOOT_TIMEOUT, which expects a value in seconds.
+
+The SSH interface described above is also available on OEFVPSerialTarget to support writing a set of hybrid test suites that use a combination of serial and SSH access. Note however that this test target does not guarantee that Linux has booted to shell prior to running any tests, so the test cases in OE-core are not supported.
+
+Example machine configuration:
+```
+TEST_TARGET="OEFVPSerialTarget"
+TEST_SUITES="linuxboot"
+FVP_CONSOLES[default] = "terminal_0"
+FVP_CONSOLES[tf-a] = "s_terminal_0"
+```
+
+[OEQA]: https://docs.yoctoproject.org/test-manual/intro.html
+[FVP]: https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms
+[RUNFVP]: runfvp.md
+[PEXPECT]: https://pexpect.readthedocs.io/en/stable/overview.html
diff --git a/meta-arm/documentation/runfvp.md b/meta-arm/documentation/runfvp.md
index b9e007b15a..c792f4e082 100644
--- a/meta-arm/documentation/runfvp.md
+++ b/meta-arm/documentation/runfvp.md
@@ -98,13 +98,16 @@ FVP_TERMINALS[bp.terminal_2] = ""
FVP_TERMINALS[bp.terminal_3] = ""
```
-### `FVP_CONSOLE`
+### `FVP_CONSOLES`
-This specifies what serial port is used when `--console` is passed to runfvp. Note that this has to be the FVP identifier but without the board prefix, for example:
+This specifies what serial ports can be used in oeqa tests, along with an alias to be used in the test cases. Note that the values have to be the FVP identifier but without the board prefix, for example:
```
-FVP_CONSOLE = "terminal_0"
+FVP_CONSOLES[default] = "terminal_0"
+FVP_CONSOLES[tf-a] = "s_terminal_0"
```
+The 'default' console is also used when `--console` is passed to runfvp.
+
### `FVP_EXTRA_ARGS`
Arbitrary extra arguments that are passed directly to the FVP. For example:
diff --git a/meta-arm/meta-arm-bsp/conf/machine/corstone500.conf b/meta-arm/meta-arm-bsp/conf/machine/corstone500.conf
index 1d25471c68..adcfddd0d0 100644
--- a/meta-arm/meta-arm-bsp/conf/machine/corstone500.conf
+++ b/meta-arm/meta-arm-bsp/conf/machine/corstone500.conf
@@ -26,7 +26,7 @@ SERIAL_CONSOLES = "115200;ttyAMA0"
UBOOT_MACHINE = "corstone500_defconfig"
UBOOT_IMAGE_ENTRYPOINT = "0x84000000"
UBOOT_IMAGE_LOADADDRESS = "0x84000000"
-PREFERRED_VERSION_u-boot ?= "2022.04"
+PREFERRED_VERSION_u-boot ?= "2022.07"
# making sure EXTRA_IMAGEDEPENDS will be used while creating the image
WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}"
diff --git a/meta-arm/meta-arm-bsp/conf/machine/fvp-base.conf b/meta-arm/meta-arm-bsp/conf/machine/fvp-base.conf
index 434812b3f9..04ec112053 100644
--- a/meta-arm/meta-arm-bsp/conf/machine/fvp-base.conf
+++ b/meta-arm/meta-arm-bsp/conf/machine/fvp-base.conf
@@ -10,6 +10,8 @@ require conf/machine/include/arm/arch-armv8a.inc
TUNE_FEATURES = "aarch64"
PREFERRED_VERSION_u-boot ?= "2022.04"
+PREFERRED_VERSION_linux-yocto ?= "5.15%"
+PREFERRED_VERSION_linux-yocto-rt ?= "5.15%"
# FVP u-boot configuration
UBOOT_MACHINE = "vexpress_aemv8a_semi_defconfig"
diff --git a/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc b/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc
index 91dbbfdb1f..ec48222956 100644
--- a/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc
+++ b/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc
@@ -22,7 +22,7 @@ TFM_SIGN_PRIVATE_KEY = "${S}/bl2/ext/mcuboot/root-RSA-3072_1.pem"
RE_IMAGE_OFFSET = "0x1000"
# u-boot
-PREFERRED_VERSION_u-boot ?= "2022.04"
+PREFERRED_VERSION_u-boot ?= "2022.07"
EXTRA_IMAGEDEPENDS += "u-boot"
UBOOT_CONFIG ??= "EFI"
@@ -46,7 +46,7 @@ EXTRA_IMAGEDEPENDS += "secure-partitions"
# Linux kernel
PREFERRED_PROVIDER_virtual/kernel:forcevariable = "linux-yocto"
PREFERRED_VERSION_linux-yocto = "5.15%"
-KERNEL_IMAGETYPE = "Image"
+KERNEL_IMAGETYPE = "Image.gz"
INITRAMFS_IMAGE_BUNDLE ?= "1"
diff --git a/meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf b/meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf
index 5e87e61dfd..5d1be823bb 100644
--- a/meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf
+++ b/meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf
@@ -30,6 +30,9 @@ EXTRA_IMAGEDEPENDS += "virtual/control-processor-firmware"
#UEFI EDK2 firmware
EXTRA_IMAGEDEPENDS += "edk2-firmware"
+#optee
+PREFERRED_VERSION_optee-os ?= "3.18.%"
+
#grub-efi
EFI_PROVIDER ?= "grub-efi"
MACHINE_FEATURES += "efi"
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/n1sdp/bl_size.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/n1sdp/bl_size.patch
deleted file mode 100644
index a5b30195d4..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/n1sdp/bl_size.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 80b1efa92486a87f9e82dbf665ef612291148de8 Mon Sep 17 00:00:00 2001
-From: Adam Johnston <adam.johnston@arm.com>
-Date: Tue, 14 Jun 2022 11:19:30 +0000
-Subject: [PATCH] arm-bsp/trusted-firmware-a: N1SDP trusted boot
-
-Increase max size of BL2 on N1SDP by 4KB to enable trusted boot
-Decrease max size of BL1 on N1SDP by 8KB so BL1/BL2 fits above BL31 progbits
-
-Signed-off-by: Adam Johnston <adam.johnston@arm.com>
-Upstream-Status: Pending [Flagged to upstream]
-
----
- plat/arm/board/n1sdp/include/platform_def.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/plat/arm/board/n1sdp/include/platform_def.h b/plat/arm/board/n1sdp/include/platform_def.h
-index c9b81bafa..7468a31ed 100644
---- a/plat/arm/board/n1sdp/include/platform_def.h
-+++ b/plat/arm/board/n1sdp/include/platform_def.h
-@@ -91,7 +91,7 @@
- * PLAT_ARM_MAX_BL1_RW_SIZE is calculated using the current BL1 RW debug size
- * plus a little space for growth.
- */
--#define PLAT_ARM_MAX_BL1_RW_SIZE 0xE000
-+#define PLAT_ARM_MAX_BL1_RW_SIZE 0xC000
-
- /*
- * PLAT_ARM_MAX_ROMLIB_RW_SIZE is define to use a full page
-@@ -110,7 +110,7 @@
- * little space for growth.
- */
- #if TRUSTED_BOARD_BOOT
--# define PLAT_ARM_MAX_BL2_SIZE 0x20000
-+# define PLAT_ARM_MAX_BL2_SIZE 0x21000
- #else
- # define PLAT_ARM_MAX_BL2_SIZE 0x14000
- #endif
---
-2.35.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-n1sdp.inc b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-n1sdp.inc
index f8a0b8d517..034dac30f4 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-n1sdp.inc
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-n1sdp.inc
@@ -1,5 +1,8 @@
# N1SDP specific TFA support
+SRCREV_tfa = "1d867c14cb41c1171d16fa7e395a4eaed3d572b2"
+PV .= "+git${SRCPV}"
+
COMPATIBLE_MACHINE = "n1sdp"
TFA_PLATFORM = "n1sdp"
TFA_BUILD_TARGET = "all fip"
@@ -9,16 +12,23 @@ TFA_MBEDTLS = "1"
TFA_UBOOT = "0"
TFA_UEFI = "1"
-SRC_URI:append = " file://bl_size.patch"
-
TFA_ROT_KEY= "plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem"
+# Enabling Secure-EL1 Payload Dispatcher (SPD)
+TFA_SPD = "spmd"
+# Cortex-A35 supports Armv8.0-A (no S-EL2 execution state).
+# So, the SPD SPMC component should run at the S-EL1 execution state
+TFA_SPMD_SPM_AT_SEL2 = "0"
+
+# BL2 loads BL32 (optee). So, optee needs to be built first:
+DEPENDS += "optee-os"
+
EXTRA_OEMAKE:append = "\
TRUSTED_BOARD_BOOT=1 \
- GENERATE_COT=1 \
- CREATE_KEYS=1 \
- ENABLE_PIE=0 \
- ARM_ROTPK_LOCATION="devel_rsa" \
- ROT_KEY="${TFA_ROT_KEY}" \
- BL33=${RECIPE_SYSROOT}/firmware/uefi.bin \
- "
+ GENERATE_COT=1 \
+ CREATE_KEYS=1 \
+ ARM_ROTPK_LOCATION="devel_rsa" \
+ ROT_KEY="${TFA_ROT_KEY}" \
+ BL32=${RECIPE_SYSROOT}/lib/firmware/tee-pager_v2.bin \
+ BL33=${RECIPE_SYSROOT}/firmware/uefi.bin \
+ "
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-cmd-load-add-load-command-for-memory-mapped.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-cmd-load-add-load-command-for-memory-mapped.patch
index d0ae964f1b..dc64e3cf6c 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-cmd-load-add-load-command-for-memory-mapped.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-cmd-load-add-load-command-for-memory-mapped.patch
@@ -1,7 +1,7 @@
-From c047b15fba9da36616bc9a346d9fe4d76e7ca4b2 Mon Sep 17 00:00:00 2001
+From 7a1a84ea74fdd06a7f5f239f4c5f4b727d6cd232 Mon Sep 17 00:00:00 2001
From: Rui Miguel Silva <rui.silva@linaro.org>
Date: Thu, 24 Jun 2021 09:25:00 +0100
-Subject: [PATCH 01/27] cmd: load: add load command for memory mapped
+Subject: [PATCH 01/24] cmd: load: add load command for memory mapped
cp.b is used a lot as a way to load binaries to memory and execute
them, however we may need to integrate this with the efi subsystem to
@@ -26,10 +26,10 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
6 files changed, 78 insertions(+)
diff --git a/README b/README
-index f51f392111f9..049bcd108980 100644
+index b7ab6e50708d..cd76f95e74c1 100644
--- a/README
+++ b/README
-@@ -2760,6 +2760,7 @@ rarpboot- boot image via network using RARP/TFTP protocol
+@@ -2578,6 +2578,7 @@ rarpboot- boot image via network using RARP/TFTP protocol
diskboot- boot from IDE devicebootd - boot default, i.e., run 'bootcmd'
loads - load S-Record file over serial line
loadb - load binary file over serial line (kermit mode)
@@ -38,10 +38,10 @@ index f51f392111f9..049bcd108980 100644
mm - memory modify (auto-incrementing)
nm - memory modify (constant address)
diff --git a/cmd/Kconfig b/cmd/Kconfig
-index 5e25e45fd288..ff50102a89c7 100644
+index 09193b61b95f..ba2f321ae989 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
-@@ -1076,6 +1076,12 @@ config CMD_LOADB
+@@ -1143,6 +1143,12 @@ config CMD_LOADB
help
Load a binary file over serial line.
@@ -55,7 +55,7 @@ index 5e25e45fd288..ff50102a89c7 100644
bool "loads"
default y
diff --git a/cmd/bootefi.c b/cmd/bootefi.c
-index 53d9f0e0dcca..8d492ea9e70c 100644
+index 827fcd97dfd8..37ce659fa123 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -34,6 +34,18 @@ static struct efi_device_path *bootefi_device_path;
@@ -141,10 +141,10 @@ index 7e4a552d90ef..1224a7f85bb3 100644
+);
+#endif /* CONFIG_CMD_LOADM */
diff --git a/include/efi_loader.h b/include/efi_loader.h
-index af36639ec6a7..126db279dd3e 100644
+index 11930fbea838..5b41985244e2 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
-@@ -585,6 +585,8 @@ efi_status_t efi_load_pe(struct efi_loaded_image_obj *handle,
+@@ -591,6 +591,8 @@ efi_status_t efi_load_pe(struct efi_loaded_image_obj *handle,
void efi_save_gd(void);
/* Call this to relocate the runtime section to an address space */
void efi_runtime_relocate(ulong offset, struct efi_mem_desc *map);
@@ -154,10 +154,10 @@ index af36639ec6a7..126db279dd3e 100644
void efi_add_handle(efi_handle_t obj);
/* Create handle */
diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c
-index 0542aaae16c7..d8dc59b2c95c 100644
+index 171661b89727..2493d7432613 100644
--- a/lib/efi_loader/efi_device_path.c
+++ b/lib/efi_loader/efi_device_path.c
-@@ -1138,6 +1138,8 @@ efi_status_t efi_dp_from_name(const char *dev, const char *devnr,
+@@ -1158,6 +1158,8 @@ efi_status_t efi_dp_from_name(const char *dev, const char *devnr,
{
struct blk_desc *desc = NULL;
struct disk_partition fs_partition;
@@ -166,7 +166,7 @@ index 0542aaae16c7..d8dc59b2c95c 100644
int part = 0;
char *filename;
char *s;
-@@ -1153,6 +1155,13 @@ efi_status_t efi_dp_from_name(const char *dev, const char *devnr,
+@@ -1173,6 +1175,13 @@ efi_status_t efi_dp_from_name(const char *dev, const char *devnr,
} else if (!strcmp(dev, "Uart")) {
if (device)
*device = efi_dp_from_uart();
@@ -181,5 +181,5 @@ index 0542aaae16c7..d8dc59b2c95c 100644
part = blk_get_device_part_str(dev, devnr, &desc, &fs_partition,
1);
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-arm-add-support-to-corstone1000-platform.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-arm-add-support-to-corstone1000-platform.patch
index e0caaa44b9..186362907e 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-arm-add-support-to-corstone1000-platform.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-arm-add-support-to-corstone1000-platform.patch
@@ -1,7 +1,7 @@
-From 5cc889db3279ef4944ab64e36db3dbab1bf9ffa5 Mon Sep 17 00:00:00 2001
+From c9a9a467bb335047812004dd022dcadf9514101f Mon Sep 17 00:00:00 2001
From: Rui Miguel Silva <rui.silva@linaro.org>
Date: Tue, 15 Feb 2022 09:44:10 +0000
-Subject: [PATCH 02/27] arm: add support to corstone1000 platform
+Subject: [PATCH 02/24] arm: add support to corstone1000 platform
Corstone1000 is a platform from arm, which includes pre
verified Corstone SSE710 sub-system that combines Cortex-A and
@@ -27,10 +27,10 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
board/armltd/corstone1000/Kconfig | 12 ++
board/armltd/corstone1000/MAINTAINERS | 7 +
board/armltd/corstone1000/Makefile | 7 +
- board/armltd/corstone1000/corstone1000.c | 121 ++++++++++++++++
+ board/armltd/corstone1000/corstone1000.c | 125 +++++++++++++++++
configs/corstone1000_defconfig | 80 +++++++++++
include/configs/corstone1000.h | 86 ++++++++++++
- 11 files changed, 548 insertions(+)
+ 11 files changed, 552 insertions(+)
create mode 100644 arch/arm/dts/corstone1000-fvp.dts
create mode 100644 arch/arm/dts/corstone1000-mps3.dts
create mode 100644 arch/arm/dts/corstone1000.dtsi
@@ -42,12 +42,12 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
create mode 100644 include/configs/corstone1000.h
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 4567c183fb84..d64051b533a7 100644
+index 9898c7d68e1b..2fc2b7d20f12 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -1266,6 +1266,12 @@ config TARGET_VEXPRESS64_JUNO
- select USB
- imply OF_HAS_PRIOR_STAGE
+@@ -1347,6 +1347,12 @@ config ARCH_VEXPRESS64
+ select ENV_IS_IN_FLASH if MTD
+ imply DISTRO_DEFAULTS
+config TARGET_CORSTONE1000
+ bool "Support Corstone1000 Platform"
@@ -58,7 +58,7 @@ index 4567c183fb84..d64051b533a7 100644
config TARGET_TOTAL_COMPUTE
bool "Support Total Compute Platform"
select ARM64
-@@ -2198,6 +2204,8 @@ source "arch/arm/mach-nexell/Kconfig"
+@@ -2295,6 +2301,8 @@ source "arch/arm/mach-npcm/Kconfig"
source "board/armltd/total_compute/Kconfig"
@@ -68,10 +68,10 @@ index 4567c183fb84..d64051b533a7 100644
source "board/bosch/guardian/Kconfig"
source "board/Marvell/octeontx/Kconfig"
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
-index 644ba961a223..7de25d09c9fe 100644
+index a7e0d9f6c0e8..8c8f15b6a813 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
-@@ -1215,6 +1215,9 @@ dtb-$(CONFIG_TARGET_EA_LPC3250DEVKITV2) += lpc3250-ea3250.dtb
+@@ -1265,6 +1265,9 @@ dtb-$(CONFIG_TARGET_EA_LPC3250DEVKITV2) += lpc3250-ea3250.dtb
dtb-$(CONFIG_ARCH_QEMU) += qemu-arm.dtb qemu-arm64.dtb
@@ -369,10 +369,10 @@ index 000000000000..77a82c28929b
+obj-y := corstone1000.o
diff --git a/board/armltd/corstone1000/corstone1000.c b/board/armltd/corstone1000/corstone1000.c
new file mode 100644
-index 000000000000..eff1739f0b02
+index 000000000000..2fa485ff3799
--- /dev/null
+++ b/board/armltd/corstone1000/corstone1000.c
-@@ -0,0 +1,121 @@
+@@ -0,0 +1,125 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * (C) Copyright 2022 ARM Limited
@@ -452,6 +452,10 @@ index 000000000000..eff1739f0b02
+
+struct mm_region *mem_map = corstone1000_mem_map;
+
++void set_dfu_alt_info(char *interface, char *devstr)
++{
++}
++
+int board_init(void)
+{
+ return 0;
@@ -673,5 +677,5 @@ index 000000000000..cf166f107efd
+ "bootefi $kernel_addr_r $fdtcontroladdr;"
+#endif
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-usb-common-move-urb-code-to-common.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-usb-common-move-urb-code-to-common.patch
index 9974915a0b..1cebd07279 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-usb-common-move-urb-code-to-common.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-usb-common-move-urb-code-to-common.patch
@@ -1,7 +1,7 @@
-From b8f4f76e135ff2061d0032292f5209ac911dba16 Mon Sep 17 00:00:00 2001
+From 61c5fe3758a0febdee33429f5be16f69279045cc Mon Sep 17 00:00:00 2001
From: Rui Miguel Silva <rui.silva@linaro.org>
Date: Mon, 28 Jun 2021 23:20:55 +0100
-Subject: [PATCH 03/27] usb: common: move urb code to common
+Subject: [PATCH 03/24] usb: common: move urb code to common
Move urb code from musb only use to a more common scope, so other
drivers in the future can use the handling of urb in usb.
@@ -493,5 +493,5 @@ index 6dd2c997f9b3..ec00161710a5 100644
/*
* Hub Status & Hub Change bit masks
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-usb-add-isp1760-family-driver.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-usb-add-isp1760-family-driver.patch
index 5940f06d4d..1dd6f2597e 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-usb-add-isp1760-family-driver.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-usb-add-isp1760-family-driver.patch
@@ -1,7 +1,7 @@
-From 62a666a83766f5517e90464638455286bb33f433 Mon Sep 17 00:00:00 2001
+From 8abb9c6a342d750a3a3a66e674c3be6597fc9f66 Mon Sep 17 00:00:00 2001
From: Rui Miguel Silva <rui.silva@linaro.org>
Date: Mon, 28 Jun 2021 23:31:25 +0100
-Subject: [PATCH 04/27] usb: add isp1760 family driver
+Subject: [PATCH 04/24] usb: add isp1760 family driver
ISP1760/61/63 are a family of usb controllers, blah, blah, more info
here.
@@ -34,10 +34,10 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
create mode 100644 drivers/usb/isp1760/isp1760-uboot.h
diff --git a/Makefile b/Makefile
-index ad83d60dc39d..2c857c1fe2cc 100644
+index 98867fbe06b4..67851020f5c1 100644
--- a/Makefile
+++ b/Makefile
-@@ -834,6 +834,7 @@ libs-y += drivers/usb/host/
+@@ -841,6 +841,7 @@ libs-y += drivers/usb/host/
libs-y += drivers/usb/mtu3/
libs-y += drivers/usb/musb/
libs-y += drivers/usb/musb-new/
@@ -3801,5 +3801,5 @@ index 000000000000..2486de6f9e27
+
+#endif
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-corstone1000-enable-isp1763-usb-controller.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-corstone1000-enable-isp1763-usb-controller.patch
index 2ce03b6401..c4654557c0 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-corstone1000-enable-isp1763-usb-controller.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-corstone1000-enable-isp1763-usb-controller.patch
@@ -1,7 +1,7 @@
-From b7fb62e512e00a5fdbb4321bb0b4109261518481 Mon Sep 17 00:00:00 2001
+From 5031fea320bb4ccc1ce7470193d8f4402ae819c9 Mon Sep 17 00:00:00 2001
From: Rui Miguel Silva <rui.silva@linaro.org>
Date: Thu, 3 Mar 2022 16:52:02 +0000
-Subject: [PATCH 05/27] corstone1000: enable isp1763 usb controller
+Subject: [PATCH 05/24] corstone1000: enable isp1763 usb controller
MPS3 board have a ISP1763 usb controller, add the
correspondent mmio area and enable it to be used for mass
@@ -44,5 +44,5 @@ index cf166f107efd..8ba0effb0ab2 100644
"boot_bank_flag=0x08002000\0" \
"kernel_addr_bank_0=0x083EE000\0" \
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-arm_ffa-introducing-Arm-FF-A-low-level-driver.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-arm_ffa-introducing-Arm-FF-A-low-level-driver.patch
index 8cc848fec3..617aaf77e2 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-arm_ffa-introducing-Arm-FF-A-low-level-driver.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-arm_ffa-introducing-Arm-FF-A-low-level-driver.patch
@@ -1,7 +1,7 @@
-From ede21dc1ca75132698cc81e88357c5789ccf67c7 Mon Sep 17 00:00:00 2001
+From 968c86e8a6ed3e9e6621f0ae44977b5b13d90bfd Mon Sep 17 00:00:00 2001
From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Date: Tue, 16 Nov 2021 12:34:52 +0000
-Subject: [PATCH 06/27] arm_ffa: introducing Arm FF-A low-level driver
+Subject: [PATCH 06/24] arm_ffa: introducing Arm FF-A low-level driver
This driver implements Arm Firmware Framework for Armv8-A on u-boot
@@ -58,10 +58,10 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
create mode 100644 lib/arm-ffa/arm_ffa_helper.c
diff --git a/MAINTAINERS b/MAINTAINERS
-index 96582fc67777..14307e6da644 100644
+index 7f27ff4c20fc..d29d7e040764 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -232,6 +232,14 @@ F: board/CZ.NIC/
+@@ -244,6 +244,14 @@ F: board/CZ.NIC/
F: configs/turris_*_defconfig
F: include/configs/turris_*.h
@@ -143,20 +143,20 @@ index 22fd541f9a28..45eca83a473c 100644
DEFINE(ARM_SMCCC_QUIRK_STATE_OFFS, offsetof(struct arm_smccc_quirk, state));
#endif
diff --git a/common/board_r.c b/common/board_r.c
-index c24d9b4e220b..af20f38b104c 100644
+index 6f4aca2077d6..412a0ea9fac3 100644
--- a/common/board_r.c
+++ b/common/board_r.c
-@@ -61,6 +61,9 @@
- #include <wdt.h>
+@@ -62,6 +62,9 @@
#include <asm-generic/gpio.h>
#include <efi_loader.h>
+ #include <relocate.h>
+#ifdef CONFIG_ARM_FFA_TRANSPORT
+#include <arm_ffa_helper.h>
+#endif
DECLARE_GLOBAL_DATA_PTR;
-@@ -770,6 +773,9 @@ static init_fnc_t init_sequence_r[] = {
+@@ -779,6 +782,9 @@ static init_fnc_t init_sequence_r[] = {
INIT_FUNC_WATCHDOG_RESET
initr_net,
#endif
@@ -180,10 +180,10 @@ index b26ca8cf70c9..e83c23789d1b 100644
source "drivers/axi/Kconfig"
diff --git a/drivers/Makefile b/drivers/Makefile
-index 4e7cf284405a..6671d2a604ab 100644
+index 67c8af74424e..1be687b55d13 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
-@@ -107,6 +107,7 @@ obj-y += iommu/
+@@ -109,6 +109,7 @@ obj-y += iommu/
obj-y += smem/
obj-y += thermal/
obj-$(CONFIG_TEE) += tee/
@@ -2249,10 +2249,10 @@ index 000000000000..0e143e54511e
+int ffa_uuid_str_to_bin(const char *uuid_str, unsigned char *uuid_bin);
+#endif
diff --git a/include/dm/uclass-id.h b/include/dm/uclass-id.h
-index 0e26e1d13824..a1181b8f48e7 100644
+index 3ba69ad9a084..732441824557 100644
--- a/include/dm/uclass-id.h
+++ b/include/dm/uclass-id.h
-@@ -52,6 +52,7 @@ enum uclass_id {
+@@ -55,6 +55,7 @@ enum uclass_id {
UCLASS_EFI_MEDIA, /* Devices provided by UEFI firmware */
UCLASS_ETH, /* Ethernet device */
UCLASS_ETH_PHY, /* Ethernet PHY device */
@@ -2320,10 +2320,10 @@ index 7f2be2339475..54980a130fdb 100644
#define arm_smccc_smc_quirk(...) __arm_smccc_smc(__VA_ARGS__)
diff --git a/lib/Kconfig b/lib/Kconfig
-index 3c6fa99b1a6a..473821b882e2 100644
+index acc0ac081a44..65db65c3c4cd 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
-@@ -810,6 +810,7 @@ config SMBIOS_PARSER
+@@ -902,6 +902,7 @@ config SMBIOS_PARSER
source lib/efi/Kconfig
source lib/efi_loader/Kconfig
source lib/optee/Kconfig
@@ -2332,7 +2332,7 @@ index 3c6fa99b1a6a..473821b882e2 100644
config TEST_FDTDEC
bool "enable fdtdec test"
diff --git a/lib/Makefile b/lib/Makefile
-index 11b03d1cbec8..8e6fad613067 100644
+index d9b1811f7506..4aa3e2ed2a7e 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -9,6 +9,7 @@ obj-$(CONFIG_EFI) += efi/
@@ -2564,7 +2564,7 @@ index 000000000000..623899d38044
+ return 0;
+}
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
-index 5bcb8253edba..cffa2c69d621 100644
+index 4da64b5d2962..c68d9ed4f0bd 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -23,6 +23,10 @@
@@ -2578,7 +2578,7 @@ index 5bcb8253edba..cffa2c69d621 100644
DECLARE_GLOBAL_DATA_PTR;
/* Task priority level */
-@@ -2114,6 +2118,10 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle,
+@@ -2113,6 +2117,10 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle,
struct efi_event *evt, *next_event;
efi_status_t ret = EFI_SUCCESS;
@@ -2589,7 +2589,7 @@ index 5bcb8253edba..cffa2c69d621 100644
EFI_ENTRY("%p, %zx", image_handle, map_key);
/* Check that the caller has read the current memory map */
-@@ -2174,6 +2182,15 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle,
+@@ -2173,6 +2181,15 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle,
dm_remove_devices_flags(DM_REMOVE_ACTIVE_ALL);
}
@@ -2606,5 +2606,5 @@ index 5bcb8253edba..cffa2c69d621 100644
efi_runtime_detach();
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-arm_ffa-introducing-armffa-command.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-arm_ffa-introducing-armffa-command.patch
index 83f0547ea9..582bc3e5aa 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-arm_ffa-introducing-armffa-command.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-arm_ffa-introducing-armffa-command.patch
@@ -1,7 +1,7 @@
-From 541b2b51dc77832ab5845cab4762d29976838d36 Mon Sep 17 00:00:00 2001
+From 58358f79d9f8abbdc8bcfc7d08bd0c7c4c90ec84 Mon Sep 17 00:00:00 2001
From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Date: Tue, 16 Nov 2021 12:36:27 +0000
-Subject: [PATCH 07/27] arm_ffa: introducing armffa command
+Subject: [PATCH 07/24] arm_ffa: introducing armffa command
A new armffa command is provided as an example of how to use
the FF-A helper functions to communicate with secure world.
@@ -20,10 +20,10 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
create mode 100644 cmd/armffa.c
diff --git a/MAINTAINERS b/MAINTAINERS
-index 14307e6da644..f3fd559da54a 100644
+index d29d7e040764..32fc267fcf13 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -235,6 +235,7 @@ F: include/configs/turris_*.h
+@@ -247,6 +247,7 @@ F: include/configs/turris_*.h
ARM FF-A
M: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
S: Maintained
@@ -32,10 +32,10 @@ index 14307e6da644..f3fd559da54a 100644
F: include/arm_ffa.h
F: include/arm_ffa_helper.h
diff --git a/cmd/Kconfig b/cmd/Kconfig
-index ff50102a89c7..ff124bf4bad0 100644
+index ba2f321ae989..090e668125d5 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
-@@ -813,6 +813,16 @@ endmenu
+@@ -873,6 +873,16 @@ endmenu
menu "Device access commands"
@@ -53,7 +53,7 @@ index ff50102a89c7..ff124bf4bad0 100644
#depends on FLASH_CFI_DRIVER
bool "armflash"
diff --git a/cmd/Makefile b/cmd/Makefile
-index 166c652d9825..770b846c44e0 100644
+index 5e43a1e022e8..e40f52f1e416 100644
--- a/cmd/Makefile
+++ b/cmd/Makefile
@@ -12,6 +12,8 @@ obj-y += panic.o
@@ -338,5 +338,5 @@ index 000000000000..71a6ebb656d1
+ "devlist\n"
+ " - displays the arm_ffa device info\n");
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-arm_ffa-introducing-MM-communication-with-FF-A.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-arm_ffa-introducing-MM-communication-with-FF-A.patch
index 9b1383ebe4..3b82b416a8 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-arm_ffa-introducing-MM-communication-with-FF-A.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-arm_ffa-introducing-MM-communication-with-FF-A.patch
@@ -1,7 +1,7 @@
-From 2f09d4a2e87febd7365b9e18d669208ff2c35edc Mon Sep 17 00:00:00 2001
+From ee7c0aee66db53b2372a3b4245a8754dceee804d Mon Sep 17 00:00:00 2001
From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Date: Wed, 13 Oct 2021 17:51:44 +0100
-Subject: [PATCH 08/27] arm_ffa: introducing MM communication with FF-A
+Subject: [PATCH 08/24] arm_ffa: introducing MM communication with FF-A
This commit allows to perform MM communication using FF-A transport.
@@ -30,10 +30,10 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
2 files changed, 273 insertions(+), 6 deletions(-)
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
-index e5e35fe51f65..6827b821545e 100644
+index e3f2402d0e8e..37131237af3f 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
-@@ -56,13 +56,23 @@ config EFI_VARIABLE_FILE_STORE
+@@ -60,13 +60,23 @@ config EFI_VARIABLE_FILE_STORE
stored as file /ubootefi.var on the EFI system partition.
config EFI_MM_COMM_TEE
@@ -42,7 +42,7 @@ index e5e35fe51f65..6827b821545e 100644
+ bool "UEFI variables storage service via the trusted world"
+ depends on OPTEE || ARM_FFA_TRANSPORT
help
-+ The MM SP (also called partition) can be StandAlonneMM or smm-gateway.
++ the MM SP (also called partition) can be StandAlonneMM or smm-gateway.
+ When using the u-boot OP-TEE driver, StandAlonneMM is supported.
+ When using the u-boot FF-A driver, StandAlonneMM and smm-gateway are supported.
+
@@ -56,9 +56,9 @@ index e5e35fe51f65..6827b821545e 100644
+ MM buffer. The data is copied by u-boot to thea shared buffer before issuing
+ the door bell event.
+
- endchoice
-
- config EFI_VARIABLES_PRESEED
+ config EFI_VARIABLE_NO_STORE
+ bool "Don't persist non-volatile UEFI variables"
+ help
diff --git a/lib/efi_loader/efi_variable_tee.c b/lib/efi_loader/efi_variable_tee.c
index dfef18435dfa..9cb8cfb9c779 100644
--- a/lib/efi_loader/efi_variable_tee.c
@@ -379,5 +379,5 @@ index dfef18435dfa..9cb8cfb9c779 100644
/*
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-arm_ffa-introducing-test-module-for-UCLASS_FFA.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-arm_ffa-introducing-test-module-for-UCLASS_FFA.patch
index 4fb317ba85..ae4bb02f18 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-arm_ffa-introducing-test-module-for-UCLASS_FFA.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-arm_ffa-introducing-test-module-for-UCLASS_FFA.patch
@@ -1,7 +1,7 @@
-From c9a2c457648b732292482fae59a7fd61cefffd33 Mon Sep 17 00:00:00 2001
+From 6f998a5e94e2562b5876b88864876c8b03b88f5a Mon Sep 17 00:00:00 2001
From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Date: Tue, 16 Nov 2021 12:38:48 +0000
-Subject: [PATCH 09/27] arm_ffa: introducing test module for UCLASS_FFA
+Subject: [PATCH 09/24] arm_ffa: introducing test module for UCLASS_FFA
This is the test module for the UCLASS_FFA class.
@@ -17,10 +17,10 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
create mode 100644 test/dm/ffa.h
diff --git a/MAINTAINERS b/MAINTAINERS
-index f3fd559da54a..6510f844fe09 100644
+index 32fc267fcf13..8209dc9319f1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -240,6 +240,7 @@ F: drivers/arm-ffa/
+@@ -252,6 +252,7 @@ F: drivers/arm-ffa/
F: include/arm_ffa.h
F: include/arm_ffa_helper.h
F: lib/arm-ffa/
@@ -29,7 +29,7 @@ index f3fd559da54a..6510f844fe09 100644
ARM FREESCALE IMX
M: Stefano Babic <sbabic@denx.de>
diff --git a/test/dm/Makefile b/test/dm/Makefile
-index d46552fbf320..ddac250cdff0 100644
+index f0a7c97e3d17..09a3403d2f53 100644
--- a/test/dm/Makefile
+++ b/test/dm/Makefile
@@ -79,6 +79,7 @@ obj-$(CONFIG_POWER_DOMAIN) += power-domain.o
@@ -128,5 +128,5 @@ index 000000000000..a0802bd6928a
+
+#endif /*__TEST_DM_FFA_H */
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-arm_ffa-corstone1000-enable-FF-A-and-MM-support.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-arm_ffa-corstone1000-enable-FF-A-and-MM-support.patch
index bc96fc4619..8cab40c200 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-arm_ffa-corstone1000-enable-FF-A-and-MM-support.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-arm_ffa-corstone1000-enable-FF-A-and-MM-support.patch
@@ -1,7 +1,7 @@
-From ce6598d255113458fd5c9d19bb7469b721e37f6f Mon Sep 17 00:00:00 2001
+From c0b01dff84d74f1b5aaff0d9b594e0aaec16c744 Mon Sep 17 00:00:00 2001
From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Date: Tue, 2 Nov 2021 16:44:39 +0000
-Subject: [PATCH 10/27] arm_ffa: corstone1000: enable FF-A and MM support
+Subject: [PATCH 10/24] arm_ffa: corstone1000: enable FF-A and MM support
This commit allows corstone1000 platform to perform
MM communication between u-boot and the secure world
@@ -53,5 +53,5 @@ index 8ba0effb0ab2..afc9ccfc192b 100644
#define CONFIG_SKIP_LOWLEVEL_INIT
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0011-efi-corstone1000-introduce-EFI-capsule-update.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0011-efi-corstone1000-introduce-EFI-capsule-update.patch
index cb24ec3e14..0a829c410a 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0011-efi-corstone1000-introduce-EFI-capsule-update.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0011-efi-corstone1000-introduce-EFI-capsule-update.patch
@@ -1,7 +1,7 @@
-From e70d0128090158872847b82b82cdbcf0e2f13885 Mon Sep 17 00:00:00 2001
+From 652259af2f795a5d69c628ae7b1e79d33c234abd Mon Sep 17 00:00:00 2001
From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Date: Thu, 11 Nov 2021 16:27:59 +0000
-Subject: [PATCH 11/27] efi: corstone1000: introduce EFI capsule update
+Subject: [PATCH 11/24] efi: corstone1000: introduce EFI capsule update
This commit provides capsule update feature for Corstone1000.
@@ -58,10 +58,10 @@ index afc9ccfc192b..a400cdef69d0 100644
#define MM_SP_UUID_DATA \
0xed, 0x32, 0xd5, 0x33, \
diff --git a/include/efi_loader.h b/include/efi_loader.h
-index 126db279dd3e..01b432e6184b 100644
+index 5b41985244e2..796419b69b40 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
-@@ -965,11 +965,11 @@ extern const struct efi_firmware_management_protocol efi_fmp_fit;
+@@ -984,11 +984,11 @@ extern const struct efi_firmware_management_protocol efi_fmp_fit;
extern const struct efi_firmware_management_protocol efi_fmp_raw;
/* Capsule update */
@@ -76,10 +76,10 @@ index 126db279dd3e..01b432e6184b 100644
efi_uintn_t capsule_count,
u64 *maximum_capsule_size,
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
-index cffa2c69d621..5c77a40c3ebe 100644
+index c68d9ed4f0bd..f2b5c7834c01 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
-@@ -2096,6 +2096,44 @@ static void efi_exit_caches(void)
+@@ -2095,6 +2095,44 @@ static void efi_exit_caches(void)
#endif
}
@@ -124,7 +124,7 @@ index cffa2c69d621..5c77a40c3ebe 100644
/**
* efi_exit_boot_services() - stop all boot services
* @image_handle: handle of the loaded image
-@@ -2209,6 +2247,15 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle,
+@@ -2208,6 +2246,15 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle,
/* Recalculate CRC32 */
efi_update_table_header_crc32(&systab.hdr);
@@ -141,10 +141,10 @@ index cffa2c69d621..5c77a40c3ebe 100644
efi_set_watchdog(0);
WATCHDOG_RESET();
diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
-index f00440163d41..c100c1b95298 100644
+index a6b98f066a0b..a0689ba912fc 100644
--- a/lib/efi_loader/efi_capsule.c
+++ b/lib/efi_loader/efi_capsule.c
-@@ -24,6 +24,14 @@
+@@ -25,6 +25,14 @@
#include <crypto/pkcs7_parser.h>
#include <linux/err.h>
@@ -159,7 +159,7 @@ index f00440163d41..c100c1b95298 100644
DECLARE_GLOBAL_DATA_PTR;
const efi_guid_t efi_guid_capsule_report = EFI_CAPSULE_REPORT_GUID;
-@@ -509,6 +517,89 @@ static efi_status_t efi_capsule_update_firmware(
+@@ -512,6 +520,89 @@ static efi_status_t efi_capsule_update_firmware(
}
#endif /* CONFIG_EFI_CAPSULE_FIRMWARE_MANAGEMENT */
@@ -249,7 +249,7 @@ index f00440163d41..c100c1b95298 100644
/**
* efi_update_capsule() - process information from operating system
* @capsule_header_array: Array of virtual address pointers
-@@ -522,7 +613,7 @@ static efi_status_t efi_capsule_update_firmware(
+@@ -525,7 +616,7 @@ static efi_status_t efi_capsule_update_firmware(
*
* Return: status code
*/
@@ -258,7 +258,7 @@ index f00440163d41..c100c1b95298 100644
struct efi_capsule_header **capsule_header_array,
efi_uintn_t capsule_count,
u64 scatter_gather_list)
-@@ -539,6 +630,13 @@ efi_status_t EFIAPI efi_update_capsule(
+@@ -542,6 +633,13 @@ efi_status_t EFIAPI efi_update_capsule(
goto out;
}
@@ -272,7 +272,7 @@ index f00440163d41..c100c1b95298 100644
ret = EFI_SUCCESS;
for (i = 0, capsule = *capsule_header_array; i < capsule_count;
i++, capsule = *(++capsule_header_array)) {
-@@ -551,6 +649,39 @@ efi_status_t EFIAPI efi_update_capsule(
+@@ -554,6 +652,39 @@ efi_status_t EFIAPI efi_update_capsule(
log_debug("Capsule[%d] (guid:%pUs)\n",
i, &capsule->capsule_guid);
@@ -312,7 +312,7 @@ index f00440163d41..c100c1b95298 100644
if (!guidcmp(&capsule->capsule_guid,
&efi_guid_firmware_management_capsule_id)) {
ret = efi_capsule_update_firmware(capsule);
-@@ -589,7 +720,7 @@ out:
+@@ -592,7 +723,7 @@ out:
*
* Return: status code
*/
@@ -322,7 +322,7 @@ index f00440163d41..c100c1b95298 100644
efi_uintn_t capsule_count,
u64 *maximum_capsule_size,
diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c
-index eee54e48784f..989380d4f8cd 100644
+index 492ecf4cb15c..bfd4687e10b5 100644
--- a/lib/efi_loader/efi_setup.c
+++ b/lib/efi_loader/efi_setup.c
@@ -16,6 +16,13 @@
@@ -355,5 +355,5 @@ index eee54e48784f..989380d4f8cd 100644
ret = efi_set_variable_int(u"CapsuleMax",
&efi_guid_capsule_report,
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0012-corstone1000-Update-FFA-shared-buffer-address.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0012-corstone1000-Update-FFA-shared-buffer-address.patch
index 60dc8501b4..d1e13f68cf 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0012-corstone1000-Update-FFA-shared-buffer-address.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0012-corstone1000-Update-FFA-shared-buffer-address.patch
@@ -1,7 +1,7 @@
-From b2d752b4bbd5b2dc4cb22d2d652a261287505926 Mon Sep 17 00:00:00 2001
+From 1ff229c8e02bdd3c859d581787636cfdf674eec1 Mon Sep 17 00:00:00 2001
From: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
Date: Wed, 17 Nov 2021 15:28:06 +0000
-Subject: [PATCH 12/27] corstone1000: Update FFA shared buffer address
+Subject: [PATCH 12/24] corstone1000: Update FFA shared buffer address
FFA shared buffer address changed to 0x02000000.
@@ -33,5 +33,5 @@ index a400cdef69d0..db0f91335cef 100644
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x03f00000)
#define CONFIG_SKIP_LOWLEVEL_INIT
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-corstone1000-Make-sure-shared-buffer-contents-are-no.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-corstone1000-Make-sure-shared-buffer-contents-are-no.patch
index 2495538d91..2caeb58b82 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-corstone1000-Make-sure-shared-buffer-contents-are-no.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-corstone1000-Make-sure-shared-buffer-contents-are-no.patch
@@ -1,7 +1,7 @@
-From 67a755f74716068cfd44a8897c31151fe9ee4328 Mon Sep 17 00:00:00 2001
+From 370422921b2a3f4f7b73ce5b08820c24e82bba19 Mon Sep 17 00:00:00 2001
From: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
Date: Thu, 18 Nov 2021 16:42:59 +0000
-Subject: [PATCH 13/27] corstone1000: Make sure shared buffer contents are not
+Subject: [PATCH 13/24] corstone1000: Make sure shared buffer contents are not
cached
After updating the shared buffer, it is required to flush the cache
@@ -48,5 +48,5 @@ index 9cb8cfb9c779..b6be2b54a030 100644
ffa_ret = ffa_notify_mm_sp();
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-arm-corstone1000-fix-unrecognized-filesystem-type.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-arm-corstone1000-fix-unrecognized-filesystem-type.patch
index fa201eb9c8..3151741027 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-arm-corstone1000-fix-unrecognized-filesystem-type.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-arm-corstone1000-fix-unrecognized-filesystem-type.patch
@@ -1,7 +1,7 @@
-From e2463e3ef52260b38131085c0901de8708d52693 Mon Sep 17 00:00:00 2001
+From 340ba3fbb0ea388578e30aede92695886f221eaf Mon Sep 17 00:00:00 2001
From: Rui Miguel Silva <rui.silva@linaro.org>
Date: Fri, 4 Mar 2022 15:56:09 +0000
-Subject: [PATCH 14/27] arm: corstone1000: fix unrecognized filesystem type
+Subject: [PATCH 14/24] arm: corstone1000: fix unrecognized filesystem type
Some usb sticks are not recognized by usb, just add a
delay before checking status.
@@ -12,10 +12,10 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
1 file changed, 3 insertions(+)
diff --git a/common/usb_storage.c b/common/usb_storage.c
-index c9e2d7343ce2..ae72338323ba 100644
+index eaa31374ef73..79cf4297d4f4 100644
--- a/common/usb_storage.c
+++ b/common/usb_storage.c
-@@ -769,6 +769,9 @@ static int usb_stor_BBB_transport(struct scsi_cmd *srb, struct us_data *us)
+@@ -784,6 +784,9 @@ static int usb_stor_BBB_transport(struct scsi_cmd *srb, struct us_data *us)
st:
retry = 0;
again:
@@ -26,5 +26,5 @@ index c9e2d7343ce2..ae72338323ba 100644
result = usb_bulk_msg(us->pusb_dev, pipein, csw, UMASS_BBB_CSW_SIZE,
&actlen, USB_CNTL_TIMEOUT*5);
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_capsule-corstone1000-pass-interface-id-and-buffe.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_capsule-corstone1000-pass-interface-id-and-buffe.patch
index 0d1912c880..4e3f237f63 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_capsule-corstone1000-pass-interface-id-and-buffe.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_capsule-corstone1000-pass-interface-id-and-buffe.patch
@@ -1,7 +1,7 @@
-From 81bf9ed7e8e858cef13cfc3d1435c44445e523df Mon Sep 17 00:00:00 2001
+From 4c249de0915750b328e456c34f18546f92850afd Mon Sep 17 00:00:00 2001
From: Vishnu Banavath <vishnu.banavath@arm.com>
Date: Fri, 10 Dec 2021 20:03:35 +0000
-Subject: [PATCH 15/27] efi_capsule: corstone1000: pass interface id and buffer
+Subject: [PATCH 15/24] efi_capsule: corstone1000: pass interface id and buffer
event id using register w4
Initially the interface/event IDs are passed to the SP using register
@@ -39,10 +39,10 @@ index db0f91335cef..a7445e61348b 100644
#define CORSTONE1000_CAPSULE_BUFFER_SIZE (8192) /* 32 MB */
diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
-index c100c1b95298..17d769803b2a 100644
+index a0689ba912fc..e08e97cf3fb7 100644
--- a/lib/efi_loader/efi_capsule.c
+++ b/lib/efi_loader/efi_capsule.c
-@@ -27,6 +27,8 @@
+@@ -28,6 +28,8 @@
#ifdef CONFIG_TARGET_CORSTONE1000
#include <arm_ffa_helper.h>
#include <cpu_func.h>
@@ -51,7 +51,7 @@ index c100c1b95298..17d769803b2a 100644
void *__efi_runtime_data corstone1000_capsule_buf; /* capsule shared buffer virtual address */
efi_guid_t corstone1000_capsule_guid = EFI_CORSTONE1000_CAPSULE_ID_GUID;
-@@ -587,11 +589,12 @@ static int __efi_runtime efi_corstone1000_buffer_ready_event(u32 capsule_image_s
+@@ -590,11 +592,12 @@ static int __efi_runtime efi_corstone1000_buffer_ready_event(u32 capsule_image_s
func_data.data0 = &part_id;
/*
@@ -69,5 +69,5 @@ index c100c1b95298..17d769803b2a 100644
func_data.data1_size = sizeof(msg);
func_data.data1 = &msg;
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_boottime-corstone1000-pass-interface-id-and-kern.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_boottime-corstone1000-pass-interface-id-and-kern.patch
index f460fad8ec..e134f23a66 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_boottime-corstone1000-pass-interface-id-and-kern.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_boottime-corstone1000-pass-interface-id-and-kern.patch
@@ -1,7 +1,7 @@
-From 10d0ffc26ddcecd83921c2b3b37cb4eff54a154f Mon Sep 17 00:00:00 2001
+From e5e1cf36cb7b77a5bb526f1744c0c77164374ca3 Mon Sep 17 00:00:00 2001
From: Vishnu Banavath <vishnu.banavath@arm.com>
Date: Fri, 10 Dec 2021 20:10:41 +0000
-Subject: [PATCH 16/27] efi_boottime: corstone1000: pass interface id and
+Subject: [PATCH 16/24] efi_boottime: corstone1000: pass interface id and
kernel event id using register w4
Initially the interface/event IDs are passed to the SP using register
@@ -21,7 +21,7 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
-index 5c77a40c3ebe..b58a8c98fd05 100644
+index f2b5c7834c01..140d0f4f71da 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -27,6 +27,11 @@
@@ -36,7 +36,7 @@ index 5c77a40c3ebe..b58a8c98fd05 100644
DECLARE_GLOBAL_DATA_PTR;
/* Task priority level */
-@@ -2121,10 +2126,12 @@ static int efi_corstone1000_kernel_started_event(void)
+@@ -2120,10 +2125,12 @@ static int efi_corstone1000_kernel_started_event(void)
func_data.data0 = &part_id;
/*
@@ -53,5 +53,5 @@ index 5c77a40c3ebe..b58a8c98fd05 100644
func_data.data1_size = sizeof(msg);
func_data.data1 = &msg;
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-efi_loader-corstone1000-remove-guid-check-from-corst.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-efi_loader-corstone1000-remove-guid-check-from-corst.patch
index fa6ab326ad..b5a17156e0 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-efi_loader-corstone1000-remove-guid-check-from-corst.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-efi_loader-corstone1000-remove-guid-check-from-corst.patch
@@ -1,7 +1,7 @@
-From c463798489e41725f8ba33debeedc7c4011cda38 Mon Sep 17 00:00:00 2001
+From 596cf4d04580b191d2f4f6082000534bdab13791 Mon Sep 17 00:00:00 2001
From: Vishnu Banavath <vishnu.banavath@arm.com>
Date: Sat, 11 Dec 2021 13:23:55 +0000
-Subject: [PATCH 17/27] efi_loader: corstone1000: remove guid check from
+Subject: [PATCH 17/24] efi_loader: corstone1000: remove guid check from
corstone1000 config option
Use generic fmp guid and no separte check is required for
@@ -14,10 +14,10 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
-index 17d769803b2a..939040d2755e 100644
+index e08e97cf3fb7..891143c33909 100644
--- a/lib/efi_loader/efi_capsule.c
+++ b/lib/efi_loader/efi_capsule.c
-@@ -654,12 +654,6 @@ efi_status_t __efi_runtime EFIAPI efi_update_capsule(
+@@ -657,12 +657,6 @@ efi_status_t __efi_runtime EFIAPI efi_update_capsule(
i, &capsule->capsule_guid);
#if CONFIG_IS_ENABLED(TARGET_CORSTONE1000)
@@ -30,7 +30,7 @@ index 17d769803b2a..939040d2755e 100644
if (efi_size_in_pages(capsule->capsule_image_size) >
CORSTONE1000_CAPSULE_BUFFER_SIZE) {
log_err("Corstone1000: Capsule data size exceeds the shared buffer size\n");
-@@ -685,15 +679,7 @@ efi_status_t __efi_runtime EFIAPI efi_update_capsule(
+@@ -688,15 +682,7 @@ efi_status_t __efi_runtime EFIAPI efi_update_capsule(
goto out;
#endif
@@ -48,5 +48,5 @@ index 17d769803b2a..939040d2755e 100644
goto out;
}
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-arm_ffa-removing-the-cast-when-using-binary-OR-on-FI.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-arm_ffa-removing-the-cast-when-using-binary-OR-on-FI.patch
index 4ee10a0be1..f858a26ebc 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-arm_ffa-removing-the-cast-when-using-binary-OR-on-FI.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-arm_ffa-removing-the-cast-when-using-binary-OR-on-FI.patch
@@ -1,7 +1,7 @@
-From 1cfca60850727448bdbfe720d98d9e0d4523f6aa Mon Sep 17 00:00:00 2001
+From 460406b46b51b6c585788001147a8961c95cc73c Mon Sep 17 00:00:00 2001
From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Date: Sat, 11 Dec 2021 21:05:10 +0000
-Subject: [PATCH 18/27] arm_ffa: removing the cast when using binary OR on
+Subject: [PATCH 18/24] arm_ffa: removing the cast when using binary OR on
FIELD_PREP macros
When the GENMASK used is above 16-bits wide a u16 cast will cause
@@ -36,5 +36,5 @@ index 38ea4ba83efc..d0db3ef508a1 100644
/* The FF-A SMC function prototype definition */
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-Return-proper-error-code-when-rx-buffer-is-larger.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-Return-proper-error-code-when-rx-buffer-is-larger.patch
deleted file mode 100644
index 21a89a4001..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-Return-proper-error-code-when-rx-buffer-is-larger.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7db27eeaba0fd5ddb1e49977bb7e342a1980aa3d Mon Sep 17 00:00:00 2001
-From: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
-Date: Sun, 12 Dec 2021 17:51:17 +0000
-Subject: [PATCH 19/27] Return proper error code when rx buffer is larger
-
-ffa_mm_communicate should return EFI_BUFFER_TOO_SMALL when
-the buffer received from the secure world is larger than the
-comm buffer as this value is forwarded by mm_communicate.
-
-Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- lib/efi_loader/efi_variable_tee.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/efi_loader/efi_variable_tee.c b/lib/efi_loader/efi_variable_tee.c
-index b6be2b54a030..38655a9dbb7c 100644
---- a/lib/efi_loader/efi_variable_tee.c
-+++ b/lib/efi_loader/efi_variable_tee.c
-@@ -358,7 +358,7 @@ static efi_status_t __efi_runtime ffa_mm_communicate(void *comm_buf, ulong comm_
-
- if (rx_data_size > comm_buf_size) {
- unmap_sysmem(virt_shared_buf);
-- return EFI_OUT_OF_RESOURCES;
-+ return EFI_BUFFER_TOO_SMALL;
- }
-
- efi_memcpy_runtime(comm_buf, virt_shared_buf, rx_data_size);
---
-2.30.2
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-Use-correct-buffer-size.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-Use-correct-buffer-size.patch
index 54328a73d8..af857f4147 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-Use-correct-buffer-size.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-Use-correct-buffer-size.patch
@@ -1,7 +1,7 @@
-From 9ad9ead58e8e9e4f9e7a283c916421b443b424ce Mon Sep 17 00:00:00 2001
+From 936c857add300f41bc58c300793a0e10b48ff69f Mon Sep 17 00:00:00 2001
From: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
Date: Mon, 13 Dec 2021 15:25:23 +0000
-Subject: [PATCH 20/27] Use correct buffer size
+Subject: [PATCH 19/24] Use correct buffer size
The comm buffer created has additional 4 bytes length which
needs to be trimmed. This change will reduce the size of the
@@ -36,5 +36,5 @@ index e65fbde60d0a..bb9919095649 100644
efi_uintn_t data_size;
efi_uintn_t name_size;
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch
index aaea20e632..1204f2a428 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch
@@ -1,7 +1,7 @@
-From 5fec641015f8f1ca80f55f05b5e1f67653321303 Mon Sep 17 00:00:00 2001
+From 5c57ef351882afebde479de430acf2c4f8fdefc8 Mon Sep 17 00:00:00 2001
From: Vishnu Banavath <vishnu.banavath@arm.com>
Date: Fri, 17 Dec 2021 19:49:02 +0000
-Subject: [PATCH 22/27] efi_loader: populate ESRT table if EFI_ESRT config
+Subject: [PATCH 20/24] efi_loader: populate ESRT table if EFI_ESRT config
option is set
This change is to call efi_esrt_populate function if CONFIG_EFI_ESRT
@@ -14,10 +14,10 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
1 file changed, 7 insertions(+)
diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
-index 939040d2755e..790d2ba8fe19 100644
+index 891143c33909..7db78f1f7648 100644
--- a/lib/efi_loader/efi_capsule.c
+++ b/lib/efi_loader/efi_capsule.c
-@@ -676,6 +676,13 @@ efi_status_t __efi_runtime EFIAPI efi_update_capsule(
+@@ -679,6 +679,13 @@ efi_status_t __efi_runtime EFIAPI efi_update_capsule(
ret = EFI_SUCCESS;
}
@@ -32,5 +32,5 @@ index 939040d2755e..790d2ba8fe19 100644
#endif
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-Update-comm_buf-when-EFI_BUFFER_TOO_SMALL.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-Update-comm_buf-when-EFI_BUFFER_TOO_SMALL.patch
deleted file mode 100644
index c7ac38f77c..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-Update-comm_buf-when-EFI_BUFFER_TOO_SMALL.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b81214dea7056c3877aa9eb775557dc4702660ec Mon Sep 17 00:00:00 2001
-From: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
-Date: Sun, 12 Dec 2021 17:58:08 +0000
-Subject: [PATCH 21/27] Update comm_buf when EFI_BUFFER_TOO_SMALL
-
-When the received buffer is larger than the comm buffer,
-the contents of the shared buffer which can fit in the
-comm buffer should be read before returning.
-
-Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- lib/efi_loader/efi_variable_tee.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/lib/efi_loader/efi_variable_tee.c b/lib/efi_loader/efi_variable_tee.c
-index 38655a9dbb7c..67743d1f8fce 100644
---- a/lib/efi_loader/efi_variable_tee.c
-+++ b/lib/efi_loader/efi_variable_tee.c
-@@ -357,6 +357,7 @@ static efi_status_t __efi_runtime ffa_mm_communicate(void *comm_buf, ulong comm_
- sizeof(size_t);
-
- if (rx_data_size > comm_buf_size) {
-+ efi_memcpy_runtime(comm_buf, virt_shared_buf, comm_buf_size);
- unmap_sysmem(virt_shared_buf);
- return EFI_BUFFER_TOO_SMALL;
- }
---
-2.30.2
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-efi_firmware-add-get_image_info-for-corstone1000.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-efi_firmware-add-get_image_info-for-corstone1000.patch
index c86b658158..8f86b653bf 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-efi_firmware-add-get_image_info-for-corstone1000.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-efi_firmware-add-get_image_info-for-corstone1000.patch
@@ -1,7 +1,7 @@
-From 34fadec4f659248a6020676f5894895977ccf79d Mon Sep 17 00:00:00 2001
+From fcd1dc670d83bd7e7528370d0d6f168bfb44054d Mon Sep 17 00:00:00 2001
From: Vishnu Banavath <vishnu.banavath@arm.com>
Date: Fri, 17 Dec 2021 19:50:25 +0000
-Subject: [PATCH 23/27] efi_firmware: add get_image_info for corstone1000
+Subject: [PATCH 21/24] efi_firmware: add get_image_info for corstone1000
This change is to populate get_image_info which eventually
will be populated in ESRT table
@@ -12,26 +12,25 @@ Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
---
- lib/efi_loader/efi_firmware.c | 64 ++++++++++++++++++++++++++++++++++-
- 1 file changed, 63 insertions(+), 1 deletion(-)
+ lib/efi_loader/efi_firmware.c | 71 ++++++++++++++++++++++++++++++++++-
+ 1 file changed, 70 insertions(+), 1 deletion(-)
diff --git a/lib/efi_loader/efi_firmware.c b/lib/efi_loader/efi_firmware.c
-index a5ff32f121f4..9eb89849b28d 100644
+index 30cafd15caac..af43d4502f92 100644
--- a/lib/efi_loader/efi_firmware.c
+++ b/lib/efi_loader/efi_firmware.c
-@@ -241,6 +241,7 @@ const efi_guid_t efi_firmware_image_type_uboot_fit =
- *
- * Return status code
- */
-+
- static
- efi_status_t EFIAPI efi_firmware_fit_get_image_info(
- struct efi_firmware_management_protocol *this,
-@@ -332,6 +333,56 @@ const struct efi_firmware_management_protocol efi_fmp_fit = {
- const efi_guid_t efi_firmware_image_type_uboot_raw =
- EFI_FIRMWARE_IMAGE_TYPE_UBOOT_RAW_GUID;
+@@ -17,11 +17,69 @@
+
+ #define FMP_PAYLOAD_HDR_SIGNATURE SIGNATURE_32('M', 'S', 'S', '1')
+#if CONFIG_IS_ENABLED(TARGET_CORSTONE1000)
++#define EFI_FIRMWARE_IMAGE_TYPE_UBOOT_RAW_GUID \
++ EFI_GUID(0xe2bb9c06, 0x70e9, 0x4b14, 0x97, 0xa3, \
++ 0x5a, 0x79, 0x13, 0x17, 0x6e, 0x3f)
++
++ const efi_guid_t efi_firmware_image_type_uboot_raw =
++ EFI_FIRMWARE_IMAGE_TYPE_UBOOT_RAW_GUID;
++
+static efi_status_t efi_corstone1000_img_info_get (
+ efi_uintn_t *image_info_size,
+ struct efi_firmware_image_descriptor *image_info,
@@ -81,34 +80,38 @@ index a5ff32f121f4..9eb89849b28d 100644
+ return EFI_SUCCESS;
+}
+#endif
++
/**
- * efi_firmware_raw_get_image_info - return information about the current
- firmware image
-@@ -376,12 +427,20 @@ efi_status_t EFIAPI efi_firmware_raw_get_image_info(
+ * struct fmp_payload_header - EDK2 header for the FMP payload
+ *
+ * This structure describes the header which is preprended to the
+- * FMP payload by the edk2 capsule generation scripts.
++ * FMP payload by the edk1 capsule generation scripts.
+ *
+ * @signature: Header signature used to identify the header
+ * @header_size: Size of the structure
+@@ -285,10 +343,18 @@ efi_status_t EFIAPI efi_firmware_get_image_info(
!descriptor_size || !package_version || !package_version_name))
return EFI_EXIT(EFI_INVALID_PARAMETER);
-- ret = efi_get_dfu_info(image_info_size, image_info,
+#if CONFIG_IS_ENABLED(TARGET_CORSTONE1000)
+ ret = efi_corstone1000_img_info_get(image_info_size, image_info,
- descriptor_version, descriptor_count,
- descriptor_size,
- package_version, package_version_name,
- &efi_firmware_image_type_uboot_raw);
-+#else
-
-+ ret = efi_get_dfu_info(image_info_size, image_info,
+ descriptor_version, descriptor_count,
+ descriptor_size,
+ package_version, package_version_name,
+ &efi_firmware_image_type_uboot_raw);
++#else
+ ret = efi_fill_image_desc_array(image_info_size, image_info,
+ descriptor_version, descriptor_count,
+ descriptor_size, package_version,
+ package_version_name);
+#endif
+
return EFI_EXIT(ret);
}
-
-@@ -462,6 +521,9 @@ efi_status_t EFIAPI efi_firmware_raw_set_image(
-
- }
+@@ -401,6 +467,9 @@ efi_status_t EFIAPI efi_firmware_raw_set_image(
+ if (status != EFI_SUCCESS)
+ return EFI_EXIT(status);
+#if CONFIG_IS_ENABLED(TARGET_CORSTONE1000)
+ return EFI_EXIT(EFI_SUCCESS);
@@ -117,5 +120,5 @@ index a5ff32f121f4..9eb89849b28d 100644
NULL, NULL))
return EFI_EXIT(EFI_DEVICE_ERROR);
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-efi_loader-send-bootcomplete-message-to-secure-encla.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-efi_loader-send-bootcomplete-message-to-secure-encla.patch
index d5a0ec0b1b..1dc04553d7 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-efi_loader-send-bootcomplete-message-to-secure-encla.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-efi_loader-send-bootcomplete-message-to-secure-encla.patch
@@ -1,7 +1,7 @@
-From af2defbfaffa4264052e30f269b91794068e4773 Mon Sep 17 00:00:00 2001
+From 902d5c499b6627a505986d298986a4ac430592b8 Mon Sep 17 00:00:00 2001
From: Vishnu Banavath <vishnu.banavath@arm.com>
Date: Wed, 5 Jan 2022 17:56:09 +0000
-Subject: [PATCH 25/27] efi_loader: send bootcomplete message to secure enclave
+Subject: [PATCH 22/24] efi_loader: send bootcomplete message to secure enclave
On corstone1000 platform, Secure Enclave will be expecting
an event from uboot when it performs capsule update. Previously,
@@ -32,10 +32,10 @@ index a7445e61348b..06b605e43bdf 100644
#define PREP_SEPROXY_SVC_ID_MASK GENMASK(31, 16)
#define PREP_SEPROXY_SVC_ID(x) (FIELD_PREP(PREP_SEPROXY_SVC_ID_MASK, (x)))
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
-index b58a8c98fd05..d0703060491b 100644
+index 140d0f4f71da..6b9f5cf272b8 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
-@@ -2101,46 +2101,6 @@ static void efi_exit_caches(void)
+@@ -2100,46 +2100,6 @@ static void efi_exit_caches(void)
#endif
}
@@ -82,7 +82,7 @@ index b58a8c98fd05..d0703060491b 100644
/**
* efi_exit_boot_services() - stop all boot services
* @image_handle: handle of the loaded image
-@@ -2254,15 +2214,6 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle,
+@@ -2253,15 +2213,6 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle,
/* Recalculate CRC32 */
efi_update_table_header_crc32(&systab.hdr);
@@ -99,10 +99,10 @@ index b58a8c98fd05..d0703060491b 100644
efi_set_watchdog(0);
WATCHDOG_RESET();
diff --git a/lib/efi_loader/efi_firmware.c b/lib/efi_loader/efi_firmware.c
-index 9eb89849b28d..477ad072070e 100644
+index af43d4502f92..25f427b93669 100644
--- a/lib/efi_loader/efi_firmware.c
+++ b/lib/efi_loader/efi_firmware.c
-@@ -356,7 +356,7 @@ static efi_status_t efi_corstone1000_img_info_get (
+@@ -47,7 +47,7 @@ static efi_status_t efi_corstone1000_img_info_get (
*package_version_name = NULL; /* not supported */
if(image_info == NULL) {
@@ -112,7 +112,7 @@ index 9eb89849b28d..477ad072070e 100644
}
diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c
-index 989380d4f8cd..515a0bdf74ef 100644
+index bfd4687e10b5..a20128e9b582 100644
--- a/lib/efi_loader/efi_setup.c
+++ b/lib/efi_loader/efi_setup.c
@@ -17,6 +17,9 @@
@@ -187,5 +187,5 @@ index 989380d4f8cd..515a0bdf74ef 100644
if (ret != EFI_SUCCESS) {
printf("EFI: Corstone-1000: cannot allocate caspsule shared buffer\n");
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0026-efi_loader-fix-null-pointer-exception-with-get_image.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-efi_loader-fix-null-pointer-exception-with-get_image.patch
index 532e872677..165fac5fa0 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0026-efi_loader-fix-null-pointer-exception-with-get_image.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-efi_loader-fix-null-pointer-exception-with-get_image.patch
@@ -1,7 +1,7 @@
-From 2da8554ab732c59c7ca624ac4b16412fa9c2e39c Mon Sep 17 00:00:00 2001
+From 383078dde2fbf509dc3d24505f6b328316aee030 Mon Sep 17 00:00:00 2001
From: Vishnu Banavath <vishnu.banavath@arm.com>
Date: Fri, 14 Jan 2022 15:24:18 +0000
-Subject: [PATCH 26/27] efi_loader: fix null pointer exception with
+Subject: [PATCH 23/24] efi_loader: fix null pointer exception with
get_image_info
get_img_info API implemented for corstone1000 target does not
@@ -16,10 +16,10 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/lib/efi_loader/efi_firmware.c b/lib/efi_loader/efi_firmware.c
-index 477ad072070e..f99c57fde576 100644
+index 25f427b93669..28d9a19edb90 100644
--- a/lib/efi_loader/efi_firmware.c
+++ b/lib/efi_loader/efi_firmware.c
-@@ -347,26 +347,29 @@ static efi_status_t efi_corstone1000_img_info_get (
+@@ -38,26 +38,29 @@ static efi_status_t efi_corstone1000_img_info_get (
int i = 0;
*image_info_size = sizeof(*image_info);
@@ -58,5 +58,5 @@ index 477ad072070e..f99c57fde576 100644
IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED;
image_info[i].attributes_setting = IMAGE_ATTRIBUTE_IMAGE_UPDATABLE;
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-Comment-mm_communicate-failure-log.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-Comment-mm_communicate-failure-log.patch
deleted file mode 100644
index c6a1aed2e6..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-Comment-mm_communicate-failure-log.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From c0c6e4c1166c4868afc36649b9ed98081a6966e1 Mon Sep 17 00:00:00 2001
-From: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
-Date: Fri, 24 Dec 2021 14:22:52 +0000
-Subject: [PATCH 24/27] Comment mm_communicate failure log
-
-When a getVariable() call is made with data size set to 0,
-mm_communicate should return EFI_BUFFER_TOO_SMALL. This is
-an expected behavior. There should not be any failure logs
-in this case. So the error log is commented here.
-
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- lib/efi_loader/efi_variable_tee.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/lib/efi_loader/efi_variable_tee.c b/lib/efi_loader/efi_variable_tee.c
-index 67743d1f8fce..a34989efac83 100644
---- a/lib/efi_loader/efi_variable_tee.c
-+++ b/lib/efi_loader/efi_variable_tee.c
-@@ -411,7 +411,10 @@ static efi_status_t __efi_runtime mm_communicate(u8 *comm_buf, efi_uintn_t dsize
- ret = ffa_mm_communicate(comm_buf, dsize);
- #endif
- if (ret != EFI_SUCCESS) {
-- log_err("%s failed!\n", __func__);
-+ /* mm_communicate failure is logged even when getVariable() is called
-+ * with data size set to 0. This is not expected so logging is commented.
-+ */
-+ //log_err("%s failed!\n", __func__);
- return ret;
- }
-
---
-2.30.2
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0027-arm-corstone1000-add-mmc-for-fvp.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-arm-corstone1000-add-mmc-for-fvp.patch
index bf95ed7273..2b9ca780e6 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0027-arm-corstone1000-add-mmc-for-fvp.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-arm-corstone1000-add-mmc-for-fvp.patch
@@ -1,7 +1,7 @@
-From cbf16548dc6dcc8eea97aa18c6ae17fb848e5c6c Mon Sep 17 00:00:00 2001
+From cc3356c2a30b7aa85a25e9bc7b69a03537df3f27 Mon Sep 17 00:00:00 2001
From: Rui Miguel Silva <rui.silva@linaro.org>
Date: Tue, 5 Apr 2022 10:24:38 +0100
-Subject: [PATCH 27/27] arm:corstone1000: add mmc for fvp
+Subject: [PATCH 24/24] arm:corstone1000: add mmc for fvp
Enable support mmc/sdcard for the corstone1000 FVP.
@@ -52,7 +52,7 @@ index 1fcc137a493c..26b0f1b3cea6 100644
+ };
};
diff --git a/board/armltd/corstone1000/corstone1000.c b/board/armltd/corstone1000/corstone1000.c
-index eff1739f0b02..936a6c9f8b89 100644
+index 2fa485ff3799..3d537d7a9052 100644
--- a/board/armltd/corstone1000/corstone1000.c
+++ b/board/armltd/corstone1000/corstone1000.c
@@ -46,22 +46,38 @@ static struct mm_region corstone1000_mem_map[] = {
@@ -144,5 +144,5 @@ index 06b605e43bdf..d9855bf91ebf 100644
#include <config_distro_bootcmd.h>
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-corstone1000-use-a-compressed-kernel.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-corstone1000-use-a-compressed-kernel.patch
new file mode 100644
index 0000000000..4cc2498bf0
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-corstone1000-use-a-compressed-kernel.patch
@@ -0,0 +1,32 @@
+From df70c467c5d100f1522b4521f48da4c51e43688c Mon Sep 17 00:00:00 2001
+From: Jon Mason <jon.mason@arm.com>
+Date: Thu, 25 Aug 2022 13:48:22 +0000
+Subject: [PATCH 25/25] corstone1000: use a compressed kernel
+
+The corstone1000 kernel has become too large to fit in the available
+storage. Swtiching to a compressed kernel avoids the problem, but
+requires uncompressing it. Add this decompression to the default boot
+instructions.
+
+Signed-off-by: Jon Mason <jon.mason@arm.com>
+---
+ include/configs/corstone1000.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/include/configs/corstone1000.h b/include/configs/corstone1000.h
+index d9855bf91e..d0cbc40121 100644
+--- a/include/configs/corstone1000.h
++++ b/include/configs/corstone1000.h
+@@ -126,7 +126,8 @@
+ #define CONFIG_BOOTCOMMAND \
+ "run retrieve_kernel_load_addr;" \
+ "echo Loading kernel from $kernel_addr to memory ... ;" \
+- "loadm $kernel_addr $kernel_addr_r 0xc00000;" \
++ "unzip $kernel_addr 0x90000000;" \
++ "loadm 0x90000000 $kernel_addr_r 0xd00000;" \
+ "usb start; usb reset;" \
+ "run distro_bootcmd;" \
+ "bootefi $kernel_addr_r $fdtcontroladdr;"
+--
+2.30.2
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone500/0001-armv7-adding-generic-timer-access-through-MMIO.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone500/0001-armv7-adding-generic-timer-access-through-MMIO.patch
index 8a98f9dedc..9a2997569f 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone500/0001-armv7-adding-generic-timer-access-through-MMIO.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone500/0001-armv7-adding-generic-timer-access-through-MMIO.patch
@@ -1,4 +1,4 @@
-From fff63cfd7d9654dc9ed0c106f29d3a7ad01b0502 Mon Sep 17 00:00:00 2001
+From d75d794785419592ba49046165d19a6ec9488b2d Mon Sep 17 00:00:00 2001
From: Rui Miguel Silva <rui.silva@linaro.org>
Date: Wed, 18 Dec 2019 21:52:34 +0000
Subject: [PATCH 1/2] armv7: adding generic timer access through MMIO
@@ -21,6 +21,8 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
%% original patch: 0001-armv7-adding-generic-timer-access-through-MMIO.patch
+
+Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
---
arch/arm/cpu/armv7/Makefile | 1 +
arch/arm/cpu/armv7/mmio_timer.c | 75 +++++++++++++++++++++++++++++++++
@@ -29,7 +31,7 @@ Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
create mode 100644 arch/arm/cpu/armv7/mmio_timer.c
diff --git a/arch/arm/cpu/armv7/Makefile b/arch/arm/cpu/armv7/Makefile
-index bfbd85ae64..1a0a24e531 100644
+index bfbd85ae64ef..1a0a24e53110 100644
--- a/arch/arm/cpu/armv7/Makefile
+++ b/arch/arm/cpu/armv7/Makefile
@@ -28,6 +28,7 @@ obj-$(CONFIG_ARMV7_PSCI) += psci.o psci-common.o
@@ -42,7 +44,7 @@ index bfbd85ae64..1a0a24e531 100644
obj-y += s5p-common/
diff --git a/arch/arm/cpu/armv7/mmio_timer.c b/arch/arm/cpu/armv7/mmio_timer.c
new file mode 100644
-index 0000000000..edd806e06e
+index 000000000000..edd806e06e42
--- /dev/null
+++ b/arch/arm/cpu/armv7/mmio_timer.c
@@ -0,0 +1,75 @@
@@ -122,17 +124,17 @@ index 0000000000..edd806e06e
+ return gd->arch.timer_rate_hz;
+}
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
-index a6bc234f51..8d5cd67ace 100644
+index c61df4fb1c9b..cfb1c68b6297 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
-@@ -1524,6 +1524,7 @@ CONFIG_SYS_MMC_U_BOOT_DST
+@@ -1253,6 +1253,7 @@ CONFIG_SYS_MMC_U_BOOT_DST
CONFIG_SYS_MMC_U_BOOT_OFFS
CONFIG_SYS_MMC_U_BOOT_SIZE
CONFIG_SYS_MMC_U_BOOT_START
+CONFIG_SYS_MMIO_TIMER
- CONFIG_SYS_MONITOR_BASE
CONFIG_SYS_MONITOR_LEN
CONFIG_SYS_MONITOR_SEC
+ CONFIG_SYS_MOR_VAL
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone500/0002-board-arm-add-corstone500-board.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone500/0002-board-arm-add-corstone500-board.patch
index 29b29438c8..c389a64c87 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone500/0002-board-arm-add-corstone500-board.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone500/0002-board-arm-add-corstone500-board.patch
@@ -1,4 +1,4 @@
-From 73c319a1096259652853fa2538a733a8ebea96a8 Mon Sep 17 00:00:00 2001
+From 3566cf4ab79ca78acd69cfb87e74587394e5aeb2 Mon Sep 17 00:00:00 2001
From: Rui Miguel Silva <rui.silva@linaro.org>
Date: Wed, 8 Jan 2020 09:48:11 +0000
Subject: [PATCH 2/2] board: arm: add corstone500 board
@@ -13,6 +13,8 @@ makefile for this system.
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
%% original patch: 0002-board-arm-add-corstone500-board.patch
+
+Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
---
arch/arm/Kconfig | 10 +++
board/armltd/corstone500/Kconfig | 12 +++
@@ -28,10 +30,10 @@ Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
create mode 100644 include/configs/corstone500.h
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 4567c183fb..66f99fdf4f 100644
+index 9898c7d68e1b..8c60ed39712e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -641,6 +641,15 @@ config ARCH_BCMSTB
+@@ -718,6 +718,15 @@ config ARCH_BCMSTB
This enables support for Broadcom ARM-based set-top box
chipsets, including the 7445 family of chips.
@@ -47,7 +49,7 @@ index 4567c183fb..66f99fdf4f 100644
config TARGET_VEXPRESS_CA9X4
bool "Support vexpress_ca9x4"
select CPU_V7A
-@@ -2202,6 +2211,7 @@ source "board/bosch/shc/Kconfig"
+@@ -2299,6 +2308,7 @@ source "board/bosch/shc/Kconfig"
source "board/bosch/guardian/Kconfig"
source "board/Marvell/octeontx/Kconfig"
source "board/Marvell/octeontx2/Kconfig"
@@ -57,7 +59,7 @@ index 4567c183fb..66f99fdf4f 100644
source "board/cortina/presidio-asic/Kconfig"
diff --git a/board/armltd/corstone500/Kconfig b/board/armltd/corstone500/Kconfig
new file mode 100644
-index 0000000000..8e689bd1fd
+index 000000000000..8e689bd1fdc8
--- /dev/null
+++ b/board/armltd/corstone500/Kconfig
@@ -0,0 +1,12 @@
@@ -75,7 +77,7 @@ index 0000000000..8e689bd1fd
+endif
diff --git a/board/armltd/corstone500/Makefile b/board/armltd/corstone500/Makefile
new file mode 100644
-index 0000000000..6598fdd3ae
+index 000000000000..6598fdd3ae0d
--- /dev/null
+++ b/board/armltd/corstone500/Makefile
@@ -0,0 +1,8 @@
@@ -89,7 +91,7 @@ index 0000000000..6598fdd3ae
+obj-y := corstone500.o
diff --git a/board/armltd/corstone500/corstone500.c b/board/armltd/corstone500/corstone500.c
new file mode 100644
-index 0000000000..e878f5c6a5
+index 000000000000..e878f5c6a521
--- /dev/null
+++ b/board/armltd/corstone500/corstone500.c
@@ -0,0 +1,48 @@
@@ -143,7 +145,7 @@ index 0000000000..e878f5c6a5
+
diff --git a/configs/corstone500_defconfig b/configs/corstone500_defconfig
new file mode 100644
-index 0000000000..d3161a4b40
+index 000000000000..d3161a4b40d8
--- /dev/null
+++ b/configs/corstone500_defconfig
@@ -0,0 +1,40 @@
@@ -189,7 +191,7 @@ index 0000000000..d3161a4b40
+CONFIG_OF_LIBFDT=y
diff --git a/include/configs/corstone500.h b/include/configs/corstone500.h
new file mode 100644
-index 0000000000..93c397d2f5
+index 000000000000..93c397d2f515
--- /dev/null
+++ b/include/configs/corstone500.h
@@ -0,0 +1,109 @@
@@ -303,5 +305,5 @@ index 0000000000..93c397d2f5
+#define CONFIG_ENV_IS_IN_FLASH 1
+#endif
--
-2.30.2
+2.37.1
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot_%.bbappend b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot_%.bbappend
index e254d41b4c..a0a7284554 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot_%.bbappend
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot_%.bbappend
@@ -36,15 +36,13 @@ SRC_URI:append:corstone1000 = " \
file://0016-efi_boottime-corstone1000-pass-interface-id-and-kern.patch \
file://0017-efi_loader-corstone1000-remove-guid-check-from-corst.patch \
file://0018-arm_ffa-removing-the-cast-when-using-binary-OR-on-FI.patch \
- file://0019-Return-proper-error-code-when-rx-buffer-is-larger.patch \
- file://0020-Use-correct-buffer-size.patch \
- file://0021-Update-comm_buf-when-EFI_BUFFER_TOO_SMALL.patch \
- file://0022-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch \
- file://0023-efi_firmware-add-get_image_info-for-corstone1000.patch \
- file://0024-Comment-mm_communicate-failure-log.patch \
- file://0025-efi_loader-send-bootcomplete-message-to-secure-encla.patch \
- file://0026-efi_loader-fix-null-pointer-exception-with-get_image.patch \
- file://0027-arm-corstone1000-add-mmc-for-fvp.patch \
+ file://0019-Use-correct-buffer-size.patch \
+ file://0020-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch \
+ file://0021-efi_firmware-add-get_image_info-for-corstone1000.patch \
+ file://0022-efi_loader-send-bootcomplete-message-to-secure-encla.patch \
+ file://0023-efi_loader-fix-null-pointer-exception-with-get_image.patch \
+ file://0024-arm-corstone1000-add-mmc-for-fvp.patch \
+ file://0025-corstone1000-use-a-compressed-kernel.patch \
"
#
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/arm-platforms-kmeta/bsp/arm-platforms/juno.scc b/meta-arm/meta-arm-bsp/recipes-kernel/linux/arm-platforms-kmeta/bsp/arm-platforms/juno.scc
index 2980b39338..240ecf5e48 100644
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/arm-platforms-kmeta/bsp/arm-platforms/juno.scc
+++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/arm-platforms-kmeta/bsp/arm-platforms/juno.scc
@@ -1,5 +1,6 @@
include features/input/input.scc
include features/net/net.scc
+include features/bluetooth/bluetooth.scc
include cfg/timer/no_hz.scc
include cfg/usb-mass-storage.scc
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/fvp-base-arm32/0001-ARM-vexpress-enable-GICv3.patch b/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/fvp-base-arm32/0001-ARM-vexpress-enable-GICv3.patch
index d0a05c2462..184a763176 100644
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/fvp-base-arm32/0001-ARM-vexpress-enable-GICv3.patch
+++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/fvp-base-arm32/0001-ARM-vexpress-enable-GICv3.patch
@@ -1,4 +1,4 @@
-From 5dbb6c4267b1e46ed08359be363d8bc9b6a79397 Mon Sep 17 00:00:00 2001
+From 9fe529a146f4528ec80a3d04588e387f3651dc22 Mon Sep 17 00:00:00 2001
From: Ryan Harkin <ryan.harkin@linaro.org>
Date: Wed, 16 Nov 2016 14:43:02 +0000
Subject: [PATCH] ARM: vexpress: enable GICv3
@@ -11,21 +11,21 @@ ARMv7 kernel. And these targets often contain GICv3.
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
---
- arch/arm/mach-vexpress/Kconfig | 1 +
+ arch/arm/mach-versatile/Kconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig
-index 7c728ebc0b33..ed579382d41f 100644
---- a/arch/arm/mach-vexpress/Kconfig
-+++ b/arch/arm/mach-vexpress/Kconfig
-@@ -4,6 +4,7 @@ menuconfig ARCH_VEXPRESS
- select ARCH_SUPPORTS_BIG_ENDIAN
+diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig
+index 2ef226194c3a..3d54877fe339 100644
+--- a/arch/arm/mach-versatile/Kconfig
++++ b/arch/arm/mach-versatile/Kconfig
+@@ -251,6 +251,7 @@ menuconfig ARCH_VEXPRESS
+ depends on ARCH_MULTI_V7
select ARM_AMBA
select ARM_GIC
+ select ARM_GIC_V3
select ARM_GLOBAL_TIMER
select ARM_TIMER_SP804
- select COMMON_CLK_VERSATILE
+ select GPIOLIB
--
-2.17.1
+2.30.2
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/juno/juno-dts-mhu-doorbell.patch b/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/juno/juno-dts-mhu-doorbell.patch
deleted file mode 100644
index 81f641c478..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/juno/juno-dts-mhu-doorbell.patch
+++ /dev/null
@@ -1,616 +0,0 @@
-Add MHU doorbell support and SCMI device nodes to the Juno DeviceTree.
-
-Patch taken from https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git/log/?h=scmi_dt_defconfig
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From 821ffd8e5dc4d2fb2716d5fb912b343b932e1e77 Mon Sep 17 00:00:00 2001
-From: Sudeep Holla <sudeep.holla@arm.com>
-Date: Thu, 20 Apr 2017 11:58:01 +0100
-Subject: [PATCH] arm64: dts: juno: add mhu doorbell support and scmi device
- nodes
-
-Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
----
- arch/arm64/boot/dts/arm/juno-base.dtsi | 139 ++++++++++++----------
- arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi | 6 +-
- arch/arm64/boot/dts/arm/juno-r1.dts | 12 +-
- arch/arm64/boot/dts/arm/juno-r2.dts | 12 +-
- arch/arm64/boot/dts/arm/juno.dts | 12 +-
- 5 files changed, 96 insertions(+), 85 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi
-index 6288e104a089..36844f7d861e 100644
---- a/arch/arm64/boot/dts/arm/juno-base.dtsi
-+++ b/arch/arm64/boot/dts/arm/juno-base.dtsi
-@@ -23,11 +23,12 @@ frame@2a830000 {
- };
-
- mailbox: mhu@2b1f0000 {
-- compatible = "arm,mhu", "arm,primecell";
-+ compatible = "arm,mhu-doorbell", "arm,primecell";
- reg = <0x0 0x2b1f0000 0x0 0x1000>;
- interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
-- #mbox-cells = <1>;
-+ #mbox-cells = <2>;
-+ mbox-name = "ARM-MHU";
- clocks = <&soc_refclk100mhz>;
- clock-names = "apb_pclk";
- };
-@@ -39,7 +40,7 @@ smmu_gpu: iommu@2b400000 {
- <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
- #iommu-cells = <1>;
- #global-interrupts = <1>;
-- power-domains = <&scpi_devpd 1>;
-+ power-domains = <&scmi_devpd 9>;
- dma-coherent;
- status = "disabled";
- };
-@@ -63,7 +64,7 @@ smmu_etr: iommu@2b600000 {
- #iommu-cells = <1>;
- #global-interrupts = <1>;
- dma-coherent;
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- };
-
- gic: interrupt-controller@2c010000 {
-@@ -123,7 +124,7 @@ etf@20010000 { /* etf0 */
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
-
- in-ports {
- port {
-@@ -147,7 +148,7 @@ tpiu@20030000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- in-ports {
- port {
- tpiu_in_port: endpoint {
-@@ -164,7 +165,7 @@ main_funnel: funnel@20040000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
-
- out-ports {
- port {
-@@ -201,7 +202,7 @@ etr@20070000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- arm,scatter-gather;
- in-ports {
- port {
-@@ -220,7 +221,7 @@ stm@20100000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- out-ports {
- port {
- stm_out_port: endpoint {
-@@ -235,7 +236,7 @@ replicator@20120000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
-
- out-ports {
- #address-cells = <1>;
-@@ -270,7 +271,7 @@ cpu_debug0: cpu-debug@22010000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- };
-
- etm0: etm@22040000 {
-@@ -279,7 +280,7 @@ etm0: etm@22040000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- out-ports {
- port {
- cluster0_etm0_out_port: endpoint {
-@@ -295,7 +296,7 @@ funnel@220c0000 { /* cluster0 funnel */
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- out-ports {
- port {
- cluster0_funnel_out_port: endpoint {
-@@ -330,7 +331,7 @@ cpu_debug1: cpu-debug@22110000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- };
-
- etm1: etm@22140000 {
-@@ -339,7 +340,7 @@ etm1: etm@22140000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- out-ports {
- port {
- cluster0_etm1_out_port: endpoint {
-@@ -355,7 +356,7 @@ cpu_debug2: cpu-debug@23010000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- };
-
- etm2: etm@23040000 {
-@@ -364,7 +365,7 @@ etm2: etm@23040000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- out-ports {
- port {
- cluster1_etm0_out_port: endpoint {
-@@ -380,7 +381,7 @@ funnel@230c0000 { /* cluster1 funnel */
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- out-ports {
- port {
- cluster1_funnel_out_port: endpoint {
-@@ -427,7 +428,7 @@ cpu_debug3: cpu-debug@23110000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- };
-
- etm3: etm@23140000 {
-@@ -436,7 +437,7 @@ etm3: etm@23140000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- out-ports {
- port {
- cluster1_etm1_out_port: endpoint {
-@@ -452,7 +453,7 @@ cpu_debug4: cpu-debug@23210000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- };
-
- etm4: etm@23240000 {
-@@ -461,7 +462,7 @@ etm4: etm@23240000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- out-ports {
- port {
- cluster1_etm2_out_port: endpoint {
-@@ -477,7 +478,7 @@ cpu_debug5: cpu-debug@23310000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- };
-
- etm5: etm@23340000 {
-@@ -486,7 +487,7 @@ etm5: etm@23340000 {
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- out-ports {
- port {
- cluster1_etm3_out_port: endpoint {
-@@ -503,8 +504,8 @@ gpu: gpu@2d000000 {
- <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "job", "mmu", "gpu";
-- clocks = <&scpi_dvfs 2>;
-- power-domains = <&scpi_devpd 1>;
-+ clocks = <&scmi_dvfs 2>;
-+ power-domains = <&scmi_devpd 9>;
- dma-coherent;
- /* The SMMU is only really of interest to bare-metal hypervisors */
- /* iommus = <&smmu_gpu 0>; */
-@@ -519,14 +520,24 @@ sram: sram@2e000000 {
- #size-cells = <1>;
- ranges = <0 0x0 0x2e000000 0x8000>;
-
-- cpu_scp_lpri: scp-sram@0 {
-- compatible = "arm,juno-scp-shmem";
-- reg = <0x0 0x200>;
-+ cpu_scp_lpri0: scp-sram@0 {
-+ compatible = "arm,scmi-shmem";
-+ reg = <0x0 0x80>;
- };
-
-- cpu_scp_hpri: scp-sram@200 {
-- compatible = "arm,juno-scp-shmem";
-- reg = <0x200 0x200>;
-+ cpu_scp_lpri1: scp-sram@80 {
-+ compatible = "arm,scmi-shmem";
-+ reg = <0x80 0x80>;
-+ };
-+
-+ cpu_scp_hpri0: scp-sram@100 {
-+ compatible = "arm,scmi-shmem";
-+ reg = <0x100 0x80>;
-+ };
-+
-+ cpu_scp_hpri1: scp-sram@180 {
-+ compatible = "arm,scmi-shmem";
-+ reg = <0x180 0x80>;
- };
- };
-
-@@ -558,37 +569,37 @@ pcie_ctlr: pcie@40000000 {
- iommu-map = <0x0 &smmu_pcie 0x0 0x1>;
- };
-
-- scpi {
-- compatible = "arm,scpi";
-- mboxes = <&mailbox 1>;
-- shmem = <&cpu_scp_hpri>;
-+ firmware {
-+ scmi {
-+ compatible = "arm,scmi";
-+ mbox-names = "tx", "rx";
-+ mboxes = <&mailbox 0 0 &mailbox 0 1>;
-+ shmem = <&cpu_scp_lpri0 &cpu_scp_lpri1>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-
-- clocks {
-- compatible = "arm,scpi-clocks";
-+ scmi_devpd: protocol@11 {
-+ reg = <0x11>;
-+ #power-domain-cells = <1>;
-+ };
-
-- scpi_dvfs: clocks-0 {
-- compatible = "arm,scpi-dvfs-clocks";
-+ scmi_dvfs: protocol@13 {
-+ reg = <0x13>;
- #clock-cells = <1>;
-- clock-indices = <0>, <1>, <2>;
-- clock-output-names = "atlclk", "aplclk","gpuclk";
-+ mbox-names = "tx", "rx";
-+ mboxes = <&mailbox 1 0 &mailbox 1 1>;
-+ shmem = <&cpu_scp_hpri0 &cpu_scp_hpri1>;
- };
-- scpi_clk: clocks-1 {
-- compatible = "arm,scpi-variable-clocks";
-+
-+ scmi_clk: protocol@14 {
-+ reg = <0x14>;
- #clock-cells = <1>;
-- clock-indices = <3>;
-- clock-output-names = "pxlclk";
- };
-- };
-
-- scpi_devpd: power-controller {
-- compatible = "arm,scpi-power-domains";
-- num-domains = <2>;
-- #power-domain-cells = <1>;
-- };
--
-- scpi_sensors0: sensors {
-- compatible = "arm,scpi-sensors";
-- #thermal-sensor-cells = <1>;
-+ scmi_sensors0: protocol@15 {
-+ reg = <0x15>;
-+ #thermal-sensor-cells = <1>;
-+ };
- };
- };
-
-@@ -596,40 +607,40 @@ thermal-zones {
- pmic {
- polling-delay = <1000>;
- polling-delay-passive = <100>;
-- thermal-sensors = <&scpi_sensors0 0>;
-+ thermal-sensors = <&scmi_sensors0 0>;
- };
-
- soc {
- polling-delay = <1000>;
- polling-delay-passive = <100>;
-- thermal-sensors = <&scpi_sensors0 3>;
-+ thermal-sensors = <&scmi_sensors0 3>;
- };
-
- big_cluster_thermal_zone: big-cluster {
- polling-delay = <1000>;
- polling-delay-passive = <100>;
-- thermal-sensors = <&scpi_sensors0 21>;
-+ thermal-sensors = <&scmi_sensors0 21>;
- status = "disabled";
- };
-
- little_cluster_thermal_zone: little-cluster {
- polling-delay = <1000>;
- polling-delay-passive = <100>;
-- thermal-sensors = <&scpi_sensors0 22>;
-+ thermal-sensors = <&scmi_sensors0 22>;
- status = "disabled";
- };
-
- gpu0_thermal_zone: gpu0 {
- polling-delay = <1000>;
- polling-delay-passive = <100>;
-- thermal-sensors = <&scpi_sensors0 23>;
-+ thermal-sensors = <&scmi_sensors0 23>;
- status = "disabled";
- };
-
- gpu1_thermal_zone: gpu1 {
- polling-delay = <1000>;
- polling-delay-passive = <100>;
-- thermal-sensors = <&scpi_sensors0 24>;
-+ thermal-sensors = <&scmi_sensors0 24>;
- status = "disabled";
- };
- };
-@@ -705,7 +716,7 @@ hdlcd@7ff50000 {
- reg = <0 0x7ff50000 0 0x1000>;
- interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
- iommus = <&smmu_hdlcd1 0>;
-- clocks = <&scpi_clk 3>;
-+ clocks = <&scmi_clk 3>;
- clock-names = "pxlclk";
-
- port {
-@@ -720,7 +731,7 @@ hdlcd@7ff60000 {
- reg = <0 0x7ff60000 0 0x1000>;
- interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
- iommus = <&smmu_hdlcd0 0>;
-- clocks = <&scpi_clk 3>;
-+ clocks = <&scmi_clk 3>;
- clock-names = "pxlclk";
-
- port {
-diff --git a/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi
-index eda3d9e18af6..e6ecb0dfcbcd 100644
---- a/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi
-+++ b/arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi
-@@ -6,7 +6,7 @@ funnel@20130000 { /* cssys1 */
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- out-ports {
- port {
- csys1_funnel_out_port: endpoint {
-@@ -29,7 +29,7 @@ etf@20140000 { /* etf1 */
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- in-ports {
- port {
- etf1_in_port: endpoint {
-@@ -52,7 +52,7 @@ funnel@20150000 { /* cssys2 */
-
- clocks = <&soc_smc50mhz>;
- clock-names = "apb_pclk";
-- power-domains = <&scpi_devpd 0>;
-+ power-domains = <&scmi_devpd 8>;
- out-ports {
- port {
- csys2_funnel_out_port: endpoint {
-diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts
-index 0e24e29eb9b1..fee67943f4d5 100644
---- a/arch/arm64/boot/dts/arm/juno-r1.dts
-+++ b/arch/arm64/boot/dts/arm/juno-r1.dts
-@@ -96,7 +96,7 @@ A57_0: cpu@0 {
- d-cache-line-size = <64>;
- d-cache-sets = <256>;
- next-level-cache = <&A57_L2>;
-- clocks = <&scpi_dvfs 0>;
-+ clocks = <&scmi_dvfs 0>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <1024>;
- };
-@@ -113,7 +113,7 @@ A57_1: cpu@1 {
- d-cache-line-size = <64>;
- d-cache-sets = <256>;
- next-level-cache = <&A57_L2>;
-- clocks = <&scpi_dvfs 0>;
-+ clocks = <&scmi_dvfs 0>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <1024>;
- };
-@@ -130,7 +130,7 @@ A53_0: cpu@100 {
- d-cache-line-size = <64>;
- d-cache-sets = <128>;
- next-level-cache = <&A53_L2>;
-- clocks = <&scpi_dvfs 1>;
-+ clocks = <&scmi_dvfs 1>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <578>;
- };
-@@ -147,7 +147,7 @@ A53_1: cpu@101 {
- d-cache-line-size = <64>;
- d-cache-sets = <128>;
- next-level-cache = <&A53_L2>;
-- clocks = <&scpi_dvfs 1>;
-+ clocks = <&scmi_dvfs 1>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <578>;
- };
-@@ -164,7 +164,7 @@ A53_2: cpu@102 {
- d-cache-line-size = <64>;
- d-cache-sets = <128>;
- next-level-cache = <&A53_L2>;
-- clocks = <&scpi_dvfs 1>;
-+ clocks = <&scmi_dvfs 1>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <578>;
- };
-@@ -181,7 +181,7 @@ A53_3: cpu@103 {
- d-cache-line-size = <64>;
- d-cache-sets = <128>;
- next-level-cache = <&A53_L2>;
-- clocks = <&scpi_dvfs 1>;
-+ clocks = <&scmi_dvfs 1>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <578>;
- };
-diff --git a/arch/arm64/boot/dts/arm/juno-r2.dts b/arch/arm64/boot/dts/arm/juno-r2.dts
-index e609420ce3e4..7792626eb29e 100644
---- a/arch/arm64/boot/dts/arm/juno-r2.dts
-+++ b/arch/arm64/boot/dts/arm/juno-r2.dts
-@@ -96,7 +96,7 @@ A72_0: cpu@0 {
- d-cache-line-size = <64>;
- d-cache-sets = <256>;
- next-level-cache = <&A72_L2>;
-- clocks = <&scpi_dvfs 0>;
-+ clocks = <&scmi_dvfs 0>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <1024>;
- dynamic-power-coefficient = <450>;
-@@ -114,7 +114,7 @@ A72_1: cpu@1 {
- d-cache-line-size = <64>;
- d-cache-sets = <256>;
- next-level-cache = <&A72_L2>;
-- clocks = <&scpi_dvfs 0>;
-+ clocks = <&scmi_dvfs 0>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <1024>;
- dynamic-power-coefficient = <450>;
-@@ -132,7 +132,7 @@ A53_0: cpu@100 {
- d-cache-line-size = <64>;
- d-cache-sets = <128>;
- next-level-cache = <&A53_L2>;
-- clocks = <&scpi_dvfs 1>;
-+ clocks = <&scmi_dvfs 1>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <485>;
- dynamic-power-coefficient = <140>;
-@@ -150,7 +150,7 @@ A53_1: cpu@101 {
- d-cache-line-size = <64>;
- d-cache-sets = <128>;
- next-level-cache = <&A53_L2>;
-- clocks = <&scpi_dvfs 1>;
-+ clocks = <&scmi_dvfs 1>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <485>;
- dynamic-power-coefficient = <140>;
-@@ -168,7 +168,7 @@ A53_2: cpu@102 {
- d-cache-line-size = <64>;
- d-cache-sets = <128>;
- next-level-cache = <&A53_L2>;
-- clocks = <&scpi_dvfs 1>;
-+ clocks = <&scmi_dvfs 1>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <485>;
- dynamic-power-coefficient = <140>;
-@@ -186,7 +186,7 @@ A53_3: cpu@103 {
- d-cache-line-size = <64>;
- d-cache-sets = <128>;
- next-level-cache = <&A53_L2>;
-- clocks = <&scpi_dvfs 1>;
-+ clocks = <&scmi_dvfs 1>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <485>;
- dynamic-power-coefficient = <140>;
-diff --git a/arch/arm64/boot/dts/arm/juno.dts b/arch/arm64/boot/dts/arm/juno.dts
-index f00cffbd032c..a28316c65c1b 100644
---- a/arch/arm64/boot/dts/arm/juno.dts
-+++ b/arch/arm64/boot/dts/arm/juno.dts
-@@ -95,7 +95,7 @@ A57_0: cpu@0 {
- d-cache-line-size = <64>;
- d-cache-sets = <256>;
- next-level-cache = <&A57_L2>;
-- clocks = <&scpi_dvfs 0>;
-+ clocks = <&scmi_dvfs 0>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <1024>;
- dynamic-power-coefficient = <530>;
-@@ -113,7 +113,7 @@ A57_1: cpu@1 {
- d-cache-line-size = <64>;
- d-cache-sets = <256>;
- next-level-cache = <&A57_L2>;
-- clocks = <&scpi_dvfs 0>;
-+ clocks = <&scmi_dvfs 0>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <1024>;
- dynamic-power-coefficient = <530>;
-@@ -131,7 +131,7 @@ A53_0: cpu@100 {
- d-cache-line-size = <64>;
- d-cache-sets = <128>;
- next-level-cache = <&A53_L2>;
-- clocks = <&scpi_dvfs 1>;
-+ clocks = <&scmi_dvfs 1>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <578>;
- dynamic-power-coefficient = <140>;
-@@ -149,7 +149,7 @@ A53_1: cpu@101 {
- d-cache-line-size = <64>;
- d-cache-sets = <128>;
- next-level-cache = <&A53_L2>;
-- clocks = <&scpi_dvfs 1>;
-+ clocks = <&scmi_dvfs 1>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <578>;
- dynamic-power-coefficient = <140>;
-@@ -167,7 +167,7 @@ A53_2: cpu@102 {
- d-cache-line-size = <64>;
- d-cache-sets = <128>;
- next-level-cache = <&A53_L2>;
-- clocks = <&scpi_dvfs 1>;
-+ clocks = <&scmi_dvfs 1>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <578>;
- dynamic-power-coefficient = <140>;
-@@ -185,7 +185,7 @@ A53_3: cpu@103 {
- d-cache-line-size = <64>;
- d-cache-sets = <128>;
- next-level-cache = <&A53_L2>;
-- clocks = <&scpi_dvfs 1>;
-+ clocks = <&scmi_dvfs 1>;
- cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
- capacity-dmips-mhz = <578>;
- dynamic-power-coefficient = <140>;
---
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc
index f05c5ffc46..7bb4a92556 100644
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc
+++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc
@@ -91,7 +91,6 @@ COMPATIBLE_MACHINE:juno = "juno"
KBUILD_DEFCONFIG:juno = "defconfig"
KCONFIG_MODE:juno = "--alldefconfig"
FILESEXTRAPATHS:prepend:juno := "${ARMBSPFILESPATHS}"
-SRC_URI:append:juno = " file://juno-dts-mhu-doorbell.patch"
#
# Musca B1/S2 can't run Linux
@@ -180,6 +179,7 @@ SRC_URI:append:tc = " \
file://0042-ANDROID-trusty-ffa-Add-support-for-FFA-memory-operat.patch \
file://0043-ANDROID-trusty-ffa-Enable-FFA-transport-for-both-mem.patch \
file://0044-ANDROID-trusty-Make-trusty-transports-configurable.patch \
+ file://init_disassemble_info-signature-changes-causes-compile-failures.patch \
"
KERNEL_FEATURES:append:tc = " bsp/arm-platforms/tc.scc"
KERNEL_FEATURES:append:tc1 = " bsp/arm-platforms/tc-autofdo.scc"
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-5.10/tc/init_disassemble_info-signature-changes-causes-compile-failures.patch b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-5.10/tc/init_disassemble_info-signature-changes-causes-compile-failures.patch
new file mode 100644
index 0000000000..aa33bb7f1b
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-5.10/tc/init_disassemble_info-signature-changes-causes-compile-failures.patch
@@ -0,0 +1,99 @@
+From 1b2013986271de39360cf79e62ed9b7d2cc59f9b Mon Sep 17 00:00:00 2001
+From: Andres Freund <andres@anarazel.de>
+Date: Wed, 22 Jun 2022 11:19:18 -0700
+Subject: [PATCH] init_disassemble_info() signature changes causes compile
+ failures
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Hi,
+
+binutils changed the signature of init_disassemble_info(), which now causes
+perf and bpftool to fail to compile (e.g. on debian unstable).
+
+Relevant binutils commit: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=60a3da00bd5407f07d64dff82a4dae98230dfaac
+
+util/annotate.c: In function ‘symbol__disassemble_bpf’:
+util/annotate.c:1765:9: error: too few arguments to function ‘init_disassemble_info’
+ 1765 | init_disassemble_info(&info, s,
+ | ^~~~~~~~~~~~~~~~~~~~~
+In file included from util/annotate.c:1718:
+/usr/include/dis-asm.h:472:13: note: declared here
+ 472 | extern void init_disassemble_info (struct disassemble_info *dinfo, void *stream,
+ | ^~~~~~~~~~~~~~~~~~~~~
+
+with equivalent failures in
+
+tools/bpf/bpf_jit_disasm.c
+tools/bpf/bpftool/jit_disasm.c
+
+The fix is easy enough, add a wrapper around fprintf() that conforms to the
+new signature.
+
+However I assume the necessary feature test and wrapper should only be added
+once? I don't know the kernel stuff well enough to choose the right structure
+here.
+
+Attached is my local fix for perf. Obviously would need work to be a real
+solution.
+
+Greetings,
+
+Andres Freund
+---
+
+binutils 2.39 changed the signature of init_disassemble_info(),
+which now causes perf and bpftool to fail to compile.
+
+Relevant binutils commit: [1]
+
+There is a proper fix in development upstream[2].
+This is a work-around for older kernels.
+
+[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=60a3da00bd5407f07d64dff82a4dae98230dfaac
+[2] https://patchwork.kernel.org/project/netdevbpf/cover/20220801013834.156015-1-andres@anarazel.de/
+
+Upstream-Status: Pending
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+
+ tools/perf/util/annotate.c | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
+index 6c8575e182ed..466a3a68f5cd 100644
+--- a/tools/perf/util/annotate.c
++++ b/tools/perf/util/annotate.c
+@@ -1677,6 +1677,18 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil
+ #include <bfd.h>
+ #include <dis-asm.h>
+
++static int fprintf_styled(void *, enum disassembler_style, const char* fmt, ...)
++{
++ va_list args;
++ int r;
++
++ va_start(args, fmt);
++ r = vprintf(fmt, args);
++ va_end(args);
++
++ return r;
++}
++
+ static int symbol__disassemble_bpf(struct symbol *sym,
+ struct annotate_args *args)
+ {
+@@ -1719,7 +1731,8 @@ static int symbol__disassemble_bpf(struct symbol *sym,
+ goto out;
+ }
+ init_disassemble_info(&info, s,
+- (fprintf_ftype) fprintf);
++ (fprintf_ftype) fprintf,
++ fprintf_styled);
+
+ info.arch = bfd_get_arch(bfdf);
+ info.mach = bfd_get_mach(bfdf);
+--
+2.30.2
+
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0001-core-arm-add-MPIDR-affinity-shift-and-mask-for-32-bi.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0001-core-arm-add-MPIDR-affinity-shift-and-mask-for-32-bi.patch
new file mode 100644
index 0000000000..f249e526a8
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0001-core-arm-add-MPIDR-affinity-shift-and-mask-for-32-bi.patch
@@ -0,0 +1,29 @@
+Upstream-Status: Pending [Not submitted to upstream yet]
+Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
+
+From cf84c933bb7b8a95742d1e723950cb2cde2d5320 Mon Sep 17 00:00:00 2001
+From: Vishnu Banavath <vishnu.banavath@arm.com>
+Date: Wed, 20 Jul 2022 16:37:10 +0100
+Subject: [PATCH] core: arm: add MPIDR affinity shift and mask for 32-bit
+
+This change is to add MPIDR affinity shift and mask for
+32-bit
+
+Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
+
+diff --git a/core/arch/arm/include/arm.h b/core/arch/arm/include/arm.h
+index f59478af..2f6f82e7 100644
+--- a/core/arch/arm/include/arm.h
++++ b/core/arch/arm/include/arm.h
+@@ -63,6 +63,8 @@
+ #define MPIDR_AFF1_MASK (MPIDR_AFFLVL_MASK << MPIDR_AFF1_SHIFT)
+ #define MPIDR_AFF2_SHIFT U(16)
+ #define MPIDR_AFF2_MASK (MPIDR_AFFLVL_MASK << MPIDR_AFF2_SHIFT)
++#define MPIDR_AFF3_SHIFT U(32)
++#define MPIDR_AFF3_MASK (MPIDR_AFFLVL_MASK << MPIDR_AFF3_SHIFT)
+
+ #define MPIDR_MT_SHIFT U(24)
+ #define MPIDR_MT_MASK BIT(MPIDR_MT_SHIFT)
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0002-plat-n1sdp-add-N1SDP-platform-support.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0002-plat-n1sdp-add-N1SDP-platform-support.patch
new file mode 100644
index 0000000000..db195ab337
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0002-plat-n1sdp-add-N1SDP-platform-support.patch
@@ -0,0 +1,233 @@
+Upstream-Status: Pending [Not submitted to upstream yet]
+Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
+
+From 22ba7c7789082dbc179921962cdcadece4499c89 Mon Sep 17 00:00:00 2001
+From: Vishnu Banavath <vishnu.banavath@arm.com>
+Date: Thu, 30 Jun 2022 18:36:26 +0100
+Subject: [PATCH] plat-n1sdp: add N1SDP platform support
+
+These changes are to add N1SDP platform to optee-os
+
+Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
+
+diff --git a/core/arch/arm/plat-n1sdp/conf.mk b/core/arch/arm/plat-n1sdp/conf.mk
+new file mode 100644
+index 00000000..06b4975a
+--- /dev/null
++++ b/core/arch/arm/plat-n1sdp/conf.mk
+@@ -0,0 +1,41 @@
++include core/arch/arm/cpu/cortex-armv8-0.mk
++
++CFG_DEBUG_INFO = y
++CFG_TEE_CORE_LOG_LEVEL = 4
++
++# Workaround 808870: Unconditional VLDM instructions might cause an
++# alignment fault even though the address is aligned
++# Either hard float must be disabled for AArch32 or strict alignment checks
++# must be disabled
++ifeq ($(CFG_SCTLR_ALIGNMENT_CHECK),y)
++$(call force,CFG_TA_ARM32_NO_HARD_FLOAT_SUPPORT,y)
++else
++$(call force,CFG_SCTLR_ALIGNMENT_CHECK,n)
++endif
++
++CFG_ARM64_core ?= y
++
++CFG_ARM_GICV3 = y
++
++# ARM debugger needs this
++platform-cflags-debug-info = -gdwarf-4
++platform-aflags-debug-info = -gdwarf-4
++
++CFG_CORE_SEL1_SPMC = y
++CFG_WITH_ARM_TRUSTED_FW = y
++
++$(call force,CFG_GIC,y)
++$(call force,CFG_PL011,y)
++$(call force,CFG_SECURE_TIME_SOURCE_CNTPCT,y)
++
++CFG_CORE_HEAP_SIZE = 0x32000 # 200kb
++
++CFG_TEE_CORE_NB_CORE = 4
++CFG_TZDRAM_START ?= 0x08000000
++CFG_TZDRAM_SIZE ?= 0x02008000
++
++CFG_SHMEM_START ?= 0x83000000
++CFG_SHMEM_SIZE ?= 0x00210000
++# DRAM1 is defined above 4G
++$(call force,CFG_CORE_LARGE_PHYS_ADDR,y)
++$(call force,CFG_CORE_ARM64_PA_BITS,36)
+diff --git a/core/arch/arm/plat-n1sdp/main.c b/core/arch/arm/plat-n1sdp/main.c
+new file mode 100644
+index 00000000..cfb7f19b
+--- /dev/null
++++ b/core/arch/arm/plat-n1sdp/main.c
+@@ -0,0 +1,63 @@
++// SPDX-License-Identifier: BSD-2-Clause
++/*
++ * Copyright (c) 2022, Arm Limited.
++ */
++
++#include <arm.h>
++#include <console.h>
++#include <drivers/gic.h>
++#include <drivers/pl011.h>
++#include <drivers/tpm2_mmio.h>
++#include <drivers/tpm2_ptp_fifo.h>
++#include <drivers/tzc400.h>
++#include <initcall.h>
++#include <keep.h>
++#include <kernel/boot.h>
++#include <kernel/interrupt.h>
++#include <kernel/misc.h>
++#include <kernel/notif.h>
++#include <kernel/panic.h>
++#include <kernel/spinlock.h>
++#include <kernel/tee_time.h>
++#include <mm/core_memprot.h>
++#include <mm/core_mmu.h>
++#include <platform_config.h>
++#include <sm/psci.h>
++#include <stdint.h>
++#include <string.h>
++#include <trace.h>
++
++static struct gic_data gic_data __nex_bss;
++static struct pl011_data console_data __nex_bss;
++
++register_phys_mem_pgdir(MEM_AREA_IO_SEC, CONSOLE_UART_BASE, PL011_REG_SIZE);
++
++register_ddr(DRAM0_BASE, DRAM0_SIZE);
++
++register_phys_mem_pgdir(MEM_AREA_IO_SEC, GICD_BASE, GIC_DIST_REG_SIZE);
++register_phys_mem_pgdir(MEM_AREA_IO_SEC, GICC_BASE, GIC_DIST_REG_SIZE);
++register_phys_mem_pgdir(MEM_AREA_IO_SEC, GICR_BASE, GIC_DIST_REG_SIZE);
++
++void main_init_gic(void)
++{
++ gic_init_base_addr(&gic_data, GICC_BASE,
++ GICD_BASE);
++ itr_init(&gic_data.chip);
++}
++
++void main_secondary_init_gic(void)
++{
++ gic_cpu_init(&gic_data);
++}
++
++void itr_core_handler(void)
++{
++ gic_it_handle(&gic_data);
++}
++
++void console_init(void)
++{
++ pl011_init(&console_data, CONSOLE_UART_BASE, CONSOLE_UART_CLK_IN_HZ,
++ CONSOLE_BAUDRATE);
++ register_serial_console(&console_data.chip);
++}
+diff --git a/core/arch/arm/plat-n1sdp/n1sdp_core_pos.S b/core/arch/arm/plat-n1sdp/n1sdp_core_pos.S
+new file mode 100644
+index 00000000..439d4e67
+--- /dev/null
++++ b/core/arch/arm/plat-n1sdp/n1sdp_core_pos.S
+@@ -0,0 +1,32 @@
++/* SPDX-License-Identifier: BSD-2-Clause */
++/*
++ * Copyright (c) 2022, Arm Limited
++ */
++
++#include <asm.S>
++#include <arm.h>
++#include "platform_config.h"
++
++FUNC get_core_pos_mpidr , :
++ mov x4, x0
++
++ /*
++ * The MT bit in MPIDR is always set for n1sdp and the
++ * affinity level 0 corresponds to thread affinity level.
++ */
++
++ /* Extract individual affinity fields from MPIDR */
++ ubfx x0, x4, #MPIDR_AFF0_SHIFT, #MPIDR_AFFINITY_BITS
++ ubfx x1, x4, #MPIDR_AFF1_SHIFT, #MPIDR_AFFINITY_BITS
++ ubfx x2, x4, #MPIDR_AFF2_SHIFT, #MPIDR_AFFINITY_BITS
++ ubfx x3, x4, #MPIDR_AFF3_SHIFT, #MPIDR_AFFINITY_BITS
++
++ /* Compute linear position */
++ mov x4, #N1SDP_MAX_CLUSTERS_PER_CHIP
++ madd x2, x3, x4, x2
++ mov x4, #N1SDP_MAX_CPUS_PER_CLUSTER
++ madd x1, x2, x4, x1
++ mov x4, #N1SDP_MAX_PE_PER_CPU
++ madd x0, x1, x4, x0
++ ret
++END_FUNC get_core_pos_mpidr
+diff --git a/core/arch/arm/plat-n1sdp/platform_config.h b/core/arch/arm/plat-n1sdp/platform_config.h
+new file mode 100644
+index 00000000..81b99409
+--- /dev/null
++++ b/core/arch/arm/plat-n1sdp/platform_config.h
+@@ -0,0 +1,49 @@
++/* SPDX-License-Identifier: BSD-2-Clause */
++/*
++ * Copyright (c) 2022, Arm Limited
++ */
++
++#ifndef PLATFORM_CONFIG_H
++#define PLATFORM_CONFIG_H
++
++#include <mm/generic_ram_layout.h>
++#include <stdint.h>
++
++/* Make stacks aligned to data cache line length */
++#define STACK_ALIGNMENT 64
++
++ /* N1SDP topology related constants */
++#define N1SDP_MAX_CPUS_PER_CLUSTER U(2)
++#define PLAT_ARM_CLUSTER_COUNT U(2)
++#define PLAT_N1SDP_CHIP_COUNT U(2)
++#define N1SDP_MAX_CLUSTERS_PER_CHIP U(2)
++#define N1SDP_MAX_PE_PER_CPU U(1)
++
++#define PLATFORM_CORE_COUNT (PLAT_N1SDP_CHIP_COUNT * \
++ PLAT_ARM_CLUSTER_COUNT * \
++ N1SDP_MAX_CPUS_PER_CLUSTER * \
++ N1SDP_MAX_PE_PER_CPU)
++
++#define GIC_BASE 0x2c010000
++
++#define UART1_BASE 0x1C0A0000
++#define UART1_CLK_IN_HZ 24000000 /*24MHz*/
++
++#define CONSOLE_UART_BASE UART1_BASE
++#define CONSOLE_UART_CLK_IN_HZ UART1_CLK_IN_HZ
++
++#define DRAM0_BASE 0x80000000
++#define DRAM0_SIZE 0x80000000
++
++#define GICD_BASE 0x30000000
++#define GICC_BASE 0x2C000000
++#define GICR_BASE 0x300C0000
++
++#ifndef UART_BAUDRATE
++#define UART_BAUDRATE 115200
++#endif
++#ifndef CONSOLE_BAUDRATE
++#define CONSOLE_BAUDRATE UART_BAUDRATE
++#endif
++
++#endif /*PLATFORM_CONFIG_H*/
+diff --git a/core/arch/arm/plat-n1sdp/sub.mk b/core/arch/arm/plat-n1sdp/sub.mk
+new file mode 100644
+index 00000000..a0b49da1
+--- /dev/null
++++ b/core/arch/arm/plat-n1sdp/sub.mk
+@@ -0,0 +1,3 @@
++global-incdirs-y += .
++srcs-y += main.c
++srcs-y += n1sdp_core_pos.S
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0003-HACK-disable-instruction-cache-and-data-cache.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0003-HACK-disable-instruction-cache-and-data-cache.patch
new file mode 100644
index 0000000000..e8f4cc44dc
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0003-HACK-disable-instruction-cache-and-data-cache.patch
@@ -0,0 +1,46 @@
+Upstream-Status: Pending [Not submitted to upstream yet]
+Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
+
+From 0c3ce4c09cd7d2ff4cd2e62acab899dd88dc9514 Mon Sep 17 00:00:00 2001
+From: Vishnu Banavath <vishnu.banavath@arm.com>
+Date: Wed, 20 Jul 2022 16:45:59 +0100
+Subject: [PATCH] HACK: disable instruction cache and data cache.
+
+For some reason, n1sdp fails to boot with instruction cache and
+data cache enabled. This is a temporary change to disable I cache
+and D cache until a proper fix is found.
+
+Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
+
+%% original patch: 0003-HACK-disable-instruction-cache-and-data-cache.patch
+
+diff --git a/core/arch/arm/kernel/entry_a64.S b/core/arch/arm/kernel/entry_a64.S
+index 875b6e69..594d6928 100644
+--- a/core/arch/arm/kernel/entry_a64.S
++++ b/core/arch/arm/kernel/entry_a64.S
+@@ -52,7 +52,7 @@
+
+ .macro set_sctlr_el1
+ mrs x0, sctlr_el1
+- orr x0, x0, #SCTLR_I
++ bic x0, x0, #SCTLR_I
+ orr x0, x0, #SCTLR_SA
+ orr x0, x0, #SCTLR_SPAN
+ #if defined(CFG_CORE_RWDATA_NOEXEC)
+@@ -490,11 +490,11 @@ LOCAL_FUNC enable_mmu , : , .identity_map
+ isb
+
+ /* Enable I and D cache */
+- mrs x1, sctlr_el1
++ /* mrs x1, sctlr_el1
+ orr x1, x1, #SCTLR_I
+ orr x1, x1, #SCTLR_C
+ msr sctlr_el1, x1
+- isb
++ isb */
+
+ /* Adjust stack pointers and return address */
+ msr spsel, #1
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0004-Handle-logging-syscall.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0004-Handle-logging-syscall.patch
new file mode 100644
index 0000000000..356be9e04f
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0004-Handle-logging-syscall.patch
@@ -0,0 +1,33 @@
+Upstream-Status: Pending [Not submitted to upstream yet]
+Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
+
+From b3fde6c2e1a950214f760ab9f194f3a6572292a8 Mon Sep 17 00:00:00 2001
+From: Balint Dobszay <balint.dobszay@arm.com>
+Date: Fri, 15 Jul 2022 13:45:54 +0200
+Subject: [PATCH] Handle logging syscall
+
+Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
+Change-Id: Ib8151cc9c66aea8bcc8fe8b1ecdc3f9f9c5f14e4
+
+%% original patch: 0004-Handle-logging-syscall.patch
+
+diff --git a/core/arch/arm/kernel/spmc_sp_handler.c b/core/arch/arm/kernel/spmc_sp_handler.c
+index e0fa0aa6..c7a45387 100644
+--- a/core/arch/arm/kernel/spmc_sp_handler.c
++++ b/core/arch/arm/kernel/spmc_sp_handler.c
+@@ -1004,6 +1004,12 @@ void spmc_sp_msg_handler(struct thread_smc_args *args,
+ ffa_mem_reclaim(args, caller_sp);
+ sp_enter(args, caller_sp);
+ break;
++ case 0xdeadbeef:
++ ts_push_current_session(&caller_sp->ts_sess);
++ IMSG("%s", (char *)args->a1);
++ ts_pop_current_session();
++ sp_enter(args, caller_sp);
++ break;
+ default:
+ EMSG("Unhandled FFA function ID %#"PRIx32,
+ (uint32_t)args->a0);
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-n1sdp.inc b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-n1sdp.inc
new file mode 100644
index 0000000000..219f08bfd7
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-n1sdp.inc
@@ -0,0 +1,22 @@
+# N1 SDP specific configuration for optee-os
+
+COMPATIBLE_MACHINE:n1sdp = "n1sdp"
+OPTEEMACHINE:n1sdp = "n1sdp"
+
+TS_INSTALL_PREFIX_PATH = "${RECIPE_SYSROOT}/firmware/sp/opteesp"
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/files/optee-os/n1sdp:"
+SRC_URI:append = " \
+ file://0001-core-arm-add-MPIDR-affinity-shift-and-mask-for-32-bi.patch \
+ file://0002-plat-n1sdp-add-N1SDP-platform-support.patch \
+ file://0003-HACK-disable-instruction-cache-and-data-cache.patch \
+ file://0004-Handle-logging-syscall.patch \
+ "
+
+EXTRA_OEMAKE += " CFG_TEE_CORE_LOG_LEVEL=4"
+
+EXTRA_OEMAKE += " CFG_TEE_BENCHMARK=n"
+
+EXTRA_OEMAKE += " CFG_CORE_SEL1_SPMC=y CFG_CORE_FFA=y"
+
+EXTRA_OEMAKE += " CFG_WITH_SP=y"
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.18.0.bbappend b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.18.0.bbappend
new file mode 100644
index 0000000000..f80e09f82d
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.18.0.bbappend
@@ -0,0 +1,6 @@
+# Machine specific configurations
+
+MACHINE_OPTEE_OS_REQUIRE ?= ""
+MACHINE_OPTEE_OS_REQUIRE:n1sdp = "optee-os-n1sdp.inc"
+
+require ${MACHINE_OPTEE_OS_REQUIRE}
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/secure-partitions/corstone1000/0048-Fix-UEFI-get_variable-with-small-buffer.patch b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/secure-partitions/corstone1000/0048-Fix-UEFI-get_variable-with-small-buffer.patch
new file mode 100644
index 0000000000..e4573a5196
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/secure-partitions/corstone1000/0048-Fix-UEFI-get_variable-with-small-buffer.patch
@@ -0,0 +1,407 @@
+Upstream-Status: Pending
+Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
+
+From 2d975e5ec5df6f81d6c35fe927f72d49181142f8 Mon Sep 17 00:00:00 2001
+From: Julian Hall <julian.hall@arm.com>
+Date: Tue, 19 Jul 2022 12:43:30 +0100
+Subject: [PATCH] Fix UEFI get_variable with small buffer
+
+The handling of the UEFI get_variable operation was incorrect when
+a small or zero data length was specified by a requester. A zero
+length data length is a legitimate way to discover the size of a
+variable without actually retrieving its data. This change adds
+test cases that reproduce the problem and a fix.
+
+Signed-off-by: Julian Hall <julian.hall@arm.com>
+Change-Id: Iec087fbf9305746d1438888e871602ec0ce15824
+---
+ .../backend/test/variable_store_tests.cpp | 60 ++++++++++++++++--
+ .../backend/uefi_variable_store.c | 46 +++++++++++---
+ .../client/cpp/smm_variable_client.cpp | 33 +++++-----
+ .../client/cpp/smm_variable_client.h | 8 ++-
+ .../provider/smm_variable_provider.c | 2 +-
+ .../service/smm_variable_service_tests.cpp | 62 +++++++++++++++++++
+ 6 files changed, 179 insertions(+), 32 deletions(-)
+
+diff --git a/components/service/smm_variable/backend/test/variable_store_tests.cpp b/components/service/smm_variable/backend/test/variable_store_tests.cpp
+index 235642e6..98faf761 100644
+--- a/components/service/smm_variable/backend/test/variable_store_tests.cpp
++++ b/components/service/smm_variable/backend/test/variable_store_tests.cpp
+@@ -128,7 +128,8 @@ TEST_GROUP(UefiVariableStoreTests)
+
+ efi_status_t get_variable(
+ const std::wstring &name,
+- std::string &data)
++ std::string &data,
++ size_t data_len_clamp = VARIABLE_BUFFER_SIZE)
+ {
+ std::vector<int16_t> var_name = to_variable_name(name);
+ size_t name_size = var_name.size() * sizeof(int16_t);
+@@ -144,21 +145,40 @@ TEST_GROUP(UefiVariableStoreTests)
+ access_variable->NameSize = name_size;
+ memcpy(access_variable->Name, var_name.data(), name_size);
+
+- access_variable->DataSize = 0;
++ size_t max_data_len = (data_len_clamp == VARIABLE_BUFFER_SIZE) ?
++ VARIABLE_BUFFER_SIZE -
++ SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_DATA_OFFSET(access_variable) :
++ data_len_clamp;
++
++ access_variable->DataSize = max_data_len;
+
+ efi_status_t status = uefi_variable_store_get_variable(
+ &m_uefi_variable_store,
+ access_variable,
+- VARIABLE_BUFFER_SIZE -
+- SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_DATA_OFFSET(access_variable),
++ max_data_len,
+ &total_size);
+
++ data.clear();
++
+ if (status == EFI_SUCCESS) {
+
+ const char *data_start = (const char*)(msg_buffer +
+ SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_DATA_OFFSET(access_variable));
+
+ data = std::string(data_start, access_variable->DataSize);
++
++ UNSIGNED_LONGLONGS_EQUAL(
++ SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_TOTAL_SIZE(access_variable),
++ total_size);
++ }
++ else if (status == EFI_BUFFER_TOO_SMALL) {
++
++ /* String length set to reported variable length */
++ data.insert(0, access_variable->DataSize, '!');
++
++ UNSIGNED_LONGLONGS_EQUAL(
++ SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_DATA_OFFSET(access_variable),
++ total_size);
+ }
+
+ return status;
+@@ -336,6 +356,38 @@ TEST(UefiVariableStoreTests, persistentSetGet)
+ LONGS_EQUAL(0, input_data.compare(output_data));
+ }
+
++TEST(UefiVariableStoreTests, getWithSmallBuffer)
++{
++ efi_status_t status = EFI_SUCCESS;
++ std::wstring var_name = L"test_variable";
++ std::string input_data = "quick brown fox";
++ std::string output_data;
++
++ /* A get with a zero length buffer is a legitimate way to
++ * discover the variable size. This test performs GetVariable
++ * operations with various buffer small buffer sizes. */
++ status = set_variable(var_name, input_data, 0);
++ UNSIGNED_LONGLONGS_EQUAL(EFI_SUCCESS, status);
++
++ /* First get the variable without a constrained buffer */
++ status = get_variable(var_name, output_data);
++ UNSIGNED_LONGLONGS_EQUAL(EFI_SUCCESS, status);
++
++ /* Expect got variable data to be the same as the set value */
++ UNSIGNED_LONGLONGS_EQUAL(input_data.size(), output_data.size());
++ LONGS_EQUAL(0, input_data.compare(output_data));
++
++ /* Now try with a zero length buffer */
++ status = get_variable(var_name, output_data, 0);
++ UNSIGNED_LONGLONGS_EQUAL(EFI_BUFFER_TOO_SMALL, status);
++ UNSIGNED_LONGLONGS_EQUAL(input_data.size(), output_data.size());
++
++ /* Try with a non-zero length but too small buffer */
++ status = get_variable(var_name, output_data, input_data.size() -1);
++ UNSIGNED_LONGLONGS_EQUAL(EFI_BUFFER_TOO_SMALL, status);
++ UNSIGNED_LONGLONGS_EQUAL(input_data.size(), output_data.size());
++}
++
+ TEST(UefiVariableStoreTests, removeVolatile)
+ {
+ efi_status_t status = EFI_SUCCESS;
+diff --git a/components/service/smm_variable/backend/uefi_variable_store.c b/components/service/smm_variable/backend/uefi_variable_store.c
+index e8771c21..90d648de 100644
+--- a/components/service/smm_variable/backend/uefi_variable_store.c
++++ b/components/service/smm_variable/backend/uefi_variable_store.c
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2021, Arm Limited. All rights reserved.
++ * Copyright (c) 2021-2022, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+@@ -294,7 +294,10 @@ efi_status_t uefi_variable_store_get_variable(
+
+ status = load_variable_data(context, info, var, max_data_len);
+ var->Attributes = info->metadata.attributes;
+- *total_length = SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_TOTAL_SIZE(var);
++
++ *total_length = (status == EFI_SUCCESS) ?
++ SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_TOTAL_SIZE(var) :
++ SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_DATA_OFFSET(var);
+ }
+ }
+
+@@ -682,7 +685,6 @@ static efi_status_t load_variable_data(
+ {
+ EMSG("In func %s\n", __func__);
+ psa_status_t psa_status = PSA_SUCCESS;
+- size_t data_len = 0;
+ uint8_t *data = (uint8_t*)var +
+ SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_DATA_OFFSET(var);
+
+@@ -692,17 +694,41 @@ static efi_status_t load_variable_data(
+
+ if (delegate_store->storage_backend) {
+
+- psa_status = delegate_store->storage_backend->interface->get(
++ struct psa_storage_info_t storage_info;
++
++ psa_status = delegate_store->storage_backend->interface->get_info(
+ delegate_store->storage_backend->context,
+ context->owner_id,
+ info->metadata.uid,
+- 0,
+- max_data_len,
+- data,
+- &data_len);
+- EMSG("In func %s get status is %d\n", __func__, psa_status);
++ &storage_info);
++
++ if (psa_status == PSA_SUCCESS) {
+
+- var->DataSize = data_len;
++ size_t get_limit = (var->DataSize < max_data_len) ?
++ var->DataSize :
++ max_data_len;
++
++ if (get_limit >= storage_info.size) {
++
++ size_t got_len = 0;
++
++ psa_status = delegate_store->storage_backend->interface->get(
++ delegate_store->storage_backend->context,
++ context->owner_id,
++ info->metadata.uid,
++ 0,
++ max_data_len,
++ data,
++ &got_len);
++
++ var->DataSize = got_len;
++ }
++ else {
++
++ var->DataSize = storage_info.size;
++ psa_status = PSA_ERROR_BUFFER_TOO_SMALL;
++ }
++ }
+ }
+
+ return psa_to_efi_storage_status(psa_status);
+diff --git a/components/service/smm_variable/client/cpp/smm_variable_client.cpp b/components/service/smm_variable/client/cpp/smm_variable_client.cpp
+index 8438285b..b6b4ed90 100644
+--- a/components/service/smm_variable/client/cpp/smm_variable_client.cpp
++++ b/components/service/smm_variable/client/cpp/smm_variable_client.cpp
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+@@ -122,21 +122,22 @@ efi_status_t smm_variable_client::get_variable(
+ guid,
+ name,
+ data,
+- 0);
++ 0,
++ MAX_VAR_DATA_SIZE);
+ }
+
+ efi_status_t smm_variable_client::get_variable(
+ const EFI_GUID &guid,
+ const std::wstring &name,
+ std::string &data,
+- size_t override_name_size)
++ size_t override_name_size,
++ size_t max_data_size)
+ {
+ efi_status_t efi_status = EFI_NOT_READY;
+
+ std::vector<int16_t> var_name = to_variable_name(name);
+ size_t name_size = var_name.size() * sizeof(int16_t);
+- size_t data_size = 0;
+- size_t req_len = SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_SIZE(name_size, data_size);
++ size_t req_len = SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_SIZE(name_size, 0);
+
+ rpc_call_handle call_handle;
+ uint8_t *req_buf;
+@@ -154,7 +155,7 @@ efi_status_t smm_variable_client::get_variable(
+
+ access_var->Guid = guid;
+ access_var->NameSize = name_size;
+- access_var->DataSize = data_size;
++ access_var->DataSize = max_data_size;
+
+ memcpy(access_var->Name, var_name.data(), name_size);
+
+@@ -168,26 +169,28 @@ efi_status_t smm_variable_client::get_variable(
+
+ efi_status = opstatus;
+
+- if (efi_status == EFI_SUCCESS) {
+-
+- efi_status = EFI_PROTOCOL_ERROR;
++ if (resp_len >= SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_NAME_OFFSET) {
+
+- if (resp_len >= SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_NAME_OFFSET) {
++ access_var = (SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE*)resp_buf;
++ size_t data_size = access_var->DataSize;
+
+- access_var = (SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE*)resp_buf;
++ if (resp_len >=
++ SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_TOTAL_SIZE(access_var)) {
+
+- if (resp_len >=
+- SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_TOTAL_SIZE(access_var)) {
++ if (efi_status == EFI_SUCCESS) {
+
+- data_size = access_var->DataSize;
+ const char *data_start = (const char*)
+ &resp_buf[
+ SMM_VARIABLE_COMMUNICATE_ACCESS_VARIABLE_DATA_OFFSET(access_var)];
+
+ data.assign(data_start, data_size);
+- efi_status = EFI_SUCCESS;
+ }
+ }
++ else if (efi_status == EFI_BUFFER_TOO_SMALL) {
++
++ data.clear();
++ data.insert(0, data_size, '!');
++ }
+ }
+ }
+ else {
+diff --git a/components/service/smm_variable/client/cpp/smm_variable_client.h b/components/service/smm_variable/client/cpp/smm_variable_client.h
+index c7973916..3d2371a8 100644
+--- a/components/service/smm_variable/client/cpp/smm_variable_client.h
++++ b/components/service/smm_variable/client/cpp/smm_variable_client.h
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+@@ -56,7 +56,8 @@ public:
+ const EFI_GUID &guid,
+ const std::wstring &name,
+ std::string &data,
+- size_t override_name_size);
++ size_t override_name_size,
++ size_t max_data_size = MAX_VAR_DATA_SIZE);
+
+ /* Remove a variable */
+ efi_status_t remove_variable(
+@@ -113,6 +114,9 @@ public:
+
+
+ private:
++
++ static const size_t MAX_VAR_DATA_SIZE = 65536;
++
+ efi_status_t rpc_to_efi_status() const;
+
+ static std::vector<int16_t> to_variable_name(const std::wstring &string);
+diff --git a/components/service/smm_variable/provider/smm_variable_provider.c b/components/service/smm_variable/provider/smm_variable_provider.c
+index 1f362c17..95c4fdc9 100644
+--- a/components/service/smm_variable/provider/smm_variable_provider.c
++++ b/components/service/smm_variable/provider/smm_variable_provider.c
+@@ -165,7 +165,7 @@ static rpc_status_t get_variable_handler(void *context, struct call_req *req)
+ }
+ else {
+
+- /* Reponse buffer not big enough */
++ /* Response buffer not big enough */
+ efi_status = EFI_BAD_BUFFER_SIZE;
+ }
+ }
+diff --git a/components/service/smm_variable/test/service/smm_variable_service_tests.cpp b/components/service/smm_variable/test/service/smm_variable_service_tests.cpp
+index 38c08ebe..989a3e63 100644
+--- a/components/service/smm_variable/test/service/smm_variable_service_tests.cpp
++++ b/components/service/smm_variable/test/service/smm_variable_service_tests.cpp
+@@ -284,6 +284,68 @@ TEST(SmmVariableServiceTests, setAndGetNv)
+ UNSIGNED_LONGLONGS_EQUAL(EFI_SUCCESS, efi_status);
+ }
+
++TEST(SmmVariableServiceTests, getVarSize)
++{
++ efi_status_t efi_status = EFI_SUCCESS;
++ std::wstring var_name = L"test_variable";
++ std::string set_data = "UEFI variable data string";
++ std::string get_data;
++
++ efi_status = m_client->set_variable(
++ m_common_guid,
++ var_name,
++ set_data,
++ 0);
++
++ UNSIGNED_LONGLONGS_EQUAL(EFI_SUCCESS, efi_status);
++
++ /* Get with the data size set to zero. This is the standard way
++ * to discover the variable size. */
++ efi_status = m_client->get_variable(
++ m_common_guid,
++ var_name,
++ get_data,
++ 0, 0);
++
++ UNSIGNED_LONGLONGS_EQUAL(EFI_BUFFER_TOO_SMALL, efi_status);
++ UNSIGNED_LONGS_EQUAL(set_data.size(), get_data.size());
++
++ /* Expect remove to be permitted */
++ efi_status = m_client->remove_variable(m_common_guid, var_name);
++ UNSIGNED_LONGLONGS_EQUAL(EFI_SUCCESS, efi_status);
++}
++
++TEST(SmmVariableServiceTests, getVarSizeNv)
++{
++ efi_status_t efi_status = EFI_SUCCESS;
++ std::wstring var_name = L"test_variable";
++ std::string set_data = "UEFI variable data string";
++ std::string get_data;
++
++ efi_status = m_client->set_variable(
++ m_common_guid,
++ var_name,
++ set_data,
++ EFI_VARIABLE_NON_VOLATILE);
++
++ UNSIGNED_LONGLONGS_EQUAL(EFI_SUCCESS, efi_status);
++
++ /* Get with the data size set to zero. This is the standard way
++ * to discover the variable size. */
++ efi_status = m_client->get_variable(
++ m_common_guid,
++ var_name,
++ get_data,
++ 0, 0);
++
++ UNSIGNED_LONGLONGS_EQUAL(EFI_BUFFER_TOO_SMALL, efi_status);
++ UNSIGNED_LONGS_EQUAL(set_data.size(), get_data.size());
++
++ /* Expect remove to be permitted */
++ efi_status = m_client->remove_variable(m_common_guid, var_name);
++ UNSIGNED_LONGLONGS_EQUAL(EFI_SUCCESS, efi_status);
++}
++
+ TEST(SmmVariableServiceTests, enumerateStoreContents)
+ {
+ efi_status_t efi_status = EFI_SUCCESS;
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-corstone1000.inc b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-corstone1000.inc
index 88c46a74b9..b04863fcfa 100644
--- a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-corstone1000.inc
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-corstone1000.inc
@@ -59,6 +59,7 @@ SRC_URI:append = " \
file://0046-Fix-update-psa_set_key_usage_flags-definition-to-the.patch \
file://0047-Fixes-in-AEAD-for-psa-arch-test-54-and-58.patch \
file://0003-corstone1000-port-crypto-config.patch;patchdir=../psa-arch-tests \
+ file://0048-Fix-UEFI-get_variable-with-small-buffer.patch \
"
SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;protocol=https;branch=development;name=mbedtls;destsuffix=git/mbedtls"
diff --git a/meta-arm/meta-arm-bsp/wic/corstone1000-image.corstone1000.wks b/meta-arm/meta-arm-bsp/wic/corstone1000-image.corstone1000.wks
index c58d7d6848..762567970a 100644
--- a/meta-arm/meta-arm-bsp/wic/corstone1000-image.corstone1000.wks
+++ b/meta-arm/meta-arm-bsp/wic/corstone1000-image.corstone1000.wks
@@ -12,4 +12,4 @@ part --source rawcopy --sourceparams="file=tfm_s_signed.bin" --align 1 --no-tabl
part --source rawcopy --sourceparams="file=signed_fip-corstone1000.bin" --align 1 --no-table --fixed-size 2
# Rawcopy of kernel with initramfs
-part --source rawcopy --sourceparams="file=Image-initramfs-${MACHINE}.bin" --no-table --fixed-size 12
+part --source rawcopy --sourceparams="file=Image.gz-initramfs-${MACHINE}.bin" --no-table --fixed-size 12
diff --git a/meta-arm/meta-arm/classes/fvpboot.bbclass b/meta-arm/meta-arm/classes/fvpboot.bbclass
index ec9d4f5b40..fbdfa965d4 100644
--- a/meta-arm/meta-arm/classes/fvpboot.bbclass
+++ b/meta-arm/meta-arm/classes/fvpboot.bbclass
@@ -26,7 +26,7 @@ FVP_EXTRA_ARGS ?= ""
EXTRA_IMAGEDEPENDS += "${FVP_PROVIDER}"
-inherit image-artifact-names
+IMAGE_CLASSES += "image-artifact-names"
IMAGE_POSTPROCESS_COMMAND += "do_write_fvpboot_conf;"
python do_write_fvpboot_conf() {
diff --git a/meta-arm/meta-arm/conf/machine/qemuarm-secureboot.conf b/meta-arm/meta-arm/conf/machine/qemuarm-secureboot.conf
index a459f3fa14..e48d9642df 100644
--- a/meta-arm/meta-arm/conf/machine/qemuarm-secureboot.conf
+++ b/meta-arm/meta-arm/conf/machine/qemuarm-secureboot.conf
@@ -12,6 +12,7 @@ QB_DEFAULT_BIOS = "flash.bin"
QB_FSINFO = "wic:no-kernel-in-fs"
QB_ROOTFS_OPT = ""
QB_KERNEL_ROOT = "/dev/vda2"
+QB_KERNEL_CMDLINE_APPEND = ""
IMAGE_FSTYPES += "wic wic.qcow2"
diff --git a/meta-arm/meta-arm/lib/oeqa/runtime/cases/linuxboot.py b/meta-arm/meta-arm/lib/oeqa/runtime/cases/linuxboot.py
index 8994405e80..99a8e78bd1 100644
--- a/meta-arm/meta-arm/lib/oeqa/runtime/cases/linuxboot.py
+++ b/meta-arm/meta-arm/lib/oeqa/runtime/cases/linuxboot.py
@@ -12,7 +12,8 @@ class LinuxBootTest(OERuntimeTestCase):
def setUp(self):
self.console = self.target.DEFAULT_CONSOLE
+ self.timeout = int(self.td.get('TEST_FVP_LINUX_BOOT_TIMEOUT') or 10*60)
def test_linux_boot(self):
self.logger.info(f"{self.console}: Waiting for login prompt")
- self.target.expect(self.console, r"login\:", timeout=10*60)
+ self.target.expect(self.console, r"login\:", self.timeout)
diff --git a/meta-arm/meta-arm/lib/oeqa/runtime/cases/trusted_services.py b/meta-arm/meta-arm/lib/oeqa/runtime/cases/trusted_services.py
new file mode 100644
index 0000000000..a5f9376062
--- /dev/null
+++ b/meta-arm/meta-arm/lib/oeqa/runtime/cases/trusted_services.py
@@ -0,0 +1,50 @@
+#
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+class TrustedServicesTest(OERuntimeTestCase):
+
+ def run_test_tool(self, cmd, expected_status=0 ):
+ """ Run a test utility """
+
+ status, output = self.target.run(cmd)
+ self.assertEqual(status, expected_status, msg='\n'.join([cmd, output]))
+
+ @OEHasPackage(['ts-demo'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_00_ts_demo(self):
+ self.run_test_tool('ts-demo')
+
+ @OEHasPackage(['ts-service-test'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_01_ts_service_test(self):
+ self.run_test_tool('ts-service-test')
+
+ @OEHasPackage(['ts-uefi-test'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_02_ts_uefi_test(self):
+ self.run_test_tool('uefi-test')
+
+ @OEHasPackage(['ts-psa-crypto-api-test'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_03_psa_crypto_api_test(self):
+ # There are a few expected PSA Crypto tests failing
+ self.run_test_tool('psa-crypto-api-test', expected_status=46)
+
+ @OEHasPackage(['ts-psa-its-api-test'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_04_psa_its_api_test(self):
+ self.run_test_tool('psa-its-api-test')
+
+ @OEHasPackage(['ts-psa-ps-api-test'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_05_psa_ps_api_test(self):
+ # There are a few expected PSA Storage tests failing
+ self.run_test_tool('psa-ps-api-test', expected_status=46)
+
+ @OEHasPackage(['ts-psa-iat-api-test'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_06_psa_iat_api_test(self):
+ self.run_test_tool('psa-iat-api-test')
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/build-deps-upgrade-to-mbed-TLS-2.28.0.patch b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/build-deps-upgrade-to-mbed-TLS-2.28.0.patch
deleted file mode 100644
index 058423c6a5..0000000000
--- a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/build-deps-upgrade-to-mbed-TLS-2.28.0.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
-
-From a93084be95634b66b917f1c8baf403067dc75c5d Mon Sep 17 00:00:00 2001
-From: Sandrine Bailleux <sandrine.bailleux@arm.com>
-Date: Thu, 21 Apr 2022 10:21:29 +0200
-Subject: [PATCH] build(deps): upgrade to mbed TLS 2.28.0
-
-Upgrade to the latest and greatest 2.x release of Mbed TLS library
-(i.e. v2.28.0) to take advantage of their bug fixes.
-
-Note that the Mbed TLS project published version 3.x some time
-ago. However, as this is a major release with API breakages, upgrading
-to 3.x might require some more involved changes in TF-A, which we are
-not ready to do. We shall upgrade to mbed TLS 3.x after the v2.7
-release of TF-A.
-
-Actually, the upgrade this time simply boils down to including the new
-source code module 'constant_time.c' into the firmware.
-
-To quote mbed TLS v2.28.0 release notes [1]:
-
- The mbedcrypto library includes a new source code module
- constant_time.c, containing various functions meant to resist timing
- side channel attacks. This module does not have a separate
- configuration option, and functions from this module will be
- included in the build as required.
-
-As a matter of fact, if one is attempting to link TF-A against mbed
-TLS v2.28.0 without the present patch, one gets some linker errors
-due to missing symbols from this new module.
-
-Apart from this, none of the items listed in mbed TLS release
-notes [1] directly affect TF-A. Special note on the following one:
-
- Fix a bug in mbedtls_gcm_starts() when the bit length of the iv
- exceeds 2^32.
-
-In TF-A, we do use mbedtls_gcm_starts() when the firmware decryption
-feature is enabled with AES-GCM as the authenticated decryption
-algorithm (DECRYPTION_SUPPORT=aes_gcm). However, the iv_len variable
-which gets passed to mbedtls_gcm_starts() is an unsigned int, i.e. a
-32-bit value which by definition is always less than 2**32. Therefore,
-we are immune to this bug.
-
-With this upgrade, the size of BL1 and BL2 binaries does not appear to
-change on a standard sample test build (with trusted boot and measured
-boot enabled).
-
-[1] https://github.com/Mbed-TLS/mbedtls/releases/tag/v2.28.0
-
-Change-Id: Icd5dbf527395e9e22c8fd6b77427188bd7237fd6
-Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
----
- drivers/auth/mbedtls/mbedtls_common.mk | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/auth/mbedtls/mbedtls_common.mk b/drivers/auth/mbedtls/mbedtls_common.mk
-index 0a4775d00..3eb41617f 100644
---- a/drivers/auth/mbedtls/mbedtls_common.mk
-+++ b/drivers/auth/mbedtls/mbedtls_common.mk
-@@ -48,6 +48,7 @@ LIBMBEDTLS_SRCS := $(addprefix ${MBEDTLS_DIR}/library/, \
- rsa_internal.c \
- x509.c \
- x509_crt.c \
-+ constant_time.c \
- )
-
- # The platform may define the variable 'TF_MBEDTLS_KEY_ALG' to select the key
---
-2.25.1
-
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/rwx-segments.patch b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/rwx-segments.patch
new file mode 100644
index 0000000000..a4518ec6b0
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/rwx-segments.patch
@@ -0,0 +1,38 @@
+Binutils 2.39 now warns when a segment has RXW permissions[1]:
+
+aarch64-none-elf-ld.bfd: warning: bl31.elf has a LOAD segment with RWX
+permissions
+
+However, TF-A passes --fatal-warnings to LD, so this is a build failure.
+
+There is a ticket filed upstream[2], so until that is resolved just
+remove --fatal-warnings.
+
+[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
+[2] https://developer.trustedfirmware.org/T996
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/Makefile b/Makefile
+index 3941f8698..13bbac348 100644
+--- a/Makefile
++++ b/Makefile
+@@ -418,7 +418,7 @@ TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH))
+ # LD = gcc (used when GCC LTO is enabled)
+ else ifneq ($(findstring gcc,$(notdir $(LD))),)
+ # Pass ld options with Wl or Xlinker switches
+-TF_LDFLAGS += -Wl,--fatal-warnings -O1
++TF_LDFLAGS += -O1
+ TF_LDFLAGS += -Wl,--gc-sections
+ ifeq ($(ENABLE_LTO),1)
+ ifeq (${ARCH},aarch64)
+@@ -435,7 +435,7 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH)))
+
+ # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other
+ else
+-TF_LDFLAGS += --fatal-warnings -O1
++TF_LDFLAGS += -O1
+ TF_LDFLAGS += --gc-sections
+ # ld.lld doesn't recognize the errata flags,
+ # therefore don't add those in that case
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/ssl.patch b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/ssl.patch
deleted file mode 100644
index cdabd1b70e..0000000000
--- a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/ssl.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-fiptool: respect OPENSSL_DIR
-
-fiptool links to libcrypto, so as with the other tools it should respect
-OPENSSL_DIR for include/library paths.
-
-Upstream-Status: Submitted
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-diff --git a/Makefile b/Makefile
-index ec6f88585..2d3b9fc26 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1388,7 +1388,7 @@ fwu_fip: ${BUILD_PLAT}/${FWU_FIP_NAME}
-
- ${FIPTOOL}: FORCE
- ifdef UNIX_MK
-- ${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" FIPTOOL=${FIPTOOL} --no-print-directory -C ${FIPTOOLPATH}
-+ ${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" FIPTOOL=${FIPTOOL} OPENSSL_DIR=${OPENSSL_DIR} --no-print-directory -C ${FIPTOOLPATH}
- else
- # Clear the MAKEFLAGS as we do not want
- # to pass the gnumake flags to nmake.
-diff --git a/tools/fiptool/Makefile b/tools/fiptool/Makefile
-index 11d2e7b0b..7c2a08379 100644
---- a/tools/fiptool/Makefile
-+++ b/tools/fiptool/Makefile
-@@ -12,6 +12,8 @@ FIPTOOL ?= fiptool${BIN_EXT}
- PROJECT := $(notdir ${FIPTOOL})
- OBJECTS := fiptool.o tbbr_config.o
- V ?= 0
-+OPENSSL_DIR := /usr
-+
-
- override CPPFLAGS += -D_GNU_SOURCE -D_XOPEN_SOURCE=700
- HOSTCCFLAGS := -Wall -Werror -pedantic -std=c99
-@@ -20,7 +22,7 @@ ifeq (${DEBUG},1)
- else
- HOSTCCFLAGS += -O2
- endif
--LDLIBS := -lcrypto
-+LDLIBS := -L${OPENSSL_DIR}/lib -lcrypto
-
- ifeq (${V},0)
- Q := @
-@@ -28,7 +30,7 @@ else
- Q :=
- endif
-
--INCLUDE_PATHS := -I../../include/tools_share
-+INCLUDE_PATHS := -I../../include/tools_share -I${OPENSSL_DIR}/include
-
- HOSTCC ?= gcc
-
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/tf-a-tests-no-warn-rwx-segments.patch b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/tf-a-tests-no-warn-rwx-segments.patch
new file mode 100644
index 0000000000..5d02e35317
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/files/tf-a-tests-no-warn-rwx-segments.patch
@@ -0,0 +1,26 @@
+Binutils 2.39 now warns when a segment has RXW permissions[1]:
+
+aarch64-poky-linux-musl-ld: tftf.elf has a LOAD segment with RWX permissions
+
+There is a ticket filed upstream[2], so until that is resolved just
+disable the warning
+
+[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
+[2] https://developer.trustedfirmware.org/T996
+
+Upstream-Status: Inappropriate
+Signed-off-by: Anton Antonov <anrton.antonov@arm.com>
+
+diff --git a/Makefile b/Makefile
+index 6d0774e1..be3f84ce 100644
+--- a/Makefile
++++ b/Makefile
+@@ -238,7 +238,7 @@ TFTF_SOURCES := ${FRAMEWORK_SOURCES} ${TESTS_SOURCES} ${PLAT_SOURCES} ${LIBC_SR
+ TFTF_INCLUDES += ${PLAT_INCLUDES}
+ TFTF_CFLAGS += ${COMMON_CFLAGS}
+ TFTF_ASFLAGS += ${COMMON_ASFLAGS}
+-TFTF_LDFLAGS += ${COMMON_LDFLAGS}
++TFTF_LDFLAGS += ${COMMON_LDFLAGS} --no-warn-rwx-segments
+ TFTF_EXTRA_OBJS :=
+
+ ifneq (${BP_OPTION},none)
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.7.0.bb b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.7.0.bb
index 0c06440f64..645b2456c4 100644
--- a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.7.0.bb
+++ b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.7.0.bb
@@ -7,7 +7,8 @@ inherit deploy
COMPATIBLE_MACHINE ?= "invalid"
-SRC_URI = "git://git.trustedfirmware.org/TF-A/tf-a-tests.git;protocol=https;branch=master"
+SRC_URI = "git://git.trustedfirmware.org/TF-A/tf-a-tests.git;protocol=https;branch=master \
+ file://tf-a-tests-no-warn-rwx-segments.patch"
SRCREV ?= "5f591f67738a1bbe6b262c53d9dad46ed8bbcd67"
DEPENDS += "optee-os"
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend
index 8815510eb3..6cf55d69cd 100644
--- a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend
+++ b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend
@@ -10,7 +10,14 @@ TFA_PLATFORM:qemuarm64-secureboot = "qemu"
TFA_PLATFORM:qemu-generic-arm64 = "qemu_sbsa"
TFA_PLATFORM:qemuarm-secureboot = "qemu"
-TFA_SPD:qemuarm64-secureboot = "opteed"
+# Trusted Services secure partitions require arm-ffa machine feature.
+# Enabling Secure-EL1 Payload Dispatcher (SPD) in this case
+TFA_SPD:qemuarm64-secureboot = "${@bb.utils.contains('MACHINE_FEATURES', 'arm-ffa', 'spmd', 'opteed', d)}"
+# Configure tf-a accordingly to TS requirements if included
+EXTRA_OEMAKE:append:qemuarm64-secureboot = "${@bb.utils.contains('MACHINE_FEATURES', 'arm-ffa', ' CTX_INCLUDE_EL2_REGS=0 SPMC_OPTEE=1 ', '' , d)}"
+# Cortex-A57 supports Armv8.0 (no S-EL2 execution state).
+# The SPD SPMC component should run at the S-EL1 execution state.
+TFA_SPMD_SPM_AT_SEL2:qemuarm64-secureboot = "0"
TFA_UBOOT:qemuarm64-secureboot = "1"
TFA_UBOOT:qemuarm-secureboot = "1"
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.0.bb b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.0.bb
index 537ec3204c..35817c0c28 100644
--- a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.0.bb
+++ b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.7.0.bb
@@ -3,6 +3,8 @@ require trusted-firmware-a.inc
# TF-A v2.7
SRCREV_tfa = "35f4c7295bafeb32c8bcbdfb6a3f2e74a57e732b"
+SRC_URI += "file://rwx-segments.patch"
+
LIC_FILES_CHKSUM += "file://docs/license.rst;md5=b2c740efedc159745b9b31f88ff03dde"
# mbed TLS v2.28.0
diff --git a/meta-arm/meta-arm/recipes-devtools/gator-daemon/gator-daemon/0001-daemon-mxml-Define-_GNU_SOURCE.patch b/meta-arm/meta-arm/recipes-devtools/gator-daemon/gator-daemon/0001-daemon-mxml-Define-_GNU_SOURCE.patch
new file mode 100644
index 0000000000..d2460434f0
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-devtools/gator-daemon/gator-daemon/0001-daemon-mxml-Define-_GNU_SOURCE.patch
@@ -0,0 +1,31 @@
+From 04e2e924c3ab8da41343277746804dbcd7bf520d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 13 Aug 2022 16:49:52 -0700
+Subject: [PATCH] daemon/mxml: Define _GNU_SOURCE
+
+This file uses vasprintf() which is defined only with _GNU_SOURCE
+feature macro is on.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ daemon/mxml/mxml-string.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/daemon/mxml/mxml-string.c b/daemon/mxml/mxml-string.c
+index 678aeb9..c9cd153 100644
+--- a/daemon/mxml/mxml-string.c
++++ b/daemon/mxml/mxml-string.c
+@@ -13,6 +13,8 @@
+ * Include necessary headers...
+ */
+
++#define _GNU_SOURCE
++
+ #include "config.h"
+
+
+--
+2.37.2
+
diff --git a/meta-arm/meta-arm/recipes-devtools/gator-daemon/gator-daemon_7.7.0.bb b/meta-arm/meta-arm/recipes-devtools/gator-daemon/gator-daemon_7.7.0.bb
index 492d321d22..07b8abbf20 100644
--- a/meta-arm/meta-arm/recipes-devtools/gator-daemon/gator-daemon_7.7.0.bb
+++ b/meta-arm/meta-arm/recipes-devtools/gator-daemon/gator-daemon_7.7.0.bb
@@ -18,6 +18,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
SRCREV = "9d8d75fa08352470c51abc23fe3b314879bd8b78"
SRC_URI = "git://github.com/ARM-software/gator.git;protocol=http;branch=main;protocol=https \
file://0001-Sources.mk-Remove-xml-PmuXMLParser.h-header-from-GAT.patch;striplevel=2 \
+ file://0001-daemon-mxml-Define-_GNU_SOURCE.patch;striplevel=2 \
"
S = "${WORKDIR}/git/daemon"
diff --git a/meta-arm/meta-arm/recipes-kernel/arm-ffa-tee/arm-ffa-tee_1.1.1.bb b/meta-arm/meta-arm/recipes-kernel/arm-ffa-tee/arm-ffa-tee_1.1.1.bb
new file mode 100644
index 0000000000..9e997de1d3
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-kernel/arm-ffa-tee/arm-ffa-tee_1.1.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A Linux kernel module providing user space access to Trusted Services"
+DESCRIPTION = "${SUMMARY}"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=05e355bbd617507216a836c56cf24983"
+
+inherit module
+
+SRC_URI = "git://gitlab.arm.com/linux-arm/linux-trusted-services;protocol=https;branch=main \
+ file://Makefile;subdir=git \
+ "
+S = "${WORKDIR}/git"
+
+# Tag tee-v1.1
+SRCREV = "3b543b7591505b715f332c972248a3ea41604d83"
+
+COMPATIBLE_HOST = "(arm|aarch64).*-linux"
+KERNEL_MODULE_AUTOLOAD += "arm-ffa-tee"
+
+do_install:append() {
+ install -d ${D}${includedir}
+ install -m 0644 ${S}/uapi/arm_ffa_tee.h ${D}${includedir}/
+}
diff --git a/meta-arm/meta-arm/recipes-kernel/arm-ffa-tee/files/Makefile b/meta-arm/meta-arm/recipes-kernel/arm-ffa-tee/files/Makefile
new file mode 100644
index 0000000000..40a6e47403
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-kernel/arm-ffa-tee/files/Makefile
@@ -0,0 +1,14 @@
+obj-m := arm-ffa-tee.o
+
+SRC := $(shell pwd)
+
+all:
+ $(MAKE) -C $(KERNEL_SRC) M=$(SRC)
+
+modules_install:
+ $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
+
+clean:
+ rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
+ rm -f Module.markers Module.symvers modules.order
+ rm -rf .tmp_versions Modules.symvers
diff --git a/meta-arm/meta-arm/recipes-kernel/arm-ffa-user/arm-ffa-user_5.0.0.bb b/meta-arm/meta-arm/recipes-kernel/arm-ffa-user/arm-ffa-user_5.0.0.bb
new file mode 100644
index 0000000000..8d86197d3d
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-kernel/arm-ffa-user/arm-ffa-user_5.0.0.bb
@@ -0,0 +1,29 @@
+SUMMARY = "FF-A Debugfs Linux kernel module"
+DESCRIPTION = "This out-of-tree kernel module exposes FF-A operations to user space \
+used for development purposes"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=05e355bbd617507216a836c56cf24983"
+
+inherit module
+
+SRC_URI = "git://gitlab.arm.com/linux-arm/linux-trusted-services;protocol=https;branch=debugfs \
+ file://Makefile;subdir=git \
+ "
+S = "${WORKDIR}/git"
+
+# Tag 5.0.0.
+SRCREV = "6ec4196a59db8204ed670ef3b78f24a8234b85a6"
+
+COMPATIBLE_HOST = "(arm|aarch64).*-linux"
+KERNEL_MODULE_AUTOLOAD += "arm-ffa-user"
+KERNEL_MODULE_PROBECONF += "arm-ffa-user"
+
+# This debugfs driver is used only by uefi-test for testing SmmGW SP
+# UUIDs = SMM Gateway SP
+FFA-USER-UUID-LIST ?= "ed32d533-99e6-4209-9cc0-2d72cdd998a7"
+module_conf_arm-ffa-user = "options arm-ffa-user uuid_str_list=${FFA-USER-UUID-LIST}"
+
+do_install:append() {
+ install -d ${D}${includedir}
+ install -m 0644 ${S}/arm_ffa_user.h ${D}${includedir}/
+}
diff --git a/meta-arm/meta-arm/recipes-kernel/arm-ffa-user/files/Makefile b/meta-arm/meta-arm/recipes-kernel/arm-ffa-user/files/Makefile
new file mode 100644
index 0000000000..c54d1fc399
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-kernel/arm-ffa-user/files/Makefile
@@ -0,0 +1,14 @@
+obj-m := arm-ffa-user.o
+
+SRC := $(shell pwd)
+
+all:
+ $(MAKE) -C $(KERNEL_SRC) M=$(SRC)
+
+modules_install:
+ $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
+
+clean:
+ rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
+ rm -f Module.markers Module.symvers modules.order
+ rm -rf .tmp_versions Modules.symvers
diff --git a/meta-arm/meta-arm/recipes-kernel/linux/arm-ffa-5.15.inc b/meta-arm/meta-arm/recipes-kernel/linux/arm-ffa-5.15.inc
new file mode 100644
index 0000000000..bc66efbfe3
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-kernel/linux/arm-ffa-5.15.inc
@@ -0,0 +1,5 @@
+# Include a backport kernel patch for TEE driver
+
+SRC_URI:append = " \
+ file://Add-sec_world_id-to-struct-tee_shm.patch \
+ "
diff --git a/meta-arm/meta-arm/recipes-kernel/linux/arm-ffa-transport.inc b/meta-arm/meta-arm/recipes-kernel/linux/arm-ffa-transport.inc
new file mode 100644
index 0000000000..dec31dd44d
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-kernel/linux/arm-ffa-transport.inc
@@ -0,0 +1,6 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+# Enable ARM-FFA transport
+SRC_URI:append = " \
+ file://arm-ffa-transport.cfg \
+ "
diff --git a/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto-5.15/Add-sec_world_id-to-struct-tee_shm.patch b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto-5.15/Add-sec_world_id-to-struct-tee_shm.patch
new file mode 100644
index 0000000000..8f54b308d6
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto-5.15/Add-sec_world_id-to-struct-tee_shm.patch
@@ -0,0 +1,44 @@
+From 9028b2463c1ea96f51c3ba53e2479346019ff6ad Mon Sep 17 00:00:00 2001
+From: Jens Wiklander <jens.wiklander@linaro.org>
+Date: Thu, 25 Mar 2021 15:08:44 +0100
+Subject: [PATCH] tee: add sec_world_id to struct tee_shm
+
+Adds sec_world_id to struct tee_shm which describes a shared memory
+object. sec_world_id can be used by a driver to store an id assigned by
+secure world.
+
+Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
+Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
+
+Upstream-Status: Submitted [https://github.com/torvalds/linux/commit/9028b2463c1ea96f51c3ba53e2479346019ff6ad]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+---
+ include/linux/tee_drv.h | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/include/linux/tee_drv.h b/include/linux/tee_drv.h
+index 3ebfea0781f100..a1f03461369bd9 100644
+--- a/include/linux/tee_drv.h
++++ b/include/linux/tee_drv.h
+@@ -197,7 +197,11 @@ int tee_session_calc_client_uuid(uuid_t *uuid, u32 connection_method,
+ * @num_pages: number of locked pages
+ * @dmabuf: dmabuf used to for exporting to user space
+ * @flags: defined by TEE_SHM_* in tee_drv.h
+- * @id: unique id of a shared memory object on this device
++ * @id: unique id of a shared memory object on this device, shared
++ * with user space
++ * @sec_world_id:
++ * secure world assigned id of this shared memory object, not
++ * used by all drivers
+ *
+ * This pool is only supposed to be accessed directly from the TEE
+ * subsystem and from drivers that implements their own shm pool manager.
+@@ -213,6 +217,7 @@ struct tee_shm {
+ struct dma_buf *dmabuf;
+ u32 flags;
+ int id;
++ u64 sec_world_id;
+ };
+
+ /**
diff --git a/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/skip-unavailable-memory.patch b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto-5.15/skip-unavailable-memory.patch
index c5dac6aaf2..d157ef70df 100644
--- a/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/skip-unavailable-memory.patch
+++ b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto-5.15/skip-unavailable-memory.patch
@@ -1,8 +1,3 @@
-Backported to 5.15.
-
-Upstream-Status: Submitted [https://lore.kernel.org/linux-arm-kernel/20220517101410.3493781-1-andre.przywara@arm.com/T/#u]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
From 7bfeda1c9224270af97adf799ce0b5a4292bceb6 Mon Sep 17 00:00:00 2001
From: Andre Przywara <andre.przywara@arm.com>
Date: Tue, 17 May 2022 11:14:10 +0100
@@ -64,6 +59,10 @@ about memory, so we got lucky there.
Reported-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-arm-kernel/20220517101410.3493781-1-andre.przywara@arm.com/T/#u]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
---
drivers/of/fdt.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/arm-ffa-transport.cfg b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/arm-ffa-transport.cfg
new file mode 100644
index 0000000000..34de78e895
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/arm-ffa-transport.cfg
@@ -0,0 +1 @@
+CONFIG_ARM_FFA_TRANSPORT=y
diff --git a/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/generic-arm64-kmeta/generic-arm64-standard.scc b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/generic-arm64-kmeta/generic-arm64-standard.scc
index 21bff0230d..7036476902 100644
--- a/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/generic-arm64-kmeta/generic-arm64-standard.scc
+++ b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/generic-arm64-kmeta/generic-arm64-standard.scc
@@ -3,3 +3,4 @@ define KTYPE standard
define KARCH arm64
include ktypes/standard/standard.scc
+include features/bluetooth/bluetooth.scc
diff --git a/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/no-strict-devmem.cfg b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/no-strict-devmem.cfg
new file mode 100644
index 0000000000..d372acaec2
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/no-strict-devmem.cfg
@@ -0,0 +1 @@
+CONFIG_STRICT_DEVMEM=n
diff --git a/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/tee.cfg b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/tee.cfg
index 9a25cd5b80..53c452d4a1 100644
--- a/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/tee.cfg
+++ b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto/tee.cfg
@@ -5,7 +5,6 @@ CONFIG_TEE=y
# TEE drivers
#
CONFIG_OPTEE=y
-CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1
# end of TEE drivers
CONFIG_TCG_TPM=y
diff --git a/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto_%.bbappend
index 1d01daa039..896add8d0a 100644
--- a/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto_%.bbappend
+++ b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto_%.bbappend
@@ -8,10 +8,14 @@ SRC_URI:append:generic-arm64 =" \
FILESEXTRAPATHS:prepend:qemuarm64-secureboot = "${ARMFILESPATHS}"
SRC_URI:append:qemuarm64-secureboot = " \
- file://skip-unavailable-memory.patch \
file://tee.cfg \
"
+# for Trusted Services uefi-test tool if SMM-Gateway is included
+SRC_URI:append:qemuarm64-secureboot = "\
+ ${@bb.utils.contains('MACHINE_FEATURES', 'ts-smm-gateway', 'file://no-strict-devmem.cfg', '' , d)} \
+ "
+
FILESEXTRAPATHS:prepend:qemuarm-secureboot = "${ARMFILESPATHS}"
SRC_URI:append:qemuarm-secureboot = " \
file://tee.cfg \
@@ -22,3 +26,6 @@ SRC_URI:append:qemuarm64 = " file://efi.cfg"
FILESEXTRAPATHS:prepend:qemuarm = "${ARMFILESPATHS}"
SRC_URI:append:qemuarm = " file://efi.cfg"
+
+FFA_TRANSPORT_INCLUDE = "${@bb.utils.contains('MACHINE_FEATURES', 'arm-ffa', 'arm-ffa-transport.inc', '' , d)}"
+require ${FFA_TRANSPORT_INCLUDE}
diff --git a/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto_5.15%.bbappend b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto_5.15%.bbappend
new file mode 100644
index 0000000000..9a18dd8a4b
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-kernel/linux/linux-yocto_5.15%.bbappend
@@ -0,0 +1,8 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-5.15:"
+
+SRC_URI:append:qemuarm64-secureboot = " \
+ file://skip-unavailable-memory.patch \
+ "
+
+FFA_TEE_INCLUDE = "${@bb.utils.contains('MACHINE_FEATURES', 'arm-ffa', 'arm-ffa-5.15.inc', '' , d)}"
+require ${FFA_TEE_INCLUDE}
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-client_3.17.0.bb b/meta-arm/meta-arm/recipes-security/optee/optee-client_3.17.0.bb
deleted file mode 100644
index 5de16e7a74..0000000000
--- a/meta-arm/meta-arm/recipes-security/optee/optee-client_3.17.0.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require optee-client.inc
-
-SRCREV = "9a337049c52495e5e16b4a94decaa3e58fce793e"
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-client_3.18.0.bb b/meta-arm/meta-arm/recipes-security/optee/optee-client_3.18.0.bb
new file mode 100644
index 0000000000..0c831db284
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-client_3.18.0.bb
@@ -0,0 +1,3 @@
+require optee-client.inc
+
+SRCREV = "e7cba71cc6e2ecd02f412c7e9ee104f0a5dffc6f"
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-examples.inc b/meta-arm/meta-arm/recipes-security/optee/optee-examples.inc
index e6feb9939d..5011f48045 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-examples.inc
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-examples.inc
@@ -12,7 +12,7 @@ inherit python3native
require optee.inc
SRC_URI = "git://github.com/linaro-swg/optee_examples.git;branch=master;protocol=https \
- file://0001-Makefile-Fix-non-portable-sh-check-for-plugins.patch"
+ "
EXTRA_OEMAKE += "TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
HOST_CROSS_COMPILE=${HOST_PREFIX} \
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-examples/0001-Makefile-Fix-non-portable-sh-check-for-plugins.patch b/meta-arm/meta-arm/recipes-security/optee/optee-examples/0001-Makefile-Fix-non-portable-sh-check-for-plugins.patch
deleted file mode 100644
index 70add62de7..0000000000
--- a/meta-arm/meta-arm/recipes-security/optee/optee-examples/0001-Makefile-Fix-non-portable-sh-check-for-plugins.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 11610debf750f15c7a104db7315dcd7d69e282a8 Mon Sep 17 00:00:00 2001
-From: Alejandro Enedino Hernandez Samaniego <alhe@linux.microsoft.com>
-Date: Sat, 26 Feb 2022 01:52:26 +0000
-Subject: [PATCH] Makefile: Fix non-portable sh check for plugins
-
-Upstream-Status: Pending
-
-We previously held a patch that used "=" for comparison, but when
-that patch got upstreamed it was changed to "==" which is non-portable,
-resulting in an error:
-
-/bin/sh: 6: [: acipher: unexpected operator
-/bin/sh: 6: [: plugins: unexpected operator
-/bin/sh: 6: [: hello_world: unexpected operator
-/bin/sh: 6: [: hotp: unexpected operator
-/bin/sh: 6: [: aes: unexpected operator
-/bin/sh: 6: [: random: unexpected operator
-/bin/sh: 6: [: secure_storage: unexpected operator
-
-if /bin/sh doesnt point to bash.
-
-Which in turn causes our do_install task to fail since plugins arent
-where we expect them to be.
-
-
-Signed-off-by: Alejandro Enedino Hernandez Samaniego <alhe@linux.microsoft.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index b3f16aa..9359d95 100644
---- a/Makefile
-+++ b/Makefile
-@@ -31,7 +31,7 @@ prepare-for-rootfs: examples
- cp -p $$example/host/optee_example_$$example $(OUTPUT_DIR)/ca/; \
- fi; \
- cp -pr $$example/ta/*.ta $(OUTPUT_DIR)/ta/; \
-- if [ $$example == plugins ]; then \
-+ if [ $$example = plugins ]; then \
- cp -p plugins/syslog/*.plugin $(OUTPUT_DIR)/plugins/; \
- fi; \
- done
---
-2.25.1
-
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-examples_3.17.0.bb b/meta-arm/meta-arm/recipes-security/optee/optee-examples_3.17.0.bb
deleted file mode 100644
index b5f6269296..0000000000
--- a/meta-arm/meta-arm/recipes-security/optee/optee-examples_3.17.0.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require optee-examples.inc
-
-SRCREV = "65fc74309e12189ad5b6ce3ffec37c8011088a5a"
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-examples_3.18.0.bb b/meta-arm/meta-arm/recipes-security/optee/optee-examples_3.18.0.bb
new file mode 100644
index 0000000000..8118feea5d
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-examples_3.18.0.bb
@@ -0,0 +1,3 @@
+require optee-examples.inc
+
+SRCREV = "f301ee9df2129c0db683e726c91dc2cefe4cdb65"
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit_3.17.0.bb b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit_3.18.0.bb
index 5ff373ad3e..0982df3d68 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit_3.17.0.bb
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit_3.18.0.bb
@@ -1,5 +1,5 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/optee-os:"
-require optee-os_3.17.0.bb
+require optee-os_3.18.0.bb
SUMMARY = "OP-TEE Trusted OS TA devkit"
DESCRIPTION = "OP-TEE TA devkit for build TAs"
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-ts.inc b/meta-arm/meta-arm/recipes-security/optee/optee-os-ts.inc
new file mode 100644
index 0000000000..10a417554a
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-ts.inc
@@ -0,0 +1,54 @@
+# Include Trusted Services SPs accordingly to defined machine features
+
+# Please notice that OPTEE will load SPs in the order listed in this file.
+# If an SP requires another SP to be already loaded it must be listed lower.
+
+# TS SPs UUIDs definitions
+require recipes-security/trusted-services/ts-uuid.inc
+
+TS_ENV = "opteesp"
+TS_BIN = "${RECIPE_SYSROOT}/usr/${TS_ENV}/bin"
+
+# ITS SP
+DEPENDS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-its', \
+ ' ts-sp-its', '' , d)}"
+SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-its', \
+ ' ${TS_BIN}/${ITS_UUID}.stripped.elf', '', d)}"
+
+# Storage SP
+DEPENDS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-storage', \
+ ' ts-sp-storage', '' , d)}"
+SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-storage', \
+ ' ${TS_BIN}/${STORAGE_UUID}.stripped.elf', '', d)}"
+
+# Crypto SP.
+DEPENDS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-crypto', \
+ ' ts-sp-crypto', '' , d)}"
+SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-crypto', \
+ ' ${TS_BIN}/${CRYPTO_UUID}.stripped.elf', '', d)}"
+
+# Attestation SP
+DEPENDS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-attestation', \
+ ' ts-sp-attestation', '' , d)}"
+SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-attestation', \
+ ' ${TS_BIN}/${ATTESTATION_UUID}.stripped.elf', '', d)}"
+
+# Env-test SP
+DEPENDS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-env-test', \
+ ' ts-sp-env-test', '' , d)}"
+SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-env-test', \
+ ' ${TS_BIN}/${ENV_TEST_UUID}.stripped.elf', '', d)}"
+
+# SE-Proxy SP
+DEPENDS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-se-proxy', \
+ ' ts-sp-se-proxy', '' , d)}"
+SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-se-proxy', \
+ ' ${TS_BIN}/${SE_PROXY_UUID}.stripped.elf', '', d)}"
+
+# SMM Gateway
+DEPENDS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-smm-gateway', \
+ ' ts-sp-smm-gateway', '' , d)}"
+SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-smm-gateway', \
+ ' ${TS_BIN}/${SMM_GATEWAY_UUID}.stripped.elf', '', d)}"
+
+EXTRA_OEMAKE:append = "${@oe.utils.conditional('SP_PATHS', '', '', ' CFG_SECURE_PARTITION=y SP_PATHS=\'${SP_PATHS}\' ', d)}"
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os.inc b/meta-arm/meta-arm/recipes-security/optee/optee-os.inc
index 11193dcf3f..a03ea6a3b7 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-os.inc
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os.inc
@@ -19,6 +19,7 @@ SRC_URI = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https"
SRC_URI:append = " \
file://0006-allow-setting-sysroot-for-libgcc-lookup.patch \
file://0007-allow-setting-sysroot-for-clang.patch \
+ file://0008-no-warn-rwx-segments.patch \
"
S = "${WORKDIR}/git"
@@ -33,6 +34,8 @@ EXTRA_OEMAKE += " \
ta-targets=ta_${OPTEE_ARCH} \
O=${B} \
"
+EXTRA_OEMAKE += " HOST_PREFIX=${HOST_PREFIX}"
+EXTRA_OEMAKE += " CROSS_COMPILE64=${HOST_PREFIX}"
CFLAGS[unexport] = "1"
LDFLAGS[unexport] = "1"
@@ -40,7 +43,9 @@ CPPFLAGS[unexport] = "1"
AS[unexport] = "1"
LD[unexport] = "1"
-do_configure[noexec] = "1"
+do_compile:prepend() {
+ PLAT_LIBGCC_PATH=$(${CC} -print-libgcc-file-name)
+}
do_compile() {
oe_runmake -C ${S} all
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os/0001-core-Define-section-attributes-for-clang.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os/0001-core-Define-section-attributes-for-clang.patch
new file mode 100644
index 0000000000..db88e7f0fc
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os/0001-core-Define-section-attributes-for-clang.patch
@@ -0,0 +1,188 @@
+From f189457b79989543f65b8a4e8729eff2cdf9a758 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 13 Aug 2022 19:24:55 -0700
+Subject: [PATCH] core: Define section attributes for clang
+
+Clang's attribute section is not same as gcc, here we need to add flags
+to sections so they can be eventually collected by linker into final
+output segments. Only way to do so with clang is to use
+
+pragma clang section ...
+
+The behavious is described here [1], this allows us to define names bss
+sections. This was not an issue until clang-15 where LLD linker starts
+to detect the section flags before merging them and throws the following
+errors
+
+| ld.lld: error: section type mismatch for .nozi.kdata_page
+| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/kernel/thread.o:(.nozi.kdata_page): SHT_PROGBITS
+| >>> output section .nozi: SHT_NOBITS
+|
+| ld.lld: error: section type mismatch for .nozi.mmu.l2
+| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/mm/core_mmu_lpae.o:(.nozi.mmu.l2): SHT_PROGBITS
+| >>> output section .nozi: SHT_NOBITS
+
+These sections should be carrying SHT_NOBITS but so far it was not
+possible to do so, this patch tries to use clangs pragma to get this
+going and match the functionality with gcc.
+
+[1] https://intel.github.io/llvm-docs/clang/LanguageExtensions.html#specifying-section-names-for-global-objects-pragma-clang-section
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ core/arch/arm/kernel/thread.c | 19 +++++++++++++++--
+ core/arch/arm/mm/core_mmu_lpae.c | 35 ++++++++++++++++++++++++++++----
+ core/arch/arm/mm/pgt_cache.c | 12 ++++++++++-
+ core/kernel/thread.c | 13 +++++++++++-
+ 4 files changed, 71 insertions(+), 8 deletions(-)
+
+diff --git a/core/arch/arm/kernel/thread.c b/core/arch/arm/kernel/thread.c
+index f083b159e..432983c86 100644
+--- a/core/arch/arm/kernel/thread.c
++++ b/core/arch/arm/kernel/thread.c
+@@ -44,15 +44,30 @@ static size_t thread_user_kcode_size __nex_bss;
+ #if defined(CFG_CORE_UNMAP_CORE_AT_EL0) && \
+ defined(CFG_CORE_WORKAROUND_SPECTRE_BP_SEC) && defined(ARM64)
+ long thread_user_kdata_sp_offset __nex_bss;
++#ifdef __clang__
++#ifndef CFG_VIRTUALIZATION
++#pragma clang section bss=".nozi.kdata_page"
++#else
++#pragma clang section bss=".nex_nozi.kdata_page"
++#endif
++#endif
+ static uint8_t thread_user_kdata_page[
+ ROUNDUP(sizeof(struct thread_core_local) * CFG_TEE_CORE_NB_CORE,
+ SMALL_PAGE_SIZE)]
+ __aligned(SMALL_PAGE_SIZE)
++#ifndef __clang__
+ #ifndef CFG_VIRTUALIZATION
+- __section(".nozi.kdata_page");
++ __section(".nozi.kdata_page")
+ #else
+- __section(".nex_nozi.kdata_page");
++ __section(".nex_nozi.kdata_page")
+ #endif
++#endif
++ ;
++#endif
++
++/* reset BSS section to default ( .bss ) */
++#ifdef __clang__
++#pragma clang section bss=""
+ #endif
+
+ #ifdef ARM32
+diff --git a/core/arch/arm/mm/core_mmu_lpae.c b/core/arch/arm/mm/core_mmu_lpae.c
+index 19cd7b61b..78f5910c5 100644
+--- a/core/arch/arm/mm/core_mmu_lpae.c
++++ b/core/arch/arm/mm/core_mmu_lpae.c
+@@ -230,19 +230,46 @@ typedef uint16_t l1_idx_t;
+ typedef uint64_t base_xlat_tbls_t[CFG_TEE_CORE_NB_CORE][NUM_BASE_LEVEL_ENTRIES];
+ typedef uint64_t xlat_tbl_t[XLAT_TABLE_ENTRIES];
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.base_table"
++#endif
+ static base_xlat_tbls_t base_xlation_table[NUM_BASE_TABLES]
+ __aligned(NUM_BASE_LEVEL_ENTRIES * XLAT_ENTRY_SIZE)
+- __section(".nozi.mmu.base_table");
++#ifndef __clang__
++ __section(".nozi.mmu.base_table")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ static xlat_tbl_t xlat_tables[MAX_XLAT_TABLES]
+- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
++ __aligned(XLAT_TABLE_SIZE)
++#ifndef __clang__
++ __section(".nozi.mmu.l2")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ #define XLAT_TABLES_SIZE (sizeof(xlat_tbl_t) * MAX_XLAT_TABLES)
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ /* MMU L2 table for TAs, one for each thread */
+ static xlat_tbl_t xlat_tables_ul1[CFG_NUM_THREADS]
+- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
+-
++#ifndef __clang__
++ __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+ /*
+ * TAs page table entry inside a level 1 page table.
+ *
+diff --git a/core/arch/arm/mm/pgt_cache.c b/core/arch/arm/mm/pgt_cache.c
+index d658b3e68..6c36706c0 100644
+--- a/core/arch/arm/mm/pgt_cache.c
++++ b/core/arch/arm/mm/pgt_cache.c
+@@ -104,8 +104,18 @@ void pgt_init(void)
+ * has a large alignment, while .bss has a small alignment. The current
+ * link script is optimized for small alignment in .bss
+ */
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ static uint8_t pgt_tables[PGT_CACHE_SIZE][PGT_SIZE]
+- __aligned(PGT_SIZE) __section(".nozi.pgt_cache");
++ __aligned(PGT_SIZE)
++#ifndef __clang__
++ __section(".nozi.pgt_cache")
++#endif
++ ;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+ size_t n;
+
+ for (n = 0; n < ARRAY_SIZE(pgt_tables); n++) {
+diff --git a/core/kernel/thread.c b/core/kernel/thread.c
+index 18d34e6ad..086129e28 100644
+--- a/core/kernel/thread.c
++++ b/core/kernel/thread.c
+@@ -37,13 +37,24 @@ struct thread_core_local thread_core_local[CFG_TEE_CORE_NB_CORE] __nex_bss;
+ name[stack_num][sizeof(name[stack_num]) / sizeof(uint32_t) - 1]
+ #endif
+
++#define DO_PRAGMA(x) _Pragma (#x)
++
++#ifdef __clang__
++#define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
++DO_PRAGMA (clang section bss=".nozi_stack." #name) \
++linkage uint32_t name[num_stacks] \
++ [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
++ STACK_ALIGNMENT) / sizeof(uint32_t)] \
++ __attribute__((aligned(STACK_ALIGNMENT))); \
++DO_PRAGMA(clang section bss="")
++#else
+ #define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
+ linkage uint32_t name[num_stacks] \
+ [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
+ STACK_ALIGNMENT) / sizeof(uint32_t)] \
+ __attribute__((section(".nozi_stack." # name), \
+ aligned(STACK_ALIGNMENT)))
+-
++#endif
+ #define GET_STACK(stack) ((vaddr_t)(stack) + STACK_SIZE(stack))
+
+ DECLARE_STACK(stack_tmp, CFG_TEE_CORE_NB_CORE,
+--
+2.37.2
+
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os/0008-no-warn-rwx-segments.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os/0008-no-warn-rwx-segments.patch
new file mode 100644
index 0000000000..1dd70b3129
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os/0008-no-warn-rwx-segments.patch
@@ -0,0 +1,64 @@
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5474]
+
+From 0b8a917fa51a366806edc0f04b88cd23b24098c4 Mon Sep 17 00:00:00 2001
+From: Jerome Forissier <jerome.forissier@linaro.org>
+Date: Fri, 5 Aug 2022 09:48:03 +0200
+Subject: [PATCH] core: link: add --no-warn-rwx-segments
+
+binutils ld.bfd generates one RWX LOAD segment by merging several sections
+with mixed R/W/X attributes (.text, .rodata, .data). After version 2.38 it
+also warns by default when that happens [1], which breaks the build due to
+--fatal-warnings. The RWX segment is not a problem for the TEE core, since
+that information is not used to set memory permissions. Therefore, silence
+the warning.
+
+Link: [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
+Link: https://sourceware.org/bugzilla/show_bug.cgi?id=29448
+Reported-by: Dominique Martinet <dominique.martinet@atmark-techno.com>
+Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
+Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
+---
+ core/arch/arm/kernel/link.mk | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
+index 7eed333a32..c39d43cbfc 100644
+--- a/core/arch/arm/kernel/link.mk
++++ b/core/arch/arm/kernel/link.mk
+@@ -31,6 +31,7 @@ link-ldflags += -T $(link-script-pp) -Map=$(link-out-dir)/tee.map
+ link-ldflags += --sort-section=alignment
+ link-ldflags += --fatal-warnings
+ link-ldflags += --gc-sections
++link-ldflags += $(call ld-option,--no-warn-rwx-segments)
+
+ link-ldadd = $(LDADD)
+ link-ldadd += $(ldflags-external)
+@@ -55,6 +56,7 @@ link-script-cppflags := \
+ $(cppflagscore))
+
+ ldargs-all_objs := -T $(link-script-dummy) --no-check-sections \
++ $(call ld-option,--no-warn-rwx-segments) \
+ $(link-objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/all_objs.o
+ $(link-out-dir)/all_objs.o: $(objs) $(libdeps) $(MAKEFILE_LIST)
+@@ -67,7 +69,8 @@ $(link-out-dir)/unpaged_entries.txt: $(link-out-dir)/all_objs.o
+ $(q)$(NMcore) $< | \
+ $(AWK) '/ ____keep_pager/ { printf "-u%s ", $$3 }' > $@
+
+-unpaged-ldargs = -T $(link-script-dummy) --no-check-sections --gc-sections
++unpaged-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
++ $(call ld-option,--no-warn-rwx-segments)
+ unpaged-ldadd := $(objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/unpaged.o
+ $(link-out-dir)/unpaged.o: $(link-out-dir)/unpaged_entries.txt
+@@ -95,7 +98,8 @@ $(link-out-dir)/init_entries.txt: $(link-out-dir)/all_objs.o
+ $(q)$(NMcore) $< | \
+ $(AWK) '/ ____keep_init/ { printf "-u%s ", $$3 }' > $@
+
+-init-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections
++init-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
++ $(call ld-option,--no-warn-rwx-segments)
+ init-ldadd := $(link-objs-init) $(link-out-dir)/version.o $(link-ldadd) \
+ $(libgcccore)
+ cleanfiles += $(link-out-dir)/init.o
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os/3.14/0009-add-z-execstack.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os/3.14/0009-add-z-execstack.patch
new file mode 100644
index 0000000000..616a0fff5a
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os/3.14/0009-add-z-execstack.patch
@@ -0,0 +1,95 @@
+From cb4349edce6ce360436f10da8b6aa32e68fb778d Mon Sep 17 00:00:00 2001
+From: Jerome Forissier <jerome.forissier@linaro.org>
+Date: Tue, 23 Aug 2022 11:41:00 +0000
+Subject: [PATCH] core, ldelf: link: add -z execstack
+
+When building for arm32 with GNU binutils 2.39, the linker outputs
+warnings when generating some TEE core binaries (all_obj.o, init.o,
+unpaged.o and tee.elf) as well as ldelf.elf:
+
+ arm-poky-linux-gnueabi-ld.bfd: warning: atomic_a32.o: missing .note.GNU-stack section implies executable stack
+ arm-poky-linux-gnueabi-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
+
+The permissions used when mapping the TEE core stacks do not depend on
+any metadata found in the ELF file. Similarly when the TEE core loads
+ldelf it already creates a non-executable stack regardless of ELF
+information. Therefore we can safely ignore the warnings. This is done
+by adding the '-z execstack' option.
+
+Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
+
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499]
+
+---
+ core/arch/arm/kernel/link.mk | 13 +++++++++----
+ ldelf/link.mk | 4 ++++
+ 2 files changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
+index 3dc459d6..85cde58e 100644
+--- a/core/arch/arm/kernel/link.mk
++++ b/core/arch/arm/kernel/link.mk
+@@ -9,6 +9,11 @@ link-script-dep = $(link-out-dir)/.kern.ld.d
+
+ AWK = awk
+
++link-ldflags-common += $(call ld-option,--no-warn-rwx-segments)
++ifeq ($(CFG_ARM32_core),y)
++link-ldflags-common += $(call ld-option,--no-warn-execstack)
++endif
++
+ link-ldflags = $(LDFLAGS)
+ ifeq ($(CFG_CORE_ASLR),y)
+ link-ldflags += -pie -Bsymbolic -z notext -z norelro $(ldflag-apply-dynamic-relocs)
+@@ -17,7 +22,7 @@ link-ldflags += -T $(link-script-pp) -Map=$(link-out-dir)/tee.map
+ link-ldflags += --sort-section=alignment
+ link-ldflags += --fatal-warnings
+ link-ldflags += --gc-sections
+-link-ldflags += $(call ld-option,--no-warn-rwx-segments)
++link-ldflags += $(link-ldflags-common)
+
+ link-ldadd = $(LDADD)
+ link-ldadd += $(ldflags-external)
+@@ -39,7 +44,7 @@ link-script-cppflags := \
+ $(cppflagscore))
+
+ ldargs-all_objs := -T $(link-script-dummy) --no-check-sections \
+- $(call ld-option,--no-warn-rwx-segments) \
++ $(link-ldflags-common) \
+ $(link-objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/all_objs.o
+ $(link-out-dir)/all_objs.o: $(objs) $(libdeps) $(MAKEFILE_LIST)
+@@ -53,7 +58,7 @@ $(link-out-dir)/unpaged_entries.txt: $(link-out-dir)/all_objs.o
+ $(AWK) '/ ____keep_pager/ { printf "-u%s ", $$3 }' > $@
+
+ unpaged-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
+- $(call ld-option,--no-warn-rwx-segments)
++ $(link-ldflags-common)
+ unpaged-ldadd := $(objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/unpaged.o
+ $(link-out-dir)/unpaged.o: $(link-out-dir)/unpaged_entries.txt
+@@ -82,7 +87,7 @@ $(link-out-dir)/init_entries.txt: $(link-out-dir)/all_objs.o
+ $(AWK) '/ ____keep_init/ { printf "-u%s ", $$3 }' > $@
+
+ init-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
+- $(call ld-option,--no-warn-rwx-segments)
++ $(link-ldflags-common)
+ init-ldadd := $(link-objs-init) $(link-out-dir)/version.o $(link-ldadd) \
+ $(libgcccore)
+ cleanfiles += $(link-out-dir)/init.o
+diff --git a/ldelf/link.mk b/ldelf/link.mk
+index 8fafc879..d8a05ea6 100644
+--- a/ldelf/link.mk
++++ b/ldelf/link.mk
+@@ -19,6 +19,10 @@ link-ldflags += --sort-section=alignment
+ link-ldflags += -z max-page-size=4096 # OP-TEE always uses 4K alignment
+ link-ldflags += $(link-ldflags$(sm))
+
++ifeq ($(CFG_ARM32_$(sm)), y)
++link-ldflags += $(call ld-option,--no-warn-execstack)
++endif
++
+ link-ldadd = $(addprefix -L,$(libdirs))
+ link-ldadd += --start-group $(addprefix -l,$(libnames)) --end-group
+ ldargs-ldelf.elf := $(link-ldflags) $(objs) $(link-ldadd) $(libgcc$(sm))
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os/3.14/0010-add-note-GNU-stack-section.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os/3.14/0010-add-note-GNU-stack-section.patch
new file mode 100644
index 0000000000..c0330b9fc8
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os/3.14/0010-add-note-GNU-stack-section.patch
@@ -0,0 +1,128 @@
+From f99a0278ad5e26772b3dcf8c74b5bf986ecfbe1e Mon Sep 17 00:00:00 2001
+From: Jerome Forissier <jerome.forissier@linaro.org>
+Date: Tue, 23 Aug 2022 12:31:46 +0000
+Subject: [PATCH] arm32: libutils, libutee, ta: add .note.GNU-stack section to
+
+ .S files
+
+When building for arm32 with GNU binutils 2.39, the linker outputs
+warnings when linking Trusted Applications:
+
+ arm-unknown-linux-uclibcgnueabihf-ld.bfd: warning: utee_syscalls_a32.o: missing .note.GNU-stack section implies executable stack
+ arm-unknown-linux-uclibcgnueabihf-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
+
+We could silence the warning by adding the '-z execstack' option to the
+TA link flags, like we did in the parent commit for the TEE core and
+ldelf. Indeed, ldelf always allocates a non-executable piece of memory
+for the TA to use as a stack.
+
+However it seems preferable to comply with the common ELF practices in
+this case. A better fix is therefore to add the missing .note.GNU-stack
+sections in the assembler files.
+
+Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
+
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499]
+
+---
+ lib/libutee/arch/arm/utee_syscalls_a32.S | 2 ++
+ lib/libutils/ext/arch/arm/atomic_a32.S | 2 ++
+ lib/libutils/ext/arch/arm/mcount_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/setjmp_a32.S | 2 ++
+ ta/arch/arm/ta_entry_a32.S | 2 ++
+ 7 files changed, 14 insertions(+)
+
+diff --git a/lib/libutee/arch/arm/utee_syscalls_a32.S b/lib/libutee/arch/arm/utee_syscalls_a32.S
+index 6e621ca6..af405f62 100644
+--- a/lib/libutee/arch/arm/utee_syscalls_a32.S
++++ b/lib/libutee/arch/arm/utee_syscalls_a32.S
+@@ -7,6 +7,8 @@
+ #include <tee_syscall_numbers.h>
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ .section .text
+ .balign 4
+ .code 32
+diff --git a/lib/libutils/ext/arch/arm/atomic_a32.S b/lib/libutils/ext/arch/arm/atomic_a32.S
+index eaef6914..2be73ffa 100644
+--- a/lib/libutils/ext/arch/arm/atomic_a32.S
++++ b/lib/libutils/ext/arch/arm/atomic_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /* uint32_t atomic_inc32(uint32_t *v); */
+ FUNC atomic_inc32 , :
+ ldrex r1, [r0]
+diff --git a/lib/libutils/ext/arch/arm/mcount_a32.S b/lib/libutils/ext/arch/arm/mcount_a32.S
+index 51439a23..54dc3c02 100644
+--- a/lib/libutils/ext/arch/arm/mcount_a32.S
++++ b/lib/libutils/ext/arch/arm/mcount_a32.S
+@@ -7,6 +7,8 @@
+
+ #if defined(CFG_TA_GPROF_SUPPORT) || defined(CFG_FTRACE_SUPPORT)
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * Convert return address to call site address by subtracting the size of the
+ * mcount call instruction (blx __gnu_mcount_nc).
+diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
+index a600c879..37ae9ec6 100644
+--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
++++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * signed ret_idivmod_values(signed quot, signed rem);
+ * return quotient and remaining the EABI way (regs r0,r1)
+diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
+index 2dc50bc9..5c3353e2 100644
+--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
++++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * __value_in_regs lldiv_t __aeabi_ldivmod( long long n, long long d)
+ */
+diff --git a/lib/libutils/isoc/arch/arm/setjmp_a32.S b/lib/libutils/isoc/arch/arm/setjmp_a32.S
+index 43ea5937..f8a0b70d 100644
+--- a/lib/libutils/isoc/arch/arm/setjmp_a32.S
++++ b/lib/libutils/isoc/arch/arm/setjmp_a32.S
+@@ -51,6 +51,8 @@
+ #define SIZE(x)
+ #endif
+
++ .section .note.GNU-stack,"",%progbits
++
+ /* Arm/Thumb interworking support:
+
+ The interworking scheme expects functions to use a BX instruction
+diff --git a/ta/arch/arm/ta_entry_a32.S b/ta/arch/arm/ta_entry_a32.S
+index d2f8a69d..cd9a12f9 100644
+--- a/ta/arch/arm/ta_entry_a32.S
++++ b/ta/arch/arm/ta_entry_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * This function is the bottom of the user call stack. Mark it as such so that
+ * the unwinding code won't try to go further down.
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os/3.18/0009-add-z-execstack.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os/3.18/0009-add-z-execstack.patch
new file mode 100644
index 0000000000..5463a345c9
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os/3.18/0009-add-z-execstack.patch
@@ -0,0 +1,90 @@
+From a9d099d17ef0af6deac4c3b4d15ad0555d258ec8 Mon Sep 17 00:00:00 2001
+From: Jerome Forissier <jerome.forissier@linaro.org>
+Date: Tue, 23 Aug 2022 11:41:00 +0000
+Subject: [PATCH] core, ldelf: link: add -z execstack
+
+When building for arm32 with GNU binutils 2.39, the linker outputs
+warnings when generating some TEE core binaries (all_obj.o, init.o,
+unpaged.o and tee.elf) as well as ldelf.elf:
+
+ arm-poky-linux-gnueabi-ld.bfd: warning: atomic_a32.o: missing .note.GNU-stack section implies executable stack
+ arm-poky-linux-gnueabi-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
+
+The permissions used when mapping the TEE core stacks do not depend on
+any metadata found in the ELF file. Similarly when the TEE core loads
+ldelf it already creates a non-executable stack regardless of ELF
+information. Therefore we can safely ignore the warnings. This is done
+by adding the '-z execstack' option.
+
+Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
+
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499]
+
+---
+diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
+index c39d43cb..0e96e606 100644
+--- a/core/arch/arm/kernel/link.mk
++++ b/core/arch/arm/kernel/link.mk
+@@ -9,6 +9,11 @@ link-script-dep = $(link-out-dir)/.kern.ld.d
+
+ AWK = awk
+
++link-ldflags-common += $(call ld-option,--no-warn-rwx-segments)
++ifeq ($(CFG_ARM32_core),y)
++link-ldflags-common += $(call ld-option,--no-warn-execstack)
++endif
++
+ link-ldflags = $(LDFLAGS)
+ ifeq ($(CFG_CORE_ASLR),y)
+ link-ldflags += -pie -Bsymbolic -z norelro $(ldflag-apply-dynamic-relocs)
+@@ -31,7 +36,7 @@ link-ldflags += -T $(link-script-pp) -Map=$(link-out-dir)/tee.map
+ link-ldflags += --sort-section=alignment
+ link-ldflags += --fatal-warnings
+ link-ldflags += --gc-sections
+-link-ldflags += $(call ld-option,--no-warn-rwx-segments)
++link-ldflags += $(link-ldflags-common)
+
+ link-ldadd = $(LDADD)
+ link-ldadd += $(ldflags-external)
+@@ -56,7 +61,7 @@ link-script-cppflags := \
+ $(cppflagscore))
+
+ ldargs-all_objs := -T $(link-script-dummy) --no-check-sections \
+- $(call ld-option,--no-warn-rwx-segments) \
++ $(link-ldflags-common) \
+ $(link-objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/all_objs.o
+ $(link-out-dir)/all_objs.o: $(objs) $(libdeps) $(MAKEFILE_LIST)
+@@ -70,7 +75,7 @@ $(link-out-dir)/unpaged_entries.txt: $(link-out-dir)/all_objs.o
+ $(AWK) '/ ____keep_pager/ { printf "-u%s ", $$3 }' > $@
+
+ unpaged-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
+- $(call ld-option,--no-warn-rwx-segments)
++ $(link-ldflags-common)
+ unpaged-ldadd := $(objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/unpaged.o
+ $(link-out-dir)/unpaged.o: $(link-out-dir)/unpaged_entries.txt
+@@ -99,7 +104,7 @@ $(link-out-dir)/init_entries.txt: $(link-out-dir)/all_objs.o
+ $(AWK) '/ ____keep_init/ { printf "-u%s ", $$3 }' > $@
+
+ init-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
+- $(call ld-option,--no-warn-rwx-segments)
++ $(link-ldflags-common)
+ init-ldadd := $(link-objs-init) $(link-out-dir)/version.o $(link-ldadd) \
+ $(libgcccore)
+ cleanfiles += $(link-out-dir)/init.o
+diff --git a/ldelf/link.mk b/ldelf/link.mk
+index 64c8212a..bd49551e 100644
+--- a/ldelf/link.mk
++++ b/ldelf/link.mk
+@@ -20,6 +20,9 @@ link-ldflags += -z max-page-size=4096 # OP-TEE always uses 4K alignment
+ ifeq ($(CFG_CORE_BTI),y)
+ link-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
+ endif
++ifeq ($(CFG_ARM32_$(sm)), y)
++link-ldflags += $(call ld-option,--no-warn-execstack)
++endif
+ link-ldflags += $(link-ldflags$(sm))
+
+ link-ldadd = $(addprefix -L,$(libdirs))
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os/3.18/0010-add-note-GNU-stack-section.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os/3.18/0010-add-note-GNU-stack-section.patch
new file mode 100644
index 0000000000..95d5e676a6
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os/3.18/0010-add-note-GNU-stack-section.patch
@@ -0,0 +1,128 @@
+From 38bf606653ee08b10db6bb298e369cb3a9cdcda9 Mon Sep 17 00:00:00 2001
+From: Jerome Forissier <jerome.forissier@linaro.org>
+Date: Tue, 23 Aug 2022 12:31:46 +0000
+Subject: [PATCH] arm32: libutils, libutee, ta: add .note.GNU-stack section to
+
+ .S files
+
+When building for arm32 with GNU binutils 2.39, the linker outputs
+warnings when linking Trusted Applications:
+
+ arm-unknown-linux-uclibcgnueabihf-ld.bfd: warning: utee_syscalls_a32.o: missing .note.GNU-stack section implies executable stack
+ arm-unknown-linux-uclibcgnueabihf-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
+
+We could silence the warning by adding the '-z execstack' option to the
+TA link flags, like we did in the parent commit for the TEE core and
+ldelf. Indeed, ldelf always allocates a non-executable piece of memory
+for the TA to use as a stack.
+
+However it seems preferable to comply with the common ELF practices in
+this case. A better fix is therefore to add the missing .note.GNU-stack
+sections in the assembler files.
+
+Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
+
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499]
+
+---
+ lib/libutee/arch/arm/utee_syscalls_a32.S | 2 ++
+ lib/libutils/ext/arch/arm/atomic_a32.S | 2 ++
+ lib/libutils/ext/arch/arm/mcount_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/setjmp_a32.S | 2 ++
+ ta/arch/arm/ta_entry_a32.S | 2 ++
+ 7 files changed, 14 insertions(+)
+
+diff --git a/lib/libutee/arch/arm/utee_syscalls_a32.S b/lib/libutee/arch/arm/utee_syscalls_a32.S
+index 6e621ca6..af405f62 100644
+--- a/lib/libutee/arch/arm/utee_syscalls_a32.S
++++ b/lib/libutee/arch/arm/utee_syscalls_a32.S
+@@ -7,6 +7,8 @@
+ #include <tee_syscall_numbers.h>
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ .section .text
+ .balign 4
+ .code 32
+diff --git a/lib/libutils/ext/arch/arm/atomic_a32.S b/lib/libutils/ext/arch/arm/atomic_a32.S
+index eaef6914..2be73ffa 100644
+--- a/lib/libutils/ext/arch/arm/atomic_a32.S
++++ b/lib/libutils/ext/arch/arm/atomic_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /* uint32_t atomic_inc32(uint32_t *v); */
+ FUNC atomic_inc32 , :
+ ldrex r1, [r0]
+diff --git a/lib/libutils/ext/arch/arm/mcount_a32.S b/lib/libutils/ext/arch/arm/mcount_a32.S
+index 51439a23..54dc3c02 100644
+--- a/lib/libutils/ext/arch/arm/mcount_a32.S
++++ b/lib/libutils/ext/arch/arm/mcount_a32.S
+@@ -7,6 +7,8 @@
+
+ #if defined(CFG_TA_GPROF_SUPPORT) || defined(CFG_FTRACE_SUPPORT)
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * Convert return address to call site address by subtracting the size of the
+ * mcount call instruction (blx __gnu_mcount_nc).
+diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
+index a600c879..37ae9ec6 100644
+--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
++++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * signed ret_idivmod_values(signed quot, signed rem);
+ * return quotient and remaining the EABI way (regs r0,r1)
+diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
+index 2dc50bc9..5c3353e2 100644
+--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
++++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * __value_in_regs lldiv_t __aeabi_ldivmod( long long n, long long d)
+ */
+diff --git a/lib/libutils/isoc/arch/arm/setjmp_a32.S b/lib/libutils/isoc/arch/arm/setjmp_a32.S
+index 43ea5937..f8a0b70d 100644
+--- a/lib/libutils/isoc/arch/arm/setjmp_a32.S
++++ b/lib/libutils/isoc/arch/arm/setjmp_a32.S
+@@ -51,6 +51,8 @@
+ #define SIZE(x)
+ #endif
+
++ .section .note.GNU-stack,"",%progbits
++
+ /* Arm/Thumb interworking support:
+
+ The interworking scheme expects functions to use a BX instruction
+diff --git a/ta/arch/arm/ta_entry_a32.S b/ta/arch/arm/ta_entry_a32.S
+index d2f8a69d..cd9a12f9 100644
+--- a/ta/arch/arm/ta_entry_a32.S
++++ b/ta/arch/arm/ta_entry_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * This function is the bottom of the user call stack. Mark it as such so that
+ * the unwinding code won't try to go further down.
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os_%.bbappend b/meta-arm/meta-arm/recipes-security/optee/optee-os_%.bbappend
new file mode 100644
index 0000000000..09650b9a7a
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os_%.bbappend
@@ -0,0 +1,5 @@
+# Include Trusted Services Secure Partitions
+require optee-os-ts.inc
+
+# Conditionally include platform specific Trusted Services related OPTEE build parameters
+EXTRA_OEMAKE:append:qemuarm64-secureboot = "${@oe.utils.conditional('SP_PATHS', '', '', ' CFG_CORE_HEAP_SIZE=131072 CFG_TEE_BENCHMARK=n CFG_TEE_CORE_LOG_LEVEL=4 CFG_CORE_SEL1_SPMC=y ', d)}"
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os_3.14.0.bb b/meta-arm/meta-arm/recipes-security/optee/optee-os_3.14.0.bb
index 83b89c4b57..6400ac2a6c 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-os_3.14.0.bb
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os_3.14.0.bb
@@ -3,3 +3,8 @@ require optee-os.inc
SRCREV = "d21befa5e53eae9db469eba1685f5aa5c6f92c2f"
DEPENDS = "python3-pycryptodome-native python3-pyelftools-native"
+
+SRC_URI:append = " \
+ file://3.14/0009-add-z-execstack.patch \
+ file://3.14/0010-add-note-GNU-stack-section.patch \
+ "
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os_3.17.0.bb b/meta-arm/meta-arm/recipes-security/optee/optee-os_3.17.0.bb
deleted file mode 100644
index 3e5e0a6924..0000000000
--- a/meta-arm/meta-arm/recipes-security/optee/optee-os_3.17.0.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require optee-os.inc
-
-SRCREV = "f9e550142dd4b33ee1112f5dd64ffa94ba79cefa"
-
-DEPENDS += "dtc-native"
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os_3.18.0.bb b/meta-arm/meta-arm/recipes-security/optee/optee-os_3.18.0.bb
index 65d661f924..f459efce66 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-os_3.18.0.bb
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os_3.18.0.bb
@@ -3,3 +3,8 @@ require optee-os.inc
DEPENDS += "dtc-native"
SRCREV = "1ee647035939e073a2e8dddb727c0f019cc035f1"
+SRC_URI:append = " \
+ file://0001-core-Define-section-attributes-for-clang.patch \
+ file://3.18/0009-add-z-execstack.patch \
+ file://3.18/0010-add-note-GNU-stack-section.patch \
+ "
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-test_3.17.0.bb b/meta-arm/meta-arm/recipes-security/optee/optee-test_3.18.0.bb
index 18870da831..0570687642 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-test_3.17.0.bb
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-test_3.18.0.bb
@@ -3,7 +3,7 @@ require optee-test.inc
SRC_URI:append = " \
file://musl-workaround.patch \
"
-SRCREV = "44a31d02379bd8e50762caa5e1592ad81e3339af"
+SRCREV = "da5282a011b40621a2cf7a296c11a35c833ed91b"
EXTRA_OEMAKE:append:libc-musl = " OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR}"
DEPENDS:append:libc-musl = " openssl"
diff --git a/meta-arm/meta-arm/recipes-security/packagegroups/packagegroup-ts-tests.bb b/meta-arm/meta-arm/recipes-security/packagegroups/packagegroup-ts-tests.bb
new file mode 100644
index 0000000000..72ba33f419
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/packagegroups/packagegroup-ts-tests.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Trusted Services test/demo linux tools"
+
+inherit packagegroup
+
+COMPATIBLE_HOST = "aarch64.*-linux"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+PACKAGES = "${PN} ${PN}-psa"
+
+RDEPENDS:${PN} = "\
+ ts-demo \
+ ts-service-test \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'ts-env-test', 'ts-remote-test', '' , d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'ts-smm-gateway', 'ts-uefi-test', '' , d)} \
+"
+
+SUMMARY:${PN}-psa = "PSA certification tests (psa-arch-test) for TS SPs"
+RDEPENDS:${PN}-psa = "\
+ ${@bb.utils.contains('MACHINE_FEATURES', 'ts-crypto', 'ts-psa-crypto-api-test', '' , d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'ts-its', 'ts-psa-its-api-test', '' , d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'ts-storage', 'ts-psa-ps-api-test', '' , d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'ts-attestation', 'ts-psa-iat-api-test', '' , d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'ts-se-proxy', \
+ 'ts-psa-crypto-api-test ts-psa-its-api-test ts-psa-ps-api-test ts-psa-iat-api-test', '' , d)} \
+"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0004-correctly-find-headers-dir.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0004-correctly-find-headers-dir.patch
new file mode 100644
index 0000000000..b73b5dc350
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0004-correctly-find-headers-dir.patch
@@ -0,0 +1,30 @@
+From 1b9c8d4a7c9519c6085827da8be6546ce80ee711 Mon Sep 17 00:00:00 2001
+From: Anton Antonov <Anton.Antonov@arm.com>
+Date: Wed, 31 Aug 2022 17:05:14 +0100
+Subject: [PATCH 1/4] Allow to find libgcc headers
+
+Upstream-Status: Pending
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+---
+ external/newlib/newlib.cmake | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/external/newlib/newlib.cmake b/external/newlib/newlib.cmake
+index fff5e2a..13eb78c 100644
+--- a/external/newlib/newlib.cmake
++++ b/external/newlib/newlib.cmake
+@@ -82,7 +82,10 @@ message(STATUS "libgcc.a is used from ${LIBGCC_PATH}")
+ # Moreover the GCC specific header file include directory is also required.
+ # Specify LIBGCC_INCLUDE_DIRS in the command line to manually override the libgcc relative location below.
+ if(NOT DEFINED LIBGCC_INCLUDE_DIRS)
+- get_filename_component(_TMP_VAR "${LIBGCC_PATH}" DIRECTORY)
++
++ # "libgcc.a" lib location in ${LIBGCC_PATH} might not contain a correct path to headers
++ # We can get the correct path if we ask for a location without a library name
++ gcc_get_lib_location(LIBRARY_NAME "" RES _TMP_VAR)
+ set(LIBGCC_INCLUDE_DIRS
+ "${_TMP_VAR}/include"
+ "${_TMP_VAR}/include-fixed" CACHE STRING "GCC specific include PATHs")
+--
+2.25.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0005-setting-sysroot-for-libgcc-lookup.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0005-setting-sysroot-for-libgcc-lookup.patch
new file mode 100644
index 0000000000..b226bc4156
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0005-setting-sysroot-for-libgcc-lookup.patch
@@ -0,0 +1,30 @@
+From 0fbf81d10e0f2aabb80105fabe4ffdf87e28e664 Mon Sep 17 00:00:00 2001
+From: Anton Antonov <Anton.Antonov@arm.com>
+Date: Wed, 31 Aug 2022 17:06:07 +0100
+Subject: [PATCH 2/4] Allow setting sysroot for libgcc lookup
+
+Explicitly pass the new variable LIBGCC_LOCATE_CFLAGS variable when searching
+for the compiler libraries.
+
+Upstream-Status: Pending
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+---
+ tools/cmake/compiler/GCC.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/cmake/compiler/GCC.cmake b/tools/cmake/compiler/GCC.cmake
+index 5a8fa59..d591c44 100644
+--- a/tools/cmake/compiler/GCC.cmake
++++ b/tools/cmake/compiler/GCC.cmake
+@@ -268,7 +268,7 @@ function(gcc_get_lib_location)
+ cmake_parse_arguments(MY "${options}" "${oneValueArgs}"
+ "${multiValueArgs}" ${ARGN} )
+ execute_process(
+- COMMAND ${CMAKE_C_COMPILER} "--print-file-name=${MY_LIBRARY_NAME}"
++ COMMAND ${CMAKE_C_COMPILER} ${LIBGCC_LOCATE_CFLAGS} --print-file-name=${MY_LIBRARY_NAME}
+ OUTPUT_VARIABLE _RES
+ RESULT_VARIABLE _GCC_ERROR_CODE
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+--
+2.25.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0006-applying-lowercase-project-convention.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0006-applying-lowercase-project-convention.patch
new file mode 100644
index 0000000000..09f38c0049
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0006-applying-lowercase-project-convention.patch
@@ -0,0 +1,32 @@
+From 37559c70443fe85e246f1f652045f0cd3c78012b Mon Sep 17 00:00:00 2001
+From: Vishnu Banavath <vishnu.banavath@arm.com>
+Date: Sat, 13 Nov 2021 07:47:44 +0000
+Subject: [PATCH] tools/cmake/common: applying lowercase project convention
+
+Lowercase convention should only apply on the paths inside TS
+source-code.
+Host build paths should not be lowercased. Otherwise, builds
+with uppercase paths will break.
+
+Upstream-Status: Pending [In review]
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+diff --git a/tools/cmake/common/AddPlatform.cmake b/tools/cmake/common/AddPlatform.cmake
+index ae34c6e..31bcd8c 100644
+--- a/tools/cmake/common/AddPlatform.cmake
++++ b/tools/cmake/common/AddPlatform.cmake
+@@ -37,8 +37,8 @@ function(add_platform)
+ set(TGT ${MY_PARAMS_TARGET} CACHE STRING "")
+
+ # Ensure file path conforms to lowercase project convention
+- string(TOLOWER "${TS_PLATFORM_ROOT}/${TS_PLATFORM}/platform.cmake" _platdef)
+- include(${_platdef})
++ string(TOLOWER "${TS_PLATFORM}/platform.cmake" _platdef)
++ include(${TS_PLATFORM_ROOT}/${_platdef})
+ set(CMAKE_CONFIGURE_DEPENDS ${_platdef})
+
+ unset(TGT CACHE)
+--
+2.25.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0009-PSA-CRYPTO-API-INCLUDE.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0009-PSA-CRYPTO-API-INCLUDE.patch
new file mode 100644
index 0000000000..9054f1c8b6
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0009-PSA-CRYPTO-API-INCLUDE.patch
@@ -0,0 +1,39 @@
+From 7f254bf14a97d14d19e61e2b8f8359bc238f3f1b Mon Sep 17 00:00:00 2001
+From: Anton Antonov <Anton.Antonov@arm.com>
+Date: Wed, 31 Aug 2022 17:07:51 +0100
+Subject: [PATCH 3/4] Always define PSA_CRYPTO_API_INCLUDE
+
+PSA_CRYPTO_API_INCLUDE is not defined when pre-built mbedtls was used.
+
+Upstream-Status: Pending
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+---
+ external/MbedTLS/MbedTLS.cmake | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/external/MbedTLS/MbedTLS.cmake b/external/MbedTLS/MbedTLS.cmake
+index 3193a07..f15e25d 100644
+--- a/external/MbedTLS/MbedTLS.cmake
++++ b/external/MbedTLS/MbedTLS.cmake
+@@ -96,8 +96,6 @@ if (NOT MBEDCRYPTO_LIB_FILE)
+ #Configure Mbed TLS to build only mbedcrypto lib
+ execute_process(COMMAND ${Python3_EXECUTABLE} scripts/config.py crypto WORKING_DIRECTORY ${MBEDTLS_SOURCE_DIR})
+
+- # Advertise Mbed TLS as the provider of the psa crypto API
+- set(PSA_CRYPTO_API_INCLUDE "${MBEDTLS_INSTALL_DIR}/include" CACHE STRING "PSA Crypto API include path")
+
+ include(${TS_ROOT}/tools/cmake/common/PropertyCopy.cmake)
+
+@@ -157,6 +155,9 @@ if (NOT MBEDCRYPTO_LIB_FILE)
+ set(MBEDCRYPTO_LIB_FILE "${MBEDTLS_INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}mbedcrypto${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ endif()
+
++# Advertise Mbed TLS as the provider of the psa crypto API
++set(PSA_CRYPTO_API_INCLUDE "${MBEDTLS_INSTALL_DIR}/include" CACHE STRING "PSA Crypto API include path")
++
+ #Create an imported target to have clean abstraction in the build-system.
+ add_library(mbedcrypto STATIC IMPORTED)
+ set_property(DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${MBEDCRYPTO_LIB_FILE})
+--
+2.25.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0010-change-libts-to-export-CMake-package.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0010-change-libts-to-export-CMake-package.patch
new file mode 100644
index 0000000000..169ef59fb3
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0010-change-libts-to-export-CMake-package.patch
@@ -0,0 +1,346 @@
+From 0ff5a6163bd2760bb6a61fd5a185a2b92da5e86b Mon Sep 17 00:00:00 2001
+From: Gyorgy Szing <Gyorgy.Szing@arm.com>
+Date: Wed, 20 Jul 2022 12:36:52 +0000
+Subject: [PATCH] Fix: change libts to export a CMake package
+
+libts install content was not compatible to find_module() which made
+using a pre-built libts binary from CMake less than ideal.
+
+This change adds the missing files and updates export and install
+commands to make libts generate a proper CMake package.
+
+From now on an external project will be able to use find_module() to
+integrate libts into its build.
+
+Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
+Change-Id: I9e86e02030f6fb3c86af45252110f939cb82670c
+
+Upstream-Status: Pending [In review]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+---
+
+diff --git a/components/messaging/ffa/libsp/component.cmake b/components/messaging/ffa/libsp/component.cmake
+index a21c630..ec4cf6c 100644
+--- a/components/messaging/ffa/libsp/component.cmake
++++ b/components/messaging/ffa/libsp/component.cmake
+@@ -1,5 +1,5 @@
+ #-------------------------------------------------------------------------------
+-# Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
++# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -21,7 +21,7 @@
+ "${CMAKE_CURRENT_LIST_DIR}/sp_rxtx.c"
+ )
+
+-set_property(TARGET ${TGT} PROPERTY PUBLIC_HEADER
++set_property(TARGET ${TGT} APPEND PROPERTY PUBLIC_HEADER
+ ${CMAKE_CURRENT_LIST_DIR}/include/ffa_api.h
+ ${CMAKE_CURRENT_LIST_DIR}/include/ffa_api_defines.h
+ ${CMAKE_CURRENT_LIST_DIR}/include/ffa_api_types.h
+@@ -49,5 +49,5 @@
+ target_include_directories(${TGT}
+ PUBLIC
+ "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>"
+- "$<INSTALL_INTERFACE:include>"
++ "$<INSTALL_INTERFACE:${TS_ENV}/include">
+ )
+diff --git a/components/rpc/common/interface/component.cmake b/components/rpc/common/interface/component.cmake
+index d567602..e4b2477 100644
+--- a/components/rpc/common/interface/component.cmake
++++ b/components/rpc/common/interface/component.cmake
+@@ -1,5 +1,5 @@
+ #-------------------------------------------------------------------------------
+-# Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
++# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -8,11 +8,12 @@
+ message(FATAL_ERROR "mandatory parameter TGT is not defined.")
+ endif()
+
+-set_property(TARGET ${TGT} PROPERTY RPC_CALLER_PUBLIC_HEADER_FILES
++set_property(TARGET ${TGT} APPEND PROPERTY PUBLIC_HEADER
+ "${CMAKE_CURRENT_LIST_DIR}/rpc_caller.h"
+ "${CMAKE_CURRENT_LIST_DIR}/rpc_status.h"
+ )
+
+ target_include_directories(${TGT} PUBLIC
+- "${CMAKE_CURRENT_LIST_DIR}"
++ "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>"
++ "$<INSTALL_INTERFACE:${TS_ENV}/include>"
+ )
+diff --git a/components/service/locator/interface/component.cmake b/components/service/locator/interface/component.cmake
+index b5aefa3..84a4d75 100644
+--- a/components/service/locator/interface/component.cmake
++++ b/components/service/locator/interface/component.cmake
+@@ -1,5 +1,5 @@
+ #-------------------------------------------------------------------------------
+-# Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
++# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -8,10 +8,11 @@
+ message(FATAL_ERROR "mandatory parameter TGT is not defined.")
+ endif()
+
+-set_property(TARGET ${TGT} PROPERTY SERVICE_LOCATOR_PUBLIC_HEADER_FILES
++set_property(TARGET ${TGT} APPEND PROPERTY PUBLIC_HEADER
+ "${CMAKE_CURRENT_LIST_DIR}/service_locator.h"
+ )
+
+ target_include_directories(${TGT} PUBLIC
+- "${CMAKE_CURRENT_LIST_DIR}"
++ "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>"
++ "$<INSTALL_INTERFACE:${TS_ENV}/include>"
+ )
+diff --git a/deployments/libts/libts-import.cmake b/deployments/libts/libts-import.cmake
+index dcabc45..fcfc2ac 100644
+--- a/deployments/libts/libts-import.cmake
++++ b/deployments/libts/libts-import.cmake
+@@ -11,48 +11,18 @@
+ # CMake build file allows libts to be built and installed into the binary
+ # directory of the dependent.
+ #-------------------------------------------------------------------------------
+-
+-# Determine the number of processes to run while running parallel builds.
+-# Pass -DPROCESSOR_COUNT=<n> to cmake to override.
+-if(NOT DEFINED PROCESSOR_COUNT)
+- include(ProcessorCount)
+- ProcessorCount(PROCESSOR_COUNT)
+- set(PROCESSOR_COUNT ${PROCESSOR_COUNT} CACHE STRING "Number of cores to use for parallel builds.")
++option(CFG_FORCE_PREBUILT_LIBTS Off)
++# Try to find a pre-build package.
++find_package(libts "1.0.0" QUIET)
++if(NOT libts_FOUND)
++ if (CFG_FORCE_PREBUILT_LIBTS)
++ string(CONCAT _msg "find_package() failed to find the \"libts\" package. Please set libts_DIR or"
++ " CMAKE_FIND_ROOT_PATH properly.\n"
++ "If you wish to debug the search process pass -DCMAKE_FIND_DEBUG_MODE=ON to cmake.")
++ message(FATAL_ERROR ${_msg})
++ endif()
++ # If not successful, build libts as a sub-project.
++ add_subdirectory(${TS_ROOT}/deployments/libts/${TS_ENV} ${CMAKE_BINARY_DIR}/libts)
++else()
++ message(STATUS "Using prebuilt libts from ${libts_DIR}")
+ endif()
+-
+-set(LIBTS_INSTALL_PATH "${CMAKE_CURRENT_BINARY_DIR}/libts_install" CACHE PATH "libts installation directory")
+-set(LIBTS_PACKAGE_PATH "${LIBTS_INSTALL_PATH}/lib/cmake" CACHE PATH "libts CMake package directory")
+-set(LIBTS_SOURCE_DIR "${TS_ROOT}/deployments/libts/${TS_ENV}" CACHE PATH "libts source directory")
+-set(LIBTS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/_deps/libts-build" CACHE PATH "libts binary directory")
+-
+-file(MAKE_DIRECTORY ${LIBTS_BINARY_DIR})
+-
+-#Configure the library
+-execute_process(COMMAND
+- ${CMAKE_COMMAND}
+- -DCMAKE_INSTALL_PREFIX=${LIBTS_INSTALL_PATH}
+- -GUnix\ Makefiles
+- -S ${LIBTS_SOURCE_DIR}
+- -B ${LIBTS_BINARY_DIR}
+- RESULT_VARIABLE _exec_error
+-)
+-
+-if (_exec_error)
+- message(FATAL_ERROR "Configuration step of libts failed with ${_exec_error}.")
+-endif()
+-
+-#Build the library
+-execute_process(COMMAND
+- ${CMAKE_COMMAND} --build ${LIBTS_BINARY_DIR} --parallel ${PROCESSOR_COUNT} --target install
+- RESULT_VARIABLE _exec_error
+-)
+-
+-if (_exec_error)
+- message(FATAL_ERROR "Build step of libts failed with ${_exec_error}.")
+-endif()
+-
+-# Import the built library
+-include(${LIBTS_INSTALL_PATH}/${TS_ENV}/lib/cmake/libts_targets.cmake)
+-add_library(libts SHARED IMPORTED)
+-set_property(TARGET libts PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${LIBTS_INSTALL_PATH}/${TS_ENV}/include")
+-set_property(TARGET libts PROPERTY IMPORTED_LOCATION "${LIBTS_INSTALL_PATH}/${TS_ENV}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}ts${CMAKE_SHARED_LIBRARY_SUFFIX}")
+diff --git a/deployments/libts/libts.cmake b/deployments/libts/libts.cmake
+index 6463ca1..7f278fd 100644
+--- a/deployments/libts/libts.cmake
++++ b/deployments/libts/libts.cmake
+@@ -1,5 +1,5 @@
+ #-------------------------------------------------------------------------------
+-# Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
++# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -18,12 +18,11 @@
+ MAJOR _major MINOR _minor PATCH _patch)
+ set_target_properties(ts PROPERTIES VERSION "${_major}.${_minor}.${_patch}")
+ set_target_properties(ts PROPERTIES SOVERSION "${_major}")
+-unset(_major)
+-unset(_minor)
+-unset(_patch)
++
++add_library(libts::ts ALIAS ts)
+
+ #-------------------------------------------------------------------------------
+-# Components that are common accross all deployments
++# Components that are common across all deployments
+ #
+ #-------------------------------------------------------------------------------
+ add_components(
+@@ -53,19 +52,13 @@
+ #-------------------------------------------------------------------------------
+ include(${TS_ROOT}/tools/cmake/common/ExportLibrary.cmake REQUIRED)
+
+-# Select public header files to export
+-get_property(_rpc_caller_public_header_files TARGET ts
+- PROPERTY RPC_CALLER_PUBLIC_HEADER_FILES
+-)
+-
+-get_property(_service_locator_public_header_files TARGET ts
+- PROPERTY SERVICE_LOCATOR_PUBLIC_HEADER_FILES
+-)
++get_property(_tmp TARGET ts PROPERTY PUBLIC_HEADER)
+
+ # Exports library information in preparation for install
+ export_library(
+ TARGET "ts"
+ LIB_NAME "libts"
++ PKG_CONFIG_FILE "${CMAKE_CURRENT_LIST_DIR}/libtsConfig.cmake.in"
+ INTERFACE_FILES
+ ${_rpc_caller_public_header_files}
+ ${_service_locator_public_header_files}
+diff --git a/deployments/libts/libtsConfig.cmake.in b/deployments/libts/libtsConfig.cmake.in
+new file mode 100644
+index 0000000..4860135
+--- /dev/null
++++ b/deployments/libts/libtsConfig.cmake.in
+@@ -0,0 +1,10 @@
++#
++# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
++#
++# SPDX-License-Identifier: BSD-3-Clause
++#
++
++@PACKAGE_INIT@
++
++include("${CMAKE_CURRENT_LIST_DIR}/libtsTargets.cmake")
++
+diff --git a/tools/cmake/common/ExportLibrary.cmake b/tools/cmake/common/ExportLibrary.cmake
+index fed4e75..4fcf481 100644
+--- a/tools/cmake/common/ExportLibrary.cmake
++++ b/tools/cmake/common/ExportLibrary.cmake
+@@ -1,5 +1,5 @@
+ #-------------------------------------------------------------------------------
+-# Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
++# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -26,17 +26,29 @@
+ #]===]
+ function(export_library)
+ set(options )
+- set(oneValueArgs TARGET LIB_NAME)
++ set(oneValueArgs TARGET LIB_NAME PKG_CONFIG_FILE)
+ set(multiValueArgs INTERFACE_FILES)
+ cmake_parse_arguments(MY_PARAMS "${options}" "${oneValueArgs}"
+ "${multiValueArgs}" ${ARGN} )
+
+- if(NOT DEFINED MY_PARAMS_TARGET)
+- message(FATAL_ERROR "export_library: mandatory parameter TARGET not defined!")
++ foreach(_param IN ITEMS MY_PARAMS_TARGET MY_PARAMS_LIB_NAME MY_PARAMS_PKG_CONFIG_FILE)
++ if(NOT DEFINED ${_param})
++ list(APPEND _miss_params "${_param}" )
++ endif()
++ endforeach()
++
++ if (_miss_params)
++ string(REPLACE ";" ", " _miss_params "${_miss_params}")
++ message(FATAL_ERROR "export_library: mandatory parameter(s) ${_miss_params} not defined!")
+ endif()
+- if(NOT DEFINED MY_PARAMS_LIB_NAME)
+- message(FATAL_ERROR "export_library: mandatory parameter LIB_NAME not defined!")
+- endif()
++
++
++ string(TOUPPER "${MY_PARAMS_LIB_NAME}" UC_LIB_NAME)
++ string(TOLOWER "${MY_PARAMS_LIB_NAME}" LC_LIB_NAME)
++ string(SUBSTRING "${UC_LIB_NAME}" 0 1 CAP_LIB_NAME)
++ string(SUBSTRING "${LC_LIB_NAME}" 1 -1 _tmp)
++ string(APPEND CAP_LIB_NAME "${_tmp}")
++
+
+ # Set default install location if none specified
+ if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+@@ -55,6 +67,42 @@
+ DESTINATION ${TS_ENV}/include
+ )
+
++ # Create a config file package.
++ include(CMakePackageConfigHelpers)
++ get_target_property(_ver ${MY_PARAMS_TARGET} VERSION)
++ write_basic_package_version_file(
++ "${CMAKE_CURRENT_BINARY_DIR}/${LC_LIB_NAME}ConfigVersion.cmake"
++ VERSION "${_ver}"
++ COMPATIBILITY SameMajorVersion
++ )
++
++ # Create targets file.
++ export(
++ EXPORT
++ ${MY_PARAMS_LIB_NAME}_targets
++ FILE
++ "${CMAKE_CURRENT_BINARY_DIR}/${MY_PARAMS_LIB_NAME}Targets.cmake"
++ NAMESPACE
++ ${MY_PARAMS_LIB_NAME}::
++ )
++
++ # Finalize config file.
++ # Config package location relative to install root.
++ set(ConfigPackageLocation ${TS_ENV}/lib/cmake)
++ # Config package location ??
++ get_filename_component(ConfigPackageLocationRel ${ConfigPackageLocation} PATH)
++
++ get_filename_component(_configured_pkgcfg_name "${MY_PARAMS_PKG_CONFIG_FILE}" NAME_WLE)
++ set(_configured_pkgcfg_name "${CMAKE_CURRENT_BINARY_DIR}/${_configured_pkgcfg_name}")
++ configure_package_config_file(
++ "${MY_PARAMS_PKG_CONFIG_FILE}"
++ "${_configured_pkgcfg_name}"
++ PATH_VARS
++
++ INSTALL_DESTINATION
++ ${ConfigPackageLocationRel}
++ )
++
+ # Install library header files files
+ install(
+ FILES ${MY_PARAMS_INTERFACE_FILES}
+@@ -64,9 +112,21 @@
+ # Install the export details
+ install(
+ EXPORT ${MY_PARAMS_LIB_NAME}_targets
+- FILE ${MY_PARAMS_LIB_NAME}_targets.cmake
++ FILE ${MY_PARAMS_LIB_NAME}Targets.cmake
+ NAMESPACE ${MY_PARAMS_LIB_NAME}::
+- DESTINATION ${TS_ENV}/lib/cmake
++ DESTINATION ${ConfigPackageLocation}
+ COMPONENT ${MY_PARAMS_LIB_NAME}
+ )
++
++
++ # install config and version files
++ install(
++ FILES
++ "${_configured_pkgcfg_name}"
++ "${CMAKE_CURRENT_BINARY_DIR}/${LC_LIB_NAME}ConfigVersion.cmake"
++ DESTINATION
++ ${ConfigPackageLocation}
++ COMPONENT
++ ${MY_PARAMS_LIB_NAME}
++ )
+ endfunction()
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0011-Adapt-deployments-to-libts-changes.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0011-Adapt-deployments-to-libts-changes.patch
new file mode 100644
index 0000000000..34b103576c
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0011-Adapt-deployments-to-libts-changes.patch
@@ -0,0 +1,197 @@
+From dfadca01ff028f9fc935937cdaf92b0effff2b90 Mon Sep 17 00:00:00 2001
+From: Gyorgy Szing <Gyorgy.Szing@arm.com>
+Date: Wed, 20 Jul 2022 16:49:39 +0000
+Subject: [PATCH] Adapt deployments to libts changes
+
+Update deployments and restore compatibility to libts build-system
+interface changes.
+
+Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
+Change-Id: Iffd38f92fe628a2a6aaff60224986f22ec3a8a2a
+
+Upstream-Status: Pending [In review]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+---
+
+diff --git a/deployments/platform-inspect/platform-inspect.cmake b/deployments/platform-inspect/platform-inspect.cmake
+index ef4ba4b..b1b316d 100644
+--- a/deployments/platform-inspect/platform-inspect.cmake
++++ b/deployments/platform-inspect/platform-inspect.cmake
+@@ -1,5 +1,5 @@
+ #-------------------------------------------------------------------------------
+-# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -12,14 +12,14 @@
+
+ #-------------------------------------------------------------------------------
+ # Use libts for locating and accessing trusted services. An appropriate version
+-# of libts will be imported for the enviroment in which platform-inspect is
++# of libts will be imported for the environment in which platform-inspect is
+ # built.
+ #-------------------------------------------------------------------------------
+ include(${TS_ROOT}/deployments/libts/libts-import.cmake)
+-target_link_libraries(platform-inspect PRIVATE libts)
++target_link_libraries(platform-inspect PRIVATE libts::ts)
+
+ #-------------------------------------------------------------------------------
+-# Components that are common accross all deployments
++# Components that are common across all deployments
+ #
+ #-------------------------------------------------------------------------------
+ add_components(
+diff --git a/deployments/psa-api-test/psa-api-test.cmake b/deployments/psa-api-test/psa-api-test.cmake
+index d58620f..5c3469c 100644
+--- a/deployments/psa-api-test/psa-api-test.cmake
++++ b/deployments/psa-api-test/psa-api-test.cmake
+@@ -1,5 +1,5 @@
+ #-------------------------------------------------------------------------------
+-# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -12,14 +12,14 @@
+
+ #-------------------------------------------------------------------------------
+ # Use libts for locating and accessing services. An appropriate version of
+-# libts will be imported for the enviroment in which service tests are
++# libts will be imported for the environment in which service tests are
+ # deployed.
+ #-------------------------------------------------------------------------------
+ include(${TS_ROOT}/deployments/libts/libts-import.cmake)
+-target_link_libraries(${PROJECT_NAME} PRIVATE libts)
++target_link_libraries(${PROJECT_NAME} PRIVATE libts::ts)
+
+ #-------------------------------------------------------------------------------
+-# Components that are common accross all deployments
++# Components that are common across all deployments
+ #
+ #-------------------------------------------------------------------------------
+ add_components(
+diff --git a/deployments/ts-demo/ts-demo.cmake b/deployments/ts-demo/ts-demo.cmake
+index 3e7cca0..9fd8585 100644
+--- a/deployments/ts-demo/ts-demo.cmake
++++ b/deployments/ts-demo/ts-demo.cmake
+@@ -1,5 +1,5 @@
+ #-------------------------------------------------------------------------------
+-# Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
++# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -13,11 +13,11 @@
+
+ #-------------------------------------------------------------------------------
+ # Use libts for locating and accessing services. An appropriate version of
+-# libts will be imported for the enviroment in which service tests are
++# libts will be imported for the environment in which service tests are
+ # deployed.
+ #-------------------------------------------------------------------------------
+ include(${TS_ROOT}/deployments/libts/libts-import.cmake)
+-target_link_libraries(ts-demo PRIVATE libts)
++target_link_libraries(ts-demo PRIVATE libts::ts)
+
+ #-------------------------------------------------------------------------------
+ # Common main for all deployments
+@@ -28,7 +28,7 @@
+ )
+
+ #-------------------------------------------------------------------------------
+-# Components that are common accross all deployments
++# Components that are common across all deployments
+ #
+ #-------------------------------------------------------------------------------
+ add_components(
+diff --git a/deployments/ts-remote-test/ts-remote-test.cmake b/deployments/ts-remote-test/ts-remote-test.cmake
+index 0f35bb2..c310445 100644
+--- a/deployments/ts-remote-test/ts-remote-test.cmake
++++ b/deployments/ts-remote-test/ts-remote-test.cmake
+@@ -1,5 +1,5 @@
+ #-------------------------------------------------------------------------------
+-# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -13,11 +13,11 @@
+
+ #-------------------------------------------------------------------------------
+ # Use libts for locating and accessing services. An appropriate version of
+-# libts will be imported for the enviroment in which tests are
++# libts will be imported for the environment in which tests are
+ # deployed.
+ #-------------------------------------------------------------------------------
+ include(${TS_ROOT}/deployments/libts/libts-import.cmake)
+-target_link_libraries(ts-remote-test PRIVATE libts)
++target_link_libraries(ts-remote-test PRIVATE libts::ts)
+
+ #-------------------------------------------------------------------------------
+ # Common main for all deployments
+@@ -28,7 +28,7 @@
+ )
+
+ #-------------------------------------------------------------------------------
+-# Components that are common accross all deployments
++# Components that are common across all deployments
+ #
+ #-------------------------------------------------------------------------------
+ add_components(
+diff --git a/deployments/ts-service-test/ts-service-test.cmake b/deployments/ts-service-test/ts-service-test.cmake
+index 4a8c59c..3e33757 100644
+--- a/deployments/ts-service-test/ts-service-test.cmake
++++ b/deployments/ts-service-test/ts-service-test.cmake
+@@ -1,5 +1,5 @@
+ #-------------------------------------------------------------------------------
+-# Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
++# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -8,19 +8,19 @@
+ #-------------------------------------------------------------------------------
+ # The base build file shared between deployments of 'ts-service-test' for
+ # different environments. Used for running end-to-end service-level tests
+-# where test cases excerise trusted service client interfaces.
++# where test cases exercise trusted service client interfaces.
+ #-------------------------------------------------------------------------------
+
+ #-------------------------------------------------------------------------------
+ # Use libts for locating and accessing services. An appropriate version of
+-# libts will be imported for the enviroment in which service tests are
++# libts will be imported for the environment in which service tests are
+ # deployed.
+ #-------------------------------------------------------------------------------
+ include(${TS_ROOT}/deployments/libts/libts-import.cmake)
+-target_link_libraries(ts-service-test PRIVATE libts)
++target_link_libraries(ts-service-test PRIVATE libts::ts)
+
+ #-------------------------------------------------------------------------------
+-# Components that are common accross all deployments
++# Components that are common across all deployments
+ #
+ #-------------------------------------------------------------------------------
+ add_components(
+diff --git a/deployments/uefi-test/uefi-test.cmake b/deployments/uefi-test/uefi-test.cmake
+index ea678d0..2f47891 100644
+--- a/deployments/uefi-test/uefi-test.cmake
++++ b/deployments/uefi-test/uefi-test.cmake
+@@ -1,5 +1,5 @@
+ #-------------------------------------------------------------------------------
+-# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -18,7 +18,7 @@
+ # deployed.
+ #-------------------------------------------------------------------------------
+ include(${TS_ROOT}/deployments/libts/libts-import.cmake)
+-target_link_libraries(uefi-test PRIVATE libts)
++target_link_libraries(uefi-test PRIVATE libts::ts)
+
+ #-------------------------------------------------------------------------------
+ # Components that are common accross all deployments
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0012-psa-arch-test-toolchain.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0012-psa-arch-test-toolchain.patch
new file mode 100644
index 0000000000..7d07fca871
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0012-psa-arch-test-toolchain.patch
@@ -0,0 +1,40 @@
+From 1ce8fcde17a6d2c5cb2e00901d485c91eda776fd Mon Sep 17 00:00:00 2001
+From: Anton Antonov <Anton.Antonov@arm.com>
+Date: Wed, 31 Aug 2022 17:09:17 +0100
+Subject: [PATCH 4/4] Pass Yocto build settings to psa-arch-tests native build
+
+PSA-arch-tests need to build a native executable as a part of target build.
+The patch defines correct toolchain settings for native builds.
+
+Upstream-Status: Inappropriate [Yocto build specific change]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+---
+ .../psa_arch_tests/modify_attest_config.patch | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/external/psa_arch_tests/modify_attest_config.patch b/external/psa_arch_tests/modify_attest_config.patch
+index ebe8c44..b5d5e88 100644
+--- a/external/psa_arch_tests/modify_attest_config.patch
++++ b/external/psa_arch_tests/modify_attest_config.patch
+@@ -11,3 +11,18 @@ index 6112ba7..1cdf581 100755
+
+ /*
+ * Include of PSA defined Header files
++diff --git a/api-tests/tools/scripts/target_cfg/CMakeLists.txt b/api-tests/tools/scripts/target_cfg/CMakeLists.txt
++index 259eb9c..fec1fb8 100644
++--- a/api-tests/tools/scripts/target_cfg/CMakeLists.txt
+++++ b/api-tests/tools/scripts/target_cfg/CMakeLists.txt
++@@ -26,7 +26,9 @@ include("common/CMakeSettings")
++ include("common/Utils")
++
++ # Causes toolchain to be re-evaluated
++-unset(ENV{CC})
+++set(ENV{CC} $ENV{BUILD_CC})
+++set(ENV{CFLAGS} $ENV{BUILD_CFLAGS})
+++set(ENV{LDFLAGS} $ENV{BUILD_LDFLAGS})
++
++ # Let the CMake look for C compiler
++ project(TargetConfigGen LANGUAGES C)
+--
+2.25.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0017-Move-libsp-mocks-into-separate-component.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0017-Move-libsp-mocks-into-separate-component.patch
new file mode 100644
index 0000000000..d6da370a26
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0017-Move-libsp-mocks-into-separate-component.patch
@@ -0,0 +1,349 @@
+From 2cd802030ab59787a34c0f6684c16848befabafa Mon Sep 17 00:00:00 2001
+From: Imre Kis <imre.kis@arm.com>
+Date: Wed, 15 Jun 2022 12:47:37 +0200
+Subject: [PATCH 17/24] Move libsp mocks into separate component
+
+Enable deployments to include libsp mocks in tests by simply adding
+the newly created libsp mock component.
+
+Signed-off-by: Imre Kis <imre.kis@arm.com>
+Change-Id: I40805fd49362c6cc71b5b34f9ba888d27ce01ed8
+
+Upstream-Status: Pending [In review]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+---
+ .../messaging/ffa/libsp/mock/component.cmake | 27 ++++++++++
+ .../ffa/libsp/{test => mock}/mock_assert.cpp | 0
+ .../ffa/libsp/{test => mock}/mock_assert.h | 0
+ .../ffa/libsp/{test => mock}/mock_ffa_api.cpp | 0
+ .../ffa/libsp/{test => mock}/mock_ffa_api.h | 0
+ .../{test => mock}/mock_ffa_internal_api.cpp | 0
+ .../{test => mock}/mock_ffa_internal_api.h | 0
+ .../ffa/libsp/{test => mock}/mock_sp_rxtx.cpp | 0
+ .../ffa/libsp/{test => mock}/mock_sp_rxtx.h | 0
+ .../{ => mock}/test/test_mock_assert.cpp | 0
+ .../{ => mock}/test/test_mock_ffa_api.cpp | 0
+ .../test/test_mock_ffa_internal_api.cpp | 0
+ .../{ => mock}/test/test_mock_sp_rxtx.cpp | 0
+ components/messaging/ffa/libsp/tests.cmake | 51 +++++++++++--------
+ .../mm_communicate/endpoint/sp/tests.cmake | 6 +--
+ .../frontend/mm_communicate/tests.cmake | 6 +--
+ 16 files changed, 64 insertions(+), 26 deletions(-)
+ create mode 100644 components/messaging/ffa/libsp/mock/component.cmake
+ rename components/messaging/ffa/libsp/{test => mock}/mock_assert.cpp (100%)
+ rename components/messaging/ffa/libsp/{test => mock}/mock_assert.h (100%)
+ rename components/messaging/ffa/libsp/{test => mock}/mock_ffa_api.cpp (100%)
+ rename components/messaging/ffa/libsp/{test => mock}/mock_ffa_api.h (100%)
+ rename components/messaging/ffa/libsp/{test => mock}/mock_ffa_internal_api.cpp (100%)
+ rename components/messaging/ffa/libsp/{test => mock}/mock_ffa_internal_api.h (100%)
+ rename components/messaging/ffa/libsp/{test => mock}/mock_sp_rxtx.cpp (100%)
+ rename components/messaging/ffa/libsp/{test => mock}/mock_sp_rxtx.h (100%)
+ rename components/messaging/ffa/libsp/{ => mock}/test/test_mock_assert.cpp (100%)
+ rename components/messaging/ffa/libsp/{ => mock}/test/test_mock_ffa_api.cpp (100%)
+ rename components/messaging/ffa/libsp/{ => mock}/test/test_mock_ffa_internal_api.cpp (100%)
+ rename components/messaging/ffa/libsp/{ => mock}/test/test_mock_sp_rxtx.cpp (100%)
+
+diff --git a/components/messaging/ffa/libsp/mock/component.cmake b/components/messaging/ffa/libsp/mock/component.cmake
+new file mode 100644
+index 0000000..03b8006
+--- /dev/null
++++ b/components/messaging/ffa/libsp/mock/component.cmake
+@@ -0,0 +1,27 @@
++#-------------------------------------------------------------------------------
++# Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
++#
++# SPDX-License-Identifier: BSD-3-Clause
++#
++#-------------------------------------------------------------------------------
++if (NOT DEFINED TGT)
++ message(FATAL_ERROR "mandatory parameter TGT is not defined.")
++endif()
++
++target_sources(${TGT} PRIVATE
++ "${CMAKE_CURRENT_LIST_DIR}/mock_assert.cpp"
++ "${CMAKE_CURRENT_LIST_DIR}/mock_ffa_api.cpp"
++ "${CMAKE_CURRENT_LIST_DIR}/mock_ffa_internal_api.cpp"
++ "${CMAKE_CURRENT_LIST_DIR}/mock_sp_rxtx.cpp"
++ )
++
++target_include_directories(${TGT}
++ PUBLIC
++ ${CMAKE_CURRENT_LIST_DIR}
++ ${CMAKE_CURRENT_LIST_DIR}/../include
++)
++
++target_compile_definitions(${TGT}
++ PUBLIC
++ "ARM64=1"
++)
+\ No newline at end of file
+diff --git a/components/messaging/ffa/libsp/test/mock_assert.cpp b/components/messaging/ffa/libsp/mock/mock_assert.cpp
+similarity index 100%
+rename from components/messaging/ffa/libsp/test/mock_assert.cpp
+rename to components/messaging/ffa/libsp/mock/mock_assert.cpp
+diff --git a/components/messaging/ffa/libsp/test/mock_assert.h b/components/messaging/ffa/libsp/mock/mock_assert.h
+similarity index 100%
+rename from components/messaging/ffa/libsp/test/mock_assert.h
+rename to components/messaging/ffa/libsp/mock/mock_assert.h
+diff --git a/components/messaging/ffa/libsp/test/mock_ffa_api.cpp b/components/messaging/ffa/libsp/mock/mock_ffa_api.cpp
+similarity index 100%
+rename from components/messaging/ffa/libsp/test/mock_ffa_api.cpp
+rename to components/messaging/ffa/libsp/mock/mock_ffa_api.cpp
+diff --git a/components/messaging/ffa/libsp/test/mock_ffa_api.h b/components/messaging/ffa/libsp/mock/mock_ffa_api.h
+similarity index 100%
+rename from components/messaging/ffa/libsp/test/mock_ffa_api.h
+rename to components/messaging/ffa/libsp/mock/mock_ffa_api.h
+diff --git a/components/messaging/ffa/libsp/test/mock_ffa_internal_api.cpp b/components/messaging/ffa/libsp/mock/mock_ffa_internal_api.cpp
+similarity index 100%
+rename from components/messaging/ffa/libsp/test/mock_ffa_internal_api.cpp
+rename to components/messaging/ffa/libsp/mock/mock_ffa_internal_api.cpp
+diff --git a/components/messaging/ffa/libsp/test/mock_ffa_internal_api.h b/components/messaging/ffa/libsp/mock/mock_ffa_internal_api.h
+similarity index 100%
+rename from components/messaging/ffa/libsp/test/mock_ffa_internal_api.h
+rename to components/messaging/ffa/libsp/mock/mock_ffa_internal_api.h
+diff --git a/components/messaging/ffa/libsp/test/mock_sp_rxtx.cpp b/components/messaging/ffa/libsp/mock/mock_sp_rxtx.cpp
+similarity index 100%
+rename from components/messaging/ffa/libsp/test/mock_sp_rxtx.cpp
+rename to components/messaging/ffa/libsp/mock/mock_sp_rxtx.cpp
+diff --git a/components/messaging/ffa/libsp/test/mock_sp_rxtx.h b/components/messaging/ffa/libsp/mock/mock_sp_rxtx.h
+similarity index 100%
+rename from components/messaging/ffa/libsp/test/mock_sp_rxtx.h
+rename to components/messaging/ffa/libsp/mock/mock_sp_rxtx.h
+diff --git a/components/messaging/ffa/libsp/test/test_mock_assert.cpp b/components/messaging/ffa/libsp/mock/test/test_mock_assert.cpp
+similarity index 100%
+rename from components/messaging/ffa/libsp/test/test_mock_assert.cpp
+rename to components/messaging/ffa/libsp/mock/test/test_mock_assert.cpp
+diff --git a/components/messaging/ffa/libsp/test/test_mock_ffa_api.cpp b/components/messaging/ffa/libsp/mock/test/test_mock_ffa_api.cpp
+similarity index 100%
+rename from components/messaging/ffa/libsp/test/test_mock_ffa_api.cpp
+rename to components/messaging/ffa/libsp/mock/test/test_mock_ffa_api.cpp
+diff --git a/components/messaging/ffa/libsp/test/test_mock_ffa_internal_api.cpp b/components/messaging/ffa/libsp/mock/test/test_mock_ffa_internal_api.cpp
+similarity index 100%
+rename from components/messaging/ffa/libsp/test/test_mock_ffa_internal_api.cpp
+rename to components/messaging/ffa/libsp/mock/test/test_mock_ffa_internal_api.cpp
+diff --git a/components/messaging/ffa/libsp/test/test_mock_sp_rxtx.cpp b/components/messaging/ffa/libsp/mock/test/test_mock_sp_rxtx.cpp
+similarity index 100%
+rename from components/messaging/ffa/libsp/test/test_mock_sp_rxtx.cpp
+rename to components/messaging/ffa/libsp/mock/test/test_mock_sp_rxtx.cpp
+diff --git a/components/messaging/ffa/libsp/tests.cmake b/components/messaging/ffa/libsp/tests.cmake
+index d851442..296ae46 100644
+--- a/components/messaging/ffa/libsp/tests.cmake
++++ b/components/messaging/ffa/libsp/tests.cmake
+@@ -1,5 +1,5 @@
+ #
+-# Copyright (c) 2020-2021, Arm Limited. All rights reserved.
++# Copyright (c) 2020-2022, Arm Limited. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -9,10 +9,11 @@ include(UnitTest)
+ unit_test_add_suite(
+ NAME libsp_mock_assert
+ SOURCES
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_assert.cpp
+- ${CMAKE_CURRENT_LIST_DIR}/test/test_mock_assert.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_assert.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/test/test_mock_assert.cpp
+ INCLUDE_DIRECTORIES
+ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
+ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+ COMPILE_DEFINITIONS
+ -DARM64
+@@ -21,10 +22,11 @@ unit_test_add_suite(
+ unit_test_add_suite(
+ NAME libsp_mock_ffa_internal_api
+ SOURCES
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_ffa_internal_api.cpp
+- ${CMAKE_CURRENT_LIST_DIR}/test/test_mock_ffa_internal_api.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_ffa_internal_api.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/test/test_mock_ffa_internal_api.cpp
+ INCLUDE_DIRECTORIES
+ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
+ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+ COMPILE_DEFINITIONS
+ -DARM64
+@@ -35,12 +37,13 @@ unit_test_add_suite(
+ SOURCES
+ ${CMAKE_CURRENT_LIST_DIR}/test/test_ffa_api.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/test/test_ffa_memory_descriptors.cpp
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_ffa_internal_api.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_ffa_internal_api.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/ffa.c
+ ${CMAKE_CURRENT_LIST_DIR}/ffa_memory_descriptors.c
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_assert.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_assert.cpp
+ INCLUDE_DIRECTORIES
+ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
+ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+ COMPILE_DEFINITIONS
+ -DARM64
+@@ -49,10 +52,11 @@ unit_test_add_suite(
+ unit_test_add_suite(
+ NAME libsp_mock_ffa_api
+ SOURCES
+- ${CMAKE_CURRENT_LIST_DIR}/test/test_mock_ffa_api.cpp
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_ffa_api.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/test/test_mock_ffa_api.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_ffa_api.cpp
+ INCLUDE_DIRECTORIES
+ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
+ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+ COMPILE_DEFINITIONS
+ -DARM64
+@@ -62,10 +66,11 @@ unit_test_add_suite(
+ NAME libsp_sp_rxtx
+ SOURCES
+ ${CMAKE_CURRENT_LIST_DIR}/test/test_sp_rxtx.cpp
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_ffa_api.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_ffa_api.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/sp_rxtx.c
+ INCLUDE_DIRECTORIES
+ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
+ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+ COMPILE_DEFINITIONS
+ -DARM64
+@@ -74,10 +79,11 @@ unit_test_add_suite(
+ unit_test_add_suite(
+ NAME libsp_mock_sp_rxtx
+ SOURCES
+- ${CMAKE_CURRENT_LIST_DIR}/test/test_mock_sp_rxtx.cpp
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_sp_rxtx.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/test/test_mock_sp_rxtx.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_sp_rxtx.cpp
+ INCLUDE_DIRECTORIES
+ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
+ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+ COMPILE_DEFINITIONS
+ -DARM64
+@@ -88,10 +94,11 @@ unit_test_add_suite(
+ SOURCES
+ ${CMAKE_CURRENT_LIST_DIR}/test/test_sp_discovery.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/sp_discovery.c
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_ffa_api.cpp
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_sp_rxtx.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_ffa_api.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_sp_rxtx.cpp
+ INCLUDE_DIRECTORIES
+ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
+ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+ COMPILE_DEFINITIONS
+ -DARM64
+@@ -103,11 +110,12 @@ unit_test_add_suite(
+ ${CMAKE_CURRENT_LIST_DIR}/test/test_sp_memory_management.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/sp_memory_management.c
+ ${CMAKE_CURRENT_LIST_DIR}/ffa_memory_descriptors.c
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_assert.cpp
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_ffa_api.cpp
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_sp_rxtx.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_assert.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_ffa_api.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_sp_rxtx.cpp
+ INCLUDE_DIRECTORIES
+ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
+ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+ COMPILE_DEFINITIONS
+ -DARM64
+@@ -119,9 +127,10 @@ unit_test_add_suite(
+ ${CMAKE_CURRENT_LIST_DIR}/test/test_sp_memory_management_internals.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/test/sp_memory_management_internals.yml
+ ${CMAKE_CURRENT_LIST_DIR}/ffa_memory_descriptors.c
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_assert.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_assert.cpp
+ INCLUDE_DIRECTORIES
+ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
+ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+ COMPILE_DEFINITIONS
+ -DARM64
+@@ -131,10 +140,11 @@ unit_test_add_suite(
+ NAME libsp_sp_messaging
+ SOURCES
+ ${CMAKE_CURRENT_LIST_DIR}/test/test_sp_messaging.cpp
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_ffa_api.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_ffa_api.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/sp_messaging.c
+ INCLUDE_DIRECTORIES
+ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
+ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+ COMPILE_DEFINITIONS
+ -DARM64
+@@ -144,11 +154,12 @@ unit_test_add_suite(
+ NAME libsp_sp_messaging_with_routing_extension
+ SOURCES
+ ${CMAKE_CURRENT_LIST_DIR}/test/test_sp_messaging.cpp
+- ${CMAKE_CURRENT_LIST_DIR}/test/mock_ffa_api.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_ffa_api.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/sp_messaging.c
+ ${CMAKE_CURRENT_LIST_DIR}/ffa_direct_msg_routing_extension.c
+ INCLUDE_DIRECTORIES
+ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
+ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+ COMPILE_DEFINITIONS
+ -DARM64
+diff --git a/components/rpc/mm_communicate/endpoint/sp/tests.cmake b/components/rpc/mm_communicate/endpoint/sp/tests.cmake
+index 318f14d..c68a0c7 100644
+--- a/components/rpc/mm_communicate/endpoint/sp/tests.cmake
++++ b/components/rpc/mm_communicate/endpoint/sp/tests.cmake
+@@ -1,5 +1,5 @@
+ #
+-# Copyright (c) 2021, Arm Limited. All rights reserved.
++# Copyright (c) 2021-2022, Arm Limited. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -13,12 +13,12 @@ unit_test_add_suite(
+ ${CMAKE_CURRENT_LIST_DIR}/test/test_mm_communicate_call_ep.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/test/mock_mm_service.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/test/test_mock_mm_service.cpp
+- ${UNIT_TEST_PROJECT_PATH}/components/messaging/ffa/libsp/test/mock_assert.cpp
++ ${UNIT_TEST_PROJECT_PATH}/components/messaging/ffa/libsp/mock/mock_assert.cpp
+ INCLUDE_DIRECTORIES
+ ${UNIT_TEST_PROJECT_PATH}
+ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+ ${UNIT_TEST_PROJECT_PATH}/components/messaging/ffa/libsp/include
+- ${UNIT_TEST_PROJECT_PATH}/components/messaging/ffa/libsp/test
++ ${UNIT_TEST_PROJECT_PATH}/components/messaging/ffa/libsp/mock
+ ${UNIT_TEST_PROJECT_PATH}/components/rpc/common/interface
+ COMPILE_DEFINITIONS
+ -DARM64
+diff --git a/components/service/smm_variable/frontend/mm_communicate/tests.cmake b/components/service/smm_variable/frontend/mm_communicate/tests.cmake
+index d1f930c..50b0b9a 100644
+--- a/components/service/smm_variable/frontend/mm_communicate/tests.cmake
++++ b/components/service/smm_variable/frontend/mm_communicate/tests.cmake
+@@ -1,5 +1,5 @@
+ #
+-# Copyright (c) 2021, Arm Limited. All rights reserved.
++# Copyright (c) 2021-2022, Arm Limited. All rights reserved.
+ #
+ # SPDX-License-Identifier: BSD-3-Clause
+ #
+@@ -12,13 +12,13 @@ unit_test_add_suite(
+ ${CMAKE_CURRENT_LIST_DIR}/smm_variable_mm_service.c
+ ${CMAKE_CURRENT_LIST_DIR}/test/test_smm_variable_mm_service.cpp
+ ${UNIT_TEST_PROJECT_PATH}/components/rpc/common/test/mock_rpc_interface.cpp
+- ${UNIT_TEST_PROJECT_PATH}/components/messaging/ffa/libsp/test/mock_assert.cpp
++ ${UNIT_TEST_PROJECT_PATH}/components/messaging/ffa/libsp/mock/mock_assert.cpp
+ INCLUDE_DIRECTORIES
+ ${UNIT_TEST_PROJECT_PATH}
+ ${UNIT_TEST_PROJECT_PATH}/components/rpc/mm_communicate/endpoint/sp
+ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+ ${UNIT_TEST_PROJECT_PATH}/components/messaging/ffa/libsp/include
+- ${UNIT_TEST_PROJECT_PATH}/components/messaging/ffa/libsp/test
++ ${UNIT_TEST_PROJECT_PATH}/components/messaging/ffa/libsp/mock
+ ${UNIT_TEST_PROJECT_PATH}/components/rpc/common/interface
+ COMPILE_DEFINITIONS
+ -DARM64
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0018-Add-mock-for-libsp-sp_discovery.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0018-Add-mock-for-libsp-sp_discovery.patch
new file mode 100644
index 0000000000..b385b7a90d
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0018-Add-mock-for-libsp-sp_discovery.patch
@@ -0,0 +1,339 @@
+From e9ff55c03e06c044eb9c13f2a3315bf7e35f3659 Mon Sep 17 00:00:00 2001
+From: Imre Kis <imre.kis@arm.com>
+Date: Fri, 17 Jun 2022 13:51:21 +0200
+Subject: [PATCH 18/24] Add mock for libsp/sp_discovery
+
+Add mock_sp_discovery for mocking sp_discovery part of libsp.
+
+Signed-off-by: Imre Kis <imre.kis@arm.com>
+Change-Id: I94460dc03dd6dcd27f6865f852cc9a0d85f4b583
+
+Upstream-Status: Pending [In review]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+---
+ .../messaging/ffa/libsp/mock/component.cmake | 1 +
+ .../ffa/libsp/mock/mock_sp_discovery.cpp | 109 +++++++++++++++++
+ .../ffa/libsp/mock/mock_sp_discovery.h | 37 ++++++
+ .../mock/test/test_mock_sp_discovery.cpp | 111 ++++++++++++++++++
+ components/messaging/ffa/libsp/tests.cmake | 13 ++
+ 5 files changed, 271 insertions(+)
+ create mode 100644 components/messaging/ffa/libsp/mock/mock_sp_discovery.cpp
+ create mode 100644 components/messaging/ffa/libsp/mock/mock_sp_discovery.h
+ create mode 100644 components/messaging/ffa/libsp/mock/test/test_mock_sp_discovery.cpp
+
+diff --git a/components/messaging/ffa/libsp/mock/component.cmake b/components/messaging/ffa/libsp/mock/component.cmake
+index 03b8006..15db85a 100644
+--- a/components/messaging/ffa/libsp/mock/component.cmake
++++ b/components/messaging/ffa/libsp/mock/component.cmake
+@@ -12,6 +12,7 @@ target_sources(${TGT} PRIVATE
+ "${CMAKE_CURRENT_LIST_DIR}/mock_assert.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/mock_ffa_api.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/mock_ffa_internal_api.cpp"
++ "${CMAKE_CURRENT_LIST_DIR}/mock_sp_discovery.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/mock_sp_rxtx.cpp"
+ )
+
+diff --git a/components/messaging/ffa/libsp/mock/mock_sp_discovery.cpp b/components/messaging/ffa/libsp/mock/mock_sp_discovery.cpp
+new file mode 100644
+index 0000000..47f4ef7
+--- /dev/null
++++ b/components/messaging/ffa/libsp/mock/mock_sp_discovery.cpp
+@@ -0,0 +1,109 @@
++// SPDX-License-Identifier: BSD-3-Clause
++/*
++ * Copyright (c) 2022, Arm Limited. All rights reserved.
++ */
++
++#include <CppUTestExt/MockSupport.h>
++#include "mock_sp_discovery.h"
++
++void expect_sp_discovery_ffa_version_get(const uint16_t *major,
++ const uint16_t *minor,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_discovery_ffa_version_get")
++ .withOutputParameterReturning("major", major, sizeof(*major))
++ .withOutputParameterReturning("minor", minor, sizeof(*minor))
++ .andReturnValue(result);
++}
++
++sp_result sp_discovery_ffa_version_get(uint16_t *major, uint16_t *minor)
++{
++ return mock()
++ .actualCall("sp_discovery_ffa_version_get")
++ .withOutputParameter("major", major)
++ .withOutputParameter("minor", minor)
++ .returnIntValue();
++}
++
++void expect_sp_discovery_own_id_get(const uint16_t *id, sp_result result)
++{
++ mock()
++ .expectOneCall("sp_discovery_own_id_get")
++ .withOutputParameterReturning("id", id, sizeof(*id))
++ .andReturnValue(result);
++}
++
++sp_result sp_discovery_own_id_get(uint16_t *id)
++{
++ return mock()
++ .actualCall("sp_discovery_own_id_get")
++ .withOutputParameter("id", id)
++ .returnIntValue();
++}
++
++void expect_sp_discovery_partition_id_get(const struct sp_uuid *uuid,
++ const uint16_t *id, sp_result result)
++{
++ mock()
++ .expectOneCall("sp_discovery_partition_id_get")
++ .withMemoryBufferParameter("uuid", (const unsigned char *)uuid,
++ sizeof(*uuid))
++ .withOutputParameterReturning("id", id, sizeof(*id))
++ .andReturnValue(result);
++}
++
++sp_result sp_discovery_partition_id_get(const struct sp_uuid *uuid,
++ uint16_t *id)
++{
++ return mock()
++ .actualCall("sp_discovery_partition_id_get")
++ .withMemoryBufferParameter("uuid", (const unsigned char *)uuid,
++ sizeof(*uuid))
++ .withOutputParameter("id", id)
++ .returnIntValue();
++}
++
++void expect_sp_discovery_partition_info_get(const struct sp_uuid *uuid,
++ const struct sp_partition_info *info,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_discovery_partition_info_get")
++ .withMemoryBufferParameter("uuid", (const unsigned char *)uuid,
++ sizeof(*uuid))
++ .withOutputParameterReturning("info", info, sizeof(*info))
++ .andReturnValue(result);
++}
++
++sp_result sp_discovery_partition_info_get(const struct sp_uuid *uuid,
++ struct sp_partition_info *info)
++{
++ return mock()
++ .actualCall("sp_discovery_partition_info_get")
++ .withMemoryBufferParameter("uuid", (const unsigned char *)uuid,
++ sizeof(*uuid))
++ .withOutputParameter("info", info)
++ .returnIntValue();
++}
++
++void expect_sp_discovery_partition_info_get_all(const struct sp_partition_info info[],
++ const uint32_t *count,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_discovery_partition_info_get_all")
++ .withOutputParameterReturning("info", info, sizeof(*info) * *count)
++ .withOutputParameterReturning("count", count, sizeof(*count))
++ .andReturnValue(result);
++}
++
++sp_result sp_discovery_partition_info_get_all(struct sp_partition_info info[],
++ uint32_t *count)
++{
++ return mock()
++ .actualCall("sp_discovery_partition_info_get_all")
++ .withOutputParameter("info", info)
++ .withOutputParameter("count", count)
++ .returnIntValue();
++}
+diff --git a/components/messaging/ffa/libsp/mock/mock_sp_discovery.h b/components/messaging/ffa/libsp/mock/mock_sp_discovery.h
+new file mode 100644
+index 0000000..a71ce18
+--- /dev/null
++++ b/components/messaging/ffa/libsp/mock/mock_sp_discovery.h
+@@ -0,0 +1,37 @@
++/* SPDX-License-Identifier: BSD-3-Clause */
++/*
++ * Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
++ */
++
++#ifndef LIBSP_MOCK_MOCK_SP_DISCOVERY_H_
++#define LIBSP_MOCK_MOCK_SP_DISCOVERY_H_
++
++#include "../include/sp_discovery.h"
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++void expect_sp_discovery_ffa_version_get(const uint16_t *major,
++ const uint16_t *minor,
++ sp_result result);
++
++void expect_sp_discovery_own_id_get(const uint16_t *id, sp_result result);
++
++void expect_sp_discovery_partition_id_get(const struct sp_uuid *uuid,
++ const uint16_t *id, sp_result result);
++
++
++void expect_sp_discovery_partition_info_get(const struct sp_uuid *uuid,
++ const struct sp_partition_info *info,
++ sp_result result);
++
++void expect_sp_discovery_partition_info_get_all(const struct sp_partition_info info[],
++ const uint32_t *count,
++ sp_result result);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* LIBSP_MOCK_MOCK_SP_DISCOVERY_H_ */
+diff --git a/components/messaging/ffa/libsp/mock/test/test_mock_sp_discovery.cpp b/components/messaging/ffa/libsp/mock/test/test_mock_sp_discovery.cpp
+new file mode 100644
+index 0000000..bb4bf07
+--- /dev/null
++++ b/components/messaging/ffa/libsp/mock/test/test_mock_sp_discovery.cpp
+@@ -0,0 +1,111 @@
++// SPDX-License-Identifier: BSD-3-Clause
++/*
++ * Copyright (c) 2022, Arm Limited. All rights reserved.
++ */
++
++#include <CppUTestExt/MockSupport.h>
++#include <CppUTest/TestHarness.h>
++#include "mock_sp_discovery.h"
++#include <stdint.h>
++#include <stdlib.h>
++
++
++
++
++TEST_GROUP(mock_sp_discovery) {
++ TEST_TEARDOWN()
++ {
++ mock().checkExpectations();
++ mock().clear();
++ }
++
++ static const sp_result result = -1;
++};
++
++TEST(mock_sp_discovery, sp_discovery_ffa_version_get)
++{
++ const uint16_t expected_major = 0xabcd;
++ const uint16_t expected_minor = 0xef01;
++ uint16_t major = 0, minor = 0;
++
++ expect_sp_discovery_ffa_version_get(&expected_major, &expected_minor,
++ result);
++ LONGS_EQUAL(result, sp_discovery_ffa_version_get(&major, &minor));
++ UNSIGNED_LONGS_EQUAL(expected_major, major);
++ UNSIGNED_LONGS_EQUAL(expected_minor, minor);
++}
++
++TEST(mock_sp_discovery, sp_discovery_own_id_get)
++{
++ const uint16_t expected_id = 0x8765;
++ uint16_t id = 0;
++
++ expect_sp_discovery_own_id_get(&expected_id, result);
++ LONGS_EQUAL(result, sp_discovery_own_id_get(&id));
++ UNSIGNED_LONGS_EQUAL(expected_id, id);
++}
++
++TEST(mock_sp_discovery, sp_discovery_partition_id_get)
++{
++ const struct sp_uuid expected_uuid = {
++ .uuid = {0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10,
++ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef}};
++ const uint16_t expected_id = 0xc1ca;
++
++ struct sp_uuid uuid = expected_uuid;
++ uint16_t id = 0;
++
++ expect_sp_discovery_partition_id_get(&expected_uuid, &expected_id,
++ result);
++ LONGS_EQUAL(result, sp_discovery_partition_id_get(&uuid, &id));
++ UNSIGNED_LONGS_EQUAL(expected_id, id);
++}
++
++TEST(mock_sp_discovery, sp_discovery_partition_info_get)
++{
++ const struct sp_uuid expected_uuid = {
++ .uuid = {0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10,
++ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef}};
++ const struct sp_partition_info expected_info = {
++ .partition_id = 0x1234,
++ .execution_context_count = 0xffff,
++ .supports_direct_requests = true,
++ .can_send_direct_requests = true,
++ .supports_indirect_requests = false
++ };
++
++ struct sp_uuid uuid = expected_uuid;
++ struct sp_partition_info info = {0};
++
++ expect_sp_discovery_partition_info_get(&expected_uuid, &expected_info,
++ result);
++ LONGS_EQUAL(result, sp_discovery_partition_info_get(&uuid, &info));
++ MEMCMP_EQUAL(&expected_info, &info, sizeof(&expected_info));
++}
++
++TEST(mock_sp_discovery, sp_discovery_partition_info_get_all)
++{
++ const uint32_t expected_count = 2;
++ const struct sp_partition_info expected_info[expected_count] = {{
++ .partition_id = 0x5678,
++ .execution_context_count = 0x1111,
++ .supports_direct_requests = false,
++ .can_send_direct_requests = false,
++ .supports_indirect_requests = true
++ }, {
++ .partition_id = 0x1234,
++ .execution_context_count = 0xffff,
++ .supports_direct_requests = true,
++ .can_send_direct_requests = true,
++ .supports_indirect_requests = false
++ }};
++
++ struct sp_partition_info info[expected_count] = {0};
++ uint32_t count = 0;
++
++ expect_sp_discovery_partition_info_get_all(expected_info,
++ &expected_count, result);
++ LONGS_EQUAL(result, sp_discovery_partition_info_get_all(info, &count));
++ MEMCMP_EQUAL(&expected_info, &info, sizeof(&expected_info));
++ UNSIGNED_LONGS_EQUAL(expected_count, count);
++}
+\ No newline at end of file
+diff --git a/components/messaging/ffa/libsp/tests.cmake b/components/messaging/ffa/libsp/tests.cmake
+index 296ae46..7b52248 100644
+--- a/components/messaging/ffa/libsp/tests.cmake
++++ b/components/messaging/ffa/libsp/tests.cmake
+@@ -104,6 +104,19 @@ unit_test_add_suite(
+ -DARM64
+ )
+
++unit_test_add_suite(
++ NAME libsp_mock_sp_discovery
++ SOURCES
++ ${CMAKE_CURRENT_LIST_DIR}/mock/test/test_mock_sp_discovery.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_sp_discovery.cpp
++ INCLUDE_DIRECTORIES
++ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
++ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
++ COMPILE_DEFINITIONS
++ -DARM64
++)
++
+ unit_test_add_suite(
+ NAME libsp_sp_memory_management
+ SOURCES
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0019-Add-mock-for-libsp-sp_memory_management.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0019-Add-mock-for-libsp-sp_memory_management.patch
new file mode 100644
index 0000000000..cf50389d53
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0019-Add-mock-for-libsp-sp_memory_management.patch
@@ -0,0 +1,977 @@
+From b592a22dbce521522931f8e3d79d6e16f2d334fa Mon Sep 17 00:00:00 2001
+From: Imre Kis <imre.kis@arm.com>
+Date: Fri, 17 Jun 2022 14:42:04 +0200
+Subject: [PATCH 19/24] Add mock for libsp/sp_memory_management
+
+Add mock_sp_memory_management for mocking sp_memory_management part of
+libsp.
+
+Signed-off-by: Imre Kis <imre.kis@arm.com>
+Change-Id: I9f74142bc3568dfc59f820ec2c2af81deba0d0da
+
+Upstream-Status: Pending [In review]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+---
+ .../ffa/libsp/include/sp_memory_management.h | 2 +-
+ .../messaging/ffa/libsp/mock/component.cmake | 1 +
+ .../libsp/mock/mock_sp_memory_management.cpp | 523 ++++++++++++++++++
+ .../libsp/mock/mock_sp_memory_management.h | 98 ++++
+ .../test/test_mock_sp_memory_management.cpp | 260 +++++++++
+ components/messaging/ffa/libsp/tests.cmake | 13 +
+ 6 files changed, 896 insertions(+), 1 deletion(-)
+ create mode 100644 components/messaging/ffa/libsp/mock/mock_sp_memory_management.cpp
+ create mode 100644 components/messaging/ffa/libsp/mock/mock_sp_memory_management.h
+ create mode 100644 components/messaging/ffa/libsp/test/test_mock_sp_memory_management.cpp
+
+diff --git a/components/messaging/ffa/libsp/include/sp_memory_management.h b/components/messaging/ffa/libsp/include/sp_memory_management.h
+index 58a6cc1..ec76a3d 100644
+--- a/components/messaging/ffa/libsp/include/sp_memory_management.h
++++ b/components/messaging/ffa/libsp/include/sp_memory_management.h
+@@ -381,7 +381,7 @@ sp_result sp_memory_share_dynamic_is_supported(bool *supported);
+ *
+ * @param[in] descriptor The memory descriptor
+ * @param[in,out] acc_desc Access descriptor
+- * @param[in,out regions Memory region array
++ * @param[in,out] regions Memory region array
+ * @param[in] in_region_count Count of the specified regions, can be 0
+ * @param[in,out] out_region_count Count of the reserved space of in the
+ * regions buffer for retrieved regions. After
+diff --git a/components/messaging/ffa/libsp/mock/component.cmake b/components/messaging/ffa/libsp/mock/component.cmake
+index 15db85a..eb0d28c 100644
+--- a/components/messaging/ffa/libsp/mock/component.cmake
++++ b/components/messaging/ffa/libsp/mock/component.cmake
+@@ -13,6 +13,7 @@ target_sources(${TGT} PRIVATE
+ "${CMAKE_CURRENT_LIST_DIR}/mock_ffa_api.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/mock_ffa_internal_api.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/mock_sp_discovery.cpp"
++ "${CMAKE_CURRENT_LIST_DIR}/mock_sp_memory_management.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/mock_sp_rxtx.cpp"
+ )
+
+diff --git a/components/messaging/ffa/libsp/mock/mock_sp_memory_management.cpp b/components/messaging/ffa/libsp/mock/mock_sp_memory_management.cpp
+new file mode 100644
+index 0000000..9eb0aaa
+--- /dev/null
++++ b/components/messaging/ffa/libsp/mock/mock_sp_memory_management.cpp
+@@ -0,0 +1,523 @@
++// SPDX-License-Identifier: BSD-3-Clause
++/*
++ * Copyright (c) 2022, Arm Limited. All rights reserved.
++ */
++
++#include <CppUTestExt/MockSupport.h>
++#include "mock_sp_memory_management.h"
++
++void expect_sp_memory_donate(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor *acc_desc,
++ const struct sp_memory_region regions[],
++ uint32_t region_count, const uint64_t *handle,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_donate")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(*descriptor))
++ .withMemoryBufferParameter("acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc))
++ .withMemoryBufferParameter("regions", (const unsigned char *)regions,
++ sizeof(*regions) * region_count)
++ .withUnsignedIntParameter("region_count", region_count)
++ .withOutputParameterReturning("handle", handle, sizeof(*handle))
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_donate(struct sp_memory_descriptor *descriptor,
++ struct sp_memory_access_descriptor *acc_desc,
++ struct sp_memory_region regions[],
++ uint32_t region_count, uint64_t *handle)
++{
++ return mock()
++ .actualCall("sp_memory_donate")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(*descriptor))
++ .withMemoryBufferParameter("acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc))
++ .withMemoryBufferParameter("regions", (const unsigned char *)regions,
++ sizeof(*regions) * region_count)
++ .withUnsignedIntParameter("region_count", region_count)
++ .withOutputParameter("handle", handle)
++ .returnIntValue();
++}
++
++void expect_sp_memory_donate_dynamic(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor *acc_desc,
++ const struct sp_memory_region regions[],
++ uint32_t region_count, const uint64_t *handle,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_donate_dynamic")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(*descriptor))
++ .withMemoryBufferParameter("acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc))
++ .withMemoryBufferParameter("regions", (const unsigned char *)regions,
++ sizeof(*regions) * region_count)
++ .withUnsignedIntParameter("region_count", region_count)
++ .withOutputParameterReturning("handle", handle, sizeof(*handle))
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_donate_dynamic(struct sp_memory_descriptor *descriptor,
++ struct sp_memory_access_descriptor *acc_desc,
++ struct sp_memory_region regions[],
++ uint32_t region_count, uint64_t *handle,
++ struct ffa_mem_transaction_buffer *buffer)
++{
++ if (buffer == NULL) { // LCOV_EXCL_BR_LINE
++ FAIL("ffa_mem_transaction_buffer is NULL"); // LCOV_EXCL_LINE
++ }
++
++ return mock()
++ .actualCall("sp_memory_donate_dynamic")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(*descriptor))
++ .withMemoryBufferParameter("acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc))
++ .withMemoryBufferParameter("regions", (const unsigned char *)regions,
++ sizeof(*regions) * region_count)
++ .withUnsignedIntParameter("region_count", region_count)
++ .withOutputParameter("handle", handle)
++ .returnIntValue();
++}
++
++void expect_sp_memory_donate_dynamic_is_supported(const bool *supported, sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_lend_dynamic_is_supported")
++ .withOutputParameterReturning("supported", supported, sizeof(*supported))
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_donate_dynamic_is_supported(bool *supported)
++{
++ return mock()
++ .actualCall("sp_memory_lend_dynamic_is_supported")
++ .withOutputParameter("supported", supported)
++ .returnIntValue();
++}
++
++void expect_sp_memory_lend(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor acc_desc[],
++ uint32_t acc_desc_count,
++ const struct sp_memory_region regions[],
++ uint32_t region_count, const uint64_t *handle,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_lend")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(*descriptor))
++ .withMemoryBufferParameter("acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc) * acc_desc_count)
++ .withUnsignedIntParameter("acc_desc_count", acc_desc_count)
++ .withMemoryBufferParameter("regions", (const unsigned char *)regions,
++ sizeof(*regions) * region_count)
++ .withUnsignedIntParameter("region_count", region_count)
++ .withOutputParameterReturning("handle", handle, sizeof(*handle))
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_lend(struct sp_memory_descriptor *descriptor,
++ struct sp_memory_access_descriptor acc_desc[],
++ uint32_t acc_desc_count,
++ struct sp_memory_region regions[],
++ uint32_t region_count, uint64_t *handle)
++{
++ return mock()
++ .actualCall("sp_memory_lend")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(*descriptor))
++ .withMemoryBufferParameter("acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc) * acc_desc_count)
++ .withUnsignedIntParameter("acc_desc_count", acc_desc_count)
++ .withMemoryBufferParameter("regions", (const unsigned char *)regions,
++ sizeof(*regions) * region_count)
++ .withUnsignedIntParameter("region_count", region_count)
++ .withOutputParameter("handle", handle)
++ .returnIntValue();
++}
++
++void expect_sp_memory_lend_dynamic(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor acc_desc[],
++ uint32_t acc_desc_count,
++ const struct sp_memory_region regions[],
++ const uint32_t region_count, const uint64_t *handle,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_lend")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(*descriptor))
++ .withMemoryBufferParameter("acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc) * acc_desc_count)
++ .withUnsignedIntParameter("acc_desc_count", acc_desc_count)
++ .withMemoryBufferParameter("regions", (const unsigned char *)regions,
++ sizeof(*regions) * region_count)
++ .withUnsignedIntParameter("region_count", region_count)
++ .withOutputParameterReturning("handle", handle, sizeof(*handle))
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_lend_dynamic(struct sp_memory_descriptor *descriptor,
++ struct sp_memory_access_descriptor acc_desc[],
++ uint32_t acc_desc_count,
++ struct sp_memory_region regions[],
++ uint32_t region_count, uint64_t *handle,
++ struct ffa_mem_transaction_buffer *buffer)
++{
++ if (buffer == NULL) { // LCOV_EXCL_BR_LINE
++ FAIL("ffa_mem_transaction_buffer is NULL"); // LCOV_EXCL_LINE
++ }
++
++ return mock()
++ .actualCall("sp_memory_lend")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(*descriptor))
++ .withMemoryBufferParameter("acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc) * acc_desc_count)
++ .withUnsignedIntParameter("acc_desc_count", acc_desc_count)
++ .withMemoryBufferParameter("regions", (const unsigned char *)regions,
++ sizeof(*regions) * region_count)
++ .withUnsignedIntParameter("region_count", region_count)
++ .withOutputParameter("handle", handle)
++ .returnIntValue();
++}
++
++void expect_sp_memory_lend_dynamic_is_supported(const bool *supported, sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_lend_dynamic_is_supported")
++ .withOutputParameterReturning("supported", supported, sizeof(*supported))
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_lend_dynamic_is_supported(bool *supported)
++{
++ return mock()
++ .actualCall("sp_memory_lend_dynamic_is_supported")
++ .withOutputParameter("supported", supported)
++ .returnIntValue();
++}
++
++void expect_sp_memory_share(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor acc_desc[],
++ uint32_t acc_desc_count,
++ const struct sp_memory_region regions[],
++ uint32_t region_count, const uint64_t *handle,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_share")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(*descriptor))
++ .withMemoryBufferParameter("acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc) * acc_desc_count)
++ .withUnsignedIntParameter("acc_desc_count", acc_desc_count)
++ .withMemoryBufferParameter("regions", (const unsigned char *)regions,
++ sizeof(*regions) * region_count)
++ .withUnsignedIntParameter("region_count", region_count)
++ .withOutputParameterReturning("handle", handle, sizeof(*handle))
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_share(struct sp_memory_descriptor *descriptor,
++ struct sp_memory_access_descriptor acc_desc[],
++ uint32_t acc_desc_count,
++ struct sp_memory_region regions[],
++ uint32_t region_count, uint64_t *handle)
++{
++ return mock()
++ .actualCall("sp_memory_share")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(*descriptor))
++ .withMemoryBufferParameter("acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc) * acc_desc_count)
++ .withUnsignedIntParameter("acc_desc_count", acc_desc_count)
++ .withMemoryBufferParameter("regions", (const unsigned char *)regions,
++ sizeof(*regions) * region_count)
++ .withUnsignedIntParameter("region_count", region_count)
++ .withOutputParameter("handle", handle)
++ .returnIntValue();
++}
++
++void expect_sp_memory_share_dynamic(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor acc_desc[],
++ uint32_t acc_desc_count,
++ const struct sp_memory_region regions[],
++ uint32_t region_count, const uint64_t *handle,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_share_dynamic")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(*descriptor))
++ .withMemoryBufferParameter("acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc) * acc_desc_count)
++ .withUnsignedIntParameter("acc_desc_count", acc_desc_count)
++ .withMemoryBufferParameter("regions", (const unsigned char *)regions,
++ sizeof(*regions) * region_count)
++ .withUnsignedIntParameter("region_count", region_count)
++ .withOutputParameterReturning("handle", handle, sizeof(*handle))
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_share_dynamic(struct sp_memory_descriptor *descriptor,
++ struct sp_memory_access_descriptor acc_desc[],
++ uint32_t acc_desc_count,
++ struct sp_memory_region regions[],
++ uint32_t region_count, uint64_t *handle,
++ struct ffa_mem_transaction_buffer *buffer)
++{
++ if (buffer == NULL) { // LCOV_EXCL_BR_LINE
++ FAIL("ffa_mem_transaction_buffer is NULL"); // LCOV_EXCL_LINE
++ }
++
++ return mock()
++ .actualCall("sp_memory_share_dynamic")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(*descriptor))
++ .withMemoryBufferParameter("acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc) * acc_desc_count)
++ .withUnsignedIntParameter("acc_desc_count", acc_desc_count)
++ .withMemoryBufferParameter("regions", (const unsigned char *)regions,
++ sizeof(*regions) * region_count)
++ .withUnsignedIntParameter("region_count", region_count)
++ .withOutputParameter("handle", handle)
++ .returnIntValue();
++}
++
++void expect_sp_memory_share_dynamic_is_supported(const bool *supported, sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_share_dynamic_is_supported")
++ .withOutputParameterReturning("supported", supported, sizeof(*supported))
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_share_dynamic_is_supported(bool *supported)
++{
++ return mock()
++ .actualCall("sp_memory_share_dynamic_is_supported")
++ .withOutputParameter("supported", supported)
++ .returnIntValue();
++}
++
++void expect_sp_memory_retrieve(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor *req_acc_desc,
++ const struct sp_memory_access_descriptor *resp_acc_desc,
++ const struct sp_memory_region in_regions[],
++ const struct sp_memory_region out_regions[],
++ uint32_t in_region_count,
++ const uint32_t *out_region_count, uint64_t handle,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_retrieve")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(descriptor))
++ .withMemoryBufferParameter("req_acc_desc", (const unsigned char *)req_acc_desc,
++ sizeof(*req_acc_desc))
++ .withOutputParameterReturning("resp_acc_desc",
++ (const unsigned char *)resp_acc_desc,
++ sizeof(*resp_acc_desc))
++ .withMemoryBufferParameter("in_regions", (const unsigned char *)in_regions,
++ sizeof(*in_regions) * in_region_count)
++ .withOutputParameterReturning("out_regions", out_regions,
++ sizeof(*out_regions) * *out_region_count)
++ .withUnsignedIntParameter("in_region_count", in_region_count)
++ .withOutputParameterReturning("out_region_count", out_region_count,
++ sizeof(*out_region_count))
++ .withUnsignedLongIntParameter("handle", handle)
++ .andReturnValue(result);
++
++}
++
++sp_result sp_memory_retrieve(struct sp_memory_descriptor *descriptor,
++ struct sp_memory_access_descriptor *acc_desc,
++ struct sp_memory_region regions[],
++ uint32_t in_region_count,
++ uint32_t *out_region_count, uint64_t handle)
++{
++ return mock()
++ .actualCall("sp_memory_retrieve")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(descriptor))
++ .withMemoryBufferParameter("req_acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc))
++ .withOutputParameter("resp_acc_desc", acc_desc)
++ .withMemoryBufferParameter("in_regions", (const unsigned char *)regions,
++ sizeof(*regions) * in_region_count)
++ .withOutputParameter("out_regions", regions)
++ .withUnsignedIntParameter("in_region_count", in_region_count)
++ .withOutputParameter("out_region_count", out_region_count)
++ .withUnsignedLongIntParameter("handle", handle)
++ .returnIntValue();
++}
++
++void expect_sp_memory_retrieve_dynamic(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor *req_acc_desc,
++ const struct sp_memory_access_descriptor *resp_acc_desc,
++ const struct sp_memory_region in_regions[],
++ const struct sp_memory_region out_regions[],
++ uint32_t in_region_count,
++ const uint32_t *out_region_count, uint64_t handle,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_retrieve")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(descriptor))
++ .withMemoryBufferParameter("req_acc_desc", (const unsigned char *)req_acc_desc,
++ sizeof(*req_acc_desc))
++ .withOutputParameterReturning("resp_acc_desc",
++ (const unsigned char *)resp_acc_desc,
++ sizeof(*resp_acc_desc))
++ .withMemoryBufferParameter("in_regions", (const unsigned char *)in_regions,
++ sizeof(*in_regions) * in_region_count)
++ .withOutputParameterReturning("out_regions", out_regions,
++ sizeof(*out_regions) * *out_region_count)
++ .withUnsignedIntParameter("in_region_count", in_region_count)
++ .withOutputParameterReturning("out_region_count", out_region_count,
++ sizeof(*out_region_count))
++ .withUnsignedLongIntParameter("handle", handle)
++ .andReturnValue(result);
++}
++
++sp_result
++sp_memory_retrieve_dynamic(struct sp_memory_descriptor *descriptor,
++ struct sp_memory_access_descriptor *acc_desc,
++ struct sp_memory_region regions[],
++ uint32_t in_region_count, uint32_t *out_region_count,
++ uint64_t handle,
++ struct ffa_mem_transaction_buffer *buffer)
++{
++ if (buffer == NULL) { // LCOV_EXCL_BR_LINE
++ FAIL("ffa_mem_transaction_buffer is NULL"); // LCOV_EXCL_LINE
++ }
++
++ return mock()
++ .actualCall("sp_memory_retrieve")
++ .withMemoryBufferParameter("descriptor", (const unsigned char *)descriptor,
++ sizeof(descriptor))
++ .withMemoryBufferParameter("req_acc_desc", (const unsigned char *)acc_desc,
++ sizeof(*acc_desc))
++ .withOutputParameter("resp_acc_desc", acc_desc)
++ .withMemoryBufferParameter("in_regions", (const unsigned char *)regions,
++ sizeof(*regions) * in_region_count)
++ .withOutputParameter("out_regions", regions)
++ .withUnsignedIntParameter("in_region_count", in_region_count)
++ .withOutputParameter("out_region_count", out_region_count)
++ .withUnsignedLongIntParameter("handle", handle)
++ .returnIntValue();
++}
++
++void expect_sp_memory_retrieve_dynamic_is_supported(const bool *supported, sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_retrieve_dynamic_is_supported")
++ .withOutputParameterReturning("supported", supported, sizeof(*supported))
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_retrieve_dynamic_is_supported(bool *supported)
++{
++ return mock()
++ .actualCall("sp_memory_retrieve_dynamic_is_supported")
++ .withOutputParameter("supported", supported)
++ .returnIntValue();
++}
++
++void expect_sp_memory_relinquish(uint64_t handle, const uint16_t endpoints[],
++ uint32_t endpoint_count,
++ const struct sp_memory_transaction_flags *flags,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_relinquish")
++ .withUnsignedLongIntParameter("handle", handle)
++ .withMemoryBufferParameter("endpoints", (const unsigned char *)endpoints,
++ sizeof(*endpoints) * endpoint_count)
++ .withMemoryBufferParameter("flags", (const unsigned char *)flags, sizeof(*flags))
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_relinquish(uint64_t handle, const uint16_t endpoints[],
++ uint32_t endpoint_count,
++ struct sp_memory_transaction_flags *flags)
++{
++ return mock()
++ .actualCall("sp_memory_relinquish")
++ .withUnsignedLongIntParameter("handle", handle)
++ .withMemoryBufferParameter("endpoints", (const unsigned char *)endpoints,
++ sizeof(*endpoints) * endpoint_count)
++ .withMemoryBufferParameter("flags", (const unsigned char *)flags, sizeof(*flags))
++ .returnIntValue();
++}
++
++void expect_sp_memory_reclaim(uint64_t handle, uint32_t flags, sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_reclaim")
++ .withUnsignedLongIntParameter("handle", handle)
++ .withUnsignedIntParameter("flags", flags)
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_reclaim(uint64_t handle, uint32_t flags)
++{
++ return mock()
++ .actualCall("sp_memory_reclaim")
++ .withUnsignedLongIntParameter("handle", handle)
++ .withUnsignedIntParameter("flags", flags)
++ .returnIntValue();
++}
++
++void expect_sp_memory_permission_get(const void *base_address, const struct sp_mem_perm *mem_perm,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_permission_set")
++ .withConstPointerParameter("base_address", base_address)
++ .withOutputParameterReturning("mem_perm", mem_perm,
++ sizeof(*mem_perm))
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_permission_get(const void *base_address,
++ struct sp_mem_perm *mem_perm)
++{
++ return mock()
++ .actualCall("sp_memory_permission_set")
++ .withConstPointerParameter("base_address", base_address)
++ .withOutputParameter("mem_perm", mem_perm)
++ .returnIntValue();
++}
++
++void expect_sp_memory_permission_set(const void *base_address, size_t region_size,
++ const struct sp_mem_perm *mem_perm, sp_result result)
++{
++ mock()
++ .expectOneCall("sp_memory_permission_set")
++ .withConstPointerParameter("base_address", base_address)
++ .withUnsignedLongIntParameter("region_size", region_size)
++ .withMemoryBufferParameter("mem_perm", (const unsigned char *)mem_perm,
++ sizeof(*mem_perm))
++ .andReturnValue(result);
++}
++
++sp_result sp_memory_permission_set(const void *base_address, size_t region_size,
++ const struct sp_mem_perm *mem_perm)
++{
++ return mock()
++ .actualCall("sp_memory_permission_set")
++ .withConstPointerParameter("base_address", base_address)
++ .withUnsignedLongIntParameter("region_size", region_size)
++ .withMemoryBufferParameter("mem_perm", (const unsigned char *)mem_perm,
++ sizeof(*mem_perm))
++ .returnIntValue();
++}
+diff --git a/components/messaging/ffa/libsp/mock/mock_sp_memory_management.h b/components/messaging/ffa/libsp/mock/mock_sp_memory_management.h
+new file mode 100644
+index 0000000..458d2af
+--- /dev/null
++++ b/components/messaging/ffa/libsp/mock/mock_sp_memory_management.h
+@@ -0,0 +1,98 @@
++/* SPDX-License-Identifier: BSD-3-Clause */
++/*
++ * Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
++ */
++
++#ifndef LIBSP_MOCK_MOCK_SP_MEMORY_MANAGEMENT_H_
++#define LIBSP_MOCK_MOCK_SP_MEMORY_MANAGEMENT_H_
++
++#include "../include/sp_memory_management.h"
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++void expect_sp_memory_donate(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor *acc_desc,
++ const struct sp_memory_region regions[],
++ uint32_t region_count, const uint64_t *handle,
++ sp_result result);
++
++void expect_sp_memory_donate_dynamic(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor *acc_desc,
++ const struct sp_memory_region regions[],
++ uint32_t region_count, const uint64_t *handle,
++ sp_result result);
++
++void expect_sp_memory_donate_dynamic_is_supported(const bool *supported, sp_result result);
++
++void expect_sp_memory_lend(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor acc_desc[],
++ uint32_t acc_desc_count,
++ const struct sp_memory_region regions[],
++ uint32_t region_count, const uint64_t *handle,
++ sp_result result);
++
++void expect_sp_memory_lend_dynamic(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor acc_desc[],
++ uint32_t acc_desc_count,
++ const struct sp_memory_region regions[],
++ const uint32_t region_count, const uint64_t *handle,
++ sp_result result);
++
++void expect_sp_memory_lend_dynamic_is_supported(const bool *supported, sp_result result);
++
++void expect_sp_memory_share(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor acc_desc[],
++ uint32_t acc_desc_count,
++ const struct sp_memory_region regions[],
++ uint32_t region_count, const uint64_t *handle,
++ sp_result result);
++
++void expect_sp_memory_share_dynamic(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor acc_desc[],
++ uint32_t acc_desc_count,
++ const struct sp_memory_region regions[],
++ uint32_t region_count, const uint64_t *handle,
++ sp_result result);
++
++void expect_sp_memory_share_dynamic_is_supported(const bool *supported, sp_result result);
++
++void expect_sp_memory_retrieve(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor *req_acc_desc,
++ const struct sp_memory_access_descriptor *resp_acc_desc,
++ const struct sp_memory_region in_regions[],
++ const struct sp_memory_region out_regions[],
++ uint32_t in_region_count,
++ const uint32_t *out_region_count, uint64_t handle,
++ sp_result result);
++
++void expect_sp_memory_retrieve_dynamic(const struct sp_memory_descriptor *descriptor,
++ const struct sp_memory_access_descriptor *req_acc_desc,
++ const struct sp_memory_access_descriptor *resp_acc_desc,
++ const struct sp_memory_region in_regions[],
++ const struct sp_memory_region out_regions[],
++ uint32_t in_region_count,
++ const uint32_t *out_region_count, uint64_t handle,
++ sp_result result);
++
++void expect_sp_memory_retrieve_dynamic_is_supported(const bool *supported, sp_result result);
++
++void expect_sp_memory_relinquish(uint64_t handle, const uint16_t endpoints[],
++ uint32_t endpoint_count,
++ const struct sp_memory_transaction_flags *flags,
++ sp_result result);
++
++void expect_sp_memory_reclaim(uint64_t handle, uint32_t flags, sp_result result);
++
++void expect_sp_memory_permission_get(const void *base_address, const struct sp_mem_perm *mem_perm,
++ sp_result result);
++
++void expect_sp_memory_permission_set(const void *base_address, size_t region_size,
++ const struct sp_mem_perm *mem_perm, sp_result result);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* LIBSP_MOCK_MOCK_SP_MEMORY_MANAGEMENT_H_ */
+diff --git a/components/messaging/ffa/libsp/test/test_mock_sp_memory_management.cpp b/components/messaging/ffa/libsp/test/test_mock_sp_memory_management.cpp
+new file mode 100644
+index 0000000..387b50f
+--- /dev/null
++++ b/components/messaging/ffa/libsp/test/test_mock_sp_memory_management.cpp
+@@ -0,0 +1,260 @@
++// SPDX-License-Identifier: BSD-3-Clause
++/*
++ * Copyright (c) 2022, Arm Limited. All rights reserved.
++ */
++
++#include <CppUTestExt/MockSupport.h>
++#include <CppUTest/TestHarness.h>
++#include "mock_sp_memory_management.h"
++#include <stdint.h>
++#include <stdlib.h>
++#include <string.h>
++
++static const struct sp_memory_descriptor expected_descriptor = {
++ .sender_id = 0xfedc,
++ .memory_type = sp_memory_type_normal_memory,
++ .mem_region_attr = {.normal_memory = {
++ .cacheability = sp_cacheability_write_back,
++ .shareability = sp_shareability_inner_shareable
++ }},
++ .flags = {
++ .zero_memory = true,
++ .operation_time_slicing = true,
++ .zero_memory_after_relinquish = true,
++ .transaction_type = sp_memory_transaction_type_relayer_specified,
++ .alignment_hint = 0x2000
++ },
++ .tag = 0x0123456789abcdefULL
++};
++static const struct sp_memory_access_descriptor expected_acc_desc[] = {
++ {
++ .receiver_id = 0xfafa,
++ .instruction_access = sp_instruction_access_executable,
++ .data_access = sp_data_access_read_only
++ }, {
++ .receiver_id = 0xc1ca,
++ .instruction_access = sp_instruction_access_not_executable,
++ .data_access = sp_data_access_read_write
++ }
++};
++static const struct sp_memory_region expected_regions[2] = {
++ {.address = (void *)0x01234567, .page_count = 0x89abcdef},
++ {.address = (void *)0x12345670, .page_count = 0x9abcdef8},
++};
++static const uint64_t expected_handle = 0xabcdef0123456789ULL;
++static const void *expected_address = (const void *)0x234567879;
++static const struct sp_mem_perm expected_mem_perm = {
++ .data_access = sp_mem_perm_data_perm_read_write,
++ .instruction_access = sp_mem_perm_instruction_perm_non_executable,
++};
++
++TEST_GROUP(mock_sp_memory_management)
++{
++ TEST_SETUP()
++ {
++ memset(&descriptor, 0x00, sizeof(descriptor));
++ memset(&acc_desc, 0x00, sizeof(acc_desc));
++ memset(&regions, 0x00, sizeof(regions));
++ handle = 0;
++ supported = false;
++ }
++
++ TEST_TEARDOWN()
++ {
++ mock().checkExpectations();
++ mock().clear();
++ }
++
++ struct sp_memory_descriptor descriptor;
++ struct sp_memory_access_descriptor acc_desc[2];
++ struct sp_memory_region regions[2];
++ uint64_t handle;
++ bool supported;
++ struct ffa_mem_transaction_buffer tr_buffer;
++
++ static const sp_result result = -1;
++};
++
++TEST(mock_sp_memory_management, sp_memory_donate)
++{
++ descriptor = expected_descriptor;
++ acc_desc[0] = expected_acc_desc[0];
++ memcpy(regions, expected_regions, sizeof(regions));
++
++ expect_sp_memory_donate(&expected_descriptor, expected_acc_desc, expected_regions, 2,
++ &expected_handle, result);
++ LONGS_EQUAL(result, sp_memory_donate(&descriptor, acc_desc, regions, 2, &handle));
++
++ UNSIGNED_LONGLONGS_EQUAL(expected_handle, handle);
++}
++
++TEST(mock_sp_memory_management, sp_memory_donate_dynamic)
++{
++ descriptor = expected_descriptor;
++ acc_desc[0] = expected_acc_desc[0];
++ memcpy(regions, expected_regions, sizeof(regions));
++
++ expect_sp_memory_donate_dynamic(&expected_descriptor, expected_acc_desc, expected_regions,
++ 2, &expected_handle, result);
++ LONGS_EQUAL(result, sp_memory_donate_dynamic(&descriptor, acc_desc, regions, 2, &handle,
++ &tr_buffer));
++
++ UNSIGNED_LONGLONGS_EQUAL(expected_handle, handle);
++}
++
++TEST(mock_sp_memory_management, sp_memory_donate_dynamic_is_supported)
++{
++ const bool expected_supported = true;
++ expect_sp_memory_donate_dynamic_is_supported(&expected_supported, result);
++ LONGS_EQUAL(result, sp_memory_donate_dynamic_is_supported(&supported));
++ CHECK_TRUE(supported);
++}
++
++TEST(mock_sp_memory_management, sp_memory_lend)
++{
++ descriptor = expected_descriptor;
++ memcpy(acc_desc, expected_acc_desc, sizeof(acc_desc));
++ memcpy(regions, expected_regions, sizeof(regions));
++
++ expect_sp_memory_lend(&descriptor, acc_desc, 2, regions, 2, &expected_handle, result);
++ LONGS_EQUAL(result, sp_memory_lend(&descriptor, acc_desc, 2, regions, 2, &handle));
++ UNSIGNED_LONGLONGS_EQUAL(expected_handle, handle);
++}
++
++TEST(mock_sp_memory_management, sp_memory_lend_dynamic)
++{
++ descriptor = expected_descriptor;
++ memcpy(acc_desc, expected_acc_desc, sizeof(acc_desc));
++ memcpy(regions, expected_regions, sizeof(regions));
++
++ expect_sp_memory_lend_dynamic(&descriptor, acc_desc, 2, regions, 2, &expected_handle,
++ result);
++ LONGS_EQUAL(result, sp_memory_lend_dynamic(&descriptor, acc_desc, 2, regions, 2, &handle,
++ &tr_buffer));
++ UNSIGNED_LONGLONGS_EQUAL(expected_handle, handle);
++}
++
++TEST(mock_sp_memory_management, sp_memory_lend_dynamic_is_supported)
++{
++ const bool expected_supported = true;
++ expect_sp_memory_lend_dynamic_is_supported(&expected_supported, result);
++ LONGS_EQUAL(result, sp_memory_lend_dynamic_is_supported(&supported));
++ CHECK_TRUE(supported);
++}
++
++TEST(mock_sp_memory_management, sp_memory_share)
++{
++ descriptor = expected_descriptor;
++ memcpy(acc_desc, expected_acc_desc, sizeof(acc_desc));
++ memcpy(regions, expected_regions, sizeof(regions));
++
++ expect_sp_memory_share(&descriptor, acc_desc, 2, regions, 2, &expected_handle, result);
++ LONGS_EQUAL(result, sp_memory_share(&descriptor, acc_desc, 2, regions, 2, &handle));
++ UNSIGNED_LONGLONGS_EQUAL(expected_handle, handle);
++}
++
++TEST(mock_sp_memory_management, sp_memory_share_dynamic)
++{
++ descriptor = expected_descriptor;
++ memcpy(acc_desc, expected_acc_desc, sizeof(acc_desc));
++ memcpy(regions, expected_regions, sizeof(regions));
++
++ expect_sp_memory_share_dynamic(&descriptor, acc_desc, 2, regions, 2, &expected_handle,
++ result);
++ LONGS_EQUAL(result, sp_memory_share_dynamic(&descriptor, acc_desc, 2, regions, 2, &handle,
++ &tr_buffer));
++ UNSIGNED_LONGLONGS_EQUAL(expected_handle, handle);
++}
++
++TEST(mock_sp_memory_management, sp_memory_share_dynamic_is_supported)
++{
++ const bool expected_supported = true;
++ expect_sp_memory_share_dynamic_is_supported(&expected_supported, result);
++ LONGS_EQUAL(result, sp_memory_share_dynamic_is_supported(&supported));
++ CHECK_TRUE(supported);
++}
++
++TEST(mock_sp_memory_management, sp_memory_retrieve)
++{
++ const uint32_t expected_region_count = 1;
++ struct sp_memory_access_descriptor acc_desc = expected_acc_desc[0];
++ struct sp_memory_region region = expected_regions[0];
++ uint32_t out_region_count = 0;
++
++ descriptor = expected_descriptor;
++
++ expect_sp_memory_retrieve(&expected_descriptor, &expected_acc_desc[0],
++ &expected_acc_desc[1], &expected_regions[0],
++ &expected_regions[1], 1, &expected_region_count, expected_handle,
++ result);
++ LONGS_EQUAL(result, sp_memory_retrieve(&descriptor, &acc_desc, &region, 1,
++ &out_region_count, expected_handle));
++ MEMCMP_EQUAL(&acc_desc, &expected_acc_desc[1], sizeof(acc_desc));
++ MEMCMP_EQUAL(&region, &expected_regions[1], sizeof(region));
++ UNSIGNED_LONGS_EQUAL(expected_region_count, out_region_count);
++}
++
++TEST(mock_sp_memory_management, sp_memory_retrieve_dynamic)
++{
++ const uint32_t expected_region_count = 1;
++ struct sp_memory_access_descriptor acc_desc = expected_acc_desc[0];
++ struct sp_memory_region region = expected_regions[0];
++ uint32_t out_region_count = 0;
++
++ descriptor = expected_descriptor;
++
++ expect_sp_memory_retrieve_dynamic(&expected_descriptor, &expected_acc_desc[0],
++ &expected_acc_desc[1], &expected_regions[0],
++ &expected_regions[1], 1, &expected_region_count,
++ expected_handle, result);
++ LONGS_EQUAL(result, sp_memory_retrieve_dynamic(&descriptor, &acc_desc, &region, 1,
++ &out_region_count, expected_handle,
++ &tr_buffer));
++ MEMCMP_EQUAL(&acc_desc, &expected_acc_desc[1], sizeof(acc_desc));
++ MEMCMP_EQUAL(&region, &expected_regions[1], sizeof(region));
++ UNSIGNED_LONGS_EQUAL(expected_region_count, out_region_count);
++}
++
++TEST(mock_sp_memory_management, sp_memory_retrieve_dynamic_is_supported)
++{
++ const bool expected_supported = true;
++ expect_sp_memory_retrieve_dynamic_is_supported(&expected_supported, result);
++ LONGS_EQUAL(result, sp_memory_retrieve_dynamic_is_supported(&supported));
++ CHECK_TRUE(supported);
++}
++
++TEST(mock_sp_memory_management, sp_memory_relinquish)
++{
++ uint16_t endpoints[3] = {1, 2, 3};
++ struct sp_memory_transaction_flags flags = {0}; // TODO: flags
++
++ expect_sp_memory_relinquish(expected_handle, endpoints, 3, &flags, result);
++ LONGS_EQUAL(result, sp_memory_relinquish(expected_handle, endpoints, 3, &flags));
++}
++
++TEST(mock_sp_memory_management, sp_memory_reclaim)
++{
++ uint32_t flags = 0xffffffff;
++
++ expect_sp_memory_reclaim(expected_handle, flags, result);
++ LONGS_EQUAL(result, sp_memory_reclaim(expected_handle, flags));
++}
++
++TEST(mock_sp_memory_management, sp_memory_permission_get)
++{
++ struct sp_mem_perm mem_perm;
++
++ memset(&mem_perm, 0x00, sizeof(mem_perm));
++
++ expect_sp_memory_permission_get(expected_address, &expected_mem_perm, result);
++ LONGS_EQUAL(result, sp_memory_permission_get(expected_address, &mem_perm));
++ MEMCMP_EQUAL(&expected_mem_perm, &mem_perm, sizeof(expected_mem_perm));
++}
++
++TEST(mock_sp_memory_management, sp_memory_permission_set)
++{
++ size_t size = 0x7654;
++
++ expect_sp_memory_permission_set(expected_address, size, &expected_mem_perm, result);
++ LONGS_EQUAL(result, sp_memory_permission_set(expected_address, size, &expected_mem_perm));
++}
+diff --git a/components/messaging/ffa/libsp/tests.cmake b/components/messaging/ffa/libsp/tests.cmake
+index 7b52248..63abb57 100644
+--- a/components/messaging/ffa/libsp/tests.cmake
++++ b/components/messaging/ffa/libsp/tests.cmake
+@@ -134,6 +134,19 @@ unit_test_add_suite(
+ -DARM64
+ )
+
++unit_test_add_suite(
++ NAME libsp_mock_sp_memory_management
++ SOURCES
++ ${CMAKE_CURRENT_LIST_DIR}/test/test_mock_sp_memory_management.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_sp_memory_management.cpp
++ INCLUDE_DIRECTORIES
++ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
++ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
++ COMPILE_DEFINITIONS
++ -DARM64
++)
++
+ unit_test_add_suite(
+ NAME libsp_sp_memory_management_internals
+ SOURCES
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0020-Add-mock-for-libsp-sp_messaging.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0020-Add-mock-for-libsp-sp_messaging.patch
new file mode 100644
index 0000000000..3057051b6b
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0020-Add-mock-for-libsp-sp_messaging.patch
@@ -0,0 +1,284 @@
+From 1e5ce152214e22a7cd9617a5059e42c370351354 Mon Sep 17 00:00:00 2001
+From: Imre Kis <imre.kis@arm.com>
+Date: Fri, 17 Jun 2022 15:40:18 +0200
+Subject: [PATCH 20/24] Add mock for libsp/sp_messaging
+
+Add mock_sp_messaging for mocking sp_messaging part of libsp.
+
+Signed-off-by: Imre Kis <imre.kis@arm.com>
+Change-Id: I87478027c61b41028682b10e2535a7e14cf6922f
+
+Upstream-Status: Pending [In review]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+---
+ .../messaging/ffa/libsp/mock/component.cmake | 1 +
+ .../ffa/libsp/mock/mock_sp_messaging.cpp | 86 +++++++++++++++++++
+ .../ffa/libsp/mock/mock_sp_messaging.h | 39 +++++++++
+ .../mock/test/test_mock_sp_messaging.cpp | 77 +++++++++++++++++
+ components/messaging/ffa/libsp/tests.cmake | 14 +++
+ 5 files changed, 217 insertions(+)
+ create mode 100644 components/messaging/ffa/libsp/mock/mock_sp_messaging.cpp
+ create mode 100644 components/messaging/ffa/libsp/mock/mock_sp_messaging.h
+ create mode 100644 components/messaging/ffa/libsp/mock/test/test_mock_sp_messaging.cpp
+
+diff --git a/components/messaging/ffa/libsp/mock/component.cmake b/components/messaging/ffa/libsp/mock/component.cmake
+index eb0d28c..375cb46 100644
+--- a/components/messaging/ffa/libsp/mock/component.cmake
++++ b/components/messaging/ffa/libsp/mock/component.cmake
+@@ -14,6 +14,7 @@ target_sources(${TGT} PRIVATE
+ "${CMAKE_CURRENT_LIST_DIR}/mock_ffa_internal_api.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/mock_sp_discovery.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/mock_sp_memory_management.cpp"
++ "${CMAKE_CURRENT_LIST_DIR}/mock_sp_messaging.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/mock_sp_rxtx.cpp"
+ )
+
+diff --git a/components/messaging/ffa/libsp/mock/mock_sp_messaging.cpp b/components/messaging/ffa/libsp/mock/mock_sp_messaging.cpp
+new file mode 100644
+index 0000000..522abb3
+--- /dev/null
++++ b/components/messaging/ffa/libsp/mock/mock_sp_messaging.cpp
+@@ -0,0 +1,86 @@
++// SPDX-License-Identifier: BSD-3-Clause
++/*
++ * Copyright (c) 2022, Arm Limited. All rights reserved.
++ */
++
++#include <CppUTestExt/MockSupport.h>
++#include "mock_sp_messaging.h"
++
++void expect_sp_msg_wait(const struct sp_msg *msg, sp_result result)
++{
++ mock()
++ .expectOneCall("sp_msg_wait")
++ .withOutputParameterReturning("msg", msg, sizeof(*msg))
++ .andReturnValue(result);
++}
++
++sp_result sp_msg_wait(struct sp_msg *msg)
++{
++ return mock()
++ .actualCall("sp_msg_wait")
++ .withOutputParameter("msg", msg)
++ .returnIntValue();
++}
++
++void expect_sp_msg_send_direct_req(const struct sp_msg *req,
++ const struct sp_msg *resp,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_msg_send_direct_req")
++ .withMemoryBufferParameter("req", (const unsigned char *)req, sizeof(*req))
++ .withOutputParameterReturning("resp", resp, sizeof(*resp))
++ .andReturnValue(result);
++}
++
++sp_result sp_msg_send_direct_req(const struct sp_msg *req, struct sp_msg *resp)
++{
++ return mock()
++ .actualCall("sp_msg_send_direct_req")
++ .withMemoryBufferParameter("req", (const unsigned char *)req, sizeof(*req))
++ .withOutputParameter("resp", resp)
++ .returnIntValue();
++}
++
++void expect_sp_msg_send_direct_resp(const struct sp_msg *resp,
++ const struct sp_msg *req,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_msg_send_direct_resp")
++ .withMemoryBufferParameter("resp", (const unsigned char *)resp, sizeof(*resp))
++ .withOutputParameterReturning("req", req, sizeof(*req))
++ .andReturnValue(result);
++}
++
++sp_result sp_msg_send_direct_resp(const struct sp_msg *resp,
++ struct sp_msg *req)
++{
++ return mock()
++ .actualCall("sp_msg_send_direct_resp")
++ .withMemoryBufferParameter("resp", (const unsigned char *)resp, sizeof(*resp))
++ .withOutputParameter("req", req)
++ .returnIntValue();
++}
++
++#if FFA_DIRECT_MSG_ROUTING_EXTENSION
++void expect_sp_msg_send_rc_req(const struct sp_msg *req,
++ const struct sp_msg *resp,
++ sp_result result)
++{
++ mock()
++ .expectOneCall("sp_msg_send_rc_req")
++ .withMemoryBufferParameter("req", (const unsigned char *)req, sizeof(*req))
++ .withOutputParameterReturning("resp", resp, sizeof(*resp))
++ .andReturnValue(result);
++}
++
++sp_result sp_msg_send_rc_req(const struct sp_msg *req, struct sp_msg *resp)
++{
++ return mock()
++ .actualCall("sp_msg_send_rc_req")
++ .withMemoryBufferParameter("req", (const unsigned char *)req, sizeof(*req))
++ .withOutputParameter("resp", resp)
++ .returnIntValue();
++}
++#endif /* FFA_DIRECT_MSG_ROUTING_EXTENSION */
+diff --git a/components/messaging/ffa/libsp/mock/mock_sp_messaging.h b/components/messaging/ffa/libsp/mock/mock_sp_messaging.h
+new file mode 100644
+index 0000000..8183012
+--- /dev/null
++++ b/components/messaging/ffa/libsp/mock/mock_sp_messaging.h
+@@ -0,0 +1,39 @@
++/* SPDX-License-Identifier: BSD-3-Clause */
++/*
++ * Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
++ */
++
++#ifndef LIBSP_MOCK_MOCK_SP_MESSAGING_H_
++#define LIBSP_MOCK_MOCK_SP_MESSAGING_H_
++
++#include "../include/sp_messaging.h"
++
++#include <stdint.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++void expect_sp_msg_wait(const struct sp_msg *msg, sp_result result);
++
++
++void expect_sp_msg_send_direct_req(const struct sp_msg *req,
++ const struct sp_msg *resp,
++ sp_result result);
++
++
++void expect_sp_msg_send_direct_resp(const struct sp_msg *resp,
++ const struct sp_msg *req,
++ sp_result result);
++
++#if FFA_DIRECT_MSG_ROUTING_EXTENSION
++void expect_sp_msg_send_rc_req(const struct sp_msg *req,
++ const struct sp_msg *resp,
++ sp_result result);
++#endif /* FFA_DIRECT_MSG_ROUTING_EXTENSION */
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* LIBSP_MOCK_MOCK_SP_MESSAGING_H_ */
+diff --git a/components/messaging/ffa/libsp/mock/test/test_mock_sp_messaging.cpp b/components/messaging/ffa/libsp/mock/test/test_mock_sp_messaging.cpp
+new file mode 100644
+index 0000000..bfc7959
+--- /dev/null
++++ b/components/messaging/ffa/libsp/mock/test/test_mock_sp_messaging.cpp
+@@ -0,0 +1,77 @@
++// SPDX-License-Identifier: BSD-3-Clause
++/*
++ * Copyright (c) 2022, Arm Limited. All rights reserved.
++ */
++
++#include <CppUTestExt/MockSupport.h>
++#include <CppUTest/TestHarness.h>
++#include "mock_sp_messaging.h"
++#include <stdint.h>
++#include <stdlib.h>
++#include <string.h>
++
++static const struct sp_msg expected_req = {
++ .source_id = 0x0123,
++ .destination_id = 0x4567,
++ .args = {0x89abcdef, 0xfedcba98, 0x76543210, 0xabcdef01}
++};
++static const struct sp_msg expected_resp = {
++ .source_id = 0x1234,
++ .destination_id = 0x5678,
++ .args = {0x9abcdef8, 0xedcba98f, 0x65432107, 0xbcdef01a}
++};
++
++TEST_GROUP(mock_sp_messaging)
++{
++ TEST_SETUP()
++ {
++ memset(&req, 0x00, sizeof(req));
++ memset(&resp, 0x00, sizeof(resp));
++ }
++
++ TEST_TEARDOWN()
++ {
++ mock().checkExpectations();
++ mock().clear();
++ }
++
++ struct sp_msg req;
++ struct sp_msg resp;
++ static const sp_result result = -1;
++};
++
++TEST(mock_sp_messaging, sp_msg_wait)
++{
++ expect_sp_msg_wait(&expected_req, result);
++ LONGS_EQUAL(result, sp_msg_wait(&req));
++ MEMCMP_EQUAL(&expected_req, &req, sizeof(expected_req));
++}
++
++TEST(mock_sp_messaging, sp_msg_send_direct_req)
++{
++ req = expected_req;
++
++ expect_sp_msg_send_direct_req(&expected_req, &expected_resp, result);
++ LONGS_EQUAL(result, sp_msg_send_direct_req(&req, &resp));
++ MEMCMP_EQUAL(&expected_resp, &resp, sizeof(expected_resp));
++}
++
++TEST(mock_sp_messaging, sp_msg_send_direct_resp)
++{
++ resp = expected_resp;
++
++ expect_sp_msg_send_direct_resp(&expected_resp, &expected_req, result);
++ LONGS_EQUAL(result, sp_msg_send_direct_resp(&resp, &req));
++ MEMCMP_EQUAL(&expected_req, &req, sizeof(expected_req));
++}
++
++#if FFA_DIRECT_MSG_ROUTING_EXTENSION
++TEST(mock_sp_messaging, sp_msg_send_rc_req)
++{
++ req = expected_req;
++
++ expect_sp_msg_send_rc_req(&expected_req, &expected_resp, result);
++ LONGS_EQUAL(result, sp_msg_send_rc_req(&req, &resp));
++ MEMCMP_EQUAL(&expected_resp, &resp, sizeof(expected_resp));
++}
++#endif /* FFA_DIRECT_MSG_ROUTING_EXTENSION */
+diff --git a/components/messaging/ffa/libsp/tests.cmake b/components/messaging/ffa/libsp/tests.cmake
+index 63abb57..eb0b41e 100644
+--- a/components/messaging/ffa/libsp/tests.cmake
++++ b/components/messaging/ffa/libsp/tests.cmake
+@@ -176,6 +176,20 @@ unit_test_add_suite(
+ -DARM64
+ )
+
++unit_test_add_suite(
++ NAME libsp_mock_sp_messaging
++ SOURCES
++ ${CMAKE_CURRENT_LIST_DIR}/mock/test/test_mock_sp_messaging.cpp
++ ${CMAKE_CURRENT_LIST_DIR}/mock/mock_sp_messaging.cpp
++ INCLUDE_DIRECTORIES
++ ${CMAKE_CURRENT_LIST_DIR}/include/
++ ${CMAKE_CURRENT_LIST_DIR}/mock
++ ${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
++ COMPILE_DEFINITIONS
++ -DARM64
++ -DFFA_DIRECT_MSG_ROUTING_EXTENSION=1
++)
++
+ unit_test_add_suite(
+ NAME libsp_sp_messaging_with_routing_extension
+ SOURCES
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0021-Add-64-bit-direct-message-handling-to-libsp.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0021-Add-64-bit-direct-message-handling-to-libsp.patch
new file mode 100644
index 0000000000..a037c27cc6
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0021-Add-64-bit-direct-message-handling-to-libsp.patch
@@ -0,0 +1,2552 @@
+From a9edc50077d72cdd7e40ba3f03aee974848cd532 Mon Sep 17 00:00:00 2001
+From: Imre Kis <imre.kis@arm.com>
+Date: Tue, 19 Jul 2022 17:38:00 +0200
+Subject: [PATCH 21/24] Add 64 bit direct message handling to libsp
+
+* Change direct message struct to allow 64 bit arguments
+* Add 64 bit direct message req/resp functions to FF-A layer
+* Distinguish 32/64 bit messages on SP layer by field in sp_msg
+* Update tests and mocks
+
+The FF-A direct message response must match the request's 32/64bit mode
+which is the responsibility of the callee and it should be validated by
+the SPMC.
+
+Signed-off-by: Imre Kis <imre.kis@arm.com>
+Change-Id: Ibbd64ca0291dfe142a23471a649a07ba1a036824
+
+Upstream-Status: Pending [In review]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+---
+ components/messaging/ffa/libsp/ffa.c | 84 ++-
+ .../libsp/ffa_direct_msg_routing_extension.c | 28 +-
+ .../messaging/ffa/libsp/include/ffa_api.h | 58 +-
+ .../ffa/libsp/include/ffa_api_defines.h | 5 +
+ .../ffa/libsp/include/ffa_api_types.h | 7 +-
+ .../ffa/libsp/include/sp_messaging.h | 9 +-
+ .../messaging/ffa/libsp/mock/mock_ffa_api.cpp | 100 +++-
+ .../messaging/ffa/libsp/mock/mock_ffa_api.h | 34 +-
+ .../ffa/libsp/mock/test/test_mock_ffa_api.cpp | 50 +-
+ components/messaging/ffa/libsp/sp_messaging.c | 74 ++-
+ .../messaging/ffa/libsp/test/test_ffa_api.cpp | 337 ++++++++++--
+ .../ffa/libsp/test/test_sp_messaging.cpp | 498 ++++++++++--------
+ .../rpc/ffarpc/caller/sp/ffarpc_caller.c | 31 +-
+ .../rpc/ffarpc/endpoint/ffarpc_call_ep.c | 4 +-
+ .../endpoint/sp/mm_communicate_call_ep.c | 16 +-
+ .../smm-gateway/common/smm_gateway_sp.c | 8 +-
+ 16 files changed, 961 insertions(+), 382 deletions(-)
+
+diff --git a/components/messaging/ffa/libsp/ffa.c b/components/messaging/ffa/libsp/ffa.c
+index 374e940..caacc79 100644
+--- a/components/messaging/ffa/libsp/ffa.c
++++ b/components/messaging/ffa/libsp/ffa.c
+@@ -33,11 +33,20 @@ static inline void ffa_unpack_direct_msg(struct ffa_params *svc_result,
+ msg->function_id = svc_result->a0;
+ msg->source_id = (svc_result->a1 >> 16);
+ msg->destination_id = svc_result->a1;
+- msg->args[0] = svc_result->a3;
+- msg->args[1] = svc_result->a4;
+- msg->args[2] = svc_result->a5;
+- msg->args[3] = svc_result->a6;
+- msg->args[4] = svc_result->a7;
++
++ if (FFA_IS_32_BIT_FUNC(msg->function_id)) {
++ msg->args.args32[0] = svc_result->a3;
++ msg->args.args32[1] = svc_result->a4;
++ msg->args.args32[2] = svc_result->a5;
++ msg->args.args32[3] = svc_result->a6;
++ msg->args.args32[4] = svc_result->a7;
++ } else {
++ msg->args.args64[0] = svc_result->a3;
++ msg->args.args64[1] = svc_result->a4;
++ msg->args.args64[2] = svc_result->a5;
++ msg->args.args64[3] = svc_result->a6;
++ msg->args.args64[4] = svc_result->a7;
++ }
+ }
+
+ /*
+@@ -217,7 +226,7 @@ ffa_result ffa_msg_wait(struct ffa_direct_msg *msg)
+
+ if (result.a0 == FFA_ERROR) {
+ return ffa_get_errorcode(&result);
+- } else if (result.a0 == FFA_MSG_SEND_DIRECT_REQ_32) {
++ } else if (FFA_TO_32_BIT_FUNC(result.a0) == FFA_MSG_SEND_DIRECT_REQ_32) {
+ ffa_unpack_direct_msg(&result, msg);
+ } else {
+ assert(result.a0 == FFA_SUCCESS_32);
+@@ -227,13 +236,15 @@ ffa_result ffa_msg_wait(struct ffa_direct_msg *msg)
+ return FFA_OK;
+ }
+
+-ffa_result ffa_msg_send_direct_req(uint16_t source, uint16_t dest, uint32_t a0,
+- uint32_t a1, uint32_t a2, uint32_t a3,
+- uint32_t a4, struct ffa_direct_msg *msg)
++static ffa_result ffa_msg_send_direct_req(uint32_t function_id, uint32_t resp_id,
++ uint16_t source, uint16_t dest,
++ uint64_t a0, uint64_t a1, uint64_t a2,
++ uint64_t a3, uint64_t a4,
++ struct ffa_direct_msg *msg)
+ {
+ struct ffa_params result = {0};
+
+- ffa_svc(FFA_MSG_SEND_DIRECT_REQ_32,
++ ffa_svc(function_id,
+ SHIFT_U32(source, FFA_MSG_SEND_DIRECT_REQ_SOURCE_ID_SHIFT) |
+ dest, FFA_PARAM_MBZ, a0, a1, a2, a3, a4, &result);
+
+@@ -244,7 +255,7 @@ ffa_result ffa_msg_send_direct_req(uint16_t source, uint16_t dest, uint32_t a0,
+
+ if (result.a0 == FFA_ERROR) {
+ return ffa_get_errorcode(&result);
+- } else if (result.a0 == FFA_MSG_SEND_DIRECT_RESP_32) {
++ } else if (result.a0 == resp_id) {
+ ffa_unpack_direct_msg(&result, msg);
+ } else {
+ assert(result.a0 == FFA_SUCCESS_32);
+@@ -254,13 +265,36 @@ ffa_result ffa_msg_send_direct_req(uint16_t source, uint16_t dest, uint32_t a0,
+ return FFA_OK;
+ }
+
+-ffa_result ffa_msg_send_direct_resp(uint16_t source, uint16_t dest, uint32_t a0,
+- uint32_t a1, uint32_t a2, uint32_t a3,
+- uint32_t a4, struct ffa_direct_msg *msg)
++ffa_result ffa_msg_send_direct_req_32(uint16_t source, uint16_t dest,
++ uint32_t a0, uint32_t a1, uint32_t a2,
++ uint32_t a3, uint32_t a4,
++ struct ffa_direct_msg *msg)
++{
++ return ffa_msg_send_direct_req(FFA_MSG_SEND_DIRECT_REQ_32,
++ FFA_MSG_SEND_DIRECT_RESP_32,
++ source, dest, a0, a1, a2, a3, a4, msg);
++}
++
++ffa_result ffa_msg_send_direct_req_64(uint16_t source, uint16_t dest,
++ uint64_t a0, uint64_t a1, uint64_t a2,
++ uint64_t a3, uint64_t a4,
++ struct ffa_direct_msg *msg)
++{
++ return ffa_msg_send_direct_req(FFA_MSG_SEND_DIRECT_REQ_64,
++ FFA_MSG_SEND_DIRECT_RESP_64,
++ source, dest, a0, a1, a2, a3, a4, msg);
++}
++
++static ffa_result ffa_msg_send_direct_resp(uint32_t function_id,
++ uint16_t source, uint16_t dest,
++ uint64_t a0, uint64_t a1,
++ uint64_t a2, uint64_t a3,
++ uint64_t a4,
++ struct ffa_direct_msg *msg)
+ {
+ struct ffa_params result = {0};
+
+- ffa_svc(FFA_MSG_SEND_DIRECT_RESP_32,
++ ffa_svc(function_id,
+ SHIFT_U32(source, FFA_MSG_SEND_DIRECT_RESP_SOURCE_ID_SHIFT) |
+ dest, FFA_PARAM_MBZ, a0, a1, a2, a3, a4, &result);
+
+@@ -271,7 +305,7 @@ ffa_result ffa_msg_send_direct_resp(uint16_t source, uint16_t dest, uint32_t a0,
+
+ if (result.a0 == FFA_ERROR) {
+ return ffa_get_errorcode(&result);
+- } else if (result.a0 == FFA_MSG_SEND_DIRECT_REQ_32) {
++ } else if (FFA_TO_32_BIT_FUNC(result.a0) == FFA_MSG_SEND_DIRECT_REQ_32) {
+ ffa_unpack_direct_msg(&result, msg);
+ } else {
+ assert(result.a0 == FFA_SUCCESS_32);
+@@ -281,6 +315,24 @@ ffa_result ffa_msg_send_direct_resp(uint16_t source, uint16_t dest, uint32_t a0,
+ return FFA_OK;
+ }
+
++ffa_result ffa_msg_send_direct_resp_32(uint16_t source, uint16_t dest,
++ uint32_t a0, uint32_t a1, uint32_t a2,
++ uint32_t a3, uint32_t a4,
++ struct ffa_direct_msg *msg)
++{
++ return ffa_msg_send_direct_resp(FFA_MSG_SEND_DIRECT_RESP_32, source,
++ dest, a0, a1, a2, a3, a4, msg);
++}
++
++ffa_result ffa_msg_send_direct_resp_64(uint16_t source, uint16_t dest,
++ uint64_t a0, uint64_t a1, uint64_t a2,
++ uint64_t a3, uint64_t a4,
++ struct ffa_direct_msg *msg)
++{
++ return ffa_msg_send_direct_resp(FFA_MSG_SEND_DIRECT_RESP_64, source,
++ dest, a0, a1, a2, a3, a4, msg);
++}
++
+ ffa_result ffa_mem_donate(uint32_t total_length, uint32_t fragment_length,
+ void *buffer_address, uint32_t page_count,
+ uint64_t *handle)
+diff --git a/components/messaging/ffa/libsp/ffa_direct_msg_routing_extension.c b/components/messaging/ffa/libsp/ffa_direct_msg_routing_extension.c
+index 6813573..03a372f 100644
+--- a/components/messaging/ffa/libsp/ffa_direct_msg_routing_extension.c
++++ b/components/messaging/ffa/libsp/ffa_direct_msg_routing_extension.c
+@@ -1,6 +1,6 @@
+ // SPDX-License-Identifier: BSD-3-Clause
+ /*
+- * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
++ * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+ */
+
+ #include "ffa_direct_msg_routing_extension.h"
+@@ -20,23 +20,23 @@ static uint16_t callee_id = SP_ID_INVALID;
+
+ static bool is_rc_message(const struct ffa_direct_msg *msg)
+ {
+- return msg->args[0] & FFA_ROUTING_EXT_RC_BIT;
++ return msg->args.args32[0] & FFA_ROUTING_EXT_RC_BIT;
+ }
+
+ static bool is_error_message(const struct ffa_direct_msg *msg)
+ {
+- return msg->args[0] & FFA_ROUTING_EXT_ERROR_BIT;
++ return msg->args.args32[0] & FFA_ROUTING_EXT_ERROR_BIT;
+ }
+
+ static ffa_result get_error_code_from_message(const struct ffa_direct_msg *msg)
+ {
+- return (ffa_result)msg->args[1];
++ return (ffa_result)msg->args.args32[1];
+ }
+
+ static ffa_result send_rc_error_message(struct ffa_direct_msg *req,
+ ffa_result error_code)
+ {
+- return ffa_msg_send_direct_resp(req->destination_id, req->source_id,
++ return ffa_msg_send_direct_resp_32(req->destination_id, req->source_id,
+ (FFA_ROUTING_EXT_ERROR_BIT |
+ FFA_ROUTING_EXT_RC_BIT),
+ error_code, 0, 0, 0, req);
+@@ -45,7 +45,7 @@ static ffa_result send_rc_error_message(struct ffa_direct_msg *req,
+ static ffa_result send_rc_error_message_to_rc_root(struct ffa_direct_msg *resp,
+ ffa_result error_code)
+ {
+- return ffa_msg_send_direct_req(own_id, callee_id,
++ return ffa_msg_send_direct_req_32(own_id, callee_id,
+ (FFA_ROUTING_EXT_RC_BIT |
+ FFA_ROUTING_EXT_ERROR_BIT),
+ error_code, 0, 0, 0, resp);
+@@ -128,10 +128,10 @@ ffa_result ffa_direct_msg_routing_ext_req_post_hook(struct ffa_direct_msg *resp)
+ /* Forwarding RC request towards the root (normal world) */
+ state = forwarding;
+
+- ffa_res = ffa_msg_send_direct_resp(own_id, caller_id,
+- resp->args[0], resp->args[1],
+- resp->args[2], resp->args[3],
+- resp->args[4], &rc_resp);
++ ffa_res = ffa_msg_send_direct_resp_32(own_id, caller_id,
++ resp->args.args32[0], resp->args.args32[1],
++ resp->args.args32[2], resp->args.args32[3],
++ resp->args.args32[4], &rc_resp);
+ if (ffa_res != FFA_OK)
+ goto forward_ffa_error_to_rc_root;
+
+@@ -145,9 +145,9 @@ ffa_result ffa_direct_msg_routing_ext_req_post_hook(struct ffa_direct_msg *resp)
+
+ /* Forwarding RC response towards the RC root. */
+ state = internal;
+- ffa_res = ffa_msg_send_direct_req(
+- own_id, callee_id, rc_resp.args[0], rc_resp.args[1],
+- rc_resp.args[2], rc_resp.args[3], rc_resp.args[4],
++ ffa_res = ffa_msg_send_direct_req_32(
++ own_id, callee_id, rc_resp.args.args32[0], rc_resp.args.args32[1],
++ rc_resp.args.args32[2], rc_resp.args.args32[3], rc_resp.args.args32[4],
+ resp);
+
+ goto break_on_ffa_error;
+@@ -197,7 +197,7 @@ void ffa_direct_msg_routing_ext_resp_error_hook(void)
+
+ void ffa_direct_msg_routing_ext_rc_req_pre_hook(struct ffa_direct_msg *req)
+ {
+- req->args[0] = FFA_ROUTING_EXT_RC_BIT;
++ req->args.args32[0] = FFA_ROUTING_EXT_RC_BIT;
+ state = rc_root;
+ }
+
+diff --git a/components/messaging/ffa/libsp/include/ffa_api.h b/components/messaging/ffa/libsp/include/ffa_api.h
+index ec5cb04..4b7073b 100644
+--- a/components/messaging/ffa/libsp/include/ffa_api.h
++++ b/components/messaging/ffa/libsp/include/ffa_api.h
+@@ -126,8 +126,8 @@ ffa_result ffa_msg_wait(struct ffa_direct_msg *msg);
+ /** Messaging interfaces */
+
+ /**
+- * @brief Sends a partition message in parameter registers as a request and
+- * blocks until the response is available.
++ * @brief Sends a 32 bit partition message in parameter registers as a
++ * request and blocks until the response is available.
+ * @note The ffa_interrupt_handler function can be called during the
+ * execution of this function
+ *
+@@ -138,13 +138,14 @@ ffa_result ffa_msg_wait(struct ffa_direct_msg *msg);
+ *
+ * @return The FF-A error status code
+ */
+-ffa_result ffa_msg_send_direct_req(uint16_t source, uint16_t dest, uint32_t a0,
+- uint32_t a1, uint32_t a2, uint32_t a3,
+- uint32_t a4, struct ffa_direct_msg *msg);
++ffa_result ffa_msg_send_direct_req_32(uint16_t source, uint16_t dest,
++ uint32_t a0, uint32_t a1, uint32_t a2,
++ uint32_t a3, uint32_t a4,
++ struct ffa_direct_msg *msg);
+
+ /**
+- * @brief Sends a partition message in parameter registers as a response
+- * and blocks until the response is available.
++ * @brief Sends a 64 bit partition message in parameter registers as a
++ * request and blocks until the response is available.
+ * @note The ffa_interrupt_handler function can be called during the
+ * execution of this function
+ *
+@@ -155,9 +156,46 @@ ffa_result ffa_msg_send_direct_req(uint16_t source, uint16_t dest, uint32_t a0,
+ *
+ * @return The FF-A error status code
+ */
+-ffa_result ffa_msg_send_direct_resp(uint16_t source, uint16_t dest, uint32_t a0,
+- uint32_t a1, uint32_t a2, uint32_t a3,
+- uint32_t a4, struct ffa_direct_msg *msg);
++ffa_result ffa_msg_send_direct_req_64(uint16_t source, uint16_t dest,
++ uint64_t a0, uint64_t a1, uint64_t a2,
++ uint64_t a3, uint64_t a4,
++ struct ffa_direct_msg *msg);
++
++/**
++ * @brief Sends a 32 bit partition message in parameter registers as a
++ * response and blocks until the response is available.
++ * @note The ffa_interrupt_handler function can be called during the
++ * execution of this function
++ *
++ * @param[in] source Source endpoint ID
++ * @param[in] dest Destination endpoint ID
++ * @param[in] a0,a1,a2,a3,a4 Implementation defined message values
++ * @param[out] msg The response message
++ *
++ * @return The FF-A error status code
++ */
++ffa_result ffa_msg_send_direct_resp_32(uint16_t source, uint16_t dest,
++ uint32_t a0, uint32_t a1, uint32_t a2,
++ uint32_t a3, uint32_t a4,
++ struct ffa_direct_msg *msg);
++
++/**
++ * @brief Sends a 64 bit partition message in parameter registers as a
++ * response and blocks until the response is available.
++ * @note The ffa_interrupt_handler function can be called during the
++ * execution of this function
++ *
++ * @param[in] source Source endpoint ID
++ * @param[in] dest Destination endpoint ID
++ * @param[in] a0,a1,a2,a3,a4 Implementation defined message values
++ * @param[out] msg The response message
++ *
++ * @return The FF-A error status code
++ */
++ffa_result ffa_msg_send_direct_resp_64(uint16_t source, uint16_t dest,
++ uint64_t a0, uint64_t a1, uint64_t a2,
++ uint64_t a3, uint64_t a4,
++ struct ffa_direct_msg *msg);
+
+ /**
+ * Memory management interfaces
+diff --git a/components/messaging/ffa/libsp/include/ffa_api_defines.h b/components/messaging/ffa/libsp/include/ffa_api_defines.h
+index 95bcb0c..163a0cd 100644
+--- a/components/messaging/ffa/libsp/include/ffa_api_defines.h
++++ b/components/messaging/ffa/libsp/include/ffa_api_defines.h
+@@ -58,6 +58,11 @@
+ #define FFA_MEM_PERM_GET UINT32_C(0x84000088)
+ #define FFA_MEM_PERM_SET UINT32_C(0x84000089)
+
++/* Utility macros */
++#define FFA_TO_32_BIT_FUNC(x) ((x) & (~UINT32_C(0x40000000)))
++#define FFA_IS_32_BIT_FUNC(x) (((x) & UINT32_C(0x40000000)) == 0)
++#define FFA_IS_64_BIT_FUNC(x) (((x) & UINT32_C(0x40000000)) != 0)
++
+ /* Special value for MBZ parameters */
+ #define FFA_PARAM_MBZ UINT32_C(0x0)
+
+diff --git a/components/messaging/ffa/libsp/include/ffa_api_types.h b/components/messaging/ffa/libsp/include/ffa_api_types.h
+index 3686e2e..b1be7ac 100644
+--- a/components/messaging/ffa/libsp/include/ffa_api_types.h
++++ b/components/messaging/ffa/libsp/include/ffa_api_types.h
+@@ -1,6 +1,6 @@
+ /* SPDX-License-Identifier: BSD-3-Clause */
+ /*
+- * Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
++ * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+ */
+
+ #ifndef LIBSP_INCLUDE_FFA_API_TYPES_H_
+@@ -80,7 +80,10 @@ struct ffa_direct_msg {
+ uint32_t function_id;
+ uint16_t source_id;
+ uint16_t destination_id;
+- uint32_t args[5];
++ union {
++ uint32_t args32[5];
++ uint64_t args64[5];
++ } args;
+ };
+
+ /**
+diff --git a/components/messaging/ffa/libsp/include/sp_messaging.h b/components/messaging/ffa/libsp/include/sp_messaging.h
+index 4bb45f7..7173a92 100644
+--- a/components/messaging/ffa/libsp/include/sp_messaging.h
++++ b/components/messaging/ffa/libsp/include/sp_messaging.h
+@@ -1,6 +1,6 @@
+ /* SPDX-License-Identifier: BSD-3-Clause */
+ /*
+- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ */
+
+ #ifndef LIBSP_INCLUDE_SP_MESSAGING_H_
+@@ -9,6 +9,7 @@
+ #include "sp_api_defines.h"
+ #include "sp_api_types.h"
+
++#include <stdbool.h>
+ #include <stdint.h>
+
+ #ifdef __cplusplus
+@@ -23,7 +24,11 @@ extern "C" {
+ struct sp_msg {
+ uint16_t source_id;
+ uint16_t destination_id;
+- uint32_t args[SP_MSG_ARG_COUNT];
++ bool is_64bit_message;
++ union {
++ uint32_t args32[SP_MSG_ARG_COUNT];
++ uint64_t args64[SP_MSG_ARG_COUNT];
++ } args;
+ };
+
+ /**
+diff --git a/components/messaging/ffa/libsp/mock/mock_ffa_api.cpp b/components/messaging/ffa/libsp/mock/mock_ffa_api.cpp
+index ceebcbf..a01848c 100644
+--- a/components/messaging/ffa/libsp/mock/mock_ffa_api.cpp
++++ b/components/messaging/ffa/libsp/mock/mock_ffa_api.cpp
+@@ -140,13 +140,13 @@ ffa_result ffa_msg_wait(struct ffa_direct_msg *msg)
+ .returnIntValue();
+ }
+
+-void expect_ffa_msg_send_direct_req(uint16_t source, uint16_t dest, uint32_t a0,
+- uint32_t a1, uint32_t a2, uint32_t a3,
+- uint32_t a4,
+- const struct ffa_direct_msg *msg,
+- ffa_result result)
++void expect_ffa_msg_send_direct_req_32(uint16_t source, uint16_t dest,
++ uint32_t a0, uint32_t a1, uint32_t a2,
++ uint32_t a3, uint32_t a4,
++ const struct ffa_direct_msg *msg,
++ ffa_result result)
+ {
+- mock().expectOneCall("ffa_msg_send_direct_req")
++ mock().expectOneCall("ffa_msg_send_direct_req_32")
+ .withUnsignedIntParameter("source", source)
+ .withUnsignedIntParameter("dest", dest)
+ .withUnsignedIntParameter("a0", a0)
+@@ -158,12 +158,13 @@ void expect_ffa_msg_send_direct_req(uint16_t source, uint16_t dest, uint32_t a0,
+ .andReturnValue(result);
+ }
+
+-ffa_result ffa_msg_send_direct_req(uint16_t source, uint16_t dest, uint32_t a0,
+- uint32_t a1, uint32_t a2, uint32_t a3,
+- uint32_t a4, struct ffa_direct_msg *msg)
++ffa_result ffa_msg_send_direct_req_32(uint16_t source, uint16_t dest,
++ uint32_t a0, uint32_t a1, uint32_t a2,
++ uint32_t a3,uint32_t a4,
++ struct ffa_direct_msg *msg)
+ {
+ return mock()
+- .actualCall("ffa_msg_send_direct_req")
++ .actualCall("ffa_msg_send_direct_req_32")
+ .withUnsignedIntParameter("source", source)
+ .withUnsignedIntParameter("dest", dest)
+ .withUnsignedIntParameter("a0", a0)
+@@ -175,13 +176,49 @@ ffa_result ffa_msg_send_direct_req(uint16_t source, uint16_t dest, uint32_t a0,
+ .returnIntValue();
+ }
+
+-void expect_ffa_msg_send_direct_resp(uint16_t source, uint16_t dest,
++void expect_ffa_msg_send_direct_req_64(uint16_t source, uint16_t dest,
++ uint64_t a0, uint64_t a1, uint64_t a2,
++ uint64_t a3, uint64_t a4,
++ const struct ffa_direct_msg *msg,
++ ffa_result result)
++{
++ mock().expectOneCall("ffa_msg_send_direct_req_64")
++ .withUnsignedIntParameter("source", source)
++ .withUnsignedIntParameter("dest", dest)
++ .withUnsignedLongIntParameter("a0", a0)
++ .withUnsignedLongIntParameter("a1", a1)
++ .withUnsignedLongIntParameter("a2", a2)
++ .withUnsignedLongIntParameter("a3", a3)
++ .withUnsignedLongIntParameter("a4", a4)
++ .withOutputParameterReturning("msg", msg, sizeof(*msg))
++ .andReturnValue(result);
++}
++
++ffa_result ffa_msg_send_direct_req_64(uint16_t source, uint16_t dest,
++ uint64_t a0, uint64_t a1, uint64_t a2,
++ uint64_t a3, uint64_t a4,
++ struct ffa_direct_msg *msg)
++{
++ return mock()
++ .actualCall("ffa_msg_send_direct_req_64")
++ .withUnsignedIntParameter("source", source)
++ .withUnsignedIntParameter("dest", dest)
++ .withUnsignedLongIntParameter("a0", a0)
++ .withUnsignedLongIntParameter("a1", a1)
++ .withUnsignedLongIntParameter("a2", a2)
++ .withUnsignedLongIntParameter("a3", a3)
++ .withUnsignedLongIntParameter("a4", a4)
++ .withOutputParameter("msg", msg)
++ .returnIntValue();
++}
++
++void expect_ffa_msg_send_direct_resp_32(uint16_t source, uint16_t dest,
+ uint32_t a0, uint32_t a1, uint32_t a2,
+ uint32_t a3, uint32_t a4,
+ const struct ffa_direct_msg *msg,
+ ffa_result result)
+ {
+- mock().expectOneCall("ffa_msg_send_direct_resp")
++ mock().expectOneCall("ffa_msg_send_direct_resp_32")
+ .withUnsignedIntParameter("source", source)
+ .withUnsignedIntParameter("dest", dest)
+ .withUnsignedIntParameter("a0", a0)
+@@ -193,12 +230,12 @@ void expect_ffa_msg_send_direct_resp(uint16_t source, uint16_t dest,
+ .andReturnValue(result);
+ }
+
+-ffa_result ffa_msg_send_direct_resp(uint16_t source, uint16_t dest, uint32_t a0,
++ffa_result ffa_msg_send_direct_resp_32(uint16_t source, uint16_t dest, uint32_t a0,
+ uint32_t a1, uint32_t a2, uint32_t a3,
+ uint32_t a4, struct ffa_direct_msg *msg)
+ {
+ return mock()
+- .actualCall("ffa_msg_send_direct_resp")
++ .actualCall("ffa_msg_send_direct_resp_32")
+ .withUnsignedIntParameter("source", source)
+ .withUnsignedIntParameter("dest", dest)
+ .withUnsignedIntParameter("a0", a0)
+@@ -210,6 +247,41 @@ ffa_result ffa_msg_send_direct_resp(uint16_t source, uint16_t dest, uint32_t a0,
+ .returnIntValue();
+ }
+
++void expect_ffa_msg_send_direct_resp_64(uint16_t source, uint16_t dest,
++ uint64_t a0, uint64_t a1, uint64_t a2,
++ uint64_t a3, uint64_t a4,
++ const struct ffa_direct_msg *msg,
++ ffa_result result)
++{
++ mock().expectOneCall("ffa_msg_send_direct_resp_64")
++ .withUnsignedIntParameter("source", source)
++ .withUnsignedIntParameter("dest", dest)
++ .withUnsignedLongIntParameter("a0", a0)
++ .withUnsignedLongIntParameter("a1", a1)
++ .withUnsignedLongIntParameter("a2", a2)
++ .withUnsignedLongIntParameter("a3", a3)
++ .withUnsignedLongIntParameter("a4", a4)
++ .withOutputParameterReturning("msg", msg, sizeof(*msg))
++ .andReturnValue(result);
++}
++
++ffa_result ffa_msg_send_direct_resp_64(uint16_t source, uint16_t dest, uint64_t a0,
++ uint64_t a1, uint64_t a2, uint64_t a3,
++ uint64_t a4, struct ffa_direct_msg *msg)
++{
++ return mock()
++ .actualCall("ffa_msg_send_direct_resp_64")
++ .withUnsignedIntParameter("source", source)
++ .withUnsignedIntParameter("dest", dest)
++ .withUnsignedLongIntParameter("a0", a0)
++ .withUnsignedLongIntParameter("a1", a1)
++ .withUnsignedLongIntParameter("a2", a2)
++ .withUnsignedLongIntParameter("a3", a3)
++ .withUnsignedLongIntParameter("a4", a4)
++ .withOutputParameter("msg", msg)
++ .returnIntValue();
++}
++
+ void expect_ffa_mem_donate(uint32_t total_length, uint32_t fragment_length,
+ void *buffer_address, uint32_t page_count,
+ const uint64_t *handle, ffa_result result)
+diff --git a/components/messaging/ffa/libsp/mock/mock_ffa_api.h b/components/messaging/ffa/libsp/mock/mock_ffa_api.h
+index b1c794f..4213ccb 100644
+--- a/components/messaging/ffa/libsp/mock/mock_ffa_api.h
++++ b/components/messaging/ffa/libsp/mock/mock_ffa_api.h
+@@ -30,17 +30,29 @@ void expect_ffa_id_get(const uint16_t *id, ffa_result result);
+
+ void expect_ffa_msg_wait(const struct ffa_direct_msg *msg, ffa_result result);
+
+-void expect_ffa_msg_send_direct_req(uint16_t source, uint16_t dest, uint32_t a0,
+- uint32_t a1, uint32_t a2, uint32_t a3,
+- uint32_t a4,
+- const struct ffa_direct_msg *msg,
+- ffa_result result);
+-
+-void expect_ffa_msg_send_direct_resp(uint16_t source, uint16_t dest,
+- uint32_t a0, uint32_t a1, uint32_t a2,
+- uint32_t a3, uint32_t a4,
+- const struct ffa_direct_msg *msg,
+- ffa_result result);
++void expect_ffa_msg_send_direct_req_32(uint16_t source, uint16_t dest,
++ uint32_t a0, uint32_t a1, uint32_t a2,
++ uint32_t a3, uint32_t a4,
++ const struct ffa_direct_msg *msg,
++ ffa_result result);
++
++void expect_ffa_msg_send_direct_req_64(uint16_t source, uint16_t dest,
++ uint64_t a0, uint64_t a1, uint64_t a2,
++ uint64_t a3, uint64_t a4,
++ const struct ffa_direct_msg *msg,
++ ffa_result result);
++
++void expect_ffa_msg_send_direct_resp_32(uint16_t source, uint16_t dest,
++ uint32_t a0, uint32_t a1, uint32_t a2,
++ uint32_t a3, uint32_t a4,
++ const struct ffa_direct_msg *msg,
++ ffa_result result);
++
++void expect_ffa_msg_send_direct_resp_64(uint16_t source, uint16_t dest,
++ uint64_t a0, uint64_t a1, uint64_t a2,
++ uint64_t a3, uint64_t a4,
++ const struct ffa_direct_msg *msg,
++ ffa_result result);
+
+ void expect_ffa_mem_donate(uint32_t total_length, uint32_t fragment_length,
+ void *buffer_address, uint32_t page_count,
+diff --git a/components/messaging/ffa/libsp/mock/test/test_mock_ffa_api.cpp b/components/messaging/ffa/libsp/mock/test/test_mock_ffa_api.cpp
+index ab33649..c1cbdd6 100644
+--- a/components/messaging/ffa/libsp/mock/test/test_mock_ffa_api.cpp
++++ b/components/messaging/ffa/libsp/mock/test/test_mock_ffa_api.cpp
+@@ -105,7 +105,7 @@ TEST(mock_ffa_api, ffa_msg_wait)
+ MEMCMP_EQUAL(&expected_msg, &msg, sizeof(expected_msg));
+ }
+
+-TEST(mock_ffa_api, ffa_msg_send_direct_req)
++TEST(mock_ffa_api, ffa_msg_send_direct_req_32)
+ {
+ const uint16_t source = 0x1122;
+ const uint16_t dest = 0x2233;
+@@ -116,13 +116,30 @@ TEST(mock_ffa_api, ffa_msg_send_direct_req)
+ const uint32_t a4 = 0x89124567;
+ struct ffa_direct_msg msg = { 0 };
+
+- expect_ffa_msg_send_direct_req(source, dest, a0, a1, a2, a3, a4,
++ expect_ffa_msg_send_direct_req_32(source, dest, a0, a1, a2, a3, a4,
++ &expected_msg, result);
++ LONGS_EQUAL(result, ffa_msg_send_direct_req_32(source, dest, a0, a1, a2,
++ a3, a4, &msg));
++}
++
++TEST(mock_ffa_api, ffa_msg_send_direct_req_64)
++{
++ const uint16_t source = 0x1122;
++ const uint16_t dest = 0x2233;
++ const uint64_t a0 = 0x4567891221987654;
++ const uint64_t a1 = 0x5678912442198765;
++ const uint64_t a2 = 0x6789124554219876;
++ const uint64_t a3 = 0x7891245665421987;
++ const uint64_t a4 = 0x8912456776542198;
++ struct ffa_direct_msg msg = { 0 };
++
++ expect_ffa_msg_send_direct_req_64(source, dest, a0, a1, a2, a3, a4,
+ &expected_msg, result);
+- LONGS_EQUAL(result, ffa_msg_send_direct_req(source, dest, a0, a1, a2,
+- a3, a4, &msg));
++ LONGS_EQUAL(result, ffa_msg_send_direct_req_64(source, dest, a0, a1, a2,
++ a3, a4, &msg));
+ }
+
+-TEST(mock_ffa_api, ffa_msg_send_direct_resp)
++TEST(mock_ffa_api, ffa_msg_send_direct_resp_32)
+ {
+ const uint16_t source = 0x1122;
+ const uint16_t dest = 0x2233;
+@@ -133,10 +150,27 @@ TEST(mock_ffa_api, ffa_msg_send_direct_resp)
+ const uint32_t a4 = 0x89124567;
+ struct ffa_direct_msg msg = { 0 };
+
+- expect_ffa_msg_send_direct_resp(source, dest, a0, a1, a2, a3, a4,
++ expect_ffa_msg_send_direct_resp_32(source, dest, a0, a1, a2, a3, a4,
+ &expected_msg, result);
+- LONGS_EQUAL(result, ffa_msg_send_direct_resp(source, dest, a0, a1, a2,
+- a3, a4, &msg));
++ LONGS_EQUAL(result, ffa_msg_send_direct_resp_32(source, dest, a0, a1,
++ a2, a3, a4, &msg));
++}
++
++TEST(mock_ffa_api, ffa_msg_send_direct_resp_64)
++{
++ const uint16_t source = 0x1122;
++ const uint16_t dest = 0x2233;
++ const uint64_t a0 = 0x4567891221987654;
++ const uint64_t a1 = 0x5678912442198765;
++ const uint64_t a2 = 0x6789124554219876;
++ const uint64_t a3 = 0x7891245665421987;
++ const uint64_t a4 = 0x8912456776542198;
++ struct ffa_direct_msg msg = { 0 };
++
++ expect_ffa_msg_send_direct_resp_64(source, dest, a0, a1, a2, a3, a4,
++ &expected_msg, result);
++ LONGS_EQUAL(result, ffa_msg_send_direct_resp_64(source, dest, a0, a1,
++ a2, a3, a4, &msg));
+ }
+
+ TEST(mock_ffa_api, ffa_mem_donate)
+diff --git a/components/messaging/ffa/libsp/sp_messaging.c b/components/messaging/ffa/libsp/sp_messaging.c
+index f7223aa..392006b 100644
+--- a/components/messaging/ffa/libsp/sp_messaging.c
++++ b/components/messaging/ffa/libsp/sp_messaging.c
+@@ -1,6 +1,6 @@
+ // SPDX-License-Identifier: BSD-3-Clause
+ /*
+- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ */
+
+ #include "ffa_api.h"
+@@ -20,22 +20,40 @@ static void pack_ffa_direct_msg(const struct sp_msg *msg,
+ ffa_msg->source_id = msg->source_id;
+ ffa_msg->destination_id = msg->destination_id;
+
+- ffa_msg->args[0] = 0;
+- memcpy(&ffa_msg->args[SP_MSG_ARG_OFFSET], msg->args, sizeof(msg->args));
++ ffa_msg->args.args64[0] = 0;
++ if (msg->is_64bit_message)
++ memcpy(&ffa_msg->args.args64[SP_MSG_ARG_OFFSET],
++ msg->args.args64, sizeof(msg->args.args64));
++ else
++ memcpy(&ffa_msg->args.args32[SP_MSG_ARG_OFFSET],
++ msg->args.args32, sizeof(msg->args.args32));
+ }
+
+ static void unpack_ffa_direct_msg(const struct ffa_direct_msg *ffa_msg,
+ struct sp_msg *msg)
+ {
+- if (ffa_msg->function_id != FFA_SUCCESS_32) {
++ if (ffa_msg->function_id == FFA_MSG_SEND_DIRECT_REQ_32 ||
++ ffa_msg->function_id == FFA_MSG_SEND_DIRECT_RESP_32) {
+ /*
+- * Handling request or response (error is handled before call)
++ * Handling 32 bit request or response
+ */
+ msg->source_id = ffa_msg->source_id;
+ msg->destination_id = ffa_msg->destination_id;
++ msg->is_64bit_message = FFA_IS_64_BIT_FUNC(ffa_msg->function_id);
+
+- memcpy(msg->args, &ffa_msg->args[SP_MSG_ARG_OFFSET],
+- sizeof(msg->args));
++ memcpy(msg->args.args32, &ffa_msg->args.args32[SP_MSG_ARG_OFFSET],
++ sizeof(msg->args.args32));
++ } else if (ffa_msg->function_id == FFA_MSG_SEND_DIRECT_REQ_64 ||
++ ffa_msg->function_id == FFA_MSG_SEND_DIRECT_RESP_64) {
++ /*
++ * Handling 64 bit request or response
++ */
++ msg->source_id = ffa_msg->source_id;
++ msg->destination_id = ffa_msg->destination_id;
++ msg->is_64bit_message = FFA_IS_64_BIT_FUNC(ffa_msg->function_id);
++
++ memcpy(msg->args.args64, &ffa_msg->args.args64[SP_MSG_ARG_OFFSET],
++ sizeof(msg->args.args64));
+ } else {
+ /* Success has no message parameters */
+ *msg = (struct sp_msg){ 0 };
+@@ -89,11 +107,18 @@ sp_result sp_msg_send_direct_req(const struct sp_msg *req, struct sp_msg *resp)
+ ffa_direct_msg_routing_ext_req_pre_hook(&ffa_req);
+ #endif
+
+- ffa_res = ffa_msg_send_direct_req(ffa_req.source_id,
+- ffa_req.destination_id,
+- ffa_req.args[0], ffa_req.args[1],
+- ffa_req.args[2], ffa_req.args[3],
+- ffa_req.args[4], &ffa_resp);
++ if (req->is_64bit_message)
++ ffa_res = ffa_msg_send_direct_req_64(
++ ffa_req.source_id, ffa_req.destination_id,
++ ffa_req.args.args64[0], ffa_req.args.args64[1],
++ ffa_req.args.args64[2], ffa_req.args.args64[3],
++ ffa_req.args.args64[4], &ffa_resp);
++ else
++ ffa_res = ffa_msg_send_direct_req_32(
++ ffa_req.source_id, ffa_req.destination_id,
++ ffa_req.args.args32[0], ffa_req.args.args32[1],
++ ffa_req.args.args32[2], ffa_req.args.args32[3],
++ ffa_req.args.args32[4], &ffa_resp);
+
+ if (ffa_res != FFA_OK) {
+ #if FFA_DIRECT_MSG_ROUTING_EXTENSION
+@@ -136,11 +161,18 @@ sp_result sp_msg_send_direct_resp(const struct sp_msg *resp, struct sp_msg *req)
+ ffa_direct_msg_routing_ext_resp_pre_hook(&ffa_resp);
+ #endif
+
+- ffa_res = ffa_msg_send_direct_resp(ffa_resp.source_id,
+- ffa_resp.destination_id,
+- ffa_resp.args[0], ffa_resp.args[1],
+- ffa_resp.args[2], ffa_resp.args[3],
+- ffa_resp.args[4], &ffa_req);
++ if (resp->is_64bit_message)
++ ffa_res = ffa_msg_send_direct_resp_64(
++ ffa_resp.source_id, ffa_resp.destination_id,
++ ffa_resp.args.args64[0], ffa_resp.args.args64[1],
++ ffa_resp.args.args64[2], ffa_resp.args.args64[3],
++ ffa_resp.args.args64[4], &ffa_req);
++ else
++ ffa_res = ffa_msg_send_direct_resp_32(
++ ffa_resp.source_id, ffa_resp.destination_id,
++ ffa_resp.args.args32[0], ffa_resp.args.args32[1],
++ ffa_resp.args.args32[2], ffa_resp.args.args32[3],
++ ffa_resp.args.args32[4], &ffa_req);
+
+ if (ffa_res != FFA_OK) {
+ #if FFA_DIRECT_MSG_ROUTING_EXTENSION
+@@ -182,11 +214,11 @@ sp_result sp_msg_send_rc_req(const struct sp_msg *req, struct sp_msg *resp)
+
+ ffa_direct_msg_routing_ext_rc_req_pre_hook(&ffa_req);
+
+- ffa_res = ffa_msg_send_direct_resp(ffa_req.source_id,
++ ffa_res = ffa_msg_send_direct_resp_32(ffa_req.source_id,
+ ffa_req.destination_id,
+- ffa_req.args[0], ffa_req.args[1],
+- ffa_req.args[2], ffa_req.args[3],
+- ffa_req.args[4], &ffa_resp);
++ ffa_req.args.args32[0], ffa_req.args.args32[1],
++ ffa_req.args.args32[2], ffa_req.args.args32[3],
++ ffa_req.args.args32[4], &ffa_resp);
+
+ if (ffa_res != FFA_OK) {
+ ffa_direct_msg_routing_ext_rc_req_error_hook();
+diff --git a/components/messaging/ffa/libsp/test/test_ffa_api.cpp b/components/messaging/ffa/libsp/test/test_ffa_api.cpp
+index 8fa261e..6cca085 100644
+--- a/components/messaging/ffa/libsp/test/test_ffa_api.cpp
++++ b/components/messaging/ffa/libsp/test/test_ffa_api.cpp
+@@ -43,20 +43,35 @@ TEST_GROUP(ffa_api)
+ svc_result.a2 = (uint32_t)error_code;
+ }
+
+- void msg_equal(uint32_t func_id, uint16_t source_id, uint16_t dest_id,
+- uint32_t arg0, uint32_t arg1, uint32_t arg2,
+- uint32_t arg3, uint32_t arg4)
++ void msg_equal_32(uint32_t func_id, uint16_t source_id, uint16_t dest_id,
++ uint32_t arg0, uint32_t arg1, uint32_t arg2,
++ uint32_t arg3, uint32_t arg4)
+ {
+ UNSIGNED_LONGS_EQUAL(func_id, msg.function_id);
+ UNSIGNED_LONGS_EQUAL(source_id, msg.source_id);
+ UNSIGNED_LONGS_EQUAL(dest_id, msg.destination_id);
+- UNSIGNED_LONGS_EQUAL(arg0, msg.args[0]);
+- UNSIGNED_LONGS_EQUAL(arg1, msg.args[1]);
+- UNSIGNED_LONGS_EQUAL(arg2, msg.args[2]);
+- UNSIGNED_LONGS_EQUAL(arg3, msg.args[3]);
+- UNSIGNED_LONGS_EQUAL(arg4, msg.args[4]);
++ UNSIGNED_LONGS_EQUAL(arg0, msg.args.args32[0]);
++ UNSIGNED_LONGS_EQUAL(arg1, msg.args.args32[1]);
++ UNSIGNED_LONGS_EQUAL(arg2, msg.args.args32[2]);
++ UNSIGNED_LONGS_EQUAL(arg3, msg.args.args32[3]);
++ UNSIGNED_LONGS_EQUAL(arg4, msg.args.args32[4]);
+ }
+
++ void msg_equal_64(uint32_t func_id, uint16_t source_id, uint16_t dest_id,
++ uint64_t arg0, uint64_t arg1, uint64_t arg2,
++ uint64_t arg3, uint64_t arg4)
++ {
++ UNSIGNED_LONGS_EQUAL(func_id, msg.function_id);
++ UNSIGNED_LONGS_EQUAL(source_id, msg.source_id);
++ UNSIGNED_LONGS_EQUAL(dest_id, msg.destination_id);
++ UNSIGNED_LONGLONGS_EQUAL(arg0, msg.args.args64[0]);
++ UNSIGNED_LONGLONGS_EQUAL(arg1, msg.args.args64[1]);
++ UNSIGNED_LONGLONGS_EQUAL(arg2, msg.args.args64[2]);
++ UNSIGNED_LONGLONGS_EQUAL(arg3, msg.args.args64[3]);
++ UNSIGNED_LONGLONGS_EQUAL(arg4, msg.args.args64[4]);
++ }
++
++
+ struct ffa_params svc_result;
+ struct ffa_direct_msg msg;
+ };
+@@ -360,7 +375,7 @@ TEST(ffa_api, ffa_msg_wait_success)
+ expect_ffa_svc(0x8400006B, 0, 0, 0, 0, 0, 0, 0, &svc_result);
+ ffa_result result = ffa_msg_wait(&msg);
+ LONGS_EQUAL(0, result);
+- msg_equal(0x84000061, 0, 0, 0, 0, 0, 0, 0);
++ msg_equal_32(0x84000061, 0, 0, 0, 0, 0, 0, 0);
+ }
+
+ TEST(ffa_api, ffa_msg_wait_error)
+@@ -369,10 +384,10 @@ TEST(ffa_api, ffa_msg_wait_error)
+ expect_ffa_svc(0x8400006B, 0, 0, 0, 0, 0, 0, 0, &svc_result);
+ ffa_result result = ffa_msg_wait(&msg);
+ LONGS_EQUAL(-1, result);
+- msg_equal(0, 0, 0, 0, 0, 0, 0, 0);
++ msg_equal_32(0, 0, 0, 0, 0, 0, 0, 0);
+ }
+
+-TEST(ffa_api, ffa_msg_wait_direct_req)
++TEST(ffa_api, ffa_msg_wait_direct_req_32)
+ {
+ const uint16_t source_id = 0x1122;
+ const uint16_t dest_id = 0x3344;
+@@ -392,7 +407,31 @@ TEST(ffa_api, ffa_msg_wait_direct_req)
+ expect_ffa_svc(0x8400006B, 0, 0, 0, 0, 0, 0, 0, &svc_result);
+ ffa_result result = ffa_msg_wait(&msg);
+ LONGS_EQUAL(0, result);
+- msg_equal(0x8400006F, source_id, dest_id, arg0, arg1, arg2, arg3,
++ msg_equal_32(0x8400006F, source_id, dest_id, arg0, arg1, arg2, arg3,
++ arg4);
++}
++
++TEST(ffa_api, ffa_msg_wait_direct_req_64)
++{
++ const uint16_t source_id = 0x1122;
++ const uint16_t dest_id = 0x3344;
++ const uint64_t arg0 = 0x0123456776543210ULL;
++ const uint64_t arg1 = 0x1234567887654321ULL;
++ const uint64_t arg2 = 0x2345678998765432ULL;
++ const uint64_t arg3 = 0x3456789aa9876543ULL;
++ const uint64_t arg4 = 0x456789abba987654ULL;
++
++ svc_result.a0 = 0xC400006F;
++ svc_result.a1 = ((uint32_t)source_id) << 16 | dest_id;
++ svc_result.a3 = arg0;
++ svc_result.a4 = arg1;
++ svc_result.a5 = arg2;
++ svc_result.a6 = arg3;
++ svc_result.a7 = arg4;
++ expect_ffa_svc(0x8400006B, 0, 0, 0, 0, 0, 0, 0, &svc_result);
++ ffa_result result = ffa_msg_wait(&msg);
++ LONGS_EQUAL(0, result);
++ msg_equal_64(0xC400006F, source_id, dest_id, arg0, arg1, arg2, arg3,
+ arg4);
+ }
+
+@@ -410,7 +449,7 @@ TEST(ffa_api, ffa_msg_wait_one_interrupt_success)
+ expect_ffa_svc(0x8400006B, 0, 0, 0, 0, 0, 0, 0, &svc_result);
+ ffa_result result = ffa_msg_wait(&msg);
+ LONGS_EQUAL(0, result);
+- msg_equal(0x84000061, 0, 0, 0, 0, 0, 0, 0);
++ msg_equal_32(0x84000061, 0, 0, 0, 0, 0, 0, 0);
+ }
+
+ TEST(ffa_api, ffa_msg_wait_two_interrupt_success)
+@@ -434,7 +473,7 @@ TEST(ffa_api, ffa_msg_wait_two_interrupt_success)
+ expect_ffa_svc(0x8400006B, 0, 0, 0, 0, 0, 0, 0, &svc_result);
+ ffa_result result = ffa_msg_wait(&msg);
+ LONGS_EQUAL(0, result);
+- msg_equal(0x84000061, 0, 0, 0, 0, 0, 0, 0);
++ msg_equal_32(0x84000061, 0, 0, 0, 0, 0, 0, 0);
+ }
+
+ TEST(ffa_api, ffa_msg_wait_unknown_response)
+@@ -448,7 +487,7 @@ TEST(ffa_api, ffa_msg_wait_unknown_response)
+ }
+ }
+
+-TEST(ffa_api, ffa_msg_send_direct_req_success)
++TEST(ffa_api, ffa_msg_send_direct_req_32_success)
+ {
+ const uint16_t source_id = 0x1122;
+ const uint16_t dest_id = 0x3344;
+@@ -461,13 +500,13 @@ TEST(ffa_api, ffa_msg_send_direct_req_success)
+ svc_result.a0 = 0x84000061;
+ expect_ffa_svc(0x8400006F, ((uint32_t)source_id << 16) | dest_id, 0,
+ arg0, arg1, arg2, arg3, arg4, &svc_result);
+- ffa_result result = ffa_msg_send_direct_req(
++ ffa_result result = ffa_msg_send_direct_req_32(
+ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
+ LONGS_EQUAL(0, result);
+- msg_equal(0x84000061, 0, 0, 0, 0, 0, 0, 0);
++ msg_equal_32(0x84000061, 0, 0, 0, 0, 0, 0, 0);
+ }
+
+-TEST(ffa_api, ffa_msg_send_direct_req_error)
++TEST(ffa_api, ffa_msg_send_direct_req_32_error)
+ {
+ const uint16_t source_id = 0x1122;
+ const uint16_t dest_id = 0x3344;
+@@ -480,13 +519,48 @@ TEST(ffa_api, ffa_msg_send_direct_req_error)
+ setup_error_response(-1);
+ expect_ffa_svc(0x8400006F, ((uint32_t)source_id << 16) | dest_id, 0,
+ arg0, arg1, arg2, arg3, arg4, &svc_result);
+- ffa_result result = ffa_msg_send_direct_req(
++ ffa_result result = ffa_msg_send_direct_req_32(
+ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
+ LONGS_EQUAL(-1, result);
+- msg_equal(0, 0, 0, 0, 0, 0, 0, 0);
++ msg_equal_32(0, 0, 0, 0, 0, 0, 0, 0);
++}
++
++TEST(ffa_api, ffa_msg_send_direct_req_32_get_resp_64)
++{
++ const uint16_t source_id = 0x1122;
++ const uint16_t dest_id = 0x3344;
++ const uint32_t arg0 = 0x01234567ULL;
++ const uint32_t arg1 = 0x12345678ULL;
++ const uint32_t arg2 = 0x23456789ULL;
++ const uint32_t arg3 = 0x3456789aULL;
++ const uint32_t arg4 = 0x456789abULL;
++ const uint16_t resp_source_id = 0x1221;
++ const uint16_t resp_dest_id = 0x3443;
++ const uint64_t resp_arg0 = 0x9012345665432109ULL;
++ const uint64_t resp_arg1 = 0xa12345677654321aULL;
++ const uint64_t resp_arg2 = 0xb23456788765432bULL;
++ const uint64_t resp_arg3 = 0xc34567899876543cULL;
++ const uint64_t resp_arg4 = 0xd456789aa987654dULL;
++ assert_environment_t assert_env;
++
++ svc_result.a0 = 0xC4000070;
++ svc_result.a1 = ((uint32_t)resp_source_id) << 16 | resp_dest_id;
++ svc_result.a3 = resp_arg0;
++ svc_result.a4 = resp_arg1;
++ svc_result.a5 = resp_arg2;
++ svc_result.a6 = resp_arg3;
++ svc_result.a7 = resp_arg4;
++
++ expect_ffa_svc(0x8400006F, ((uint32_t)source_id << 16) | dest_id, 0,
++ arg0, arg1, arg2, arg3, arg4, &svc_result);
++
++ if (SETUP_ASSERT_ENVIRONMENT(assert_env)) {
++ ffa_msg_send_direct_req_32(source_id, dest_id, arg0, arg1, arg2,
++ arg3, arg4, &msg);
++ }
+ }
+
+-TEST(ffa_api, ffa_msg_send_direct_req_direct_resp)
++TEST(ffa_api, ffa_msg_send_direct_req_32_direct_resp)
+ {
+ const uint16_t source_id = 0x1122;
+ const uint16_t dest_id = 0x3344;
+@@ -512,14 +586,82 @@ TEST(ffa_api, ffa_msg_send_direct_req_direct_resp)
+ svc_result.a7 = resp_arg4;
+ expect_ffa_svc(0x8400006F, ((uint32_t)source_id << 16) | dest_id, 0,
+ arg0, arg1, arg2, arg3, arg4, &svc_result);
+- ffa_result result = ffa_msg_send_direct_req(
++ ffa_result result = ffa_msg_send_direct_req_32(
++ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
++ LONGS_EQUAL(0, result);
++ msg_equal_32(0x84000070, resp_source_id, resp_dest_id, resp_arg0,
++ resp_arg1, resp_arg2, resp_arg3, resp_arg4);
++}
++
++TEST(ffa_api, ffa_msg_send_direct_req_64_success)
++{
++ const uint16_t source_id = 0x1122;
++ const uint16_t dest_id = 0x3344;
++ const uint64_t arg0 = 0x0123456776543210ULL;
++ const uint64_t arg1 = 0x1234567887654321ULL;
++ const uint64_t arg2 = 0x2345678998765432ULL;
++ const uint64_t arg3 = 0x3456789aa9876543ULL;
++ const uint64_t arg4 = 0x456789abba987654ULL;
++ const uint16_t resp_source_id = 0x1221;
++ const uint16_t resp_dest_id = 0x3443;
++ const uint64_t resp_arg0 = 0x9012345665432109ULL;
++ const uint64_t resp_arg1 = 0xa12345677654321aULL;
++ const uint64_t resp_arg2 = 0xb23456788765432bULL;
++ const uint64_t resp_arg3 = 0xc34567899876543cULL;
++ const uint64_t resp_arg4 = 0xd456789aa987654dULL;
++
++ svc_result.a0 = 0xC4000070;
++ svc_result.a1 = ((uint32_t)resp_source_id) << 16 | resp_dest_id;
++ svc_result.a3 = resp_arg0;
++ svc_result.a4 = resp_arg1;
++ svc_result.a5 = resp_arg2;
++ svc_result.a6 = resp_arg3;
++ svc_result.a7 = resp_arg4;
++ expect_ffa_svc(0xC400006F, ((uint32_t)source_id << 16) | dest_id, 0,
++ arg0, arg1, arg2, arg3, arg4, &svc_result);
++ ffa_result result = ffa_msg_send_direct_req_64(
+ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
+ LONGS_EQUAL(0, result);
+- msg_equal(0x84000070, resp_source_id, resp_dest_id, resp_arg0,
++ msg_equal_64(0xC4000070, resp_source_id, resp_dest_id, resp_arg0,
+ resp_arg1, resp_arg2, resp_arg3, resp_arg4);
+ }
+
+-TEST(ffa_api, ffa_msg_send_direct_req_one_interrupt_success)
++TEST(ffa_api, ffa_msg_send_direct_req_64_get_resp_32)
++{
++ const uint16_t source_id = 0x1122;
++ const uint16_t dest_id = 0x3344;
++ const uint64_t arg0 = 0x9012345665432109ULL;
++ const uint64_t arg1 = 0xa12345677654321aULL;
++ const uint64_t arg2 = 0xb23456788765432bULL;
++ const uint64_t arg3 = 0xc34567899876543cULL;
++ const uint64_t arg4 = 0xd456789aa987654dULL;
++ const uint16_t resp_source_id = 0x1221;
++ const uint16_t resp_dest_id = 0x3443;
++ const uint32_t resp_arg0 = 0x01234567ULL;
++ const uint32_t resp_arg1 = 0x12345678ULL;
++ const uint32_t resp_arg2 = 0x23456789ULL;
++ const uint32_t resp_arg3 = 0x3456789aULL;
++ const uint32_t resp_arg4 = 0x456789abULL;
++ assert_environment_t assert_env;
++
++ svc_result.a0 = 0x84000070;
++ svc_result.a1 = ((uint32_t)resp_source_id) << 16 | resp_dest_id;
++ svc_result.a3 = resp_arg0;
++ svc_result.a4 = resp_arg1;
++ svc_result.a5 = resp_arg2;
++ svc_result.a6 = resp_arg3;
++ svc_result.a7 = resp_arg4;
++
++ expect_ffa_svc(0xC400006F, ((uint32_t)source_id << 16) | dest_id, 0,
++ arg0, arg1, arg2, arg3, arg4, &svc_result);
++
++ if (SETUP_ASSERT_ENVIRONMENT(assert_env)) {
++ ffa_msg_send_direct_req_64(source_id, dest_id, arg0, arg1, arg2,
++ arg3, arg4, &msg);
++ }
++}
++
++TEST(ffa_api, ffa_msg_send_direct_req_32_one_interrupt_success)
+ {
+ const uint16_t source_id = 0x1122;
+ const uint16_t dest_id = 0x3344;
+@@ -539,13 +681,13 @@ TEST(ffa_api, ffa_msg_send_direct_req_one_interrupt_success)
+
+ svc_result.a0 = 0x84000061;
+ expect_ffa_svc(0x8400006B, 0, 0, 0, 0, 0, 0, 0, &svc_result);
+- ffa_result result = ffa_msg_send_direct_req(
++ ffa_result result = ffa_msg_send_direct_req_32(
+ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
+ LONGS_EQUAL(0, result);
+- msg_equal(0x84000061, 0, 0, 0, 0, 0, 0, 0);
++ msg_equal_32(0x84000061, 0, 0, 0, 0, 0, 0, 0);
+ }
+
+-TEST(ffa_api, ffa_msg_send_direct_req_two_interrupt_success)
++TEST(ffa_api, ffa_msg_send_direct_req_32_two_interrupt_success)
+ {
+ const uint16_t source_id = 0x1122;
+ const uint16_t dest_id = 0x3344;
+@@ -573,13 +715,13 @@ TEST(ffa_api, ffa_msg_send_direct_req_two_interrupt_success)
+
+ svc_result.a0 = 0x84000061;
+ expect_ffa_svc(0x8400006B, 0, 0, 0, 0, 0, 0, 0, &svc_result);
+- ffa_result result = ffa_msg_send_direct_req(
++ ffa_result result = ffa_msg_send_direct_req_32(
+ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
+ LONGS_EQUAL(0, result);
+- msg_equal(0x84000061, 0, 0, 0, 0, 0, 0, 0);
++ msg_equal_32(0x84000061, 0, 0, 0, 0, 0, 0, 0);
+ }
+
+-TEST(ffa_api, ffa_msg_send_direct_req_unknown_response)
++TEST(ffa_api, ffa_msg_send_direct_req_32_unknown_response)
+ {
+ const uint16_t source_id = 0x1122;
+ const uint16_t dest_id = 0x3344;
+@@ -594,12 +736,12 @@ TEST(ffa_api, ffa_msg_send_direct_req_unknown_response)
+ expect_ffa_svc(0x8400006F, ((uint32_t)source_id << 16) | dest_id, 0,
+ arg0, arg1, arg2, arg3, arg4, &svc_result);
+ if (SETUP_ASSERT_ENVIRONMENT(assert_env)) {
+- ffa_msg_send_direct_req(source_id, dest_id, arg0, arg1, arg2,
++ ffa_msg_send_direct_req_32(source_id, dest_id, arg0, arg1, arg2,
+ arg3, arg4, &msg);
+ }
+ }
+
+-TEST(ffa_api, ffa_msg_send_direct_resp_success)
++TEST(ffa_api, ffa_msg_send_direct_resp_32_success)
+ {
+ const uint16_t source_id = 0x1122;
+ const uint16_t dest_id = 0x3344;
+@@ -612,13 +754,13 @@ TEST(ffa_api, ffa_msg_send_direct_resp_success)
+ svc_result.a0 = 0x84000061;
+ expect_ffa_svc(0x84000070, ((uint32_t)source_id << 16) | dest_id, 0,
+ arg0, arg1, arg2, arg3, arg4, &svc_result);
+- ffa_result result = ffa_msg_send_direct_resp(
++ ffa_result result = ffa_msg_send_direct_resp_32(
+ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
+ LONGS_EQUAL(0, result);
+- msg_equal(0x84000061, 0, 0, 0, 0, 0, 0, 0);
++ msg_equal_32(0x84000061, 0, 0, 0, 0, 0, 0, 0);
+ }
+
+-TEST(ffa_api, ffa_msg_send_direct_resp_error)
++TEST(ffa_api, ffa_msg_send_direct_resp_32_error)
+ {
+ const uint16_t source_id = 0x1122;
+ const uint16_t dest_id = 0x3344;
+@@ -631,13 +773,13 @@ TEST(ffa_api, ffa_msg_send_direct_resp_error)
+ setup_error_response(-1);
+ expect_ffa_svc(0x84000070, ((uint32_t)source_id << 16) | dest_id, 0,
+ arg0, arg1, arg2, arg3, arg4, &svc_result);
+- ffa_result result = ffa_msg_send_direct_resp(
++ ffa_result result = ffa_msg_send_direct_resp_32(
+ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
+ LONGS_EQUAL(-1, result);
+- msg_equal(0, 0, 0, 0, 0, 0, 0, 0);
++ msg_equal_32(0, 0, 0, 0, 0, 0, 0, 0);
+ }
+
+-TEST(ffa_api, ffa_msg_send_direct_resp_then_get_direct_req_as_response)
++TEST(ffa_api, ffa_msg_send_direct_resp_32_then_get_direct_req_32_as_response)
+ {
+ const uint16_t source_id = 0x1122;
+ const uint16_t dest_id = 0x3344;
+@@ -663,14 +805,113 @@ TEST(ffa_api, ffa_msg_send_direct_resp_then_get_direct_req_as_response)
+ svc_result.a7 = resp_arg4;
+ expect_ffa_svc(0x84000070, ((uint32_t)source_id << 16) | dest_id, 0,
+ arg0, arg1, arg2, arg3, arg4, &svc_result);
+- ffa_result result = ffa_msg_send_direct_resp(
++ ffa_result result = ffa_msg_send_direct_resp_32(
++ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
++ LONGS_EQUAL(0, result);
++ msg_equal_32(0x8400006F, resp_source_id, resp_dest_id, resp_arg0,
++ resp_arg1, resp_arg2, resp_arg3, resp_arg4);
++}
++
++TEST(ffa_api, ffa_msg_send_direct_resp_32_then_get_direct_req_64_as_response)
++{
++ const uint16_t source_id = 0x1122;
++ const uint16_t dest_id = 0x3344;
++ const uint32_t arg0 = 0x01234567ULL;
++ const uint32_t arg1 = 0x12345678ULL;
++ const uint32_t arg2 = 0x23456789ULL;
++ const uint32_t arg3 = 0x3456789aULL;
++ const uint32_t arg4 = 0x456789abULL;
++ const uint16_t resp_source_id = 0x1221;
++ const uint16_t resp_dest_id = 0x3443;
++ const uint64_t resp_arg0 = 0x9012345665432109ULL;
++ const uint64_t resp_arg1 = 0xa12345677654321aULL;
++ const uint64_t resp_arg2 = 0xb23456788765432bULL;
++ const uint64_t resp_arg3 = 0xc34567899876543cULL;
++ const uint64_t resp_arg4 = 0xd456789aa987654dULL;
++
++ svc_result.a0 = 0xC400006F;
++ svc_result.a1 = ((uint32_t)resp_source_id) << 16 | resp_dest_id;
++ svc_result.a3 = resp_arg0;
++ svc_result.a4 = resp_arg1;
++ svc_result.a5 = resp_arg2;
++ svc_result.a6 = resp_arg3;
++ svc_result.a7 = resp_arg4;
++ expect_ffa_svc(0x84000070, ((uint32_t)source_id << 16) | dest_id, 0,
++ arg0, arg1, arg2, arg3, arg4, &svc_result);
++ ffa_result result = ffa_msg_send_direct_resp_32(
++ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
++ LONGS_EQUAL(0, result);
++ msg_equal_64(0xC400006F, resp_source_id, resp_dest_id, resp_arg0,
++ resp_arg1, resp_arg2, resp_arg3, resp_arg4);
++}
++
++TEST(ffa_api, ffa_msg_send_direct_resp_64_then_get_direct_req_32_as_response)
++{
++ const uint16_t source_id = 0x1122;
++ const uint16_t dest_id = 0x3344;
++ const uint64_t arg0 = 0x9012345665432109ULL;
++ const uint64_t arg1 = 0xa12345677654321aULL;
++ const uint64_t arg2 = 0xb23456788765432bULL;
++ const uint64_t arg3 = 0xc34567899876543cULL;
++ const uint64_t arg4 = 0xd456789aa987654dULL;
++ const uint16_t resp_source_id = 0x1221;
++ const uint16_t resp_dest_id = 0x3443;
++ const uint32_t resp_arg0 = 0x01234567ULL;
++ const uint32_t resp_arg1 = 0x12345678ULL;
++ const uint32_t resp_arg2 = 0x23456789ULL;
++ const uint32_t resp_arg3 = 0x3456789aULL;
++ const uint32_t resp_arg4 = 0x456789abULL;
++
++ svc_result.a0 = 0x8400006F;
++ svc_result.a1 = ((uint32_t)resp_source_id) << 16 | resp_dest_id;
++ svc_result.a3 = resp_arg0;
++ svc_result.a4 = resp_arg1;
++ svc_result.a5 = resp_arg2;
++ svc_result.a6 = resp_arg3;
++ svc_result.a7 = resp_arg4;
++ expect_ffa_svc(0xC4000070, ((uint32_t)source_id << 16) | dest_id, 0,
++ arg0, arg1, arg2, arg3, arg4, &svc_result);
++ ffa_result result = ffa_msg_send_direct_resp_64(
++ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
++ LONGS_EQUAL(0, result);
++ msg_equal_32(0x8400006F, resp_source_id, resp_dest_id, resp_arg0,
++ resp_arg1, resp_arg2, resp_arg3, resp_arg4);
++}
++
++TEST(ffa_api, ffa_msg_send_direct_resp_64_then_get_direct_req_64_as_response)
++{
++ const uint16_t source_id = 0x1122;
++ const uint16_t dest_id = 0x3344;
++ const uint64_t arg0 = 0x0123456776543210ULL;
++ const uint64_t arg1 = 0x1234567887654321ULL;
++ const uint64_t arg2 = 0x2345678998765432ULL;
++ const uint64_t arg3 = 0x3456789aa9876543ULL;
++ const uint64_t arg4 = 0x456789abba987654ULL;
++ const uint16_t resp_source_id = 0x1221;
++ const uint16_t resp_dest_id = 0x3443;
++ const uint64_t resp_arg0 = 0x9012345665432109ULL;
++ const uint64_t resp_arg1 = 0xa12345677654321aULL;
++ const uint64_t resp_arg2 = 0xb23456788765432bULL;
++ const uint64_t resp_arg3 = 0xc34567899876543cULL;
++ const uint64_t resp_arg4 = 0xd456789aa987654dULL;
++
++ svc_result.a0 = 0xC400006F;
++ svc_result.a1 = ((uint32_t)resp_source_id) << 16 | resp_dest_id;
++ svc_result.a3 = resp_arg0;
++ svc_result.a4 = resp_arg1;
++ svc_result.a5 = resp_arg2;
++ svc_result.a6 = resp_arg3;
++ svc_result.a7 = resp_arg4;
++ expect_ffa_svc(0xC4000070, ((uint32_t)source_id << 16) | dest_id, 0,
++ arg0, arg1, arg2, arg3, arg4, &svc_result);
++ ffa_result result = ffa_msg_send_direct_resp_64(
+ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
+ LONGS_EQUAL(0, result);
+- msg_equal(0x8400006F, resp_source_id, resp_dest_id, resp_arg0,
++ msg_equal_64(0xC400006F, resp_source_id, resp_dest_id, resp_arg0,
+ resp_arg1, resp_arg2, resp_arg3, resp_arg4);
+ }
+
+-TEST(ffa_api, ffa_msg_send_direct_resp_one_interrupt_success)
++TEST(ffa_api, ffa_msg_send_direct_resp_32_one_interrupt_success)
+ {
+ const uint16_t source_id = 0x1122;
+ const uint16_t dest_id = 0x3344;
+@@ -690,13 +931,13 @@ TEST(ffa_api, ffa_msg_send_direct_resp_one_interrupt_success)
+
+ svc_result.a0 = 0x84000061;
+ expect_ffa_svc(0x8400006B, 0, 0, 0, 0, 0, 0, 0, &svc_result);
+- ffa_result result = ffa_msg_send_direct_resp(
++ ffa_result result = ffa_msg_send_direct_resp_32(
+ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
+ LONGS_EQUAL(0, result);
+- msg_equal(0x84000061, 0, 0, 0, 0, 0, 0, 0);
++ msg_equal_32(0x84000061, 0, 0, 0, 0, 0, 0, 0);
+ }
+
+-TEST(ffa_api, ffa_msg_send_direct_resp_two_interrupt_success)
++TEST(ffa_api, ffa_msg_send_direct_resp_32_two_interrupt_success)
+ {
+ const uint16_t source_id = 0x1122;
+ const uint16_t dest_id = 0x3344;
+@@ -724,13 +965,13 @@ TEST(ffa_api, ffa_msg_send_direct_resp_two_interrupt_success)
+
+ svc_result.a0 = 0x84000061;
+ expect_ffa_svc(0x8400006B, 0, 0, 0, 0, 0, 0, 0, &svc_result);
+- ffa_result result = ffa_msg_send_direct_resp(
++ ffa_result result = ffa_msg_send_direct_resp_32(
+ source_id, dest_id, arg0, arg1, arg2, arg3, arg4, &msg);
+ LONGS_EQUAL(0, result);
+- msg_equal(0x84000061, 0, 0, 0, 0, 0, 0, 0);
++ msg_equal_32(0x84000061, 0, 0, 0, 0, 0, 0, 0);
+ }
+
+-TEST(ffa_api, ffa_msg_send_direct_resp_unknown_response)
++TEST(ffa_api, ffa_msg_send_direct_resp_32_unknown_response)
+ {
+ const uint16_t source_id = 0x1122;
+ const uint16_t dest_id = 0x3344;
+@@ -745,7 +986,7 @@ TEST(ffa_api, ffa_msg_send_direct_resp_unknown_response)
+ expect_ffa_svc(0x84000070, ((uint32_t)source_id << 16) | dest_id, 0,
+ arg0, arg1, arg2, arg3, arg4, &svc_result);
+ if (SETUP_ASSERT_ENVIRONMENT(assert_env)) {
+- ffa_msg_send_direct_resp(source_id, dest_id, arg0, arg1, arg2,
++ ffa_msg_send_direct_resp_32(source_id, dest_id, arg0, arg1, arg2,
+ arg3, arg4, &msg);
+ }
+ }
+diff --git a/components/messaging/ffa/libsp/test/test_sp_messaging.cpp b/components/messaging/ffa/libsp/test/test_sp_messaging.cpp
+index 78bf8bf..786f66e 100644
+--- a/components/messaging/ffa/libsp/test/test_sp_messaging.cpp
++++ b/components/messaging/ffa/libsp/test/test_sp_messaging.cpp
+@@ -1,6 +1,6 @@
+ // SPDX-License-Identifier: BSD-3-Clause
+ /*
+- * Copyright (c) 2021, Arm Limited. All rights reserved.
++ * Copyright (c) 2021-2022, Arm Limited. All rights reserved.
+ */
+
+ #include <CppUTest/TestHarness.h>
+@@ -32,7 +32,7 @@ TEST_GROUP(sp_messaging)
+ mock().clear();
+ }
+
+- void copy_sp_to_ffa_args(const uint32_t sp_args[], uint32_t ffa_args[])
++ void copy_sp_to_ffa_args_32(const uint32_t sp_args[], uint32_t ffa_args[])
+ {
+ int i = 0;
+
+@@ -41,7 +41,16 @@ TEST_GROUP(sp_messaging)
+ }
+ }
+
+- void fill_ffa_msg(struct ffa_direct_msg * msg)
++ void copy_sp_to_ffa_args_64(const uint64_t sp_args[], uint64_t ffa_args[])
++ {
++ int i = 0;
++
++ for (i = 0; i < SP_MSG_ARG_COUNT; i++) {
++ ffa_args[i + SP_MSG_ARG_OFFSET] = sp_args[i];
++ }
++ }
++
++ void fill_ffa_msg_32(struct ffa_direct_msg * msg)
+ {
+ int i = 0;
+
+@@ -49,20 +58,47 @@ TEST_GROUP(sp_messaging)
+ msg->source_id = source_id;
+ msg->destination_id = dest_id;
+
+- msg->args[0] = 0;
++ msg->args.args32[0] = 0;
+ for (i = 0; i < SP_MSG_ARG_COUNT; i++) {
+- msg->args[i + SP_MSG_ARG_OFFSET] = args[i];
++ msg->args.args32[i + SP_MSG_ARG_OFFSET] = args32[i];
+ }
+ }
+
+- void fill_sp_msg(struct sp_msg * msg)
++ void fill_ffa_msg_64(struct ffa_direct_msg * msg)
+ {
+ int i = 0;
+
++ msg->function_id = FFA_MSG_SEND_DIRECT_REQ_64;
+ msg->source_id = source_id;
+ msg->destination_id = dest_id;
++
++ msg->args.args64[0] = 0;
+ for (i = 0; i < SP_MSG_ARG_COUNT; i++) {
+- msg->args[i] = args[i + SP_MSG_ARG_OFFSET];
++ msg->args.args64[i + SP_MSG_ARG_OFFSET] = args64[i];
++ }
++ }
++
++ void fill_sp_msg_32(struct sp_msg * msg)
++ {
++ int i = 0;
++
++ msg->source_id = source_id;
++ msg->destination_id = dest_id;
++ msg->is_64bit_message = false;
++ for (i = 0; i < SP_MSG_ARG_COUNT; i++) {
++ msg->args.args32[i] = args32[i + SP_MSG_ARG_OFFSET];
++ }
++ }
++
++ void fill_sp_msg_64(struct sp_msg * msg)
++ {
++ int i = 0;
++
++ msg->source_id = source_id;
++ msg->destination_id = dest_id;
++ msg->is_64bit_message = true;
++ for (i = 0; i < SP_MSG_ARG_COUNT; i++) {
++ msg->args.args64[i] = args64[i + SP_MSG_ARG_OFFSET];
+ }
+ }
+
+@@ -74,10 +110,19 @@ TEST_GROUP(sp_messaging)
+ UNSIGNED_LONGS_EQUAL(ffa_msg->source_id, sp_msg->source_id);
+ UNSIGNED_LONGS_EQUAL(ffa_msg->destination_id,
+ sp_msg->destination_id);
+- for (i = 0; i < SP_MSG_ARG_COUNT; i++) {
+- UNSIGNED_LONGS_EQUAL(
+- ffa_msg->args[i + SP_MSG_ARG_OFFSET],
+- sp_msg->args[i]);
++ CHECK_EQUAL(FFA_IS_64_BIT_FUNC(ffa_msg->function_id), sp_msg->is_64bit_message);
++ if (sp_msg->is_64bit_message) {
++ for (i = 0; i < SP_MSG_ARG_COUNT; i++) {
++ UNSIGNED_LONGS_EQUAL(
++ ffa_msg->args.args64[i + SP_MSG_ARG_OFFSET],
++ sp_msg->args.args64[i]);
++ }
++ } else {
++ for (i = 0; i < SP_MSG_ARG_COUNT; i++) {
++ UNSIGNED_LONGS_EQUAL(
++ ffa_msg->args.args32[i + SP_MSG_ARG_OFFSET],
++ sp_msg->args.args32[i]);
++ }
+ }
+ }
+
+@@ -87,7 +132,7 @@ TEST_GROUP(sp_messaging)
+ struct ffa_direct_msg expected_ffa_req = { 0 };
+ struct sp_msg req = { 0 };
+
+- fill_ffa_msg(&expected_ffa_req);
++ fill_ffa_msg_32(&expected_ffa_req);
+ expected_ffa_req.source_id = source_id;
+ expected_ffa_req.destination_id = dest_id;
+ expect_ffa_msg_wait(&expected_ffa_req, FFA_OK);
+@@ -103,8 +148,10 @@ TEST_GROUP(sp_messaging)
+
+ const uint16_t source_id = 0x1234;
+ const uint16_t dest_id = 0x5678;
+- const uint32_t args[SP_MSG_ARG_COUNT] = { 0x01234567, 0x12345678,
+- 0x23456789, 0x3456789a };
++ const uint32_t args32[SP_MSG_ARG_COUNT] = { 0x01234567, 0x12345678,
++ 0x23456789, 0x3456789a };
++ const uint64_t args64[SP_MSG_ARG_COUNT] = { 0x0123456776543210, 0x1234567887654321,
++ 0x2345678998765432, 0x3456789aa9876543 };
+ const sp_result result = -1;
+ const sp_msg empty_sp_msg = (const sp_msg){ 0 };
+ };
+@@ -126,7 +173,7 @@ TEST(sp_messaging, sp_msg_wait_ffa_error)
+
+ TEST(sp_messaging, sp_msg_wait)
+ {
+- fill_ffa_msg(&ffa_msg);
++ fill_ffa_msg_32(&ffa_msg);
+ expect_ffa_msg_wait(&ffa_msg, FFA_OK);
+
+ LONGS_EQUAL(SP_RESULT_OK, sp_msg_wait(&req));
+@@ -139,12 +186,12 @@ TEST(sp_messaging, sp_msg_wait_deny_rc_failure)
+ struct ffa_direct_msg rc_msg = { 0 };
+ ffa_result result = FFA_ABORTED;
+
+- fill_ffa_msg(&rc_msg);
+- rc_msg.args[0] = ROUTING_EXT_RC_BIT;
++ fill_ffa_msg_32(&rc_msg);
++ rc_msg.args.args32[0] = ROUTING_EXT_RC_BIT;
+ expect_ffa_msg_wait(&rc_msg, FFA_OK);
+
+- fill_ffa_msg(&ffa_msg);
+- expect_ffa_msg_send_direct_resp(
++ fill_ffa_msg_32(&ffa_msg);
++ expect_ffa_msg_send_direct_resp_32(
+ rc_msg.destination_id, rc_msg.source_id,
+ ROUTING_EXT_RC_BIT | ROUTING_EXT_ERR_BIT,
+ SP_RESULT_FFA(FFA_DENIED), 0, 0, 0, &ffa_msg, result);
+@@ -157,12 +204,12 @@ TEST(sp_messaging, sp_msg_wait_deny_rc)
+ {
+ struct ffa_direct_msg rc_msg = { 0 };
+
+- fill_ffa_msg(&rc_msg);
+- rc_msg.args[0] = ROUTING_EXT_RC_BIT;
++ fill_ffa_msg_32(&rc_msg);
++ rc_msg.args.args32[0] = ROUTING_EXT_RC_BIT;
+ expect_ffa_msg_wait(&rc_msg, FFA_OK);
+
+- fill_ffa_msg(&ffa_msg);
+- expect_ffa_msg_send_direct_resp(
++ fill_ffa_msg_32(&ffa_msg);
++ expect_ffa_msg_send_direct_resp_32(
+ rc_msg.destination_id, rc_msg.source_id,
+ ROUTING_EXT_RC_BIT | ROUTING_EXT_ERR_BIT,
+ SP_RESULT_FFA(FFA_DENIED), 0, 0, 0, &ffa_msg, FFA_OK);
+@@ -191,10 +238,10 @@ TEST(sp_messaging, sp_msg_send_direct_req_ffa_error)
+ ffa_result result = FFA_ABORTED;
+ uint32_t expected_ffa_args[5] = { 0 };
+
+- fill_sp_msg(&req);
++ fill_sp_msg_32(&req);
+ memset(&resp, 0x5a, sizeof(resp));
+- copy_sp_to_ffa_args(req.args, expected_ffa_args);
+- expect_ffa_msg_send_direct_req(
++ copy_sp_to_ffa_args_32(req.args.args32, expected_ffa_args);
++ expect_ffa_msg_send_direct_req_32(
+ req.source_id, req.destination_id, expected_ffa_args[0],
+ expected_ffa_args[1], expected_ffa_args[2],
+ expected_ffa_args[3], expected_ffa_args[4], &ffa_msg, result);
+@@ -203,14 +250,30 @@ TEST(sp_messaging, sp_msg_send_direct_req_ffa_error)
+ MEMCMP_EQUAL(&empty_sp_msg, &resp, sizeof(empty_sp_msg));
+ }
+
+-TEST(sp_messaging, sp_msg_send_direct_req_msg)
++TEST(sp_messaging, sp_msg_send_direct_req_msg_32)
+ {
+ uint32_t expected_ffa_args[5] = { 0 };
+
+- fill_sp_msg(&req);
+- fill_ffa_msg(&ffa_msg);
+- copy_sp_to_ffa_args(req.args, expected_ffa_args);
+- expect_ffa_msg_send_direct_req(
++ fill_sp_msg_32(&req);
++ fill_ffa_msg_32(&ffa_msg);
++ copy_sp_to_ffa_args_32(req.args.args32, expected_ffa_args);
++ expect_ffa_msg_send_direct_req_32(
++ req.source_id, req.destination_id, expected_ffa_args[0],
++ expected_ffa_args[1], expected_ffa_args[2],
++ expected_ffa_args[3], expected_ffa_args[4], &ffa_msg, FFA_OK);
++
++ LONGS_EQUAL(SP_RESULT_OK, sp_msg_send_direct_req(&req, &resp));
++ ffa_and_sp_msg_equal(&ffa_msg, &resp);
++}
++
++TEST(sp_messaging, sp_msg_send_direct_req_msg_64)
++{
++ uint64_t expected_ffa_args[5] = { 0 };
++
++ fill_sp_msg_64(&req);
++ fill_ffa_msg_64(&ffa_msg);
++ copy_sp_to_ffa_args_64(req.args.args64, expected_ffa_args);
++ expect_ffa_msg_send_direct_req_64(
+ req.source_id, req.destination_id, expected_ffa_args[0],
+ expected_ffa_args[1], expected_ffa_args[2],
+ expected_ffa_args[3], expected_ffa_args[4], &ffa_msg, FFA_OK);
+@@ -223,10 +286,10 @@ TEST(sp_messaging, sp_msg_send_direct_req_success)
+ {
+ uint32_t expected_ffa_args[5] = { 0 };
+
+- fill_sp_msg(&req);
++ fill_sp_msg_32(&req);
+ ffa_msg.function_id = FFA_SUCCESS_32;
+- copy_sp_to_ffa_args(req.args, expected_ffa_args);
+- expect_ffa_msg_send_direct_req(
++ copy_sp_to_ffa_args_32(req.args.args32, expected_ffa_args);
++ expect_ffa_msg_send_direct_req_32(
+ req.source_id, req.destination_id, expected_ffa_args[0],
+ expected_ffa_args[1], expected_ffa_args[2],
+ expected_ffa_args[3], expected_ffa_args[4], &ffa_msg, FFA_OK);
+@@ -248,54 +311,54 @@ TEST(sp_messaging, sp_msg_send_direct_req_rc_forwarding_success)
+ sp_msg sp_req = { 0 };
+ sp_msg sp_resp = { 0 };
+
+- fill_sp_msg(&sp_req);
++ fill_sp_msg_32(&sp_req);
+ sp_req.source_id = own_id;
+ sp_req.destination_id = rc_root_id;
+
+ req.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ req.source_id = own_id;
+ req.destination_id = rc_root_id;
+- copy_sp_to_ffa_args(sp_req.args, req.args);
++ copy_sp_to_ffa_args_32(sp_req.args.args32, req.args.args32);
+
+- fill_ffa_msg(&rc_req);
++ fill_ffa_msg_32(&rc_req);
+ rc_req.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ rc_req.source_id = rc_root_id;
+ rc_req.destination_id = own_id;
+- rc_req.args[0] = ROUTING_EXT_RC_BIT;
++ rc_req.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_ffa_msg(&rc_resp);
++ fill_ffa_msg_32(&rc_resp);
+ rc_resp.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ rc_resp.source_id = root_id;
+ rc_resp.destination_id = own_id;
+- rc_resp.args[0] = ROUTING_EXT_RC_BIT;
++ rc_resp.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_sp_msg(&sp_resp);
++ fill_sp_msg_32(&sp_resp);
+ sp_resp.source_id = rc_root_id;
+ sp_resp.destination_id = own_id;
+
+ resp.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ resp.source_id = rc_root_id;
+ resp.destination_id = own_id;
+- copy_sp_to_ffa_args(sp_resp.args, resp.args);
++ copy_sp_to_ffa_args_32(sp_resp.args.args32, resp.args.args32);
+
+ /* Initial request to current SP to set own_id */
+ wait_and_receive_request(root_id, own_id);
+
+ /* Sending request and receiving RC request from RC root */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id, 0, req.args[1],
+- req.args[2], req.args[3], req.args[4],
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id, 0, req.args.args32[1],
++ req.args.args32[2], req.args.args32[3], req.args.args32[4],
+ &rc_req, FFA_OK);
+
+ /* Forwarding RC request to root and receiving RC response */
+- expect_ffa_msg_send_direct_resp(own_id, root_id, rc_req.args[0],
+- rc_req.args[1], rc_req.args[2],
+- rc_req.args[3], rc_req.args[4],
++ expect_ffa_msg_send_direct_resp_32(own_id, root_id, rc_req.args.args32[0],
++ rc_req.args.args32[1], rc_req.args.args32[2],
++ rc_req.args.args32[3], rc_req.args.args32[4],
+ &rc_resp, FFA_OK);
+
+ /* Fowarding RC response to RC root and receiving response */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id, rc_resp.args[0],
+- rc_resp.args[1], rc_resp.args[2],
+- rc_resp.args[3], rc_resp.args[4], &resp,
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id, rc_resp.args.args32[0],
++ rc_resp.args.args32[1], rc_resp.args.args32[2],
++ rc_resp.args.args32[3], rc_resp.args.args32[4], &resp,
+ FFA_OK);
+
+ LONGS_EQUAL(SP_RESULT_OK, sp_msg_send_direct_req(&sp_req, &sp_resp));
+@@ -312,28 +375,28 @@ TEST(sp_messaging, sp_msg_send_direct_req_rc_error)
+ sp_msg sp_req = { 0 };
+ sp_msg sp_resp = { 0 };
+
+- fill_sp_msg(&sp_req);
++ fill_sp_msg_32(&sp_req);
+ sp_req.source_id = own_id;
+ sp_req.destination_id = rc_root_id;
+
+ req.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ req.source_id = own_id;
+ req.destination_id = rc_root_id;
+- copy_sp_to_ffa_args(sp_req.args, req.args);
++ copy_sp_to_ffa_args_32(sp_req.args.args32, req.args.args32);
+
+- fill_ffa_msg(&rc_err);
++ fill_ffa_msg_32(&rc_err);
+ rc_err.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ rc_err.source_id = rc_root_id;
+ rc_err.destination_id = own_id;
+- rc_err.args[0] = ROUTING_EXT_RC_BIT | ROUTING_EXT_ERR_BIT;
+- rc_err.args[1] = result;
++ rc_err.args.args32[0] = ROUTING_EXT_RC_BIT | ROUTING_EXT_ERR_BIT;
++ rc_err.args.args32[1] = result;
+
+ /* Initial request to current SP to set own_id */
+ wait_and_receive_request(root_id, own_id);
+
+ /* Sending request and receiving RC request from RC root */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id, 0, req.args[1],
+- req.args[2], req.args[3], req.args[4],
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id, 0, req.args.args32[1],
++ req.args.args32[2], req.args.args32[3], req.args.args32[4],
+ &rc_err, FFA_OK);
+
+ LONGS_EQUAL(SP_RESULT_FFA(result),
+@@ -354,64 +417,64 @@ TEST(sp_messaging, sp_msg_send_direct_req_rc_forwarding_success_deny_request)
+ sp_msg sp_req = { 0 };
+ sp_msg sp_resp = { 0 };
+
+- fill_sp_msg(&sp_req);
++ fill_sp_msg_32(&sp_req);
+ sp_req.source_id = own_id;
+ sp_req.destination_id = rc_root_id;
+
+ req.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ req.source_id = own_id;
+ req.destination_id = rc_root_id;
+- copy_sp_to_ffa_args(sp_req.args, req.args);
++ copy_sp_to_ffa_args_32(sp_req.args.args32, req.args.args32);
+
+- fill_ffa_msg(&rc_req);
++ fill_ffa_msg_32(&rc_req);
+ rc_req.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ rc_req.source_id = rc_root_id;
+ rc_req.destination_id = own_id;
+- rc_req.args[0] = ROUTING_EXT_RC_BIT;
++ rc_req.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+ request_to_deny.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ request_to_deny.source_id = root_id;
+ request_to_deny.destination_id = own_id;
+- request_to_deny.args[0] = 0;
++ request_to_deny.args.args32[0] = 0;
+
+- fill_ffa_msg(&rc_resp);
++ fill_ffa_msg_32(&rc_resp);
+ rc_resp.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ rc_resp.source_id = root_id;
+ rc_resp.destination_id = own_id;
+- rc_resp.args[0] = ROUTING_EXT_RC_BIT;
++ rc_resp.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_sp_msg(&sp_resp);
++ fill_sp_msg_32(&sp_resp);
+ sp_resp.source_id = rc_root_id;
+ sp_resp.destination_id = own_id;
+
+ resp.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ resp.source_id = rc_root_id;
+ resp.destination_id = own_id;
+- copy_sp_to_ffa_args(sp_resp.args, resp.args);
++ copy_sp_to_ffa_args_32(sp_resp.args.args32, resp.args.args32);
+
+ /* Initial request to current SP to set own_id */
+ wait_and_receive_request(root_id, own_id);
+
+ /* Sending request and receiving RC request from RC root */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id, 0, req.args[1],
+- req.args[2], req.args[3], req.args[4],
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id, 0, req.args.args32[1],
++ req.args.args32[2], req.args.args32[3], req.args.args32[4],
+ &rc_req, FFA_OK);
+
+ /* Forwarding RC request to root and receiving a request to deny */
+- expect_ffa_msg_send_direct_resp(own_id, root_id, rc_req.args[0],
+- rc_req.args[1], rc_req.args[2],
+- rc_req.args[3], rc_req.args[4],
++ expect_ffa_msg_send_direct_resp_32(own_id, root_id, rc_req.args.args32[0],
++ rc_req.args.args32[1], rc_req.args.args32[2],
++ rc_req.args.args32[3], rc_req.args.args32[4],
+ &request_to_deny, FFA_OK);
+
+ /* Sending error to root and receiving RC response */
+- expect_ffa_msg_send_direct_resp(
++ expect_ffa_msg_send_direct_resp_32(
+ own_id, root_id, ROUTING_EXT_RC_BIT | ROUTING_EXT_ERR_BIT,
+ SP_RESULT_FFA(FFA_BUSY), 0, 0, 0, &rc_resp, FFA_OK);
+
+ /* Fowarding RC response to RC root and receiving response */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id, rc_resp.args[0],
+- rc_resp.args[1], rc_resp.args[2],
+- rc_resp.args[3], rc_resp.args[4], &resp,
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id, rc_resp.args.args32[0],
++ rc_resp.args.args32[1], rc_resp.args.args32[2],
++ rc_resp.args.args32[3], rc_resp.args.args32[4], &resp,
+ FFA_OK);
+
+ LONGS_EQUAL(SP_RESULT_OK, sp_msg_send_direct_req(&sp_req, &sp_resp));
+@@ -431,65 +494,65 @@ TEST(sp_messaging, sp_msg_send_direct_req_rc_forwarding_success_invalid_req_src)
+ sp_msg sp_req = { 0 };
+ sp_msg sp_resp = { 0 };
+
+- fill_sp_msg(&sp_req);
++ fill_sp_msg_32(&sp_req);
+ sp_req.source_id = own_id;
+ sp_req.destination_id = rc_root_id;
+
+ req.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ req.source_id = own_id;
+ req.destination_id = rc_root_id;
+- copy_sp_to_ffa_args(sp_req.args, req.args);
++ copy_sp_to_ffa_args_32(sp_req.args.args32, req.args.args32);
+
+- fill_ffa_msg(&rc_req);
++ fill_ffa_msg_32(&rc_req);
+ rc_req.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ rc_req.source_id = rc_root_id;
+ rc_req.destination_id = own_id;
+- rc_req.args[0] = ROUTING_EXT_RC_BIT;
++ rc_req.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+ request_to_deny.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ /* This source ID should be denied in the current state. */
+ request_to_deny.source_id = rc_root_id;
+ request_to_deny.destination_id = own_id;
+- request_to_deny.args[0] = ROUTING_EXT_RC_BIT;
++ request_to_deny.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_ffa_msg(&rc_resp);
++ fill_ffa_msg_32(&rc_resp);
+ rc_resp.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ rc_resp.source_id = root_id;
+ rc_resp.destination_id = own_id;
+- rc_resp.args[0] = ROUTING_EXT_RC_BIT;
++ rc_resp.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_sp_msg(&sp_resp);
++ fill_sp_msg_32(&sp_resp);
+ sp_resp.source_id = rc_root_id;
+ sp_resp.destination_id = own_id;
+
+ resp.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ resp.source_id = rc_root_id;
+ resp.destination_id = own_id;
+- copy_sp_to_ffa_args(sp_resp.args, resp.args);
++ copy_sp_to_ffa_args_32(sp_resp.args.args32, resp.args.args32);
+
+ /* Initial request to current SP to set own_id */
+ wait_and_receive_request(root_id, own_id);
+
+ /* Sending request and receiving RC request from RC root */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id, 0, req.args[1],
+- req.args[2], req.args[3], req.args[4],
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id, 0, req.args.args32[1],
++ req.args.args32[2], req.args.args32[3], req.args.args32[4],
+ &rc_req, FFA_OK);
+
+ /* Forwarding RC request to root and receiving RC response */
+- expect_ffa_msg_send_direct_resp(own_id, root_id, rc_req.args[0],
+- rc_req.args[1], rc_req.args[2],
+- rc_req.args[3], rc_req.args[4],
++ expect_ffa_msg_send_direct_resp_32(own_id, root_id, rc_req.args.args32[0],
++ rc_req.args.args32[1], rc_req.args.args32[2],
++ rc_req.args.args32[3], rc_req.args.args32[4],
+ &request_to_deny, FFA_OK);
+
+ /* Sending error to root and receiving RC response */
+- expect_ffa_msg_send_direct_resp(
++ expect_ffa_msg_send_direct_resp_32(
+ own_id, rc_root_id, ROUTING_EXT_ERR_BIT | ROUTING_EXT_RC_BIT,
+ SP_RESULT_FFA(FFA_BUSY), 0, 0, 0, &rc_resp, FFA_OK);
+
+ /* Fowarding RC response to RC root and receiving response */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id, rc_resp.args[0],
+- rc_resp.args[1], rc_resp.args[2],
+- rc_resp.args[3], rc_resp.args[4], &resp,
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id, rc_resp.args.args32[0],
++ rc_resp.args.args32[1], rc_resp.args.args32[2],
++ rc_resp.args.args32[3], rc_resp.args.args32[4], &resp,
+ FFA_OK);
+
+ LONGS_EQUAL(SP_RESULT_OK, sp_msg_send_direct_req(&sp_req, &sp_resp));
+@@ -509,58 +572,58 @@ TEST(sp_messaging, sp_msg_send_direct_req_deny_fail_wait_success)
+ sp_msg sp_req = { 0 };
+ sp_msg sp_resp = { 0 };
+
+- fill_sp_msg(&sp_req);
++ fill_sp_msg_32(&sp_req);
+ sp_req.source_id = own_id;
+ sp_req.destination_id = rc_root_id;
+
+ req.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ req.source_id = own_id;
+ req.destination_id = rc_root_id;
+- copy_sp_to_ffa_args(sp_req.args, req.args);
++ copy_sp_to_ffa_args_32(sp_req.args.args32, req.args.args32);
+
+- fill_ffa_msg(&rc_req);
++ fill_ffa_msg_32(&rc_req);
+ rc_req.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ rc_req.source_id = rc_root_id;
+ rc_req.destination_id = own_id;
+- rc_req.args[0] = ROUTING_EXT_RC_BIT;
++ rc_req.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+ request_to_deny.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ /* This source ID should be denied in the current state. */
+ request_to_deny.source_id = rc_root_id;
+ request_to_deny.destination_id = own_id;
+- request_to_deny.args[0] = ROUTING_EXT_RC_BIT;
++ request_to_deny.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_ffa_msg(&rc_resp);
++ fill_ffa_msg_32(&rc_resp);
+ rc_resp.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ rc_resp.source_id = root_id;
+ rc_resp.destination_id = own_id;
+- rc_resp.args[0] = ROUTING_EXT_RC_BIT;
++ rc_resp.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_sp_msg(&sp_resp);
++ fill_sp_msg_32(&sp_resp);
+ sp_resp.source_id = rc_root_id;
+ sp_resp.destination_id = own_id;
+
+ resp.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ resp.source_id = rc_root_id;
+ resp.destination_id = own_id;
+- copy_sp_to_ffa_args(sp_resp.args, resp.args);
++ copy_sp_to_ffa_args_32(sp_resp.args.args32, resp.args.args32);
+
+ /* Initial request to current SP to set own_id */
+ wait_and_receive_request(root_id, own_id);
+
+ /* Sending request and receiving RC request from RC root */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id, 0, req.args[1],
+- req.args[2], req.args[3], req.args[4],
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id, 0, req.args.args32[1],
++ req.args.args32[2], req.args.args32[3], req.args.args32[4],
+ &rc_req, FFA_OK);
+
+ /* Forwarding RC request to root and receiving RC response */
+- expect_ffa_msg_send_direct_resp(own_id, root_id, rc_req.args[0],
+- rc_req.args[1], rc_req.args[2],
+- rc_req.args[3], rc_req.args[4],
++ expect_ffa_msg_send_direct_resp_32(own_id, root_id, rc_req.args.args32[0],
++ rc_req.args.args32[1], rc_req.args.args32[2],
++ rc_req.args.args32[3], rc_req.args.args32[4],
+ &request_to_deny, FFA_OK);
+
+ /* Sending error to root which fails */
+- expect_ffa_msg_send_direct_resp(
++ expect_ffa_msg_send_direct_resp_32(
+ own_id, rc_root_id, (ROUTING_EXT_ERR_BIT | ROUTING_EXT_RC_BIT),
+ SP_RESULT_FFA(FFA_BUSY), 0, 0, 0, &rc_resp, FFA_DENIED);
+
+@@ -568,9 +631,9 @@ TEST(sp_messaging, sp_msg_send_direct_req_deny_fail_wait_success)
+ expect_ffa_msg_wait(&rc_resp, FFA_OK);
+
+ /* Fowarding RC response to RC root and receiving response */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id, rc_resp.args[0],
+- rc_resp.args[1], rc_resp.args[2],
+- rc_resp.args[3], rc_resp.args[4], &resp,
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id, rc_resp.args.args32[0],
++ rc_resp.args.args32[1], rc_resp.args.args32[2],
++ rc_resp.args.args32[3], rc_resp.args.args32[4], &resp,
+ FFA_OK);
+
+ LONGS_EQUAL(SP_RESULT_OK, sp_msg_send_direct_req(&sp_req, &sp_resp));
+@@ -590,58 +653,58 @@ TEST(sp_messaging, sp_msg_send_direct_req_deny_fail_wait_fail_forwarding)
+ sp_msg sp_req = { 0 };
+ sp_msg sp_resp = { 0 };
+
+- fill_sp_msg(&sp_req);
++ fill_sp_msg_32(&sp_req);
+ sp_req.source_id = own_id;
+ sp_req.destination_id = rc_root_id;
+
+ req.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ req.source_id = own_id;
+ req.destination_id = rc_root_id;
+- copy_sp_to_ffa_args(sp_req.args, req.args);
++ copy_sp_to_ffa_args_32(sp_req.args.args32, req.args.args32);
+
+- fill_ffa_msg(&rc_req);
++ fill_ffa_msg_32(&rc_req);
+ rc_req.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ rc_req.source_id = rc_root_id;
+ rc_req.destination_id = own_id;
+- rc_req.args[0] = ROUTING_EXT_RC_BIT;
++ rc_req.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+ request_to_deny.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ /* This source ID should be denied in the current state. */
+ request_to_deny.source_id = rc_root_id;
+ request_to_deny.destination_id = own_id;
+- request_to_deny.args[0] = ROUTING_EXT_RC_BIT;
++ request_to_deny.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_ffa_msg(&rc_resp);
++ fill_ffa_msg_32(&rc_resp);
+ rc_resp.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ rc_resp.source_id = root_id;
+ rc_resp.destination_id = own_id;
+- rc_resp.args[0] = ROUTING_EXT_RC_BIT;
++ rc_resp.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_sp_msg(&sp_resp);
++ fill_sp_msg_32(&sp_resp);
+ sp_resp.source_id = rc_root_id;
+ sp_resp.destination_id = own_id;
+
+ resp.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ resp.source_id = rc_root_id;
+ resp.destination_id = own_id;
+- copy_sp_to_ffa_args(sp_resp.args, resp.args);
++ copy_sp_to_ffa_args_32(sp_resp.args.args32, resp.args.args32);
+
+ /* Initial request to current SP to set own_id */
+ wait_and_receive_request(root_id, own_id);
+
+ /* Sending request and receiving RC request from RC root */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id, 0, req.args[1],
+- req.args[2], req.args[3], req.args[4],
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id, 0, req.args.args32[1],
++ req.args.args32[2], req.args.args32[3], req.args.args32[4],
+ &rc_req, FFA_OK);
+
+ /* Forwarding RC request to root and receiving RC response */
+- expect_ffa_msg_send_direct_resp(own_id, root_id, rc_req.args[0],
+- rc_req.args[1], rc_req.args[2],
+- rc_req.args[3], rc_req.args[4],
++ expect_ffa_msg_send_direct_resp_32(own_id, root_id, rc_req.args.args32[0],
++ rc_req.args.args32[1], rc_req.args.args32[2],
++ rc_req.args.args32[3], rc_req.args.args32[4],
+ &request_to_deny, FFA_OK);
+
+ /* Sending error to root which fails */
+- expect_ffa_msg_send_direct_resp(
++ expect_ffa_msg_send_direct_resp_32(
+ own_id, rc_root_id, ROUTING_EXT_ERR_BIT | ROUTING_EXT_RC_BIT,
+ SP_RESULT_FFA(FFA_BUSY), 0, 0, 0, &rc_resp, FFA_DENIED);
+
+@@ -649,7 +712,7 @@ TEST(sp_messaging, sp_msg_send_direct_req_deny_fail_wait_fail_forwarding)
+ expect_ffa_msg_wait(&rc_resp, result);
+
+ /* Fowarding RC error as FFA_MSG_WAIT failed */
+- expect_ffa_msg_send_direct_req(
++ expect_ffa_msg_send_direct_req_32(
+ own_id, rc_root_id, (ROUTING_EXT_RC_BIT | ROUTING_EXT_ERR_BIT),
+ result, 0, 0, 0, &resp, FFA_OK);
+
+@@ -670,52 +733,52 @@ TEST(sp_messaging, sp_msg_send_direct_req_rc_return_rc_error_msg)
+ sp_msg sp_resp = { 0 };
+ ffa_result result = FFA_ABORTED;
+
+- fill_sp_msg(&sp_req);
++ fill_sp_msg_32(&sp_req);
+ sp_req.source_id = own_id;
+ sp_req.destination_id = rc_root_id;
+
+ req.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ req.source_id = own_id;
+ req.destination_id = rc_root_id;
+- copy_sp_to_ffa_args(sp_req.args, req.args);
++ copy_sp_to_ffa_args_32(sp_req.args.args32, req.args.args32);
+
+- fill_ffa_msg(&rc_req);
++ fill_ffa_msg_32(&rc_req);
+ rc_req.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ rc_req.source_id = rc_root_id;
+ rc_req.destination_id = own_id;
+- rc_req.args[0] = ROUTING_EXT_RC_BIT;
++ rc_req.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_ffa_msg(&rc_resp);
++ fill_ffa_msg_32(&rc_resp);
+ rc_resp.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ rc_resp.source_id = root_id;
+ rc_resp.destination_id = own_id;
+- rc_resp.args[0] = ROUTING_EXT_RC_BIT;
++ rc_resp.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_sp_msg(&sp_resp);
++ fill_sp_msg_32(&sp_resp);
+ sp_resp.source_id = rc_root_id;
+ sp_resp.destination_id = own_id;
+
+ resp.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ resp.source_id = rc_root_id;
+ resp.destination_id = own_id;
+- copy_sp_to_ffa_args(sp_resp.args, resp.args);
++ copy_sp_to_ffa_args_32(sp_resp.args.args32, resp.args.args32);
+
+ /* Initial request to current SP to set own_id */
+ wait_and_receive_request(root_id, own_id);
+
+ /* Sending request and receiving RC request from RC root */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id, 0, req.args[1],
+- req.args[2], req.args[3], req.args[4],
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id, 0, req.args.args32[1],
++ req.args.args32[2], req.args.args32[3], req.args.args32[4],
+ &rc_req, FFA_OK);
+
+ /* Forwarding RC request to root and receiving RC response */
+- expect_ffa_msg_send_direct_resp(own_id, root_id, rc_req.args[0],
+- rc_req.args[1], rc_req.args[2],
+- rc_req.args[3], rc_req.args[4],
++ expect_ffa_msg_send_direct_resp_32(own_id, root_id, rc_req.args.args32[0],
++ rc_req.args.args32[1], rc_req.args.args32[2],
++ rc_req.args.args32[3], rc_req.args.args32[4],
+ &rc_resp, result);
+
+ /* Fowarding RC error to RC root and receiving response */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id,
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id,
+ ROUTING_EXT_RC_BIT | ROUTING_EXT_ERR_BIT,
+ SP_RESULT_FFA(result), 0, 0, 0, &resp,
+ FFA_OK);
+@@ -737,54 +800,54 @@ TEST(sp_messaging, sp_msg_send_direct_req_rc_return_resp_fail)
+ sp_msg sp_resp = { 0 };
+ ffa_result result = FFA_ABORTED;
+
+- fill_sp_msg(&sp_req);
++ fill_sp_msg_32(&sp_req);
+ sp_req.source_id = own_id;
+ sp_req.destination_id = rc_root_id;
+
+ req.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ req.source_id = own_id;
+ req.destination_id = rc_root_id;
+- copy_sp_to_ffa_args(sp_req.args, req.args);
++ copy_sp_to_ffa_args_32(sp_req.args.args32, req.args.args32);
+
+- fill_ffa_msg(&rc_req);
++ fill_ffa_msg_32(&rc_req);
+ rc_req.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ rc_req.source_id = rc_root_id;
+ rc_req.destination_id = own_id;
+- rc_req.args[0] = ROUTING_EXT_RC_BIT;
++ rc_req.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_ffa_msg(&rc_resp);
++ fill_ffa_msg_32(&rc_resp);
+ rc_resp.function_id = FFA_MSG_SEND_DIRECT_REQ_32;
+ rc_resp.source_id = root_id;
+ rc_resp.destination_id = own_id;
+- rc_resp.args[0] = ROUTING_EXT_RC_BIT;
++ rc_resp.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_sp_msg(&sp_resp);
++ fill_sp_msg_32(&sp_resp);
+ sp_resp.source_id = rc_root_id;
+ sp_resp.destination_id = own_id;
+
+ resp.function_id = FFA_MSG_SEND_DIRECT_RESP_32;
+ resp.source_id = rc_root_id;
+ resp.destination_id = own_id;
+- copy_sp_to_ffa_args(sp_resp.args, resp.args);
++ copy_sp_to_ffa_args_32(sp_resp.args.args32, resp.args.args32);
+
+ /* Initial request to current SP to set own_id */
+ wait_and_receive_request(root_id, own_id);
+
+ /* Sending request and receiving RC request from RC root */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id, 0, req.args[1],
+- req.args[2], req.args[3], req.args[4],
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id, 0, req.args.args32[1],
++ req.args.args32[2], req.args.args32[3], req.args.args32[4],
+ &rc_req, FFA_OK);
+
+ /* Forwarding RC request to root and receiving RC response */
+- expect_ffa_msg_send_direct_resp(own_id, root_id, rc_req.args[0],
+- rc_req.args[1], rc_req.args[2],
+- rc_req.args[3], rc_req.args[4],
++ expect_ffa_msg_send_direct_resp_32(own_id, root_id, rc_req.args.args32[0],
++ rc_req.args.args32[1], rc_req.args.args32[2],
++ rc_req.args.args32[3], rc_req.args.args32[4],
+ &rc_resp, FFA_OK);
+
+ /* Fowarding RC response to RC root and receiving response */
+- expect_ffa_msg_send_direct_req(own_id, rc_root_id, rc_resp.args[0],
+- rc_resp.args[1], rc_resp.args[2],
+- rc_resp.args[3], rc_resp.args[4], &resp,
++ expect_ffa_msg_send_direct_req_32(own_id, rc_root_id, rc_resp.args.args32[0],
++ rc_resp.args.args32[1], rc_resp.args.args32[2],
++ rc_resp.args.args32[3], rc_resp.args.args32[4], &resp,
+ result);
+
+ LONGS_EQUAL(SP_RESULT_FFA(result),
+@@ -812,10 +875,11 @@ TEST(sp_messaging, sp_msg_send_direct_resp_ffa_error)
+ ffa_result result = FFA_ABORTED;
+ uint32_t expected_ffa_args[5] = { 0 };
+
+- fill_sp_msg(&resp);
++ fill_sp_msg_32(&resp);
+ memset(&req, 0x5a, sizeof(req));
+- copy_sp_to_ffa_args(resp.args, expected_ffa_args);
+- expect_ffa_msg_send_direct_resp(
++ req.is_64bit_message = false;
++ copy_sp_to_ffa_args_32(resp.args.args32, expected_ffa_args);
++ expect_ffa_msg_send_direct_resp_32(
+ resp.source_id, resp.destination_id, expected_ffa_args[0],
+ expected_ffa_args[1], expected_ffa_args[2],
+ expected_ffa_args[3], expected_ffa_args[4], &ffa_msg, result);
+@@ -825,14 +889,30 @@ TEST(sp_messaging, sp_msg_send_direct_resp_ffa_error)
+ MEMCMP_EQUAL(&empty_sp_msg, &req, sizeof(empty_sp_msg));
+ }
+
+-TEST(sp_messaging, sp_msg_send_direct_resp_msg)
++TEST(sp_messaging, sp_msg_send_direct_resp_msg_32)
+ {
+ uint32_t expected_ffa_args[5] = { 0 };
+
+- fill_sp_msg(&resp);
+- fill_ffa_msg(&ffa_msg);
+- copy_sp_to_ffa_args(resp.args, expected_ffa_args);
+- expect_ffa_msg_send_direct_resp(
++ fill_sp_msg_32(&resp);
++ fill_ffa_msg_32(&ffa_msg);
++ copy_sp_to_ffa_args_32(resp.args.args32, expected_ffa_args);
++ expect_ffa_msg_send_direct_resp_32(
++ resp.source_id, resp.destination_id, expected_ffa_args[0],
++ expected_ffa_args[1], expected_ffa_args[2],
++ expected_ffa_args[3], expected_ffa_args[4], &ffa_msg, FFA_OK);
++
++ LONGS_EQUAL(SP_RESULT_OK, sp_msg_send_direct_resp(&resp, &req));
++ ffa_and_sp_msg_equal(&ffa_msg, &req);
++}
++
++TEST(sp_messaging, sp_msg_send_direct_resp_msg_64)
++{
++ uint64_t expected_ffa_args[5] = { 0 };
++
++ fill_sp_msg_64(&resp);
++ fill_ffa_msg_64(&ffa_msg);
++ copy_sp_to_ffa_args_64(resp.args.args64, expected_ffa_args);
++ expect_ffa_msg_send_direct_resp_64(
+ resp.source_id, resp.destination_id, expected_ffa_args[0],
+ expected_ffa_args[1], expected_ffa_args[2],
+ expected_ffa_args[3], expected_ffa_args[4], &ffa_msg, FFA_OK);
+@@ -841,15 +921,16 @@ TEST(sp_messaging, sp_msg_send_direct_resp_msg)
+ ffa_and_sp_msg_equal(&ffa_msg, &req);
+ }
+
++
+ TEST(sp_messaging, sp_msg_send_direct_resp_success)
+ {
+ uint32_t expected_ffa_args[5] = { 0 };
+
+- fill_sp_msg(&req);
+- fill_sp_msg(&resp);
++ fill_sp_msg_32(&req);
++ fill_sp_msg_32(&resp);
+ ffa_msg.function_id = FFA_SUCCESS_32;
+- copy_sp_to_ffa_args(resp.args, expected_ffa_args);
+- expect_ffa_msg_send_direct_resp(
++ copy_sp_to_ffa_args_32(resp.args.args32, expected_ffa_args);
++ expect_ffa_msg_send_direct_resp_32(
+ resp.source_id, resp.destination_id, expected_ffa_args[0],
+ expected_ffa_args[1], expected_ffa_args[2],
+ expected_ffa_args[3], expected_ffa_args[4], &ffa_msg, FFA_OK);
+@@ -864,20 +945,20 @@ TEST(sp_messaging, sp_msg_send_direct_resp_deny_rc_failure)
+ uint32_t expected_ffa_args[5] = { 0 };
+ struct ffa_direct_msg rc_msg = { 0 };
+
+- fill_sp_msg(&resp);
++ fill_sp_msg_32(&resp);
+
+- fill_ffa_msg(&rc_msg);
+- rc_msg.args[0] = ROUTING_EXT_RC_BIT;
++ fill_ffa_msg_32(&rc_msg);
++ rc_msg.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_ffa_msg(&ffa_msg);
+- copy_sp_to_ffa_args(resp.args, expected_ffa_args);
++ fill_ffa_msg_32(&ffa_msg);
++ copy_sp_to_ffa_args_32(resp.args.args32, expected_ffa_args);
+
+- expect_ffa_msg_send_direct_resp(
++ expect_ffa_msg_send_direct_resp_32(
+ resp.source_id, resp.destination_id, expected_ffa_args[0],
+ expected_ffa_args[1], expected_ffa_args[2],
+ expected_ffa_args[3], expected_ffa_args[4], &rc_msg, FFA_OK);
+
+- expect_ffa_msg_send_direct_resp(
++ expect_ffa_msg_send_direct_resp_32(
+ rc_msg.destination_id, rc_msg.source_id,
+ ROUTING_EXT_RC_BIT | ROUTING_EXT_ERR_BIT,
+ SP_RESULT_FFA(FFA_DENIED), 0, 0, 0, &ffa_msg, result);
+@@ -892,21 +973,21 @@ TEST(sp_messaging, sp_msg_send_direct_resp_deny_rc)
+ uint32_t expected_ffa_args[5] = { 0 };
+ struct ffa_direct_msg rc_msg = { 0 };
+
+- fill_sp_msg(&resp);
++ fill_sp_msg_32(&resp);
+
+- fill_ffa_msg(&rc_msg);
+- rc_msg.args[0] = ROUTING_EXT_RC_BIT;
++ fill_ffa_msg_32(&rc_msg);
++ rc_msg.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- fill_ffa_msg(&ffa_msg);
+- copy_sp_to_ffa_args(resp.args, expected_ffa_args);
++ fill_ffa_msg_32(&ffa_msg);
++ copy_sp_to_ffa_args_32(resp.args.args32, expected_ffa_args);
+
+- expect_ffa_msg_send_direct_resp(resp.source_id, resp.destination_id, 0,
++ expect_ffa_msg_send_direct_resp_32(resp.source_id, resp.destination_id, 0,
+ expected_ffa_args[1],
+ expected_ffa_args[2],
+ expected_ffa_args[3],
+ expected_ffa_args[4], &rc_msg, FFA_OK);
+
+- expect_ffa_msg_send_direct_resp(
++ expect_ffa_msg_send_direct_resp_32(
+ rc_msg.destination_id, rc_msg.source_id,
+ ROUTING_EXT_RC_BIT | ROUTING_EXT_ERR_BIT,
+ SP_RESULT_FFA(FFA_DENIED), 0, 0, 0, &ffa_msg, FFA_OK);
+@@ -933,13 +1014,14 @@ TEST(sp_messaging, sp_msg_send_rc_req_ffa_error)
+ {
+ ffa_result result = FFA_ABORTED;
+
+- fill_sp_msg(&resp);
++ fill_sp_msg_32(&resp);
+ memset(&req, 0x5a, sizeof(req));
+- fill_ffa_msg(&ffa_msg);
++ req.is_64bit_message = false;
++ fill_ffa_msg_32(&ffa_msg);
+
+- expect_ffa_msg_send_direct_resp(req.source_id, req.destination_id,
+- ROUTING_EXT_RC_BIT, req.args[0],
+- req.args[1], req.args[2], req.args[3],
++ expect_ffa_msg_send_direct_resp_32(req.source_id, req.destination_id,
++ ROUTING_EXT_RC_BIT, req.args.args32[0],
++ req.args.args32[1], req.args.args32[2], req.args.args32[3],
+ &ffa_msg, result);
+
+ LONGS_EQUAL(SP_RESULT_FFA(result), sp_msg_send_rc_req(&req, &resp));
+@@ -953,22 +1035,22 @@ TEST(sp_messaging, sp_msg_send_rc_req_deny_fail_wait_fail)
+
+ wait_and_receive_request(root_id, own_id);
+
+- fill_sp_msg(&req);
++ fill_sp_msg_32(&req);
+ req.source_id = own_id;
+ req.destination_id = root_id;
+
+- fill_ffa_msg(&ffa_msg);
++ fill_ffa_msg_32(&ffa_msg);
+ ffa_msg.source_id = root_id;
+ ffa_msg.destination_id = own_id;
+ /* Should be RC message so it will be denied */
+- ffa_msg.args[0] = 0;
++ ffa_msg.args.args32[0] = 0;
+
+- expect_ffa_msg_send_direct_resp(req.source_id, req.destination_id,
+- ROUTING_EXT_RC_BIT, req.args[0],
+- req.args[1], req.args[2], req.args[3],
++ expect_ffa_msg_send_direct_resp_32(req.source_id, req.destination_id,
++ ROUTING_EXT_RC_BIT, req.args.args32[0],
++ req.args.args32[1], req.args.args32[2], req.args.args32[3],
+ &ffa_msg, FFA_OK);
+
+- expect_ffa_msg_send_direct_resp(
++ expect_ffa_msg_send_direct_resp_32(
+ req.source_id, req.destination_id,
+ ROUTING_EXT_RC_BIT | ROUTING_EXT_ERR_BIT,
+ SP_RESULT_FFA(FFA_BUSY), 0, 0, 0, &ffa_msg, result);
+@@ -987,19 +1069,19 @@ TEST(sp_messaging, sp_msg_send_rc_req_rc_error)
+
+ wait_and_receive_request(root_id, own_id);
+
+- fill_sp_msg(&req);
++ fill_sp_msg_32(&req);
+ req.source_id = own_id;
+ req.destination_id = root_id;
+
+- fill_ffa_msg(&ffa_msg);
++ fill_ffa_msg_32(&ffa_msg);
+ ffa_msg.source_id = root_id;
+ ffa_msg.destination_id = own_id;
+- ffa_msg.args[0] = ROUTING_EXT_RC_BIT | ROUTING_EXT_ERR_BIT;
+- ffa_msg.args[1] = sp_err;
++ ffa_msg.args.args32[0] = ROUTING_EXT_RC_BIT | ROUTING_EXT_ERR_BIT;
++ ffa_msg.args.args32[1] = sp_err;
+
+- expect_ffa_msg_send_direct_resp(req.source_id, req.destination_id,
+- ROUTING_EXT_RC_BIT, req.args[0],
+- req.args[1], req.args[2], req.args[3],
++ expect_ffa_msg_send_direct_resp_32(req.source_id, req.destination_id,
++ ROUTING_EXT_RC_BIT, req.args.args32[0],
++ req.args.args32[1], req.args.args32[2], req.args.args32[3],
+ &ffa_msg, FFA_OK);
+
+ LONGS_EQUAL(sp_err, sp_msg_send_rc_req(&req, &resp));
+@@ -1013,18 +1095,18 @@ TEST(sp_messaging, sp_msg_send_rc_req_success)
+
+ wait_and_receive_request(root_id, own_id);
+
+- fill_sp_msg(&req);
++ fill_sp_msg_32(&req);
+ req.source_id = own_id;
+ req.destination_id = root_id;
+
+- fill_ffa_msg(&ffa_msg);
++ fill_ffa_msg_32(&ffa_msg);
+ ffa_msg.source_id = root_id;
+ ffa_msg.destination_id = own_id;
+- ffa_msg.args[0] = ROUTING_EXT_RC_BIT;
++ ffa_msg.args.args32[0] = ROUTING_EXT_RC_BIT;
+
+- expect_ffa_msg_send_direct_resp(req.source_id, req.destination_id,
+- ROUTING_EXT_RC_BIT, req.args[0],
+- req.args[1], req.args[2], req.args[3],
++ expect_ffa_msg_send_direct_resp_32(req.source_id, req.destination_id,
++ ROUTING_EXT_RC_BIT, req.args.args32[0],
++ req.args.args32[1], req.args.args32[2], req.args.args32[3],
+ &ffa_msg, FFA_OK);
+
+ LONGS_EQUAL(SP_RESULT_OK, sp_msg_send_rc_req(&req, &resp));
+diff --git a/components/rpc/ffarpc/caller/sp/ffarpc_caller.c b/components/rpc/ffarpc/caller/sp/ffarpc_caller.c
+index 4ad98fb..ca3d318 100644
+--- a/components/rpc/ffarpc/caller/sp/ffarpc_caller.c
++++ b/components/rpc/ffarpc/caller/sp/ffarpc_caller.c
+@@ -81,16 +81,17 @@ static rpc_status_t call_invoke(void *context, rpc_call_handle handle, uint32_t
+
+ req.destination_id = this_context->dest_partition_id;
+ req.source_id = own_id;
+- req.args[SP_CALL_ARGS_IFACE_ID_OPCODE] =
++ req.is_64bit_message = false;
++ req.args.args32[SP_CALL_ARGS_IFACE_ID_OPCODE] =
+ FFA_CALL_ARGS_COMBINE_IFACE_ID_OPCODE(this_context->dest_iface_id, opcode);
+- req.args[SP_CALL_ARGS_REQ_DATA_LEN] = (uint32_t)this_context->req_len;
+- req.args[SP_CALL_ARGS_ENCODING] = this_context->rpc_caller.encoding;
++ req.args.args32[SP_CALL_ARGS_REQ_DATA_LEN] = (uint32_t)this_context->req_len;
++ req.args.args32[SP_CALL_ARGS_ENCODING] = this_context->rpc_caller.encoding;
+
+ /* Initialise the caller ID. Depending on the call path, this may
+ * be overridden by a higher privilege execution level, based on its
+ * perspective of the caller identity.
+ */
+- req.args[SP_CALL_ARGS_CALLER_ID] = 0;
++ req.args.args32[SP_CALL_ARGS_CALLER_ID] = 0;
+
+ sp_res = sp_msg_send_direct_req(&req, &resp);
+ if (sp_res != SP_RESULT_OK) {
+@@ -98,9 +99,9 @@ static rpc_status_t call_invoke(void *context, rpc_call_handle handle, uint32_t
+ goto out;
+ }
+
+- this_context->resp_len = (size_t)resp.args[SP_CALL_ARGS_RESP_DATA_LEN];
+- status = resp.args[SP_CALL_ARGS_RESP_RPC_STATUS];
+- *opstatus = (rpc_status_t)((int32_t)resp.args[SP_CALL_ARGS_RESP_OP_STATUS]);
++ this_context->resp_len = (size_t)resp.args.args32[SP_CALL_ARGS_RESP_DATA_LEN];
++ status = resp.args.args32[SP_CALL_ARGS_RESP_RPC_STATUS];
++ *opstatus = (rpc_status_t)((int32_t)resp.args.args32[SP_CALL_ARGS_RESP_OP_STATUS]);
+
+ if (this_context->resp_len > this_context->shared_mem_required_size) {
+ EMSG("invalid response length");
+@@ -242,11 +243,12 @@ int ffarpc_caller_open(struct ffarpc_caller *caller, uint16_t dest_partition_id,
+
+ req.source_id = own_id;
+ req.destination_id = dest_partition_id;
+- req.args[SP_CALL_ARGS_IFACE_ID_OPCODE] =
++ req.is_64bit_message = false;
++ req.args.args32[SP_CALL_ARGS_IFACE_ID_OPCODE] =
+ FFA_CALL_ARGS_COMBINE_IFACE_ID_OPCODE(FFA_CALL_MGMT_IFACE_ID, FFA_CALL_OPCODE_SHARE_BUF);
+- req.args[SP_CALL_ARGS_SHARE_MEM_HANDLE_LSW] = (uint32_t)(handle & UINT32_MAX);
+- req.args[SP_CALL_ARGS_SHARE_MEM_HANDLE_MSW] = (uint32_t)(handle >> 32);
+- req.args[SP_CALL_ARGS_SHARE_MEM_SIZE] = (uint32_t)(caller->shared_mem_required_size);
++ req.args.args32[SP_CALL_ARGS_SHARE_MEM_HANDLE_LSW] = (uint32_t)(handle & UINT32_MAX);
++ req.args.args32[SP_CALL_ARGS_SHARE_MEM_HANDLE_MSW] = (uint32_t)(handle >> 32);
++ req.args.args32[SP_CALL_ARGS_SHARE_MEM_SIZE] = (uint32_t)(caller->shared_mem_required_size);
+
+ sp_res = sp_msg_send_direct_req(&req, &resp);
+ if (sp_res != SP_RESULT_OK) {
+@@ -273,10 +275,11 @@ int ffarpc_caller_close(struct ffarpc_caller *caller)
+
+ req.source_id = own_id;
+ req.destination_id = caller->dest_partition_id;
+- req.args[SP_CALL_ARGS_IFACE_ID_OPCODE] =
++ req.is_64bit_message = false;
++ req.args.args32[SP_CALL_ARGS_IFACE_ID_OPCODE] =
+ FFA_CALL_ARGS_COMBINE_IFACE_ID_OPCODE(FFA_CALL_MGMT_IFACE_ID, FFA_CALL_OPCODE_UNSHARE_BUF);
+- req.args[SP_CALL_ARGS_SHARE_MEM_HANDLE_LSW] = handle_lo;
+- req.args[SP_CALL_ARGS_SHARE_MEM_HANDLE_MSW] = handle_hi;
++ req.args.args32[SP_CALL_ARGS_SHARE_MEM_HANDLE_LSW] = handle_lo;
++ req.args.args32[SP_CALL_ARGS_SHARE_MEM_HANDLE_MSW] = handle_hi;
+
+ sp_res = sp_msg_send_direct_req(&req, &resp);
+ if (sp_res != SP_RESULT_OK) {
+diff --git a/components/rpc/ffarpc/endpoint/ffarpc_call_ep.c b/components/rpc/ffarpc/endpoint/ffarpc_call_ep.c
+index 6a8cef0..c024196 100644
+--- a/components/rpc/ffarpc/endpoint/ffarpc_call_ep.c
++++ b/components/rpc/ffarpc/endpoint/ffarpc_call_ep.c
+@@ -260,8 +260,8 @@ void ffa_call_ep_receive(struct ffa_call_ep *call_ep,
+ const struct sp_msg *req_msg,
+ struct sp_msg *resp_msg)
+ {
+- const uint32_t *req_args = req_msg->args;
+- uint32_t *resp_args = resp_msg->args;
++ const uint32_t *req_args = req_msg->args.args32;
++ uint32_t *resp_args = resp_msg->args.args32;
+
+ uint16_t source_id = req_msg->source_id;
+ uint32_t ifaceid_opcode = req_args[SP_CALL_ARGS_IFACE_ID_OPCODE];
+diff --git a/components/rpc/mm_communicate/endpoint/sp/mm_communicate_call_ep.c b/components/rpc/mm_communicate/endpoint/sp/mm_communicate_call_ep.c
+index 09f1e2c..dc49e64 100644
+--- a/components/rpc/mm_communicate/endpoint/sp/mm_communicate_call_ep.c
++++ b/components/rpc/mm_communicate/endpoint/sp/mm_communicate_call_ep.c
+@@ -1,6 +1,6 @@
+ // SPDX-License-Identifier: BSD-3-Clause
+ /*
+- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ */
+
+ #include "components/rpc/mm_communicate/common/mm_communicate_call_args.h"
+@@ -127,15 +127,15 @@ void mm_communicate_call_ep_receive(struct mm_communicate_ep *mm_communicate_cal
+ uintptr_t buffer_address = 0;
+ size_t buffer_size = 0;
+
+- buffer_address = req_msg->args[MM_COMMUNICATE_CALL_ARGS_COMM_BUFFER_ADDRESS];
+- buffer_size = req_msg->args[MM_COMMUNICATE_CALL_ARGS_COMM_BUFFER_SIZE];
++ buffer_address = req_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_COMM_BUFFER_ADDRESS];
++ buffer_size = req_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_COMM_BUFFER_SIZE];
+
+ return_value = handle_mm_communicate(mm_communicate_call_ep, req_msg->source_id,
+ buffer_address, buffer_size);
+
+- resp_msg->args[MM_COMMUNICATE_CALL_ARGS_RETURN_ID] = ARM_SVC_ID_SP_EVENT_COMPLETE;
+- resp_msg->args[MM_COMMUNICATE_CALL_ARGS_RETURN_CODE] = return_value;
+- resp_msg->args[MM_COMMUNICATE_CALL_ARGS_MBZ0] = 0;
+- resp_msg->args[MM_COMMUNICATE_CALL_ARGS_MBZ1] = 0;
+- resp_msg->args[MM_COMMUNICATE_CALL_ARGS_MBZ2] = 0;
++ resp_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_RETURN_ID] = ARM_SVC_ID_SP_EVENT_COMPLETE;
++ resp_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_RETURN_CODE] = return_value;
++ resp_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_MBZ0] = 0;
++ resp_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_MBZ1] = 0;
++ resp_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_MBZ2] = 0;
+ }
+diff --git a/deployments/smm-gateway/common/smm_gateway_sp.c b/deployments/smm-gateway/common/smm_gateway_sp.c
+index 2187fea..3697b7f 100644
+--- a/deployments/smm-gateway/common/smm_gateway_sp.c
++++ b/deployments/smm-gateway/common/smm_gateway_sp.c
+@@ -70,10 +70,10 @@ void __noreturn sp_main(struct ffa_init_info *init_info)
+ while (1) {
+ mm_communicate_call_ep_receive(&mm_communicate_call_ep, &req_msg, &resp_msg);
+
+- ffa_msg_send_direct_resp(req_msg.destination_id,
+- req_msg.source_id, resp_msg.args[0],
+- resp_msg.args[1], resp_msg.args[2],
+- resp_msg.args[3], resp_msg.args[4],
++ ffa_msg_send_direct_resp_32(req_msg.destination_id,
++ req_msg.source_id, resp_msg.args.args32[0],
++ resp_msg.args.args32[1], resp_msg.args.args32[2],
++ resp_msg.args.args32[3], resp_msg.args.args32[4],
+ &req_msg);
+ }
+
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0022-Change-MM-communicate-RPC-protocol-of-call-endpoint.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0022-Change-MM-communicate-RPC-protocol-of-call-endpoint.patch
new file mode 100644
index 0000000000..4090397415
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0022-Change-MM-communicate-RPC-protocol-of-call-endpoint.patch
@@ -0,0 +1,497 @@
+From 0f02f04c7f0a7130874dc4bc1a500604d580c4dc Mon Sep 17 00:00:00 2001
+From: Imre Kis <imre.kis@arm.com>
+Date: Wed, 20 Jul 2022 15:19:17 +0200
+Subject: [PATCH 22/24] Change MM communicate RPC protocol of call endpoint
+
+Replace buffer address and size parameter by offset in buffer parameter
+and move to 64 bit FF-A direct message call. Deny all 32 bit direct
+messages in SMM gateway.
+
+Signed-off-by: Imre Kis <imre.kis@arm.com>
+Change-Id: I7a69b440ff9842960229b2bfdd1b5ae5318d9c26
+
+Upstream-Status: Pending [In review]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+---
+ .../common/mm_communicate_call_args.h | 15 ++-
+ .../endpoint/sp/mm_communicate_call_ep.c | 58 ++++-----
+ .../endpoint/sp/test/mock_mm_service.cpp | 6 +-
+ .../endpoint/sp/test/mock_mm_service.h | 4 +-
+ .../sp/test/test_mm_communicate_call_ep.cpp | 110 +++++++++++-------
+ .../endpoint/sp/test/test_mock_mm_service.cpp | 4 +-
+ .../smm-gateway/common/smm_gateway_sp.c | 17 ++-
+ 7 files changed, 123 insertions(+), 91 deletions(-)
+
+diff --git a/components/rpc/mm_communicate/common/mm_communicate_call_args.h b/components/rpc/mm_communicate/common/mm_communicate_call_args.h
+index 7d7311d..280c04d 100644
+--- a/components/rpc/mm_communicate/common/mm_communicate_call_args.h
++++ b/components/rpc/mm_communicate/common/mm_communicate_call_args.h
+@@ -1,6 +1,6 @@
+ /* SPDX-License-Identifier: BSD-3-Clause */
+ /*
+- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ */
+
+ #ifndef MM_COMMUNICATE_CALL_ARGS_H_
+@@ -12,13 +12,12 @@
+ */
+
+ /* SP message arg indexes */
+-#define MM_COMMUNICATE_CALL_ARGS_COMM_BUFFER_ADDRESS 0
+-#define MM_COMMUNICATE_CALL_ARGS_COMM_BUFFER_SIZE 1
++#define MM_COMMUNICATE_CALL_ARGS_COMM_BUFFER_OFFSET 0
+
+-#define MM_COMMUNICATE_CALL_ARGS_RETURN_ID 0
+-#define MM_COMMUNICATE_CALL_ARGS_RETURN_CODE 1
+-#define MM_COMMUNICATE_CALL_ARGS_MBZ0 2
+-#define MM_COMMUNICATE_CALL_ARGS_MBZ1 3
+-#define MM_COMMUNICATE_CALL_ARGS_MBZ2 4
++#define MM_COMMUNICATE_CALL_ARGS_RETURN_CODE 0
++#define MM_COMMUNICATE_CALL_ARGS_MBZ0 1
++#define MM_COMMUNICATE_CALL_ARGS_MBZ1 2
++#define MM_COMMUNICATE_CALL_ARGS_MBZ2 3
++#define MM_COMMUNICATE_CALL_ARGS_MBZ3 4
+
+ #endif /* MM_COMMUNICATE_CALL_ARGS_H_ */
+diff --git a/components/rpc/mm_communicate/endpoint/sp/mm_communicate_call_ep.c b/components/rpc/mm_communicate/endpoint/sp/mm_communicate_call_ep.c
+index dc49e64..93aa0f4 100644
+--- a/components/rpc/mm_communicate/endpoint/sp/mm_communicate_call_ep.c
++++ b/components/rpc/mm_communicate/endpoint/sp/mm_communicate_call_ep.c
+@@ -35,7 +35,8 @@ bool mm_communicate_call_ep_init(struct mm_communicate_ep *call_ep, uint8_t *com
+
+ static int32_t invoke_mm_service(struct mm_communicate_ep *call_ep, uint16_t source_id,
+ struct mm_service_interface *iface,
+- EFI_MM_COMMUNICATE_HEADER *header)
++ EFI_MM_COMMUNICATE_HEADER *header,
++ size_t buffer_size)
+ {
+ rpc_status_t rpc_status = TS_RPC_ERROR_INTERNAL;
+ struct mm_service_call_req call_req = { 0 };
+@@ -49,11 +50,11 @@ static int32_t invoke_mm_service(struct mm_communicate_ep *call_ep, uint16_t sou
+ */
+ call_req.req_buf.data = header->Data;
+ call_req.req_buf.data_len = header->MessageLength;
+- call_req.req_buf.size = call_ep->comm_buffer_size - EFI_MM_COMMUNICATE_HEADER_SIZE;
++ call_req.req_buf.size = buffer_size;
+
+ call_req.resp_buf.data = header->Data;
+ call_req.resp_buf.data_len = 0;
+- call_req.resp_buf.size = call_ep->comm_buffer_size - EFI_MM_COMMUNICATE_HEADER_SIZE;
++ call_req.resp_buf.size = buffer_size;
+
+ result = iface->receive(iface, &call_req);
+
+@@ -63,32 +64,38 @@ static int32_t invoke_mm_service(struct mm_communicate_ep *call_ep, uint16_t sou
+ }
+
+ static int32_t handle_mm_communicate(struct mm_communicate_ep *call_ep, uint16_t source_id,
+- uintptr_t buffer_addr, size_t buffer_size)
++ size_t buffer_offset)
+ {
+- uintptr_t buffer_arg = 0;
+- size_t request_size = 0;
++ size_t header_end_offset = 0;
++ size_t request_end_offset = 0;
++ size_t buffer_size = 0;
+ EFI_MM_COMMUNICATE_HEADER *header = NULL;
+ unsigned int i = 0;
+
+- /* Validating call args according to ARM MM spec 3.2.4 */
+- if (buffer_addr == 0)
++ if (ADD_OVERFLOW(buffer_offset, EFI_MM_COMMUNICATE_HEADER_SIZE, &header_end_offset))
++ return MM_RETURN_CODE_INVALID_PARAMETER;
++
++ if (call_ep->comm_buffer_size < header_end_offset)
+ return MM_RETURN_CODE_INVALID_PARAMETER;
+
+ /* Validating comm buffer contents */
+- header = (EFI_MM_COMMUNICATE_HEADER *)call_ep->comm_buffer;
+- if (ADD_OVERFLOW(header->MessageLength, EFI_MM_COMMUNICATE_HEADER_SIZE, &request_size))
++ header = (EFI_MM_COMMUNICATE_HEADER *)(call_ep->comm_buffer + buffer_offset);
++ if (ADD_OVERFLOW(header_end_offset, header->MessageLength, &request_end_offset))
+ return MM_RETURN_CODE_INVALID_PARAMETER;
+
+- if (call_ep->comm_buffer_size < request_size)
++ if (call_ep->comm_buffer_size < request_end_offset)
+ return MM_RETURN_CODE_INVALID_PARAMETER;
+
++ buffer_size = call_ep->comm_buffer_size - header_end_offset;
++
+ /* Finding iface_id by GUID */
+ for (i = 0; i < ARRAY_SIZE(call_ep->service_table); i++) {
+ const struct mm_service_entry *entry = &call_ep->service_table[i];
+
+ if (entry->iface != NULL &&
+ memcmp(&header->HeaderGuid, &entry->guid, sizeof(entry->guid)) == 0)
+- return invoke_mm_service(call_ep, source_id, entry->iface, header);
++ return invoke_mm_service(call_ep, source_id, entry->iface, header,
++ buffer_size);
+ }
+
+ return MM_RETURN_CODE_NOT_SUPPORTED;
+@@ -123,19 +130,16 @@ void mm_communicate_call_ep_receive(struct mm_communicate_ep *mm_communicate_cal
+ const struct ffa_direct_msg *req_msg,
+ struct ffa_direct_msg *resp_msg)
+ {
+- int32_t return_value = 0;
+- uintptr_t buffer_address = 0;
+- size_t buffer_size = 0;
+-
+- buffer_address = req_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_COMM_BUFFER_ADDRESS];
+- buffer_size = req_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_COMM_BUFFER_SIZE];
+-
+- return_value = handle_mm_communicate(mm_communicate_call_ep, req_msg->source_id,
+- buffer_address, buffer_size);
+-
+- resp_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_RETURN_ID] = ARM_SVC_ID_SP_EVENT_COMPLETE;
+- resp_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_RETURN_CODE] = return_value;
+- resp_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_MBZ0] = 0;
+- resp_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_MBZ1] = 0;
+- resp_msg->args.args32[MM_COMMUNICATE_CALL_ARGS_MBZ2] = 0;
++ int32_t return_value = MM_RETURN_CODE_NOT_SUPPORTED;
++ size_t buffer_offset = req_msg->args.args64[MM_COMMUNICATE_CALL_ARGS_COMM_BUFFER_OFFSET];
++
++ return_value = handle_mm_communicate(mm_communicate_call_ep,
++ req_msg->source_id,
++ buffer_offset);
++
++ resp_msg->args.args64[MM_COMMUNICATE_CALL_ARGS_RETURN_CODE] = return_value;
++ resp_msg->args.args64[MM_COMMUNICATE_CALL_ARGS_MBZ0] = 0;
++ resp_msg->args.args64[MM_COMMUNICATE_CALL_ARGS_MBZ1] = 0;
++ resp_msg->args.args64[MM_COMMUNICATE_CALL_ARGS_MBZ2] = 0;
++ resp_msg->args.args64[MM_COMMUNICATE_CALL_ARGS_MBZ3] = 0;
+ }
+diff --git a/components/rpc/mm_communicate/endpoint/sp/test/mock_mm_service.cpp b/components/rpc/mm_communicate/endpoint/sp/test/mock_mm_service.cpp
+index a58c33a..0ae2a80 100644
+--- a/components/rpc/mm_communicate/endpoint/sp/test/mock_mm_service.cpp
++++ b/components/rpc/mm_communicate/endpoint/sp/test/mock_mm_service.cpp
+@@ -1,6 +1,6 @@
+ // SPDX-License-Identifier: BSD-3-Clause
+ /*
+- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ */
+
+ #include <CppUTestExt/MockSupport.h>
+@@ -16,7 +16,7 @@ void mock_mm_service_init(void)
+
+ void expect_mock_mm_service_receive(struct mm_service_interface *iface,
+ const struct mm_service_call_req *req,
+- int32_t result)
++ int64_t result)
+ {
+ mock().expectOneCall("mm_service_receive").onObject(iface).
+ withOutputParameterReturning("resp_buf_data_len", &req->resp_buf.data_len,
+@@ -31,5 +31,5 @@ int32_t mock_mm_service_receive(struct mm_service_interface *iface,
+ return mock().actualCall("mm_service_receive").onObject(iface).
+ withOutputParameter("resp_buf_data_len", &req->resp_buf.data_len).
+ withParameterOfType("mm_service_call_req", "req", req).
+- returnIntValue();
++ returnLongIntValue();
+ }
+diff --git a/components/rpc/mm_communicate/endpoint/sp/test/mock_mm_service.h b/components/rpc/mm_communicate/endpoint/sp/test/mock_mm_service.h
+index 768022d..56c8a26 100644
+--- a/components/rpc/mm_communicate/endpoint/sp/test/mock_mm_service.h
++++ b/components/rpc/mm_communicate/endpoint/sp/test/mock_mm_service.h
+@@ -1,6 +1,6 @@
+ /* SPDX-License-Identifier: BSD-3-Clause */
+ /*
+- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ */
+
+ #ifndef MOCK_MM_SERVICE_H_
+@@ -16,7 +16,7 @@ void mock_mm_service_init(void);
+
+ void expect_mock_mm_service_receive(struct mm_service_interface *iface,
+ const struct mm_service_call_req *req,
+- int32_t result);
++ int64_t result);
+
+ int32_t mock_mm_service_receive(struct mm_service_interface *iface,
+ struct mm_service_call_req *req);
+diff --git a/components/rpc/mm_communicate/endpoint/sp/test/test_mm_communicate_call_ep.cpp b/components/rpc/mm_communicate/endpoint/sp/test/test_mm_communicate_call_ep.cpp
+index 55a61fb..5aaa3a6 100644
+--- a/components/rpc/mm_communicate/endpoint/sp/test/test_mm_communicate_call_ep.cpp
++++ b/components/rpc/mm_communicate/endpoint/sp/test/test_mm_communicate_call_ep.cpp
+@@ -1,6 +1,6 @@
+ // SPDX-License-Identifier: BSD-3-Clause
+ /*
+- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ */
+
+ #include <CppUTest/TestHarness.h>
+@@ -32,14 +32,14 @@ TEST_GROUP(mm_communicate_call_ep)
+ mock().clear();
+ }
+
+- void check_sp_msg(const struct ffa_direct_msg *msg, uint32_t arg0,
+- uint32_t arg1, uint32_t arg2, uint32_t arg3, uint32_t arg4)
++ void check_sp_msg(const struct ffa_direct_msg *msg, uint64_t arg0,
++ uint64_t arg1, uint64_t arg2, uint64_t arg3, uint64_t arg4)
+ {
+- UNSIGNED_LONGLONGS_EQUAL(arg0, msg->args[0]);
+- UNSIGNED_LONGLONGS_EQUAL(arg1, msg->args[1]);
+- UNSIGNED_LONGLONGS_EQUAL(arg2, msg->args[2]);
+- UNSIGNED_LONGLONGS_EQUAL(arg3, msg->args[3]);
+- UNSIGNED_LONGLONGS_EQUAL(arg4, msg->args[4]);
++ UNSIGNED_LONGLONGS_EQUAL(arg0, msg->args.args64[0]);
++ UNSIGNED_LONGLONGS_EQUAL(arg1, msg->args.args64[1]);
++ UNSIGNED_LONGLONGS_EQUAL(arg2, msg->args.args64[2]);
++ UNSIGNED_LONGLONGS_EQUAL(arg3, msg->args.args64[3]);
++ UNSIGNED_LONGLONGS_EQUAL(arg4, msg->args.args64[4]);
+ }
+
+ struct mm_communicate_ep call_ep;
+@@ -114,59 +114,54 @@ TEST(mm_communicate_call_ep, attach_do_not_fit)
+ }
+ }
+
+-TEST(mm_communicate_call_ep, mm_communicate_no_buffer_arg)
++TEST(mm_communicate_call_ep, mm_communicate_offset_int_overflow)
+ {
+ CHECK_TRUE(mm_communicate_call_ep_init(&call_ep, comm_buffer, sizeof(comm_buffer)));
++ req_msg.args.args64[0] = 0xffffffffffffffff;
+
+ mm_communicate_call_ep_receive(&call_ep, &req_msg, &resp_msg);
+
+- check_sp_msg(&resp_msg, ARM_SVC_ID_SP_EVENT_COMPLETE, MM_RETURN_CODE_INVALID_PARAMETER,
+- 0, 0, 0);
++ check_sp_msg(&resp_msg, MM_RETURN_CODE_INVALID_PARAMETER, 0, 0, 0, 0);
+ }
+
+-TEST(mm_communicate_call_ep, mm_communicate_length_overflow)
++TEST(mm_communicate_call_ep, mm_communicate_offset_overflow)
+ {
+ CHECK_TRUE(mm_communicate_call_ep_init(&call_ep, comm_buffer, sizeof(comm_buffer)));
++ req_msg.args.args64[0] = sizeof(comm_buffer) - EFI_MM_COMMUNICATE_HEADER_SIZE + 1;
++
++ mm_communicate_call_ep_receive(&call_ep, &req_msg, &resp_msg);
+
+- req_msg.args[0] = (uintptr_t)comm_buffer;
+- req_msg.args[1] = sizeof(comm_buffer);
++ check_sp_msg(&resp_msg, MM_RETURN_CODE_INVALID_PARAMETER, 0, 0, 0, 0);
++}
+
++TEST(mm_communicate_call_ep, mm_communicate_length_overflow)
++{
++ CHECK_TRUE(mm_communicate_call_ep_init(&call_ep, comm_buffer, sizeof(comm_buffer)));
+ header->MessageLength = UINT64_MAX - EFI_MM_COMMUNICATE_HEADER_SIZE + 1;
+
+ mm_communicate_call_ep_receive(&call_ep, &req_msg, &resp_msg);
+
+- check_sp_msg(&resp_msg, ARM_SVC_ID_SP_EVENT_COMPLETE, MM_RETURN_CODE_INVALID_PARAMETER,
+- 0, 0, 0);
++ check_sp_msg(&resp_msg, MM_RETURN_CODE_INVALID_PARAMETER, 0, 0, 0, 0);
+ }
+
+ TEST(mm_communicate_call_ep, mm_communicate_too_large)
+ {
+ CHECK_TRUE(mm_communicate_call_ep_init(&call_ep, comm_buffer, sizeof(comm_buffer)));
+-
+- req_msg.args[0] = (uintptr_t)comm_buffer;
+- req_msg.args[1] = sizeof(comm_buffer);
+-
+ header->MessageLength = sizeof(comm_buffer) - EFI_MM_COMMUNICATE_HEADER_SIZE + 1;
+
+ mm_communicate_call_ep_receive(&call_ep, &req_msg, &resp_msg);
+
+- check_sp_msg(&resp_msg, ARM_SVC_ID_SP_EVENT_COMPLETE, MM_RETURN_CODE_INVALID_PARAMETER,
+- 0, 0, 0);
++ check_sp_msg(&resp_msg, MM_RETURN_CODE_INVALID_PARAMETER, 0, 0, 0, 0);
+ }
+
+ TEST(mm_communicate_call_ep, mm_communicate_no_handler)
+ {
+ CHECK_TRUE(mm_communicate_call_ep_init(&call_ep, comm_buffer, sizeof(comm_buffer)));
+-
+- req_msg.args[0] = (uintptr_t)comm_buffer;
+- req_msg.args[1] = sizeof(comm_buffer);
+-
+ header->MessageLength = 0;
+
+ mm_communicate_call_ep_receive(&call_ep, &req_msg, &resp_msg);
+
+- check_sp_msg(&resp_msg, ARM_SVC_ID_SP_EVENT_COMPLETE, MM_RETURN_CODE_NOT_SUPPORTED,
+- 0, 0, 0);
++ check_sp_msg(&resp_msg, MM_RETURN_CODE_NOT_SUPPORTED, 0, 0, 0, 0);
+ }
+
+ TEST(mm_communicate_call_ep, mm_communicate_single_handler_not_matching)
+@@ -175,16 +170,11 @@ TEST(mm_communicate_call_ep, mm_communicate_single_handler_not_matching)
+
+ CHECK_TRUE(mm_communicate_call_ep_init(&call_ep, comm_buffer, sizeof(comm_buffer)));
+ mm_communicate_call_ep_attach_service(&call_ep, &guid0, &iface);
+-
+- req_msg.args[0] = (uintptr_t)comm_buffer;
+- req_msg.args[1] = sizeof(comm_buffer);
+-
+ header->MessageLength = 0;
+
+ mm_communicate_call_ep_receive(&call_ep, &req_msg, &resp_msg);
+
+- check_sp_msg(&resp_msg, ARM_SVC_ID_SP_EVENT_COMPLETE, MM_RETURN_CODE_NOT_SUPPORTED,
+- 0, 0, 0);
++ check_sp_msg(&resp_msg, MM_RETURN_CODE_NOT_SUPPORTED, 0, 0, 0, 0);
+ }
+
+ TEST(mm_communicate_call_ep, mm_communicate_single_handler_matching)
+@@ -211,19 +201,55 @@ TEST(mm_communicate_call_ep, mm_communicate_single_handler_matching)
+ CHECK_TRUE(mm_communicate_call_ep_init(&call_ep, comm_buffer, sizeof(comm_buffer)));
+ mm_communicate_call_ep_attach_service(&call_ep, &guid0, &iface);
+
+- req_msg.args[0] = (uintptr_t)comm_buffer;
+- req_msg.args[1] = sizeof(comm_buffer);
++ memcpy(&header->HeaderGuid, &guid0, sizeof(guid0));
++ header->MessageLength = req_len;
++
++ expect_mock_mm_service_receive(&iface, &req, MM_RETURN_CODE_SUCCESS);
++
++ mm_communicate_call_ep_receive(&call_ep, &req_msg, &resp_msg);
++
++ check_sp_msg(&resp_msg, MM_RETURN_CODE_SUCCESS, 0, 0, 0, 0);
++}
++
++TEST(mm_communicate_call_ep, mm_communicate_single_handler_matching_with_offset)
++{
++ const size_t offset = 0x10;
++ EFI_MM_COMMUNICATE_HEADER *header = (EFI_MM_COMMUNICATE_HEADER *)(comm_buffer + offset);
++
++ const size_t req_len = 16;
++ struct mm_service_interface iface = {
++ .context = (void *)0x1234,
++ .receive = mock_mm_service_receive
++ };
++ struct mm_service_call_req req = {
++ .guid = &guid0,
++ .req_buf = {
++ .size = sizeof(comm_buffer) - EFI_MM_COMMUNICATE_HEADER_SIZE - offset,
++ .data_len = req_len,
++ .data = header->Data
++ },
++ .resp_buf = {
++ .size = sizeof(comm_buffer) - EFI_MM_COMMUNICATE_HEADER_SIZE - offset,
++ .data_len = 0,
++ .data = header->Data
++ },
++ };
++
++ CHECK_TRUE(mm_communicate_call_ep_init(&call_ep, comm_buffer, sizeof(comm_buffer)));
++ mm_communicate_call_ep_attach_service(&call_ep, &guid0, &iface);
+
+ memcpy(&header->HeaderGuid, &guid0, sizeof(guid0));
+ header->MessageLength = req_len;
++ req_msg.args.args64[0] = offset;
+
+ expect_mock_mm_service_receive(&iface, &req, MM_RETURN_CODE_SUCCESS);
+
+ mm_communicate_call_ep_receive(&call_ep, &req_msg, &resp_msg);
+
+- check_sp_msg(&resp_msg, ARM_SVC_ID_SP_EVENT_COMPLETE, MM_RETURN_CODE_SUCCESS, 0, 0, 0);
++ check_sp_msg(&resp_msg, MM_RETURN_CODE_SUCCESS, 0, 0, 0, 0);
+ }
+
++
+ TEST(mm_communicate_call_ep, mm_communicate_single_handler_matching_error)
+ {
+ const size_t req_len = 16;
+@@ -248,9 +274,6 @@ TEST(mm_communicate_call_ep, mm_communicate_single_handler_matching_error)
+ CHECK_TRUE(mm_communicate_call_ep_init(&call_ep, comm_buffer, sizeof(comm_buffer)));
+ mm_communicate_call_ep_attach_service(&call_ep, &guid0, &iface);
+
+- req_msg.args[0] = (uintptr_t)comm_buffer;
+- req_msg.args[1] = sizeof(comm_buffer);
+-
+ memcpy(&header->HeaderGuid, &guid0, sizeof(guid0));
+ header->MessageLength = req_len;
+
+@@ -258,7 +281,7 @@ TEST(mm_communicate_call_ep, mm_communicate_single_handler_matching_error)
+
+ mm_communicate_call_ep_receive(&call_ep, &req_msg, &resp_msg);
+
+- check_sp_msg(&resp_msg, ARM_SVC_ID_SP_EVENT_COMPLETE, MM_RETURN_CODE_NO_MEMORY, 0, 0, 0);
++ check_sp_msg(&resp_msg, MM_RETURN_CODE_NO_MEMORY, 0, 0, 0, 0);
+ }
+
+ TEST(mm_communicate_call_ep, mm_communicate_two_handlers)
+@@ -290,9 +313,6 @@ TEST(mm_communicate_call_ep, mm_communicate_two_handlers)
+ mm_communicate_call_ep_attach_service(&call_ep, &guid0, &iface0);
+ mm_communicate_call_ep_attach_service(&call_ep, &guid1, &iface1);
+
+- req_msg.args[0] = (uintptr_t)comm_buffer;
+- req_msg.args[1] = sizeof(comm_buffer);
+-
+ memcpy(&header->HeaderGuid, &guid1, sizeof(guid0));
+ header->MessageLength = req_len;
+
+@@ -300,5 +320,5 @@ TEST(mm_communicate_call_ep, mm_communicate_two_handlers)
+
+ mm_communicate_call_ep_receive(&call_ep, &req_msg, &resp_msg);
+
+- check_sp_msg(&resp_msg, ARM_SVC_ID_SP_EVENT_COMPLETE, MM_RETURN_CODE_SUCCESS, 0, 0, 0);
++ check_sp_msg(&resp_msg, MM_RETURN_CODE_SUCCESS, 0, 0, 0, 0);
+ }
+diff --git a/components/rpc/mm_communicate/endpoint/sp/test/test_mock_mm_service.cpp b/components/rpc/mm_communicate/endpoint/sp/test/test_mock_mm_service.cpp
+index 360a8fa..600386e 100644
+--- a/components/rpc/mm_communicate/endpoint/sp/test/test_mock_mm_service.cpp
++++ b/components/rpc/mm_communicate/endpoint/sp/test/test_mock_mm_service.cpp
+@@ -1,6 +1,6 @@
+ // SPDX-License-Identifier: BSD-3-Clause
+ /*
+- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
++ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ */
+
+ #include <CppUTest/TestHarness.h>
+@@ -44,7 +44,7 @@ TEST(mock_mm_service, receive)
+ .data = (void *)0x2345
+ }
+ };
+- int32_t result = -123456;
++ int64_t result = -123456;
+
+ expect_mock_mm_service_receive(&iface, &req, result);
+ LONGS_EQUAL(result, mock_mm_service_receive(&iface, &req));
+diff --git a/deployments/smm-gateway/common/smm_gateway_sp.c b/deployments/smm-gateway/common/smm_gateway_sp.c
+index 3697b7f..3062877 100644
+--- a/deployments/smm-gateway/common/smm_gateway_sp.c
++++ b/deployments/smm-gateway/common/smm_gateway_sp.c
+@@ -11,6 +11,7 @@
+ #include "components/rpc/mm_communicate/endpoint/sp/mm_communicate_call_ep.h"
+ #include "components/service/smm_variable/frontend/mm_communicate/smm_variable_mm_service.h"
+ #include "platform/interface/memory_region.h"
++#include "protocols/common/mm/mm_smc.h"
+ #include <ffa_api.h>
+ #include <sp_api.h>
+ #include <sp_messaging.h>
+@@ -68,12 +69,20 @@ void __noreturn sp_main(struct ffa_init_info *init_info)
+ ffa_msg_wait(&req_msg);
+
+ while (1) {
++ if (FFA_IS_32_BIT_FUNC(req_msg.function_id)) {
++ EMSG("MM communicate over 32 bit FF-A messages is not supported");
++ ffa_msg_send_direct_resp_32(req_msg.destination_id, req_msg.source_id,
++ MM_RETURN_CODE_NOT_SUPPORTED, 0, 0, 0, 0,
++ &req_msg);
++ continue;
++ }
++
+ mm_communicate_call_ep_receive(&mm_communicate_call_ep, &req_msg, &resp_msg);
+
+- ffa_msg_send_direct_resp_32(req_msg.destination_id,
+- req_msg.source_id, resp_msg.args.args32[0],
+- resp_msg.args.args32[1], resp_msg.args.args32[2],
+- resp_msg.args.args32[3], resp_msg.args.args32[4],
++ ffa_msg_send_direct_resp_64(req_msg.destination_id,
++ req_msg.source_id, resp_msg.args.args64[0],
++ resp_msg.args.args64[1], resp_msg.args.args64[2],
++ resp_msg.args.args64[3], resp_msg.args.args64[4],
+ &req_msg);
+ }
+
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0023-Change-MM-communicate-RPC-protocol-of-MM-caller.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0023-Change-MM-communicate-RPC-protocol-of-MM-caller.patch
new file mode 100644
index 0000000000..4244225b30
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0023-Change-MM-communicate-RPC-protocol-of-MM-caller.patch
@@ -0,0 +1,100 @@
+From 96d226e4e0ea9c633dbc5d05ae2a7a2f4ba0f39e Mon Sep 17 00:00:00 2001
+From: Imre Kis <imre.kis@arm.com>
+Date: Fri, 22 Jul 2022 17:22:05 +0200
+Subject: [PATCH 23/24] Change MM communicate RPC protocol of MM caller
+
+Replace buffer address and size parameter by offset in buffer parameter
+and move to 64 bit FF-A direct message call. This change requires an
+updated version of the debugfs driver which supports 64 bit direct
+messages.
+
+Signed-off-by: Imre Kis <imre.kis@arm.com>
+Change-Id: I003c1de7f9c3f45bbc52e4a51d622ec960fa7052
+
+Upstream-Status: Pending [In review]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+---
+ .../caller/linux/mm_communicate_caller.c | 35 +++++++------------
+ .../LinuxFFAUserShim/LinuxFFAUserShim.cmake | 2 +-
+ 2 files changed, 14 insertions(+), 23 deletions(-)
+
+diff --git a/components/rpc/mm_communicate/caller/linux/mm_communicate_caller.c b/components/rpc/mm_communicate/caller/linux/mm_communicate_caller.c
+index 0c505b4..0287acf 100644
+--- a/components/rpc/mm_communicate/caller/linux/mm_communicate_caller.c
++++ b/components/rpc/mm_communicate/caller/linux/mm_communicate_caller.c
+@@ -19,7 +19,7 @@
+ #include <string.h>
+ #include <errno.h>
+
+-#define KERNEL_MOD_REQ_VER_MAJOR 2
++#define KERNEL_MOD_REQ_VER_MAJOR 5
+ #define KERNEL_MOD_REQ_VER_MINOR 0
+ #define KERNEL_MOD_REQ_VER_PATCH 0
+
+@@ -294,37 +294,28 @@ static rpc_status_t call_invoke(
+
+ direct_msg.dst_id = s->dest_partition_id;
+
+- direct_msg.args[MM_COMMUNICATE_CALL_ARGS_COMM_BUFFER_ADDRESS] = (uintptr_t)s->comm_buffer;
+- direct_msg.args[MM_COMMUNICATE_CALL_ARGS_COMM_BUFFER_SIZE] = s->comm_buffer_size;
++ direct_msg.args[MM_COMMUNICATE_CALL_ARGS_COMM_BUFFER_OFFSET] = 0;
+
+ int kernel_op_status = ioctl(s->ffa_fd, FFA_IOC_MSG_SEND, &direct_msg);
+
+ if (kernel_op_status == 0) {
+-
+ /* Kernel send operation completed normally */
+- uint32_t mm_return_id = direct_msg.args[MM_COMMUNICATE_CALL_ARGS_RETURN_ID];
+ int32_t mm_return_code = direct_msg.args[MM_COMMUNICATE_CALL_ARGS_RETURN_CODE];
+
+- if (mm_return_id == ARM_SVC_ID_SP_EVENT_COMPLETE) {
+-
+- if (mm_return_code == MM_RETURN_CODE_SUCCESS) {
+-
+- mm_communicate_serializer_header_decode(s->serializer,
+- s->comm_buffer, (efi_status_t*)opstatus, resp_buf, resp_len);
+-
+- if (*resp_len > s->req_len) {
++ if (mm_return_code == MM_RETURN_CODE_SUCCESS) {
++ mm_communicate_serializer_header_decode(
++ s->serializer, s->comm_buffer, (efi_status_t *)opstatus,
++ resp_buf, resp_len);
+
+- s->scrub_len =
+- mm_communicate_serializer_header_size(s->serializer) +
+- *resp_len;
+- }
++ if (*resp_len > s->req_len)
++ s->scrub_len =
++ mm_communicate_serializer_header_size(
++ s->serializer) + *resp_len;
+
+- rpc_status = TS_RPC_CALL_ACCEPTED;
+- }
+- else {
++ rpc_status = TS_RPC_CALL_ACCEPTED;
++ } else {
+
+- rpc_status = mm_return_code_to_rpc_status(mm_return_code);
+- }
++ rpc_status = mm_return_code_to_rpc_status(mm_return_code);
+ }
+ }
+ }
+diff --git a/external/LinuxFFAUserShim/LinuxFFAUserShim.cmake b/external/LinuxFFAUserShim/LinuxFFAUserShim.cmake
+index 7ba64af..9c2252c 100644
+--- a/external/LinuxFFAUserShim/LinuxFFAUserShim.cmake
++++ b/external/LinuxFFAUserShim/LinuxFFAUserShim.cmake
+@@ -11,7 +11,7 @@
+
+ set(LINUX_FFA_USER_SHIM_URL "https://git.gitlab.arm.com/linux-arm/linux-trusted-services.git"
+ CACHE STRING "Linux FF-A user space shim repository URL")
+-set(LINUX_FFA_USER_SHIM_REFSPEC "v4.0.0"
++set(LINUX_FFA_USER_SHIM_REFSPEC "v5.0.0"
+ CACHE STRING "Linux FF-A user space shim git refspec")
+
+ set(LINUX_FFA_USER_SHIM_SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/_deps/linux_ffa_user_shim-src"
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/files/0024-Deny-64-bit-FF-A-messages-in-FF-A-RPC-endpoint.patch b/meta-arm/meta-arm/recipes-security/trusted-services/files/0024-Deny-64-bit-FF-A-messages-in-FF-A-RPC-endpoint.patch
new file mode 100644
index 0000000000..01cf523a82
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/files/0024-Deny-64-bit-FF-A-messages-in-FF-A-RPC-endpoint.patch
@@ -0,0 +1,70 @@
+From f173e99554512c982665c1d5d4b0543421177b09 Mon Sep 17 00:00:00 2001
+From: Imre Kis <imre.kis@arm.com>
+Date: Tue, 26 Jul 2022 17:06:46 +0200
+Subject: [PATCH 24/24] Deny 64 bit FF-A messages in FF-A RPC endpoint
+
+FF-A RPC protocol only allows 32 bit FF-A direct messages thus deny all
+64 bit messages in the RPC endpoint.
+
+Signed-off-by: Imre Kis <imre.kis@arm.com>
+Change-Id: I37c95425f80b6e2821b3f6b8649ceba8aa007bce
+
+Upstream-Status: Pending [In review]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+---
+ .../rpc/ffarpc/endpoint/ffarpc_call_ep.c | 31 ++++++++++++-------
+ 1 file changed, 20 insertions(+), 11 deletions(-)
+
+diff --git a/components/rpc/ffarpc/endpoint/ffarpc_call_ep.c b/components/rpc/ffarpc/endpoint/ffarpc_call_ep.c
+index c024196..3035c16 100644
+--- a/components/rpc/ffarpc/endpoint/ffarpc_call_ep.c
++++ b/components/rpc/ffarpc/endpoint/ffarpc_call_ep.c
+@@ -12,6 +12,7 @@
+ #include <protocols/rpc/common/packed-c/status.h>
+ #include <trace.h>
+ #include <stddef.h>
++#include <string.h>
+
+ /* TODO: remove this when own ID will be available in libsp */
+ extern uint16_t own_id;
+@@ -260,17 +261,25 @@ void ffa_call_ep_receive(struct ffa_call_ep *call_ep,
+ const struct sp_msg *req_msg,
+ struct sp_msg *resp_msg)
+ {
+- const uint32_t *req_args = req_msg->args.args32;
+- uint32_t *resp_args = resp_msg->args.args32;
+-
+- uint16_t source_id = req_msg->source_id;
+- uint32_t ifaceid_opcode = req_args[SP_CALL_ARGS_IFACE_ID_OPCODE];
+-
+- if (FFA_CALL_ARGS_EXTRACT_IFACE(ifaceid_opcode) == FFA_CALL_MGMT_IFACE_ID) {
+- /* It's an RPC layer management request */
+- handle_mgmt_msg(call_ep, source_id, req_args, resp_args);
++ resp_msg->is_64bit_message = req_msg->is_64bit_message;
++ memset(&resp_msg->args, 0x00, sizeof(resp_msg->args));
++
++ if (!req_msg->is_64bit_message) {
++ const uint32_t *req_args = req_msg->args.args32;
++ uint32_t *resp_args = resp_msg->args.args32;
++ uint16_t source_id = req_msg->source_id;
++ uint32_t ifaceid_opcode = req_args[SP_CALL_ARGS_IFACE_ID_OPCODE];
++
++ if (FFA_CALL_ARGS_EXTRACT_IFACE(ifaceid_opcode) == FFA_CALL_MGMT_IFACE_ID) {
++ /* It's an RPC layer management request */
++ handle_mgmt_msg(call_ep, source_id, req_args, resp_args);
++ } else {
++ /* Assume anything else is a service request */
++ handle_service_msg(call_ep, source_id, req_args, resp_args);
++ }
+ } else {
+- /* Assume anything else is a service request */
+- handle_service_msg(call_ep, source_id, req_args, resp_args);
++ EMSG("64 bit FF-A messages are not supported by the TS RPC layer");
++ resp_msg->args.args64[SP_CALL_ARGS_RESP_RPC_STATUS] =
++ TS_RPC_ERROR_INVALID_PARAMETER;
+ }
+ }
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/libts/0001-QEMU-MM-communication-buffer-address.patch b/meta-arm/meta-arm/recipes-security/trusted-services/libts/0001-QEMU-MM-communication-buffer-address.patch
new file mode 100644
index 0000000000..2c21e6f109
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/libts/0001-QEMU-MM-communication-buffer-address.patch
@@ -0,0 +1,29 @@
+From 1fe74d7d5008aed61feb34a8d5d8b5f9144a58b2 Mon Sep 17 00:00:00 2001
+From: Anton Antonov <Anton.Antonov@arm.com>
+Date: Wed, 31 Aug 2022 16:33:13 +0100
+Subject: [PATCH] Update MM communication buffer address for qemuarm64 machine
+
+Upstream-Status: Inappropriate [qemuarm64 specific change]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+---
+ components/rpc/mm_communicate/caller/linux/carveout.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/components/rpc/mm_communicate/caller/linux/carveout.c b/components/rpc/mm_communicate/caller/linux/carveout.c
+index e3cdf16f..62845d30 100644
+--- a/components/rpc/mm_communicate/caller/linux/carveout.c
++++ b/components/rpc/mm_communicate/caller/linux/carveout.c
+@@ -12,8 +12,8 @@
+ #include "carveout.h"
+
+ /* Need to be aligned with carve-out used by StMM or smm-gateway. */
+-static const off_t carveout_pa = 0x0000000881000000;
+-static const size_t carveout_len = 0x8000;
++static const off_t carveout_pa = 0x42000000;
++static const size_t carveout_len = 0x1000;
+
+ int carveout_claim(uint8_t **buf, size_t *buf_size)
+ {
+--
+2.25.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/libts/tee-udev.rules b/meta-arm/meta-arm/recipes-security/trusted-services/libts/tee-udev.rules
new file mode 100644
index 0000000000..216fe993ed
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/libts/tee-udev.rules
@@ -0,0 +1,2 @@
+# tee devices can only be accessed by the teeclnt group members
+KERNEL=="tee[0-9]*", TAG+="systemd", MODE="0660", GROUP="teeclnt"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/libts_%.bbappend b/meta-arm/meta-arm/recipes-security/trusted-services/libts_%.bbappend
new file mode 100644
index 0000000000..f987e40c8d
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/libts_%.bbappend
@@ -0,0 +1,3 @@
+# Update MM communication buffer address for qemuarm64 machine
+SRC_URI:append:qemuarm64-secureboot = "file://0001-QEMU-MM-communication-buffer-address.patch \
+"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/libts_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/libts_git.bb
new file mode 100644
index 0000000000..dfcf8ce9a6
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/libts_git.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "Trusted Services libts library for the arm-linux enviroment. \
+ Used for locating and accessing services from a Linux userspace client"
+
+TS_ENV = "arm-linux"
+
+require trusted-services.inc
+
+SRC_URI += "file://tee-udev.rules \
+ "
+
+OECMAKE_SOURCEPATH="${S}/deployments/libts/${TS_ENV}"
+
+DEPENDS += "arm-ffa-tee arm-ffa-user"
+RRECOMMENDS:${PN} += "arm-ffa-tee"
+
+# arm-ffa-user.h is installed by arm-ffa-user recipe
+EXTRA_OECMAKE += "-DLINUX_FFA_USER_SHIM_INCLUDE_DIR:PATH=/usr/include \
+ "
+
+# Unix group name for dev/tee* ownership.
+TEE_GROUP_NAME ?= "teeclnt"
+
+do_install:append () {
+ if ${@oe.utils.conditional('VIRTUAL-RUNTIME_dev_manager', 'busybox-mdev', 'false', 'true', d)}; then
+ install -d ${D}${nonarch_base_libdir}/udev/rules.d/
+ install -m 755 ${WORKDIR}/tee-udev.rules ${D}${nonarch_base_libdir}/udev/rules.d/
+ sed -i -e "s/teeclnt/${TEE_GROUP_NAME}/" ${D}${nonarch_base_libdir}/udev/rules.d/tee-udev.rules
+ fi
+
+ # Move the dynamic libraries into the standard place.
+ # Update a cmake files to use correct paths.
+ install -d ${D}${libdir}
+ mv ${D}${TS_INSTALL}/lib/libts* ${D}${libdir}
+
+ sed -i -e "s#/${TS_ENV}##g" ${D}${TS_INSTALL}/lib/cmake/libtsTargets-noconfig.cmake
+ sed -i -e 's#INTERFACE_INCLUDE_DIRECTORIES.*$#INTERFACE_INCLUDE_DIRECTORIES "\${_IMPORT_PREFIX}/${TS_ENV}/include"#' ${D}${TS_INSTALL}/lib/cmake/libtsTargets.cmake
+}
+
+inherit ${@oe.utils.conditional('VIRTUAL-RUNTIME_dev_manager', 'busybox-mdev', '', 'useradd', d)}
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM:${PN} = "--system ${TEE_GROUP_NAME}"
+
+FILES:${PN} = "${libdir}/libts.so.* ${nonarch_base_libdir}/udev/rules.d/"
+FILES:${PN}-dev = "${TS_INSTALL}/lib/cmake ${TS_INSTALL}/include ${libdir}/libts.so"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/trusted-services-src.inc b/meta-arm/meta-arm/recipes-security/trusted-services/trusted-services-src.inc
new file mode 100644
index 0000000000..0251fef869
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/trusted-services-src.inc
@@ -0,0 +1,80 @@
+# Define sources of Trusted Service and all external dependencies
+
+LICENSE = "Apache-2.0 & BSD-3-Clause & BSD-2-Clause & Zlib"
+
+SRC_URI = "git://git.trustedfirmware.org/TS/trusted-services.git;protocol=https;branch=integration;name=trusted-services;destsuffix=git/trusted-services \
+ file://0004-correctly-find-headers-dir.patch \
+ file://0005-setting-sysroot-for-libgcc-lookup.patch \
+ file://0006-applying-lowercase-project-convention.patch \
+ file://0009-PSA-CRYPTO-API-INCLUDE.patch \
+ file://0010-change-libts-to-export-CMake-package.patch \
+ file://0011-Adapt-deployments-to-libts-changes.patch \
+ file://0017-Move-libsp-mocks-into-separate-component.patch \
+ file://0018-Add-mock-for-libsp-sp_discovery.patch \
+ file://0019-Add-mock-for-libsp-sp_memory_management.patch \
+ file://0020-Add-mock-for-libsp-sp_messaging.patch \
+ file://0021-Add-64-bit-direct-message-handling-to-libsp.patch \
+ file://0022-Change-MM-communicate-RPC-protocol-of-call-endpoint.patch \
+ file://0023-Change-MM-communicate-RPC-protocol-of-MM-caller.patch \
+ file://0024-Deny-64-bit-FF-A-messages-in-FF-A-RPC-endpoint.patch \
+"
+
+#latest on 05.07.22.
+SRCREV_trusted-services = "1b0c520279445fc4d85fc582eda5e5ff5f380c39"
+LIC_FILES_CHKSUM = "file://${S}/license.rst;md5=ea160bac7f690a069c608516b17997f4"
+
+S = "${WORKDIR}/git/trusted-services"
+PV ?= "0.0+git${SRCPV}"
+
+# DTC, tag "v1.6.1"
+SRC_URI += "git://github.com/dgibson/dtc;name=dtc;protocol=https;branch=main;destsuffix=git/dtc"
+SRCREV_dtc = "b6910bec11614980a21e46fbccc35934b671bd81"
+LIC_FILES_CHKSUM += "file://../dtc/README.license;md5=a1eb22e37f09df5b5511b8a278992d0e"
+
+# MbedTLS, tag "mbedtls-3.1.0"
+SRC_URI += "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;branch=master;destsuffix=git/mbedtls"
+SRCREV_mbedtls = "d65aeb37349ad1a50e0f6c9b694d4b5290d60e49"
+LIC_FILES_CHKSUM += "file://../mbedtls/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+# Nanopb, tag "nanopb-0.4.6"
+SRC_URI += "git://github.com/nanopb/nanopb.git;name=nanopb;protocol=https;branch=master;destsuffix=git/nanopb"
+SRCREV_nanopb = "afc499f9a410fc9bbf6c9c48cdd8d8b199d49eb4"
+LIC_FILES_CHKSUM += "file://../nanopb/LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f"
+
+# qcbor, tag "v1.0.0"
+SRC_URI += "git://github.com/laurencelundblade/QCBOR.git;name=qcbor;protocol=https;branch=master;destsuffix=git/qcbor"
+SRCREV_qcbor = "56b17bf9f74096774944bcac0829adcd887d391e"
+LIC_FILES_CHKSUM += "file://../qcbor/README.md;md5=e8ff2e88a722cdc55eddd0bb9aeca002"
+
+# T_Cose
+SRC_URI += "git://github.com/laurencelundblade/t_cose.git;name=tcose;protocol=https;branch=master;destsuffix=git/tcose"
+SRCREV_tcose = "fc3a4b2c7196ff582e8242de8bd4a1bc4eec577f"
+LIC_FILES_CHKSUM += "file://../tcose/LICENSE;md5=b2ebdbfb82602b97aa628f64cf4b65ad"
+
+# CppUTest, tag "v3.8"
+SRC_URI += "git://github.com/cpputest/cpputest.git;name=cpputest;protocol=https;branch=master;destsuffix=git/cpputest"
+SRCREV_cpputest = "e25097614e1c4856036366877a02346c4b36bb5b"
+LIC_FILES_CHKSUM += "file://../cpputest/COPYING;md5=ce5d5f1fe02bcd1343ced64a06fd4177"
+
+# TS ships patches for external dependencies that needs to be applied
+apply_ts_patches() {
+ for p in ${S}/external/qcbor/*.patch; do
+ patch -p1 -N -d ${WORKDIR}/git/qcbor < ${p} || true
+ done
+ for p in ${S}/external/t_cose/*.patch; do
+ patch -p1 -N -d ${WORKDIR}/git/tcose < ${p} || true
+ done
+ for p in ${S}/external/CppUTest/*.patch; do
+ patch -p1 -d ${WORKDIR}/git/cpputest < ${p}
+ done
+}
+do_patch[postfuncs] += "apply_ts_patches"
+
+# Paths to dependencies required by some TS SPs/tools
+EXTRA_OECMAKE += "-DDTC_SOURCE_DIR=${WORKDIR}/git/dtc \
+ -DCPPUTEST_SOURCE_DIR=${WORKDIR}/git/cpputest \
+ -DNANOPB_SOURCE_DIR=${WORKDIR}/git/nanopb \
+ -DT_COSE_SOURCE_DIR=${WORKDIR}/git/tcose \
+ -DQCBOR_SOURCE_DIR=${WORKDIR}/git/qcbor \
+ -DMBEDTLS_SOURCE_DIR=${WORKDIR}/git/mbedtls \
+ "
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/trusted-services.inc b/meta-arm/meta-arm/recipes-security/trusted-services/trusted-services.inc
new file mode 100644
index 0000000000..80c0849903
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/trusted-services.inc
@@ -0,0 +1,52 @@
+SUMMARY ?= "The Trusted Services: framework for developing root-of-trust services"
+HOMEPAGE = "https://trusted-services.readthedocs.io/en/latest/index.html"
+
+LICENSE = "Apache-2.0 & BSD-3-Clause & Zlib"
+
+inherit python3native cmake
+
+COMPATIBLE_HOST = "aarch64.*-linux"
+
+require trusted-services-src.inc
+
+# By default bitbake includes only ${S} (i.e git/trusted-services) in the maps.
+# We also need to include the TS dependencies source trees.
+DEBUG_PREFIX_MAP:append = "-fmacro-prefix-map=${WORKDIR}/git=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+ -fdebug-prefix-map=${WORKDIR}/git=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+"
+
+TS_PLATFORM ?= "ts/mock"
+
+# SP images are embedded into optee-os image
+# FIP packaging is not supported yet
+SP_PACKAGING_METHOD ?= "embedded"
+
+SYSROOT_DIRS += "/usr/opteesp /usr/arm-linux"
+
+# TS cmake files use find_file() to search through source code and build dirs.
+# Yocto cmake class limits CMAKE_FIND_ROOT_PATH and find_file() fails.
+# Include the source tree and build dirs into searchable path.
+OECMAKE_EXTRA_ROOT_PATH = "${WORKDIR}/git/ ${WORKDIR}/build/"
+
+EXTRA_OECMAKE += '-DLIBGCC_LOCATE_CFLAGS="--sysroot=${STAGING_DIR_HOST}" \
+ -DCROSS_COMPILE="${TARGET_PREFIX}" \
+ -DSP_PACKAGING_METHOD="${SP_PACKAGING_METHOD}" \
+ -DTS_PLATFORM="${TS_PLATFORM}" \
+ '
+export CROSS_COMPILE="${TARGET_PREFIX}"
+
+# Default TS installation path
+TS_INSTALL = "/usr/${TS_ENV}"
+
+# Use the Yocto cmake toolchain for arm-linux TS deployments and
+# the TS opteesp toolchain for opteesp TS deployments
+EXTRA_OECMAKE += "${@oe.utils.conditional('TS_ENV', 'opteesp', \
+ '-DCMAKE_TOOLCHAIN_FILE=${S}/environments/${TS_ENV}/default_toolchain_file.cmake', \
+ '-DTS_EXTERNAL_LIB_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake', \
+ d)} \
+ "
+
+# Paths to pre-built dependencies required by some TS SPs/tools
+EXTRA_OECMAKE += "-Dlibts_DIR=${STAGING_DIR_HOST}${TS_INSTALL}/lib/cmake/ \
+ -DNEWLIB_INSTALL_DIR=${STAGING_DIR_HOST}${TS_INSTALL}/newlib_install \
+ "
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-demo_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-demo_git.bb
new file mode 100644
index 0000000000..b0abb6ff58
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-demo_git.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Trusted Services ts-demo deployment for arm-linux. \
+ Used for running simple TS demo from Linux user-space \
+ on an Arm platform with real deployments of trusted services."
+
+TS_ENV = "arm-linux"
+
+require trusted-services.inc
+
+DEPENDS += "libts"
+RDEPENDS:${PN} += "libts"
+
+OECMAKE_SOURCEPATH="${S}/deployments/ts-demo/${TS_ENV}"
+
+FILES:${PN} = "${bindir}/ts-demo"
+
+do_install:append () {
+ install -d ${D}${bindir}
+ mv ${D}${TS_INSTALL}/bin/ts-demo ${D}${bindir}
+
+ rm -r --one-file-system ${D}${TS_INSTALL}
+}
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-newlib/0003-Add-newlib-deployment.patch b/meta-arm/meta-arm/recipes-security/trusted-services/ts-newlib/0003-Add-newlib-deployment.patch
new file mode 100644
index 0000000000..e43e7d2575
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-newlib/0003-Add-newlib-deployment.patch
@@ -0,0 +1,85 @@
+From 03337e3a509eace9f55a46993cfaadee0e796f46 Mon Sep 17 00:00:00 2001
+From: Gyorgy Szing <Gyorgy.Szing@arm.com>
+Date: Fri, 14 Jan 2022 20:35:53 +0000
+Subject: [PATCH 1/1] Add newlib deployment
+
+This deployment allow building newlib directly and not part of SP
+builds. The resulting binary can be used as a pre-build binary for
+building SPs later.
+The intent is to help integration systems, where recursive build is
+problematic, and there is no direct support for building newlib.
+
+Change-Id: I770cdfd3c39eb7bf9764de74dfb191c321c49561
+Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
+
+Upstream-Status: Pending [In review]
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+---
+ deployments/newlib/opteesp/CMakeLists.txt | 38 +++++++++++++++++++++++
+ tools/b-test/test_data.yaml | 4 +++
+ 2 files changed, 42 insertions(+)
+ create mode 100644 deployments/newlib/opteesp/CMakeLists.txt
+
+diff --git a/deployments/newlib/opteesp/CMakeLists.txt b/deployments/newlib/opteesp/CMakeLists.txt
+new file mode 100644
+index 00000000..593e0a96
+--- /dev/null
++++ b/deployments/newlib/opteesp/CMakeLists.txt
+@@ -0,0 +1,38 @@
++#-------------------------------------------------------------------------------
++# Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
++#
++# SPDX-License-Identifier: BSD-3-Clause
++#
++#-------------------------------------------------------------------------------
++cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
++include(../../deployment.cmake REQUIRED)
++
++#-------------------------------------------------------------------------------
++# The CMakeLists.txt for building the newlib deployment for opteesp
++#
++# Can be used to build the newlib library, which can be used to build SPs.
++#-------------------------------------------------------------------------------
++include(${TS_ROOT}/environments/opteesp/env.cmake)
++
++project(newlib C)
++
++# This is a dummy library not intended to be compiled ever. It is needed
++# to avoid opteesp specific newlib targeting files.
++add_library(dummy EXCLUDE_FROM_ALL)
++set(TGT dummy)
++# Build newlib as an external component.
++include(${TS_ROOT}/external/newlib/newlib.cmake)
++
++######################################## install
++if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
++ set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "location to install build output to." FORCE)
++endif()
++
++install(DIRECTORY ${NEWLIB_INSTALL_DIR} DESTINATION ${TS_ENV})
++
++#get_property(_tmp_lib TARGET stdlib::c PROPERTY IMPORTED_LOCATION)
++#get_filename_component(_tmp_path ${_tmp_lib} DIRECTORY)
++#install(DIRECTORY ${_tmp_path} DESTINATION ${TS_ENV})
++
++#get_property(_tmp_path TARGET stdlib::c PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
++#install(DIRECTORY ${_tmp_path} DESTINATION ${TS_ENV})
+diff --git a/tools/b-test/test_data.yaml b/tools/b-test/test_data.yaml
+index 7caafa8b..6bfacc66 100644
+--- a/tools/b-test/test_data.yaml
++++ b/tools/b-test/test_data.yaml
+@@ -69,6 +69,10 @@ data:
+ os_id : "GNU/Linux"
+ params:
+ - "-GUnix Makefiles"
++ - name: "newlib-optee-arm"
++ src: "$TS_ROOT/deployments/newlib/opteesp"
++ params:
++ - "-GUnix Makefiles"
+ - name: "platform-inspect-arm-linux"
+ src: "$TS_ROOT/deployments/platform-inspect/arm-linux"
+ os_id : "GNU/Linux"
+--
+2.37.0
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-newlib/0021-newlib-configure.patch b/meta-arm/meta-arm/recipes-security/trusted-services/ts-newlib/0021-newlib-configure.patch
new file mode 100644
index 0000000000..a9d291b4e1
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-newlib/0021-newlib-configure.patch
@@ -0,0 +1,72 @@
+From df66efc0db9899c41632091db11bfe2c05eec1fa Mon Sep 17 00:00:00 2001
+From: Anton Antonov <Anton.Antonov@arm.com>
+Date: Wed, 31 Aug 2022 17:55:21 +0100
+Subject: [PATCH] Allow to define additional partameters for newlib configure.
+
+Do not skip newlib and libgloss when crosscompiling
+
+Upstream-Status: Pending
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+---
+ ...-aarch64-linux-gcc-to-compile-bare-metal-lib.patch | 11 ++++++++++-
+ external/newlib/newlib.cmake | 6 ++++++
+ 2 files changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/external/newlib/0001-Allow-aarch64-linux-gcc-to-compile-bare-metal-lib.patch b/external/newlib/0001-Allow-aarch64-linux-gcc-to-compile-bare-metal-lib.patch
+index f87ed5a..7533ed0 100644
+--- a/external/newlib/0001-Allow-aarch64-linux-gcc-to-compile-bare-metal-lib.patch
++++ b/external/newlib/0001-Allow-aarch64-linux-gcc-to-compile-bare-metal-lib.patch
+@@ -16,9 +16,18 @@ Signed-off-by: Gyorgy Szing <gyorgy.szing@arm.com>
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+ diff --git a/configure b/configure
+-index 5db52701..1eb71a80 100755
++index 5db527014..dce91609e 100755
+ --- a/configure
+ +++ b/configure
++@@ -2886,7 +2886,7 @@ esac
++
++ # Some are only suitable for cross toolchains.
++ # Remove these if host=target.
++-cross_only="target-libgloss target-newlib target-opcodes"
+++cross_only="target-opcodes"
++
++ case $is_cross_compiler in
++ no) skipdirs="${skipdirs} ${cross_only}" ;;
+ @@ -3659,7 +3659,7 @@ case "${target}" in
+ *-*-freebsd*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+diff --git a/external/newlib/newlib.cmake b/external/newlib/newlib.cmake
+index 13eb78c..5ee99a5 100644
+--- a/external/newlib/newlib.cmake
++++ b/external/newlib/newlib.cmake
+@@ -168,6 +168,10 @@ if (NOT NEWLIB_LIBC_PATH)
+ string(REPLACE ";" " -isystem " CFLAGS_FOR_TARGET "${_gcc_include_dirs}")
+ set(CFLAGS_FOR_TARGET "-isystem ${CFLAGS_FOR_TARGET} -fpic")
+
++ # Split a newlib extra build parameter into a list of parameters
++ set(NEWLIB_EXTRAS ${NEWLIB_EXTRA})
++ separate_arguments(NEWLIB_EXTRAS)
++
+ # Newlib configure step
+ # CC env var must be unset otherwise configure will assume the cross compiler is the host
+ # compiler.
+@@ -175,6 +179,7 @@ if (NOT NEWLIB_LIBC_PATH)
+ execute_process(COMMAND
+ ${CMAKE_COMMAND} -E env --unset=CC PATH=${COMPILER_PATH}:$ENV{PATH} ./configure
+ --target=${COMPILER_PREFIX}
++ --host=${COMPILER_PREFIX}
+ --prefix=${NEWLIB_INSTALL_DIR}
+ --enable-newlib-nano-formatted-io
+ --enable-newlib-nano-malloc
+@@ -182,6 +187,7 @@ if (NOT NEWLIB_LIBC_PATH)
+ --enable-newlib-reent-small
+ --enable-newlib-global-atexit
+ --disable-multilib
++ ${NEWLIB_EXTRAS}
+ CFLAGS_FOR_TARGET=${CFLAGS_FOR_TARGET}
+ LDFLAGS_FOR_TARGET=-fpie
+ WORKING_DIRECTORY
+--
+2.25.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-newlib_4.1.0.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-newlib_4.1.0.bb
new file mode 100644
index 0000000000..94038b5be6
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-newlib_4.1.0.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Newlib static libraries built with Trusted Services opteesp deployment options"
+
+TS_ENV = "opteesp"
+
+require trusted-services.inc
+
+SRC_URI += "git://sourceware.org/git/newlib-cygwin.git;name=newlib;protocol=https;branch=master;destsuffix=git/newlib \
+ file://0003-Add-newlib-deployment.patch \
+ file://0021-newlib-configure.patch \
+"
+
+# tag "newlib-0.4.1"
+SRCREV_newlib = "415fdd4279b85eeec9d54775ce13c5c412451e08"
+LIC_FILES_CHKSUM += "file://../newlib/COPYING.NEWLIB;md5=b8dda70da54e0efb49b1074f349d7749"
+
+EXTRA_OECMAKE += '-DNEWLIB_SOURCE_DIR=${WORKDIR}/git/newlib \
+ -DNEWLIB_EXTRA="CFLAGS=--sysroot=${STAGING_DIR_HOST}" \
+ '
+
+OECMAKE_SOURCEPATH = "${S}/deployments/newlib/${TS_ENV}/"
+
+# TS ships a patch that needs to be applied to newlib
+apply_ts_patch() {
+ for p in ${S}/external/newlib/*.patch; do
+ patch -p1 -d ${WORKDIR}/git/newlib < ${p}
+ done
+}
+do_patch[postfuncs] += "apply_ts_patch"
+
+FILES:${PN}-dev = "${TS_INSTALL}/newlib_install"
+FILES:${PN}-staticdev = "${TS_INSTALL}/newlib_install/*/lib/*.a"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-api-test-common_git.inc b/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-api-test-common_git.inc
new file mode 100644
index 0000000000..1e1be6a91a
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-api-test-common_git.inc
@@ -0,0 +1,36 @@
+SUMMARY = "Parts of PSA certification tests (psa-arch-test) for Trusted Services"
+
+TS_ENV = "arm-linux"
+
+require trusted-services.inc
+
+DEPENDS += "libts"
+RDEPENDS:${PN} += "libts"
+
+SRC_URI += "git://github.com/ARM-software/psa-arch-tests.git;name=psatest;protocol=https;branch=main;destsuffix=git/psatest \
+ file://0012-psa-arch-test-toolchain.patch \
+ "
+
+SRCREV_psatest = "451aa087a40d02c7d04778235014c5619d126471"
+LIC_FILES_CHKSUM += "file://../psatest/LICENSE.md;md5=2a944942e1496af1886903d274dedb13"
+
+EXTRA_OECMAKE += "\
+ -DPSA_ARCH_TESTS_SOURCE_DIR=${WORKDIR}/git/psatest \
+ "
+
+# TS ships patches that need to be applied to psa-arch-tests
+apply_ts_patch() {
+ for p in ${S}/external/psa_arch_tests/*.patch; do
+ patch -p1 -d ${WORKDIR}/git/psatest < ${p}
+ done
+}
+do_patch[postfuncs] += "apply_ts_patch"
+
+FILES:${PN} = "${bindir}/${PSA_TEST}"
+
+do_install:append () {
+ install -d ${D}${bindir}
+ mv ${D}${TS_INSTALL}/bin/${PSA_TEST} ${D}${bindir}
+
+ rm -r --one-file-system ${D}${TS_INSTALL}
+}
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-crypto-api-test_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-crypto-api-test_git.bb
new file mode 100644
index 0000000000..710d3778cf
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-crypto-api-test_git.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "Crypto PSA certification tests (psa-arch-test)"
+
+TS_ENV = "arm-linux"
+
+require ts-psa-api-test-common_${PV}.inc
+
+OECMAKE_SOURCEPATH = "${S}/deployments/psa-api-test/crypto/${TS_ENV}"
+
+PSA_TEST = "psa-crypto-api-test"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-iat-api-test/0012-PSA-TARGET-QCBOR.patch b/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-iat-api-test/0012-PSA-TARGET-QCBOR.patch
new file mode 100644
index 0000000000..3b28e80e4d
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-iat-api-test/0012-PSA-TARGET-QCBOR.patch
@@ -0,0 +1,29 @@
+From 3229ca31e59933608f82001c1cdcca9d0a0aa0e0 Mon Sep 17 00:00:00 2001
+From: Anton Antonov <Anton.Antonov@arm.com>
+Date: Wed, 31 Aug 2022 17:19:08 +0100
+Subject: [PATCH] Subject: [PATCH] Pass PSA_TARGET_QCBOR to psa-arch-tests
+
+psa-arch-tests require they own version of qcbor library.
+Pass PSA_TARGET_QCBOR which defines where pre-fetched qcbor sources are.
+
+Upstream-Status: Pending
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+---
+ external/psa_arch_tests/pas-arch-test-init-cache.cmake.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/external/psa_arch_tests/pas-arch-test-init-cache.cmake.in b/external/psa_arch_tests/pas-arch-test-init-cache.cmake.in
+index 5c63596..64196c2 100644
+--- a/external/psa_arch_tests/pas-arch-test-init-cache.cmake.in
++++ b/external/psa_arch_tests/pas-arch-test-init-cache.cmake.in
+@@ -10,6 +10,7 @@ set(CMAKE_TOOLCHAIN_FILE "@TS_EXTERNAL_LIB_TOOLCHAIN_FILE@" CACHE STRING "")
+
+ set(TOOLCHAIN INHERIT CACHE STRING "")
+ set(PSA_INCLUDE_PATHS "@PSA_ARCH_TESTS_EXTERNAL_INCLUDE_PATHS@" CACHE STRING "")
++set(PSA_TARGET_QCBOR "@PSA_TARGET_QCBOR@" CACHE STRING "")
+ set(SUITE "@TS_ARCH_TEST_SUITE@" CACHE STRING "")
+ set(ARCH_TEST_EXTERNAL_DEFS "@PSA_ARCH_TEST_EXTERNAL_DEFS@" CACHE STRING "")
+ set(CMAKE_VERBOSE_MAKEFILE OFF CACHE BOOL "")
+--
+2.25.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-iat-api-test_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-iat-api-test_git.bb
new file mode 100644
index 0000000000..73c5f61dbf
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-iat-api-test_git.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Initial Attestation PSA certification tests (psa-arch-test) for Trusted Services"
+
+TS_ENV = "arm-linux"
+
+require ts-psa-api-test-common_${PV}.inc
+
+OECMAKE_SOURCEPATH = "${S}/deployments/psa-api-test/initial_attestation/${TS_ENV}"
+
+PSA_TEST = "psa-iat-api-test"
+
+# psa-arch-tests for INITIAL_ATTESTATION suite can't be built with pre-built qcbor
+# Fetch qcbor sources as a temp work-around and pass PSA_TARGET_QCBOR to psa-arch-tests
+SRC_URI += "git://github.com/laurencelundblade/QCBOR.git;name=psaqcbor;protocol=https;branch=master;destsuffix=git/psaqcbor \
+ file://0012-PSA-TARGET-QCBOR.patch \
+ "
+SRCREV_psaqcbor = "42272e466a8472948bf8fca076d113b81b99f0e0"
+
+EXTRA_OECMAKE += "-DPSA_TARGET_QCBOR=${WORKDIR}/git/psaqcbor \
+ "
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-its-api-test_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-its-api-test_git.bb
new file mode 100644
index 0000000000..32f2890b02
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-its-api-test_git.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "Internal Trusted Storage PSA certification tests (psa-arch-test) for Trusted Services"
+
+TS_ENV = "arm-linux"
+
+require ts-psa-api-test-common_${PV}.inc
+
+OECMAKE_SOURCEPATH = "${S}/deployments/psa-api-test/internal_trusted_storage/${TS_ENV}"
+
+PSA_TEST = "psa-its-api-test"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-ps-api-test_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-ps-api-test_git.bb
new file mode 100644
index 0000000000..bcf1671241
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-psa-ps-api-test_git.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "Protected Storage PSA certification tests (psa-arch-test) for Trusted Services"
+
+TS_ENV = "arm-linux"
+
+require ts-psa-api-test-common_${PV}.inc
+
+OECMAKE_SOURCEPATH = "${S}/deployments/psa-api-test/protected_storage/${TS_ENV}"
+
+PSA_TEST = "psa-ps-api-test"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-remote-test_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-remote-test_git.bb
new file mode 100644
index 0000000000..203defea44
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-remote-test_git.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Trusted Services ts-remote-test deployment for arm-linux."
+
+TS_ENV = "arm-linux"
+
+require trusted-services.inc
+
+DEPENDS += "libts"
+RDEPENDS:${PN} += "libts"
+
+OECMAKE_SOURCEPATH = "${S}/deployments/ts-remote-test/${TS_ENV}"
+
+FILES:${PN} = "${bindir}/ts-remote-test"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-service-test_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-service-test_git.bb
new file mode 100644
index 0000000000..3278c6c6dc
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-service-test_git.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Trusted Services ts-service-test deployment for arm-linux. \
+ Used for running service level tests from Linux user-space \
+ on an Arm platform with real deployments of trusted services."
+
+TS_ENV = "arm-linux"
+
+require trusted-services.inc
+
+DEPENDS += "libts python3-protobuf-native"
+RDEPENDS:${PN} += "libts"
+
+OECMAKE_SOURCEPATH = "${S}/deployments/ts-service-test/${TS_ENV}"
+
+FILES:${PN} = "${bindir}/ts-service-test"
+
+do_install:append () {
+ install -d ${D}${bindir}
+ mv ${D}${TS_INSTALL}/bin/ts-service-test ${D}${bindir}
+
+ rm -r --one-file-system ${D}${TS_INSTALL}
+}
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-attestation_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-attestation_git.bb
new file mode 100644
index 0000000000..eef05fe3a9
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-attestation_git.bb
@@ -0,0 +1,7 @@
+DESCRIPTION = "Trusted Services attestation service provider"
+
+require ts-sp-common.inc
+
+SP_UUID = "${ATTESTATION_UUID}"
+
+OECMAKE_SOURCEPATH="${S}/deployments/attestation/${TS_ENV}"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-common.inc b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-common.inc
new file mode 100644
index 0000000000..e46cd6bea3
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-common.inc
@@ -0,0 +1,29 @@
+# Common part of all Trusted Services SPs recipes
+
+TS_ENV = "opteesp"
+
+require trusted-services.inc
+require ts-uuid.inc
+
+DEPENDS += "dtc-native ts-newlib"
+
+FILES:${PN}-dev = "${TS_INSTALL}"
+
+# Secure Partition DTS file might be updated in bbapend files
+SP_DTS_FILE ?= "${D}${TS_INSTALL}/manifest/${SP_UUID}.dts"
+
+do_install:append() {
+ # Generate SP DTB which will be included automatically by optee-os build process
+ dtc -I dts -O dtb -o ${D}${TS_INSTALL}/manifest/${SP_UUID}.dtb ${SP_DTS_FILE}
+
+ # We do not need libs and headers
+ rm -r --one-file-system ${D}${TS_INSTALL}/lib
+ rm -r --one-file-system ${D}${TS_INSTALL}/include
+}
+
+# Use Yocto debug prefix maps for compiling assembler.
+EXTRA_OECMAKE += '-DCMAKE_ASM_FLAGS="${DEBUG_PREFIX_MAP}"'
+
+# Ignore that SP stripped.elf does not have GNU_HASH
+# Older versions of optee support SYSV hash only.
+INSANE_SKIP:${PN}-dev += "ldflags"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-crypto_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-crypto_git.bb
new file mode 100644
index 0000000000..77a28557cb
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-crypto_git.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "Trusted Services crypto service provider"
+
+require ts-sp-common.inc
+
+SP_UUID = "${CRYPTO_UUID}"
+
+DEPENDS += "python3-protobuf-native"
+
+OECMAKE_SOURCEPATH="${S}/deployments/crypto/${TS_ENV}"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-env-test/0013-env-test-no-std-libs.patch b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-env-test/0013-env-test-no-std-libs.patch
new file mode 100644
index 0000000000..f6269db450
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-env-test/0013-env-test-no-std-libs.patch
@@ -0,0 +1,33 @@
+From 7a0dcc40ea736dc20b25813dfc08e576c2615217 Mon Sep 17 00:00:00 2001
+From: Anton Antonov <Anton.Antonov@arm.com>
+Date: Wed, 31 Aug 2022 17:32:47 +0100
+Subject: [PATCH] Do not use standard libraries in env-test opteesp deployment
+
+In opteesp deployments newlib used used. The standard libraries should not be included.
+
+Upstream-Status: Pending
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+---
+ deployments/env-test/opteesp/CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/deployments/env-test/opteesp/CMakeLists.txt b/deployments/env-test/opteesp/CMakeLists.txt
+index cff00ff..60abc0d 100644
+--- a/deployments/env-test/opteesp/CMakeLists.txt
++++ b/deployments/env-test/opteesp/CMakeLists.txt
+@@ -56,9 +56,9 @@ include(../env-test.cmake REQUIRED)
+ #-------------------------------------------------------------------------------
+ add_platform(TARGET env-test)
+
+-if(CMAKE_CROSSCOMPILING)
+- target_link_libraries(env-test PRIVATE stdc++ gcc m)
+-endif()
++#if(CMAKE_CROSSCOMPILING)
++# target_link_libraries(env-test PRIVATE stdc++ gcc m)
++#endif()
+
+ #################################################################
+
+--
+2.25.1
+
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-env-test_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-env-test_git.bb
new file mode 100644
index 0000000000..9cd73cbcf2
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-env-test_git.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Trusted Services test_runner service provider"
+
+require ts-sp-common.inc
+
+# Current version of env-test SP contains hard-coded values for FVP.
+COMPATIBLE_MACHINE ?= "invalid"
+
+SP_UUID = "${ENV_TEST_UUID}"
+
+OECMAKE_SOURCEPATH="${S}/deployments/env-test/${TS_ENV}"
+
+SRC_URI += "\
+ file://0013-env-test-no-std-libs.patch \
+"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-its_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-its_git.bb
new file mode 100644
index 0000000000..4eb5dc5e5c
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-its_git.bb
@@ -0,0 +1,7 @@
+DESCRIPTION = "Trusted Services internal secure storage service provider"
+
+require ts-sp-common.inc
+
+SP_UUID = "${ITS_UUID}"
+
+OECMAKE_SOURCEPATH="${S}/deployments/internal-trusted-storage/${TS_ENV}"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-se-proxy_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-se-proxy_git.bb
new file mode 100644
index 0000000000..b9246418e9
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-se-proxy_git.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "Trusted Services proxy service providers"
+
+require ts-sp-common.inc
+
+SP_UUID = "${SE_PROXY_UUID}"
+
+DEPENDS += "python3-protobuf-native"
+
+OECMAKE_SOURCEPATH="${S}/deployments/se-proxy/${TS_ENV}"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-smm-gateway_%.bbappend b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-smm-gateway_%.bbappend
new file mode 100644
index 0000000000..c485a56230
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-smm-gateway_%.bbappend
@@ -0,0 +1,5 @@
+
+# Update MM communication buffer address for qemuarm64 machine
+EXTRA_OECMAKE:append:qemuarm64-secureboot = "-DMM_COMM_BUFFER_ADDRESS="0x00000000 0x42000000" \
+ -DMM_COMM_BUFFER_PAGE_COUNT="1" \
+"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-smm-gateway_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-smm-gateway_git.bb
new file mode 100644
index 0000000000..06ca6bd116
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-smm-gateway_git.bb
@@ -0,0 +1,7 @@
+DESCRIPTION = "Trusted Services service provider for UEFI SMM services"
+
+require ts-sp-common.inc
+
+SP_UUID = "${SMM_GATEWAY_UUID}"
+
+OECMAKE_SOURCEPATH="${S}/deployments/smm-gateway/${TS_ENV}"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-storage_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-storage_git.bb
new file mode 100644
index 0000000000..c893754650
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-sp-storage_git.bb
@@ -0,0 +1,7 @@
+DESCRIPTION = "Trusted Services secure storage service provider"
+
+require ts-sp-common.inc
+
+SP_UUID = "${STORAGE_UUID}"
+
+OECMAKE_SOURCEPATH="${S}/deployments/protected-storage/${TS_ENV}"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-uefi-test_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/ts-uefi-test_git.bb
new file mode 100644
index 0000000000..5be436b649
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-uefi-test_git.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Trusted Services uefi-test deployment for arm-linux. \
+ Used for running service level tests from Linux user-space \
+ on an Arm platform with real deployments of UEFI SMM services."
+
+TS_ENV = "arm-linux"
+
+require trusted-services.inc
+
+DEPENDS += "libts python3-protobuf-native"
+RDEPENDS:${PN} += "libts arm-ffa-user"
+
+OECMAKE_SOURCEPATH = "${S}/deployments/uefi-test/${TS_ENV}"
+
+FILES:${PN} = "${bindir}/uefi-test"
+
+do_install:append () {
+ install -d ${D}${bindir}
+ mv ${D}${TS_INSTALL}/bin/uefi-test ${D}${bindir}
+
+ rm -r --one-file-system ${D}${TS_INSTALL}
+}
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/ts-uuid.inc b/meta-arm/meta-arm/recipes-security/trusted-services/ts-uuid.inc
new file mode 100644
index 0000000000..7a39f733e8
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/ts-uuid.inc
@@ -0,0 +1,9 @@
+# Trusted Services SPs canonical UUIDs
+
+ATTESTATION_UUID = "a1baf155-8876-4695-8f7c-54955e8db974"
+CRYPTO_UUID = "d9df52d5-16a2-4bb2-9aa4-d26d3b84e8c0"
+ENV_TEST_UUID = "33c75baf-ac6a-4fe4-8ac7-e9909bee2d17"
+ITS_UUID = "dc1eef48-b17a-4ccf-ac8b-dfcff7711b14"
+SE_PROXY_UUID = "46bb39d1-b4d9-45b5-88ff-040027dab249"
+SMM_GATEWAY_UUID = "ed32d533-99e6-4209-9cc0-2d72cdd998a7"
+STORAGE_UUID = "751bf801-3dde-4768-a514-0f10aeed1790"
diff --git a/meta-arm/meta-atp/recipes-kernel/atp/atp-test_3.1.bb b/meta-arm/meta-atp/recipes-kernel/atp/atp-test_3.1.bb
index 5a3097e0a6..e98e13cd17 100644
--- a/meta-arm/meta-atp/recipes-kernel/atp/atp-test_3.1.bb
+++ b/meta-arm/meta-atp/recipes-kernel/atp/atp-test_3.1.bb
@@ -1,5 +1,4 @@
require recipes-devtools/atp/atp-source_3.1.inc
-inherit package
SUMMARY = "End-to-end tests evaluating ATP kernel modules service correctness"
SECTION = "kernel/userland"
diff --git a/meta-arm/meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb b/meta-arm/meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb
index 8c793a3de9..140105f817 100644
--- a/meta-arm/meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb
+++ b/meta-arm/meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb
@@ -1,5 +1,4 @@
require recipes-devtools/atp/atp-source_3.1.inc
-inherit package
SUMMARY = "User API for accessing services from ATP kernel modules"
SECTION = "kernel/userland"
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5ops_20.bb b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5ops_20.bb
index 8ff4826ef4..d55ed8575c 100644
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5ops_20.bb
+++ b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5ops_20.bb
@@ -1,5 +1,5 @@
require gem5-source_20.inc
-inherit scons package
+inherit scons
HOMEPAGE = "https://www.gem5.org/documentation/general_docs/m5ops"
SUMMARY = "m5ops provide pseudo-instructions to trigger gem5 functionality"
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/files/init_disassemble_info-signature-changes-causes-compile-failures.patch b/meta-arm/meta-gem5/recipes-kernel/linux/files/init_disassemble_info-signature-changes-causes-compile-failures.patch
new file mode 100644
index 0000000000..3d7ac92eaa
--- /dev/null
+++ b/meta-arm/meta-gem5/recipes-kernel/linux/files/init_disassemble_info-signature-changes-causes-compile-failures.patch
@@ -0,0 +1,99 @@
+From 4af28e8e58b6c461a3b85960b222dade8b6891ce Mon Sep 17 00:00:00 2001
+From: Andres Freund <andres@anarazel.de>
+Date: Wed, 22 Jun 2022 11:19:18 -0700
+Subject: [PATCH] init_disassemble_info() signature changes causes compile
+ failures
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Hi,
+
+binutils changed the signature of init_disassemble_info(), which now causes
+perf and bpftool to fail to compile (e.g. on debian unstable).
+
+Relevant binutils commit: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=60a3da00bd5407f07d64dff82a4dae98230dfaac
+
+util/annotate.c: In function ‘symbol__disassemble_bpf’:
+util/annotate.c:1765:9: error: too few arguments to function ‘init_disassemble_info’
+ 1765 | init_disassemble_info(&info, s,
+ | ^~~~~~~~~~~~~~~~~~~~~
+In file included from util/annotate.c:1718:
+/usr/include/dis-asm.h:472:13: note: declared here
+ 472 | extern void init_disassemble_info (struct disassemble_info *dinfo, void *stream,
+ | ^~~~~~~~~~~~~~~~~~~~~
+
+with equivalent failures in
+
+tools/bpf/bpf_jit_disasm.c
+tools/bpf/bpftool/jit_disasm.c
+
+The fix is easy enough, add a wrapper around fprintf() that conforms to the
+new signature.
+
+However I assume the necessary feature test and wrapper should only be added
+once? I don't know the kernel stuff well enough to choose the right structure
+here.
+
+Attached is my local fix for perf. Obviously would need work to be a real
+solution.
+
+Greetings,
+
+Andres Freund
+---
+
+binutils 2.39 changed the signature of init_disassemble_info(),
+which now causes perf and bpftool to fail to compile.
+
+Relevant binutils commit: [1]
+
+There is a proper fix in development upstream[2].
+This is a work-around for older kernels.
+
+[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=60a3da00bd5407f07d64dff82a4dae98230dfaac
+[2] https://patchwork.kernel.org/project/netdevbpf/cover/20220801013834.156015-1-andres@anarazel.de/
+
+Upstream-Status: Pending
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+
+
+ tools/perf/util/annotate.c | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
+index 0c5e4ce390ef..1151c029f714 100644
+--- a/tools/perf/util/annotate.c
++++ b/tools/perf/util/annotate.c
+@@ -1708,6 +1708,18 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil
+ #include <bfd.h>
+ #include <dis-asm.h>
+
++static int fprintf_styled(void *, enum disassembler_style, const char* fmt, ...)
++{
++ va_list args;
++ int r;
++
++ va_start(args, fmt);
++ r = vprintf(fmt, args);
++ va_end(args);
++
++ return r;
++}
++
+ static int symbol__disassemble_bpf(struct symbol *sym,
+ struct annotate_args *args)
+ {
+@@ -1750,7 +1762,8 @@ static int symbol__disassemble_bpf(struct symbol *sym,
+ goto out;
+ }
+ init_disassemble_info(&info, s,
+- (fprintf_ftype) fprintf);
++ (fprintf_ftype) fprintf,
++ fprintf_styled);
+
+ info.arch = bfd_get_arch(bfdf);
+ info.mach = bfd_get_mach(bfdf);
+--
+2.30.2
+
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_%.bbappend
index b36ea06485..e66dd21bf3 100644
--- a/meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_%.bbappend
+++ b/meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_%.bbappend
@@ -3,7 +3,8 @@ FILESEXTRAPATHS:prepend:gem5-arm64 := "${THISDIR}:${THISDIR}/files:"
COMPATIBLE_MACHINE:gem5-arm64 = "gem5-arm64"
KMACHINE:gem5-arm64 = "gem5-arm64"
SRC_URI:append:gem5-arm64 = " file://gem5-kmeta;type=kmeta;name=gem5-kmeta;destsuffix=gem5-kmeta \
- file://dts/gem5-arm64;subdir=add-files"
+ file://dts/gem5-arm64;subdir=add-files \
+ file://init_disassemble_info-signature-changes-causes-compile-failures.patch"
do_patch:append:gem5-arm64() {
tar -C ${WORKDIR}/add-files/dts -cf - gem5-arm64 | \
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs/0001-Define-strndupa-if-it-does-not-exist.patch b/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs/0001-Define-strndupa-if-it-does-not-exist.patch
index 8bb8b9479a..80955b3ca0 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs/0001-Define-strndupa-if-it-does-not-exist.patch
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs/0001-Define-strndupa-if-it-does-not-exist.patch
@@ -1,4 +1,4 @@
-From 54883e714b7fd1e7f4ce47eb1fc09adff35d561e Mon Sep 17 00:00:00 2001
+From cc0cd6f71f6ef96fca2d7b730a3f0f6722fec696 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 7 May 2022 12:15:22 -0700
Subject: [PATCH] Define strndupa if it does not exist
@@ -7,17 +7,18 @@ musl e.g. does not supply strndupa, unlike glibc
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
etc/systemd/system-generators/zfs-mount-generator.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/etc/systemd/system-generators/zfs-mount-generator.c b/etc/systemd/system-generators/zfs-mount-generator.c
-index b806339..592d2f9 100644
+index f4c6c26..255bee4 100644
--- a/etc/systemd/system-generators/zfs-mount-generator.c
+++ b/etc/systemd/system-generators/zfs-mount-generator.c
-@@ -47,6 +47,15 @@
- #define STRCMP ((int(*)(const void *, const void *))&strcmp)
- #define PID_T_CMP ((int(*)(const void *, const void *))&pid_t_cmp)
+@@ -193,6 +193,15 @@ fopenat(int dirfd, const char *pathname, int flags,
+ return (fdopen(fd, stream_mode));
+ }
+#ifndef strndupa
+#define strndupa(s, n) \
@@ -29,8 +30,5 @@ index b806339..592d2f9 100644
+#endif
+
static int
- pid_t_cmp(const pid_t *lhs, const pid_t *rhs)
+ line_worker(char *line, const char *cachefile)
{
---
-2.36.0
-
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.5.bb
index dd676c945c..6aa674c790 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.5.bb
@@ -7,7 +7,7 @@ HOMEPAGE ="https://github.com/openzfs/zfs"
SRC_URI = "https://github.com/openzfs/zfs/releases/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
file://0001-Define-strndupa-if-it-does-not-exist.patch \
"
-SRC_URI[sha256sum] = "3b52c0d493f806f638dca87dde809f53861cd318c1ebb0e60daeaa061cf1acf6"
+SRC_URI[sha256sum] = "1913041e5c44ff07ca384346ad8145aeedf77e77cd1cea9ec5d533246691e10c"
# Using both 'module' and 'autotools' classes seems a bit odd, they both
# define a do_compile function.
diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.11.0.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.11.0.bb
index 0b9164fd79..8055fb06d3 100644
--- a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.11.0.bb
+++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.11.0.bb
@@ -35,7 +35,28 @@ RDEPENDS:${PN}-ptest += " \
do_install_ptest() {
install -d ${D}${PTEST_PATH}/test
+ install -d ${D}${PTEST_PATH}/example
+ install -d ${D}${PTEST_PATH}/util
cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
+
+ example_excutables=`find ${B}/example -type f -executable`
+ util_excutables=`find ${B}/util -type f -executable`
+ test_excutables=`find ${B}/test -type f -executable`
+
+ for e in $example_excutables
+ do
+ cp -rf $e ${D}${PTEST_PATH}/example/
+ done
+
+ for e in $util_excutables
+ do
+ cp -rf $e ${D}${PTEST_PATH}/util/
+ done
+
+ for e in $test_excutables
+ do
+ cp -rf $e ${D}${PTEST_PATH}/test
+ done
}
DEPENDS = "udev"
@@ -49,10 +70,6 @@ RRECOMMENDS:${PN}:class-target = "kernel-module-fuse fuse3-utils"
FILES:${PN} += "${libdir}/libfuse3.so.*"
FILES:${PN}-dev += "${libdir}/libfuse3*.la"
-EXTRA_OEMESON += " \
- -Dexamples=false \
-"
-
# Forbid auto-renaming to libfuse3-utils
FILES:fuse3-utils = "${bindir} ${base_sbindir}"
DEBIAN_NOAUTONAME:fuse3-utils = "1"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.10.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.11.bb
index fdaebbe02d..2e5977cce7 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.10.bb
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.11.bb
@@ -14,7 +14,7 @@ SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsdump/${BP}.tar.xz \
file://remove-install-as-user.patch \
${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-xfsdump-support-usrmerge.patch','',d)} \
"
-SRC_URI[sha256sum] = "9aab7a53aa05cd46edc97269ebf1456aab2b60ab8c1fffaaf8aa492f0b5f6517"
+SRC_URI[sha256sum] = "5657a2ca26a55682dc9724fb0331c860fe362c778225cbfc8c710f1375f458a3"
inherit autotools-brokensep
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch
new file mode 100644
index 0000000000..e0a04c9073
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch
@@ -0,0 +1,28 @@
+From f172ea004d34b00aa7bd5baff9422b2ab80df6e7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 14 Aug 2022 13:32:10 -0700
+Subject: [PATCH 1/2] Add a return type to aio_rw
+
+Compilers complain about the function prototype otherwise
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ltp/fsx.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ltp/fsx.c b/ltp/fsx.c
+index 12c2cc33..55b4e9b6 100644
+--- a/ltp/fsx.c
++++ b/ltp/fsx.c
+@@ -2429,6 +2429,7 @@ out_error:
+ return -1;
+ }
+ #else
++int
+ aio_rw(int rw, int fd, char *buf, unsigned len, unsigned offset)
+ {
+ fprintf(stderr, "io_rw: need AIO support!\n");
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch
new file mode 100644
index 0000000000..a594b73a12
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch
@@ -0,0 +1,47 @@
+From dd43cbc7f50266cdc6210f2b920d7f648a83bdd6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 14 Aug 2022 13:33:05 -0700
+Subject: [PATCH 2/2] Drop detached_mounts_propagation and remove sys/mount.h
+ from vfs/utils.c
+
+with glibc 2.36+ sys/mount.h conflicts with linux/mount.h and here
+linux/mount.h is included via xfs/xfs.h header and we need sys/mount.h
+for the mount() API prototype. Until thats resolved lets not build this
+testcase
+
+Upstream-Status: Inappropriate [Libc specific Workaround]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/Makefile | 2 +-
+ src/vfs/utils.c | 1 -
+ 2 files changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 665edcf9..7debcbbd 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -31,7 +31,7 @@ LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize preallo_rw_pattern_reader \
+ dio-invalidate-cache stat_test t_encrypted_d_revalidate \
+ attr_replace_test swapon mkswap t_attr_corruption t_open_tmpfiles \
+ fscrypt-crypt-util bulkstat_null_ocount splice-test chprojid_fail \
+- detached_mounts_propagation ext4_resize t_readdir_3 splice2pipe \
++ ext4_resize t_readdir_3 splice2pipe \
+ uuid_ioctl
+
+ EXTRA_EXECS = dmerror fill2attr fill2fs fill2fs_check scaleread.sh \
+diff --git a/src/vfs/utils.c b/src/vfs/utils.c
+index 1388edda..aacd6c0a 100644
+--- a/src/vfs/utils.c
++++ b/src/vfs/utils.c
+@@ -10,7 +10,6 @@
+ #include <stdlib.h>
+ #include <sys/eventfd.h>
+ #include <sys/fsuid.h>
+-#include <sys/mount.h>
+ #include <sys/prctl.h>
+ #include <sys/socket.h>
+ #include <sys/stat.h>
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_git.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_2022.08.07.bb
index 868fa0330f..ba8b1a24e0 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_git.bb
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_2022.08.07.bb
@@ -7,10 +7,12 @@ SRCREV_FORMAT = "xfstests_unionmount"
SRC_URI = "\
git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests \
git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \
+ file://0001-Add-a-return-type-to-aio_rw.patch \
+ file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \
"
-SRCREV_xfstests = "37881397f1aa62df3c63468049c80b301b0e89eb"
-SRCREV_unionmount = "cec4c51a3bf8ba80bb99fc74b302749d4e3d2f1d"
+SRCREV_xfstests = "16ddbd1aee295f64695916cf3621aef57f1163ba"
+SRCREV_unionmount = "e3825b16b46f4c4574a1a69909944c059835f914"
S = "${WORKDIR}/git"
@@ -24,6 +26,7 @@ RDEPENDS:${PN} += "\
e2fsprogs \
e2fsprogs-tune2fs \
e2fsprogs-resize2fs \
+ libaio \
libcap-bin \
overlayfs-progs \
perl \
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-Do-not-run-git-rev-parse-during-configure.patch b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-Do-not-run-git-rev-parse-during-configure.patch
deleted file mode 100644
index bb129a4178..0000000000
--- a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-Do-not-run-git-rev-parse-during-configure.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 0e41b11b23c91293d1b39a8ec4cb80c68fb26ad7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 28 Apr 2022 07:35:31 -0700
-Subject: [PATCH] meson: Do not run git rev-parse during configure
-
-This option will try to deduce if babl is being built from git tree or
-release tarball, there should be a better way like checking for .git
-directory etc. instead of doing git operations needing network
-
-see
-https://gitlab.gnome.org/GNOME/babl/-/commit/2dc7fc403fe427a889913ef0cfb71de85b4326ec#note_1439732
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 7e7a935..649b456 100644
---- a/meson.build
-+++ b/meson.build
-@@ -451,7 +451,7 @@ if git_bin.found() and run_command(
- git_bin,
- 'rev-parse',
- '--is-inside-work-tree',
-- check: true,
-+ check: false,
- ).returncode() == 0
- git_version_h = vcs_tag(
- input : 'git-version.h.in',
---
-2.36.0
-
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-fix-misspelled-kwarg-name.patch b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-fix-misspelled-kwarg-name.patch
deleted file mode 100644
index 111dac6484..0000000000
--- a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-fix-misspelled-kwarg-name.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From ebcf4795f1132c5124d73a5ae2ca5c01319e584d Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz@archlinux.org>
-Date: Sun, 13 Mar 2022 20:26:05 -0400
-Subject: [PATCH 1/2] meson: fix misspelled kwarg name
-
-set10 doesn't have a `Description` kwarg, it does have a `description`
-kwarg though.
-
-This caused the conf variable to not have a description when it should
-have one, and newer versions of Meson with better argument validation
-error out with:
-
-meson.build:58:5: ERROR: configuration_data.set10 got unknown keyword arguments "Description"
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/babl/-/commit/b05b2826365a7dbc6ca1bf0977b848055cd0cbb6]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 487e470..2623e93 100644
---- a/meson.build
-+++ b/meson.build
-@@ -55,7 +55,7 @@ lib_name = meson.project_name() + '-' + api_version
- stability_version_number = (major_version != 0 ? minor_version : micro_version)
- stable = (stability_version_number % 2 == 0)
-
--conf.set10('BABL_UNSTABLE', not stable, Description:
-+conf.set10('BABL_UNSTABLE', not stable, description:
- 'Define to 1 if this is an unstable version of BABL.')
-
- conf.set ('BABL_MAJOR_VERSION', '@0@'.format(major_version))
---
-2.36.0
-
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0002-meson-Various-fixes.patch b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0002-meson-Various-fixes.patch
deleted file mode 100644
index 919653bf22..0000000000
--- a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0002-meson-Various-fixes.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 06e16da32dfaad02434fd9937d298ea1ece256ce Mon Sep 17 00:00:00 2001
-From: Xavier Claessens <xavier.claessens@collabora.com>
-Date: Sat, 23 Apr 2022 10:33:17 -0400
-Subject: [PATCH 2/2] meson: Various fixes
-
-- Add missing lcms dependencies. That's needed when lcms is a subproject
- otherwise those targets does not find its headers.
-- Add lcms2 wrap so meson can build it as subproject in case the
- dependency is not found on system.
-- Fix couple meson warnings
-- Use meson.override_dependency() so babl can be used as subproject
- without hardcoding "babl_dep" variable name in main project.
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/babl/-/commit/2dc7fc403fe427a889913ef0cfb71de85b4326ec]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- babl/meson.build | 4 +++-
- extensions/meson.build | 1 +
- meson.build | 4 +++-
- subprojects/lcms2.wrap | 12 ++++++++++++
- tests/meson.build | 2 +-
- tools/meson.build | 2 +-
- 6 files changed, 21 insertions(+), 4 deletions(-)
- create mode 100644 subprojects/lcms2.wrap
-
-diff --git a/babl/meson.build b/babl/meson.build
-index d432dca..70fb131 100644
---- a/babl/meson.build
-+++ b/babl/meson.build
-@@ -138,7 +138,7 @@ babl = library(
- link_args: babl_link_args,
- link_with: simd_extra,
- dependencies: babl_deps,
-- link_depends: version_script,
-+ link_depends: version_script[0],
- version: so_version,
- install: true,
- )
-@@ -165,4 +165,6 @@ if build_gir
- install: true,
- )
- endif
-+else
-+ babl_gir = []
- endif
-diff --git a/extensions/meson.build b/extensions/meson.build
-index 23672bb..9935f29 100644
---- a/extensions/meson.build
-+++ b/extensions/meson.build
-@@ -6,6 +6,7 @@ no_cflags = []
- babl_ext_dep = [
- math,
- thread,
-+ lcms,
- ]
-
- # Include directories
-diff --git a/meson.build b/meson.build
-index 2623e93..7e7a935 100644
---- a/meson.build
-+++ b/meson.build
-@@ -451,6 +451,7 @@ if git_bin.found() and run_command(
- git_bin,
- 'rev-parse',
- '--is-inside-work-tree',
-+ check: true,
- ).returncode() == 0
- git_version_h = vcs_tag(
- input : 'git-version.h.in',
-@@ -531,13 +532,14 @@ babl_dep = declare_dependency(
- link_with : babl,
- sources: [
- babl_version_h,
-- is_variable('babl_gir') ? babl_gir : []
-+ build_gir ? babl_gir : []
- ],
- variables: {
- 'babl_path' : babl_extensions_build_dir,
- 'babl_libdir' : babl_library_build_dir,
- },
- )
-+meson.override_dependency('babl', babl_dep)
-
- ################################################################################
- # Build summary
-diff --git a/subprojects/lcms2.wrap b/subprojects/lcms2.wrap
-new file mode 100644
-index 0000000..2cc69df
---- /dev/null
-+++ b/subprojects/lcms2.wrap
-@@ -0,0 +1,12 @@
-+[wrap-file]
-+directory = Little-CMS-2.12
-+source_url = https://github.com/mm2/Little-CMS/archive/refs/tags/2.12.tar.gz
-+source_filename = lcms2-2.12.tar.gz
-+source_hash = e501f1482fc424550ef3abbf86bf1c66090e1661249e89552d39ed5bf935df66
-+patch_filename = lcms2_2.12-2_patch.zip
-+patch_url = https://wrapdb.mesonbuild.com/v2/lcms2_2.12-2/get_patch
-+patch_hash = 3ac6944ac4b8d8507b85961d98cb287532945183d0e8f094c77810e793b6bebe
-+
-+[provide]
-+lcms2 = liblcms2_dep
-+
-diff --git a/tests/meson.build b/tests/meson.build
-index eee8895..7c67e70 100644
---- a/tests/meson.build
-+++ b/tests/meson.build
-@@ -42,7 +42,7 @@ foreach test_name : test_names
- test_name + '.c',
- include_directories: [rootInclude, bablInclude],
- link_with: babl,
-- dependencies: thread,
-+ dependencies: [thread, lcms],
- export_dynamic: true,
- install: false,
- )
-diff --git a/tools/meson.build b/tools/meson.build
-index 2719335..89ccf40 100644
---- a/tools/meson.build
-+++ b/tools/meson.build
-@@ -18,7 +18,7 @@ foreach tool_name : tool_names
- tool_name + '.c',
- include_directories: [rootInclude, bablInclude],
- link_with: babl,
-- dependencies: [math, thread],
-+ dependencies: [math, thread, lcms],
- install: false,
- )
-
---
-2.36.0
-
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.92.bb b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.96.bb
index f2e11c1117..85cc7793cc 100644
--- a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.92.bb
+++ b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.96.bb
@@ -14,11 +14,7 @@ DEPENDS += "lcms"
CFLAGS:append:toolchain-clang:mipsarch = " -ffp-exception-behavior=ignore "
CFLAGS:append:toolchain-clang:riscv64 = " -ffp-exception-behavior=ignore "
-SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz \
- file://0001-meson-fix-misspelled-kwarg-name.patch \
- file://0002-meson-Various-fixes.patch \
- file://0001-meson-Do-not-run-git-rev-parse-during-configure.patch \
-"
-SRC_URI[sha256sum] = "f667735028944b6375ad18f160a64ceb93f5c7dccaa9d8751de359777488a2c1"
+SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz"
+SRC_URI[sha256sum] = "33673fe459a983f411245a49f81fd7f1966af1ea8eca9b095a940c542b8545f6"
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_42.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_42.2.bb
index 3efd2a9b35..13d3e0af79 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_42.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_42.2.bb
@@ -21,7 +21,7 @@ inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc val
def gnome_verdir(v):
return oe.utils.trim_version(v, 1)
-SRC_URI[archive.sha256sum] = "7f1fd43df5110d4c37de6541993f41f0fbc3efc790900e92053479ba069920e9"
+SRC_URI[archive.sha256sum] = "3c6229111f0ac066ae44964920791d1265f5bbb56b0bd949a69b7b1261fc8fca"
# gobject-introspection is mandatory and cannot be configured
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.4.bb
index 9783dade11..2b1ecad97c 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.3.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.4.bb
@@ -14,6 +14,6 @@ DEPENDS = " \
libsoup-2.4 \
"
-SRC_URI[archive.sha256sum] = "1dfeae83b90eccca1b6cf7dcf7c5e3b317828cf0b56205c4471ef0f911999766"
+SRC_URI[archive.sha256sum] = "2d9a6826d158470449a173871221596da0f83ebdcff98b90c7049089056a37aa"
EXTRA_OEMESON = "-Denable-installed-tests=false"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.2.bb
index 355894073d..3170341560 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.2.bb
@@ -8,7 +8,7 @@ DEPENDS = "mozjs-91 cairo"
inherit gnomebase gsettings gobject-introspection vala gettext features_check upstream-version-is-even pkgconfig
-SRC_URI[archive.sha256sum] = "17c0b1ec3f096671ff8bfaba6e4bbf14198c7013c604bfd677a9858da079c0ab"
+SRC_URI[archive.sha256sum] = "ddee379bdc5a7d303a5d894be2b281beb8ac54508604e7d3f20781a869da3977"
SRC_URI += " \
file://0001-Support-cross-builds-a-bit-better.patch \
file://0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.3.bb
index c916aca007..cf73f823c8 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.3.bb
@@ -26,7 +26,7 @@ inherit features_check gnomebase gtk-icon-cache gtk-doc gobject-introspection
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI[archive.sha256sum] = "8ce8ecfab28272db1830a63f08f9ccb5304734d1be2dbfce795fe4029e629f0c"
+SRC_URI[archive.sha256sum] = "c37a2a07f77d4816b261e6c2086a056ed9767c3881dfabc826f4f82f6e1aa302"
BT_PULSE_PACKS = " \
pulseaudio-lib-bluez5-util \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb
index b6d9a58e81..a30303cd8c 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb
@@ -17,7 +17,7 @@ DEPENDS = " \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
"
-inherit gnomebase gsettings features_check remove-libtool gettext
+inherit gnomebase gsettings features_check gettext
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.14.bb b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.15.bb
index d00e737f4a..b96194dec5 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.14.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.15.bb
@@ -17,6 +17,6 @@ GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gnome-help vala
SRC_URI += "file://0001-Avoid-running-trackertestutils.patch"
-SRC_URI[archive.sha256sum] = "686844b34ec73b24931ff6cc4f6033f0072947a6db60acdc7fb3eaf157a581c8"
+SRC_URI[archive.sha256sum] = "8518c3d954f93095d955624a044ce16a7345532f811d299dbfa1e114cfebab33"
FILES:${PN} += "${libdir}/grilo-0.3"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.7.bb
index dcebd0de5a..c71be23a7d 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.6.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.7.bb
@@ -33,7 +33,7 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz"
-SRC_URI[sha256sum] = "7bbfe4d13569f7c297ed49834ac7263e318b7bf102d3271cb466d5971f59ae70"
+SRC_URI[sha256sum] = "effd2e7c4b5e2a5c7fad43e0f24adea68baa4092abb0b752caff278e6bb010e8"
S = "${WORKDIR}/gtk-${PV}"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.4.bb
index eaec983ade..44d18f596b 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.3.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.4.bb
@@ -11,7 +11,7 @@ DEPENDS = " \
inherit gnomebase gobject-introspection gtk-doc vala features_check
-SRC_URI[archive.sha256sum] = "9b92be6007da1bf75131a2d5e697f0ff985bccf82380d298d46f013675aa4197"
+SRC_URI[archive.sha256sum] = "fcc6d56669d33ac3d030098d7571d8045a02e18dc083b49a5a5a6325068e6b58"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.3.bb
index eaa0e065d1..91d90dde2a 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.3.bb
@@ -22,7 +22,7 @@ GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check python3native
-SRC_URI[archive.sha256sum] = "0ed2b98918956d6f16429c607dd8a14c84f4da0a48970fd2eb8c93aba3cf9913"
+SRC_URI[archive.sha256sum] = "4094f704e338f2247fa6b94633279cfd07f7e952bb24627128fab78edb242464"
# gobject-introspection is mandatory and cannot be configured
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
diff --git a/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.inc b/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.inc
index 37a490abe0..bb662f2ec9 100644
--- a/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.inc
+++ b/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.inc
@@ -10,7 +10,7 @@ PV = "1.5.26"
DEPENDS = "unicode-ucd"
SRC_URI = " \
- git://github.com/ibus/ibus.git;branch=master;protocol=https \
+ git://github.com/ibus/ibus.git;branch=main;protocol=https \
file://0001-Do-not-try-to-start-dbus-we-do-not-have-dbus-lauch.patch \
"
SRCREV = "6a70ab0338206bd1c7d01a4e1874ea0ee5b3a9d3"
diff --git a/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.3.0.bb b/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.4.0.bb
index 41d8c62424..d690df9229 100644
--- a/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.3.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.4.0.bb
@@ -8,7 +8,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e"
SRC_URI = "git://github.com/linuxwacom/libwacom.git;branch=master;protocol=https"
-SRCREV = "b88053851ef81694b9e3927e0857f0f02ff9a8a8"
+SRCREV = "9fd28747534ef776ffecc245721a4faa43bdd89b"
DEPENDS = " \
libxml2-native \
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch
index e7a0cce837..29873cf7b5 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch
@@ -16,8 +16,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
usr/include/netinet/in.h | 36 ++++++++++++++++++++++++++++++++++++
2 files changed, 47 insertions(+)
-diff --git a/usr/include/net/if.h b/usr/include/net/if.h
-index 116a176..6246b12 100644
--- a/usr/include/net/if.h
+++ b/usr/include/net/if.h
@@ -1,6 +1,17 @@
@@ -38,8 +36,6 @@ index 116a176..6246b12 100644
#include <sys/socket.h>
#include <sys/types.h>
#include <linux/if.h>
-diff --git a/usr/include/netinet/in.h b/usr/include/netinet/in.h
-index 2952bb2..0c95bc9 100644
--- a/usr/include/netinet/in.h
+++ b/usr/include/netinet/in.h
@@ -5,6 +5,42 @@
@@ -82,6 +78,6 @@ index 2952bb2..0c95bc9 100644
+#define __UAPI_DEF_IF_IFREQ 1
+#endif
+
+ #include <sys/types.h>
#include <klibc/extern.h>
#include <stdint.h>
- #include <endian.h> /* Must be included *before* <linux/in.h> */
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch
deleted file mode 100644
index 46a23987f5..0000000000
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 8beffe501c1ac5b35d62004735c4157c74183901 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 9 Jul 2017 13:51:25 -0700
-Subject: [PATCH] dash: Specify format string in fmtstr()
-
-Fixes build with hardening flags
-
-usr/dash/jobs.c:429:3: error: format not a string literal and no format arguments [-Werror=format-security]
- col = fmtstr(s, 32, strsignal(st));
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- usr/dash/jobs.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/usr/dash/jobs.c b/usr/dash/jobs.c
-index 009bbfe..299bcac 100644
---- a/usr/dash/jobs.c
-+++ b/usr/dash/jobs.c
-@@ -426,7 +426,7 @@ sprint_status(char *s, int status, int sigonly)
- goto out;
- #endif
- }
-- col = fmtstr(s, 32, strsignal(st));
-+ col = fmtstr(s, 32, "%s", strsignal(st));
- #ifdef WCOREDUMP
- if (WCOREDUMP(status)) {
- col += fmtstr(s + col, 16, " (core dumped)");
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-fcntl-Fix-build-failure-for-some-architectures-with-.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-fcntl-Fix-build-failure-for-some-architectures-with-.patch
new file mode 100644
index 0000000000..4fc4b45fb1
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-fcntl-Fix-build-failure-for-some-architectures-with-.patch
@@ -0,0 +1,34 @@
+From a33c262f828f803fffdad8e1f44d524dc9c75856 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Wed, 3 Aug 2022 01:10:01 +0200
+Subject: [PATCH] fcntl: Fix build failure for some architectures with Linux
+ 5.19
+
+Starting from Linux 5.19, the kernel UAPI headers now only define
+__ARCH_FLOCK64_PAD if the architecture actually needs padding in
+struct flock64. Wrap its use with #ifdef,
+
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/libs/klibc/klibc.git/commit/?id=bb2fde5ddbc18a2e7795ca4d24759230c2aae9d0]
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ usr/include/fcntl.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/usr/include/fcntl.h b/usr/include/fcntl.h
+index ed703a6..cb2e4e5 100644
+--- a/usr/include/fcntl.h
++++ b/usr/include/fcntl.h
+@@ -33,7 +33,9 @@ struct flock {
+ __kernel_loff_t l_start;
+ __kernel_loff_t l_len;
+ __kernel_pid_t l_pid;
++#ifdef __ARCH_FLOCK64_PAD
+ __ARCH_FLOCK64_PAD
++#endif
+ };
+
+ #ifdef F_GETLK64
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch
index 04c97fc5ee..d58229681d 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch
@@ -15,14 +15,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
usr/include/sys/sysinfo.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/usr/include/sys/sysinfo.h b/usr/include/sys/sysinfo.h
-index dba68dc..d145c0b 100644
--- a/usr/include/sys/sysinfo.h
+++ b/usr/include/sys/sysinfo.h
-@@ -5,7 +5,7 @@
- #ifndef _SYS_SYSINFO_H
+@@ -6,7 +6,7 @@
#define _SYS_SYSINFO_H
+ #include <sys/types.h>
-#include <linux/kernel.h>
+#include <linux/sysinfo.h>
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-workaround-for-overlapping-sections-in-binary.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-workaround-for-overlapping-sections-in-binary.patch
index 8ccfe447ee..2f203ef0a4 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-workaround-for-overlapping-sections-in-binary.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-workaround-for-overlapping-sections-in-binary.patch
@@ -34,19 +34,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
usr/klibc/syscalls/Kbuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/usr/klibc/syscalls/Kbuild b/usr/klibc/syscalls/Kbuild
-index 2430b9b4..754d028e 100644
--- a/usr/klibc/syscalls/Kbuild
+++ b/usr/klibc/syscalls/Kbuild
-@@ -71,7 +71,7 @@ $(obj)/typesize.c: $(srctree)/$(KLIBCSRC)/syscalls.pl $(obj)/SYSCALLS.i \
+@@ -71,7 +71,7 @@ $(obj)/typesize.c: $(srctree)/$(KLIBCSRC
# Convert typesize.o to typesize.bin
quiet_cmd_mkbin = OBJCOPY $@
-- cmd_mkbin = $(KLIBCOBJCOPY) -O binary $< $@
+- cmd_mkbin = $(KLIBCOBJCOPY) -O binary --only-section .rodata $< $@
+ cmd_mkbin = $(KLIBCOBJCOPY) -O binary --remove-section .note.gnu.property $< $@
$(obj)/typesize.bin: $(obj)/typesize.o FORCE
$(call if_changed,mkbin)
---
-2.30.0
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch
index 4a334fa252..6c734dfd6e 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch
@@ -14,8 +14,8 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
--- a/usr/klibc/arch/arm/MCONFIG
+++ b/usr/klibc/arch/arm/MCONFIG
-@@ -29,6 +29,7 @@ else
- KLIBCSHAREDFLAGS = -Ttext-segment 0x01800000
+@@ -27,6 +27,7 @@ else
+ KLIBCSHAREDFLAGS = $(LD_IMAGE_BASE_OPT) 0x01800000
ifeq ($(CONFIG_AEABI),y)
KLIBCREQFLAGS += -mabi=aapcs-linux -mno-thumb-interwork
+KLIBCLDFLAGS += $(FIX_ARMV4_EABI_BX)
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/cross-clang.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/cross-clang.patch
index 69799c5c76..41936c9fe3 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/cross-clang.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/cross-clang.patch
@@ -6,7 +6,7 @@
-I$(KLIBCOBJ)/../include \
- -I$(KLIBCINC)
-ifeq ($(cc-name),clang)
--KLIBCCPPFLAGS += -I$(shell $(KLIBCCC) $(KLIBCCFLAGS) --print-file-name=include)
+-KLIBCCPPFLAGS += -isystem $(shell $(KLIBCCC) $(KLIBCCFLAGS) --print-file-name=include)
-endif
+ -I$(KLIBCINC) \
+ -I$(shell $(KLIBCCC) $(KLIBCCFLAGS) --print-file-name=include)
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.8.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.10.bb
index 4011aa231e..4011aa231e 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.8.bb
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.10.bb
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.8.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.10.bb
index 0de580781b..0de580781b 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.8.bb
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.10.bb
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.8.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.10.bb
index 2f26093cbe..2f26093cbe 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.8.bb
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.10.bb
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
index ceb4f5ad3b..5acf679983 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -10,7 +10,6 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/libs/klibc/2.0/klibc-${PV}.tar.xz \
${ARMPATCHES} \
file://klcc-consider-sysroot.patch \
file://klcc-cross-accept-clang-options.patch \
- file://0001-dash-Specify-format-string-in-fmtstr.patch \
file://0001-Define-in_-structs-for-non-glibc-system-libs.patch \
file://0001-include-linux-sysinfo.h-directly.patch \
file://0001-mkfifo-Implement-mkfifo.patch \
@@ -21,6 +20,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/libs/klibc/2.0/klibc-${PV}.tar.xz \
file://0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch \
file://cross-clang.patch \
file://0001-workaround-for-overlapping-sections-in-binary.patch \
+ file://0001-fcntl-Fix-build-failure-for-some-architectures-with-.patch \
"
ARMPATCHES ?= ""
@@ -28,7 +28,7 @@ ARMPATCHES ?= ""
ARMPATCHES:arm = " \
file://armv4-fix-v4bx.patch \
"
-SRC_URI[sha256sum] = "4e48f1398cfe3ce0b6df55ce6e70acf54fc8488e3aea3fb3610ee1622d9cb436"
+SRC_URI[sha256sum] = "662753da8889e744dfc0db6eb4021c3377ee7ef8ed66d7d57765f8c9e25939cd"
S = "${WORKDIR}/klibc-${PV}"
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.8.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.10.bb
index 8dda9a8cdc..8dda9a8cdc 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.8.bb
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.10.bb
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.40.4.bb
index ec7824b60d..8bc8767d8f 100644
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb
+++ b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.40.4.bb
@@ -8,34 +8,55 @@ HOMEPAGE = "http://live.gnome.org/Rygel"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 gstreamer1.0-plugins-base libgee libsoup-2.4 libmediaart-2.0 libunistring sqlite3 intltool-native"
+DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 \
+ gstreamer1.0-plugins-base libgee libsoup-2.4 libmediaart-2.0 \
+ libunistring sqlite3 intltool-native gst-editing-services"
+
RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info"
RRECOMMENDS:${PN} = "rygel-plugin-media-export"
-inherit gnomebase vala gobject-introspection gettext systemd features_check
+inherit gnomebase features_check vala gobject-introspection gettext systemd meson
# gobject-introspection is mandatory for libmediaart-2.0 and cannot be configured
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-SRC_URI[archive.md5sum] = "7f95401903a3f855b464d5152b9d4c07"
-SRC_URI[archive.sha256sum] = "08c21a577f7bdad26446a75ffa32778b26842c3b1188165f0b19818559747d00"
-
-EXTRA_OECONF = "--disable-tracker-plugin --with-media-engine=gstreamer"
+SRC_URI[archive.sha256sum] = "736d8adbe8615f6cbc8fcfff9845dc985fd10e16629da236b4b52dbedf0a348b"
-PACKAGECONFIG ?= "external mpris ruih media-export gst-launch"
+GNOMEBASEBUILDCLASS = "meson"
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+EXTRA_OEMESON = "-Dengines=gstreamer -Dplugins=${@strip_comma('${RYGEL_PLUGINS}')}"
PACKAGECONFIG:append = "${@bb.utils.contains("DISTRO_FEATURES", "x11", " gtk+3", "", d)}"
-PACKAGECONFIG[external] = "--enable-external-plugin,--disable-external-plugin"
-PACKAGECONFIG[mpris] = "--enable-mpris-plugin,--disable-mpris-plugin"
-PACKAGECONFIG[ruih] = "--enable-ruih-plugin,--disable-ruih-plugin"
-PACKAGECONFIG[media-export] = "--enable-media-export-plugin,--disable-media-export-plugin"
-PACKAGECONFIG[gst-launch] = "--enable-gst-launch-plugin,--disable-gst-launch-plugin"
-PACKAGECONFIG[gtk+3] = ",--without-ui,gtk+3"
-PACKAGECONFIG[lms] = "--enable-lms-plugin,--disable-lms-plugin"
+PACKAGECONFIG ?= "external mpris ruih media-export gst-launch"
+
+PACKAGECONFIG[external] = ""
+PACKAGECONFIG[mpris] = ""
+PACKAGECONFIG[ruih] = ""
+PACKAGECONFIG[media-export] = ""
+PACKAGECONFIG[gst-launch] = ""
+PACKAGECONFIG[lms] = ""
+PACKAGECONFIG[tracker3] = ""
+PACKAGECONFIG[gtk+3] = ",-Dgtk=false,gtk+3"
+
+RYGEL_PLUGINS = ""
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'external', ',external', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'mpris', ',mpris', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'ruih', ',ruih', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gst-launch', ',gst-launch', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lms', ',lms', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'media-export', ',media-export', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'tracker3', ',tracker3', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'playbin', ',playbin', '', d)}"
LIBV = "2.6"
+CFLAGS:append:toolchain-clang = " -Wno-error=int-conversion"
+
+def strip_comma(s):
+ return s.strip(',')
+
do_install:append() {
# Remove .la files for loadable modules
rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.4.0.bb
index 778dc192c8..36db45e265 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.4.0.bb
@@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \
file://PATENTS;md5=e69ad12202bd20da3c76a5d3648cfa83 \
"
-SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=master"
+SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main"
-SRCREV = "307ce06ed82d93885ee8ed53e152c9268ac0d98d"
+SRCREV = "fd0c9275d36930a6eea6d3c35972e7cf9c512944"
S = "${WORKDIR}/git"
@@ -19,4 +19,5 @@ EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \
-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl \
"
+CFLAGS:append:libc-musl = " -D_GNU_SOURCE"
EXTRA_OECMAKE:append:arm = " ${@bb.utils.contains("TUNE_FEATURES","neon","-DENABLE_NEON=ON","-DENABLE_NEON=OFF",d)}"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb
index 98970d5b71..90a69e5e23 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb
@@ -2,9 +2,8 @@ SUMMARY = "Linux DVB API applications and utilities"
HOMEPAGE = "http://www.linuxtv.org"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRCREV = "3d43b280298c39a67d1d889e01e173f52c12da35"
-SRC_URI = "hg://linuxtv.org/hg;module=dvb-apps;protocol=http \
+SRC_URI = "https://www.linuxtv.org/hg/dvb-apps/archive/3d43b280298c.tar.bz2;downloadfilename=${BPN}-3d43b280298c.tar.bz2 \
file://dvb-scan-table \
file://0001-Fix-generate-keynames.patch \
file://0003-handle-static-shared-only-build.patch \
@@ -13,8 +12,8 @@ SRC_URI = "hg://linuxtv.org/hg;module=dvb-apps;protocol=http \
file://0006-CA_SET_PID.patch \
file://0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch \
"
-
-S = "${WORKDIR}/${BPN}"
+SRC_URI[sha256sum] = "f39e2f0ebed7e32bce83522062ad4d414f67fccd5df1b647618524497e15e057"
+S = "${WORKDIR}/${BPN}-3d43b280298c"
inherit perlnative
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch
index 9035b56f4a..e89f9a3cdc 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch
@@ -11,22 +11,17 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
util/dvbdate/dvbdate.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
-diff --git a/util/dvbdate/dvbdate.c b/util/dvbdate/dvbdate.c
-index f0df437..492ed79 100644
--- a/util/dvbdate/dvbdate.c
+++ b/util/dvbdate/dvbdate.c
-@@ -309,7 +309,10 @@ int atsc_scan_date(time_t *rx_time, unsigned int to)
+@@ -309,7 +309,10 @@ int atsc_scan_date(time_t *rx_time, unsi
*/
int set_time(time_t * new_time)
{
- if (stime(new_time)) {
-+ struct timespec ts;
-+ ts.tv_sec = &new_time;
-+ ts.tv_nsec = 0;
-+ if (clock_settime(CLOCK_REALTIME, &ts)) {
++ struct timespec s = {0};
++ s.tv_sec = *new_time;
++
++ if (clock_settime(CLOCK_REALTIME, &s)) {
perror("Unable to set time");
return -1;
}
---
-2.24.1
-
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch
new file mode 100644
index 0000000000..1fae37614c
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch
@@ -0,0 +1,50 @@
+From 06b2a6aa70616aafab780514d9d26e85bd98d965 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 25 Aug 2022 14:02:16 -0700
+Subject: [PATCH] http/fetch: Pass a non-null buffer to
+ ne_set_request_body_buffer API
+
+Newer versions of neon has added a check for non-null arguments for
+ne_set_request_body_buffer() API and this is triggered but older
+compiler only treats -Wnonnull as warning so all was fine, however gcc
+12.2 has started to throw this warning as error by default and builds
+are breaking
+
+Fixes
+src/HTTPFetch.cc:186:38: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
+ ne_set_request_body_buffer(req,0,0);
+ ~ ^
+Upstream-Status: Submitted [https://github.com/metabrainz/libmusicbrainz/pull/18]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/HTTPFetch.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/HTTPFetch.cc b/src/HTTPFetch.cc
+index baec359..0c0d919 100644
+--- a/src/HTTPFetch.cc
++++ b/src/HTTPFetch.cc
+@@ -182,8 +182,10 @@ int MusicBrainz5::CHTTPFetch::Fetch(const std::string& URL, const std::string& R
+ }
+
+ ne_request *req = ne_request_create(sess, Request.c_str(), URL.c_str());
++ ne_buffer *body = ne_buffer_create();
++
+ if (Request=="PUT")
+- ne_set_request_body_buffer(req,0,0);
++ ne_set_request_body_buffer(req, body->data, ne_buffer_size(body));
+
+ if (Request!="GET")
+ ne_set_request_flag(req, NE_REQFLAG_IDEMPOTENT, 0);
+@@ -195,6 +197,8 @@ int MusicBrainz5::CHTTPFetch::Fetch(const std::string& URL, const std::string& R
+
+ Ret=m_d->m_Data.size();
+
++ ne_buffer_destroy(body);
++
+ ne_request_destroy(req);
+
+ m_d->m_ErrorMessage = ne_get_error(sess);
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
index 803c6279ce..3b365444e2 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
@@ -8,7 +8,9 @@ DEPENDS = "expat libxml2 libxml2-native neon neon-native libmusicbrainz-native"
PV = "5.1.0+git${SRCPV}"
SRCREV = "8be45b12a86bc0e46f2f836c8ac88e1e98d82aee"
-SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git;branch=master;protocol=https"
+SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git;branch=master;protocol=https \
+ file://0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch
deleted file mode 100644
index 4a2b25cdd9..0000000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- libmpd-11.8.17/src/libmpd-internal.h.orig 2014-09-30 04:08:50.963292427 +0200
-+++ libmpd-11.8.17/src/libmpd-internal.h 2014-09-30 04:08:30.595292223 +0200
-@@ -21,6 +21,7 @@
- #define __MPD_INTERNAL_LIB_
-
- #include "libmpdclient.h"
-+#include "config.h"
- struct _MpdData_real;
-
- typedef struct _MpdData_real {
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0001-fix-return-makes-integer-from-pointer-without-a-cast.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0001-fix-return-makes-integer-from-pointer-without-a-cast.patch
new file mode 100644
index 0000000000..dd50a71f7d
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0001-fix-return-makes-integer-from-pointer-without-a-cast.patch
@@ -0,0 +1,27 @@
+From f0f8cc5ac6f1fa9cb5c98cb0b3688f44c64fa8ee Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Wed, 19 Jul 2017 14:22:48 +0200
+Subject: [PATCH 1/3] fix return makes integer from pointer without a cast
+
+Upstream-Status: Pending [https://github.com/archlinux/svntogit-packages/tree/packages/libmpd/trunk]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libmpd-playlist.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libmpd-playlist.c b/src/libmpd-playlist.c
+index c3c30ec..64c64ea 100644
+--- a/src/libmpd-playlist.c
++++ b/src/libmpd-playlist.c
+@@ -780,7 +780,7 @@ int mpd_playlist_load(MpdObj *mi, const char *path)
+ if(mpd_lock_conn(mi))
+ {
+ debug_printf(DEBUG_ERROR,"lock failed\n");
+- return NULL;
++ return MPD_LOCK_FAILED;
+ }
+ mpd_sendLoadCommand(mi->connection,path);
+ mpd_finishCommand(mi->connection);
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0002-fix-comparison-between-pointer-and-zero-character-co.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0002-fix-comparison-between-pointer-and-zero-character-co.patch
new file mode 100644
index 0000000000..66d921ed6d
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0002-fix-comparison-between-pointer-and-zero-character-co.patch
@@ -0,0 +1,27 @@
+From fa3b3b3759986171a85230ba8b53764beafdb37f Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Wed, 19 Jul 2017 14:40:00 +0200
+Subject: [PATCH 2/3] fix comparison between pointer and zero character constant
+
+Upstream-Status: Pending [https://github.com/archlinux/svntogit-packages/tree/packages/libmpd/trunk]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libmpd-database.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libmpd-database.c b/src/libmpd-database.c
+index 2480d5e..edafc0a 100644
+--- a/src/libmpd-database.c
++++ b/src/libmpd-database.c
+@@ -961,7 +961,7 @@ MpdData * mpd_database_get_directory_recursive(MpdObj *mi, const char *path)
+ debug_printf(DEBUG_WARNING,"not connected\n");
+ return NULL;
+ }
+- if(path == '\0' || path[0] == '\0')
++ if(path == NULL || path[0] == '\0')
+ {
+ debug_printf(DEBUG_ERROR, "argumant invalid\n");
+ return NULL;
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0003-include-config.h.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0003-include-config.h.patch
new file mode 100644
index 0000000000..805204c0b2
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0003-include-config.h.patch
@@ -0,0 +1,26 @@
+From 67eae4f20af9aaaf693025d95a05527a2c1fed1a Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Wed, 19 Jul 2017 14:38:43 +0200
+Subject: [PATCH 3/3] include config.h
+
+Upstream-Status: Pending [https://github.com/archlinux/svntogit-packages/tree/packages/libmpd/trunk]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libmpd-strfsong.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/libmpd-strfsong.c b/src/libmpd-strfsong.c
+index 7d47bed..76fa3ff 100644
+--- a/src/libmpd-strfsong.c
++++ b/src/libmpd-strfsong.c
+@@ -28,6 +28,7 @@
+ #include <unistd.h>
+ #include <string.h>
+ #include <glib.h>
++#include <config.h>
+ #include "libmpd.h"
+ #include "libmpd-internal.h"
+
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
index d5ee395af8..3a4b3aa1a0 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
@@ -5,9 +5,10 @@ HOMEPAGE ="http://sourceforge.net/projects/musicpd"
DEPENDS = "glib-2.0"
SRC_URI = "http://www.musicpd.org/download/${BPN}/${PV}/${BP}.tar.gz \
- file://glibc-2.20.patch \
+ file://0001-fix-return-makes-integer-from-pointer-without-a-cast.patch \
+ file://0002-fix-comparison-between-pointer-and-zero-character-co.patch \
+ file://0003-include-config.h.patch \
"
-SRC_URI[md5sum] = "5ae3d87467d52aef3345407adb0a2488"
SRC_URI[sha256sum] = "fe20326b0d10641f71c4673fae637bf9222a96e1712f71f170fca2fc34bf7a83"
inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.6.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.9.bb
index c74f1074cc..e63c1b5e19 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.6.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.9.bb
@@ -21,7 +21,7 @@ DEPENDS += " \
SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=v0.23.x;protocol=https \
file://mpd.conf.in \
"
-SRCREV = "f591193ddaa7f9bcb6c85ff5899517fc7b53e35a"
+SRCREV = "12147f6d5822899cc4316799b494c093b4b47f91"
S = "${WORKDIR}/git"
EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_system_unitdir}', '-Dsystemd=disabled', d)}"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.1.bb
new file mode 100644
index 0000000000..9fdb60380b
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.1.bb
@@ -0,0 +1,25 @@
+SUMMARY = "PipeWire Media Session is an example session manager for PipeWire"
+HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/media-session"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a"
+
+DEPENDS = " \
+ pipewire \
+ alsa-lib \
+ dbus \
+"
+
+SRC_URI = "git://gitlab.freedesktop.org/pipewire/media-session.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+SRCREV = "e5d5cf2404786af8bcc40bdb8a2962bef4ec18b6"
+
+inherit meson pkgconfig
+
+FILES:${PN} += " \
+ ${systemd_user_unitdir}/pipewire-media-session.service \
+ ${datadir}/pipewire/media-session.d/* \
+"
+
+RRECOMMENDS:${PN} += "pipewire"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-avb-fix-compilation-on-big-endian.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-avb-fix-compilation-on-big-endian.patch
new file mode 100644
index 0000000000..fc618b4a7c
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-avb-fix-compilation-on-big-endian.patch
@@ -0,0 +1,53 @@
+From 1a5ec4452fa21592eaeeb823ad95a1db6eb60376 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Tue, 19 Jul 2022 13:49:42 +0200
+Subject: [PATCH 001/113] avb: fix compilation on big endian
+
+Patch-Status: Backport
+
+---
+ src/modules/module-avb/aaf.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/modules/module-avb/aaf.h b/src/modules/module-avb/aaf.h
+index cb4871ca6..b444ce251 100644
+--- a/src/modules/module-avb/aaf.h
++++ b/src/modules/module-avb/aaf.h
+@@ -35,7 +35,7 @@ struct avb_packet_aaf {
+ unsigned gv:1;
+ unsigned tv:1;
+
+- uint8_t seq_number;
++ uint8_t seq_num;
+
+ unsigned _r2:7;
+ unsigned tu:1;
+diff --git a/src/modules/module-avb/iec61883.h b/src/modules/module-avb/iec61883.h
+index d3b3a7daa..6ca8724ad 100644
+--- a/src/modules/module-avb/iec61883.h
++++ b/src/modules/module-avb/iec61883.h
+@@ -37,7 +37,7 @@ struct avb_packet_iec61883 {
+ unsigned gv:1;
+ unsigned tv:1;
+
+- uint8_t seq_number;
++ uint8_t seq_num;
+
+ unsigned _r2:7;
+ unsigned tu:1;
+diff --git a/spa/plugins/avb/avbtp/packets.h b/spa/plugins/avb/avbtp/packets.h
+index 7047456bf..3d4a652ee 100644
+--- a/spa/plugins/avb/avbtp/packets.h
++++ b/spa/plugins/avb/avbtp/packets.h
+@@ -116,7 +116,7 @@ struct spa_avbtp_packet_aaf {
+ unsigned gv:1;
+ unsigned tv:1;
+
+- uint8_t seq_number;
++ uint8_t seq_num;
+
+ unsigned _r2:7;
+ unsigned tu:1;
+--
+2.34.1
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch
deleted file mode 100644
index ad6448a10a..0000000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From d3ea3142e1a4de206e616bc18f63a529e6b4986a Mon Sep 17 00:00:00 2001
-From: psykose <alice@ayaya.dev>
-Date: Wed, 13 Apr 2022 21:57:49 +0000
-Subject: [PATCH 001/154] spa: fix c90 header include
-
-placing declarations after code is invalid under ISO c90
-
-Fixes !1211
-
-Patch-Status: Backport
----
- spa/include/spa/utils/string.h | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/spa/include/spa/utils/string.h b/spa/include/spa/utils/string.h
-index e80434537..43d19616c 100644
---- a/spa/include/spa/utils/string.h
-+++ b/spa/include/spa/utils/string.h
-@@ -276,10 +276,11 @@ static inline int spa_scnprintf(char *buffer, size_t size, const char *format, .
- static inline float spa_strtof(const char *str, char **endptr)
- {
- static locale_t locale = NULL;
-+ locale_t prev;
- float v;
- if (SPA_UNLIKELY(locale == NULL))
- locale = newlocale(LC_ALL_MASK, "C", NULL);
-- locale_t prev = uselocale(locale);
-+ prev = uselocale(locale);
- v = strtof(str, endptr);
- uselocale(prev);
- return v;
-@@ -319,10 +320,11 @@ static inline bool spa_atof(const char *str, float *val)
- static inline double spa_strtod(const char *str, char **endptr)
- {
- static locale_t locale = NULL;
-+ locale_t prev;
- double v;
- if (SPA_UNLIKELY(locale == NULL))
- locale = newlocale(LC_ALL_MASK, "C", NULL);
-- locale_t prev = uselocale(locale);
-+ prev = uselocale(locale);
- v = strtod(str, endptr);
- uselocale(prev);
- return v;
---
-2.25.1
-
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.56.bb
index c176c6eeb1..feefe7c151 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.56.bb
@@ -13,10 +13,10 @@ LIC_FILES_CHKSUM = " \
DEPENDS = "dbus ncurses"
-SRCREV = "64cf5e80e6240284e6b757907b900507fe56f1b5"
+SRCREV = "f274e53d25ee8f483ac6fce9e516bb1830abe88b"
SRC_URI = " \
git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https \
- file://0001-spa-fix-c90-header-include.patch \
+ file://0001-avb-fix-compilation-on-big-endian.patch \
"
S = "${WORKDIR}/git"
@@ -62,7 +62,6 @@ EXTRA_OEMESON += " \
-Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \
-Dsystemd-system-unit-dir=${systemd_system_unitdir} \
-Dsystemd-user-unit-dir=${systemd_user_unitdir} \
- -Dvulkan=disabled \
-Dman=disabled \
-Dsession-managers='[]' \
-Dlv2=disabled \
@@ -72,12 +71,26 @@ EXTRA_OEMESON += " \
-Dlegacy-rtkit=false \
"
-PACKAGECONFIG:class-target ??= "\
+# spa alsa plugin code uses typedef redefinition, which is officially a C11 feature.
+# Pipewire builds with 'c_std=gnu99' by default. Recent versions of gcc don't issue this warning in gnu99
+# mode but it looks like clang still does
+CFLAGS:append = " -Wno-typedef-redefinition"
+
+# According to wireplumber documentation only one session manager should be installed at a time
+# Possible options are media-session, which has fewer dependencies but is very simple,
+# or wireplumber, which is more powerful.
+PIPEWIRE_SESSION_MANAGER ??= "media-session"
+
+FFMPEG_AVAILABLE = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)}"
+BLUETOOTH_AAC = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'bluez-aac', '', d)}"
+
+PACKAGECONFIG:class-target ??= " \
${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)} \
- gstreamer jack libusb pw-cat raop sndfile v4l2 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez ${BLUETOOTH_AAC}', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa vulkan pulseaudio', d)} \
+ ${PIPEWIRE_SESSION_MANAGER} \
+ ${FFMPEG_AVAILABLE} gstreamer jack libusb pw-cat raop sndfile v4l2 udev volume \
"
# "jack" and "pipewire-jack" packageconfigs cannot be both enabled,
@@ -85,19 +98,21 @@ PACKAGECONFIG:class-target ??= "\
# libjack.so* files, thus colliding with the libpack package. This
# is why these two are marked in their respective packageconfigs
# as being in conflict.
-PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev"
+PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,pipewire-alsa pipewire-alsa-card-profile"
PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi"
PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc"
PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac"
PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native graphviz-native"
PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg"
-PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base,,gstreamer1.0-pipewire"
PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack"
-PACKAGECONFIG[libcamera] = "-Dlibcamera=enabled,-Dlibcamera=disabled,libcamera"
+PACKAGECONFIG[libcamera] = "-Dlibcamera=enabled,-Dlibcamera=disabled,libcamera libdrm"
PACKAGECONFIG[libcanberra] = "-Dlibcanberra=enabled,-Dlibcanberra=disabled,libcanberra"
PACKAGECONFIG[libusb] = "-Dlibusb=enabled,-Dlibusb=disabled,libusb"
+PACKAGECONFIG[media-session] = ",,,pipewire-media-session,,wireplumber"
+PACKAGECONFIG[pulseaudio] = "-Dlibpulse=enabled,-Dlibpulse=disabled,pulseaudio,,pipewire-pulse"
PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib"
-PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,,jack"
+PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,pipewire-jack,jack"
PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled"
PACKAGECONFIG[raop] = "-Draop=enabled,-Draop=disabled,openssl"
PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,libsdl2"
@@ -109,8 +124,12 @@ PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsyst
# currently lacks the feature of enabling user services.
PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=enabled,-Dsystemd-user-service=disabled,systemd"
# pw-cat needs sndfile packageconfig to be enabled
+PACKAGECONFIG[udev] = "-Dudev=enabled,-Dudev=disabled,udev"
PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev"
+PACKAGECONFIG[volume] = "-Dvolume=enabled,-Dvolume=disabled"
+PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-headers vulkan-loader"
PACKAGECONFIG[webrtc-echo-cancelling] = "-Decho-cancel-webrtc=enabled,-Decho-cancel-webrtc=disabled,webrtc-audio-processing"
+PACKAGECONFIG[wireplumber] = ",,,wireplumber,,media-session"
PACKAGESPLITFUNCS:prepend = " split_dynamic_packages "
PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends "
@@ -227,10 +246,16 @@ PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*"
SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd-system-service', 'pipewire.service', '', d)}"
CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf"
FILES:${PN} = " \
- ${datadir}/pipewire/pipewire.conf \
- ${systemd_system_unitdir}/pipewire.* \
- ${systemd_user_unitdir}/pipewire.* \
+ ${datadir}/pipewire \
+ ${systemd_system_unitdir}/pipewire* \
+ ${systemd_user_unitdir}/pipewire* \
${bindir}/pipewire \
+ ${bindir}/pipewire-avb \
+"
+
+RRECOMMENDS:${PN}:class-target += " \
+ pipewire-modules-meta \
+ pipewire-spa-plugins-meta \
"
FILES:${PN}-dev += " \
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch
new file mode 100644
index 0000000000..36a31a85cd
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch
@@ -0,0 +1,27 @@
+From 8c10181547c93438fc10f753e7164ee004add6d1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Aug 2022 10:28:47 -0700
+Subject: [PATCH] ogginfo: Include utf8.h for missing utf8_decode
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ogginfo/codec_skeleton.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ogginfo/codec_skeleton.c b/ogginfo/codec_skeleton.c
+index a27f8da..3ac13f6 100644
+--- a/ogginfo/codec_skeleton.c
++++ b/ogginfo/codec_skeleton.c
+@@ -25,6 +25,7 @@
+ #include <ogg/ogg.h>
+
+ #include "i18n.h"
++#include "utf8.h" /* utf8_decode */
+
+ #include "private.h"
+
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb
index 290162127f..61a4aedb85 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb
@@ -12,6 +12,7 @@ DEPENDS = "libogg libvorbis"
SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.gz \
file://gettext.patch \
+ file://0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch \
"
SRC_URI[md5sum] = "998fca293bd4e4bdc2b96fb70f952f4e"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.11.bb
index 0a2ca3b6f7..e093734ed2 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.11.bb
@@ -11,7 +11,7 @@ DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \
${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \
"
-SRCREV = "8b97b40c4467951fbd4181afb47e4175361365a6"
+SRCREV = "80b3559963f0ad40a7bfa6c23b0098275c0b5ebe"
SRC_URI = "git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \
file://90-OE-disable-session-dbus-dependent-features.lua \
"
@@ -36,7 +36,7 @@ EXTRA_OEMESON += " \
"
PACKAGECONFIG ??= "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \
"
PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
@@ -130,7 +130,9 @@ CONFFILES:${PN} += " \
# Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to
# be present. While in theory any application that uses libpipewire can configure
# itself to become a daemon, in practice, the PipeWire daemon is used.
-RRECOMMENDS:${PN} += "${PN}-scripts pipewire"
+RRECOMMENDS:${PN} += "pipewire ${PN}-scripts ${PN}-modules-meta"
+
+FILES:${PN} += "${systemd_user_unitdir}"
FILES:libwireplumber = " \
${libdir}/libwireplumber-*.so.* \
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-reglib-Remove-unused-variables.patch b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-reglib-Remove-unused-variables.patch
new file mode 100644
index 0000000000..c6c3c53f19
--- /dev/null
+++ b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-reglib-Remove-unused-variables.patch
@@ -0,0 +1,59 @@
+From 1bd6ff9d10c83afbc9954fc38b953e9167e6d4a9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 28 Aug 2022 14:01:55 -0700
+Subject: [PATCH] reglib: Remove unused variables
+
+These counters are not used anywhere therefore delete them
+Fixes
+reglib.c:1015:15: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+ unsigned int i = 0;
+ ^
+reglib.c:1062:15: error: variable 'lines' set but not used [-Werror,-Wunused-but-set-variable]
+ unsigned int lines = 0;
+ ^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ reglib.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/reglib.c b/reglib.c
+index 8565a0b..6c62c2c 100644
+--- a/reglib.c
++++ b/reglib.c
+@@ -1012,7 +1012,6 @@ static int reglib_find_next_country_stream(FILE *fp)
+ {
+ fpos_t prev_pos;
+ int r;
+- unsigned int i = 0;
+
+ while(1) {
+ char line[1024];
+@@ -1030,7 +1029,6 @@ static int reglib_find_next_country_stream(FILE *fp)
+ line_p = fgets(line, sizeof(line), fp);
+ if (line_p == line) {
+ if (strspn(line, "\n") == strlen(line)) {
+- i++;
+ continue;
+ }
+ if (strncmp(line, "country", 7) != 0)
+@@ -1059,7 +1057,6 @@ struct ieee80211_regdomain *reglib_parse_country(FILE *fp)
+
+ FILE *reglib_create_parse_stream(FILE *f)
+ {
+- unsigned int lines = 0;
+ FILE *fp;
+
+ fp = tmpfile();
+@@ -1076,7 +1073,6 @@ FILE *reglib_create_parse_stream(FILE *f)
+ if (line_p == line) {
+ if (strchr(line, '#') == NULL) {
+ fputs(line, fp);
+- lines++;
+ }
+ continue;
+ } else
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_3.18.bb b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_3.18.bb
index a616557e7c..2f4d4dac99 100644
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_3.18.bb
+++ b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_3.18.bb
@@ -16,6 +16,7 @@ SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
file://fix-issues-when-USE_OPENSSL-1.patch \
file://crda-4.14-python-3.patch \
file://0001-Make-alpha2-to-be-3-characters-long.patch \
+ file://0001-reglib-Remove-unused-variables.patch \
"
SRC_URI[md5sum] = "0431fef3067bf503dfb464069f06163a"
SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/0001-port-linux-Re-order-header-includes.patch b/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/0001-port-linux-Re-order-header-includes.patch
new file mode 100644
index 0000000000..27a562bf22
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/0001-port-linux-Re-order-header-includes.patch
@@ -0,0 +1,33 @@
+From cbb33e1548fe526c3e7dead294617bde1f087ae3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 24 Aug 2022 16:40:38 -0700
+Subject: [PATCH] port-linux: Re-order header includes
+
+linux/if.h when included before net/if.h casues duplicate definitions
+
+Upstream-Status: Iappropriate [Upstream is Dead]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Port-linux/interface.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Port-linux/interface.c b/Port-linux/interface.c
+index 18777e91..19aefb2b 100644
+--- a/Port-linux/interface.c
++++ b/Port-linux/interface.c
+@@ -25,7 +25,6 @@
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <sys/ioctl.h>
+-#include <linux/if.h>
+ #include <syslog.h>
+ #include <string.h>
+ #include <errno.h>
+@@ -42,6 +41,7 @@
+ #include <stdarg.h>
+ #include <linux/sockios.h>
+ #include <linux/if_ether.h>
++#include <linux/if.h>
+
+ int interface_auto_up = 0;
+ int interface_do_message = 0;
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb
index bdda35a24b..f57767e9b8 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb
@@ -9,6 +9,7 @@ SRCREV = "a7c6cf58a88a510cb00841351e75030ce78d36bf"
SRC_URI = "git://github.com/tomaszmrugalski/dibbler;branch=master;protocol=https \
file://dibbler_fix_getSize_crash.patch \
+ file://0001-port-linux-Re-order-header-includes.patch \
"
PV = "1.0.1+1.0.2RC1+git${SRCREV}"
@@ -29,6 +30,7 @@ inherit autotools
DEPENDS += "flex-native"
+CFLAGS += "-D_GNU_SOURCE"
LDFLAGS += "-pthread"
PACKAGES =+ "${PN}-requestor ${PN}-client ${PN}-relay ${PN}-server"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-version.c-don-t-print-build-flags.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-version.c-don-t-print-build-flags.patch
new file mode 100644
index 0000000000..697205efe0
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-version.c-don-t-print-build-flags.patch
@@ -0,0 +1,41 @@
+From cbc64dcf6aa2a1be63f45ea6dd7d2c49b70a0bee Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Wed, 3 Aug 2022 16:44:29 +0800
+Subject: [PATCH] version.c: don't print build flags
+
+Don't print the build flags to avoid collecting the build environment info.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ src/main/version.c | 13 -------------
+ 1 file changed, 13 deletions(-)
+
+diff --git a/src/main/version.c b/src/main/version.c
+index 62972d9f53..cf81de72c9 100644
+--- a/src/main/version.c
++++ b/src/main/version.c
+@@ -589,19 +589,6 @@ void version_print(void)
+ DEBUG2(" unknown");
+ #endif
+
+- DEBUG2("Compilation flags:");
+-#ifdef BUILT_WITH_CPPFLAGS
+- DEBUG2(" cppflags : " BUILT_WITH_CPPFLAGS);
+-#endif
+-#ifdef BUILT_WITH_CFLAGS
+- DEBUG2(" cflags : " BUILT_WITH_CFLAGS);
+-#endif
+-#ifdef BUILT_WITH_LDFLAGS
+- DEBUG2(" ldflags : " BUILT_WITH_LDFLAGS);
+-#endif
+-#ifdef BUILT_WITH_LIBS
+- DEBUG2(" libs : " BUILT_WITH_LIBS);
+-#endif
+ DEBUG2(" ");
+ }
+ INFO("FreeRADIUS Version " RADIUSD_VERSION_STRING);
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb
index d6477e340e..1407b798b5 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb
@@ -32,6 +32,7 @@ SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.0.x;lfs=0
file://radiusd.service \
file://radiusd-volatiles.conf \
file://check-openssl-cmds-in-script-bootstrap.patch \
+ file://0001-version.c-don-t-print-build-flags.patch \
"
raddbdir="${sysconfdir}/${MLPREFIX}raddb"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.14.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.15.bb
index 739b7de625..d06dd2d9ca 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.14.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.15.bb
@@ -19,7 +19,7 @@ SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
file://1571.patch \
"
-SRC_URI[sha256sum] = "d0dde8fdb12caf6e2426b4f28081919a2fce3448773bdb8af0d3cd5fe5776925"
+SRC_URI[sha256sum] = "4735b1d32e3f91c7a8896741d88a3022e89730a1ee897946decfa0df27039ac6"
inherit systemd update-rc.d useradd cmake pkgconfig
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb
index c8fea5dbb7..ebd25a8f8a 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb
@@ -55,6 +55,8 @@ EXTRA_OEMESON = "\
-Dconfig_dns_rc_manager_default=${NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT} \
-Dconfig_dhcp_default=${NETWORKMANAGER_DHCP_DEFAULT} \
-Ddhcpcanon=false \
+ -Diptables=${sbindir}/iptables \
+ -Dnft=${sbindir}/nft \
"
# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-smbtorture-skip-test-case-tfork_cmd_send.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-smbtorture-skip-test-case-tfork_cmd_send.patch
new file mode 100644
index 0000000000..90ee317860
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-smbtorture-skip-test-case-tfork_cmd_send.patch
@@ -0,0 +1,38 @@
+From 059b517f9ef6cbdc696e0983ce255b1728042827 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Thu, 25 Aug 2022 16:46:04 +0800
+Subject: [PATCH] smbtorture: skip test case tfork_cmd_send
+
+The test case tfork_cmd_send fails on target as it requires a script
+located in the source directory:
+
+$ smbtorture ncalrpc:localhost local.tfork.tfork_cmd_send
+test: tfork_cmd_send
+/buildarea/build/tmp/work/core2-64-poky-linux/samba/4.14.14-r0/samba-4.14.14/testprogs/blackbox/tfork.sh:
+Failed to exec child - No such file or directory
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ lib/util/tests/tfork.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/lib/util/tests/tfork.c b/lib/util/tests/tfork.c
+index 70ae975..4826ce6 100644
+--- a/lib/util/tests/tfork.c
++++ b/lib/util/tests/tfork.c
+@@ -839,10 +839,6 @@ struct torture_suite *torture_local_tfork(TALLOC_CTX *mem_ctx)
+ "tfork_threads",
+ test_tfork_threads);
+
+- torture_suite_add_simple_test(suite,
+- "tfork_cmd_send",
+- test_tfork_cmd_send);
+-
+ torture_suite_add_simple_test(suite,
+ "tfork_event_file_handle",
+ test_tfork_event_file_handle);
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-Fix-errors-with-Werror-implicit-function-declara.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-Fix-errors-with-Werror-implicit-function-declara.patch
new file mode 100644
index 0000000000..4a89f76782
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-Fix-errors-with-Werror-implicit-function-declara.patch
@@ -0,0 +1,32 @@
+From 28ec4c9323e67cd114a0465015c9f3c2e64e6829 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Aug 2022 13:05:26 -0700
+Subject: [PATCH] waf: Fix errors with Werror=implicit-function-declaration
+ turned on
+
+Clang-15 turns this option into errors by default, and it results in
+rpath check failures
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ buildtools/wafsamba/samba_waf18.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/buildtools/wafsamba/samba_waf18.py b/buildtools/wafsamba/samba_waf18.py
+index 7a0a08e..c0d2c3e 100644
+--- a/buildtools/wafsamba/samba_waf18.py
++++ b/buildtools/wafsamba/samba_waf18.py
+@@ -209,7 +209,7 @@ def CHECK_LIBRARY_SUPPORT(conf, rpath=False, version_script=False, msg=None):
+ lib_node.parent.mkdir()
+ lib_node.write('int lib_func(void) { return 42; }\n', 'w')
+ main_node = bld.srcnode.make_node('main.c')
+- main_node.write('int main(void) {return !(lib_func() == 42);}', 'w')
++ main_node.write('int lib_func(void); int main(void) {return !(lib_func() == 42);}', 'w')
+ linkflags = []
+ if version_script:
+ script = bld.srcnode.make_node('ldscript')
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.13.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.14.bb
index 49e93fc536..f88dee6175 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.13.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.14.bb
@@ -21,6 +21,8 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
file://0004-Add-options-to-configure-the-use-of-libbsd.patch \
file://0005-samba-build-dnsserver_common-code.patch \
file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \
+ file://0001-smbtorture-skip-test-case-tfork_cmd_send.patch \
+ file://0001-waf-Fix-errors-with-Werror-implicit-function-declara.patch \
"
SRC_URI:append:libc-musl = " \
@@ -31,7 +33,7 @@ SRC_URI:append:libc-musl = " \
file://samba-fix-musl-lib-without-innetgr.patch \
"
-SRC_URI[sha256sum] = "e1df792818a17d8d21faf33580d32939214694c92b84fb499464210d86a7ff75"
+SRC_URI[sha256sum] = "abd5e9e6aa45e55114b188ba189ebdfc8fd3d7718d43f749e477ce7f791e5519"
UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.14(\.\d+)+).tar.gz"
@@ -112,9 +114,11 @@ EXTRA_OECONF += "--enable-fhs \
--with-piddir=/run \
--with-sockets-dir=/run/samba \
--with-modulesdir=${libdir}/samba \
+ --with-privatelibdir=${libdir}/samba \
--with-lockdir=${localstatedir}/lib/samba \
--with-cachedir=${localstatedir}/lib/samba \
--disable-rpath-install \
+ --disable-rpath \
--with-shared-modules=${SAMBA4_MODULES} \
--bundled-libraries=${SAMBA4_LIBS} \
${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/sshpass/sshpass_1.09.bb b/meta-openembedded/meta-networking/recipes-connectivity/sshpass/sshpass_1.09.bb
new file mode 100644
index 0000000000..5c52437af8
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/sshpass/sshpass_1.09.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Non-interactive ssh password auth"
+HOMEPAGE = "http://sshpass.sourceforge.net/"
+SECTION = "console/network"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
+
+SRC_URI[sha256sum] = "71746e5e057ffe9b00b44ac40453bf47091930cba96bbea8dc48717dedc49fb7"
+
+inherit autotools
diff --git a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/mount_conflict.patch b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/mount_conflict.patch
new file mode 100644
index 0000000000..e2a94bf825
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/mount_conflict.patch
@@ -0,0 +1,30 @@
+Avoid conflicts between sys/mount.h and linux/mount.h
+
+linux/fs.h includes linux/mount.h and this include file is unused so
+do not include it and avoid conflict too with glibc 2.36+ see [1]
+
+[1] https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/modules/parse_amd.c
++++ b/modules/parse_amd.c
+@@ -27,7 +27,6 @@
+ #include <sys/utsname.h>
+ #include <netinet/in.h>
+ #include <sys/mount.h>
+-#include <linux/fs.h>
+
+ #define MODULE_PARSE
+ #include "automount.h"
+--- a/modules/parse_sun.c
++++ b/modules/parse_sun.c
+@@ -30,7 +30,6 @@
+ #include <sys/utsname.h>
+ #include <netinet/in.h>
+ #include <sys/mount.h>
+-#include <linux/fs.h>
+
+ #define MODULE_PARSE
+ #include "automount.h"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.8.bb b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.8.bb
index 1f87bddbee..cb80844586 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.8.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.8.bb
@@ -26,6 +26,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.gz \
file://0001-Do-not-hardcode-path-for-pkg.m4.patch \
file://0001-Bug-fix-for-pid_t-not-found-on-musl.patch \
file://0001-Define-__SWORD_TYPE-if-undefined.patch \
+ file://mount_conflict.patch \
"
SRC_URI[sha256sum] = "0bd401c56f0eb1ca6251344c3a3d70bface3eccf9c67117cd184422c4cace30c"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/0001-Forward-port-defining-PREFIX_BINDIR-to-use-new-autoc.patch b/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/0001-Forward-port-defining-PREFIX_BINDIR-to-use-new-autoc.patch
new file mode 100644
index 0000000000..efd1f345e6
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/0001-Forward-port-defining-PREFIX_BINDIR-to-use-new-autoc.patch
@@ -0,0 +1,25 @@
+From 53ca110d53ca82f6c4224e4c29dbcf7dfe6914cd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Aug 2022 00:25:06 -0700
+Subject: [PATCH] Forward port defining PREFIX_BINDIR to use new autoconf
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index c3ef568..a320c56 100644
+--- a/configure.in
++++ b/configure.in
+@@ -44,7 +44,7 @@ wi_EXTRA_SYSV_SUNOS_DIRS dnl For better curses library on SunOS 4
+
+ dnl Try to use PATH rather than hardcode the installation path, if possible.
+ if test "${prefix-NONE}" != "NONE" && test "$prefix" != "/usr/local" && test "$prefix" != "/usr"; then
+- AC_DEFINE_UNQUOTED(PREFIX_BINDIR, "$prefix/bin")
++ AC_DEFINE([PREFIX_BINDIR], [${prefix}/bin], [Install bindir])
+ fi
+
+
diff --git a/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch b/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch
index 1c8146edaf..22e4f7837b 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch
@@ -16,13 +16,9 @@ Other solution would to fix sed.sh to ignore double definitions
Upstream-Status: Pending
Signed-of-by: Khem Raj <raj.khem@gmail.com>
-
-
-Index: ncftp-3.2.6/configure
-===================================================================
---- ncftp-3.2.6.orig/configure
-+++ ncftp-3.2.6/configure
-@@ -7859,7 +7859,6 @@ chmod 755 "$wi_tmpdir/prpp.pl"
+--- a/autoconf_local/aclocal.m4
++++ b/autoconf_local/aclocal.m4
+@@ -4220,7 +4220,6 @@ changequote({{, }})dnl
cat << 'EOF' > "$wi_tmpdir/unistd.c"
#include <confdefs.h>
diff --git a/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb b/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb
index 592f98f9d3..e66325c838 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb
@@ -9,7 +9,8 @@ SRC_URI = "ftp://ftp.ncftp.com/${BPN}/${BP}-src.tar.xz \
file://ncftp-configure-use-BUILD_CC-for-ccdv.patch \
file://unistd.patch \
file://ncftp-3.2.5-gcc10.patch \
-"
+ file://0001-Forward-port-defining-PREFIX_BINDIR-to-use-new-autoc.patch \
+ "
SRC_URI[md5sum] = "42d0f896d69a4d603ec097546444245f"
SRC_URI[sha256sum] = "5f200687c05d0807690d9fb770327b226f02dd86155b49e750853fce4e31098d"
@@ -20,14 +21,9 @@ CFLAGS += "-DNO_SSLv2 -D_FILE_OFFSET_BITS=64 -Wall"
PACKAGECONFIG ??= ""
PACKAGECONFIG[ccdv] = "--enable-ccdv,--disable-ccdv,,"
-EXTRA_OECONF = "--disable-precomp"
-TARGET_CC_ARCH:append = " ${SELECTED_OPTIMIZATION}"
+EXTRA_OECONF = "--disable-precomp --disable-universal ac_cv_path_TAR=tar"
+ACLOCALEXTRAPATH:append = " -I ${S}/autoconf_local"
-do_configure() {
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
- oe_runconf
-}
do_install () {
install -d ${D}${bindir} ${D}${sysconfdir} ${D}${mandir}
oe_runmake 'prefix=${D}${prefix}' 'BINDIR=${D}${bindir}' \
diff --git a/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.7c.bb b/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.7c.bb
index 686f1e5cdf..ecd2777247 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.7c.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.7c.bb
@@ -21,6 +21,8 @@ S = "${WORKDIR}/git"
inherit autotools-brokensep useradd update-rc.d systemd multilib_script
+EXTRA_OECONF += "--enable-largefile"
+
PACKAGECONFIG ??= "shadow \
${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \
static \
@@ -58,7 +60,6 @@ PACKAGECONFIG[nls] = "--enable-nls, --disable-nls"
#add mod_dso to core modules
PACKAGECONFIG[dso] = "--enable-dso, --disable-dso"
-PACKAGECONFIG[largefile] = "--enable-largefile, --disable-largefile"
#omit mod_auth_file from core modules
PACKAGECONFIG[auth] = "--enable-auth-file, --disable-auth-file"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch b/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch
index 2606a36675..c213943d53 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch
@@ -11,15 +11,17 @@ Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Update for 1.0.49.
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+Update for 1.0.51.
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
---
- configure.ac | 15 ---------------
- 1 file changed, 15 deletions(-)
+ configure.ac | 16 ----------------
+ 1 file changed, 16 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 079e6f0..9a1ec06 100644
+index 62768c8..efaeee5 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -96,21 +96,6 @@ AX_CHECK_LINK_FLAG([-Wl,-z,relro], [LDFLAGS="$LDFLAGS -Wl,-z,relro"])
+@@ -97,22 +97,6 @@ AX_CHECK_LINK_FLAG([-Wl,-z,relro], [LDFLAGS="$LDFLAGS -Wl,-z,relro"])
AX_CHECK_LINK_FLAG([-Wl,-z,now], [LDFLAGS="$LDFLAGS -Wl,-z,now"])
AX_CHECK_LINK_FLAG([-Wl,-z,noexecstack], [LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"])
@@ -27,7 +29,8 @@ index 079e6f0..9a1ec06 100644
- for path in \
- /usr/kerberos \
- /usr/local /opt /usr/local/opt \
-- /usr/openssl@1.1 /opt/openssl@1.1 /usr/local/opt/openssl@1.1 \
+- /opt/homebrew/opt/openssl@3 /usr/local/opt/openssl@3 \
+- /opt/homebrew/opt/openssl@1.1 /usr/local/opt/openssl@1.1 \
- /usr/openssl /opt/openssl /usr/local/opt/openssl; do
- if test -d $path/include; then
- CPPFLAGS="$CPPFLAGS -I${path}/include"
@@ -42,5 +45,5 @@ index 079e6f0..9a1ec06 100644
dnl Checks for header files
--
-2.7.4
+2.25.1
diff --git a/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.50.bb b/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.51.bb
index edc2af3a34..6f03f73db5 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.50.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.51.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Pure-FTPd is a free (BSD license), secure, production-quality and
HOMEPAGE = "http://www.pureftpd.org/project/pure-ftpd"
SECTION = "net"
LICENSE = "0BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a4496a14dea009df36c612707d455d02"
+LIC_FILES_CHKSUM = "file://COPYING;md5=194bc994ad6bbd4ff5a021082fe52156"
DEPENDS = "libcap virtual/crypt"
@@ -11,7 +11,7 @@ SRC_URI = "http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-${PV}.t
file://0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch \
file://nostrip.patch \
"
-SRC_URI[sha256sum] = "abe2f94eb40b330d4dc22b159991f44e5e515212f8e887049dccdef266d0ea23"
+SRC_URI[sha256sum] = "4160f66b76615eea2397eac4ea3f0a146b7928207b79bc4cc2f99ad7b7bd9513"
inherit autotools
diff --git a/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet/0001-libknet-tests-Correct-include-path-for-poll.h.patch b/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet/0001-libknet-tests-Correct-include-path-for-poll.h.patch
deleted file mode 100644
index 0d261fd4ef..0000000000
--- a/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet/0001-libknet-tests-Correct-include-path-for-poll.h.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From cae68083fda5d4ca832ff3cc8a533454df2efe23 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 12 Oct 2021 20:35:53 -0700
-Subject: [PATCH] libknet/tests: Correct include path for poll.h
-
-Fixes
-/usr/include/sys/poll.h:1:2: error: redirec
-ting incorrect #include <sys/poll.h> to <poll.h> [-Werror,-W#warnings]
-| #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
-
-Upstream-Status: Submitted [https://github.com/kronosnet/kronosnet/pull/363]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libknet/tests/test-common.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libknet/tests/test-common.c b/libknet/tests/test-common.c
-index 86b76b0..8f8b6ca 100644
---- a/libknet/tests/test-common.c
-+++ b/libknet/tests/test-common.c
-@@ -20,7 +20,7 @@
- #include <pthread.h>
- #include <dirent.h>
- #include <sys/select.h>
--#include <sys/poll.h>
-+#include <poll.h>
-
- #include "libknet.h"
- #include "test-common.h"
diff --git a/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.22.bb b/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.24.bb
index 0b0bc29452..cbd5e7a0fd 100644
--- a/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.22.bb
+++ b/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.24.bb
@@ -11,9 +11,8 @@ LIC_FILES_CHKSUM = "file://COPYING.applications;md5=751419260aa954499f7abaabaa88
SECTION = "libs"
DEPENDS = "doxygen-native libqb-native libxml2-native bzip2 libqb libxml2 libnl lksctp-tools lz4 lzo openssl nss xz zlib zstd"
-SRCREV = "0123ecebce0ad6aba3cdb320027192e15fd71e23"
+SRCREV = "f8f80fd7f9b85f2626d2c6452612962ad8efca9e"
SRC_URI = "git://github.com/kronosnet/kronosnet;protocol=https;branch=stable1 \
- file://0001-libknet-tests-Correct-include-path-for-poll.h.patch \
file://0001-links.c-Fix-build-with-gcc-12.patch \
"
diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20210219.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20220627.bb
index ce2ba65526..d80bdd87ab 100644
--- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20210219.bb
+++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20220627.bb
@@ -1,8 +1,8 @@
require wireguard.inc
-SRCREV = "122f06bfd8fc7b06a0899fa9adc4ce8e06900d98"
+SRCREV = "18fbcd68a35a892527345dc5679d0b2d860ee004"
-SRC_URI = "git://git.zx2c4.com/wireguard-linux-compat;branch=master"
+SRC_URI = "git://git.zx2c4.com/wireguard-linux-compat;protocol=https;branch=master"
inherit module kernel-module-split
diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210914.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210914.bb
index 0c686aae2a..20435338c3 100644
--- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210914.bb
+++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210914.bb
@@ -16,11 +16,19 @@ do_install () {
install
}
+PACKAGES += "${PN}-wg-quick"
+
FILES:${PN} = " \
+ ${bindir}/wg \
${sysconfdir} \
+"
+FILES:${PN}-wg-quick = " \
+ ${bindir}/wg-quick \
${systemd_system_unitdir} \
- ${bindir} \
"
-RDEPENDS:${PN} = "bash"
-RRECOMMENDS:${PN} = "kernel-module-wireguard"
+RDEPENDS:${PN}-wg-quick = "${PN} bash"
+RRECOMMENDS:${PN} = " \
+ kernel-module-wireguard \
+ ${PN}-wg-quick \
+ "
diff --git a/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/0001-tests-use-EXTENSIONS_DIR.patch b/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/0001-tests-use-EXTENSIONS_DIR.patch
new file mode 100644
index 0000000000..4cedc21ce8
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/0001-tests-use-EXTENSIONS_DIR.patch
@@ -0,0 +1,92 @@
+From 935fcac46e2790e0e297ca855b8033895c1b8941 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Wed, 24 Aug 2022 13:45:32 +0800
+Subject: [PATCH] tests: use EXTENSIONS_DIR
+
+Use EXTENSIONS_DIR to replace BUILD_DIR as the BUILD_DIR is meanlingless
+on target and also fix buildpaths issue.
+
+Upstream-Status: Inappropriate [OE ptest specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ tests/CMakeLists.txt | 1 +
+ tests/testloadext.c | 12 ++++++------
+ tests/testmesg_stress.c | 12 ++++++------
+ 3 files changed, 13 insertions(+), 12 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 8b698ce..2c83cbb 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -37,6 +37,7 @@ SET(TEST_LIST
+
+ ADD_DEFINITIONS(-DTEST_DEBUG)
+ ADD_DEFINITIONS(-DBUILD_DIR="${CMAKE_BINARY_DIR}")
++ADD_DEFINITIONS(-DEXTENSIONS_DIR="${EXTENSIONS_DIR}")
+
+ INCLUDE_DIRECTORIES( "../libfdproto" )
+ INCLUDE_DIRECTORIES( "../libfdcore" )
+diff --git a/tests/testloadext.c b/tests/testloadext.c
+index 452737f..3fffef5 100644
+--- a/tests/testloadext.c
++++ b/tests/testloadext.c
+@@ -35,9 +35,9 @@
+
+ #include "tests.h"
+
+-#ifndef BUILD_DIR
+-#error "Missing BUILD_DIR information"
+-#endif /* BUILD_DIR */
++#ifndef EXTENSIONS_DIR
++#error "Missing EXTENSIONS_DIR information"
++#endif /* EXTENSIONS_DIR */
+
+ #include <sys/types.h>
+ #include <dirent.h>
+@@ -59,9 +59,9 @@ int main(int argc, char *argv[])
+ CHECK( 0, fd_rtdisp_init() );
+
+ /* Find all extensions which have been compiled along the test */
+- TRACE_DEBUG(INFO, "Loading from: '%s'", BUILD_DIR "/extensions");
+- CHECK( 0, (dir = opendir (BUILD_DIR "/extensions")) == NULL ? 1 : 0 );
+- pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/");
++ TRACE_DEBUG(INFO, "Loading from: '%s'", EXTENSIONS_DIR);
++ CHECK( 0, (dir = opendir (EXTENSIONS_DIR)) == NULL ? 1 : 0 );
++ pathlen = snprintf(fullname, sizeof(fullname), EXTENSIONS_DIR "/");
+
+ while ((dp = readdir (dir)) != NULL) {
+ char * dot = strrchr(dp->d_name, '.');
+diff --git a/tests/testmesg_stress.c b/tests/testmesg_stress.c
+index 310a9d2..97dfe07 100644
+--- a/tests/testmesg_stress.c
++++ b/tests/testmesg_stress.c
+@@ -38,9 +38,9 @@
+ #include <libgen.h>
+ #include <dlfcn.h>
+
+-#ifndef BUILD_DIR
+-#error "Missing BUILD_DIR information"
+-#endif /* BUILD_DIR */
++#ifndef EXTENSIONS_DIR
++#error "Missing EXTENSIONS_DIR information"
++#endif /* EXTENSIONS_DIR */
+
+
+ /* The number of times each operation is repeated to measure the average operation time */
+@@ -73,9 +73,9 @@ static void load_all_extensions(char * prefix)
+ struct fd_list ext_with_depends = FD_LIST_INITIALIZER(ext_with_depends);
+
+ /* Find all extensions which have been compiled along the test */
+- LOG_D("Loading %s*.fdx from: '%s'", BUILD_DIR "/extensions", prefix ?: "");
+- CHECK( 0, (dir = opendir (BUILD_DIR "/extensions")) == NULL ? 1 : 0 );
+- pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/");
++ LOG_D("Loading %s*.fdx from: '%s'", EXTENSIONS_DIR, prefix ?: "");
++ CHECK( 0, (dir = opendir (EXTENSIONS_DIR)) == NULL ? 1 : 0 );
++ pathlen = snprintf(fullname, sizeof(fullname), EXTENSIONS_DIR "/");
+
+ while ((dp = readdir (dir)) != NULL) {
+ char * dot = strrchr(dp->d_name, '.');
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/pass-ptest-env.patch b/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/pass-ptest-env.patch
deleted file mode 100644
index ea857af7d6..0000000000
--- a/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/pass-ptest-env.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-freediameter ptest cases testmesg_stress.c and testloadext.c need load
-extensions both build time and runtime. Then they search extensions with
-build directory that causes runtime failures.
-
-Pass an environment variable to define runtime extension path.
-
-Upstream-Status: Inappropriate [OE ptest specific]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
-diff -Nur freeDiameter-1.2.0.orig/tests/testloadext.c freeDiameter-1.2.0/tests/testloadext.c
---- freeDiameter-1.2.0.orig/tests/testloadext.c 2014-02-19 17:33:24.785405032 +0800
-+++ freeDiameter-1.2.0/tests/testloadext.c 2014-02-19 20:08:03.871403924 +0800
-@@ -49,7 +49,7 @@
- {
- DIR *dir;
- struct dirent *dp;
-- char fullname[512];
-+ char fullname[1024];
- int pathlen;
-
- /* First, initialize the daemon modules */
-@@ -57,11 +57,16 @@
- CHECK( 0, fd_queues_init() );
- CHECK( 0, fd_msg_init() );
- CHECK( 0, fd_rtdisp_init() );
--
-+
-+ char *ext_dir = getenv("EXTENSIONS_DIR");
-+ if (ext_dir)
-+ pathlen = snprintf(fullname, sizeof(fullname), "%s", ext_dir);
-+ else
-+ pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/");
-+
- /* Find all extensions which have been compiled along the test */
-- TRACE_DEBUG(INFO, "Loading from: '%s'", BUILD_DIR "/extensions");
-- CHECK( 0, (dir = opendir (BUILD_DIR "/extensions")) == NULL ? 1 : 0 );
-- pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/");
-+ TRACE_DEBUG(INFO, "Loading from: '%s'", fullname);
-+ CHECK( 0, (dir = opendir (fullname)) == NULL ? 1 : 0 );
-
- while ((dp = readdir (dir)) != NULL) {
- char * dot = strrchr(dp->d_name, '.');
-diff -Nur freeDiameter-1.2.0.orig/tests/testmesg_stress.c freeDiameter-1.2.0/tests/testmesg_stress.c
---- freeDiameter-1.2.0.orig/tests/testmesg_stress.c 2014-02-19 17:33:24.785405032 +0800
-+++ freeDiameter-1.2.0/tests/testmesg_stress.c 2014-02-19 20:08:03.928403924 +0800
-@@ -67,15 +67,20 @@
- {
- DIR *dir;
- struct dirent *dp;
-- char fullname[512];
-+ char fullname[1024];
- int pathlen;
- struct fd_list all_extensions = FD_LIST_INITIALIZER(all_extensions);
- struct fd_list ext_with_depends = FD_LIST_INITIALIZER(ext_with_depends);
-
-+ char *ext_dir = getenv("EXTENSIONS_DIR");
-+ if (ext_dir)
-+ pathlen = snprintf(fullname, sizeof(fullname), "%s", ext_dir);
-+ else
-+ pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/");
-+
- /* Find all extensions which have been compiled along the test */
-- LOG_D("Loading %s*.fdx from: '%s'", BUILD_DIR "/extensions", prefix ?: "");
-- CHECK( 0, (dir = opendir (BUILD_DIR "/extensions")) == NULL ? 1 : 0 );
-- pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/");
-+ TRACE_DEBUG(INFO, "Loading from: '%s'", fullname);
-+ CHECK( 0, (dir = opendir (fullname)) == NULL ? 1 : 0 );
-
- while ((dp = readdir (dir)) != NULL) {
- char * dot = strrchr(dp->d_name, '.');
diff --git a/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/run-ptest b/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/run-ptest
index d0ca8d9621..3c841644b7 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/run-ptest
+++ b/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/run-ptest
@@ -6,6 +6,5 @@ if ! lsmod | grep -q sctp && ! modprobe sctp 2>/dev/null; then
echo
fi
-export EXTENSIONS_DIR=$EXTENSIONS_DIR
cmake -E cmake_echo_color --cyan "Running tests..."
ctest --force-new-ctest-process
diff --git a/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.4.0.bb b/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.4.0.bb
index 3ec20d3ab9..93a607d3ce 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.4.0.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.4.0.bb
@@ -18,7 +18,7 @@ SRC_URI = "\
file://Replace-murmurhash-algorithm-with-Robert-Jenkin-s-ha.patch \
file://freediameter.service \
file://freediameter.init \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://install_test.patch file://run-ptest file://pass-ptest-env.patch', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://install_test.patch file://run-ptest file://0001-tests-use-EXTENSIONS_DIR.patch', '', d)} \
file://freeDiameter.conf \
file://0001-libfdcore-sctp.c-update-the-old-sctp-api-check.patch \
"
@@ -46,6 +46,7 @@ EXTRA_OECMAKE = " \
-DBUILD_TEST_RT_ANY:BOOL=ON \
-DINSTALL_LIBRARY_SUFFIX:PATH=${baselib} \
-DINSTALL_EXTENSIONS_SUFFIX:PATH=${baselib}/${fd_pkgname} \
+ -DEXTENSIONS_DIR:PATH=${libdir}/${fd_pkgname} \
-DINSTALL_TEST_SUFFIX:PATH=${PTEST_PATH}-tests \
-DCMAKE_SKIP_RPATH:BOOL=ON \
"
@@ -107,13 +108,15 @@ EOF
openssl req -x509 -config ${STAGING_DIR_NATIVE}/etc/ssl/openssl.cnf -newkey rsa:4096 -sha256 -nodes -out ${D}${sysconfdir}/freeDiameter/${FD_PEM} -keyout ${D}${sysconfdir}/freeDiameter/${FD_KEY} -days 3650 -subj '/CN=${FD_HOSTNAME}.${FD_REALM}'
openssl dhparam -out ${D}${sysconfdir}/freeDiameter/${FD_DH_PEM} 1024
+ find ${B} \( -name "*.c" -o -name "*.h" \) -exec sed -i -e 's#${WORKDIR}##g' {} \;
}
do_install_ptest() {
- sed -i "s#\(EXTENSIONS_DIR=\).*\$#\1${libdir}/${fd_pkgname}/#" ${D}${PTEST_PATH}/run-ptest
mv ${D}${PTEST_PATH}-tests/* ${D}${PTEST_PATH}/
rmdir ${D}${PTEST_PATH}-tests
install -m 0644 ${B}/tests/CTestTestfile.cmake ${D}${PTEST_PATH}/
+ sed -i -e 's#${WORKDIR}##g' ${D}${PTEST_PATH}/CTestTestfile.cmake
+ sed -i "/^set_tests_properties/d" ${D}${PTEST_PATH}/CTestTestfile.cmake
}
FILES:${PN}-dbg += "${libdir}/${fd_pkgname}/.debug/*"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.2.2.bb b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.2.2.bb
index 05195a3f65..f0d0dbf7cf 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.2.2.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.2.2.bb
@@ -73,6 +73,11 @@ SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE:${PN} = "frr.service"
SYSTEMD_AUTO_ENABLE = "disable"
+do_compile:prepend () {
+ sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' \
+ -e 's#${RECIPE_SYSROOT}##g' ${S}/lib/version.h
+}
+
do_compile:class-native () {
oe_runmake clippy-only
}
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-ac_add_search_path.m4-keep-consistent-between-32bit.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-ac_add_search_path.m4-keep-consistent-between-32bit.patch
index 4cd7290447..0eeddf752c 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-ac_add_search_path.m4-keep-consistent-between-32bit.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-ac_add_search_path.m4-keep-consistent-between-32bit.patch
@@ -1,7 +1,8 @@
-From 6f8ea2e841ad45eed193310b599d3f3b410ae91d Mon Sep 17 00:00:00 2001
+From 98c62e24fdd05d7e8bd8149840bad8eb0feb3fb1 Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Fri, 29 Jan 2021 08:49:15 +0000
-Subject: [PATCH] ac_add_search_path.m4: keep consistent between 32bit and 64bit
+Subject: [PATCH] ac_add_search_path.m4: keep consistent between 32bit and
+ 64bit
With configure option "--with-openssl=${STAGING_EXECPREFIXDIR}", it behaves
differently between 32bit and 64bit system as the openssl lib resides under
@@ -15,12 +16,13 @@ So add the patch to fix the gap between 32bit and 64bit system.
Upstream-Status: Inappropriate [configuration specific]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+
---
m4/ac_add_search_path.m4 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/m4/ac_add_search_path.m4 b/m4/ac_add_search_path.m4
-index 8e0a819..961f587 100644
+index 8e0a819..e9585bc 100644
--- a/m4/ac_add_search_path.m4
+++ b/m4/ac_add_search_path.m4
@@ -3,8 +3,8 @@ dnl Add a search path to the LIBS and CPPFLAGS variables
@@ -34,6 +36,3 @@ index 8e0a819..961f587 100644
fi
if test -d $1/include; then
CPPFLAGS="-I$1/include $CPPFLAGS"
---
-2.29.2
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch
index 05a47f61ce..f8a52a63f5 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch
@@ -1,4 +1,4 @@
-From 69d4c517c07f55c505090e48d96ace8cd599fb26 Mon Sep 17 00:00:00 2001
+From e86d5fd52f19b85da0b7cce660c6e65ec4c0f9bb Mon Sep 17 00:00:00 2001
From: Li xin <lixin.fnst@cn.fujitsu.com>
Date: Fri, 21 Aug 2015 18:23:13 +0900
Subject: [PATCH] config_os_headers: Error Fix
@@ -19,7 +19,7 @@ Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.d/config_os_headers b/configure.d/config_os_headers
-index f07d512..2363b42 100644
+index 01c3376..6edd85f 100644
--- a/configure.d/config_os_headers
+++ b/configure.d/config_os_headers
@@ -395,8 +395,8 @@ then
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch
index 22e591556a..a7881a8713 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch
@@ -1,4 +1,4 @@
-From 2bf1bbe1d428ed06d57aa76b03e394b72ff2216d Mon Sep 17 00:00:00 2001
+From 8097734b27fd146f358a4edd0d1a0d28309bd9a4 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 22 Jul 2016 18:34:39 +0000
Subject: [PATCH] get_pid_from_inode: Include limit.h
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/agent/mibgroup/util_funcs/get_pid_from_inode.c b/agent/mibgroup/util_funcs/get_pid_from_inode.c
-index aee907d..7abaec2 100644
+index 5788e1d..ea380a6 100644
--- a/agent/mibgroup/util_funcs/get_pid_from_inode.c
+++ b/agent/mibgroup/util_funcs/get_pid_from_inode.c
@@ -6,6 +6,7 @@
@@ -23,5 +23,5 @@ index aee907d..7abaec2 100644
#include <ctype.h>
+#include <limits.h>
#include <stdio.h>
- #if HAVE_STDLIB_H
+ #ifdef HAVE_STDLIB_H
#include <stdlib.h>
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmpd-always-exit-after-displaying-usage.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmpd-always-exit-after-displaying-usage.patch
deleted file mode 100644
index 4fc9e54b49..0000000000
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmpd-always-exit-after-displaying-usage.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 94ca941e06bef157bf0e13251f8ca1471daa9393 Mon Sep 17 00:00:00 2001
-From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
-Date: Fri, 27 Aug 2021 14:21:45 +0300
-Subject: [PATCH] snmpd: always exit after displaying usage
-
-Currently, viewing the help text with -h results in snmpd being started
-in the background, whereas this does not happen with --help. Similarly,
-when an error is detected in command line syntax, the help text is
-displayed but sometimes snmpd gets started anyway, depending on the
-execution path.
-
-This patch makes snmpd consistently terminate whenever the usage
-function gets called. It also removes the goto statements no longer
-needed.
-
-Upstream-Status: Backport
-[https://github.com/net-snmp/net-snmp/commit/94ca941e06bef157bf0e13251f8ca1471daa9393]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- agent/snmpd.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/agent/snmpd.c b/agent/snmpd.c
-index f5aab0af8..90de12d99 100644
---- a/agent/snmpd.c
-+++ b/agent/snmpd.c
-@@ -289,6 +289,8 @@ usage(char *prog)
- " -S d|i|0-7\t\tuse -Ls <facility> instead\n"
- "\n"
- );
-+ SOCK_CLEANUP;
-+ exit(1);
- }
-
- static void
-@@ -494,7 +496,6 @@ main(int argc, char *argv[])
- case '-':
- if (strcasecmp(optarg, "help") == 0) {
- usage(argv[0]);
-- goto out;
- }
- if (strcasecmp(optarg, "version") == 0) {
- version();
-@@ -783,7 +784,6 @@ main(int argc, char *argv[])
- fprintf(stderr, "%s: Illegal argument -X:"
- "AgentX support not compiled in.\n", argv[0]);
- usage(argv[0]);
-- goto out;
- #endif
- break;
-
---
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch
index 42352a6b00..af6334f726 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch
@@ -1,4 +1,4 @@
-From f3ff99736b8cccbba77349b0d10a3cee366a4c87 Mon Sep 17 00:00:00 2001
+From f4e1acd4f509dd26cf88da872bd5adcf884f4a5f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 18 Sep 2015 00:28:45 -0400
Subject: [PATCH] snmplib/keytools.c: Don't check for return from
@@ -17,7 +17,7 @@ Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/snmplib/keytools.c b/snmplib/keytools.c
-index 129a7c0..2fc1efc 100644
+index 14a452a..fb1694b 100644
--- a/snmplib/keytools.c
+++ b/snmplib/keytools.c
@@ -183,10 +183,7 @@ generate_Ku(const oid * hashtype, u_int hashtype_len,
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch
deleted file mode 100644
index c973bde721..0000000000
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 0a02ac779c51a2b4af3b58cb96967bf3eff80367 Mon Sep 17 00:00:00 2001
-From: Wenlin Kang <wenlin.kang@windriver.com>
-Date: Wed, 24 May 2017 16:45:34 +0800
-Subject: [PATCH] configure: fix a cc check issue.
-
-When has "." in cc value, the expression
-$myperl -V:cc | $myperl -n -e 'print if (s/^\s*cc=.([-=\w\s\/]+).;\s*/$1/);'
-can't get corretly the cc's value.
-
-Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
-
----
- configure.d/config_project_perl_python | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.d/config_project_perl_python b/configure.d/config_project_perl_python
-index 475c843..22d2ad3 100644
---- a/configure.d/config_project_perl_python
-+++ b/configure.d/config_project_perl_python
-@@ -87,7 +87,7 @@ if test "x$install_perl" != "xno" ; then
- if test "x$enable_perl_cc_checks" != "xno" ; then
- AC_MSG_CHECKING([for Perl cc])
- changequote(, )
-- PERLCC=`$myperl -V:cc | $myperl -n -e 'print if (s/^\s*cc=.([-=\w\s\/]+).;\s*/$1/);'`
-+ PERLCC=`$myperl -V:cc | $myperl -n -e 'print if (s/^\s*cc=.([-=\.\w\s\/]+).;\s*/$1/);'`
- changequote([, ])
- if test "x$PERLCC" != "x" ; then
- AC_MSG_RESULT([$PERLCC])
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch
index bfddc63dd7..6e224188a4 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch
@@ -1,4 +1,4 @@
-From 011bdcd07f2a289d0cfc1b411c03c0cc7c42dad1 Mon Sep 17 00:00:00 2001
+From 6d655ba677563ac9d62d4d8eee59fdb39d486c02 Mon Sep 17 00:00:00 2001
From: Wenlin Kang <wenlin.kang@windriver.com>
Date: Wed, 24 May 2017 17:10:20 +0800
Subject: [PATCH] configure: fix incorrect variable
@@ -14,10 +14,10 @@ Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
-index 912f6b2..a53d1b2 100644
+index f1cbbf5..1545be3 100644
--- a/Makefile.in
+++ b/Makefile.in
-@@ -174,7 +174,7 @@ OTHERCLEANTODOS=perlclean @PYTHONCLEANTARGS@ cleanfeatures perlcleanfeatures pyt
+@@ -173,7 +173,7 @@ OTHERCLEANTODOS=perlclean @PYTHONCLEANTARGS@ cleanfeatures perlcleanfeatures pyt
#
# override LD_RUN_PATH to avoid dependencies on the build directory
perlmodules: perlmakefiles subdirs
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch
index 26dd014ce4..409c1e03c8 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch
@@ -1,4 +1,4 @@
-From 27444fbf8323679ea0551a3bd5f04c365143d8c0 Mon Sep 17 00:00:00 2001
+From ab1d77c52e84746e75506a2870783806bc77f396 Mon Sep 17 00:00:00 2001
From: "Roy.Li" <rongqing.li@windriver.com>
Date: Fri, 16 Jan 2015 14:14:01 +0800
Subject: [PATCH] net-snmp: fix "libtool --finish"
@@ -20,11 +20,11 @@ Signed-off-by: Roy.Li <rongqing.li@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.top b/Makefile.top
-index 6315401..fc0ee06 100644
+index a962c54..1ba5607 100644
--- a/Makefile.top
+++ b/Makefile.top
@@ -89,7 +89,7 @@ LIBREVISION = 0
- LIB_LD_CMD = $(LIBTOOL) --mode=link $(LINKCC) $(CFLAGS) -rpath $(libdir) -version-info $(LIBCURRENT):$(LIBREVISION):$(LIBAGE) -o
+ LIB_LD_CMD = $(LIBTOOL) --mode=link $(LINKCC) $(CFLAGS) -rpath $(libdir) -version-info $(LIBCURRENT):$(LIBREVISION):$(LIBAGE) @LD_NO_UNDEFINED@ -o
LIB_EXTENSION = la
LIB_VERSION =
-LIB_LDCONFIG_CMD = $(LIBTOOL) --mode=finish $(INSTALL_PREFIX)$(libdir)
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch
index 022eb958f3..35e93d636e 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch
@@ -1,4 +1,4 @@
-From 1e3178835217ba89aa355e2b6b88e490f17be16d Mon Sep 17 00:00:00 2001
+From 5ad4eab43c1ea63ff343bba64d576440e8783e75 Mon Sep 17 00:00:00 2001
From: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Date: Wed, 9 Jun 2021 15:47:30 +0900
Subject: [PATCH] net snmp: fix engineBoots value on SIGHUP
@@ -7,6 +7,7 @@ Upstream-Status: Pending
Signed-off-by: Marian Florea <marian.florea@windriver.com>
Signed-off-by: Li Zhou <li.zhou@windriver.com>
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
---
agent/snmpd.c | 1 +
@@ -14,19 +15,19 @@ Signed-off-by: Li Zhou <li.zhou@windriver.com>
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/agent/snmpd.c b/agent/snmpd.c
-index 1af439f..355b510 100644
+index 90de12d..1ccc4db 100644
--- a/agent/snmpd.c
+++ b/agent/snmpd.c
-@@ -1208,6 +1208,7 @@ receive(void)
- snmp_log(LOG_INFO, "NET-SNMP version %s restarted\n",
- netsnmp_get_version());
- update_config();
-+ snmp_store(app_name);
- send_easy_trap(SNMP_TRAP_ENTERPRISESPECIFIC, 3);
- #if HAVE_SIGPROCMASK
- ret = sigprocmask(SIG_UNBLOCK, &set, NULL);
+@@ -1169,6 +1169,7 @@ snmpd_reconfig(void)
+ snmp_log(LOG_INFO, "NET-SNMP version %s restarted\n",
+ netsnmp_get_version());
+ update_config();
++ snmp_store(app_name);
+ send_easy_trap(SNMP_TRAP_ENTERPRISESPECIFIC, 3);
+ #ifdef HAVE_SIGPROCMASK
+ ret = sigprocmask(SIG_UNBLOCK, &set, NULL);
diff --git a/snmplib/snmpv3.c b/snmplib/snmpv3.c
-index 29c2a0f..ada961c 100644
+index 7b1746b..4a17e0d 100644
--- a/snmplib/snmpv3.c
+++ b/snmplib/snmpv3.c
@@ -1059,9 +1059,9 @@ init_snmpv3_post_config(int majorid, int minorid, void *serverarg,
@@ -41,6 +42,3 @@ index 29c2a0f..ada961c 100644
engineBoots = 1;
}
---
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch
index f1ebe2bb61..c5a453abe2 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch
@@ -1,4 +1,4 @@
-From e507dcf8b29c55011f85d88bf05400d4717e4074 Mon Sep 17 00:00:00 2001
+From ad65b106d3cb3c6e595381be1c45a73c1ef6eb5e Mon Sep 17 00:00:00 2001
From: Chong Lu <Chong.Lu@windriver.com>
Date: Thu, 28 May 2020 09:46:34 -0500
Subject: [PATCH] net-snmp: add knob whether nlist.h are checked
@@ -15,7 +15,7 @@ Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
1 file changed, 2 insertions(+)
diff --git a/configure.d/config_os_headers b/configure.d/config_os_headers
-index 76ef58a..f07d512 100644
+index b9c8c31..01c3376 100644
--- a/configure.d/config_os_headers
+++ b/configure.d/config_os_headers
@@ -37,6 +37,7 @@ AC_CHECK_HEADERS([getopt.h pthread.h regex.h ] dnl
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch
index 2941a36092..c382c02d89 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch
@@ -1,4 +1,4 @@
-From 3ca4335ec1d6b7b384c134fc85d7a9e513c68376 Mon Sep 17 00:00:00 2001
+From b1b9980853b1083f0c8b9f628f8b4c3a484d4f91 Mon Sep 17 00:00:00 2001
From: Jackie Huang <jackie.huang@windriver.com>
Date: Thu, 22 Jun 2017 10:25:08 +0800
Subject: [PATCH] net-snmp: fix for --disable-des
@@ -15,7 +15,7 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
1 file changed, 2 insertions(+)
diff --git a/snmplib/scapi.c b/snmplib/scapi.c
-index 00c9174..c6875e1 100644
+index 54fdd5c..0f7e931 100644
--- a/snmplib/scapi.c
+++ b/snmplib/scapi.c
@@ -85,7 +85,9 @@ netsnmp_feature_child_of(usm_scapi, usm_support);
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch
index 807983f612..09ca532a7f 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch
@@ -1,4 +1,4 @@
-From 972df16e9599dffddf5d714a4cbf43008c771122 Mon Sep 17 00:00:00 2001
+From 36a5656db7ea75dd15f35a6c1728937c6e2b901c Mon Sep 17 00:00:00 2001
From: Jackie Huang <jackie.huang@windriver.com>
Date: Wed, 14 Jan 2015 15:10:06 +0800
Subject: [PATCH] testing: add the output format for ptest
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch
index bf1e7bedf2..c0b51c51e3 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch
@@ -1,4 +1,4 @@
-From 84e362fe97f50fbad69f083bc2d8fe18f83eb2f7 Mon Sep 17 00:00:00 2001
+From b923cd38e2503b86aedf66b767fd7f51c9f25645 Mon Sep 17 00:00:00 2001
From: "douglas.royds" <douglas.royds@taitradio.com>
Date: Wed, 21 Nov 2018 13:52:18 +1300
Subject: [PATCH] net-snmp: Reproducibility: Don't check build host for
@@ -13,7 +13,7 @@ set in the environment to "yes" or "no" as appropriate for the target platform.
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.d/config_os_misc4 b/configure.d/config_os_misc4
-index 6f23c8e..8cea75a 100644
+index b6864d9..07ca922 100644
--- a/configure.d/config_os_misc4
+++ b/configure.d/config_os_misc4
@@ -99,9 +99,9 @@ if test x$LPSTAT_PATH != x; then
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.1.bb b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.3.bb
index 5f887b8868..7af5147566 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.1.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.3.bb
@@ -21,15 +21,13 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \
file://0001-config_os_headers-Error-Fix.patch \
file://0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch \
file://0001-get_pid_from_inode-Include-limit.h.patch \
- file://0002-configure-fix-a-cc-check-issue.patch \
file://0004-configure-fix-incorrect-variable.patch \
file://net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch \
file://net-snmp-fix-for-disable-des.patch \
file://reproducibility-have-printcap.patch \
file://0001-ac_add_search_path.m4-keep-consistent-between-32bit.patch \
- file://0001-snmpd-always-exit-after-displaying-usage.patch \
"
-SRC_URI[sha256sum] = "eb7fd4a44de6cddbffd9a92a85ad1309e5c1054fb9d5a7dd93079c8953f48c3f"
+SRC_URI[sha256sum] = "2097f29b7e1bf3f1300b4bae52fa2308d0bb8d5d3998dbe02f9462a413a2ef0a"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/net-snmp/files/net-snmp/"
UPSTREAM_CHECK_REGEX = "/net-snmp/(?P<pver>\d+(\.\d+)+)/"
@@ -72,6 +70,7 @@ CACHED_CONFIGUREVARS = " \
ac_cv_ETC_MNTTAB=/etc/mtab \
lt_cv_shlibpath_overrides_runpath=yes \
ac_cv_path_UNAMEPROG=${base_bindir}/uname \
+ ac_cv_path_PSPROG=${base_bindir}/ps \
ac_cv_file__etc_printcap=no \
NETSNMP_CONFIGURE_OPTIONS= \
"
diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chrony.conf b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chrony.conf
index 8d226d31a5..d11e2d4069 100644
--- a/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chrony.conf
+++ b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chrony.conf
@@ -1,3 +1,6 @@
+# Load config files matching the /etc/chrony/conf.d/*.conf pattern.
+confdir /etc/chrony/conf.d
+
# Use public NTP servers from the pool.ntp.org project.
# Please consider joining the pool project if possible by running your own
# server(s).
@@ -17,6 +20,10 @@ pool 0.openembedded.pool.ntp.org iburst
# gpios = <&ps7_gpio_0 56 0>;
# };
+# Load source files matching the /etc/chrony/sources.d/*.sources pattern.
+# These can be reloaded using 'chronyc reload sources'.
+sourcedir /etc/chrony/sources.d
+
# In first three updates step the system clock instead of slew
# if the adjustment is larger than 1 second.
makestep 1.0 3
diff --git a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.15.bb b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_7.0.bb
index a009a26cc2..c78bbae7b8 100644
--- a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.15.bb
+++ b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_7.0.bb
@@ -4,7 +4,7 @@ SECTION = "otherosfs"
LICENSE = "GPL-3.0-only & LGPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SRCREV = "58ca03f183b375cb723097a241bc2fc2254dab21"
+SRCREV = "316522036133d44ed02cd39ed2748e2b59c85b30"
SRC_URI = "git://git.samba.org/cifs-utils.git;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.3.4.bb b/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.3.6.bb
index d25600645e..a4389ce7e8 100644
--- a/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.3.4.bb
+++ b/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.3.6.bb
@@ -14,7 +14,7 @@ LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://htpdate.c;beginline=26;endline=30;md5=2b6cdb94bd5349646d7e33f9f501eef7"
SRC_URI = "http://www.vervest.org/htp/archive/c/htpdate-${PV}.tar.gz"
-SRC_URI[sha256sum] = "744f9200cfd3b008a5516c5eb6da727af532255a329126a7b8f49a5623985642"
+SRC_URI[sha256sum] = "3cdc558ec8e53ef374a42490b2f28c0b23981fa8754a6d7182044707828ad1e9"
TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb b/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb
index bf1a12d48f..164c8c2612 100644
--- a/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb
@@ -30,5 +30,7 @@ EXTRA_OEMESON = " \
-Dntlm=disabled \
"
+CFLAGS += "-D_GNU_SOURCE"
+
FILES:${PN} = "${libdir}/lib*${SOLIBS} \
${libdir}/esmtp-plugins-6.2.0/*${SOLIBSDEV}"
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.3.bb b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.4.bb
index 6dd3ec3a9a..af5f0427d4 100644
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.3.bb
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.4.bb
@@ -32,8 +32,8 @@ LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9ada
file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \
file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42"
-SRC_URI[md5sum] = "6824f69ea3bb58cb8a3be4c179e7569a"
-SRC_URI[sha256sum] = "9ef39700ff05b3e8f5801d2a39fe1ba023218650f81c9d377caca22f49076807"
+SRC_URI[md5sum] = "b01d6913a06901c22c5bc6caedc548ac"
+SRC_URI[sha256sum] = "f2e88dcab7b6007d92724b62f8a16e7c6e77275885c60eb4f87097e4aa4082c1"
inherit pkgconfig waf-samba
diff --git a/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-netlink_git.bb b/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-netlink_git.bb
new file mode 100644
index 0000000000..b50d33f908
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-netlink_git.bb
@@ -0,0 +1,13 @@
+require mdio-tools.inc
+
+DEPENDS += "virtual/kernel libmnl"
+# This module requires Linux 5.6 higher
+
+S = "${WORKDIR}/git/kernel"
+
+inherit module
+
+EXTRA_OEMAKE = "KDIR=${STAGING_KERNEL_DIR}"
+MODULES_INSTALL_TARGET = "install"
+
+RPROVIDES:${PN} += "kernel-module-mdio-netlink"
diff --git a/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools.inc b/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools.inc
new file mode 100644
index 0000000000..a8a435fadd
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools.inc
@@ -0,0 +1,9 @@
+DESCRIPTION = "A low-level debug tool for communicating with devices attached to an MDIO bus"
+SECTION = "networking"
+HOMEPAGE = "https://github.com/wkz/mdio-tools"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/git/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/wkz/mdio-tools.git;protocol=https;branch=master"
+SRCREV = "07cbff2d5e2de05037e5e7edd5044d678394c8d1"
+PV = "1.1.1"
diff --git a/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools_git.bb b/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools_git.bb
new file mode 100644
index 0000000000..cd4df3da05
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools_git.bb
@@ -0,0 +1,9 @@
+require mdio-tools.inc
+
+DEPENDS += "libmnl"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools
+
+RDEPENDS:${PN} = "kernel-module-mdio-netlink"
diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.14.bb b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.33.1.bb
index 3f2107445e..322f89c22b 100644
--- a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.14.bb
+++ b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.33.1.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f9dcc2d8acdde215fa4bd6ac12bb14f0"
SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https;branch=master \
"
-SRCREV = "35b42a161f3f3c7cf388e33dbaa5bd7082aac9d8"
+SRCREV = "9ebc70dae82220f962167b1668fd2af6de886b16"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb b/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb
index 06b2eddbb6..4074f0cd07 100644
--- a/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb
+++ b/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb
@@ -28,8 +28,7 @@ CFLAGS:append = " -DDO_UNIX -DDO_IPV6 -D_GNU_SOURCE"
# set the "_FILE_OFFSET_BITS" preprocessor symbol to 64 to support files
# larger than 2GB
-CFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', \
- ' -D_FILE_OFFSET_BITS=64', '', d)}"
+CFLAGS:append = " -D_FILE_OFFSET_BITS=64"
PACKAGECONFIG ??= ""
PACKAGECONFIG[sctp] = "--enable-sctp,--disable-sctp,lksctp-tools,"
diff --git a/meta-openembedded/meta-networking/recipes-support/ntpsec/ntpsec/0001-wscript-Widen-the-search-for-tags.patch b/meta-openembedded/meta-networking/recipes-support/ntpsec/ntpsec/0001-wscript-Widen-the-search-for-tags.patch
new file mode 100644
index 0000000000..98c62eed49
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/ntpsec/ntpsec/0001-wscript-Widen-the-search-for-tags.patch
@@ -0,0 +1,29 @@
+From 9a7dead72f41e79979625c9bdef2fb638427d3d6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 22 Aug 2022 20:54:17 -0700
+Subject: [PATCH] wscript: Widen the search for tags
+
+Default is to look for annotated tags, howveer when using devtool we
+create our own git tree from release tarballs which will have tags but
+they are not annotated, therefore broaden the search to include all tags
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ wscript | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/wscript b/wscript
+index 879ded1..dff835d 100644
+--- a/wscript
++++ b/wscript
+@@ -177,7 +177,7 @@ def configure(ctx):
+ if build_desc:
+ build_desc = ' ' + build_desc
+ if ctx.env.BIN_GIT:
+- cmd = ctx.env.BIN_GIT + shlex.split("describe --dirty")
++ cmd = ctx.env.BIN_GIT + shlex.split("describe --tags --dirty")
+ git_short_hash = ctx.cmd_and_log(cmd).strip()
+ git_short_hash = '-'.join(git_short_hash.split('-')[1:])
+
diff --git a/meta-openembedded/meta-networking/recipes-support/ntpsec/ntpsec_1.2.1.bb b/meta-openembedded/meta-networking/recipes-support/ntpsec/ntpsec_1.2.1.bb
index 3efac7d983..e975f903f9 100644
--- a/meta-openembedded/meta-networking/recipes-support/ntpsec/ntpsec_1.2.1.bb
+++ b/meta-openembedded/meta-networking/recipes-support/ntpsec/ntpsec_1.2.1.bb
@@ -16,10 +16,14 @@ SRC_URI = "https://ftp.ntpsec.org/pub/releases/ntpsec-${PV}.tar.gz \
file://0001-ntpd-ntp_sandbox.c-allow-clone3-for-glibc-2.34-in-se.patch \
file://0001-ntpd-ntp_sandbox.c-allow-newfstatat-on-all-archs-for.patch \
file://0002-ntpd-ntp_sandbox.c-match-riscv-to-aarch-in-seccomp-f.patch \
- file://volatiles.ntpsec"
+ file://volatiles.ntpsec \
+ file://0001-wscript-Widen-the-search-for-tags.patch \
+ "
SRC_URI[sha256sum] = "f2684835116c80b8f21782a5959a805ba3c44e3a681dd6c17c7cb00cc242c27a"
+UPSTREAM_CHECK_URI = "ftp://ftp.ntpsec.org/pub/releases/"
+
inherit pkgconfig python3-dir python3targetconfig systemd update-alternatives update-rc.d useradd waf features_check
# RDEPENDS on gnuplot with this restriction
@@ -54,7 +58,7 @@ export PYTAG = "cpython${@ d.getVar('PYTHON_BASEVERSION').replace('.', '')}"
export pyext_PATTERN = "%s.so"
export PYTHON_LDFLAGS = "-lpthread -ldl"
-CFLAGS:append = " -I${PYTHON_INCLUDE_DIR}"
+CFLAGS:append = " -I${PYTHON_INCLUDE_DIR} -D_GNU_SOURCE"
EXTRA_OECONF = "--cross-compiler='${CC}' \
--cross-cflags='${CFLAGS}' \
diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.32.bb b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.32.bb
index c61303b81e..18f4deca16 100644
--- a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.32.bb
+++ b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.32.bb
@@ -41,6 +41,8 @@ SRC_URI[sha256sum] = "f6d0fd4c0a74b05f80907229d0b270f54ca23294bcc11979f8b8d12766
inherit autotools-brokensep pkgconfig python3native perlnative update-rc.d systemd cpan-base python3targetconfig
+CFLAGS += "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
+
EXTRA_OECONF = "--disable-static \
--with-perl='${STAGING_BINDIR_NATIVE}/perl-native/perl' \
--with-python='${STAGING_BINDIR_NATIVE}/python3-native/python3' \
@@ -85,6 +87,10 @@ do_configure () {
done
}
+do_compile:append () {
+ sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' ${S}/swig/perl/OpenIPMI_wrap.c
+}
+
do_install:append () {
echo "SAL: D = $D"
echo "SAL: libdir = $libdir"
diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_41.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_42.0.bb
index e5ecc5cd62..e1123dcc14 100644
--- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_41.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_42.0.bb
@@ -6,7 +6,7 @@ DEPENDS = "libnl"
RDEPENDS:${PN} = "bash perl"
SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=master;protocol=https"
-SRCREV = "467363efbc0fea706752c1ba7a21c313823017e7"
+SRCREV = "196bad56ed060612e22674b668b5ec3d8659ade3"
S = "${WORKDIR}/git"
#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md
diff --git a/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/0001-ssmtp-Correct-the-null-pointer-assignment-to-char-po.patch b/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/0001-ssmtp-Correct-the-null-pointer-assignment-to-char-po.patch
new file mode 100644
index 0000000000..c7468fe17f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/0001-ssmtp-Correct-the-null-pointer-assignment-to-char-po.patch
@@ -0,0 +1,51 @@
+From 58cfb4f86b7fbf19eb643dfba87fdd890b3d4a4a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 24 Aug 2022 19:27:31 -0700
+Subject: [PATCH] ssmtp: Correct the null pointer assignment to char pointers
+
+Fixes
+error: incompatible integer to pointer conversion initializing 'char *' with an expression of type 'char' [-Wint-conversion]
+| char *from = (char)NULL; /* Use this as the From: address */
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ssmtp.c | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/ssmtp.c b/ssmtp.c
+index a74ba4e..0a719ac 100644
+--- a/ssmtp.c
++++ b/ssmtp.c
+@@ -55,21 +55,21 @@ bool_t use_oldauth = False; /* use old AUTH LOGIN username style */
+
+ #define ARPADATE_LENGTH 32 /* Current date in RFC format */
+ char arpadate[ARPADATE_LENGTH];
+-char *auth_user = (char)NULL;
+-char *auth_pass = (char)NULL;
+-char *auth_method = (char)NULL; /* Mechanism for SMTP authentication */
+-char *mail_domain = (char)NULL;
+-char *from = (char)NULL; /* Use this as the From: address */
++char *auth_user = NULL;
++char *auth_pass = NULL;
++char *auth_method = NULL; /* Mechanism for SMTP authentication */
++char *mail_domain = NULL;
++char *from = NULL; /* Use this as the From: address */
+ char *hostname;
+ char *mailhost = "mailhub";
+-char *minus_f = (char)NULL;
+-char *minus_F = (char)NULL;
++char *minus_f = NULL;
++char *minus_F = NULL;
+ char *gecos;
+-char *prog = (char)NULL;
++char *prog = NULL;
+ char *root = NULL;
+ char *tls_cert = "/etc/ssl/certs/ssmtp.pem"; /* Default Certificate */
+-char *uad = (char)NULL;
+-char *config_file = (char)NULL; /* alternate configuration file */
++char *uad = NULL;
++char *config_file = NULL; /* alternate configuration file */
+
+ headers_t headers, *ht;
+
diff --git a/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb b/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb
index b0e921d423..05d2bb18ff 100644
--- a/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb
+++ b/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb
@@ -7,7 +7,8 @@ SRC_URI = "${DEBIAN_MIRROR}/main/s/${BPN}/${BPN}_${PV}.orig.tar.bz2 \
file://ssmtp-bug584162-fix.patch \
file://build-ouside_srcdir.patch \
file://use-DESTDIR.patch \
-"
+ file://0001-ssmtp-Correct-the-null-pointer-assignment-to-char-po.patch \
+ "
SRC_URI[md5sum] = "65b4e0df4934a6cd08c506cabcbe584f"
SRC_URI[sha256sum] = "22c37dc90c871e8e052b2cab0ad219d010fa938608cd66b21c8f3c759046fa36"
diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-enum-Fix-compiler-warning.patch b/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-enum-Fix-compiler-warning.patch
deleted file mode 100644
index e730fe1cd0..0000000000
--- a/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-enum-Fix-compiler-warning.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From d23c0ea81e630af3cfda89aeeb52146c0c84c960 Mon Sep 17 00:00:00 2001
-From: Tobias Brunner <tobias@strongswan.org>
-Date: Mon, 2 May 2022 09:31:49 +0200
-Subject: [PATCH] enum: Fix compiler warning
-
-Closes strongswan/strongswan#1025
-
-Upstream-Status: Backport
-[https://github.com/strongswan/strongswan/commit/d23c0ea81e630af3cfda89aeeb52146c0c84c960]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- src/libstrongswan/utils/enum.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libstrongswan/utils/enum.c b/src/libstrongswan/utils/enum.c
-index 79da450f0c..1e77489f6f 100644
---- a/src/libstrongswan/utils/enum.c
-+++ b/src/libstrongswan/utils/enum.c
-@@ -97,7 +97,7 @@ char *enum_flags_to_string(enum_name_t *e, u_int val, char *buf, size_t len)
- return buf;
- }
-
-- if (snprintf(buf, len, e->names[0]) >= len)
-+ if (snprintf(buf, len, "%s", e->names[0]) >= len)
- {
- return NULL;
- }
---
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.6.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.7.bb
index 1b82dceac2..71ffb7ba44 100644
--- a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.6.bb
+++ b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.7.bb
@@ -9,10 +9,9 @@ DEPENDS = "flex-native flex bison-native"
DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', ' tpm2-tss', '', d)}"
SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \
- file://0001-enum-Fix-compiler-warning.patch \
"
-SRC_URI[sha256sum] = "91d0978ac448912759b85452d8ff0d578aafd4507aaf4f1c1719f9d0c7318ab7"
+SRC_URI[sha256sum] = "9e64a2ba62efeac81abff1d962522404ebc6ed6c0d352a23ab7c0b2c639e3fcf"
UPSTREAM_CHECK_REGEX = "strongswan-(?P<pver>\d+(\.\d+)+)\.tar"
@@ -147,9 +146,13 @@ RDEPENDS:${PN} += "\
${PN}-plugin-constraints \
${PN}-plugin-des \
${PN}-plugin-dnskey \
+ ${PN}-plugin-drbg \
+ ${PN}-plugin-fips-prf \
${PN}-plugin-hmac \
+ ${PN}-plugin-kdf \
${PN}-plugin-kernel-netlink \
${PN}-plugin-md5 \
+ ${PN}-plugin-mgf1 \
${PN}-plugin-nonce \
${PN}-plugin-pem \
${PN}-plugin-pgp \
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.1.bb b/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.2.bb
index 56db66b8eb..165a0e735b 100644
--- a/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.1.bb
+++ b/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.2.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=10f0474a2f0e5dccfca20f69d6598ad8"
SRC_URI = "https://github.com/appneta/tcpreplay/releases/download/v${PV}/tcpreplay-${PV}.tar.gz"
-SRC_URI[sha256sum] = "cb67b6491a618867fc4f9848f586019f1bb2ebd149f393afac5544ee55e4544f"
+SRC_URI[sha256sum] = "5b272cd83b67d6288a234ea15f89ecd93b4fadda65eddc44e7b5fcb2f395b615"
UPSTREAM_CHECK_URI = "https://github.com/appneta/tcpreplay/releases"
diff --git a/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.bb b/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.1.bb
index 301e0fa607..6d5cf4b628 100644
--- a/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.1.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/uftp-multicast/files/source-tar/"
SRC_URI = "${SOURCEFORGE_MIRROR}/uftp-multicast/source-tar/uftp-${PV}.tar.gz"
-SRC_URI[sha256sum] = "562f71ea5a24b615eb491f5744bad01e9c2e58244c1d6252d5ae98d320d308e0"
+SRC_URI[sha256sum] = "f0435fbc8e9ffa125e05600cb6c7fc933d7d587f5bae41b257267be4f2ce0e61"
DEPENDS = "openssl"
diff --git a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.16.1.bb b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.16.2.bb
index 5eb9ec1bfc..63036f6eb8 100644
--- a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.16.1.bb
+++ b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.16.2.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5308494bc0590c0cb036afd781d78f06"
SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=http;branch=master;protocol=https \
file://0001-contrib-add-yocto-compatible-init-script.patch \
"
-SRCREV = "903538c76e1d8eb30d0814bb55c3ef1ea28164e8"
+SRCREV = "cbed768b8ff9bfcf11089a5f1699b7e5707f1ea5"
inherit autotools pkgconfig systemd update-rc.d
@@ -22,12 +22,11 @@ RDEPENDS:${PN} = "bash openssl-bin daemonize"
S = "${WORKDIR}/git"
EXTRA_OECONF = "--with-libexpat=${STAGING_EXECPREFIXDIR} \
- --with-ssl=${STAGING_EXECPREFIXDIR}"
-
+ --with-ssl=${STAGING_EXECPREFIXDIR} \
+ --enable-largefile"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile systemd', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[dnscrypt] = "--enable-dnscrypt, --disable-dnscrypt, libsodium"
-PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
do_install:append() {
diff --git a/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass
index 4263593a8d..69e24cbb79 100644
--- a/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass
+++ b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass
@@ -1,8 +1,16 @@
inherit image_types
+# This sets the granularity of the sparse image conversion. Chunk sizes will be
+# specified in units of this value. Setting this value smaller than the
+# underlying image's block size will not result in any further space saving.
+# However, there is no loss in correctness if this value is larger or smaller
+# than optimal. This value should be a power of two.
+SPARSE_BLOCK_SIZE ??= "4096"
+
CONVERSIONTYPES += "sparse"
-CONVERSION_CMD:sparse = " \
- img2simg "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" \
- "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sparse" \
-"
+CONVERSION_CMD:sparse() {
+ INPUT="${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
+ truncate --no-create --size=%${SPARSE_BLOCK_SIZE} "$INPUT"
+ img2simg -s "$INPUT" "$INPUT.sparse" ${SPARSE_BLOCK_SIZE}
+}
CONVERSION_DEPENDS_sparse = "android-tools-native"
diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf
index 34aa29561c..6a0f05d930 100644
--- a/meta-openembedded/meta-oe/conf/layer.conf
+++ b/meta-openembedded/meta-oe/conf/layer.conf
@@ -48,6 +48,8 @@ LICENSE_PATH += "${LAYERDIR}/licenses"
PREFERRED_RPROVIDER_libdevmapper = "lvm2"
PREFERRED_PROVIDER_android-tools-conf ?= "android-tools-conf"
+# Configures whether coreutils or uutils-coreutils is used.
+PREFERRED_PROVIDER_coreutils = "coreutils"
SIGGEN_EXCLUDERECIPES_ABISAFE += " \
fbset-modes \
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch
new file mode 100644
index 0000000000..48cf7a355c
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch
@@ -0,0 +1,44 @@
+From e9e9027d7a324e1ce5e0cb06d4eb51847262a09d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 28 Aug 2022 12:26:52 -0700
+Subject: [PATCH] mplay: Fix build with musl
+
+pthread_t is an opaque type, therefore typecast it to avoid warnings on
+musl
+
+Fixes
+mplay.c:200:12: error: incompatible integer to pointer conversion initializing 'pthread_t' (aka 'struct __pthread *') with an expression of type 'int' [-Wint-conversion]
+| .tid = -1
+| ^~
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lirc/git/merge-requests/47/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/mplay.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/mplay.c b/plugins/mplay.c
+index d6d9619..5b9eb4b 100644
+--- a/plugins/mplay.c
++++ b/plugins/mplay.c
+@@ -197,7 +197,7 @@ static struct {
+ .latest_button = MPLAY_CODE_ERROR,
+ .fd = -1,
+ .pipefd = { -1, -1 },
+- .tid = -1
++ .tid = (pthread_t)-1
+ };
+
+ /**
+@@ -788,7 +788,7 @@ int mplayfamily_deinit(void)
+ return 0;
+ }
+ pthread_join(mplayfamily_local_data.tid, NULL);
+- mplayfamily_local_data.tid = -1;
++ mplayfamily_local_data.tid = (pthread_t)-1;
+ }
+ if (mplayfamily_local_data.pipefd[0] != -1) {
+ close(mplayfamily_local_data.pipefd[0]);
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb
index fe9685924b..467e10b658 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb
@@ -13,6 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2 \
file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
file://fix_build_errors.patch \
+ file://0001-mplay-Fix-build-with-musl.patch \
file://lircd.service \
file://lircd.init \
file://lircexec.init \
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch
new file mode 100644
index 0000000000..4594bec81a
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch
@@ -0,0 +1,40 @@
+From f9b55f5a1fab85bf73c95e6372779d6f50f75e84 Mon Sep 17 00:00:00 2001
+From: jzmaddock <john@johnmaddock.co.uk>
+Date: Mon, 11 Jul 2022 18:26:07 +0100
+Subject: [PATCH] The std lib unary/binary_function base classes are
+ deprecated/removed from libcpp15. Fixes
+ https://github.com/boostorg/container_hash/issues/24.
+
+Upstream-Status: Backport [https://github.com/boostorg/config/pull/440/commits/f0af4a9184457939b89110795ae2d293582c5f66]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/third_party/boost-1.70.0/boost/config/stdlib/libcpp.hpp | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/src/third_party/boost-1.70.0/boost/config/stdlib/libcpp.hpp
++++ b/src/third_party/boost-1.70.0/boost/config/stdlib/libcpp.hpp
+@@ -140,4 +140,13 @@
+ # define BOOST_NO_CXX14_HDR_SHARED_MUTEX
+ #endif
+
++#if _LIBCPP_VERSION >= 15000
++//
++// Unary function is now deprecated in C++11 and later:
++//
++#if __cplusplus >= 201103L
++#define BOOST_NO_CXX98_FUNCTION_BASE
++#endif
++#endif
++
+ // --- end ---
+--- a/src/third_party/boost-1.70.0/boost/container_hash/hash.hpp
++++ b/src/third_party/boost-1.70.0/boost/container_hash/hash.hpp
+@@ -118,7 +118,7 @@ namespace boost
+ {
+ namespace hash_detail
+ {
+-#if defined(_HAS_AUTO_PTR_ETC) && !_HAS_AUTO_PTR_ETC
++#if defined(BOOST_NO_CXX98_FUNCTION_BASE)
+ template <typename T>
+ struct hash_base
+ {
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
index ff4a16e9f2..d040ab160b 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
@@ -32,6 +32,7 @@ SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4;protocol=https \
file://PTHREAD_STACK_MIN.patch \
file://0001-add-explict-static_cast-size_t-to-maxMemoryUsageByte.patch \
file://0001-server-Adjust-the-cache-alignment-assumptions.patch \
+ file://0001-The-std-lib-unary-binary_function-base-classes-are-d.patch \
"
SRC_URI:append:libc-musl ="\
file://0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch \
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb
index c23950301e..7d4e4a81fb 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb
@@ -40,7 +40,7 @@ JIT ?= ""
JIT:mipsarch = "--disable-jit"
EXTRA_OECONF = " \
- --target=${TARGET_SYS} \
+ --target=${RUST_TARGET_SYS} \
--host=${BUILD_SYS} \
--prefix=${prefix} \
--libdir=${libdir} \
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb b/meta-openembedded/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb
index 17e8c700ca..d809a564e9 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb
@@ -22,5 +22,6 @@ do_install() {
# Prevent procedure merging as required by dhrystone.c:
CFLAGS += "-fno-lto"
+CFLAGS:append:toolchain-clang = " -Wno-error=implicit-function-declaration -Wno-error=deprecated-non-prototype -Wno-error=implicit-int"
LDFLAGS += "-fno-lto"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0001-io_uring-Replace-pthread_self-with-s-tid.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0001-io_uring-Replace-pthread_self-with-s-tid.patch
new file mode 100644
index 0000000000..766b1fe274
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0001-io_uring-Replace-pthread_self-with-s-tid.patch
@@ -0,0 +1,45 @@
+From 269164337e0168b93661bb95c6a4e462ae6d8b61 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 24 Aug 2022 18:08:53 -0700
+Subject: [PATCH] io_uring: Replace pthread_self with s->tid
+
+__init_rand64 takes 64bit value and srand48 takes unsigned 32bit value,
+pthread_t is opaque type and some libcs ( e.g. musl ) do not define them
+in plain old data types and ends up with errors
+
+| t/io_uring.c:809:32: error: incompatible pointer to integer conversion passing 'pthread_t' (aka 'struct __pthread *') to parameter of type 'uint64_t' (aka 'unsigned long') [-Wint-conver
+sion]
+| __init_rand64(&s->rand_state, pthread_self());
+| ^~~~~~~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/axboe/fio/pull/1455]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ t/io_uring.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/t/io_uring.c b/t/io_uring.c
+index 35bf1956..f34a3554 100644
+--- a/t/io_uring.c
++++ b/t/io_uring.c
+@@ -799,15 +799,14 @@ static int submitter_init(struct submitter *s)
+ int i, nr_batch, err;
+ static int init_printed;
+ char buf[80];
+-
+ s->tid = gettid();
+ printf("submitter=%d, tid=%d, file=%s, node=%d\n", s->index, s->tid,
+ s->filename, s->numa_node);
+
+ set_affinity(s);
+
+- __init_rand64(&s->rand_state, pthread_self());
+- srand48(pthread_self());
++ __init_rand64(&s->rand_state, s->tid);
++ srand48(s->tid);
+
+ for (i = 0; i < MAX_FDS; i++)
+ s->files[i].fileno = i;
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.30.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.31.bb
index f97a1b899d..f8d63014ae 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.30.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.31.bb
@@ -22,9 +22,10 @@ PACKAGECONFIG_NUMA:armeb = ""
PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
PACKAGECONFIG[numa] = ",--disable-numa,numactl"
-SRCREV = "a3e48f483db27d20e02cbd81e3a8f18c6c5c50f5"
+SRCREV = "6cafe8445fd1e04e5f7d67bbc73029a538d1b253"
SRC_URI = "git://git.kernel.dk/fio.git;branch=master \
-"
+ file://0001-io_uring-Replace-pthread_self-with-s-tid.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb b/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb
index 22c634af05..4ac78fb8fd 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb
@@ -15,8 +15,8 @@ SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+files/${BPN}_${PV}.ori
SRC_URI[md5sum] = "3a6d54fdd3fe002328e4458206392b9d"
SRC_URI[sha256sum] = "83fa7464193e012c91254e595a89894d8e35b4a38324b52a5974777e3823ea9e"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)}"
-PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
+EXTRA_OECONF += "--enable-largefile"
+PACKAGECONFIG ??= ""
PACKAGECONFIG[aio] = "--enable-aio,--disable-aio,libaio,"
PACKAGECONFIG[mysql] = "--with-mysql \
--with-mysql-includes=${STAGING_INCDIR}/mysql \
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/files/0001-tools-gensiot-Fix-build-with-musl.patch b/meta-openembedded/meta-oe/recipes-connectivity/gensio/files/0001-tools-gensiot-Fix-build-with-musl.patch
new file mode 100644
index 0000000000..93831c380f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/gensio/files/0001-tools-gensiot-Fix-build-with-musl.patch
@@ -0,0 +1,29 @@
+From 823b6754a4d7655480b6e8576a9d0037f842d653 Mon Sep 17 00:00:00 2001
+From: Jan Luebbe <jlu@pengutronix.de>
+Date: Thu, 25 Aug 2022 12:19:16 +0200
+Subject: [PATCH] tools:gensiot: Fix build with musl
+
+According to POSIX getpid() is available in unistd.h, not sys/unistd.h.
+
+Upstream-Status: Submitted [https://github.com/cminyard/gensio/pull/47]
+Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
+---
+ tools/gensiotool.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/gensiotool.c b/tools/gensiotool.c
+index cac531bb4b74..ab0bb9583f9f 100644
+--- a/tools/gensiotool.c
++++ b/tools/gensiotool.c
+@@ -44,7 +44,7 @@
+ #include <signal.h>
+ #include <errno.h>
+ #include <sys/types.h>
+-#include <sys/unistd.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #endif
+
+--
+2.30.2
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.3.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.5.2.bb
index a6e0075538..9de21209ca 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.5.2.bb
@@ -5,9 +5,11 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a0fd36908af843bcee10cb6dfc47fa67 \
file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f \
"
-SRCREV = "c500d8705c517f96e591c060105a789f053d2b7a"
+SRCREV = "b6cd354afe6d5f63bc859c94fd3a455a3cdf0449"
-SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=master"
+SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=master \
+ file://0001-tools-gensiot-Fix-build-with-musl.patch \
+"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.28.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.29.bb
index 40f35b15a0..eada93b651 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.28.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.29.bb
@@ -8,7 +8,7 @@ DEPENDS = "ell"
SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \
file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \
"
-SRC_URI[sha256sum] = "ee538c720ad15335ece81a52a4b8a11820236df9ed9a5a72a2e64d74c652f0b0"
+SRC_URI[sha256sum] = "71533fe3b8f6381f24832198ba11d00f04a361454770c173b3b66bc3cdf272bd"
inherit autotools manpages pkgconfig python3native systemd
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb
index 6d872b9f81..7e9299c9f3 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb
@@ -10,7 +10,7 @@ DEPENDS = "libplist"
PV = "1.0.0+git${SRCPV}"
-SRCREV = "bc6c44b92091c9587a9bed0ed3f2c3248bfd13b3"
+SRCREV = "d2ff7969dcd0a12e4f18f63dab03e6cd03054fcb"
SRC_URI = "git://github.com/libimobiledevice/libimobiledevice-glue;protocol=https;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb
new file mode 100644
index 0000000000..3dfd4e90fe
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A protocol library to access an iPhone or iPod Touch in Linux"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
+ file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7 \
+"
+HOMEPAGE = "http://www.libimobiledevice.org/"
+
+DEPENDS = "libplist usbmuxd libusbmuxd libtasn1 gnutls libgcrypt libimobiledevice-glue openssl"
+
+PV = "1.3.0+git${SRCPV}"
+
+SRCREV = "2eec1b9a172354c8521123a767d998b17bd2ac18"
+SRC_URI = "git://github.com/libimobiledevice/libimobiledevice;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " --without-cython "
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb
index c36837aca7..e3da1819b2 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb
@@ -10,7 +10,7 @@ DEPENDS = "libimobiledevice-glue libusb1"
PV = "1.0.1+git${SRCPV}"
-SRCREV = "e19094594552b7bed60418ffe6f46f455e6bb78f"
+SRCREV = "ab5b4d8d4c0e90c05d80f80c7e99a6516de9b5c6"
SRC_URI = "git://github.com/libimobiledevice/libirecovery;protocol=https;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.20.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.20.bb
index f7a7507b8c..41fc46c31e 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.20.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.20.bb
@@ -25,12 +25,12 @@ inherit autotools pkgconfig lib_package
EXTRA_OECONF += " \
--disable-rpath \
+ --enable-largefile \
--with-udev=${nonarch_base_libdir}/udev \
"
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)}"
+PACKAGECONFIG ?= ""
PACKAGECONFIG[doxygen] = "--enable-doxygen,--disable-doxygen,doxygen-native"
-PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile"
PACKAGECONFIG[mtpz] = "--enable-mtpz,--disable-mtpz,libgcrypt"
PACKAGES =+ "${BPN}-common ${BPN}-runtime"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb
new file mode 100644
index 0000000000..e9afaf5712
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "This daemon is in charge of multiplexing connections over USB to an iPhone or iPod touch."
+HOMEPAGE = "https://github.com/libimobiledevice/usbmuxd"
+LICENSE = "GPL-3.0-only & GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=ebb5c50ab7cab4baeffba14977030c07 \
+ file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "udev libusb1 libplist libimobiledevice-glue"
+
+inherit autotools pkgconfig gitpkgv systemd
+
+PKGV = "${GITPKGVTAG}"
+PV = "1.1.2+git${SRCPV}"
+
+SRCREV = "f50e52f3393a9149ac65fdda8f0d425109efc7fe"
+SRC_URI = "git://github.com/libimobiledevice/usbmuxd;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "--without-preflight"
+
+FILES:${PN} += "${base_libdir}/udev/rules.d/"
+
+SYSTEMD_SERVICE:${PN} = "usbmuxd.service"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_6.0.5.bb b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_6.2.1.bb
index 2deaea268f..9949bd81f1 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_6.0.5.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_6.2.1.bb
@@ -23,12 +23,12 @@ DEPENDS = "libevent libpcre openldap virtual/libiconv zlib"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-SRC_URI = "https://cdn.zabbix.com/zabbix/sources/stable/6.0/${BPN}-${PV}.tar.gz \
+SRC_URI = "https://cdn.zabbix.com/zabbix/sources/stable/6.2/${BPN}-${PV}.tar.gz \
file://0001-Fix-configure.ac.patch \
file://zabbix-agent.service \
"
-SRC_URI[sha256sum] = "3eeb7063efc5dad56f84dfdcf9aeb781044be712e11e83f66d043da55f33bdc2"
+SRC_URI[sha256sum] = "f3d6b7cf4e67d820ce7d28cd54ac67724f7453f261f668877e6410cd21ab9ea1"
inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd
diff --git a/meta-openembedded/meta-oe/recipes-core/safec/safec/0001-strpbrk_s-Remove-unused-variable-len.patch b/meta-openembedded/meta-oe/recipes-core/safec/safec/0001-strpbrk_s-Remove-unused-variable-len.patch
new file mode 100644
index 0000000000..4fd36ab8ab
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/safec/safec/0001-strpbrk_s-Remove-unused-variable-len.patch
@@ -0,0 +1,42 @@
+From b1d7cc6495c541cdd99399b4d1a835997376dcbf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 22 Aug 2022 23:42:33 -0700
+Subject: [PATCH] strpbrk_s: Remove unused variable len
+
+Fixes
+error: variable 'len' set but not used [-Werror,-Wunused-but-set-variable]
+
+Upstream-Status: Submitted [https://github.com/rurban/safeclib/pull/123]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/extstr/strpbrk_s.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/src/extstr/strpbrk_s.c b/src/extstr/strpbrk_s.c
+index 5bb7a0f8..2cf8a8be 100644
+--- a/src/extstr/strpbrk_s.c
++++ b/src/extstr/strpbrk_s.c
+@@ -79,7 +79,6 @@ EXPORT errno_t _strpbrk_s_chk(char *dest, rsize_t dmax, char *src, rsize_t slen,
+ #endif
+ {
+ char *ps;
+- rsize_t len;
+
+ CHK_SRC_NULL("strpbrk_s", firstp)
+ *firstp = NULL;
+@@ -121,7 +120,6 @@ EXPORT errno_t _strpbrk_s_chk(char *dest, rsize_t dmax, char *src, rsize_t slen,
+ while (*dest && dmax) {
+
+ ps = src;
+- len = slen;
+ while (*ps) {
+
+ /* check for a match with the substring */
+@@ -130,7 +128,6 @@ EXPORT errno_t _strpbrk_s_chk(char *dest, rsize_t dmax, char *src, rsize_t slen,
+ return RCNEGATE(EOK);
+ }
+ ps++;
+- len--;
+ }
+ dest++;
+ dmax--;
diff --git a/meta-openembedded/meta-oe/recipes-core/safec/safec_3.7.1.bb b/meta-openembedded/meta-oe/recipes-core/safec/safec_3.7.1.bb
index 5ffe7d7528..9dd6f1c7cc 100644
--- a/meta-openembedded/meta-oe/recipes-core/safec/safec_3.7.1.bb
+++ b/meta-openembedded/meta-oe/recipes-core/safec/safec_3.7.1.bb
@@ -9,7 +9,8 @@ inherit autotools pkgconfig
S = "${WORKDIR}/git"
SRCREV = "f9add9245b97c7bda6e28cceb0ee37fb7e254fd8"
SRC_URI = "git://github.com/rurban/safeclib.git;branch=master;protocol=https \
-"
+ file://0001-strpbrk_s-Remove-unused-variable-len.patch \
+ "
COMPATIBLE_HOST = '(x86_64|i.86|powerpc|powerpc64|arm|aarch64|mips).*-linux'
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch
index 6222dfe60d..01afd37a37 100644
--- a/poky/meta/recipes-core/systemd/systemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch
@@ -12,11 +12,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
src/shared/mount-util.c | 2 ++
4 files changed, 18 insertions(+), 1 deletion(-)
-diff --git a/meson.build b/meson.build
-index 9c170acc0a..a2e4d5054e 100644
--- a/meson.build
+++ b/meson.build
-@@ -481,7 +481,6 @@ decl_headers = '''
+@@ -474,7 +474,6 @@ decl_headers = '''
#include <uchar.h>
#include <sys/mount.h>
#include <sys/stat.h>
@@ -24,7 +22,7 @@ index 9c170acc0a..a2e4d5054e 100644
'''
foreach decl : ['char16_t',
-@@ -493,6 +492,17 @@ foreach decl : ['char16_t',
+@@ -486,6 +485,17 @@ foreach decl : ['char16_t',
# We get -1 if the size cannot be determined
have = cc.sizeof(decl, prefix : decl_headers, args : '-D_GNU_SOURCE') > 0
@@ -42,7 +40,7 @@ index 9c170acc0a..a2e4d5054e 100644
if decl == 'struct statx'
if have
want_linux_stat_h = false
-@@ -508,6 +518,7 @@ foreach decl : ['char16_t',
+@@ -501,6 +511,7 @@ foreach decl : ['char16_t',
endforeach
conf.set10('WANT_LINUX_STAT_H', want_linux_stat_h)
@@ -50,26 +48,10 @@ index 9c170acc0a..a2e4d5054e 100644
foreach ident : ['secure_getenv', '__secure_getenv']
conf.set10('HAVE_' + ident.to_upper(), cc.has_function(ident))
-diff --git a/src/basic/fd-util.c b/src/basic/fd-util.c
-index 6c1de92a26..00591d6c2d 100644
---- a/src/basic/fd-util.c
-+++ b/src/basic/fd-util.c
-@@ -3,7 +3,9 @@
- #include <errno.h>
- #include <fcntl.h>
- #include <linux/btrfs.h>
-+#if WANT_LINUX_FS_H
- #include <linux/fs.h>
-+#endif
- #include <linux/magic.h>
- #include <sys/ioctl.h>
- #include <sys/resource.h>
-diff --git a/src/core/namespace.c b/src/core/namespace.c
-index 3256871803..2eafe43290 100644
--- a/src/core/namespace.c
+++ b/src/core/namespace.c
-@@ -7,7 +7,9 @@
- #include <sys/file.h>
+@@ -6,7 +6,9 @@
+ #include <stdio.h>
#include <sys/mount.h>
#include <unistd.h>
+#if WANT_LINUX_FS_H
@@ -78,8 +60,6 @@ index 3256871803..2eafe43290 100644
#include "alloc-util.h"
#include "base-filesystem.h"
-diff --git a/src/shared/mount-util.c b/src/shared/mount-util.c
-index e76e4a0b38..0c8dec7688 100644
--- a/src/shared/mount-util.c
+++ b/src/shared/mount-util.c
@@ -7,7 +7,9 @@
@@ -92,6 +72,3 @@ index e76e4a0b38..0c8dec7688 100644
#include "alloc-util.h"
#include "chase-symlinks.h"
---
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb
index d5c799aac3..853cc20b67 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb
@@ -14,6 +14,7 @@ SRCREV = "73be9643910c3f7f3ff84765d63060846c110016"
SRCBRANCH = "v250-stable"
SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \
file://static-libsystemd-pkgconfig.patch \
+ file://0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch \
"
# patches needed by musl
diff --git a/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-portability-Avoid-glibc-and-linux-mount.h-conflict.patch b/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-portability-Avoid-glibc-and-linux-mount.h-conflict.patch
new file mode 100644
index 0000000000..689ee2a5c4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-portability-Avoid-glibc-and-linux-mount.h-conflict.patch
@@ -0,0 +1,161 @@
+From 89000d9cb226cd864fa247f2428c9eaf7f414882 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 14 Aug 2022 10:02:15 -0700
+Subject: [PATCH] portability: Avoid glibc and linux mount.h conflict
+
+With glibc 2.36+ linux/mount.h> and <sys/mount.h> headers are
+no longer directly compatible
+
+Upstream-Status: Submitted [https://github.com/landley/toybox/pull/364]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/portability.h | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/lib/portability.h
++++ b/lib/portability.h
+@@ -180,11 +180,29 @@ void *memmem(const void *haystack, size_
+ #endif
+
+ // Linux headers not listed by POSIX or LSB
+-#include <sys/mount.h>
+ #ifdef __linux__
+ #include <sys/statfs.h>
+ #include <sys/swap.h>
+ #include <sys/sysinfo.h>
++
++#ifndef BLKDISCARD
++#define BLKDISCARD _IO(0x12,119)
++#endif
++#ifndef BLKSECDISCARD
++#define BLKSECDISCARD _IO(0x12,125)
++#endif
++#ifndef BLKZEROOUT
++#define BLKZEROOUT _IO(0x12,127)
++#endif
++#ifndef FIFREEZE
++#define FIFREEZE _IOWR('X', 119, int) /* Freeze */
++#endif
++#ifndef FITHAW
++#define FITHAW _IOWR('X', 120, int) /* Thaw */
++#endif
++
++#else
++#include <sys/mount.h>
+ #endif
+
+ #ifdef __APPLE__
+--- a/toys/other/switch_root.c
++++ b/toys/other/switch_root.c
+@@ -19,6 +19,7 @@ config SWITCH_ROOT
+
+ #define FOR_switch_root
+ #include "toys.h"
++#include <sys/mount.h>
+ #include <sys/vfs.h>
+
+ GLOBALS(
+--- a/toys/other/blkdiscard.c
++++ b/toys/other/blkdiscard.c
+@@ -31,8 +31,7 @@ config BLKDISCARD
+
+ #define FOR_blkdiscard
+ #include "toys.h"
+-
+-#include <linux/fs.h>
++#include <sys/mount.h>
+
+ GLOBALS(
+ long o, l;
+--- a/toys/other/blockdev.c
++++ b/toys/other/blockdev.c
+@@ -31,7 +31,7 @@ config BLOCKDEV
+
+ #define FOR_blockdev
+ #include "toys.h"
+-#include <linux/fs.h>
++#include <sys/mount.h>
+
+ GLOBALS(
+ long setbsz, setra;
+--- a/toys/other/fsfreeze.c
++++ b/toys/other/fsfreeze.c
+@@ -18,7 +18,6 @@ config FSFREEZE
+
+ #define FOR_fsfreeze
+ #include "toys.h"
+-#include <linux/fs.h>
+
+ void fsfreeze_main(void)
+ {
+--- a/lib/portability.c
++++ b/lib/portability.c
+@@ -5,7 +5,7 @@
+ */
+
+ #include "toys.h"
+-
++#include <sys/mount.h>
+ // We can't fork() on nommu systems, and vfork() requires an exec() or exit()
+ // before resuming the parent (because they share a heap until then). And no,
+ // we can't implement our own clone() call that does the equivalent of fork()
+--- a/toys/lsb/mount.c
++++ b/toys/lsb/mount.c
+@@ -58,6 +58,7 @@ config MOUNT
+
+ #define FOR_mount
+ #include "toys.h"
++#include <sys/mount.h>
+
+ GLOBALS(
+ struct arg_list *o;
+--- a/toys/lsb/umount.c
++++ b/toys/lsb/umount.c
+@@ -30,6 +30,7 @@ config UMOUNT
+
+ #define FOR_umount
+ #include "toys.h"
++#include <sys/mount.h>
+
+ GLOBALS(
+ struct arg_list *t;
+--- a/toys/other/eject.c
++++ b/toys/other/eject.c
+@@ -22,6 +22,7 @@ config EJECT
+
+ #define FOR_eject
+ #include "toys.h"
++#include <sys/mount.h>
+ #include <scsi/sg.h>
+ #include <scsi/scsi.h>
+ #include <linux/cdrom.h>
+--- a/toys/other/freeramdisk.c
++++ b/toys/other/freeramdisk.c
+@@ -16,6 +16,7 @@ config FREERAMDISK
+ */
+
+ #include "toys.h"
++#include <sys/mount.h>
+
+ void freeramdisk_main(void)
+ {
+--- a/toys/other/nbd_client.c
++++ b/toys/other/nbd_client.c
+@@ -36,6 +36,7 @@ config NBD_CLIENT
+ #define FOR_nbd_client
+ #include "toys.h"
+ #include <linux/nbd.h>
++#include <linux/fs.h>
+
+ void nbd_client_main(void)
+ {
+--- a/toys/other/partprobe.c
++++ b/toys/other/partprobe.c
+@@ -18,6 +18,7 @@ config PARTPROBE
+ */
+
+ #include "toys.h"
++#include <sys/mount.h>
+
+ static void do_partprobe(int fd, char *name)
+ {
diff --git a/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.7.bb b/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.8.bb
index 3441568005..e27f9ed95f 100644
--- a/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.7.bb
+++ b/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.8.bb
@@ -8,8 +8,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=78659a599b9325da368f2f1eb88f19c7"
inherit cml1 update-alternatives
SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz \
+ file://0001-portability-Avoid-glibc-and-linux-mount.h-conflict.patch \
"
-SRC_URI[sha256sum] = "b508bf336f82cb0739b77111f945931d1a143b5a53905cb753cd2607cfdd1494"
+SRC_URI[sha256sum] = "dafd41978d40f02a61cf1be99a2b4a25812bbfb9c3157e679ee7611202d6ac58"
SECTION = "base"
diff --git a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/README.txt b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/README.txt
new file mode 100644
index 0000000000..cfd7b051b1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/README.txt
@@ -0,0 +1,19 @@
+How to generate/update the file uutils-coreutils_XXX.bb:
+
+cargo with version > 1.60 is needed so cargo from Ubuntu's apt will not work
+(because of https://github.com/rust-lang/cargo/issues/10623):
+This package is needed (tested on Ubuntu 22.04):
+sudo apt-get -y install librust-cargo+openssl-dev
+
+Then install cargo-bitbake with:
+$ cargo install --locked cargo-bitbake
+
+You can now update coreutils:
+$ git clone https://github.com/uutils/coreutils.git
+$ cd coreutils
+$ git tag
+$ git checkout 0.0.XXX
+$ cargo-bitbake bitbake
+Wrote: coreutils_0.0.15.bb
+
+Verify manual changes in the bb file (rename coreutils.inc to uutils-coreutils.inc)
diff --git a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils.inc b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils.inc
new file mode 100644
index 0000000000..68cfa8178c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils.inc
@@ -0,0 +1,57 @@
+# This file contains content which was not automatically generated using cargo-bitbake on the cargo.toml file of uutils-coreutils
+# Copyright (c) 2022, Snap Inc.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+PROVIDES = "coreutils"
+RPROVIDES:${PN} = "coreutils"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
+
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
+
+CARGO_BUILD_FLAGS += "--features unix"
+CARGO_BUILD_FLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', '--features feat_selinux', '', d)}"
+
+DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'clang-native libselinux-native', '', d)}"
+
+export LIBCLANG_PATH = "${WORKDIR}/recipe-sysroot-native${libdir}"
+export SELINUX_LIB_DIR = "${WORKDIR}/recipe-sysroot-native${libdir}"
+export SELINUX_INCLUDE_DIR = "${WORKDIR}/recipe-sysroot-native${includedir}"
+
+# The code which follows is strongly inspired from the GNU coreutils bitbake recipe:
+
+# [ df mktemp nice printenv base64 gets a special treatment and is not included in this
+bindir_progs = "[ arch basename cksum comm csplit cut dir dircolors dirname du \
+ env expand expr factor fmt fold groups head hostid id install \
+ join link logname md5sum mkfifo nl nohup nproc od paste pathchk \
+ pinky pr printf ptx readlink realpath seq sha1sum sha224sum sha256sum \
+ sha384sum sha512sum shred shuf sort split sum tac tail tee test timeout \
+ tr truncate tsort tty unexpand uniq unlink uptime users vdir wc who whoami yes"
+
+bindir_progs += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'chcon runcon', '', d)}"
+
+base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname kill ln ls mkdir \
+ mknod mv pwd rm rmdir sleep stty sync touch true uname stat"
+
+sbindir_progs= "chroot"
+
+inherit update-alternatives
+
+# Higher than busybox (which uses 50)
+ALTERNATIVE_PRIORITY = "100"
+
+# Higher than net-tools (which uses 100)
+ALTERNATIVE_PRIORITY[hostname] = "110"
+
+ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${sbindir_progs} base32 base64 nice printenv mktemp df"
+
+# Use the multicall binary named "coreutils" for symlinks
+ALTERNATIVE_TARGET = "${bindir}/coreutils"
+
+python __anonymous() {
+ for prog in d.getVar('base_bindir_progs').split():
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog))
+
+ for prog in d.getVar('sbindir_progs').split():
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('sbindir'), prog))
+}
diff --git a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.15.bb b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.15.bb
new file mode 100644
index 0000000000..07004635f0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.15.bb
@@ -0,0 +1,282 @@
+# Auto-Generated by cargo-bitbake 0.3.16
+#
+inherit cargo
+
+# If this is git based prefer versioned ones if they exist
+# DEFAULT_PREFERENCE = "-1"
+
+# how to get coreutils could be as easy as but default to a git checkout:
+# SRC_URI += "crate://crates.io/coreutils/0.0.15"
+SRC_URI += "git://github.com/uutils/coreutils.git;protocol=https;nobranch=1"
+SRCREV = "5b6cd6146b40f5c1391cd812b1b929edd2283994"
+S = "${WORKDIR}/git"
+CARGO_SRC_DIR = ""
+
+
+# please note if you have entries that do not begin with crate://
+# you must change them to how that package can be fetched
+SRC_URI += " \
+ crate://crates.io/Inflector/0.11.4 \
+ crate://crates.io/adler/1.0.2 \
+ crate://crates.io/ahash/0.7.6 \
+ crate://crates.io/aho-corasick/0.7.18 \
+ crate://crates.io/aliasable/0.1.3 \
+ crate://crates.io/android_system_properties/0.1.4 \
+ crate://crates.io/ansi_term/0.12.1 \
+ crate://crates.io/arrayref/0.3.6 \
+ crate://crates.io/arrayvec/0.7.2 \
+ crate://crates.io/atty/0.2.14 \
+ crate://crates.io/autocfg/1.1.0 \
+ crate://crates.io/bigdecimal/0.3.0 \
+ crate://crates.io/binary-heap-plus/0.4.1 \
+ crate://crates.io/bindgen/0.59.2 \
+ crate://crates.io/bitflags/1.3.2 \
+ crate://crates.io/blake2b_simd/1.0.0 \
+ crate://crates.io/blake3/1.3.1 \
+ crate://crates.io/block-buffer/0.10.2 \
+ crate://crates.io/bstr/0.2.17 \
+ crate://crates.io/bumpalo/3.10.0 \
+ crate://crates.io/byte-unit/4.0.14 \
+ crate://crates.io/bytecount/0.6.3 \
+ crate://crates.io/byteorder/1.4.3 \
+ crate://crates.io/cc/1.0.73 \
+ crate://crates.io/cexpr/0.6.0 \
+ crate://crates.io/cfg-if/0.1.10 \
+ crate://crates.io/cfg-if/1.0.0 \
+ crate://crates.io/chrono/0.4.22 \
+ crate://crates.io/clang-sys/1.3.3 \
+ crate://crates.io/clap/2.34.0 \
+ crate://crates.io/clap/3.2.17 \
+ crate://crates.io/clap_complete/3.2.4 \
+ crate://crates.io/clap_lex/0.2.4 \
+ crate://crates.io/compare/0.1.0 \
+ crate://crates.io/constant_time_eq/0.1.5 \
+ crate://crates.io/conv/0.3.3 \
+ crate://crates.io/core-foundation-sys/0.8.3 \
+ crate://crates.io/coz/0.1.3 \
+ crate://crates.io/cpp/0.5.7 \
+ crate://crates.io/cpp_build/0.4.0 \
+ crate://crates.io/cpp_common/0.4.0 \
+ crate://crates.io/cpp_common/0.5.7 \
+ crate://crates.io/cpp_macros/0.5.7 \
+ crate://crates.io/cpp_syn/0.12.0 \
+ crate://crates.io/cpp_synmap/0.3.0 \
+ crate://crates.io/cpp_synom/0.12.0 \
+ crate://crates.io/cpufeatures/0.2.2 \
+ crate://crates.io/crc32fast/1.3.2 \
+ crate://crates.io/crossbeam-channel/0.5.6 \
+ crate://crates.io/crossbeam-deque/0.8.2 \
+ crate://crates.io/crossbeam-epoch/0.9.10 \
+ crate://crates.io/crossbeam-utils/0.8.11 \
+ crate://crates.io/crossterm/0.25.0 \
+ crate://crates.io/crossterm_winapi/0.9.0 \
+ crate://crates.io/crypto-common/0.1.6 \
+ crate://crates.io/ctor/0.1.23 \
+ crate://crates.io/ctrlc/3.2.3 \
+ crate://crates.io/custom_derive/0.1.7 \
+ crate://crates.io/data-encoding-macro-internal/0.1.10 \
+ crate://crates.io/data-encoding-macro/0.1.12 \
+ crate://crates.io/data-encoding/2.3.2 \
+ crate://crates.io/diff/0.1.13 \
+ crate://crates.io/digest/0.10.3 \
+ crate://crates.io/dlv-list/0.3.0 \
+ crate://crates.io/dns-lookup/1.0.8 \
+ crate://crates.io/dunce/1.0.2 \
+ crate://crates.io/either/1.7.0 \
+ crate://crates.io/env_logger/0.8.4 \
+ crate://crates.io/env_logger/0.9.0 \
+ crate://crates.io/exacl/0.9.0 \
+ crate://crates.io/fastrand/1.8.0 \
+ crate://crates.io/file_diff/1.0.0 \
+ crate://crates.io/filetime/0.2.17 \
+ crate://crates.io/flate2/1.0.24 \
+ crate://crates.io/fnv/1.0.7 \
+ crate://crates.io/fs_extra/1.2.0 \
+ crate://crates.io/fsevent-sys/4.1.0 \
+ crate://crates.io/fts-sys/0.2.1 \
+ crate://crates.io/gcd/2.1.0 \
+ crate://crates.io/generic-array/0.14.6 \
+ crate://crates.io/getrandom/0.2.7 \
+ crate://crates.io/glob/0.3.0 \
+ crate://crates.io/half/1.8.2 \
+ crate://crates.io/hashbrown/0.12.3 \
+ crate://crates.io/heck/0.4.0 \
+ crate://crates.io/hermit-abi/0.1.19 \
+ crate://crates.io/hex-literal/0.3.4 \
+ crate://crates.io/hex/0.4.3 \
+ crate://crates.io/hostname/0.3.1 \
+ crate://crates.io/humantime/2.1.0 \
+ crate://crates.io/iana-time-zone/0.1.45 \
+ crate://crates.io/indexmap/1.9.1 \
+ crate://crates.io/inotify-sys/0.1.5 \
+ crate://crates.io/inotify/0.9.6 \
+ crate://crates.io/instant/0.1.12 \
+ crate://crates.io/itertools/0.10.3 \
+ crate://crates.io/itoa/1.0.3 \
+ crate://crates.io/js-sys/0.3.59 \
+ crate://crates.io/keccak/0.1.2 \
+ crate://crates.io/kernel32-sys/0.2.2 \
+ crate://crates.io/kqueue-sys/1.0.3 \
+ crate://crates.io/kqueue/1.0.6 \
+ crate://crates.io/lazy_static/1.4.0 \
+ crate://crates.io/lazycell/1.3.0 \
+ crate://crates.io/libc/0.2.132 \
+ crate://crates.io/libloading/0.7.3 \
+ crate://crates.io/lock_api/0.4.7 \
+ crate://crates.io/log/0.4.17 \
+ crate://crates.io/lscolors/0.12.0 \
+ crate://crates.io/match_cfg/0.1.0 \
+ crate://crates.io/md-5/0.10.1 \
+ crate://crates.io/memchr/1.0.2 \
+ crate://crates.io/memchr/2.5.0 \
+ crate://crates.io/memmap2/0.5.7 \
+ crate://crates.io/memoffset/0.6.5 \
+ crate://crates.io/minimal-lexical/0.2.1 \
+ crate://crates.io/miniz_oxide/0.5.3 \
+ crate://crates.io/mio/0.8.4 \
+ crate://crates.io/nix/0.25.0 \
+ crate://crates.io/nom/7.1.1 \
+ crate://crates.io/notify/5.0.0-pre.16 \
+ crate://crates.io/num-bigint/0.4.3 \
+ crate://crates.io/num-integer/0.1.45 \
+ crate://crates.io/num-traits/0.2.15 \
+ crate://crates.io/num_cpus/1.13.1 \
+ crate://crates.io/num_threads/0.1.6 \
+ crate://crates.io/number_prefix/0.4.0 \
+ crate://crates.io/numtoa/0.1.0 \
+ crate://crates.io/once_cell/1.13.1 \
+ crate://crates.io/onig/6.3.2 \
+ crate://crates.io/onig_sys/69.8.1 \
+ crate://crates.io/ordered-multimap/0.4.3 \
+ crate://crates.io/os_display/0.1.3 \
+ crate://crates.io/os_str_bytes/6.0.1 \
+ crate://crates.io/ouroboros/0.15.2 \
+ crate://crates.io/ouroboros_macro/0.15.2 \
+ crate://crates.io/output_vt100/0.1.3 \
+ crate://crates.io/parking_lot/0.12.1 \
+ crate://crates.io/parking_lot_core/0.9.3 \
+ crate://crates.io/paste/1.0.8 \
+ crate://crates.io/peeking_take_while/0.1.2 \
+ crate://crates.io/phf/0.10.1 \
+ crate://crates.io/phf_codegen/0.10.0 \
+ crate://crates.io/phf_generator/0.10.0 \
+ crate://crates.io/phf_shared/0.10.0 \
+ crate://crates.io/pin-utils/0.1.0 \
+ crate://crates.io/pkg-config/0.3.25 \
+ crate://crates.io/platform-info/1.0.0 \
+ crate://crates.io/ppv-lite86/0.2.16 \
+ crate://crates.io/pretty_assertions/1.2.1 \
+ crate://crates.io/proc-macro-error-attr/1.0.4 \
+ crate://crates.io/proc-macro-error/1.0.4 \
+ crate://crates.io/proc-macro2/1.0.43 \
+ crate://crates.io/quick-error/2.0.1 \
+ crate://crates.io/quickcheck/1.0.3 \
+ crate://crates.io/quote/0.3.15 \
+ crate://crates.io/quote/1.0.21 \
+ crate://crates.io/rand/0.8.5 \
+ crate://crates.io/rand_chacha/0.3.1 \
+ crate://crates.io/rand_core/0.6.3 \
+ crate://crates.io/rayon-core/1.9.3 \
+ crate://crates.io/rayon/1.5.3 \
+ crate://crates.io/redox_syscall/0.2.16 \
+ crate://crates.io/redox_termios/0.1.2 \
+ crate://crates.io/reference-counted-singleton/0.1.1 \
+ crate://crates.io/regex-automata/0.1.10 \
+ crate://crates.io/regex-syntax/0.6.27 \
+ crate://crates.io/regex/1.6.0 \
+ crate://crates.io/remove_dir_all/0.5.3 \
+ crate://crates.io/remove_dir_all/0.7.0 \
+ crate://crates.io/retain_mut/0.1.7 \
+ crate://crates.io/rlimit/0.8.3 \
+ crate://crates.io/rust-ini/0.18.0 \
+ crate://crates.io/rustc-hash/1.1.0 \
+ crate://crates.io/rustversion/1.0.9 \
+ crate://crates.io/same-file/1.0.6 \
+ crate://crates.io/scopeguard/1.1.0 \
+ crate://crates.io/selinux-sys/0.5.2 \
+ crate://crates.io/selinux/0.2.7 \
+ crate://crates.io/sha1/0.10.1 \
+ crate://crates.io/sha2/0.10.2 \
+ crate://crates.io/sha3/0.10.2 \
+ crate://crates.io/shlex/1.1.0 \
+ crate://crates.io/signal-hook-mio/0.2.3 \
+ crate://crates.io/signal-hook-registry/1.4.0 \
+ crate://crates.io/signal-hook/0.3.14 \
+ crate://crates.io/siphasher/0.3.10 \
+ crate://crates.io/smallvec/1.9.0 \
+ crate://crates.io/smawk/0.3.1 \
+ crate://crates.io/socket2/0.4.4 \
+ crate://crates.io/strsim/0.10.0 \
+ crate://crates.io/strsim/0.8.0 \
+ crate://crates.io/strum/0.24.1 \
+ crate://crates.io/strum_macros/0.24.3 \
+ crate://crates.io/subtle/2.4.1 \
+ crate://crates.io/syn/1.0.99 \
+ crate://crates.io/tempfile/3.3.0 \
+ crate://crates.io/term_grid/0.1.7 \
+ crate://crates.io/termcolor/1.1.3 \
+ crate://crates.io/terminal_size/0.1.17 \
+ crate://crates.io/termion/1.5.6 \
+ crate://crates.io/termsize/0.1.6 \
+ crate://crates.io/textwrap/0.11.0 \
+ crate://crates.io/textwrap/0.15.0 \
+ crate://crates.io/thiserror-impl/1.0.32 \
+ crate://crates.io/thiserror/1.0.32 \
+ crate://crates.io/time-macros/0.2.4 \
+ crate://crates.io/time/0.3.9 \
+ crate://crates.io/typenum/1.15.0 \
+ crate://crates.io/unicode-ident/1.0.3 \
+ crate://crates.io/unicode-linebreak/0.1.2 \
+ crate://crates.io/unicode-segmentation/1.9.0 \
+ crate://crates.io/unicode-width/0.1.9 \
+ crate://crates.io/unicode-xid/0.0.4 \
+ crate://crates.io/unindent/0.1.10 \
+ crate://crates.io/unix_socket/0.5.0 \
+ crate://crates.io/users/0.11.0 \
+ crate://crates.io/utf-8/0.7.6 \
+ crate://crates.io/utf8-width/0.1.6 \
+ crate://crates.io/uuid/1.1.2 \
+ crate://crates.io/vec_map/0.8.2 \
+ crate://crates.io/version_check/0.9.4 \
+ crate://crates.io/walkdir/2.3.2 \
+ crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
+ crate://crates.io/wasm-bindgen-backend/0.2.82 \
+ crate://crates.io/wasm-bindgen-macro-support/0.2.82 \
+ crate://crates.io/wasm-bindgen-macro/0.2.82 \
+ crate://crates.io/wasm-bindgen-shared/0.2.82 \
+ crate://crates.io/wasm-bindgen/0.2.82 \
+ crate://crates.io/which/4.2.5 \
+ crate://crates.io/wild/2.1.0 \
+ crate://crates.io/winapi-build/0.1.1 \
+ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi-util/0.1.5 \
+ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi/0.2.8 \
+ crate://crates.io/winapi/0.3.9 \
+ crate://crates.io/windows-sys/0.36.1 \
+ crate://crates.io/windows_aarch64_msvc/0.36.1 \
+ crate://crates.io/windows_i686_gnu/0.36.1 \
+ crate://crates.io/windows_i686_msvc/0.36.1 \
+ crate://crates.io/windows_x86_64_gnu/0.36.1 \
+ crate://crates.io/windows_x86_64_msvc/0.36.1 \
+ crate://crates.io/xattr/0.2.3 \
+ crate://crates.io/z85/3.0.5 \
+ crate://crates.io/zip/0.6.2 \
+"
+
+
+
+# FIXME: update generateme with the real MD5 of the license file
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=41f7469eaacac62c67d5664fff2c062d \
+"
+
+SUMMARY = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust"
+HOMEPAGE = "https://github.com/uutils/coreutils"
+LICENSE = "MIT"
+
+# includes this file if it exists but does not fail
+# this is useful for anything you may want to override from
+# what cargo-bitbake generates.
+include uutils-coreutils-${PV}.inc
+include uutils-coreutils.inc
diff --git a/meta-openembedded/meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch b/meta-openembedded/meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch
new file mode 100644
index 0000000000..312809d1d2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch
@@ -0,0 +1,22 @@
+From b4d418bf3f78748d84e3cfb110833443eef34284 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@cold-front.org>
+Date: Thu, 25 Aug 2022 17:22:20 -0400
+Subject: [PATCH] make: set soname on liblmdb
+
+---
+ libraries/liblmdb/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile
+index 1ec74e6..ea08cd6 100644
+--- a/libraries/liblmdb/Makefile
++++ b/libraries/liblmdb/Makefile
+@@ -66,7 +66,7 @@ liblmdb.a: mdb.o midl.o
+
+ liblmdb$(SOEXT): mdb.lo midl.lo
+ # $(CC) $(LDFLAGS) -pthread -shared -Wl,-Bsymbolic -o $@ mdb.o midl.o $(SOLIBS)
+- $(CC) $(LDFLAGS) -pthread -shared -o $@ mdb.lo midl.lo $(SOLIBS)
++ $(CC) $(LDFLAGS) -pthread -shared -Wl,-soname,$@ -o $@ mdb.lo midl.lo $(SOLIBS)
+
+ mdb_stat: mdb_stat.o liblmdb.a
+ mdb_copy: mdb_copy.o liblmdb.a
diff --git a/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb b/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
index b58a36c446..a76d388d70 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
@@ -11,16 +11,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972"
SRC_URI = "git://github.com/LMDB/lmdb.git;nobranch=1;protocol=https \
file://run-ptest \
file://0001-Makefile-use-libprefix-instead-of-libdir.patch \
+ file://0001-make-set-soname-on-liblmdb.patch;patchdir=../.. \
"
SRCREV = "8ad7be2510414b9506ec9f9e24f24d04d9b04a1a"
-inherit base ptest
+inherit ptest
S = "${WORKDIR}/git/libraries/liblmdb"
-LDFLAGS += "-Wl,-soname,lib${PN}.so.${PV}"
-
do_compile() {
oe_runmake CC="${CC}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}"
}
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index fa32e6844e..c63d5114f6 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -30,7 +30,7 @@ S = "${WORKDIR}/mariadb-${PV}"
BINCONFIG_GLOB = "mysql_config"
-inherit cmake gettext binconfig update-rc.d useradd systemd multilib_script
+inherit cmake gettext binconfig update-rc.d useradd systemd multilib_script pkgconfig
MULTILIB_SCRIPTS = "${PN}-server:${bindir}/mariadbd-safe \
${PN}-setupdb:${bindir}/mariadb-install-db"
@@ -60,11 +60,12 @@ FILES:${PN}-setupdb = "${sysconfdir}/init.d/install_db \
${bindir}/mysql-systemd-start \
"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} openssl"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} lz4 openssl"
PACKAGECONFIG:class-native = ""
PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam"
PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind"
PACKAGECONFIG[krb5] = ", ,krb5"
+PACKAGECONFIG[lz4] = ", ,lz4"
PACKAGECONFIG[openssl] = "-DWITH_SSL='system',-DWITH_SSL='bundled',openssl"
# MariaDB doesn't link properly with gold
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch
new file mode 100644
index 0000000000..101a748776
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch
@@ -0,0 +1,110 @@
+From b92eebe8b0760fee7bd55c6c22318620c2c07579 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 1 Aug 2022 15:44:38 +0800
+Subject: [PATCH] config_info.c: not expose build info
+
+Don't collect the build information to fix the buildpaths issue.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ configure.ac | 2 +-
+ src/common/config_info.c | 68 ----------------------------------------
+ 2 files changed, 1 insertion(+), 69 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0eb595b..508487b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -23,7 +23,7 @@ AC_COPYRIGHT([Copyright (c) 1996-2021, PostgreSQL Global Development Group])
+ AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
+ AC_CONFIG_AUX_DIR(config)
+ AC_PREFIX_DEFAULT(/usr/local/pgsql)
+-AC_DEFINE_UNQUOTED(CONFIGURE_ARGS, ["$ac_configure_args"], [Saved arguments from configure])
++AC_DEFINE_UNQUOTED(CONFIGURE_ARGS, ["ac_configure_args"], [Saved arguments from configure])
+
+ [PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`]
+ [PG_MINORVERSION=`expr "$PACKAGE_VERSION" : '.*\.\([0-9][0-9]*\)'`]
+diff --git a/src/common/config_info.c b/src/common/config_info.c
+index e72e729..b482c20 100644
+--- a/src/common/config_info.c
++++ b/src/common/config_info.c
+@@ -123,74 +123,6 @@ get_configdata(const char *my_exec_path, size_t *configdata_len)
+ configdata[i].setting = pstrdup(path);
+ i++;
+
+- configdata[i].name = pstrdup("CONFIGURE");
+- configdata[i].setting = pstrdup(CONFIGURE_ARGS);
+- i++;
+-
+- configdata[i].name = pstrdup("CC");
+-#ifdef VAL_CC
+- configdata[i].setting = pstrdup(VAL_CC);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("CPPFLAGS");
+-#ifdef VAL_CPPFLAGS
+- configdata[i].setting = pstrdup(VAL_CPPFLAGS);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("CFLAGS");
+-#ifdef VAL_CFLAGS
+- configdata[i].setting = pstrdup(VAL_CFLAGS);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("CFLAGS_SL");
+-#ifdef VAL_CFLAGS_SL
+- configdata[i].setting = pstrdup(VAL_CFLAGS_SL);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("LDFLAGS");
+-#ifdef VAL_LDFLAGS
+- configdata[i].setting = pstrdup(VAL_LDFLAGS);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("LDFLAGS_EX");
+-#ifdef VAL_LDFLAGS_EX
+- configdata[i].setting = pstrdup(VAL_LDFLAGS_EX);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("LDFLAGS_SL");
+-#ifdef VAL_LDFLAGS_SL
+- configdata[i].setting = pstrdup(VAL_LDFLAGS_SL);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("LIBS");
+-#ifdef VAL_LIBS
+- configdata[i].setting = pstrdup(VAL_LIBS);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+ configdata[i].name = pstrdup("VERSION");
+ configdata[i].setting = pstrdup("PostgreSQL " PG_VERSION);
+ i++;
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
index 2256bccece..4a576d7172 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
@@ -1,4 +1,4 @@
-From 07e605015fad0621c3e67133ff9330a5c6318daa Mon Sep 17 00:00:00 2001
+From 258c6bd2ad96f2c42f1cb5f4c84e4ca5865059f0 Mon Sep 17 00:00:00 2001
From: Yi Fan Yu <yifan.yu@windriver.com>
Date: Fri, 5 Feb 2021 17:15:42 -0500
Subject: [PATCH] configure.ac: bypass autoconf 2.69 version check
@@ -14,12 +14,12 @@ Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
1 file changed, 4 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 04ef7be..0eb595b 100644
+index ffe878e..c39799b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
- AC_INIT([PostgreSQL], [14.4], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
+ AC_INIT([PostgreSQL], [14.5], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
-Untested combinations of 'autoconf' and PostgreSQL versions are not
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
index 00c0107469..60d44ce979 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
@@ -205,7 +205,7 @@ do_install:append() {
# multiple server config directory
install -d -m 700 ${D}${sysconfdir}/default/${BPN}
- if [ "${@d.getVar('enable_pam')}" = "pam" ]; then
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/pam.d
install -m 644 ${WORKDIR}/postgresql.pam ${D}${sysconfdir}/pam.d/postgresql
fi
@@ -215,6 +215,14 @@ do_install:append() {
install -m 0644 ${WORKDIR}/postgresql.service ${D}${systemd_unitdir}/system
sed -i -e 's,@BINDIR@,${bindir},g' \
${D}${systemd_unitdir}/system/postgresql.service
+ # Remove the build path
+ if [ -f ${D}${libdir}/${BPN}/pgxs/src/Makefile.global ]; then
+ sed -i -e 's#${RECIPE_SYSROOT}##g' \
+ -e 's#${RECIPE_SYSROOT_NATIVE}##g' \
+ -e 's#${WORKDIR}##g' \
+ -e 's#${TMPDIR}##g' \
+ ${D}${libdir}/${BPN}/pgxs/src/Makefile.global
+ fi
}
SSTATE_SCAN_FILES += "Makefile.global"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.4.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.5.bb
index 64e83b2cde..1551d34053 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.4.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.5.bb
@@ -8,9 +8,10 @@ SRC_URI += "\
file://0001-Improve-reproducibility.patch \
file://0001-configure.ac-bypass-autoconf-2.69-version-check.patch \
file://remove_duplicate.patch \
+ file://0001-config_info.c-not-expose-build-info.patch \
"
-SRC_URI[sha256sum] = "c23b6237c5231c791511bdc79098617d6852e9e3bdf360efd8b5d15a1a3d8f6a"
+SRC_URI[sha256sum] = "d4f72cb5fb857c9a9f75ec8cf091a1771272802f2178f0b2e65b7b6ff64f4a30"
CVE_CHECK_IGNORE += "\
CVE-2017-8806 \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start
index d67878fef9..b73cb70b14 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start
@@ -2,6 +2,6 @@
set -e
-sleep 3
+sleep 10
ls /sys/class/udc/ | xargs echo -n > /sys/kernel/config/usb_gadget/adb/UDC
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0015-libsparse-Split-off-most-of-sparse_file_read_normal-.patch b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0015-libsparse-Split-off-most-of-sparse_file_read_normal-.patch
new file mode 100644
index 0000000000..b3893f0c80
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0015-libsparse-Split-off-most-of-sparse_file_read_normal-.patch
@@ -0,0 +1,60 @@
+From 7b74d23ed955206a789a96bdc3288593e702afac Mon Sep 17 00:00:00 2001
+From: Sean Anderson <sean.anderson@seco.com>
+Date: Thu, 30 Dec 2021 15:16:08 -0500
+Subject: [PATCH] libsparse: Split off most of sparse_file_read_normal into a
+ helper function
+
+This carves out the core of sparse_file_read_normal and splits it off so
+it can be reused in the next patch. No functional change intended.
+
+Change-Id: Id00491fd7e5bb6fa28c517a0bb32b8b506539d4d
+Upstream-status: Backport [95657f3e5976d96073f7bbfe3a49192509999d1d]
+Signed-off-by: Sean Anderson <sean.anderson@seco.com>
+---
+ libsparse/sparse_read.c | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/libsparse/sparse_read.c b/libsparse/sparse_read.c
+index 8e188e9a4..ee4abd86a 100644
+--- a/libsparse/sparse_read.c
++++ b/libsparse/sparse_read.c
+@@ -353,13 +353,11 @@ static int sparse_file_read_sparse(struct sparse_file *s, int fd, bool crc)
+ return 0;
+ }
+
+-static int sparse_file_read_normal(struct sparse_file *s, int fd)
++static int do_sparse_file_read_normal(struct sparse_file *s, int fd, uint32_t* buf, int64_t offset,
++ int64_t remain)
+ {
+ int ret;
+- uint32_t *buf = malloc(s->block_size);
+- unsigned int block = 0;
+- int64_t remain = s->len;
+- int64_t offset = 0;
++ unsigned int block = offset / s->block_size;
+ unsigned int to_read;
+ unsigned int i;
+ bool sparse_block;
+@@ -403,6 +401,19 @@ static int sparse_file_read_normal(struct sparse_file *s, int fd)
+ return 0;
+ }
+
++static int sparse_file_read_normal(struct sparse_file* s, int fd)
++{
++ int ret;
++ uint32_t* buf = (uint32_t*)malloc(s->block_size);
++
++ if (!buf)
++ return -ENOMEM;
++
++ ret = do_sparse_file_read_normal(s, fd, buf, 0, s->len);
++ free(buf);
++ return ret;
++}
++
+ int sparse_file_read(struct sparse_file *s, int fd, bool sparse, bool crc)
+ {
+ if (crc && !sparse) {
+--
+2.35.1.1320.gc452695387.dirty
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0016-libsparse-Add-hole-mode-to-sparse_file_read.patch b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0016-libsparse-Add-hole-mode-to-sparse_file_read.patch
new file mode 100644
index 0000000000..e5221d2b4c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0016-libsparse-Add-hole-mode-to-sparse_file_read.patch
@@ -0,0 +1,188 @@
+From 41574b628ec4229c24dfe289af7b6978edcca4ed Mon Sep 17 00:00:00 2001
+From: Sean Anderson <sean.anderson@seco.com>
+Date: Thu, 30 Dec 2021 15:19:41 -0500
+Subject: [PATCH] libsparse: Add "hole" mode to sparse_file_read
+
+This adds support for filesystem-level sparse files. These files have
+holes which are not stored in the filesystem and when read are full of
+zeros. While these zeros may be significant in some types of files,
+other types of files may not care about the contents of holes. For
+example, most filesystem creation tools write to all the blocks they
+care about. Those blocks not written to will remain holes, and can be
+safely represented by "don't care" chunks. Using "don't care" chunks
+instead of fill chunks can result in a substantial reduction of the time
+it takes to program a sparse image.
+
+To accomplish this, we extend the existing "sparse" boolean parameter to
+be an enum of mode types. This enum represents the strategy we take when
+reading in a file. For the most part the implementation is
+straightforward. We use lseek to determine where the holes in the file
+are, and then use do_sparse_file_read_normal to create chunks for the
+data section. Note that every file has an implicit hole at its end.
+
+Change-Id: I0cfbf08886fca9a91cb753ec8734c84fcbe52c9f
+Upstream-Status: Backport [f96466b05543b984ef7315d830bab4a409228d35]
+Signed-off-by: Sean Anderson <sean.anderson@seco.com>
+---
+ libsparse/img2simg.c | 2 +-
+ libsparse/include/sparse/sparse.h | 32 +++++++++++---
+ libsparse/sparse_read.c | 71 +++++++++++++++++++++++++++++--
+ 3 files changed, 93 insertions(+), 12 deletions(-)
+
+diff --git a/libsparse/img2simg.c b/libsparse/img2simg.c
+index a0db36f45..2e171b613 100644
+--- a/libsparse/img2simg.c
++++ b/libsparse/img2simg.c
+@@ -96,7 +96,7 @@ int main(int argc, char *argv[])
+ }
+
+ sparse_file_verbose(s);
+- ret = sparse_file_read(s, in, false, false);
++ ret = sparse_file_read(s, in, SPARSE_READ_MODE_NORMAL, false);
+ if (ret) {
+ fprintf(stderr, "Failed to read file\n");
+ exit(-1);
+diff --git a/libsparse/include/sparse/sparse.h b/libsparse/include/sparse/sparse.h
+index 8b757d22a..b68aa21a8 100644
+--- a/libsparse/include/sparse/sparse.h
++++ b/libsparse/include/sparse/sparse.h
+@@ -196,23 +196,41 @@ int64_t sparse_file_len(struct sparse_file *s, bool sparse, bool crc);
+ int sparse_file_callback(struct sparse_file *s, bool sparse, bool crc,
+ int (*write)(void *priv, const void *data, int len), void *priv);
+
++/**
++ * enum sparse_read_mode - The method to use when reading in files
++ * @SPARSE_READ_MODE_NORMAL: The input is a regular file. Constant chunks of
++ * data (including holes) will be be converted to
++ * fill chunks.
++ * @SPARSE_READ_MODE_SPARSE: The input is an Android sparse file.
++ * @SPARSE_READ_MODE_HOLE: The input is a regular file. Holes will be converted
++ * to "don't care" chunks. Other constant chunks will
++ * be converted to fill chunks.
++ */
++enum sparse_read_mode {
++ SPARSE_READ_MODE_NORMAL = false,
++ SPARSE_READ_MODE_SPARSE = true,
++ SPARSE_READ_MODE_HOLE,
++};
++
+ /**
+ * sparse_file_read - read a file into a sparse file cookie
+ *
+ * @s - sparse file cookie
+ * @fd - file descriptor to read from
+- * @sparse - read a file in the Android sparse file format
++ * @mode - mode to use when reading the input file
+ * @crc - verify the crc of a file in the Android sparse file format
+ *
+- * Reads a file into a sparse file cookie. If sparse is true, the file is
+- * assumed to be in the Android sparse file format. If sparse is false, the
+- * file will be sparsed by looking for block aligned chunks of all zeros or
+- * another 32 bit value. If crc is true, the crc of the sparse file will be
+- * verified.
++ * Reads a file into a sparse file cookie. If @mode is
++ * %SPARSE_READ_MODE_SPARSE, the file is assumed to be in the Android sparse
++ * file format. If @mode is %SPARSE_READ_MODE_NORMAL, the file will be sparsed
++ * by looking for block aligned chunks of all zeros or another 32 bit value. If
++ * @mode is %SPARSE_READ_MODE_HOLE, the file will be sparsed like
++ * %SPARSE_READ_MODE_NORMAL, but holes in the file will be converted to "don't
++ * care" chunks. If crc is true, the crc of the sparse file will be verified.
+ *
+ * Returns 0 on success, negative errno on error.
+ */
+-int sparse_file_read(struct sparse_file *s, int fd, bool sparse, bool crc);
++int sparse_file_read(struct sparse_file *s, int fd, enum sparse_read_mode mode, bool crc);
+
+ /**
+ * sparse_file_import - import an existing sparse file
+diff --git a/libsparse/sparse_read.c b/libsparse/sparse_read.c
+index ee4abd86a..81f48cc13 100644
+--- a/libsparse/sparse_read.c
++++ b/libsparse/sparse_read.c
+@@ -414,16 +414,79 @@ static int sparse_file_read_normal(struct sparse_file* s, int fd)
+ return ret;
+ }
+
+-int sparse_file_read(struct sparse_file *s, int fd, bool sparse, bool crc)
++#ifdef __linux__
++static int sparse_file_read_hole(struct sparse_file* s, int fd)
+ {
+- if (crc && !sparse) {
++ int ret;
++ uint32_t* buf = (uint32_t*)malloc(s->block_size);
++ int64_t end = 0;
++ int64_t start = 0;
++
++ if (!buf) {
++ return -ENOMEM;
++ }
++
++ do {
++ start = lseek(fd, end, SEEK_DATA);
++ if (start < 0) {
++ if (errno == ENXIO)
++ /* The rest of the file is a hole */
++ break;
++
++ error("could not seek to data");
++ free(buf);
++ return -errno;
++ } else if (start > s->len) {
++ break;
++ }
++
++ end = lseek(fd, start, SEEK_HOLE);
++ if (end < 0) {
++ error("could not seek to end");
++ free(buf);
++ return -errno;
++ }
++ end = min(end, s->len);
++
++ start = ALIGN_DOWN(start, s->block_size);
++ end = ALIGN(end, s->block_size);
++ if (lseek(fd, start, SEEK_SET) < 0) {
++ free(buf);
++ return -errno;
++ }
++
++ ret = do_sparse_file_read_normal(s, fd, buf, start, end - start);
++ if (ret) {
++ free(buf);
++ return ret;
++ }
++ } while (end < s->len);
++
++ free(buf);
++ return 0;
++}
++#else
++static int sparse_file_read_hole(struct sparse_file* s __unused, int fd __unused)
++{
++ return -ENOTSUP;
++}
++#endif
++
++int sparse_file_read(struct sparse_file *s, int fd, enum sparse_read_mode mode, bool crc)
++{
++ if (crc && mode != SPARSE_READ_MODE_SPARSE) {
+ return -EINVAL;
+ }
+
+- if (sparse) {
++ switch (mode) {
++ case SPARSE_READ_MODE_SPARSE:
+ return sparse_file_read_sparse(s, fd, crc);
+- } else {
++ case SPARSE_READ_MODE_NORMAL:
+ return sparse_file_read_normal(s, fd);
++ case SPARSE_READ_MODE_HOLE:
++ return sparse_file_read_hole(s, fd);
++ default:
++ return -EINVAL;
+ }
+ }
+
+--
+2.35.1.1320.gc452695387.dirty
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0017-img2simg-Add-support-for-converting-holes-to-don-t-c.patch b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0017-img2simg-Add-support-for-converting-holes-to-don-t-c.patch
new file mode 100644
index 0000000000..9d19f58095
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0017-img2simg-Add-support-for-converting-holes-to-don-t-c.patch
@@ -0,0 +1,114 @@
+From 00cce57eff1a0de3b93efa5da225e9eb33d19659 Mon Sep 17 00:00:00 2001
+From: Sean Anderson <sean.anderson@seco.com>
+Date: Thu, 30 Dec 2021 15:34:28 -0500
+Subject: [PATCH] img2simg: Add support for converting holes to "don't care"
+ chunks
+
+This adds support for converting files with holes to "don't care"
+chunks. This can result in a substantial reduction in the time it takes
+to program an image if it has many holes.
+
+Generally, constants compared to argc have been reduced by one, since we
+no longer have the program name as the first argument.
+
+Change-Id: I00750edc07d6415dcc07ae0351e9397b0222b7ba
+Upstream-Status: Backport [6150b00b6025918da8c28e5c2f929ecdf480a9d6]
+Signed-off-by: Sean Anderson <sean.anderson@seco.com>
+---
+ libsparse/img2simg.c | 41 ++++++++++++++++++++++++++++++-----------
+ 1 file changed, 30 insertions(+), 11 deletions(-)
+
+diff --git a/libsparse/img2simg.c b/libsparse/img2simg.c
+index 2e171b613..c985d5449 100644
+--- a/libsparse/img2simg.c
++++ b/libsparse/img2simg.c
+@@ -40,25 +40,42 @@
+
+ void usage()
+ {
+- fprintf(stderr, "Usage: img2simg <raw_image_file> <sparse_image_file> [<block_size>]\n");
++ fprintf(stderr, "Usage: img2simg [-s] <raw_image_file> <sparse_image_file> [<block_size>]\n");
+ }
+
+ int main(int argc, char *argv[])
+ {
++ char *arg_in;
++ char *arg_out;
++ enum sparse_read_mode mode = SPARSE_READ_MODE_NORMAL;
++ int extra;
+ int in;
++ int opt;
+ int out;
+ int ret;
+ struct sparse_file *s;
+ unsigned int block_size = 4096;
+ off64_t len;
+
+- if (argc < 3 || argc > 4) {
++ while ((opt = getopt(argc, argv, "s")) != -1) {
++ switch (opt) {
++ case 's':
++ mode = SPARSE_READ_MODE_HOLE;
++ break;
++ default:
++ usage();
++ exit(-1);
++ }
++ }
++
++ extra = argc - optind;
++ if (extra < 2 || extra > 3) {
+ usage();
+ exit(-1);
+ }
+
+- if (argc == 4) {
+- block_size = atoi(argv[3]);
++ if (extra == 3) {
++ block_size = atoi(argv[optind + 2]);
+ }
+
+ if (block_size < 1024 || block_size % 4 != 0) {
+@@ -66,22 +83,24 @@ int main(int argc, char *argv[])
+ exit(-1);
+ }
+
+- if (strcmp(argv[1], "-") == 0) {
++ arg_in = argv[optind];
++ if (strcmp(arg_in, "-") == 0) {
+ in = STDIN_FILENO;
+ } else {
+- in = open(argv[1], O_RDONLY | O_BINARY);
++ in = open(arg_in, O_RDONLY | O_BINARY);
+ if (in < 0) {
+- fprintf(stderr, "Cannot open input file %s\n", argv[1]);
++ fprintf(stderr, "Cannot open input file %s\n", arg_in);
+ exit(-1);
+ }
+ }
+
+- if (strcmp(argv[2], "-") == 0) {
++ arg_out = argv[optind + 1];
++ if (strcmp(arg_out, "-") == 0) {
+ out = STDOUT_FILENO;
+ } else {
+- out = open(argv[2], O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 0664);
++ out = open(arg_out, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 0664);
+ if (out < 0) {
+- fprintf(stderr, "Cannot open output file %s\n", argv[2]);
++ fprintf(stderr, "Cannot open output file %s\n", arg_out);
+ exit(-1);
+ }
+ }
+@@ -96,7 +115,7 @@ int main(int argc, char *argv[])
+ }
+
+ sparse_file_verbose(s);
+- ret = sparse_file_read(s, in, SPARSE_READ_MODE_NORMAL, false);
++ ret = sparse_file_read(s, in, mode, false);
+ if (ret) {
+ fprintf(stderr, "Failed to read file\n");
+ exit(-1);
+--
+2.35.1.1320.gc452695387.dirty
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
index 8f28abbd19..26393605d4 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -41,6 +41,9 @@ SRC_URI = " \
file://core/adb_libssl_11.diff;patchdir=system/core \
file://core/0013-adb-Support-riscv64.patch;patchdir=system/core \
file://core/0014-add-u3-ss-descriptor-support-for-adb.patch;patchdir=system/core \
+ file://core/0015-libsparse-Split-off-most-of-sparse_file_read_normal-.patch;patchdir=system/core \
+ file://core/0016-libsparse-Add-hole-mode-to-sparse_file_read.patch;patchdir=system/core \
+ file://core/0017-img2simg-Add-support-for-converting-holes-to-don-t-c.patch;patchdir=system/core \
file://extras/0001-ext4_utils-remove-selinux-extensions.patch;patchdir=system/extras \
file://extras/0002-ext4_utils-add-o-argument-to-preserve-ownership.patch;patchdir=system/extras \
file://libselinux/0001-Remove-bionic-specific-calls.patch;patchdir=external/libselinux \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220703.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220821.0.bb
index fb736db574..31f493506b 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220703.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220821.0.bb
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
inherit autotools-brokensep pkgconfig manpages
-SRCREV = "787811b6eac03ab81ccf5b6957432d893eb982cb"
+SRCREV = "40551e21c507c2426a323373f3ff200799150429"
SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.126.bb b/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.127.bb
index 38b015c401..5e0a488429 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.126.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.127.bb
@@ -11,7 +11,7 @@ SRC_URI = "\
file://0001-do-not-hardcode-the-full-path-of-dpkg.patch \
"
-SRC_URI[sha256sum] = "bc48e1c500c33bed50bd00d201f338d3c92d6c0dcb1f202c3bc00ef01f96c618"
+SRC_URI[sha256sum] = "45887cf0582e6d16598e50713278d16b2272d02bdd117a9876e98277300dabd4"
S = "${WORKDIR}/debootstrap"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
index ccbea58f18..f170b9f824 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
@@ -4,7 +4,7 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://github.com/ubinux/dnf-plugin-tui.git;branch=master;protocol=https"
-SRCREV = "f6ee3fa8fe6f3d7ca8d5b104aa73c1a5c938a403"
+SRCREV = "bac88927b253cdcfe0d06ac7dc5afb876cd2d996"
PV = "1.3"
SRC_URI:append:class-target = " file://oe-remote.repo.sample"
@@ -28,7 +28,14 @@ do_install:append:class-target() {
install -m 0644 ${WORKDIR}/oe-remote.repo.sample ${D}${sysconfdir}/yum.repos.d
}
+do_install:append:class-nativesdk() {
+ install -d -p ${D}/${SDKPATH}/postinst-intercepts
+ cp -r ${COREBASE}/scripts/postinst-intercepts/* ${D}/${SDKPATH}/postinst-intercepts/
+ sed -i -e 's/STAGING_DIR_NATIVE/NATIVE_ROOT/g' ${D}/${SDKPATH}/postinst-intercepts/*
+}
+
FILES:${PN} += "${datadir}/dnf"
+FILES:${PN} += "${SDKPATH}/postinst-intercepts"
RDEPENDS:${PN} += " \
bash \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.20.3.bb b/meta-openembedded/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.20.3.bb
new file mode 100644
index 0000000000..d14869b06b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.20.3.bb
@@ -0,0 +1,26 @@
+# Copyright (C) 2022 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Gstreamer editing services"
+HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-editing-services/"
+
+LICENSE = "GPL-2.0-on-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
+ file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d"
+
+DEPENDS = "flex-native gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad python3-pygobject"
+
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+GIR_MESON_OPTION = ""
+
+inherit meson pkgconfig upstream-version-is-even gobject-introspection features_check bash-completion
+
+EXTRA_OEMESON = "-Dvalidate=disabled"
+
+SRC_URI = "http://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-${PV}.tar.xz"
+SRC_URI[sha256sum] = "5fd896de69fbe24421eb6b0ff8d2f8b4c3cba3f3025ceacd302172f39a8abaa2"
+
+PACKAGES += "gst-validate-launcher libges"
+
+FILES:gst-validate-launcher = "${nonarch_libdir}/gst-validate-launcher ${datadir}/gstreamer-1.0/validate"
+FILES:libges = "${libdir}/gstreamer-1.0/*.so"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.10.1.bb b/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.10.1.bb
index 00dfb0954c..15f394e13e 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.10.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.10.1.bb
@@ -17,6 +17,9 @@ SRCREV = "32b062a33352e05771dcc01b981ebe961bf2e42f"
SRC_URI = "git://github.com/Reference-LAPACK/lapack.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[lapacke] = "-DLAPACKE=ON,-DLAPACKE=OFF"
+
EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=ON "
OECMAKE_GENERATOR = "Unix Makefiles"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.8.1.bb b/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.8.3.bb
index 81e1c62a07..16816e62d8 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.8.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.8.3.bb
@@ -4,7 +4,7 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=34330f15b2b4abbbaaa7623f79a6a019"
SRC_URI = "https://www.nlnetlabs.nl/downloads/ldns/ldns-${PV}.tar.gz"
-SRC_URI[sha256sum] = "958229abce4d3aaa19a75c0d127666564b17216902186e952ca4aef47c6d7fa3"
+SRC_URI[sha256sum] = "c3f72dd1036b2907e3a56e6acf9dfb2e551256b3c1bbd9787942deeeb70e7860"
DEPENDS = "openssl"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/makeself/makeself_2.4.5.bb b/meta-openembedded/meta-oe/recipes-devtools/makeself/makeself_2.4.5.bb
new file mode 100644
index 0000000000..e0dfc3dae3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/makeself/makeself_2.4.5.bb
@@ -0,0 +1,29 @@
+SUMMARY = "A self-extracting archiving tool for Unix systems, in 100% shell script."
+DESCRIPTION = "\
+ makeself.sh is a small shell script that generates a self-extractable \
+ compressed tar archive from a directory. The resulting file appears as \
+ a shell script (many of those have a .run suffix), and can be launched as is.\
+"
+HOMEPAGE = "https://makeself.io/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "\
+ git://git@github.com/megastep/makeself.git;protocol=https;branch=master \
+"
+
+SRCREV = "5742be6410bfad2c619fb1e98bf795e8fa0913c7"
+
+S = "${WORKDIR}/git"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/makeself.1 ${D}${bindir}/
+ install -m 0755 ${S}/makeself.sh ${D}${bindir}/
+ install -m 0755 ${S}/makeself-header.sh ${D}${bindir}/
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.10.5.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb
index 0cf6fd36bc..502262820a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.10.5.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb
@@ -9,7 +9,7 @@ CVE_PRODUCT = "json-for-modern-cpp"
SRC_URI = "git://github.com/nlohmann/json.git;nobranch=1;protocol=https \
"
-SRCREV = "4f8fba14066156b73f1189a2b8bd568bde5284c5"
+SRCREV = "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20200505.0.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20220807.0.bb
index 34f3136de9..f597a8dab0 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20200505.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20220807.0.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e"
DEPENDS = "perl"
SRC_URI = "git://github.com/toddr/IPC-Run.git;branch=master;protocol=https"
-SRCREV = "af435a1635ef9e48a84adc3230099e7ecf20c79d"
+SRCREV = "44b1f2d2021615c88f2f6b1a6cbdd9aebaeb4ad1"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.8.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.9.bb
index c5a424cd22..03756e04d5 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.8.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.9.bb
@@ -33,7 +33,7 @@ SRC_URI:append:class-target = " \
"
S = "${WORKDIR}/php-${PV}"
-SRC_URI[sha256sum] = "b8815a5a02431453d4261e3598bd1f28516e4c0354f328c12890f257870e4c01"
+SRC_URI[sha256sum] = "9ebb0e2e571db6fd5930428dcb2d19ed3e050338ec1f1347c282cae92fc086ff"
CVE_CHECK_IGNORE += "\
CVE-2007-2728 \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
index 8a0696edfe..9f6116c4c4 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
@@ -14,19 +14,13 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
src/google/protobuf/port_def.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
-index 71325c387..303475232 100644
--- a/src/google/protobuf/port_def.inc
+++ b/src/google/protobuf/port_def.inc
-@@ -230,7 +230,7 @@
+@@ -255,6 +255,7 @@
#error PROTOBUF_TAILCALL was previously defined
#endif
- #if __has_cpp_attribute(clang::musttail) && \
-- !defined(__arm__) && !defined(_ARCH_PPC) && !defined(__wasm__)
-+ !defined(__arm__) && !defined(_ARCH_PPC) && !defined(__wasm__) && !defined(__mips__)
- # ifndef PROTO2_OPENSOURCE
- // Compilation fails on ARM32: b/195943306
- // Compilation fails on powerpc64le: b/187985113
---
-2.33.1
-
+ #if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \
++ !defined(__mips__) && \
+ !defined(_ARCH_PPC) && !defined(__wasm__) && \
+ !(defined(_MSC_VER) && defined(_M_IX86)) && \
+ !(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24)
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-linking-error-with-ld-gold.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-linking-error-with-ld-gold.patch
index 488c1f6ff9..2bcb138731 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-linking-error-with-ld-gold.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-linking-error-with-ld-gold.patch
@@ -1,4 +1,4 @@
-From ddb9c5147883f8b27b4205450139e4a115d9961f Mon Sep 17 00:00:00 2001
+From a91130bb95528743a3f7253f8fe945b7505047d5 Mon Sep 17 00:00:00 2001
From: Kyungjik Min <dp.min@lge.com>
Date: Mon, 28 Dec 2020 15:56:09 +0900
Subject: [PATCH] Fix linking error with ld-gold
@@ -19,6 +19,7 @@ N/A
:Issues Addressed:
[PLAT-130467] Fix build error for libgoogleassistant with latest
protobuf-3.11.4
+
---
src/libprotobuf-lite.map | 2 ++
src/libprotobuf.map | 2 ++
@@ -64,6 +65,3 @@ index 391554669..a1853ca6c 100644
local:
*;
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Lower-init-prio-for-extension-attributes.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Lower-init-prio-for-extension-attributes.patch
deleted file mode 100644
index a1200e01c1..0000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Lower-init-prio-for-extension-attributes.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 8ff34dbff1eac612326b492d0b2cb93901ad7e2b Mon Sep 17 00:00:00 2001
-From: Jani Nurminen <jani.nurminen@windriver.com>
-Date: Fri, 24 Sep 2021 09:56:11 +0200
-Subject: [PATCH] Lower init prio for extension attributes
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Added PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY in
-code generation for extension attributes.
-It has lower prio than PROTOBUF_ATTRIBUTE_INIT_PRIORITY to
-ensure that extension attributes are initialized after
-other attribute.
-This is needed in some applications to avoid segmentation fault.
-
-Reported by Karl-Herman Näslund.
-
-Signed-off-by: Jani Nurminen <jani.nurminen@windriver.com>
-
-Rebase on master
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- src/google/protobuf/compiler/cpp/cpp_extension.cc | 2 +-
- src/google/protobuf/port_def.inc | 12 ++++++++++++
- src/google/protobuf/port_undef.inc | 1 +
- 3 files changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/src/google/protobuf/compiler/cpp/cpp_extension.cc b/src/google/protobuf/compiler/cpp/cpp_extension.cc
-index 8604da5f2..984345ebe 100644
---- a/src/google/protobuf/compiler/cpp/cpp_extension.cc
-+++ b/src/google/protobuf/compiler/cpp/cpp_extension.cc
-@@ -164,7 +164,7 @@ void ExtensionGenerator::GenerateDefinition(io::Printer* printer) {
- }
-
- format(
-- "PROTOBUF_ATTRIBUTE_INIT_PRIORITY "
-+ "PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY "
- "::$proto_ns$::internal::ExtensionIdentifier< $extendee$,\n"
- " ::$proto_ns$::internal::$type_traits$, $field_type$, $packed$ >\n"
- " $scoped_name$($constant_name$, $1$);\n",
-diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
-index 7e9119112..a5117090d 100644
---- a/src/google/protobuf/port_def.inc
-+++ b/src/google/protobuf/port_def.inc
-@@ -614,6 +614,18 @@
- #define PROTOBUF_ATTRIBUTE_INIT_PRIORITY
- #endif
-
-+// Some embedded systems get a segmentation fault if extension attributes are
-+// initialized with higher or equal priority as other attributes. This gives
-+// extension attributes high priority, but lower than other attributes.
-+#ifdef PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY
-+#error PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY was previously defined
-+#endif
-+#if PROTOBUF_GNUC_MIN(3, 0) && (!defined(__APPLE__) || defined(__clang__)) && !((defined(sun) || defined(__sun)) && (defined(__SVR4) || defined(__svr4__)))
-+#define PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY __attribute__((init_priority((103))))
-+#else
-+#define PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY
-+#endif
-+
- #ifdef PROTOBUF_PRAGMA_INIT_SEG
- #error PROTOBUF_PRAGMA_INIT_SEG was previously defined
- #endif
-diff --git a/src/google/protobuf/port_undef.inc b/src/google/protobuf/port_undef.inc
-index ccc5daf56..2b28f3a31 100644
---- a/src/google/protobuf/port_undef.inc
-+++ b/src/google/protobuf/port_undef.inc
-@@ -83,6 +83,7 @@
- #undef PROTOBUF_HAVE_ATTRIBUTE_WEAK
- #undef PROTOBUF_ATTRIBUTE_NO_DESTROY
- #undef PROTOBUF_ATTRIBUTE_INIT_PRIORITY
-+#undef PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY
- #undef PROTOBUF_PRAGMA_INIT_SEG
- #undef PROTOBUF_ASAN
- #undef PROTOBUF_MSAN
---
-2.26.2
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
deleted file mode 100644
index bd3a277a3d..0000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 8515ceec5ba3e2fcdbc819b5bf10fe742d7c9d5d Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 27 Jun 2019 13:27:18 +0000
-Subject: [PATCH] Makefile.am: include descriptor.pb.cc when building
- libprotoc.so
-
-* otherwise plugin.pb.o has undefined symbol scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto
- and build with gold fails with:
- core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot-native/usr/bin/i686-oe-linux/../../libexec/i686-oe-linux/gcc/i686-oe-linux/9.1.0/ld.bfd: ./.libs/libprotoc.so: undefined reference to `descriptor_table_google_2fprotobuf_2fdescriptor_2eproto'
- core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot-native/usr/bin/i686-oe-linux/../../libexec/i686-oe-linux/gcc/i686-oe-linux/9.1.0/ld.bfd: ./.libs/libprotoc.so: undefined reference to `scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto'
-
-Upstream-Status: Pending
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
----
- src/Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index d4f11ce79..96d911746 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -323,6 +323,7 @@ libprotoc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotoc.map
- EXTRA_libprotoc_la_DEPENDENCIES = libprotoc.map
- endif
- libprotoc_la_SOURCES = \
-+ google/protobuf/descriptor.pb.cc \
- google/protobuf/compiler/code_generator.cc \
- google/protobuf/compiler/command_line_interface.cc \
- google/protobuf/compiler/cpp/cpp_enum.cc \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
index 934c981938..36c3c597ac 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
@@ -1,4 +1,4 @@
-From e5340f816aa273cfda36998466739ca0748caafb Mon Sep 17 00:00:00 2001
+From e3fa241637ab5a7fa78c0d474802134cff75f91e Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Fri, 28 Jun 2019 13:50:52 +0000
Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables, fix build
@@ -24,12 +24,13 @@ Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables, fix build
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
+
---
examples/Makefile | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/examples/Makefile b/examples/Makefile
-index e9f9635ae..b2fbe2de1 100644
+index 1c7ec8d63..85f591231 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -2,6 +2,8 @@
@@ -41,7 +42,7 @@ index e9f9635ae..b2fbe2de1 100644
all: cpp java python
cpp: add_person_cpp list_people_cpp
-@@ -41,11 +43,11 @@ protoc_middleman_dart: addressbook.proto
+@@ -40,11 +42,11 @@ protoc_middleman_dart: addressbook.proto
add_person_cpp: add_person.cc protoc_middleman
pkg-config --cflags protobuf # fails if protobuf is not installed
@@ -55,6 +56,3 @@ index e9f9635ae..b2fbe2de1 100644
add_person_dart: add_person.dart protoc_middleman_dart
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-protobuf-fix-configure-error.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-protobuf-fix-configure-error.patch
deleted file mode 100644
index a2f7a4b771..0000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-protobuf-fix-configure-error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 52959e8e01e39139d18f752e97283e45b4b7a426 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Wed, 18 Jul 2018 17:52:34 +0800
-Subject: [PATCH] protobuf: fix configure error
-
-fix below error:
-gnu-configize: 'configure.ac' or 'configure.in' is required
-
-third_party/googletest is git submodule of protobuf. Above error
-caused by missing submodule googletest.
-
-Upstream-Status: Inappropriate [oe-specific]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- configure.ac | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index aec10cf..7fbe57d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -214,7 +214,6 @@ AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory])
- # too.
- export CFLAGS
- export CXXFLAGS
--AC_CONFIG_SUBDIRS([third_party/googletest])
-
- AC_CONFIG_FILES([Makefile src/Makefile benchmarks/Makefile conformance/Makefile protobuf.pc protobuf-lite.pc])
- AC_OUTPUT
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.19.4.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.21.5.bb
index 5662330840..0bc9cbedc0 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.19.4.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.21.5.bb
@@ -10,27 +10,31 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b"
DEPENDS = "zlib"
DEPENDS:append:class-target = " protobuf-native"
-SRCREV = "22d0e265de7d2b3d2e9a00d071313502e7d4cccf"
+SRCREV = "ab840345966d0fa8e7100d771c92a73bfbadd25c"
-SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=3.19.x;protocol=https \
+SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=21.x;protocol=https \
file://run-ptest \
- file://0001-protobuf-fix-configure-error.patch \
- file://0001-Makefile.am-include-descriptor.cc-when-building-libp.patch \
file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \
file://0001-Fix-linking-error-with-ld-gold.patch \
- file://0001-Lower-init-prio-for-extension-attributes.patch \
"
SRC_URI:append:mips:toolchain-clang = " file://0001-Fix-build-on-mips-clang.patch "
SRC_URI:append:mipsel:toolchain-clang = " file://0001-Fix-build-on-mips-clang.patch "
S = "${WORKDIR}/git"
-inherit autotools-brokensep pkgconfig ptest
+inherit cmake pkgconfig ptest
PACKAGECONFIG ??= ""
+PACKAGECONFIG:class-native ?= "compiler"
PACKAGECONFIG[python] = ",,"
+PACKAGECONFIG[compiler] = "-Dprotobuf_BUILD_PROTOC_BINARIES=ON,-Dprotobuf_BUILD_PROTOC_BINARIES=OFF"
-EXTRA_OECONF += "--with-protoc=echo"
+EXTRA_OECMAKE += "\
+ -Dprotobuf_BUILD_SHARED_LIBS=ON \
+ -Dprotobuf_BUILD_LIBPROTOC=ON \
+ -Dprotobuf_BUILD_TESTS=OFF \
+ -Dprotobuf_BUILD_EXAMPLES=OFF \
+"
TEST_SRC_DIR = "examples"
LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}"
@@ -41,9 +45,15 @@ do_compile_ptest() {
# Add the location of the cross-compiled header and library files
# which haven't been installed yet.
cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ cp ${S}/${TEST_SRC_DIR}/*.cc "${B}/${TEST_SRC_DIR}/"
+ cp ${S}/${TEST_SRC_DIR}/*.proto "${B}/${TEST_SRC_DIR}/"
+ cp ${S}/${TEST_SRC_DIR}/*.py "${B}/${TEST_SRC_DIR}/"
+ cp ${S}/${TEST_SRC_DIR}/Makefile "${B}/${TEST_SRC_DIR}/"
sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
- sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ sed -e 's|Libs:|Libs: -L${B}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ # Until out-of-tree build of examples is supported, we have to use this approach
+ sed -e 's|../src/google/protobuf/.libs/timestamp.pb.o|${B}/CMakeFiles/libprotobuf.dir/src/google/protobuf/timestamp.pb.cc.o|' -i "${B}/${TEST_SRC_DIR}/Makefile"
export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}"
# Save the pkgcfg sysroot variable, and update it to nothing so
@@ -55,7 +65,7 @@ do_compile_ptest() {
# Compile the tests
for lang in ${LANG_SUPPORT}; do
- oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang}
+ oe_runmake -C "${B}/${TEST_SRC_DIR}" ${lang}
done
# Restore the pkgconfig sysroot variable
@@ -72,7 +82,7 @@ do_install_ptest() {
install "$i" "${D}/${PTEST_PATH}"
fi
done
- cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}"
+ cp "${B}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}"
cd "$olddir"
}
@@ -83,7 +93,7 @@ FILES:${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}"
RDEPENDS:${PN}-compiler = "${PN}"
RDEPENDS:${PN}-dev += "${PN}-compiler"
-RDEPENDS:${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}"
+RDEPENDS:${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-protobuf', '', d)}"
MIPS_INSTRUCTION_SET = "mips"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
index b5cd35ab3a..3dd382be1f 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
@@ -4,7 +4,8 @@ HOMEPAGE = "http://www.tortall.net/projects/yasm/"
LIC_FILES_CHKSUM = "file://COPYING;md5=a12d8903508fb6bfd49d8d82c6170dd9"
-DEPENDS += "flex-native bison-native xmlto-native"
+DEPENDS += "flex-native bison-native"
+PACKAGECONFIG[docs] = ",,xmlto-native,"
PV = "1.3.0+git${SRCPV}"
# v1.3.0
@@ -22,3 +23,8 @@ CACHED_CONFIGUREVARS = "CCLD_FOR_BUILD='${CC_FOR_BUILD}'"
BBCLASSEXTEND = "native"
PARALLEL_MAKE = ""
+
+do_configure:prepend() {
+ # Don't include $CC (which includes path to sysroot) in generated header.
+ sed -i -e "s/^echo \"\/\* generated \$ac_cv_stdint_message \*\/\" >>\$ac_stdint$"// ${S}/m4/ax_create_stdint_h.m4
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-dlt-system-Fix-buffer-overflow-detection-on-32bit-ta.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-dlt-system-Fix-buffer-overflow-detection-on-32bit-ta.patch
new file mode 100644
index 0000000000..e7e6cb3b1a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-dlt-system-Fix-buffer-overflow-detection-on-32bit-ta.patch
@@ -0,0 +1,40 @@
+From 94378458d653b1edca86435026909592cbe5e793 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 19 Aug 2022 11:12:17 +0800
+Subject: [PATCH] dlt-system: Fix buffer overflow detection on 32bit targets
+
+On 32bit target, dlt-system will termiated with error:
+dlt-system: *** buffer overflow detected ***: terminated
+
+Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/398]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ src/system/dlt-system-watchdog.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/system/dlt-system-watchdog.c b/src/system/dlt-system-watchdog.c
+index a2b01de..c0eaa12 100644
+--- a/src/system/dlt-system-watchdog.c
++++ b/src/system/dlt-system-watchdog.c
+@@ -109,8 +109,8 @@ int register_watchdog_fd(struct pollfd *pollfd, int fdcnt)
+
+ void watchdog_fd_handler(int fd)
+ {
+- long int timersElapsed = 0;
+- int r = read(fd, &timersElapsed, 8); // only needed to reset fd event
++ uint64_t timersElapsed = 0ULL;
++ int r = read(fd, &timersElapsed, 8U); // only needed to reset fd event
+ if(r < 0)
+ DLT_LOG(watchdogContext, DLT_LOG_ERROR, DLT_STRING("Could not reset systemd watchdog. Exit with: "),
+ DLT_STRING(strerror(r)));
+@@ -120,4 +120,4 @@ void watchdog_fd_handler(int fd)
+
+ DLT_LOG(watchdogContext, DLT_LOG_DEBUG, DLT_STRING("systemd watchdog waited periodic\n"));
+ }
+-#endif
+\ No newline at end of file
++#endif
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb
index 7a613bcc93..aa5ef46a9d 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb
@@ -18,6 +18,7 @@ SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=https;branch=master \
file://0002-Don-t-execute-processes-as-a-specific-user.patch \
file://0004-Modify-systemd-config-directory.patch \
file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \
+ file://0001-dlt-system-Fix-buffer-overflow-detection-on-32bit-ta.patch \
"
SRCREV = "6a3bd901d825c7206797e36ea98e10a218f5aad2"
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch
new file mode 100644
index 0000000000..b4634a2445
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch
@@ -0,0 +1,71 @@
+From 6a704ab7bf69cd5d6970b3a7d3ae7798b26027c1 Mon Sep 17 00:00:00 2001
+From: Paulo Neves <ptsneves@gmail.com>
+Date: Thu, 28 Jul 2022 11:28:41 +0200
+Subject: [PATCH] CMakeLists.txt Do not use private makefile $< target
+
+$< is a private detail from the Makefile generated by CMakefile and
+are not under control or to be used at the CMakeLists level. In 3.20
+that private generation changed pre-requisite targets[1] and now logs
+contain the path compiler_depend.ts instead of the actual file.
+
+Upstream status: Pending [1]
+[1] https://github.com/fluent/fluent-bit/issues/5492
+---
+ CMakeLists.txt | 6 +-----
+ lib/chunkio/CMakeLists.txt | 7 +------
+ lib/cmetrics/CMakeLists.txt | 7 +------
+ 3 files changed, 3 insertions(+), 17 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3dba5a8..d94b988 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,11 +46,7 @@ else()
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+ endif()
+
+-if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'")
+-else()
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__")
+-endif()
++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__")
+
+ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7l")
+ set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -latomic")
+diff --git a/lib/chunkio/CMakeLists.txt b/lib/chunkio/CMakeLists.txt
+index bbe1f39..809ea93 100644
+--- a/lib/chunkio/CMakeLists.txt
++++ b/lib/chunkio/CMakeLists.txt
+@@ -14,12 +14,7 @@ else()
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall ")
+ endif()
+
+-# Set __FILENAME__
+-if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'")
+-else()
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__")
+-endif()
++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__")
+
+ include(cmake/macros.cmake)
+
+diff --git a/lib/cmetrics/CMakeLists.txt b/lib/cmetrics/CMakeLists.txt
+index 60e8774..e3d6149 100644
+--- a/lib/cmetrics/CMakeLists.txt
++++ b/lib/cmetrics/CMakeLists.txt
+@@ -34,12 +34,7 @@ set(CMT_VERSION_MINOR 3)
+ set(CMT_VERSION_PATCH 5)
+ set(CMT_VERSION_STR "${CMT_VERSION_MAJOR}.${CMT_VERSION_MINOR}.${CMT_VERSION_PATCH}")
+
+-# Define __FILENAME__ consistently across Operating Systems
+-if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'")
+-else()
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__")
+-endif()
++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__")
+
+ # Configuration options
+ option(CMT_DEV "Enable development mode" No)
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch
deleted file mode 100644
index bf4cda08f0..0000000000
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 5571f949fa2048b79c197b5b10a11ecb1891cbe9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 23 Apr 2022 08:24:34 -0700
-Subject: [PATCH] Control sytemd unit install location with SYSTEM_DIR
-
-This helps building when usrmerge is on
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/CMakeLists.txt | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -323,7 +323,11 @@ if(FLB_BINARY)
- "${PROJECT_SOURCE_DIR}/init/systemd.in"
- ${FLB_SYSTEMD_SCRIPT}
- )
-- install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
-+ if(SYSTEMD_DIR)
-+ install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION ${SYSTEMD_DIR})
-+ else()
-+ install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
-+ endif()
- install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR})
- elseif(FLB_UPSTART)
- set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Revert-Remove-unused-variable-in-mpi_mul_hlp.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Revert-Remove-unused-variable-in-mpi_mul_hlp.patch
new file mode 100644
index 0000000000..8a165dc0d2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Revert-Remove-unused-variable-in-mpi_mul_hlp.patch
@@ -0,0 +1,42 @@
+From af6cefba8c2675f58b75f93785337ab23054568c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 18 Aug 2022 23:35:23 -0700
+Subject: [PATCH] Revert Remove unused variable in mpi_mul_hlp()
+
+This reverts
+https://github.com/Mbed-TLS/mbedtls/commit/e7f14a3090e6595eb3c8d821704ad9c90f6d3712
+
+Which helps in compiling the x86 asm code.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/mbedtls-2.28.0/library/bignum.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/lib/mbedtls-2.28.0/library/bignum.c b/lib/mbedtls-2.28.0/library/bignum.c
+index 9c256ae..62e7f76 100644
+--- a/lib/mbedtls-2.28.0/library/bignum.c
++++ b/lib/mbedtls-2.28.0/library/bignum.c
+@@ -1392,7 +1392,7 @@ void mpi_mul_hlp( size_t i,
+ mbedtls_mpi_uint *d,
+ mbedtls_mpi_uint b )
+ {
+- mbedtls_mpi_uint c = 0;
++ mbedtls_mpi_uint c = 0, t = 0;
+
+ #if defined(MULADDC_HUIT)
+ for( ; i >= 8; i -= 8 )
+@@ -1443,6 +1443,8 @@ void mpi_mul_hlp( size_t i,
+ }
+ #endif /* MULADDC_HUIT */
+
++ t++;
++
+ while( c != 0 )
+ {
+ *d += c; c = ( *d < c ); d++;
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Use-posix-strerror_r-with-musl.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Use-posix-strerror_r-with-musl.patch
new file mode 100644
index 0000000000..8d89e4df35
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Use-posix-strerror_r-with-musl.patch
@@ -0,0 +1,34 @@
+From f645128082117a0152a95b3dccd869a184b7513f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 01:23:48 -0700
+Subject: [PATCH 1/2] Use posix strerror_r with musl
+
+Default with glibc is GNU extention of strerror_r
+where as musl uses posix variant, call that out
+
+Upstream-Status: Inappropriate [Need wider porting beyond linux/musl/glibc]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/flb_network.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/flb_network.c b/src/flb_network.c
+index 992eb1d..5d7a337 100644
+--- a/src/flb_network.c
++++ b/src/flb_network.c
+@@ -506,7 +506,12 @@ static int net_connect_async(int fd,
+ }
+
+ /* Connection is broken, not much to do here */
++#ifdef __GLIBC__
+ str = strerror_r(error, so_error_buf, sizeof(so_error_buf));
++#else
++ strerror_r(error, so_error_buf, sizeof(so_error_buf));
++ str = so_error_buf;
++#endif
+ flb_error("[net] TCP connection failed: %s:%i (%s)",
+ u->tcp_host, u->tcp_port, str);
+ return -1;
+--
+2.37.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch
deleted file mode 100644
index a6ff5991c2..0000000000
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 3d7390c89c2205d1eed0384be0bb65adb675e60d Mon Sep 17 00:00:00 2001
-From: Ramon Fried <ramon@neureality.ai>
-Date: Tue, 9 Feb 2021 18:59:59 +0200
-Subject: [PATCH] bin: fix SIGSEGV caused by using flb_free instead of
- mk_mem_free
-
-Upstream-Status: Accepted
-Signed-off-by: Ramon Fried <ramon@neureality.ai>
----
- src/fluent-bit.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/fluent-bit.c b/src/fluent-bit.c
-index c0c73b4..989cfde 100644
---- a/src/fluent-bit.c
-+++ b/src/fluent-bit.c
-@@ -289,7 +289,7 @@ static int input_set_property(struct flb_input_instance *in, char *kv)
- in->p->name, key);
- }
-
-- flb_free(key);
-+ mk_mem_free(key);
- return ret;
- }
-
-@@ -314,7 +314,7 @@ static int output_set_property(struct flb_output_instance *out, char *kv)
- }
-
- ret = flb_output_set_property(out, key, value);
-- flb_free(key);
-+ mk_mem_free(key);
- return ret;
- }
-
-@@ -340,7 +340,7 @@ static int filter_set_property(struct flb_filter_instance *filter, char *kv)
- }
-
- ret = flb_filter_set_property(filter, key, value);
-- flb_free(key);
-+ mk_mem_free(key);
- return ret;
- }
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch
new file mode 100644
index 0000000000..e70664031b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch
@@ -0,0 +1,28 @@
+From 0d22024c5defba7007e3e633753790e20209c6f6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 09:59:41 -0700
+Subject: [PATCH 1/5] monkey: Define _GNU_SOURCE for memmem API check
+
+This define is necessary to get this API on glibc based systems
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/monkey/mk_core/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/monkey/mk_core/CMakeLists.txt b/lib/monkey/mk_core/CMakeLists.txt
+index 0e74f8d..739fff3 100644
+--- a/lib/monkey/mk_core/CMakeLists.txt
++++ b/lib/monkey/mk_core/CMakeLists.txt
+@@ -62,6 +62,7 @@ set(src "${src}"
+ )
+
+ check_c_source_compiles("
++ #define _GNU_SOURCE
+ #include <string.h>
+ int main() {
+ char haystack[] = \"1234\";
+--
+2.37.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch
deleted file mode 100644
index 1f36c657ed..0000000000
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From be4032079c931704f52e29f5da5c01cde24ac842 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 16 Jan 2020 10:44:58 -0800
-Subject: [PATCH] ppc: Fix signature for co_create API
-
-Upstream-Status: Submitted [https://github.com/fluent/fluent-bit/pull/1886]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/flb_libco/ppc.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/lib/flb_libco/ppc.c b/lib/flb_libco/ppc.c
-index e6536d56..533256b3 100644
---- a/lib/flb_libco/ppc.c
-+++ b/lib/flb_libco/ppc.c
-@@ -279,7 +279,9 @@ static uint32_t* co_create_(unsigned size, uintptr_t entry) {
- return t;
- }
-
--cothread_t co_create(unsigned int size, void (*entry_)(void)) {
-+cothread_t co_create(unsigned int size, void (*entry_)(void),
-+ size_t *out_size) {
-+
- uintptr_t entry = (uintptr_t)entry_;
- uint32_t* t = 0;
-
-@@ -325,7 +327,7 @@ cothread_t co_create(unsigned int size, void (*entry_)(void)) {
- t[10] = (uint32_t)(sp >> shift >> shift);
- t[11] = (uint32_t)sp;
- }
--
-+ *out_size = size;
- return t;
- }
-
---
-2.25.0
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-chunkio-Link-with-fts-library-with-musl.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-chunkio-Link-with-fts-library-with-musl.patch
new file mode 100644
index 0000000000..4ffb20d9ca
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-chunkio-Link-with-fts-library-with-musl.patch
@@ -0,0 +1,28 @@
+From 63dbbad5978e5f5b0e7d42614999cb6b4ebcce10 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 01:27:16 -0700
+Subject: [PATCH 2/2] chunkio: Link with fts library with musl
+
+Fixes
+cio_utils.c:(.text+0x64): undefined reference to `fts_read'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/chunkio/src/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/chunkio/src/CMakeLists.txt b/lib/chunkio/src/CMakeLists.txt
+index a4fc2d3..4244eb8 100644
+--- a/lib/chunkio/src/CMakeLists.txt
++++ b/lib/chunkio/src/CMakeLists.txt
+@@ -13,6 +13,7 @@ set(src
+ )
+
+ set(libs cio-crc32)
++set(libs ${libs} fts)
+
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
+ set(src
+--
+2.37.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch
new file mode 100644
index 0000000000..4358b2a512
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch
@@ -0,0 +1,26 @@
+From 71dab751a27a2e582b711de22873065dd28f4b65 Mon Sep 17 00:00:00 2001
+From: Paulo Neves <ptsneves@gmail.com>
+Date: Thu, 28 Jul 2022 11:42:31 +0200
+Subject: [PATCH] flb_info.h.in: Do not hardcode compilation directories
+
+Including the source dir in the header makes the header not
+reproducible and contaminates it with host builder paths. Instead
+make it take CMAKE_DEBUG_SRCDIR that can be set to a known
+reproducible value
+---
+ include/fluent-bit/flb_info.h.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/fluent-bit/flb_info.h.in b/include/fluent-bit/flb_info.h.in
+index a89485c..2579afc 100644
+--- a/include/fluent-bit/flb_info.h.in
++++ b/include/fluent-bit/flb_info.h.in
+@@ -23,7 +23,7 @@
+ #define STR_HELPER(s) #s
+ #define STR(s) STR_HELPER(s)
+
+-#define FLB_SOURCE_DIR "@CMAKE_SOURCE_DIR@"
++#define FLB_SOURCE_DIR "@CMAKE_DEBUG_SRCDIR@"
+
+ /* General flags set by CMakeLists.txt */
+ @FLB_BUILD_FLAGS@
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-mbedtls-Remove-unused-variable.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-mbedtls-Remove-unused-variable.patch
new file mode 100644
index 0000000000..d4451bcaef
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-mbedtls-Remove-unused-variable.patch
@@ -0,0 +1,38 @@
+From c7b969d1a2a6b61bd179214ee2516b7b6cd55b27 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 11:21:57 -0700
+Subject: [PATCH 2/5] mbedtls: Remove unused variable
+
+Fixes
+library/bignum.c:1395:29: error: variable 't' set but not used [-Werror,-Wunused-but-set-variable]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/mbedtls-2.28.0/library/bignum.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/lib/mbedtls-2.28.0/library/bignum.c b/lib/mbedtls-2.28.0/library/bignum.c
+index 62e7f76..9c256ae 100644
+--- a/lib/mbedtls-2.28.0/library/bignum.c
++++ b/lib/mbedtls-2.28.0/library/bignum.c
+@@ -1392,7 +1392,7 @@ void mpi_mul_hlp( size_t i,
+ mbedtls_mpi_uint *d,
+ mbedtls_mpi_uint b )
+ {
+- mbedtls_mpi_uint c = 0, t = 0;
++ mbedtls_mpi_uint c = 0;
+
+ #if defined(MULADDC_HUIT)
+ for( ; i >= 8; i -= 8 )
+@@ -1443,8 +1443,6 @@ void mpi_mul_hlp( size_t i,
+ }
+ #endif /* MULADDC_HUIT */
+
+- t++;
+-
+ while( c != 0 )
+ {
+ *d += c; c = ( *d < c ); d++;
+--
+2.37.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch
deleted file mode 100644
index 91675dfc6d..0000000000
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 7c3b1dfb174312594d3317c24ed71c60398f653f Mon Sep 17 00:00:00 2001
-From: Ramon Fried <ramon@neureality.ai>
-Date: Wed, 10 Feb 2021 04:23:36 +0200
-Subject: [PATCH] parser: Fix SIGSEGV caused by using flb_free instead of
- mk_mem_free
-
-Upstream-Status: Backport (fix only for 1.3.5)
-Signed-off-by: Ramon Fried <ramon@neureality.ai>
----
- src/flb_parser.c | 28 ++++++++++++++--------------
- 1 file changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/src/flb_parser.c b/src/flb_parser.c
-index d35c568..7c20e12 100644
---- a/src/flb_parser.c
-+++ b/src/flb_parser.c
-@@ -490,7 +490,7 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
- MK_RCONF_STR);
- if (str) {
- time_keep = flb_utils_bool(str);
-- flb_free(str);
-+ mk_mem_free(str);
- }
- else {
- time_keep = FLB_FALSE;
-@@ -522,23 +522,23 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
-
- flb_debug("[parser] new parser registered: %s", name);
-
-- flb_free(name);
-- flb_free(format);
-+ mk_mem_free(name);
-+ mk_mem_free(format);
-
- if (regex) {
-- flb_free(regex);
-+ mk_mem_free(regex);
- }
- if (time_fmt) {
-- flb_free(time_fmt);
-+ mk_mem_free(time_fmt);
- }
- if (time_key) {
-- flb_free(time_key);
-+ mk_mem_free(time_key);
- }
- if (time_offset) {
-- flb_free(time_offset);
-+ mk_mem_free(time_offset);
- }
- if (types_str) {
-- flb_free(types_str);
-+ mk_mem_free(types_str);
- }
-
- decoders = NULL;
-@@ -548,19 +548,19 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
- return 0;
-
- fconf_error:
-- flb_free(name);
-- flb_free(format);
-+ mk_mem_free(name);
-+ mk_mem_free(format);
- if (regex) {
-- flb_free(regex);
-+ mk_mem_free(regex);
- }
- if (time_fmt) {
-- flb_free(time_fmt);
-+ mk_mem_free(time_fmt);
- }
- if (time_key) {
-- flb_free(time_key);
-+ mk_mem_free(time_key);
- }
- if (types_str) {
-- flb_free(types_str);
-+ mk_mem_free(types_str);
- }
- if (decoders) {
- flb_parser_decoder_list_destroy(decoders);
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Disable-documentation-warning-as-error-with-.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Disable-documentation-warning-as-error-with-.patch
new file mode 100644
index 0000000000..2d7b4efda7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Disable-documentation-warning-as-error-with-.patch
@@ -0,0 +1,30 @@
+From 2d12629f768d2459b1fc8a8ca0c38024d84bc195 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 11:32:12 -0700
+Subject: [PATCH 3/5] mbedtls: Disable documentation warning as error with
+ clang
+
+There are shortcomings with doxygen info which clang-15+ flags, dont
+treat them as errors
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/mbedtls-2.28.0/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/mbedtls-2.28.0/CMakeLists.txt b/lib/mbedtls-2.28.0/CMakeLists.txt
+index b33c088..c5f886f 100644
+--- a/lib/mbedtls-2.28.0/CMakeLists.txt
++++ b/lib/mbedtls-2.28.0/CMakeLists.txt
+@@ -212,7 +212,7 @@ if(CMAKE_COMPILER_IS_GNU)
+ endif(CMAKE_COMPILER_IS_GNU)
+
+ if(CMAKE_COMPILER_IS_CLANG)
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wno-error=documentation")
+ set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage")
+ set(CMAKE_C_FLAGS_ASAN "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O3")
+ set(CMAKE_C_FLAGS_ASANDBG "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls")
+--
+2.37.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Do-not-overwrite-CFLAGS.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Do-not-overwrite-CFLAGS.patch
new file mode 100644
index 0000000000..af31b436db
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Do-not-overwrite-CFLAGS.patch
@@ -0,0 +1,35 @@
+From 8486b912281ae85db0c9fc05bb546f16872e114c Mon Sep 17 00:00:00 2001
+From: Paulo Neves <ptsneves@gmail.com>
+Date: Thu, 28 Jul 2022 14:37:18 +0200
+Subject: [PATCH] mbedtls: Do not overwrite CFLAGS
+
+bitbake passes CFLAGS that are often in conflict with the ones set
+in mbedtls' CMakeLists.txt. Such conflicts are the inability to use
+FORTIFY_SOURCE=2 except in release mode
+
+Upstream status: Innapropriate due to fluent-bit having it's own Release
+flags that also overwrite bitbake ones.
+---
+ lib/mbedtls-2.28.0/CMakeLists.txt | 2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/lib/mbedtls-2.28.0/CMakeLists.txt
++++ b/lib/mbedtls-2.28.0/CMakeLists.txt
+@@ -204,8 +204,6 @@ if(CMAKE_COMPILER_IS_GNU)
+ if (GCC_VERSION VERSION_GREATER 7.0 OR GCC_VERSION VERSION_EQUAL 7.0)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wformat-overflow=2 -Wformat-truncation")
+ endif()
+- set(CMAKE_C_FLAGS_RELEASE "-O2")
+- set(CMAKE_C_FLAGS_DEBUG "-O0 -g3")
+ set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage")
+ set(CMAKE_C_FLAGS_ASAN "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O3")
+ set(CMAKE_C_FLAGS_ASANDBG "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls")
+@@ -215,8 +213,6 @@ endif(CMAKE_COMPILER_IS_GNU)
+
+ if(CMAKE_COMPILER_IS_CLANG)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral")
+- set(CMAKE_C_FLAGS_RELEASE "-O2")
+- set(CMAKE_C_FLAGS_DEBUG "-O0 -g3")
+ set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage")
+ set(CMAKE_C_FLAGS_ASAN "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O3")
+ set(CMAKE_C_FLAGS_ASANDBG "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls")
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch
new file mode 100644
index 0000000000..224b8ccf1b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch
@@ -0,0 +1,43 @@
+From a797b79483940ed4adcaa5fe2c40dd0487c7c2c7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 11:39:08 -0700
+Subject: [PATCH 4/5] Use correct type to store return from flb_kv_item_create
+
+Fix
+error: incompatible pointer to integer conversion assigning to 'int' from 'struct flb_kv *'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/out_stackdriver/stackdriver_conf.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/out_stackdriver/stackdriver_conf.c b/plugins/out_stackdriver/stackdriver_conf.c
+index a9a8eb0..e4f969e 100644
+--- a/plugins/out_stackdriver/stackdriver_conf.c
++++ b/plugins/out_stackdriver/stackdriver_conf.c
+@@ -176,12 +176,12 @@ static int read_credentials_file(const char *cred_file, struct flb_stackdriver *
+
+ static int parse_configuration_labels(struct flb_stackdriver *ctx)
+ {
+- int ret;
+ char *p;
+ flb_sds_t key;
+ flb_sds_t val;
+ struct mk_list *head;
+ struct flb_slist_entry *entry;
++ struct flb_kv *ret;
+ msgpack_object_kv *kv = NULL;
+
+ if (ctx->labels) {
+@@ -216,7 +216,7 @@ static int parse_configuration_labels(struct flb_stackdriver *ctx)
+ flb_sds_destroy(key);
+ flb_sds_destroy(val);
+
+- if (ret == -1) {
++ if (!ret) {
+ return -1;
+ }
+ }
+--
+2.37.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0004-build-Make-systemd-init-systemd-detection-contingent.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0004-build-Make-systemd-init-systemd-detection-contingent.patch
new file mode 100644
index 0000000000..9d4d950d15
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0004-build-Make-systemd-init-systemd-detection-contingent.patch
@@ -0,0 +1,64 @@
+From 7a792624925d46690c1f07fe4b194b5f4c510db6 Mon Sep 17 00:00:00 2001
+From: Paulo Neves <ptsneves@gmail.com>
+Date: Tue, 2 Aug 2022 09:57:05 +0200
+Subject: [PATCH 1/1] build: Make systemd init systemd detection contingent on
+ pkgconfig
+
+Use pkg-config to get systemd.pc variables and systemdunitdir. Those
+variable ensure that .service files are installed in the correct paths
+and only when systemd is detected.
+
+Upstream Status: Pending [1]
+[1] https://github.com/fluent/fluent-bit/pull/5818
+
+---
+ cmake/FindJournald.cmake | 4 ++++
+ src/CMakeLists.txt | 4 ++--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/FindJournald.cmake b/cmake/FindJournald.cmake
+index f5a3a832b..9e6657a29 100644
+--- a/cmake/FindJournald.cmake
++++ b/cmake/FindJournald.cmake
+@@ -5,6 +5,8 @@
+ # JOURNALD_INCLUDE_DIR - the Journald include directory
+ # JOURNALD_LIBRARIES - Link these to use Journald
+ # JOURNALD_DEFINITIONS - Compiler switches required for using Journald
++# SYSTEMD_UNITDIR - The systemd units' directory
++#
+ # Redistribution and use is allowed according to the terms of the BSD license.
+ # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+ #
+@@ -16,7 +18,9 @@
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ find_package(PkgConfig)
+ pkg_check_modules(PC_JOURNALD QUIET systemd)
++pkg_get_variable(PC_SYSTEMD_UNITDIR systemd "systemdsystemunitdir")
+
++set(SYSTEMD_UNITDIR ${PC_SYSTEMD_UNITDIR})
+ set(JOURNALD_FOUND ${PC_JOURNALD_FOUND})
+ set(JOURNALD_DEFINITIONS ${PC_JOURNALD_CFLAGS_OTHER})
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 522bbf9bd..30743d8d6 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -480,13 +480,13 @@ if(FLB_BINARY)
+ endif()
+
+ # Detect init system, install upstart, systemd or init.d script
+- if(IS_DIRECTORY /lib/systemd/system)
++ if(DEFINED SYSTEMD_UNITDIR)
+ set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service")
+ configure_file(
+ "${PROJECT_SOURCE_DIR}/init/systemd.in"
+ ${FLB_SYSTEMD_SCRIPT}
+ )
+- install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION /lib/systemd/system)
++ install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR})
+ install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary)
+ elseif(IS_DIRECTORY /usr/share/upstart)
+ set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0005-stackdriver-Fix-return-type-mismatch.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0005-stackdriver-Fix-return-type-mismatch.patch
new file mode 100644
index 0000000000..cdbbb6b2c1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0005-stackdriver-Fix-return-type-mismatch.patch
@@ -0,0 +1,31 @@
+From 27f0bd5a3339612e03112e6b490900a9fabc3337 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 11:44:25 -0700
+Subject: [PATCH 5/5] stackdriver: Fix return type mismatch
+
+Fix
+error: incompatible integer to pointer conversion returning 'int' from a function with result type 'flb_sds_t' (aka 'char *') [-Wint-conversion]
+ return -1;
+ ^~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/out_stackdriver/stackdriver.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/out_stackdriver/stackdriver.c b/plugins/out_stackdriver/stackdriver.c
+index ae66bf2..e01755c 100644
+--- a/plugins/out_stackdriver/stackdriver.c
++++ b/plugins/out_stackdriver/stackdriver.c
+@@ -2033,7 +2033,7 @@ static flb_sds_t stackdriver_format(struct flb_stackdriver *ctx,
+ flb_sds_destroy(operation_producer);
+ msgpack_unpacked_destroy(&result);
+ msgpack_sbuffer_destroy(&mp_sbuf);
+- return -1;
++ return NULL;
+ }
+
+ /* Number of parsed labels */
+--
+2.37.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0006-monkey-Fix-TLS-detection-testcase.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0006-monkey-Fix-TLS-detection-testcase.patch
new file mode 100644
index 0000000000..eef1a56ba7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0006-monkey-Fix-TLS-detection-testcase.patch
@@ -0,0 +1,34 @@
+From f88d9b82e8bd8ae38fba666b5825ffb41769f81a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 12:25:22 -0700
+Subject: [PATCH] monkey: Fix TLS detection testcase
+
+Clang15 errors out on compiling the check and disables TLS
+
+Fixes errors like
+
+error: call to undeclared function '__tls_get_addr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+ __tls_get_addr(0);
+ ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/monkey/CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/lib/monkey/CMakeLists.txt b/lib/monkey/CMakeLists.txt
+index 15e62e8..96ac2bd 100644
+--- a/lib/monkey/CMakeLists.txt
++++ b/lib/monkey/CMakeLists.txt
+@@ -178,6 +178,8 @@ endif()
+ # Use old Pthread TLS
+ if(NOT MK_PTHREAD_TLS)
+ check_c_source_compiles("
++ #include <sys/types.h>
++ extern void *__tls_get_addr(size_t *v);
+ __thread int a;
+ int main() {
+ __tls_get_addr(0);
+--
+2.37.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch
deleted file mode 100644
index 8ffc3be3ef..0000000000
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-help complier to use intrinsics, clang in few cases e.g. aarch64 can not
-and then requires linking with libm, its the only function needed from libm then
-its good to avoid needing it.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/include/fluent-bit/stream_processor/flb_sp_timeseries.h
-+++ b/include/fluent-bit/stream_processor/flb_sp_timeseries.h
-@@ -207,7 +207,7 @@ void cb_forecast_calc(struct timeseries
- result = b0 + b1 * (val->f64 + *forecast->latest_x);
- break;
- default:
-- result = nan("");
-+ result = __builtin_nan("");
- break;
- }
-
-@@ -283,7 +283,7 @@ void cb_forecast_r_calc(struct timeserie
- result = ((val->i64 - b0) / b1) - *forecast->latest_x;
- break;
- default:
-- result = nan("");
-+ result = __builtin_nan("");
- break;
- }
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
deleted file mode 100644
index d3822fc8da..0000000000
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Define CMake variables to indicate init system for target
-incase of cross compile, detecting systemd support based on
-host directory structure is not right thing to do
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.kheem@gmail.com>
-
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -317,7 +317,7 @@ if(FLB_BINARY)
- install(TARGETS fluent-bit-bin RUNTIME DESTINATION ${FLB_INSTALL_BINDIR})
-
- # Detect init system, install upstart, systemd or init.d script
-- if(IS_DIRECTORY /lib/systemd/system)
-+ if(FLB_SYSTEMD)
- set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service")
- configure_file(
- "${PROJECT_SOURCE_DIR}/init/systemd.in"
-@@ -325,7 +325,7 @@ if(FLB_BINARY)
- )
- install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
- install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR})
-- elseif(IS_DIRECTORY /usr/share/upstart)
-+ elseif(FLB_UPSTART)
- set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
- configure_file(
- "${PROJECT_SOURCE_DIR}/init/upstart.in"
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -70,6 +70,8 @@ option(FLB_RECORD_ACCESSOR "Enable re
- option(FLB_SYSTEM_STRPTIME "Use strptime in system libc" Yes)
- option(FLB_STATIC_CONF "Build binary using static configuration")
- option(FLB_STREAM_PROCESSOR "Enable Stream Processor" Yes)
-+option(FLB_SYSTEMD "Enable systemd init system" No)
-+option(FLB_UPSTART "Enable upstart init system" No)
- option(FLB_CORO_STACK_SIZE "Set coroutine stack size")
-
- # Metrics: Experimental Feature, disabled by default on 0.12 series
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
deleted file mode 100644
index 67b3397a6f..0000000000
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Add --with-jemalloc-prefix=je_ so it compiles on musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -523,7 +523,7 @@ if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME}
- # Link to Jemalloc as an external dependency
- ExternalProject_Add(jemalloc
- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1
-- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1/configure ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
-+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1/configure ${AUTOCONF_HOST_OPT} --with-jemalloc-prefix=je_ --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
- CFLAGS=-std=gnu99\ -Wall\ -pipe\ -g3\ -O3\ -funroll-loops
- BUILD_COMMAND $(MAKE)
- INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
deleted file mode 100644
index b231cc2878..0000000000
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-SUMMARY = "Fast Log processor and Forwarder"
-DESCRIPTION = "Fluent Bit is a data collector, processor and \
-forwarder for Linux. It supports several input sources and \
-backends (destinations) for your data. \
-"
-
-HOMEPAGE = "http://fluentbit.io"
-BUGTRACKER = "https://github.com/fluent/fluent-bit/issues"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
-SECTION = "net"
-
-SRC_URI = "http://fluentbit.io/releases/1.3/fluent-bit-${PV}.tar.gz \
- file://jemalloc.patch \
- file://cross-build-init-system-detection.patch \
- file://builtin-nan.patch \
- file://0001-ppc-Fix-signature-for-co_create-API.patch \
- file://0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch \
- file://0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch \
- file://0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch \
- "
-SRC_URI[md5sum] = "6eae6dfd0a874e5dd270c36e9c68f747"
-SRC_URI[sha256sum] = "e037c76c89269c8dc4027a08e442fefd2751b0f1e0f9c38f9a4b12d781a9c789"
-
-S = "${WORKDIR}/fluent-bit-${PV}"
-DEPENDS = "zlib bison-native flex-native"
-DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-DEPENDS:append:libc-musl = " fts "
-
-INSANE_SKIP:${PN}-dev += "dev-elf"
-
-LTO = ""
-
-# Use CMake 'Unix Makefiles' generator
-OECMAKE_GENERATOR ?= "Unix Makefiles"
-
-# Fluent Bit build options
-# ========================
-
-# Host related setup
-EXTRA_OECMAKE += "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1"
-
-# Disable LuaJIT and filter_lua support
-EXTRA_OECMAKE += "-DFLB_LUAJIT=Off -DFLB_FILTER_LUA=Off "
-
-# Disable Library and examples
-EXTRA_OECMAKE += "-DFLB_SHARED_LIB=Off -DFLB_EXAMPLES=Off "
-
-# Enable systemd iff systemd is in DISTRO_FEATURES
-EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES','systemd','-DFLB_SYSTEMD=On -DSYSTEMD_DIR=${systemd_system_unitdir}','-DFLB_SYSTEMD=Off',d)}"
-
-EXTRA_OECMAKE:append:riscv64 = " -DFLB_DEPS='atomic'"
-EXTRA_OECMAKE:append:riscv32 = " -DFLB_DEPS='atomic'"
-
-# Kafka Output plugin (disabled by default): note that when
-# enabling Kafka output plugin, the backend library librdkafka
-# requires 'openssl' as a dependency.
-#
-# DEPENDS += "openssl "
-# EXTRA_OECMAKE += "-DFLB_OUT_KAFKA=On "
-
-inherit cmake systemd
-
-CFLAGS += "-fcommon"
-
-SYSTEMD_SERVICE:${PN} = "td-agent-bit.service"
-TARGET_CC_ARCH:append = " ${SELECTED_OPTIMIZATION}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb
new file mode 100644
index 0000000000..a1f879488d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb
@@ -0,0 +1,90 @@
+SUMMARY = "Fast Log processor and Forwarder"
+DESCRIPTION = "Fluent Bit is a data collector, processor and \
+forwarder for Linux. It supports several input sources and \
+backends (destinations) for your data. \
+"
+
+HOMEPAGE = "http://fluentbit.io"
+BUGTRACKER = "https://github.com/fluent/fluent-bit/issues"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
+SECTION = "net"
+
+SRC_URI = "https://releases.fluentbit.io/1.9/source-${PV}.tar.gz;subdir=fluent-bit-${PV} \
+ file://0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch \
+ file://0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch \
+ file://0003-mbedtls-Do-not-overwrite-CFLAGS.patch \
+ file://0004-build-Make-systemd-init-systemd-detection-contingent.patch \
+ file://0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch \
+ file://0002-mbedtls-Remove-unused-variable.patch \
+ file://0003-mbedtls-Disable-documentation-warning-as-error-with-.patch \
+ file://0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch \
+ file://0005-stackdriver-Fix-return-type-mismatch.patch \
+ file://0006-monkey-Fix-TLS-detection-testcase.patch \
+ file://0001-Revert-Remove-unused-variable-in-mpi_mul_hlp.patch \
+ "
+SRC_URI:append:libc-musl = "\
+ file://0001-Use-posix-strerror_r-with-musl.patch \
+ file://0002-chunkio-Link-with-fts-library-with-musl.patch \
+ "
+SRC_URI[sha256sum] = "8ca2ac081d7eee717483c06608adcb5e3d5373e182ad87dba21a23f8278c6540"
+S = "${WORKDIR}/fluent-bit-${PV}"
+
+DEPENDS = "zlib bison-native flex-native openssl"
+DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+PACKAGECONFIG[yaml] = "-DFLB_CONFIG_YAML=On,-DFLB_CONFIG_YAML=Off,libyaml"
+PACKAGECONFIG[kafka] = "-DFLB_OUT_KAFKA=On,-DFLB_OUT_KAFKA=Off,librdkafka"
+PACKAGECONFIG[examples] = "-DFLB_EXAMPLES=On,-DFLB_EXAMPLES=Off"
+PACKAGECONFIG[jemalloc] = "-DFLB_JEMALLOC=On,-DFLB_JEMALLOC=Off,jemalloc"
+#TODO add more fluentbit options to PACKAGECONFIG[]
+
+DEPENDS:append:libc-musl = " fts "
+
+# flex hardcodes the input file in #line directives leading to TMPDIR contamination of debug sources.
+do_compile:append() {
+ find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${TMPDIR}|/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/|g'
+}
+
+PACKAGECONFIG ?= "yaml"
+
+LTO = ""
+
+# Use CMake 'Unix Makefiles' generator
+OECMAKE_GENERATOR ?= "Unix Makefiles"
+
+# Fluent Bit build options
+# ========================
+
+# Host related setup
+EXTRA_OECMAKE += "-DGNU_HOST=${HOST_SYS} -DFLB_TD=1"
+
+# Disable LuaJIT and filter_lua support
+EXTRA_OECMAKE += "-DFLB_LUAJIT=Off -DFLB_FILTER_LUA=Off "
+
+# Disable Library and examples
+EXTRA_OECMAKE += "-DFLB_SHARED_LIB=Off"
+
+# Enable systemd iff systemd is in DISTRO_FEATURES
+EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES','systemd','-DFLB_SYSTEMD=On','-DFLB_SYSTEMD=Off',d)}"
+
+# Enable release builds
+EXTRA_OECMAKE += "-DFLB_RELEASE=On"
+
+# musl needs these options
+EXTRA_OECMAKE:append:libc-musl = ' -DFLB_JEMALLOC_OPTIONS="--with-jemalloc-prefix=je_ --with-lg-quantum=3" -DFLB_CORO_STACK_SIZE=24576'
+
+EXTRA_OECMAKE:append:riscv64 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic"
+EXTRA_OECMAKE:append:riscv32 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic"
+EXTRA_OECMAKE:append:mips = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic"
+EXTRA_OECMAKE:append:x86 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic"
+
+CFLAGS:append:x86 = " -DMBEDTLS_HAVE_SSE2"
+
+inherit cmake systemd pkgconfig
+
+SYSTEMD_SERVICE:${PN} = "td-agent-bit.service"
+
+EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/"
+TARGET_CC_ARCH += " ${SELECTED_OPTIMIZATION}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.7.bb b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.9.bb
index 00377bc1b8..ecb0dbe73f 100644
--- a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.7.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.9.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4a26952467ef79a7efca4a9cf52d417b"
SRC_URI = "https://github.com/ice-wm/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.lz \
file://0001-configure.ac-skip-running-test-program-when-cross-co.patch \
"
-SRC_URI[sha256sum] = "c25f78e3f3ad49fbebc715691689d0ad1fda46b2e2537ad69e3332a54b81c72a"
+SRC_URI[sha256sum] = "af7bab3472189febf50753eaecfac586901419d282cbcbff92e860d4b74894b3"
UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb
new file mode 100644
index 0000000000..82f3e4d0c9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb
@@ -0,0 +1,37 @@
+SUMMARY = "A library to handle Apple Property List format whereas it's binary or XML"
+HOMEPAGE = "https://github.com/libimobiledevice/libplist"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
+ file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7"
+
+DEPENDS = "libxml2 glib-2.0 swig python3"
+
+inherit autotools pkgconfig python3native python3targetconfig
+
+PV = "2.2.0+git${SRCPV}"
+
+SRCREV = "db93bae96d64140230ad050061632531644c46ad"
+SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+CVE_CHECK_IGNORE += "\
+ CVE-2017-5834 \
+ CVE-2017-5835 \
+ CVE-2017-5836 \
+"
+
+do_install:append () {
+ if [ -e ${D}${libdir}/python*/site-packages/plist/_plist.so ]; then
+ chrpath -d ${D}${libdir}/python*/site-packages/plist/_plist.so
+ fi
+}
+
+PACKAGES =+ "${PN}-utils \
+ ${PN}++ \
+ ${PN}-python"
+
+FILES:${PN} = "${libdir}/libplist-2.0${SOLIBS}"
+FILES:${PN}++ = "${libdir}/libplist++-2.0${SOLIBS}"
+FILES:${PN}-utils = "${bindir}/*"
+FILES:${PN}-python = "${libdir}/python*/site-packages/*"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_git.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_git.bb
new file mode 100644
index 0000000000..91a9b4af2c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_git.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "This daemon is in charge of multiplexing connections over USB to an iPhone or iPod touch."
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6ab17b41640564434dda85c06b7124f7"
+
+DEPENDS = "udev libusb1 libplist libimobiledevice-glue"
+
+inherit autotools pkgconfig gitpkgv
+
+PKGV = "${GITPKGVTAG}"
+PV = "2.0.2+git${SRCPV}"
+
+SRCREV = "36ffb7ab6e2a7e33bd1b56398a88895b7b8c615a"
+SRC_URI = "git://github.com/libimobiledevice/libusbmuxd;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+FILES:${PN} += "${base_libdir}/udev/rules.d/"
diff --git a/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-redefine-LOCKPROG.patch b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-redefine-LOCKPROG.patch
new file mode 100644
index 0000000000..35549ff2d3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-redefine-LOCKPROG.patch
@@ -0,0 +1,33 @@
+From 9beb650712d448ad9c0899de9d98e9b623f9c249 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Fri, 12 Aug 2022 11:18:15 +0800
+Subject: [PATCH] Makefile.in: redefine LOCKPROG
+
+By default the LOCKPROG will be expanded as below:
+LOCKPROG="/build/tmp-glibc/work/core2-32-wrs-linux/liblockfile/1.14-r0/image/usr/bin/dotlockfile"
+
+And it should be "/usr/bin/dotlockfile" on the target.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 6e53179..bfa0acb 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -42,7 +42,7 @@ dotlockfile: dotlockfile.o xlockfile.o
+ $(CC) $(LDFLAGS) -o dotlockfile dotlockfile.o xlockfile.o
+
+ lockfile.o: lockfile.c
+- $(CC) $(CFLAGS) -DLIB -DLOCKPROG=\"$(bindir)/dotlockfile\" \
++ $(CC) $(CFLAGS) -DLIB -DLOCKPROG=\"/usr/bin/dotlockfile\" \
+ -c lockfile.c
+
+ xlockfile.o: lockfile.c
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb
index bac3a2c0bd..2604e14f07 100644
--- a/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb
@@ -10,6 +10,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/libl/liblockfile/liblockfile_1.14.orig.tar.gz \
file://0001-Makefile.in-add-DESTDIR.patch \
file://0001-Makefile.in-install-nfslock-libs.patch \
file://liblockfile-fix-install-so-to-man-dir.patch \
+ file://0001-Makefile.in-redefine-LOCKPROG.patch \
"
SRC_URI[md5sum] = "420c056ba0cc4d1477e402f70ba2f5eb"
diff --git a/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.6.bb b/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.7.bb
index 8cb88157db..37a94661aa 100644
--- a/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.7.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ba882fa9b4b6b217a51780be3f4db9c8"
RDEPENDS:${PN} = "perl"
SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz"
-SRC_URI[sha256sum] = "689f3c68b99ef7af7d3c7007c3ff0a55d5674bdbf9c01f69a9f187726d6d4baf"
+SRC_URI[sha256sum] = "2a10c2c73f85d2ec9d8e9be3f553b7b5849cf795b89a1c1379c99cc36a06adbd"
do_install() {
install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.8.0.bb b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.8.0.bb
index 9b990ecdf3..8ade3bb4be 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.8.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.8.0.bb
@@ -50,7 +50,7 @@ do_configure() {
cd ${B}
python3 ${S}/configure.py \
--enable-project=js \
- --target=${HOST_SYS} \
+ --target=${RUST_HOST_SYS} \
--host=${BUILD_SYS} \
--prefix=${prefix} \
--libdir=${libdir} \
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-Remove-unused-linux-fs.h-includes.patch b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-Remove-unused-linux-fs.h-includes.patch
new file mode 100644
index 0000000000..2659e4696d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-Remove-unused-linux-fs.h-includes.patch
@@ -0,0 +1,42 @@
+From 7d32c352f628747cfadabf9fe7fcc13608e5dfe6 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Wed, 3 Aug 2022 10:37:40 -0400
+Subject: [PATCH] Remove unused `linux/fs.h` includes
+
+Prep for fixing conflicts introduced by newer glibc.
+cc https://github.com/ostreedev/ostree/issues/2685
+
+Upstream-Status: Backport [https://github.com/ostreedev/ostree/commit/edba4b33be10c05253bfa94895dfbc8477e44d76]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libostree/ostree-repo-commit.c | 1 -
+ src/ostree/ot-main.c | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/src/libostree/ostree-repo-commit.c b/src/libostree/ostree-repo-commit.c
+index afab3fdf..35b16c71 100644
+--- a/src/libostree/ostree-repo-commit.c
++++ b/src/libostree/ostree-repo-commit.c
+@@ -30,7 +30,6 @@
+ #include <sys/xattr.h>
+ #include <glib/gprintf.h>
+ #include <sys/ioctl.h>
+-#include <linux/fs.h>
+ #include <ext2fs/ext2_fs.h>
+
+ #include "otutil.h"
+diff --git a/src/ostree/ot-main.c b/src/ostree/ot-main.c
+index b7b50d67..7a4405a5 100644
+--- a/src/ostree/ot-main.c
++++ b/src/ostree/ot-main.c
+@@ -28,7 +28,6 @@
+ #include <string.h>
+ #include <sys/statvfs.h>
+ #include <sys/mount.h>
+-#include <linux/fs.h>
+
+ #include "ot-main.h"
+ #include "ostree.h"
+--
+2.37.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-libostree-Remove-including-sys-mount.h.patch b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-libostree-Remove-including-sys-mount.h.patch
new file mode 100644
index 0000000000..5c2792cf89
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-libostree-Remove-including-sys-mount.h.patch
@@ -0,0 +1,29 @@
+From 7ff956e4088e0bdc6bfd429f99124a8a9256c181 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 6 Aug 2022 21:44:11 -0700
+Subject: [PATCH] libostree: Remove including sys/mount.h
+
+This conflicts with linux/mount.h which is included by linux/fs.h
+with glibc 2.36+
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libostree/ostree-sysroot-deploy.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c
+index 2dc9f58b..61b19e42 100644
+--- a/src/libostree/ostree-sysroot-deploy.c
++++ b/src/libostree/ostree-sysroot-deploy.c
+@@ -23,7 +23,6 @@
+ #include <gio/gunixoutputstream.h>
+ #include <glib-unix.h>
+ #include <stdint.h>
+-#include <sys/mount.h>
+ #include <sys/statvfs.h>
+ #include <sys/socket.h>
+ #include <sys/ioctl.h>
+--
+2.37.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-s390x-se-luks-gencpio-There-is-no-bashism.patch b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-s390x-se-luks-gencpio-There-is-no-bashism.patch
new file mode 100644
index 0000000000..5cf5784f14
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-s390x-se-luks-gencpio-There-is-no-bashism.patch
@@ -0,0 +1,25 @@
+From dd55633e49aa43dede3c8e1770ae8761487f050e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 6 Aug 2022 21:52:31 -0700
+Subject: [PATCH] s390x-se-luks-gencpio: There is no bashism
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libostree/s390x-se-luks-gencpio | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libostree/s390x-se-luks-gencpio b/src/libostree/s390x-se-luks-gencpio
+index e821e2fe..96c1d123 100755
+--- a/src/libostree/s390x-se-luks-gencpio
++++ b/src/libostree/s390x-se-luks-gencpio
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # This script creates new initramdisk with LUKS config within
+ set -euo pipefail
+
+--
+2.37.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2022.2.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2022.5.bb
index 50d0548cc7..a21c473f0a 100644
--- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2022.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2022.5.bb
@@ -19,9 +19,12 @@ DEPENDS = " \
SRC_URI = " \
gitsm://github.com/ostreedev/ostree;branch=main;protocol=https \
+ file://0001-Remove-unused-linux-fs.h-includes.patch \
+ file://0001-libostree-Remove-including-sys-mount.h.patch \
+ file://0001-s390x-se-luks-gencpio-There-is-no-bashism.patch \
file://run-ptest \
"
-SRCREV = "fbc6d21c2f71099fbab44cbdd74222b91f61c667"
+SRCREV = "15740d042c9c5258a1c082b5e228cf6f115edbb0"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+)"
@@ -67,16 +70,17 @@ PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi"
PACKAGECONFIG[builtin-grub2-mkconfig] = "--with-builtin-grub2-mkconfig, --without-builtin-grub2-mkconfig"
PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl"
PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut"
-PACKAGECONFIG[glib] = "--with-crypto=glib"
+PACKAGECONFIG[ed25519-libsodium] = "--with-ed25519-libsodium, --without-ed25519-libsodium, libsodium"
PACKAGECONFIG[gjs] = "ac_cv_path_GJS=${bindir}/gjs"
-PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls"
+PACKAGECONFIG[glib] = "--with-crypto=glib, , , , , gnutls openssl"
+PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls, , , glib openssl"
PACKAGECONFIG[gpgme] = "--with-gpgme, --without-gpgme, gpgme"
PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive"
PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux"
PACKAGECONFIG[manpages] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native"
PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio"
PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2"
-PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl"
+PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl, , , glib gnutls"
PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse"
PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux"
PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack"
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-Added-support-for-duktape-as-JS-engine.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-Added-support-for-duktape-as-JS-engine.patch
index e44e4f6e4a..b8562f8ce2 100644
--- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-Added-support-for-duktape-as-JS-engine.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-Added-support-for-duktape-as-JS-engine.patch
@@ -1,15 +1,18 @@
-From eaecfb21e1bca42e99321cc731e21dbfc1ea0d0c Mon Sep 17 00:00:00 2001
+From 4af72493cb380ab5ce0dd7c5bcd25a8b5457d770 Mon Sep 17 00:00:00 2001
From: Gustavo Lima Chaves <limachaves@gmail.com>
Date: Tue, 25 Jan 2022 09:43:21 +0000
-Subject: [PATCH 3/3] Added support for duktape as JS engine
+Subject: [PATCH] Added support for duktape as JS engine
Original author: Wu Xiaotian (@yetist)
Resurrection author, runaway-killer author: Gustavo Lima Chaves (@limachaves)
Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
+Upstream-Status: Backport [c7fc4e1b61f0fd82fc697c19c604af7e9fb291a2]
+Dropped change to .gitlab-ci.yml and adapted configure.ac due to other
+patches in meta-oe.
+
---
- .gitlab-ci.yml | 1 +
buildutil/ax_pthread.m4 | 522 ++++++++
configure.ac | 34 +-
docs/man/polkit.xml | 4 +-
@@ -23,16 +26,12 @@ Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
.../polkitbackendjsauthority.cpp | 721 +----------
.../etc/polkit-1/rules.d/10-testing.rules | 6 +-
.../test-polkitbackendjsauthority.c | 2 +-
- 14 files changed, 2399 insertions(+), 678 deletions(-)
+ 13 files changed, 2398 insertions(+), 678 deletions(-)
create mode 100644 buildutil/ax_pthread.m4
create mode 100644 src/polkitbackend/polkitbackendcommon.c
create mode 100644 src/polkitbackend/polkitbackendcommon.h
create mode 100644 src/polkitbackend/polkitbackendduktapeauthority.c
-Upstream-Status: Backport [c7fc4e1b61f0fd82fc697c19c604af7e9fb291a2]
-Dropped change to .gitlab-ci.yml and adapted configure.ac due to other
-patches in meta-oe.
-
diff --git a/buildutil/ax_pthread.m4 b/buildutil/ax_pthread.m4
new file mode 100644
index 0000000..9f35d13
@@ -603,7 +602,7 @@ index b625743..bbf4768 100644
+CC="$PTHREAD_CC"
+AC_CHECK_FUNCS([pthread_condattr_setclock])
+
- AC_CHECK_FUNCS(clearenv fdatasync setnetgrent)
+ AC_CHECK_FUNCS(clearenv fdatasync)
if test "x$GCC" = "xyes"; then
@@ -581,6 +598,13 @@ echo "
@@ -3458,6 +3457,3 @@ index f97e0e0..2103b17 100644
},
{
---
-2.20.1
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0004-Make-netgroup-support-optional.patch
index 1a268f2d0d..fa273d4503 100644
--- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0004-Make-netgroup-support-optional.patch
@@ -1,36 +1,43 @@
-From 0c1debb380fee7f5b2bc62406e45856dc9c9e1a1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 22 May 2019 13:18:55 -0700
-Subject: [PATCH] make netgroup support optional
+From 7ef2621ab7adcedc099ed39acfb73c6fa835cbc3 Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+Date: Sun, 15 May 2022 05:04:10 +0000
+Subject: [PATCH] Make netgroup support optional
-On at least Linux/musl and Linux/uclibc, netgroup
-support is not available. PolKit fails to compile on these systems
-for that reason.
+On at least Linux/musl and Linux/uclibc, netgroup support is not
+available. PolKit fails to compile on these systems for that reason.
This change makes netgroup support conditional on the presence of the
setnetgrent(3) function which is required for the support to work. If
that function is not available on the system, an error will be returned
to the administrator if unix-netgroup: is specified in configuration.
-Fixes bug 50145.
+(sam: rebased for Meson and Duktape.)
-Closes polkit/polkit#14.
+Closes: https://gitlab.freedesktop.org/polkit/polkit/-/issues/14
+Closes: https://gitlab.freedesktop.org/polkit/polkit/-/issues/163
+Closes: https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/52
Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Ported back the change in configure.ac (upstream removed autotools
+support).
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/polkit/polkit/-/commit/b57deee8178190a7ecc75290fa13cf7daabc2c66]
+Signed-off-by: Marta Rybczynska <marta.rybczynska@huawei.com>
---
- configure.ac | 2 +-
- src/polkit/polkitidentity.c | 16 ++++++++++++++++
- src/polkit/polkitunixnetgroup.c | 3 +++
- .../polkitbackendinteractiveauthority.c | 14 ++++++++------
- src/polkitbackend/polkitbackendjsauthority.cpp | 3 +++
- test/polkit/polkitidentitytest.c | 9 ++++++++-
- test/polkit/polkitunixnetgrouptest.c | 3 +++
- .../test-polkitbackendjsauthority.c | 2 ++
- 8 files changed, 44 insertions(+), 8 deletions(-)
+ configure.ac | 2 +-
+ meson.build | 1 +
+ src/polkit/polkitidentity.c | 17 +++++++++++++++++
+ src/polkit/polkitunixnetgroup.c | 3 +++
+ .../polkitbackendinteractiveauthority.c | 14 ++++++++------
+ src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++
+ test/polkit/polkitidentitytest.c | 8 +++++++-
+ test/polkit/polkitunixnetgrouptest.c | 2 ++
+ .../test-polkitbackendjsauthority.c | 2 ++
+ 9 files changed, 43 insertions(+), 8 deletions(-)
diff --git a/configure.ac b/configure.ac
-index b625743..d807086 100644
+index 59858df..5a7fc11 100644
--- a/configure.ac
+++ b/configure.ac
@@ -100,7 +100,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"],
@@ -42,8 +49,20 @@ index b625743..d807086 100644
if test "x$GCC" = "xyes"; then
LDFLAGS="-Wl,--as-needed $LDFLAGS"
+diff --git a/meson.build b/meson.build
+index 733bbff..d840926 100644
+--- a/meson.build
++++ b/meson.build
+@@ -82,6 +82,7 @@ config_h.set('_GNU_SOURCE', true)
+ check_functions = [
+ 'clearenv',
+ 'fdatasync',
++ 'setnetgrent',
+ ]
+
+ foreach func: check_functions
diff --git a/src/polkit/polkitidentity.c b/src/polkit/polkitidentity.c
-index 3aa1f7f..10e9c17 100644
+index 3aa1f7f..793f17d 100644
--- a/src/polkit/polkitidentity.c
+++ b/src/polkit/polkitidentity.c
@@ -182,7 +182,15 @@ polkit_identity_from_string (const gchar *str,
@@ -62,7 +81,7 @@ index 3aa1f7f..10e9c17 100644
}
if (identity == NULL && (error != NULL && *error == NULL))
-@@ -344,6 +352,13 @@ polkit_identity_new_for_gvariant (GVariant *variant,
+@@ -344,6 +352,14 @@ polkit_identity_new_for_gvariant (GVariant *variant,
GVariant *v;
const char *name;
@@ -73,10 +92,11 @@ index 3aa1f7f..10e9c17 100644
+ "Netgroups are not available on this machine");
+ goto out;
+#else
++
v = lookup_asv (details_gvariant, "name", G_VARIANT_TYPE_STRING, error);
if (v == NULL)
{
-@@ -353,6 +368,7 @@ polkit_identity_new_for_gvariant (GVariant *variant,
+@@ -353,6 +369,7 @@ polkit_identity_new_for_gvariant (GVariant *variant,
name = g_variant_get_string (v, NULL);
ret = polkit_unix_netgroup_new (name);
g_variant_unref (v);
@@ -144,10 +164,10 @@ index 056d9a8..36c2f3d 100644
}
diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
-index ca17108..41d8d5c 100644
+index 5027815..bcb040c 100644
--- a/src/polkitbackend/polkitbackendjsauthority.cpp
+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
-@@ -1520,6 +1520,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
+@@ -1524,6 +1524,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
JS::CallArgs args = JS::CallArgsFromVp (argc, vp);
@@ -155,28 +175,19 @@ index ca17108..41d8d5c 100644
JS::RootedString usrstr (authority->priv->cx);
usrstr = args[0].toString();
user = JS_EncodeStringToUTF8 (cx, usrstr);
-@@ -1535,6 +1536,8 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
+@@ -1538,6 +1539,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
+ {
is_in_netgroup = true;
}
-
+#endif
-+
+
ret = true;
- args.rval ().setBoolean (is_in_netgroup);
diff --git a/test/polkit/polkitidentitytest.c b/test/polkit/polkitidentitytest.c
-index e91967b..e829aaa 100644
+index e91967b..2635c4c 100644
--- a/test/polkit/polkitidentitytest.c
+++ b/test/polkit/polkitidentitytest.c
-@@ -19,6 +19,7 @@
- * Author: Nikki VonHollen <vonhollen@google.com>
- */
-
-+#include "config.h"
- #include "glib.h"
- #include <polkit/polkit.h>
- #include <polkit/polkitprivate.h>
-@@ -145,11 +146,15 @@ struct ComparisonTestData comparison_test_data [] = {
+@@ -145,11 +145,15 @@ struct ComparisonTestData comparison_test_data [] = {
{"unix-group:root", "unix-group:jane", FALSE},
{"unix-group:jane", "unix-group:jane", TRUE},
@@ -192,7 +203,7 @@ index e91967b..e829aaa 100644
{NULL},
};
-@@ -181,11 +186,13 @@ main (int argc, char *argv[])
+@@ -181,11 +185,13 @@ main (int argc, char *argv[])
g_test_add_data_func ("/PolkitIdentity/group_string_2", "unix-group:jane", test_string);
g_test_add_data_func ("/PolkitIdentity/group_string_3", "unix-group:users", test_string);
@@ -208,18 +219,10 @@ index e91967b..e829aaa 100644
add_comparison_tests ();
diff --git a/test/polkit/polkitunixnetgrouptest.c b/test/polkit/polkitunixnetgrouptest.c
-index 3701ba1..e3352eb 100644
+index 3701ba1..e1d211e 100644
--- a/test/polkit/polkitunixnetgrouptest.c
+++ b/test/polkit/polkitunixnetgrouptest.c
-@@ -19,6 +19,7 @@
- * Author: Nikki VonHollen <vonhollen@google.com>
- */
-
-+#include "config.h"
- #include "glib.h"
- #include <polkit/polkit.h>
- #include <string.h>
-@@ -69,7 +70,9 @@ int
+@@ -69,7 +69,9 @@ int
main (int argc, char *argv[])
{
g_test_init (&argc, &argv, NULL);
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0005-Make-netgroup-support-optional-duktape.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0005-Make-netgroup-support-optional-duktape.patch
new file mode 100644
index 0000000000..12988ad94f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0005-Make-netgroup-support-optional-duktape.patch
@@ -0,0 +1,34 @@
+From 792f8e2151c120ec51b50a4098e4f9642409cbec Mon Sep 17 00:00:00 2001
+From: Marta Rybczynska <rybczynska@gmail.com>
+Date: Fri, 29 Jul 2022 11:52:59 +0200
+Subject: [PATCH] Make netgroup support optional
+
+This patch adds a fragment of the netgroup patch to apply on the duktape-related
+code. This change is needed to compile with duktape+musl.
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/polkit/polkit/-/commit/b57deee8178190a7ecc75290fa13cf7daabc2c66]
+Signed-off-by: Marta Rybczynska <martarybczynska@huawei.com>
+---
+ src/polkitbackend/polkitbackendduktapeauthority.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/polkitbackend/polkitbackendduktapeauthority.c b/src/polkitbackend/polkitbackendduktapeauthority.c
+index c89dbcf..58a5936 100644
+--- a/src/polkitbackend/polkitbackendduktapeauthority.c
++++ b/src/polkitbackend/polkitbackendduktapeauthority.c
+@@ -1036,6 +1036,7 @@ js_polkit_user_is_in_netgroup (duk_context *cx)
+ user = duk_require_string (cx, 0);
+ netgroup = duk_require_string (cx, 1);
+
++#ifdef HAVE_SETNETGRENT
+ if (innetgr (netgroup,
+ NULL, /* host */
+ user,
+@@ -1043,6 +1044,7 @@ js_polkit_user_is_in_netgroup (duk_context *cx)
+ {
+ is_in_netgroup = TRUE;
+ }
++#endif
+
+ duk_push_boolean (cx, is_in_netgroup);
+ return 1;
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.119.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.119.bb
index bf160053d9..c4d3d25afc 100644
--- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.119.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.119.bb
@@ -34,14 +34,16 @@ MOZJS_PATCHES = "\
file://0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch \
"
DUKTAPE_PATCHES = "file://0003-Added-support-for-duktape-as-JS-engine.patch"
+DUKTAPE_NG_PATCHES = "file://0005-Make-netgroup-support-optional-duktape.patch"
PAM_SRC_URI = "file://polkit-1_pam.patch"
SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'mozjs', '${MOZJS_PATCHES}', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'duktape', '${DUKTAPE_PATCHES}', '', d)} \
- file://0003-make-netgroup-support-optional.patch \
file://0001-pkexec-local-privilege-escalation-CVE-2021-4034.patch \
file://0002-CVE-2021-4115-GHSL-2021-077-fix.patch \
+ file://0004-Make-netgroup-support-optional.patch \
+ ${@bb.utils.contains('PACKAGECONFIG', 'duktape', '${DUKTAPE_NG_PATCHES}', '', d)} \
"
SRC_URI[sha256sum] = "c8579fdb86e94295404211285fee0722ad04893f0213e571bd75c00972fd1f5c"
@@ -71,7 +73,7 @@ FILES:${PN}:append = " \
FILES:${PN}-examples = "${bindir}/*example*"
USERADD_PACKAGES = "${PN}"
-USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd"
+USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 --shell /bin/nologin polkitd"
SYSTEMD_SERVICE:${PN} = "${BPN}.service"
SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/GNU_SOURCE.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/GNU_SOURCE-7.patch
index 6e07c25c6a..6e07c25c6a 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/GNU_SOURCE.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/GNU_SOURCE-7.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.4.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.4.bb
index 993ff34b10..cde32e4147 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.4.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.4.bb
@@ -6,7 +6,7 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2"
DEPENDS = "readline lua ncurses"
-FILESPATH =. "${FILE_DIRNAME}/${PN}-7:"
+FILESPATH =. "${FILE_DIRNAME}/${BPN}-7:"
SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
file://redis.conf \
@@ -16,7 +16,7 @@ SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
file://lua-update-Makefile-to-use-environment-build-setting.patch \
file://oe-use-libc-malloc.patch \
file://0001-src-Do-not-reset-FINAL_LIBS.patch \
- file://GNU_SOURCE.patch \
+ file://GNU_SOURCE-7.patch \
file://0006-Define-correct-gregs-for-RISCV32.patch \
"
SRC_URI[sha256sum] = "f0e65fda74c44a3dd4fa9d512d4d4d833dd0939c934e946a5c622a630d057f2f"
diff --git a/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.15.bb b/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.16.bb
index 0fda3e6756..b75802f09f 100644
--- a/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.15.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.16.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/HardySimpson/zlog"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-SRCREV = "876099f3c66033f3de11d79f63814766b1021dbe"
+SRCREV = "dc2c284664757fce6ef8f96f8b3ab667a53ef489"
SRC_URI = "git://github.com/HardySimpson/zlog;branch=master;protocol=https"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.9.bb b/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.9.1.bb
index e4422668f5..d78fe7e17d 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.9.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.9.1.bb
@@ -10,7 +10,7 @@ DEPENDS = "\
"
SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2"
-SRC_URI[sha256sum] = "8649962c41d2c7ec4cc3f438eb327638a1820ad5a66df6a9995964601ae6bca0"
+SRC_URI[sha256sum] = "455c92711b588af149b945edc5c145f3e9aa137ed9689dabed49d5e4acac75fa"
inherit mime-xdg features_check
# depends on virtual/libx11
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.18.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.18.bb
deleted file mode 100644
index aae803f2eb..0000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.18.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Simple DirectMedia Layer truetype font library"
-SECTION = "libs"
-DEPENDS = "libsdl2 freetype virtual/egl"
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=e98cfd01ca78f683e9d035795810ce87"
-
-SRC_URI = "http://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-${PV}.tar.gz \
- file://automake_foreign.patch \
- "
-SRC_URI[sha256sum] = "7234eb8883514e019e7747c703e4a774575b18d435c22a4a29d068cb768a2251"
-
-S = "${WORKDIR}/SDL2_ttf-${PV}"
-
-inherit autotools pkgconfig features_check
-
-# links to libGL.so
-REQUIRED_DISTRO_FEATURES += "opengl"
-
-do_configure:prepend() {
- # Removing these files fixes a libtool version mismatch.
- MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
-
- for i in ${MACROS}; do
- rm -f ${S}/acinclude/$i
- done
-}
-ASNEEDED = ""
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.1.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.1.bb
new file mode 100644
index 0000000000..b8732b4c86
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.1.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Simple DirectMedia Layer truetype font library"
+SECTION = "libs"
+DEPENDS = "libsdl2 freetype virtual/egl"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=771dca8728b18d39b130e19b36514371"
+
+SRC_URI = " \
+ git://github.com/libsdl-org/SDL_ttf.git;branch=release-2.20.x;protocol=https \
+ git://github.com/libsdl-org/freetype.git;branch=VER-2-12-1-SDL;destsuffix=git/external/freetype;name=freetype;protocol=https \
+ git://github.com/libsdl-org/harfbuzz.git;branch=2.9.1-SDL;destsuffix=git/external/harfbuzz;name=harfbuzz;protocol=https \
+ file://automake_foreign.patch \
+"
+SRCREV = "0a652b598625d16ea7016665095cb1e9bce9ef4f"
+SRCREV_freetype = "6fc77cee03e078e97afcee0c0e06a2d3274b9a29"
+SRCREV_harfbuzz = "6022fe2f68d028ee178284f297b3902ffdf65b03"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig features_check
+
+# links to libGL.so
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+do_configure:prepend() {
+ # Removing these files fixes a libtool version mismatch.
+ MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+
+ for i in ${MACROS}; do
+ rm -f ${S}/acinclude/$i
+ done
+}
+ASNEEDED = ""
diff --git a/meta-openembedded/meta-oe/recipes-graphics/wayland/waylandpp_1.0.0.bb b/meta-openembedded/meta-oe/recipes-graphics/wayland/waylandpp_1.0.0.bb
new file mode 100644
index 0000000000..f075f2a3ae
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/wayland/waylandpp_1.0.0.bb
@@ -0,0 +1,37 @@
+SUMMARY = " C++ binding for Wayland using the most modern C++ technology"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3aae28cc66d61975114c2b14df215407"
+
+SRC_URI = "git://github.com/NilsBrause/waylandpp.git;protocol=https;branch=master"
+
+DEPENDS = "pugixml"
+DEPENDS:append:class-target = " waylandpp-native wayland virtual/egl virtual/libgles2"
+
+S = "${WORKDIR}/git"
+SRCREV = "4321ed5c7b4bffa41b8a2a13dc7f3ece1191f4f3"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE:class-native = " \
+ -DBUILD_SCANNER=ON \
+ -DBUILD_LIBRARIES=OFF \
+ -DBUILD_DOCUMENTATION=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_VERBOSE_MAKEFILE=TRUE \
+"
+
+EXTRA_OECMAKE:class-target = " \
+ -DBUILD_SCANNER=ON \
+ -DBUILD_LIBRARIES=ON \
+ -DBUILD_DOCUMENTATION=OFF \
+ -DBUILD_EXAMPLES=OFF \
+ -DOPENGL_LIBRARY="-lEGL -lGLESv2" \
+ -DOPENGL_opengl_LIBRARY=-lEGL \
+ -DOPENGL_glx_LIBRARY=-lEGL \
+ -DWAYLAND_SCANNERPP="${STAGING_BINDIR_NATIVE}/wayland-scanner++" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_VERBOSE_MAKEFILE=TRUE \
+ -DCMAKE_EXE_LINKER_FLAGS="-Wl,--enable-new-dtags" \
+"
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.1.0.bb
index e9260240da..4c31d0b77a 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.1.0.bb
@@ -9,5 +9,5 @@ DEPENDS += " libxaw"
LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
-SRC_URI[md5sum] = "13150ff98846bf6d9a14bee00697fa47"
-SRC_URI[sha256sum] = "25aa0b7c4262f5e99c07c2b96e00e4eb25b7e53f94fa803942af9d0e8da3001c"
+SRC_URI[sha256sum] = "17052c3357bbfe44b8468675ae3d099c2427ba9fcac10540aef524ae4d77d1b4"
+SRC_URI_EXT = "xz"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.6.bb
index 23cfb26c7b..cb123837d0 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.6.bb
@@ -6,5 +6,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=73c7f696a728de728d7446cbca814cc5"
DEPENDS += "libxaw"
-SRC_URI[md5sum] = "e50ffae17eeb3943079620cb78f5ce0b"
-SRC_URI[sha256sum] = "373dfb81e7a6f06d3d22485a12fcde6e255d58c6dee1bbaeb00c7d0caa9b2029"
+SRC_URI[sha256sum] = "d2eac545f137156b960877e052fcc8e29795ed735c02f7690fd7b439e6846a12"
+SRC_URI_EXT = "xz"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.7.bb
index 99dc3b5aa8..6f6ad73e63 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.6.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.7.bb
@@ -9,5 +9,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=dad633bce9c3cd0e3abf72a16e0057cf"
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "c56fa4adbeed1ee5173f464a4c4a61a6"
-SRC_URI[sha256sum] = "287dfb9bb7e8d780d07e672e3252150850869cb550958ed5f8401f0835cd6353"
+SRC_URI[sha256sum] = "a9f1d635f2f42283d0174e94d09ab69190c227faa5ab542bfe15ed9607771b1e"
+SRC_URI_EXT = "xz"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.14.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.16.0.bb
index 0e62307363..6befd31b88 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.14.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.16.0.bb
@@ -5,23 +5,20 @@ SECTION = "libs/multimedia"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://COPYING;md5=a42532a0684420bdb15556c3cdd49a75"
-DEPENDS = "enca fontconfig freetype libpng fribidi"
+DEPENDS = "fontconfig freetype fribidi harfbuzz"
-SRC_URI = "git://github.com/libass/libass.git;branch=master;protocol=https"
-SRCREV = "73284b676b12b47e17af2ef1b430527299e10c17"
+SRC_URI = "git://github.com/libass/libass.git;protocol=https;branch=master"
+SRCREV = "1af6240c5d1e499326146e0b88c987e626b13c23"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[harfbuzz] = "--enable-harfbuzz,--disable-harfbuzz,harfbuzz"
-
-EXTRA_OECONF = " \
- --enable-fontconfig \
-"
+PACKAGECONFIG[asm] = "--enable-asm,--disable-asm,nasm-native"
+# use larger tiles in the rasterizer (better performance, slightly worse quality)
+PACKAGECONFIG[largetiles] = "--enable-large-tiles,--disable-large-tiles"
-# Disable compiling with ASM for x86 to avoid textrel
-EXTRA_OECONF:append:x86 = " --disable-asm"
+PACKAGECONFIG ??= ""
+PACKAGECONFIG:append:x86-64 = " asm"
PACKAGES =+ "${PN}-tests"
diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit/0001-Replace-__attribute_malloc__-with-__attribute__-__ma.patch b/meta-openembedded/meta-oe/recipes-security/audit/audit/0001-Replace-__attribute_malloc__-with-__attribute__-__ma.patch
new file mode 100644
index 0000000000..c2080e156d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-security/audit/audit/0001-Replace-__attribute_malloc__-with-__attribute__-__ma.patch
@@ -0,0 +1,34 @@
+From 79c8d6a2755c9dfa00a5e86378e89a94eef0504d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 23:57:03 -0700
+Subject: [PATCH] Replace __attribute_malloc__ with
+ __attribute__((__malloc__))
+
+__attribute_malloc__ is not available on musl
+
+Fixes
+| ../../git/auparse/auparse.h:54:2: error: expected function body after function declarator
+| __attribute_malloc__ __attr_dealloc (auparse_destroy, 1);
+| ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ auparse/auparse.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/auparse/auparse.h b/auparse/auparse.h
+index 95cf256d..c7dbe5ff 100644
+--- a/auparse/auparse.h
++++ b/auparse/auparse.h
+@@ -51,7 +51,7 @@ typedef void (*auparse_callback_ptr)(auparse_state_t *au,
+ void auparse_destroy(auparse_state_t *au);
+ void auparse_destroy_ext(auparse_state_t *au, auparse_destroy_what_t what);
+ auparse_state_t *auparse_init(ausource_t source, const void *b)
+- __attribute_malloc__ __attr_dealloc (auparse_destroy, 1);
++ __attribute__((__malloc__)) __attr_dealloc (auparse_destroy, 1);
+ int auparse_new_buffer(auparse_state_t *au, const char *data, size_t data_len)
+ __attr_access ((__read_only__, 2, 3));
+ int auparse_feed(auparse_state_t *au, const char *data, size_t data_len)
+--
+2.37.1
+
diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit/Fixed-swig-host-contamination-issue.patch b/meta-openembedded/meta-oe/recipes-security/audit/audit/Fixed-swig-host-contamination-issue.patch
index 740bcb5a7f..b023c80ae4 100644
--- a/meta-openembedded/meta-oe/recipes-security/audit/audit/Fixed-swig-host-contamination-issue.patch
+++ b/meta-openembedded/meta-oe/recipes-security/audit/audit/Fixed-swig-host-contamination-issue.patch
@@ -18,11 +18,9 @@ Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
bindings/swig/src/auditswig.i | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
-diff --git a/bindings/swig/python3/Makefile.am b/bindings/swig/python3/Makefile.am
-index dd9d934..61b486d 100644
--- a/bindings/swig/python3/Makefile.am
+++ b/bindings/swig/python3/Makefile.am
-@@ -22,6 +22,7 @@
+@@ -23,6 +23,7 @@
CONFIG_CLEAN_FILES = *.loT *.rej *.orig
AM_CFLAGS = -fPIC -DPIC -fno-strict-aliasing $(PYTHON3_CFLAGS)
AM_CPPFLAGS = -I. -I$(top_builddir) -I${top_srcdir}/lib $(PYTHON3_INCLUDES)
@@ -30,7 +28,7 @@ index dd9d934..61b486d 100644
LIBS = $(top_builddir)/lib/libaudit.la
SWIG_FLAGS = -python -py3 -modern
SWIG_INCLUDES = -I. -I$(top_builddir) -I${top_srcdir}/lib $(PYTHON3_INCLUDES)
-@@ -36,7 +37,7 @@ _audit_la_DEPENDENCIES =${top_srcdir}/lib/libaudit.h ${top_builddir}/lib/libaudi
+@@ -37,7 +38,7 @@ _audit_la_DEPENDENCIES =${top_srcdir}/li
_audit_la_LIBADD = ${top_builddir}/lib/libaudit.la
nodist__audit_la_SOURCES = audit_wrap.c
audit.py audit_wrap.c: ${srcdir}/../src/auditswig.i
@@ -39,8 +37,6 @@ index dd9d934..61b486d 100644
CLEANFILES = audit.py* audit_wrap.c *~
-diff --git a/bindings/swig/src/auditswig.i b/bindings/swig/src/auditswig.i
-index 21aafca..dd0f62c 100644
--- a/bindings/swig/src/auditswig.i
+++ b/bindings/swig/src/auditswig.i
@@ -39,7 +39,7 @@ signed
@@ -48,10 +44,7 @@ index 21aafca..dd0f62c 100644
typedef unsigned __u32;
typedef unsigned uid_t;
-%include "/usr/include/linux/audit.h"
-+%include "linux/audit.h"
++%include "../lib/audit.h"
#define __extension__ /*nothing*/
%include <stdint.i>
%include "../lib/libaudit.h"
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.7.bb b/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.8.bb
index d77aec2964..78439f66fe 100644
--- a/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.7.bb
+++ b/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.8.bb
@@ -9,13 +9,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master;protocol=https \
file://Fixed-swig-host-contamination-issue.patch \
+ file://0001-Replace-__attribute_malloc__-with-__attribute__-__ma.patch \
file://auditd \
file://auditd.service \
file://audit-volatile.conf \
"
S = "${WORKDIR}/git"
-SRCREV = "f60b2d8f55c74be798a7f5bcbd6c587987f2578a"
+SRCREV = "54a62e78792fe583267cf80da717ee480b8f42bc"
inherit autotools python3native update-rc.d systemd
@@ -71,7 +72,14 @@ FILES:${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}"
CONFFILES:auditd = "${sysconfdir}/audit/audit.rules"
+do_configure:prepend() {
+ sed -e 's|buf\[];|buf[0];|g' ${STAGING_INCDIR}/linux/audit.h > ${S}/lib/audit.h
+ sed -i -e 's|#include <linux/audit.h>|#include "audit.h"|g' ${S}/lib/libaudit.h
+}
+
do_install:append() {
+ sed -i -e 's|#include "audit.h"|#include <linux/audit.h>|g' ${D}${includedir}/libaudit.h
+
rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.a
rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.la
diff --git a/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.11.0.bb b/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.11.1.bb
index 8558f75c50..bb0bd7d752 100644
--- a/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.11.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.11.1.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=6d502b41f76179fc84e536236f359cae"
DEPENDS = "jansson zlib xz"
BRANCH = "branch-1.11"
-SRCREV = "4e1fefca493029ace961b7ef8889a3722458565a"
+SRCREV = "3a9e5a789b5165e0c8c4da799c387fdf84bfb75e"
SRC_URI = "git://github.com/apache/avro;branch=${BRANCH};protocol=https \
"
diff --git a/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.2.0.bb b/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.2.2.bb
index 7ee63b1332..622402a04a 100644
--- a/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.2.2.bb
@@ -19,12 +19,12 @@ DESCRIPTION = "The Boehm-Demers-Weiser conservative garbage collector can be\
HOMEPAGE = "http://www.hboehm.info/gc/"
SECTION = "devel"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://README.QUICK;md5=7912d9213b3547f8a81aadd08893fe84"
+LIC_FILES_CHKSUM = "file://README.QUICK;md5=dd27361ad00943bb27bc3e0589037075"
DEPENDS = "libatomic-ops"
-SRCREV = "47e9106c17b72e9ee5501308f69ea94531e798b3"
-SRC_URI = "git://github.com/ivmai/bdwgc.git;branch=master;protocol=https"
+SRCREV = "cd1fbc1dbfd2cc888436944dd2784f39820698d7"
+SRC_URI = "git://github.com/ivmai/bdwgc.git;branch=release-8_2;protocol=https"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.33.bb b/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.5.0.bb
index 7b260f177b..9775d82fae 100644
--- a/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.33.bb
+++ b/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.5.0.bb
@@ -3,15 +3,15 @@ HOMEPAGE = "https://ccid.apdu.fr/"
LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-DEPENDS = "virtual/libusb0 pcsc-lite"
+DEPENDS = "autoconf-archive-native virtual/libusb0 pcsc-lite"
RDEPENDS:${PN} = "pcsc-lite"
SRC_URI = "https://ccid.apdu.fr/files/ccid-${PV}.tar.bz2 \
file://0001-Add-build-rule-for-README.patch \
"
-SRC_URI[md5sum] = "b11907894ce2d345439635e2b967e7e5"
-SRC_URI[sha256sum] = "5256da939711deb42b74d05d2bd6bd0c73c4d564feb0c1a50212609eb680e424"
+SRC_URI[md5sum] = "f246d6601856775310c86b841b616de5"
+SRC_URI[sha256sum] = "81549b3422469d503996d03a3aed2ef1375b359167f10d66be9e3844e729322e"
inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb b/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb
index 3ee2b5c239..86a58beda4 100644
--- a/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb
@@ -18,5 +18,5 @@ do_install() {
install -m 0755 ${B}/src/${PN} ${D}${sbindir}/
}
-CFLAGS += "${LDFLAGS}"
+CFLAGS += "-D_GNU_SOURCE ${LDFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.7.0.bb b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.8.0.bb
index 0645ccd944..33782e56b7 100644
--- a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.8.0.bb
@@ -13,7 +13,7 @@ inherit pkgconfig cmake gitpkgv
PE = "1"
PKGV = "${GITPKGVTAG}"
-SRCREV = "40ee5d3bcc70343af6c0300d71968858c1f1948f"
+SRCREV = "e3fc97feb512053189e276b2ca79762990bb8c4c"
SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https \
file://winpr-makecert-Build-with-install-RPATH.patch \
"
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-Fix-deprecared-function-prototypes.patch b/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-Fix-deprecared-function-prototypes.patch
new file mode 100644
index 0000000000..5ac5170721
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-Fix-deprecared-function-prototypes.patch
@@ -0,0 +1,115 @@
+From 6379331cd0647fc6f149f55e4505a9a92e4f159f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 22 Aug 2022 22:43:26 -0700
+Subject: [PATCH] Fix deprecared function prototypes
+
+Fixes following errors:
+error: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
+
+Upstream-Status: Submitted [https://github.com/libgd/libgd/pull/835]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/gd_nnquant.c | 32 +++++++-------------------------
+ src/gd_tiff.c | 4 +---
+ 2 files changed, 8 insertions(+), 28 deletions(-)
+
+diff --git a/src/gd_nnquant.c b/src/gd_nnquant.c
+index 8b9aa794..013f7160 100644
+--- a/src/gd_nnquant.c
++++ b/src/gd_nnquant.c
+@@ -112,12 +112,7 @@ typedef struct {
+
+ /* Initialise network in range (0,0,0,0) to (255,255,255,255) and set parameters
+ ----------------------------------------------------------------------- */
+-static void initnet(nnq, thepic, len, sample, colours)
+-nn_quant *nnq;
+-unsigned char *thepic;
+-int len;
+-int sample;
+-int colours;
++static void initnet(nn_quant *nnq, unsigned char *thepic, int len, int sample, int colours)
+ {
+ register int i;
+ register int *p;
+@@ -163,9 +158,7 @@ static void unbiasnet(nn_quant *nnq)
+ }
+
+ /* Output colormap to unsigned char ptr in RGBA format */
+-static void getcolormap(nnq, map)
+-nn_quant *nnq;
+-unsigned char *map;
++static void getcolormap(nn_quant *nnq, unsigned char *map)
+ {
+ int i,j;
+ for(j=0; j < nnq->netsize; j++) {
+@@ -232,9 +225,7 @@ static void inxbuild(nn_quant *nnq)
+
+ /* Search for ABGR values 0..255 (after net is unbiased) and return colour index
+ ---------------------------------------------------------------------------- */
+-static unsigned int inxsearch(nnq, al,b,g,r)
+-nn_quant *nnq;
+-register int al, b, g, r;
++static unsigned int inxsearch(nn_quant *nnq, int al, int b, int g, int r)
+ {
+ register int i, j, dist, a, bestd;
+ register int *p;
+@@ -306,9 +297,7 @@ register int al, b, g, r;
+
+ /* Search for biased ABGR values
+ ---------------------------- */
+-static int contest(nnq, al,b,g,r)
+-nn_quant *nnq;
+-register int al,b,g,r;
++static int contest(nn_quant *nnq, int al, int b, int g, int r)
+ {
+ /* finds closest neuron (min dist) and updates freq */
+ /* finds best neuron (min dist-bias) and returns position */
+@@ -362,9 +351,7 @@ register int al,b,g,r;
+ /* Move neuron i towards biased (a,b,g,r) by factor alpha
+ ---------------------------------------------------- */
+
+-static void altersingle(nnq, alpha,i,al,b,g,r)
+-nn_quant *nnq;
+-register int alpha,i,al,b,g,r;
++static void altersingle(nn_quant *nnq, int alpha, int i,int al, int b, int g, int r)
+ {
+ register int *n;
+
+@@ -382,10 +369,7 @@ register int alpha,i,al,b,g,r;
+ /* Move adjacent neurons by precomputed alpha*(1-((i-j)^2/[r]^2)) in radpower[|i-j|]
+ --------------------------------------------------------------------------------- */
+
+-static void alterneigh(nnq, rad,i,al,b,g,r)
+-nn_quant *nnq;
+-int rad,i;
+-register int al,b,g,r;
++static void alterneigh(nn_quant *nnq, int rad, int i, int al,int b,int g, int r)
+ {
+ register int j,k,lo,hi,a;
+ register int *p, *q;
+@@ -429,9 +413,7 @@ register int al,b,g,r;
+ /* Main Learning Loop
+ ------------------ */
+
+-static void learn(nnq, verbose) /* Stu: N.B. added parameter so that main() could control verbosity. */
+-nn_quant *nnq;
+-int verbose;
++static void learn(nn_quant *nnq, int verbose) /* Stu: N.B. added parameter so that main() could control verbosity. */
+ {
+ register int i,j,al,b,g,r;
+ int radius,rad,alpha,step,delta,samplepixels;
+diff --git a/src/gd_tiff.c b/src/gd_tiff.c
+index 7f72b610..3d90e61a 100644
+--- a/src/gd_tiff.c
++++ b/src/gd_tiff.c
+@@ -446,9 +446,7 @@ BGD_DECLARE(void) gdImageTiffCtx(gdImagePtr image, gdIOCtx *out)
+ }
+
+ /* Check if we are really in 8bit mode */
+-static int checkColorMap(n, r, g, b)
+-int n;
+-uint16_t *r, *g, *b;
++static int checkColorMap(int n, uint16_t *r, uint16_t *g, uint16_t *b)
+ {
+ while (n-- > 0)
+ if (*r++ >= 256 || *g++ >= 256 || *b++ >= 256)
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.3.bb b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.3.bb
index 9d4ee1fe4b..cc2c1571e6 100644
--- a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.3.bb
@@ -14,6 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=ace63adfdac78400fc30fa22ee9c1bb1"
DEPENDS = "freetype libpng jpeg zlib tiff"
SRC_URI = "git://github.com/libgd/libgd.git;nobranch=1;protocol=https \
+ file://0001-Fix-deprecared-function-prototypes.patch \
"
SRCREV = "b5319a41286107b53daa0e08e402aa1819764bdc"
diff --git a/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.1.bb
index 8d4dd5254e..54bbc2f22c 100644
--- a/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.1.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = " \
file://COPYING.LESSER;md5=c96ca6c1de8adc025adfada81d06fba5 \
"
-SRCREV = "4ddd8ed5ca6484b930b111aec50c2750a6119a0f"
+SRCREV = "1180421f50f211984211e968eb6801ffd3390b8f"
SRC_URI = "git://github.com/${BPN}/${BPN}.git;branch=master;protocol=https"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb b/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb
index fc07c6e698..d7c76a5971 100644
--- a/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb
@@ -6,11 +6,11 @@ LIC_FILES_CHKSUM = "\
HOMEPAGE = "http://www.libimobiledevice.org/"
-DEPENDS = "libirecovery libimobiledevice libzip curl"
+DEPENDS = "libirecovery libimobiledevice libzip curl libimobiledevice-glue openssl"
PV = "1.0.1+git${SRCPV}"
-SRCREV = "280575bb95977241e240ed081a2602d68746443e"
+SRCREV = "7d622d916be16f2df5a72bf53a42f3a326bbfaa4"
SRC_URI = "git://github.com/libimobiledevice/idevicerestore;protocol=https;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb
index b8167f5a72..010288b0d6 100644
--- a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb
+++ b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb
@@ -24,6 +24,7 @@ EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --disable
CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG[cxx] = "--with-magick-plus-plus,--without-magick-plus-plus"
PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz"
PACKAGECONFIG[jp2] = "--with-jp2,,jasper"
PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz"
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-Makefile-fix-parallel-build-of-examples.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-Makefile-fix-parallel-build-of-examples.patch
new file mode 100644
index 0000000000..84dee415ad
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-Makefile-fix-parallel-build-of-examples.patch
@@ -0,0 +1,46 @@
+From cbe8bd2948f522062c6170f581e1e265692a9a55 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Sun, 24 Oct 2021 18:53:04 +0100
+Subject: [PATCH] Makefile: fix parallel build of examples
+
+Without the change examples fails to build as:
+
+ $ LANG=C make -j
+ make -C src
+ make -C examples
+ make[1]: Entering directory 'libb64/src'
+ cc -O3 -Werror -pedantic -I../include -c -o cencode.o cencode.c
+ make[1]: Entering directory 'libb64/examples'
+ make[1]: *** No rule to make target 'libb64.a', needed by 'c-example1'. Stop.
+ make[1]: Leaving directory 'libb64/examples'
+ make: *** [Makefile:8: all_examples] Error 2
+ make: *** Waiting for unfinished jobs....
+ cc -O3 -Werror -pedantic -I../include -c -o cdecode.o cdecode.c
+ ar rv libb64.a cencode.o cdecode.o
+ ar: creating libb64.a
+ a - cencode.o
+ a - cdecode.o
+ make[1]: Leaving directory 'libb64/src'
+
+Upstream-Status: Submitted [https://github.com/libb64/libb64/pull/9]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index db40356..aa48c76 100644
+--- a/Makefile
++++ b/Makefile
+@@ -4,7 +4,7 @@ all_src:
+ $(MAKE) -C src
+ all_base64: all_src
+ $(MAKE) -C base64
+-all_examples:
++all_examples: all_src
+ $(MAKE) -C examples
+
+ clean: clean_src clean_base64 clean_include clean_examples
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-examples-Use-proper-function-prototype-for-main.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-examples-Use-proper-function-prototype-for-main.patch
new file mode 100644
index 0000000000..42e889efc2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-examples-Use-proper-function-prototype-for-main.patch
@@ -0,0 +1,27 @@
+From 98eaf510f40e384b32c01ad4bd5c3a697fdd8560 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 24 Aug 2022 14:34:38 -0700
+Subject: [PATCH] examples: Use proper function prototype for main
+
+Upstream-Status: Submitted [https://github.com/libb64/libb64/pull/10]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ examples/c-example1.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/examples/c-example1.c b/examples/c-example1.c
+index a0001df..34585dd 100644
+--- a/examples/c-example1.c
++++ b/examples/c-example1.c
+@@ -83,7 +83,7 @@ char* decode(const char* input)
+ }
+
+
+-int main()
++int main(int argc, char** argv)
+ {
+ const char* input = "hello world";
+ char* encoded;
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch
deleted file mode 100644
index 10ec8e14a8..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From ee03e265804a07a0da5028b86960031bd7ab86b2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Mar 2021 22:01:13 -0700
-Subject: [PATCH] use BUFSIZ as buffer size
-
-Author: Jakub Wilk <jwilk@debian.org>
-Bug: http://sourceforge.net/tracker/?func=detail&atid=785907&aid=3591336&group_id=152942
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- include/b64/decode.h | 3 ++-
- include/b64/encode.h | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/include/b64/decode.h b/include/b64/decode.h
-index 12b16ea..e9019f3 100644
---- a/include/b64/decode.h
-+++ b/include/b64/decode.h
-@@ -8,6 +8,7 @@ For details, see http://sourceforge.net/projects/libb64
- #ifndef BASE64_DECODE_H
- #define BASE64_DECODE_H
-
-+#include <cstdio>
- #include <iostream>
-
- namespace base64
-@@ -22,7 +23,7 @@ namespace base64
- base64_decodestate _state;
- int _buffersize;
-
-- decoder(int buffersize_in = BUFFERSIZE)
-+ decoder(int buffersize_in = BUFSIZ)
- : _buffersize(buffersize_in)
- {}
-
-diff --git a/include/b64/encode.h b/include/b64/encode.h
-index 5d807d9..e7a7035 100644
---- a/include/b64/encode.h
-+++ b/include/b64/encode.h
-@@ -8,6 +8,7 @@ For details, see http://sourceforge.net/projects/libb64
- #ifndef BASE64_ENCODE_H
- #define BASE64_ENCODE_H
-
-+#include <cstdio>
- #include <iostream>
-
- namespace base64
-@@ -22,7 +23,7 @@ namespace base64
- base64_encodestate _state;
- int _buffersize;
-
-- encoder(int buffersize_in = BUFFERSIZE)
-+ encoder(int buffersize_in = BUFSIZ)
- : _buffersize(buffersize_in)
- {}
-
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0003-fix-integer-overflows.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0003-fix-integer-overflows.patch
deleted file mode 100644
index 8854bb6af4..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0003-fix-integer-overflows.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 7b30fbc3d47dfaf38d8ce8b8949a69d2984dac76 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Mar 2021 22:06:03 -0700
-Subject: [PATCH] fix integer overflows
-
-Author: Jakub Wilk <jwilk@debian.org>
-Bug: http://sourceforge.net/tracker/?func=detail&aid=3591129&group_id=152942&atid=785907
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/cdecode.c | 15 ++++++++-------
- 1 file changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/src/cdecode.c b/src/cdecode.c
-index a6c0a42..4e47e9f 100644
---- a/src/cdecode.c
-+++ b/src/cdecode.c
-@@ -9,10 +9,11 @@ For details, see http://sourceforge.net/projects/libb64
-
- int base64_decode_value(char value_in)
- {
-- static const char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51};
-+ static const signed char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51};
- static const char decoding_size = sizeof(decoding);
-+ if (value_in < 43) return -1;
- value_in -= 43;
-- if (value_in < 0 || value_in >= decoding_size) return -1;
-+ if (value_in > decoding_size) return -1;
- return decoding[(int)value_in];
- }
-
-@@ -26,7 +27,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex
- {
- const char* codechar = code_in;
- char* plainchar = plaintext_out;
-- char fragment;
-+ int fragment;
-
- *plainchar = state_in->plainchar;
-
-@@ -42,7 +43,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex
- state_in->plainchar = *plainchar;
- return plainchar - plaintext_out;
- }
-- fragment = (char)base64_decode_value(*codechar++);
-+ fragment = base64_decode_value(*codechar++);
- } while (fragment < 0);
- *plainchar = (fragment & 0x03f) << 2;
- case step_b:
-@@ -53,7 +54,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex
- state_in->plainchar = *plainchar;
- return plainchar - plaintext_out;
- }
-- fragment = (char)base64_decode_value(*codechar++);
-+ fragment = base64_decode_value(*codechar++);
- } while (fragment < 0);
- *plainchar++ |= (fragment & 0x030) >> 4;
- *plainchar = (fragment & 0x00f) << 4;
-@@ -65,7 +66,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex
- state_in->plainchar = *plainchar;
- return plainchar - plaintext_out;
- }
-- fragment = (char)base64_decode_value(*codechar++);
-+ fragment = base64_decode_value(*codechar++);
- } while (fragment < 0);
- *plainchar++ |= (fragment & 0x03c) >> 2;
- *plainchar = (fragment & 0x003) << 6;
-@@ -77,7 +78,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex
- state_in->plainchar = *plainchar;
- return plainchar - plaintext_out;
- }
-- fragment = (char)base64_decode_value(*codechar++);
-+ fragment = base64_decode_value(*codechar++);
- } while (fragment < 0);
- *plainchar++ |= (fragment & 0x03f);
- }
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0004-Fix-off-by-one-error.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0004-Fix-off-by-one-error.patch
deleted file mode 100644
index e19dbad08d..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0004-Fix-off-by-one-error.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 8144fd9e02bd5ccd1e080297b19a1e9eb4d3ff96 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Mar 2021 22:07:15 -0700
-Subject: [PATCH] Fix off by one error
-
-Launchpad bug #1501176 reported by William McCall on 2015-09-30
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/cdecode.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/cdecode.c b/src/cdecode.c
-index 4e47e9f..45da4e1 100644
---- a/src/cdecode.c
-+++ b/src/cdecode.c
-@@ -13,7 +13,7 @@ int base64_decode_value(char value_in)
- static const char decoding_size = sizeof(decoding);
- if (value_in < 43) return -1;
- value_in -= 43;
-- if (value_in > decoding_size) return -1;
-+ if (value_in >= decoding_size) return -1;
- return decoding[(int)value_in];
- }
-
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0005-make-overriding-CFLAGS-possible.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0005-make-overriding-CFLAGS-possible.patch
deleted file mode 100644
index e93015ee48..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0005-make-overriding-CFLAGS-possible.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From a7914d5ffee6ffdfb3f2b8ebcc22c8367d078301 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Mar 2021 22:08:43 -0700
-Subject: [PATCH] make overriding CFLAGS possible
-
-Author: Jakub Wilk <jwilk@debian.org>
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- base64/Makefile | 2 +-
- src/Makefile | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/base64/Makefile b/base64/Makefile
-index 30a2c5c..783a248 100644
---- a/base64/Makefile
-+++ b/base64/Makefile
-@@ -3,7 +3,7 @@ BINARIES = base64
- # Build flags (uncomment one)
- #############################
- # Release build flags
--CFLAGS += -O3
-+CFLAGS ?= -O3
- #############################
- # Debug build flags
- #CFLAGS += -g
-diff --git a/src/Makefile b/src/Makefile
-index 28b2382..48801fc 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -3,7 +3,7 @@ LIBRARIES = libb64.a
- # Build flags (uncomment one)
- #############################
- # Release build flags
--CFLAGS += -O3
-+CFLAGS ?= -O3
- #############################
- # Debug build flags
- #CFLAGS += -g
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0006-do-not-export-the-CHARS_PER_LINE-variable.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0006-do-not-export-the-CHARS_PER_LINE-variable.patch
deleted file mode 100644
index 9ba08c87ee..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0006-do-not-export-the-CHARS_PER_LINE-variable.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From a1b9bb4af819ed389675f16e4a521efeda4cc3f3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Mar 2021 22:10:48 -0700
-Subject: [PATCH] do not export the CHARS_PER_LINE variable
-
-The library exports a variable named "CHARS_PER_LINE". This is a generic name that could conflict with a name in user's code.
-Please either rename the variable or make it static.
-
-Upstream-Status: Submitted [http://sourceforge.net/tracker/?func=detail&aid=3591420&group_id=152942&atid=785907]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/cencode.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/cencode.c b/src/cencode.c
-index 03ba5b6..3df62a8 100644
---- a/src/cencode.c
-+++ b/src/cencode.c
-@@ -7,7 +7,7 @@ For details, see http://sourceforge.net/projects/libb64
-
- #include <b64/cencode.h>
-
--const int CHARS_PER_LINE = 72;
-+static const int CHARS_PER_LINE = 72;
-
- void base64_init_encodestate(base64_encodestate* state_in)
- {
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0007-initialize-encoder-decoder-state-in-the-constructors.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0007-initialize-encoder-decoder-state-in-the-constructors.patch
deleted file mode 100644
index fdf8339bed..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0007-initialize-encoder-decoder-state-in-the-constructors.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From c1ba44d83cc7d9d756cfb063717852eae9d03328 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Mar 2021 22:12:41 -0700
-Subject: [PATCH] initialize encoder/decoder state in the constructors
-
-Author: Jakub Wilk <jwilk@debian.org>
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- include/b64/decode.h | 4 +++-
- include/b64/encode.h | 4 +++-
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/include/b64/decode.h b/include/b64/decode.h
-index e9019f3..aefb7bc 100644
---- a/include/b64/decode.h
-+++ b/include/b64/decode.h
-@@ -25,7 +25,9 @@ namespace base64
-
- decoder(int buffersize_in = BUFSIZ)
- : _buffersize(buffersize_in)
-- {}
-+ {
-+ base64_init_decodestate(&_state);
-+ }
-
- int decode(char value_in)
- {
-diff --git a/include/b64/encode.h b/include/b64/encode.h
-index e7a7035..33848b3 100644
---- a/include/b64/encode.h
-+++ b/include/b64/encode.h
-@@ -25,7 +25,9 @@ namespace base64
-
- encoder(int buffersize_in = BUFSIZ)
- : _buffersize(buffersize_in)
-- {}
-+ {
-+ base64_init_encodestate(&_state);
-+ }
-
- int encode(char value_in)
- {
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64_1.2.1.bb b/meta-openembedded/meta-oe/recipes-support/libb64/libb64_2.0.0.1.bb
index 64a34fece7..8122419c5e 100644
--- a/meta-openembedded/meta-oe/recipes-support/libb64/libb64_1.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64_2.0.0.1.bb
@@ -2,22 +2,20 @@ SUMMARY = "Base64 Encoding/Decoding Routines"
DESCRIPTION = "base64 encoding/decoding library - runtime library \
libb64 is a library of ANSI C routines for fast encoding/decoding data into \
and from a base64-encoded format"
-HOMEPAGE = "http://libb64.sourceforge.net/"
+HOMEPAGE = "https://github.com/libb64"
LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ce551aad762074c7ab618a0e07a8dca3"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=81296a564fa0621472714aae7c763d96"
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${BP}.zip \
+PV .= "+2.0.0.2+git${SRCPV}"
+SRCREV = "ce864b17ea0e24a91e77c7dd3eb2d1ac4175b3f0"
+
+SRC_URI = "git://github.com/libb64/libb64;protocol=https;branch=master \
file://0001-example-Do-not-run-the-tests.patch \
- file://0002-use-BUFSIZ-as-buffer-size.patch \
- file://0003-fix-integer-overflows.patch \
- file://0004-Fix-off-by-one-error.patch \
- file://0005-make-overriding-CFLAGS-possible.patch \
- file://0006-do-not-export-the-CHARS_PER_LINE-variable.patch \
- file://0007-initialize-encoder-decoder-state-in-the-constructors.patch \
+ file://0001-Makefile-fix-parallel-build-of-examples.patch \
+ file://0001-examples-Use-proper-function-prototype-for-main.patch \
"
-SRC_URI[sha256sum] = "20106f0ba95cfd9c35a13c71206643e3fb3e46512df3e2efb2fdbf87116314b2"
-PARALLEL_MAKE = ""
+S = "${WORKDIR}/git"
CFLAGS += "-fPIC"
diff --git a/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb b/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb
index f142cb2287..b03a0c7f4a 100644
--- a/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb
@@ -12,8 +12,7 @@ LIC_FILES_CHKSUM= "\
DEPENDS = "libusb1 python3 swig-native"
SRC_URI = "http://www.intra2net.com/en/developer/${BPN}/download/${BPN}1-${PV}.tar.bz2"
-SRC_URI[md5sum] = "0c09fb2bb19a57c839fa6845c6c780a2"
-SRC_URI[sha256sum] = "ec36fb49080f834690c24008328a5ef42d3cf584ef4060f3a35aa4681cb31b74"
+SRC_URI[sha256sum] = "7c7091e9c86196148bd41177b4590dccb1510bfe6cea5bf7407ff194482eb049"
S = "${WORKDIR}/${BPN}1-${PV}"
@@ -22,7 +21,8 @@ inherit cmake binconfig pkgconfig python3native
PACKAGECONFIG ??= ""
PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on -DFTDIPP=on,-DFTDI_BUILD_CPP=off -DFTDIPP=off,boost"
-EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+EXTRA_OECMAKE = "-DSTATICLIBS=off -DEXAMPLES=off -DFTDI_EEPROM=off \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
-DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
-DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb
index 2cccf93bd5..3e6e5d567d 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb
@@ -19,7 +19,8 @@ PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3"
# Enable cxx bindings by default.
-PACKAGECONFIG ?= "cxx"
+PACKAGECONFIG ?= "cxx \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
# Always build tools - they don't have any additional
# requirements over the library.
@@ -56,8 +57,6 @@ RRECOMMENDS:${PN}-ptest += " \
"
RDEPENDS:${PN}-ptest += "bats python3-packaging"
-PACKAGECONFIG:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests', '', d)}"
-
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
diff --git a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.bb b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb
index c8e2167795..b81050b25a 100644
--- a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "https://www.msweet.org/mxml/"
BUGTRACKER = "https://github.com/michaelrsweet/mxml/issues"
SRC_URI = "git://github.com/michaelrsweet/mxml.git;nobranch=1;protocol=https"
-SRCREV = "0237559fdbcecae34157b547aa2b99e12de305a2"
+SRCREV = "fd47c7d115191c8a6bce2c781ffee41e179530f2"
S = "${WORKDIR}/git"
inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-teamd-Include-missing-headers-for-strrchr-and-memcmp.patch b/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-teamd-Include-missing-headers-for-strrchr-and-memcmp.patch
new file mode 100644
index 0000000000..5f8e56177e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-teamd-Include-missing-headers-for-strrchr-and-memcmp.patch
@@ -0,0 +1,46 @@
+From 49693cac37ee35ff673240c8060201efe0d999c2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 24 Aug 2022 22:27:03 -0700
+Subject: [PATCH] teamd: Include missing headers for strrchr and memcmp
+
+Compiler does not see the prototype for these functions otherwise and
+build fails e.g.
+
+| ../../git/teamd/teamd_phys_port_check.c:52:10: error: call to undeclared library function 'strrchr' with type 'char *(const char *, int)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+| start = strrchr(link, '/');
+| ^
+
+Upstream-Status: Submitted [https://github.com/jpirko/libteam/pull/68]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ teamd/teamd_phys_port_check.c | 1 +
+ teamd/teamd_runner_loadbalance.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/teamd/teamd_phys_port_check.c b/teamd/teamd_phys_port_check.c
+index 1eec129..c2454ab 100644
+--- a/teamd/teamd_phys_port_check.c
++++ b/teamd/teamd_phys_port_check.c
+@@ -19,6 +19,7 @@
+
+ #include <stdio.h>
+ #include <errno.h>
++#include <string.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+diff --git a/teamd/teamd_runner_loadbalance.c b/teamd/teamd_runner_loadbalance.c
+index a581472..421a7c6 100644
+--- a/teamd/teamd_runner_loadbalance.c
++++ b/teamd/teamd_runner_loadbalance.c
+@@ -17,6 +17,7 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <string.h>
+ #include <sys/socket.h>
+ #include <linux/netdevice.h>
+ #include <team.h>
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.31.bb b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.31.bb
index ad84389013..023cea9039 100644
--- a/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.31.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.31.bb
@@ -13,6 +13,7 @@ SRC_URI = "git://github.com/jpirko/libteam;branch=master;protocol=https \
file://0001-team_basic_test.py-disable-RedHat-specific-test.patch \
file://0001-team_basic_test.py-switch-to-python3.patch \
file://0001-team_basic_test.py-check-the-return-value.patch \
+ file://0001-teamd-Include-missing-headers-for-strrchr-and-memcmp.patch \
file://run-ptest \
"
SRCREV = "3ee12c6d569977cf1cd30d0da77807a07aa77158"
diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_6.3.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_6.4.bb
index 6d22bfc083..d499362308 100644
--- a/meta-openembedded/meta-oe/recipes-support/nano/nano_6.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/nano/nano_6.4.bb
@@ -13,7 +13,7 @@ RDEPENDS:${PN} = "ncurses-terminfo-base"
PV_MAJOR = "${@d.getVar('PV').split('.')[0]}"
SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz"
-SRC_URI[sha256sum] = "eb532da4985672730b500f685dbaab885a466d08fbbf7415832b95805e6f8687"
+SRC_URI[sha256sum] = "4199ae8ca78a7796de56de1a41b821dc47912c0307e9816b56cc317df34661c0"
UPSTREAM_CHECK_URI = "https://ftp.gnu.org/gnu/nano"
diff --git a/meta-openembedded/meta-oe/recipes-support/neon/neon/0001-Disable-installing-documentation.patch b/meta-openembedded/meta-oe/recipes-support/neon/neon/0001-Disable-installing-documentation.patch
new file mode 100644
index 0000000000..1f63df27ac
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/neon/neon/0001-Disable-installing-documentation.patch
@@ -0,0 +1,28 @@
+From f477408f1c24ce6e5589e5a99d369279916c7c6e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 24 Aug 2022 13:11:12 -0700
+Subject: [PATCH] Disable installing documentation
+
+It does not build
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index ed87a69..c32405c 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -125,7 +125,7 @@ Makefile: $(srcdir)/Makefile.in
+ neon-config: $(srcdir)/neon-config.in
+ @./config.status neon-config
+
+-install-docs: install-man install-html
++install-docs:
+
+ install-html:
+ $(INSTALL) -d $(DESTDIR)$(docdir)/html
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-oe/recipes-support/neon/neon/fix-package-check-for-libxml2.patch b/meta-openembedded/meta-oe/recipes-support/neon/neon/fix-package-check-for-libxml2.patch
deleted file mode 100644
index 92a05c0ef9..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/neon/neon/fix-package-check-for-libxml2.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-neon: Change the neon configure to use pkg-config instead of xml2-config
-
-xml2-config is broken for neon
-if packageconfig libxml2, webdav, zlib is enabled for neon
-we get the following configure error in the yocto build
-
-| configure: WebDAV support is enabled
-| checking for xml2-config... xml2-config
-| ERROR: /usr/bin/xml2-config should not be used, use an alternative such as pkg-config
-| ERROR: /usr/bin/xml2-config should not be used, use an alternative such as pkg-config
-| ERROR: /usr/bin/xml2-config should not be used, use an alternative such as pkg-config
-| checking libxml/xmlversion.h usability... no
-| checking libxml/xmlversion.h presence... no
-| checking for libxml/xmlversion.h... no
-| configure: error: could not find parser.h, libxml installation problem?
-| WARNING: exit code 1 from a shell command.
-
-The patch lets configure use pkg-config
-
-Upstream-Status: inappropriate
-(Upstream suggests to use latest 0.31 as per the discussion
-https://github.com/notroj/neon/discussions/47)
-
-Signed-off-by: Nisha Parrakat <Nisha.Parrakat@kpit.com>
---- a/macros/neon-xml-parser.m4 2008-07-19 23:52:35.000000000 +0200
-+++ b/macros/neon-xml-parser.m4 2021-02-15 23:56:59.202751257 +0100
-@@ -44,17 +44,17 @@
-
- dnl Find libxml2: run $1 if found, else $2
- AC_DEFUN([NE_XML_LIBXML2], [
--AC_CHECK_PROG(XML2_CONFIG, xml2-config, xml2-config)
-+AC_CHECK_PROG(XML2_CONFIG, pkg-config, pkg-config)
- if test -n "$XML2_CONFIG"; then
-- neon_xml_parser_message="libxml `$XML2_CONFIG --version`"
- AC_DEFINE(HAVE_LIBXML, 1, [Define if you have libxml])
-- # xml2-config in some versions erroneously includes -I/include
-- # in the --cflags output.
-- CPPFLAGS="$CPPFLAGS `$XML2_CONFIG --cflags | sed 's| -I/include||g'`"
-- NEON_LIBS="$NEON_LIBS `$XML2_CONFIG --libs | sed 's|-L/usr/lib ||g'`"
-+ PKG_CHECK_MODULES(XML, libxml-2.0 >= 2.4)
-+ AC_MSG_NOTICE([libxmlfound CFlags : , ${XML_CFLAGS}])
-+ CPPFLAGS="$CPPFLAGS ${XML_CFLAGS}"
-+ NEON_LIBS="$NEON_LIBS ${XML_LIBS}"
- AC_CHECK_HEADERS(libxml/xmlversion.h libxml/parser.h,,[
- AC_MSG_ERROR([could not find parser.h, libxml installation problem?])])
- neon_xml_parser=libxml2
-+ neon_xml_parser_message="libxml2"
- else
- $1
- fi
diff --git a/meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb b/meta-openembedded/meta-oe/recipes-support/neon/neon_0.32.2.bb
index 646a9eca13..0f4e971982 100644
--- a/meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/neon/neon_0.32.2.bb
@@ -3,35 +3,46 @@ HOMEPAGE = "http://www.webdav.org/neon/"
SECTION = "libs"
LICENSE = "LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://src/COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a \
- file://src/ne_utils.h;beginline=1;endline=20;md5=2caca609538eddaa6f6adf120a218037"
+ file://src/ne_utils.h;beginline=1;endline=20;md5=34c8e338bfa0237561e68d30c3c71133"
SRC_URI = "${DEBIAN_MIRROR}/main/n/neon27/neon27_${PV}.orig.tar.gz \
file://pkgconfig.patch \
- file://fix-package-check-for-libxml2.patch \
+ file://0001-Disable-installing-documentation.patch \
file://run-ptest \
- "
+ "
-SRC_URI[md5sum] = "e28d77bf14032d7f5046b3930704ef41"
-SRC_URI[sha256sum] = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca"
+SRC_URI[sha256sum] = "7a25ba2c9223676b9aaec22a585a0ca118127bad71deed0b9ed6cd960fe5c353"
-inherit autotools binconfig-disabled lib_package pkgconfig ptest
+inherit autotools-brokensep binconfig-disabled lib_package pkgconfig ptest
# Enable gnutls or openssl, not both
-PACKAGECONFIG ?= "expat gnutls libproxy webdav zlib"
-PACKAGECONFIG:class-native = "expat gnutls webdav zlib"
+PACKAGECONFIG ?= "expat gnutls libproxy webdav zlib nls"
+PACKAGECONFIG:class-native = "expat gnutls webdav zlib nls"
+PACKAGECONFIG:remove:libc-musl = "nls"
PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat"
PACKAGECONFIG[gnutls] = "--with-ssl=gnutls,,gnutls"
PACKAGECONFIG[gssapi] = "--with-gssapi,--without-gssapi,krb5"
PACKAGECONFIG[libproxy] = "--with-libproxy,--without-libproxy,libproxy"
PACKAGECONFIG[libxml2] = "--with-libxml2,--without-libxml2,libxml2"
+PACKAGECONFIG[nls] = ",--disable-nls,gettext-native"
PACKAGECONFIG[openssl] = "--with-ssl=openssl,,openssl"
PACKAGECONFIG[webdav] = "--enable-webdav,--disable-webdav,"
PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
-EXTRA_OECONF += "--enable-shared"
+EXTRA_OECONF += "--enable-shared --enable-threadsafe-ssl=posix"
+
+# Do not install into /usr/local
+EXTRA_OEMAKE:append:class-native = "prefix=${prefix_native}"
+
+do_configure:prepend() {
+ echo "${PV}" > ${S}/.version
+}
do_compile:append() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'nls', 'true', 'false', d)}; then
+ oe_runmake compile-gmo
+ fi
oe_runmake -C test
}
diff --git a/meta-openembedded/meta-oe/recipes-support/nspr/nspr/0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch b/meta-openembedded/meta-oe/recipes-support/nspr/nspr/0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch
new file mode 100644
index 0000000000..6ebc9c4ae6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/nspr/nspr/0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch
@@ -0,0 +1,30 @@
+From 13e9d66c24d1dce5179805ae5e1bf940409b4914 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Wed, 10 Aug 2022 15:21:07 +0800
+Subject: [PATCH] config/nspr-config.in: don't pass LDFLAGS
+
+Don't pass LDFLAGS to avoid exposing the build env info.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ config/nspr-config.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config/nspr-config.in b/config/nspr-config.in
+index 2cb62a0..2bec715 100755
+--- a/config/nspr-config.in
++++ b/config/nspr-config.in
+@@ -136,7 +136,7 @@ if test "$echo_libs" = "yes"; then
+ if test -n "$lib_nspr"; then
+ libdirs="$libdirs -lnspr${major_version}"
+ fi
+- os_ldflags="@LDFLAGS@"
++ os_ldflags="LDFLAGS"
+ for i in $os_ldflags ; do
+ if echo $i | grep \^-L >/dev/null; then
+ libdirs="$libdirs $i"
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/nspr/nspr_4.29.bb b/meta-openembedded/meta-oe/recipes-support/nspr/nspr_4.29.bb
index b60de08d2a..92c5234c34 100644
--- a/meta-openembedded/meta-oe/recipes-support/nspr/nspr_4.29.bb
+++ b/meta-openembedded/meta-oe/recipes-support/nspr/nspr_4.29.bb
@@ -12,6 +12,7 @@ SRC_URI = "http://ftp.mozilla.org/pub/nspr/releases/v${PV}/src/nspr-${PV}.tar.gz
file://0002-Add-nios2-support.patch \
file://0001-md-Fix-build-with-musl.patch \
file://Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch \
+ file://0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch \
file://nspr.pc.in \
"
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch b/meta-openembedded/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch
deleted file mode 100644
index f038b0aa91..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 67ccf77d97b76e8260c9d793ab172577e2393dbc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 19 Dec 2019 21:33:46 -0800
-Subject: [PATCH] use GNUInstallDirs for detecting install paths
-
-This helps with multilib builds
-
-Upstream-Status: Submitted [https://github.com/opencv/ade/pull/19]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- sources/ade/CMakeLists.txt | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/sources/ade/CMakeLists.txt b/sources/ade/CMakeLists.txt
-index 2d1dd20..46415d1 100644
---- a/sources/ade/CMakeLists.txt
-+++ b/sources/ade/CMakeLists.txt
-@@ -47,12 +47,14 @@ if(BUILD_ADE_DOCUMENTATION)
- VERBATIM)
- endif()
-
-+include(GNUInstallDirs)
-+
- install(TARGETS ade COMPONENT dev
- EXPORT adeTargets
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-- RUNTIME DESTINATION lib
-- INCLUDES DESTINATION include)
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-
- install(EXPORT adeTargets DESTINATION share/ade COMPONENT dev)
-
---
-2.24.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb b/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.2.bb
index 48a45143db..93b14ad4f3 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.2.bb
@@ -4,11 +4,9 @@ and processing framework. ADE Framework is suitable for \
organizing data flow processing and execution."
HOMEPAGE = "https://github.com/opencv/ade"
-SRC_URI = "git://github.com/opencv/ade.git;branch=master;protocol=https \
- file://0001-use-GNUInstallDirs-for-detecting-install-paths.patch \
- "
+SRC_URI = "git://github.com/opencv/ade.git;branch=master;protocol=https"
-SRCREV = "58b2595a1a95cc807be8bf6222f266a9a1f393a9"
+SRCREV = "1e02d7486bdb9c87993d91b9910e7cc6c4ddbf66"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
diff --git a/meta-openembedded/meta-oe/recipes-support/pcp/pcp_5.3.6.bb b/meta-openembedded/meta-oe/recipes-support/pcp/pcp_5.3.6.bb
index 48d536e1d6..0543d77a78 100644
--- a/meta-openembedded/meta-oe/recipes-support/pcp/pcp_5.3.6.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pcp/pcp_5.3.6.bb
@@ -34,7 +34,7 @@ USERADD_PACKAGES = "${PN}"
USERADD_PARAM:${PN} = "--system --home ${localstatedir}/lib/pcp --no-create-home \
--user-group pcp"
-USERADD_PACKAGES = "${PN}-testsuite"
+USERADD_PACKAGES += "${PN}-testsuite"
USERADD_PARAM:${PN}-testsuite = "--system --home ${localstatedir}/lib/pcp/testsuite --no-create-home \
--user-group pcpqa"
diff --git a/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite/0001-pcsc-spy-use-python3-only.patch b/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite/0001-pcsc-spy-use-python3-only.patch
deleted file mode 100644
index 3e7b0adda6..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite/0001-pcsc-spy-use-python3-only.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 75dd98876951d86890ceb30be521de57fd31e3c7 Mon Sep 17 00:00:00 2001
-From: Andrey Zhizhikin <andrey.z@gmail.com>
-Date: Mon, 27 Jan 2020 13:27:12 +0000
-Subject: [PATCH] pcsc-spy: use python3 only
-
-Python2 has been EOL and most distributions would not provide any
-support for it anymore. Since Python3 is available in all distributions
-now, switch pcsc-spy to use it exclusively.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
----
- src/spy/pcsc-spy | 9 ++-------
- 1 file changed, 2 insertions(+), 7 deletions(-)
-
-diff --git a/src/spy/pcsc-spy b/src/spy/pcsc-spy
-index 85222c6..965138e 100755
---- a/src/spy/pcsc-spy
-+++ b/src/spy/pcsc-spy
-@@ -1,4 +1,4 @@
--#! /usr/bin/python
-+#!/usr/bin/env python3
-
- """
- # Display PC/SC functions arguments
-@@ -22,12 +22,7 @@ from __future__ import print_function
- import os
- import signal
- import time
--try:
-- # for Python3
-- from queue import Queue
--except ImportError:
-- # for Python2
-- from Queue import Queue
-+from queue import Queue
- from threading import Thread
- from operator import attrgetter
-
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.9.0.bb b/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.9.8.bb
index 9ae091a09a..64c9c2a9da 100644
--- a/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.9.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.9.8.bb
@@ -9,13 +9,11 @@ LICENSE:${PN}-dbg = "BSD-3-Clause & GPL-3.0-or-later"
LICENSE:${PN}-spy = "GPL-3.0-or-later"
LICENSE:${PN}-spy-dev = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=628c01ba985ecfa21677f5ee2d5202f6"
+DEPENDS = "autoconf-archive-native"
-SRC_URI = "\
- https://pcsclite.apdu.fr/files/${BP}.tar.bz2 \
- file://0001-pcsc-spy-use-python3-only.patch \
-"
-SRC_URI[md5sum] = "eb595f2d398ff229207a6ec09fbc4e98"
-SRC_URI[sha256sum] = "0148d403137124552c5d0f10f8cdab2cbb8dfc7c6ce75e018faf667be34f2ef9"
+SRC_URI = "https://pcsclite.apdu.fr/files/${BP}.tar.bz2"
+SRC_URI[md5sum] = "d063c6ca17c17fab39a85132811e155d"
+SRC_URI[sha256sum] = "502d80c557ecbee285eb99fe8703eeb667bcfe067577467b50efe3420d1b2289"
inherit autotools systemd pkgconfig perlnative
@@ -54,6 +52,6 @@ RPROVIDES:${PN} += "${PN}-systemd"
RREPLACES:${PN} += "${PN}-systemd"
RCONFLICTS:${PN} += "${PN}-systemd"
SYSTEMD_SERVICE:${PN} = "pcscd.socket"
-RDEPENDS:${PN}-spy +="python3"
+RDEPENDS:${PN}-spy += "python3-core"
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-unbundled-PCRE2-dependency.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-unbundled-PCRE2-dependency.patch
deleted file mode 100644
index 1a9d23cee4..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-unbundled-PCRE2-dependency.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f049898c8bf058ed187de8e5fab20abeaab1f3b6 Mon Sep 17 00:00:00 2001
-From: Alex Fabijanic <alex@pocoproject.org>
-Date: Sat, 9 Jul 2022 19:13:04 +0200
-Subject: [PATCH] fix(cmake): PocoFoundationConfig.cmake should now check for
- PCRE2 #3677
-
-Upstream-Status: Backport [https://github.com/pocoproject/poco/issues/3677]
-
----
- Foundation/cmake/PocoFoundationConfig.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Foundation/cmake/PocoFoundationConfig.cmake b/Foundation/cmake/PocoFoundationConfig.cmake
-index 46c2d3fc00..82c5788940 100644
---- a/Foundation/cmake/PocoFoundationConfig.cmake
-+++ b/Foundation/cmake/PocoFoundationConfig.cmake
-@@ -2,7 +2,7 @@ if(@POCO_UNBUNDLED@)
- include(CMakeFindDependencyMacro)
- list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
- find_dependency(ZLIB REQUIRED)
-- find_dependency(PCRE REQUIRED)
-+ find_dependency(PCRE2 REQUIRED)
- endif()
-
- include("${CMAKE_CURRENT_LIST_DIR}/PocoFoundationTargets.cmake")
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/0002-remove-providers-unitialization.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0002-remove-providers-unitialization.patch
deleted file mode 100644
index 7d24b79f14..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco/0002-remove-providers-unitialization.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From c976c32e5249cb8a2433e7abfa095c1fe8dc4f8e Mon Sep 17 00:00:00 2001
-From: Alex Fabijanic <alex@pocoproject.org>
-Date: Wed, 13 Jul 2022 12:53:52 +0200
-Subject: [PATCH] fix(OpenSSLInitializer): remove providers unitialization
- #3562 #3567
-
-Upstream-Status: Backport [https://github.com/pocoproject/poco/issues/3562]
-
----
- Crypto/src/OpenSSLInitializer.cpp | 12 ------------
- 1 file changed, 12 deletions(-)
-
-diff --git a/Crypto/src/OpenSSLInitializer.cpp b/Crypto/src/OpenSSLInitializer.cpp
-index 4678d22299..c537c3f9c2 100644
---- a/Crypto/src/OpenSSLInitializer.cpp
-+++ b/Crypto/src/OpenSSLInitializer.cpp
-@@ -157,18 +157,6 @@ void OpenSSLInitializer::uninitialize()
- #endif
- delete [] _mutexes;
- #endif
--
--#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-- OSSL_PROVIDER* provider = nullptr;
-- if ((provider = _defaultProvider.exchange(nullptr)))
-- {
-- OSSL_PROVIDER_unload(provider);
-- }
-- if ((provider = _legacyProvider.exchange(nullptr)))
-- {
-- OSSL_PROVIDER_unload(provider);
-- }
--#endif
- }
- }
-
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.0.bb b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.2.bb
index c3b52c8885..5ecc5b8dee 100644
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.2.bb
@@ -8,13 +8,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
# These dependencies are required by Foundation
DEPENDS = "libpcre2 zlib"
-SRC_URI = " \
- git://github.com/pocoproject/poco.git;branch=master;protocol=https \
- file://0001-fix-unbundled-PCRE2-dependency.patch \
- file://0002-remove-providers-unitialization.patch \
- file://run-ptest \
- "
-SRCREV = "4ba8595ed83841d1fa240716b5652adc3772c36b"
+SRC_URI = "git://github.com/pocoproject/poco.git;branch=master;protocol=https \
+ file://run-ptest \
+ "
+SRCREV = "be19dc4a2f30eb97cc9bdd7551460db11cc27353"
UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)"
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.07.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.08.0.bb
index 33723a560d..c75bf79e47 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.07.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.08.0.bb
@@ -7,7 +7,7 @@ SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \
file://0001-Do-not-overwrite-all-our-build-flags.patch \
file://basename-include.patch \
"
-SRC_URI[sha256sum] = "420230c5c43782e2151259b3e523e632f4861342aad70e7e20b8773d9eaf3428"
+SRC_URI[sha256sum] = "b493328721402f25cb7523f9cdc2f7d7c59f45ad999bde75c63c90604db0f20b"
DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
diff --git a/meta-openembedded/meta-oe/recipes-support/satyr/files/0001-py_base_stacktrace.c-include-glib.h.patch b/meta-openembedded/meta-oe/recipes-support/satyr/files/0001-py_base_stacktrace.c-include-glib.h.patch
new file mode 100644
index 0000000000..fe3b1c12d2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/satyr/files/0001-py_base_stacktrace.c-include-glib.h.patch
@@ -0,0 +1,29 @@
+From 3b84fe4375292d00ebb605a5917e66129fe5f0cb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 24 Aug 2022 23:26:46 -0700
+Subject: [PATCH] py_base_stacktrace.c: include glib.h
+
+This file has references to g_free from glib-2.0 which needs this header
+
+Upstream-Status: Submitted [https://github.com/abrt/satyr/pull/333]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ python/py_base_stacktrace.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/python/py_base_stacktrace.c b/python/py_base_stacktrace.c
+index b9bd16c..301db84 100644
+--- a/python/py_base_stacktrace.c
++++ b/python/py_base_stacktrace.c
+@@ -17,7 +17,7 @@
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+-
++#include <glib.h>
+ #include "py_common.h"
+ #include "py_base_thread.h"
+ #include "py_base_stacktrace.h"
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.39.bb b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.39.bb
index 32f27f5cbd..be1ef3f790 100644
--- a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.39.bb
+++ b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.39.bb
@@ -9,6 +9,7 @@ inherit autotools-brokensep python3native pkgconfig
SRC_URI = "git://github.com/abrt/satyr.git;branch=master;protocol=https \
file://0002-fix-compile-failure-against-musl-C-library.patch \
+ file://0001-py_base_stacktrace.c-include-glib.h.patch \
"
SRCREV = "f8a0dbfe7fcc6e44f03d66ca5c81363aea318380"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.1.1.bb b/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.2.0.bb
index df441e8db2..2cd96a255d 100644
--- a/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.1.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.2.0.bb
@@ -9,7 +9,7 @@ DEPENDS += "php"
SRC_URI = "git://github.com/smarty-php/smarty.git;protocol=https;branch=master"
-SRCREV = "71036be8be02bf93735c47b0b745f722efbc729f"
+SRCREV = "97aeb14c6fc2fb733938809926e2f9d6c581a70d"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/spdlog/files/0001-Enable-use-of-external-fmt-library.patch b/meta-openembedded/meta-oe/recipes-support/spdlog/files/0001-Enable-use-of-external-fmt-library.patch
deleted file mode 100644
index 98c342fec4..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/spdlog/files/0001-Enable-use-of-external-fmt-library.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-Author: Nilesh Patra <npatra974@gmail.com>
-Description: Use external libfmt by default
-Last-Changed: Sun, May, 14 2020
-Forwarded: not-needed
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -87,7 +87,7 @@ option(SPDLOG_BUILD_WARNINGS "Enable com
-
- # install options
- option(SPDLOG_INSTALL "Generate the install target" ${SPDLOG_MASTER_PROJECT})
--option(SPDLOG_FMT_EXTERNAL "Use external fmt library instead of bundled" OFF)
-+option(SPDLOG_FMT_EXTERNAL "Use external fmt library instead of bundled" ON)
- option(SPDLOG_FMT_EXTERNAL_HO "Use external fmt header-only library instead of bundled" OFF)
- option(SPDLOG_NO_EXCEPTIONS "Compile with -fno-exceptions. Call abort() on any spdlog exceptions" OFF)
-
---- a/include/spdlog/tweakme.h
-+++ b/include/spdlog/tweakme.h
-@@ -71,7 +71,7 @@
- // In this case spdlog will try to include <fmt/format.h> so set your -I flag
- // accordingly.
- //
--// #define SPDLOG_FMT_EXTERNAL
-+#define SPDLOG_FMT_EXTERNAL 1
- ///////////////////////////////////////////////////////////////////////////////
-
- ///////////////////////////////////////////////////////////////////////////////
---- a/include/spdlog/fmt/bin_to_hex.h
-+++ b/include/spdlog/fmt/bin_to_hex.h
-@@ -5,6 +5,7 @@
-
- #pragma once
-
-+#include <spdlog/tweakme.h>
- #include <cctype>
- #include <spdlog/common.h>
-
---- a/include/spdlog/fmt/fmt.h
-+++ b/include/spdlog/fmt/fmt.h
-@@ -4,7 +4,7 @@
- //
-
- #pragma once
--
-+#include <spdlog/tweakme.h>
- //
- // Include a bundled header-only copy of fmtlib or an external one.
- // By default spdlog include its own copy.
---- a/include/spdlog/fmt/ostr.h
-+++ b/include/spdlog/fmt/ostr.h
-@@ -7,7 +7,7 @@
- //
- // include bundled or external copy of fmtlib's ostream support
- //
--
-+#include <spdlog/tweakme.h>
- #if !defined(SPDLOG_FMT_EXTERNAL)
- # ifdef SPDLOG_HEADER_ONLY
- # ifndef FMT_HEADER_ONLY
---- a/src/fmt.cpp
-+++ b/src/fmt.cpp
-@@ -6,6 +6,7 @@
- # error Please define SPDLOG_COMPILED_LIB to compile this file.
- #endif
-
-+#include <spdlog/tweakme.h>
- #if !defined(SPDLOG_FMT_EXTERNAL)
- # include <spdlog/fmt/bundled/format-inl.h>
-
diff --git a/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.9.2.bb b/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.10.0.bb
index d377241ad1..a7d9263513 100644
--- a/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.9.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.10.0.bb
@@ -3,16 +3,15 @@ HOMEPAGE = "https://github.com/gabime/spdlog/wiki"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-SRCREV = "eb3220622e73a4889eee355ffa37972b3cac3df5"
-SRC_URI = "git://github.com/gabime/spdlog.git;protocol=https;branch=v1.x; \
- file://0001-Enable-use-of-external-fmt-library.patch"
+SRCREV = "76fb40d95455f249bd70824ecfcae7a8f0930fa3"
+SRC_URI = "git://github.com/gabime/spdlog.git;protocol=https;branch=v1.x"
DEPENDS += "fmt"
S = "${WORKDIR}/git"
BBCLASSEXTEND = "native"
-# no need to build example&text&benchmarks on pure yocto
-EXTRA_OECMAKE += "-DSPDLOG_INSTALL=on -DSPDLOG_BUILD_SHARED=on -DSPDLOG_BUILD_EXAMPLES=off -DSPDLOG_BUILD_TESTS=off -DSPDLOG_BUILD_BENCH=off -DSPDLOG_FMT_EXTERNAL=on"
+# no need to build example & tests & benchmarks on pure yocto
+EXTRA_OECMAKE += "-DSPDLOG_INSTALL=on -DSPDLOG_BUILD_SHARED=on -DSPDLOG_BUILD_EXAMPLE=off -DSPDLOG_BUILD_TESTS=off -DSPDLOG_BUILD_BENCH=off -DSPDLOG_FMT_EXTERNAL=on"
inherit cmake
diff --git a/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb b/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb
index e1b9302a98..9dfb23cc7c 100644
--- a/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb
@@ -5,8 +5,8 @@ LICENSE="GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8c16666ae6c159876a0ba63099614381"
BPV = "1.0.0"
-PV = "1.0.1"
-SRCREV = "87da3bfc03f3088e2e880b6b48195bb225fafeac"
+PV = "1.0.2"
+SRCREV = "1748e092425a4a0ff693aa347062a57fc1ffdd00"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/tree/tree_2.0.2.bb b/meta-openembedded/meta-oe/recipes-support/tree/tree_2.0.3.bb
index 26b6074ed3..c5f3364a37 100644
--- a/meta-openembedded/meta-oe/recipes-support/tree/tree_2.0.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/tree/tree_2.0.3.bb
@@ -5,7 +5,7 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
SRC_URI = "http://mama.indstate.edu/users/ice/tree/src/${BP}.tgz"
-SRC_URI[sha256sum] = "7d693a1d88d3c4e70a73e03b8dbbdc12c2945d482647494f2f5bd83a479eeeaf"
+SRC_URI[sha256sum] = "ba14e77b5f9dc7f8250c3f702ec5b6be2f93cd0fa87311bab3239676866a3b1d"
# tree's default CFLAGS for Linux
CFLAGS += "-Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-utils-fix-build-against-5.15-libc-headers-headers.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-utils-fix-build-against-5.15-libc-headers-headers.patch
deleted file mode 100644
index 203eec6eec..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-utils-fix-build-against-5.15-libc-headers-headers.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 7213a5bfa3bd9f360d6be01e6dbd59d91095a0fd Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@gmail.com>
-Date: Thu, 4 Nov 2021 14:53:46 -0400
-Subject: [PATCH] utils: fix build against 5.15 libc-headers headers
-
-In kernel v5.15+ stdarg.h is part of the kernel source, and the
-upstream project has a change to prefer that stdarg.h to the
-c-library variant and hence includes it as <linux/stdarg.h>, which
-leads to the following build error:
-
- | In file included from ../vboxsf/include/iprt/types.h:34,
- | from ../vboxsf/include/iprt/string.h:33,
- | from mount.vboxsf.c:53:
- | ../vboxsf/include/iprt/stdarg.h:49:13: fatal error: linux/stdarg.h: No such file or directory
- | 49 | # include <linux/stdarg.h>
- | | ^~~~~~~~~~~~~~~~
-
-If we modify our build of the vboxdrivers to have the kernel source
-directory on the include path (to find linux/stdarg.h, that leads
-to the following errors:
-
- In file included from build/tmp/work/qemux86_64-poky-linux/vboxguestdrivers/6.1.28-r0/recipe-sysroot/usr/include/stdlib.h:394,
- | from mount.vboxsf.c:36:
- | build/tmp/work/qemux86_64-poky-linux/vboxguestdrivers/6.1.28-r0/recipe-sysroot/usr/include/sys/types.h:192:20: note: previous declaration of 'blkcnt_t' with type 'blkcnt_t' {aka 'long int'}
- | 192 | typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */
- | | ^~~~~~~~
- | In file included from build/tmp/work-shared/qemux86-64/kernel-source/include/linux/time.h:5,
- | from poky/build/tmp/work-shared/qemux86-64/kernel-source/include/linux/stat.h:19,
- | from build/tmp/work/qemux86_64-poky-linux/vboxguestdrivers/6.1.28-r0/recipe-sysroot/usr/include/bits/statx.h:31,
-
-Our libc-headers are safe and don't lead to the potential conflicing
-information that the upstream commit is guarding against. The easiest
-solution is to revert the upstream change and trust our headers.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- vboxsf/include/iprt/stdarg.h | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-diff --git a/include/iprt/stdarg.h b/include/iprt/stdarg.h
-index c73093c..7bffde5 100644
---- a/include/iprt/stdarg.h
-+++ b/include/iprt/stdarg.h
-@@ -44,12 +44,7 @@
- # define __builtin_stdarg_start __builtin_va_start
- # endif
- # elif defined(RT_OS_LINUX) && defined(IN_RING0)
--# include "linux/version.h"
--# if RTLNX_VER_MIN(5,15,0) || RTLNX_RHEL_MAJ_PREREQ(9,1)
--# include <linux/stdarg.h>
--# else
--# include <stdarg.h>
--# endif
-+# include <stdarg.h>
- # else
- # include <stdarg.h>
- # endif
---
-2.19.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.36.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.36.bb
index 37dd0224d6..7eb497ab11 100644
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.36.bb
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.36.bb
@@ -13,7 +13,6 @@ VBOX_NAME = "VirtualBox-${PV}"
SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
file://Makefile.utils \
- file://0001-utils-fix-build-against-5.15-libc-headers-headers.patch \
"
SRC_URI[sha256sum] = "e47942e42892c13c621869865e2b7b320340154f0fa74ecbdaf18fdaf70ef047"
@@ -30,6 +29,7 @@ EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1"
MAKE_TARGETS = "all"
addtask export_sources after do_patch before do_configure
+do_export_sources[depends] += "virtual/kernel:do_shared_workdir"
do_export_sources() {
mkdir -p "${S}"
@@ -42,6 +42,14 @@ do_export_sources() {
install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils
install ${S}/../Makefile.utils ${S}/utils/Makefile
+ # some kernel versions have issues with stdarg.h and compatibility with
+ # the sysroot and libc-headers/uapi. If we include the file directly from
+ # the kernel source (STAGING_KERNEL_DIR) we get conflicting types on many
+ # structures, due to kernel .h files being found before libc .h files.
+ # if we grab just this one file from the source, and put it into our
+ # file structure, everything holds together
+ mkdir -p ${S}/vboxsf/include/linux
+ install ${STAGING_KERNEL_DIR}/include/linux/stdarg.h ${S}/vboxsf/include/linux
}
do_configure:prepend() {
diff --git a/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.17.bb b/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.18.bb
index 75d7f27485..84fc9e2f18 100644
--- a/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.17.bb
+++ b/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.18.bb
@@ -3,8 +3,7 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "http://user-dirs.freedesktop.org/releases/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "e0564ec6d838e6e41864d872a29b3575"
-SRC_URI[sha256sum] = "2a07052823788e8614925c5a19ef5b968d8db734fdee656699ea4f97d132418c"
+SRC_URI[sha256sum] = "ec6f06d7495cdba37a732039f9b5e1578bcb296576fde0da40edb2f52220df3c"
inherit autotools gettext
diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.18.bb b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.19.bb
index 7ec6ae15f6..3e2e84f096 100644
--- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.18.bb
+++ b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.19.bb
@@ -17,7 +17,7 @@ SRC_URI = "https://github.com/neutrinolabs/${BPN}/releases/download/v${PV}/${BPN
file://0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch \
"
-SRC_URI[sha256sum] = "c5eea0af055fac90c632e44fb667f1a25c55de2e34b37127e4cb0aabaef90a0f"
+SRC_URI[sha256sum] = "94017d30e475c6d7a24f651e16791551862ae46f82d8de62385e63393f5f93d0"
CFLAGS += " -Wno-deprecated-declarations"
@@ -49,6 +49,7 @@ do_configure:prepend() {
do_compile:prepend() {
sed -i 's/(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am/(MAKE) $(AM_MAKEFLAGS) install-exec-am/g' ${S}/keygen/Makefile.in
+ echo "" > ${B}/xrdp_configure_options.h
}
do_install:append() {
diff --git a/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb b/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb
index 9a0c18dee4..252ef60def 100644
--- a/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb
+++ b/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb
@@ -15,7 +15,7 @@ SRC_URI[sha256sum] = "f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/cunit/files/releases"
-inherit autotools-brokensep remove-libtool ptest
+inherit autotools-brokensep ptest
EXTRA_OECONF = "--enable-memtrace --enable-automated --enable-basic --enable-console"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb
index 8545eb50f7..a9eec69502 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb
@@ -5,7 +5,7 @@ protocols should be able to share."
HOMEPAGE = "http://search.cpan.org/dist/Authen-SASL/"
SECTION = "libs"
-LICENSE = "Artistic-1.0|GPL-1.0-or-later"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://lib/Authen/SASL/Perl.pm;beginline=1;endline=3;md5=17123315bbcda19f484c07227594a609"
DEPENDS = "perl"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.38.bb b/meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.41.bb
index 8c56c206f7..6a6f012fd7 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.38.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libcurses/libcurses-perl_1.41.bb
@@ -10,7 +10,7 @@ DEPENDS += "perl ncurses "
SRC_URI = "http://www.cpan.org/authors/id/G/GI/GIRAFFED/Curses-${PV}.tar.gz"
-SRC_URI[sha256sum] = "d521408298eb6413b209ef29d4ffcba6f5f58ee1abc60160739a17aafcb8f2f2"
+SRC_URI[sha256sum] = "fb9efea8c7b5ed5f8ea5dee49d35252accfc05ee6e75cb9a37ab7c847cd261d7"
S = "${WORKDIR}/Curses-${PV}"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb b/meta-openembedded/meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb
index 51a2ad3498..43b7f4d5a9 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Keyed-Hashing for Message Authentication"
HOMEPAGE = "http://search.cpan.org/~gaas/Digest-HMAC-1.03/"
SECTION = "libs"
-LICENSE = "Artistic-1.0|GPL-1.0-or-later"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;beginline=13;endline=17;md5=da980cdc026faa065e5d5004115334e6"
RDEPENDS:${PN} = "libdigest-sha1-perl perl-module-extutils-makemaker perl-module-digest-md5"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libdigest/libdigest-sha1-perl_2.13.bb b/meta-openembedded/meta-perl/recipes-perl/libdigest/libdigest-sha1-perl_2.13.bb
index cd63675128..df89c9bcdb 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libdigest/libdigest-sha1-perl_2.13.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libdigest/libdigest-sha1-perl_2.13.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Digest::SHA1 - Perl interface to the SHA-1 algorithm"
HOMEPAGE = "http://search.cpan.org/~gaas/Digest-SHA1-2.13/"
SECTION = "libs"
-LICENSE = "Artistic-1.0|GPL-1.0-or-later"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;beginline=10;endline=14;md5=ff5867ebb4bc1103a7a416aef2fce00a"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-SHA1-${PV}.tar.gz \
diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.18.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb
index 999863b1fe..352517ca67 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.18.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb
@@ -15,7 +15,7 @@ LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://META.json;beginline=8;endline=10;md5=b12e3be1e17a7e99ca4f429ff32c28b5"
SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz"
-SRC_URI[sha256sum] = "74dcbd851171a68cf3ef225568ece47b0959b8e3cda887482fde97c1ae1691e2"
+SRC_URI[sha256sum] = "9163f848eef69e4d4cc8838397f0861fd9ea7ede001117dbd9694f8d95052ef5"
UPSTREAM_CHECK_REGEX = "Encode\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.074.bb b/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.074.bb
index 1d04f0054f..6249fd1d78 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.074.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.074.bb
@@ -9,7 +9,7 @@ mod_perl."
HOMEPAGE = "http://search.cpan.org/dist/IO-Socket-SSL/"
SECTION = "libs"
-LICENSE = "Artistic-1.0|GPL-1.0-or-later"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://META.yml;beginline=12;endline=12;md5=963ce28228347875ace682de56eef8e8"
RDEPENDS:${PN} += "\
diff --git a/meta-openembedded/meta-perl/recipes-perl/libipc/libipc-signal-perl_1.00.bb b/meta-openembedded/meta-perl/recipes-perl/libipc/libipc-signal-perl_1.00.bb
index 389be2c16c..203db7b10c 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libipc/libipc-signal-perl_1.00.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libipc/libipc-signal-perl_1.00.bb
@@ -5,7 +5,7 @@ dealing with signals."
HOMEPAGE = "http://search.cpan.org/~rosch/IPC-Signal-1.00/"
SECTION = "libs"
-LICENSE = "Artistic-1.0|GPL-1.0-or-later"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;beginline=16;endline=18;md5=f36550f59a0ae5e6e3b0be6a4da60d26"
S = "${WORKDIR}/IPC-Signal-${PV}"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb b/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.013.1.bb
index 20557a3f3e..27ed41e99d 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.013.1.bb
@@ -9,8 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "${CPAN_MIRROR}/authors/id/N/NE/NEZUMI/MIME-Charset-${PV}.tar.gz"
-SRC_URI[md5sum] = "71440416376248c31aa3bef753fae28d"
-SRC_URI[sha256sum] = "878c779c0256c591666bd06c0cde4c0d7820eeeb98fd1183082aee9a1e7b1d13"
+SRC_URI[sha256sum] = "1bb7a6e0c0d251f23d6e60bf84c9adefc5b74eec58475bfee4d39107e60870f0"
S = "${WORKDIR}/MIME-Charset-${PV}"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.17.bb b/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.17.bb
index 2c06728ed2..d1f6f8c59c 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.17.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.17.bb
@@ -8,7 +8,7 @@ one known mime type."
HOMEPAGE = "http://search.cpan.org/~markov/MIME-Types-${PV}"
SECTION = "libraries"
-LICENSE = "Artistic-1.0|GPL-1.0-or-later"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MIME-Types-${PV}.tar.gz \
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.68.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.68.bb
index 293f421205..dcc5ea88b1 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.68.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.68.bb
@@ -6,7 +6,7 @@ deleting or modifying entries."
SECTION = "libs"
-LICENSE = "Artistic-1.0|GPL-1.0-or-later"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;beginline=3;endline=5;md5=4d6588c2fa0d38ae162f6314d201d89e"
SRC_URI = "${CPAN_MIRROR}/authors/id/M/MA/MARSCHAP/perl-ldap-${PV}.tar.gz"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-telnet-perl_3.05.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-telnet-perl_3.05.bb
index d7d4201048..d1365f269c 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-telnet-perl_3.05.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-telnet-perl_3.05.bb
@@ -11,7 +11,7 @@ shell."
HOMEPAGE = "http://search.cpan.org/dist/Net-Telnet/"
SECTION = "Development/Libraries"
-LICENSE = "Artistic-1.0|GPL-1.0-or-later"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;beginline=4;endline=7;md5=e94ab3b72335e3cdadd6c1ff736dd714"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/J/JR/JROGERS/Net-Telnet-${PV}.tar.gz"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libproc/libproc-waitstat-perl_1.00.bb b/meta-openembedded/meta-perl/recipes-perl/libproc/libproc-waitstat-perl_1.00.bb
index ffd87ed0b5..643a704a1d 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libproc/libproc-waitstat-perl_1.00.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libproc/libproc-waitstat-perl_1.00.bb
@@ -5,7 +5,7 @@ on wait status values."
HOMEPAGE = "http://search.cpan.org/~rosch/Proc-WaitStat/"
SECTION = "libraries"
-LICENSE = "Artistic-1.0|GPL-1.0-or-later"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;beginline=21;endline=23;md5=f36550f59a0ae5e6e3b0be6a4da60d26"
RDEPENDS:${PN} += "perl libipc-signal-perl"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.36.bb b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.37.bb
index 7f539933d7..5148fbeb09 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.36.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.37.bb
@@ -17,8 +17,7 @@ CPAN_AUTHOR = "BIGJ"
SRC_URI = "${CPAN_MIRROR}/authors/id/B/BI/${CPAN_AUTHOR}/${CPAN_PACKAGE}-${PV}.tar.gz"
-SRC_URI[md5sum] = "3d958f43d36db263994affde5da09b51"
-SRC_URI[sha256sum] = "ecbca346d379cef8d3c0e4ac0c8eb3b2613d737ffaaeae52271c38d7bf3c6cda"
+SRC_URI[sha256sum] = "98ca32e7f2f5ea89b8bfb9a0609977f3d153e242e2e51705126cb954f1a06b57"
S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb b/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb
index c2898a9012..c2ea47ae5b 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb
@@ -8,7 +8,7 @@ your programs."
HOMEPAGE = "http://search.cpan.org/dist/XML-LibXML-1.99/"
SECTION = "libs"
-LICENSE = "Artistic-1.0|GPL-1.0-or-later"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
DEPENDS += "libxml2 \
libxml-sax-perl-native \
zlib \
diff --git a/meta-openembedded/meta-python/README b/meta-openembedded/meta-python/README
index 01c51dc88c..36c193957c 100644
--- a/meta-openembedded/meta-python/README
+++ b/meta-openembedded/meta-python/README
@@ -19,11 +19,6 @@ The meta-python layer depends on:
layers: meta-oe
branch: master
-Please follow the recommended setup procedures of your OE distribution.
-For Angstrom that is:
- http://www.angstrom-distribution.org/building-angstrom,
-other distros should have similar online resources.
-
Contributing
-------------------------
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.5.0.bb
index 63d29a48fb..7507b8ffd0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.5.0.bb
@@ -4,7 +4,7 @@ SECTION = "devel/python"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=dab31a1d28183826937f4b152143a33f"
-SRC_URI[sha256sum] = "871c27da3d5a5b7d7c5049e6d23713425a2f251639ff1fb5fac460724ba42f15"
+SRC_URI[sha256sum] = "9a5aaf2fa97a889746142093e74143d5e3e02209fae428d1e2dbcc34a5c36efd"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref/run-ptest
new file mode 100644
index 0000000000..3385d68939
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref_3.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref_3.5.2.bb
new file mode 100644
index 0000000000..8604791992
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref_3.5.2.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "ASGI is a standard for Python asynchronous web apps and servers to communicate with each other, and positioned as an asynchronous successor to WSGI."
+HOMEPAGE = "https://pypi.org/project/asgiref/"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa"
+
+SRC_URI += "file://run-ptest \
+ "
+
+SRC_URI[sha256sum] = "4a29362a6acebe09bf1d6640db38c1dc3d9217c68e6f9f6204d72667fc19a424"
+
+export BUILD_SYS
+export HOST_SYS
+
+inherit pypi ptest setuptools3
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-asyncio \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-multiprocessing \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.8.bb
index da49040d76..973c57661b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.8.bb
@@ -7,8 +7,12 @@ PYPI_PACKAGE = "asttokens"
inherit pypi python_setuptools_build_meta
-SRC_URI[sha256sum] = "9a54c114f02c7a9480d56550932546a3f1fe71d8a02f1bc7ccd0ee3ee35cf4d5"
+SRC_URI[sha256sum] = "c61e16246ecfb2cde2958406b4c8ebc043c9e6d73aaa83c941673b35e5d3a76b"
DEPENDS += "python3-setuptools-scm-native"
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-six \
+"
+
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_22.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_22.7.1.bb
index 71da18f812..09957ad003 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_22.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_22.7.1.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://crossbar.io/autobahn"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=97c0bda20ad1d845c6369c0e47a1cd98"
-SRC_URI[sha256sum] = "fb63e946d5c2dd0df680851e84e65624a494ce87c999f2a4944e4f2d81bf4498"
+SRC_URI[sha256sum] = "8b462ea2e6aad6b4dc0ed45fb800b6cbfeb0325e7fe6983907f122f2be4a1fe9"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.8.0.bb
index cadb6f502d..550a8c439b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.8.0.bb
@@ -4,7 +4,7 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENCE.md;md5=92622b5a8e216099be741d78328bae5d"
-SRC_URI[sha256sum] = "38f580bfacf1c06b674bcd0f68e0c445ebb03fcd3700c6a2c588fb9313308e0f"
+SRC_URI[sha256sum] = "0469a801faafb3a7a13c529edc977ea04c3bce825af9ebb602f58012bc487db5"
RDEPENDS:${PN} += "python3-profile python3-logging"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_37.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_37.1.2.bb
index 1af1310aba..ec437eeceb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_37.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_37.1.2.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/eerimoq/cantools"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd"
-SRC_URI[sha256sum] = "9f2449e94a7698bd44bb50d9b464788053a0bf070faa09a132535c3aa07e7e6a"
+SRC_URI[sha256sum] = "0d84b879a18d869d182023cdebae9318095a8959ceee6309de59fd3c399dbfef"
PYPI_PACKAGE = "cantools"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_2.1.1.bb
index 7c3d3ffc14..1ab72e53d1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_2.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_2.1.1.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/ousret/charset_normalizer"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0974a390827087287db39928f7c524b5"
-SRC_URI[sha256sum] = "575e708016ff3a5e3681541cb9d79312c416835686d054a23accb873b254f413"
+SRC_URI[sha256sum] = "5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_6.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_6.4.4.bb
index d352cdadff..5bff96901c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_6.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_6.4.4.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://coverage.readthedocs.io"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
-SRC_URI[sha256sum] = "4321f075095a096e70aff1d002030ee612b65a205a0a0f5b815280d5dc58100c"
+SRC_URI[sha256sum] = "e16c45b726acb780e1e6f88b286d3c10b3914ab03438f32117c4aa52d7f30d58"
inherit pypi setuptools3
@@ -13,4 +13,7 @@ RDEPENDS:${PN} += " \
${PYTHON_PN}-pprint \
${PYTHON_PN}-json \
${PYTHON_PN}-xml \
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-io \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.11.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.0.bb
index 14f597c28f..b6977b029a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.11.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.0.bb
@@ -5,8 +5,9 @@ SECTION = "devel/python"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=efbcddfa5610ca0c07ecfa274a82b373"
-SRC_URI[sha256sum] = "ea23663153806edddce7e4153d1d407d62357c05120a4e8485bddf1bd5ab22b4"
+SRC_URI[sha256sum] = "c105b05f85e03fbcd60244375968e62e44fe798c15a3531c922d531018d22412"
inherit pypi setuptools3
-RDEPENDS:${PN} += "python3-toolz"
+DEPENDS += "${PYTHON_PN}-cython-native"
+RDEPENDS:${PN} += "${PYTHON_PN}-toolz"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.28.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.28.bb
deleted file mode 100644
index 9ef988176e..0000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.28.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require python-django.inc
-
-# Pin to 2.2.x LTS releases ONLY for this recipe
-UPSTREAM_CHECK_REGEX = "/${PYPI_PACKAGE}/(?P<pver>(2\.2\.\d*)+)/"
-
-inherit setuptools3
-
-SRC_URI[sha256sum] = "0200b657afbf1bc08003845ddda053c7641b9b24951e52acd51f6abda33a7413"
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-sqlparse \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.12.bb
index adbc498bdf..17d402d652 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.12.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.12.bb
@@ -5,9 +5,5 @@ SRC_URI[sha256sum] = "9772e6935703e59e993960832d66a614cf0233a1c5123bc6224ecc6ad6
RDEPENDS:${PN} += "\
${PYTHON_PN}-sqlparse \
+ ${PYTHON_PN}-asgiref \
"
-
-# Set DEFAULT_PREFERENCE so that the LTS version of django is built by
-# default. To build the 3.x branch,
-# PREFERRED_VERSION_python3-django = "3.2.2" can be added to local.conf
-DEFAULT_PREFERENCE = "-1"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.0.2.bb
index 690b9809dc..7f933d1a37 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.0.2.bb
@@ -5,6 +5,7 @@ SRC_URI[sha256sum] = "110fb58fb12eca59e072ad59fc42d771cd642dd7a2f2416582aa9da7a8
RDEPENDS:${PN} += "\
${PYTHON_PN}-sqlparse \
+ ${PYTHON_PN}-asgiref \
"
# Set DEFAULT_PREFERENCE so that the LTS version of django is built by
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.7.0.bb
index 8e17438262..bee89ed754 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.7.0.bb
@@ -2,8 +2,7 @@ SUMMARY = "Dominate is a Python library for creating and manipulating HTML docum
LICENSE = "LGPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
-SRC_URI[md5sum] = "9f714324ca99eee98bb3c3cdbe838de6"
-SRC_URI[sha256sum] = "76ec2cde23700a6fc4fee098168b9dee43b99c2f1dd0ca6a711f683e8eb7e1e4"
+SRC_URI[sha256sum] = "520101360892ebf9d0553f67d37e359ff92403d8a1e33814030503088a05da49"
inherit pypi setuptools3 ptest
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.3.4.bb
index 1a80a556ef..d89a54dc3d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.3.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.3.4.bb
@@ -17,4 +17,4 @@ RDEPENDS:${PN} += " \
python3-asyncio \
"
-SRC_URI[sha256sum] = "18474c452894c60590b2d2339d6c81b93fb9857f1be271a2e91fb2707eb4095d"
+SRC_URI[sha256sum] = "d8d8b072799c36cadcdcc2b40d2a560ce09797ab3d2d596b2ad519a5e4df19ae"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_3.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_3.0.1.bb
index e1f220af98..3d8a67ba56 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_3.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_3.0.1.bb
@@ -4,7 +4,7 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=bf9691ead96f1163622689e47ce3f366"
-SRC_URI[sha256sum] = "31578b179cf9430c21ac32a4e5f401c14b6e2cc1fd64ca3587cd354068217804"
+SRC_URI[sha256sum] = "c3872e3ac1e9ef3f8c6599aaca4ee536d536eefca63a6892ab937f0560edb656"
PYPI_PACKAGE = "eth_abi"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.7.0.bb
index 9c87d3f5d1..5b8c34ec8d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.7.0.bb
@@ -4,7 +4,7 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=287820ad3553117aa2f92bf84c219324"
-SRC_URI[sha256sum] = "54b0b7d661e73f4cd12d508c9baa5c9a6e8c194aa7bafc39277cd673683ae50e"
+SRC_URI[sha256sum] = "61360e9e514e09e49929ed365ca0e1656758ecbd11248c629ad85b4335c2661a"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.16.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.16.2.bb
index bb6c1ee813..a1d3392e19 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.16.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.16.2.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "https://github.com/seznam/python-fastjsonschema"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=18950e8362b69c0c617b42b8bd8e7532"
-SRCREV = "98399bb4029b2d7020d8abd9770661a5b2c4f9f8"
+SRCREV = "1aad747bab39d4b1201ab99917463f4079955ecd"
PYPI_SRC_URI = "git://github.com/horejsek/python-fastjsonschema;protocol=https;branch=master"
SRC_URI += "file://run-ptest"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.6.2.bb
index d19acd9b64..97d7bce359 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.6.2.bb
@@ -6,7 +6,7 @@ HOMEPAGE = " https://github.com/maxcountryman/flask-login"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8aa87a1cd9fa41d969ad32cfdac2c596"
-SRC_URI[sha256sum] = "1306d474a270a036d6fd14f45640c4d77355e4f1c67ca4331b372d3448997b8c"
+SRC_URI[sha256sum] = "c0a7baa9fdc448cdd3dd6f0939df72eec5177b2f7abe6cb82fc934d29caac9c3"
PYPI_PACKAGE = "Flask-Login"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.2.2.bb
index 95abddfd95..cceab72ede 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.1.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.2.2.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "https://github.com/mitsuhiko/flask/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75"
-SRC_URI[sha256sum] = "15972e5017df0575c3d6c090ba168b6db90259e620ac8d7ea813a396bad5b6cb"
+SRC_URI[sha256sum] = "642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b"
PYPI_PACKAGE = "Flask"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.3.1.bb
index 4dd77383b9..b95a014f55 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.3.1.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/aio-libs/frozenlist"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=cf056e8e7a0a5477451af18b7b5aa98c"
-SRC_URI[sha256sum] = "ce6f2ba0edb7b0c1d8976565298ad2deba6f8064d2bebb6ffce2ca896eb35b0b"
+SRC_URI[sha256sum] = "3a735e4211a04ccfa3f4833547acdf5d2f863bfeb01cfd3edaffbc251f15cec8"
inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_5.2.bb
index 995f3b779b..03231f926a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_5.2.bb
@@ -2,10 +2,10 @@ DESCRIPTION = "generate GCC code coverage reports"
HOMEPAGE = "https://gcovr.com"
SECTION = "devel/python"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=08208c66520e8d69d5367483186d94ed"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e59af597b3484fa3b52c0fbfd5d17611"
SRC_URI = "git://github.com/gcovr/gcovr.git;branch=master;protocol=https"
-SRCREV = "e71e883521b78122c49016eb4e510e6da06c6916"
+SRCREV = "1040a85ecfb3ef0d01635df9d50a3cae5059d566"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.54.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.57.0.bb
index af1b934c96..fdbad826bd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.54.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.57.0.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/googleapis/google-api-python-client"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRC_URI[sha256sum] = "90ebbae53025545b45962c0bc9874640511f35e929df773d034f40d9464c86af"
+SRC_URI[sha256sum] = "ec4412545b0c5978a833bb03993a46121ad2c700f32af0cba23f8439b3f5fb02"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.11.0.bb
index e884abac1b..d1698f5931 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.9.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.11.0.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
inherit pypi setuptools3
-SRC_URI[sha256sum] = "14292fa3429f2bb1e99862554cde1ee730d6840ebae067814d3d15d8549c0888"
+SRC_URI[sha256sum] = "ed65ecf9f681832298e29328e1ef0a3676e3732b2e56f41532d45f70a22de0fb"
RDEPENDS:${PN} += "\
${PYTHON_PN}-asyncio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.47.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.48.0.bb
index 90c8efeeca..fcd2840701 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.47.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.48.0.bb
@@ -10,7 +10,7 @@ inherit pypi setuptools3
DEPENDS += "${PYTHON_PN}-grpcio"
SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch"
-SRC_URI[sha256sum] = "f64b5378484be1d6ce59311f86174be29c8ff98d8d90f589e1c56d5acae67d3c"
+SRC_URI[sha256sum] = "dd7f757608e7dfae4ab2e7fc1e8951e6eb9526ebdc7ce90597329bc4c408c9a1"
RDEPENDS:${PN} = "${PYTHON_PN}-grpcio"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-absl-always-use-asm-sgidefs.h.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-absl-always-use-asm-sgidefs.h.patch
deleted file mode 100644
index be516ca508..0000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-absl-always-use-asm-sgidefs.h.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 8f21fdfb83b0fa844a9f1f03a86a9ca46642d85e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 9 Apr 2020 13:06:27 -0700
-Subject: [PATCH 1/2] absl: always use <asm/sgidefs.h>
-
-Fixes mips/musl build, since sgidefs.h is not present on all C libraries
-but on linux asm/sgidefs.h is there and contains same definitions, using
-that makes it portable.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- third_party/abseil-cpp/absl/base/internal/direct_mmap.h | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
---- a/third_party/abseil-cpp/absl/base/internal/direct_mmap.h
-+++ b/third_party/abseil-cpp/absl/base/internal/direct_mmap.h
-@@ -41,13 +41,9 @@
-
- #ifdef __mips__
- // Include definitions of the ABI currently in use.
--#ifdef __BIONIC__
--// Android doesn't have sgidefs.h, but does have asm/sgidefs.h, which has the
-+// bionic/musl C libs don't have sgidefs.h, but do have asm/sgidefs.h, which has the
- // definitions we need.
- #include <asm/sgidefs.h>
--#else
--#include <sgidefs.h>
--#endif // __BIONIC__
- #endif // __mips__
-
- // SYS_mmap and SYS_munmap are not defined in Android.
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch
index e8048fe940..c5fdcd63d2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch
@@ -8,7 +8,16 @@ An all-in-one patch that fixes several issues:
Sourced from void linux
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Xu Huan <xuhuan.fnst@fujitsu.com>
+---
+ absl/base/internal/unscaledcycleclock.cc | 4 ++--
+ absl/base/internal/unscaledcycleclock.h | 3 ++-
+ absl/debugging/internal/examine_stack.cc | 8 +++++++-
+ absl/debugging/internal/stacktrace_config.h | 2 +-
+ 4 files changed, 12 insertions(+), 5 deletions(-)
+diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
+index b1c396c..d62bfd6 100644
--- a/absl/base/internal/unscaledcycleclock.cc
+++ b/absl/base/internal/unscaledcycleclock.cc
@@ -20,7 +20,7 @@
@@ -20,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
#ifdef __GLIBC__
#include <sys/platform/ppc.h>
#elif defined(__FreeBSD__)
-@@ -59,7 +59,7 @@ double UnscaledCycleClock::Frequency() {
+@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
return base_internal::NominalCPUFrequency();
}
@@ -29,6 +38,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
int64_t UnscaledCycleClock::Now() {
#ifdef __GLIBC__
+diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
+index 2cbeae3..683a5ef 100644
--- a/absl/base/internal/unscaledcycleclock.h
+++ b/absl/base/internal/unscaledcycleclock.h
@@ -46,7 +46,8 @@
@@ -38,12 +49,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
- defined(__powerpc__) || defined(__ppc__) || defined(__riscv) || \
+ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
+ defined(__riscv) || \
- defined(_M_IX86) || defined(_M_X64)
+ defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
#define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
#else
+diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
+index 5bdd341..a784e0d 100644
--- a/absl/debugging/internal/examine_stack.cc
+++ b/absl/debugging/internal/examine_stack.cc
-@@ -27,6 +27,10 @@
+@@ -33,6 +33,10 @@
#include <csignal>
#include <cstdio>
@@ -54,7 +67,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
#include "absl/base/attributes.h"
#include "absl/base/internal/raw_logging.h"
#include "absl/base/macros.h"
-@@ -63,8 +67,10 @@ void* GetProgramCounter(void* vuc) {
+@@ -174,8 +178,10 @@ void* GetProgramCounter(void* const vuc) {
return reinterpret_cast<void*>(context->uc_mcontext.pc);
#elif defined(__powerpc64__)
return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
@@ -66,9 +79,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
#elif defined(__riscv)
return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
#elif defined(__s390__) && !defined(__s390x__)
+diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h
+index 3929b1b..23d5e50 100644
--- a/absl/debugging/internal/stacktrace_config.h
+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -59,7 +59,7 @@
+@@ -60,7 +60,7 @@
#elif defined(__i386__) || defined(__x86_64__)
#define ABSL_STACKTRACE_INL_HEADER \
"absl/debugging/internal/stacktrace_x86-inl.inc"
@@ -77,3 +92,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
#define ABSL_STACKTRACE_INL_HEADER \
"absl/debugging/internal/stacktrace_powerpc-inl.inc"
#elif defined(__aarch64__)
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.47.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.48.0.bb
index 24c6e53447..a16b88093a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.47.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.48.0.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Google gRPC"
HOMEPAGE = "http://www.grpc.io/"
SECTION = "devel/python"
LICENSE = "Apache-2.0 & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6e4cf218112648d22420a84281b68b88"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=731e401b36f8077ae0c134b59be5c906"
DEPENDS += "${PYTHON_PN}-protobuf"
@@ -10,10 +10,9 @@ SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch"
SRC_URI:append:class-target = " file://ppc-boringssl-support.patch \
file://boring_ssl.patch \
file://mips_bigendian.patch \
- file://0001-absl-always-use-asm-sgidefs.h.patch \
file://abseil-ppc-fixes.patch;patchdir=third_party/abseil-cpp \
"
-SRC_URI[sha256sum] = "5dbba95fab9b35957b4977b8904fc1fa56b302f9051eff4d7716ebb0c087f801"
+SRC_URI[sha256sum] = "eaf4bb73819863440727195411ab3b5c304f6663625e66f348e91ebe0a039306"
RDEPENDS:${PN} = "${PYTHON_PN}-protobuf \
${PYTHON_PN}-setuptools \
@@ -23,6 +22,8 @@ RDEPENDS:${PN} = "${PYTHON_PN}-protobuf \
inherit setuptools3
inherit pypi
+CFLAGS += "-D_LARGEFILE64_SOURCE"
+
export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY = "1"
BORING_SSL_PLATFORM:arm = "linux-arm"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.6.0.bb
index 1ed67d3260..65779187a1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.6.0.bb
@@ -2,7 +2,7 @@ SUMMARY = "Calculate the distance between 2 points on Earth"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-SRC_URI[sha256sum] = "357e41dfddc4a0f2b1c941d92a590cac840f7ce4b3da14b45b68d968b3ad7cc7"
+SRC_URI[sha256sum] = "eb7c308ba721e86662c1d50427cb9b06f9e7eb9984803d9ec200582425cc4fb7"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-hexbytes_0.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-hexbytes_0.3.0.bb
index 89792d9806..8402ddecd9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-hexbytes_0.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-hexbytes_0.3.0.bb
@@ -4,6 +4,6 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=287820ad3553117aa2f92bf84c219324"
-SRC_URI[sha256sum] = "a5881304d186e87578fb263a85317c808cf130e1d4b3d37d30142ab0f7898d03"
+SRC_URI[sha256sum] = "afeebfb800f5f15a3ca5bab52e49eabcb4b6dac06ec8ff01a94fdb890c6c0712"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.3.0.bb
index 2e4822cad8..55386b6907 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.2.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.3.0.bb
@@ -5,7 +5,7 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENCE;md5=4ecc42519e84f6f3e23529464df7bd1d"
-SRC_URI[sha256sum] = "2bc1fdd831cd00557d3010abdd84d3e41b4a96703a3eaf6c24ee290b26b75a44"
+SRC_URI[sha256sum] = "0dfac79fe8c1c0c734c14177b07b857bad9ae30dd50daa0a14e2c3d8054ee0c4"
inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.19.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.21.1.bb
index 6fa43930de..5c792a5db8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.19.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.21.1.bb
@@ -5,7 +5,7 @@ SECTION = "devel/python"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=24cb9a367a9e641b459a01c4d15256ba"
-SRC_URI[sha256sum] = "eb3cd70de8be87b72ea85716b7363c700b91144589ee6b5d7b49d42998b7d185"
+SRC_URI[sha256sum] = "5f0278217c1cf99d90ef855dab948f93d9fce0ab7ab388e13a597c706b7ec4e5"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_5.0.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_5.0.8.bb
index 12e9003798..88b1d6856e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_5.0.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_5.0.8.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/explodinglabs/jsonrpcserver"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=61b63ea9d36f6fb63ddaaaac8265304f"
-SRC_URI[sha256sum] = "b15d3fd043ad0c40b2ff17f7df2ddaec2e880bb923b40d133939a107c97fde5c"
+SRC_URI[sha256sum] = "5150071e4abc9a93f086aa0fd0004dfe0410de66adfaaf513613baa2c2fc00d7"
inherit pypi setuptools3
@@ -17,6 +17,7 @@ RDEPENDS:${PN} += "\
python3-netclient \
python3-pkgutil \
python3-oslash \
+ python3-typing-extensions \
"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.5.2.bb
index cd05b455d4..eaa144719b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.5.2.bb
@@ -14,14 +14,14 @@ LIC_FILES_CHKSUM = "\
DEPENDS = "\
freetype \
libpng \
- ${PYTHON_PN}-numpy-native \
- ${PYTHON_PN}-pip-native \
- ${PYTHON_PN}-dateutil-native \
- ${PYTHON_PN}-pytz-native \
- ${PYTHON_PN}-certifi-native \
+ python3-numpy-native \
+ python3-pip-native \
+ python3-dateutil-native \
+ python3-pytz-native \
+ python3-certifi-native \
"
-SRC_URI[sha256sum] = "b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c"
+SRC_URI[sha256sum] = "48cf850ce14fa18067f2d9e0d646763681948487a8080ec0af2686468b4607a2"
inherit pypi setuptools3 pkgconfig
@@ -44,13 +44,14 @@ LDFLAGS:remove:toolchain-clang:mips = "-fuse-ld=lld"
RDEPENDS:${PN} = "\
freetype \
libpng \
- ${PYTHON_PN}-numpy \
- ${PYTHON_PN}-pyparsing \
- ${PYTHON_PN}-cycler \
- ${PYTHON_PN}-dateutil \
- ${PYTHON_PN}-kiwisolver \
- ${PYTHON_PN}-pytz \
- ${PYTHON_PN}-pillow \
+ python3-numpy \
+ python3-pyparsing \
+ python3-cycler \
+ python3-dateutil \
+ python3-kiwisolver \
+ python3-pytz \
+ python3-pillow \
+ python3-packaging \
"
ENABLELTO:toolchain-clang:riscv64 = "echo enable_lto = False >> ${S}/mplsetup.cfg"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces/0001-netifaces-initialize-msghdr-in-a-portable-way.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces/0001-netifaces-initialize-msghdr-in-a-portable-way.patch
new file mode 100644
index 0000000000..7ff86cc8be
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces/0001-netifaces-initialize-msghdr-in-a-portable-way.patch
@@ -0,0 +1,49 @@
+From cbcd19f38ae4b31c57c57ce3619b8d2674defb68 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 28 Aug 2022 08:11:27 -0700
+Subject: [PATCH] netifaces: initialize msghdr in a portable way
+
+musl has padding bytes inside the msghdr struct which means initializing
+full structure will cause wrong assignments, doing partial assignment is
+more portable and assign the elements after that
+
+Fixes
+netifaces.c:1808:9: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]
+ NULL,
+ ^~~~
+
+Upstream-Status: Inappropriate [Upstream Repo is read-only]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ netifaces.c | 15 ++++++---------
+ 1 file changed, 6 insertions(+), 9 deletions(-)
+
+diff --git a/netifaces.c b/netifaces.c
+index 839c42c..7da78e7 100644
+--- a/netifaces.c
++++ b/netifaces.c
+@@ -1800,15 +1800,12 @@ gateways (PyObject *self)
+ do {
+ struct sockaddr_nl sanl_from;
+ struct iovec iov = { msgbuf, bufsize };
+- struct msghdr msghdr = {
+- &sanl_from,
+- sizeof(sanl_from),
+- &iov,
+- 1,
+- NULL,
+- 0,
+- 0
+- };
++ struct msghdr msghdr = { 0 };
++
++ msghdr.msg_name = &sanl_from;
++ msghdr.msg_namelen = sizeof(sanl_from);
++ msghdr.msg_iov = &iov;
++ msghdr.msg_iovlen = 1;
+ int nllen;
+
+ ret = recvmsg (s, &msghdr, 0);
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.11.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.11.0.bb
index 09e54b0baa..f211c69543 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.11.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.11.0.bb
@@ -4,6 +4,8 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a53cbc7cb75660694e138ba973c148df"
-SRC_URI[sha256sum] = "043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32"
-
inherit pypi setuptools3
+
+SRC_URI += "file://0001-netifaces-initialize-msghdr-in-a-portable-way.patch"
+
+SRC_URI[sha256sum] = "043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.8.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.8.5.bb
index 8181d90c0f..8d0b8dbb31 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.8.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.8.5.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://networkx.github.io/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=44614b6df7cf3c19be69d0a945e29904"
-SRC_URI[sha256sum] = "5e53f027c0d567cf1f884dbb283224df525644e43afd1145d64c9d88a3584762"
+SRC_URI[sha256sum] = "15a7b81a360791c458c55a417418ea136c13378cfdc06a2dcdc12bd2f9cf09c1"
inherit pypi setuptools3
@@ -16,4 +16,6 @@ RDEPENDS:${PN} += "\
${PYTHON_PN}-html \
${PYTHON_PN}-xml \
${PYTHON_PN}-json \
+ ${PYTHON_PN}-profile \
+ ${PYTHON_PN}-threading \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.4.bb
index a47c4a455f..006799c8bf 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.4.bb
@@ -3,6 +3,10 @@ HOMEPAGE = "https://github.com/pywbem/nocasedict"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742"
-SRC_URI[sha256sum] = "8220b97ba06b08eb2deded774c406c77e0ca0d5352ae71249f6f9d1f2a17bd7b"
+SRC_URI[sha256sum] = "7c111da4cefd244433cb63377aff081a40f84bddae9e6f376c67f086c0f806da"
inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-six \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.6.bb
index 22b8825801..9e6842961d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.6.bb
@@ -3,6 +3,6 @@ HOMEPAGE = "https://nocaselist.readthedocs.io/en/latest/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRC_URI[sha256sum] = "e1c12ca2ae9d345b34948f2c8f60e3894619e2be2ed28b4ecc5e7f1dea117d1d"
+SRC_URI[sha256sum] = "48f067f8cb841245f34d03120bc1ba9900f13b19cb51bcc6c7bee017f7c874da"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_3.3.0.bb
index 5520edc067..b98ee4942c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_3.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_3.3.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://code.google.com/p/prettytable"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=c9a6829fcd174d9535b46211917c7671"
-SRC_URI[sha256sum] = "43c9e23272ca253d038ae76fe3adde89794e92e7fcab2ddf5b94b38642ef4f21"
+SRC_URI[sha256sum] = "118eb54fd2794049b810893653b20952349df6d3bc1764e7facd8a18064fa9b0"
do_install:append() {
perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "*.txt" -o -name "PKG-INFO"`
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.24.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.30.bb
index 9a6798ad35..15627b1eb0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.24.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.30.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://python-prompt-toolkit.readthedocs.io/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b2cde7da89f0c1f3e49bf968d00d554f"
-SRC_URI[sha256sum] = "1bb05628c7d87b645974a1bad3f17612be0c29fa39af9f7688030163f680bad6"
+SRC_URI[sha256sum] = "859b283c50bde45f5f97829f77a4674d1c1fcd88539364f1b28a37805cfd89c0"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.21.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.21.5.bb
index 528f99ef20..537683000d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.21.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.21.5.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=53dbfa56f61b90215a
inherit pypi setuptools3
-SRC_URI[sha256sum] = "9130759e719bee1e6d05ca6a3037f7eff66d7a7ff6ba25871917dc40e8f3fbb6"
+SRC_URI[sha256sum] = "eb1106e87e095628e96884a877a51cdb90087106ee693925ec0a300468a9be3a"
# http://errors.yoctoproject.org/Errors/Details/184715/
# Can't find required file: ../src/google/protobuf/descriptor.proto
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-check-pointer-size-when-cross-compiling.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-check-pointer-size-when-cross-compiling.patch
deleted file mode 100644
index 761422e07e..0000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-check-pointer-size-when-cross-compiling.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 2e9318f7a70699eed239aee6301d1d0bbd2457ee Mon Sep 17 00:00:00 2001
-From: Philip Balister <philip@balister.org>
-Date: Fri, 10 Jul 2020 10:14:59 -0400
-Subject: [PATCH] Do not check pointer size when cross compiling.
-
-It is reasonable to build for 32 machine on a 64 bit build machine. Prevents:
-| CMake Error at tools/FindPythonLibsNew.cmake:127 (message):
-| Python config failure: Python is 64-bit, chosen compiler is 32-bit
-
-Signed-off-by: Philip Balister <philip@balister.org>
-Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
----
- tools/FindPythonLibsNew.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/FindPythonLibsNew.cmake b/tools/FindPythonLibsNew.cmake
-index 3605aebc..67f4d4a0 100644
---- a/tools/FindPythonLibsNew.cmake
-+++ b/tools/FindPythonLibsNew.cmake
-@@ -156,7 +156,7 @@ list(GET _PYTHON_VALUES 9 PYTHON_MULTIARCH)
-
- # Make sure the Python has the same pointer-size as the chosen compiler
- # Skip if CMAKE_SIZEOF_VOID_P is not defined
--if(CMAKE_SIZEOF_VOID_P AND (NOT "${PYTHON_SIZEOF_VOID_P}" STREQUAL "${CMAKE_SIZEOF_VOID_P}"))
-+if((NOT CMAKE_CROSSCOMPILING) AND CMAKE_SIZEOF_VOID_P AND (NOT "${PYTHON_SIZEOF_VOID_P}" STREQUAL "${CMAKE_SIZEOF_VOID_P}"))
- if(PythonLibsNew_FIND_REQUIRED)
- math(EXPR _PYTHON_BITS "${PYTHON_SIZEOF_VOID_P} * 8")
- math(EXPR _CMAKE_BITS "${CMAKE_SIZEOF_VOID_P} * 8")
---
-2.17.1
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.9.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.10.0.bb
index 433bfd60e8..66aefac3d6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.9.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.10.0.bb
@@ -7,9 +7,9 @@ DEPENDS = "boost"
SRC_URI = "git://github.com/pybind/pybind11.git;branch=stable;protocol=https \
file://0001-Do-not-strip-binaries.patch \
- file://0001-Do-not-check-pointer-size-when-cross-compiling.patch \
"
-SRCREV = "914c06fb252b6cc3727d0eedab6736e88a3fcb01"
+
+SRCREV = "aa304c9c7d725ffb9d10af08a3b34cb372307020"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.2.2.bb
index dacaaa7878..d2de4d3b74 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.2.2.bb
@@ -6,8 +6,7 @@ HOMEPAGE = "https://github.com/saghul/pycares"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b1538fcaea82ebf2313ed648b96c69b1"
-SRC_URI[md5sum] = "92fa9622ba42cb895d598910722e80b5"
-SRC_URI[sha256sum] = "735b4f75fd0f595c4e9184da18cd87737f46bc81a64ea41f4edce2b6b68d46d2"
+SRC_URI[sha256sum] = "e1f57a8004370080694bd6fb969a1ffc9171a59c6824d54f791c1b2e4d298385"
PYPI_PACKAGE = "pycares"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.9.1.bb
index 31720e2aab..928e2b2ae7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.9.1.bb
@@ -4,7 +4,7 @@ LICENSE = "MIT"
SECTION = "devel/python"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a8546d0e77f416fb05a26acd89c8b3bd"
-SRC_URI[sha256sum] = "eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f"
+SRC_URI[sha256sum] = "2c9607871d58c76354b697b42f5d57e1ada7d261c261efac224b664affdc5785"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_1.9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_1.9.1.bb
new file mode 100644
index 0000000000..1d113c9c50
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_1.9.1.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Data validation and settings management using Python type hinting"
+HOMEPAGE = "https://github.com/samuelcolvin/pydantic"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2c02ea30650b91528657db64baea1757"
+RDEPENDS:${PN} += "\
+ python3-typing-extensions \
+"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "1ed987c3ff29fff7fd8c3ea3a3ea877ad310aae2ef9889a119e22d3f2db0691a"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.5.0.bb
index 827ff0b292..5c75ea48aa 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.5.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/PyCQA/pyflakes"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=690c2d09203dc9e07c4083fc45ea981f"
-SRC_URI[sha256sum] = "05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"
+SRC_URI[sha256sum] = "491feb020dca48ccc562a8c0cbe8df07ee13078df59813b83959cbdada312ea3"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_2.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_2.0.4.bb
index 5b06e52aa1..888278af80 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_2.0.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_2.0.4.bb
@@ -3,10 +3,13 @@ HOMEPAGE = "https://github.com/hamcrest/PyHamcrest"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=79391bf1501c898472d043f36e960612"
-PYPI_PACKAGE = "PyHamcrest"
-
-SRC_URI[sha256sum] = "dfb19cf6d71743e086fbb761ed7faea5aacbc8ec10c17a08b93ecde39192a3db"
+SRC_URI[sha256sum] = "b5d9ce6b977696286cf232ce2adf8969b4d0b045975b0936ac9005e84e67e9c1"
inherit pypi python_setuptools_build_meta
-RDEPENDS:${PN} += "${PYTHON_PN}-six"
+DEPENDS += "${PYTHON_PN}-hatch-vcs-native"
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-numbers \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.4.1.bb
index 5172b0a05e..cb8282566a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.4.1.bb
@@ -13,11 +13,11 @@ Features: \
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=78bc2e6e87c8c61272937b879e6dc2f8"
-SRC_URI[sha256sum] = "8a85dd42e067131d5b26b71472336da7f7f4b87ff9c97350d89f5ff0de9adedc"
+SRC_URI[sha256sum] = "38cf5e90c56f906a8320ce82a50bfa92c902b93affd72e4dc81580115f355853"
DEPENDS += "${PYTHON_PN}-six-native"
PYPI_PACKAGE = "pyperf"
inherit pypi setuptools3
-RDEPENDS:${PN} += "${PYTHON_PN}-misc"
+RDEPENDS:${PN} += "${PYTHON_PN}-misc ${PYTHON_PN}-statistics"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pythonping_1.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pythonping_1.1.3.bb
index 75cef501f3..5e016fb928 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pythonping_1.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pythonping_1.1.3.bb
@@ -4,7 +4,7 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://setup.py;beginline=12;endline=12;md5=2d33c00f47720c7e35e1fdb4b9fab027"
-SRC_URI[sha256sum] = "0022f6cbe52762e9d596316e3bccb8a3b794355a49c0d788f7228d90f9461cfc"
+SRC_URI[sha256sum] = "3555a03439eb48d5e0e8c201f7c334c1e13b997d744f93453d4d601c0fc8330f"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_23.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_23.2.1.bb
index 003f35d916..40cb22b5e1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_23.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_23.2.1.bb
@@ -13,7 +13,7 @@ SRC_URI:append = " \
file://club-rpath-out.patch \
file://run-ptest \
"
-SRC_URI[sha256sum] = "a51f12a8719aad9dcfb55d456022f16b90abc8dde7d3ca93ce3120b40e3fa169"
+SRC_URI[sha256sum] = "2b381aa867ece7d0a82f30a0c7f3d4387b7cf2e0697e33efaa5bed6c5784abcd"
inherit pypi pkgconfig python_setuptools_build_meta ptest
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2022.7.24.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2022.8.17.bb
index 897aa76c35..4999fc64f4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2022.7.24.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2022.8.17.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7b5751ddd6b643203c31ff873051d069"
inherit pypi setuptools3
-SRC_URI[sha256sum] = "fa8a4bc81b15f49c57ede3fd636786c6619179661acf2430fcc387d75bf28d33"
+SRC_URI[sha256sum] = "5c77eab46f3a2b2cd8bbe06467df783543bf7396df431eb4a144cc4b89e9fb3c"
RDEPENDS:${PN} += " \
python3-stringold \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-unixsocket_0.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-unixsocket_0.3.0.bb
new file mode 100644
index 0000000000..330ab7c066
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-unixsocket_0.3.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Use requests to talk HTTP via a UNIX domain socket"
+HOMEPAGE = "https://pypi.org/project/requests-unixsocket/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+SRC_URI[sha256sum] = "28304283ea9357d45fff58ad5b11e47708cfbf5806817aa59b2a363228ee971e"
+
+PYPI_PACKAGE = "requests-unixsocket"
+
+inherit pypi
+inherit setuptools3
+
+DEPENDS += "python3-pbr-native"
+RDEPENDS_${PN} = "python3-requests python3-urllib3"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-declarative-requirements_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-declarative-requirements_1.3.0.bb
index 9628656ad6..82bb3415be 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-declarative-requirements_1.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-declarative-requirements_1.3.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://pypi.org/project/setuptools-declarative-requirements/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRC_URI[sha256sum] = "d11fdb5ef818c65b20bc241e0f5ef44905a5640b681dae21ba1ac1742dab1fd1"
+SRC_URI[sha256sum] = "57a5b9bb9ad350c278e8aa6be4cdebbcd925b9ba71d6a712a178a618cfb898f7"
inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.39.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.40.bb
index 0690a8b4a2..f61030fc10 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.39.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.40.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.sqlalchemy.org/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f4001d1ca15b69d096fa1b4fd1bdce79"
-SRC_URI[sha256sum] = "8194896038753b46b08a0b0ae89a5d80c897fb601dd51e243ed5720f1f155d27"
+SRC_URI[sha256sum] = "44a660506080cc975e1dfa5776fe5f6315ddc626a77b50bf0eee18b0389ea265"
PYPI_PACKAGE = "SQLAlchemy"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.4.bb
index 6b62eb02ce..bc6a4c3df6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.4.bb
@@ -3,9 +3,10 @@ SECTION = "devel/python"
LICENSE = "Python-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d90e2d280a4836c607520383d1639be1"
-SRC_URI[md5sum] = "ab0c1bce381b1109fe4390c56aa06237"
-SRC_URI[sha256sum] = "3dcc8c212e04700784e5c1c5b601916ba0549ae6025b35b64fd62144899e7180"
-
-PYPI_PACKAGE_EXT = "zip"
+SRC_URI[sha256sum] = "2cca4cf5f83035ca12627c4bbeff2891ad4711666247a790fd8200d73f38c3f0"
inherit pypi setuptools3
+
+RDEPENDS:${PN} = "\
+ ${PYTHON_PN}-io \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_4.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_4.10.1.bb
index 247b4e5840..b283aef568 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_4.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_4.10.1.bb
@@ -2,9 +2,9 @@ SUMMARY = "Twitter for Python"
DESCRIPTION = "Python module to support twitter API"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=9;endline=9;md5=8227180126797a0148f94f483f3e1489"
-SRC_URI[sha256sum] = "8ba5774ac1663b09e5fce1b030daf076f2c9b3ddbf2e7e7ea0bae762e3b1fe3e"
+SRC_URI[sha256sum] = "310193775d7fc381abd6f37021a9af27f7e9edfcce5ec51bd73ea5f30c21fa61"
PYPI_PACKAGE = "tweepy"
@@ -14,5 +14,6 @@ RDEPENDS:${PN} += "\
${PYTHON_PN}-pip \
${PYTHON_PN}-pysocks \
${PYTHON_PN}-requests \
+ ${PYTHON_PN}-requests-oauthlib \
${PYTHON_PN}-six \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.5.4.bb
index 55cd78ce8f..e6c1746a8a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.5.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.5.4.bb
@@ -7,6 +7,6 @@ PYPI_PACKAGE = "typed_ast"
inherit pypi setuptools3
-SRC_URI[sha256sum] = "525a2d4088e70a9f75b08b3f87a51acc9cde640e19cc523c7e41aa355564ae27"
+SRC_URI[sha256sum] = "39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.2.2.bb
index c9e3b0de40..92302f9cd7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.2.2.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462"
PYPI_PACKAGE = "Werkzeug"
-SRC_URI[sha256sum] = "fe8bcdcef40275ed915fc734c2527a39d705b57a716d4f09e790296abbd16a7f"
+SRC_URI[sha256sum] = "7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_2.0.2.bb
index 68148b7b5c..eb9d4f511b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_2.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_2.0.2.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/sissaschool/xmlschema"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=47489cb18c469474afeb259ed1d4832f"
-SRC_URI[sha256sum] = "1460ba451b4084d4edd031b564f460f5c11b14b20764ce1f64691f8c69e1194d"
+SRC_URI[sha256sum] = "ce915696b3a819fe0f986824517b9281dbd5626fd2d213363fab40f34edf05bd"
PYPI_PACKAGE = "xmlschema"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.3.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.3.6.bb
index 9b08f759a2..2f24443194 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.3.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.3.6.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/sumerc/yappi"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=71c208c9a4fd864385eb69ad4caa3bee"
-SRC_URI[sha256sum] = "f54c25f04aa7c613633b529bffd14e0699a4363f414dc9c065616fd52064a49b"
+SRC_URI[sha256sum] = "0a73c608a2603570a020a32d4369ba744012bc5267f37e5bd8026fb491abba56"
SRC_URI += " \
file://run-ptest \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.8.1.bb
index 0867d1cb53..66ee46b446 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.7.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.8.1.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/aio-libs/yarl/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e581798a7b985311f29fa3e163ea27ae"
-SRC_URI[sha256sum] = "45399b46d60c253327a460e99856752009fcee5f5d3c80b2f7c0cae1c38d56dd"
+SRC_URI[sha256sum] = "af887845b8c2e060eb5605ff72b6f2dd2aab7a761379373fd89d314f4752abbf"
SRC_URI += "file://run-ptest"
@@ -14,6 +14,7 @@ inherit pypi ptest setuptools3
RDEPENDS:${PN} = "\
${PYTHON_PN}-multidict \
${PYTHON_PN}-idna \
+ ${PYTHON_PN}-io \
"
RDEPENDS:${PN}-ptest += " \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.39.0.bb
index 3f67f5fc81..9b1576372c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.39.0.bb
@@ -3,11 +3,12 @@ HOMEPAGE = "https://github.com/jstasiak/python-zeroconf"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bb705b228ea4a14ea2728215b780d80"
-SRC_URI[sha256sum] = "eaee2293e5f4e6d249f6155f9d3cca1668cb22b2545995ea72c6a03b4b7706d4"
+SRC_URI[sha256sum] = "7c0d8257b940ee43e637fb560c2f9bd79da0638f37af162eb4f506f7274ef8e4"
inherit pypi setuptools3
RDEPENDS:${PN} += " \
${PYTHON_PN}-ifaddr \
${PYTHON_PN}-asyncio \
+ ${PYTHON_PN}-async-timeout \
"
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem/0001-Don-t-set-tp_print-on-Python-3.patch b/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem/0001-Don-t-set-tp_print-on-Python-3.patch
new file mode 100644
index 0000000000..a84d852fb0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem/0001-Don-t-set-tp_print-on-Python-3.patch
@@ -0,0 +1,44 @@
+From 866f7560034e8b7a604432611b3cb2c92e76def9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 28 Aug 2022 11:03:39 -0700
+Subject: [PATCH] Don't set tp_print on Python 3.
+
+In 3.8 it produces a compilation warning, in earlier versions it is ignored.
+
+Upstream-Status: Submitted [https://github.com/brandon-rhodes/pyephem/pull/245]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ extensions/_libastro.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/extensions/_libastro.c b/extensions/_libastro.c
+index ce07d93..c9ef1e6 100644
+--- a/extensions/_libastro.c
++++ b/extensions/_libastro.c
+@@ -372,7 +372,11 @@ static PyTypeObject AngleType = {
+ sizeof(AngleObject),
+ 0,
+ 0, /* tp_dealloc */
++#if PY_MAJOR_VERSION < 3
+ Angle_print, /* tp_print */
++#else
++ 0, /* reserved in 3.x */
++#endif
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+@@ -669,7 +673,11 @@ static PyTypeObject DateType = {
+ sizeof(PyFloatObject),
+ 0,
+ 0, /* tp_dealloc */
++#if PY_MAJOR_VERSION < 3
+ Date_print, /* tp_print */
++#else
++ 0, /* tp_print slot is reserved and unused in Python 3 */
++#endif
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.1.3.bb b/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.1.3.bb
index 29697bc251..8c4f0eb405 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.1.3.bb
+++ b/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.1.3.bb
@@ -4,6 +4,7 @@ HOMEPAGE = "http://rhodesmill.org/pyephem/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=9c930b395b435b00bb13ec83b0c99f40"
+SRC_URI += "file://0001-Don-t-set-tp_print-on-Python-3.patch"
SRC_URI[sha256sum] = "7fa18685981ba528edd504052a9d5212a09aa5bf15c11a734edc6a86e8a8b56a"
PYPI_PACKAGE = "ephem"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0001-make_exports.awk-not-expose-the-path.patch b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0001-make_exports.awk-not-expose-the-path.patch
new file mode 100644
index 0000000000..78f23f0f2d
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0001-make_exports.awk-not-expose-the-path.patch
@@ -0,0 +1,32 @@
+From 5b5eae9cdf3bae91756c717349f2f33a31888f24 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Wed, 3 Aug 2022 12:35:16 +0800
+Subject: [PATCH] make_exports.awk: not expose the path
+
+Don't print the full path in the comment line.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ build/make_exports.awk | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/build/make_exports.awk b/build/make_exports.awk
+index 1cf0568..44d93c5 100644
+--- a/build/make_exports.awk
++++ b/build/make_exports.awk
+@@ -47,7 +47,9 @@ function push(line) {
+
+ function do_output() {
+ printf("/*\n")
+- printf(" * %s\n", FILENAME)
++ file = FILENAME
++ sub("([^/]*[/])*", "", file)
++ printf(" * %s\n", file)
+ printf(" */\n")
+
+ for (i = 0; i < stackptr; i++) {
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.54.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.54.bb
index c5f014b3cd..4f30eca59e 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.54.bb
+++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.54.bb
@@ -15,6 +15,7 @@ SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
file://0007-apache2-allow-to-disable-selinux-support.patch \
file://0008-Fix-perl-install-directory-to-usr-bin.patch \
file://0009-support-apxs.in-force-destdir-to-be-empty-string.patch \
+ file://0001-make_exports.awk-not-expose-the-path.patch \
"
SRC_URI:append:class-target = " \
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch b/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch
new file mode 100644
index 0000000000..f4bab49aa7
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch
@@ -0,0 +1,30 @@
+From 7f724bbafbb1e170401dd5de201273ab8c8bc75f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 28 Aug 2022 14:24:02 -0700
+Subject: [PATCH] fastcgi: Use value instead of address of sin6_port
+
+This seems to be wrongly assigned where ipv4 sin_port is
+equated to address of sin6_port and not value of sin6_port
+
+Upstream-Status: Submitted [https://github.com/monkey/monkey/pull/375]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/fastcgi/fcgi_handler.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/fastcgi/fcgi_handler.c b/plugins/fastcgi/fcgi_handler.c
+index 9e095e3c..e8e1eec1 100644
+--- a/plugins/fastcgi/fcgi_handler.c
++++ b/plugins/fastcgi/fcgi_handler.c
+@@ -245,7 +245,7 @@ static inline int fcgi_add_param_net(struct fcgi_handler *handler)
+ struct sockaddr_in *s4 = (struct sockaddr_in *)&addr4;
+ memset(&addr4, 0, sizeof(addr4));
+ addr4.sin_family = AF_INET;
+- addr4.sin_port = &s->sin6_port;
++ addr4.sin_port = s->sin6_port;
+ memcpy(&addr4.sin_addr.s_addr,
+ s->sin6_addr.s6_addr + 12,
+ sizeof(addr4.sin_addr.s_addr));
+--
+2.37.2
+
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.6.9.bb b/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.6.9.bb
index fff406a3f2..5b7e32733c 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.6.9.bb
+++ b/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.6.9.bb
@@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
SECTION = "net"
SRC_URI = "http://monkey-project.com/releases/1.6/monkey-${PV}.tar.gz \
+ file://0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch \
file://monkey.service \
file://monkey.init"
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.35.1.bb b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.36.1.bb
index 9decb63ddf..52d99e7704 100644
--- a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.35.1.bb
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.36.1.bb
@@ -9,7 +9,7 @@ DEPENDS += "libuv util-linux zlib"
SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BPN}-v${PV}.tar.gz \
"
-SRC_URI[sha256sum] = "587f6cce421015f8e0a527e3964a4de8cc17085c354498150bc3ade21606bbf9"
+SRC_URI[sha256sum] = "f4a1233112b55e07e2862ffda0416255f0aa4c8e2b16929b76fa7ad6b69fd931"
# default netdata.conf for netdata configuration
SRC_URI += "file://netdata.conf"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb
index d47f9cefc9..46d26159ae 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb
@@ -4,7 +4,7 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee"
DEPENDS = "garcon exo gtk+3 cairo virtual/libx11 libxml2 libwnck3 vala-native"
-inherit xfce gtk-doc gobject-introspection features_check remove-libtool mime-xdg
+inherit xfce gtk-doc gobject-introspection features_check mime-xdg
# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
# cairo would at least needed to be built with xlib.
diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb
index 413ca4d527..6fb3a1bcc3 100644
--- a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb
+++ b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb
@@ -62,7 +62,7 @@ CMDLINE = " \
"
do_compile() {
- echo "${@' '.join('${CMDLINE}'.split())}" > "${WORKDIR}/cmdline.txt"
+ echo "${@' '.join(d.getVar('CMDLINE').split())}" > "${WORKDIR}/cmdline.txt"
}
do_deploy() {
diff --git a/meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.7.2.bb b/meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.7.3.bb
index c1e3108375..97fa8f9a8c 100644
--- a/meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.7.2.bb
+++ b/meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.7.3.bb
@@ -6,7 +6,7 @@ LICENSE = "AGPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c0acfa7a8a03b718abee9135bc1a1c55"
PYPI_PACKAGE = "privacyIDEA"
-SRC_URI[sha256sum] = "17cbfdf0212eec94ffb10b3046093cf25af71b41413b6361668685333c5a35a7"
+SRC_URI[sha256sum] = "7b5725d1af004fe3f68d16c2b14be5a3d61c4d265d18cb7d50a9013da0df42d2"
inherit pypi setuptools3
diff --git a/meta-security/kas/kas-security-base.yml b/meta-security/kas/kas-security-base.yml
index 3bf46dbf01..a594fd7879 100644
--- a/meta-security/kas/kas-security-base.yml
+++ b/meta-security/kas/kas-security-base.yml
@@ -39,8 +39,7 @@ local_conf_header:
BB_SIGNATURE_HANDLER = "OEEquivHash"
INHERIT += "buildstats buildstats-summary buildhistory"
INHERIT += "report-error"
- INHERIT += "testimage"
- INHERIT += "rm_work"
+ IMAGE_CLASSES += "testimage"
BB_NUMBER_THREADS="24"
BB_NUMBER_PARSE_THREADS="12"
BB_TASK_NICE_LEVEL = '5'
diff --git a/meta-security/meta-parsec/README.md b/meta-security/meta-parsec/README.md
index f720cd24a7..99935bcf8d 100644
--- a/meta-security/meta-parsec/README.md
+++ b/meta-security/meta-parsec/README.md
@@ -99,6 +99,7 @@ The tests are run against:
- all providers pre-configured in the Parsec config file included in the image.
- PKCS11 and TPM providers with software backends if softhsm and
swtpm packages included in the image.
+- TS Provider if Parsec is built with it included.
Meta-parsec also contains a recipe for `security-parsec-image` image with Parsec,
softhsm and swtpm included.
@@ -214,7 +215,7 @@ systemctl start parsec
The IBM Software TPM service can be used for manual testing of the provider by
including it into your test image:
- IMAGE_INSTALL:append = " ibmswtpm2 tpm2-tools libtss2 libtss2-tcti-mssim"
+ IMAGE_INSTALL:append = " swtpm tpm2-tools libtss2 libtss2-tcti-mssim"
Inside the running VM:
- Stop Parsec
diff --git a/meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py b/meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py
index 11e5572475..6be84bade3 100644
--- a/meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py
+++ b/meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py
@@ -12,12 +12,8 @@ from oeqa.core.decorator.data import skipIfNotFeature
class ParsecTest(OERuntimeTestCase):
@classmethod
def setUpClass(cls):
- cls.tc.target.run('swtpm_ioctl -s --tcp :2322')
cls.toml_file = '/etc/parsec/config.toml'
-
- @classmethod
- def tearDownClass(cls):
- cls.tc.target.run('swtpm_ioctl -s --tcp :2322')
+ cls.tc.target.run('cp -p %s %s-original' % (cls.toml_file, cls.toml_file))
def setUp(self):
super(ParsecTest, self).setUp()
@@ -40,6 +36,11 @@ class ParsecTest(OERuntimeTestCase):
status, output = self.target.run('cat %s-%s >>%s' % (self.toml_file, provider, self.toml_file))
os.remove(tmp_path)
+ def restore_parsec_config(self):
+ """ Restore original Parsec config """
+ self.target.run('cp -p %s-original %s' % (self.toml_file, self.toml_file))
+ self.target.run(self.parsec_reload)
+
def check_parsec_providers(self, provider=None, prov_id=None):
""" Get Parsec providers list and check for one if defined """
@@ -58,6 +59,23 @@ class ParsecTest(OERuntimeTestCase):
status, output = self.target.run('parsec-cli-tests.sh %s' % ("-%d" % prov_id if prov_id else ""))
self.assertEqual(status, 0, msg='Parsec CLI tests failed.\n %s' % output)
+ def check_packageconfig(self, prov):
+ """ Check that the require provider is included in Parsec """
+ if prov not in self.tc.td['PACKAGECONFIG:pn-parsec-service']:
+ self.skipTest('%s provider is not included in Parsec. Parsec PACKAGECONFIG: "%s"' % \
+ (prov, self.tc.td['PACKAGECONFIG:pn-parsec-service']))
+
+ def check_packages(self, prov, packages):
+ """ Check for the required packages for Parsec providers software backends """
+ if isinstance(packages, str):
+ need_pkgs = set([packages,])
+ else:
+ need_pkgs = set(packages)
+
+ if not self.tc.image_packages.issuperset(need_pkgs):
+ self.skipTest('%s provider is not configured and packages "%s" are not included into the image' % \
+ (prov, need_pkgs))
+
@OEHasPackage(['parsec-service'])
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_all_providers(self):
@@ -84,7 +102,9 @@ class ParsecTest(OERuntimeTestCase):
'mkdir /tmp/myvtpm',
'swtpm socket -d --tpmstate dir=/tmp/myvtpm --tpm2 --ctrl type=tcp,port=2322 --server type=tcp,port=2321 --flags not-need-init',
'tpm2_startup -c -T "swtpm:port=2321"',
+ 'chown -R parsec /tmp/myvtpm',
self.parsec_reload,
+ 'sleep 5',
]
for cmd in cmds:
@@ -92,16 +112,30 @@ class ParsecTest(OERuntimeTestCase):
self.assertEqual(status, 0, msg='\n'.join([cmd, output]))
@OEHasPackage(['parsec-service'])
- @OEHasPackage(['swtpm'])
@skipIfNotFeature('tpm2','Test parsec_tpm_provider requires tpm2 to be in DISTRO_FEATURES')
- @OETestDepends(['ssh.SSHTest.test_ssh', 'parsec.ParsecTest.test_all_providers'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
def test_tpm_provider(self):
""" Configure and test Parsec TPM provider with swtpm as a backend """
+ self.check_packageconfig("TPM")
+
+ reconfigure = False
prov_id = 3
- self.configure_tpm_provider()
- self.check_parsec_providers("TPM", prov_id)
+ try:
+ # Chech if the provider is already configured
+ self.check_parsec_providers("TPM", prov_id)
+ except:
+ # Try to test the provider with a software backend
+ self.check_packages("TPM", ['swtpm', 'tpm2-tools'])
+ reconfigure = True
+ self.configure_tpm_provider()
+ self.check_parsec_providers("TPM", prov_id)
+
self.run_cli_tests(prov_id)
+ self.restore_parsec_config()
+
+ if reconfigure:
+ self.target.run('swtpm_ioctl -s --tcp :2322')
def configure_pkcs11_provider(self):
""" Create Parsec PKCS11 provider configuration """
@@ -132,12 +166,52 @@ class ParsecTest(OERuntimeTestCase):
self.assertEqual(status, 0, msg='Failed to reload Parsec.\n%s' % output)
@OEHasPackage(['parsec-service'])
- @OEHasPackage(['softhsm'])
- @OETestDepends(['ssh.SSHTest.test_ssh', 'parsec.ParsecTest.test_all_providers'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
def test_pkcs11_provider(self):
""" Configure and test Parsec PKCS11 provider with softhsm as a backend """
+ self.check_packageconfig("PKCS11")
prov_id = 2
- self.configure_pkcs11_provider()
- self.check_parsec_providers("PKCS #11", prov_id)
+ try:
+ # Chech if the provider is already configured
+ self.check_parsec_providers("PKCS #11", prov_id)
+ except:
+ # Try to test the provider with a software backend
+ self.check_packages("PKCS11", 'softhsm')
+ self.configure_pkcs11_provider()
+ self.check_parsec_providers("PKCS #11", prov_id)
+
+ self.run_cli_tests(prov_id)
+ self.restore_parsec_config()
+
+ def configure_TS_provider(self):
+ """ Create Trusted Services provider configuration """
+
+ cfg = [
+ '',
+ '[[provider]]',
+ 'name = "trusted-service-provider"',
+ 'provider_type = "TrustedService"',
+ 'key_info_manager = "sqlite-manager"',
+ ]
+ self.copy_subconfig(cfg, "TS")
+
+ status, output = self.target.run(self.parsec_reload)
+ self.assertEqual(status, 0, msg='Failed to reload Parsec.\n%s' % output)
+
+ @OEHasPackage(['parsec-service'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_TS_provider(self):
+ """ Configure and test Parsec PKCS11 provider with softhsm as a backend """
+
+ self.check_packageconfig("TS")
+ prov_id = 4
+ try:
+ # Chech if the provider is already configured
+ self.check_parsec_providers("Trusted Service", prov_id)
+ except:
+ self.configure_TS_provider()
+ self.check_parsec_providers("Trusted Service", prov_id)
+
self.run_cli_tests(prov_id)
+ self.restore_parsec_config()
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_1.0.0.bb b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_1.0.0.bb
index 84539f9b25..931abee5b9 100644
--- a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_1.0.0.bb
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_1.0.0.bb
@@ -45,7 +45,7 @@ PARSEC_CONFIG ?= "${S}/config.toml"
do_install () {
# Binaries
install -d -m 700 -o parsec -g parsec "${D}${libexecdir}/parsec"
- install -m 700 -o parsec -g parsec "${WORKDIR}/build/target/${CARGO_TARGET_SUBDIR}/parsec" ${D}${libexecdir}/parsec/parsec
+ install -m 700 -o parsec -g parsec "${B}/target/${CARGO_TARGET_SUBDIR}/parsec" ${D}${libexecdir}/parsec/parsec
# Config file
install -d -m 700 -o parsec -g parsec "${D}${sysconfdir}/parsec"
@@ -69,9 +69,10 @@ do_install () {
inherit useradd
USERADD_PACKAGES = "${PN}"
-USERADD_PARAM:${PN} = "-r -g parsec -s /bin/false -d ${localstatedir}/lib/parsec parsec"
GROUPADD_PARAM:${PN} = "-r parsec"
-GROUPMEMS_PARAM:${PN} = "${@bb.utils.contains('PACKAGECONFIG_CONFARGS', 'tpm-provider', '-a parsec -g tss', '', d)}"
+USERADD_PARAM:${PN} = "-r -g parsec -s /bin/false -d ${localstatedir}/lib/parsec parsec"
+GROUPMEMS_PARAM:${PN} = "${@bb.utils.contains('PACKAGECONFIG_CONFARGS', 'tpm-provider', '-a parsec -g tss ;', '', d)}"
+GROUPMEMS_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG_CONFARGS', 'trusted-service-provider', '-a parsec -g teeclnt', '', d)}"
FILES:${PN} += " \
${sysconfdir}/parsec/config.toml \
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.2.bb b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.2.bb
index 4b053b9ca3..6ecce8e883 100644
--- a/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.2.bb
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.2.bb
@@ -11,7 +11,7 @@ RDEPENDS:${PN} = "openssl-bin"
do_install() {
install -d ${D}/${bindir}
- install -m 755 "${B}/target/${TARGET_SYS}/release/parsec-tool" "${D}${bindir}/parsec-tool"
+ install -m 755 "${B}/target/${CARGO_TARGET_SUBDIR}/parsec-tool" "${D}${bindir}/parsec-tool"
install -m 755 "${S}/tests/parsec-cli-tests.sh" "${D}${bindir}/parsec-cli-tests.sh"
}
diff --git a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
index a12a4c2d3d..22c1245801 100644
--- a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
+++ b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
@@ -28,9 +28,11 @@ SUMMARY:packagegroup-security-utils = "Security utilities"
RDEPENDS:packagegroup-security-utils = "\
bubblewrap \
checksec \
+ cryptmount \
ding-libs \
ecryptfs-utils \
fscryptctl \
+ glome \
keyutils \
nmap \
pinentry \
@@ -42,8 +44,8 @@ RDEPENDS:packagegroup-security-utils = "\
${@bb.utils.contains("DISTRO_FEATURES", "pax", "pax-utils packctl", "",d)} \
"
-RDEPENDS:packagegroup-security-utils:append:x86 = "chipsec"
-RDEPENDS:packagegroup-security-utils:append:x86-64 = "chipsec"
+RDEPENDS:packagegroup-security-utils:append:x86 = " chipsec"
+RDEPENDS:packagegroup-security-utils:append:x86-64 = " chipsec"
RDEPENDS:packagegroup-security-utils:remove:mipsarch = "firejail krill"
RDEPENDS:packagegroup-security-utils:remove:libc-musl = "krill"
RDEPENDS:packagegroup-security-utils:remove:riscv64 = "krill"
diff --git a/meta-security/recipes-ids/samhain/files/0001-Don-t-expose-configure-args.patch b/meta-security/recipes-ids/samhain/files/0001-Don-t-expose-configure-args.patch
new file mode 100644
index 0000000000..fedbe5b7bc
--- /dev/null
+++ b/meta-security/recipes-ids/samhain/files/0001-Don-t-expose-configure-args.patch
@@ -0,0 +1,44 @@
+From 111b1e8f35e989513d8961a45a806767109f6e1e Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 11 Aug 2022 17:15:30 +0800
+Subject: [PATCH] Don't expose configure args
+
+Don't expost configure args to fix buildpath issue.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ scripts/samhain.ebuild-light.in | 2 +-
+ scripts/samhain.ebuild.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/samhain.ebuild-light.in b/scripts/samhain.ebuild-light.in
+index 2b09cdb..b7f7062 100644
+--- a/scripts/samhain.ebuild-light.in
++++ b/scripts/samhain.ebuild-light.in
+@@ -55,7 +55,7 @@ src_compile() {
+ # --with-state-dir=/var/lib/${PN} \
+ # --with-log-file=/var/log/${PN}.log \
+
+- ./configure ${myconf} @mydefargs@ || die
++ ./configure ${myconf} mydefargs || die
+ emake || die
+
+ echo '#!/bin/sh' > ./sstrip
+diff --git a/scripts/samhain.ebuild.in b/scripts/samhain.ebuild.in
+index 635a746..b9a42e7 100644
+--- a/scripts/samhain.ebuild.in
++++ b/scripts/samhain.ebuild.in
+@@ -55,7 +55,7 @@ src_compile() {
+ # --with-state-dir=/var/lib/${PN} \
+ # --with-log-file=/var/log/${PN}.log \
+
+- ./configure ${myconf} @mydefargs@ || die
++ ./configure ${myconf} mydefargs || die
+ emake || die
+
+ echo '#!/bin/sh' > ./sstrip
+--
+2.25.1
+
diff --git a/meta-security/recipes-ids/samhain/samhain-standalone.bb b/meta-security/recipes-ids/samhain/samhain-standalone.bb
index 445cb99b7e..b832dc84b9 100644
--- a/meta-security/recipes-ids/samhain/samhain-standalone.bb
+++ b/meta-security/recipes-ids/samhain/samhain-standalone.bb
@@ -1,6 +1,7 @@
require samhain.inc
SRC_URI += "file://samhain-not-run-ptest-on-host.patch \
+ file://0001-Don-t-expose-configure-args.patch \
file://run-ptest \
"
diff --git a/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.4.bb b/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.5.bb
index fa46cb6b5a..fa46cb6b5a 100644
--- a/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.4.bb
+++ b/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.5.bb
diff --git a/meta-security/recipes-mac/AppArmor/apparmor_3.0.5.bb b/meta-security/recipes-mac/AppArmor/apparmor_3.0.6.bb
index 45f19d177c..45f19d177c 100644
--- a/meta-security/recipes-mac/AppArmor/apparmor_3.0.5.bb
+++ b/meta-security/recipes-mac/AppArmor/apparmor_3.0.6.bb
diff --git a/meta-security/recipes-security/cryptmount/cryptmount_5.3.3.bb b/meta-security/recipes-security/cryptmount/cryptmount_5.3.3.bb
new file mode 100644
index 0000000000..fb522cb99d
--- /dev/null
+++ b/meta-security/recipes-security/cryptmount/cryptmount_5.3.3.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Linux encrypted filesystem management tool"
+HOMEPAGE = "http://cryptmount.sourceforge.net/"
+LIC_FILES_CHKSUM = "file://README;beginline=3;endline=4;md5=673a990de93a2c5531a0f13f1c40725a"
+LICENSE = "GPL-2.0-only"
+
+SRC_URI = "https://sourceforge.net/projects/cryptmount/files/${BPN}/${BPN}-5.3/${BPN}-${PV}.tar.gz \
+ file://remove_linux_fs.patch \
+ "
+
+SRC_URI[sha256sum] = "682953ff5ba497d48d6b13e22ca726c98659abd781bb8596bb299640dd255d9b"
+
+inherit autotools-brokensep gettext pkgconfig systemd
+
+EXTRA_OECONF = " --enable-cswap --enable-fsck --enable-argv0switch"
+
+PACKAGECONFIG ?="intl luks gcrypt nls"
+PACKAGECONFIG:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+
+PACKAGECONFIG[systemd] = "--with-systemd, --without-systemd, systemd"
+PACKAGECONFIG[intl] = "--with-libintl-prefix, --without-libintl-prefix"
+PACKAGECONFIG[gcrypt] = "--with-libgcrypt, --without-libgcrypt, libgcrypt"
+PACKAGECONFIG[luks] = "--enable-luks, --disable-luks, cryptsetup"
+PACKAGECONFIG[nls] = "--enable-nls, --disable-nls, "
+
+SYSTEMD_SERVICE:${PN} = "cryptmount.service"
+
+RDEPENDS:${PN} = "libdevmapper"
diff --git a/meta-security/recipes-security/cryptmount/files/remove_linux_fs.patch b/meta-security/recipes-security/cryptmount/files/remove_linux_fs.patch
new file mode 100644
index 0000000000..304b85309a
--- /dev/null
+++ b/meta-security/recipes-security/cryptmount/files/remove_linux_fs.patch
@@ -0,0 +1,19 @@
+# From glibc 2.36, <linux/mount.h> (included from <linux/fs.h>) and
+# <sys/mount.h> (included from glibc) are no longer compatible:
+# https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
+
+Upstream-Status: Pending
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: cryptmount-5.3.3/cryptmount.c
+===================================================================
+--- cryptmount-5.3.3.orig/cryptmount.c
++++ cryptmount-5.3.3/cryptmount.c
+@@ -41,7 +41,6 @@
+ #ifdef HAVE_SYSLOG
+ # include <syslog.h>
+ #endif
+-#include <linux/fs.h> /* Beware ordering conflict with sys/mount.h */
+
+
+ #include "armour.h"
diff --git a/meta-security/recipes-security/glome/glome_git.bb b/meta-security/recipes-security/glome/glome_git.bb
new file mode 100644
index 0000000000..12d6d5ffa3
--- /dev/null
+++ b/meta-security/recipes-security/glome/glome_git.bb
@@ -0,0 +1,24 @@
+SUMMARY = "GLOME Login Client"
+HOME_PAGE = "https://github.com/google/glome"
+DESCRIPTION = "GLOME is used to authorize serial console access to Linux machines"
+PV = "0.1+git${SRCPV}"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit meson pkgconfig
+
+DEPENDS += "openssl"
+
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/google/glome.git;branch=master;protocol=https"
+SRCREV = "978ad9fb165f1e382c875f2ce08a1fc4f2ddcf1b"
+
+FILES:${PN} += "${libdir}/security"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[glome-cli] = "-Dglome-cli=true,-Dglome-cli=false"
+PACKAGECONFIG[pam-glome] = "-Dpam-glome=true,-Dpam-glome=false,libpam"
+
+EXTRA_OEMESON = "-Dtests=false"
+
diff --git a/poky/.templateconf b/poky/.templateconf
index 0fe6f82503..faf0348077 100644
--- a/poky/.templateconf
+++ b/poky/.templateconf
@@ -1,2 +1,2 @@
# Template settings
-TEMPLATECONF=${TEMPLATECONF:-meta-poky/conf}
+TEMPLATECONF=${TEMPLATECONF:-meta-poky/conf/templates/default}
diff --git a/poky/bitbake/bin/bitbake-layers b/poky/bitbake/bin/bitbake-layers
index 449434d468..d4b1d1aaf2 100755
--- a/poky/bitbake/bin/bitbake-layers
+++ b/poky/bitbake/bin/bitbake-layers
@@ -68,11 +68,11 @@ def main():
registered = False
for plugin in plugins:
+ if hasattr(plugin, 'tinfoil_init'):
+ plugin.tinfoil_init(tinfoil)
if hasattr(plugin, 'register_commands'):
registered = True
plugin.register_commands(subparsers)
- if hasattr(plugin, 'tinfoil_init'):
- plugin.tinfoil_init(tinfoil)
if not registered:
logger.error("No commands registered - missing plugins?")
diff --git a/poky/bitbake/bin/bitbake-prserv b/poky/bitbake/bin/bitbake-prserv
index 323df66dd0..5be42f3ce5 100755
--- a/poky/bitbake/bin/bitbake-prserv
+++ b/poky/bitbake/bin/bitbake-prserv
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/bin/bitbake-worker b/poky/bitbake/bin/bitbake-worker
index 9d850ec77c..7be39370b3 100755
--- a/poky/bitbake/bin/bitbake-worker
+++ b/poky/bitbake/bin/bitbake-worker
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
@@ -455,6 +457,7 @@ class BitbakeWorker(object):
for mc in self.databuilder.mcdata:
self.databuilder.mcdata[mc].setVar("PRSERV_HOST", self.workerdata["prhost"])
self.databuilder.mcdata[mc].setVar("BB_HASHSERVE", self.workerdata["hashservaddr"])
+ self.databuilder.mcdata[mc].setVar("__bbclasstype", "recipe")
def handle_newtaskhashes(self, data):
self.workerdata["newhashes"] = pickle.loads(data)
diff --git a/poky/bitbake/bin/git-make-shallow b/poky/bitbake/bin/git-make-shallow
index 1d00fbf183..d0532c5ab8 100755
--- a/poky/bitbake/bin/git-make-shallow
+++ b/poky/bitbake/bin/git-make-shallow
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bb/COW.py b/poky/bitbake/lib/bb/COW.py
index 23c22b65ef..76bc08a3ea 100644
--- a/poky/bitbake/lib/bb/COW.py
+++ b/poky/bitbake/lib/bb/COW.py
@@ -3,6 +3,8 @@
#
# Copyright (C) 2006 Tim Ansell
#
+# SPDX-License-Identifier: GPL-2.0-only
+#
# Please Note:
# Be careful when using mutable types (ie Dict and Lists) - operations involving these are SLOW.
# Assign a file to __warn__ to get warnings about slow operations.
diff --git a/poky/bitbake/lib/bb/asyncrpc/__init__.py b/poky/bitbake/lib/bb/asyncrpc/__init__.py
index c2f2b3c00b..9a85e9965b 100644
--- a/poky/bitbake/lib/bb/asyncrpc/__init__.py
+++ b/poky/bitbake/lib/bb/asyncrpc/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bb/asyncrpc/client.py b/poky/bitbake/lib/bb/asyncrpc/client.py
index 34960197d1..881434d2e9 100644
--- a/poky/bitbake/lib/bb/asyncrpc/client.py
+++ b/poky/bitbake/lib/bb/asyncrpc/client.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bb/asyncrpc/serv.py b/poky/bitbake/lib/bb/asyncrpc/serv.py
index 585bc121da..5cf45f908a 100644
--- a/poky/bitbake/lib/bb/asyncrpc/serv.py
+++ b/poky/bitbake/lib/bb/asyncrpc/serv.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py
index 55f68b98c5..b8c1099ef5 100644
--- a/poky/bitbake/lib/bb/build.py
+++ b/poky/bitbake/lib/bb/build.py
@@ -20,6 +20,7 @@ import itertools
import time
import re
import stat
+import datetime
import bb
import bb.msg
import bb.process
@@ -618,7 +619,8 @@ def _exec_task(fn, task, d, quieterr):
logorder = os.path.join(tempdir, 'log.task_order')
try:
with open(logorder, 'a') as logorderfile:
- logorderfile.write('{0} ({1}): {2}\n'.format(task, os.getpid(), logbase))
+ timestamp = datetime.datetime.now().strftime("%Y%m%d-%H%M%S.%f")
+ logorderfile.write('{0} {1} ({2}): {3}\n'.format(timestamp, task, os.getpid(), logbase))
except OSError:
logger.exception("Opening log file '%s'", logorder)
pass
diff --git a/poky/bitbake/lib/bb/codeparser.py b/poky/bitbake/lib/bb/codeparser.py
index 3b3c3b41ff..9d66d3ae41 100644
--- a/poky/bitbake/lib/bb/codeparser.py
+++ b/poky/bitbake/lib/bb/codeparser.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bb/compress/_pipecompress.py b/poky/bitbake/lib/bb/compress/_pipecompress.py
index 5de17a82e2..4a403d62cf 100644
--- a/poky/bitbake/lib/bb/compress/_pipecompress.py
+++ b/poky/bitbake/lib/bb/compress/_pipecompress.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Helper library to implement streaming compression and decompression using an
diff --git a/poky/bitbake/lib/bb/compress/lz4.py b/poky/bitbake/lib/bb/compress/lz4.py
index 0f6bc51a5b..88b0989322 100644
--- a/poky/bitbake/lib/bb/compress/lz4.py
+++ b/poky/bitbake/lib/bb/compress/lz4.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bb/compress/zstd.py b/poky/bitbake/lib/bb/compress/zstd.py
index 50c42133fb..cdbbe9d60f 100644
--- a/poky/bitbake/lib/bb/compress/zstd.py
+++ b/poky/bitbake/lib/bb/compress/zstd.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index 2adf4d297d..1b6ee3032c 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -402,6 +402,7 @@ class BBCooker:
for mc in self.databuilder.mcdata.values():
mc.renameVar("__depends", "__base_depends")
self.add_filewatch(mc.getVar("__base_depends", False), self.configwatcher)
+ mc.setVar("__bbclasstype", "recipe")
self.baseconfig_valid = True
self.parsecache_valid = False
diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py
index d54ac932e5..9706948ab3 100644
--- a/poky/bitbake/lib/bb/cookerdata.py
+++ b/poky/bitbake/lib/bb/cookerdata.py
@@ -254,6 +254,7 @@ class CookerDataBuilder(object):
filtered_keys = bb.utils.approved_variables()
bb.data.inheritFromOS(self.basedata, self.savedenv, filtered_keys)
self.basedata.setVar("BB_ORIGENV", self.savedenv)
+ self.basedata.setVar("__bbclasstype", "global")
if worker:
self.basedata.setVar("BB_WORKERCONTEXT", "1")
diff --git a/poky/bitbake/lib/bb/daemonize.py b/poky/bitbake/lib/bb/daemonize.py
index 4957bfd4b8..7689404436 100644
--- a/poky/bitbake/lib/bb/daemonize.py
+++ b/poky/bitbake/lib/bb/daemonize.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bb/data.py b/poky/bitbake/lib/bb/data.py
index c09d9b04bb..53fe34825d 100644
--- a/poky/bitbake/lib/bb/data.py
+++ b/poky/bitbake/lib/bb/data.py
@@ -441,7 +441,7 @@ def generate_dependency_hash(tasklist, gendeps, lookupcache, ignored_vars, fn):
def inherits_class(klass, d):
val = d.getVar('__inherit_cache', False) or []
- needle = os.path.join('classes', '%s.bbclass' % klass)
+ needle = '/%s.bbclass' % klass
for v in val:
if v.endswith(needle):
return True
diff --git a/poky/bitbake/lib/bb/exceptions.py b/poky/bitbake/lib/bb/exceptions.py
index ecbad59970..801db9c82f 100644
--- a/poky/bitbake/lib/bb/exceptions.py
+++ b/poky/bitbake/lib/bb/exceptions.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bb/fetch2/gitsm.py b/poky/bitbake/lib/bb/fetch2/gitsm.py
index c1950e4819..25d5db0e5b 100644
--- a/poky/bitbake/lib/bb/fetch2/gitsm.py
+++ b/poky/bitbake/lib/bb/fetch2/gitsm.py
@@ -115,6 +115,9 @@ class GitSM(Git):
# This has to be a file reference
proto = "file"
url = "gitsm://" + uris[module]
+ if "{}{}".format(ud.host, ud.path) in url:
+ raise bb.fetch2.FetchError("Submodule refers to the parent repository. This will cause deadlock situation in current version of Bitbake." \
+ "Consider using git fetcher instead.")
url += ';protocol=%s' % proto
url += ";name=%s" % module
diff --git a/poky/bitbake/lib/bb/fetch2/npm.py b/poky/bitbake/lib/bb/fetch2/npm.py
index 8f7c10ac9b..8a179a339a 100644
--- a/poky/bitbake/lib/bb/fetch2/npm.py
+++ b/poky/bitbake/lib/bb/fetch2/npm.py
@@ -156,7 +156,7 @@ class Npm(FetchMethod):
raise ParameterError("Invalid 'version' parameter", ud.url)
# Extract the 'registry' part of the url
- ud.registry = re.sub(r"^npm://", "http://", ud.url.split(";")[0])
+ ud.registry = re.sub(r"^npm://", "https://", ud.url.split(";")[0])
# Using the 'downloadfilename' parameter as local filename
# or the npm package name.
diff --git a/poky/bitbake/lib/bb/fetch2/osc.py b/poky/bitbake/lib/bb/fetch2/osc.py
index 86f8ddf47b..495ac8a30a 100644
--- a/poky/bitbake/lib/bb/fetch2/osc.py
+++ b/poky/bitbake/lib/bb/fetch2/osc.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
"""
diff --git a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
index 68415735fd..18e6868387 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -44,23 +44,36 @@ def inherit(files, fn, lineno, d):
__inherit_cache = d.getVar('__inherit_cache', False) or []
files = d.expand(files).split()
for file in files:
- if not os.path.isabs(file) and not file.endswith(".bbclass"):
- file = os.path.join('classes', '%s.bbclass' % file)
-
- if not os.path.isabs(file):
- bbpath = d.getVar("BBPATH")
- abs_fn, attempts = bb.utils.which(bbpath, file, history=True)
- for af in attempts:
- if af != abs_fn:
- bb.parse.mark_dependency(d, af)
- if abs_fn:
- file = abs_fn
+ classtype = d.getVar("__bbclasstype", False)
+ origfile = file
+ for t in ["classes-" + classtype, "classes"]:
+ file = origfile
+ if not os.path.isabs(file) and not file.endswith(".bbclass"):
+ file = os.path.join(t, '%s.bbclass' % file)
+
+ if not os.path.isabs(file):
+ bbpath = d.getVar("BBPATH")
+ abs_fn, attempts = bb.utils.which(bbpath, file, history=True)
+ for af in attempts:
+ if af != abs_fn:
+ bb.parse.mark_dependency(d, af)
+ if abs_fn:
+ file = abs_fn
+
+ if os.path.exists(file):
+ break
+
+ if not os.path.exists(file):
+ raise ParseError("Could not inherit file %s" % (file), fn, lineno)
if not file in __inherit_cache:
logger.debug("Inheriting %s (from %s:%d)" % (file, fn, lineno))
__inherit_cache.append( file )
d.setVar('__inherit_cache', __inherit_cache)
- include(fn, file, lineno, d, "inherit")
+ try:
+ bb.parse.handle(file, d, True)
+ except (IOError, OSError) as exc:
+ raise ParseError("Could not inherit file %s: %s" % (fn, exc.strerror), fn, lineno)
__inherit_cache = d.getVar('__inherit_cache', False) or []
def get_statements(filename, absolute_filename, base_name):
diff --git a/poky/bitbake/lib/bb/process.py b/poky/bitbake/lib/bb/process.py
index be2c15a188..4c7b6d39df 100644
--- a/poky/bitbake/lib/bb/process.py
+++ b/poky/bitbake/lib/bb/process.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index 359b503297..48e25401ba 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -168,15 +168,19 @@ class RunQueueScheduler(object):
openSUSE /proc/pressure/* files have readable file permissions but when read the error EOPNOTSUPP (Operation not supported)
is returned.
"""
- if self.rq.max_cpu_pressure or self.rq.max_io_pressure:
+ if self.rq.max_cpu_pressure or self.rq.max_io_pressure or self.rq.max_memory_pressure:
try:
- with open("/proc/pressure/cpu") as cpu_pressure_fds, open("/proc/pressure/io") as io_pressure_fds:
+ with open("/proc/pressure/cpu") as cpu_pressure_fds, \
+ open("/proc/pressure/io") as io_pressure_fds, \
+ open("/proc/pressure/memory") as memory_pressure_fds:
+
self.prev_cpu_pressure = cpu_pressure_fds.readline().split()[4].split("=")[1]
self.prev_io_pressure = io_pressure_fds.readline().split()[4].split("=")[1]
+ self.prev_memory_pressure = memory_pressure_fds.readline().split()[4].split("=")[1]
self.prev_pressure_time = time.time()
self.check_pressure = True
except:
- bb.warn("The /proc/pressure files can't be read. Continuing build without monitoring pressure")
+ bb.note("The /proc/pressure files can't be read. Continuing build without monitoring pressure")
self.check_pressure = False
else:
self.check_pressure = False
@@ -184,21 +188,26 @@ class RunQueueScheduler(object):
def exceeds_max_pressure(self):
"""
Monitor the difference in total pressure at least once per second, if
- BB_PRESSURE_MAX_{CPU|IO} are set, return True if above threshold.
+ BB_PRESSURE_MAX_{CPU|IO|MEMORY} are set, return True if above threshold.
"""
if self.check_pressure:
- with open("/proc/pressure/cpu") as cpu_pressure_fds, open("/proc/pressure/io") as io_pressure_fds:
+ with open("/proc/pressure/cpu") as cpu_pressure_fds, \
+ open("/proc/pressure/io") as io_pressure_fds, \
+ open("/proc/pressure/memory") as memory_pressure_fds:
# extract "total" from /proc/pressure/{cpu|io}
curr_cpu_pressure = cpu_pressure_fds.readline().split()[4].split("=")[1]
curr_io_pressure = io_pressure_fds.readline().split()[4].split("=")[1]
+ curr_memory_pressure = memory_pressure_fds.readline().split()[4].split("=")[1]
exceeds_cpu_pressure = self.rq.max_cpu_pressure and (float(curr_cpu_pressure) - float(self.prev_cpu_pressure)) > self.rq.max_cpu_pressure
exceeds_io_pressure = self.rq.max_io_pressure and (float(curr_io_pressure) - float(self.prev_io_pressure)) > self.rq.max_io_pressure
+ exceeds_memory_pressure = self.rq.max_memory_pressure and (float(curr_memory_pressure) - float(self.prev_memory_pressure)) > self.rq.max_memory_pressure
now = time.time()
if now - self.prev_pressure_time > 1.0:
self.prev_cpu_pressure = curr_cpu_pressure
self.prev_io_pressure = curr_io_pressure
+ self.prev_memory_pressure = curr_memory_pressure
self.prev_pressure_time = now
- return (exceeds_cpu_pressure or exceeds_io_pressure)
+ return (exceeds_cpu_pressure or exceeds_io_pressure or exceeds_memory_pressure)
return False
def next_buildable_task(self):
@@ -1748,6 +1757,7 @@ class RunQueueExecute:
self.scheduler = self.cfgData.getVar("BB_SCHEDULER") or "speed"
self.max_cpu_pressure = self.cfgData.getVar("BB_PRESSURE_MAX_CPU")
self.max_io_pressure = self.cfgData.getVar("BB_PRESSURE_MAX_IO")
+ self.max_memory_pressure = self.cfgData.getVar("BB_PRESSURE_MAX_MEMORY")
self.sq_buildable = set()
self.sq_running = set()
@@ -1798,6 +1808,13 @@ class RunQueueExecute:
if self.max_io_pressure > upper_limit:
bb.warn("Your build will be largely unregulated since BB_PRESSURE_MAX_IO is set to %s. It is very unlikely that such high pressure will be experienced." % (self.max_io_pressure))
+ if self.max_memory_pressure:
+ self.max_memory_pressure = float(self.max_memory_pressure)
+ if self.max_memory_pressure < lower_limit:
+ bb.fatal("Invalid BB_PRESSURE_MAX_MEMORY %s, minimum value is %s." % (self.max_memory_pressure, lower_limit))
+ if self.max_memory_pressure > upper_limit:
+ bb.warn("Your build will be largely unregulated since BB_PRESSURE_MAX_MEMORY is set to %s. It is very unlikely that such high pressure will be experienced." % (self.max_io_pressure))
+
# List of setscene tasks which we've covered
self.scenequeue_covered = set()
# List of tasks which are covered (including setscene ones)
@@ -2237,10 +2254,9 @@ class RunQueueExecute:
# No more tasks can be run. If we have deferred setscene tasks we should run them.
if self.sq_deferred:
- tid = self.sq_deferred.pop(list(self.sq_deferred.keys())[0])
- logger.warning("Runqeueue deadlocked on deferred tasks, forcing task %s" % tid)
- if tid not in self.runq_complete:
- self.sq_task_failoutright(tid)
+ deferred_tid = list(self.sq_deferred.keys())[0]
+ blocking_tid = self.sq_deferred.pop(deferred_tid)
+ logger.warning("Runqeueue deadlocked on deferred tasks, forcing task %s blocked by %s" % (deferred_tid, blocking_tid))
return True
if self.failed_tids:
@@ -2506,11 +2522,14 @@ class RunQueueExecute:
if update_tasks:
self.sqdone = False
- for tid in [t[0] for t in update_tasks]:
- h = pending_hash_index(tid, self.rqdata)
- if h in self.sqdata.hashes and tid != self.sqdata.hashes[h]:
- self.sq_deferred[tid] = self.sqdata.hashes[h]
- bb.note("Deferring %s after %s" % (tid, self.sqdata.hashes[h]))
+ for mc in sorted(self.sqdata.multiconfigs):
+ for tid in sorted([t[0] for t in update_tasks]):
+ if mc_from_tid(tid) != mc:
+ continue
+ h = pending_hash_index(tid, self.rqdata)
+ if h in self.sqdata.hashes and tid != self.sqdata.hashes[h]:
+ self.sq_deferred[tid] = self.sqdata.hashes[h]
+ bb.note("Deferring %s after %s" % (tid, self.sqdata.hashes[h]))
update_scenequeue_data([t[0] for t in update_tasks], self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self, summary=False)
for (tid, harddepfail, origvalid) in update_tasks:
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index 3f3d6df54d..07bb529452 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
@@ -425,7 +427,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
bb.error("Taskhash mismatch %s versus %s for %s" % (computed_taskhash, self.taskhash[tid], tid))
sigfile = sigfile.replace(self.taskhash[tid], computed_taskhash)
- fd, tmpfile = tempfile.mkstemp(dir=os.path.dirname(sigfile), prefix="sigtask.")
+ fd, tmpfile = bb.utils.mkstemp(dir=os.path.dirname(sigfile), prefix="sigtask.")
try:
with bb.compress.zstd.open(fd, "wt", encoding="utf-8", num_threads=1) as f:
json.dump(data, f, sort_keys=True, separators=(",", ":"), cls=SetEncoder)
diff --git a/poky/bitbake/lib/bb/tests/compression.py b/poky/bitbake/lib/bb/tests/compression.py
index d3ddf67f1c..95af3f96d7 100644
--- a/poky/bitbake/lib/bb/tests/compression.py
+++ b/poky/bitbake/lib/bb/tests/compression.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bb/tests/cooker.py b/poky/bitbake/lib/bb/tests/cooker.py
index c82d4b7b81..9e524ae345 100644
--- a/poky/bitbake/lib/bb/tests/cooker.py
+++ b/poky/bitbake/lib/bb/tests/cooker.py
@@ -1,6 +1,8 @@
#
# BitBake Tests for cooker.py
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 7fcf57e7ea..b4ed691f33 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -11,6 +11,7 @@ import hashlib
import tempfile
import collections
import os
+import signal
import tarfile
from bb.fetch2 import URI
from bb.fetch2 import FetchMethod
@@ -22,6 +23,24 @@ def skipIfNoNetwork():
return unittest.skip("network test")
return lambda f: f
+class TestTimeout(Exception):
+ pass
+
+class Timeout():
+
+ def __init__(self, seconds):
+ self.seconds = seconds
+
+ def handle_timeout(self, signum, frame):
+ raise TestTimeout("Test failed: timeout reached")
+
+ def __enter__(self):
+ signal.signal(signal.SIGALRM, self.handle_timeout)
+ signal.alarm(self.seconds)
+
+ def __exit__(self, exc_type, exc_val, exc_tb):
+ signal.alarm(0)
+
class URITest(unittest.TestCase):
test_uris = {
"http://www.google.com/index.html" : {
@@ -1172,6 +1191,15 @@ class FetcherNetworkTest(FetcherTest):
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/deps/ctest/README.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/deps/testrunner/readme.md')), msg='Missing submodule checkout')
+ @skipIfNoNetwork()
+ def test_git_submodule_reference_to_parent(self):
+ self.recipe_url = "gitsm://github.com/gflags/gflags.git;protocol=https;branch=master"
+ self.d.setVar("SRCREV", "14e1138441bbbb584160cb1c0a0426ec1bac35f1")
+ with Timeout(60):
+ fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
+ with self.assertRaises(bb.fetch2.FetchError):
+ fetcher.download()
+
class SVNTest(FetcherTest):
def skipIfNoSvn():
import shutil
diff --git a/poky/bitbake/lib/bb/tests/parse.py b/poky/bitbake/lib/bb/tests/parse.py
index 1a3b74934d..ee7f2534f1 100644
--- a/poky/bitbake/lib/bb/tests/parse.py
+++ b/poky/bitbake/lib/bb/tests/parse.py
@@ -164,6 +164,7 @@ python () {
# become unset/disappear.
#
def test_parse_classextend_contamination(self):
+ self.d.setVar("__bbclasstype", "recipe")
cls = self.parsehelper(self.classextend_bbclass, suffix=".bbclass")
#clsname = os.path.basename(cls.name).replace(".bbclass", "")
self.classextend = self.classextend.replace("###CLASS###", cls.name)
diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py
index 19ed68ea62..92d44c5260 100644
--- a/poky/bitbake/lib/bb/utils.py
+++ b/poky/bitbake/lib/bb/utils.py
@@ -28,6 +28,8 @@ import signal
import collections
import copy
import ctypes
+import random
+import tempfile
from subprocess import getstatusoutput
from contextlib import contextmanager
from ctypes import cdll
@@ -429,12 +431,14 @@ def better_eval(source, locals, extraglobals = None):
return eval(source, ctx, locals)
@contextmanager
-def fileslocked(files):
+def fileslocked(files, *args, **kwargs):
"""Context manager for locking and unlocking file locks."""
locks = []
if files:
for lockfile in files:
- locks.append(bb.utils.lockfile(lockfile))
+ l = bb.utils.lockfile(lockfile, *args, **kwargs)
+ if l is not None:
+ locks.append(l)
try:
yield
@@ -1754,3 +1758,22 @@ def is_local_uid(uid=''):
if str(uid) == line_split[2]:
return True
return False
+
+def mkstemp(suffix=None, prefix=None, dir=None, text=False):
+ """
+ Generates a unique filename, independent of time.
+
+ mkstemp() in glibc (at least) generates unique file names based on the
+ current system time. When combined with highly parallel builds, and
+ operating over NFS (e.g. shared sstate/downloads) this can result in
+ conflicts and race conditions.
+
+ This function adds additional entropy to the file name so that a collision
+ is independent of time and thus extremely unlikely.
+ """
+ entropy = "".join(random.choices("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", k=20))
+ if prefix:
+ prefix = prefix + entropy
+ else:
+ prefix = tempfile.gettempprefix() + entropy
+ return tempfile.mkstemp(suffix=suffix, prefix=prefix, dir=dir, text=text)
diff --git a/poky/bitbake/lib/bblayers/__init__.py b/poky/bitbake/lib/bblayers/__init__.py
index 4e7c09da04..78efd29750 100644
--- a/poky/bitbake/lib/bblayers/__init__.py
+++ b/poky/bitbake/lib/bblayers/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bblayers/action.py b/poky/bitbake/lib/bblayers/action.py
index 6723e2c605..454c251410 100644
--- a/poky/bitbake/lib/bblayers/action.py
+++ b/poky/bitbake/lib/bblayers/action.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bblayers/common.py b/poky/bitbake/lib/bblayers/common.py
index 6c76ef3505..f7b9cee371 100644
--- a/poky/bitbake/lib/bblayers/common.py
+++ b/poky/bitbake/lib/bblayers/common.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bblayers/layerindex.py b/poky/bitbake/lib/bblayers/layerindex.py
index 7936516209..0ac8fd2ec7 100644
--- a/poky/bitbake/lib/bblayers/layerindex.py
+++ b/poky/bitbake/lib/bblayers/layerindex.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/bblayers/query.py b/poky/bitbake/lib/bblayers/query.py
index 525d4f0d47..afd39518e5 100644
--- a/poky/bitbake/lib/bblayers/query.py
+++ b/poky/bitbake/lib/bblayers/query.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
@@ -55,11 +57,12 @@ are overlayed will also be listed, with a " (skipped)" suffix.
# Check for overlayed .bbclass files
classes = collections.defaultdict(list)
for layerdir in self.bblayers:
- classdir = os.path.join(layerdir, 'classes')
- if os.path.exists(classdir):
- for classfile in os.listdir(classdir):
- if os.path.splitext(classfile)[1] == '.bbclass':
- classes[classfile].append(classdir)
+ for c in ["classes-global", "classes-recipe", "classes"]:
+ classdir = os.path.join(layerdir, c)
+ if os.path.exists(classdir):
+ for classfile in os.listdir(classdir):
+ if os.path.splitext(classfile)[1] == '.bbclass':
+ classes[classfile].append(classdir)
# Locating classes and other files is a bit more complicated than recipes -
# layer priority is not a factor; instead BitBake uses the first matching
@@ -122,9 +125,14 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
if inherits:
bbpath = str(self.tinfoil.config_data.getVar('BBPATH'))
for classname in inherits:
- classfile = 'classes/%s.bbclass' % classname
- if not bb.utils.which(bbpath, classfile, history=False):
- logger.error('No class named %s found in BBPATH', classfile)
+ found = False
+ for c in ["classes-global", "classes-recipe", "classes"]:
+ cfile = c + '/%s.bbclass' % classname
+ if bb.utils.which(bbpath, cfile, history=False):
+ found = True
+ break
+ if not found:
+ logger.error('No class named %s found in BBPATH', classname)
sys.exit(1)
pkg_pn = self.tinfoil.cooker.recipecaches[mc].pkg_pn
@@ -172,7 +180,7 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
logger.plain(" %s %s%s", layer.ljust(20), ver, skipped)
global_inherit = (self.tinfoil.config_data.getVar('INHERIT') or "").split()
- cls_re = re.compile('classes/')
+ cls_re = re.compile('classes.*/')
preffiles = []
show_unique_pn = []
@@ -405,7 +413,7 @@ NOTE: .bbappend files can impact the dependencies.
self.check_cross_depends("RRECOMMENDS", layername, f, best, args.filenames, ignore_layers)
# The inherit class
- cls_re = re.compile('classes/')
+ cls_re = re.compile('classes.*/')
if f in self.tinfoil.cooker_data.inherits:
inherits = self.tinfoil.cooker_data.inherits[f]
for cls in inherits:
diff --git a/poky/bitbake/lib/prserv/__init__.py b/poky/bitbake/lib/prserv/__init__.py
index 9961040b58..38ced818ad 100644
--- a/poky/bitbake/lib/prserv/__init__.py
+++ b/poky/bitbake/lib/prserv/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/prserv/client.py b/poky/bitbake/lib/prserv/client.py
index a3f19ddafc..69ab7a4ac9 100644
--- a/poky/bitbake/lib/prserv/client.py
+++ b/poky/bitbake/lib/prserv/client.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/prserv/db.py b/poky/bitbake/lib/prserv/db.py
index 2710d4a225..b4bda7078c 100644
--- a/poky/bitbake/lib/prserv/db.py
+++ b/poky/bitbake/lib/prserv/db.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/prserv/serv.py b/poky/bitbake/lib/prserv/serv.py
index 0a20b927c7..c686b2065c 100644
--- a/poky/bitbake/lib/prserv/serv.py
+++ b/poky/bitbake/lib/prserv/serv.py
@@ -1,4 +1,6 @@
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/bitbake/lib/toaster/manage.py b/poky/bitbake/lib/toaster/manage.py
index ae32619d12..f8de49c264 100755
--- a/poky/bitbake/lib/toaster/manage.py
+++ b/poky/bitbake/lib/toaster/manage.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright BitBake Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/documentation/README b/poky/documentation/README
index 6f6a8ec842..6333f0496a 100644
--- a/poky/documentation/README
+++ b/poky/documentation/README
@@ -129,6 +129,10 @@ Also install the "inkscape" package from your distribution.
Inkscape is need to convert SVG graphics to PNG (for EPUB
export) and to PDF (for PDF export).
+Additionally install "fncychap.sty" TeX font if you want to build PDFs. Debian
+and Ubuntu have it in "texlive-latex-extra" package while RedHat distributions
+and OpenSUSE have it in "texlive-fncychap" package for example.
+
To build the documentation locally, run:
$ cd documentation
diff --git a/poky/documentation/conf.py b/poky/documentation/conf.py
index 2a017569f7..07a15ce7de 100644
--- a/poky/documentation/conf.py
+++ b/poky/documentation/conf.py
@@ -98,7 +98,7 @@ extlinks = {
'yocto_bugs': ('https://bugzilla.yoctoproject.org%s', None),
'yocto_ab': ('https://autobuilder.yoctoproject.org%s', None),
'yocto_docs': ('https://docs.yoctoproject.org%s', None),
- 'yocto_git': ('https://git.yoctoproject.org/cgit/cgit.cgi%s', None),
+ 'yocto_git': ('https://git.yoctoproject.org%s', None),
'yocto_sstate': ('http://sstate.yoctoproject.org%s', None),
'oe_home': ('https://www.openembedded.org%s', None),
'oe_lists': ('https://lists.openembedded.org%s', None),
diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst
index 8be3c7c0e8..b08a55331d 100644
--- a/poky/documentation/dev-manual/common-tasks.rst
+++ b/poky/documentation/dev-manual/common-tasks.rst
@@ -6527,7 +6527,7 @@ newest sstate cache file for each package::
This command will ask you to confirm the deletions it identifies.
-Note::
+.. note::
The duplicated sstate cache files of one package must have the same
architecture, which means that sstate cache files with multiple
diff --git a/poky/documentation/kernel-dev/common.rst b/poky/documentation/kernel-dev/common.rst
index dc3345a520..16ef6453bd 100644
--- a/poky/documentation/kernel-dev/common.rst
+++ b/poky/documentation/kernel-dev/common.rst
@@ -52,8 +52,8 @@ image and ready to make modifications as described in the
":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`"
section:
-1. *Initialize the BitBake Environment:* Before building an extensible
- SDK, you need to initialize the BitBake build environment by sourcing
+1. *Initialize the BitBake Environment:*
+ you need to initialize the BitBake build environment by sourcing
the build environment script (i.e. :ref:`structure-core-script`)::
$ cd poky
@@ -120,67 +120,10 @@ section:
NOTE: Starting bitbake server...
$
-5. *Build the Extensible SDK:* Use BitBake to build the extensible SDK
- specifically for use with images to be run using QEMU::
+5. *Build the Clean Image:* The final step in preparing to work on the
+ kernel is to build an initial image using ``bitbake``::
- $ cd poky/build
- $ bitbake core-image-minimal -c populate_sdk_ext
-
- Once
- the build finishes, you can find the SDK installer file (i.e.
- ``*.sh`` file) in the following directory::
-
- poky/build/tmp/deploy/sdk
-
- For this example, the installer file is named
- ``poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-&DISTRO;.sh``.
-
-6. *Install the Extensible SDK:* Use the following command to install
- the SDK. For this example, install the SDK in the default
- ``poky_sdk`` directory::
-
- $ cd poky/build/tmp/deploy/sdk
- $ ./poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-&DISTRO;.sh
- Poky (Yocto Project Reference Distro) Extensible SDK installer version &DISTRO;
- ============================================================================
- Enter target directory for SDK (default: poky_sdk):
- You are about to install the SDK to "/home/scottrif/poky_sdk". Proceed [Y/n]? Y
- Extracting SDK......................................done
- Setting it up...
- Extracting buildtools...
- Preparing build system...
- Parsing recipes: 100% |#################################################################| Time: 0:00:52
- Initializing tasks: 100% |############## ###############################################| Time: 0:00:04
- Checking sstate mirror object availability: 100% |######################################| Time: 0:00:00
- Parsing recipes: 100% |#################################################################| Time: 0:00:33
- Initializing tasks: 100% |##############################################################| Time: 0:00:00
- done
- SDK has been successfully set up and is ready to be used.
- Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.
- $ . /home/scottrif/poky_sdk/environment-setup-i586-poky-linux
-
-
-7. *Set Up a New Terminal to Work With the Extensible SDK:* You must set
- up a new terminal to work with the SDK. You cannot use the same
- BitBake shell used to build the installer.
-
- After opening a new shell, run the SDK environment setup script as
- directed by the output from installing the SDK::
-
- $ source poky_sdk/environment-setup-i586-poky-linux
- "SDK environment now set up; additionally you may now run devtool to perform development tasks.
- Run devtool --help for further details.
-
- .. note::
-
- If you get a warning about attempting to use the extensible SDK in
- an environment set up to run BitBake, you did not use a new shell.
-
-8. *Build the Clean Image:* The final step in preparing to work on the
- kernel is to build an initial image using ``devtool`` in the new
- terminal you just set up and initialized for SDK work::
-
- $ devtool build-image
+ $ bitbake core-image-minimal
Parsing recipes: 100% |##########################################| Time: 0:00:05
Parsing of 830 .bb files complete (0 cached, 830 parsed). 1299 targets, 47 skipped, 0 masked, 0 errors.
WARNING: No packages to add, building image core-image-minimal unmodified
@@ -192,7 +135,6 @@ section:
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 2866 tasks of which 2604 didn't need to be rerun and all succeeded.
- NOTE: Successfully built core-image-minimal. You can find output files in /home/scottrif/poky_sdk/tmp/deploy/images/qemux86
If you were
building for actual hardware and not for emulation, you could flash
@@ -202,7 +144,7 @@ section:
Wiki page.
At this point you have set up to start making modifications to the
-kernel by using the extensible SDK. For a continued example, see the
+kernel. For a continued example, see the
":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`"
section.
@@ -744,7 +686,7 @@ Using ``devtool`` to Patch the Kernel
=====================================
The steps in this procedure show you how you can patch the kernel using
-the extensible SDK and ``devtool``.
+``devtool``.
.. note::
@@ -766,8 +708,7 @@ console. The example is a continuation of the setup procedure found in
the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Section.
1. *Check Out the Kernel Source Files:* First you must use ``devtool``
- to checkout the kernel source code in its workspace. Be sure you are
- in the terminal set up to do work with the extensible SDK.
+ to checkout the kernel source code in its workspace.
.. note::
@@ -867,7 +808,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se
the results of your ``printk`` statements as part of the output
when you scroll down the console window.
-6. *Stage and commit your changes*: Within your eSDK terminal, change
+6. *Stage and commit your changes*: Change
your working directory to where you modified the ``calibrate.c`` file
and use these Git commands to stage and commit your changes::
@@ -878,8 +819,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se
7. *Export the Patches and Create an Append File:* To export your
commits as patches and create a ``.bbappend`` file, use the following
- command in the terminal used to work with the extensible SDK. This
- example uses the previously established layer named ``meta-mylayer``.
+ command. This example uses the previously established layer named ``meta-mylayer``.
::
$ devtool finish linux-yocto ~/meta-mylayer
@@ -907,8 +847,8 @@ Using Traditional Kernel Development to Patch the Kernel
========================================================
The steps in this procedure show you how you can patch the kernel using
-traditional kernel development (i.e. not using ``devtool`` and the
-extensible SDK as described in the
+traditional kernel development (i.e. not using ``devtool``
+as described in the
":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`"
section).
diff --git a/poky/documentation/kernel-dev/intro.rst b/poky/documentation/kernel-dev/intro.rst
index b9ce7f241c..4ff4dc7d35 100644
--- a/poky/documentation/kernel-dev/intro.rst
+++ b/poky/documentation/kernel-dev/intro.rst
@@ -114,13 +114,13 @@ general information and references for further information.
a build host ready to use the Yocto Project.
2. *Set Up Your Host Development System for Kernel Development:* It is
- recommended that you use ``devtool`` and an extensible SDK for kernel
+ recommended that you use ``devtool`` for kernel
development. Alternatively, you can use traditional kernel
development methods with the Yocto Project. Either way, there are
steps you need to take to get the development environment ready.
- Using ``devtool`` and the eSDK requires that you have a clean build
- of the image and that you are set up with the appropriate eSDK. For
+ Using ``devtool`` requires that you have a clean build
+ of the image. For
more information, see the
":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``"
section.
@@ -134,7 +134,7 @@ general information and references for further information.
3. *Make Changes to the Kernel Source Code if applicable:* Modifying the
kernel does not always mean directly changing source files. However,
if you have to do this, you make the changes to the files in the
- eSDK's Build Directory if you are using ``devtool``. For more
+ Yocto's Build Directory if you are using ``devtool``. For more
information, see the
":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`"
section.
diff --git a/poky/documentation/migration-guides/release-4.0.rst b/poky/documentation/migration-guides/release-4.0.rst
index 6584963be8..fe1efaec1f 100644
--- a/poky/documentation/migration-guides/release-4.0.rst
+++ b/poky/documentation/migration-guides/release-4.0.rst
@@ -7,3 +7,4 @@ Release 4.0 (kirkstone)
release-notes-4.0
release-notes-4.0.1
release-notes-4.0.2
+ release-notes-4.0.3
diff --git a/poky/documentation/migration-guides/release-notes-4.0.3.rst b/poky/documentation/migration-guides/release-notes-4.0.3.rst
new file mode 100644
index 0000000000..e2a212cb62
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-4.0.3.rst
@@ -0,0 +1,314 @@
+Release notes for Yocto-4.0.3 (Kirkstone)
+-----------------------------------------
+
+Security Fixes in Yocto-4.0.3
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- binutils: fix :cve:`2019-1010204`
+- busybox: fix :cve:`2022-30065`
+- cups: ignore :cve:`2022-26691`
+- curl: Fix :cve:`2022-32205`, :cve:`2022-32206`, :cve:`2022-32207` and :cve:`2022-32208`
+- dpkg: fix :cve:`2022-1664`
+- ghostscript: fix :cve:`2022-2085`
+- harfbuzz: fix :cve:`2022-33068`
+- libtirpc: fix :cve:`2021-46828`
+- lua: fix :cve:`2022-33099`
+- nasm: ignore :cve:`2020-18974`
+- qemu: fix :cve:`2022-35414`
+- qemu: ignore :cve:`2021-20255` and :cve:`2019-12067`
+- tiff: fix :cve:`2022-1354`, :cve:`2022-1355`, :cve:`2022-2056`, :cve:`2022-2057` and :cve:`2022-2058`
+- u-boot: fix :cve:`2022-34835`
+- unzip: fix :cve:`2022-0529` and :cve:`2022-0530`
+
+
+Fixes in Yocto-4.0.3
+~~~~~~~~~~~~~~~~~~~~
+
+- alsa-state: correct license
+- at: take tarballs from debian
+- base.bbclass: Correct the test for obsolete license exceptions
+- base/reproducible: Change Source Date Epoch generation methods
+- bin_package: install into base_prefix
+- bind: Remove legacy python3 PACKAGECONFIG code
+- bind: upgrade to 9.18.4
+- binutils: stable 2.38 branch updates
+- build-appliance-image: Update to kirkstone head revision
+- cargo_common.bbclass: enable bitbake vendoring for externalsrc
+- coreutils: Tweak packaging variable names for coreutils-dev
+- curl: backport openssl fix CN check error code
+- cve-check: hook cleanup to the BuildCompleted event, not CookerExit
+- cve-extra-exclusions: Clean up and ignore three CVEs (2xqemu and nasm)
+- devtool: finish: handle patching when S points to subdir of a git repo
+- devtool: ignore pn- overrides when determining SRC_URI overrides
+- docs: BB_HASHSERVE_UPSTREAM: update to new host
+- dropbear: break dependency on base package for -dev package
+- efivar: fix import functionality
+- encodings: update to 1.0.6
+- epiphany: upgrade to 42.3
+- externalsrc.bbclass: support crate fetcher on externalsrc
+- font-util: update 1.3.2 -> 1.3.3
+- gcc-runtime: Fix build when using gold
+- gcc-runtime: Fix missing MLPREFIX in debug mappings
+- gcc-runtime: Pass -nostartfiles when building dummy libstdc++.so
+- gcc: Backport a fix for gcc bug 105039
+- git: upgrade to v2.35.4
+- glib-2.0: upgrade to 2.72.3
+- glib-networking: upgrade to 2.72.1
+- glibc : stable 2.35 branch updates
+- glibc-tests: Avoid reproducibility issues
+- glibc-tests: not clear BBCLASSEXTEND
+- glibc: revert one upstream change to work around broken DEBUG_BUILD build
+- glibc: stable 2.35 branch updates
+- gnupg: upgrade to 2.3.7
+- go: upgrade to v1.17.12
+- gobject-introspection-data: Disable cache for g-ir-scanner
+- gperf: Add a patch to work around reproducibility issues
+- gperf: Switch to upstream patch
+- gst-devtools: upgrade to 1.20.3
+- gstreamer1.0-libav: upgrade to 1.20.3
+- gstreamer1.0-omx: upgrade to 1.20.3
+- gstreamer1.0-plugins-bad: upgrade to 1.20.3
+- gstreamer1.0-plugins-base: upgrade to 1.20.3
+- gstreamer1.0-plugins-good: upgrade to 1.20.3
+- gstreamer1.0-plugins-ugly: upgrade to 1.20.3
+- gstreamer1.0-python: upgrade to 1.20.3
+- gstreamer1.0-rtsp-server: upgrade to 1.20.3
+- gstreamer1.0-vaapi: upgrade to 1.20.3
+- gstreamer1.0: upgrade to 1.20.3
+- gtk-doc: Remove hardcoded buildpath
+- harfbuzz: Fix compilation with clang
+- initramfs-framework: move storage mounts to actual rootfs
+- initscripts: run umountnfs as a KILL script
+- insane.bbclass: host-user-contaminated: Correct per package home path
+- insane: Fix buildpaths test to work with special devices
+- kernel-arch: Fix buildpaths leaking into external module compiles
+- kernel-devsrc: fix reproducibility and buildpaths QA warning
+- kernel-devsrc: ppc32: fix reproducibility
+- kernel-uboot.bbclass: Use vmlinux.initramfs when INITRAMFS_IMAGE_BUNDLE set
+- kernel.bbclass: pass LD also in savedefconfig
+- libffi: fix native build being not portable
+- libgcc: Fix standalone target builds with usrmerge distro feature
+- libmodule-build-perl: Use env utility to find perl interpreter
+- libsoup: upgrade to 3.0.7
+- libuv: upgrade to 1.44.2
+- linux-firmware: upgrade to 20220708
+- linux-firwmare: restore WHENCE_CHKSUM variable
+- linux-yocto-rt/5.15: update to -rt48 (and fix -stable merge)
+- linux-yocto/5.10: fix build_OID_registry/conmakehash buildpaths warning
+- linux-yocto/5.10: fix buildpaths issue with gen-mach-types
+- linux-yocto/5.10: fix buildpaths issue with pnmtologo
+- linux-yocto/5.10: update to v5.10.135
+- linux-yocto/5.15: drop obselete GPIO sysfs ABI
+- linux-yocto/5.15: fix build_OID_registry buildpaths warning
+- linux-yocto/5.15: fix buildpaths issue with gen-mach-types
+- linux-yocto/5.15: fix buildpaths issue with pnmtologo
+- linux-yocto/5.15: fix qemuppc buildpaths warning
+- linux-yocto/5.15: fix reproducibility issues
+- linux-yocto/5.15: update to v5.15.59
+- log4cplus: upgrade to 2.0.8
+- lttng-modules: Fix build failure for kernel v5.15.58
+- lttng-modules: upgrade to 2.13.4
+- lua: Fix multilib buildpath reproducibility issues
+- mkfontscale: upgrade to 1.2.2
+- oe-selftest-image: Ensure the image has sftp as well as dropbear
+- oe-selftest: devtool: test modify git recipe building from a subdir
+- oeqa/runtime/scp: Disable scp test for dropbear
+- oeqa/runtime: add test that the kernel has CONFIG_PREEMPT_RT enabled
+- oeqa/sdk: drop the nativesdk-python 2.x test
+- openssh: Add openssh-sftp-server to openssh RDEPENDS
+- openssh: break dependency on base package for -dev package
+- openssl: update to 3.0.5
+- package.bbclass: Avoid stripping signed kernel modules in splitdebuginfo
+- package.bbclass: Fix base directory for debugsource files when using externalsrc
+- package.bbclass: Fix kernel source handling when not using externalsrc
+- package_manager/ipk: do not pipe stderr to stdout
+- packagegroup-core-ssh-dropbear: Add openssh-sftp-server recommendation
+- patch: handle if S points to a subdirectory of a git repo
+- perf: fix reproducibility in 5.19+
+- perf: fix reproduciblity in older releases of Linux
+- perf: sort-pmuevents: really keep array terminators
+- perl: don't install Makefile.old into perl-ptest
+- poky.conf: bump version for 4.0.3
+- pulseaudio: add m4-native to DEPENDS
+- python3: Backport patch to fix an issue in subinterpreters
+- qemu: Add PACKAGECONFIG for brlapi
+- qemu: Avoid accidental librdmacm linkage
+- qemu: Avoid accidental libvdeplug linkage
+- qemu: Fix slirp determinism issue
+- qemu: add PACKAGECONFIG for capstone
+- recipetool/devtool: Fix python egg whitespace issues in PACKAGECONFIG
+- ref-manual: variables: remove sphinx directive from literal block
+- rootfs-postcommands.bbclass: move host-user-contaminated.txt to ${S}
+- ruby: add PACKAGECONFIG for capstone
+- rust: fix issue building cross-canadian tools for aarch64 on x86_64
+- sanity.bbclass: Add ftps to accepted URI protocols for mirrors sanity
+- selftest/runtime_test/virgl: Disable for all almalinux
+- sstatesig: Include all dependencies in SPDX task signatures
+- strace: set COMPATIBLE_HOST for riscv32
+- systemd: Added base_bindir into pkg_postinst:udev-hwdb.
+- udev-extraconf/initrdscripts/parted: Rename mount.blacklist -> mount.ignorelist
+- udev-extraconf/mount.sh: add LABELs to mountpoints
+- udev-extraconf/mount.sh: ignore lvm in automount
+- udev-extraconf/mount.sh: only mount devices on hotplug
+- udev-extraconf/mount.sh: save mount name in our tmp filecache
+- udev-extraconf: fix some systemd automount issues
+- udev-extraconf: force systemd-udevd to use shared MountFlags
+- udev-extraconf: let automount base directory configurable
+- udev-extraconf:mount.sh: fix a umount issue
+- udev-extraconf:mount.sh: fix path mismatching issues
+- vala: Fix on target wrapper buildpaths issue
+- vala: upgrade to 0.56.2
+- vim: upgrade to 9.0.0063
+- waffle: correctly request wayland-scanner executable
+- webkitgtk: upgrade to 2.36.4
+- weston: upgrade to 10.0.1
+- wic/plugins/rootfs: Fix NameError for 'orig_path'
+- wic: fix WicError message
+- wireless-regdb: upgrade to 2022.06.06
+- xdpyinfo: upgrade to 1.3.3
+- xev: upgrade to 1.2.5
+- xf86-input-synaptics: upgrade to 1.9.2
+- xmodmap: upgrade to 1.0.11
+- xorg-app: Tweak handling of compression changes in SRC_URI
+- xserver-xorg: upgrade to 21.1.4
+- xwayland: upgrade to 22.1.3
+- yocto-bsps/5.10: fix buildpaths issue with gen-mach-types
+- yocto-bsps/5.10: fix buildpaths issue with pnmtologo
+- yocto-bsps/5.15: fix buildpaths issue with gen-mach-types
+- yocto-bsps/5.15: fix buildpaths issue with pnmtologo
+- yocto-bsps: buildpaths fixes
+- yocto-bsps: update to v5.10.130
+- yocto-bsps: buildpaths fixes
+- yocto-bsps: update to v5.15.54
+
+
+Known Issues in Yocto-4.0.3
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- N/A
+
+
+Contributors to Yocto-4.0.3
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- Ahmed Hossam
+- Alejandro Hernandez Samaniego
+- Alex Kiernan
+- Alexander Kanavin
+- Bruce Ashfield
+- Chanho Park
+- Christoph Lauer
+- David Bagonyi
+- Dmitry Baryshkov
+- He Zhe
+- Hitendra Prajapati
+- Jose Quaresma
+- Joshua Watt
+- Kai Kang
+- Khem Raj
+- Lee Chee Yang
+- Lucas Stach
+- Markus Volk
+- Martin Jansa
+- Maxime Roussin-Bélanger
+- Michael Opdenacker
+- Mihai Lindner
+- Ming Liu
+- Mingli Yu
+- Muhammad Hamza
+- Naveen
+- Pascal Bach
+- Paul Eggleton
+- Pavel Zhukov
+- Peter Bergin
+- Peter Kjellerstedt
+- Peter Marko
+- Pgowda
+- Raju Kumar Pothuraju
+- Richard Purdie
+- Robert Joslyn
+- Ross Burton
+- Sakib Sajal
+- Shruthi Ravichandran
+- Steve Sakoman
+- Sundeep Kokkonda
+- Thomas Roos
+- Tom Hochstein
+- Wentao Zhang
+- Yi Zhao
+- Yue Tao
+- gr embeter
+- leimaohui
+- wangmy
+
+
+Repositories / Downloads for Yocto-4.0.3
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+- Repository Location: https://git.yoctoproject.org/git/poky
+- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
+- Tag: :yocto_git:`yocto-4.0.3 </poky/log/?h=yocto-4.0.3>`
+- Git Revision: :yocto_git:`387ab5f18b17c3af3e9e30dc58584641a70f359f </poky/commit/?id=387ab5f18b17c3af3e9e30dc58584641a70f359f>`
+- Release Artefact: poky-387ab5f18b17c3af3e9e30dc58584641a70f359f
+- sha: fe674186bdb0684313746caa9472134fc19e6f1443c274fe02c06cb1e675b404
+- Download Locations:
+ http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.3/poky-387ab5f18b17c3af3e9e30dc58584641a70f359f.tar.bz2
+ http://mirrors.kernel.org/yocto/yocto/yocto-4.0.3/poky-387ab5f18b17c3af3e9e30dc58584641a70f359f.tar.bz2
+
+openembedded-core
+
+- Repository Location: https://git.openembedded.org/openembedded-core
+- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
+- Tag: :oe_git:`yocto-4.0.3 </openembedded-core/log/?h=yocto-4.0.3>`
+- Git Revision: :oe_git:`2cafa6ed5f0aa9df5a120b6353755d56c7c7800d </openembedded-core/commit/?id=2cafa6ed5f0aa9df5a120b6353755d56c7c7800d>`
+- Release Artefact: oecore-2cafa6ed5f0aa9df5a120b6353755d56c7c7800d
+- sha: 5181d3e8118c6112936637f01a07308b715e0e3d12c7eba338556747dfcabe92
+- Download Locations:
+ http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.3/oecore-2cafa6ed5f0aa9df5a120b6353755d56c7c7800d.tar.bz2
+ http://mirrors.kernel.org/yocto/yocto/yocto-4.0.3/oecore-2cafa6ed5f0aa9df5a120b6353755d56c7c7800d.tar.bz2
+
+meta-mingw
+
+- Repository Location: https://git.yoctoproject.org/git/meta-mingw
+- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
+- Tag: :yocto_git:`yocto-4.0.3 </meta-mingw/log/?h=yocto-4.0.3>`
+- Git Revision: :yocto_git:`a90614a6498c3345704e9611f2842eb933dc51c1 </meta-mingw/commit/?id=a90614a6498c3345704e9611f2842eb933dc51c1>`
+- Release Artefact: meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1
+- sha: 49f9900bfbbc1c68136f8115b314e95d0b7f6be75edf36a75d9bcd1cca7c6302
+- Download Locations:
+ http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.3/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
+ http://mirrors.kernel.org/yocto/yocto/yocto-4.0.3/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
+
+meta-gplv2
+
+- Repository Location: https://git.yoctoproject.org/git/meta-gplv2
+- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
+- Tag: :yocto_git:`yocto-4.0.3 </meta-gplv2/log/?h=yocto-4.0.3>`
+- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
+- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
+- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
+- Download Locations:
+ http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.3/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
+ http://mirrors.kernel.org/yocto/yocto/yocto-4.0.3/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
+
+bitbake
+
+- Repository Location: https://git.openembedded.org/bitbake
+- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
+- Tag: :oe_git:`yocto-4.0.3 </bitbake/log/?h=yocto-4.0.3>`
+- Git Revision: :oe_git:`b8fd6f5d9959d27176ea016c249cf6d35ac8ba03 </bitbake/commit/?id=b8fd6f5d9959d27176ea016c249cf6d35ac8ba03>`
+- Release Artefact: bitbake-b8fd6f5d9959d27176ea016c249cf6d35ac8ba03
+- sha: 373818b1dee2c502264edf654d6d8f857b558865437f080e02d5ba6bb9e72cc3
+- Download Locations:
+ http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.3/bitbake-b8fd6f5d9959d27176ea016c249cf6d35ac8ba03.tar.bz2
+ http://mirrors.kernel.org/yocto/yocto/yocto-4.0.3/bitbake-b8fd6f5d9959d27176ea016c249cf6d35ac8ba03.tar.bz2
+
+yocto-docs
+
+- Repository Location: https://git.yoctoproject.org/git/yocto-docs
+- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
+- Tag: :yocto_git:`yocto-4.0.3 </yocto-docs/log/?h=yocto-4.0.3>`
+- Git Revision: :yocto_git:`d9b3dcf65ef25c06f552482aba460dd16862bf96 </yocto-docs/commit/?id=d9b3dcf65ef25c06f552482aba460dd16862bf96>`
+
diff --git a/poky/documentation/ref-manual/features.rst b/poky/documentation/ref-manual/features.rst
index 17521ac2a8..8dfe29d66a 100644
--- a/poky/documentation/ref-manual/features.rst
+++ b/poky/documentation/ref-manual/features.rst
@@ -62,6 +62,8 @@ Project metadata:
- *keyboard:* Hardware has a keyboard
+- *numa:* Hardware has non-uniform memory access
+
- *pcbios:* Support for booting through BIOS
- *pci:* Hardware has a PCI bus
diff --git a/poky/documentation/ref-manual/system-requirements.rst b/poky/documentation/ref-manual/system-requirements.rst
index 6cf88f2a98..62da1bfaaa 100644
--- a/poky/documentation/ref-manual/system-requirements.rst
+++ b/poky/documentation/ref-manual/system-requirements.rst
@@ -45,14 +45,8 @@ distributions:
- Fedora 35
-- CentOS 7.x
-
-- CentOS 8.x
-
- AlmaLinux 8.5
-- Debian GNU/Linux 9.x (Stretch)
-
- Debian GNU/Linux 10.x (Buster)
- Debian GNU/Linux 11.x (Bullseye)
@@ -120,12 +114,6 @@ supported Ubuntu or Debian Linux distribution:
$ sudo apt build-dep qemu
$ sudo apt remove oss4-dev
- - For Debian-8, ``python3-git`` and ``pylint3`` are no longer
- available via ``apt``.
- ::
-
- $ sudo pip3 install GitPython pylint==1.9.5
-
- *Essentials:* Packages needed to build an image on a headless system::
$ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
@@ -133,15 +121,9 @@ supported Ubuntu or Debian Linux distribution:
- *Documentation:* Packages needed if you are going to build out the
Yocto Project documentation manuals::
- $ sudo apt install make python3-pip
+ $ sudo apt install make python3-pip inkscape texlive-latex-extra
&PIP3_HOST_PACKAGES_DOC;
- .. note::
-
- It is currently not possible to build out documentation from Debian 8
- (Jessie) because of outdated ``pip3`` and ``python3``. ``python3-sphinx``
- is too outdated.
-
Fedora Packages
---------------
@@ -156,7 +138,7 @@ supported Fedora Linux distribution:
- *Documentation:* Packages needed if you are going to build out the
Yocto Project documentation manuals::
- $ sudo dnf install make python3-pip which
+ $ sudo dnf install make python3-pip which inkscape texlive-fncychap
&PIP3_HOST_PACKAGES_DOC;
openSUSE Packages
@@ -173,42 +155,15 @@ supported openSUSE Linux distribution:
- *Documentation:* Packages needed if you are going to build out the
Yocto Project documentation manuals::
- $ sudo zypper install make python3-pip which
+ $ sudo zypper install make python3-pip which inkscape texlive-fncychap
&PIP3_HOST_PACKAGES_DOC;
-CentOS-7 Packages
------------------
-
-Here are the required packages by function given a
-supported CentOS-7 Linux distribution:
-
-- *Essentials:* Packages needed to build an image for a headless
- system::
-
- $ sudo yum install &CENTOS7_HOST_PACKAGES_ESSENTIAL;
-
- .. note::
-
- - Extra Packages for Enterprise Linux (i.e. ``epel-release``) is
- a collection of packages from Fedora built on RHEL/CentOS for
- easy installation of packages not included in enterprise Linux
- by default. You need to install these packages separately.
-
- - The ``makecache`` command consumes additional Metadata from
- ``epel-release``.
-
-- *Documentation:* Packages needed if you are going to build out the
- Yocto Project documentation manuals::
-
- $ sudo yum install make python3-pip which
- &PIP3_HOST_PACKAGES_DOC;
-
-CentOS-8 Packages
------------------
+AlmaLinux-8 Packages
+--------------------
Here are the required packages by function given a
-supported CentOS-8 Linux distribution:
+supported AlmaLinux-8 Linux distribution:
- *Essentials:* Packages needed to build an image for a headless
system::
@@ -231,7 +186,7 @@ supported CentOS-8 Linux distribution:
- *Documentation:* Packages needed if you are going to build out the
Yocto Project documentation manuals::
- $ sudo dnf install make python3-pip which
+ $ sudo dnf install make python3-pip which inkscape texlive-fncychap
&PIP3_HOST_PACKAGES_DOC;
Required Git, tar, Python, make and gcc Versions
diff --git a/poky/documentation/sdk-manual/appendix-customizing.rst b/poky/documentation/sdk-manual/appendix-customizing.rst
index 9a76cc59d6..23a437eb9d 100644
--- a/poky/documentation/sdk-manual/appendix-customizing.rst
+++ b/poky/documentation/sdk-manual/appendix-customizing.rst
@@ -1,11 +1,17 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
-******************************
-Customizing the Extensible SDK
-******************************
+***************************************************
+Customizing the Extensible SDK standalone installer
+***************************************************
This appendix describes customizations you can apply to the extensible
-SDK.
+SDK when using in the standalone installer version.
+
+.. note::
+
+ It is also possible to use the Extensible SDK functionality directly in a
+ Yocto build, avoiding separate installer artefacts. Please refer to
+ ":ref:`sdk-manual/extensible:Installing the Extensible SDK`"
Configuring the Extensible SDK
==============================
diff --git a/poky/documentation/sdk-manual/appendix-obtain.rst b/poky/documentation/sdk-manual/appendix-obtain.rst
index ece378c75e..7a09a83af8 100644
--- a/poky/documentation/sdk-manual/appendix-obtain.rst
+++ b/poky/documentation/sdk-manual/appendix-obtain.rst
@@ -4,8 +4,22 @@
Obtaining the SDK
*****************
+Working with the SDK components directly in a Yocto build
+=========================================================
+
+Please refer to section
+":ref:`sdk-manual/extensible:Setting up the Extensible SDK environment directly in a Yocto build`"
+
+Note that to use this feature effectively either a powerful build
+machine, or a well-functioning sstate cache infrastructure is required:
+otherwise significant time could be spent waiting for components to be built
+by BitBake from source code.
+
+Working with standalone SDK Installers
+======================================
+
Locating Pre-Built SDK Installers
-=================================
+---------------------------------
You can use existing, pre-built toolchains by locating and running an
SDK installer script that ships with the Yocto Project. Using this
@@ -72,7 +86,7 @@ Follow these steps to locate and hand-install the toolchain:
section for more information.
Building an SDK Installer
-=========================
+-------------------------
As an alternative to locating and downloading an SDK installer, you can
build the SDK installer. Follow these steps:
diff --git a/poky/documentation/sdk-manual/extensible.rst b/poky/documentation/sdk-manual/extensible.rst
index ed9e43a2d8..0df6519b8e 100644
--- a/poky/documentation/sdk-manual/extensible.rst
+++ b/poky/documentation/sdk-manual/extensible.rst
@@ -41,6 +41,42 @@ functionality.
Installing the Extensible SDK
=============================
+Two ways to install the Extensible SDK
+--------------------------------------
+
+Extensible SDK can be installed in two different ways, and both have
+their own pros and cons:
+
+1. *Setting up the Extensible SDK environment directly in a Yocto build*. This
+avoids having to produce, test, distribute and maintain separate SDK installer
+archives, which can get very large. There is only one environment for the regular
+Yocto build and the SDK and less code paths where things can go not according to plan.
+It's easier to update the SDK: it simply means updating the Yocto layers with
+git fetch or layer management tooling. The SDK extensibility is better than in the
+second option: just run ``bitbake`` again to add more things to the sysroot, or add layers
+if even more things are required.
+
+2. *Setting up the Extensible SDK from a standalone installer*. This has the benefit of
+having a single, self-contained archive that includes all the needed binary artifacts.
+So nothing needs to be rebuilt, and there is no need to provide a well-functioning
+binary artefact cache over the network for developers with underpowered laptops.
+
+Setting up the Extensible SDK environment directly in a Yocto build
+-------------------------------------------------------------------
+
+1. Set up all the needed layers and a Yocto build directory, e.g. a regular Yocto
+ build where ``bitbake`` can be executed.
+
+2. Run:
+ $ bitbake meta-ide-support
+ $ bitbake -c populate_sysroot gtk+3
+ (or any other target or native item that the application developer would need)
+ $ bitbake populate-sysroots
+
+
+Setting up the Extensible SDK from a standalone installer
+---------------------------------------------------------
+
The first thing you need to do is install the SDK on your :term:`Build
Host` by running the ``*.sh`` installation script.
@@ -136,7 +172,12 @@ Running the Extensible SDK Environment Setup Script
===================================================
Once you have the SDK installed, you must run the SDK environment setup
-script before you can actually use the SDK. This setup script resides in
+script before you can actually use the SDK.
+
+When using a SDK directly in a Yocto build, you will find the script in
+``tmp/deploy/images/qemux86-64/`` in your build directory.
+
+When using a standalone SDK installer, this setup script resides in
the directory you chose when you installed the SDK, which is either the
default ``poky_sdk`` directory or the directory you chose during
installation.
@@ -154,6 +195,11 @@ script is for an IA-based target machine using i586 tuning::
SDK environment now set up; additionally you may now run devtool to perform development tasks.
Run devtool --help for further details.
+When using the environment script directly in a Yocto build, it can
+be run similarly:
+
+ $ source tmp/deploy/images/qemux86-64/environment-setup-core2-64-poky-linux
+
Running the setup script defines many environment variables needed in
order to use the SDK (e.g. ``PATH``,
:term:`CC`,
@@ -1215,9 +1261,23 @@ need to link to libGL but you are not sure which recipe provides libGL.
You can use the following command to find out::
$ devtool search libGL mesa
+ A free implementation of the OpenGL API
+
+Once you know the recipe
+(i.e. ``mesa`` in this example), you can install it.
+
+When using the extensible SDK directly in a Yocto build
+-------------------------------------------------------
+
+In this scenario, the Yocto build tooling, e.g. ``bitbake``
+is directly accessible to build additional items, and it
+can simply be executed directly:
+
+ $ bitbake mesa
+ $ bitbake populate-sysroots
-A free implementation of the OpenGL API Once you know the recipe
-(i.e. ``mesa`` in this example), you can install it::
+When using a standalone installer for the Extensible SDK
+--------------------------------------------------------
$ devtool sdk-install mesa
diff --git a/poky/documentation/sdk-manual/working-projects.rst b/poky/documentation/sdk-manual/working-projects.rst
index 7f8d9b8491..91d8d6ad93 100644
--- a/poky/documentation/sdk-manual/working-projects.rst
+++ b/poky/documentation/sdk-manual/working-projects.rst
@@ -88,9 +88,13 @@ project:
$ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux
+ Another example is sourcing the environment setup directly in a Yocto
+ build::
+
+ $ source tmp/deploy/images/qemux86-64/environment-setup-core2-64-poky-linux
+
3. *Create the configure Script:* Use the ``autoreconf`` command to
- generate the ``configure`` script.
- ::
+ generate the ``configure`` script::
$ autoreconf
@@ -279,6 +283,11 @@ example:
$ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux
+ Another example is sourcing the environment setup directly in a Yocto
+ build::
+
+ $ source tmp/deploy/images/qemux86-64/environment-setup-core2-64-poky-linux
+
3. *Create the Makefile:* For this example, the Makefile contains
two lines that can be used to set the :term:`CC` variable. One line is
identical to the value that is set when you run the SDK environment
diff --git a/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc b/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc
index 0de2013826..b42b830e43 100644
--- a/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc
+++ b/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc
@@ -2,7 +2,7 @@
DISTRO_FEATURES:append = " pam"
# Use the LTSI Kernel
-PREFERRED_VERSION_linux-yocto = "5.10%"
+PREFERRED_VERSION_linux-yocto = "5.15%"
# Ensure the kernel nfs server is enabled
KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
diff --git a/poky/meta-poky/conf/distro/poky-tiny.conf b/poky/meta-poky/conf/distro/poky-tiny.conf
index 2fe0d478ff..5772661588 100644
--- a/poky/meta-poky/conf/distro/poky-tiny.conf
+++ b/poky/meta-poky/conf/distro/poky-tiny.conf
@@ -44,7 +44,7 @@ FULL_OPTIMIZATION="-Os -pipe ${DEBUG_FLAGS}"
# Distro config is evaluated after the machine config, so we have to explicitly
# set the kernel provider to override a machine config.
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-tiny"
-PREFERRED_VERSION_linux-yocto-tiny ?= "5.15%"
+PREFERRED_VERSION_linux-yocto-tiny ?= "5.19%"
# We can use packagegroup-core-boot, but in the future we may need a new packagegroup-core-tiny
#POKY_DEFAULT_EXTRA_RDEPENDS += "packagegroup-core-boot"
diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf
index 6625a11f07..856c88554d 100644
--- a/poky/meta-poky/conf/distro/poky.conf
+++ b/poky/meta-poky/conf/distro/poky.conf
@@ -19,8 +19,8 @@ POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}"
-PREFERRED_VERSION_linux-yocto ?= "5.15%"
-PREFERRED_VERSION_linux-yocto-rt ?= "5.15%"
+PREFERRED_VERSION_linux-yocto ?= "5.19%"
+PREFERRED_VERSION_linux-yocto-rt ?= "5.19%"
SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}"
SDKPATHINSTALL = "/opt/${DISTRO}/${SDK_VERSION}"
@@ -38,6 +38,7 @@ SANITY_TESTED_DISTROS ?= " \
ubuntu-18.04 \n \
ubuntu-20.04 \n \
ubuntu-21.10 \n \
+ ubuntu-22.04 \n \
fedora-34 \n \
fedora-35 \n \
debian-10 \n \
diff --git a/poky/meta-poky/conf/bblayers.conf.sample b/poky/meta-poky/conf/templates/default/bblayers.conf.sample
index 8b1cbdfc5c..8b1cbdfc5c 100644
--- a/poky/meta-poky/conf/bblayers.conf.sample
+++ b/poky/meta-poky/conf/templates/default/bblayers.conf.sample
diff --git a/poky/meta-poky/conf/conf-notes.txt b/poky/meta-poky/conf/templates/default/conf-notes.txt
index cfd1f1977b..cfd1f1977b 100644
--- a/poky/meta-poky/conf/conf-notes.txt
+++ b/poky/meta-poky/conf/templates/default/conf-notes.txt
diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/templates/default/local.conf.sample
index b96dc908f4..b96dc908f4 100644
--- a/poky/meta-poky/conf/local.conf.sample
+++ b/poky/meta-poky/conf/templates/default/local.conf.sample
diff --git a/poky/meta-poky/conf/local.conf.sample.extended b/poky/meta-poky/conf/templates/default/local.conf.sample.extended
index bc2dec9f52..bc2dec9f52 100644
--- a/poky/meta-poky/conf/local.conf.sample.extended
+++ b/poky/meta-poky/conf/templates/default/local.conf.sample.extended
diff --git a/poky/meta-poky/conf/site.conf.sample b/poky/meta-poky/conf/templates/default/site.conf.sample
index 5164fedf63..5164fedf63 100644
--- a/poky/meta-poky/conf/site.conf.sample
+++ b/poky/meta-poky/conf/templates/default/site.conf.sample
diff --git a/poky/meta-selftest/recipes-test/testrpm/files/testfile.txt b/poky/meta-selftest/recipes-test/testrpm/files/testfile.txt
new file mode 100644
index 0000000000..c4d7630c1e
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/testrpm/files/testfile.txt
@@ -0,0 +1 @@
+== This file serves the purposes of SRC_URI only
diff --git a/poky/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb b/poky/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb
new file mode 100644
index 0000000000..5e8761ab55
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Test recipe for testing rpm generated by oe-core"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+LICENSE = "MIT"
+
+SRC_URI = "file://testfile.txt"
+INHIBIT_DEFAULT_DEPS = "1"
+
+do_compile(){
+ echo "testdata" > ${B}/"file with [brackets].txt"
+ echo "testdata" > ${B}/"file with (parentheses).txt"
+}
+
+do_install(){
+ install ${B}/* ${D}/
+}
+
+FILES:${PN} = "*"
diff --git a/poky/meta-skeleton/recipes-kernel/hello-mod/files/hello.c b/poky/meta-skeleton/recipes-kernel/hello-mod/files/hello.c
index 6b73a79524..4f73455d20 100644
--- a/poky/meta-skeleton/recipes-kernel/hello-mod/files/hello.c
+++ b/poky/meta-skeleton/recipes-kernel/hello-mod/files/hello.c
@@ -2,18 +2,7 @@
*
* Copyright (C) 2011 Intel Corporation. All rights reserved.
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * SPDX-License-Identifier: GPL-2.0-only
*
*****************************************************************************/
diff --git a/poky/meta-skeleton/recipes-skeleton/service/service_0.1.bb b/poky/meta-skeleton/recipes-skeleton/service/service_0.1.bb
index d1d8c5f365..912f6b0f61 100644
--- a/poky/meta-skeleton/recipes-skeleton/service/service_0.1.bb
+++ b/poky/meta-skeleton/recipes-skeleton/service/service_0.1.bb
@@ -9,6 +9,8 @@ SRC_URI = "file://skeleton \
file://COPYRIGHT \
"
+S = "${WORKDIR}"
+
do_compile () {
${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/skeleton_test.c -o ${WORKDIR}/skeleton-test
}
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend
deleted file mode 100644
index bec8319c34..0000000000
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend
+++ /dev/null
@@ -1,23 +0,0 @@
-KBRANCH:genericx86 = "v5.10/standard/base"
-KBRANCH:genericx86-64 = "v5.10/standard/base"
-KBRANCH:edgerouter = "v5.10/standard/edgerouter"
-KBRANCH:beaglebone-yocto = "v5.10/standard/beaglebone"
-
-KMACHINE:genericx86 ?= "common-pc"
-KMACHINE:genericx86-64 ?= "common-pc-64"
-KMACHINE:beaglebone-yocto ?= "beaglebone"
-
-SRCREV_machine:genericx86 ?= "2883e69e202dc7948c99a7828e192b2b42c2d90a"
-SRCREV_machine:genericx86-64 ?= "2883e69e202dc7948c99a7828e192b2b42c2d90a"
-SRCREV_machine:edgerouter ?= "7c9332d91089ee63581be6cd3e7197c9d3e9a883"
-SRCREV_machine:beaglebone-yocto ?= "3c44f12b9de336579d00ac0105852f4cbf7e8b7d"
-
-COMPATIBLE_MACHINE:genericx86 = "genericx86"
-COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE:edgerouter = "edgerouter"
-COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
-
-LINUX_VERSION:genericx86 = "5.10.130"
-LINUX_VERSION:genericx86-64 = "5.10.130"
-LINUX_VERSION:edgerouter = "5.10.130"
-LINUX_VERSION:beaglebone-yocto = "5.10.130"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.19.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.19.bbappend
new file mode 100644
index 0000000000..ff5070ba4a
--- /dev/null
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.19.bbappend
@@ -0,0 +1,23 @@
+KBRANCH:genericx86 = "v5.19/standard/base"
+KBRANCH:genericx86-64 = "v5.19/standard/base"
+KBRANCH:edgerouter = "v5.19/standard/edgerouter"
+KBRANCH:beaglebone-yocto = "v5.19/standard/beaglebone"
+
+KMACHINE:genericx86 ?= "common-pc"
+KMACHINE:genericx86-64 ?= "common-pc-64"
+KMACHINE:beaglebone-yocto ?= "beaglebone"
+
+SRCREV_machine:genericx86 ?= "43e6ab6ed043f4bc8e7cffbb08af86af0bdb5e12"
+SRCREV_machine:genericx86-64 ?= "43e6ab6ed043f4bc8e7cffbb08af86af0bdb5e12"
+SRCREV_machine:edgerouter ?= "43e6ab6ed043f4bc8e7cffbb08af86af0bdb5e12"
+SRCREV_machine:beaglebone-yocto ?= "43e6ab6ed043f4bc8e7cffbb08af86af0bdb5e12"
+
+COMPATIBLE_MACHINE:genericx86 = "genericx86"
+COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
+COMPATIBLE_MACHINE:edgerouter = "edgerouter"
+COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
+
+LINUX_VERSION:genericx86 = "5.19"
+LINUX_VERSION:genericx86-64 = "5.19"
+LINUX_VERSION:edgerouter = "5.19"
+LINUX_VERSION:beaglebone-yocto = "5.19"
diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes-global/base.bbclass
index 571b6754f2..8203f54519 100644
--- a/poky/meta/classes/base.bbclass
+++ b/poky/meta/classes-global/base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
BB_DEFAULT_TASK ?= "build"
CLASSOVERRIDE ?= "class-target"
diff --git a/poky/meta/classes/buildstats.bbclass b/poky/meta/classes-global/buildstats.bbclass
index 132ecaa98b..f49a67aa4f 100644
--- a/poky/meta/classes/buildstats.bbclass
+++ b/poky/meta/classes-global/buildstats.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
BUILDSTATS_BASE = "${TMPDIR}/buildstats/"
################################################################################
diff --git a/poky/meta/classes/debian.bbclass b/poky/meta/classes-global/debian.bbclass
index 8367be9f37..7135d74837 100644
--- a/poky/meta/classes/debian.bbclass
+++ b/poky/meta/classes-global/debian.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Debian package renaming only occurs when a package is built
# We therefore have to make sure we build all runtime packages
# before building the current package to make the packages runtime
diff --git a/poky/meta/classes/devshell.bbclass b/poky/meta/classes-global/devshell.bbclass
index 247d04478c..03af56b7a2 100644
--- a/poky/meta/classes/devshell.bbclass
+++ b/poky/meta/classes-global/devshell.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit terminal
DEVSHELL = "${SHELL}"
diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes-global/insane.bbclass
index c8b434bb54..db34b4bdb5 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes-global/insane.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# BB Class inspired by ebuild.sh
#
# This class will test files after installation for certain
@@ -1208,11 +1214,12 @@ python do_qa_patch() {
import re
from oe import patch
+ coremeta_path = os.path.join(d.getVar('COREBASE'), 'meta', '')
for url in patch.src_patches(d):
(_, _, fullpath, _, _, _) = bb.fetch.decodeurl(url)
# skip patches not in oe-core
- if '/meta/' not in fullpath:
+ if not os.path.abspath(fullpath).startswith(coremeta_path):
continue
kinda_status_re = re.compile(r"^.*upstream.*status.*$", re.IGNORECASE | re.MULTILINE)
@@ -1419,7 +1426,7 @@ python () {
if bb.data.inherits_class(native_class, d):
inherited_classes = d.getVar('__inherit_cache', False) or []
- needle = os.path.join('classes', native_class)
+ needle = "/" + native_class
bbclassextend = (d.getVar('BBCLASSEXTEND') or '').split()
# BBCLASSEXTEND items are always added in the end
@@ -1432,7 +1439,7 @@ python () {
for class_item in reversed(inherited_classes):
if needle not in class_item:
for extend_item in skip_classes:
- if os.path.join('classes', '%s.bbclass' % extend_item) in class_item:
+ if '/%s.bbclass' % extend_item in class_item:
break
else:
pn = d.getVar('PN')
diff --git a/poky/meta/classes/license.bbclass b/poky/meta/classes-global/license.bbclass
index 4ebfc4fb92..560acb8b6f 100644
--- a/poky/meta/classes/license.bbclass
+++ b/poky/meta/classes-global/license.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Populates LICENSE_DIRECTORY as set in distro config with the license files as set by
# LIC_FILES_CHKSUM.
# TODO:
diff --git a/poky/meta/classes/logging.bbclass b/poky/meta/classes-global/logging.bbclass
index a0c94e98c7..ce03abfe42 100644
--- a/poky/meta/classes/logging.bbclass
+++ b/poky/meta/classes-global/logging.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# The following logging mechanisms are to be used in bash functions of recipes.
# They are intended to map one to one in intention and output format with the
# python recipe logging functions of a similar naming convention: bb.plain(),
diff --git a/poky/meta/classes/mirrors.bbclass b/poky/meta/classes-global/mirrors.bbclass
index ffdccff5fb..9643b31a23 100644
--- a/poky/meta/classes/mirrors.bbclass
+++ b/poky/meta/classes-global/mirrors.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
MIRRORS += "\
${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian/20180310T215105Z/pool \
${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool \
diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes-global/package.bbclass
index 97e97d2703..2d985d8aff 100644
--- a/poky/meta/classes/package.bbclass
+++ b/poky/meta/classes-global/package.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Packaging process
#
# Executive summary: This class iterates over the functions listed in PACKAGEFUNCS
@@ -559,26 +565,16 @@ def copydebugsources(debugsrcdir, sources, d):
objcopy = d.getVar("OBJCOPY")
workdir = d.getVar("WORKDIR")
sdir = d.getVar("S")
- sparentdir = os.path.dirname(os.path.dirname(sdir))
- sbasedir = os.path.basename(os.path.dirname(sdir)) + "/" + os.path.basename(sdir)
- workparentdir = os.path.dirname(os.path.dirname(workdir))
- workbasedir = os.path.basename(os.path.dirname(workdir)) + "/" + os.path.basename(workdir)
-
- # If S isnt based on WORKDIR we can infer our sources are located elsewhere,
- # e.g. using externalsrc; use S as base for our dirs
- if workdir in sdir or 'work-shared' in sdir:
- basedir = workbasedir
- parentdir = workparentdir
- else:
- basedir = sbasedir
- parentdir = sparentdir
+ cflags = d.expand("${CFLAGS}")
- # If build path exists in sourcefile, it means toolchain did not use
- # -fdebug-prefix-map to compile
- if checkbuildpath(sourcefile, d):
- localsrc_prefix = parentdir + "/"
- else:
- localsrc_prefix = "/usr/src/debug/"
+ prefixmap = {}
+ for flag in cflags.split():
+ if not flag.startswith("-fdebug-prefix-map"):
+ continue
+ if "recipe-sysroot" in flag:
+ continue
+ flag = flag.split("=")
+ prefixmap[flag[1]] = flag[2]
nosuchdir = []
basepath = dvar
@@ -589,28 +585,26 @@ def copydebugsources(debugsrcdir, sources, d):
bb.utils.mkdirhier(basepath)
cpath.updatecache(basepath)
- # Ignore files from the recipe sysroots (target and native)
- processdebugsrc = "LC_ALL=C ; sort -z -u '%s' | egrep -v -z '((<internal>|<built-in>)$|/.*recipe-sysroot.*/)' | "
- # We need to ignore files that are not actually ours
- # we do this by only paying attention to items from this package
- processdebugsrc += "fgrep -zw '%s' | "
- # Remove prefix in the source paths
- processdebugsrc += "sed 's#%s##g' | "
- processdebugsrc += "(cd '%s' ; cpio -pd0mlL --no-preserve-owner '%s%s' 2>/dev/null)"
-
- cmd = processdebugsrc % (sourcefile, basedir, localsrc_prefix, parentdir, dvar, debugsrcdir)
- try:
- subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
- except subprocess.CalledProcessError:
- # Can "fail" if internal headers/transient sources are attempted
- pass
-
- # cpio seems to have a bug with -lL together and symbolic links are just copied, not dereferenced.
- # Work around this by manually finding and copying any symbolic links that made it through.
- cmd = "find %s%s -type l -print0 -delete | sed s#%s%s/##g | (cd '%s' ; cpio -pd0mL --no-preserve-owner '%s%s')" % \
- (dvar, debugsrcdir, dvar, debugsrcdir, parentdir, dvar, debugsrcdir)
- subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
+ for pmap in prefixmap:
+ # Ignore files from the recipe sysroots (target and native)
+ cmd = "LC_ALL=C ; sort -z -u '%s' | egrep -v -z '((<internal>|<built-in>)$|/.*recipe-sysroot.*/)' | " % sourcefile
+ # We need to ignore files that are not actually ours
+ # we do this by only paying attention to items from this package
+ cmd += "fgrep -zw '%s' | " % prefixmap[pmap]
+ # Remove prefix in the source paths
+ cmd += "sed 's#%s/##g' | " % (prefixmap[pmap])
+ cmd += "(cd '%s' ; cpio -pd0mlL --no-preserve-owner '%s%s' 2>/dev/null)" % (pmap, dvar, prefixmap[pmap])
+ try:
+ subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
+ except subprocess.CalledProcessError:
+ # Can "fail" if internal headers/transient sources are attempted
+ pass
+ # cpio seems to have a bug with -lL together and symbolic links are just copied, not dereferenced.
+ # Work around this by manually finding and copying any symbolic links that made it through.
+ cmd = "find %s%s -type l -print0 -delete | sed s#%s%s/##g | (cd '%s' ; cpio -pd0mL --no-preserve-owner '%s%s')" % \
+ (dvar, prefixmap[pmap], dvar, prefixmap[pmap], pmap, dvar, prefixmap[pmap])
+ subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
# debugsources.list may be polluted from the host if we used externalsrc,
# cpio uses copy-pass and may have just created a directory structure
diff --git a/poky/meta/classes/package_deb.bbclass b/poky/meta/classes-global/package_deb.bbclass
index a9b8ba0118..ec7e10dbc9 100644
--- a/poky/meta/classes/package_deb.bbclass
+++ b/poky/meta/classes-global/package_deb.bbclass
@@ -1,6 +1,8 @@
#
# Copyright 2006-2008 OpenedHand Ltd.
#
+# SPDX-License-Identifier: MIT
+#
inherit package
diff --git a/poky/meta/classes/package_ipk.bbclass b/poky/meta/classes-global/package_ipk.bbclass
index 9fe3c52fae..c43592af7e 100644
--- a/poky/meta/classes/package_ipk.bbclass
+++ b/poky/meta/classes-global/package_ipk.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit package
IMAGE_PKGTYPE ?= "ipk"
diff --git a/poky/meta/classes/package_pkgdata.bbclass b/poky/meta/classes-global/package_pkgdata.bbclass
index a1ea8fc041..f653bd9240 100644
--- a/poky/meta/classes/package_pkgdata.bbclass
+++ b/poky/meta/classes-global/package_pkgdata.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
WORKDIR_PKGDATA = "${WORKDIR}/pkgdata-sysroot"
def package_populate_pkgdata_dir(pkgdatadir, d):
diff --git a/poky/meta/classes/package_rpm.bbclass b/poky/meta/classes-global/package_rpm.bbclass
index e9ff1f7e65..81a2060b68 100644
--- a/poky/meta/classes/package_rpm.bbclass
+++ b/poky/meta/classes-global/package_rpm.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit package
IMAGE_PKGTYPE ?= "rpm"
@@ -193,8 +199,6 @@ python write_specfile () {
if path.endswith("DEBIAN") or path.endswith("CONTROL"):
continue
path = path.replace("%", "%%%%%%%%")
- path = path.replace("[", "?")
- path = path.replace("]", "?")
# Treat all symlinks to directories as normal files.
# os.walk() lists them as directories.
@@ -214,8 +218,6 @@ python write_specfile () {
if dir == "CONTROL" or dir == "DEBIAN":
continue
dir = dir.replace("%", "%%%%%%%%")
- dir = dir.replace("[", "?")
- dir = dir.replace("]", "?")
# All packages own the directories their files are in...
target.append('%dir "' + path + '/' + dir + '"')
else:
@@ -230,8 +232,6 @@ python write_specfile () {
if file == "CONTROL" or file == "DEBIAN":
continue
file = file.replace("%", "%%%%%%%%")
- file = file.replace("[", "?")
- file = file.replace("]", "?")
if conffiles.count(path + '/' + file):
target.append('%config "' + path + '/' + file + '"')
else:
diff --git a/poky/meta/classes/package_tar.bbclass b/poky/meta/classes-global/package_tar.bbclass
index d6c1b306fc..de995f9747 100644
--- a/poky/meta/classes/package_tar.bbclass
+++ b/poky/meta/classes-global/package_tar.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit package
IMAGE_PKGTYPE ?= "tar"
diff --git a/poky/meta/classes/packagedata.bbclass b/poky/meta/classes-global/packagedata.bbclass
index c2760e2bf0..9f72c01d77 100644
--- a/poky/meta/classes/packagedata.bbclass
+++ b/poky/meta/classes-global/packagedata.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
python read_subpackage_metadata () {
import oe.packagedata
diff --git a/poky/meta/classes/patch.bbclass b/poky/meta/classes-global/patch.bbclass
index 8de7025491..e3157c7b18 100644
--- a/poky/meta/classes/patch.bbclass
+++ b/poky/meta/classes-global/patch.bbclass
@@ -1,4 +1,6 @@
# Copyright (C) 2006 OpenedHand LTD
+#
+# SPDX-License-Identifier: MIT
# Point to an empty file so any user's custom settings don't break things
QUILTRCFILE ?= "${STAGING_ETCDIR_NATIVE}/quiltrc"
diff --git a/poky/meta/classes/sanity.bbclass b/poky/meta/classes-global/sanity.bbclass
index b1fac107d5..4a403a2590 100644
--- a/poky/meta/classes/sanity.bbclass
+++ b/poky/meta/classes-global/sanity.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Sanity check the users setup for common misconfigurations
#
@@ -351,6 +357,7 @@ def check_connectivity(d):
if len(msg) == 0:
msg = "%s.\n" % err
msg += " Please ensure your host's network is configured correctly.\n"
+ msg += " Please ensure CONNECTIVITY_CHECK_URIS is correct and specified URIs are available.\n"
msg += " If your ISP or network is blocking the above URL,\n"
msg += " try with another domain name, for example by setting:\n"
msg += " CONNECTIVITY_CHECK_URIS = \"https://www.example.com/\""
diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes-global/sstate.bbclass
index 0aa901fe89..cd77c58dbf 100644
--- a/poky/meta/classes/sstate.bbclass
+++ b/poky/meta/classes-global/sstate.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
SSTATE_VERSION = "10"
SSTATE_ZSTD_CLEVEL ??= "8"
diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes-global/staging.bbclass
index bf8ca58b0b..5a1f43de78 100644
--- a/poky/meta/classes/staging.bbclass
+++ b/poky/meta/classes-global/staging.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# These directories will be staged in the sysroot
SYSROOT_DIRS = " \
${includedir} \
diff --git a/poky/meta/classes/uninative.bbclass b/poky/meta/classes-global/uninative.bbclass
index 6a9e862bcd..42c5f8fdf2 100644
--- a/poky/meta/classes/uninative.bbclass
+++ b/poky/meta/classes-global/uninative.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
UNINATIVE_LOADER ?= "${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/lib/${@bb.utils.contains('BUILD_ARCH', 'x86_64', 'ld-linux-x86-64.so.2', '', d)}${@bb.utils.contains('BUILD_ARCH', 'i686', 'ld-linux.so.2', '', d)}${@bb.utils.contains('BUILD_ARCH', 'aarch64', 'ld-linux-aarch64.so.1', '', d)}${@bb.utils.contains('BUILD_ARCH', 'ppc64le', 'ld64.so.2', '', d)}"
UNINATIVE_STAGING_DIR ?= "${STAGING_DIR}"
@@ -167,5 +173,7 @@ python uninative_changeinterp () {
if not elf.isDynamic():
continue
+ os.chmod(f, s[stat.ST_MODE] | stat.S_IWUSR)
subprocess.check_output(("patchelf-uninative", "--set-interpreter", d.getVar("UNINATIVE_LOADER"), f), stderr=subprocess.STDOUT)
+ os.chmod(f, s[stat.ST_MODE])
}
diff --git a/poky/meta/classes/utility-tasks.bbclass b/poky/meta/classes-global/utility-tasks.bbclass
index 0466325c13..ae2da330b8 100644
--- a/poky/meta/classes/utility-tasks.bbclass
+++ b/poky/meta/classes-global/utility-tasks.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
addtask listtasks
do_listtasks[nostamp] = "1"
python do_listtasks() {
diff --git a/poky/meta/classes/utils.bbclass b/poky/meta/classes-global/utils.bbclass
index e6f7f95d80..8d797ff126 100644
--- a/poky/meta/classes/utils.bbclass
+++ b/poky/meta/classes-global/utils.bbclass
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
oe_soinstall() {
# Purpose: Install shared library file and
diff --git a/poky/meta/classes/allarch.bbclass b/poky/meta/classes-recipe/allarch.bbclass
index a766a654a9..9138f40ed8 100644
--- a/poky/meta/classes/allarch.bbclass
+++ b/poky/meta/classes-recipe/allarch.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class is used for architecture independent recipes/data files (usually scripts)
#
diff --git a/poky/meta/classes/autotools-brokensep.bbclass b/poky/meta/classes-recipe/autotools-brokensep.bbclass
index 71cf97a391..a0fb4b7b50 100644
--- a/poky/meta/classes/autotools-brokensep.bbclass
+++ b/poky/meta/classes-recipe/autotools-brokensep.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Autotools class for recipes where separate build dir doesn't work
# Ideally we should fix software so it does work. Standard autotools supports
# this.
diff --git a/poky/meta/classes/autotools.bbclass b/poky/meta/classes-recipe/autotools.bbclass
index 4ab2460990..a4c1c4be41 100644
--- a/poky/meta/classes/autotools.bbclass
+++ b/poky/meta/classes-recipe/autotools.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def get_autotools_dep(d):
if d.getVar('INHIBIT_AUTOTOOLS_DEPS'):
return ''
diff --git a/poky/meta/classes/baremetal-image.bbclass b/poky/meta/classes-recipe/baremetal-image.bbclass
index cb9e250350..d3377a92fa 100644
--- a/poky/meta/classes/baremetal-image.bbclass
+++ b/poky/meta/classes-recipe/baremetal-image.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Baremetal image class
#
# This class is meant to be inherited by recipes for baremetal/RTOS applications
@@ -9,6 +15,15 @@
#
# See meta-skeleton for a working example.
+## Emulate image.bbclass
+# Handle inherits of any of the image classes we need
+IMAGE_CLASSES ??= ""
+IMGCLASSES = " ${IMAGE_CLASSES}"
+inherit ${IMGCLASSES}
+# Set defaults to satisfy IMAGE_FEATURES check
+IMAGE_FEATURES ?= ""
+IMAGE_FEATURES[type] = "list"
+IMAGE_FEATURES[validitems] += ""
# Toolchain should be baremetal or newlib based.
# TCLIBC="baremetal" or TCLIBC="newlib"
diff --git a/poky/meta/classes/bash-completion.bbclass b/poky/meta/classes-recipe/bash-completion.bbclass
index 803b2cae4d..b656e76c09 100644
--- a/poky/meta/classes/bash-completion.bbclass
+++ b/poky/meta/classes-recipe/bash-completion.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
DEPENDS:append:class-target = " bash-completion"
PACKAGES += "${PN}-bash-completion"
diff --git a/poky/meta/classes/bin_package.bbclass b/poky/meta/classes-recipe/bin_package.bbclass
index f0407e1329..3a1befc29c 100644
--- a/poky/meta/classes/bin_package.bbclass
+++ b/poky/meta/classes-recipe/bin_package.bbclass
@@ -1,7 +1,9 @@
#
-# ex:ts=4:sw=4:sts=4:et
-# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+# Copyright OpenEmbedded Contributors
#
+# SPDX-License-Identifier: MIT
+#
+
# Common variable and task for the binary package recipe.
# Basic principle:
# * The files have been unpacked to ${S} by base.bbclass
diff --git a/poky/meta/classes/binconfig-disabled.bbclass b/poky/meta/classes-recipe/binconfig-disabled.bbclass
index e8ac41b2d4..cbe2078e0f 100644
--- a/poky/meta/classes/binconfig-disabled.bbclass
+++ b/poky/meta/classes-recipe/binconfig-disabled.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Class to disable binconfig files instead of installing them
#
diff --git a/poky/meta/classes/binconfig.bbclass b/poky/meta/classes-recipe/binconfig.bbclass
index 6e0c88269a..427dba7f1f 100644
--- a/poky/meta/classes/binconfig.bbclass
+++ b/poky/meta/classes-recipe/binconfig.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
FILES:${PN}-dev += "${bindir}/*-config"
# The namespaces can clash here hence the two step replace
diff --git a/poky/meta/classes/cargo.bbclass b/poky/meta/classes-recipe/cargo.bbclass
index 4a780a501f..d1e83518b5 100644
--- a/poky/meta/classes/cargo.bbclass
+++ b/poky/meta/classes-recipe/cargo.bbclass
@@ -1,9 +1,16 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
##
## Purpose:
## This class is used by any recipes that are built using
## Cargo.
inherit cargo_common
+inherit rust-target-config
# the binary we will use
CARGO = "cargo"
@@ -12,8 +19,8 @@ CARGO = "cargo"
BASEDEPENDS:append = " cargo-native"
# Ensure we get the right rust variant
-DEPENDS:append:class-target = " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}"
-DEPENDS:append:class-nativesdk = " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}"
+DEPENDS:append:class-target = " rust-native ${RUSTLIB_DEP}"
+DEPENDS:append:class-nativesdk = " rust-native ${RUSTLIB_DEP}"
DEPENDS:append:class-native = " rust-native"
# Enable build separation
@@ -32,15 +39,15 @@ MANIFEST_PATH ??= "${S}/${CARGO_SRC_DIR}/Cargo.toml"
RUSTFLAGS ??= ""
BUILD_MODE = "${@['--release', ''][d.getVar('DEBUG_BUILD') == '1']}"
-CARGO_BUILD_FLAGS = "-v --target ${HOST_SYS} ${BUILD_MODE} --manifest-path=${MANIFEST_PATH}"
+CARGO_BUILD_FLAGS = "-v --target ${RUST_HOST_SYS} ${BUILD_MODE} --manifest-path=${MANIFEST_PATH}"
# This is based on the content of CARGO_BUILD_FLAGS and generally will need to
# change if CARGO_BUILD_FLAGS changes.
BUILD_DIR = "${@['release', 'debug'][d.getVar('DEBUG_BUILD') == '1']}"
-CARGO_TARGET_SUBDIR="${HOST_SYS}/${BUILD_DIR}"
+CARGO_TARGET_SUBDIR="${RUST_HOST_SYS}/${BUILD_DIR}"
oe_cargo_build () {
export RUSTFLAGS="${RUSTFLAGS}"
- export RUST_TARGET_PATH="${RUST_TARGET_PATH}"
+ bbnote "Using rust targets from ${RUST_TARGET_PATH}"
bbnote "cargo = $(which ${CARGO})"
bbnote "rustc = $(which ${RUSTC})"
bbnote "${CARGO} build ${CARGO_BUILD_FLAGS} $@"
diff --git a/poky/meta/classes/cargo_common.bbclass b/poky/meta/classes-recipe/cargo_common.bbclass
index 39f32829fd..dea0fbe2f6 100644
--- a/poky/meta/classes/cargo_common.bbclass
+++ b/poky/meta/classes-recipe/cargo_common.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
##
## Purpose:
## This class is to support building with cargo. It
@@ -69,19 +75,28 @@ cargo_common_do_configure () {
cat <<- EOF >> ${CARGO_HOME}/config
# HOST_SYS
- [target.${HOST_SYS}]
+ [target.${RUST_HOST_SYS}]
linker = "${CARGO_RUST_TARGET_CCLD}"
EOF
- if [ "${HOST_SYS}" != "${BUILD_SYS}" ]; then
+ if [ "${RUST_HOST_SYS}" != "${RUST_BUILD_SYS}" ]; then
cat <<- EOF >> ${CARGO_HOME}/config
# BUILD_SYS
- [target.${BUILD_SYS}]
+ [target.${RUST_BUILD_SYS}]
linker = "${RUST_BUILD_CCLD}"
EOF
fi
+ if [ "${RUST_TARGET_SYS}" != "${RUST_BUILD_SYS}" -a "${RUST_TARGET_SYS}" != "${RUST_HOST_SYS}" ]; then
+ cat <<- EOF >> ${CARGO_HOME}/config
+
+ # TARGET_SYS
+ [target.${RUST_TARGET_SYS}]
+ linker = "${RUST_TARGET_CCLD}"
+ EOF
+ fi
+
# Put build output in build directory preferred by bitbake instead of
# inside source directory unless they are the same
if [ "${B}" != "${S}" ]; then
diff --git a/poky/meta/classes/cmake.bbclass b/poky/meta/classes-recipe/cmake.bbclass
index d9bcddbdbb..554b948c32 100644
--- a/poky/meta/classes/cmake.bbclass
+++ b/poky/meta/classes-recipe/cmake.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Path to the CMake file to process.
OECMAKE_SOURCEPATH ??= "${S}"
diff --git a/poky/meta/classes/cml1.bbclass b/poky/meta/classes-recipe/cml1.bbclass
index d319d66ab2..b79091383d 100644
--- a/poky/meta/classes/cml1.bbclass
+++ b/poky/meta/classes-recipe/cml1.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# returns all the elements from the src uri that are .cfg files
def find_cfgs(d):
sources=src_patches(d, True)
diff --git a/poky/meta/classes/compress_doc.bbclass b/poky/meta/classes-recipe/compress_doc.bbclass
index 379b6c169e..d603caf858 100644
--- a/poky/meta/classes/compress_doc.bbclass
+++ b/poky/meta/classes-recipe/compress_doc.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Compress man pages in ${mandir} and info pages in ${infodir}
#
# 1. The doc will be compressed to gz format by default.
diff --git a/poky/meta/classes/core-image.bbclass b/poky/meta/classes-recipe/core-image.bbclass
index 84fd3eeb38..4b5f2c99c4 100644
--- a/poky/meta/classes/core-image.bbclass
+++ b/poky/meta/classes-recipe/core-image.bbclass
@@ -1,6 +1,8 @@
# Common code for generating core reference images
#
# Copyright (C) 2007-2011 Linux Foundation
+#
+# SPDX-License-Identifier: MIT
# IMAGE_FEATURES control content of the core reference images
#
@@ -29,6 +31,7 @@
# - allow-empty-password
# - allow-root-login
# - post-install-logging
+# - serial-autologin-root - with 'empty-root-password': autologin 'root' on the serial console
# - dev-pkgs - development packages (headers, etc.) for all installed packages in the rootfs
# - dbg-pkgs - debug symbol packages for all installed packages in the rootfs
# - lic-pkgs - license packages for all installed pacakges in the rootfs, requires
diff --git a/poky/meta/classes/cpan-base.bbclass b/poky/meta/classes-recipe/cpan-base.bbclass
index 93d11e1bee..1db0a4ded6 100644
--- a/poky/meta/classes/cpan-base.bbclass
+++ b/poky/meta/classes-recipe/cpan-base.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# cpan-base providers various perl related information needed for building
# cpan modules
#
diff --git a/poky/meta/classes/cpan.bbclass b/poky/meta/classes-recipe/cpan.bbclass
index 18f1b9d575..bb76a5b326 100644
--- a/poky/meta/classes/cpan.bbclass
+++ b/poky/meta/classes-recipe/cpan.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This is for perl modules that use the old Makefile.PL build system
#
inherit cpan-base perlnative
diff --git a/poky/meta/classes/cpan_build.bbclass b/poky/meta/classes-recipe/cpan_build.bbclass
index f3fb4666ef..026859b6c7 100644
--- a/poky/meta/classes/cpan_build.bbclass
+++ b/poky/meta/classes-recipe/cpan_build.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This is for perl modules that use the new Build.PL build system
#
inherit cpan-base perlnative
diff --git a/poky/meta/classes/cross-canadian.bbclass b/poky/meta/classes-recipe/cross-canadian.bbclass
index a0e9d23836..1670217d69 100644
--- a/poky/meta/classes/cross-canadian.bbclass
+++ b/poky/meta/classes-recipe/cross-canadian.bbclass
@@ -1,4 +1,8 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
# NOTE - When using this class the user is responsible for ensuring that
# TRANSLATED_TARGET_ARCH is added into PN. This ensures that if the TARGET_ARCH
# is changed, another nativesdk xxx-canadian-cross can be installed
diff --git a/poky/meta/classes/cross.bbclass b/poky/meta/classes-recipe/cross.bbclass
index 9d951076a7..93de9a5274 100644
--- a/poky/meta/classes/cross.bbclass
+++ b/poky/meta/classes-recipe/cross.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit relocatable
# Cross packages are built indirectly via dependency,
diff --git a/poky/meta/classes/crosssdk.bbclass b/poky/meta/classes-recipe/crosssdk.bbclass
index 04aecb694e..824b1bcff4 100644
--- a/poky/meta/classes/crosssdk.bbclass
+++ b/poky/meta/classes-recipe/crosssdk.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit cross
CLASSOVERRIDE = "class-crosssdk"
diff --git a/poky/meta/classes/deploy.bbclass b/poky/meta/classes-recipe/deploy.bbclass
index 7fbffe996b..f56fe98d6d 100644
--- a/poky/meta/classes/deploy.bbclass
+++ b/poky/meta/classes-recipe/deploy.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
DEPLOYDIR = "${WORKDIR}/deploy-${PN}"
SSTATETASKS += "do_deploy"
do_deploy[sstate-inputdirs] = "${DEPLOYDIR}"
diff --git a/poky/meta/classes/devicetree.bbclass b/poky/meta/classes-recipe/devicetree.bbclass
index 2a62ae7bc8..ac1d284ccd 100644
--- a/poky/meta/classes/devicetree.bbclass
+++ b/poky/meta/classes-recipe/devicetree.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This bbclass implements device tree compliation for user provided device tree
# sources. The compilation of the device tree sources is the same as the kernel
# device tree compilation process, this includes being able to include sources
diff --git a/poky/meta/classes/devupstream.bbclass b/poky/meta/classes-recipe/devupstream.bbclass
index ba6dc4136c..1529cc8fca 100644
--- a/poky/meta/classes/devupstream.bbclass
+++ b/poky/meta/classes-recipe/devupstream.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for use in BBCLASSEXTEND to make it easier to have a single recipe that
# can build both stable tarballs and snapshots from upstream source
# repositories.
diff --git a/poky/meta/classes/distro_features_check.bbclass b/poky/meta/classes-recipe/distro_features_check.bbclass
index 8124a8ca27..1f2674fd6e 100644
--- a/poky/meta/classes/distro_features_check.bbclass
+++ b/poky/meta/classes-recipe/distro_features_check.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Temporarily provide fallback to the old name of the class
python __anonymous() {
diff --git a/poky/meta/classes/dos2unix.bbclass b/poky/meta/classes-recipe/dos2unix.bbclass
index 3fc17e2196..18e89b1cf2 100644
--- a/poky/meta/classes/dos2unix.bbclass
+++ b/poky/meta/classes-recipe/dos2unix.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for use to convert all CRLF line terminators to LF
# provided that some projects are being developed/maintained
# on Windows so they have different line terminators(CRLF) vs
diff --git a/poky/meta/classes/externalsrc.bbclass b/poky/meta/classes-recipe/externalsrc.bbclass
index 90792a737b..51dbe9ea5a 100644
--- a/poky/meta/classes/externalsrc.bbclass
+++ b/poky/meta/classes-recipe/externalsrc.bbclass
@@ -2,7 +2,8 @@
# Author: Richard Purdie
# Some code and influence taken from srctree.bbclass:
# Copyright (C) 2009 Chris Larson <clarson@kergoth.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
+#
+# SPDX-License-Identifier: MIT
#
# externalsrc.bbclass enables use of an existing source tree, usually external to
# the build system to build a piece of software rather than the usual fetch/unpack/patch
diff --git a/poky/meta/classes/features_check.bbclass b/poky/meta/classes-recipe/features_check.bbclass
index 3ef6b35baa..163a7bc3fc 100644
--- a/poky/meta/classes/features_check.bbclass
+++ b/poky/meta/classes-recipe/features_check.bbclass
@@ -11,6 +11,9 @@
#
# Copyright 2019 (C) Texas Instruments Inc.
# Copyright 2013 (C) O.S. Systems Software LTDA.
+#
+# SPDX-License-Identifier: MIT
+
python () {
if d.getVar('PARSE_ALL_RECIPES', False):
diff --git a/poky/meta/classes/fontcache.bbclass b/poky/meta/classes-recipe/fontcache.bbclass
index 442bfc7392..0d496b72dd 100644
--- a/poky/meta/classes/fontcache.bbclass
+++ b/poky/meta/classes-recipe/fontcache.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class will generate the proper postinst/postrm scriptlets for font
# packages.
#
diff --git a/poky/meta/classes/fs-uuid.bbclass b/poky/meta/classes-recipe/fs-uuid.bbclass
index 9b53dfba7a..a9e7eb8c67 100644
--- a/poky/meta/classes/fs-uuid.bbclass
+++ b/poky/meta/classes-recipe/fs-uuid.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Extract UUID from ${ROOTFS}, which must have been built
# by the time that this function gets called. Only works
# on ext file systems and depends on tune2fs.
diff --git a/poky/meta/classes/gconf.bbclass b/poky/meta/classes-recipe/gconf.bbclass
index 9d3668edd3..b81851bc78 100644
--- a/poky/meta/classes/gconf.bbclass
+++ b/poky/meta/classes-recipe/gconf.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
DEPENDS += "gconf"
PACKAGE_WRITE_DEPS += "gconf-native"
diff --git a/poky/meta/classes/gettext.bbclass b/poky/meta/classes-recipe/gettext.bbclass
index f11cb04456..c313885d52 100644
--- a/poky/meta/classes/gettext.bbclass
+++ b/poky/meta/classes-recipe/gettext.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def gettext_dependencies(d):
if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
return ""
diff --git a/poky/meta/classes/gi-docgen.bbclass b/poky/meta/classes-recipe/gi-docgen.bbclass
index 15581ca127..8b7eaacea3 100644
--- a/poky/meta/classes/gi-docgen.bbclass
+++ b/poky/meta/classes-recipe/gi-docgen.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# gi-docgen is a new gnome documentation generator, which
# seems to be a successor to gtk-doc:
# https://gitlab.gnome.org/GNOME/gi-docgen
diff --git a/poky/meta/classes/gio-module-cache.bbclass b/poky/meta/classes-recipe/gio-module-cache.bbclass
index 021eeb1cf8..d12e03c4a0 100644
--- a/poky/meta/classes/gio-module-cache.bbclass
+++ b/poky/meta/classes-recipe/gio-module-cache.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PACKAGE_WRITE_DEPS += "qemu-native"
inherit qemu
diff --git a/poky/meta/classes/glide.bbclass b/poky/meta/classes-recipe/glide.bbclass
index 2db4ac6846..21b48fa4e0 100644
--- a/poky/meta/classes/glide.bbclass
+++ b/poky/meta/classes-recipe/glide.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Handle Glide Vendor Package Management use
#
# Copyright 2018 (C) O.S. Systems Software LTDA.
diff --git a/poky/meta/classes/gnomebase.bbclass b/poky/meta/classes-recipe/gnomebase.bbclass
index 9a5bd9a232..805daafa40 100644
--- a/poky/meta/classes/gnomebase.bbclass
+++ b/poky/meta/classes-recipe/gnomebase.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def gnome_verdir(v):
return ".".join(v.split(".")[:-1])
diff --git a/poky/meta/classes/go-mod.bbclass b/poky/meta/classes-recipe/go-mod.bbclass
index 674d2434e0..927746a338 100644
--- a/poky/meta/classes/go-mod.bbclass
+++ b/poky/meta/classes-recipe/go-mod.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Handle Go Modules support
#
# When using Go Modules, the the current working directory MUST be at or below
diff --git a/poky/meta/classes/go-ptest.bbclass b/poky/meta/classes-recipe/go-ptest.bbclass
index b282ff7374..54fcbb535d 100644
--- a/poky/meta/classes/go-ptest.bbclass
+++ b/poky/meta/classes-recipe/go-ptest.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit go ptest
do_compile_ptest_base() {
diff --git a/poky/meta/classes/go.bbclass b/poky/meta/classes-recipe/go.bbclass
index cd2daed70b..6b9748406d 100644
--- a/poky/meta/classes/go.bbclass
+++ b/poky/meta/classes-recipe/go.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit goarch
inherit linuxloader
diff --git a/poky/meta/classes/goarch.bbclass b/poky/meta/classes-recipe/goarch.bbclass
index 92fec16b82..61ead30a63 100644
--- a/poky/meta/classes/goarch.bbclass
+++ b/poky/meta/classes-recipe/goarch.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
BUILD_GOOS = "${@go_map_os(d.getVar('BUILD_OS'), d)}"
BUILD_GOARCH = "${@go_map_arch(d.getVar('BUILD_ARCH'), d)}"
BUILD_GOTUPLE = "${BUILD_GOOS}_${BUILD_GOARCH}"
diff --git a/poky/meta/classes/gobject-introspection-data.bbclass b/poky/meta/classes-recipe/gobject-introspection-data.bbclass
index d90cdb4839..7f522a1ed3 100644
--- a/poky/meta/classes/gobject-introspection-data.bbclass
+++ b/poky/meta/classes-recipe/gobject-introspection-data.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This variable is set to True if gobject-introspection-data is in
# DISTRO_FEATURES and qemu-usermode is in MACHINE_FEATURES, and False otherwise.
#
diff --git a/poky/meta/classes/gobject-introspection.bbclass b/poky/meta/classes-recipe/gobject-introspection.bbclass
index 7bf9feb0d6..0c7b7d200a 100644
--- a/poky/meta/classes/gobject-introspection.bbclass
+++ b/poky/meta/classes-recipe/gobject-introspection.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Inherit this class in recipes to enable building their introspection files
# python3native is inherited to prevent introspection tools being run with
diff --git a/poky/meta/classes/grub-efi-cfg.bbclass b/poky/meta/classes-recipe/grub-efi-cfg.bbclass
index ea21b3de3d..52e85a3bb0 100644
--- a/poky/meta/classes/grub-efi-cfg.bbclass
+++ b/poky/meta/classes-recipe/grub-efi-cfg.bbclass
@@ -1,8 +1,7 @@
# grub-efi.bbclass
# Copyright (c) 2011, Intel Corporation.
-# All rights reserved.
#
-# Released under the MIT license (see packages/COPYING)
+# SPDX-License-Identifier: MIT
# Provide grub-efi specific functions for building bootable images.
diff --git a/poky/meta/classes/grub-efi.bbclass b/poky/meta/classes-recipe/grub-efi.bbclass
index 8fc6999e52..4afd12195f 100644
--- a/poky/meta/classes/grub-efi.bbclass
+++ b/poky/meta/classes-recipe/grub-efi.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit grub-efi-cfg
require conf/image-uefi.conf
diff --git a/poky/meta/classes/gsettings.bbclass b/poky/meta/classes-recipe/gsettings.bbclass
index 3fa5bd40b3..adb027ea0a 100644
--- a/poky/meta/classes/gsettings.bbclass
+++ b/poky/meta/classes-recipe/gsettings.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# A bbclass to handle installed GSettings (glib) schemas, updated the compiled
# form on package install and remove.
#
diff --git a/poky/meta/classes/gtk-doc.bbclass b/poky/meta/classes-recipe/gtk-doc.bbclass
index 07b46ac829..68fa2cc745 100644
--- a/poky/meta/classes/gtk-doc.bbclass
+++ b/poky/meta/classes-recipe/gtk-doc.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Helper class to pull in the right gtk-doc dependencies and configure
# gtk-doc to enable or disable documentation building (which requries the
# use of usermode qemu).
diff --git a/poky/meta/classes/gtk-icon-cache.bbclass b/poky/meta/classes-recipe/gtk-icon-cache.bbclass
index 6808339b90..17c7eb7a33 100644
--- a/poky/meta/classes/gtk-icon-cache.bbclass
+++ b/poky/meta/classes-recipe/gtk-icon-cache.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
FILES:${PN} += "${datadir}/icons/hicolor"
GTKIC_VERSION ??= '3'
diff --git a/poky/meta/classes/gtk-immodules-cache.bbclass b/poky/meta/classes-recipe/gtk-immodules-cache.bbclass
index 2107517540..8fbe1dd1fb 100644
--- a/poky/meta/classes/gtk-immodules-cache.bbclass
+++ b/poky/meta/classes-recipe/gtk-immodules-cache.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class will update the inputmethod module cache for virtual keyboards
#
# Usage: Set GTKIMMODULES_PACKAGES to the packages that needs to update the inputmethod modules
diff --git a/poky/meta/classes/image-artifact-names.bbclass b/poky/meta/classes-recipe/image-artifact-names.bbclass
index f5769e520f..5c4e746b90 100644
--- a/poky/meta/classes/image-artifact-names.bbclass
+++ b/poky/meta/classes-recipe/image-artifact-names.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
##################################################################
# Specific image creation and rootfs population info.
##################################################################
diff --git a/poky/meta/classes/image-combined-dbg.bbclass b/poky/meta/classes-recipe/image-combined-dbg.bbclass
index e5dc61f857..dcf1968538 100644
--- a/poky/meta/classes/image-combined-dbg.bbclass
+++ b/poky/meta/classes-recipe/image-combined-dbg.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
IMAGE_PREPROCESS_COMMAND:append = " combine_dbg_image; "
combine_dbg_image () {
diff --git a/poky/meta/classes/image-container.bbclass b/poky/meta/classes-recipe/image-container.bbclass
index 3d1993576a..d24b030453 100644
--- a/poky/meta/classes/image-container.bbclass
+++ b/poky/meta/classes-recipe/image-container.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
ROOTFS_BOOTSTRAP_INSTALL = ""
IMAGE_TYPES_MASKED += "container"
IMAGE_TYPEDEP:container = "tar.bz2"
diff --git a/poky/meta/classes/image-live.bbclass b/poky/meta/classes-recipe/image-live.bbclass
index 2c948190cf..1034acc49e 100644
--- a/poky/meta/classes/image-live.bbclass
+++ b/poky/meta/classes-recipe/image-live.bbclass
@@ -1,5 +1,6 @@
-# Copyright (C) 2004, Advanced Micro Devices, Inc. All Rights Reserved
-# Released under the MIT license (see packages/COPYING)
+# Copyright (C) 2004, Advanced Micro Devices, Inc.
+#
+# SPDX-License-Identifier: MIT
# Creates a bootable image using syslinux, your kernel and an optional
# initrd
diff --git a/poky/meta/classes/image-postinst-intercepts.bbclass b/poky/meta/classes-recipe/image-postinst-intercepts.bbclass
index ed30bbd98d..fc15926384 100644
--- a/poky/meta/classes/image-postinst-intercepts.bbclass
+++ b/poky/meta/classes-recipe/image-postinst-intercepts.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Gather existing and candidate postinst intercepts from BBPATH
POSTINST_INTERCEPTS_DIR ?= "${COREBASE}/scripts/postinst-intercepts"
POSTINST_INTERCEPTS_PATHS ?= "${@':'.join('%s/postinst-intercepts' % p for p in '${BBPATH}'.split(':'))}:${POSTINST_INTERCEPTS_DIR}"
diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes-recipe/image.bbclass
index 2139a7e576..e387645503 100644
--- a/poky/meta/classes/image.bbclass
+++ b/poky/meta/classes-recipe/image.bbclass
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
IMAGE_CLASSES ??= ""
@@ -34,7 +39,7 @@ INHIBIT_DEFAULT_DEPS = "1"
# IMAGE_FEATURES may contain any available package group
IMAGE_FEATURES ?= ""
IMAGE_FEATURES[type] = "list"
-IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs read-only-rootfs-delayed-postinsts stateless-rootfs empty-root-password allow-empty-password allow-root-login post-install-logging overlayfs-etc"
+IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs read-only-rootfs-delayed-postinsts stateless-rootfs empty-root-password allow-empty-password allow-root-login serial-autologin-root post-install-logging overlayfs-etc"
# Generate companion debugfs?
IMAGE_GEN_DEBUGFS ?= "0"
diff --git a/poky/meta/classes/image_types.bbclass b/poky/meta/classes-recipe/image_types.bbclass
index 0ffea91195..764e6a5574 100644
--- a/poky/meta/classes/image_types.bbclass
+++ b/poky/meta/classes-recipe/image_types.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# The default aligment of the size of the rootfs is set to 1KiB. In case
# you're using the SD card emulation of a QEMU system simulator you may
# set this value to 2048 (2MiB alignment).
@@ -103,11 +109,19 @@ IMAGE_CMD:btrfs () {
mkfs.btrfs ${EXTRA_IMAGECMD} -r ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.btrfs
}
-IMAGE_CMD:squashfs = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs ${EXTRA_IMAGECMD} -noappend"
-IMAGE_CMD:squashfs-xz = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-xz ${EXTRA_IMAGECMD} -noappend -comp xz"
-IMAGE_CMD:squashfs-lzo = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lzo ${EXTRA_IMAGECMD} -noappend -comp lzo"
-IMAGE_CMD:squashfs-lz4 = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lz4 ${EXTRA_IMAGECMD} -noappend -comp lz4"
-IMAGE_CMD:squashfs-zst = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-zst ${EXTRA_IMAGECMD} -noappend -comp zstd"
+oe_mksquashfs () {
+ local comp=$1
+ local suffix=$2
+
+ # Use the bitbake reproducible timestamp instead of the hardcoded squashfs one
+ export SOURCE_DATE_EPOCH=$(stat -c '%Y' ${IMAGE_ROOTFS})
+ mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs${comp:+-}${suffix:-$comp} ${EXTRA_IMAGECMD} -noappend ${comp:+-comp }$comp
+}
+IMAGE_CMD:squashfs = "oe_mksquashfs"
+IMAGE_CMD:squashfs-xz = "oe_mksquashfs xz"
+IMAGE_CMD:squashfs-lzo = "oe_mksquashfs lzo"
+IMAGE_CMD:squashfs-lz4 = "oe_mksquashfs lz4"
+IMAGE_CMD:squashfs-zst = "oe_mksquashfs zstd zst"
IMAGE_CMD:erofs = "mkfs.erofs ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs ${IMAGE_ROOTFS}"
IMAGE_CMD:erofs-lz4 = "mkfs.erofs -zlz4 ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs-lz4 ${IMAGE_ROOTFS}"
diff --git a/poky/meta/classes/image_types_wic.bbclass b/poky/meta/classes-recipe/image_types_wic.bbclass
index 8497916d48..c339b9bdfb 100644
--- a/poky/meta/classes/image_types_wic.bbclass
+++ b/poky/meta/classes-recipe/image_types_wic.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# The WICVARS variable is used to define list of bitbake variables used in wic code
# variables from this list is written to <image>.env file
WICVARS ?= "\
diff --git a/poky/meta/classes/kernel-arch.bbclass b/poky/meta/classes-recipe/kernel-arch.bbclass
index 348a3adf22..6f5d3bde6c 100644
--- a/poky/meta/classes/kernel-arch.bbclass
+++ b/poky/meta/classes-recipe/kernel-arch.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# set the ARCH environment variable for kernel compilation (including
# modules). return value must match one of the architecture directories
# in the kernel source "arch" directory
diff --git a/poky/meta/classes/kernel-artifact-names.bbclass b/poky/meta/classes-recipe/kernel-artifact-names.bbclass
index e77107c893..311075c68d 100644
--- a/poky/meta/classes/kernel-artifact-names.bbclass
+++ b/poky/meta/classes-recipe/kernel-artifact-names.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
##################################################################
# Specific kernel creation info
# for recipes/bbclasses which need to reuse some of the kernel
diff --git a/poky/meta/classes/kernel-devicetree.bbclass b/poky/meta/classes-recipe/kernel-devicetree.bbclass
index b4338da1b1..b2117de805 100644
--- a/poky/meta/classes/kernel-devicetree.bbclass
+++ b/poky/meta/classes-recipe/kernel-devicetree.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Support for device tree generation
python () {
if not bb.data.inherits_class('nopackages', d):
diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes-recipe/kernel-fitimage.bbclass
index 753164551c..107914e28c 100644
--- a/poky/meta/classes/kernel-fitimage.bbclass
+++ b/poky/meta/classes-recipe/kernel-fitimage.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit kernel-uboot kernel-artifact-names uboot-sign
def get_fit_replacement_type(d):
@@ -529,6 +535,10 @@ fitimage_assemble() {
fi
DTB=$(echo "$DTB" | tr '/' '_')
+
+ # Skip DTB if we've picked it up previously
+ echo "$DTBS" | tr ' ' '\n' | grep -xq "$DTB" && continue
+
DTBS="$DTBS $DTB"
fitimage_emit_section_dtb $1 $DTB $DTB_PATH
done
@@ -538,6 +548,10 @@ fitimage_assemble() {
dtbcount=1
for DTB in $(find "${EXTERNAL_KERNEL_DEVICETREE}" \( -name '*.dtb' -o -name '*.dtbo' \) -printf '%P\n' | sort); do
DTB=$(echo "$DTB" | tr '/' '_')
+
+ # Skip DTB if we've picked it up previously
+ echo "$DTBS" | tr ' ' '\n' | grep -xq "$DTB" && continue
+
DTBS="$DTBS $DTB"
fitimage_emit_section_dtb $1 $DTB "${EXTERNAL_KERNEL_DEVICETREE}/$DTB"
done
diff --git a/poky/meta/classes/kernel-grub.bbclass b/poky/meta/classes-recipe/kernel-grub.bbclass
index 44b2015468..2325e635e1 100644
--- a/poky/meta/classes/kernel-grub.bbclass
+++ b/poky/meta/classes-recipe/kernel-grub.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# While installing a rpm to update kernel on a deployed target, it will update
# the boot area and the boot menu with the kernel as the priority but allow
# you to fall back to the original kernel as well.
diff --git a/poky/meta/classes/kernel-module-split.bbclass b/poky/meta/classes-recipe/kernel-module-split.bbclass
index a29c294810..1b4c864a63 100644
--- a/poky/meta/classes/kernel-module-split.bbclass
+++ b/poky/meta/classes-recipe/kernel-module-split.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
pkg_postinst:modules () {
if [ -z "$D" ]; then
depmod -a ${KERNEL_VERSION}
diff --git a/poky/meta/classes/kernel-uboot.bbclass b/poky/meta/classes-recipe/kernel-uboot.bbclass
index 1bc98e042d..4aab02671e 100644
--- a/poky/meta/classes/kernel-uboot.bbclass
+++ b/poky/meta/classes-recipe/kernel-uboot.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# fitImage kernel compression algorithm
FIT_KERNEL_COMP_ALG ?= "gzip"
FIT_KERNEL_COMP_ALG_EXTENSION ?= ".gz"
diff --git a/poky/meta/classes/kernel-uimage.bbclass b/poky/meta/classes-recipe/kernel-uimage.bbclass
index 2e661ea916..1a599e656c 100644
--- a/poky/meta/classes/kernel-uimage.bbclass
+++ b/poky/meta/classes-recipe/kernel-uimage.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit kernel-uboot
python __anonymous () {
diff --git a/poky/meta/classes/kernel-yocto.bbclass b/poky/meta/classes-recipe/kernel-yocto.bbclass
index ce1446f7aa..8eda0dcaf3 100644
--- a/poky/meta/classes/kernel-yocto.bbclass
+++ b/poky/meta/classes-recipe/kernel-yocto.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# remove tasks that modify the source tree in case externalsrc is inherited
SRCTREECOVEREDTASKS += "do_validate_branches do_kernel_configcheck do_kernel_checkout do_fetch do_unpack do_patch"
PATCH_GIT_USER_EMAIL ?= "kernel-yocto@oe"
diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes-recipe/kernel.bbclass
index 61b3e8c956..de1b80d0ae 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes-recipe/kernel.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit linux-kernel-base kernel-module-split
COMPATIBLE_HOST = ".*-linux"
@@ -231,8 +237,9 @@ UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}"
# Some Linux kernel configurations need additional parameters on the command line
KERNEL_EXTRA_ARGS ?= ""
-EXTRA_OEMAKE = " HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}""
-EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}" PAHOLE=false"
+EXTRA_OEMAKE += ' CC="${KERNEL_CC}" LD="${KERNEL_LD}"'
+EXTRA_OEMAKE += ' HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"'
+EXTRA_OEMAKE += ' HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}" PAHOLE=false'
KERNEL_ALT_IMAGETYPE ??= ""
@@ -375,7 +382,7 @@ kernel_do_compile() {
use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
fi
for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
- oe_runmake ${typeformake} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
+ oe_runmake ${typeformake} ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
done
}
@@ -407,7 +414,7 @@ do_compile_kernelmodules() {
bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
fi
if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
- oe_runmake -C ${B} ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
+ oe_runmake -C ${B} ${PARALLEL_MAKE} modules ${KERNEL_EXTRA_ARGS}
# Module.symvers gets updated during the
# building of the kernel modules. We need to
@@ -591,7 +598,7 @@ sysroot_stage_all () {
:
}
-KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} CC="${KERNEL_CC}" LD="${KERNEL_LD}" O=${B} olddefconfig || oe_runmake -C ${S} O=${B} CC="${KERNEL_CC}" LD="${KERNEL_LD}" oldnoconfig"
+KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} O=${B} olddefconfig || oe_runmake -C ${S} O=${B} oldnoconfig"
python check_oldest_kernel() {
oldest_kernel = d.getVar('OLDEST_KERNEL')
@@ -629,14 +636,15 @@ kernel_do_configure() {
do_savedefconfig() {
bbplain "Saving defconfig to:\n${B}/defconfig"
- oe_runmake -C ${B} LD='${KERNEL_LD}' savedefconfig
+ oe_runmake -C ${B} savedefconfig
}
do_savedefconfig[nostamp] = "1"
addtask savedefconfig after do_configure
inherit cml1
-KCONFIG_CONFIG_COMMAND:append = " PAHOLE=false LD='${KERNEL_LD}' HOSTLDFLAGS='${BUILD_LDFLAGS}'"
+# Need LD, HOSTLDFLAGS and more for config operations
+KCONFIG_CONFIG_COMMAND:append = " ${EXTRA_OEMAKE}"
EXPORT_FUNCTIONS do_compile do_transform_kernel do_transform_bundled_initramfs do_install do_configure
diff --git a/poky/meta/classes/kernelsrc.bbclass b/poky/meta/classes-recipe/kernelsrc.bbclass
index a951ba3325..a32882a5d2 100644
--- a/poky/meta/classes/kernelsrc.bbclass
+++ b/poky/meta/classes-recipe/kernelsrc.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
S = "${STAGING_KERNEL_DIR}"
deltask do_fetch
deltask do_unpack
diff --git a/poky/meta/classes/lib_package.bbclass b/poky/meta/classes-recipe/lib_package.bbclass
index 8849f59042..6d110155e5 100644
--- a/poky/meta/classes/lib_package.bbclass
+++ b/poky/meta/classes-recipe/lib_package.bbclass
@@ -1,4 +1,9 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+#
# ${PN}-bin is defined in bitbake.conf
#
# We need to allow the other packages to be greedy with what they
diff --git a/poky/meta/classes/libc-package.bbclass b/poky/meta/classes-recipe/libc-package.bbclass
index 13ef8cdc0d..de3d4223a8 100644
--- a/poky/meta/classes/libc-package.bbclass
+++ b/poky/meta/classes-recipe/libc-package.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class knows how to package up [e]glibc. Its shared since prebuild binary toolchains
# may need packaging and its pointless to duplicate this code.
#
diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes-recipe/license_image.bbclass
index 3213ea758e..b60d6e44f4 100644
--- a/poky/meta/classes/license_image.bbclass
+++ b/poky/meta/classes-recipe/license_image.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
ROOTFS_LICENSE_DIR = "${IMAGE_ROOTFS}/usr/share/common-licenses"
# This requires LICENSE_CREATE_PACKAGE=1 to work too
diff --git a/poky/meta/classes/linux-dummy.bbclass b/poky/meta/classes-recipe/linux-dummy.bbclass
index 9a06a509dd..9291533cf9 100644
--- a/poky/meta/classes/linux-dummy.bbclass
+++ b/poky/meta/classes-recipe/linux-dummy.bbclass
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
python __anonymous () {
if d.getVar('PREFERRED_PROVIDER_virtual/kernel') == 'linux-dummy':
diff --git a/poky/meta/classes/linux-kernel-base.bbclass b/poky/meta/classes-recipe/linux-kernel-base.bbclass
index ba59222c24..cb2212c948 100644
--- a/poky/meta/classes/linux-kernel-base.bbclass
+++ b/poky/meta/classes-recipe/linux-kernel-base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# parse kernel ABI version out of <linux/version.h>
def get_kernelversion_headers(p):
import re
diff --git a/poky/meta/classes/linuxloader.bbclass b/poky/meta/classes-recipe/linuxloader.bbclass
index 4447c8847c..1dfb95e31d 100644
--- a/poky/meta/classes/linuxloader.bbclass
+++ b/poky/meta/classes-recipe/linuxloader.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def get_musl_loader_arch(d):
import re
ldso_arch = "NotSupported"
diff --git a/poky/meta/classes/live-vm-common.bbclass b/poky/meta/classes-recipe/live-vm-common.bbclass
index 74e7074a53..b619f3a4be 100644
--- a/poky/meta/classes/live-vm-common.bbclass
+++ b/poky/meta/classes-recipe/live-vm-common.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Some of the vars for vm and live image are conflicted, this function
# is used for fixing the problem.
def set_live_vm_vars(d, suffix):
diff --git a/poky/meta/classes/manpages.bbclass b/poky/meta/classes-recipe/manpages.bbclass
index 5e09c77fe6..693fb53671 100644
--- a/poky/meta/classes/manpages.bbclass
+++ b/poky/meta/classes-recipe/manpages.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Inherit this class to enable or disable building and installation of manpages
# depending on whether 'api-documentation' is in DISTRO_FEATURES. Such building
# tends to pull in the entire XML stack and other tools, so it's not enabled
diff --git a/poky/meta/classes/meson-routines.bbclass b/poky/meta/classes-recipe/meson-routines.bbclass
index be3aeedeba..6086fce9d9 100644
--- a/poky/meta/classes/meson-routines.bbclass
+++ b/poky/meta/classes-recipe/meson-routines.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit siteinfo
def meson_array(var, d):
diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes-recipe/meson.bbclass
index 546cd0476f..765e81bc4f 100644
--- a/poky/meta/classes/meson.bbclass
+++ b/poky/meta/classes-recipe/meson.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python3native meson-routines qemu
DEPENDS:append = " meson-native ninja-native"
diff --git a/poky/meta/classes/mime-xdg.bbclass b/poky/meta/classes-recipe/mime-xdg.bbclass
index 271f48dd72..cbdcb4c7e9 100644
--- a/poky/meta/classes/mime-xdg.bbclass
+++ b/poky/meta/classes-recipe/mime-xdg.bbclass
@@ -1,4 +1,8 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
# This class creates mime <-> application associations based on entry
# 'MimeType' in *.desktop files
#
diff --git a/poky/meta/classes/mime.bbclass b/poky/meta/classes-recipe/mime.bbclass
index 8d176a884e..9b13f62bda 100644
--- a/poky/meta/classes/mime.bbclass
+++ b/poky/meta/classes-recipe/mime.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class is used by recipes installing mime types
#
diff --git a/poky/meta/classes/module-base.bbclass b/poky/meta/classes-recipe/module-base.bbclass
index 27bd69ff33..094b563b1a 100644
--- a/poky/meta/classes/module-base.bbclass
+++ b/poky/meta/classes-recipe/module-base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit kernel-arch
# We do the dependency this way because the output is not preserved
diff --git a/poky/meta/classes/module.bbclass b/poky/meta/classes-recipe/module.bbclass
index a09ec3ed1e..d52d5e3098 100644
--- a/poky/meta/classes/module.bbclass
+++ b/poky/meta/classes-recipe/module.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit module-base kernel-module-split pkgconfig
EXTRA_OEMAKE += "KERNEL_SRC=${STAGING_KERNEL_DIR}"
diff --git a/poky/meta/classes/multilib_header.bbclass b/poky/meta/classes-recipe/multilib_header.bbclass
index efbc24f59b..33f7e027f0 100644
--- a/poky/meta/classes/multilib_header.bbclass
+++ b/poky/meta/classes-recipe/multilib_header.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit siteinfo
# If applicable on the architecture, this routine will rename the header and
diff --git a/poky/meta/classes/multilib_script.bbclass b/poky/meta/classes-recipe/multilib_script.bbclass
index 41597341cd..7011526254 100644
--- a/poky/meta/classes/multilib_script.bbclass
+++ b/poky/meta/classes-recipe/multilib_script.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Recipe needs to set MULTILIB_SCRIPTS in the form <pkgname>:<scriptname>, e.g.
# MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/file1 ${PN}:${base_bindir}/file2"
# to indicate which script files to process from which packages.
diff --git a/poky/meta/classes/native.bbclass b/poky/meta/classes-recipe/native.bbclass
index 5a273cdebb..61ad053def 100644
--- a/poky/meta/classes/native.bbclass
+++ b/poky/meta/classes-recipe/native.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# We want native packages to be relocatable
inherit relocatable
diff --git a/poky/meta/classes/nativesdk.bbclass b/poky/meta/classes-recipe/nativesdk.bbclass
index f8e9607513..08288fdb73 100644
--- a/poky/meta/classes/nativesdk.bbclass
+++ b/poky/meta/classes-recipe/nativesdk.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# SDK packages are built either explicitly by the user,
# or indirectly via dependency. No need to be in 'world'.
EXCLUDE_FROM_WORLD = "1"
@@ -55,6 +61,7 @@ TARGET_CXXFLAGS = "${BUILDSDK_CXXFLAGS}"
TARGET_LDFLAGS = "${BUILDSDK_LDFLAGS}"
TARGET_FPU = ""
EXTRA_OECONF_GCC_FLOAT = ""
+TUNE_FEATURES = ""
CPPFLAGS = "${BUILDSDK_CPPFLAGS}"
CFLAGS = "${BUILDSDK_CFLAGS}"
diff --git a/poky/meta/classes/nopackages.bbclass b/poky/meta/classes-recipe/nopackages.bbclass
index 7a4f632d71..9ea7273530 100644
--- a/poky/meta/classes/nopackages.bbclass
+++ b/poky/meta/classes-recipe/nopackages.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
deltask do_package
deltask do_package_write_rpm
deltask do_package_write_ipk
diff --git a/poky/meta/classes/npm.bbclass b/poky/meta/classes-recipe/npm.bbclass
index deea53c9ec..20350cea25 100644
--- a/poky/meta/classes/npm.bbclass
+++ b/poky/meta/classes-recipe/npm.bbclass
@@ -28,20 +28,18 @@ NPM_INSTALL_DEV ?= "0"
NPM_NODEDIR ?= "${RECIPE_SYSROOT_NATIVE}${prefix_native}"
-def npm_target_arch_map(target_arch):
- """Maps arch names to npm arch names"""
+## must match mapping in nodejs.bb (openembedded-meta)
+def map_nodejs_arch(a, d):
import re
- if re.match("p(pc|owerpc)(|64)", target_arch):
- return "ppc"
- elif re.match("i.86$", target_arch):
- return "ia32"
- elif re.match("x86_64$", target_arch):
- return "x64"
- elif re.match("arm64$", target_arch):
- return "arm"
- return target_arch
-
-NPM_ARCH ?= "${@npm_target_arch_map(d.getVar("TARGET_ARCH"))}"
+
+ if re.match('i.86$', a): return 'ia32'
+ elif re.match('x86_64$', a): return 'x64'
+ elif re.match('aarch64$', a): return 'arm64'
+ elif re.match('(powerpc64|powerpc64le|ppc64le)$', a): return 'ppc64'
+ elif re.match('powerpc$', a): return 'ppc'
+ return a
+
+NPM_ARCH ?= "${@map_nodejs_arch(d.getVar("TARGET_ARCH"), d)}"
NPM_PACKAGE = "${WORKDIR}/npm-package"
NPM_CACHE = "${WORKDIR}/npm-cache"
@@ -54,7 +52,7 @@ def npm_global_configs(d):
# Ensure no network access is done
configs.append(("offline", "true"))
configs.append(("proxy", "http://invalid"))
- configs.append(("funds", False))
+ configs.append(("fund", False))
configs.append(("audit", False))
# Configure the cache directory
configs.append(("cache", d.getVar("NPM_CACHE")))
diff --git a/poky/meta/classes/packagegroup.bbclass b/poky/meta/classes-recipe/packagegroup.bbclass
index 557b1b6382..6f17fc73b0 100644
--- a/poky/meta/classes/packagegroup.bbclass
+++ b/poky/meta/classes-recipe/packagegroup.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for packagegroup (package group) recipes
# By default, only the packagegroup package itself is in PACKAGES.
diff --git a/poky/meta/classes/perl-version.bbclass b/poky/meta/classes-recipe/perl-version.bbclass
index 84b67b8180..269ac9eb31 100644
--- a/poky/meta/classes/perl-version.bbclass
+++ b/poky/meta/classes-recipe/perl-version.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PERL_OWN_DIR = ""
# Determine the staged version of perl from the perl configuration file
diff --git a/poky/meta/classes/perlnative.bbclass b/poky/meta/classes-recipe/perlnative.bbclass
index cc8de8b381..d56ec4ae72 100644
--- a/poky/meta/classes/perlnative.bbclass
+++ b/poky/meta/classes-recipe/perlnative.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
EXTRANATIVEPATH += "perl-native"
DEPENDS += "perl-native"
OECMAKE_PERLNATIVE_DIR = "${STAGING_BINDIR_NATIVE}/perl-native"
diff --git a/poky/meta/classes/pixbufcache.bbclass b/poky/meta/classes-recipe/pixbufcache.bbclass
index 886bf195b3..107e38885e 100644
--- a/poky/meta/classes/pixbufcache.bbclass
+++ b/poky/meta/classes-recipe/pixbufcache.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class will generate the proper postinst/postrm scriptlets for pixbuf
# packages.
#
diff --git a/poky/meta/classes-recipe/pkgconfig.bbclass b/poky/meta/classes-recipe/pkgconfig.bbclass
new file mode 100644
index 0000000000..1e1f3824dd
--- /dev/null
+++ b/poky/meta/classes-recipe/pkgconfig.bbclass
@@ -0,0 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+DEPENDS:prepend = "pkgconfig-native "
+
diff --git a/poky/meta/classes/populate_sdk.bbclass b/poky/meta/classes-recipe/populate_sdk.bbclass
index f64a911b72..caeef5d2b2 100644
--- a/poky/meta/classes/populate_sdk.bbclass
+++ b/poky/meta/classes-recipe/populate_sdk.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# The majority of populate_sdk is located in populate_sdk_base
# This chunk simply facilitates compatibility with SDK only recipes.
diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes-recipe/populate_sdk_base.bbclass
index f260217b50..0be108ad98 100644
--- a/poky/meta/classes/populate_sdk_base.bbclass
+++ b/poky/meta/classes-recipe/populate_sdk_base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PACKAGES = ""
inherit image-postinst-intercepts image-artifact-names
@@ -45,6 +51,8 @@ SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}"
SDK_TOOLCHAIN_LANGS ??= ""
SDK_TOOLCHAIN_LANGS:remove:sdkmingw32 = "rust"
+# libstd-rs doesn't build for mips n32 with compiler constraint errors
+SDK_TOOLCHAIN_LANGS:remove:mipsarchn32 = "rust"
TOOLCHAIN_HOST_TASK ?= " \
nativesdk-packagegroup-sdk-host \
diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes-recipe/populate_sdk_ext.bbclass
index d58b2ba5d0..925cb313fc 100644
--- a/poky/meta/classes/populate_sdk_ext.bbclass
+++ b/poky/meta/classes-recipe/populate_sdk_ext.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Extensible SDK
inherit populate_sdk_base
@@ -432,7 +438,8 @@ python copy_buildsystem () {
else:
# Write a templateconf.cfg
with open(baseoutpath + '/conf/templateconf.cfg', 'w') as f:
- f.write('meta/conf\n')
+ f.write('meta/conf/templates/default\n')
+ os.makedirs(os.path.join(baseoutpath, core_meta_subdir, 'conf/templates/default'), exist_ok=True)
# Ensure any variables set from the external environment (by way of
# BB_ENV_PASSTHROUGH_ADDITIONS) are set in the SDK's configuration
diff --git a/poky/meta/classes/ptest-gnome.bbclass b/poky/meta/classes-recipe/ptest-gnome.bbclass
index 18bd3dbff9..d4ad22d85d 100644
--- a/poky/meta/classes/ptest-gnome.bbclass
+++ b/poky/meta/classes-recipe/ptest-gnome.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit ptest
EXTRA_OECONF:append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '--enable-installed-tests', '--disable-installed-tests', d)}"
diff --git a/poky/meta/classes/ptest-perl.bbclass b/poky/meta/classes-recipe/ptest-perl.bbclass
index 5dd72c9dad..c283fdd1fc 100644
--- a/poky/meta/classes/ptest-perl.bbclass
+++ b/poky/meta/classes-recipe/ptest-perl.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit ptest
FILESEXTRAPATHS:prepend := "${COREBASE}/meta/files:"
diff --git a/poky/meta/classes/ptest.bbclass b/poky/meta/classes-recipe/ptest.bbclass
index c162f5d934..0383206a6d 100644
--- a/poky/meta/classes/ptest.bbclass
+++ b/poky/meta/classes-recipe/ptest.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
SUMMARY:${PN}-ptest ?= "${SUMMARY} - Package test files"
DESCRIPTION:${PN}-ptest ?= "${DESCRIPTION} \
This package contains a test directory ${PTEST_PATH} for package test purposes."
diff --git a/poky/meta/classes/pypi.bbclass b/poky/meta/classes-recipe/pypi.bbclass
index 5fa7b8a6ae..aab04c638f 100644
--- a/poky/meta/classes/pypi.bbclass
+++ b/poky/meta/classes-recipe/pypi.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def pypi_package(d):
bpn = d.getVar('BPN')
if bpn.startswith('python-'):
diff --git a/poky/meta/classes/python3-dir.bbclass b/poky/meta/classes-recipe/python3-dir.bbclass
index ff03e584d4..912c67253c 100644
--- a/poky/meta/classes/python3-dir.bbclass
+++ b/poky/meta/classes-recipe/python3-dir.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PYTHON_BASEVERSION = "3.10"
PYTHON_ABI = ""
PYTHON_DIR = "python${PYTHON_BASEVERSION}"
diff --git a/poky/meta/classes/python3native.bbclass b/poky/meta/classes-recipe/python3native.bbclass
index 3783c0c47e..654a002fdb 100644
--- a/poky/meta/classes/python3native.bbclass
+++ b/poky/meta/classes-recipe/python3native.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python3-dir
PYTHON="${STAGING_BINDIR_NATIVE}/python3-native/python3"
diff --git a/poky/meta/classes/python3targetconfig.bbclass b/poky/meta/classes-recipe/python3targetconfig.bbclass
index 2476858cae..3f89e5e09e 100644
--- a/poky/meta/classes/python3targetconfig.bbclass
+++ b/poky/meta/classes-recipe/python3targetconfig.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python3native
EXTRA_PYTHON_DEPENDS ?= ""
diff --git a/poky/meta/classes/python_flit_core.bbclass b/poky/meta/classes-recipe/python_flit_core.bbclass
index 7109307de5..a0b1feb70a 100644
--- a/poky/meta/classes/python_flit_core.bbclass
+++ b/poky/meta/classes-recipe/python_flit_core.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python_pep517 python3native python3-dir setuptools3-base
DEPENDS += "python3 python3-flit-core-native"
diff --git a/poky/meta/classes/python_hatchling.bbclass b/poky/meta/classes-recipe/python_hatchling.bbclass
index 984eb6bb5d..b9e6582eb5 100644
--- a/poky/meta/classes/python_hatchling.bbclass
+++ b/poky/meta/classes-recipe/python_hatchling.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python_pep517 python3native python3-dir setuptools3-base
DEPENDS += "python3-hatchling-native"
diff --git a/poky/meta/classes/python_pep517.bbclass b/poky/meta/classes-recipe/python_pep517.bbclass
index 7cdb9c8f9d..202dde0bc3 100644
--- a/poky/meta/classes/python_pep517.bbclass
+++ b/poky/meta/classes-recipe/python_pep517.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Common infrastructure for Python packages that use PEP-517 compliant packaging.
# https://www.python.org/dev/peps/pep-0517/
#
diff --git a/poky/meta/classes/python_poetry_core.bbclass b/poky/meta/classes-recipe/python_poetry_core.bbclass
index 0aaf66b194..c7dc5d0382 100644
--- a/poky/meta/classes/python_poetry_core.bbclass
+++ b/poky/meta/classes-recipe/python_poetry_core.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python_pep517 python3native setuptools3-base
DEPENDS += "python3-poetry-core-native"
diff --git a/poky/meta/classes/python_pyo3.bbclass b/poky/meta/classes-recipe/python_pyo3.bbclass
index 10cc3a0645..9a32eac6fd 100644
--- a/poky/meta/classes/python_pyo3.bbclass
+++ b/poky/meta/classes-recipe/python_pyo3.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class helps make sure that Python extensions built with PyO3
# and setuptools_rust properly set up the environment for cross compilation
#
@@ -8,7 +14,7 @@ inherit cargo python3-dir siteinfo
export PYO3_CROSS="1"
export PYO3_CROSS_PYTHON_VERSION="${PYTHON_BASEVERSION}"
export PYO3_CROSS_LIB_DIR="${STAGING_LIBDIR}"
-export CARGO_BUILD_TARGET="${HOST_SYS}"
+export CARGO_BUILD_TARGET="${RUST_HOST_SYS}"
export RUSTFLAGS
export PYO3_PYTHON="${PYTHON}"
export PYO3_CONFIG_FILE="${WORKDIR}/pyo3.config"
diff --git a/poky/meta/classes/python_setuptools3_rust.bbclass b/poky/meta/classes-recipe/python_setuptools3_rust.bbclass
index f12e5d0cbd..d6ce2edb96 100644
--- a/poky/meta/classes/python_setuptools3_rust.bbclass
+++ b/poky/meta/classes-recipe/python_setuptools3_rust.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python_pyo3 setuptools3
DEPENDS += "python3-setuptools-rust-native"
diff --git a/poky/meta/classes/python_setuptools_build_meta.bbclass b/poky/meta/classes-recipe/python_setuptools_build_meta.bbclass
index 974054fe5a..4c84d1e8d0 100644
--- a/poky/meta/classes/python_setuptools_build_meta.bbclass
+++ b/poky/meta/classes-recipe/python_setuptools_build_meta.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit setuptools3-base python_pep517
DEPENDS += "python3-setuptools-native python3-wheel-native"
diff --git a/poky/meta/classes/qemu.bbclass b/poky/meta/classes-recipe/qemu.bbclass
index 7493ac34d4..874b15127c 100644
--- a/poky/meta/classes/qemu.bbclass
+++ b/poky/meta/classes-recipe/qemu.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class contains functions for recipes that need QEMU or test for its
# existence.
#
diff --git a/poky/meta/classes/qemuboot.bbclass b/poky/meta/classes-recipe/qemuboot.bbclass
index ad8489902a..018c000ca2 100644
--- a/poky/meta/classes/qemuboot.bbclass
+++ b/poky/meta/classes-recipe/qemuboot.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Help runqemu boot target board, "QB" means Qemu Boot, the following
# vars can be set in conf files, such as <bsp.conf> to make it can be
# boot by runqemu:
diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes-recipe/rootfs-postcommands.bbclass
index a8a952f31d..215e38e33d 100644
--- a/poky/meta/classes/rootfs-postcommands.bbclass
+++ b/poky/meta/classes-recipe/rootfs-postcommands.bbclass
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
# Zap the root password if debug-tweaks and empty-root-password features are not enabled
ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'empty-root-password' ], "", "zap_empty_root_password; ",d)}'
@@ -8,6 +13,9 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'deb
# Allow dropbear/openssh to accept root logins if debug-tweaks or allow-root-login is enabled
ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-root-login' ], "ssh_allow_root_login; ", "",d)}'
+# Autologin the root user on the serial console, if empty-root-password and serial-autologin-root are active
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", [ 'empty-root-password', 'serial-autologin-root' ], "serial_autologin_root; ", "",d)}'
+
# Enable postinst logging if debug-tweaks or post-install-logging is enabled
ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'post-install-logging' ], "postinst_enable_logging; ", "",d)}'
@@ -55,7 +63,7 @@ inherit image-artifact-names
# systemd_sysusers_create and set_user_group. Using :append is not
# enough for that, set_user_group is added that way and would end
# up running after us.
-SORT_PASSWD_POSTPROCESS_COMMAND ??= " sort_passwd; "
+SORT_PASSWD_POSTPROCESS_COMMAND ??= " tidy_shadowutils_files; "
python () {
d.appendVar('ROOTFS_POSTPROCESS_COMMAND', '${SORT_PASSWD_POSTPROCESS_COMMAND}')
d.appendVar('ROOTFS_POSTPROCESS_COMMAND', 'rootfs_reproducible;')
@@ -196,9 +204,37 @@ ssh_allow_root_login () {
fi
}
+#
+# Autologin the 'root' user on the serial terminal,
+# if empty-root-password' AND 'serial-autologin-root are enabled
+#
+serial_autologin_root () {
+ if ${@bb.utils.contains("DISTRO_FEATURES", "sysvinit", "true", "false", d)}; then
+ # add autologin option to util-linux getty only
+ sed -i 's/options="/&--autologin root /' \
+ "${IMAGE_ROOTFS}${base_bindir}/start_getty"
+ elif ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "true", "false", d)}; then
+ if [ -e ${IMAGE_ROOTFS}${systemd_system_unitdir}/serial-getty@.service ]; then
+ sed -i '/^\s*ExecStart\b/ s/getty /&--autologin root /' \
+ "${IMAGE_ROOTFS}${systemd_system_unitdir}/serial-getty@.service"
+ fi
+ fi
+}
+
+python tidy_shadowutils_files () {
+ import rootfspostcommands
+ rootfspostcommands.tidy_shadowutils_files(d.expand('${IMAGE_ROOTFS}${sysconfdir}'))
+}
+
python sort_passwd () {
+ """
+ Deprecated in the favour of tidy_shadowutils_files.
+ """
import rootfspostcommands
- rootfspostcommands.sort_passwd(d.expand('${IMAGE_ROOTFS}${sysconfdir}'))
+ bb.warn('[sort_passwd] You are using a deprecated function for '
+ 'SORT_PASSWD_POSTPROCESS_COMMAND. The default one is now called '
+ '"tidy_shadowutils_files".')
+ rootfspostcommands.tidy_shadowutils_files(d.expand('${IMAGE_ROOTFS}${sysconfdir}'))
}
#
diff --git a/poky/meta/classes/rootfs_deb.bbclass b/poky/meta/classes-recipe/rootfs_deb.bbclass
index 0469ba7059..c5c6426abb 100644
--- a/poky/meta/classes/rootfs_deb.bbclass
+++ b/poky/meta/classes-recipe/rootfs_deb.bbclass
@@ -1,6 +1,8 @@
#
# Copyright 2006-2007 Openedhand Ltd.
#
+# SPDX-License-Identifier: MIT
+#
ROOTFS_PKGMANAGE = "dpkg apt"
diff --git a/poky/meta/classes/rootfs_ipk.bbclass b/poky/meta/classes-recipe/rootfs_ipk.bbclass
index 245c256a6f..a48ad07dfc 100644
--- a/poky/meta/classes/rootfs_ipk.bbclass
+++ b/poky/meta/classes-recipe/rootfs_ipk.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Creates a root filesystem out of IPKs
#
# This rootfs can be mounted via root-nfs or it can be put into an cramfs/jffs etc.
diff --git a/poky/meta/classes/rootfs_rpm.bbclass b/poky/meta/classes-recipe/rootfs_rpm.bbclass
index bec4d63ed6..6eccd5a959 100644
--- a/poky/meta/classes/rootfs_rpm.bbclass
+++ b/poky/meta/classes-recipe/rootfs_rpm.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Creates a root filesystem out of rpm packages
#
diff --git a/poky/meta/classes/rootfsdebugfiles.bbclass b/poky/meta/classes-recipe/rootfsdebugfiles.bbclass
index 85c7ec7434..cbcf876479 100644
--- a/poky/meta/classes/rootfsdebugfiles.bbclass
+++ b/poky/meta/classes-recipe/rootfsdebugfiles.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class installs additional files found on the build host
# directly into the rootfs.
#
diff --git a/poky/meta/classes/rust-bin.bbclass b/poky/meta/classes-recipe/rust-bin.bbclass
index c87343b3cf..b8e7ef8191 100644
--- a/poky/meta/classes/rust-bin.bbclass
+++ b/poky/meta/classes-recipe/rust-bin.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit rust
RDEPENDS:${PN}:append:class-target = " ${RUSTLIB_DEP}"
@@ -93,7 +99,6 @@ do_configure () {
}
oe_runrustc () {
- export RUST_TARGET_PATH="${RUST_TARGET_PATH}"
bbnote ${RUSTC} ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
"${RUSTC}" ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
}
diff --git a/poky/meta/classes/rust-common.bbclass b/poky/meta/classes-recipe/rust-common.bbclass
index cb811ac5da..93bf6c8be6 100644
--- a/poky/meta/classes/rust-common.bbclass
+++ b/poky/meta/classes-recipe/rust-common.bbclass
@@ -1,39 +1,24 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python3native
+inherit rust-target-config
# Common variables used by all Rust builds
-export rustlibdir = "${libdir}/rust"
+export rustlibdir = "${libdir}/rustlib/${RUST_HOST_SYS}/lib"
FILES:${PN} += "${rustlibdir}/*.so"
FILES:${PN}-dev += "${rustlibdir}/*.rlib ${rustlibdir}/*.rmeta"
FILES:${PN}-dbg += "${rustlibdir}/.debug"
-RUSTLIB = "-L ${STAGING_LIBDIR}/rust"
+RUSTLIB = "-L ${STAGING_DIR_HOST}${rustlibdir}"
RUST_DEBUG_REMAP = "--remap-path-prefix=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
RUSTFLAGS += "${RUSTLIB} ${RUST_DEBUG_REMAP}"
RUSTLIB_DEP ?= "libstd-rs"
-export RUST_TARGET_PATH = "${STAGING_LIBDIR_NATIVE}/rustlib"
RUST_PANIC_STRATEGY ?= "unwind"
-# Native builds are not effected by TCLIBC. Without this, rust-native
-# thinks it's "target" (i.e. x86_64-linux) is a musl target.
-RUST_LIBC = "${TCLIBC}"
-RUST_LIBC:class-crosssdk = "glibc"
-RUST_LIBC:class-native = "glibc"
-
-def determine_libc(d, thing):
- '''Determine which libc something should target'''
-
- # BUILD is never musl, TARGET may be musl or glibc,
- # HOST could be musl, but only if a compiler is built to be run on
- # target in which case HOST_SYS != BUILD_SYS.
- if thing == 'TARGET':
- libc = d.getVar('RUST_LIBC')
- elif thing == 'BUILD' and (d.getVar('HOST_SYS') != d.getVar('BUILD_SYS')):
- libc = d.getVar('RUST_LIBC')
- else:
- libc = d.getVar('RUST_LIBC:class-native')
-
- return libc
-
def target_is_armv7(d):
'''Determine if target is armv7'''
# TUNE_FEATURES may include arm* even if the target is not arm
@@ -63,31 +48,28 @@ def rust_base_triple(d, thing):
'''
# The llvm-target for armv7 is armv7-unknown-linux-gnueabihf
- if thing == "TARGET" and target_is_armv7(d):
+ if d.getVar('{}_ARCH'.format(thing)) == d.getVar('TARGET_ARCH') and target_is_armv7(d):
arch = "armv7"
else:
arch = oe.rust.arch_to_rust_arch(d.getVar('{}_ARCH'.format(thing)))
- # All the Yocto targets are Linux and are 'unknown'
- vendor = "-unknown"
- os = d.getVar('{}_OS'.format(thing))
- libc = determine_libc(d, thing)
-
- # Prefix with a dash and convert glibc -> gnu
- if libc == "glibc":
- libc = "-gnu"
- elif libc == "musl":
- libc = "-musl"
+ # When bootstrapping rust-native, BUILD must be the same as upstream snapshot tarballs
+ bpn = d.getVar('BPN')
+ if thing == "BUILD" and bpn in ["rust"]:
+ return arch + "-unknown-linux-gnu"
- # Don't double up musl (only appears to be the case on aarch64)
- if os == "linux-musl":
- if libc != "-musl":
- bb.fatal("{}_OS was '{}' but TCLIBC was not 'musl'".format(thing, os))
- os = "linux"
+ vendor = d.getVar('{}_VENDOR'.format(thing))
+ # Default to glibc
+ libc = "-gnu"
+ os = d.getVar('{}_OS'.format(thing))
# This catches ARM targets and appends the necessary hard float bits
if os == "linux-gnueabi" or os == "linux-musleabi":
libc = bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hf', '', d)
+ elif "musl" in os:
+ libc = "-musl"
+ os = "linux"
+
return arch + vendor + '-' + os + libc
@@ -138,26 +120,32 @@ RUST_TARGET_CXX = "${WRAPPER_DIR}/target-rust-cxx"
RUST_TARGET_CCLD = "${WRAPPER_DIR}/target-rust-ccld"
RUST_TARGET_AR = "${WRAPPER_DIR}/target-rust-ar"
-create_wrapper () {
+create_wrapper_rust () {
file="$1"
shift
+ extras="$1"
+ shift
cat <<- EOF > "${file}"
#!/usr/bin/env python3
import os, sys
orig_binary = "$@"
+ extras = "${extras}"
binary = orig_binary.split()[0]
args = orig_binary.split() + sys.argv[1:]
+ if extras:
+ args.append(extras)
os.execvp(binary, args)
EOF
chmod +x "${file}"
}
-export WRAPPER_TARGET_CC = "${CC}"
-export WRAPPER_TARGET_CXX = "${CXX}"
-export WRAPPER_TARGET_CCLD = "${CCLD}"
-export WRAPPER_TARGET_LDFLAGS = "${LDFLAGS}"
-export WRAPPER_TARGET_AR = "${AR}"
+WRAPPER_TARGET_CC = "${CC}"
+WRAPPER_TARGET_CXX = "${CXX}"
+WRAPPER_TARGET_CCLD = "${CCLD}"
+WRAPPER_TARGET_LDFLAGS = "${LDFLAGS}"
+WRAPPER_TARGET_EXTRALD = ""
+WRAPPER_TARGET_AR = "${AR}"
# compiler is used by gcc-rs
# linker is used by rustc/cargo
@@ -166,22 +154,22 @@ do_rust_create_wrappers () {
mkdir -p "${WRAPPER_DIR}"
# Yocto Build / Rust Host C compiler
- create_wrapper "${RUST_BUILD_CC}" "${BUILD_CC}"
+ create_wrapper_rust "${RUST_BUILD_CC}" "" "${BUILD_CC}"
# Yocto Build / Rust Host C++ compiler
- create_wrapper "${RUST_BUILD_CXX}" "${BUILD_CXX}"
+ create_wrapper_rust "${RUST_BUILD_CXX}" "" "${BUILD_CXX}"
# Yocto Build / Rust Host linker
- create_wrapper "${RUST_BUILD_CCLD}" "${BUILD_CCLD}" "${BUILD_LDFLAGS}"
+ create_wrapper_rust "${RUST_BUILD_CCLD}" "" "${BUILD_CCLD}" "${BUILD_LDFLAGS}"
# Yocto Build / Rust Host archiver
- create_wrapper "${RUST_BUILD_AR}" "${BUILD_AR}"
+ create_wrapper_rust "${RUST_BUILD_AR}" "" "${BUILD_AR}"
# Yocto Target / Rust Target C compiler
- create_wrapper "${RUST_TARGET_CC}" "${WRAPPER_TARGET_CC}" "${WRAPPER_TARGET_LDFLAGS}"
+ create_wrapper_rust "${RUST_TARGET_CC}" "${WRAPPER_TARGET_EXTRALD}" "${WRAPPER_TARGET_CC}" "${WRAPPER_TARGET_LDFLAGS}"
# Yocto Target / Rust Target C++ compiler
- create_wrapper "${RUST_TARGET_CXX}" "${WRAPPER_TARGET_CXX}"
+ create_wrapper_rust "${RUST_TARGET_CXX}" "${WRAPPER_TARGET_EXTRALD}" "${WRAPPER_TARGET_CXX}" "${CXXFLAGS}"
# Yocto Target / Rust Target linker
- create_wrapper "${RUST_TARGET_CCLD}" "${WRAPPER_TARGET_CCLD}" "${WRAPPER_TARGET_LDFLAGS}"
+ create_wrapper_rust "${RUST_TARGET_CCLD}" "${WRAPPER_TARGET_EXTRALD}" "${WRAPPER_TARGET_CCLD}" "${WRAPPER_TARGET_LDFLAGS}"
# Yocto Target / Rust Target archiver
- create_wrapper "${RUST_TARGET_AR}" "${WRAPPER_TARGET_AR}"
+ create_wrapper_rust "${RUST_TARGET_AR}" "" "${WRAPPER_TARGET_AR}"
}
diff --git a/poky/meta/classes/rust-target-config.bbclass b/poky/meta/classes-recipe/rust-target-config.bbclass
index 87b7dee3ed..9e1d81bf5c 100644
--- a/poky/meta/classes/rust-target-config.bbclass
+++ b/poky/meta/classes-recipe/rust-target-config.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Right now this is focused on arm-specific tune features.
# We get away with this for now as one can only use x86-64 as the build host
# (not arm).
@@ -190,6 +196,13 @@ TARGET_POINTER_WIDTH[mips64] = "64"
TARGET_C_INT_WIDTH[mips64] = "64"
MAX_ATOMIC_WIDTH[mips64] = "64"
+## mips64-n32-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips64-n32] = "E-m:e-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128"
+TARGET_ENDIAN[mips64-n32] = "big"
+TARGET_POINTER_WIDTH[mips64-n32] = "32"
+TARGET_C_INT_WIDTH[mips64-n32] = "32"
+MAX_ATOMIC_WIDTH[mips64-n32] = "64"
+
## mips64el-unknown-linux-{gnu, musl}
DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
TARGET_ENDIAN[mips64el] = "little"
@@ -259,13 +272,12 @@ def llvm_cpu(d):
trans['x86-64'] = "x86-64"
trans['i686'] = "i686"
trans['i586'] = "i586"
- trans['powerpc'] = "powerpc"
trans['mips64'] = "mips64"
trans['mips64el'] = "mips64"
trans['riscv64'] = "generic-rv64"
trans['riscv32'] = "generic-rv32"
- if target in ["mips", "mipsel"]:
+ if target in ["mips", "mipsel", "powerpc"]:
feat = frozenset(d.getVar('TUNE_FEATURES').split())
if "mips32r2" in feat:
trans['mipsel'] = "mips32r2"
@@ -273,6 +285,8 @@ def llvm_cpu(d):
elif "mips32" in feat:
trans['mipsel'] = "mips32"
trans['mips'] = "mips32"
+ elif "ppc7400" in feat:
+ trans['powerpc'] = "7400"
try:
return trans[cpu]
@@ -283,14 +297,21 @@ llvm_cpu[vardepvalue] = "${@llvm_cpu(d)}"
def rust_gen_target(d, thing, wd, arch):
import json
+
+ build_sys = d.getVar('BUILD_SYS')
+ target_sys = d.getVar('TARGET_SYS')
+
sys = d.getVar('{}_SYS'.format(thing))
prefix = d.getVar('{}_PREFIX'.format(thing))
+ rustsys = d.getVar('RUST_{}_SYS'.format(thing))
abi = None
cpu = "generic"
features = ""
- if thing == "TARGET":
+ # Need to apply the target tuning consitently, only if the triplet applies to the target
+ # and not in the native case
+ if sys == target_sys and sys != build_sys:
abi = d.getVar('ABIEXTENSION')
cpu = llvm_cpu(d)
if bb.data.inherits_class('native', d):
@@ -311,14 +332,12 @@ def rust_gen_target(d, thing, wd, arch):
features = features or d.getVarFlag('FEATURES', arch_abi) or ""
features = features.strip()
- llvm_target = d.getVar('RUST_TARGET_SYS')
- if thing == "BUILD":
- llvm_target = d.getVar('RUST_HOST_SYS')
-
# build tspec
tspec = {}
- tspec['llvm-target'] = llvm_target
+ tspec['llvm-target'] = rustsys
tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch_abi)
+ if tspec['data-layout'] is None:
+ bb.fatal("No rust target defined for %s" % arch_abi)
tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch_abi))
tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch_abi)
tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch_abi)
@@ -344,31 +363,29 @@ def rust_gen_target(d, thing, wd, arch):
tspec['linker-is-gnu'] = True
tspec['linker-flavor'] = "gcc"
tspec['has-rpath'] = True
- tspec['has-elf-tls'] = True
tspec['position-independent-executables'] = True
tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY")
# write out the target spec json file
- with open(wd + sys + '.json', 'w') as f:
+ with open(wd + rustsys + '.json', 'w') as f:
json.dump(tspec, f, indent=4)
# These are accounted for in tmpdir path names so don't need to be in the task sig
-rust_gen_target[vardepsexclude] += "RUST_HOST_SYS RUST_TARGET_SYS ABIEXTENSION llvm_cpu"
+rust_gen_target[vardepsexclude] += "ABIEXTENSION llvm_cpu"
do_rust_gen_targets[vardeps] += "DATA_LAYOUT TARGET_ENDIAN TARGET_POINTER_WIDTH TARGET_C_INT_WIDTH MAX_ATOMIC_WIDTH FEATURES"
-RUST_TARGETGENS = "BUILD"
+RUST_TARGETS_DIR = "${WORKDIR}/rust-targets/"
+export RUST_TARGET_PATH = "${RUST_TARGETS_DIR}"
python do_rust_gen_targets () {
- wd = d.getVar('WORKDIR') + '/targets/'
+ wd = d.getVar('RUST_TARGETS_DIR')
# Order of BUILD, HOST, TARGET is important in case the files overwrite, most specific last
rust_gen_target(d, 'BUILD', wd, d.getVar('BUILD_ARCH'))
- if "HOST" in d.getVar("RUST_TARGETGENS"):
- rust_gen_target(d, 'HOST', wd, d.getVar('HOST_ARCH'))
- if "TARGET" in d.getVar("RUST_TARGETGENS"):
- rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_ARCH'))
+ rust_gen_target(d, 'HOST', wd, d.getVar('HOST_ARCH'))
+ rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_ARCH'))
}
addtask rust_gen_targets after do_patch before do_compile
-do_rust_gen_targets[dirs] += "${WORKDIR}/targets"
+do_rust_gen_targets[dirs] += "${RUST_TARGETS_DIR}"
diff --git a/poky/meta/classes/rust.bbclass b/poky/meta/classes-recipe/rust.bbclass
index 5c8938d09f..dae25cac2a 100644
--- a/poky/meta/classes/rust.bbclass
+++ b/poky/meta/classes-recipe/rust.bbclass
@@ -1,8 +1,14 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit rust-common
RUSTC = "rustc"
-RUSTC_ARCHFLAGS += "--target=${HOST_SYS} ${RUSTFLAGS}"
+RUSTC_ARCHFLAGS += "--target=${RUST_HOST_SYS} ${RUSTFLAGS}"
def rust_base_dep(d):
# Taken from meta/classes/base.bbclass `base_dep_prepend` and modified to
@@ -10,7 +16,7 @@ def rust_base_dep(d):
deps = ""
if not d.getVar('INHIBIT_DEFAULT_RUST_DEPS'):
if (d.getVar('HOST_SYS') != d.getVar('BUILD_SYS')):
- deps += " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}"
+ deps += " rust-native ${RUSTLIB_DEP}"
else:
deps += " rust-native"
return deps
@@ -37,7 +43,7 @@ HOST_CFLAGS ?= "${CFLAGS}"
HOST_CXXFLAGS ?= "${CXXFLAGS}"
HOST_CPPFLAGS ?= "${CPPFLAGS}"
-rustlib_suffix="${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${HOST_SYS}/lib"
+rustlib_suffix="${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${RUST_HOST_SYS}/lib"
# Native sysroot standard library path
rustlib_src="${prefix}/lib/${rustlib_suffix}"
# Host sysroot standard library path
diff --git a/poky/meta/classes/scons.bbclass b/poky/meta/classes-recipe/scons.bbclass
index 80f8382107..5f0d4a910b 100644
--- a/poky/meta/classes/scons.bbclass
+++ b/poky/meta/classes-recipe/scons.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python3native
DEPENDS += "python3-scons-native"
diff --git a/poky/meta/classes/setuptools3-base.bbclass b/poky/meta/classes-recipe/setuptools3-base.bbclass
index 15abe1dd63..21b688ced0 100644
--- a/poky/meta/classes/setuptools3-base.bbclass
+++ b/poky/meta/classes-recipe/setuptools3-base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
DEPENDS:append:class-target = " ${PYTHON_PN}-native ${PYTHON_PN}"
DEPENDS:append:class-nativesdk = " ${PYTHON_PN}-native ${PYTHON_PN}"
RDEPENDS:${PN}:append:class-target = " ${PYTHON_PN}-core"
diff --git a/poky/meta/classes/setuptools3.bbclass b/poky/meta/classes-recipe/setuptools3.bbclass
index 66c94660d8..4c6e79ee9a 100644
--- a/poky/meta/classes/setuptools3.bbclass
+++ b/poky/meta/classes-recipe/setuptools3.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit setuptools3-base python_pep517
DEPENDS += "python3-setuptools-native python3-wheel-native"
diff --git a/poky/meta/classes/setuptools3_legacy.bbclass b/poky/meta/classes-recipe/setuptools3_legacy.bbclass
index 5a99daadb5..21748f922a 100644
--- a/poky/meta/classes/setuptools3_legacy.bbclass
+++ b/poky/meta/classes-recipe/setuptools3_legacy.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class is for packages which use the deprecated setuptools behaviour,
# specifically custom install tasks which don't work correctly with bdist_wheel.
# This behaviour is deprecated in setuptools[1] and won't work in the future, so
diff --git a/poky/meta/classes/siteinfo.bbclass b/poky/meta/classes-recipe/siteinfo.bbclass
index 3555d5a663..d31c9b2571 100644
--- a/poky/meta/classes/siteinfo.bbclass
+++ b/poky/meta/classes-recipe/siteinfo.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class exists to provide information about the targets that
# may be needed by other classes and/or recipes. If you add a new
# target this will probably need to be updated.
diff --git a/poky/meta/classes/syslinux.bbclass b/poky/meta/classes-recipe/syslinux.bbclass
index 894f6b3718..be3b898b4d 100644
--- a/poky/meta/classes/syslinux.bbclass
+++ b/poky/meta/classes-recipe/syslinux.bbclass
@@ -1,6 +1,6 @@
# syslinux.bbclass
-# Copyright (C) 2004-2006, Advanced Micro Devices, Inc. All Rights Reserved
-# Released under the MIT license (see packages/COPYING)
+# Copyright (C) 2004-2006, Advanced Micro Devices, Inc.
+# SPDX-License-Identifier: MIT
# Provide syslinux specific functions for building bootable images.
diff --git a/poky/meta/classes/systemd-boot-cfg.bbclass b/poky/meta/classes-recipe/systemd-boot-cfg.bbclass
index b3e0e6ad41..366dd23738 100644
--- a/poky/meta/classes/systemd-boot-cfg.bbclass
+++ b/poky/meta/classes-recipe/systemd-boot-cfg.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
SYSTEMD_BOOT_CFG ?= "${S}/loader.conf"
SYSTEMD_BOOT_ENTRIES ?= ""
SYSTEMD_BOOT_TIMEOUT ?= "10"
diff --git a/poky/meta/classes/systemd-boot.bbclass b/poky/meta/classes-recipe/systemd-boot.bbclass
index 57ec0acbc5..5aa32dd997 100644
--- a/poky/meta/classes/systemd-boot.bbclass
+++ b/poky/meta/classes-recipe/systemd-boot.bbclass
@@ -1,6 +1,6 @@
# Copyright (C) 2016 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
# systemd-boot.bbclass - The "systemd-boot" is essentially the gummiboot merged into systemd.
# The original standalone gummiboot project is dead without any more
diff --git a/poky/meta/classes/systemd.bbclass b/poky/meta/classes-recipe/systemd.bbclass
index 09ec52792d..f6564c2b31 100644
--- a/poky/meta/classes/systemd.bbclass
+++ b/poky/meta/classes-recipe/systemd.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# The list of packages that should have systemd packaging scripts added. For
# each entry, optionally have a SYSTEMD_SERVICE:[package] that lists the service
# files in this package. If this variable isn't set, [package].service is used.
diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes-recipe/testimage.bbclass
index 7898223bce..8d2fab21df 100644
--- a/poky/meta/classes/testimage.bbclass
+++ b/poky/meta/classes-recipe/testimage.bbclass
@@ -1,6 +1,6 @@
# Copyright (C) 2013 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
inherit metadata_scm
inherit image-artifact-names
diff --git a/poky/meta/classes/testsdk.bbclass b/poky/meta/classes-recipe/testsdk.bbclass
index 8b2e74f606..fd82e6ef41 100644
--- a/poky/meta/classes/testsdk.bbclass
+++ b/poky/meta/classes-recipe/testsdk.bbclass
@@ -1,6 +1,6 @@
# Copyright (C) 2013 - 2016 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
# testsdk.bbclass enables testing for SDK and Extensible SDK
#
diff --git a/poky/meta/classes/texinfo.bbclass b/poky/meta/classes-recipe/texinfo.bbclass
index 68c9d4fb70..380247faf5 100644
--- a/poky/meta/classes/texinfo.bbclass
+++ b/poky/meta/classes-recipe/texinfo.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class is inherited by recipes whose upstream packages invoke the
# texinfo utilities at build-time. Native and cross recipes are made to use the
# dummy scripts provided by texinfo-dummy-native, for improved performance.
diff --git a/poky/meta/classes/toolchain-scripts-base.bbclass b/poky/meta/classes-recipe/toolchain-scripts-base.bbclass
index 2489b9dbeb..d24a986e02 100644
--- a/poky/meta/classes/toolchain-scripts-base.bbclass
+++ b/poky/meta/classes-recipe/toolchain-scripts-base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
#This function create a version information file
toolchain_create_sdk_version () {
local versionfile=$1
diff --git a/poky/meta/classes/toolchain-scripts.bbclass b/poky/meta/classes-recipe/toolchain-scripts.bbclass
index 16f1e17607..3cc823fe63 100644
--- a/poky/meta/classes/toolchain-scripts.bbclass
+++ b/poky/meta/classes-recipe/toolchain-scripts.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit toolchain-scripts-base siteinfo kernel-arch
# We want to be able to change the value of MULTIMACH_TARGET_SYS, because it
diff --git a/poky/meta/classes/uboot-config.bbclass b/poky/meta/classes-recipe/uboot-config.bbclass
index e8da8c7452..7ab006a20d 100644
--- a/poky/meta/classes/uboot-config.bbclass
+++ b/poky/meta/classes-recipe/uboot-config.bbclass
@@ -10,6 +10,9 @@
# UBOOT_MACHINE = "config"
#
# Copyright 2013, 2014 (C) O.S. Systems Software LTDA.
+#
+# SPDX-License-Identifier: MIT
+
def removesuffix(s, suffix):
if suffix and s.endswith(suffix):
@@ -109,8 +112,10 @@ python () {
if len(ubootconfig) > 0:
for config in ubootconfig:
+ found = False
for f, v in ubootconfigflags.items():
if config == f:
+ found = True
items = v.split(',')
if items[0] and len(items) > 3:
raise bb.parse.SkipRecipe('Only config,images,binary can be specified!')
@@ -125,6 +130,8 @@ python () {
else:
bb.debug(1, "Appending '%s' to UBOOT_BINARIES." % ubootbinary)
d.appendVar('UBOOT_BINARIES', ' ' + ubootbinary)
- return
- raise bb.parse.SkipRecipe("The selected UBOOT_CONFIG key %s has no match in %s." % (ubootconfig, ubootconfigflags.keys()))
+ break
+
+ if not found:
+ raise bb.parse.SkipRecipe("The selected UBOOT_CONFIG key %s has no match in %s." % (ubootconfig, ubootconfigflags.keys()))
}
diff --git a/poky/meta/classes/uboot-extlinux-config.bbclass b/poky/meta/classes-recipe/uboot-extlinux-config.bbclass
index dcebe7ff31..86a7d30ca0 100644
--- a/poky/meta/classes/uboot-extlinux-config.bbclass
+++ b/poky/meta/classes-recipe/uboot-extlinux-config.bbclass
@@ -54,7 +54,7 @@
# APPEND root=/dev/mmcblk2p2 rootwait rw console=${console}
#
# Copyright (C) 2016, O.S. Systems Software LTDA. All Rights Reserved
-# Released under the MIT license (see packages/COPYING)
+# SPDX-License-Identifier: MIT
#
# The kernel has an internal default console, which you can override with
# a console=...some_tty...
diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes-recipe/uboot-sign.bbclass
index eecdec9160..debbf23ec6 100644
--- a/poky/meta/classes/uboot-sign.bbclass
+++ b/poky/meta/classes-recipe/uboot-sign.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This file is part of U-Boot verified boot support and is intended to be
# inherited from u-boot recipe and from kernel-fitimage.bbclass.
#
diff --git a/poky/meta/classes/update-alternatives.bbclass b/poky/meta/classes-recipe/update-alternatives.bbclass
index fc1ffd828c..970d9bcd45 100644
--- a/poky/meta/classes/update-alternatives.bbclass
+++ b/poky/meta/classes-recipe/update-alternatives.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class is used to help the alternatives system which is useful when
# multiple sources provide same command. You can use update-alternatives
# command directly in your recipe, but in most cases this class simplifies
diff --git a/poky/meta/classes/update-rc.d.bbclass b/poky/meta/classes-recipe/update-rc.d.bbclass
index 0a3a608662..cb2aaba57c 100644
--- a/poky/meta/classes/update-rc.d.bbclass
+++ b/poky/meta/classes-recipe/update-rc.d.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
UPDATERCPN ?= "${PN}"
DEPENDS:append:class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', ' update-rc.d initscripts', '', d)}"
diff --git a/poky/meta/classes/upstream-version-is-even.bbclass b/poky/meta/classes-recipe/upstream-version-is-even.bbclass
index 256c752423..19587cb12c 100644
--- a/poky/meta/classes/upstream-version-is-even.bbclass
+++ b/poky/meta/classes-recipe/upstream-version-is-even.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class ensures that the upstream version check only
# accepts even minor versions (i.e. 3.0.x, 3.2.x, 3.4.x, etc.)
# This scheme is used by Gnome and a number of other projects
diff --git a/poky/meta/classes/vala.bbclass b/poky/meta/classes-recipe/vala.bbclass
index bfcceff7cf..460ddb36f0 100644
--- a/poky/meta/classes/vala.bbclass
+++ b/poky/meta/classes-recipe/vala.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Everyone needs vala-native and targets need vala, too,
# because that is where target builds look for .vapi files.
#
diff --git a/poky/meta/classes/waf.bbclass b/poky/meta/classes-recipe/waf.bbclass
index 464564afa1..5fa0cc4987 100644
--- a/poky/meta/classes/waf.bbclass
+++ b/poky/meta/classes-recipe/waf.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# avoids build breaks when using no-static-libs.inc
DISABLE_STATIC = ""
diff --git a/poky/meta/classes/xmlcatalog.bbclass b/poky/meta/classes-recipe/xmlcatalog.bbclass
index be155b7bc2..5826d0a8b5 100644
--- a/poky/meta/classes/xmlcatalog.bbclass
+++ b/poky/meta/classes-recipe/xmlcatalog.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
DEPENDS = "libxml2-native"
# A whitespace-separated list of XML catalogs to be registered, for example
diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass
index 5da369d422..0710c1ec5e 100644
--- a/poky/meta/classes/archiver.bbclass
+++ b/poky/meta/classes/archiver.bbclass
@@ -1,5 +1,9 @@
-# ex:ts=4:sw=4:sts=4:et
-# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
#
# This bbclass is used for creating archive for:
# 1) original (or unpacked) source: ARCHIVER_MODE[src] = "original"
@@ -459,7 +463,9 @@ def create_diff_gz(d, src_orig, src, ar_outdir):
def is_work_shared(d):
pn = d.getVar('PN')
- return bb.data.inherits_class('kernel', d) or pn.startswith('gcc-source')
+ return pn.startswith('gcc-source') or \
+ bb.data.inherits_class('kernel', d) or \
+ (bb.data.inherits_class('kernelsrc', d) and d.getVar('S') == d.getVar('STAGING_KERNEL_DIR'))
# Run do_unpack and do_patch
python do_unpack_and_patch() {
diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass
index 4ba9ec8f25..395f594278 100644
--- a/poky/meta/classes/buildhistory.bbclass
+++ b/poky/meta/classes/buildhistory.bbclass
@@ -6,8 +6,10 @@
# Copyright (C) 2011-2016 Intel Corporation
# Copyright (C) 2007-2011 Koen Kooi <koen@openembedded.org>
#
+# SPDX-License-Identifier: MIT
+#
-inherit image-artifact-names
+IMAGE_CLASSES += "image-artifact-names"
BUILDHISTORY_FEATURES ?= "image package sdk"
BUILDHISTORY_DIR ?= "${TOPDIR}/buildhistory"
diff --git a/poky/meta/classes/buildstats-summary.bbclass b/poky/meta/classes/buildstats-summary.bbclass
index f9b241b6c5..12e8f17836 100644
--- a/poky/meta/classes/buildstats-summary.bbclass
+++ b/poky/meta/classes/buildstats-summary.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Summarize sstate usage at the end of the build
python buildstats_summary () {
import collections
diff --git a/poky/meta/classes/ccache.bbclass b/poky/meta/classes/ccache.bbclass
index 4532894c57..34becb69d1 100644
--- a/poky/meta/classes/ccache.bbclass
+++ b/poky/meta/classes/ccache.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Usage:
# - Enable ccache
# Add the following line to a conffile such as conf/local.conf:
diff --git a/poky/meta/classes/ccmake.bbclass b/poky/meta/classes/ccmake.bbclass
index df5134a108..c5b4bf6260 100644
--- a/poky/meta/classes/ccmake.bbclass
+++ b/poky/meta/classes/ccmake.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit terminal
python do_ccmake() {
diff --git a/poky/meta/classes/chrpath.bbclass b/poky/meta/classes/chrpath.bbclass
index 26b984c4db..1aecb4df66 100644
--- a/poky/meta/classes/chrpath.bbclass
+++ b/poky/meta/classes/chrpath.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
CHRPATH_BIN ?= "chrpath"
PREPROCESS_RELOCATE_DIRS ?= ""
diff --git a/poky/meta/classes/copyleft_compliance.bbclass b/poky/meta/classes/copyleft_compliance.bbclass
index eabf12ce7a..9ff9956fe9 100644
--- a/poky/meta/classes/copyleft_compliance.bbclass
+++ b/poky/meta/classes/copyleft_compliance.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Deploy sources for recipes for compliance with copyleft-style licenses
# Defaults to using symlinks, as it's a quick operation, and one can easily
# follow the links when making use of the files (e.g. tar with the -h arg).
diff --git a/poky/meta/classes/copyleft_filter.bbclass b/poky/meta/classes/copyleft_filter.bbclass
index c36bce431a..83cd90060d 100644
--- a/poky/meta/classes/copyleft_filter.bbclass
+++ b/poky/meta/classes/copyleft_filter.bbclass
@@ -1,10 +1,14 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Filter the license, the copyleft_should_include returns True for the
# COPYLEFT_LICENSE_INCLUDE recipe, and False for the
# COPYLEFT_LICENSE_EXCLUDE.
#
# By default, includes all GPL and LGPL, and excludes CLOSED and Proprietary.
-#
-# vi:sts=4:sw=4:et
COPYLEFT_LICENSE_INCLUDE ?= 'GPL* LGPL* AGPL*'
COPYLEFT_LICENSE_INCLUDE[type] = 'list'
diff --git a/poky/meta/classes/create-spdx.bbclass b/poky/meta/classes/create-spdx.bbclass
index 10deba638f..47dd12c383 100644
--- a/poky/meta/classes/create-spdx.bbclass
+++ b/poky/meta/classes/create-spdx.bbclass
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
@@ -216,7 +218,7 @@ def add_package_files(d, doc, spdx_pkg, topdir, get_spdxid, get_types, *, archiv
filepath = Path(subdir) / file
filename = str(filepath.relative_to(topdir))
- if filepath.is_file() and not filepath.is_symlink():
+ if not filepath.is_symlink() and filepath.is_file():
spdx_file = oe.spdx.SPDXFile()
spdx_file.SPDXID = get_spdxid(file_counter)
for t in get_types(filepath):
diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass
index da7f93371c..4b4ea7893e 100644
--- a/poky/meta/classes/cve-check.bbclass
+++ b/poky/meta/classes/cve-check.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class is used to check recipes against public CVEs.
#
# In order to use this class just inherit the class in the
@@ -139,17 +145,18 @@ python do_cve_check () {
"""
from oe.cve_check import get_patched_cves
- if os.path.exists(d.getVar("CVE_CHECK_DB_FILE")):
- try:
- patched_cves = get_patched_cves(d)
- except FileNotFoundError:
- bb.fatal("Failure in searching patches")
- ignored, patched, unpatched, status = check_cves(d, patched_cves)
- if patched or unpatched or (d.getVar("CVE_CHECK_COVERAGE") == "1" and status):
- cve_data = get_cve_info(d, patched + unpatched + ignored)
- cve_write_data(d, patched, unpatched, ignored, cve_data, status)
- else:
- bb.note("No CVE database found, skipping CVE check")
+ with bb.utils.fileslocked([d.getVar("CVE_CHECK_DB_FILE_LOCK")], shared=True):
+ if os.path.exists(d.getVar("CVE_CHECK_DB_FILE")):
+ try:
+ patched_cves = get_patched_cves(d)
+ except FileNotFoundError:
+ bb.fatal("Failure in searching patches")
+ ignored, patched, unpatched, status = check_cves(d, patched_cves)
+ if patched or unpatched or (d.getVar("CVE_CHECK_COVERAGE") == "1" and status):
+ cve_data = get_cve_info(d, patched + unpatched + ignored)
+ cve_write_data(d, patched, unpatched, ignored, cve_data, status)
+ else:
+ bb.note("No CVE database found, skipping CVE check")
}
@@ -290,7 +297,8 @@ def check_cves(d, patched_cves):
vendor = "%"
# Find all relevant CVE IDs.
- for cverow in conn.execute("SELECT DISTINCT ID FROM PRODUCTS WHERE PRODUCT IS ? AND VENDOR LIKE ?", (product, vendor)):
+ cve_cursor = conn.execute("SELECT DISTINCT ID FROM PRODUCTS WHERE PRODUCT IS ? AND VENDOR LIKE ?", (product, vendor))
+ for cverow in cve_cursor:
cve = cverow[0]
if cve in cve_ignore:
@@ -309,7 +317,8 @@ def check_cves(d, patched_cves):
vulnerable = False
ignored = False
- for row in conn.execute("SELECT * FROM PRODUCTS WHERE ID IS ? AND PRODUCT IS ? AND VENDOR LIKE ?", (cve, product, vendor)):
+ product_cursor = conn.execute("SELECT * FROM PRODUCTS WHERE ID IS ? AND PRODUCT IS ? AND VENDOR LIKE ?", (cve, product, vendor))
+ for row in product_cursor:
(_, _, _, version_start, operator_start, version_end, operator_end) = row
#bb.debug(2, "Evaluating row " + str(row))
if cve in cve_ignore:
@@ -353,10 +362,12 @@ def check_cves(d, patched_cves):
bb.note("%s-%s is vulnerable to %s" % (pn, real_pv, cve))
cves_unpatched.append(cve)
break
+ product_cursor.close()
if not vulnerable:
bb.note("%s-%s is not vulnerable to %s" % (pn, real_pv, cve))
patched_cves.add(cve)
+ cve_cursor.close()
if not cves_in_product:
bb.note("No CVE records found for product %s, pn %s" % (product, pn))
@@ -381,14 +392,15 @@ def get_cve_info(d, cves):
conn = sqlite3.connect(db_file, uri=True)
for cve in cves:
- for row in conn.execute("SELECT * FROM NVD WHERE ID IS ?", (cve,)):
+ cursor = conn.execute("SELECT * FROM NVD WHERE ID IS ?", (cve,))
+ for row in cursor:
cve_data[row[0]] = {}
cve_data[row[0]]["summary"] = row[1]
cve_data[row[0]]["scorev2"] = row[2]
cve_data[row[0]]["scorev3"] = row[3]
cve_data[row[0]]["modified"] = row[4]
cve_data[row[0]]["vector"] = row[5]
-
+ cursor.close()
conn.close()
return cve_data
diff --git a/poky/meta/classes/devtool-source.bbclass b/poky/meta/classes/devtool-source.bbclass
index 41900e651f..a02b1e9b0e 100644
--- a/poky/meta/classes/devtool-source.bbclass
+++ b/poky/meta/classes/devtool-source.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Development tool - source extraction helper class
#
# NOTE: this class is intended for use by devtool and should not be
diff --git a/poky/meta/classes/distrooverrides.bbclass b/poky/meta/classes/distrooverrides.bbclass
index bf3a2b2090..8d9d7cda7d 100644
--- a/poky/meta/classes/distrooverrides.bbclass
+++ b/poky/meta/classes/distrooverrides.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Turns certain DISTRO_FEATURES into overrides with the same
# name plus a df- prefix. Ensures that these special
# distro features remain set also for native and nativesdk
diff --git a/poky/meta/classes/extrausers.bbclass b/poky/meta/classes/extrausers.bbclass
index a8ef660b30..94576b8872 100644
--- a/poky/meta/classes/extrausers.bbclass
+++ b/poky/meta/classes/extrausers.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This bbclass is used for image level user/group configuration.
# Inherit this class if you want to make EXTRA_USERS_PARAMS effective.
diff --git a/poky/meta/classes/icecc.bbclass b/poky/meta/classes/icecc.bbclass
index 9b912a3083..a11e781f00 100644
--- a/poky/meta/classes/icecc.bbclass
+++ b/poky/meta/classes/icecc.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# IceCream distributed compiling support
#
# Stages directories with symlinks from gcc/g++ to icecc, for both
diff --git a/poky/meta/classes/image-buildinfo.bbclass b/poky/meta/classes/image-buildinfo.bbclass
index ef790bb73b..206cc9d57d 100644
--- a/poky/meta/classes/image-buildinfo.bbclass
+++ b/poky/meta/classes/image-buildinfo.bbclass
@@ -4,7 +4,7 @@
# Copyright (C) 2014 Intel Corporation
# Author: Alejandro Enedino Hernandez Samaniego <alejandro.hernandez@intel.com>
#
-# Licensed under the MIT license, see COPYING.MIT for details
+# SPDX-License-Identifier: MIT
#
# Usage: add INHERIT += "image-buildinfo" to your conf file
#
diff --git a/poky/meta/classes/mcextend.bbclass b/poky/meta/classes/mcextend.bbclass
index 0f8f962298..a489eeb3c7 100644
--- a/poky/meta/classes/mcextend.bbclass
+++ b/poky/meta/classes/mcextend.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
python mcextend_virtclass_handler () {
cls = e.data.getVar("BBEXTENDCURR")
variant = e.data.getVar("BBEXTENDVARIANT")
diff --git a/poky/meta/classes/metadata_scm.bbclass b/poky/meta/classes/metadata_scm.bbclass
index f646b3159a..6842119b6b 100644
--- a/poky/meta/classes/metadata_scm.bbclass
+++ b/poky/meta/classes/metadata_scm.bbclass
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
METADATA_BRANCH := "${@oe.buildcfg.detect_branch(d)}"
METADATA_BRANCH[vardepvalue] = "${METADATA_BRANCH}"
diff --git a/poky/meta/classes/migrate_localcount.bbclass b/poky/meta/classes/migrate_localcount.bbclass
index 810a541316..1d00c110e2 100644
--- a/poky/meta/classes/migrate_localcount.bbclass
+++ b/poky/meta/classes/migrate_localcount.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PRSERV_DUMPDIR ??= "${LOG_DIR}/db"
LOCALCOUNT_DUMPFILE ??= "${PRSERV_DUMPDIR}/prserv-localcount-exports.inc"
diff --git a/poky/meta/classes/multilib.bbclass b/poky/meta/classes/multilib.bbclass
index 5859ca8d21..10a4ef9c37 100644
--- a/poky/meta/classes/multilib.bbclass
+++ b/poky/meta/classes/multilib.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
python multilib_virtclass_handler () {
cls = e.data.getVar("BBEXTENDCURR")
variant = e.data.getVar("BBEXTENDVARIANT")
diff --git a/poky/meta/classes/multilib_global.bbclass b/poky/meta/classes/multilib_global.bbclass
index e06307d057..dcd89b2f63 100644
--- a/poky/meta/classes/multilib_global.bbclass
+++ b/poky/meta/classes/multilib_global.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def preferred_ml_updates(d):
# If any of PREFERRED_PROVIDER, PREFERRED_RPROVIDER, REQUIRED_VERSION
# or PREFERRED_VERSION are set, we need to mirror these variables in
diff --git a/poky/meta/classes/oelint.bbclass b/poky/meta/classes/oelint.bbclass
index 2589d34059..458a25ecc3 100644
--- a/poky/meta/classes/oelint.bbclass
+++ b/poky/meta/classes/oelint.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
addtask lint before do_build
do_lint[nostamp] = "1"
python do_lint() {
diff --git a/poky/meta/classes/overlayfs-etc.bbclass b/poky/meta/classes/overlayfs-etc.bbclass
index 91afee695c..d0bc3ecfac 100644
--- a/poky/meta/classes/overlayfs-etc.bbclass
+++ b/poky/meta/classes/overlayfs-etc.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for setting up /etc in overlayfs
#
# In order to have /etc directory in overlayfs a special handling at early boot stage is required
diff --git a/poky/meta/classes/overlayfs.bbclass b/poky/meta/classes/overlayfs.bbclass
index f7069edd41..bdc6dd9d57 100644
--- a/poky/meta/classes/overlayfs.bbclass
+++ b/poky/meta/classes/overlayfs.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for generation of overlayfs mount units
#
# It's often desired in Embedded System design to have a read-only rootfs.
diff --git a/poky/meta/classes/own-mirrors.bbclass b/poky/meta/classes/own-mirrors.bbclass
index ef972740ce..2f24ff1830 100644
--- a/poky/meta/classes/own-mirrors.bbclass
+++ b/poky/meta/classes/own-mirrors.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PREMIRRORS:prepend = " \
cvs://.*/.* ${SOURCE_MIRROR_URL} \
svn://.*/.* ${SOURCE_MIRROR_URL} \
diff --git a/poky/meta/classes/pkgconfig.bbclass b/poky/meta/classes/pkgconfig.bbclass
deleted file mode 100644
index fa94527ce9..0000000000
--- a/poky/meta/classes/pkgconfig.bbclass
+++ /dev/null
@@ -1,2 +0,0 @@
-DEPENDS:prepend = "pkgconfig-native "
-
diff --git a/poky/meta/classes/prexport.bbclass b/poky/meta/classes/prexport.bbclass
index 6dcf99e29f..e5098e3308 100644
--- a/poky/meta/classes/prexport.bbclass
+++ b/poky/meta/classes/prexport.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PRSERV_DUMPOPT_VERSION = "${PRAUTOINX}"
PRSERV_DUMPOPT_PKGARCH = ""
PRSERV_DUMPOPT_CHECKSUM = ""
diff --git a/poky/meta/classes/primport.bbclass b/poky/meta/classes/primport.bbclass
index 8ed45f03f0..00924174c1 100644
--- a/poky/meta/classes/primport.bbclass
+++ b/poky/meta/classes/primport.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
python primport_handler () {
import bb.event
if not e.data:
diff --git a/poky/meta/classes/recipe_sanity.bbclass b/poky/meta/classes/recipe_sanity.bbclass
index 7fa4a849ea..1c2e24c6a1 100644
--- a/poky/meta/classes/recipe_sanity.bbclass
+++ b/poky/meta/classes/recipe_sanity.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def __note(msg, d):
bb.note("%s: recipe_sanity: %s" % (d.getVar("P"), msg))
diff --git a/poky/meta/classes/relative_symlinks.bbclass b/poky/meta/classes/relative_symlinks.bbclass
index 3157737347..9ee20e0d09 100644
--- a/poky/meta/classes/relative_symlinks.bbclass
+++ b/poky/meta/classes/relative_symlinks.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
do_install[postfuncs] += "install_relative_symlinks"
python install_relative_symlinks () {
diff --git a/poky/meta/classes/relocatable.bbclass b/poky/meta/classes/relocatable.bbclass
index af04be5cca..d0a623fb0a 100644
--- a/poky/meta/classes/relocatable.bbclass
+++ b/poky/meta/classes/relocatable.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit chrpath
SYSROOT_PREPROCESS_FUNCS += "relocatable_binaries_preprocess relocatable_native_pcfiles"
diff --git a/poky/meta/classes/remove-libtool.bbclass b/poky/meta/classes/remove-libtool.bbclass
index 3fd0cd58f9..8e987388c8 100644
--- a/poky/meta/classes/remove-libtool.bbclass
+++ b/poky/meta/classes/remove-libtool.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class removes libtool .la files after do_install
REMOVE_LIBTOOL_LA ?= "1"
diff --git a/poky/meta/classes/report-error.bbclass b/poky/meta/classes/report-error.bbclass
index 6866d47370..2f692fbbcc 100644
--- a/poky/meta/classes/report-error.bbclass
+++ b/poky/meta/classes/report-error.bbclass
@@ -4,7 +4,8 @@
# Copyright (C) 2013 Intel Corporation
# Author: Andreea Brandusa Proca <andreea.b.proca@intel.com>
#
-# Licensed under the MIT license, see COPYING.MIT for details
+# SPDX-License-Identifier: MIT
+#
ERR_REPORT_DIR ?= "${LOG_DIR}/error-report"
diff --git a/poky/meta/classes/rm_work.bbclass b/poky/meta/classes/rm_work.bbclass
index 5f12d5aaeb..c493efff2f 100644
--- a/poky/meta/classes/rm_work.bbclass
+++ b/poky/meta/classes/rm_work.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Removes source after build
#
# To use it add that line to conf/local.conf:
diff --git a/poky/meta/classes/rm_work_and_downloads.bbclass b/poky/meta/classes/rm_work_and_downloads.bbclass
index 15e6091b9d..2695a3807f 100644
--- a/poky/meta/classes/rm_work_and_downloads.bbclass
+++ b/poky/meta/classes/rm_work_and_downloads.bbclass
@@ -1,8 +1,7 @@
# Author: Patrick Ohly <patrick.ohly@intel.com>
# Copyright: Copyright (C) 2015 Intel Corporation
#
-# This file is licensed under the MIT license, see COPYING.MIT in
-# this source distribution for the terms.
+# SPDX-License-Identifier: MIT
# This class is used like rm_work:
# INHERIT += "rm_work_and_downloads"
diff --git a/poky/meta/classes/sign_ipk.bbclass b/poky/meta/classes/sign_ipk.bbclass
index e5057b7799..51c24b38b2 100644
--- a/poky/meta/classes/sign_ipk.bbclass
+++ b/poky/meta/classes/sign_ipk.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for generating signed IPK packages.
#
# Configuration variables used by this class:
diff --git a/poky/meta/classes/sign_package_feed.bbclass b/poky/meta/classes/sign_package_feed.bbclass
index f1504c2225..e9d664750c 100644
--- a/poky/meta/classes/sign_package_feed.bbclass
+++ b/poky/meta/classes/sign_package_feed.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for signing package feeds
#
# Related configuration variables that will be used after this class is
diff --git a/poky/meta/classes/sign_rpm.bbclass b/poky/meta/classes/sign_rpm.bbclass
index 73a55a512d..ee0c4808fa 100644
--- a/poky/meta/classes/sign_rpm.bbclass
+++ b/poky/meta/classes/sign_rpm.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for generating signed RPM packages.
#
# Configuration variables used by this class:
diff --git a/poky/meta/classes/siteconfig.bbclass b/poky/meta/classes/siteconfig.bbclass
index 0cfa5a6834..953cafd285 100644
--- a/poky/meta/classes/siteconfig.bbclass
+++ b/poky/meta/classes/siteconfig.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
python siteconfig_do_siteconfig () {
shared_state = sstate_state_fromvars(d)
if shared_state['task'] != 'populate_sysroot':
diff --git a/poky/meta/classes/terminal.bbclass b/poky/meta/classes/terminal.bbclass
index a564ee7494..2dfc7db255 100644
--- a/poky/meta/classes/terminal.bbclass
+++ b/poky/meta/classes/terminal.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
OE_TERMINAL ?= 'auto'
OE_TERMINAL[type] = 'choice'
OE_TERMINAL[choices] = 'auto none \
diff --git a/poky/meta/classes/testexport.bbclass b/poky/meta/classes/testexport.bbclass
index 1b0fb44a4a..f7c5242dc5 100644
--- a/poky/meta/classes/testexport.bbclass
+++ b/poky/meta/classes/testexport.bbclass
@@ -1,7 +1,6 @@
# Copyright (C) 2016 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
-#
+# SPDX-License-Identifier: MIT
#
# testexport.bbclass allows to execute runtime test outside OE environment.
# Most of the tests are commands run on target image over ssh.
@@ -23,10 +22,9 @@ TEST_TARGET ?= "simpleremote"
TEST_TARGET_IP ?= ""
TEST_SERVER_IP ?= ""
-TEST_EXPORT_SDK_PACKAGES ?= ""
+require conf/testexport.conf
+
TEST_EXPORT_SDK_ENABLED ?= "0"
-TEST_EXPORT_SDK_NAME ?= "testexport-tools-nativesdk"
-TEST_EXPORT_SDK_DIR ?= "sdk"
TEST_EXPORT_DEPENDS = ""
TEST_EXPORT_DEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'cpio-native:do_populate_sysroot', '', d)}"
@@ -179,4 +177,4 @@ def testexport_create_tarball(d, tar_name, src_dir):
tar.close()
os.chdir(current_dir)
-inherit testimage
+IMAGE_CLASSES += "testimage"
diff --git a/poky/meta/classes/toaster.bbclass b/poky/meta/classes/toaster.bbclass
index f365c09142..03c4f3a930 100644
--- a/poky/meta/classes/toaster.bbclass
+++ b/poky/meta/classes/toaster.bbclass
@@ -3,7 +3,7 @@
#
# Copyright (C) 2013 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
#
# This bbclass is designed to extract data used by OE-Core during the build process,
# for recording in the Toaster system.
diff --git a/poky/meta/classes/typecheck.bbclass b/poky/meta/classes/typecheck.bbclass
index 72da932232..160f7a024b 100644
--- a/poky/meta/classes/typecheck.bbclass
+++ b/poky/meta/classes/typecheck.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Check types of bitbake configuration variables
#
# See oe.types for details.
diff --git a/poky/meta/classes/useradd-staticids.bbclass b/poky/meta/classes/useradd-staticids.bbclass
index 3acf59cd46..abe484eb46 100644
--- a/poky/meta/classes/useradd-staticids.bbclass
+++ b/poky/meta/classes/useradd-staticids.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# In order to support a deterministic set of 'dynamic' users/groups,
# we need a function to reformat the params based on a static file
def update_useradd_static_config(d):
diff --git a/poky/meta/classes/useradd.bbclass b/poky/meta/classes/useradd.bbclass
index 20771a0ce5..4d3bd9a5f5 100644
--- a/poky/meta/classes/useradd.bbclass
+++ b/poky/meta/classes/useradd.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit useradd_base
# base-passwd-cross provides the default passwd and group files in the
diff --git a/poky/meta/classes/useradd_base.bbclass b/poky/meta/classes/useradd_base.bbclass
index 7f5b9b7219..863cb7b76c 100644
--- a/poky/meta/classes/useradd_base.bbclass
+++ b/poky/meta/classes/useradd_base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This bbclass provides basic functionality for user/group settings.
# This bbclass is intended to be inherited by useradd.bbclass and
# extrausers.bbclass.
diff --git a/poky/meta/classes/yocto-check-layer.bbclass b/poky/meta/classes/yocto-check-layer.bbclass
index 329d3f8edb..404f5fd9f2 100644
--- a/poky/meta/classes/yocto-check-layer.bbclass
+++ b/poky/meta/classes/yocto-check-layer.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class is used by yocto-check-layer script for additional per-recipe tests
# The first test ensures that the layer has no recipes skipping 'installed-vs-shipped' QA checks
#
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 1d36aae8b3..52a36d788b 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -645,10 +645,13 @@ EXTRA_OEMAKE:prepend:task-install = "${PARALLEL_MAKEINST} "
# Optimization flags.
##################################################################
# Beware: applied last to first
-DEBUG_PREFIX_MAP ?= "-fmacro-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
- -fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
- -fdebug-prefix-map=${STAGING_DIR_HOST}= \
- -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
+DEBUG_PREFIX_MAP ?= "-fmacro-prefix-map=${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+ -fdebug-prefix-map=${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+ -fmacro-prefix-map=${B}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+ -fdebug-prefix-map=${B}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+ -fdebug-prefix-map=${STAGING_DIR_HOST}= \
+ -fmacro-prefix-map=${STAGING_DIR_HOST}= \
+ -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
"
DEBUG_FLAGS ?= "-g -feliminate-unused-debug-types ${DEBUG_PREFIX_MAP}"
@@ -925,7 +928,7 @@ SHELL[unexport] = "1"
TRANSLATED_TARGET_ARCH ??= "${@d.getVar('TARGET_ARCH').replace("_", "-")}"
# Set a default umask to use for tasks for determinism
-BB_DEFAULT_UMASK = "022"
+BB_DEFAULT_UMASK ??= "022"
# Complete output from bitbake
BB_CONSOLELOG ?= "${LOG_DIR}/cooker/${MACHINE}/${DATETIME}.log"
@@ -943,7 +946,7 @@ BB_HASHEXCLUDE_COMMON ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH BBSERVER DL_DI
SSTATE_HASHEQUIV_OWNER CCACHE_TOP_DIR BB_HASHSERVE GIT_CEILING_DIRECTORIES \
OMP_NUM_THREADS BB_CURRENTTASK"
BB_BASEHASH_IGNORE_VARS ?= "${BB_HASHEXCLUDE_COMMON} PSEUDO_IGNORE_PATHS BUILDHISTORY_DIR \
- SSTATE_DIR SOURCE_DATE_EPOCH"
+ SSTATE_DIR SOURCE_DATE_EPOCH RUST_BUILD_SYS RUST_HOST_SYS RUST_TARGET_SYS"
BB_HASHCONFIG_IGNORE_VARS ?= "${BB_HASHEXCLUDE_COMMON} DATE TIME SSH_AGENT_PID \
SSH_AUTH_SOCK PSEUDO_BUILD BB_ENV_PASSTHROUGH_ADDITIONS DISABLE_SANITY_CHECKS \
PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED \
diff --git a/poky/meta/conf/distro/include/default-distrovars.inc b/poky/meta/conf/distro/include/default-distrovars.inc
index 230bab84dd..abf48f79f0 100644
--- a/poky/meta/conf/distro/include/default-distrovars.inc
+++ b/poky/meta/conf/distro/include/default-distrovars.inc
@@ -19,7 +19,7 @@ DISTRO_FEATURES_DEFAULT:remove:arc = "seccomp"
# seccomp is not yet ported to microblaze
DISTRO_FEATURES_DEFAULT:remove:microblaze = "seccomp"
-DISTRO_FEATURES_DEFAULT ?= "acl alsa bluetooth debuginfod ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat seccomp"
+DISTRO_FEATURES_DEFAULT ?= "acl alsa bluetooth debuginfod ext2 ipv4 ipv6 pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat seccomp"
DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT}"
IMAGE_FEATURES ?= ""
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index e20275c674..3c80a3a617 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -90,7 +90,6 @@ RECIPE_MAINTAINER:pn-bzip2 = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER:pn-ca-certificates = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-cairo = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-cargo = "Randy MacLeod <Randy.MacLeod@windriver.com>"
-RECIPE_MAINTAINER:pn-cargo-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-cantarell-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-ccache = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER:pn-cdrtools-native = "Yi Zhao <yi.zhao@windriver.com>"
@@ -189,7 +188,7 @@ RECIPE_MAINTAINER:pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <r
RECIPE_MAINTAINER:pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER:pn-gcc-source-12.1.0 = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gcc-source-12.2.0 = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@gmail.com>"
@@ -545,10 +544,10 @@ RECIPE_MAINTAINER:pn-ofono = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-opensbi = "Alistair Francis <alistair.francis@wdc.com>"
RECIPE_MAINTAINER:pn-openssh = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-openssl = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER:pn-opkg = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
-RECIPE_MAINTAINER:pn-opkg-arch-config = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
-RECIPE_MAINTAINER:pn-opkg-keyrings = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
-RECIPE_MAINTAINER:pn-opkg-utils = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
+RECIPE_MAINTAINER:pn-opkg = "Alex Stewart <alex.stewart@ni.com>"
+RECIPE_MAINTAINER:pn-opkg-arch-config = "Alex Stewart <alex.stewart@ni.com>"
+RECIPE_MAINTAINER:pn-opkg-keyrings = "Alex Stewart <alex.stewart@ni.com>"
+RECIPE_MAINTAINER:pn-opkg-utils = "Alex Stewart <alex.stewart@ni.com>"
RECIPE_MAINTAINER:pn-orc = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-os-release = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-ovmf = "Ricardo Neri <ricardo.neri-calderon@linux.intel.com>"
@@ -718,12 +717,9 @@ RECIPE_MAINTAINER:pn-rt-tests = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-ruby = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-run-postinsts = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-rust = "Randy MacLeod <Randy.MacLeod@windriver.com>"
-RECIPE_MAINTAINER:pn-rust-cross-${TUNE_PKGARCH}-${TCLIBC} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
-RECIPE_MAINTAINER:pn-rust-crosssdk-${SDK_ARCH}-glibc = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-rust-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-rust-hello-world = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-rust-llvm = "Randy MacLeod <Randy.MacLeod@windriver.com>"
-RECIPE_MAINTAINER:pn-rust-tools-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-rxvt-unicode = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-sato-screenshot = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-sato-icon-theme = "Richard Purdie <richard.purdie@linuxfoundation.org>"
diff --git a/poky/meta/conf/distro/include/no-static-libs.inc b/poky/meta/conf/distro/include/no-static-libs.inc
index ee67383460..75359928a1 100644
--- a/poky/meta/conf/distro/include/no-static-libs.inc
+++ b/poky/meta/conf/distro/include/no-static-libs.inc
@@ -18,6 +18,8 @@ DISABLE_STATIC:pn-nativesdk-openssl = ""
DISABLE_STATIC:pn-gcc-runtime = ""
# libusb1-native is used to build static dfu-util-native
DISABLE_STATIC:pn-libusb1-native = ""
+# needed by rust
+DISABLE_STATIC:pn-musl = ""
EXTRA_OECONF:append = "${DISABLE_STATIC}"
diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc
index 6c4339e3e1..56088e4e66 100644
--- a/poky/meta/conf/distro/include/ptest-packagelists.inc
+++ b/poky/meta/conf/distro/include/ptest-packagelists.inc
@@ -22,6 +22,7 @@ PTESTS_FAST = "\
gettext-ptest \
glib-networking-ptest \
gzip-ptest \
+ json-c-ptest \
json-glib-ptest \
libconvert-asn1-perl-ptest \
liberror-perl-ptest \
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index 4477689157..9abd121e3a 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -18,16 +18,16 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
GCCVERSION ?= "12.%"
SDKGCCVERSION ?= "${GCCVERSION}"
-BINUVERSION ?= "2.38%"
+BINUVERSION ?= "2.39%"
GDBVERSION ?= "12.%"
-GLIBCVERSION ?= "2.35"
-LINUXLIBCVERSION ?= "5.16%"
+GLIBCVERSION ?= "2.36"
+LINUXLIBCVERSION ?= "5.19%"
QEMUVERSION ?= "7.0%"
-GOVERSION ?= "1.18%"
+GOVERSION ?= "1.19%"
# This can not use wildcards like 8.0.% since it is also used in mesa to denote
# llvm version being used, so always bump it with llvm recipe version bump
LLVMVERSION ?= "14.0.6"
-RUSTVERSION ?= "1.62%"
+RUSTVERSION ?= "1.63%"
PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"
diff --git a/poky/meta/conf/distro/include/yocto-uninative.inc b/poky/meta/conf/distro/include/yocto-uninative.inc
index 411fe45a24..7012db441b 100644
--- a/poky/meta/conf/distro/include/yocto-uninative.inc
+++ b/poky/meta/conf/distro/include/yocto-uninative.inc
@@ -6,10 +6,10 @@
# to the distro running on the build machine.
#
-UNINATIVE_MAXGLIBCVERSION = "2.35"
-UNINATIVE_VERSION = "3.6"
+UNINATIVE_MAXGLIBCVERSION = "2.36"
+UNINATIVE_VERSION = "3.7"
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/"
-UNINATIVE_CHECKSUM[aarch64] ?= "d64831cf2792c8e470c2e42230660e1a8e5de56a579cdd59978791f663c2f3ed"
-UNINATIVE_CHECKSUM[i686] ?= "2f0ee9b66b1bb2c85e2b592fb3c9c7f5d77399fa638d74961330cdb8de34ca3b"
-UNINATIVE_CHECKSUM[x86_64] ?= "9bfc4c970495b3716b2f9e52c4df9f968c02463a9a95000f6657fbc3fde1f098"
+UNINATIVE_CHECKSUM[aarch64] ?= "6a29bcae4b5b716d2d520e18800b33943b65f8a835eac1ff8793fc5ee65b4be6"
+UNINATIVE_CHECKSUM[i686] ?= "3f6d52e64996570c716108d49f8108baccf499a283bbefae438c7266b7a93305"
+UNINATIVE_CHECKSUM[x86_64] ?= "b110bf2e10fe420f5ca2f3ec55f048ee5f0a54c7e34856a3594e51eb2aea0570"
diff --git a/poky/meta/conf/machine/include/x86/x86-base.inc b/poky/meta/conf/machine/include/x86/x86-base.inc
index b70924f7d9..4052eacdb5 100644
--- a/poky/meta/conf/machine/include/x86/x86-base.inc
+++ b/poky/meta/conf/machine/include/x86/x86-base.inc
@@ -18,7 +18,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
# kernel-related variables
#
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ??= "5.15%"
+PREFERRED_VERSION_linux-yocto ??= "5.19%"
#
# XSERVER subcomponents, used to build the XSERVER variable
diff --git a/poky/meta/conf/machine/qemuarmv5.conf b/poky/meta/conf/machine/qemuarmv5.conf
index abdae5f361..fe6c0117a8 100644
--- a/poky/meta/conf/machine/qemuarmv5.conf
+++ b/poky/meta/conf/machine/qemuarmv5.conf
@@ -17,5 +17,5 @@ QB_GRAPHICS = "-device virtio-gpu-pci"
QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
-PREFERRED_VERSION_linux-yocto ??= "5.15%"
+PREFERRED_VERSION_linux-yocto ??= "5.19%"
KMACHINE:qemuarmv5 = "arm-versatile-926ejs"
diff --git a/poky/meta/conf/machine/qemux86-64.conf b/poky/meta/conf/machine/qemux86-64.conf
index 901353499c..8640867911 100644
--- a/poky/meta/conf/machine/qemux86-64.conf
+++ b/poky/meta/conf/machine/qemux86-64.conf
@@ -10,7 +10,7 @@ PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa"
require conf/machine/include/qemu.inc
DEFAULTTUNE ?= "core2-64"
-require conf/machine/include/x86/tune-core2.inc
+require conf/machine/include/x86/tune-corei7.inc
require conf/machine/include/x86/qemuboot-x86.inc
UBOOT_MACHINE ?= "qemu-x86_64_defconfig"
diff --git a/poky/meta/conf/testexport.conf b/poky/meta/conf/testexport.conf
new file mode 100644
index 0000000000..8880f108fb
--- /dev/null
+++ b/poky/meta/conf/testexport.conf
@@ -0,0 +1,3 @@
+TEST_EXPORT_SDK_PACKAGES ?= ""
+TEST_EXPORT_SDK_DIR ?= "sdk"
+TEST_EXPORT_SDK_NAME ?= "testexport-tools-nativesdk"
diff --git a/poky/meta/files/layers.example.json b/poky/meta/files/layers.example.json
new file mode 100644
index 0000000000..0a6a6a7b48
--- /dev/null
+++ b/poky/meta/files/layers.example.json
@@ -0,0 +1,48 @@
+{
+ "sources": {
+ "meta-alex": {
+ "contains_this_file": true,
+ "git-remote": {
+ "branch": "master",
+ "describe": "",
+ "remotes": {
+ "remote-alex": {
+ "uri": "https://github.com/kanavin/meta-alex"
+ }
+ },
+ "rev": "05b25605fb8b2399e4706d7323828676bf0da0b5"
+ },
+ "path": "meta-alex"
+ },
+ "meta-intel": {
+ "git-remote": {
+ "branch": "master",
+ "describe": "15.0-hardknott-3.3-310-g0a96edae",
+ "remotes": {
+ "origin": {
+ "uri": "git://git.yoctoproject.org/meta-intel"
+ }
+ },
+ "rev": "0a96edae609a3f48befac36af82cf1eed6786b4a"
+ },
+ "path": "meta-intel"
+ },
+ "poky": {
+ "git-remote": {
+ "branch": "akanavin/setup-layers",
+ "describe": "4.1_M1-374-g9dda719b2a",
+ "remotes": {
+ "origin": {
+ "uri": "git://git.yoctoproject.org/poky"
+ },
+ "poky-contrib": {
+ "uri": "ssh://git@push.yoctoproject.org/poky-contrib"
+ }
+ },
+ "rev": "9dda719b2a4727a4d43a6ab8d9e23f8ca68790ec"
+ },
+ "path": "poky"
+ }
+ },
+ "version": "1.0"
+}
diff --git a/poky/meta/files/layers.schema.json b/poky/meta/files/layers.schema.json
new file mode 100644
index 0000000000..659ee8da49
--- /dev/null
+++ b/poky/meta/files/layers.schema.json
@@ -0,0 +1,76 @@
+{
+ "description": "OpenEmbedder Layer Setup Manifest",
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "version"
+ ],
+ "properties": {
+ "version": {
+ "description": "The version of this document; currently '1.0'",
+ "enum": ["1.0"]
+ },
+ "sources": {
+ "description": "The dict of layer sources",
+ "type": "object",
+ "patternProperties": { ".*" : {
+ "type": "object",
+ "description": "The upstream source from which a set of layers may be fetched",
+ "additionalProperties": false,
+ "required": [
+ "path"
+ ],
+ "properties": {
+ "path": {
+ "description": "The path where this layer source will be placed when fetching",
+ "type": "string"
+ },
+ "contains_this_file": {
+ "description": "Whether the directory with the layer source also contains this json description. Tools may want to skip the checkout of the source then.",
+ "type": "boolean"
+ },
+ "git-remote": {
+ "description": "A remote git source from which to fetch",
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "rev"
+ ],
+ "properties": {
+ "branch": {
+ "description": "The git branch to fetch (optional)",
+ "type": "string"
+ },
+ "rev": {
+ "description": "The git revision to checkout",
+ "type": "string"
+ },
+ "describe": {
+ "description": "The output of 'git describe' (human readable description of the revision using tags in revision history).",
+ "type": "string"
+ },
+ "remotes": {
+ "description": "The dict of git remotes to add to this repository",
+ "type": "object",
+ "patternProperties": { ".*" : {
+ "description": "A git remote",
+ "type": "object",
+ "addtionalProperties": false,
+ "required": [
+ "uri"
+ ],
+ "properties": {
+ "uri": {
+ "description": "The URI for the remote",
+ "type": "string"
+ }
+ }
+ }}
+ }
+ }
+ }
+ }
+ }
+ }}
+ }
+}
diff --git a/poky/meta/lib/bblayers/buildconf.py b/poky/meta/lib/bblayers/buildconf.py
new file mode 100644
index 0000000000..e07fc534e1
--- /dev/null
+++ b/poky/meta/lib/bblayers/buildconf.py
@@ -0,0 +1,85 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import logging
+import os
+import stat
+import sys
+import shutil
+import json
+
+import bb.utils
+import bb.process
+
+from bblayers.common import LayerPlugin
+
+logger = logging.getLogger('bitbake-layers')
+
+sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
+
+import oe.buildcfg
+
+def plugin_init(plugins):
+ return BuildConfPlugin()
+
+class BuildConfPlugin(LayerPlugin):
+ notes_fixme = """FIXME: Please place here the description of this build configuration.
+It will be shown to the users when they set up their builds via TEMPLATECONF.
+"""
+
+ def _save_conf(self, templatename, templatepath, oecorepath, relpaths_to_oecore):
+ confdir = os.path.join(os.environ["BBPATH"], "conf")
+ destdir = os.path.join(templatepath, "conf", "templates", templatename)
+ os.makedirs(destdir, exist_ok=True)
+
+ with open(os.path.join(confdir, "local.conf")) as src:
+ with open(os.path.join(destdir, "local.conf.sample"), 'w') as dest:
+ dest.write(src.read())
+
+ with open(os.path.join(confdir, "bblayers.conf")) as src:
+ with open(os.path.join(destdir, "bblayers.conf.sample"), 'w') as dest:
+ bblayers_data = src.read()
+
+ for (abspath, relpath) in relpaths_to_oecore:
+ bblayers_data = bblayers_data.replace(abspath, "##OEROOT##/" + relpath)
+ dest.write(bblayers_data)
+
+ with open(os.path.join(destdir, "conf-notes.txt"), 'w') as dest:
+ dest.write(self.notes_fixme)
+
+ logger.info("""Configuration template placed into {}
+Please review the files in there, and particularly provide a configuration description in {}
+You can try out the configuration with
+TEMPLATECONF={} . {}/oe-init-build-env build-try-{}"""
+.format(destdir, os.path.join(destdir, "conf-notes.txt"), destdir, oecorepath, templatename))
+
+ def do_save_build_conf(self, args):
+ """ Save the currently active build configuration (conf/local.conf, conf/bblayers.conf) as a template into a layer.\n This template can later be used for setting up builds via TEMPLATECONF. """
+ repos = {}
+ layers = oe.buildcfg.get_layer_revisions(self.tinfoil.config_data)
+ targetlayer = None
+ oecore = None
+
+ for l in layers:
+ if l[0] == os.path.abspath(args.layerpath):
+ targetlayer = l[0]
+ if l[1] == 'meta':
+ oecore = os.path.dirname(l[0])
+
+ if not targetlayer:
+ logger.error("Layer {} not in one of the currently enabled layers:\n{}".format(args.layerpath, "\n".join([l[0] for l in layers])))
+ elif not oecore:
+ logger.error("Openembedded-core not in one of the currently enabled layers:\n{}".format("\n".join([l[0] for l in layers])))
+ else:
+ relpaths_to_oecore = [(l[0], os.path.relpath(l[0], start=oecore)) for l in layers]
+ self._save_conf(args.templatename, targetlayer, oecore, relpaths_to_oecore)
+
+ def register_commands(self, sp):
+ parser_build_conf = self.add_command(sp, 'save-build-conf', self.do_save_build_conf, parserecipes=False)
+ parser_build_conf.add_argument('layerpath',
+ help='The path to the layer where the configuration template should be saved.')
+ parser_build_conf.add_argument('templatename',
+ help='The name of the configuration template.')
diff --git a/poky/meta/lib/bblayers/create.py b/poky/meta/lib/bblayers/create.py
index 7ddb777dc7..0aeb5d5f7b 100644
--- a/poky/meta/lib/bblayers/create.py
+++ b/poky/meta/lib/bblayers/create.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/bblayers/makesetup.py b/poky/meta/lib/bblayers/makesetup.py
new file mode 100644
index 0000000000..22f89d81a4
--- /dev/null
+++ b/poky/meta/lib/bblayers/makesetup.py
@@ -0,0 +1,107 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import logging
+import os
+import stat
+import sys
+import shutil
+
+import bb.utils
+import bb.process
+
+from bblayers.common import LayerPlugin
+
+logger = logging.getLogger('bitbake-layers')
+
+sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
+
+import oe.buildcfg
+
+def plugin_init(plugins):
+ return MakeSetupPlugin()
+
+class MakeSetupPlugin(LayerPlugin):
+
+ def _get_repo_path(self, layer_path):
+ repo_path, _ = bb.process.run('git rev-parse --show-toplevel', cwd=layer_path)
+ return repo_path.strip()
+
+ def _get_remotes(self, repo_path):
+ remotes = {}
+ remotes_list,_ = bb.process.run('git remote', cwd=repo_path)
+ for r in remotes_list.split():
+ uri,_ = bb.process.run('git remote get-url {r}'.format(r=r), cwd=repo_path)
+ remotes[r] = {'uri':uri.strip()}
+ return remotes
+
+ def _get_describe(self, repo_path):
+ try:
+ describe,_ = bb.process.run('git describe --tags', cwd=repo_path)
+ except bb.process.ExecutionError:
+ return ""
+ return describe.strip()
+
+ def make_repo_config(self, destdir):
+ """ This is a helper function for the writer plugins that discovers currently confugured layers.
+ The writers do not have to use it, but it can save a bit of work and avoid duplicated code, hence it is
+ available here. """
+ repos = {}
+ layers = oe.buildcfg.get_layer_revisions(self.tinfoil.config_data)
+ try:
+ destdir_repo = self._get_repo_path(destdir)
+ except bb.process.ExecutionError:
+ destdir_repo = None
+
+ for (l_path, l_name, l_branch, l_rev, l_ismodified) in layers:
+ if l_name == 'workspace':
+ continue
+ if l_ismodified:
+ logger.error("Layer {name} in {path} has uncommitted modifications or is not in a git repository.".format(name=l_name,path=l_path))
+ return
+ repo_path = self._get_repo_path(l_path)
+ if repo_path not in repos.keys():
+ repos[repo_path] = {'path':os.path.basename(repo_path),'git-remote':{'rev':l_rev, 'branch':l_branch, 'remotes':self._get_remotes(repo_path), 'describe':self._get_describe(repo_path)}}
+ if repo_path == destdir_repo:
+ repos[repo_path]['contains_this_file'] = True
+ if not repos[repo_path]['git-remote']['remotes'] and not repos[repo_path]['contains_this_file']:
+ logger.error("Layer repository in {path} does not have any remotes configured. Please add at least one with 'git remote add'.".format(path=repo_path))
+ return
+
+ top_path = os.path.commonpath([os.path.dirname(r) for r in repos.keys()])
+
+ repos_nopaths = {}
+ for r in repos.keys():
+ r_nopath = os.path.basename(r)
+ repos_nopaths[r_nopath] = repos[r]
+ r_relpath = os.path.relpath(r, top_path)
+ repos_nopaths[r_nopath]['path'] = r_relpath
+ return repos_nopaths
+
+ def do_make_setup(self, args):
+ """ Writes out a configuration file and/or a script that replicate the directory structure and revisions of the layers in a current build. """
+ for p in self.plugins:
+ if str(p) == args.writer:
+ p.do_write(self, args)
+
+ def register_commands(self, sp):
+ parser_setup_layers = self.add_command(sp, 'create-layers-setup', self.do_make_setup, parserecipes=False)
+ parser_setup_layers.add_argument('destdir',
+ help='Directory where to write the output\n(if it is inside one of the layers, the layer becomes a bootstrap repository and thus will be excluded from fetching).')
+ parser_setup_layers.add_argument('--output-prefix', '-o',
+ help='File name prefix for the output files, if the default (setup-layers) is undesirable.')
+
+ self.plugins = []
+
+ for path in (self.tinfoil.config_data.getVar('BBPATH').split(':')):
+ pluginpath = os.path.join(path, 'lib', 'bblayers', 'setupwriters')
+ bb.utils.load_plugins(logger, self.plugins, pluginpath)
+
+ parser_setup_layers.add_argument('--writer', '-w', choices=[str(p) for p in self.plugins], help="Choose the output format (defaults to oe-setup-layers).\n\nCurrently supported options are:\noe-setup-layers - a self-contained python script and a json config for it.\n\n", default="oe-setup-layers")
+
+ for plugin in self.plugins:
+ if hasattr(plugin, 'register_arguments'):
+ plugin.register_arguments(parser_setup_layers)
diff --git a/poky/meta/lib/bblayers/setupwriters/oe-setup-layers.py b/poky/meta/lib/bblayers/setupwriters/oe-setup-layers.py
new file mode 100644
index 0000000000..f6a484b766
--- /dev/null
+++ b/poky/meta/lib/bblayers/setupwriters/oe-setup-layers.py
@@ -0,0 +1,50 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import logging
+import os
+import json
+import stat
+
+logger = logging.getLogger('bitbake-layers')
+
+def plugin_init(plugins):
+ return OeSetupLayersWriter()
+
+class OeSetupLayersWriter():
+
+ def __str__(self):
+ return "oe-setup-layers"
+
+ def _write_python(self, input, output):
+ with open(input) as f:
+ script = f.read()
+ with open(output, 'w') as f:
+ f.write(script)
+ st = os.stat(output)
+ os.chmod(output, st.st_mode | stat.S_IEXEC | stat.S_IXGRP | stat.S_IXOTH)
+
+ def _write_json(self, repos, output):
+ with open(output, 'w') as f:
+ json.dump(repos, f, sort_keys=True, indent=4)
+
+ def do_write(self, parent, args):
+ """ Writes out a python script and a json config that replicate the directory structure and revisions of the layers in a current build. """
+ repos = parent.make_repo_config(args.destdir)
+ json = {"version":"1.0","sources":repos}
+ if not repos:
+ raise Exception("Could not determine layer sources")
+ output = args.output_prefix or "setup-layers"
+ output = os.path.join(os.path.abspath(args.destdir),output)
+ self._write_json(json, output + ".json")
+ logger.info('Created {}.json'.format(output))
+ if not args.json_only:
+ self._write_python(os.path.join(os.path.dirname(__file__),'../../../../scripts/oe-setup-layers'), output)
+ logger.info('Created {}'.format(output))
+
+ def register_arguments(self, parser):
+ parser.add_argument('--json-only', action='store_true',
+ help='When using the oe-setup-layers writer, write only the layer configuruation in json format. Otherwise, also a copy of scripts/oe-setup-layers (from oe-core or poky) is provided, which is a self contained python script that fetches all the needed layers and sets them to correct revisions using the data from the json.')
diff --git a/poky/meta/lib/buildstats.py b/poky/meta/lib/buildstats.py
index 99a8303d5e..1ffe679801 100644
--- a/poky/meta/lib/buildstats.py
+++ b/poky/meta/lib/buildstats.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Implements system state sampling. Called by buildstats.bbclass.
diff --git a/poky/meta/lib/oe/__init__.py b/poky/meta/lib/oe/__init__.py
index 4e7c09da04..92f002d872 100644
--- a/poky/meta/lib/oe/__init__.py
+++ b/poky/meta/lib/oe/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/cachedpath.py b/poky/meta/lib/oe/cachedpath.py
index 254257a83f..0138b791d4 100644
--- a/poky/meta/lib/oe/cachedpath.py
+++ b/poky/meta/lib/oe/cachedpath.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Based on standard python library functions but avoid
diff --git a/poky/meta/lib/oe/classextend.py b/poky/meta/lib/oe/classextend.py
index e08d788b75..2013b29711 100644
--- a/poky/meta/lib/oe/classextend.py
+++ b/poky/meta/lib/oe/classextend.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/classutils.py b/poky/meta/lib/oe/classutils.py
index 08bb66b365..ec3f6ad720 100644
--- a/poky/meta/lib/oe/classutils.py
+++ b/poky/meta/lib/oe/classutils.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/copy_buildsystem.py b/poky/meta/lib/oe/copy_buildsystem.py
index 79642fd76a..a0d829054e 100644
--- a/poky/meta/lib/oe/copy_buildsystem.py
+++ b/poky/meta/lib/oe/copy_buildsystem.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# This class should provide easy access to the different aspects of the
diff --git a/poky/meta/lib/oe/cve_check.py b/poky/meta/lib/oe/cve_check.py
index aa06497727..4f1d80f050 100644
--- a/poky/meta/lib/oe/cve_check.py
+++ b/poky/meta/lib/oe/cve_check.py
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
import collections
import re
import itertools
@@ -143,7 +149,7 @@ def get_cpe_ids(cve_product, version):
else:
vendor = "*"
- cpe_id = f'cpe:2.3:a:{vendor}:{product}:{version}:*:*:*:*:*:*:*'
+ cpe_id = 'cpe:2.3:a:{}:{}:{}:*:*:*:*:*:*:*'.format(vendor, product, version)
cpe_ids.append(cpe_id)
return cpe_ids
diff --git a/poky/meta/lib/oe/data.py b/poky/meta/lib/oe/data.py
index 602130a904..37121cfad2 100644
--- a/poky/meta/lib/oe/data.py
+++ b/poky/meta/lib/oe/data.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/distro_check.py b/poky/meta/lib/oe/distro_check.py
index 4b2a9bec01..3494520f40 100644
--- a/poky/meta/lib/oe/distro_check.py
+++ b/poky/meta/lib/oe/distro_check.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/elf.py b/poky/meta/lib/oe/elf.py
index 46c884a775..fb07995b3e 100644
--- a/poky/meta/lib/oe/elf.py
+++ b/poky/meta/lib/oe/elf.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/gpg_sign.py b/poky/meta/lib/oe/gpg_sign.py
index aa9bb49f2c..613dab8561 100644
--- a/poky/meta/lib/oe/gpg_sign.py
+++ b/poky/meta/lib/oe/gpg_sign.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/license.py b/poky/meta/lib/oe/license.py
index 99cfa5f733..d9c8d94da4 100644
--- a/poky/meta/lib/oe/license.py
+++ b/poky/meta/lib/oe/license.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
"""Code for parsing OpenEmbedded license strings"""
diff --git a/poky/meta/lib/oe/lsb.py b/poky/meta/lib/oe/lsb.py
index 43e46380d7..3ec03e5042 100644
--- a/poky/meta/lib/oe/lsb.py
+++ b/poky/meta/lib/oe/lsb.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/maketype.py b/poky/meta/lib/oe/maketype.py
index d36082c535..7a83bdf602 100644
--- a/poky/meta/lib/oe/maketype.py
+++ b/poky/meta/lib/oe/maketype.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
"""OpenEmbedded variable typing support
diff --git a/poky/meta/lib/oe/manifest.py b/poky/meta/lib/oe/manifest.py
index 1a058dcd73..61f18adc4a 100644
--- a/poky/meta/lib/oe/manifest.py
+++ b/poky/meta/lib/oe/manifest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/npm_registry.py b/poky/meta/lib/oe/npm_registry.py
index 96c0affb45..db581e280e 100644
--- a/poky/meta/lib/oe/npm_registry.py
+++ b/poky/meta/lib/oe/npm_registry.py
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
import bb
import json
import subprocess
diff --git a/poky/meta/lib/oe/overlayfs.py b/poky/meta/lib/oe/overlayfs.py
index b5d5e88e80..8d7a047125 100644
--- a/poky/meta/lib/oe/overlayfs.py
+++ b/poky/meta/lib/oe/overlayfs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# This file contains common functions for overlayfs and its QA check
diff --git a/poky/meta/lib/oe/package.py b/poky/meta/lib/oe/package.py
index 7d387ee81d..4aa40d70ee 100644
--- a/poky/meta/lib/oe/package.py
+++ b/poky/meta/lib/oe/package.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/package_manager/__init__.py b/poky/meta/lib/oe/package_manager/__init__.py
index d3b45705ec..a6bf2fe219 100644
--- a/poky/meta/lib/oe/package_manager/__init__.py
+++ b/poky/meta/lib/oe/package_manager/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/package_manager/deb/__init__.py b/poky/meta/lib/oe/package_manager/deb/__init__.py
index b96ea0bad4..c672454072 100644
--- a/poky/meta/lib/oe/package_manager/deb/__init__.py
+++ b/poky/meta/lib/oe/package_manager/deb/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/package_manager/deb/manifest.py b/poky/meta/lib/oe/package_manager/deb/manifest.py
index d8eab24a06..72983bae98 100644
--- a/poky/meta/lib/oe/package_manager/deb/manifest.py
+++ b/poky/meta/lib/oe/package_manager/deb/manifest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/package_manager/deb/rootfs.py b/poky/meta/lib/oe/package_manager/deb/rootfs.py
index 8fbaca11d6..1e25b64ed9 100644
--- a/poky/meta/lib/oe/package_manager/deb/rootfs.py
+++ b/poky/meta/lib/oe/package_manager/deb/rootfs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/package_manager/deb/sdk.py b/poky/meta/lib/oe/package_manager/deb/sdk.py
index f4b0b6510a..653e42ab3c 100644
--- a/poky/meta/lib/oe/package_manager/deb/sdk.py
+++ b/poky/meta/lib/oe/package_manager/deb/sdk.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/package_manager/ipk/__init__.py b/poky/meta/lib/oe/package_manager/ipk/__init__.py
index 7cbea0fa80..caca522fd6 100644
--- a/poky/meta/lib/oe/package_manager/ipk/__init__.py
+++ b/poky/meta/lib/oe/package_manager/ipk/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/package_manager/ipk/manifest.py b/poky/meta/lib/oe/package_manager/ipk/manifest.py
index ae451c5c70..469e14c3c6 100644
--- a/poky/meta/lib/oe/package_manager/ipk/manifest.py
+++ b/poky/meta/lib/oe/package_manager/ipk/manifest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/package_manager/ipk/rootfs.py b/poky/meta/lib/oe/package_manager/ipk/rootfs.py
index 10a831994e..1f74f7e39a 100644
--- a/poky/meta/lib/oe/package_manager/ipk/rootfs.py
+++ b/poky/meta/lib/oe/package_manager/ipk/rootfs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/package_manager/ipk/sdk.py b/poky/meta/lib/oe/package_manager/ipk/sdk.py
index e2ca415c8e..6a1f167fb7 100644
--- a/poky/meta/lib/oe/package_manager/ipk/sdk.py
+++ b/poky/meta/lib/oe/package_manager/ipk/sdk.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/package_manager/rpm/__init__.py b/poky/meta/lib/oe/package_manager/rpm/__init__.py
index d97dab3293..18ec5c895d 100644
--- a/poky/meta/lib/oe/package_manager/rpm/__init__.py
+++ b/poky/meta/lib/oe/package_manager/rpm/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/package_manager/rpm/manifest.py b/poky/meta/lib/oe/package_manager/rpm/manifest.py
index e6604b301f..6ee7c329f0 100644
--- a/poky/meta/lib/oe/package_manager/rpm/manifest.py
+++ b/poky/meta/lib/oe/package_manager/rpm/manifest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/package_manager/rpm/rootfs.py b/poky/meta/lib/oe/package_manager/rpm/rootfs.py
index 00d07cd9cc..d4c415f68c 100644
--- a/poky/meta/lib/oe/package_manager/rpm/rootfs.py
+++ b/poky/meta/lib/oe/package_manager/rpm/rootfs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/package_manager/rpm/sdk.py b/poky/meta/lib/oe/package_manager/rpm/sdk.py
index c5f232431f..0726a18b91 100644
--- a/poky/meta/lib/oe/package_manager/rpm/sdk.py
+++ b/poky/meta/lib/oe/package_manager/rpm/sdk.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/packagedata.py b/poky/meta/lib/oe/packagedata.py
index 212f048bc6..b2ed8b5a3d 100644
--- a/poky/meta/lib/oe/packagedata.py
+++ b/poky/meta/lib/oe/packagedata.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/packagegroup.py b/poky/meta/lib/oe/packagegroup.py
index 8fcaecde82..7b7594751a 100644
--- a/poky/meta/lib/oe/packagegroup.py
+++ b/poky/meta/lib/oe/packagegroup.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/patch.py b/poky/meta/lib/oe/patch.py
index 4ec9caed45..b2dc8d0a90 100644
--- a/poky/meta/lib/oe/patch.py
+++ b/poky/meta/lib/oe/patch.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/path.py b/poky/meta/lib/oe/path.py
index c8d8ad05b9..0dc8f172d5 100644
--- a/poky/meta/lib/oe/path.py
+++ b/poky/meta/lib/oe/path.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/prservice.py b/poky/meta/lib/oe/prservice.py
index 339f7aebca..2f2a0c128a 100644
--- a/poky/meta/lib/oe/prservice.py
+++ b/poky/meta/lib/oe/prservice.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/qa.py b/poky/meta/lib/oe/qa.py
index 89acd3ead0..b4cbc50045 100644
--- a/poky/meta/lib/oe/qa.py
+++ b/poky/meta/lib/oe/qa.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/reproducible.py b/poky/meta/lib/oe/reproducible.py
index 2e815df190..04a1810d4f 100644
--- a/poky/meta/lib/oe/reproducible.py
+++ b/poky/meta/lib/oe/reproducible.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index 9e6b411fb6..0b9911e3a6 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
from abc import ABCMeta, abstractmethod
diff --git a/poky/meta/lib/oe/rust.py b/poky/meta/lib/oe/rust.py
index ec70b34805..1dc9cf150d 100644
--- a/poky/meta/lib/oe/rust.py
+++ b/poky/meta/lib/oe/rust.py
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Handle mismatches between `uname -m`-style output and Rust's arch names
def arch_to_rust_arch(arch):
if arch == "ppc64le":
diff --git a/poky/meta/lib/oe/sbom.py b/poky/meta/lib/oe/sbom.py
index 52bf51440e..bbf466bbad 100644
--- a/poky/meta/lib/oe/sbom.py
+++ b/poky/meta/lib/oe/sbom.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/sdk.py b/poky/meta/lib/oe/sdk.py
index 27347667e8..81fcf15371 100644
--- a/poky/meta/lib/oe/sdk.py
+++ b/poky/meta/lib/oe/sdk.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/spdx.py b/poky/meta/lib/oe/spdx.py
index 6d56ed90df..c74ea68878 100644
--- a/poky/meta/lib/oe/spdx.py
+++ b/poky/meta/lib/oe/spdx.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py
index de65244932..fad10af539 100644
--- a/poky/meta/lib/oe/sstatesig.py
+++ b/poky/meta/lib/oe/sstatesig.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
import bb.siggen
diff --git a/poky/meta/lib/oe/terminal.py b/poky/meta/lib/oe/terminal.py
index de8dcebf94..71ffc87019 100644
--- a/poky/meta/lib/oe/terminal.py
+++ b/poky/meta/lib/oe/terminal.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
import logging
diff --git a/poky/meta/lib/oe/types.py b/poky/meta/lib/oe/types.py
index bbbabafbf6..b929afb1f3 100644
--- a/poky/meta/lib/oe/types.py
+++ b/poky/meta/lib/oe/types.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oe/useradd.py b/poky/meta/lib/oe/useradd.py
index 3caa3f851a..54aa86feb5 100644
--- a/poky/meta/lib/oe/useradd.py
+++ b/poky/meta/lib/oe/useradd.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
import argparse
diff --git a/poky/meta/lib/oe/utils.py b/poky/meta/lib/oe/utils.py
index 1ee947d584..69ca8987f3 100644
--- a/poky/meta/lib/oe/utils.py
+++ b/poky/meta/lib/oe/utils.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oeqa/controllers/__init__.py b/poky/meta/lib/oeqa/controllers/__init__.py
index cc3836c4bf..0fc905be9a 100644
--- a/poky/meta/lib/oeqa/controllers/__init__.py
+++ b/poky/meta/lib/oeqa/controllers/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Enable other layers to have modules in the same named directory
diff --git a/poky/meta/lib/oeqa/controllers/testtargetloader.py b/poky/meta/lib/oeqa/controllers/testtargetloader.py
index 23101c7371..209ff7061a 100644
--- a/poky/meta/lib/oeqa/controllers/testtargetloader.py
+++ b/poky/meta/lib/oeqa/controllers/testtargetloader.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/meta/lib/oeqa/core/utils/concurrencytest.py b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
index 161a2f6e90..383479c959 100644
--- a/poky/meta/lib/oeqa/core/utils/concurrencytest.py
+++ b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Modified for use in OE by Richard Purdie, 2018
diff --git a/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py b/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py
index 6886e36502..14ff8b98b2 100644
--- a/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py
+++ b/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/apt.py b/poky/meta/lib/oeqa/runtime/cases/apt.py
index 574a34f148..4e09374add 100644
--- a/poky/meta/lib/oeqa/runtime/cases/apt.py
+++ b/poky/meta/lib/oeqa/runtime/cases/apt.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/boot.py b/poky/meta/lib/oeqa/runtime/cases/boot.py
index e1ad88a174..dcee3311f7 100644
--- a/poky/meta/lib/oeqa/runtime/cases/boot.py
+++ b/poky/meta/lib/oeqa/runtime/cases/boot.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/buildcpio.py b/poky/meta/lib/oeqa/runtime/cases/buildcpio.py
index e29bf16ccb..bd3b46d9ef 100644
--- a/poky/meta/lib/oeqa/runtime/cases/buildcpio.py
+++ b/poky/meta/lib/oeqa/runtime/cases/buildcpio.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py b/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py
index e5cc3e2888..2cfb3243dc 100644
--- a/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py
+++ b/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/buildlzip.py b/poky/meta/lib/oeqa/runtime/cases/buildlzip.py
index bc70b41461..44f4f1be71 100644
--- a/poky/meta/lib/oeqa/runtime/cases/buildlzip.py
+++ b/poky/meta/lib/oeqa/runtime/cases/buildlzip.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/connman.py b/poky/meta/lib/oeqa/runtime/cases/connman.py
index f0d15fac9b..a488752e3f 100644
--- a/poky/meta/lib/oeqa/runtime/cases/connman.py
+++ b/poky/meta/lib/oeqa/runtime/cases/connman.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/date.py b/poky/meta/lib/oeqa/runtime/cases/date.py
index bd6537400e..a2523de67a 100644
--- a/poky/meta/lib/oeqa/runtime/cases/date.py
+++ b/poky/meta/lib/oeqa/runtime/cases/date.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/df.py b/poky/meta/lib/oeqa/runtime/cases/df.py
index bb155c9cf9..43e0ebf9ea 100644
--- a/poky/meta/lib/oeqa/runtime/cases/df.py
+++ b/poky/meta/lib/oeqa/runtime/cases/df.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/dnf.py b/poky/meta/lib/oeqa/runtime/cases/dnf.py
index f40c63026e..a8e23e596e 100644
--- a/poky/meta/lib/oeqa/runtime/cases/dnf.py
+++ b/poky/meta/lib/oeqa/runtime/cases/dnf.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py b/poky/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py
index b93ee29941..eac8f2d082 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfQemu
diff --git a/poky/meta/lib/oeqa/runtime/cases/gcc.py b/poky/meta/lib/oeqa/runtime/cases/gcc.py
index 1b6e431bf4..17b1483e8d 100644
--- a/poky/meta/lib/oeqa/runtime/cases/gcc.py
+++ b/poky/meta/lib/oeqa/runtime/cases/gcc.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/gi.py b/poky/meta/lib/oeqa/runtime/cases/gi.py
index 42bd100a31..78c7ddda2c 100644
--- a/poky/meta/lib/oeqa/runtime/cases/gi.py
+++ b/poky/meta/lib/oeqa/runtime/cases/gi.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/go.py b/poky/meta/lib/oeqa/runtime/cases/go.py
index 89ba2c3ecb..7514d108f1 100644
--- a/poky/meta/lib/oeqa/runtime/cases/go.py
+++ b/poky/meta/lib/oeqa/runtime/cases/go.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/gstreamer.py b/poky/meta/lib/oeqa/runtime/cases/gstreamer.py
index f735f82e3b..2295769cfd 100644
--- a/poky/meta/lib/oeqa/runtime/cases/gstreamer.py
+++ b/poky/meta/lib/oeqa/runtime/cases/gstreamer.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py b/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py
index 47fd2f850c..9c42fcc586 100644
--- a/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py
+++ b/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/ksample.py b/poky/meta/lib/oeqa/runtime/cases/ksample.py
index c69e3fe4ac..b6848762e3 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ksample.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ksample.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/ldd.py b/poky/meta/lib/oeqa/runtime/cases/ldd.py
index 9c2caa8f65..f6841c6675 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ldd.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ldd.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/logrotate.py b/poky/meta/lib/oeqa/runtime/cases/logrotate.py
index 2bff08f9da..6ad980cb6a 100644
--- a/poky/meta/lib/oeqa/runtime/cases/logrotate.py
+++ b/poky/meta/lib/oeqa/runtime/cases/logrotate.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/multilib.py b/poky/meta/lib/oeqa/runtime/cases/multilib.py
index 0d1b9ae2c9..68556e45c5 100644
--- a/poky/meta/lib/oeqa/runtime/cases/multilib.py
+++ b/poky/meta/lib/oeqa/runtime/cases/multilib.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
index 150b70d9f0..cad0c88d26 100644
--- a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
+++ b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/opkg.py b/poky/meta/lib/oeqa/runtime/cases/opkg.py
index 9cfee1cd88..a29c93e59a 100644
--- a/poky/meta/lib/oeqa/runtime/cases/opkg.py
+++ b/poky/meta/lib/oeqa/runtime/cases/opkg.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/pam.py b/poky/meta/lib/oeqa/runtime/cases/pam.py
index a482ded945..b3e8b56c3c 100644
--- a/poky/meta/lib/oeqa/runtime/cases/pam.py
+++ b/poky/meta/lib/oeqa/runtime/cases/pam.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
index 1f9365f3a8..e16c230dfa 100644
--- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
@@ -64,6 +66,7 @@ common_errors = [
"[pulseaudio] authkey.c: Failed to load authentication key",
"was skipped because of a failed condition check",
"was skipped because all trigger condition checks failed",
+ "xf86OpenConsole: Switching VT failed",
]
video_related = [
@@ -140,6 +143,7 @@ ignore_errors = {
'Failed to initialize \'/amba/timer@101e3000\': -22',
'jitterentropy: Initialization failed with host not compliant with requirements: 2',
'clcd-pl11x: probe of 10120000.display failed with error -2',
+ 'arm-charlcd 10008000.lcd: error -ENXIO: IRQ index 0 not found'
] + common_errors,
'qemuarm64' : [
'Fatal server error:',
diff --git a/poky/meta/lib/oeqa/runtime/cases/perl.py b/poky/meta/lib/oeqa/runtime/cases/perl.py
index 2c6b3b7846..f11b300836 100644
--- a/poky/meta/lib/oeqa/runtime/cases/perl.py
+++ b/poky/meta/lib/oeqa/runtime/cases/perl.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/ping.py b/poky/meta/lib/oeqa/runtime/cases/ping.py
index 498f80d0a5..967b44175f 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ping.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ping.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/ptest.py b/poky/meta/lib/oeqa/runtime/cases/ptest.py
index 00742da2b5..3ef9022188 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ptest.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ptest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/python.py b/poky/meta/lib/oeqa/runtime/cases/python.py
index ec54f1e1db..5d6d133480 100644
--- a/poky/meta/lib/oeqa/runtime/cases/python.py
+++ b/poky/meta/lib/oeqa/runtime/cases/python.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/rpm.py b/poky/meta/lib/oeqa/runtime/cases/rpm.py
index a4339116bf..e3cd818b2b 100644
--- a/poky/meta/lib/oeqa/runtime/cases/rpm.py
+++ b/poky/meta/lib/oeqa/runtime/cases/rpm.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/rt.py b/poky/meta/lib/oeqa/runtime/cases/rt.py
index 849ac1914e..15ab4dbbbb 100644
--- a/poky/meta/lib/oeqa/runtime/cases/rt.py
+++ b/poky/meta/lib/oeqa/runtime/cases/rt.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/rtc.py b/poky/meta/lib/oeqa/runtime/cases/rtc.py
index c4e6681324..b2159b1134 100644
--- a/poky/meta/lib/oeqa/runtime/cases/rtc.py
+++ b/poky/meta/lib/oeqa/runtime/cases/rtc.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.runtime.decorator.package import OEHasPackage
diff --git a/poky/meta/lib/oeqa/runtime/cases/runlevel.py b/poky/meta/lib/oeqa/runtime/cases/runlevel.py
index 3a4df8ace1..6734b0f5ed 100644
--- a/poky/meta/lib/oeqa/runtime/cases/runlevel.py
+++ b/poky/meta/lib/oeqa/runtime/cases/runlevel.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
diff --git a/poky/meta/lib/oeqa/runtime/cases/rust.py b/poky/meta/lib/oeqa/runtime/cases/rust.py
index b3d6cf7f37..55b280d61d 100644
--- a/poky/meta/lib/oeqa/runtime/cases/rust.py
+++ b/poky/meta/lib/oeqa/runtime/cases/rust.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/scons.py b/poky/meta/lib/oeqa/runtime/cases/scons.py
index 3c7c7f7270..4a8d4d40ba 100644
--- a/poky/meta/lib/oeqa/runtime/cases/scons.py
+++ b/poky/meta/lib/oeqa/runtime/cases/scons.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/scp.py b/poky/meta/lib/oeqa/runtime/cases/scp.py
index f2bbc947d6..ee97b8ef66 100644
--- a/poky/meta/lib/oeqa/runtime/cases/scp.py
+++ b/poky/meta/lib/oeqa/runtime/cases/scp.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py b/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py
index a12f1e9aae..75951beda9 100644
--- a/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py
+++ b/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/ssh.py b/poky/meta/lib/oeqa/runtime/cases/ssh.py
index e31224b3af..13aac54396 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ssh.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ssh.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/stap.py b/poky/meta/lib/oeqa/runtime/cases/stap.py
index 480eaabf2d..3be4162108 100644
--- a/poky/meta/lib/oeqa/runtime/cases/stap.py
+++ b/poky/meta/lib/oeqa/runtime/cases/stap.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/storage.py b/poky/meta/lib/oeqa/runtime/cases/storage.py
index 972ef8210c..b05622fea8 100644
--- a/poky/meta/lib/oeqa/runtime/cases/storage.py
+++ b/poky/meta/lib/oeqa/runtime/cases/storage.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/suspend.py b/poky/meta/lib/oeqa/runtime/cases/suspend.py
index 0382d48f45..a625cc5901 100644
--- a/poky/meta/lib/oeqa/runtime/cases/suspend.py
+++ b/poky/meta/lib/oeqa/runtime/cases/suspend.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfQemu
diff --git a/poky/meta/lib/oeqa/runtime/cases/systemd.py b/poky/meta/lib/oeqa/runtime/cases/systemd.py
index 7c44abe8ed..720b4b517a 100644
--- a/poky/meta/lib/oeqa/runtime/cases/systemd.py
+++ b/poky/meta/lib/oeqa/runtime/cases/systemd.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/terminal.py b/poky/meta/lib/oeqa/runtime/cases/terminal.py
index 8fcca99f47..96ba3c3195 100644
--- a/poky/meta/lib/oeqa/runtime/cases/terminal.py
+++ b/poky/meta/lib/oeqa/runtime/cases/terminal.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.runtime.decorator.package import OEHasPackage
diff --git a/poky/meta/lib/oeqa/runtime/cases/usb_hid.py b/poky/meta/lib/oeqa/runtime/cases/usb_hid.py
index 8743174370..6f23d2ff51 100644
--- a/poky/meta/lib/oeqa/runtime/cases/usb_hid.py
+++ b/poky/meta/lib/oeqa/runtime/cases/usb_hid.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfQemu
diff --git a/poky/meta/lib/oeqa/runtime/cases/weston.py b/poky/meta/lib/oeqa/runtime/cases/weston.py
index 1fd471e611..ee4d336482 100644
--- a/poky/meta/lib/oeqa/runtime/cases/weston.py
+++ b/poky/meta/lib/oeqa/runtime/cases/weston.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/x32lib.py b/poky/meta/lib/oeqa/runtime/cases/x32lib.py
index f419c8f181..014da4b386 100644
--- a/poky/meta/lib/oeqa/runtime/cases/x32lib.py
+++ b/poky/meta/lib/oeqa/runtime/cases/x32lib.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/runtime/cases/xorg.py b/poky/meta/lib/oeqa/runtime/cases/xorg.py
index d6845587c2..09afb1e3d1 100644
--- a/poky/meta/lib/oeqa/runtime/cases/xorg.py
+++ b/poky/meta/lib/oeqa/runtime/cases/xorg.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py b/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py
index aee2e5a8c0..c85c32496b 100644
--- a/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py
+++ b/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/buildtools-cases/gcc.py b/poky/meta/lib/oeqa/sdk/buildtools-cases/gcc.py
index 36ba15b134..a62c4d0bc4 100644
--- a/poky/meta/lib/oeqa/sdk/buildtools-cases/gcc.py
+++ b/poky/meta/lib/oeqa/sdk/buildtools-cases/gcc.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/buildtools-cases/https.py b/poky/meta/lib/oeqa/sdk/buildtools-cases/https.py
index 35e549eb40..4525e3d758 100644
--- a/poky/meta/lib/oeqa/sdk/buildtools-cases/https.py
+++ b/poky/meta/lib/oeqa/sdk/buildtools-cases/https.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/buildtools-cases/sanity.py b/poky/meta/lib/oeqa/sdk/buildtools-cases/sanity.py
index 64baaa8f84..b9dfa39a06 100644
--- a/poky/meta/lib/oeqa/sdk/buildtools-cases/sanity.py
+++ b/poky/meta/lib/oeqa/sdk/buildtools-cases/sanity.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/buildtools-docs-cases/build.py b/poky/meta/lib/oeqa/sdk/buildtools-docs-cases/build.py
index 5b0eca046f..6e3ee94292 100644
--- a/poky/meta/lib/oeqa/sdk/buildtools-docs-cases/build.py
+++ b/poky/meta/lib/oeqa/sdk/buildtools-docs-cases/build.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/cases/assimp.py b/poky/meta/lib/oeqa/sdk/cases/assimp.py
index f166758e49..aa6541c6f6 100644
--- a/poky/meta/lib/oeqa/sdk/cases/assimp.py
+++ b/poky/meta/lib/oeqa/sdk/cases/assimp.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildcpio.py b/poky/meta/lib/oeqa/sdk/cases/buildcpio.py
index e7fc211a47..c42c670add 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildcpio.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildcpio.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py b/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py
index ad08b777f2..ee515be188 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py b/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
index 58ade920c9..178f07472d 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildlzip.py b/poky/meta/lib/oeqa/sdk/cases/buildlzip.py
index 49ae756bf3..b4b7d85b88 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildlzip.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildlzip.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/cases/gcc.py b/poky/meta/lib/oeqa/sdk/cases/gcc.py
index eb08eadd28..fc28b9c3d4 100644
--- a/poky/meta/lib/oeqa/sdk/cases/gcc.py
+++ b/poky/meta/lib/oeqa/sdk/cases/gcc.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/cases/perl.py b/poky/meta/lib/oeqa/sdk/cases/perl.py
index 14d76d820f..8eab4442e8 100644
--- a/poky/meta/lib/oeqa/sdk/cases/perl.py
+++ b/poky/meta/lib/oeqa/sdk/cases/perl.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/cases/python.py b/poky/meta/lib/oeqa/sdk/cases/python.py
index d43354c32a..5ea992b9f3 100644
--- a/poky/meta/lib/oeqa/sdk/cases/python.py
+++ b/poky/meta/lib/oeqa/sdk/cases/python.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/cases/rust.py b/poky/meta/lib/oeqa/sdk/cases/rust.py
index 1075d37b49..31036f0f14 100644
--- a/poky/meta/lib/oeqa/sdk/cases/rust.py
+++ b/poky/meta/lib/oeqa/sdk/cases/rust.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/sdk/files/rust/hello/build.rs b/poky/meta/lib/oeqa/sdk/files/rust/hello/build.rs
new file mode 100644
index 0000000000..b1a533d5df
--- /dev/null
+++ b/poky/meta/lib/oeqa/sdk/files/rust/hello/build.rs
@@ -0,0 +1,3 @@
+/* This is the simplest build script just to invoke host compiler
+ in the build process. */
+fn main() {}
diff --git a/poky/meta/lib/oeqa/sdk/testmetaidesupport.py b/poky/meta/lib/oeqa/sdk/testmetaidesupport.py
index 2ff76fd8e0..00ef30e82e 100644
--- a/poky/meta/lib/oeqa/sdk/testmetaidesupport.py
+++ b/poky/meta/lib/oeqa/sdk/testmetaidesupport.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
index bff6e7740c..5f1c8df2d4 100644
--- a/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
+++ b/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/archiver.py b/poky/meta/lib/oeqa/selftest/cases/archiver.py
index 75195241b7..ffdea832be 100644
--- a/poky/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/poky/meta/lib/oeqa/selftest/cases/archiver.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/bblayers.py b/poky/meta/lib/oeqa/selftest/cases/bblayers.py
index 7d74833f61..c6bd5a1f6a 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bblayers.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bblayers.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
@@ -6,12 +8,16 @@ import os
import re
import oeqa.utils.ftools as ftools
-from oeqa.utils.commands import runCmd, get_bb_var, get_bb_vars
+from oeqa.utils.commands import runCmd, get_bb_var, get_bb_vars, bitbake
from oeqa.selftest.case import OESelftestTestCase
class BitbakeLayers(OESelftestTestCase):
+ def setUpLocal(self):
+ bitbake("python3-jsonschema-native")
+ bitbake("-c addto_recipe_sysroot python3-jsonschema-native")
+
def test_bitbakelayers_layerindexshowdepends(self):
result = runCmd('bitbake-layers layerindex-show-depends meta-poky')
find_in_contents = re.search("openembedded-core", result.output)
@@ -111,6 +117,11 @@ class BitbakeLayers(OESelftestTestCase):
self.assertEqual(bb_vars['BBFILE_PRIORITY_%s' % layername], str(priority), 'BBFILE_PRIORITY_%s != %d' % (layername, priority))
+ result = runCmd('bitbake-layers save-build-conf {} {}'.format(layerpath, "buildconf-1"))
+ for f in ('local.conf.sample', 'bblayers.conf.sample', 'conf-notes.txt'):
+ fullpath = os.path.join(layerpath, "conf", "templates", "buildconf-1", f)
+ self.assertTrue(os.path.exists(fullpath), "Template configuration file {} not found".format(fullpath))
+
def get_recipe_basename(self, recipe):
recipe_file = ""
result = runCmd("bitbake-layers show-recipes -f %s" % recipe)
@@ -121,3 +132,35 @@ class BitbakeLayers(OESelftestTestCase):
self.assertTrue(os.path.isfile(recipe_file), msg = "Can't find recipe file for %s" % recipe)
return os.path.basename(recipe_file)
+
+ def validate_layersjson(self, json):
+ python = os.path.join(get_bb_var('STAGING_BINDIR', 'python3-jsonschema-native'), 'nativepython3')
+ jsonvalidator = os.path.join(get_bb_var('STAGING_BINDIR', 'python3-jsonschema-native'), 'jsonschema')
+ jsonschema = os.path.join(get_bb_var('COREBASE'), 'meta/files/layers.schema.json')
+ result = runCmd("{} {} -i {} {}".format(python, jsonvalidator, json, jsonschema))
+
+ def test_validate_examplelayersjson(self):
+ json = os.path.join(get_bb_var('COREBASE'), "meta/files/layers.example.json")
+ self.validate_layersjson(json)
+
+ def test_bitbakelayers_setup(self):
+ result = runCmd('bitbake-layers create-layers-setup {}'.format(self.testlayer_path))
+ jsonfile = os.path.join(self.testlayer_path, "setup-layers.json")
+ self.validate_layersjson(jsonfile)
+
+ # The revision-under-test may not necessarily be available on the remote server,
+ # so replace it with a revision that has a yocto-4.0 tag.
+ import json
+ with open(jsonfile) as f:
+ data = json.load(f)
+ for s in data['sources']:
+ data['sources'][s]['git-remote']['rev'] = '00cfdde791a0176c134f31e5a09eff725e75b905'
+ with open(jsonfile, 'w') as f:
+ json.dump(data, f)
+
+ testcheckoutdir = os.path.join(self.builddir, 'test-layer-checkout')
+ result = runCmd('{}/setup-layers --destdir {}'.format(self.testlayer_path, testcheckoutdir))
+ # May not necessarily be named 'poky' or 'openembedded-core'
+ oecoredir = os.listdir(testcheckoutdir)[0]
+ testcheckoutfile = os.path.join(testcheckoutdir, oecoredir, "oe-init-build-env")
+ self.assertTrue(os.path.exists(testcheckoutfile), "File {} not found in test layer checkout".format(testcheckoutfile))
diff --git a/poky/meta/lib/oeqa/selftest/cases/bblogging.py b/poky/meta/lib/oeqa/selftest/cases/bblogging.py
index 317e68b82f..1534a36a85 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bblogging.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bblogging.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
index 89267c7145..d97bda13c2 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/binutils.py b/poky/meta/lib/oeqa/selftest/cases/binutils.py
index 3b0b44b390..bf6fdca0d9 100644
--- a/poky/meta/lib/oeqa/selftest/cases/binutils.py
+++ b/poky/meta/lib/oeqa/selftest/cases/binutils.py
@@ -1,4 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
+#
import os
from oeqa.core.decorator import OETestTag
from oeqa.core.case import OEPTestResultTestCase
diff --git a/poky/meta/lib/oeqa/selftest/cases/buildhistory.py b/poky/meta/lib/oeqa/selftest/cases/buildhistory.py
index d865da6252..2d55994916 100644
--- a/poky/meta/lib/oeqa/selftest/cases/buildhistory.py
+++ b/poky/meta/lib/oeqa/selftest/cases/buildhistory.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
index ad604d6ae2..ee3e28d74b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/containerimage.py b/poky/meta/lib/oeqa/selftest/cases/containerimage.py
index e0aea1a1ef..23c0a1408a 100644
--- a/poky/meta/lib/oeqa/selftest/cases/containerimage.py
+++ b/poky/meta/lib/oeqa/selftest/cases/containerimage.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/cve_check.py b/poky/meta/lib/oeqa/selftest/cases/cve_check.py
index d0b2213703..ac47af1990 100644
--- a/poky/meta/lib/oeqa/selftest/cases/cve_check.py
+++ b/poky/meta/lib/oeqa/selftest/cases/cve_check.py
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
import json
import os
from oeqa.selftest.case import OESelftestTestCase
diff --git a/poky/meta/lib/oeqa/selftest/cases/debuginfod.py b/poky/meta/lib/oeqa/selftest/cases/debuginfod.py
new file mode 100644
index 0000000000..01359ec649
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/debuginfod.py
@@ -0,0 +1,44 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+import os
+import socketserver
+import subprocess
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, runqemu
+
+class Debuginfod(OESelftestTestCase):
+ def test_debuginfod(self):
+ self.write_config("""
+DISTRO_FEATURES:append = " debuginfod"
+CORE_IMAGE_EXTRA_INSTALL += "elfutils"
+ """)
+ bitbake("core-image-minimal elfutils-native:do_addto_recipe_sysroot")
+
+ native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "elfutils-native")
+ cmd = [os.path.join(native_sysroot, "usr", "bin", "debuginfod"), "--verbose", get_bb_var("DEPLOY_DIR")]
+ for format in get_bb_var("PACKAGE_CLASSES").split():
+ if format == "package_deb":
+ cmd.append("--scan-deb-dir")
+ elif format == "package_ipk":
+ cmd.append("--scan-deb-dir")
+ elif format == "package_rpm":
+ cmd.append("--scan-rpm-dir")
+ # Find a free port
+ with socketserver.TCPServer(("localhost", 0), None) as s:
+ port = s.server_address[1]
+ cmd.append("--port=%d" % port)
+
+ try:
+ debuginfod = subprocess.Popen(cmd)
+
+ with runqemu("core-image-minimal", runqemuparams="nographic") as qemu:
+ cmd = "DEBUGINFOD_URLS=http://%s:%d/ debuginfod-find debuginfo /usr/bin/debuginfod" % (qemu.server_ip, port)
+ status, output = qemu.run_serial(cmd)
+ # This should be more comprehensive
+ self.assertIn("/.cache/debuginfod_client/", output)
+ finally:
+ debuginfod.kill()
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index 34fc791f3a..142932e12f 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
@@ -246,6 +248,22 @@ class DevtoolTestCase(OESelftestTestCase):
if remaining_removelines:
self.fail('Expected removed lines not found: %s' % remaining_removelines)
+ def _test_devtool_add_git_url(self, git_url, version, pn, resulting_src_uri):
+ self.track_for_cleanup(self.workspacedir)
+ self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
+ result = runCmd('devtool add --version %s %s %s' % (version, pn, git_url))
+ self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created')
+ # Check the recipe name is correct
+ recipefile = get_bb_var('FILE', pn)
+ self.assertIn('%s_git.bb' % pn, recipefile, 'Recipe file incorrectly named')
+ self.assertIn(recipefile, result.output)
+ # Test devtool status
+ result = runCmd('devtool status')
+ self.assertIn(pn, result.output)
+ self.assertIn(recipefile, result.output)
+ checkvars = {}
+ checkvars['SRC_URI'] = resulting_src_uri
+ self._test_recipe_contents(recipefile, checkvars, [])
class DevtoolBase(DevtoolTestCase):
@@ -380,6 +398,22 @@ class DevtoolAddTests(DevtoolBase):
checkvars['DEPENDS'] = set(['dbus'])
self._test_recipe_contents(recipefile, checkvars, [])
+ def test_devtool_add_git_style1(self):
+ version = 'v3.1.0'
+ pn = 'mbedtls'
+ # this will trigger reformat_git_uri with branch parameter in url
+ git_url = "'git://git@github.com/ARMmbed/mbedtls.git;branch=mbedtls-2.28;protocol=https'"
+ resulting_src_uri = "git://git@github.com/ARMmbed/mbedtls.git;branch=mbedtls-2.28;protocol=https"
+ self._test_devtool_add_git_url(git_url, version, pn, resulting_src_uri)
+
+ def test_devtool_add_git_style2(self):
+ version = 'v3.1.0'
+ pn = 'mbedtls'
+ # this will trigger reformat_git_uri with branch parameter in url
+ git_url = "'git://git@github.com/ARMmbed/mbedtls.git;protocol=https'"
+ resulting_src_uri = "git://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master"
+ self._test_devtool_add_git_url(git_url, version, pn, resulting_src_uri)
+
def test_devtool_add_library(self):
# Fetch source
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
@@ -540,7 +574,7 @@ class DevtoolAddTests(DevtoolBase):
result = runCmd('devtool status')
self.assertIn(testrecipe, result.output)
self.assertIn(srcdir, result.output)
- # Check recipe
+ # Check recipedevtool add
recipefile = get_bb_var('FILE', testrecipe)
self.assertIn('%s_%s.bb' % (testrecipe, testver), recipefile, 'Recipe file incorrectly named')
checkvars = {}
@@ -1923,7 +1957,6 @@ class DevtoolUpgradeTests(DevtoolBase):
self._test_recipe_contents(newrecipefile, checkvars, [])
# Try again - change just name this time
result = runCmd('devtool reset -n %s' % newrecipename)
- shutil.rmtree(newsrctree)
add_recipe()
newrecipefile = os.path.join(self.workspacedir, 'recipes', newrecipename, '%s_%s.bb' % (newrecipename, recipever))
result = runCmd('devtool rename %s %s' % (recipename, newrecipename))
@@ -1936,7 +1969,6 @@ class DevtoolUpgradeTests(DevtoolBase):
self._test_recipe_contents(newrecipefile, checkvars, [])
# Try again - change just version this time
result = runCmd('devtool reset -n %s' % newrecipename)
- shutil.rmtree(newsrctree)
add_recipe()
newrecipefile = os.path.join(self.workspacedir, 'recipes', recipename, '%s_%s.bb' % (recipename, newrecipever))
result = runCmd('devtool rename %s -V %s' % (recipename, newrecipever))
diff --git a/poky/meta/lib/oeqa/selftest/cases/distrodata.py b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
index b80d091c1c..b5554a6c3c 100644
--- a/poky/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/eSDK.py b/poky/meta/lib/oeqa/selftest/cases/eSDK.py
index 3ea0f66357..9f5de2cde7 100644
--- a/poky/meta/lib/oeqa/selftest/cases/eSDK.py
+++ b/poky/meta/lib/oeqa/selftest/cases/eSDK.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/fetch.py b/poky/meta/lib/oeqa/selftest/cases/fetch.py
index be14272e63..3d01cf69f2 100644
--- a/poky/meta/lib/oeqa/selftest/cases/fetch.py
+++ b/poky/meta/lib/oeqa/selftest/cases/fetch.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/fitimage.py b/poky/meta/lib/oeqa/selftest/cases/fitimage.py
index d732a9020d..14267dbaaa 100644
--- a/poky/meta/lib/oeqa/selftest/cases/fitimage.py
+++ b/poky/meta/lib/oeqa/selftest/cases/fitimage.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/gcc.py b/poky/meta/lib/oeqa/selftest/cases/gcc.py
index b9ea03ae62..6b9022e461 100644
--- a/poky/meta/lib/oeqa/selftest/cases/gcc.py
+++ b/poky/meta/lib/oeqa/selftest/cases/gcc.py
@@ -1,4 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
+#
import os
from oeqa.core.decorator import OETestTag
from oeqa.core.case import OEPTestResultTestCase
diff --git a/poky/meta/lib/oeqa/selftest/cases/gdbserver.py b/poky/meta/lib/oeqa/selftest/cases/gdbserver.py
new file mode 100644
index 0000000000..3621d9c13e
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/gdbserver.py
@@ -0,0 +1,66 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+import os
+import time
+import tempfile
+import shutil
+import concurrent.futures
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, runqemu, runCmd
+
+class GdbServerTest(OESelftestTestCase):
+ def test_gdb_server(self):
+ target_arch = self.td["TARGET_ARCH"]
+ target_sys = self.td["TARGET_SYS"]
+ deploy_dir = get_bb_var("DEPLOY_DIR_IMAGE")
+
+ features = """
+IMAGE_GEN_DEBUGFS = "1"
+IMAGE_FSTYPES_DEBUGFS = "tar.bz2"
+CORE_IMAGE_EXTRA_INSTALL = "gdbserver"
+ """
+ self.write_config(features)
+
+ gdb_recipe = "gdb-cross-" + target_arch
+ gdb_binary = target_sys + "-gdb"
+
+ bitbake("core-image-minimal %s:do_addto_recipe_sysroot" % gdb_recipe)
+
+ native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", gdb_recipe)
+ r = runCmd("%s --version" % gdb_binary, native_sysroot=native_sysroot, target_sys=target_sys)
+ self.assertEqual(r.status, 0)
+ self.assertIn("GNU gdb", r.output)
+
+ with tempfile.TemporaryDirectory(prefix="debugfs-") as debugfs:
+ filename = os.path.join(deploy_dir, "core-image-minimal-%s-dbg.tar.bz2" % self.td["MACHINE"])
+ shutil.unpack_archive(filename, debugfs)
+ filename = os.path.join(deploy_dir, "core-image-minimal-%s.tar.bz2" % self.td["MACHINE"])
+ shutil.unpack_archive(filename, debugfs)
+
+ with runqemu("core-image-minimal", runqemuparams="nographic") as qemu:
+ status, output = qemu.run_serial("kmod --help")
+ self.assertIn("modprobe", output)
+
+ with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
+ def run_gdb():
+ for _ in range(5):
+ time.sleep(2)
+ cmd = "%s --batch -ex 'set sysroot %s' -ex \"target extended-remote %s:9999\" -ex \"info line kmod_help\"" % (gdb_binary, debugfs, qemu.ip)
+ self.logger.warning("starting gdb %s" % cmd)
+ r = runCmd(cmd, native_sysroot=native_sysroot, target_sys=target_sys)
+ self.assertEqual(0, r.status)
+ line_re = r"Line \d+ of \"/usr/src/debug/kmod/.*/tools/kmod.c\" starts at address 0x[0-9A-Fa-f]+ <kmod_help>"
+ self.assertRegex(r.output, line_re)
+ break
+ else:
+ self.fail("Timed out connecting to gdb")
+ future = executor.submit(run_gdb)
+
+ status, output = qemu.run_serial("gdbserver --once :9999 kmod --help")
+ self.assertEqual(status, 1)
+ # The future either returns None, or raises an exception
+ future.result()
diff --git a/poky/meta/lib/oeqa/selftest/cases/glibc.py b/poky/meta/lib/oeqa/selftest/cases/glibc.py
index 6fc98e9cb4..a446543a17 100644
--- a/poky/meta/lib/oeqa/selftest/cases/glibc.py
+++ b/poky/meta/lib/oeqa/selftest/cases/glibc.py
@@ -1,4 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
+#
import os
import contextlib
from oeqa.core.decorator import OETestTag
diff --git a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
index 978898b86f..74c1c48117 100644
--- a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
+++ b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/image_typedep.py b/poky/meta/lib/oeqa/selftest/cases/image_typedep.py
index 5b182a8f94..17c98baf14 100644
--- a/poky/meta/lib/oeqa/selftest/cases/image_typedep.py
+++ b/poky/meta/lib/oeqa/selftest/cases/image_typedep.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
index 7deafef6b2..d3fd52851c 100644
--- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py
index 6279d74245..4edf60fc55 100644
--- a/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake
@@ -134,7 +139,7 @@ INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0* LGPL-3.0*"
def test_core_image_full_cmdline_weston(self):
self.write_config("""
-INHERIT += "testimage"
+IMAGE_CLASSES += "testimage"
INCOMPATIBLE_LICENSE:pn-core-image-full-cmdline = "GPL-3.0* LGPL-3.0*"
INCOMPATIBLE_LICENSE:pn-core-image-weston = "GPL-3.0* LGPL-3.0*"
# Settings for full-cmdline
diff --git a/poky/meta/lib/oeqa/selftest/cases/intercept.py b/poky/meta/lib/oeqa/selftest/cases/intercept.py
index f12874dc7d..12583c3099 100644
--- a/poky/meta/lib/oeqa/selftest/cases/intercept.py
+++ b/poky/meta/lib/oeqa/selftest/cases/intercept.py
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake
diff --git a/poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py b/poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
index b1623a1885..4325f38598 100644
--- a/poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
+++ b/poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, get_bb_var
diff --git a/poky/meta/lib/oeqa/selftest/cases/layerappend.py b/poky/meta/lib/oeqa/selftest/cases/layerappend.py
index 8fb1e6c530..379ed589ad 100644
--- a/poky/meta/lib/oeqa/selftest/cases/layerappend.py
+++ b/poky/meta/lib/oeqa/selftest/cases/layerappend.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/liboe.py b/poky/meta/lib/oeqa/selftest/cases/liboe.py
index afe8f8809f..fab6929198 100644
--- a/poky/meta/lib/oeqa/selftest/cases/liboe.py
+++ b/poky/meta/lib/oeqa/selftest/cases/liboe.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py b/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py
index 8f1226e6a5..5897a396d9 100644
--- a/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py
+++ b/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/manifest.py b/poky/meta/lib/oeqa/selftest/cases/manifest.py
index 0a04c13a85..07a6c80489 100644
--- a/poky/meta/lib/oeqa/selftest/cases/manifest.py
+++ b/poky/meta/lib/oeqa/selftest/cases/manifest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
index ce7bba401d..bae98359e5 100644
--- a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
+++ b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
index 83cbd1345d..f509cbf607 100644
--- a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
+++ b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/newlib.py b/poky/meta/lib/oeqa/selftest/cases/newlib.py
index 999e3e78b0..fe57aa51f2 100644
--- a/poky/meta/lib/oeqa/selftest/cases/newlib.py
+++ b/poky/meta/lib/oeqa/selftest/cases/newlib.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py b/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
index 33bd6df2f3..c3c15d83c0 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py b/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py
index 5a5f9b4fdf..7bf550b6fd 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/license.py b/poky/meta/lib/oeqa/selftest/cases/oelib/license.py
index 3b359396b6..5eea12e761 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/license.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/license.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/path.py b/poky/meta/lib/oeqa/selftest/cases/oelib/path.py
index a1cfa08c09..b963e447e3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/path.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/path.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/types.py b/poky/meta/lib/oeqa/selftest/cases/oelib/types.py
index 7eb49e6f95..58318b18b2 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/types.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/types.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py b/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py
index bbf67bf9c9..0cb46425a0 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/oescripts.py b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
index d3a789a6a7..ea08d9aff8 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
index 96beb8b869..bff22f21b6 100644
--- a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
+++ b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/package.py b/poky/meta/lib/oeqa/selftest/cases/package.py
index 51d835259e..2d1b48a15d 100644
--- a/poky/meta/lib/oeqa/selftest/cases/package.py
+++ b/poky/meta/lib/oeqa/selftest/cases/package.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/pkgdata.py b/poky/meta/lib/oeqa/selftest/cases/pkgdata.py
index 87d069de65..d786c33018 100644
--- a/poky/meta/lib/oeqa/selftest/cases/pkgdata.py
+++ b/poky/meta/lib/oeqa/selftest/cases/pkgdata.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/prservice.py b/poky/meta/lib/oeqa/selftest/cases/prservice.py
index 10158ca7c2..cb95503c2c 100644
--- a/poky/meta/lib/oeqa/selftest/cases/prservice.py
+++ b/poky/meta/lib/oeqa/selftest/cases/prservice.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/pseudo.py b/poky/meta/lib/oeqa/selftest/cases/pseudo.py
index 33593d5ce9..3ef8786022 100644
--- a/poky/meta/lib/oeqa/selftest/cases/pseudo.py
+++ b/poky/meta/lib/oeqa/selftest/cases/pseudo.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index 510dae6bad..25b06cdcf0 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipeutils.py b/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
index 74b2098ae8..6334f1c91a 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
index 5042c11d8e..f4dd779842 100644
--- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -16,6 +16,8 @@ import os
import datetime
exclude_packages = [
+ 'rust',
+ 'rust-dbg'
]
def is_excluded(package):
diff --git a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py
index dac5c46801..c2e76f1a44 100644
--- a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/rootfspostcommandstests.py b/poky/meta/lib/oeqa/selftest/cases/rootfspostcommandstests.py
new file mode 100644
index 0000000000..44e2c09a6f
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/rootfspostcommandstests.py
@@ -0,0 +1,97 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: MIT
+
+import os
+import oe
+import unittest
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_vars
+
+class ShadowUtilsTidyFiles(OESelftestTestCase):
+ """
+ Check if shadow image rootfs files are tidy.
+
+ The tests are focused on testing the functionality provided by the
+ 'tidy_shadowutils_files' rootfs postprocess command (via
+ SORT_PASSWD_POSTPROCESS_COMMAND).
+ """
+
+ def sysconf_build(self):
+ """
+ Verify if shadow tidy files tests are to be run and if yes, build a
+ test image and return its sysconf rootfs path.
+ """
+
+ test_image = "core-image-minimal"
+
+ config = 'IMAGE_CLASSES += "extrausers"\n'
+ config += 'EXTRA_USERS_PARAMS = "groupadd -g 1000 oeqatester; "\n'
+ config += 'EXTRA_USERS_PARAMS += "useradd -p \'\' -u 1000 -N -g 1000 oeqatester; "\n'
+ self.write_config(config)
+
+ vars = get_bb_vars(("IMAGE_ROOTFS", "SORT_PASSWD_POSTPROCESS_COMMAND", "sysconfdir"),
+ test_image)
+ passwd_postprocess_cmd = vars["SORT_PASSWD_POSTPROCESS_COMMAND"]
+ self.assertIsNotNone(passwd_postprocess_cmd)
+ if (passwd_postprocess_cmd.strip() != 'tidy_shadowutils_files;'):
+ raise unittest.SkipTest("Testcase skipped as 'tidy_shadowutils_files' "
+ "rootfs post process command is not the set SORT_PASSWD_POSTPROCESS_COMMAND.")
+
+ rootfs = vars["IMAGE_ROOTFS"]
+ self.assertIsNotNone(rootfs)
+ sysconfdir = vars["sysconfdir"]
+ bitbake(test_image)
+ self.assertIsNotNone(sysconfdir)
+
+ return oe.path.join(rootfs, sysconfdir)
+
+ def test_shadowutils_backup_files(self):
+ """
+ Test that the rootfs doesn't include any known shadow backup files.
+ """
+
+ backup_files = (
+ 'group-',
+ 'gshadow-',
+ 'passwd-',
+ 'shadow-',
+ 'subgid-',
+ 'subuid-',
+ )
+
+ rootfs_sysconfdir = self.sysconf_build()
+ found = []
+ for backup_file in backup_files:
+ backup_filepath = oe.path.join(rootfs_sysconfdir, backup_file)
+ if os.path.exists(backup_filepath):
+ found.append(backup_file)
+ if (found):
+ raise Exception('The following shadow backup files were found in '
+ 'the rootfs: %s' % found)
+
+ def test_shadowutils_sorted_files(self):
+ """
+ Test that the 'passwd' and the 'group' shadow utils files are ordered
+ by ID.
+ """
+
+ files = (
+ 'passwd',
+ 'group',
+ )
+
+ rootfs_sysconfdir = self.sysconf_build()
+ unsorted = []
+ for file in files:
+ filepath = oe.path.join(rootfs_sysconfdir, file)
+ with open(filepath, 'rb') as f:
+ ids = []
+ lines = f.readlines()
+ for line in lines:
+ entries = line.split(b':')
+ ids.append(int(entries[2]))
+ if (ids != sorted(ids)):
+ unsorted.append(file)
+ if (unsorted):
+ raise Exception("The following files were not sorted by ID as expected: %s" % unsorted)
diff --git a/poky/meta/lib/oeqa/selftest/cases/rpmtests.py b/poky/meta/lib/oeqa/selftest/cases/rpmtests.py
new file mode 100644
index 0000000000..902d7dca3d
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/rpmtests.py
@@ -0,0 +1,14 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake
+
+class BitbakeTests(OESelftestTestCase):
+
+ def test_rpm_filenames(self):
+ test_recipe = "testrpm"
+ bitbake(test_recipe)
diff --git a/poky/meta/lib/oeqa/selftest/cases/runcmd.py b/poky/meta/lib/oeqa/selftest/cases/runcmd.py
index e9612389fe..6fd96b8485 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runcmd.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runcmd.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
index 857737f730..fe83b248f3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
@@ -23,7 +25,7 @@ class TestExport(OESelftestTestCase):
Author: Mariano Lopez <mariano.lopez@intel.com>
"""
- features = 'INHERIT += "testexport"\n'
+ features = 'IMAGE_CLASSES += "testexport"\n'
# These aren't the actual IP addresses but testexport class needs something defined
features += 'TEST_SERVER_IP = "192.168.7.1"\n'
features += 'TEST_TARGET_IP = "192.168.7.1"\n'
@@ -64,7 +66,7 @@ class TestExport(OESelftestTestCase):
Author: Mariano Lopez <mariano.lopez@intel.com>
"""
- features = 'INHERIT += "testexport"\n'
+ features = 'IMAGE_CLASSES += "testexport"\n'
# These aren't the actual IP addresses but testexport class needs something defined
features += 'TEST_SERVER_IP = "192.168.7.1"\n'
features += 'TEST_TARGET_IP = "192.168.7.1"\n'
@@ -119,7 +121,7 @@ class TestImage(OESelftestTestCase):
if get_bb_var('DISTRO') == 'poky-tiny':
self.skipTest('core-image-full-cmdline not buildable for poky-tiny')
- features = 'INHERIT += "testimage"\n'
+ features = 'IMAGE_CLASSES += "testimage"\n'
features += 'IMAGE_INSTALL:append = " libssl"\n'
features += 'TEST_SUITES = "ping ssh selftest"\n'
self.write_config(features)
@@ -137,7 +139,7 @@ class TestImage(OESelftestTestCase):
if get_bb_var('DISTRO') == 'poky-tiny':
self.skipTest('core-image-full-cmdline not buildable for poky-tiny')
- features = 'INHERIT += "testimage"\n'
+ features = 'IMAGE_CLASSES += "testimage"\n'
features += 'TEST_SUITES = "ping ssh dnf_runtime dnf.DnfBasicTest.test_dnf_help"\n'
# We don't yet know what the server ip and port will be - they will be patched
# in at the start of the on-image test
@@ -172,7 +174,7 @@ class TestImage(OESelftestTestCase):
if get_bb_var('DISTRO') == 'poky-tiny':
self.skipTest('core-image-full-cmdline not buildable for poky-tiny')
- features = 'INHERIT += "testimage"\n'
+ features = 'IMAGE_CLASSES += "testimage"\n'
features += 'TEST_SUITES = "ping ssh apt.AptRepoTest.test_apt_install_from_repo"\n'
# We don't yet know what the server ip and port will be - they will be patched
# in at the start of the on-image test
@@ -222,7 +224,7 @@ class TestImage(OESelftestTestCase):
qemu_packageconfig = get_bb_var('PACKAGECONFIG', 'qemu-system-native')
qemu_distrofeatures = get_bb_var('DISTRO_FEATURES', 'qemu-system-native')
- features = 'INHERIT += "testimage"\n'
+ features = 'IMAGE_CLASSES += "testimage"\n'
if 'gtk+' not in qemu_packageconfig:
features += 'PACKAGECONFIG:append:pn-qemu-system-native = " gtk+"\n'
if 'sdl' not in qemu_packageconfig:
@@ -267,7 +269,7 @@ class TestImage(OESelftestTestCase):
except subprocess.CalledProcessError as e:
self.fail("Could not determine the path to dri drivers on the host via pkg-config.\nPlease install Mesa development files (particularly, dri.pc) on the host machine.")
qemu_distrofeatures = get_bb_var('DISTRO_FEATURES', 'qemu-system-native')
- features = 'INHERIT += "testimage"\n'
+ features = 'IMAGE_CLASSES += "testimage"\n'
if 'opengl' not in qemu_distrofeatures:
features += 'DISTRO_FEATURES:append = " opengl"\n'
features += 'TEST_SUITES = "ping ssh virgl"\n'
diff --git a/poky/meta/lib/oeqa/selftest/cases/selftest.py b/poky/meta/lib/oeqa/selftest/cases/selftest.py
index 7268e25939..a80a8651a5 100644
--- a/poky/meta/lib/oeqa/selftest/cases/selftest.py
+++ b/poky/meta/lib/oeqa/selftest/cases/selftest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/signing.py b/poky/meta/lib/oeqa/selftest/cases/signing.py
index 6f3d4aeae9..322e753ed3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/signing.py
+++ b/poky/meta/lib/oeqa/selftest/cases/signing.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstate.py b/poky/meta/lib/oeqa/selftest/cases/sstate.py
index 176766331a..e73bb94884 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstate.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstate.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
index 63827f3068..ae766f91bd 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
@@ -384,8 +386,7 @@ BB_SIGNATURE_HANDLER = "OEBasicHash"
self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2")
bitbake("world meta-toolchain -S none")
- def get_files(d):
- f = {}
+ def get_files(d, result):
for root, dirs, files in os.walk(d):
for name in files:
if "meta-environment" in root or "cross-canadian" in root:
@@ -393,23 +394,22 @@ BB_SIGNATURE_HANDLER = "OEBasicHash"
if "do_build" not in name:
# 1.4.1+gitAUTOINC+302fca9f4c-r0.do_package_write_ipk.sigdata.f3a2a38697da743f0dbed8b56aafcf79
(_, task, _, shash) = name.rsplit(".", 3)
- f[os.path.join(os.path.basename(root), task)] = shash
- return f
+ result[os.path.join(os.path.basename(root), task)] = shash
- nativesdkdir = os.path.basename(glob.glob(self.topdir + "/tmp-sstatesamehash/stamps/*-nativesdk*-linux")[0])
+ files1 = {}
+ files2 = {}
+ subdirs = sorted(glob.glob(self.topdir + "/tmp-sstatesamehash/stamps/*-nativesdk*-linux"))
+ if allarch:
+ subdirs.extend(sorted(glob.glob(self.topdir + "/tmp-sstatesamehash/stamps/all-*-linux")))
+
+ for subdir in subdirs:
+ nativesdkdir = os.path.basename(subdir)
+ get_files(self.topdir + "/tmp-sstatesamehash/stamps/" + nativesdkdir, files1)
+ get_files(self.topdir + "/tmp-sstatesamehash2/stamps/" + nativesdkdir, files2)
- files1 = get_files(self.topdir + "/tmp-sstatesamehash/stamps/" + nativesdkdir)
- files2 = get_files(self.topdir + "/tmp-sstatesamehash2/stamps/" + nativesdkdir)
self.maxDiff = None
self.assertEqual(files1, files2)
- if allarch:
- allarchdir = os.path.basename(glob.glob(self.topdir + "/tmp-sstatesamehash/stamps/all-*-linux")[0])
-
- files1 = get_files(self.topdir + "/tmp-sstatesamehash/stamps/" + allarchdir)
- files2 = get_files(self.topdir + "/tmp-sstatesamehash2/stamps/" + allarchdir)
- self.assertEqual(files1, files2)
-
def test_sstate_sametune_samesigs(self):
"""
The sstate checksums of two identical machines (using the same tune) should be the
diff --git a/poky/meta/lib/oeqa/selftest/cases/sysroot.py b/poky/meta/lib/oeqa/selftest/cases/sysroot.py
index 294ba4a4a0..ef854f6fee 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sysroot.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sysroot.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/tinfoil.py b/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
index c81d56d82b..0a66615fd1 100644
--- a/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
+++ b/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py
index 53058df226..0d664d7c39 100644
--- a/poky/meta/lib/oeqa/selftest/cases/wic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/wic.py
@@ -1420,7 +1420,7 @@ class ModifyTests(WicTestCase):
# list directory content of the first partition
result = runCmd("wic ls %s:1 -n %s" % (images[0], sysroot))
- self.assertIn('\n%s ' % kerneltype.upper(), result.output)
+ self.assertIn('\n%s ' % kerneltype.upper(), result.output)
self.assertIn('\nEFI <DIR> ', result.output)
# remove file. EFI partitions are case-insensitive so exercise that too
diff --git a/poky/meta/lib/oeqa/selftest/cases/wrapper.py b/poky/meta/lib/oeqa/selftest/cases/wrapper.py
index 6de63310c0..f2be44262c 100644
--- a/poky/meta/lib/oeqa/selftest/cases/wrapper.py
+++ b/poky/meta/lib/oeqa/selftest/cases/wrapper.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake
diff --git a/poky/meta/lib/oeqa/utils/__init__.py b/poky/meta/lib/oeqa/utils/__init__.py
index 6d1ec4cb99..fbc7f7d525 100644
--- a/poky/meta/lib/oeqa/utils/__init__.py
+++ b/poky/meta/lib/oeqa/utils/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
# Enable other layers to have modules in the same named directory
diff --git a/poky/meta/lib/oeqa/utils/commands.py b/poky/meta/lib/oeqa/utils/commands.py
index 024261410e..f733fcdf3c 100644
--- a/poky/meta/lib/oeqa/utils/commands.py
+++ b/poky/meta/lib/oeqa/utils/commands.py
@@ -168,15 +168,22 @@ class Result(object):
def runCmd(command, ignore_status=False, timeout=None, assert_error=True, sync=True,
- native_sysroot=None, limit_exc_output=0, output_log=None, **options):
+ native_sysroot=None, target_sys=None, limit_exc_output=0, output_log=None, **options):
result = Result()
if native_sysroot:
- extra_paths = "%s/sbin:%s/usr/sbin:%s/usr/bin" % \
- (native_sysroot, native_sysroot, native_sysroot)
- nenv = dict(options.get('env', os.environ))
- nenv['PATH'] = extra_paths + ':' + nenv.get('PATH', '')
- options['env'] = nenv
+ new_env = dict(options.get('env', os.environ))
+ paths = new_env["PATH"].split(":")
+ paths = [
+ os.path.join(native_sysroot, "bin"),
+ os.path.join(native_sysroot, "sbin"),
+ os.path.join(native_sysroot, "usr", "bin"),
+ os.path.join(native_sysroot, "usr", "sbin"),
+ ] + paths
+ if target_sys:
+ paths = [os.path.join(native_sysroot, "usr", "bin", target_sys)] + paths
+ new_env["PATH"] = ":".join(paths)
+ options['env'] = new_env
cmd = Command(command, timeout=timeout, output_log=output_log, **options)
cmd.run()
diff --git a/poky/meta/lib/oeqa/utils/dump.py b/poky/meta/lib/oeqa/utils/dump.py
index 95a79a571c..bcee03b576 100644
--- a/poky/meta/lib/oeqa/utils/dump.py
+++ b/poky/meta/lib/oeqa/utils/dump.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/utils/ftools.py b/poky/meta/lib/oeqa/utils/ftools.py
index 3093419cc7..a50aaa84c2 100644
--- a/poky/meta/lib/oeqa/utils/ftools.py
+++ b/poky/meta/lib/oeqa/utils/ftools.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/utils/httpserver.py b/poky/meta/lib/oeqa/utils/httpserver.py
index 58d3c3b3f8..8ce1dd42f4 100644
--- a/poky/meta/lib/oeqa/utils/httpserver.py
+++ b/poky/meta/lib/oeqa/utils/httpserver.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/utils/logparser.py b/poky/meta/lib/oeqa/utils/logparser.py
index 879aefca33..7cb79a8402 100644
--- a/poky/meta/lib/oeqa/utils/logparser.py
+++ b/poky/meta/lib/oeqa/utils/logparser.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/utils/network.py b/poky/meta/lib/oeqa/utils/network.py
index 59d01723a1..da4ffda9a9 100644
--- a/poky/meta/lib/oeqa/utils/network.py
+++ b/poky/meta/lib/oeqa/utils/network.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/utils/nfs.py b/poky/meta/lib/oeqa/utils/nfs.py
index a37686c914..c1218656ce 100644
--- a/poky/meta/lib/oeqa/utils/nfs.py
+++ b/poky/meta/lib/oeqa/utils/nfs.py
@@ -1,4 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
+#
import os
import sys
import tempfile
diff --git a/poky/meta/lib/oeqa/utils/package_manager.py b/poky/meta/lib/oeqa/utils/package_manager.py
index 6b67f22fdd..db799b64d6 100644
--- a/poky/meta/lib/oeqa/utils/package_manager.py
+++ b/poky/meta/lib/oeqa/utils/package_manager.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index 76296d50cd..4c3d2010fb 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -618,6 +618,8 @@ class QemuRunner:
return self.qmp.cmd(command)
def run_serial(self, command, raw=False, timeout=60):
+ # Returns (status, output) where status is 1 on success and 0 on error
+
# We assume target system have echo to get command status
if not raw:
command = "%s; echo $?\n" % command
diff --git a/poky/meta/lib/oeqa/utils/subprocesstweak.py b/poky/meta/lib/oeqa/utils/subprocesstweak.py
index b47975a4bc..3e43ed547b 100644
--- a/poky/meta/lib/oeqa/utils/subprocesstweak.py
+++ b/poky/meta/lib/oeqa/utils/subprocesstweak.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
import subprocess
diff --git a/poky/meta/lib/rootfspostcommands.py b/poky/meta/lib/rootfspostcommands.py
index fdb9f5b850..5386eea409 100644
--- a/poky/meta/lib/rootfspostcommands.py
+++ b/poky/meta/lib/rootfspostcommands.py
@@ -1,16 +1,19 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
-def sort_file(filename, mapping):
+def sort_shadowutils_file(filename, mapping):
"""
Sorts a passwd or group file based on the numeric ID in the third column.
If a mapping is given, the name from the first column is mapped via that
dictionary instead (necessary for /etc/shadow and /etc/gshadow). If not,
a new mapping is created on the fly and returned.
"""
+
new_mapping = {}
with open(filename, 'rb+') as f:
lines = f.readlines()
@@ -31,30 +34,57 @@ def sort_file(filename, mapping):
# We overwrite the entire file, i.e. no truncate() necessary.
f.seek(0)
f.write(b''.join(lines))
+
return new_mapping
-def remove_backup(filename):
+def sort_shadowutils_files(sysconfdir):
"""
- Removes the backup file for files like /etc/passwd.
+ Sorts shadow-utils 'passwd' and 'group' files in a rootfs' /etc directory
+ by ID.
"""
- backup_filename = filename + '-'
- if os.path.exists(backup_filename):
- os.unlink(backup_filename)
-def sort_passwd(sysconfdir):
- """
- Sorts passwd and group files in a rootfs /etc directory by ID.
- Backup files are sometimes are inconsistent and then cannot be
- sorted (YOCTO #11043), and more importantly, are not needed in
- the initial rootfs, so they get deleted.
- """
for main, shadow in (('passwd', 'shadow'),
('group', 'gshadow')):
filename = os.path.join(sysconfdir, main)
- remove_backup(filename)
if os.path.exists(filename):
- mapping = sort_file(filename, None)
+ mapping = sort_shadowutils_file(filename, None)
filename = os.path.join(sysconfdir, shadow)
- remove_backup(filename)
if os.path.exists(filename):
- sort_file(filename, mapping)
+ sort_shadowutils_file(filename, mapping)
+
+def remove_shadowutils_backup_file(filename):
+ """
+ Remove shadow-utils backup file for files like /etc/passwd.
+ """
+
+ backup_filename = filename + '-'
+ if os.path.exists(backup_filename):
+ os.unlink(backup_filename)
+
+def remove_shadowutils_backup_files(sysconfdir):
+ """
+ Remove shadow-utils backup files in a rootfs /etc directory. They are not
+ needed in the initial root filesystem and sorting them can be inconsistent
+ (YOCTO #11043).
+ """
+
+ for filename in (
+ 'group',
+ 'gshadow',
+ 'passwd',
+ 'shadow',
+ 'subgid',
+ 'subuid',
+ ):
+ filepath = os.path.join(sysconfdir, filename)
+ remove_shadowutils_backup_file(filepath)
+
+def tidy_shadowutils_files(sysconfdir):
+ """
+ Tidy up shadow-utils files.
+ """
+
+ remove_shadowutils_backup_files(sysconfdir)
+ sort_shadowutils_files(sysconfdir)
+
+ return True
diff --git a/poky/meta/recipes-bsp/efivar/efivar/0001-Fix-glibc-2.36-build-mount.h-conflicts.patch b/poky/meta/recipes-bsp/efivar/efivar/0001-Fix-glibc-2.36-build-mount.h-conflicts.patch
new file mode 100644
index 0000000000..28dadabe6b
--- /dev/null
+++ b/poky/meta/recipes-bsp/efivar/efivar/0001-Fix-glibc-2.36-build-mount.h-conflicts.patch
@@ -0,0 +1,60 @@
+From 7b0e7ba674321ec1ddd6b9cbb419e5fb44f88bb3 Mon Sep 17 00:00:00 2001
+From: Robbie Harwood <rharwood@redhat.com>
+Date: Thu, 28 Jul 2022 16:11:24 -0400
+Subject: [PATCH] Fix glibc 2.36 build (mount.h conflicts)
+
+glibc has decided that sys/mount.h and linux/mount.h are no longer
+usable at the same time. This broke the build, since linux/fs.h itself
+includes linux/mount.h. For now, fix the build by only including
+sys/mount.h where we need it.
+
+See-also: https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
+Resolves: #227
+
+Upstream-Status: Backport [https://github.com/rhboot/efivar/commit/bc65d63ebf8fe6ac8a099ff15ca200986dba1565]
+Signed-off-by: Robbie Harwood <rharwood@redhat.com>
+---
+ src/gpt.c | 1 +
+ src/linux.c | 1 +
+ src/util.h | 1 -
+ 3 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/gpt.c b/src/gpt.c
+index 1eda049..21413c3 100644
+--- a/src/gpt.c
++++ b/src/gpt.c
+@@ -17,6 +17,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <sys/mount.h>
+ #include <sys/param.h>
+ #include <sys/stat.h>
+ #include <sys/utsname.h>
+diff --git a/src/linux.c b/src/linux.c
+index 47e45ae..1780816 100644
+--- a/src/linux.c
++++ b/src/linux.c
+@@ -20,6 +20,7 @@
+ #include <stdbool.h>
+ #include <stdio.h>
+ #include <sys/ioctl.h>
++#include <sys/mount.h>
+ #include <sys/socket.h>
+ #include <sys/sysmacros.h>
+ #include <sys/types.h>
+diff --git a/src/util.h b/src/util.h
+index 3300666..1e67e44 100644
+--- a/src/util.h
++++ b/src/util.h
+@@ -23,7 +23,6 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <sys/ioctl.h>
+-#include <sys/mount.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <tgmath.h>
+--
+2.37.1
+
diff --git a/poky/meta/recipes-bsp/efivar/efivar_38.bb b/poky/meta/recipes-bsp/efivar/efivar_38.bb
index 42625fa041..6a6918931b 100644
--- a/poky/meta/recipes-bsp/efivar/efivar_38.bb
+++ b/poky/meta/recipes-bsp/efivar/efivar_38.bb
@@ -12,6 +12,7 @@ SRC_URI = "git://github.com/rhinstaller/efivar.git;branch=main;protocol=https \
file://0001-src-Makefile-build-util.c-separately-for-makeguids.patch \
file://efisecdb-fix-build-with-musl-libc.patch \
file://0001-Fix-invalid-free-in-main.patch \
+ file://0001-Fix-glibc-2.36-build-mount.h-conflicts.patch \
"
SRCREV = "1753149d4176ebfb2b135ac0aaf79340bf0e7a93"
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi/lib-Makefile-fix-parallel-issue.patch b/poky/meta/recipes-bsp/gnu-efi/gnu-efi/lib-Makefile-fix-parallel-issue.patch
deleted file mode 100644
index dc00b8fa4d..0000000000
--- a/poky/meta/recipes-bsp/gnu-efi/gnu-efi/lib-Makefile-fix-parallel-issue.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 3ec8c2a70304eabd5760937a4ec3fbc4068a77ed Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 23 Apr 2015 01:49:31 -0700
-Subject: [PATCH 2/3] lib/Makefile: fix parallel issue
-
-Fixed:
-Assembler messages:
-Fatal error: can't create runtime/rtlock.o: No such file or directory
-Assembler messages:
-Fatal error: can't create runtime/rtdata.o: No such file or directory
-Assembler messages:
-Fatal error: can't create runtime/vm.o: No such file or directory
-Assembler messages:
-Fatal error: can't create runtime/efirtlib.o: No such file or directory
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- lib/Makefile | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/lib/Makefile b/lib/Makefile
-index 048751a..ed39bbb 100644
---- a/lib/Makefile
-+++ b/lib/Makefile
-@@ -74,6 +74,8 @@ all: libsubdirs libefi.a
- libsubdirs:
- for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
-
-+$(OBJS): libsubdirs
-+
- libefi.a: $(OBJS)
- $(AR) $(ARFLAGS) $@ $(OBJS)
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch b/poky/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
index 8a0138bbe5..63d9b6fc31 100644
--- a/poky/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
+++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
@@ -1,7 +1,7 @@
-From 48b2cdbcd761105e8ebad412fcbf23db1ac4ef7c Mon Sep 17 00:00:00 2001
+From f56ddb00a656af2e84f839738fad19909ac65047 Mon Sep 17 00:00:00 2001
From: Saul Wold <sgw@linux.intel.com>
Date: Sun, 9 Mar 2014 15:22:15 +0200
-Subject: [PATCH 1/3] Fix parallel make failure for archives
+Subject: [PATCH] Fix parallel make failure for archives
Upstream-Status: Pending
@@ -20,12 +20,16 @@ Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
[Rebased for 3.0.8]
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ lib/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
diff --git a/lib/Makefile b/lib/Makefile
-index 0e6410d..048751a 100644
+index 1fc6a47..54b0ca7 100644
--- a/lib/Makefile
+++ b/lib/Makefile
-@@ -75,7 +75,7 @@ libsubdirs:
- for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
+@@ -77,7 +77,7 @@ libsubdirs:
+ $(OBJS): libsubdirs
libefi.a: $(OBJS)
- $(AR) $(ARFLAGS) $@ $^
@@ -33,6 +37,3 @@ index 0e6410d..048751a 100644
clean:
rm -f libefi.a *~ $(OBJS) */*.o
---
-2.7.4
-
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb
index 36d10354ed..5ae6f391ae 100644
--- a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb
+++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb
@@ -14,11 +14,10 @@ LIC_FILES_CHKSUM = "file://gnuefi/crt0-efi-arm.S;beginline=4;endline=16;md5=e582
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/files/${BP}.tar.bz2 \
file://parallel-make-archives.patch \
- file://lib-Makefile-fix-parallel-issue.patch \
file://gnu-efi-3.0.9-fix-clang-build.patch \
"
-SRC_URI[sha256sum] = "b73b643a0d5697d1f396d7431448e886dd805668789578e3e1a28277c9528435"
+SRC_URI[sha256sum] = "931a257b9c5c1ba65ff519f18373c438a26825f2db7866b163e96d1b168f20ea"
COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*|riscv64.*)-linux"
COMPATIBLE_HOST:armv4 = 'null'
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2021-3695-video-readers-png-Drop-greyscale-support-to-fix-heap.patch b/poky/meta/recipes-bsp/grub/files/CVE-2021-3695-video-readers-png-Drop-greyscale-support-to-fix-heap.patch
new file mode 100644
index 0000000000..7f7bb1acfe
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/CVE-2021-3695-video-readers-png-Drop-greyscale-support-to-fix-heap.patch
@@ -0,0 +1,179 @@
+From e623866d9286410156e8b9d2c82d6253a1b22d08 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 6 Jul 2021 18:51:35 +1000
+Subject: [PATCH] video/readers/png: Drop greyscale support to fix heap
+ out-of-bounds write
+
+A 16-bit greyscale PNG without alpha is processed in the following loop:
+
+ for (i = 0; i < (data->image_width * data->image_height);
+ i++, d1 += 4, d2 += 2)
+ {
+ d1[R3] = d2[1];
+ d1[G3] = d2[1];
+ d1[B3] = d2[1];
+ }
+
+The increment of d1 is wrong. d1 is incremented by 4 bytes per iteration,
+but there are only 3 bytes allocated for storage. This means that image
+data will overwrite somewhat-attacker-controlled parts of memory - 3 bytes
+out of every 4 following the end of the image.
+
+This has existed since greyscale support was added in 2013 in commit
+3ccf16dff98f (grub-core/video/readers/png.c: Support grayscale).
+
+Saving starfield.png as a 16-bit greyscale image without alpha in the gimp
+and attempting to load it causes grub-emu to crash - I don't think this code
+has ever worked.
+
+Delete all PNG greyscale support.
+
+Fixes: CVE-2021-3695
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE: CVE-2021-3695
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=e623866d9286410156e8b9d2c82d6253a1b22d08
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/video/readers/png.c | 87 +++--------------------------------
+ 1 file changed, 7 insertions(+), 80 deletions(-)
+
+diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
+index 35ae553c8..a3161e25b 100644
+--- a/grub-core/video/readers/png.c
++++ b/grub-core/video/readers/png.c
+@@ -100,7 +100,7 @@ struct grub_png_data
+
+ unsigned image_width, image_height;
+ int bpp, is_16bit;
+- int raw_bytes, is_gray, is_alpha, is_palette;
++ int raw_bytes, is_alpha, is_palette;
+ int row_bytes, color_bits;
+ grub_uint8_t *image_data;
+
+@@ -296,13 +296,13 @@ grub_png_decode_image_header (struct grub_png_data *data)
+ data->bpp = 3;
+ else
+ {
+- data->is_gray = 1;
+- data->bpp = 1;
++ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
++ "png: color type not supported");
+ }
+
+ if ((color_bits != 8) && (color_bits != 16)
+ && (color_bits != 4
+- || !(data->is_gray || data->is_palette)))
++ || !data->is_palette))
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+ "png: bit depth must be 8 or 16");
+
+@@ -331,7 +331,7 @@ grub_png_decode_image_header (struct grub_png_data *data)
+ }
+
+ #ifndef GRUB_CPU_WORDS_BIGENDIAN
+- if (data->is_16bit || data->is_gray || data->is_palette)
++ if (data->is_16bit || data->is_palette)
+ #endif
+ {
+ data->image_data = grub_calloc (data->image_height, data->row_bytes);
+@@ -899,27 +899,8 @@ grub_png_convert_image (struct grub_png_data *data)
+ int shift;
+ int mask = (1 << data->color_bits) - 1;
+ unsigned j;
+- if (data->is_gray)
+- {
+- /* Generic formula is
+- (0xff * i) / ((1U << data->color_bits) - 1)
+- but for allowed bit depth of 1, 2 and for it's
+- equivalent to
+- (0xff / ((1U << data->color_bits) - 1)) * i
+- Precompute the multipliers to avoid division.
+- */
+-
+- const grub_uint8_t multipliers[5] = { 0xff, 0xff, 0x55, 0x24, 0x11 };
+- for (i = 0; i < (1U << data->color_bits); i++)
+- {
+- grub_uint8_t col = multipliers[data->color_bits] * i;
+- palette[i][0] = col;
+- palette[i][1] = col;
+- palette[i][2] = col;
+- }
+- }
+- else
+- grub_memcpy (palette, data->palette, 3 << data->color_bits);
++
++ grub_memcpy (palette, data->palette, 3 << data->color_bits);
+ d1c = d1;
+ d2c = d2;
+ for (j = 0; j < data->image_height; j++, d1c += data->image_width * 3,
+@@ -957,60 +938,6 @@ grub_png_convert_image (struct grub_png_data *data)
+ return;
+ }
+
+- if (data->is_gray)
+- {
+- switch (data->bpp)
+- {
+- case 4:
+- /* 16-bit gray with alpha. */
+- for (i = 0; i < (data->image_width * data->image_height);
+- i++, d1 += 4, d2 += 4)
+- {
+- d1[R4] = d2[3];
+- d1[G4] = d2[3];
+- d1[B4] = d2[3];
+- d1[A4] = d2[1];
+- }
+- break;
+- case 2:
+- if (data->is_16bit)
+- /* 16-bit gray without alpha. */
+- {
+- for (i = 0; i < (data->image_width * data->image_height);
+- i++, d1 += 4, d2 += 2)
+- {
+- d1[R3] = d2[1];
+- d1[G3] = d2[1];
+- d1[B3] = d2[1];
+- }
+- }
+- else
+- /* 8-bit gray with alpha. */
+- {
+- for (i = 0; i < (data->image_width * data->image_height);
+- i++, d1 += 4, d2 += 2)
+- {
+- d1[R4] = d2[1];
+- d1[G4] = d2[1];
+- d1[B4] = d2[1];
+- d1[A4] = d2[0];
+- }
+- }
+- break;
+- /* 8-bit gray without alpha. */
+- case 1:
+- for (i = 0; i < (data->image_width * data->image_height);
+- i++, d1 += 3, d2++)
+- {
+- d1[R3] = d2[0];
+- d1[G3] = d2[0];
+- d1[B3] = d2[0];
+- }
+- break;
+- }
+- return;
+- }
+-
+ {
+ /* Only copy the upper 8 bit. */
+ #ifndef GRUB_CPU_WORDS_BIGENDIAN
+--
+2.34.1
+
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2021-3696-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff.patch b/poky/meta/recipes-bsp/grub/files/CVE-2021-3696-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff.patch
new file mode 100644
index 0000000000..f06514e665
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/CVE-2021-3696-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff.patch
@@ -0,0 +1,50 @@
+From 210245129c932dc9e1c2748d9d35524fb95b5042 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 6 Jul 2021 23:25:07 +1000
+Subject: [PATCH] video/readers/png: Avoid heap OOB R/W inserting huff table
+ items
+
+In fuzzing we observed crashes where a code would attempt to be inserted
+into a huffman table before the start, leading to a set of heap OOB reads
+and writes as table entries with negative indices were shifted around and
+the new code written in.
+
+Catch the case where we would underflow the array and bail.
+
+Fixes: CVE-2021-3696
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE: CVE-2021-3696
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=210245129c932dc9e1c2748d9d35524fb95b5042
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/video/readers/png.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
+index a3161e25b..d7ed5aa6c 100644
+--- a/grub-core/video/readers/png.c
++++ b/grub-core/video/readers/png.c
+@@ -438,6 +438,13 @@ grub_png_insert_huff_item (struct huff_table *ht, int code, int len)
+ for (i = len; i < ht->max_length; i++)
+ n += ht->maxval[i];
+
++ if (n > ht->num_values)
++ {
++ grub_error (GRUB_ERR_BAD_FILE_TYPE,
++ "png: out of range inserting huffman table item");
++ return;
++ }
++
+ for (i = 0; i < n; i++)
+ ht->values[ht->num_values - i] = ht->values[ht->num_values - i - 1];
+
+--
+2.34.1
+
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2021-3697-video-readers-jpeg-Block-int-underflow-wild-pointer.patch b/poky/meta/recipes-bsp/grub/files/CVE-2021-3697-video-readers-jpeg-Block-int-underflow-wild-pointer.patch
new file mode 100644
index 0000000000..e9fc52df86
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/CVE-2021-3697-video-readers-jpeg-Block-int-underflow-wild-pointer.patch
@@ -0,0 +1,84 @@
+From 22a3f97d39f6a10b08ad7fd1cc47c4dcd10413f6 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Wed, 7 Jul 2021 15:38:19 +1000
+Subject: [PATCH] video/readers/jpeg: Block int underflow -> wild pointer write
+
+Certain 1 px wide images caused a wild pointer write in
+grub_jpeg_ycrcb_to_rgb(). This was caused because in grub_jpeg_decode_data(),
+we have the following loop:
+
+for (; data->r1 < nr1 && (!data->dri || rst);
+ data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3)
+
+We did not check if vb * width >= hb * nc1.
+
+On a 64-bit platform, if that turns out to be negative, it will underflow,
+be interpreted as unsigned 64-bit, then be added to the 64-bit pointer, so
+we see data->bitmap_ptr jump, e.g.:
+
+0x6180_0000_0480 to
+0x6181_0000_0498
+ ^
+ ~--- carry has occurred and this pointer is now far away from
+ any object.
+
+On a 32-bit platform, it will decrement the pointer, creating a pointer
+that won't crash but will overwrite random data.
+
+Catch the underflow and error out.
+
+Fixes: CVE-2021-3697
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE: CVE-2021-3697
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=22a3f97d39f6a10b08ad7fd1cc47c4dcd10413f6
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/video/readers/jpeg.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
+index 579bbe8a4..09596fbf5 100644
+--- a/grub-core/video/readers/jpeg.c
++++ b/grub-core/video/readers/jpeg.c
+@@ -23,6 +23,7 @@
+ #include <grub/mm.h>
+ #include <grub/misc.h>
+ #include <grub/bufio.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -699,6 +700,7 @@ static grub_err_t
+ grub_jpeg_decode_data (struct grub_jpeg_data *data)
+ {
+ unsigned c1, vb, hb, nr1, nc1;
++ unsigned stride_a, stride_b, stride;
+ int rst = data->dri;
+ grub_err_t err = GRUB_ERR_NONE;
+
+@@ -711,8 +713,14 @@ grub_jpeg_decode_data (struct grub_jpeg_data *data)
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+ "jpeg: attempted to decode data before start of stream");
+
++ if (grub_mul(vb, data->image_width, &stride_a) ||
++ grub_mul(hb, nc1, &stride_b) ||
++ grub_sub(stride_a, stride_b, &stride))
++ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
++ "jpeg: cannot decode image with these dimensions");
++
+ for (; data->r1 < nr1 && (!data->dri || rst);
+- data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3)
++ data->r1++, data->bitmap_ptr += stride * 3)
+ for (c1 = 0; c1 < nc1 && (!data->dri || rst);
+ c1++, rst--, data->bitmap_ptr += hb * 3)
+ {
+--
+2.34.1
+
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2022-28733-net-ip-Do-IP-fragment-maths-safely.patch b/poky/meta/recipes-bsp/grub/files/CVE-2022-28733-net-ip-Do-IP-fragment-maths-safely.patch
new file mode 100644
index 0000000000..8bf9090f94
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/CVE-2022-28733-net-ip-Do-IP-fragment-maths-safely.patch
@@ -0,0 +1,63 @@
+From 3e4817538de828319ba6d59ced2fbb9b5ca13287 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 20 Dec 2021 19:41:21 +1100
+Subject: [PATCH] net/ip: Do IP fragment maths safely
+
+We can receive packets with invalid IP fragmentation information. This
+can lead to rsm->total_len underflowing and becoming very large.
+
+Then, in grub_netbuff_alloc(), we add to this very large number, which can
+cause it to overflow and wrap back around to a small positive number.
+The allocation then succeeds, but the resulting buffer is too small and
+subsequent operations can write past the end of the buffer.
+
+Catch the underflow here.
+
+Fixes: CVE-2022-28733
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE: CVE-2022-28733
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=3e4817538de828319ba6d59ced2fbb9b5ca13287
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+
+---
+ grub-core/net/ip.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/net/ip.c b/grub-core/net/ip.c
+index e3d62e97f..3c3d0be0e 100644
+--- a/grub-core/net/ip.c
++++ b/grub-core/net/ip.c
+@@ -25,6 +25,7 @@
+ #include <grub/net/netbuff.h>
+ #include <grub/mm.h>
+ #include <grub/priority_queue.h>
++#include <grub/safemath.h>
+ #include <grub/time.h>
+
+ struct iphdr {
+@@ -512,7 +513,14 @@ grub_net_recv_ip4_packets (struct grub_net_buff *nb,
+ {
+ rsm->total_len = (8 * (grub_be_to_cpu16 (iph->frags) & OFFSET_MASK)
+ + (nb->tail - nb->data));
+- rsm->total_len -= ((iph->verhdrlen & 0xf) * sizeof (grub_uint32_t));
++
++ if (grub_sub (rsm->total_len, (iph->verhdrlen & 0xf) * sizeof (grub_uint32_t),
++ &rsm->total_len))
++ {
++ grub_dprintf ("net", "IP reassembly size underflow\n");
++ return GRUB_ERR_NONE;
++ }
++
+ rsm->asm_netbuff = grub_netbuff_alloc (rsm->total_len);
+ if (!rsm->asm_netbuff)
+ {
+--
+2.34.1
+
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2022-28734-net-http-Error-out-on-headers-with-LF-without-CR.patch b/poky/meta/recipes-bsp/grub/files/CVE-2022-28734-net-http-Error-out-on-headers-with-LF-without-CR.patch
new file mode 100644
index 0000000000..f31167d315
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/CVE-2022-28734-net-http-Error-out-on-headers-with-LF-without-CR.patch
@@ -0,0 +1,58 @@
+From b26b4c08e7119281ff30d0fb4a6169bd2afa8fe4 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 8 Mar 2022 19:04:40 +1100
+Subject: [PATCH] net/http: Error out on headers with LF without CR
+
+In a similar vein to the previous patch, parse_line() would write
+a NUL byte past the end of the buffer if there was an HTTP header
+with a LF rather than a CRLF.
+
+RFC-2616 says:
+
+ Many HTTP/1.1 header field values consist of words separated by LWS
+ or special characters. These special characters MUST be in a quoted
+ string to be used within a parameter value (as defined in section 3.6).
+
+We don't support quoted sections or continuation lines, etc.
+
+If we see an LF that's not part of a CRLF, bail out.
+
+Fixes: CVE-2022-28734
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE: CVE-2022-28734
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=b26b4c08e7119281ff30d0fb4a6169bd2afa8fe4
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/net/http.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/grub-core/net/http.c b/grub-core/net/http.c
+index 33a0a28c4..9291a13e2 100644
+--- a/grub-core/net/http.c
++++ b/grub-core/net/http.c
+@@ -68,7 +68,15 @@ parse_line (grub_file_t file, http_data_t data, char *ptr, grub_size_t len)
+ char *end = ptr + len;
+ while (end > ptr && *(end - 1) == '\r')
+ end--;
++
++ /* LF without CR. */
++ if (end == ptr + len)
++ {
++ data->errmsg = grub_strdup (_("invalid HTTP header - LF without CR"));
++ return GRUB_ERR_NONE;
++ }
+ *end = 0;
++
+ /* Trailing CRLF. */
+ if (data->in_chunk_len == 1)
+ {
+--
+2.34.1
+
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2022-28734-net-http-Fix-OOB-write-for-split-http-headers.patch b/poky/meta/recipes-bsp/grub/files/CVE-2022-28734-net-http-Fix-OOB-write-for-split-http-headers.patch
new file mode 100644
index 0000000000..e0ca1eec44
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/CVE-2022-28734-net-http-Fix-OOB-write-for-split-http-headers.patch
@@ -0,0 +1,56 @@
+From ec6bfd3237394c1c7dbf2fd73417173318d22f4b Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 8 Mar 2022 18:17:03 +1100
+Subject: [PATCH] net/http: Fix OOB write for split http headers
+
+GRUB has special code for handling an http header that is split
+across two packets.
+
+The code tracks the end of line by looking for a "\n" byte. The
+code for split headers has always advanced the pointer just past the
+end of the line, whereas the code that handles unsplit headers does
+not advance the pointer. This extra advance causes the length to be
+one greater, which breaks an assumption in parse_line(), leading to
+it writing a NUL byte one byte past the end of the buffer where we
+reconstruct the line from the two packets.
+
+It's conceivable that an attacker controlled set of packets could
+cause this to zero out the first byte of the "next" pointer of the
+grub_mm_region structure following the current_line buffer.
+
+Do not advance the pointer in the split header case.
+
+Fixes: CVE-2022-28734
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE: CVE-2022-28734
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=ec6bfd3237394c1c7dbf2fd73417173318d22f4b
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/net/http.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/grub-core/net/http.c b/grub-core/net/http.c
+index f8d7bf0cd..33a0a28c4 100644
+--- a/grub-core/net/http.c
++++ b/grub-core/net/http.c
+@@ -190,9 +190,7 @@ http_receive (grub_net_tcp_socket_t sock __attribute__ ((unused)),
+ int have_line = 1;
+ char *t;
+ ptr = grub_memchr (nb->data, '\n', nb->tail - nb->data);
+- if (ptr)
+- ptr++;
+- else
++ if (ptr == NULL)
+ {
+ have_line = 0;
+ ptr = (char *) nb->tail;
+--
+2.34.1
+
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2022-28735-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch b/poky/meta/recipes-bsp/grub/files/CVE-2022-28735-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch
new file mode 100644
index 0000000000..7a59f10bfb
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/CVE-2022-28735-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch
@@ -0,0 +1,111 @@
+From 6fe755c5c07bb386fda58306bfd19e4a1c974c53 Mon Sep 17 00:00:00 2001
+From: Julian Andres Klode <julian.klode@canonical.com>
+Date: Thu, 2 Dec 2021 15:03:53 +0100
+Subject: [PATCH] kern/efi/sb: Reject non-kernel files in the shim_lock
+ verifier
+
+We must not allow other verifiers to pass things like the GRUB modules.
+Instead of maintaining a blocklist, maintain an allowlist of things
+that we do not care about.
+
+This allowlist really should be made reusable, and shared by the
+lockdown verifier, but this is the minimal patch addressing
+security concerns where the TPM verifier was able to mark modules
+as verified (or the OpenPGP verifier for that matter), when it
+should not do so on shim-powered secure boot systems.
+
+Fixes: CVE-2022-28735
+
+Signed-off-by: Julian Andres Klode <julian.klode@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE:CVE-2022-28735
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=6fe755c5c07bb386fda58306bfd19e4a1c974c53
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/kern/efi/sb.c | 39 ++++++++++++++++++++++++++++++++++++---
+ include/grub/verify.h | 1 +
+ 2 files changed, 37 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c
+index c52ec6226..89c4bb3fd 100644
+--- a/grub-core/kern/efi/sb.c
++++ b/grub-core/kern/efi/sb.c
+@@ -119,10 +119,11 @@ shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)),
+ void **context __attribute__ ((unused)),
+ enum grub_verify_flags *flags)
+ {
+- *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION;
++ *flags = GRUB_VERIFY_FLAGS_NONE;
+
+ switch (type & GRUB_FILE_TYPE_MASK)
+ {
++ /* Files we check. */
+ case GRUB_FILE_TYPE_LINUX_KERNEL:
+ case GRUB_FILE_TYPE_MULTIBOOT_KERNEL:
+ case GRUB_FILE_TYPE_BSD_KERNEL:
+@@ -130,11 +131,43 @@ shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)),
+ case GRUB_FILE_TYPE_PLAN9_KERNEL:
+ case GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE:
+ *flags = GRUB_VERIFY_FLAGS_SINGLE_CHUNK;
++ return GRUB_ERR_NONE;
+
+- /* Fall through. */
++ /* Files that do not affect secureboot state. */
++ case GRUB_FILE_TYPE_NONE:
++ case GRUB_FILE_TYPE_LOOPBACK:
++ case GRUB_FILE_TYPE_LINUX_INITRD:
++ case GRUB_FILE_TYPE_OPENBSD_RAMDISK:
++ case GRUB_FILE_TYPE_XNU_RAMDISK:
++ case GRUB_FILE_TYPE_SIGNATURE:
++ case GRUB_FILE_TYPE_PUBLIC_KEY:
++ case GRUB_FILE_TYPE_PUBLIC_KEY_TRUST:
++ case GRUB_FILE_TYPE_PRINT_BLOCKLIST:
++ case GRUB_FILE_TYPE_TESTLOAD:
++ case GRUB_FILE_TYPE_GET_SIZE:
++ case GRUB_FILE_TYPE_FONT:
++ case GRUB_FILE_TYPE_ZFS_ENCRYPTION_KEY:
++ case GRUB_FILE_TYPE_CAT:
++ case GRUB_FILE_TYPE_HEXCAT:
++ case GRUB_FILE_TYPE_CMP:
++ case GRUB_FILE_TYPE_HASHLIST:
++ case GRUB_FILE_TYPE_TO_HASH:
++ case GRUB_FILE_TYPE_KEYBOARD_LAYOUT:
++ case GRUB_FILE_TYPE_PIXMAP:
++ case GRUB_FILE_TYPE_GRUB_MODULE_LIST:
++ case GRUB_FILE_TYPE_CONFIG:
++ case GRUB_FILE_TYPE_THEME:
++ case GRUB_FILE_TYPE_GETTEXT_CATALOG:
++ case GRUB_FILE_TYPE_FS_SEARCH:
++ case GRUB_FILE_TYPE_LOADENV:
++ case GRUB_FILE_TYPE_SAVEENV:
++ case GRUB_FILE_TYPE_VERIFY_SIGNATURE:
++ *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION;
++ return GRUB_ERR_NONE;
+
++ /* Other files. */
+ default:
+- return GRUB_ERR_NONE;
++ return grub_error (GRUB_ERR_ACCESS_DENIED, N_("prohibited by secure boot policy"));
+ }
+ }
+
+diff --git a/include/grub/verify.h b/include/grub/verify.h
+index cd129c398..672ae1692 100644
+--- a/include/grub/verify.h
++++ b/include/grub/verify.h
+@@ -24,6 +24,7 @@
+
+ enum grub_verify_flags
+ {
++ GRUB_VERIFY_FLAGS_NONE = 0,
+ GRUB_VERIFY_FLAGS_SKIP_VERIFICATION = 1,
+ GRUB_VERIFY_FLAGS_SINGLE_CHUNK = 2,
+ /* Defer verification to another authority. */
+--
+2.34.1
+
diff --git a/poky/meta/recipes-bsp/grub/files/video-Remove-trailing-whitespaces.patch b/poky/meta/recipes-bsp/grub/files/video-Remove-trailing-whitespaces.patch
new file mode 100644
index 0000000000..2db9bcbbc5
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/video-Remove-trailing-whitespaces.patch
@@ -0,0 +1,693 @@
+From 1f48917d8ddb490dcdc70176e0f58136b7f7811a Mon Sep 17 00:00:00 2001
+From: Elyes Haouas <ehaouas@noos.fr>
+Date: Fri, 4 Mar 2022 07:42:13 +0100
+Subject: [PATCH] video: Remove trailing whitespaces
+
+Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=1f48917d8ddb490dcdc70176e0f58136b7f7811a
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/video/bochs.c | 2 +-
+ grub-core/video/capture.c | 2 +-
+ grub-core/video/cirrus.c | 4 ++--
+ grub-core/video/coreboot/cbfb.c | 2 +-
+ grub-core/video/efi_gop.c | 22 +++++++++----------
+ grub-core/video/fb/fbblit.c | 8 +++----
+ grub-core/video/fb/video_fb.c | 10 ++++-----
+ grub-core/video/i386/pc/vbe.c | 34 ++++++++++++++---------------
+ grub-core/video/i386/pc/vga.c | 6 ++---
+ grub-core/video/ieee1275.c | 4 ++--
+ grub-core/video/radeon_fuloong2e.c | 6 ++---
+ grub-core/video/radeon_yeeloong3a.c | 6 ++---
+ grub-core/video/readers/png.c | 2 +-
+ grub-core/video/readers/tga.c | 2 +-
+ grub-core/video/sis315_init.c | 2 +-
+ grub-core/video/sis315pro.c | 8 +++----
+ grub-core/video/sm712.c | 10 ++++-----
+ grub-core/video/video.c | 8 +++----
+ 18 files changed, 69 insertions(+), 69 deletions(-)
+
+diff --git a/grub-core/video/bochs.c b/grub-core/video/bochs.c
+index 30ea1bd82..edc651697 100644
+--- a/grub-core/video/bochs.c
++++ b/grub-core/video/bochs.c
+@@ -212,7 +212,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
+
+ if (((class >> 16) & 0xffff) != 0x0300 || pciid != 0x11111234)
+ return 0;
+-
++
+ addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
+ framebuffer.base = grub_pci_read (addr) & GRUB_PCI_ADDR_MEM_MASK;
+ if (!framebuffer.base)
+diff --git a/grub-core/video/capture.c b/grub-core/video/capture.c
+index 4d3195e01..c653d89f9 100644
+--- a/grub-core/video/capture.c
++++ b/grub-core/video/capture.c
+@@ -92,7 +92,7 @@ grub_video_capture_start (const struct grub_video_mode_info *mode_info,
+ framebuffer.ptr = grub_calloc (framebuffer.mode_info.height, framebuffer.mode_info.pitch);
+ if (!framebuffer.ptr)
+ return grub_errno;
+-
++
+ err = grub_video_fb_create_render_target_from_pointer (&framebuffer.render_target,
+ &framebuffer.mode_info,
+ framebuffer.ptr);
+diff --git a/grub-core/video/cirrus.c b/grub-core/video/cirrus.c
+index e2149e8ce..f5542ccdc 100644
+--- a/grub-core/video/cirrus.c
++++ b/grub-core/video/cirrus.c
+@@ -354,11 +354,11 @@ grub_video_cirrus_setup (unsigned int width, unsigned int height,
+ grub_uint8_t sr_ext = 0, hidden_dac = 0;
+
+ grub_vga_set_geometry (&config, grub_vga_cr_write);
+-
++
+ grub_vga_gr_write (GRUB_VGA_GR_MODE_256_COLOR | GRUB_VGA_GR_MODE_READ_MODE1,
+ GRUB_VGA_GR_MODE);
+ grub_vga_gr_write (GRUB_VGA_GR_GR6_GRAPHICS_MODE, GRUB_VGA_GR_GR6);
+-
++
+ grub_vga_sr_write (GRUB_VGA_SR_MEMORY_MODE_NORMAL, GRUB_VGA_SR_MEMORY_MODE);
+
+ grub_vga_cr_write ((config.pitch >> CIRRUS_CR_EXTENDED_DISPLAY_PITCH_SHIFT)
+diff --git a/grub-core/video/coreboot/cbfb.c b/grub-core/video/coreboot/cbfb.c
+index 9af81fa5b..986003c51 100644
+--- a/grub-core/video/coreboot/cbfb.c
++++ b/grub-core/video/coreboot/cbfb.c
+@@ -106,7 +106,7 @@ grub_video_cbfb_setup (unsigned int width, unsigned int height,
+
+ grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS,
+ grub_video_fbstd_colors);
+-
++
+ return err;
+ }
+
+diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c
+index b7590dc6c..7a5054631 100644
+--- a/grub-core/video/efi_gop.c
++++ b/grub-core/video/efi_gop.c
+@@ -273,7 +273,7 @@ grub_video_gop_iterate (int (*hook) (const struct grub_video_mode_info *info, vo
+ grub_efi_status_t status;
+ struct grub_efi_gop_mode_info *info = NULL;
+ struct grub_video_mode_info mode_info;
+-
++
+ status = efi_call_4 (gop->query_mode, gop, mode, &size, &info);
+
+ if (status)
+@@ -390,7 +390,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+ found = 1;
+ }
+ }
+-
++
+ if (!found)
+ {
+ unsigned mode;
+@@ -399,7 +399,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+ {
+ grub_efi_uintn_t size;
+ grub_efi_status_t status;
+-
++
+ status = efi_call_4 (gop->query_mode, gop, mode, &size, &info);
+ if (status)
+ {
+@@ -472,11 +472,11 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+ framebuffer.ptr = (void *) (grub_addr_t) gop->mode->fb_base;
+ framebuffer.offscreen
+ = grub_malloc (framebuffer.mode_info.height
+- * framebuffer.mode_info.width
++ * framebuffer.mode_info.width
+ * sizeof (struct grub_efi_gop_blt_pixel));
+
+ buffer = framebuffer.offscreen;
+-
++
+ if (!buffer)
+ {
+ grub_dprintf ("video", "GOP: couldn't allocate shadow\n");
+@@ -485,11 +485,11 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+ &framebuffer.mode_info);
+ buffer = framebuffer.ptr;
+ }
+-
++
+ grub_dprintf ("video", "GOP: initialising FB @ %p %dx%dx%d\n",
+ framebuffer.ptr, framebuffer.mode_info.width,
+ framebuffer.mode_info.height, framebuffer.mode_info.bpp);
+-
++
+ err = grub_video_fb_create_render_target_from_pointer
+ (&framebuffer.render_target, &framebuffer.mode_info, buffer);
+
+@@ -498,15 +498,15 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+ grub_dprintf ("video", "GOP: Couldn't create FB target\n");
+ return err;
+ }
+-
++
+ err = grub_video_fb_set_active_render_target (framebuffer.render_target);
+-
++
+ if (err)
+ {
+ grub_dprintf ("video", "GOP: Couldn't set FB target\n");
+ return err;
+ }
+-
++
+ err = grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS,
+ grub_video_fbstd_colors);
+
+@@ -514,7 +514,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+ grub_dprintf ("video", "GOP: Couldn't set palette\n");
+ else
+ grub_dprintf ("video", "GOP: Success\n");
+-
++
+ return err;
+ }
+
+diff --git a/grub-core/video/fb/fbblit.c b/grub-core/video/fb/fbblit.c
+index d55924837..1010ef393 100644
+--- a/grub-core/video/fb/fbblit.c
++++ b/grub-core/video/fb/fbblit.c
+@@ -466,7 +466,7 @@ grub_video_fbblit_replace_24bit_indexa (struct grub_video_fbblit_info *dst,
+ for (i = 0; i < width; i++)
+ {
+ register grub_uint32_t col;
+- if (*srcptr == 0xf0)
++ if (*srcptr == 0xf0)
+ col = palette[16];
+ else
+ col = palette[*srcptr & 0xf];
+@@ -478,7 +478,7 @@ grub_video_fbblit_replace_24bit_indexa (struct grub_video_fbblit_info *dst,
+ *dstptr++ = col >> 0;
+ *dstptr++ = col >> 8;
+ *dstptr++ = col >> 16;
+-#endif
++#endif
+ srcptr++;
+ }
+
+@@ -651,7 +651,7 @@ grub_video_fbblit_blend_24bit_indexa (struct grub_video_fbblit_info *dst,
+ for (i = 0; i < width; i++)
+ {
+ register grub_uint32_t col;
+- if (*srcptr != 0xf0)
++ if (*srcptr != 0xf0)
+ {
+ col = palette[*srcptr & 0xf];
+ #ifdef GRUB_CPU_WORDS_BIGENDIAN
+@@ -662,7 +662,7 @@ grub_video_fbblit_blend_24bit_indexa (struct grub_video_fbblit_info *dst,
+ *dstptr++ = col >> 0;
+ *dstptr++ = col >> 8;
+ *dstptr++ = col >> 16;
+-#endif
++#endif
+ }
+ else
+ dstptr += 3;
+diff --git a/grub-core/video/fb/video_fb.c b/grub-core/video/fb/video_fb.c
+index ae6b89f9a..fa4ebde26 100644
+--- a/grub-core/video/fb/video_fb.c
++++ b/grub-core/video/fb/video_fb.c
+@@ -754,7 +754,7 @@ grub_video_fb_unmap_color_int (struct grub_video_fbblit_info * source,
+ *alpha = 0;
+ return;
+ }
+-
++
+ /* If we have an out-of-bounds color, return transparent black. */
+ if (color > 255)
+ {
+@@ -1141,7 +1141,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy)
+ /* If everything is aligned on 32-bit use 32-bit copy. */
+ if ((grub_addr_t) grub_video_fb_get_video_ptr (&target, src_x, src_y)
+ % sizeof (grub_uint32_t) == 0
+- && (grub_addr_t) grub_video_fb_get_video_ptr (&target, dst_x, dst_y)
++ && (grub_addr_t) grub_video_fb_get_video_ptr (&target, dst_x, dst_y)
+ % sizeof (grub_uint32_t) == 0
+ && linelen % sizeof (grub_uint32_t) == 0
+ && linedelta % sizeof (grub_uint32_t) == 0)
+@@ -1155,7 +1155,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy)
+ else if ((grub_addr_t) grub_video_fb_get_video_ptr (&target, src_x, src_y)
+ % sizeof (grub_uint16_t) == 0
+ && (grub_addr_t) grub_video_fb_get_video_ptr (&target,
+- dst_x, dst_y)
++ dst_x, dst_y)
+ % sizeof (grub_uint16_t) == 0
+ && linelen % sizeof (grub_uint16_t) == 0
+ && linedelta % sizeof (grub_uint16_t) == 0)
+@@ -1170,7 +1170,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy)
+ {
+ grub_uint8_t *src, *dst;
+ DO_SCROLL
+- }
++ }
+ }
+
+ /* 4. Fill empty space with specified color. In this implementation
+@@ -1615,7 +1615,7 @@ grub_video_fb_setup (unsigned int mode_type, unsigned int mode_mask,
+ framebuffer.render_target = framebuffer.back_target;
+ return GRUB_ERR_NONE;
+ }
+-
++
+ mode_info->mode_type &= ~(GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED
+ | GRUB_VIDEO_MODE_TYPE_UPDATING_SWAP);
+
+diff --git a/grub-core/video/i386/pc/vbe.c b/grub-core/video/i386/pc/vbe.c
+index b7f911926..0e65b5206 100644
+--- a/grub-core/video/i386/pc/vbe.c
++++ b/grub-core/video/i386/pc/vbe.c
+@@ -219,7 +219,7 @@ grub_vbe_disable_mtrr (int mtrr)
+ }
+
+ /* Call VESA BIOS 0x4f09 to set palette data, return status. */
+-static grub_vbe_status_t
++static grub_vbe_status_t
+ grub_vbe_bios_set_palette_data (grub_uint32_t color_count,
+ grub_uint32_t start_index,
+ struct grub_vbe_palette_data *palette_data)
+@@ -237,7 +237,7 @@ grub_vbe_bios_set_palette_data (grub_uint32_t color_count,
+ }
+
+ /* Call VESA BIOS 0x4f00 to get VBE Controller Information, return status. */
+-grub_vbe_status_t
++grub_vbe_status_t
+ grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *ci)
+ {
+ struct grub_bios_int_registers regs;
+@@ -251,7 +251,7 @@ grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *ci)
+ }
+
+ /* Call VESA BIOS 0x4f01 to get VBE Mode Information, return status. */
+-grub_vbe_status_t
++grub_vbe_status_t
+ grub_vbe_bios_get_mode_info (grub_uint32_t mode,
+ struct grub_vbe_mode_info_block *mode_info)
+ {
+@@ -285,7 +285,7 @@ grub_vbe_bios_set_mode (grub_uint32_t mode,
+ }
+
+ /* Call VESA BIOS 0x4f03 to return current VBE Mode, return status. */
+-grub_vbe_status_t
++grub_vbe_status_t
+ grub_vbe_bios_get_mode (grub_uint32_t *mode)
+ {
+ struct grub_bios_int_registers regs;
+@@ -298,7 +298,7 @@ grub_vbe_bios_get_mode (grub_uint32_t *mode)
+ return regs.eax & 0xffff;
+ }
+
+-grub_vbe_status_t
++grub_vbe_status_t
+ grub_vbe_bios_getset_dac_palette_width (int set, int *dac_mask_size)
+ {
+ struct grub_bios_int_registers regs;
+@@ -346,7 +346,7 @@ grub_vbe_bios_get_memory_window (grub_uint32_t window,
+ }
+
+ /* Call VESA BIOS 0x4f06 to set scanline length (in bytes), return status. */
+-grub_vbe_status_t
++grub_vbe_status_t
+ grub_vbe_bios_set_scanline_length (grub_uint32_t length)
+ {
+ struct grub_bios_int_registers regs;
+@@ -354,14 +354,14 @@ grub_vbe_bios_set_scanline_length (grub_uint32_t length)
+ regs.ecx = length;
+ regs.eax = 0x4f06;
+ /* BL = 2, Set Scan Line in Bytes. */
+- regs.ebx = 0x0002;
++ regs.ebx = 0x0002;
+ regs.flags = GRUB_CPU_INT_FLAGS_DEFAULT;
+ grub_bios_interrupt (0x10, &regs);
+ return regs.eax & 0xffff;
+ }
+
+ /* Call VESA BIOS 0x4f06 to return scanline length (in bytes), return status. */
+-grub_vbe_status_t
++grub_vbe_status_t
+ grub_vbe_bios_get_scanline_length (grub_uint32_t *length)
+ {
+ struct grub_bios_int_registers regs;
+@@ -377,7 +377,7 @@ grub_vbe_bios_get_scanline_length (grub_uint32_t *length)
+ }
+
+ /* Call VESA BIOS 0x4f07 to set display start, return status. */
+-static grub_vbe_status_t
++static grub_vbe_status_t
+ grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y)
+ {
+ struct grub_bios_int_registers regs;
+@@ -390,7 +390,7 @@ grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y)
+ regs.edx = y;
+ regs.eax = 0x4f07;
+ /* BL = 80h, Set Display Start during Vertical Retrace. */
+- regs.ebx = 0x0080;
++ regs.ebx = 0x0080;
+ regs.flags = GRUB_CPU_INT_FLAGS_DEFAULT;
+ grub_bios_interrupt (0x10, &regs);
+
+@@ -401,7 +401,7 @@ grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y)
+ }
+
+ /* Call VESA BIOS 0x4f07 to get display start, return status. */
+-grub_vbe_status_t
++grub_vbe_status_t
+ grub_vbe_bios_get_display_start (grub_uint32_t *x,
+ grub_uint32_t *y)
+ {
+@@ -419,7 +419,7 @@ grub_vbe_bios_get_display_start (grub_uint32_t *x,
+ }
+
+ /* Call VESA BIOS 0x4f0a. */
+-grub_vbe_status_t
++grub_vbe_status_t
+ grub_vbe_bios_get_pm_interface (grub_uint16_t *segment, grub_uint16_t *offset,
+ grub_uint16_t *length)
+ {
+@@ -896,7 +896,7 @@ vbe2videoinfo (grub_uint32_t mode,
+ case GRUB_VBE_MEMORY_MODEL_YUV:
+ mode_info->mode_type |= GRUB_VIDEO_MODE_TYPE_YUV;
+ break;
+-
++
+ case GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR:
+ mode_info->mode_type |= GRUB_VIDEO_MODE_TYPE_RGB;
+ break;
+@@ -923,10 +923,10 @@ vbe2videoinfo (grub_uint32_t mode,
+ break;
+ case 8:
+ mode_info->bytes_per_pixel = 1;
+- break;
++ break;
+ case 4:
+ mode_info->bytes_per_pixel = 0;
+- break;
++ break;
+ }
+
+ if (controller_info.version >= 0x300)
+@@ -976,7 +976,7 @@ grub_video_vbe_iterate (int (*hook) (const struct grub_video_mode_info *info, vo
+
+ static grub_err_t
+ grub_video_vbe_setup (unsigned int width, unsigned int height,
+- grub_video_mode_type_t mode_type,
++ grub_video_mode_type_t mode_type,
+ grub_video_mode_type_t mode_mask)
+ {
+ grub_uint16_t *p;
+@@ -1193,7 +1193,7 @@ grub_video_vbe_print_adapter_specific_info (void)
+ controller_info.version & 0xFF,
+ controller_info.oem_software_rev >> 8,
+ controller_info.oem_software_rev & 0xFF);
+-
++
+ /* The total_memory field is in 64 KiB units. */
+ grub_printf_ (N_(" total memory: %d KiB\n"),
+ (controller_info.total_memory << 6));
+diff --git a/grub-core/video/i386/pc/vga.c b/grub-core/video/i386/pc/vga.c
+index b2f776c99..50d0b5e02 100644
+--- a/grub-core/video/i386/pc/vga.c
++++ b/grub-core/video/i386/pc/vga.c
+@@ -48,7 +48,7 @@ static struct
+ int back_page;
+ } framebuffer;
+
+-static unsigned char
++static unsigned char
+ grub_vga_set_mode (unsigned char mode)
+ {
+ struct grub_bios_int_registers regs;
+@@ -182,10 +182,10 @@ grub_video_vga_setup (unsigned int width, unsigned int height,
+
+ is_target = 1;
+ err = grub_video_fb_set_active_render_target (framebuffer.render_target);
+-
++
+ if (err)
+ return err;
+-
++
+ err = grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS,
+ grub_video_fbstd_colors);
+
+diff --git a/grub-core/video/ieee1275.c b/grub-core/video/ieee1275.c
+index f437fb0df..ca3d3c3b2 100644
+--- a/grub-core/video/ieee1275.c
++++ b/grub-core/video/ieee1275.c
+@@ -233,7 +233,7 @@ grub_video_ieee1275_setup (unsigned int width, unsigned int height,
+ /* TODO. */
+ return grub_error (GRUB_ERR_IO, "can't set mode %dx%d", width, height);
+ }
+-
++
+ err = grub_video_ieee1275_fill_mode_info (dev, &framebuffer.mode_info);
+ if (err)
+ {
+@@ -260,7 +260,7 @@ grub_video_ieee1275_setup (unsigned int width, unsigned int height,
+
+ grub_video_ieee1275_set_palette (0, framebuffer.mode_info.number_of_colors,
+ grub_video_fbstd_colors);
+-
++
+ return err;
+ }
+
+diff --git a/grub-core/video/radeon_fuloong2e.c b/grub-core/video/radeon_fuloong2e.c
+index b4da34b5e..40917acb7 100644
+--- a/grub-core/video/radeon_fuloong2e.c
++++ b/grub-core/video/radeon_fuloong2e.c
+@@ -75,7 +75,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
+ if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
+ || pciid != 0x515a1002)
+ return 0;
+-
++
+ *found = 1;
+
+ addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
+@@ -139,7 +139,7 @@ grub_video_radeon_fuloong2e_setup (unsigned int width, unsigned int height,
+ framebuffer.mapped = 1;
+
+ /* Prevent garbage from appearing on the screen. */
+- grub_memset (framebuffer.ptr, 0x55,
++ grub_memset (framebuffer.ptr, 0x55,
+ framebuffer.mode_info.height * framebuffer.mode_info.pitch);
+
+ #ifndef TEST
+@@ -152,7 +152,7 @@ grub_video_radeon_fuloong2e_setup (unsigned int width, unsigned int height,
+ return err;
+
+ err = grub_video_fb_set_active_render_target (framebuffer.render_target);
+-
++
+ if (err)
+ return err;
+
+diff --git a/grub-core/video/radeon_yeeloong3a.c b/grub-core/video/radeon_yeeloong3a.c
+index 52614feb6..48631c181 100644
+--- a/grub-core/video/radeon_yeeloong3a.c
++++ b/grub-core/video/radeon_yeeloong3a.c
+@@ -74,7 +74,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
+ if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
+ || pciid != 0x96151002)
+ return 0;
+-
++
+ *found = 1;
+
+ addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
+@@ -137,7 +137,7 @@ grub_video_radeon_yeeloong3a_setup (unsigned int width, unsigned int height,
+ #endif
+
+ /* Prevent garbage from appearing on the screen. */
+- grub_memset (framebuffer.ptr, 0,
++ grub_memset (framebuffer.ptr, 0,
+ framebuffer.mode_info.height * framebuffer.mode_info.pitch);
+
+ #ifndef TEST
+@@ -150,7 +150,7 @@ grub_video_radeon_yeeloong3a_setup (unsigned int width, unsigned int height,
+ return err;
+
+ err = grub_video_fb_set_active_render_target (framebuffer.render_target);
+-
++
+ if (err)
+ return err;
+
+diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
+index 0157ff742..54dfedf43 100644
+--- a/grub-core/video/readers/png.c
++++ b/grub-core/video/readers/png.c
+@@ -916,7 +916,7 @@ grub_png_convert_image (struct grub_png_data *data)
+ }
+ return;
+ }
+-
++
+ if (data->is_gray)
+ {
+ switch (data->bpp)
+diff --git a/grub-core/video/readers/tga.c b/grub-core/video/readers/tga.c
+index 7cb9d1d2a..a9ec3a1b6 100644
+--- a/grub-core/video/readers/tga.c
++++ b/grub-core/video/readers/tga.c
+@@ -127,7 +127,7 @@ tga_load_palette (struct tga_data *data)
+
+ if (len > sizeof (data->palette))
+ len = sizeof (data->palette);
+-
++
+ if (grub_file_read (data->file, &data->palette, len)
+ != (grub_ssize_t) len)
+ return grub_errno;
+diff --git a/grub-core/video/sis315_init.c b/grub-core/video/sis315_init.c
+index ae5c1419c..09c3c7bbe 100644
+--- a/grub-core/video/sis315_init.c
++++ b/grub-core/video/sis315_init.c
+@@ -1,4 +1,4 @@
+-static const struct { grub_uint8_t reg; grub_uint8_t val; } sr_dump [] =
++static const struct { grub_uint8_t reg; grub_uint8_t val; } sr_dump [] =
+ {
+ { 0x28, 0x81 },
+ { 0x2a, 0x00 },
+diff --git a/grub-core/video/sis315pro.c b/grub-core/video/sis315pro.c
+index 22a0c85a6..4d2f9999a 100644
+--- a/grub-core/video/sis315pro.c
++++ b/grub-core/video/sis315pro.c
+@@ -103,7 +103,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
+ if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
+ || pciid != GRUB_SIS315PRO_PCIID)
+ return 0;
+-
++
+ *found = 1;
+
+ addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
+@@ -218,7 +218,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height,
+
+ #ifndef TEST
+ /* Prevent garbage from appearing on the screen. */
+- grub_memset (framebuffer.ptr, 0,
++ grub_memset (framebuffer.ptr, 0,
+ framebuffer.mode_info.height * framebuffer.mode_info.pitch);
+ grub_arch_sync_dma_caches (framebuffer.ptr,
+ framebuffer.mode_info.height
+@@ -231,7 +231,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height,
+ | GRUB_VGA_IO_MISC_EXTERNAL_CLOCK_0
+ | GRUB_VGA_IO_MISC_28MHZ
+ | GRUB_VGA_IO_MISC_ENABLE_VRAM_ACCESS
+- | GRUB_VGA_IO_MISC_COLOR,
++ | GRUB_VGA_IO_MISC_COLOR,
+ GRUB_VGA_IO_MISC_WRITE + GRUB_MACHINE_PCI_IO_BASE);
+
+ grub_vga_sr_write (0x86, 5);
+@@ -335,7 +335,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height,
+ {
+ if (read_sis_cmd (0x5) != 0xa1)
+ write_sis_cmd (0x86, 0x5);
+-
++
+ write_sis_cmd (read_sis_cmd (0x20) | 0xa1, 0x20);
+ write_sis_cmd (read_sis_cmd (0x1e) | 0xda, 0x1e);
+
+diff --git a/grub-core/video/sm712.c b/grub-core/video/sm712.c
+index 10c46eb65..65f59f84b 100644
+--- a/grub-core/video/sm712.c
++++ b/grub-core/video/sm712.c
+@@ -167,7 +167,7 @@ enum
+ GRUB_SM712_CR_SHADOW_VGA_VBLANK_START = 0x46,
+ GRUB_SM712_CR_SHADOW_VGA_VBLANK_END = 0x47,
+ GRUB_SM712_CR_SHADOW_VGA_VRETRACE_START = 0x48,
+- GRUB_SM712_CR_SHADOW_VGA_VRETRACE_END = 0x49,
++ GRUB_SM712_CR_SHADOW_VGA_VRETRACE_END = 0x49,
+ GRUB_SM712_CR_SHADOW_VGA_OVERFLOW = 0x4a,
+ GRUB_SM712_CR_SHADOW_VGA_CELL_HEIGHT = 0x4b,
+ GRUB_SM712_CR_SHADOW_VGA_HDISPLAY_END = 0x4c,
+@@ -375,7 +375,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
+ if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
+ || pciid != GRUB_SM712_PCIID)
+ return 0;
+-
++
+ *found = 1;
+
+ addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
+@@ -471,7 +471,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
+
+ #if !defined (TEST) && !defined(GENINIT)
+ /* Prevent garbage from appearing on the screen. */
+- grub_memset ((void *) framebuffer.cached_ptr, 0,
++ grub_memset ((void *) framebuffer.cached_ptr, 0,
+ framebuffer.mode_info.height * framebuffer.mode_info.pitch);
+ #endif
+
+@@ -482,7 +482,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
+ grub_sm712_sr_write (0x2, 0x6b);
+ grub_sm712_write_reg (0, GRUB_VGA_IO_PIXEL_MASK);
+ grub_sm712_sr_write (GRUB_VGA_SR_RESET_ASYNC, GRUB_VGA_SR_RESET);
+- grub_sm712_write_reg (GRUB_VGA_IO_MISC_NEGATIVE_VERT_POLARITY
++ grub_sm712_write_reg (GRUB_VGA_IO_MISC_NEGATIVE_VERT_POLARITY
+ | GRUB_VGA_IO_MISC_NEGATIVE_HORIZ_POLARITY
+ | GRUB_VGA_IO_MISC_UPPER_64K
+ | GRUB_VGA_IO_MISC_EXTERNAL_CLOCK_0
+@@ -694,7 +694,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
+ for (i = 0; i < ARRAY_SIZE (dda_lookups); i++)
+ grub_sm712_write_dda_lookup (i, dda_lookups[i].compare, dda_lookups[i].dda,
+ dda_lookups[i].vcentering);
+-
++
+ /* Undocumented */
+ grub_sm712_cr_write (0, 0x9c);
+ grub_sm712_cr_write (0, 0x9d);
+diff --git a/grub-core/video/video.c b/grub-core/video/video.c
+index 983424107..8937da745 100644
+--- a/grub-core/video/video.c
++++ b/grub-core/video/video.c
+@@ -491,13 +491,13 @@ parse_modespec (const char *current_mode, int *width, int *height, int *depth)
+ current_mode);
+
+ param++;
+-
++
+ *width = grub_strtoul (value, 0, 0);
+ if (grub_errno != GRUB_ERR_NONE)
+ return grub_error (GRUB_ERR_BAD_ARGUMENT,
+ N_("invalid video mode specification `%s'"),
+ current_mode);
+-
++
+ /* Find height value. */
+ value = param;
+ param = grub_strchr(param, 'x');
+@@ -513,13 +513,13 @@ parse_modespec (const char *current_mode, int *width, int *height, int *depth)
+ {
+ /* We have optional color depth value. */
+ param++;
+-
++
+ *height = grub_strtoul (value, 0, 0);
+ if (grub_errno != GRUB_ERR_NONE)
+ return grub_error (GRUB_ERR_BAD_ARGUMENT,
+ N_("invalid video mode specification `%s'"),
+ current_mode);
+-
++
+ /* Convert color depth value. */
+ value = param;
+ *depth = grub_strtoul (value, 0, 0);
+--
+2.34.1
+
diff --git a/poky/meta/recipes-bsp/grub/files/video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch b/poky/meta/recipes-bsp/grub/files/video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch
new file mode 100644
index 0000000000..0c7deae858
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch
@@ -0,0 +1,264 @@
+From d5caac8ab79d068ad9a41030c772d03a4d4fbd7b Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 28 Jun 2021 14:16:14 +1000
+Subject: [PATCH] video/readers/jpeg: Abort sooner if a read operation fails
+
+Fuzzing revealed some inputs that were taking a long time, potentially
+forever, because they did not bail quickly upon encountering an I/O error.
+
+Try to catch I/O errors sooner and bail out.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=d5caac8ab79d068ad9a41030c772d03a4d4fbd7b
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/video/readers/jpeg.c | 86 +++++++++++++++++++++++++++-------
+ 1 file changed, 70 insertions(+), 16 deletions(-)
+
+diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
+index c47ffd651..806c56c78 100644
+--- a/grub-core/video/readers/jpeg.c
++++ b/grub-core/video/readers/jpeg.c
+@@ -109,9 +109,17 @@ static grub_uint8_t
+ grub_jpeg_get_byte (struct grub_jpeg_data *data)
+ {
+ grub_uint8_t r;
++ grub_ssize_t bytes_read;
+
+ r = 0;
+- grub_file_read (data->file, &r, 1);
++ bytes_read = grub_file_read (data->file, &r, 1);
++
++ if (bytes_read != 1)
++ {
++ grub_error (GRUB_ERR_BAD_FILE_TYPE,
++ "jpeg: unexpected end of data");
++ return 0;
++ }
+
+ return r;
+ }
+@@ -120,9 +128,17 @@ static grub_uint16_t
+ grub_jpeg_get_word (struct grub_jpeg_data *data)
+ {
+ grub_uint16_t r;
++ grub_ssize_t bytes_read;
+
+ r = 0;
+- grub_file_read (data->file, &r, sizeof (grub_uint16_t));
++ bytes_read = grub_file_read (data->file, &r, sizeof (grub_uint16_t));
++
++ if (bytes_read != sizeof (grub_uint16_t))
++ {
++ grub_error (GRUB_ERR_BAD_FILE_TYPE,
++ "jpeg: unexpected end of data");
++ return 0;
++ }
+
+ return grub_be_to_cpu16 (r);
+ }
+@@ -135,6 +151,11 @@ grub_jpeg_get_bit (struct grub_jpeg_data *data)
+ if (data->bit_mask == 0)
+ {
+ data->bit_save = grub_jpeg_get_byte (data);
++ if (grub_errno != GRUB_ERR_NONE) {
++ grub_error (GRUB_ERR_BAD_FILE_TYPE,
++ "jpeg: file read error");
++ return 0;
++ }
+ if (data->bit_save == JPEG_ESC_CHAR)
+ {
+ if (grub_jpeg_get_byte (data) != 0)
+@@ -143,6 +164,11 @@ grub_jpeg_get_bit (struct grub_jpeg_data *data)
+ "jpeg: invalid 0xFF in data stream");
+ return 0;
+ }
++ if (grub_errno != GRUB_ERR_NONE)
++ {
++ grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: file read error");
++ return 0;
++ }
+ }
+ data->bit_mask = 0x80;
+ }
+@@ -161,7 +187,7 @@ grub_jpeg_get_number (struct grub_jpeg_data *data, int num)
+ return 0;
+
+ msb = value = grub_jpeg_get_bit (data);
+- for (i = 1; i < num; i++)
++ for (i = 1; i < num && grub_errno == GRUB_ERR_NONE; i++)
+ value = (value << 1) + (grub_jpeg_get_bit (data) != 0);
+ if (!msb)
+ value += 1 - (1 << num);
+@@ -208,6 +234,8 @@ grub_jpeg_decode_huff_table (struct grub_jpeg_data *data)
+ while (data->file->offset + sizeof (count) + 1 <= next_marker)
+ {
+ id = grub_jpeg_get_byte (data);
++ if (grub_errno != GRUB_ERR_NONE)
++ return grub_errno;
+ ac = (id >> 4) & 1;
+ id &= 0xF;
+ if (id > 1)
+@@ -258,6 +286,8 @@ grub_jpeg_decode_quan_table (struct grub_jpeg_data *data)
+
+ next_marker = data->file->offset;
+ next_marker += grub_jpeg_get_word (data);
++ if (grub_errno != GRUB_ERR_NONE)
++ return grub_errno;
+
+ if (next_marker > data->file->size)
+ {
+@@ -269,6 +299,8 @@ grub_jpeg_decode_quan_table (struct grub_jpeg_data *data)
+ <= next_marker)
+ {
+ id = grub_jpeg_get_byte (data);
++ if (grub_errno != GRUB_ERR_NONE)
++ return grub_errno;
+ if (id >= 0x10) /* Upper 4-bit is precision. */
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+ "jpeg: only 8-bit precision is supported");
+@@ -300,6 +332,9 @@ grub_jpeg_decode_sof (struct grub_jpeg_data *data)
+ next_marker = data->file->offset;
+ next_marker += grub_jpeg_get_word (data);
+
++ if (grub_errno != GRUB_ERR_NONE)
++ return grub_errno;
++
+ if (grub_jpeg_get_byte (data) != 8)
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+ "jpeg: only 8-bit precision is supported");
+@@ -325,6 +360,8 @@ grub_jpeg_decode_sof (struct grub_jpeg_data *data)
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: invalid index");
+
+ ss = grub_jpeg_get_byte (data); /* Sampling factor. */
++ if (grub_errno != GRUB_ERR_NONE)
++ return grub_errno;
+ if (!id)
+ {
+ grub_uint8_t vs, hs;
+@@ -504,7 +541,7 @@ grub_jpeg_idct_transform (jpeg_data_unit_t du)
+ }
+ }
+
+-static void
++static grub_err_t
+ grub_jpeg_decode_du (struct grub_jpeg_data *data, int id, jpeg_data_unit_t du)
+ {
+ int h1, h2, qt;
+@@ -519,6 +556,9 @@ grub_jpeg_decode_du (struct grub_jpeg_data *data, int id, jpeg_data_unit_t du)
+ data->dc_value[id] +=
+ grub_jpeg_get_number (data, grub_jpeg_get_huff_code (data, h1));
+
++ if (grub_errno != GRUB_ERR_NONE)
++ return grub_errno;
++
+ du[0] = data->dc_value[id] * (int) data->quan_table[qt][0];
+ pos = 1;
+ while (pos < ARRAY_SIZE (data->quan_table[qt]))
+@@ -533,11 +573,13 @@ grub_jpeg_decode_du (struct grub_jpeg_data *data, int id, jpeg_data_unit_t du)
+ num >>= 4;
+ pos += num;
+
++ if (grub_errno != GRUB_ERR_NONE)
++ return grub_errno;
++
+ if (pos >= ARRAY_SIZE (jpeg_zigzag_order))
+ {
+- grub_error (GRUB_ERR_BAD_FILE_TYPE,
+- "jpeg: invalid position in zigzag order!?");
+- return;
++ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
++ "jpeg: invalid position in zigzag order!?");
+ }
+
+ du[jpeg_zigzag_order[pos]] = val * (int) data->quan_table[qt][pos];
+@@ -545,6 +587,7 @@ grub_jpeg_decode_du (struct grub_jpeg_data *data, int id, jpeg_data_unit_t du)
+ }
+
+ grub_jpeg_idct_transform (du);
++ return GRUB_ERR_NONE;
+ }
+
+ static void
+@@ -603,7 +646,8 @@ grub_jpeg_decode_sos (struct grub_jpeg_data *data)
+ data_offset += grub_jpeg_get_word (data);
+
+ cc = grub_jpeg_get_byte (data);
+-
++ if (grub_errno != GRUB_ERR_NONE)
++ return grub_errno;
+ if (cc != 3 && cc != 1)
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+ "jpeg: component count must be 1 or 3");
+@@ -616,7 +660,8 @@ grub_jpeg_decode_sos (struct grub_jpeg_data *data)
+ id = grub_jpeg_get_byte (data) - 1;
+ if ((id < 0) || (id >= 3))
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: invalid index");
+-
++ if (grub_errno != GRUB_ERR_NONE)
++ return grub_errno;
+ ht = grub_jpeg_get_byte (data);
+ data->comp_index[id][1] = (ht >> 4);
+ data->comp_index[id][2] = (ht & 0xF) + 2;
+@@ -624,11 +669,14 @@ grub_jpeg_decode_sos (struct grub_jpeg_data *data)
+ if ((data->comp_index[id][1] < 0) || (data->comp_index[id][1] > 3) ||
+ (data->comp_index[id][2] < 0) || (data->comp_index[id][2] > 3))
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: invalid hufftable index");
++ if (grub_errno != GRUB_ERR_NONE)
++ return grub_errno;
+ }
+
+ grub_jpeg_get_byte (data); /* Skip 3 unused bytes. */
+ grub_jpeg_get_word (data);
+-
++ if (grub_errno != GRUB_ERR_NONE)
++ return grub_errno;
+ if (data->file->offset != data_offset)
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: extra byte in sos");
+
+@@ -646,6 +694,7 @@ grub_jpeg_decode_data (struct grub_jpeg_data *data)
+ {
+ unsigned c1, vb, hb, nr1, nc1;
+ int rst = data->dri;
++ grub_err_t err = GRUB_ERR_NONE;
+
+ vb = 8 << data->log_vs;
+ hb = 8 << data->log_hs;
+@@ -666,17 +715,22 @@ grub_jpeg_decode_data (struct grub_jpeg_data *data)
+
+ for (r2 = 0; r2 < (1U << data->log_vs); r2++)
+ for (c2 = 0; c2 < (1U << data->log_hs); c2++)
+- grub_jpeg_decode_du (data, 0, data->ydu[r2 * 2 + c2]);
++ {
++ err = grub_jpeg_decode_du (data, 0, data->ydu[r2 * 2 + c2]);
++ if (err != GRUB_ERR_NONE)
++ return err;
++ }
+
+ if (data->color_components >= 3)
+ {
+- grub_jpeg_decode_du (data, 1, data->cbdu);
+- grub_jpeg_decode_du (data, 2, data->crdu);
++ err = grub_jpeg_decode_du (data, 1, data->cbdu);
++ if (err != GRUB_ERR_NONE)
++ return err;
++ err = grub_jpeg_decode_du (data, 2, data->crdu);
++ if (err != GRUB_ERR_NONE)
++ return err;
+ }
+
+- if (grub_errno)
+- return grub_errno;
+-
+ nr2 = (data->r1 == nr1 - 1) ? (data->image_height - data->r1 * vb) : vb;
+ nc2 = (c1 == nc1 - 1) ? (data->image_width - c1 * hb) : hb;
+
+--
+2.34.1
+
diff --git a/poky/meta/recipes-bsp/grub/files/video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch b/poky/meta/recipes-bsp/grub/files/video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch
new file mode 100644
index 0000000000..91ecaad98a
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch
@@ -0,0 +1,53 @@
+From 166a4d61448f74745afe1dac2f2cfb85d04909bf Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 28 Jun 2021 14:25:17 +1000
+Subject: [PATCH] video/readers/jpeg: Refuse to handle multiple start of
+ streams
+
+An invalid file could contain multiple start of stream blocks, which
+would cause us to reallocate and leak our bitmap. Refuse to handle
+multiple start of streams.
+
+Additionally, fix a grub_error() call formatting.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=166a4d61448f74745afe1dac2f2cfb85d04909bf
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/video/readers/jpeg.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
+index 2284a6c06..579bbe8a4 100644
+--- a/grub-core/video/readers/jpeg.c
++++ b/grub-core/video/readers/jpeg.c
+@@ -683,6 +683,9 @@ grub_jpeg_decode_sos (struct grub_jpeg_data *data)
+ if (data->file->offset != data_offset)
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: extra byte in sos");
+
++ if (*data->bitmap)
++ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: too many start of scan blocks");
++
+ if (grub_video_bitmap_create (data->bitmap, data->image_width,
+ data->image_height,
+ GRUB_VIDEO_BLIT_FORMAT_RGB_888))
+@@ -705,8 +708,8 @@ grub_jpeg_decode_data (struct grub_jpeg_data *data)
+ nc1 = (data->image_width + hb - 1) >> (3 + data->log_hs);
+
+ if (data->bitmap_ptr == NULL)
+- return grub_error(GRUB_ERR_BAD_FILE_TYPE,
+- "jpeg: attempted to decode data before start of stream");
++ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
++ "jpeg: attempted to decode data before start of stream");
+
+ for (; data->r1 < nr1 && (!data->dri || rst);
+ data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3)
+--
+2.34.1
+
diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc
index 45852ab9b1..47ea561002 100644
--- a/poky/meta/recipes-bsp/grub/grub2.inc
+++ b/poky/meta/recipes-bsp/grub/grub2.inc
@@ -22,6 +22,16 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \
file://0001-RISC-V-Restore-the-typcast-to-long.patch \
file://CVE-2021-3981-grub-mkconfig-Restore-umask-for-the-grub.cfg.patch \
file://0001-configure.ac-Use-_zicsr_zifencei-extentions-on-riscv.patch \
+ file://video-Remove-trailing-whitespaces.patch \
+ file://CVE-2021-3695-video-readers-png-Drop-greyscale-support-to-fix-heap.patch \
+ file://CVE-2021-3696-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff.patch \
+ file://video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch \
+ file://video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch \
+ file://CVE-2021-3697-video-readers-jpeg-Block-int-underflow-wild-pointer.patch \
+ file://CVE-2022-28733-net-ip-Do-IP-fragment-maths-safely.patch \
+ file://CVE-2022-28734-net-http-Fix-OOB-write-for-split-http-headers.patch \
+ file://CVE-2022-28734-net-http-Error-out-on-headers-with-LF-without-CR.patch \
+ file://CVE-2022-28735-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch \
"
SRC_URI[sha256sum] = "23b64b4c741569f9426ed2e3d0e6780796fca081bee4c99f62aa3f53ae803f5f"
diff --git a/poky/meta/recipes-bsp/setserial/setserial/0001-setserial.c-Add-needed-system-headers-for-ioctl-and-.patch b/poky/meta/recipes-bsp/setserial/setserial/0001-setserial.c-Add-needed-system-headers-for-ioctl-and-.patch
new file mode 100644
index 0000000000..10c6ae881b
--- /dev/null
+++ b/poky/meta/recipes-bsp/setserial/setserial/0001-setserial.c-Add-needed-system-headers-for-ioctl-and-.patch
@@ -0,0 +1,41 @@
+From 9bbb342f5d9ad5dc75486fd35ada8e287ba19299 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 15 Aug 2022 13:03:17 -0700
+Subject: [PATCH] setserial.c: Add needed system headers for ioctl() and
+ close() calls
+
+Add int return type for main() function
+
+Fixes
+error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
+error: call to undeclared function 'close'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declarat
+ion]
+
+Upstream-Status: Submitted [https://sourceforge.net/p/setserial/discussion/7060/thread/95d874c12c/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ setserial.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/setserial.c b/setserial.c
+index bfda8fd..6a95513 100644
+--- a/setserial.c
++++ b/setserial.c
+@@ -16,6 +16,8 @@
+ #include <termios.h>
+ #include <string.h>
+ #include <errno.h>
++#include <unistd.h>
++#include <sys/ioctl.h>
+
+ #ifdef HAVE_ASM_IOCTLS_H
+ #include <asm/ioctls.h>
+@@ -715,7 +717,7 @@ fprintf(stderr, "\t* port\t\tset the I/O port\n");
+ exit(1);
+ }
+
+-main(int argc, char **argv)
++int main(int argc, char **argv)
+ {
+ int get_flag = 0, wild_intr_flag = 0;
+ int c;
diff --git a/poky/meta/recipes-bsp/setserial/setserial_2.17.bb b/poky/meta/recipes-bsp/setserial/setserial_2.17.bb
index 5b31cd183b..e46aeb90cb 100644
--- a/poky/meta/recipes-bsp/setserial/setserial_2.17.bb
+++ b/poky/meta/recipes-bsp/setserial/setserial_2.17.bb
@@ -15,7 +15,8 @@ inherit autotools-brokensep
SRC_URI = "${SOURCEFORGE_MIRROR}/setserial/${BPN}-${PV}.tar.gz \
file://add_stdlib.patch \
file://ldflags.patch \
- "
+ file://0001-setserial.c-Add-needed-system-headers-for-ioctl-and-.patch \
+ "
SRC_URI[md5sum] = "c4867d72c41564318e0107745eb7a0f2"
SRC_URI[sha256sum] = "7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a"
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.4/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.6/0001-avoid-start-failure-with-bind-user.patch
index ec1bc7b567..ec1bc7b567 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.18.4/0001-avoid-start-failure-with-bind-user.patch
+++ b/poky/meta/recipes-connectivity/bind/bind-9.18.6/0001-avoid-start-failure-with-bind-user.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.4/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.6/0001-named-lwresd-V-and-start-log-hide-build-options.patch
index 4c10f33f04..4c10f33f04 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.18.4/0001-named-lwresd-V-and-start-log-hide-build-options.patch
+++ b/poky/meta/recipes-connectivity/bind/bind-9.18.6/0001-named-lwresd-V-and-start-log-hide-build-options.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.4/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.6/bind-ensure-searching-for-json-headers-searches-sysr.patch
index f1abd179e8..f1abd179e8 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.18.4/bind-ensure-searching-for-json-headers-searches-sysr.patch
+++ b/poky/meta/recipes-connectivity/bind/bind-9.18.6/bind-ensure-searching-for-json-headers-searches-sysr.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.4/bind9 b/poky/meta/recipes-connectivity/bind/bind-9.18.6/bind9
index 968679ff7f..968679ff7f 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.18.4/bind9
+++ b/poky/meta/recipes-connectivity/bind/bind-9.18.6/bind9
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.4/conf.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.6/conf.patch
index aa3642acec..aa3642acec 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.18.4/conf.patch
+++ b/poky/meta/recipes-connectivity/bind/bind-9.18.6/conf.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.4/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind-9.18.6/generate-rndc-key.sh
index 633e29c0e6..633e29c0e6 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.18.4/generate-rndc-key.sh
+++ b/poky/meta/recipes-connectivity/bind/bind-9.18.6/generate-rndc-key.sh
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.4/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.6/init.d-add-support-for-read-only-rootfs.patch
index 11db95ede1..11db95ede1 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.18.4/init.d-add-support-for-read-only-rootfs.patch
+++ b/poky/meta/recipes-connectivity/bind/bind-9.18.6/init.d-add-support-for-read-only-rootfs.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.4/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.6/make-etc-initd-bind-stop-work.patch
index 146f3e35db..146f3e35db 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.18.4/make-etc-initd-bind-stop-work.patch
+++ b/poky/meta/recipes-connectivity/bind/bind-9.18.6/make-etc-initd-bind-stop-work.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.4/named.service b/poky/meta/recipes-connectivity/bind/bind-9.18.6/named.service
index cda56ef015..cda56ef015 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.18.4/named.service
+++ b/poky/meta/recipes-connectivity/bind/bind-9.18.6/named.service
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.18.4.bb b/poky/meta/recipes-connectivity/bind/bind_9.18.6.bb
index 8c62fc771d..5f54942776 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.18.4.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.18.6.bb
@@ -20,7 +20,7 @@ SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \
file://0001-avoid-start-failure-with-bind-user.patch \
"
-SRC_URI[sha256sum] = "f277ae50159a00c300eb926a9c5d51953038a936bd8242d6913dfb6eac42761d"
+SRC_URI[sha256sum] = "d43a0fed03c774d1685d203598218c0b7774a88fcc390a0170710d5feb7fbff1"
UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
# follow the ESV versions divisible by 2
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
index 22dd07b348..79d4645ca8 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -53,7 +53,6 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch', d)} \
file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
file://0001-test-gatt-Fix-hung-issue.patch \
- file://fix_service.patch \
"
S = "${WORKDIR}/bluez-${PV}"
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/fix_service.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/fix_service.patch
deleted file mode 100644
index 96fdf6b299..0000000000
--- a/poky/meta/recipes-connectivity/bluez5/bluez5/fix_service.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-The systemd bluetooth service failed to start because the /var/lib/bluetooth
-path of ReadWritePaths= is created by the bluetooth daemon itself.
-
-The commit systemd: Add more filesystem lockdown (442d211) add ReadWritePaths=/etc/bluetooth
-and ReadOnlyPaths=/var/lib/bluetooth options to the bluetooth systemd service.
-The existing ProtectSystem=full option mounts the /usr, the boot loader
-directories and /etc read-only. This means the two option are useless and could be removed.
-
-Upstream-Status: Submitted [https://github.com/bluez/bluez/issues/329]
-
-Index: bluez-5.64/src/bluetooth.service.in
-===================================================================
---- bluez-5.64.orig/src/bluetooth.service.in
-+++ bluez-5.64/src/bluetooth.service.in
-@@ -15,12 +15,12 @@ LimitNPROC=1
-
- # Filesystem lockdown
- ProtectHome=true
--ProtectSystem=full
-+ProtectSystem=strict
- PrivateTmp=true
- ProtectKernelTunables=true
- ProtectControlGroups=true
--ReadWritePaths=@statedir@
--ReadOnlyPaths=@confdir@
-+ConfigurationDirectory=bluetooth
-+StateDirectory=bluetooth
-
- # Execute Mappings
- MemoryDenyWriteExecute=true
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5_5.64.bb b/poky/meta/recipes-connectivity/bluez5/bluez5_5.65.bb
index 4319f9aae8..4c15aeb46d 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5_5.64.bb
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5_5.65.bb
@@ -1,6 +1,6 @@
require bluez5.inc
-SRC_URI[sha256sum] = "ae437e65b6b3070c198bc5b0109fe9cdeb9eaa387380e2072f9de65fe8a1de34"
+SRC_URI[sha256sum] = "2565a4d48354b576e6ad92e25b54ed66808296581c8abb80587051f9993d96d4"
# These issues have kernel fixes rather than bluez fixes so exclude here
CVE_CHECK_IGNORE += "CVE-2020-12352 CVE-2020-24490"
diff --git a/poky/meta/recipes-connectivity/connman/connman.inc b/poky/meta/recipes-connectivity/connman/connman.inc
index 5880ecd5d4..d7af94f792 100644
--- a/poky/meta/recipes-connectivity/connman/connman.inc
+++ b/poky/meta/recipes-connectivity/connman/connman.inc
@@ -28,10 +28,15 @@ EXTRA_OECONF += "\
--enable-tools \
--disable-polkit \
"
+# For smooth operation it would be best to start only one wireless daemon at a time.
+# If wpa-supplicant is running, connman will use it preferentially.
+# Select either wpa-supplicant or iwd
+WIRELESS_DAEMON ??= "wpa-supplicant"
PACKAGECONFIG ??= "wispr iptables client\
- ${@bb.utils.filter('DISTRO_FEATURES', '3g systemd wifi', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', '3g systemd', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wifi ${WIRELESS_DAEMON}', '', d)} \
"
# If you want ConnMan to support VPN, add following statement into
@@ -39,9 +44,11 @@ PACKAGECONFIG ??= "wispr iptables client\
# PACKAGECONFIG:append:pn-connman = " openvpn vpnc l2tp pptp"
PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_system_unitdir}/ --with-tmpfilesdir=${sysconfdir}/tmpfiles.d/,--with-systemdunitdir='' --with-tmpfilesdir=''"
-PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi, wpa-supplicant, wpa-supplicant"
+PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi"
PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5, bluez5"
PACKAGECONFIG[3g] = "--enable-ofono, --disable-ofono, ofono, ofono"
+PACKAGECONFIG[wpa-supplicant] = ",,wpa-supplicant,wpa-supplicant"
+PACKAGECONFIG[iwd] = "--enable-iwd,--disable-iwd,,iwd"
PACKAGECONFIG[tist] = "--enable-tist,--disable-tist,"
PACKAGECONFIG[openvpn] = "--enable-openvpn --with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn"
PACKAGECONFIG[vpnc] = "--enable-vpnc --with-vpnc=${sbindir}/vpnc,--disable-vpnc,,vpnc"
diff --git a/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32292.patch b/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32292.patch
new file mode 100644
index 0000000000..182c5ca29c
--- /dev/null
+++ b/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32292.patch
@@ -0,0 +1,37 @@
+From d1a5ede5d255bde8ef707f8441b997563b9312bd Mon Sep 17 00:00:00 2001
+From: Nathan Crandall <ncrandall@tesla.com>
+Date: Tue, 12 Jul 2022 08:56:34 +0200
+Subject: gweb: Fix OOB write in received_data()
+
+There is a mismatch of handling binary vs. C-string data with memchr
+and strlen, resulting in pos, count, and bytes_read to become out of
+sync and result in a heap overflow. Instead, do not treat the buffer
+as an ASCII C-string. We calculate the count based on the return value
+of memchr, instead of strlen.
+
+Fixes: CVE-2022-32292
+
+CVE: CVE-2022-32292
+
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=d1a5ede5d255bde8ef707f8441b997563b9312bd]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gweb/gweb.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gweb/gweb.c b/gweb/gweb.c
+index 12fcb1d8..13c6c5f2 100644
+--- a/gweb/gweb.c
++++ b/gweb/gweb.c
+@@ -918,7 +918,7 @@ static gboolean received_data(GIOChannel *channel, GIOCondition cond,
+ }
+
+ *pos = '\0';
+- count = strlen((char *) ptr);
++ count = pos - ptr;
+ if (count > 0 && ptr[count - 1] == '\r') {
+ ptr[--count] = '\0';
+ bytes_read--;
+--
+cgit
+
diff --git a/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p1.patch b/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p1.patch
new file mode 100644
index 0000000000..b280203594
--- /dev/null
+++ b/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p1.patch
@@ -0,0 +1,141 @@
+From 72343929836de80727a27d6744c869dff045757c Mon Sep 17 00:00:00 2001
+From: Daniel Wagner <wagi@monom.org>
+Date: Tue, 5 Jul 2022 08:32:12 +0200
+Subject: wispr: Add reference counter to portal context
+
+Track the connman_wispr_portal_context live time via a
+refcounter. This only adds the infrastructure to do proper reference
+counting.
+
+Fixes: CVE-2022-32293
+CVE: CVE-2022-32293
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=416bfaff988882c553c672e5bfc2d4f648d29e8a]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/wispr.c | 52 ++++++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 42 insertions(+), 10 deletions(-)
+
+diff --git a/src/wispr.c b/src/wispr.c
+index a07896ca..bde7e63b 100644
+--- a/src/wispr.c
++++ b/src/wispr.c
+@@ -56,6 +56,7 @@ struct wispr_route {
+ };
+
+ struct connman_wispr_portal_context {
++ int refcount;
+ struct connman_service *service;
+ enum connman_ipconfig_type type;
+ struct connman_wispr_portal *wispr_portal;
+@@ -97,6 +98,11 @@ static char *online_check_ipv4_url = NULL;
+ static char *online_check_ipv6_url = NULL;
+ static bool enable_online_to_ready_transition = false;
+
++#define wispr_portal_context_ref(wp_context) \
++ wispr_portal_context_ref_debug(wp_context, __FILE__, __LINE__, __func__)
++#define wispr_portal_context_unref(wp_context) \
++ wispr_portal_context_unref_debug(wp_context, __FILE__, __LINE__, __func__)
++
+ static void connman_wispr_message_init(struct connman_wispr_message *msg)
+ {
+ DBG("");
+@@ -162,9 +168,6 @@ static void free_connman_wispr_portal_context(
+ {
+ DBG("context %p", wp_context);
+
+- if (!wp_context)
+- return;
+-
+ if (wp_context->wispr_portal) {
+ if (wp_context->wispr_portal->ipv4_context == wp_context)
+ wp_context->wispr_portal->ipv4_context = NULL;
+@@ -201,9 +204,38 @@ static void free_connman_wispr_portal_context(
+ g_free(wp_context);
+ }
+
++static struct connman_wispr_portal_context *
++wispr_portal_context_ref_debug(struct connman_wispr_portal_context *wp_context,
++ const char *file, int line, const char *caller)
++{
++ DBG("%p ref %d by %s:%d:%s()", wp_context,
++ wp_context->refcount + 1, file, line, caller);
++
++ __sync_fetch_and_add(&wp_context->refcount, 1);
++
++ return wp_context;
++}
++
++static void wispr_portal_context_unref_debug(
++ struct connman_wispr_portal_context *wp_context,
++ const char *file, int line, const char *caller)
++{
++ if (!wp_context)
++ return;
++
++ DBG("%p ref %d by %s:%d:%s()", wp_context,
++ wp_context->refcount - 1, file, line, caller);
++
++ if (__sync_fetch_and_sub(&wp_context->refcount, 1) != 1)
++ return;
++
++ free_connman_wispr_portal_context(wp_context);
++}
++
+ static struct connman_wispr_portal_context *create_wispr_portal_context(void)
+ {
+- return g_try_new0(struct connman_wispr_portal_context, 1);
++ return wispr_portal_context_ref(
++ g_new0(struct connman_wispr_portal_context, 1));
+ }
+
+ static void free_connman_wispr_portal(gpointer data)
+@@ -215,8 +247,8 @@ static void free_connman_wispr_portal(gpointer data)
+ if (!wispr_portal)
+ return;
+
+- free_connman_wispr_portal_context(wispr_portal->ipv4_context);
+- free_connman_wispr_portal_context(wispr_portal->ipv6_context);
++ wispr_portal_context_unref(wispr_portal->ipv4_context);
++ wispr_portal_context_unref(wispr_portal->ipv6_context);
+
+ g_free(wispr_portal);
+ }
+@@ -452,7 +484,7 @@ static void portal_manage_status(GWebResult *result,
+ connman_info("Client-Timezone: %s", str);
+
+ if (!enable_online_to_ready_transition)
+- free_connman_wispr_portal_context(wp_context);
++ wispr_portal_context_unref(wp_context);
+
+ __connman_service_ipconfig_indicate_state(service,
+ CONNMAN_SERVICE_STATE_ONLINE, type);
+@@ -616,7 +648,7 @@ static void wispr_portal_request_wispr_login(struct connman_service *service,
+ return;
+ }
+
+- free_connman_wispr_portal_context(wp_context);
++ wispr_portal_context_unref(wp_context);
+ return;
+ }
+
+@@ -952,7 +984,7 @@ static int wispr_portal_detect(struct connman_wispr_portal_context *wp_context)
+
+ if (wp_context->token == 0) {
+ err = -EINVAL;
+- free_connman_wispr_portal_context(wp_context);
++ wispr_portal_context_unref(wp_context);
+ }
+ } else if (wp_context->timeout == 0) {
+ wp_context->timeout = g_idle_add(no_proxy_callback, wp_context);
+@@ -1001,7 +1033,7 @@ int __connman_wispr_start(struct connman_service *service,
+
+ /* If there is already an existing context, we wipe it */
+ if (wp_context)
+- free_connman_wispr_portal_context(wp_context);
++ wispr_portal_context_unref(wp_context);
+
+ wp_context = create_wispr_portal_context();
+ if (!wp_context)
+--
+cgit
+
diff --git a/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p2.patch b/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p2.patch
new file mode 100644
index 0000000000..56f8fc82de
--- /dev/null
+++ b/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p2.patch
@@ -0,0 +1,174 @@
+From 416bfaff988882c553c672e5bfc2d4f648d29e8a Mon Sep 17 00:00:00 2001
+From: Daniel Wagner <wagi@monom.org>
+Date: Tue, 5 Jul 2022 09:11:09 +0200
+Subject: wispr: Update portal context references
+
+Maintain proper portal context references to avoid UAF.
+
+Fixes: CVE-2022-32293
+CVE: CVE-2022-32293
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=72343929836de80727a27d6744c869dff045757c]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/wispr.c | 34 ++++++++++++++++++++++------------
+ 1 file changed, 22 insertions(+), 12 deletions(-)
+
+diff --git a/src/wispr.c b/src/wispr.c
+index bde7e63b..84bed33f 100644
+--- a/src/wispr.c
++++ b/src/wispr.c
+@@ -105,8 +105,6 @@ static bool enable_online_to_ready_transition = false;
+
+ static void connman_wispr_message_init(struct connman_wispr_message *msg)
+ {
+- DBG("");
+-
+ msg->has_error = false;
+ msg->current_element = NULL;
+
+@@ -166,8 +164,6 @@ static void free_wispr_routes(struct connman_wispr_portal_context *wp_context)
+ static void free_connman_wispr_portal_context(
+ struct connman_wispr_portal_context *wp_context)
+ {
+- DBG("context %p", wp_context);
+-
+ if (wp_context->wispr_portal) {
+ if (wp_context->wispr_portal->ipv4_context == wp_context)
+ wp_context->wispr_portal->ipv4_context = NULL;
+@@ -483,9 +479,6 @@ static void portal_manage_status(GWebResult *result,
+ &str))
+ connman_info("Client-Timezone: %s", str);
+
+- if (!enable_online_to_ready_transition)
+- wispr_portal_context_unref(wp_context);
+-
+ __connman_service_ipconfig_indicate_state(service,
+ CONNMAN_SERVICE_STATE_ONLINE, type);
+
+@@ -546,14 +539,17 @@ static void wispr_portal_request_portal(
+ {
+ DBG("");
+
++ wispr_portal_context_ref(wp_context);
+ wp_context->request_id = g_web_request_get(wp_context->web,
+ wp_context->status_url,
+ wispr_portal_web_result,
+ wispr_route_request,
+ wp_context);
+
+- if (wp_context->request_id == 0)
++ if (wp_context->request_id == 0) {
+ wispr_portal_error(wp_context);
++ wispr_portal_context_unref(wp_context);
++ }
+ }
+
+ static bool wispr_input(const guint8 **data, gsize *length,
+@@ -618,13 +614,15 @@ static void wispr_portal_browser_reply_cb(struct connman_service *service,
+ return;
+
+ if (!authentication_done) {
+- wispr_portal_error(wp_context);
+ free_wispr_routes(wp_context);
++ wispr_portal_error(wp_context);
++ wispr_portal_context_unref(wp_context);
+ return;
+ }
+
+ /* Restarting the test */
+ __connman_service_wispr_start(service, wp_context->type);
++ wispr_portal_context_unref(wp_context);
+ }
+
+ static void wispr_portal_request_wispr_login(struct connman_service *service,
+@@ -700,11 +698,13 @@ static bool wispr_manage_message(GWebResult *result,
+
+ wp_context->wispr_result = CONNMAN_WISPR_RESULT_LOGIN;
+
++ wispr_portal_context_ref(wp_context);
+ if (__connman_agent_request_login_input(wp_context->service,
+ wispr_portal_request_wispr_login,
+- wp_context) != -EINPROGRESS)
++ wp_context) != -EINPROGRESS) {
+ wispr_portal_error(wp_context);
+- else
++ wispr_portal_context_unref(wp_context);
++ } else
+ return true;
+
+ break;
+@@ -753,6 +753,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+ if (length > 0) {
+ g_web_parser_feed_data(wp_context->wispr_parser,
+ chunk, length);
++ wispr_portal_context_unref(wp_context);
+ return true;
+ }
+
+@@ -770,6 +771,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+
+ switch (status) {
+ case 000:
++ wispr_portal_context_ref(wp_context);
+ __connman_agent_request_browser(wp_context->service,
+ wispr_portal_browser_reply_cb,
+ wp_context->status_url, wp_context);
+@@ -781,11 +783,14 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+ if (g_web_result_get_header(result, "X-ConnMan-Status",
+ &str)) {
+ portal_manage_status(result, wp_context);
++ wispr_portal_context_unref(wp_context);
+ return false;
+- } else
++ } else {
++ wispr_portal_context_ref(wp_context);
+ __connman_agent_request_browser(wp_context->service,
+ wispr_portal_browser_reply_cb,
+ wp_context->redirect_url, wp_context);
++ }
+
+ break;
+ case 300:
+@@ -798,6 +803,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+ !g_web_result_get_header(result, "Location",
+ &redirect)) {
+
++ wispr_portal_context_ref(wp_context);
+ __connman_agent_request_browser(wp_context->service,
+ wispr_portal_browser_reply_cb,
+ wp_context->status_url, wp_context);
+@@ -808,6 +814,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+
+ wp_context->redirect_url = g_strdup(redirect);
+
++ wispr_portal_context_ref(wp_context);
+ wp_context->request_id = g_web_request_get(wp_context->web,
+ redirect, wispr_portal_web_result,
+ wispr_route_request, wp_context);
+@@ -820,6 +827,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+
+ break;
+ case 505:
++ wispr_portal_context_ref(wp_context);
+ __connman_agent_request_browser(wp_context->service,
+ wispr_portal_browser_reply_cb,
+ wp_context->status_url, wp_context);
+@@ -832,6 +840,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+ wp_context->request_id = 0;
+ done:
+ wp_context->wispr_msg.message_type = -1;
++ wispr_portal_context_unref(wp_context);
+ return false;
+ }
+
+@@ -890,6 +899,7 @@ static void proxy_callback(const char *proxy, void *user_data)
+ xml_wispr_parser_callback, wp_context);
+
+ wispr_portal_request_portal(wp_context);
++ wispr_portal_context_unref(wp_context);
+ }
+
+ static gboolean no_proxy_callback(gpointer user_data)
+--
+cgit
+
diff --git a/poky/meta/recipes-connectivity/connman/connman_1.41.bb b/poky/meta/recipes-connectivity/connman/connman_1.41.bb
index 736b78eaeb..79542b2175 100644
--- a/poky/meta/recipes-connectivity/connman/connman_1.41.bb
+++ b/poky/meta/recipes-connectivity/connman/connman_1.41.bb
@@ -5,6 +5,9 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \
file://connman \
file://no-version-scripts.patch \
+ file://CVE-2022-32293_p1.patch \
+ file://CVE-2022-32293_p2.patch \
+ file://CVE-2022-32292.patch \
"
SRC_URI:append:libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch"
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-configure-Define-_GNU_SOURCE-when-checking-for-setns.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-configure-Define-_GNU_SOURCE-when-checking-for-setns.patch
new file mode 100644
index 0000000000..04d44ef444
--- /dev/null
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-configure-Define-_GNU_SOURCE-when-checking-for-setns.patch
@@ -0,0 +1,28 @@
+From dc837a6b4c2cad7f31cddfe56cd652e26baadc02 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 22:31:03 -0700
+Subject: [PATCH] configure: Define _GNU_SOURCE when checking for setns
+
+glibc defines this function only as gnu extention
+
+Upstream-Status: Submitted [https://lore.kernel.org/netdev/20220811053440.778649-1-raj.khem@gmail.com/T/#u]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure b/configure
+index 440facb..c02753b 100755
+--- a/configure
++++ b/configure
+@@ -191,6 +191,7 @@ check_ipt_lib_dir()
+ check_setns()
+ {
+ cat >$TMPDIR/setnstest.c <<EOF
++#define _GNU_SOURCE
+ #include <sched.h>
+ int main(int argc, char **argv)
+ {
+--
+2.37.1
+
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-ip-ipstats.c-add-an-include-where-MIN-is-defined.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-ip-ipstats.c-add-an-include-where-MIN-is-defined.patch
new file mode 100644
index 0000000000..edd73818ba
--- /dev/null
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-ip-ipstats.c-add-an-include-where-MIN-is-defined.patch
@@ -0,0 +1,25 @@
+From c8a99f1035ec7b158a204f90e9a7ed3c0b1e3d52 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Fri, 5 Aug 2022 11:31:56 +0200
+Subject: [PATCH] ip/ipstats.c: add an include where MIN is defined
+
+Otherwise, non-glibc systems error out (e.g. on musl).
+
+Upstream-Status: Submitted [by email to stephen@networkplumber.org,netdev@vger.kernel.org]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ ip/ipstats.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ip/ipstats.c b/ip/ipstats.c
+index 5cdd15a..1ac275b 100644
+--- a/ip/ipstats.c
++++ b/ip/ipstats.c
+@@ -1,6 +1,7 @@
+ // SPDX-License-Identifier: GPL-2.0+
+ #include <assert.h>
+ #include <errno.h>
++#include <sys/param.h>
+
+ #include "list.h"
+ #include "utils.h"
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.18.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.19.0.bb
index 3e01c70801..6a007797c9 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.18.0.bb
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.19.0.bb
@@ -2,9 +2,11 @@ require iproute2.inc
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
file://0001-libc-compat.h-add-musl-workaround.patch \
+ file://0001-ip-ipstats.c-add-an-include-where-MIN-is-defined.patch \
+ file://0001-configure-Define-_GNU_SOURCE-when-checking-for-setns.patch \
"
-SRC_URI[sha256sum] = "5ba3d464d51c8c283550d507ffac3d10f7aec587b7c66b0ccb6950643646389e"
+SRC_URI[sha256sum] = "26b7a34d6a7fd2f7a42e2b39c5a90cb61bac522d1096067ffeb195e5693d7791"
# CFLAGS are computed in Makefile and reference CCOPTS
#
diff --git a/poky/meta/recipes-connectivity/kea/kea_2.0.2.bb b/poky/meta/recipes-connectivity/kea/kea_2.2.0.bb
index 13da1f858d..2c2e5a74dd 100644
--- a/poky/meta/recipes-connectivity/kea/kea_2.0.2.bb
+++ b/poky/meta/recipes-connectivity/kea/kea_2.2.0.bb
@@ -2,8 +2,8 @@ SUMMARY = "ISC Kea DHCP Server"
DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It supports both DHCPv4 and DHCPv6 protocols along with their extensions, e.g. prefix delegation and dynamic updates to DNS."
HOMEPAGE = "http://kea.isc.org"
SECTION = "connectivity"
-LICENSE = "MPL-2.0 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b4ecee995eeb6780a17dd7e539e97abc"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=97ce14bdd2733f5b84ab5e29380d057d"
DEPENDS = "boost log4cplus openssl"
@@ -18,7 +18,7 @@ SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
file://fix_pid_keactrl.patch \
file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \
"
-SRC_URI[sha256sum] = "8d28213bdc8e2bb870a383b30ac1e53d54e1eba43d2f86e5151b08b66aa6cf32"
+SRC_URI[sha256sum] = "da7d90ca62a772602dac6e77e507319038422895ad68eeb142f1487d67d531d2"
inherit autotools systemd update-rc.d upstream-version-is-even
diff --git a/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb b/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
index e6f216e5cb..2cc92b7b47 100644
--- a/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
+++ b/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
@@ -5,8 +5,8 @@ SECTION = "network"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=87964579b2a8ece4bc6744d2dc9a8b04"
-SRCREV = "3d5c8d0f7e0264768a2c000d0fd4b4d4a991e041"
-PV = "20220511"
+SRCREV = "fe19892a8168bf19d81e3bc4ee319bf7f9f058f5"
+PV = "20220725"
PE = "1"
SRC_URI = "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git;protocol=https;branch=main"
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-mountd-Check-for-return-of-stat-function.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-mountd-Check-for-return-of-stat-function.patch
new file mode 100644
index 0000000000..13a21e5307
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-mountd-Check-for-return-of-stat-function.patch
@@ -0,0 +1,34 @@
+From 887ecc7837962e9be77a4fea7d9122648f73a84a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 15 Aug 2022 14:47:53 -0700
+Subject: [PATCH] mountd: Check for return of stat function
+
+simplify the check, stat() return 0 on success -1 on failure
+
+Fixes clang reported errors e.g.
+
+| v4clients.c:29:6: error: logical not is only applied to the left hand side of this comparison [-Werror,-Wlogical-not-parentheses]
+| if (!stat("/proc/fs/nfsd/clients", &sb) == 0 ||
+| ^ ~~
+
+Upstream-Status: Submitted [https://patchwork.kernel.org/project/linux-nfs/patch/20220816024403.2694169-1-raj.khem@gmail.com/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Cc: Konstantin Khorenko <khorenko@virtuozzo.com>
+Cc: Steve Dickson <steved@redhat.com>
+---
+ support/export/v4clients.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/support/export/v4clients.c b/support/export/v4clients.c
+index 5f15b61..3230251 100644
+--- a/support/export/v4clients.c
++++ b/support/export/v4clients.c
+@@ -26,7 +26,7 @@ void v4clients_init(void)
+ {
+ struct stat sb;
+
+- if (!stat("/proc/fs/nfsd/clients", &sb) == 0 ||
++ if (stat("/proc/fs/nfsd/clients", &sb) != 0 ||
+ !S_ISDIR(sb.st_mode))
+ return;
+ if (clients_fd >= 0)
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-Fix-function-prototypes.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-Fix-function-prototypes.patch
new file mode 100644
index 0000000000..793bc4651c
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-Fix-function-prototypes.patch
@@ -0,0 +1,93 @@
+From cf0ffbb5c8fa167376926d12a63613f15aa7602f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 15 Aug 2022 14:50:15 -0700
+Subject: [PATCH] Fix function prototypes
+
+Clang is now erroring out on functions with out parameter types
+
+Fixes errors like
+error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
+
+Upstream-Status: Submitted [https://patchwork.kernel.org/project/linux-nfs/patch/20220816024403.2694169-2-raj.khem@gmail.com/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ support/export/auth.c | 2 +-
+ support/export/v4root.c | 2 +-
+ support/export/xtab.c | 2 +-
+ utils/exportfs/exportfs.c | 4 ++--
+ utils/mount/network.c | 2 +-
+ 5 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/support/export/auth.c b/support/export/auth.c
+index 03ce4b8..2d7960f 100644
+--- a/support/export/auth.c
++++ b/support/export/auth.c
+@@ -82,7 +82,7 @@ check_useipaddr(void)
+ }
+
+ unsigned int
+-auth_reload()
++auth_reload(void)
+ {
+ struct stat stb;
+ static ino_t last_inode;
+diff --git a/support/export/v4root.c b/support/export/v4root.c
+index c12a7d8..fbb0ad5 100644
+--- a/support/export/v4root.c
++++ b/support/export/v4root.c
+@@ -198,7 +198,7 @@ static int v4root_add_parents(nfs_export *exp)
+ * looking for components of the v4 mount.
+ */
+ void
+-v4root_set()
++v4root_set(void)
+ {
+ nfs_export *exp;
+ int i;
+diff --git a/support/export/xtab.c b/support/export/xtab.c
+index c888a80..e210ca9 100644
+--- a/support/export/xtab.c
++++ b/support/export/xtab.c
+@@ -135,7 +135,7 @@ xtab_write(char *xtab, char *xtabtmp, char *lockfn, int is_export)
+ }
+
+ int
+-xtab_export_write()
++xtab_export_write(void)
+ {
+ return xtab_write(etab.statefn, etab.tmpfn, etab.lockfn, 1);
+ }
+diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
+index 6ba615d..0897b22 100644
+--- a/utils/exportfs/exportfs.c
++++ b/utils/exportfs/exportfs.c
+@@ -69,14 +69,14 @@ static int _lockfd = -1;
+ * need these additional lockfile() routines.
+ */
+ static void
+-grab_lockfile()
++grab_lockfile(void)
+ {
+ _lockfd = open(lockfile, O_CREAT|O_RDWR, 0666);
+ if (_lockfd != -1)
+ lockf(_lockfd, F_LOCK, 0);
+ }
+ static void
+-release_lockfile()
++release_lockfile(void)
+ {
+ if (_lockfd != -1) {
+ lockf(_lockfd, F_ULOCK, 0);
+diff --git a/utils/mount/network.c b/utils/mount/network.c
+index ed2f825..01ead49 100644
+--- a/utils/mount/network.c
++++ b/utils/mount/network.c
+@@ -179,7 +179,7 @@ static const unsigned long probe_mnt3_only[] = {
+
+ static const unsigned int *nfs_default_proto(void);
+ #ifdef MOUNT_CONFIG
+-static const unsigned int *nfs_default_proto()
++static const unsigned int *nfs_default_proto(void)
+ {
+ extern unsigned long config_default_proto;
+ /*
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.1.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.2.bb
index bbed5aea59..4b5c28c27b 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.1.bb
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.2.bb
@@ -30,8 +30,10 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.x
file://bugfix-adjust-statd-service-name.patch \
file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
file://clang-warnings.patch \
+ file://0005-mountd-Check-for-return-of-stat-function.patch \
+ file://0006-Fix-function-prototypes.patch \
"
-SRC_URI[sha256sum] = "60dfcd94a9f3d72a12bc7058d811787ec87a6d593d70da2123faf9aad3d7a1df"
+SRC_URI[sha256sum] = "5200873e81c4d610e2462fc262fe18135f2dbe78b7979f95accd159ae64d5011"
# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
# pull in the remainder of the dependencies.
@@ -70,7 +72,7 @@ PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper,libdevmap
# keyutils is available in meta-oe
PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils,python3-core"
-PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats"
+PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats ${PN}-rpcctl"
CONFFILES:${PN}-client += "${localstatedir}/lib/nfs/etab \
${localstatedir}/lib/nfs/rmtab \
@@ -93,9 +95,12 @@ FILES:${PN}-mount = "${base_sbindir}/*mount.nfs*"
FILES:${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat ${sbindir}/nfsdclnts"
RDEPENDS:${PN}-stats = "python3-core"
+FILES:${PN}-rpcctl = "${sbindir}/rpcctl"
+RDEPENDS:${PN}-rpcctl = "python3-core"
+
FILES:${PN}-staticdev += "${libdir}/libnfsidmap/*.a"
-FILES:${PN} += "${systemd_unitdir} ${libdir}/libnfsidmap/"
+FILES:${PN} += "${systemd_unitdir} ${libdir}/libnfsidmap/ ${nonarch_libdir}/modprobe.d"
do_configure:prepend() {
sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/ssh_config b/poky/meta/recipes-connectivity/openssh/openssh/ssh_config
index e0d023803e..ca70f37375 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh/ssh_config
+++ b/poky/meta/recipes-connectivity/openssh/openssh/ssh_config
@@ -1,4 +1,4 @@
-# $OpenBSD: ssh_config,v 1.33 2017/05/07 23:12:57 djm Exp $
+# $OpenBSD: ssh_config,v 1.35 2020/07/17 03:43:42 dtucker Exp $
# This is the ssh client system-wide configuration file. See
# ssh_config(5) for more information. This file provides defaults for
@@ -17,6 +17,8 @@
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.
+Include /etc/ssh/ssh_config.d/*.conf
+
Host *
ForwardAgent yes
ForwardX11 yes
@@ -36,7 +38,6 @@ Host *
# IdentityFile ~/.ssh/id_ecdsa
# IdentityFile ~/.ssh/id_ed25519
# Port 22
-# Protocol 2
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com
# EscapeChar ~
@@ -46,3 +47,4 @@ Host *
# VisualHostKey no
# ProxyCommand ssh -q -W %h:%p gateway.example.com
# RekeyLimit 1G 1h
+# UserKnownHostsFile ~/.ssh/known_hosts.d/%k
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/sshd_config b/poky/meta/recipes-connectivity/openssh/openssh/sshd_config
index 15f061b570..e9eaf93157 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh/sshd_config
+++ b/poky/meta/recipes-connectivity/openssh/openssh/sshd_config
@@ -1,4 +1,4 @@
-# $OpenBSD: sshd_config,v 1.102 2018/02/16 02:32:40 djm Exp $
+# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
@@ -10,6 +10,8 @@
# possible, but leave them commented. Uncommented options override the
# default value.
+Include /etc/ssh/sshd_config.d/*.conf
+
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
@@ -57,9 +59,9 @@ AuthorizedKeysFile .ssh/authorized_keys
#PasswordAuthentication yes
#PermitEmptyPasswords no
-# Change to yes to enable challenge-response passwords (beware issues with
-# some PAM modules and threads)
-ChallengeResponseAuthentication no
+# Change to yes to enable keyboard-interactive authentication (beware issues
+# with some PAM modules and threads)
+KbdInteractiveAuthentication no
# Kerberos options
#KerberosAuthentication no
@@ -73,13 +75,13 @@ ChallengeResponseAuthentication no
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
-# be allowed through the ChallengeResponseAuthentication and
+# be allowed through the KbdInteractiveAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
-# PAM authentication via ChallengeResponseAuthentication may bypass
+# PAM authentication via KbdInteractiveAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
-# and ChallengeResponseAuthentication to 'no'.
+# and KbdInteractiveAuthentication to 'no'.
#UsePAM no
#AllowAgentForwarding yes
@@ -92,7 +94,6 @@ ChallengeResponseAuthentication no
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
-#UseLogin no
#PermitUserEnvironment no
Compression no
ClientAliveInterval 15
diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc
deleted file mode 100644
index e170587d08..0000000000
--- a/poky/meta/recipes-core/dropbear/dropbear.inc
+++ /dev/null
@@ -1,128 +0,0 @@
-SUMMARY = "A lightweight SSH and SCP implementation"
-HOMEPAGE = "http://matt.ucc.asn.au/dropbear/dropbear.html"
-DESCRIPTION = "Dropbear is a relatively small SSH server and client. It runs on a variety of POSIX-based platforms. Dropbear is open source software, distributed under a MIT-style license. Dropbear is particularly useful for "embedded"-type Linux (or other Unix) systems, such as wireless routers."
-SECTION = "console/network"
-
-# some files are from other projects and have others license terms:
-# public domain, OpenSSH 3.5p1, OpenSSH3.6.1p2, PuTTY
-LICENSE = "MIT & BSD-3-Clause & BSD-2-Clause & PD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=25cf44512b7bc8966a48b6b1a9b7605f"
-
-DEPENDS = "zlib virtual/crypt"
-RPROVIDES:${PN} = "ssh sshd"
-RCONFLICTS:${PN} = "openssh-sshd openssh"
-
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
- file://0001-urandom-xauth-changes-to-options.h.patch \
- file://init \
- file://dropbearkey.service \
- file://dropbear@.service \
- file://dropbear.socket \
- file://dropbear.default \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} "
-
-PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \
- file://0006-dropbear-configuration-file.patch \
- file://dropbear"
-
-PAM_PLUGINS = "libpam-runtime \
- pam-plugin-deny \
- pam-plugin-permit \
- pam-plugin-unix \
- "
-RDEPENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)}"
-
-inherit autotools update-rc.d systemd
-
-CVE_PRODUCT = "dropbear_ssh"
-
-INITSCRIPT_NAME = "dropbear"
-INITSCRIPT_PARAMS = "defaults 10"
-
-SYSTEMD_SERVICE:${PN} = "dropbear.socket"
-
-SBINCOMMANDS = "dropbear dropbearkey dropbearconvert"
-BINCOMMANDS = "dbclient ssh scp"
-EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"'
-
-PACKAGECONFIG ?= "disable-weak-ciphers"
-PACKAGECONFIG[system-libtom] = "--disable-bundled-libtom,--enable-bundled-libtom,libtommath libtomcrypt"
-PACKAGECONFIG[disable-weak-ciphers] = ""
-
-EXTRA_OECONF += "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}"
-
-# This option appends to CFLAGS and LDFLAGS from OE
-# This is causing [textrel] QA warning
-EXTRA_OECONF += "--disable-harden"
-
-# musl does not implement wtmp/logwtmp APIs
-EXTRA_OECONF:append:libc-musl = " --disable-wtmp --disable-lastlog"
-
-do_install() {
- install -d ${D}${sysconfdir} \
- ${D}${sysconfdir}/init.d \
- ${D}${sysconfdir}/default \
- ${D}${sysconfdir}/dropbear \
- ${D}${bindir} \
- ${D}${sbindir} \
- ${D}${localstatedir}
-
- install -m 0644 ${WORKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear
-
- install -m 0755 dropbearmulti ${D}${sbindir}/
-
- for i in ${BINCOMMANDS}
- do
- # ssh and scp symlinks are created by update-alternatives
- if [ $i = ssh ] || [ $i = scp ]; then continue; fi
- ln -s ${sbindir}/dropbearmulti ${D}${bindir}/$i
- done
- for i in ${SBINCOMMANDS}
- do
- ln -s ./dropbearmulti ${D}${sbindir}/$i
- done
- sed -e 's,/etc,${sysconfdir},g' \
- -e 's,/usr/sbin,${sbindir},g' \
- -e 's,/var,${localstatedir},g' \
- -e 's,/usr/bin,${bindir},g' \
- -e 's,/usr,${prefix},g' ${WORKDIR}/init > ${D}${sysconfdir}/init.d/dropbear
- chmod 755 ${D}${sysconfdir}/init.d/dropbear
- if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
- install -d ${D}${sysconfdir}/pam.d
- install -m 0644 ${WORKDIR}/dropbear ${D}${sysconfdir}/pam.d/
- fi
-
- # deal with systemd unit files
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/dropbearkey.service ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/dropbear@.service ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/dropbear.socket ${D}${systemd_system_unitdir}
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
- -e 's,@BINDIR@,${bindir},g' \
- -e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_system_unitdir}/dropbear.socket ${D}${systemd_system_unitdir}/*.service
-}
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "20"
-ALTERNATIVE:${PN} = "${@bb.utils.filter('BINCOMMANDS', 'scp ssh', d)}"
-
-ALTERNATIVE_TARGET = "${sbindir}/dropbearmulti"
-
-pkg_postrm:${PN} () {
- if [ -f "${sysconfdir}/dropbear/dropbear_rsa_host_key" ]; then
- rm ${sysconfdir}/dropbear/dropbear_rsa_host_key
- fi
- if [ -f "${sysconfdir}/dropbear/dropbear_dss_host_key" ]; then
- rm ${sysconfdir}/dropbear/dropbear_dss_host_key
- fi
-}
-
-CONFFILES:${PN} = "${sysconfdir}/default/dropbear"
-
-FILES:${PN} += "${bindir}"
diff --git a/poky/meta/recipes-core/dropbear/dropbear_2022.82.bb b/poky/meta/recipes-core/dropbear/dropbear_2022.82.bb
index 154a407a19..2de243b889 100644
--- a/poky/meta/recipes-core/dropbear/dropbear_2022.82.bb
+++ b/poky/meta/recipes-core/dropbear/dropbear_2022.82.bb
@@ -1,3 +1,130 @@
-require dropbear.inc
+SUMMARY = "A lightweight SSH and SCP implementation"
+HOMEPAGE = "http://matt.ucc.asn.au/dropbear/dropbear.html"
+DESCRIPTION = "Dropbear is a relatively small SSH server and client. It runs on a variety of POSIX-based platforms. Dropbear is open source software, distributed under a MIT-style license. Dropbear is particularly useful for "embedded"-type Linux (or other Unix) systems, such as wireless routers."
+SECTION = "console/network"
+
+# some files are from other projects and have others license terms:
+# public domain, OpenSSH 3.5p1, OpenSSH3.6.1p2, PuTTY
+LICENSE = "MIT & BSD-3-Clause & BSD-2-Clause & PD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=25cf44512b7bc8966a48b6b1a9b7605f"
+
+DEPENDS = "zlib virtual/crypt"
+RPROVIDES:${PN} = "ssh sshd"
+RCONFLICTS:${PN} = "openssh-sshd openssh"
+
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
+ file://0001-urandom-xauth-changes-to-options.h.patch \
+ file://init \
+ file://dropbearkey.service \
+ file://dropbear@.service \
+ file://dropbear.socket \
+ file://dropbear.default \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} "
SRC_URI[sha256sum] = "3a038d2bbc02bf28bbdd20c012091f741a3ec5cbe460691811d714876aad75d1"
+
+PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \
+ file://0006-dropbear-configuration-file.patch \
+ file://dropbear"
+
+PAM_PLUGINS = "libpam-runtime \
+ pam-plugin-deny \
+ pam-plugin-permit \
+ pam-plugin-unix \
+ "
+RDEPENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)}"
+
+inherit autotools update-rc.d systemd
+
+CVE_PRODUCT = "dropbear_ssh"
+
+INITSCRIPT_NAME = "dropbear"
+INITSCRIPT_PARAMS = "defaults 10"
+
+SYSTEMD_SERVICE:${PN} = "dropbear.socket"
+
+SBINCOMMANDS = "dropbear dropbearkey dropbearconvert"
+BINCOMMANDS = "dbclient ssh scp"
+EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"'
+
+PACKAGECONFIG ?= "disable-weak-ciphers"
+PACKAGECONFIG[system-libtom] = "--disable-bundled-libtom,--enable-bundled-libtom,libtommath libtomcrypt"
+PACKAGECONFIG[disable-weak-ciphers] = ""
+
+EXTRA_OECONF += "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}"
+
+# This option appends to CFLAGS and LDFLAGS from OE
+# This is causing [textrel] QA warning
+EXTRA_OECONF += "--disable-harden"
+
+# musl does not implement wtmp/logwtmp APIs
+EXTRA_OECONF:append:libc-musl = " --disable-wtmp --disable-lastlog"
+
+do_install() {
+ install -d ${D}${sysconfdir} \
+ ${D}${sysconfdir}/init.d \
+ ${D}${sysconfdir}/default \
+ ${D}${sysconfdir}/dropbear \
+ ${D}${bindir} \
+ ${D}${sbindir} \
+ ${D}${localstatedir}
+
+ install -m 0644 ${WORKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear
+
+ install -m 0755 dropbearmulti ${D}${sbindir}/
+
+ for i in ${BINCOMMANDS}
+ do
+ # ssh and scp symlinks are created by update-alternatives
+ if [ $i = ssh ] || [ $i = scp ]; then continue; fi
+ ln -s ${sbindir}/dropbearmulti ${D}${bindir}/$i
+ done
+ for i in ${SBINCOMMANDS}
+ do
+ ln -s ./dropbearmulti ${D}${sbindir}/$i
+ done
+ sed -e 's,/etc,${sysconfdir},g' \
+ -e 's,/usr/sbin,${sbindir},g' \
+ -e 's,/var,${localstatedir},g' \
+ -e 's,/usr/bin,${bindir},g' \
+ -e 's,/usr,${prefix},g' ${WORKDIR}/init > ${D}${sysconfdir}/init.d/dropbear
+ chmod 755 ${D}${sysconfdir}/init.d/dropbear
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
+ install -d ${D}${sysconfdir}/pam.d
+ install -m 0644 ${WORKDIR}/dropbear ${D}${sysconfdir}/pam.d/
+ fi
+
+ # deal with systemd unit files
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/dropbearkey.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/dropbear@.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/dropbear.socket ${D}${systemd_system_unitdir}
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@BINDIR@,${bindir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ ${D}${systemd_system_unitdir}/dropbear.socket ${D}${systemd_system_unitdir}/*.service
+}
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "20"
+ALTERNATIVE:${PN} = "${@bb.utils.filter('BINCOMMANDS', 'scp ssh', d)}"
+
+ALTERNATIVE_TARGET = "${sbindir}/dropbearmulti"
+
+pkg_postrm:${PN} () {
+ if [ -f "${sysconfdir}/dropbear/dropbear_rsa_host_key" ]; then
+ rm ${sysconfdir}/dropbear/dropbear_rsa_host_key
+ fi
+ if [ -f "${sysconfdir}/dropbear/dropbear_dss_host_key" ]; then
+ rm ${sysconfdir}/dropbear/dropbear_dss_host_key
+ fi
+}
+
+CONFFILES:${PN} = "${sysconfdir}/default/dropbear"
+
+FILES:${PN} += "${bindir}"
diff --git a/poky/meta/recipes-core/ell/ell/0001-build-fix-time.h-related-breakage-on-musl.patch b/poky/meta/recipes-core/ell/ell/0001-build-fix-time.h-related-breakage-on-musl.patch
deleted file mode 100644
index 02b5a9f21e..0000000000
--- a/poky/meta/recipes-core/ell/ell/0001-build-fix-time.h-related-breakage-on-musl.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From cd9513a025174181b66ac13de45813f6e15727d3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Milan=20P=2E=20Stani=C4=87?= <mps@arvanta.net>
-Date: Mon, 6 Jun 2022 22:05:39 +0200
-Subject: [PATCH] build: fix time.h related breakage on musl
-
-missing time.h for struct timeval usage
-forward declaration of struct timeval in time-private.h
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- ell/dhcp-transport.c | 1 +
- ell/dhcp6-transport.c | 1 +
- ell/icmp6.c | 1 +
- ell/time-private.h | 2 +-
- ell/time.c | 1 +
- 5 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/ell/dhcp-transport.c b/ell/dhcp-transport.c
-index ef030de..c4cf0ca 100644
---- a/ell/dhcp-transport.c
-+++ b/ell/dhcp-transport.c
-@@ -40,6 +40,7 @@
- #include <linux/filter.h>
- #include <net/if_arp.h>
- #include <errno.h>
-+#include <sys/time.h>
-
- #include "io.h"
- #include "util.h"
-diff --git a/ell/dhcp6-transport.c b/ell/dhcp6-transport.c
-index 30c425f..5ff6516 100644
---- a/ell/dhcp6-transport.c
-+++ b/ell/dhcp6-transport.c
-@@ -35,6 +35,7 @@
- #include <net/if.h>
- #include <unistd.h>
- #include <errno.h>
-+#include <sys/time.h>
-
- #include "private.h"
- #include "missing.h"
-diff --git a/ell/icmp6.c b/ell/icmp6.c
-index 368977f..7319903 100644
---- a/ell/icmp6.c
-+++ b/ell/icmp6.c
-@@ -36,6 +36,7 @@
- #include <net/if.h>
- #include <unistd.h>
- #include <errno.h>
-+#include <sys/time.h>
-
- #include "private.h"
- #include "useful.h"
-diff --git a/ell/time-private.h b/ell/time-private.h
-index 5295d94..83c23dd 100644
---- a/ell/time-private.h
-+++ b/ell/time-private.h
-@@ -19,7 +19,7 @@
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- */
--
-+struct timeval;
- uint64_t _time_pick_interval_secs(uint32_t min_secs, uint32_t max_secs);
- uint64_t _time_fuzz_msecs(uint64_t ms);
- uint64_t _time_fuzz_secs(uint32_t secs, uint32_t max_offset);
-diff --git a/ell/time.c b/ell/time.c
-index 10e10b0..41e5725 100644
---- a/ell/time.c
-+++ b/ell/time.c
-@@ -26,6 +26,7 @@
-
- #define _GNU_SOURCE
- #include <time.h>
-+#include <sys/time.h>
-
- #include "time.h"
- #include "time-private.h"
diff --git a/poky/meta/recipes-core/ell/ell_0.51.bb b/poky/meta/recipes-core/ell/ell_0.52.bb
index 806833bc7d..b2af0d04f0 100644
--- a/poky/meta/recipes-core/ell/ell_0.51.bb
+++ b/poky/meta/recipes-core/ell/ell_0.52.bb
@@ -14,10 +14,8 @@ DEPENDS = "dbus"
inherit autotools pkgconfig
-SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \
- file://0001-build-fix-time.h-related-breakage-on-musl.patch \
- "
-SRC_URI[sha256sum] = "ba86cfa4aaf10151443edd63a7687914465d969f5dda00a2c1fcb11bd85e417f"
+SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "83099b14beda2b253a2c69460f9613c5e955b63349e3c00cf2fd506f5b3ba7d0"
do_configure:prepend () {
mkdir -p ${S}/build-aux
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.72.1.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.72.2.bb
index 41f18d1c48..746d1bc39c 100644
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.72.1.bb
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.72.2.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SECTION = "libs"
DEPENDS = "glib-2.0"
-SRC_URI[archive.sha256sum] = "6fc1bedc8062484dc8a0204965995ef2367c3db5c934058ff1607e5a24d95a74"
+SRC_URI[archive.sha256sum] = "cd2a084c7bb91d78e849fb55d40e472f6d8f6862cddc9f12c39149359ba18268"
PACKAGECONFIG ??= "openssl ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
diff --git a/poky/meta/recipes-core/glibc/cross-localedef-native_2.35.bb b/poky/meta/recipes-core/glibc/cross-localedef-native_2.36.bb
index b7b54e9ccc..f4ea76380e 100644
--- a/poky/meta/recipes-core/glibc/cross-localedef-native_2.35.bb
+++ b/poky/meta/recipes-core/glibc/cross-localedef-native_2.36.bb
@@ -30,8 +30,8 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://0012-eglibc-Resolve-__fpscr_values-on-SH4.patch \
file://0013-eglibc-Forward-port-cross-locale-generation-support.patch \
file://0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
- file://0021-Replace-echo-with-printf-builtin-in-nscd-init-script.patch \
- file://0023-timezone-Make-shell-interpreter-overridable-in-tzsel.patch \
+ file://0019-Replace-echo-with-printf-builtin-in-nscd-init-script.patch \
+ file://0021-timezone-Make-shell-interpreter-overridable-in-tzsel.patch \
"
# Makes for a rather long rev (22 characters), but...
#
diff --git a/poky/meta/recipes-core/glibc/glibc-common.inc b/poky/meta/recipes-core/glibc/glibc-common.inc
index 90a6a534f3..fba172d968 100644
--- a/poky/meta/recipes-core/glibc/glibc-common.inc
+++ b/poky/meta/recipes-core/glibc/glibc-common.inc
@@ -22,4 +22,4 @@ ARM_INSTRUCTION_SET:armv6 = "arm"
#
COMPATIBLE_HOST:libc-musl:class-target = "null"
-PV = "2.35"
+PV = "2.36"
diff --git a/poky/meta/recipes-core/glibc/glibc-locale_2.35.bb b/poky/meta/recipes-core/glibc/glibc-locale_2.36.bb
index f7702e0358..f7702e0358 100644
--- a/poky/meta/recipes-core/glibc/glibc-locale_2.35.bb
+++ b/poky/meta/recipes-core/glibc/glibc-locale_2.36.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-mtrace_2.35.bb b/poky/meta/recipes-core/glibc/glibc-mtrace_2.36.bb
index 0b69bad46a..0b69bad46a 100644
--- a/poky/meta/recipes-core/glibc/glibc-mtrace_2.35.bb
+++ b/poky/meta/recipes-core/glibc/glibc-mtrace_2.36.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-scripts_2.35.bb b/poky/meta/recipes-core/glibc/glibc-scripts_2.36.bb
index 5a89bd8022..5a89bd8022 100644
--- a/poky/meta/recipes-core/glibc/glibc-scripts_2.35.bb
+++ b/poky/meta/recipes-core/glibc/glibc-scripts_2.36.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-tests_2.35.bb b/poky/meta/recipes-core/glibc/glibc-tests_2.36.bb
index 96d0569ff6..aca9675ebb 100644
--- a/poky/meta/recipes-core/glibc/glibc-tests_2.35.bb
+++ b/poky/meta/recipes-core/glibc/glibc-tests_2.36.bb
@@ -5,7 +5,6 @@ inherit ptest features_check
REQUIRED_DISTRO_FEATURES = "ptest"
SRC_URI:append = " \
- file://reproducible-paths.patch \
file://run-ptest \
"
diff --git a/poky/meta/recipes-core/glibc/glibc-testsuite_2.35.bb b/poky/meta/recipes-core/glibc/glibc-testsuite_2.36.bb
index e8ad2a938b..e8ad2a938b 100644
--- a/poky/meta/recipes-core/glibc/glibc-testsuite_2.35.bb
+++ b/poky/meta/recipes-core/glibc/glibc-testsuite_2.36.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-version.inc b/poky/meta/recipes-core/glibc/glibc-version.inc
index 99017ce1d4..a078eb6377 100644
--- a/poky/meta/recipes-core/glibc/glibc-version.inc
+++ b/poky/meta/recipes-core/glibc/glibc-version.inc
@@ -1,6 +1,6 @@
-SRCBRANCH ?= "release/2.35/master"
-PV = "2.35"
-SRCREV_glibc ?= "b6aade18a7e5719c942aa2da6cf3157aca993fa4"
+SRCBRANCH ?= "release/2.36/master"
+PV = "2.36"
+SRCREV_glibc ?= "3bd3c612e98a53ce60ed972f5cd2b90628b3cba5"
SRCREV_localedef ?= "794da69788cbf9bf57b59a852f9f11307663fa87"
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
diff --git a/poky/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch b/poky/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch
index 546fe58214..dfbd700c5f 100644
--- a/poky/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch
@@ -1,4 +1,4 @@
-From 8778429a3345bb5c0361332cf5103f394717a396 Mon Sep 17 00:00:00 2001
+From c6dca721df6dd8c39ffe16e61623516bd8742d39 Mon Sep 17 00:00:00 2001
From: Jason Wessel <jason.wessel@windriver.com>
Date: Sat, 7 Dec 2019 09:59:22 -0800
Subject: [PATCH] localedef: Add hardlink resolver from util-linux
diff --git a/poky/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch b/poky/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch
index 94a05cf954..57f1a36455 100644
--- a/poky/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch
@@ -1,4 +1,4 @@
-From 87a69126d97bb8d5d52e34e451b4a7076efd6bed Mon Sep 17 00:00:00 2001
+From 3e391efa9b179ae886dd0942202bd2a6698e2679 Mon Sep 17 00:00:00 2001
From: Jason Wessel <jason.wessel@windriver.com>
Date: Sat, 7 Dec 2019 10:01:37 -0800
Subject: [PATCH] localedef: fix-ups hardlink to make it compile
diff --git a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
index 9a605078b9..4eb23bd0e5 100644
--- a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
@@ -1,4 +1,4 @@
-From 752b0d32fc96728ee624dbd62bf23e034d8d2aed Mon Sep 17 00:00:00 2001
+From a74ac72e6a25121c99f3875cf0245a435729e897 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:48:24 +0000
Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well
@@ -30,10 +30,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 721593135e..39c4657fa2 100644
+index 1ad0868dad..c5e235d918 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
-@@ -2208,6 +2208,14 @@ _dl_map_object (struct link_map *loader, const char *name,
+@@ -2109,6 +2109,14 @@ _dl_map_object (struct link_map *loader, const char *name,
}
}
@@ -48,7 +48,7 @@ index 721593135e..39c4657fa2 100644
#ifdef USE_LDCONFIG
if (fd == -1
&& (__glibc_likely ((mode & __RTLD_SECURE) == 0)
-@@ -2266,14 +2274,6 @@ _dl_map_object (struct link_map *loader, const char *name,
+@@ -2167,14 +2175,6 @@ _dl_map_object (struct link_map *loader, const char *name,
}
#endif
diff --git a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
index da288d6ccf..7eaf70b780 100644
--- a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
@@ -1,4 +1,4 @@
-From 2f7407697f2a905fedb98037152e7830f73bc6c6 Mon Sep 17 00:00:00 2001
+From d2f16ab250dbb93ae21e9e9286ddf696141db735 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:50:00 +0000
Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK
@@ -21,10 +21,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 12 insertions(+)
diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 39c4657fa2..daa3af6c51 100644
+index c5e235d918..ce3cbfa3c4 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
-@@ -1904,7 +1904,19 @@ open_path (const char *name, size_t namelen, int mode,
+@@ -1809,7 +1809,19 @@ open_path (const char *name, size_t namelen, int mode,
given on the command line when rtld is run directly. */
return -1;
diff --git a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
index 14bcaf3ef9..1fb76202c5 100644
--- a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
@@ -1,4 +1,4 @@
-From 88a31cd08801df53249963f3b26c7dbcee6ae2f8 Mon Sep 17 00:00:00 2001
+From 2d41508ed1059df2df9994d35d870be2005f575f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:51:38 +0000
Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths
@@ -26,10 +26,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
8 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/elf/dl-cache.c b/elf/dl-cache.c
-index 2b8da8650d..3d9787bda4 100644
+index 8bbf110d02..c02a95d9b5 100644
--- a/elf/dl-cache.c
+++ b/elf/dl-cache.c
-@@ -355,6 +355,10 @@ search_cache (const char *string_table, uint32_t string_table_size,
+@@ -352,6 +352,10 @@ search_cache (const char *string_table, uint32_t string_table_size,
return best;
}
@@ -41,7 +41,7 @@ index 2b8da8650d..3d9787bda4 100644
_dl_cache_libcmp (const char *p1, const char *p2)
{
diff --git a/elf/dl-load.c b/elf/dl-load.c
-index daa3af6c51..e323952993 100644
+index ce3cbfa3c4..e116db24a1 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -117,8 +117,8 @@ enum { ncapstr = 1, max_capstrlen = 0 };
@@ -56,7 +56,7 @@ index daa3af6c51..e323952993 100644
SYSTEM_DIRS_LEN
};
diff --git a/elf/dl-usage.c b/elf/dl-usage.c
-index 5ad3a72559..88f26d3692 100644
+index 98d8c98948..77ca98cbf9 100644
--- a/elf/dl-usage.c
+++ b/elf/dl-usage.c
@@ -25,6 +25,8 @@
@@ -87,7 +87,7 @@ index 5ad3a72559..88f26d3692 100644
print_hwcaps_subdirectories (state);
print_legacy_hwcap_directories ();
diff --git a/elf/interp.c b/elf/interp.c
-index 91966702ca..dc86c20e83 100644
+index d82af036d1..9d282b2769 100644
--- a/elf/interp.c
+++ b/elf/interp.c
@@ -18,5 +18,5 @@
@@ -98,7 +98,7 @@ index 91966702ca..dc86c20e83 100644
+const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp")))
= RUNTIME_LINKER;
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
-index 101d56ac8e..33debef60a 100644
+index 9394ac6438..7f66b1a460 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -176,6 +176,9 @@ static struct argp argp =
@@ -112,10 +112,10 @@ index 101d56ac8e..33debef60a 100644
a platform. */
static int
diff --git a/elf/rtld.c b/elf/rtld.c
-index 4b09e84b0d..56d93ff616 100644
+index cbbaf4a331..d2d27a0127 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
-@@ -193,6 +193,7 @@ dso_name_valid_for_suid (const char *p)
+@@ -189,6 +189,7 @@ dso_name_valid_for_suid (const char *p)
}
return *p != '\0';
}
@@ -124,7 +124,7 @@ index 4b09e84b0d..56d93ff616 100644
static void
audit_list_init (struct audit_list *list)
diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
-index 077082af66..46b6152455 100644
+index f069e28323..6288f715ba 100644
--- a/iconv/gconv_conf.c
+++ b/iconv/gconv_conf.c
@@ -35,7 +35,7 @@
@@ -137,7 +137,7 @@ index 077082af66..46b6152455 100644
/* Type to represent search path. */
struct path_elem
diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h
-index 964d50a486..94bf68ca9d 100644
+index 93d4bea930..5249176441 100644
--- a/sysdeps/generic/dl-cache.h
+++ b/sysdeps/generic/dl-cache.h
@@ -34,10 +34,6 @@
diff --git a/poky/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/poky/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
index 493b2daad3..c66bcf80c0 100644
--- a/poky/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
@@ -1,4 +1,4 @@
-From a1fbd7ef1da02f334ff72c52cb11116164649067 Mon Sep 17 00:00:00 2001
+From 946d1cadf0bb54216409e8e0eb09be3e96044dbf Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Dec 2015 14:35:35 -0800
Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86
@@ -17,10 +17,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/sysdeps/x86/atomic-machine.h b/sysdeps/x86/atomic-machine.h
-index 2692d94a92..9d39bfdbd5 100644
+index f24f1c71ed..574487ca54 100644
--- a/sysdeps/x86/atomic-machine.h
+++ b/sysdeps/x86/atomic-machine.h
-@@ -52,19 +52,14 @@ typedef uintmax_t uatomic_max_t;
+@@ -26,19 +26,14 @@
#define LOCK_PREFIX "lock;"
#define USE_ATOMIC_COMPILER_BUILTINS 1
diff --git a/poky/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/poky/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch
index b40d2bdef6..dc24c0240e 100644
--- a/poky/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch
@@ -1,4 +1,4 @@
-From bf1603b3d73f64de777be00f7e55f2cfef596102 Mon Sep 17 00:00:00 2001
+From ce4e796fa8bd2df962cf7a0e4bc69ab6181e4ebf Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 3 Aug 2018 09:55:12 -0700
Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales
@@ -19,7 +19,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
4 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/locale/findlocale.c b/locale/findlocale.c
-index 5986373edd..856ba9afc0 100644
+index fc433b61d8..d6f030f13c 100644
--- a/locale/findlocale.c
+++ b/locale/findlocale.c
@@ -55,7 +55,7 @@ struct __locale_data *const _nl_C[] attribute_hidden =
@@ -41,7 +41,7 @@ index 5986373edd..856ba9afc0 100644
else
/* We really have to load some data. First see whether the name is
diff --git a/locale/loadarchive.c b/locale/loadarchive.c
-index 512769eaec..436619091b 100644
+index fcc4913319..62cae8c6c0 100644
--- a/locale/loadarchive.c
+++ b/locale/loadarchive.c
@@ -42,7 +42,7 @@
@@ -54,10 +54,10 @@ index 512769eaec..436619091b 100644
/* Size of initial mapping window, optimal if large enough to
cover the header plus the initial locale. */
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
-index b3d4da0185..22f9dc1140 100644
+index fd43033a19..3dc26272a0 100644
--- a/locale/localeinfo.h
+++ b/locale/localeinfo.h
-@@ -331,7 +331,7 @@ _nl_lookup_word (locale_t l, int category, int item)
+@@ -347,7 +347,7 @@ _nl_lookup_word (locale_t l, int category, int item)
}
/* Default search path if no LOCPATH environment variable. */
@@ -67,7 +67,7 @@ index b3d4da0185..22f9dc1140 100644
/* Load the locale data for CATEGORY from the file specified by *NAME.
If *NAME is "", use environment variables as specified by POSIX, and
diff --git a/locale/programs/locale.c b/locale/programs/locale.c
-index e9275d6b83..a9109155e5 100644
+index 1b51b50d68..87c9049444 100644
--- a/locale/programs/locale.c
+++ b/locale/programs/locale.c
@@ -631,6 +631,7 @@ nameentcmp (const void *a, const void *b)
diff --git a/poky/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch b/poky/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch
index a47dd5331a..4d080726f8 100644
--- a/poky/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch
@@ -1,4 +1,4 @@
-From 78b2e81940561069faf7698931a033784f794e40 Mon Sep 17 00:00:00 2001
+From 95508f06f13604ed96f28d18eb1670ea1ed02063 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Mar 2021 14:48:56 -0800
Subject: [PATCH] nativesdk-glibc: Fall back to faccessat on faccess2 returns
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/sysdeps/unix/sysv/linux/faccessat.c b/sysdeps/unix/sysv/linux/faccessat.c
-index 13160d3249..ee3ddc9b79 100644
+index 1378bb2db8..19f2044172 100644
--- a/sysdeps/unix/sysv/linux/faccessat.c
+++ b/sysdeps/unix/sysv/linux/faccessat.c
@@ -30,7 +30,11 @@ __faccessat (int fd, const char *file, int mode, int flag)
diff --git a/poky/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch b/poky/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch
index 77644a2ee3..6b80ad3e64 100644
--- a/poky/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch
@@ -1,4 +1,4 @@
-From f6e96a95212bc1fef57b9594a7dddc0c20639873 Mon Sep 17 00:00:00 2001
+From 07655aaa14f9d1f3a521caadde2936067ce84b07 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:31:06 +0000
Subject: [PATCH] 'yes' within the path sets wrong config variables
@@ -29,10 +29,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
12 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure
-index 4c1fac49f3..597314f476 100644
+index bf972122b1..f9397b8d6e 100644
--- a/sysdeps/aarch64/configure
+++ b/sysdeps/aarch64/configure
-@@ -157,12 +157,12 @@ else
+@@ -152,12 +152,12 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __AARCH64EB__
@@ -48,10 +48,10 @@ index 4c1fac49f3..597314f476 100644
else
libc_cv_aarch64_be=no
diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac
-index 3347c13fa1..4af163c0b6 100644
+index 51253d9802..ba36a0e8b4 100644
--- a/sysdeps/aarch64/configure.ac
+++ b/sysdeps/aarch64/configure.ac
-@@ -17,8 +17,8 @@ AC_DEFINE(SUPPORT_STATIC_PIE)
+@@ -13,8 +13,8 @@ AC_DEFINE(SUPPORT_STATIC_PIE)
# the dynamic linker via %ifdef.
AC_CACHE_CHECK([for big endian],
[libc_cv_aarch64_be],
@@ -63,10 +63,10 @@ index 3347c13fa1..4af163c0b6 100644
], libc_cv_aarch64_be=yes, libc_cv_aarch64_be=no)])
if test $libc_cv_aarch64_be = yes; then
diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure
-index 431e843b2b..e152461138 100644
+index 5b0237e521..969fc9fe95 100644
--- a/sysdeps/arm/configure
+++ b/sysdeps/arm/configure
-@@ -151,12 +151,12 @@ else
+@@ -148,12 +148,12 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __ARM_PCS_VFP
@@ -82,10 +82,10 @@ index 431e843b2b..e152461138 100644
else
libc_cv_arm_pcs_vfp=no
diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac
-index 90cdd69c75..05a262ba00 100644
+index 5172e30bbe..f06dedd7c5 100644
--- a/sysdeps/arm/configure.ac
+++ b/sysdeps/arm/configure.ac
-@@ -15,8 +15,8 @@ AC_DEFINE(PI_STATIC_AND_HIDDEN)
+@@ -10,8 +10,8 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
# the dynamic linker via %ifdef.
AC_CACHE_CHECK([whether the compiler is using the ARM hard-float ABI],
[libc_cv_arm_pcs_vfp],
@@ -97,10 +97,10 @@ index 90cdd69c75..05a262ba00 100644
], libc_cv_arm_pcs_vfp=yes, libc_cv_arm_pcs_vfp=no)])
if test $libc_cv_arm_pcs_vfp = yes; then
diff --git a/sysdeps/mips/configure b/sysdeps/mips/configure
-index 4e13248c03..f14af952d0 100644
+index 3f4d9e9759..888453c70b 100644
--- a/sysdeps/mips/configure
+++ b/sysdeps/mips/configure
-@@ -143,11 +143,11 @@ else
+@@ -145,11 +145,11 @@ else
/* end confdefs.h. */
dnl
#ifdef __mips_nan2008
@@ -115,11 +115,11 @@ index 4e13248c03..f14af952d0 100644
else
libc_cv_mips_nan2008=no
diff --git a/sysdeps/mips/configure.ac b/sysdeps/mips/configure.ac
-index bcbdaffd9f..ad3057f4cc 100644
+index d3cd780d78..250223d206 100644
--- a/sysdeps/mips/configure.ac
+++ b/sysdeps/mips/configure.ac
@@ -6,9 +6,9 @@ dnl position independent way.
- dnl AC_DEFINE(PI_STATIC_AND_HIDDEN)
+ AC_DEFINE(HIDDEN_VAR_NEEDS_DYNAMIC_RELOC)
AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding],
- libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl
@@ -131,7 +131,7 @@ index bcbdaffd9f..ad3057f4cc 100644
if test x$libc_cv_mips_nan2008 = xyes; then
AC_DEFINE(HAVE_MIPS_NAN2008)
diff --git a/sysdeps/nios2/configure b/sysdeps/nios2/configure
-index 14c8a3a014..dde3814ef2 100644
+index b3cd28349e..f47e5a5adc 100644
--- a/sysdeps/nios2/configure
+++ b/sysdeps/nios2/configure
@@ -142,12 +142,12 @@ else
@@ -150,7 +150,7 @@ index 14c8a3a014..dde3814ef2 100644
else
libc_cv_nios2_be=no
diff --git a/sysdeps/nios2/configure.ac b/sysdeps/nios2/configure.ac
-index f05f43802b..dc8639902d 100644
+index f738e9a7ed..4085851cbc 100644
--- a/sysdeps/nios2/configure.ac
+++ b/sysdeps/nios2/configure.ac
@@ -4,8 +4,8 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
diff --git a/poky/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch b/poky/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch
index 295fa315d8..ba8696d654 100644
--- a/poky/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch
@@ -1,4 +1,4 @@
-From d6300e80c7c010fa7ca33e36e826151558cec498 Mon Sep 17 00:00:00 2001
+From 9373891f13f3550f9b3f896c34ac152efd369ca9 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:42:58 +0000
Subject: [PATCH] eglibc: Cross building and testing instructions
diff --git a/poky/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch
index 9e00da894d..1f6ff1f1fa 100644
--- a/poky/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch
@@ -1,4 +1,4 @@
-From 1c8044544d2cbdc529910a3ed6eba4b0ce7ae549 Mon Sep 17 00:00:00 2001
+From 7f2fd574646cb5ecbbc09372a2d8580ab72ec158 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:49:28 +0000
Subject: [PATCH] eglibc: Help bootstrap cross toolchain
@@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
create mode 100644 include/stubs-bootstrap.h
diff --git a/Makefile b/Makefile
-index a49870d3d1..81673d7645 100644
+index 179dd478ff..55cfb740bf 100644
--- a/Makefile
+++ b/Makefile
@@ -79,9 +79,18 @@ subdir-dirs = include
@@ -52,7 +52,7 @@ index a49870d3d1..81673d7645 100644
ifeq (yes,$(build-shared))
headers += gnu/lib-names.h
endif
-@@ -420,6 +429,16 @@ others: $(common-objpfx)testrun.sh $(common-objpfx)debugglibc.sh
+@@ -421,6 +430,16 @@ others: $(common-objpfx)testrun.sh $(common-objpfx)debugglibc.sh
subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)$(dir)/stubs)
@@ -69,7 +69,7 @@ index a49870d3d1..81673d7645 100644
ifndef abi-variants
installed-stubs = $(inst_includedir)/gnu/stubs.h
else
-@@ -446,6 +465,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force)
+@@ -447,6 +466,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force)
install-others-nosubdir: $(installed-stubs)
endif
diff --git a/poky/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch b/poky/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch
index 03c81bfbd7..399e14faf4 100644
--- a/poky/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch
@@ -1,4 +1,4 @@
-From e5999ffd1b8690c2902a6406c07f51023a6bf7ec Mon Sep 17 00:00:00 2001
+From 9f1803a2f91d59a9478ca4d8d93e1de5c62671e5 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:55:53 +0000
Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4
@@ -33,7 +33,7 @@ index 9c734ff755..974e33b4b1 100644
# a*
alphasort64;
diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S
-index a18fbb2e8b..59421bfbb0 100644
+index c5e3a7a365..35120031c4 100644
--- a/sysdeps/unix/sysv/linux/sh/sysdep.S
+++ b/sysdeps/unix/sysv/linux/sh/sysdep.S
@@ -30,3 +30,14 @@ ENTRY (__syscall_error)
diff --git a/poky/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch b/poky/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch
index 48bb062e09..7d891557bf 100644
--- a/poky/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch
@@ -1,4 +1,4 @@
-From 99ae3189430eaa5472b2117e5a999109a6ca9251 Mon Sep 17 00:00:00 2001
+From 2c6449014151a4bcd4b253b2acc920f0b3d6b13f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:33:49 +0000
Subject: [PATCH] eglibc: Forward port cross locale generation support
@@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
create mode 100644 locale/catnames.c
diff --git a/locale/Makefile b/locale/Makefile
-index b7c60681fa..07c606cde3 100644
+index eb55750496..b0461ac4b9 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -26,7 +26,8 @@ headers = langinfo.h locale.h bits/locale.h \
@@ -89,10 +89,10 @@ index 0000000000..538f3f5edb
+ [LC_ALL] = sizeof ("LC_ALL") - 1
+ };
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
-index 22f9dc1140..fa31b3c5ea 100644
+index 3dc26272a0..b667d32c23 100644
--- a/locale/localeinfo.h
+++ b/locale/localeinfo.h
-@@ -230,7 +230,7 @@ __libc_tsd_define (extern, locale_t, LOCALE)
+@@ -246,7 +246,7 @@ __libc_tsd_define (extern, locale_t, LOCALE)
unused. We can manage this playing some tricks with weak references.
But with thread-local locale settings, it becomes quite ungainly unless
we can use __thread variables. So only in that case do we attempt this. */
@@ -102,7 +102,7 @@ index 22f9dc1140..fa31b3c5ea 100644
# define NL_CURRENT_INDIRECT 1
#endif
diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c
-index 4841bfd05d..ffcba1fd79 100644
+index 396a0d76c0..91f4a765ee 100644
--- a/locale/programs/charmap-dir.c
+++ b/locale/programs/charmap-dir.c
@@ -18,7 +18,9 @@
@@ -148,7 +148,7 @@ index 4841bfd05d..ffcba1fd79 100644
return NULL;
}
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
-index 06a5203334..84b3ff4166 100644
+index 992814491d..da4dde4663 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -352,7 +352,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen,
@@ -160,7 +160,7 @@ index 06a5203334..84b3ff4166 100644
uint32_t zero = 0;
/* Handle <U0000> as a single character. */
if (nwcs == 0)
-@@ -1783,8 +1783,7 @@ symbol `%s' has the same encoding as"), (*eptr)->name);
+@@ -1776,8 +1776,7 @@ symbol `%s' has the same encoding as"), (*eptr)->name);
if ((*eptr)->nwcs == runp->nwcs)
{
@@ -170,7 +170,7 @@ index 06a5203334..84b3ff4166 100644
if (c == 0)
{
-@@ -2011,9 +2010,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp)
+@@ -2004,9 +2003,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp)
one consecutive entry. */
if (runp->wcnext != NULL
&& runp->nwcs == runp->wcnext->nwcs
@@ -183,7 +183,7 @@ index 06a5203334..84b3ff4166 100644
&& (runp->wcs[runp->nwcs - 1]
== runp->wcnext->wcs[runp->nwcs - 1] + 1))
{
-@@ -2037,9 +2036,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp)
+@@ -2030,9 +2029,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp)
runp = runp->wcnext;
while (runp->wcnext != NULL
&& runp->nwcs == runp->wcnext->nwcs
@@ -197,7 +197,7 @@ index 06a5203334..84b3ff4166 100644
== runp->wcnext->wcs[runp->nwcs - 1] + 1));
diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
-index 07b64ac5a1..70b49ab733 100644
+index c6749dbd82..ac99777925 100644
--- a/locale/programs/ld-ctype.c
+++ b/locale/programs/ld-ctype.c
@@ -914,7 +914,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap,
@@ -229,7 +229,7 @@ index 07b64ac5a1..70b49ab733 100644
handle_digits = 1;
goto read_charclass;
-@@ -3903,8 +3903,7 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
+@@ -3876,8 +3876,7 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
while (idx < number)
{
@@ -239,7 +239,7 @@ index 07b64ac5a1..70b49ab733 100644
if (res == 0)
{
replace = 1;
-@@ -3941,11 +3940,11 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
+@@ -3914,11 +3913,11 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
for (size_t cnt = 0; cnt < number; ++cnt)
{
struct translit_to_t *srunp;
@@ -253,7 +253,7 @@ index 07b64ac5a1..70b49ab733 100644
srunp = srunp->next;
}
/* Plus one for the extra NUL character marking the end of
-@@ -3969,18 +3968,18 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
+@@ -3942,18 +3941,18 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
ctype->translit_from_idx[cnt] = from_len;
ctype->translit_to_idx[cnt] = to_len;
@@ -279,7 +279,7 @@ index 07b64ac5a1..70b49ab733 100644
srunp = srunp->next;
}
diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c
-index e6f320d2b3..c6631ad101 100644
+index b58fecfcee..a4d70e0780 100644
--- a/locale/programs/ld-time.c
+++ b/locale/programs/ld-time.c
@@ -219,8 +219,10 @@ No definition for %s category found"), "LC_TIME");
@@ -348,20 +348,20 @@ index e6f320d2b3..c6631ad101 100644
diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c
-index a1f22b28ed..cbd3b40ceb 100644
+index 0460074a0c..31a7151f66 100644
--- a/locale/programs/linereader.c
+++ b/locale/programs/linereader.c
-@@ -594,7 +594,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap,
+@@ -776,7 +776,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap,
{
int return_widestr = lr->return_widestr;
- char *buf;
+ struct lr_buffer lrb;
- wchar_t *buf2 = NULL;
+ uint32_t *buf2 = NULL;
- size_t bufact;
- size_t bufmax = 56;
+
+ lr_buffer_init (&lrb);
diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
-index f0da25e9e5..5d9e01cda2 100644
+index 35a092a111..94712bf114 100644
--- a/locale/programs/localedef.c
+++ b/locale/programs/localedef.c
@@ -108,6 +108,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
@@ -407,7 +407,7 @@ index f0da25e9e5..5d9e01cda2 100644
force_output = 1;
break;
diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c
-index 1427b518a9..dafa84a20b 100644
+index 8fa74dce60..8d5aca6d9e 100644
--- a/locale/programs/locfile.c
+++ b/locale/programs/locfile.c
@@ -543,6 +543,9 @@ compare_files (const char *filename1, const char *filename2, size_t size,
@@ -430,7 +430,7 @@ index 1427b518a9..dafa84a20b 100644
/* Record that FILE's next element is the 32-bit integer VALUE. */
diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h
-index cbc20fe88d..ae88e6d0af 100644
+index 57b2211e2f..e9498c6c7e 100644
--- a/locale/programs/locfile.h
+++ b/locale/programs/locfile.h
@@ -70,6 +70,8 @@ extern void write_all_categories (struct localedef_t *definitions,
@@ -519,7 +519,7 @@ index cbc20fe88d..ae88e6d0af 100644
+
#endif /* locfile.h */
diff --git a/locale/setlocale.c b/locale/setlocale.c
-index 19ed85ae8e..f28ca11446 100644
+index 56c14d8533..6aac00503e 100644
--- a/locale/setlocale.c
+++ b/locale/setlocale.c
@@ -63,35 +63,6 @@ static char *const _nl_current_used[] =
diff --git a/poky/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/poky/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
index eae1ee8907..c47025af3b 100644
--- a/poky/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
@@ -1,4 +1,4 @@
-From 32c2e23ad29f63f57f544daf1a59259147cd1008 Mon Sep 17 00:00:00 2001
+From 8ebf6708ba54147b44f5638b93f123fd55d4c37e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 3 Aug 2018 09:42:06 -0700
Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path
@@ -18,7 +18,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 25 insertions(+), 10 deletions(-)
diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
-index 477499bd40..fe7b5ff60c 100644
+index eeb2fa6ffe..15274b0191 100644
--- a/locale/programs/locarchive.c
+++ b/locale/programs/locarchive.c
@@ -339,12 +339,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
diff --git a/poky/meta/recipes-core/glibc/glibc/0016-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch b/poky/meta/recipes-core/glibc/glibc/0015-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
index 4e51036ce5..933fa0eb3f 100644
--- a/poky/meta/recipes-core/glibc/glibc/0016-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0015-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
@@ -1,4 +1,4 @@
-From c59bc6eb421ad3310c43951a11d2561bbf34e95e Mon Sep 17 00:00:00 2001
+From bd2b87eaa2e99310f5439df95bea12a48dc978bf Mon Sep 17 00:00:00 2001
From: Martin Jansa <martin.jansa@gmail.com>
Date: Mon, 17 Dec 2018 21:36:18 +0000
Subject: [PATCH] locale: prevent maybe-uninitialized errors with -Os [BZ
@@ -33,7 +33,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 7 insertions(+)
diff --git a/locale/weight.h b/locale/weight.h
-index 076529c0ba..2ac83657f7 100644
+index 8be2d220f8..4a4d5aa6b2 100644
--- a/locale/weight.h
+++ b/locale/weight.h
@@ -27,7 +27,14 @@ findidx (const int32_t *table,
@@ -46,7 +46,7 @@ index 076529c0ba..2ac83657f7 100644
+ as described in comments in locale/weightwc.h. */
+ DIAG_PUSH_NEEDS_COMMENT;
+ DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- int_fast32_t i = table[*(*cpp)++];
+ int32_t i = table[*(*cpp)++];
+ DIAG_POP_NEEDS_COMMENT;
const unsigned char *cp;
const unsigned char *usrc;
diff --git a/poky/meta/recipes-core/glibc/glibc/0017-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/poky/meta/recipes-core/glibc/glibc/0016-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
index 77a2bab87d..f45951ae2c 100644
--- a/poky/meta/recipes-core/glibc/glibc/0017-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0016-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
@@ -1,4 +1,4 @@
-From 9f4fcec5662bfa6f8aa6a36dda6f4c05f6e30e51 Mon Sep 17 00:00:00 2001
+From 58dd1336c1c32716f4f0938bf18f2ddfbe9305ca Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:11:22 +0000
Subject: [PATCH] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names
@@ -16,7 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/elf/readlib.c b/elf/readlib.c
-index 64b20d7804..50318158fb 100644
+index ed42fbd48e..777f6c80be 100644
--- a/elf/readlib.c
+++ b/elf/readlib.c
@@ -49,6 +49,7 @@ static struct known_names interpreters[] =
diff --git a/poky/meta/recipes-core/glibc/glibc/0019-powerpc-Do-not-ask-compiler-for-finding-arch.patch b/poky/meta/recipes-core/glibc/glibc/0017-powerpc-Do-not-ask-compiler-for-finding-arch.patch
index 4313c6860f..cb6f7dc3d0 100644
--- a/poky/meta/recipes-core/glibc/glibc/0019-powerpc-Do-not-ask-compiler-for-finding-arch.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0017-powerpc-Do-not-ask-compiler-for-finding-arch.patch
@@ -1,4 +1,4 @@
-From eb44466ec976d800bb697b10775efa28f22ec216 Mon Sep 17 00:00:00 2001
+From 93c5b86fae5e42e148e5182466eb0ac26298159c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 7 Aug 2020 14:31:16 -0700
Subject: [PATCH] powerpc: Do not ask compiler for finding arch
diff --git a/poky/meta/recipes-core/glibc/glibc/0018-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch b/poky/meta/recipes-core/glibc/glibc/0018-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
index 3b2d638b5f..996471a520 100644
--- a/poky/meta/recipes-core/glibc/glibc/0018-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0018-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
@@ -1,7 +1,7 @@
-From 4d6bce6b106d9d9a629aadba74d74cd8a500ccbf Mon Sep 17 00:00:00 2001
+From e2dba281429384cc22a73a58eaf79459e64be266 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 15 May 2020 17:05:45 -0700
-Subject: [PATCH 18/24] wordsize.h: Unify the header between arm and aarch64
+Subject: [PATCH] wordsize.h: Unify the header between arm and aarch64
This helps OE multilibs to not sythesize this header which causes all
kind of recursions and other issues since wordsize is fundamental header
@@ -11,10 +11,10 @@ Upstream-Status: Inappropriate [ OE-Specific ]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- sysdeps/aarch64/bits/wordsize.h | 8 ++++++--
- sysdeps/{aarch64 => arm}/bits/wordsize.h | 10 +++++++---
- 2 files changed, 13 insertions(+), 5 deletions(-)
- copy sysdeps/{aarch64 => arm}/bits/wordsize.h (80%)
+ sysdeps/aarch64/bits/wordsize.h | 8 ++++++--
+ sysdeps/{aarch64 => arm}/bits/wordsize.h | 8 ++++++--
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+ copy sysdeps/{aarch64 => arm}/bits/wordsize.h (85%)
diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h
index 4635431f0e..5ef0ed21f3 100644
@@ -40,10 +40,10 @@ index 4635431f0e..5ef0ed21f3 100644
#define __WORDSIZE_TIME64_COMPAT32 0
diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h
-similarity index 80%
+similarity index 85%
copy from sysdeps/aarch64/bits/wordsize.h
copy to sysdeps/arm/bits/wordsize.h
-index 4635431f0e..34fcdef1f1 100644
+index 4635431f0e..5ef0ed21f3 100644
--- a/sysdeps/aarch64/bits/wordsize.h
+++ b/sysdeps/arm/bits/wordsize.h
@@ -17,12 +17,16 @@
@@ -65,6 +65,3 @@ index 4635431f0e..34fcdef1f1 100644
#endif
#define __WORDSIZE_TIME64_COMPAT32 0
---
-2.34.1
-
diff --git a/poky/meta/recipes-core/glibc/glibc/0021-Replace-echo-with-printf-builtin-in-nscd-init-script.patch b/poky/meta/recipes-core/glibc/glibc/0019-Replace-echo-with-printf-builtin-in-nscd-init-script.patch
index 42c498bbc8..5181cfec61 100644
--- a/poky/meta/recipes-core/glibc/glibc/0021-Replace-echo-with-printf-builtin-in-nscd-init-script.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0019-Replace-echo-with-printf-builtin-in-nscd-init-script.patch
@@ -1,4 +1,4 @@
-From 77fbd98f551d5b2cd338aa7f524e5ed980edb65e Mon Sep 17 00:00:00 2001
+From 97a71e1dd07ba6721464150b03fd67823b6271e2 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Dec 2015 14:33:02 -0800
Subject: [PATCH] Replace echo with printf builtin in nscd init script
@@ -8,7 +8,7 @@ since it uses bash specific extentions namely (translated strings)
and echo -n command, replace echo with printf and
switch the shell interpreter to #!/bin/sh.
-Upstream-Status: Submitted [https://patchwork.sourceware.org/project/glibc/patch/20211209203557.1318333-1-raj.khem@gmail.com/]
+Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
diff --git a/poky/meta/recipes-core/glibc/glibc/0022-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch b/poky/meta/recipes-core/glibc/glibc/0020-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch
index 5ac9d6d3a1..396f33216d 100644
--- a/poky/meta/recipes-core/glibc/glibc/0022-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0020-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch
@@ -1,11 +1,12 @@
-From 5d1384d86fc44404ca32c6fda2d46ec357337c91 Mon Sep 17 00:00:00 2001
+From 3b5b6079512af8af50d0a43d4c1c218f5ba1b302 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:27:10 +0000
-Subject: [PATCH] sysdeps/gnu/configure.ac: Set libc_cv_rootsbindir only if its empty
+Subject: [PATCH] sysdeps/gnu/configure.ac: Set libc_cv_rootsbindir only if its
+ empty
This ensures that it can be set in build environment
-Upstream-Status: Submitted [https://patchwork.sourceware.org/project/glibc/patch/20211209203557.1318333-2-raj.khem@gmail.com/]
+Upstream-Status: Pending
Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
diff --git a/poky/meta/recipes-core/glibc/glibc/0023-timezone-Make-shell-interpreter-overridable-in-tzsel.patch b/poky/meta/recipes-core/glibc/glibc/0021-timezone-Make-shell-interpreter-overridable-in-tzsel.patch
index e5e6ceba60..2f4e92dffa 100644
--- a/poky/meta/recipes-core/glibc/glibc/0023-timezone-Make-shell-interpreter-overridable-in-tzsel.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0021-timezone-Make-shell-interpreter-overridable-in-tzsel.patch
@@ -1,4 +1,4 @@
-From c0f251c58655e3377fe1c67a026c21ef68d2abcf Mon Sep 17 00:00:00 2001
+From 8d5ff7357354394b958321204b75e3855781aefe Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 9 Dec 2021 15:14:42 -0800
Subject: [PATCH] timezone: Make shell interpreter overridable in tzselect.ksh
@@ -6,7 +6,7 @@ Subject: [PATCH] timezone: Make shell interpreter overridable in tzselect.ksh
define new macro called KSHELL which can be used to define default shell
use Bash by default
-Upstream-Status: Submitted [https://patchwork.sourceware.org/project/glibc/patch/20211209234015.1554552-1-raj.khem@gmail.com/]
+Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makeconfig | 9 +++++++++
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 10 insertions(+)
diff --git a/Makeconfig b/Makeconfig
-index 775bf12b65..7b9a8f0a94 100644
+index ba70321af1..4b643768d9 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -293,6 +293,15 @@ ifndef sysincludedir
@@ -34,10 +34,10 @@ index 775bf12b65..7b9a8f0a94 100644
# Commands to install files.
ifndef INSTALL_DATA
diff --git a/timezone/Makefile b/timezone/Makefile
-index c624a189b3..dc8f5277de 100644
+index a789c22d26..3e69409a94 100644
--- a/timezone/Makefile
+++ b/timezone/Makefile
-@@ -127,6 +127,7 @@ $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
+@@ -134,6 +134,7 @@ $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
-e '/TZVERSION=/s|see_Makefile|"$(version)"|' \
-e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \
-e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \
diff --git a/poky/meta/recipes-core/glibc/glibc/0022-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch b/poky/meta/recipes-core/glibc/glibc/0022-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch
new file mode 100644
index 0000000000..c409327f95
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0022-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch
@@ -0,0 +1,27 @@
+From ba1365f19ccc8378f2fcff892721187537479884 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 15 Dec 2021 21:47:53 -0800
+Subject: [PATCH] tzselect.ksh: Use /bin/sh default shell interpreter
+
+checkbashism reports no issues with tzselect.ksh, therefore using
+/bin/sh instead of /bin/bash should be safe and portable across systems
+which don't ship bash ( embedded systems )
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Cc: Adhemerval Zanella <adhemerval.zanella@linaro.org>
+Cc: Paul Eggert <eggert@cs.ucla.edu>
+---
+ timezone/tzselect.ksh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/timezone/tzselect.ksh b/timezone/tzselect.ksh
+index 18fce27e24..cc08efb0fb 100755
+--- a/timezone/tzselect.ksh
++++ b/timezone/tzselect.ksh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # Ask the user about the time zone, and output the resulting TZ value to stdout.
+ # Interact with the user via stderr and stdin.
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0024-fix-create-thread-failed-in-unprivileged-process-BZ-.patch b/poky/meta/recipes-core/glibc/glibc/0023-fix-create-thread-failed-in-unprivileged-process-BZ-.patch
index b431ea168d..7b0965f6bd 100644
--- a/poky/meta/recipes-core/glibc/glibc/0024-fix-create-thread-failed-in-unprivileged-process-BZ-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0023-fix-create-thread-failed-in-unprivileged-process-BZ-.patch
@@ -1,4 +1,4 @@
-From 6609858239b8f94e12c19eac0cec425511d1211f Mon Sep 17 00:00:00 2001
+From ffbb37732807e180b14a21d1bf79ad5038252c02 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Sun, 29 Aug 2021 20:49:16 +0800
Subject: [PATCH] fix create thread failed in unprivileged process [BZ #28287]
@@ -66,6 +66,7 @@ patch
[2] https://sourceware.org/pipermail/libc-alpha/2021-August/130590.html
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
sysdeps/unix/sysv/linux/clone-internal.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -83,6 +84,3 @@ index a71effcbd3..a0569113aa 100644
return ret;
/* NB: Restore errno since errno may be checked against non-zero
---
-2.27.0
-
diff --git a/poky/meta/recipes-core/glibc/glibc/reproducible-paths.patch b/poky/meta/recipes-core/glibc/glibc/0024-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch
index 0754dca62b..7983d1f6a7 100644
--- a/poky/meta/recipes-core/glibc/glibc/reproducible-paths.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0024-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch
@@ -1,14 +1,23 @@
-Avoid hardcoded build time paths in the output binaries by replacing the compile
-definitions with the output locations.
+From f873e25e29684cbbf7b141d9c6ee725268505c29 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Sun, 24 Jul 2022 07:07:29 -0700
+Subject: [PATCH] Avoid hardcoded build time paths in the output binaries
+
+replace the compile definitions with the output locations.
Upstream-Status: Inappropriate [would need reworking somehow to be acceptable upstream]
+
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ support/Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
-Index: git/support/Makefile
-===================================================================
---- git.orig/support/Makefile
-+++ git/support/Makefile
-@@ -216,9 +216,9 @@ libsupport-inhibit-o += .o
+diff --git a/support/Makefile b/support/Makefile
+index 9b50eac117..4c24d9f61a 100644
+--- a/support/Makefile
++++ b/support/Makefile
+@@ -218,9 +218,9 @@ libsupport-inhibit-o += .o
endif
CFLAGS-support_paths.c = \
diff --git a/poky/meta/recipes-core/glibc/glibc/0025-startup-Force-O2.patch b/poky/meta/recipes-core/glibc/glibc/0025-startup-Force-O2.patch
new file mode 100644
index 0000000000..1f3426295a
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0025-startup-Force-O2.patch
@@ -0,0 +1,28 @@
+From 5e635e5dc7d1b21a78f38109d4f43a03bec865c8 Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Sun, 7 Aug 2022 12:51:48 +0200
+Subject: [PATCH] startup: Force -O2
+
+Upstream-Status: Submitted [https://sourceware.org/bugzilla/show_bug.cgi?id=29249]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ sysdeps/unix/sysv/linux/startup.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/sysdeps/unix/sysv/linux/startup.h b/sysdeps/unix/sysv/linux/startup.h
+index 39859b404a..e1fc1b682d 100644
+--- a/sysdeps/unix/sysv/linux/startup.h
++++ b/sysdeps/unix/sysv/linux/startup.h
+@@ -21,6 +21,11 @@
+ #else
+ # include <sysdep.h>
+
++# if !defined __OPTIMIZE__ || __OPTIMIZE__ < 2
++/* Force to fold strlen. */
++# pragma GCC optimize(2)
++# endif
++
+ /* Avoid a run-time invocation of strlen. */
+ #define _startup_fatal(message) \
+ do \
diff --git a/poky/meta/recipes-core/glibc/glibc_2.35.bb b/poky/meta/recipes-core/glibc/glibc_2.36.bb
index 96fe39c548..1cfa8101ef 100644
--- a/poky/meta/recipes-core/glibc/glibc_2.35.bb
+++ b/poky/meta/recipes-core/glibc/glibc_2.36.bb
@@ -40,15 +40,18 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://0012-eglibc-Resolve-__fpscr_values-on-SH4.patch \
file://0013-eglibc-Forward-port-cross-locale-generation-support.patch \
file://0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
- file://0016-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
- file://0017-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \
+ file://0015-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
+ file://0016-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \
+ file://0017-powerpc-Do-not-ask-compiler-for-finding-arch.patch \
file://0018-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \
- file://0019-powerpc-Do-not-ask-compiler-for-finding-arch.patch \
- file://0021-Replace-echo-with-printf-builtin-in-nscd-init-script.patch \
- file://0022-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch \
- file://0023-timezone-Make-shell-interpreter-overridable-in-tzsel.patch \
- file://0024-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
- "
+ file://0019-Replace-echo-with-printf-builtin-in-nscd-init-script.patch \
+ file://0020-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch \
+ file://0021-timezone-Make-shell-interpreter-overridable-in-tzsel.patch \
+ file://0022-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch \
+ file://0023-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
+ file://0024-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \
+ file://0025-startup-Force-O2.patch \
+"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build-${TARGET_SYS}"
diff --git a/poky/meta/recipes-core/libcgroup/libcgroup/0001-api-Use-GNU-strerror_r-when-available.patch b/poky/meta/recipes-core/libcgroup/libcgroup/0001-api-Use-GNU-strerror_r-when-available.patch
new file mode 100644
index 0000000000..96321d2970
--- /dev/null
+++ b/poky/meta/recipes-core/libcgroup/libcgroup/0001-api-Use-GNU-strerror_r-when-available.patch
@@ -0,0 +1,55 @@
+From d190c0c548b3219b75e4c399aa89186e77bbe270 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Aug 2022 20:03:09 -0700
+Subject: [PATCH] api: Use GNU strerror_r when available
+
+GNU strerror_r is only available in glibc, musl impelents the XSI
+version which is slightly different, therefore check if GNU version is
+available before using it, otherwise use the XSI compliant version.
+
+Upstream-Status: Submitted [https://github.com/libcgroup/libcgroup/pull/236]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 5 +++++
+ src/api.c | 8 ++++++--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b68c655..831866d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -183,6 +183,11 @@ AC_FUNC_REALLOC
+ AC_FUNC_STAT
+ AC_CHECK_FUNCS([getmntent hasmntopt memset mkdir rmdir strdup])
+
++orig_CFLAGS="$CFLAGS"
++CFLAGS="$CFLAGS -D_GNU_SOURCE"
++AC_FUNC_STRERROR_R
++CFLAGS="$orig_CFLAGS"
++
+ AC_SEARCH_LIBS(
+ [fts_open],
+ [fts],
+diff --git a/src/api.c b/src/api.c
+index 5c6de11..06aa1d6 100644
+--- a/src/api.c
++++ b/src/api.c
+@@ -4571,9 +4571,13 @@ const char *cgroup_strerror(int code)
+ {
+ int idx = code % ECGROUPNOTCOMPILED;
+
+- if (code == ECGOTHER)
++ if (code == ECGOTHER) {
++#ifdef STRERROR_R_CHAR_P
+ return strerror_r(cgroup_get_last_errno(), errtext, MAXLEN);
+-
++#else
++ return strerror_r(cgroup_get_last_errno(), errtext, sizeof (errtext)) ? "unknown error" : errtext;
++#endif
++ }
+ if (idx >= sizeof(cgroup_strerror_codes)/sizeof(cgroup_strerror_codes[0]))
+ return "Invalid error code";
+
+--
+2.37.2
+
diff --git a/poky/meta/recipes-core/libcgroup/libcgroup_2.0.2.bb b/poky/meta/recipes-core/libcgroup/libcgroup_3.0.0.bb
index 7ade372cae..f3e841246f 100644
--- a/poky/meta/recipes-core/libcgroup/libcgroup_2.0.2.bb
+++ b/poky/meta/recipes-core/libcgroup/libcgroup_3.0.0.bb
@@ -5,15 +5,17 @@ in Linux. Control groups allow you to limit, account and isolate resource usage
(CPU, memory, disk I/O, etc.) of groups of processes."
SECTION = "libs"
LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4d794c5d710e5b3547a6cc6a6609a641"
inherit autotools pkgconfig
DEPENDS = "bison-native flex-native"
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v3.0/${BP}.tar.gz \
+ file://0001-api-Use-GNU-strerror_r-when-available.patch \
+"
-SRC_URI[sha256sum] = "8ef63b32e0aff619547dbb8a25e1f6bab152d7c4864795cf915571a5994d0cf8"
+SRC_URI[sha256sum] = "8d284d896fca1c981b55850e92acd3ad9648a69227c028dda7ae3402af878edd"
UPSTREAM_CHECK_URI = "https://github.com/libcgroup/libcgroup/releases/"
DEPENDS:append:libc-musl = " fts "
diff --git a/poky/meta/recipes-core/libxml/libxml2_2.9.14.bb b/poky/meta/recipes-core/libxml/libxml2_2.9.14.bb
index 3081ebf92f..d803db8672 100644
--- a/poky/meta/recipes-core/libxml/libxml2_2.9.14.bb
+++ b/poky/meta/recipes-core/libxml/libxml2_2.9.14.bb
@@ -29,6 +29,10 @@ SRC_URI[testtar.sha256sum] = "96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c
BINCONFIG = "${bindir}/xml2-config"
+# Fixed since 2.9.11 via
+# https://gitlab.gnome.org/GNOME/libxml2/-/commit/c1ba6f54d32b707ca6d91cb3257ce9de82876b6f
+CVE_CHECK_IGNORE += "CVE-2016-3709"
+
PACKAGECONFIG ??= "python \
${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
"
@@ -105,6 +109,8 @@ do_install_ptest () {
do_install:append:class-native () {
# Docs are not needed in the native case
rm ${D}${datadir}/gtk-doc -rf
+
+ create_wrapper ${D}${bindir}/xmllint XML_CATALOG_FILES=${sysconfdir}/xml/catalog
}
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-core/meta/cve-update-db-native.bb b/poky/meta/recipes-core/meta/cve-update-db-native.bb
index 18af89b53e..944243fce9 100644
--- a/poky/meta/recipes-core/meta/cve-update-db-native.bb
+++ b/poky/meta/recipes-core/meta/cve-update-db-native.bb
@@ -66,9 +66,7 @@ python do_fetch() {
# Connect to database
conn = sqlite3.connect(db_file)
- c = conn.cursor()
-
- initialize_db(c)
+ initialize_db(conn)
with bb.progress.ProgressHandler(d) as ph, open(os.path.join(d.getVar("TMPDIR"), 'cve_check'), 'a') as cve_f:
total_years = date.today().year + 1 - YEAR_START
@@ -98,19 +96,21 @@ python do_fetch() {
return
# Compare with current db last modified date
- c.execute("select DATE from META where YEAR = ?", (year,))
- meta = c.fetchone()
+ cursor = conn.execute("select DATE from META where YEAR = ?", (year,))
+ meta = cursor.fetchone()
+ cursor.close()
+
if not meta or meta[0] != last_modified:
bb.debug(2, "Updating entries")
# Clear products table entries corresponding to current year
- c.execute("delete from PRODUCTS where ID like ?", ('CVE-%d%%' % year,))
+ conn.execute("delete from PRODUCTS where ID like ?", ('CVE-%d%%' % year,)).close()
# Update db with current year json file
try:
response = urllib.request.urlopen(json_url)
if response:
- update_db(c, gzip.decompress(response.read()).decode('utf-8'))
- c.execute("insert or replace into META values (?, ?)", [year, last_modified])
+ update_db(conn, gzip.decompress(response.read()).decode('utf-8'))
+ conn.execute("insert or replace into META values (?, ?)", [year, last_modified]).close()
except urllib.error.URLError as e:
cve_f.write('Warning: CVE db update error, CVE data is outdated.\n\n')
bb.warn("Cannot parse CVE data (%s), update failed" % e.reason)
@@ -129,21 +129,26 @@ do_fetch[lockfiles] += "${CVE_CHECK_DB_FILE_LOCK}"
do_fetch[file-checksums] = ""
do_fetch[vardeps] = ""
-def initialize_db(c):
- c.execute("CREATE TABLE IF NOT EXISTS META (YEAR INTEGER UNIQUE, DATE TEXT)")
+def initialize_db(conn):
+ with conn:
+ c = conn.cursor()
+
+ c.execute("CREATE TABLE IF NOT EXISTS META (YEAR INTEGER UNIQUE, DATE TEXT)")
+
+ c.execute("CREATE TABLE IF NOT EXISTS NVD (ID TEXT UNIQUE, SUMMARY TEXT, \
+ SCOREV2 TEXT, SCOREV3 TEXT, MODIFIED INTEGER, VECTOR TEXT)")
- c.execute("CREATE TABLE IF NOT EXISTS NVD (ID TEXT UNIQUE, SUMMARY TEXT, \
- SCOREV2 TEXT, SCOREV3 TEXT, MODIFIED INTEGER, VECTOR TEXT)")
+ c.execute("CREATE TABLE IF NOT EXISTS PRODUCTS (ID TEXT, \
+ VENDOR TEXT, PRODUCT TEXT, VERSION_START TEXT, OPERATOR_START TEXT, \
+ VERSION_END TEXT, OPERATOR_END TEXT)")
+ c.execute("CREATE INDEX IF NOT EXISTS PRODUCT_ID_IDX on PRODUCTS(ID);")
- c.execute("CREATE TABLE IF NOT EXISTS PRODUCTS (ID TEXT, \
- VENDOR TEXT, PRODUCT TEXT, VERSION_START TEXT, OPERATOR_START TEXT, \
- VERSION_END TEXT, OPERATOR_END TEXT)")
- c.execute("CREATE INDEX IF NOT EXISTS PRODUCT_ID_IDX on PRODUCTS(ID);")
+ c.close()
-def parse_node_and_insert(c, node, cveId):
+def parse_node_and_insert(conn, node, cveId):
# Parse children node if needed
for child in node.get('children', ()):
- parse_node_and_insert(c, child, cveId)
+ parse_node_and_insert(conn, child, cveId)
def cpe_generator():
for cpe in node.get('cpe_match', ()):
@@ -200,9 +205,9 @@ def parse_node_and_insert(c, node, cveId):
# Save processing by representing as -.
yield [cveId, vendor, product, '-', '', '', '']
- c.executemany("insert into PRODUCTS values (?, ?, ?, ?, ?, ?, ?)", cpe_generator())
+ conn.executemany("insert into PRODUCTS values (?, ?, ?, ?, ?, ?, ?)", cpe_generator()).close()
-def update_db(c, jsondata):
+def update_db(conn, jsondata):
import json
root = json.loads(jsondata)
@@ -226,12 +231,12 @@ def update_db(c, jsondata):
accessVector = accessVector or "UNKNOWN"
cvssv3 = 0.0
- c.execute("insert or replace into NVD values (?, ?, ?, ?, ?, ?)",
- [cveId, cveDesc, cvssv2, cvssv3, date, accessVector])
+ conn.execute("insert or replace into NVD values (?, ?, ?, ?, ?, ?)",
+ [cveId, cveDesc, cvssv2, cvssv3, date, accessVector]).close()
configurations = elt['configurations']['nodes']
for config in configurations:
- parse_node_and_insert(c, config, cveId)
+ parse_node_and_insert(conn, config, cveId)
do_fetch[nostamp] = "1"
diff --git a/poky/meta/recipes-core/meta/testexport-tarball.bb b/poky/meta/recipes-core/meta/testexport-tarball.bb
index bb9f8ded48..abdd009252 100644
--- a/poky/meta/recipes-core/meta/testexport-tarball.bb
+++ b/poky/meta/recipes-core/meta/testexport-tarball.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "SDK type target for standalone tarball containing packages define
SUMMARY = "Standalone tarball for test systems with missing software"
LICENSE = "MIT"
-TEST_EXPORT_SDK_PACKAGES ??= ""
+require conf/testexport.conf
TOOLCHAIN_TARGET_TASK ?= ""
diff --git a/poky/meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch b/poky/meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch
index ba00efe7b3..8b097f3276 100644
--- a/poky/meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch
+++ b/poky/meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch
@@ -1,7 +1,7 @@
-From 0ec74744a4cba7c5fdfaa2685995119a4fca0260 Mon Sep 17 00:00:00 2001
+From f95b6fd0475a95c00e886219271cb5c93838e3c3 Mon Sep 17 00:00:00 2001
From: Amarnath Valluri <amarnath.valluri@intel.com>
Date: Wed, 18 Jan 2017 16:14:37 +0200
-Subject: [PATCH] Make dynamic linker a relative symlink to libc
+Subject: [PATCH 1/2] Make dynamic linker a relative symlink to libc
absolute symlink into $(libdir) fails to load in a cross build
environment, especially when executing qemu in usermode to run target
@@ -13,18 +13,19 @@ V2:
Make use of 'ln -r' to create relative symlinks, as most fo the distros
shipping coreutils 8.16+
+Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
---
-Upstream-Status: Pending
----
Makefile | 2 +-
tools/install.sh | 8 +++++---
2 files changed, 6 insertions(+), 4 deletions(-)
+diff --git a/Makefile b/Makefile
+index e8cc4436..466d9afd 100644
--- a/Makefile
+++ b/Makefile
-@@ -210,7 +210,7 @@ $(DESTDIR)$(includedir)/%: $(srcdir)/inc
+@@ -210,7 +210,7 @@ $(DESTDIR)$(includedir)/%: $(srcdir)/include/%
$(INSTALL) -D -m 644 $< $@
$(DESTDIR)$(LDSO_PATHNAME): $(DESTDIR)$(libdir)/libc.so
@@ -33,6 +34,8 @@ Upstream-Status: Pending
install-libs: $(ALL_LIBS:lib/%=$(DESTDIR)$(libdir)/%) $(if $(SHARED_LIBS),$(DESTDIR)$(LDSO_PATHNAME),)
+diff --git a/tools/install.sh b/tools/install.sh
+index d913b60b..b6a7f797 100755
--- a/tools/install.sh
+++ b/tools/install.sh
@@ -6,18 +6,20 @@
@@ -58,7 +61,7 @@ Upstream-Status: Pending
m) mode=$OPTARG ;;
?) usage ;;
esac
-@@ -48,7 +50,7 @@ trap 'rm -f "$tmp"' EXIT INT QUIT TERM H
+@@ -48,7 +50,7 @@ trap 'rm -f "$tmp"' EXIT INT QUIT TERM HUP
umask 077
if test "$symlink" ; then
@@ -67,3 +70,6 @@ Upstream-Status: Pending
else
cat < "$1" > "$tmp"
chmod "$mode" "$tmp"
+--
+2.37.2
+
diff --git a/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch b/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch
index 0aeb5eb5c2..59bfae5a27 100644
--- a/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch
+++ b/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch
@@ -1,7 +1,8 @@
-From 5a2886f81dbca3f2ed28eebe7d27d471da278db8 Mon Sep 17 00:00:00 2001
+From 3cce8716c6c3ae2e0c835caeac3780ec35090b2d Mon Sep 17 00:00:00 2001
From: Serhey Popovych <serhe.popovych@gmail.com>
Date: Tue, 11 Dec 2018 05:44:20 -0500
-Subject: [PATCH] ldso: Use syslibdir and libdir as default pathes to libdirs
+Subject: [PATCH 2/2] ldso: Use syslibdir and libdir as default pathes to
+ libdirs
In absence of /etc/ld-musl-$(ARCH).path ldso uses default path to search
libraries /lib:/usr/local/lib:/usr/lib.
@@ -20,6 +21,8 @@ Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
ldso/dynlink.c | 4 +++-
2 files changed, 5 insertions(+), 2 deletions(-)
+diff --git a/Makefile b/Makefile
+index 466d9afd..d2f458fa 100644
--- a/Makefile
+++ b/Makefile
@@ -47,7 +47,8 @@ CFLAGS_AUTO = -Os -pipe
@@ -32,6 +35,8 @@ Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
CFLAGS_ALL += $(CPPFLAGS) $(CFLAGS_AUTO) $(CFLAGS)
LDFLAGS_ALL = $(LDFLAGS_AUTO) $(LDFLAGS)
+diff --git a/ldso/dynlink.c b/ldso/dynlink.c
+index cc677952..b0e8815b 100644
--- a/ldso/dynlink.c
+++ b/ldso/dynlink.c
@@ -29,6 +29,8 @@
@@ -40,10 +45,10 @@ Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
+#define SYS_PATH_DFLT SYSLIBDIR ":" LIBDIR
+
- static void error(const char *, ...);
-
- #define MAXP2(a,b) (-(-(a)&-(b)))
-@@ -1094,7 +1096,7 @@ static struct dso *load_library(const ch
+ static void error_impl(const char *, ...);
+ static void error_noop(const char *, ...);
+ static void (*error)(const char *, ...) = error_noop;
+@@ -1097,7 +1099,7 @@ static struct dso *load_library(const char *name, struct dso *needed_by)
sys_path = "";
}
}
@@ -52,3 +57,6 @@ Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
fd = path_open(name, sys_path, buf, sizeof buf);
}
pathname = buf;
+--
+2.37.2
+
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index fde5fc0cce..97c27eba4a 100644
--- a/poky/meta/recipes-core/musl/musl_git.bb
+++ b/poky/meta/recipes-core/musl/musl_git.bb
@@ -4,7 +4,7 @@
require musl.inc
inherit linuxloader
-SRCREV = "6e9d2370c7559af80b32a91f20898f41597e093b"
+SRCREV = "37e18b7bf307fa4a8c745feebfcba54a0ba74f30"
BASEVER = "1.2.3"
diff --git a/poky/meta/recipes-core/ncurses/files/exit_prototype.patch b/poky/meta/recipes-core/ncurses/files/exit_prototype.patch
new file mode 100644
index 0000000000..791421a338
--- /dev/null
+++ b/poky/meta/recipes-core/ncurses/files/exit_prototype.patch
@@ -0,0 +1,22 @@
+Add needed headers for including mbstate_t and exit()
+
+Upstream-Status: Inappropriate [Reconfigure will solve it]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/configure
++++ b/configure
+@@ -3422,6 +3422,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
+ cat >"conftest.$ac_ext" <<_ACEOF
+ #line 3423 "configure"
+ #include "confdefs.h"
++#include <stdlib.h>
+ $ac_declaration
+ int
+ main (void)
+@@ -12997,6 +12998,7 @@ cat >"conftest.$ac_ext" <<_ACEOF
+ #include <stdlib.h>
+ #include <stdarg.h>
+ #include <stdio.h>
++#include <wchar.h>
+ #ifdef HAVE_LIBUTF8_H
+ #include <libutf8.h>
+ #endif
diff --git a/poky/meta/recipes-core/ncurses/ncurses_6.3+20220423.bb b/poky/meta/recipes-core/ncurses/ncurses_6.3+20220423.bb
index 9fba5b584b..ca5fa32572 100644
--- a/poky/meta/recipes-core/ncurses/ncurses_6.3+20220423.bb
+++ b/poky/meta/recipes-core/ncurses/ncurses_6.3+20220423.bb
@@ -3,6 +3,7 @@ require ncurses.inc
SRC_URI += "file://0001-tic-hang.patch \
file://0002-configure-reproducible.patch \
file://0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch \
+ file://exit_prototype.patch \
"
# commit id corresponds to the revision in package version
SRCREV = "20db1fb41ec91cd8a1f528e770362092c5403378"
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-Update-to-latest.patch b/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-Update-to-latest.patch
deleted file mode 100644
index d710429899..0000000000
--- a/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-Update-to-latest.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 67267d8cc31df16a3608cad1a17c5f1470ef8bbd Mon Sep 17 00:00:00 2001
-From: Steve Langasek <steve.langasek@ubuntu.com>
-Date: Sat, 10 Jun 2017 01:39:36 -0700
-Subject: [PATCH 3/6] ovmf: Update to latest
-
-Description: pass -fno-stack-protector to all GCC toolchains
- The upstream build rules inexplicably pass -fno-stack-protector only
- when building for i386 and amd64. Add this essential argument to the
- generic rules for gcc 4.4 and later.
-Last-Updated: 2016-04-12
-Upstream-Status: Pending
----
- BaseTools/Conf/tools_def.template | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
-index 498696e583..36241b6ede 100755
---- a/BaseTools/Conf/tools_def.template
-+++ b/BaseTools/Conf/tools_def.template
-@@ -1897,10 +1897,10 @@ DEFINE GCC_RISCV64_RC_FLAGS = -I binary -O elf64-littleriscv -B riscv
- # GCC Build Flag for included header file list generation
- DEFINE GCC_DEPS_FLAGS = -MMD -MF $@.deps
-
--DEFINE GCC48_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
-+DEFINE GCC48_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -fno-stack-protector -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
- DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
--DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
--DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
-+DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
-+DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
- DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
- DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
- DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
-@@ -1909,7 +1909,7 @@ DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF
- DEFINE GCC48_ASM_FLAGS = DEF(GCC_ASM_FLAGS)
- DEFINE GCC48_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
- DEFINE GCC48_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
--DEFINE GCC48_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations
-+DEFINE GCC48_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -mword-relocations
- DEFINE GCC48_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS)
- DEFINE GCC48_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS)
- DEFINE GCC48_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
---
-2.32.0
-
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index aac30ead30..40542239e2 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -22,7 +22,6 @@ BUILD_CFLAGS += "-Wno-error=stringop-overflow"
SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=https \
file://0001-ovmf-update-path-to-native-BaseTools.patch \
file://0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \
- file://0003-ovmf-Update-to-latest.patch \
file://0005-debug-prefix-map.patch \
file://0006-reproducible.patch \
"
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
index 7489ef61b0..d60e177471 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
@@ -267,11 +267,14 @@ RRECOMMENDS:packagegroup-base-ipsec = "\
# packagegroup-base-wifi contain everything needed to get WiFi working
# WEP/WPA connection needs to be supported out-of-box
#
+# Choose either 'wpa-supplicant' or 'iwd' as wireless-daemon
+WIRELESS_DAEMON ??= "wpa-supplicant"
SUMMARY:packagegroup-base-wifi = "WiFi support"
RDEPENDS:packagegroup-base-wifi = "\
iw \
wireless-regdb-static \
- wpa-supplicant"
+ ${WIRELESS_DAEMON} \
+"
RRECOMMENDS:packagegroup-base-wifi = "\
${@bb.utils.contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-zd1211rw', '',d)} \
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb b/poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb
index 0d4f5ec9ef..bb10a2d34f 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb
@@ -6,13 +6,16 @@ inherit cross-canadian packagegroup
PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
RUST="rust-cross-canadian-${TRANSLATED_TARGET_ARCH}"
-CARGO="cargo-cross-canadian-${TRANSLATED_TARGET_ARCH}"
-RUST_TOOLS="rust-tools-cross-canadian-${TRANSLATED_TARGET_ARCH}"
RDEPENDS:${PN} = " \
${@all_multilib_tune_values(d, 'RUST')} \
- ${@all_multilib_tune_values(d, 'CARGO')} \
- rust-cross-canadian-src \
- ${@all_multilib_tune_values(d, 'RUST_TOOLS')} \
+ nativesdk-binutils \
+ nativesdk-gcc \
+ nativesdk-glibc-dev \
+ nativesdk-libgcc-dev \
+ nativesdk-rust \
+ nativesdk-cargo \
+ nativesdk-rust-tools-clippy \
+ nativesdk-rust-tools-rustfmt \
"
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
index 772b86b39a..a1b0ee2883 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
@@ -98,11 +98,14 @@ RDEPENDS:packagegroup-self-hosted-sdk:append:libc-glibc = "\
glibc-utils \
rpcsvc-proto \
"
+
+STRACE = "strace"
+STRACE:riscv32 = ""
RDEPENDS:packagegroup-self-hosted-debug = " \
gdb \
gdbserver \
rsync \
- strace \
+ ${STRACE} \
tcf-agent"
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_251.3.bb b/poky/meta/recipes-core/systemd/systemd-boot_251.4.bb
index b67706b731..b67706b731 100644
--- a/poky/meta/recipes-core/systemd/systemd-boot_251.3.bb
+++ b/poky/meta/recipes-core/systemd/systemd-boot_251.4.bb
diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc
index 03f1559f02..71eb93f23a 100644
--- a/poky/meta/recipes-core/systemd/systemd.inc
+++ b/poky/meta/recipes-core/systemd/systemd.inc
@@ -14,7 +14,7 @@ LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
-SRCREV = "516108f273888df3dcfa4f42b140252a285a2288"
+SRCREV = "2a674b4b66af1a050a0362b646d2fca90c90112e"
SRCBRANCH = "v251-stable"
SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \
"
diff --git a/poky/meta/recipes-core/systemd/systemd_251.3.bb b/poky/meta/recipes-core/systemd/systemd_251.4.bb
index 72b9155f2e..8497e24af9 100644
--- a/poky/meta/recipes-core/systemd/systemd_251.3.bb
+++ b/poky/meta/recipes-core/systemd/systemd_251.4.bb
@@ -25,7 +25,6 @@ SRC_URI += " \
file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
file://0003-implment-systemd-sysv-install-for-OE.patch \
file://0001-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch \
- file://0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch \
"
# patches needed by musl
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty b/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
index 699a1ead1a..f60409eae3 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
+++ b/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
@@ -9,9 +9,13 @@ case $(readlink -f "${getty}") in
if [ -x "/usr/bin/setsid" ] ; then
setsid="/usr/bin/setsid"
fi
+ options=""
;;
esac
if [ -e /sys/class/tty/$2 -a -c /dev/$2 ]; then
- ${setsid:-} ${getty} -L $1 $2 $3
+ ${setsid:-} ${getty} ${options:-} -L $1 $2 $3
+else
+ # Prevent respawning to fast error if /dev entry does not exist
+ sleep 1000
fi
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit/install.patch b/poky/meta/recipes-core/sysvinit/sysvinit/install.patch
index 90563a6294..bc6d493c2b 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit/install.patch
+++ b/poky/meta/recipes-core/sysvinit/sysvinit/install.patch
@@ -3,7 +3,7 @@ From: Qing He <qing.he@intel.com>
Date: Fri, 18 Jun 2010 09:40:30 +0800
Subject: [PATCH] sysvinit: upgrade to version 2.88dsf
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://github.com/slicer69/sysvinit/pull/13]
---
src/Makefile | 53 +++++++++++++++++++++++++++++-----------------------
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit/sysvinit_remove_linux_fs.patch b/poky/meta/recipes-core/sysvinit/sysvinit/sysvinit_remove_linux_fs.patch
new file mode 100644
index 0000000000..89d65c23b7
--- /dev/null
+++ b/poky/meta/recipes-core/sysvinit/sysvinit/sysvinit_remove_linux_fs.patch
@@ -0,0 +1,17 @@
+# From glibc 2.36, <linux/mount.h> (included from <linux/fs.h>) and
+# <sys/mount.h> (included from glibc) are no longer compatible:
+# https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- sysvinit-3.04/src/sulogin.c.orig 2022-08-07 23:07:42.952576274 +0200
++++ sysvinit-3.04/src/sulogin.c 2022-08-07 23:08:26.511470983 +0200
+@@ -51,7 +51,6 @@
+ #ifdef __linux__
+ # include <sys/statfs.h>
+ # include <sys/mount.h>
+-# include <linux/fs.h>
+ # include <linux/magic.h>
+ # include <linux/major.h>
+ # ifndef TMPFS_MAGIC
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit_3.04.bb b/poky/meta/recipes-core/sysvinit/sysvinit_3.04.bb
index f678f65c1e..76b187c196 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit_3.04.bb
+++ b/poky/meta/recipes-core/sysvinit/sysvinit_3.04.bb
@@ -15,6 +15,7 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/sysvinit/sysvinit-${PV}.tar.xz \
file://pidof-add-m-option.patch \
file://realpath.patch \
file://0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch \
+ file://sysvinit_remove_linux_fs.patch \
file://rcS-default \
file://rc \
file://rcS \
diff --git a/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.38.bb b/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.38.1.bb
index 5d759aed94..5d759aed94 100644
--- a/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.38.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.38.1.bb
diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc
index c9bddfb7a6..3868b1c41d 100644
--- a/poky/meta/recipes-core/util-linux/util-linux.inc
+++ b/poky/meta/recipes-core/util-linux/util-linux.inc
@@ -35,6 +35,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin
file://run-ptest \
file://display_testname_for_subtest.patch \
file://avoid_parallel_tests.patch \
+ file://0001-check-for-sys-pidfd.h.patch \
+ file://0001-configure.ac-Improve-check-for-magic.patch \
"
-SRC_URI[sha256sum] = "6d111cbe4d55b336db2f1fbeffbc65b89908704c01136371d32aa9bec373eb64"
+SRC_URI[sha256sum] = "60492a19b44e6cf9a3ddff68325b333b8b52b6c59ce3ebd6a0ecaa4c5117e84f"
diff --git a/poky/meta/recipes-core/util-linux/util-linux/0001-check-for-sys-pidfd.h.patch b/poky/meta/recipes-core/util-linux/util-linux/0001-check-for-sys-pidfd.h.patch
new file mode 100644
index 0000000000..19f57f14bc
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/0001-check-for-sys-pidfd.h.patch
@@ -0,0 +1,53 @@
+From 548bc568f3c735e53fb5b0a5ab6473a3f1457b91 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 7 Aug 2022 14:39:19 -0700
+Subject: [PATCH] check for sys/pidfd.h
+
+This header in newer glibc defines the signatures of functions
+pidfd_send_signal() and pidfd_open() and when these functions are
+defined by libc then we need to include the relevant header to get
+the definitions. Clang 15+ has started to error out when function
+signatures are missing.
+
+Fixes errors like
+misc-utils/kill.c:402:6: error: call to undeclared function 'pidfd_send_signal'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+ if (pidfd_send_signal(pfd, ctl->numsig, &info, 0) < 0)
+
+Upstream-Status: Submitted [https://github.com/util-linux/util-linux/pull/1769]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 1 +
+ include/pidfd-utils.h | 4 +++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index a511e93de..fd7d9245f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -342,6 +342,7 @@ AC_CHECK_HEADERS([ \
+ sys/mkdev.h \
+ sys/mount.h \
+ sys/param.h \
++ sys/pidfd.h \
+ sys/prctl.h \
+ sys/resource.h \
+ sys/sendfile.h \
+diff --git a/include/pidfd-utils.h b/include/pidfd-utils.h
+index eddede976..d9e33cbc5 100644
+--- a/include/pidfd-utils.h
++++ b/include/pidfd-utils.h
+@@ -4,8 +4,10 @@
+ #ifdef HAVE_SYS_SYSCALL_H
+ # include <sys/syscall.h>
+ # if defined(SYS_pidfd_send_signal) && defined(SYS_pidfd_open)
++# ifdef HAVE_SYS_PIDFD_H
++# include <sys/pidfd.h>
++# endif
+ # include <sys/types.h>
+-
+ # ifndef HAVE_PIDFD_SEND_SIGNAL
+ static inline int pidfd_send_signal(int pidfd, int sig, siginfo_t *info,
+ unsigned int flags)
+--
+2.37.1
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux/0001-configure.ac-Improve-check-for-magic.patch b/poky/meta/recipes-core/util-linux/util-linux/0001-configure.ac-Improve-check-for-magic.patch
new file mode 100644
index 0000000000..00611fe578
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/0001-configure.ac-Improve-check-for-magic.patch
@@ -0,0 +1,40 @@
+From 263381ddd46eea2293c70bc811273b66bc52087b Mon Sep 17 00:00:00 2001
+From: Mateusz Marciniec <mateuszmar2@gmail.com>
+Date: Fri, 19 Aug 2022 14:47:49 +0200
+Subject: [PATCH] configure.ac: Improve check for magic
+
+Check whether magic.h header exists before defining HAVE_MAGIC.
+
+Despite library availability there still can be missing header.
+Current test doesn't cover that possibility which will lead compilation
+to fail in case of separate sysroot.
+
+Upstream-Status: Backport
+[https://github.com/util-linux/util-linux/commit/263381ddd46eea2293c70bc811273b66bc52087b]
+
+Signed-off-by: Mateusz Marciniec <mateuszmar2@gmail.com>
+Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
+---
+ configure.ac | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index daa8f0dca..968a0daf0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1570,8 +1570,10 @@ AC_ARG_WITH([libmagic],
+ )
+ AS_IF([test "x$with_libmagic" = xno], [have_magic=no], [
+ AC_CHECK_LIB([magic], [magic_open], [
+- AC_DEFINE([HAVE_MAGIC], [1], [Define to 1 if you have the libmagic present.])
+- MAGIC_LIBS="-lmagic"
++ AC_CHECK_HEADER(magic.h, [
++ AC_DEFINE([HAVE_MAGIC], [1], [Define to 1 if you have the libmagic present.])
++ MAGIC_LIBS="-lmagic"
++ ])
+ ])
+ ])
+ AC_SUBST([MAGIC_LIBS])
+--
+2.37.1
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.38.bb b/poky/meta/recipes-core/util-linux/util-linux_2.38.1.bb
index 8a7b47a0c6..50ecc106dd 100644
--- a/poky/meta/recipes-core/util-linux/util-linux_2.38.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.38.1.bb
@@ -69,7 +69,7 @@ EXTRA_OECONF = "\
--enable-libuuid --enable-libblkid \
\
--enable-fsck --enable-kill --enable-last --enable-mesg \
- --enable-mount --enable-partx --enable-raw --enable-rfkill \
+ --enable-mount --enable-partx --enable-rfkill \
--enable-unshare --enable-write \
\
--disable-bfs --disable-login \
diff --git a/poky/meta/recipes-core/zlib/zlib/0001-Fix-a-bug-when-getting-a-gzip-header-extra-field-wit.patch b/poky/meta/recipes-core/zlib/zlib/0001-Fix-a-bug-when-getting-a-gzip-header-extra-field-wit.patch
new file mode 100644
index 0000000000..96ab563121
--- /dev/null
+++ b/poky/meta/recipes-core/zlib/zlib/0001-Fix-a-bug-when-getting-a-gzip-header-extra-field-wit.patch
@@ -0,0 +1,38 @@
+From eff308af425b67093bab25f80f1ae950166bece1 Mon Sep 17 00:00:00 2001
+From: Mark Adler <fork@madler.net>
+Date: Sat, 30 Jul 2022 15:51:11 -0700
+Subject: [PATCH] Fix a bug when getting a gzip header extra field with inflate().
+
+If the extra field was larger than the space the user provided with
+inflateGetHeader(), and if multiple calls of inflate() delivered
+the extra header data, then there could be a buffer overflow of the
+provided space. This commit assures that provided space is not
+exceeded.
+
+CVE: CVE-2022-37434
+Upstream-Status: Backport [https://github.com/madler/zlib/commit/eff308af425b67093bab25f80f1ae950166be]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ inflate.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/inflate.c b/inflate.c
+index 7be8c63..7a72897 100644
+--- a/inflate.c
++++ b/inflate.c
+@@ -763,9 +763,10 @@ int flush;
+ copy = state->length;
+ if (copy > have) copy = have;
+ if (copy) {
++ len = state->head->extra_len - state->length;
+ if (state->head != Z_NULL &&
+- state->head->extra != Z_NULL) {
+- len = state->head->extra_len - state->length;
++ state->head->extra != Z_NULL &&
++ len < state->head->extra_max) {
+ zmemcpy(state->head->extra + len, next,
+ len + copy > state->head->extra_max ?
+ state->head->extra_max - len : copy);
+--
+2.37.2
+
diff --git a/poky/meta/recipes-core/zlib/zlib/0001-Fix-extra-field-processing-bug-that-dereferences-NUL.patch b/poky/meta/recipes-core/zlib/zlib/0001-Fix-extra-field-processing-bug-that-dereferences-NUL.patch
new file mode 100644
index 0000000000..a0978c5f95
--- /dev/null
+++ b/poky/meta/recipes-core/zlib/zlib/0001-Fix-extra-field-processing-bug-that-dereferences-NUL.patch
@@ -0,0 +1,36 @@
+From 1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d Mon Sep 17 00:00:00 2001
+From: Mark Adler <fork@madler.net>
+Date: Mon, 8 Aug 2022 10:50:09 -0700
+Subject: [PATCH] Fix extra field processing bug that dereferences NULL
+ state->head.
+
+The recent commit to fix a gzip header extra field processing bug
+introduced the new bug fixed here.
+
+CVE: CVE-2022-37434
+Upstream-Status: Backport [https://github.com/madler/zlib/commit/1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ inflate.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/inflate.c b/inflate.c
+index 7a72897..2a3c4fe 100644
+--- a/inflate.c
++++ b/inflate.c
+@@ -763,10 +763,10 @@ int flush;
+ copy = state->length;
+ if (copy > have) copy = have;
+ if (copy) {
+- len = state->head->extra_len - state->length;
+ if (state->head != Z_NULL &&
+ state->head->extra != Z_NULL &&
+- len < state->head->extra_max) {
++ (len = state->head->extra_len - state->length) <
++ state->head->extra_max) {
+ zmemcpy(state->head->extra + len, next,
+ len + copy > state->head->extra_max ?
+ state->head->extra_max - len : copy);
+--
+2.37.2
+
diff --git a/poky/meta/recipes-core/zlib/zlib_1.2.12.bb b/poky/meta/recipes-core/zlib/zlib_1.2.12.bb
index 77e7a4937f..b999f13530 100644
--- a/poky/meta/recipes-core/zlib/zlib_1.2.12.bb
+++ b/poky/meta/recipes-core/zlib/zlib_1.2.12.bb
@@ -12,6 +12,8 @@ SRC_URI = "https://zlib.net/${BP}.tar.xz \
file://0001-configure-Pass-LDFLAGS-to-link-tests.patch \
file://run-ptest \
file://0001-Correct-incorrect-inputs-provided-to-the-CRC-functio.patch \
+ file://0001-Fix-a-bug-when-getting-a-gzip-header-extra-field-wit.patch \
+ file://0001-Fix-extra-field-processing-bug-that-dereferences-NUL.patch \
"
UPSTREAM_CHECK_URI = "http://zlib.net/"
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
index 59b9cd190f..37a3133010 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
@@ -1,4 +1,4 @@
-From 11ba49594ae9d11f0070198c146b5e437fa83022 Mon Sep 17 00:00:00 2001
+From b84280fec4e1d0d33eca78e76556023f8f8fe5b7 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 10 May 2019 16:47:38 +0200
Subject: [PATCH] Do not init tables from dpkg configuration
@@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
-index b9d9b15..1725c59 100644
+index b9d9b15d2..1725c5966 100644
--- a/apt-pkg/init.cc
+++ b/apt-pkg/init.cc
@@ -281,8 +281,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch b/poky/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
new file mode 100644
index 0000000000..3065210a04
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
@@ -0,0 +1,87 @@
+From e91fb0618ce0a5d42f239d0fca602544858f0819 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 16 Aug 2022 08:44:18 -0700
+Subject: [PATCH] Remove using std::binary_function
+
+std::binary_function and std::unary_function are deprecated since c++11
+and removed in c++17, therefore remove it and use lambda functions to get same
+functionality implemented.
+
+Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/253]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ftparchive/apt-ftparchive.cc | 33 ++++++++++-----------------------
+ 1 file changed, 10 insertions(+), 23 deletions(-)
+
+diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc
+index 87ce9153c..56fdc2246 100644
+--- a/ftparchive/apt-ftparchive.cc
++++ b/ftparchive/apt-ftparchive.cc
+@@ -48,6 +48,11 @@
+ using namespace std;
+ unsigned Quiet = 0;
+
++auto ContentsCompare = [](const auto &a, const auto &b) { return a.ContentsMTime < b.ContentsMTime; };
++auto DBCompare = [](const auto &a, const auto &b) { return a.BinCacheDB < b.BinCacheDB; };
++auto SrcDBCompare = [](const auto &a, const auto &b) { return a.SrcCacheDB < b.SrcCacheDB; };
++
++
+ static struct timeval GetTimevalFromSteadyClock() /*{{{*/
+ {
+ auto const Time = std::chrono::steady_clock::now().time_since_epoch();
+@@ -116,24 +121,6 @@ struct PackageMap
+ bool SrcDone;
+ time_t ContentsMTime;
+
+- struct ContentsCompare : public binary_function<PackageMap,PackageMap,bool>
+- {
+- inline bool operator() (const PackageMap &x,const PackageMap &y)
+- {return x.ContentsMTime < y.ContentsMTime;};
+- };
+-
+- struct DBCompare : public binary_function<PackageMap,PackageMap,bool>
+- {
+- inline bool operator() (const PackageMap &x,const PackageMap &y)
+- {return x.BinCacheDB < y.BinCacheDB;};
+- };
+-
+- struct SrcDBCompare : public binary_function<PackageMap,PackageMap,bool>
+- {
+- inline bool operator() (const PackageMap &x,const PackageMap &y)
+- {return x.SrcCacheDB < y.SrcCacheDB;};
+- };
+-
+ void GetGeneral(Configuration &Setup,Configuration &Block);
+ bool GenPackages(Configuration &Setup,struct CacheDB::Stats &Stats);
+ bool GenSources(Configuration &Setup,struct CacheDB::Stats &Stats);
+@@ -869,7 +856,7 @@ static bool DoGenerateContents(Configuration &Setup,
+ else
+ I->ContentsMTime = A.st_mtime;
+ }
+- stable_sort(PkgList.begin(),PkgList.end(),PackageMap::ContentsCompare());
++ stable_sort(PkgList.begin(),PkgList.end(),ContentsCompare);
+
+ /* Now for Contents.. The process here is to do a make-like dependency
+ check. Each contents file is verified to be newer than the package files
+@@ -941,8 +928,8 @@ static bool Generate(CommandLine &CmdL)
+ LoadBinDir(PkgList,Setup);
+
+ // Sort by cache DB to improve IO locality.
+- stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
+- stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
++ stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
++ stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
+
+ // Generate packages
+ if (_config->FindB("APT::FTPArchive::ContentsOnly", false) == false)
+@@ -993,8 +980,8 @@ static bool Clean(CommandLine &CmdL)
+ LoadBinDir(PkgList,Setup);
+
+ // Sort by cache DB to improve IO locality.
+- stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
+- stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
++ stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
++ stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
+
+ string CacheDir = Setup.FindDir("Dir::CacheDir");
+
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
index 593ed7d096..6f4d5b6e72 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
@@ -1,4 +1,4 @@
-From 47c2b42af60ceefd8ed52b32a3a365facf0e05b8 Mon Sep 17 00:00:00 2001
+From a2dd661484536492b47d4c88998f2bf516749bc8 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 21 May 2020 20:13:25 +0000
Subject: [PATCH] Revert "always run 'dpkg --configure -a' at the end of our
@@ -20,7 +20,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
-index 93effa9..4375781 100644
+index 93effa959..4375781d1 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -1199,12 +1199,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
diff --git a/poky/meta/recipes-devtools/apt/apt_2.4.5.bb b/poky/meta/recipes-devtools/apt/apt_2.4.5.bb
index 1d94dd118c..564bdeec41 100644
--- a/poky/meta/recipes-devtools/apt/apt_2.4.5.bb
+++ b/poky/meta/recipes-devtools/apt/apt_2.4.5.bb
@@ -13,6 +13,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
file://0001-cmake-Do-not-build-po-files.patch \
file://0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch \
file://0001-aptwebserver.cc-Include-array.patch \
+ file://0001-Remove-using-std-binary_function.patch \
"
SRC_URI:append:class-native = " \
@@ -138,5 +139,5 @@ do_install:append:class-target() {
do_install:append() {
# Avoid non-reproducible -src package
- sed -i -e "s,${B},,g" ${B}/apt-pkg/tagfile-keys.cc
+ sed -i -e "s,${B}/include/,,g" ${B}/apt-pkg/tagfile-keys.cc
}
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch b/poky/meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch
new file mode 100644
index 0000000000..4d8aa296cd
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch
@@ -0,0 +1,64 @@
+From 7ccfea413216bddd988823acf4e93421ea0f7f9f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 16 Aug 2022 18:35:45 -0700
+Subject: [PATCH] specify void prototype for functions with no parameters
+
+Compilers defaulting to C99 flag such functions as warning which fails
+to compile when using -Werror
+
+Fixes
+error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
+
+Upstream-Status: Submitted [https://lists.gnu.org/archive/html/autoconf-patches/2022-08/msg00003.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/c.m4 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/lib/autoconf/c.m4
++++ b/lib/autoconf/c.m4
+@@ -127,7 +127,7 @@ m4_if([$2], [main], ,
+ [/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+-char $2 ();])], [return $2 ();])])
++char $2 (void);])], [return $2 ();])])
+
+
+ # AC_LANG_FUNC_LINK_TRY(C)(FUNCTION)
+@@ -151,7 +151,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)],
+ #define $1 innocuous_$1
+
+ /* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $1 (); below. */
++ which can conflict with char $1 (void); below. */
+
+ #include <limits.h>
+ #undef $1
+@@ -162,7 +162,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)],
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char $1 ();
++char $1 (void);
+ /* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+@@ -252,7 +252,7 @@ dnl other built-in extern "C" functions,
+ dnl when it actually happens.
+ [AC_LANG_PROGRAM([[$1
+ namespace conftest {
+- extern "C" int $2 ();
++ extern "C" int $2 (void);
+ }]],
+ [[return conftest::$2 ();]])])
+
+@@ -2457,7 +2457,7 @@ using std::strcmp;
+
+ namespace {
+
+-void test_exception_syntax()
++void test_exception_syntax(void)
+ {
+ try {
+ throw "test";
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf_2.71.bb b/poky/meta/recipes-devtools/autoconf/autoconf_2.71.bb
index 799191e2ca..239b268119 100644
--- a/poky/meta/recipes-devtools/autoconf/autoconf_2.71.bb
+++ b/poky/meta/recipes-devtools/autoconf/autoconf_2.71.bb
@@ -18,6 +18,7 @@ SRC_URI = "${GNU_MIRROR}/autoconf/${BP}.tar.gz \
file://preferbash.patch \
file://autotest-automake-result-format.patch \
file://man-host-perl.patch \
+ file://0001-specify-void-prototype-for-functions-with-no-paramet.patch \
"
SRC_URI:append:class-native = " file://no-man.patch"
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.38.inc b/poky/meta/recipes-devtools/binutils/binutils-2.39.inc
index 742ca86379..89612a3eae 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-2.38.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.39.inc
@@ -12,26 +12,24 @@ LIC_FILES_CHKSUM="\
# When upgrading to 2.39, please make sure there is no trailing .0, so
# that upstream version check can work correctly.
-PV = "2.38"
-CVE_VERSION = "2.38"
-SRCBRANCH ?= "binutils-2_38-branch"
+PV = "2.39"
+CVE_VERSION = "2.39"
+SRCBRANCH ?= "binutils-2_39-branch"
UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
-SRCREV ?= "eed56ee299b9ef8754bb4e53f2e9cf2a7c28c04d"
+SRCREV ?= "f89058434f13382c85b8729464192bc7763d88a4"
BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${SRCBRANCH};protocol=git"
SRC_URI = "\
${BINUTILS_GIT_URI} \
file://0004-Point-scripts-location-to-libdir.patch \
- file://0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
- file://0006-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch \
- file://0007-warn-for-uses-of-system-directories-when-cross-linki.patch \
- file://0008-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \
- file://0009-Use-libtool-2.4.patch \
- file://0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \
- file://0011-sync-with-OE-libtool-changes.patch \
- file://0012-Check-for-clang-before-checking-gcc-version.patch \
- file://0013-Avoid-as-info-race-condition.patch \
- file://0014-CVE-2019-1010204.patch \
+ file://0005-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch \
+ file://0006-warn-for-uses-of-system-directories-when-cross-linki.patch \
+ file://0007-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \
+ file://0008-Use-libtool-2.4.patch \
+ file://0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \
+ file://0010-sync-with-OE-libtool-changes.patch \
+ file://0011-Check-for-clang-before-checking-gcc-version.patch \
+ file://0012-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
index b3d591e658..4e8f10c1c4 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
@@ -27,4 +27,6 @@ do_install () {
cross_canadian_bindirlinks
}
+FILES:${PN} += "${sysconfdir}/gprofng.rc"
+
BBCLASSEXTEND = ""
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.38.bb b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.39.bb
index 5dbaa03017..5dbaa03017 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.38.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.39.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.38.bb b/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.39.bb
index ca99e91130..ca99e91130 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.38.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.39.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross.inc b/poky/meta/recipes-devtools/binutils/binutils-cross.inc
index 02ec891606..835d4fa69b 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross.inc
@@ -16,6 +16,7 @@ SRC_URI += "file://0002-binutils-cross-Do-not-generate-linker-script-directo.pat
# and mean the linker scripts have to be relocated.
EXTRA_OECONF += "--with-sysroot=${STAGING_DIR_TARGET} \
--disable-install-libbfd \
+ --disable-gprofng \
--enable-poison-system-directories \
--with-lib-path==${target_base_libdir}:=${target_libdir} \
"
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross_2.38.bb b/poky/meta/recipes-devtools/binutils/binutils-cross_2.39.bb
index fbd1f7d25a..fbd1f7d25a 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross_2.38.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross_2.39.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.38.bb b/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.39.bb
index 5bd036fd46..5bd036fd46 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.38.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.39.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch b/poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch
index 719928be79..9a7ee494c8 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch
@@ -1,4 +1,4 @@
-From 07bb7fbdacaf9cd6a1a252ffbc98f4e05e305d50 Mon Sep 17 00:00:00 2001
+From a0ac147aec127c66c9e38292faa50bb56d3c2a19 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:58:54 +0000
Subject: [PATCH] binutils-crosssdk: Generate relocatable SDKs
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch b/poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch
index a3f7d62898..cab9c0ed89 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch
@@ -1,4 +1,4 @@
-From f820ab7ea7e94d4df548be3388163ff2efb2ea96 Mon Sep 17 00:00:00 2001
+From fd7065bfd20364679e3c3f329b19059bbc51ab02 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 6 Mar 2017 23:37:05 -0800
Subject: [PATCH] binutils-cross: Do not generate linker script directories
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch b/poky/meta/recipes-devtools/binutils/binutils/0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch
index 59a97c13c7..4fe5520010 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch
@@ -1,4 +1,4 @@
-From b2ccd25828b40310caeb094c0413e3a30a4dc0a5 Mon Sep 17 00:00:00 2001
+From 67735b3647f98ce0f010ff8b4f9b5c5da576cb17 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Wed, 19 Feb 2020 09:51:16 -0800
Subject: [PATCH] binutils-nativesdk: Search for alternative ld.so.conf in SDK
@@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
5 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/ld/Makefile.am b/ld/Makefile.am
-index b55a873d927..61db131fb0d 100644
+index d31021c13e2..29782385ca4 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -42,7 +42,8 @@ ZLIBINC = @zlibinc@
@@ -41,12 +41,12 @@ index b55a873d927..61db131fb0d 100644
+ -DSYSCONFDIR="\"$(sysconfdir)\""
WARN_CFLAGS = @WARN_CFLAGS@
NO_WERROR = @NO_WERROR@
- AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
+ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) $(JANSSON_CFLAGS)
diff --git a/ld/Makefile.in b/ld/Makefile.in
-index 61e93eeaf1e..860eb21a785 100644
+index ee0c98f65b0..04ee68a2c67 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
-@@ -556,7 +556,8 @@ ZLIB = @zlibdir@ -lz
+@@ -562,7 +562,8 @@ ZLIB = @zlibdir@ -lz
ZLIBINC = @zlibinc@
ELF_CLFAGS = -DELF_LIST_OPTIONS=@elf_list_options@ \
-DELF_SHLIB_LIST_OPTIONS=@elf_shlib_list_options@ \
@@ -54,13 +54,13 @@ index 61e93eeaf1e..860eb21a785 100644
+ -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@ \
+ -DSYSCONFDIR="\"$(sysconfdir)\""
- AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
+ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) $(JANSSON_CFLAGS)
diff --git a/ld/ldelf.c b/ld/ldelf.c
-index 121c25d948f..34cbc60e5e9 100644
+index bfa0d54753a..0d61a3209ec 100644
--- a/ld/ldelf.c
+++ b/ld/ldelf.c
-@@ -930,7 +930,7 @@ ldelf_check_ld_so_conf (const struct bfd_link_needed_list *l, int force,
+@@ -936,7 +936,7 @@ ldelf_check_ld_so_conf (const struct bfd_link_needed_list *l, int force,
info.path = NULL;
info.len = info.alloc = 0;
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch b/poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch
index 8f323eb0c5..5b0f2ee308 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch
@@ -1,4 +1,4 @@
-From 7a7b777cdfded080aab1021fa6bcdb20345f5cfd Mon Sep 17 00:00:00 2001
+From 2158e5bd4c6ea4db89e33d46ef25428e37bfc3a6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:09:58 +0000
Subject: [PATCH] Point scripts location to libdir
@@ -12,10 +12,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ld/Makefile.am b/ld/Makefile.am
-index 61db131fb0d..5b5ee64d121 100644
+index 29782385ca4..062e6b6814b 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
-@@ -51,7 +51,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
+@@ -51,7 +51,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) $(JANSSON_CFLAGS)
# We put the scripts in the directory $(scriptdir)/ldscripts.
# We can't put the scripts in $(datadir) because the SEARCH_DIR
# directives need to be different for native and cross linkers.
@@ -25,10 +25,10 @@ index 61db131fb0d..5b5ee64d121 100644
EMUL = @EMUL@
EMULATION_OFILES = @EMULATION_OFILES@
diff --git a/ld/Makefile.in b/ld/Makefile.in
-index 860eb21a785..d719747919c 100644
+index 04ee68a2c67..782d4017a60 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
-@@ -564,7 +564,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
+@@ -570,7 +570,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) $(JANSSON_CFLAGS)
# We put the scripts in the directory $(scriptdir)/ldscripts.
# We can't put the scripts in $(datadir) because the SEARCH_DIR
# directives need to be different for native and cross linkers.
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0006-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch b/poky/meta/recipes-devtools/binutils/binutils/0005-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
index 507d0b1b2d..2495079508 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0006-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0005-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
@@ -1,4 +1,4 @@
-From fc9e8b99969bb32a4b009eab763bade6c554ef73 Mon Sep 17 00:00:00 2001
+From e74d765a1a95253c9247228bd7ccbcabecdd8f7e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:39:01 +0000
Subject: [PATCH] don't let the distro compiler point to the wrong installation
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0007-warn-for-uses-of-system-directories-when-cross-linki.patch b/poky/meta/recipes-devtools/binutils/binutils/0006-warn-for-uses-of-system-directories-when-cross-linki.patch
index 547bfcac68..00fb5aad1b 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0007-warn-for-uses-of-system-directories-when-cross-linki.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0006-warn-for-uses-of-system-directories-when-cross-linki.patch
@@ -1,4 +1,4 @@
-From 9fb1bafb20371d82b674778d2a8b5c9444fed417 Mon Sep 17 00:00:00 2001
+From 2c43b1357db6b09d1645704afd3f45be6de0cf4d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 15 Jan 2016 06:31:09 +0000
Subject: [PATCH] warn for uses of system directories when cross linking
@@ -63,10 +63,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
9 files changed, 88 insertions(+), 2 deletions(-)
diff --git a/ld/config.in b/ld/config.in
-index 26d55a00d47..ffad464783c 100644
+index d4c1fc420b5..1aece0b2c29 100644
--- a/ld/config.in
+++ b/ld/config.in
-@@ -43,6 +43,9 @@
+@@ -55,6 +55,9 @@
language is requested. */
#undef ENABLE_NLS
@@ -77,10 +77,10 @@ index 26d55a00d47..ffad464783c 100644
#undef EXTRA_SHLIB_EXTENSION
diff --git a/ld/configure b/ld/configure
-index 26150d62898..1f9ec8ec580 100755
+index e58fb7f3a35..d0a467ac101 100755
--- a/ld/configure
+++ b/ld/configure
-@@ -831,6 +831,7 @@ with_lib_path
+@@ -836,6 +836,7 @@ with_lib_path
enable_targets
enable_64_bit_bfd
with_sysroot
@@ -88,7 +88,7 @@ index 26150d62898..1f9ec8ec580 100755
enable_gold
enable_got
enable_compressed_debug_sections
-@@ -1500,6 +1501,8 @@ Optional Features:
+@@ -1514,6 +1515,8 @@ Optional Features:
--enable-checking enable run-time checks
--enable-targets alternative target configurations
--enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
@@ -97,7 +97,7 @@ index 26150d62898..1f9ec8ec580 100755
--enable-gold[=ARG] build gold [ARG={default,yes,no}]
--enable-got=<type> GOT handling scheme (target, single, negative,
multigot)
-@@ -15312,6 +15315,19 @@ fi
+@@ -15349,6 +15352,19 @@ fi
@@ -118,7 +118,7 @@ index 26150d62898..1f9ec8ec580 100755
if test "${enable_gold+set}" = set; then :
enableval=$enable_gold; case "${enableval}" in
diff --git a/ld/configure.ac b/ld/configure.ac
-index 7f4cff079b7..57d1abff870 100644
+index 4331d6b1302..e2976bc2926 100644
--- a/ld/configure.ac
+++ b/ld/configure.ac
@@ -102,6 +102,16 @@ AC_SUBST(use_sysroot)
@@ -158,13 +158,13 @@ index f3086bf30de..db5064243c7 100644
enum endian_enum endian;
diff --git a/ld/ld.texi b/ld/ld.texi
-index fc75e9b3625..dca697d626e 100644
+index eabbec8faa9..c4680e4947e 100644
--- a/ld/ld.texi
+++ b/ld/ld.texi
-@@ -2892,6 +2892,18 @@ string identifying the original linked file does not change.
-
- Passing @code{none} for @var{style} disables the setting from any
- @code{--build-id} options earlier on the command line.
+@@ -2947,6 +2947,18 @@ creation of the metadata note, if one had been enabled by an earlier
+ occurrence of the --package-metdata option.
+ If the linker has been built with libjansson, then the JSON string
+ will be validated.
+
+@kindex --no-poison-system-directories
+@item --no-poison-system-directories
@@ -209,13 +209,13 @@ index 731ae5f7aed..dd8f03fd960 100644
/* Try to open a BFD for a lang_input_statement. */
diff --git a/ld/ldlex.h b/ld/ldlex.h
-index bc58fea73cc..a1595589197 100644
+index 57ade1f754b..64007ff8684 100644
--- a/ld/ldlex.h
+++ b/ld/ldlex.h
-@@ -164,6 +164,8 @@ enum option_values
- OPTION_CTF_VARIABLES,
- OPTION_NO_CTF_VARIABLES,
- OPTION_CTF_SHARE_TYPES,
+@@ -168,6 +168,8 @@ enum option_values
+ OPTION_NO_WARN_EXECSTACK,
+ OPTION_WARN_RWX_SEGMENTS,
+ OPTION_NO_WARN_RWX_SEGMENTS,
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES,
};
@@ -253,10 +253,10 @@ index 1ae90a77749..f40750fd816 100644
{
if (error_count < MAX_ERRORS_IN_A_ROW)
diff --git a/ld/lexsup.c b/ld/lexsup.c
-index 5acc47ed5a0..d03c6136ccf 100644
+index 9225f71b3ce..92fb66f1fa2 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
-@@ -600,6 +600,14 @@ static const struct ld_option ld_options[] =
+@@ -608,6 +608,14 @@ static const struct ld_option ld_options[] =
" <method> is: share-unconflicted (default),\n"
" share-duplicated"),
TWO_DASHES },
@@ -271,7 +271,7 @@ index 5acc47ed5a0..d03c6136ccf 100644
};
#define OPTION_COUNT ARRAY_SIZE (ld_options)
-@@ -1702,6 +1710,14 @@ parse_args (unsigned argc, char **argv)
+@@ -1722,6 +1730,14 @@ parse_args (unsigned argc, char **argv)
config.print_map_discarded = true;
break;
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0008-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch b/poky/meta/recipes-devtools/binutils/binutils/0007-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
index 648bdc13d2..4ae1580102 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0008-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0007-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
@@ -1,4 +1,4 @@
-From 00ae1ee97ad3ad0624798b28c6bab94a19b3ef39 Mon Sep 17 00:00:00 2001
+From 883b6c0930410f8553b3bce0dd98131bc1694fa6 Mon Sep 17 00:00:00 2001
From: Zhenhua Luo <zhenhua.luo@nxp.com>
Date: Sat, 11 Jun 2016 22:08:29 -0500
Subject: [PATCH] fix the incorrect assembling for ppc wait mnemonic
@@ -14,10 +14,10 @@ Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
-index a424dd924de..406d5b60917 100644
+index 7637d3e349e..8e074e13208 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
-@@ -6378,8 +6378,6 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+@@ -6947,8 +6947,6 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{"waitasec", X(31,30), XRTRARB_MASK, POWER8, POWER9, {0}},
{"waitrsv", XWCPL(31,30,1,0),0xffffffff, POWER10, EXT, {0}},
{"pause_short", XWCPL(31,30,2,0),0xffffffff, POWER10, EXT, {0}},
@@ -26,7 +26,7 @@ index a424dd924de..406d5b60917 100644
{"lwepx", X(31,31), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}},
-@@ -6433,7 +6431,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+@@ -7002,7 +7000,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{"waitrsv", X(31,62)|(1<<21), 0xffffffff, E500MC|PPCA2, EXT, {0}},
{"waitimpl", X(31,62)|(2<<21), 0xffffffff, E500MC|PPCA2, EXT, {0}},
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0009-Use-libtool-2.4.patch b/poky/meta/recipes-devtools/binutils/binutils/0008-Use-libtool-2.4.patch
index 9f0209e274..21e2c4fd70 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0009-Use-libtool-2.4.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0008-Use-libtool-2.4.patch
@@ -1,4 +1,4 @@
-From 9a0dea4d2f1f0f2c71f519e6195ef9cfacd9fda9 Mon Sep 17 00:00:00 2001
+From 0f45262ef0d656c576adbb0b0f42b8f417895008 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 14 Feb 2016 17:04:07 +0000
Subject: [PATCH] Use libtool 2.4
@@ -9,28 +9,75 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- bfd/configure | 1333 +++++++++++++-----
- bfd/configure.ac | 2 +-
- binutils/configure | 1331 +++++++++++++-----
- gas/configure | 1331 +++++++++++++-----
- gprof/configure | 1331 +++++++++++++-----
- ld/configure | 1704 +++++++++++++++++------
- libbacktrace/configure | 1534 +++++++++++++++------
- libctf/configure | 1330 +++++++++++++-----
- libtool.m4 | 1093 ++++++++++-----
- ltmain.sh | 2925 +++++++++++++++++++++++++++-------------
- ltoptions.m4 | 2 +-
- ltversion.m4 | 12 +-
- lt~obsolete.m4 | 2 +-
- opcodes/configure | 1331 +++++++++++++-----
- zlib/configure | 1331 +++++++++++++-----
- 15 files changed, 12067 insertions(+), 4525 deletions(-)
+ bfd/Makefile.in | 3 +
+ bfd/configure | 1333 +++++++++---
+ bfd/configure.ac | 2 +-
+ binutils/Makefile.in | 3 +
+ binutils/configure | 1331 +++++++++---
+ gas/Makefile.in | 3 +
+ gas/configure | 1331 +++++++++---
+ gdbsupport/Makefile.in | 1 +
+ gprof/Makefile.in | 3 +
+ gprof/configure | 1331 +++++++++---
+ gprofng/Makefile.in | 2 +
+ gprofng/configure | 1701 ++++++++++++----
+ gprofng/doc/Makefile.in | 2 +
+ gprofng/gp-display-html/Makefile.in | 2 +
+ gprofng/libcollector/Makefile.in | 2 +
+ gprofng/libcollector/configure | 1703 ++++++++++++----
+ gprofng/src/Makefile.in | 2 +
+ ld/Makefile.in | 3 +
+ ld/configure | 1704 ++++++++++++----
+ libbacktrace/Makefile.in | 3 +
+ libbacktrace/configure | 1331 +++++++++---
+ libctf/Makefile.in | 2 +
+ libctf/configure | 1330 +++++++++---
+ libtool.m4 | 1093 ++++++----
+ ltmain.sh | 2925 ++++++++++++++++++---------
+ ltoptions.m4 | 2 +-
+ ltversion.m4 | 12 +-
+ lt~obsolete.m4 | 2 +-
+ opcodes/Makefile.in | 3 +
+ opcodes/configure | 1331 +++++++++---
+ sim/Makefile.in | 3 +
+ zlib/Makefile.in | 204 +-
+ zlib/aclocal.m4 | 218 +-
+ zlib/configure | 1554 +++++++++-----
+ 34 files changed, 14804 insertions(+), 5671 deletions(-)
+diff --git a/bfd/Makefile.in b/bfd/Makefile.in
+index a26f74d7199..6edacdfeb0e 100644
+--- a/bfd/Makefile.in
++++ b/bfd/Makefile.in
+@@ -346,6 +346,7 @@ DATADIRNAME = @DATADIRNAME@
+ DEBUGDIR = @DEBUGDIR@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -380,6 +381,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ MKINSTALLDIRS = @MKINSTALLDIRS@
+ MSGFMT = @MSGFMT@
+@@ -421,6 +423,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ all_backends = @all_backends@
diff --git a/bfd/configure b/bfd/configure
-index b23c9eebfd7..fb25d046cd2 100755
+index 4f591b750d8..d90db11744b 100755
--- a/bfd/configure
+++ b/bfd/configure
-@@ -707,6 +707,9 @@ OTOOL
+@@ -702,6 +702,9 @@ OTOOL
LIPO
NMEDIT
DSYMUTIL
@@ -40,7 +87,7 @@ index b23c9eebfd7..fb25d046cd2 100755
OBJDUMP
LN_S
NM
-@@ -825,6 +828,7 @@ enable_static
+@@ -820,6 +823,7 @@ enable_static
with_pic
enable_fast_install
with_gnu_ld
@@ -48,7 +95,7 @@ index b23c9eebfd7..fb25d046cd2 100755
enable_libtool_lock
enable_plugins
enable_largefile
-@@ -1509,6 +1513,8 @@ Optional Packages:
+@@ -1504,6 +1508,8 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
@@ -57,7 +104,7 @@ index b23c9eebfd7..fb25d046cd2 100755
--with-mmap try using mmap for BFD input files if available
--with-separate-debug-dir=DIR
Look for global separate debug info in DIR
-@@ -5029,8 +5035,8 @@ esac
+@@ -5024,8 +5030,8 @@ esac
@@ -68,7 +115,7 @@ index b23c9eebfd7..fb25d046cd2 100755
-@@ -5070,7 +5076,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -5065,7 +5071,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
@@ -77,7 +124,7 @@ index b23c9eebfd7..fb25d046cd2 100755
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -5757,8 +5763,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -5758,8 +5764,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -88,7 +135,7 @@ index b23c9eebfd7..fb25d046cd2 100755
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -5807,6 +5813,80 @@ esac
+@@ -5808,6 +5814,80 @@ esac
@@ -169,7 +216,7 @@ index b23c9eebfd7..fb25d046cd2 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -5823,6 +5903,11 @@ case $reload_flag in
+@@ -5824,6 +5904,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -181,7 +228,7 @@ index b23c9eebfd7..fb25d046cd2 100755
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -5991,7 +6076,8 @@ mingw* | pw32*)
+@@ -5992,7 +6077,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -191,7 +238,7 @@ index b23c9eebfd7..fb25d046cd2 100755
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -6145,6 +6231,21 @@ esac
+@@ -6146,6 +6232,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -213,7 +260,7 @@ index b23c9eebfd7..fb25d046cd2 100755
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6160,6 +6261,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6161,6 +6262,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -371,7 +418,7 @@ index b23c9eebfd7..fb25d046cd2 100755
plugin_option=
plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
for plugin in $plugin_names; do
-@@ -6174,8 +6426,10 @@ for plugin in $plugin_names; do
+@@ -6175,8 +6427,10 @@ for plugin in $plugin_names; do
done
if test -n "$ac_tool_prefix"; then
@@ -384,7 +431,7 @@ index b23c9eebfd7..fb25d046cd2 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -6191,7 +6445,7 @@ do
+@@ -6192,7 +6446,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -393,7 +440,7 @@ index b23c9eebfd7..fb25d046cd2 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6211,11 +6465,15 @@ $as_echo "no" >&6; }
+@@ -6212,11 +6466,15 @@ $as_echo "no" >&6; }
fi
@@ -412,7 +459,7 @@ index b23c9eebfd7..fb25d046cd2 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -6231,7 +6489,7 @@ do
+@@ -6232,7 +6490,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -421,7 +468,7 @@ index b23c9eebfd7..fb25d046cd2 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6250,6 +6508,10 @@ else
+@@ -6251,6 +6509,10 @@ else
$as_echo "no" >&6; }
fi
@@ -432,7 +479,7 @@ index b23c9eebfd7..fb25d046cd2 100755
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -6261,25 +6523,20 @@ ac_tool_warned=yes ;;
+@@ -6262,25 +6524,20 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -468,7 +515,7 @@ index b23c9eebfd7..fb25d046cd2 100755
-@@ -6290,6 +6547,63 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -6291,6 +6548,63 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
@@ -532,7 +579,7 @@ index b23c9eebfd7..fb25d046cd2 100755
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-@@ -6630,8 +6944,8 @@ esac
+@@ -6631,8 +6945,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -543,7 +590,7 @@ index b23c9eebfd7..fb25d046cd2 100755
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -6667,6 +6981,7 @@ for ac_symprfx in "" "_"; do
+@@ -6668,6 +6982,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -551,7 +598,7 @@ index b23c9eebfd7..fb25d046cd2 100755
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -6708,6 +7023,18 @@ _LT_EOF
+@@ -6709,6 +7024,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -570,7 +617,7 @@ index b23c9eebfd7..fb25d046cd2 100755
#ifdef __cplusplus
extern "C" {
#endif
-@@ -6719,7 +7046,7 @@ _LT_EOF
+@@ -6720,7 +7047,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -579,7 +626,7 @@ index b23c9eebfd7..fb25d046cd2 100755
const char *name;
void *address;
}
-@@ -6745,8 +7072,8 @@ static const void *lt_preloaded_setup() {
+@@ -6746,8 +7073,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -590,7 +637,7 @@ index b23c9eebfd7..fb25d046cd2 100755
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -6756,8 +7083,8 @@ _LT_EOF
+@@ -6757,8 +7084,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -601,7 +648,7 @@ index b23c9eebfd7..fb25d046cd2 100755
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -6794,6 +7121,14 @@ else
+@@ -6795,6 +7122,14 @@ else
$as_echo "ok" >&6; }
fi
@@ -616,7 +663,7 @@ index b23c9eebfd7..fb25d046cd2 100755
-@@ -6812,6 +7147,47 @@ fi
+@@ -6813,6 +7148,47 @@ fi
@@ -664,7 +711,7 @@ index b23c9eebfd7..fb25d046cd2 100755
-@@ -7021,6 +7397,123 @@ esac
+@@ -7022,6 +7398,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -788,7 +835,7 @@ index b23c9eebfd7..fb25d046cd2 100755
case $host_os in
rhapsody* | darwin*)
-@@ -7584,6 +8077,8 @@ _LT_EOF
+@@ -7585,6 +8078,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -797,7 +844,7 @@ index b23c9eebfd7..fb25d046cd2 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -8135,8 +8630,6 @@ fi
+@@ -8136,8 +8631,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -806,7 +853,7 @@ index b23c9eebfd7..fb25d046cd2 100755
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8302,6 +8795,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8303,6 +8796,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -819,7 +866,7 @@ index b23c9eebfd7..fb25d046cd2 100755
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8364,7 +8863,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8365,7 +8864,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -828,7 +875,7 @@ index b23c9eebfd7..fb25d046cd2 100755
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8421,13 +8920,17 @@ case $host_os in
+@@ -8422,13 +8921,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -852,7 +899,7 @@ index b23c9eebfd7..fb25d046cd2 100755
#
# Check to make sure the PIC flag actually works.
-@@ -8488,6 +8991,11 @@ fi
+@@ -8489,6 +8992,11 @@ fi
@@ -864,7 +911,7 @@ index b23c9eebfd7..fb25d046cd2 100755
#
# Check to make sure the static flag actually works.
#
-@@ -8838,7 +9346,8 @@ _LT_EOF
+@@ -8839,7 +9347,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -874,7 +921,7 @@ index b23c9eebfd7..fb25d046cd2 100755
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -8937,12 +9446,12 @@ _LT_EOF
+@@ -8938,12 +9447,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -889,7 +936,7 @@ index b23c9eebfd7..fb25d046cd2 100755
fi
;;
esac
-@@ -8956,8 +9465,8 @@ _LT_EOF
+@@ -8957,8 +9466,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -900,7 +947,7 @@ index b23c9eebfd7..fb25d046cd2 100755
fi
;;
-@@ -8975,8 +9484,8 @@ _LT_EOF
+@@ -8976,8 +9485,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -911,7 +958,7 @@ index b23c9eebfd7..fb25d046cd2 100755
else
ld_shlibs=no
fi
-@@ -9022,8 +9531,8 @@ _LT_EOF
+@@ -9023,8 +9532,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -922,7 +969,7 @@ index b23c9eebfd7..fb25d046cd2 100755
else
ld_shlibs=no
fi
-@@ -9153,7 +9662,13 @@ _LT_EOF
+@@ -9154,7 +9663,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -937,7 +984,7 @@ index b23c9eebfd7..fb25d046cd2 100755
/* end confdefs.h. */
int
-@@ -9166,22 +9681,29 @@ main ()
+@@ -9167,22 +9682,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -980,7 +1027,7 @@ index b23c9eebfd7..fb25d046cd2 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9193,7 +9715,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9194,7 +9716,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -995,7 +1042,7 @@ index b23c9eebfd7..fb25d046cd2 100755
/* end confdefs.h. */
int
-@@ -9206,22 +9734,29 @@ main ()
+@@ -9207,22 +9735,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -1038,7 +1085,7 @@ index b23c9eebfd7..fb25d046cd2 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9266,20 +9801,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9267,20 +9802,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -1116,7 +1163,7 @@ index b23c9eebfd7..fb25d046cd2 100755
;;
darwin* | rhapsody*)
-@@ -9340,7 +9918,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9341,7 +9919,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -1125,7 +1172,7 @@ index b23c9eebfd7..fb25d046cd2 100755
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9348,7 +9926,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9349,7 +9927,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -1134,7 +1181,7 @@ index b23c9eebfd7..fb25d046cd2 100755
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9364,7 +9942,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9365,7 +9943,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -1143,7 +1190,7 @@ index b23c9eebfd7..fb25d046cd2 100755
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9388,10 +9966,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9389,10 +9967,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -1156,7 +1203,7 @@ index b23c9eebfd7..fb25d046cd2 100755
;;
esac
else
-@@ -9470,23 +10048,36 @@ fi
+@@ -9471,23 +10049,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -1201,7 +1248,7 @@ index b23c9eebfd7..fb25d046cd2 100755
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9571,7 +10162,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9572,7 +10163,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -1210,7 +1257,7 @@ index b23c9eebfd7..fb25d046cd2 100755
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9590,9 +10181,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9591,9 +10182,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -1222,7 +1269,7 @@ index b23c9eebfd7..fb25d046cd2 100755
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -10168,8 +10759,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10169,8 +10760,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -1234,7 +1281,7 @@ index b23c9eebfd7..fb25d046cd2 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -10202,13 +10794,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10203,13 +10795,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -1307,16 +1354,16 @@ index b23c9eebfd7..fb25d046cd2 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -11086,7 +11736,7 @@ else
+@@ -11087,7 +11737,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11089 "configure"
+-#line 11090 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11130,10 +11780,10 @@ else
+@@ -11131,10 +11781,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -1329,16 +1376,16 @@ index b23c9eebfd7..fb25d046cd2 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11192,7 +11842,7 @@ else
+@@ -11193,7 +11843,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11195 "configure"
+-#line 11196 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11236,10 +11886,10 @@ else
+@@ -11237,10 +11887,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -1351,7 +1398,7 @@ index b23c9eebfd7..fb25d046cd2 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -13224,7 +13874,7 @@ SHARED_LDFLAGS=
+@@ -13225,7 +13875,7 @@ SHARED_LDFLAGS=
if test "$enable_shared" = "yes"; then
x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
if test -n "$x"; then
@@ -1360,7 +1407,7 @@ index b23c9eebfd7..fb25d046cd2 100755
fi
fi
-@@ -15879,13 +16529,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -15869,13 +16519,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -1381,7 +1428,7 @@ index b23c9eebfd7..fb25d046cd2 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -15900,14 +16557,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -15890,14 +16547,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -1400,7 +1447,7 @@ index b23c9eebfd7..fb25d046cd2 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -15940,12 +16600,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -15930,12 +16590,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -1414,7 +1461,7 @@ index b23c9eebfd7..fb25d046cd2 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -16000,8 +16660,13 @@ reload_flag \
+@@ -15990,8 +16650,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -1428,7 +1475,7 @@ index b23c9eebfd7..fb25d046cd2 100755
STRIP \
RANLIB \
CC \
-@@ -16011,12 +16676,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -16001,12 +16666,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -1444,7 +1491,7 @@ index b23c9eebfd7..fb25d046cd2 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -16032,7 +16699,6 @@ no_undefined_flag \
+@@ -16022,7 +16689,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -1452,7 +1499,7 @@ index b23c9eebfd7..fb25d046cd2 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -16068,6 +16734,7 @@ module_cmds \
+@@ -16058,6 +16724,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -1460,7 +1507,7 @@ index b23c9eebfd7..fb25d046cd2 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -16837,7 +17504,8 @@ $as_echo X"$file" |
+@@ -16826,7 +17493,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -1470,7 +1517,7 @@ index b23c9eebfd7..fb25d046cd2 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -16940,19 +17608,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -16929,19 +17597,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -1514,7 +1561,7 @@ index b23c9eebfd7..fb25d046cd2 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -16982,6 +17673,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -16971,6 +17662,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -1527,7 +1574,7 @@ index b23c9eebfd7..fb25d046cd2 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -16991,6 +17688,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -16980,6 +17677,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -1537,7 +1584,7 @@ index b23c9eebfd7..fb25d046cd2 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -17105,12 +17805,12 @@ with_gcc=$GCC
+@@ -17094,12 +17794,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -1553,7 +1600,7 @@ index b23c9eebfd7..fb25d046cd2 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -17197,9 +17897,6 @@ inherit_rpath=$inherit_rpath
+@@ -17186,9 +17886,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -1563,7 +1610,7 @@ index b23c9eebfd7..fb25d046cd2 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -17215,6 +17912,9 @@ include_expsyms=$lt_include_expsyms
+@@ -17204,6 +17901,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -1573,7 +1620,7 @@ index b23c9eebfd7..fb25d046cd2 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -17247,210 +17947,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -17236,210 +17936,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -1948,10 +1995,10 @@ index b23c9eebfd7..fb25d046cd2 100755
chmod +x "$ofile"
diff --git a/bfd/configure.ac b/bfd/configure.ac
-index a9078965c40..22b5b7ea567 100644
+index 6146efb5ae3..73e5e03d016 100644
--- a/bfd/configure.ac
+++ b/bfd/configure.ac
-@@ -303,7 +303,7 @@ changequote(,)dnl
+@@ -282,7 +282,7 @@ changequote(,)dnl
x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
changequote([,])dnl
if test -n "$x"; then
@@ -1960,11 +2007,39 @@ index a9078965c40..22b5b7ea567 100644
fi
fi
+diff --git a/binutils/Makefile.in b/binutils/Makefile.in
+index 78d32b350e3..ad4f2de7358 100644
+--- a/binutils/Makefile.in
++++ b/binutils/Makefile.in
+@@ -492,6 +492,7 @@ DEBUGINFOD_LIBS = @DEBUGINFOD_LIBS@
+ DEFS = @DEFS@
+ DEMANGLER_NAME = @DEMANGLER_NAME@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DLLTOOL_DEFS = @DLLTOOL_DEFS@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+@@ -533,6 +534,7 @@ LTLIBICONV = @LTLIBICONV@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ MKINSTALLDIRS = @MKINSTALLDIRS@
+ MSGFMT = @MSGFMT@
+@@ -579,6 +581,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
diff --git a/binutils/configure b/binutils/configure
-index 8cde216cb1f..15f3f4eb874 100755
+index 149815542f9..43952bde405 100755
--- a/binutils/configure
+++ b/binutils/configure
-@@ -696,8 +696,11 @@ OTOOL
+@@ -698,8 +698,11 @@ OTOOL
LIPO
NMEDIT
DSYMUTIL
@@ -1976,7 +2051,7 @@ index 8cde216cb1f..15f3f4eb874 100755
OBJDUMP
LN_S
NM
-@@ -814,6 +817,7 @@ enable_static
+@@ -816,6 +819,7 @@ enable_static
with_pic
enable_fast_install
with_gnu_ld
@@ -1984,7 +2059,7 @@ index 8cde216cb1f..15f3f4eb874 100755
enable_libtool_lock
enable_plugins
enable_largefile
-@@ -1509,6 +1513,8 @@ Optional Packages:
+@@ -1514,6 +1518,8 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
@@ -1993,7 +2068,7 @@ index 8cde216cb1f..15f3f4eb874 100755
--with-debuginfod Enable debuginfo lookups with debuginfod
(auto/yes/no)
--with-system-zlib use installed libz
-@@ -4883,8 +4889,8 @@ esac
+@@ -4893,8 +4899,8 @@ esac
@@ -2004,7 +2079,7 @@ index 8cde216cb1f..15f3f4eb874 100755
-@@ -4924,7 +4930,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -4934,7 +4940,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
@@ -2013,7 +2088,7 @@ index 8cde216cb1f..15f3f4eb874 100755
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -5611,8 +5617,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -5627,8 +5633,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -2024,7 +2099,7 @@ index 8cde216cb1f..15f3f4eb874 100755
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -5661,6 +5667,80 @@ esac
+@@ -5677,6 +5683,80 @@ esac
@@ -2105,7 +2180,7 @@ index 8cde216cb1f..15f3f4eb874 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -5677,6 +5757,11 @@ case $reload_flag in
+@@ -5693,6 +5773,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -2117,7 +2192,7 @@ index 8cde216cb1f..15f3f4eb874 100755
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -5845,7 +5930,8 @@ mingw* | pw32*)
+@@ -5861,7 +5946,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -2127,7 +2202,7 @@ index 8cde216cb1f..15f3f4eb874 100755
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -5999,6 +6085,21 @@ esac
+@@ -6015,6 +6101,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -2149,7 +2224,7 @@ index 8cde216cb1f..15f3f4eb874 100755
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6014,6 +6115,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6030,6 +6131,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -2307,7 +2382,7 @@ index 8cde216cb1f..15f3f4eb874 100755
plugin_option=
plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
for plugin in $plugin_names; do
-@@ -6028,8 +6280,10 @@ for plugin in $plugin_names; do
+@@ -6044,8 +6296,10 @@ for plugin in $plugin_names; do
done
if test -n "$ac_tool_prefix"; then
@@ -2320,7 +2395,7 @@ index 8cde216cb1f..15f3f4eb874 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -6045,7 +6299,7 @@ do
+@@ -6061,7 +6315,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -2329,7 +2404,7 @@ index 8cde216cb1f..15f3f4eb874 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6065,11 +6319,15 @@ $as_echo "no" >&6; }
+@@ -6081,11 +6335,15 @@ $as_echo "no" >&6; }
fi
@@ -2348,7 +2423,7 @@ index 8cde216cb1f..15f3f4eb874 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -6085,7 +6343,7 @@ do
+@@ -6101,7 +6359,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -2357,7 +2432,7 @@ index 8cde216cb1f..15f3f4eb874 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6104,6 +6362,10 @@ else
+@@ -6120,6 +6378,10 @@ else
$as_echo "no" >&6; }
fi
@@ -2368,7 +2443,7 @@ index 8cde216cb1f..15f3f4eb874 100755
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -6115,29 +6377,81 @@ ac_tool_warned=yes ;;
+@@ -6131,29 +6393,81 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -2465,7 +2540,7 @@ index 8cde216cb1f..15f3f4eb874 100755
-@@ -6484,8 +6798,8 @@ esac
+@@ -6500,8 +6814,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -2476,7 +2551,7 @@ index 8cde216cb1f..15f3f4eb874 100755
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -6521,6 +6835,7 @@ for ac_symprfx in "" "_"; do
+@@ -6537,6 +6851,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -2484,7 +2559,7 @@ index 8cde216cb1f..15f3f4eb874 100755
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -6562,6 +6877,18 @@ _LT_EOF
+@@ -6578,6 +6893,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -2503,7 +2578,7 @@ index 8cde216cb1f..15f3f4eb874 100755
#ifdef __cplusplus
extern "C" {
#endif
-@@ -6573,7 +6900,7 @@ _LT_EOF
+@@ -6589,7 +6916,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -2512,7 +2587,7 @@ index 8cde216cb1f..15f3f4eb874 100755
const char *name;
void *address;
}
-@@ -6599,8 +6926,8 @@ static const void *lt_preloaded_setup() {
+@@ -6615,8 +6942,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -2523,7 +2598,7 @@ index 8cde216cb1f..15f3f4eb874 100755
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -6610,8 +6937,8 @@ _LT_EOF
+@@ -6626,8 +6953,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -2534,7 +2609,7 @@ index 8cde216cb1f..15f3f4eb874 100755
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -6648,6 +6975,19 @@ else
+@@ -6664,6 +6991,19 @@ else
$as_echo "ok" >&6; }
fi
@@ -2554,7 +2629,7 @@ index 8cde216cb1f..15f3f4eb874 100755
-@@ -6664,6 +7004,42 @@ fi
+@@ -6680,6 +7020,42 @@ fi
@@ -2597,7 +2672,7 @@ index 8cde216cb1f..15f3f4eb874 100755
-@@ -6875,6 +7251,123 @@ esac
+@@ -6891,6 +7267,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -2721,7 +2796,7 @@ index 8cde216cb1f..15f3f4eb874 100755
case $host_os in
rhapsody* | darwin*)
-@@ -7438,6 +7931,8 @@ _LT_EOF
+@@ -7454,6 +7947,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -2730,7 +2805,7 @@ index 8cde216cb1f..15f3f4eb874 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -8020,8 +8515,6 @@ fi
+@@ -8036,8 +8531,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -2739,7 +2814,7 @@ index 8cde216cb1f..15f3f4eb874 100755
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8187,6 +8680,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8203,6 +8696,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -2752,7 +2827,7 @@ index 8cde216cb1f..15f3f4eb874 100755
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8249,7 +8748,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8265,7 +8764,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -2761,7 +2836,7 @@ index 8cde216cb1f..15f3f4eb874 100755
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8306,13 +8805,17 @@ case $host_os in
+@@ -8322,13 +8821,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -2785,7 +2860,7 @@ index 8cde216cb1f..15f3f4eb874 100755
#
# Check to make sure the PIC flag actually works.
-@@ -8373,6 +8876,11 @@ fi
+@@ -8389,6 +8892,11 @@ fi
@@ -2797,7 +2872,7 @@ index 8cde216cb1f..15f3f4eb874 100755
#
# Check to make sure the static flag actually works.
#
-@@ -8723,7 +9231,8 @@ _LT_EOF
+@@ -8739,7 +9247,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -2807,7 +2882,7 @@ index 8cde216cb1f..15f3f4eb874 100755
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -8822,12 +9331,12 @@ _LT_EOF
+@@ -8838,12 +9347,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -2822,7 +2897,7 @@ index 8cde216cb1f..15f3f4eb874 100755
fi
;;
esac
-@@ -8841,8 +9350,8 @@ _LT_EOF
+@@ -8857,8 +9366,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -2833,7 +2908,7 @@ index 8cde216cb1f..15f3f4eb874 100755
fi
;;
-@@ -8860,8 +9369,8 @@ _LT_EOF
+@@ -8876,8 +9385,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -2844,7 +2919,7 @@ index 8cde216cb1f..15f3f4eb874 100755
else
ld_shlibs=no
fi
-@@ -8907,8 +9416,8 @@ _LT_EOF
+@@ -8923,8 +9432,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -2855,7 +2930,7 @@ index 8cde216cb1f..15f3f4eb874 100755
else
ld_shlibs=no
fi
-@@ -9038,7 +9547,13 @@ _LT_EOF
+@@ -9054,7 +9563,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -2870,7 +2945,7 @@ index 8cde216cb1f..15f3f4eb874 100755
/* end confdefs.h. */
int
-@@ -9051,22 +9566,29 @@ main ()
+@@ -9067,22 +9582,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -2913,7 +2988,7 @@ index 8cde216cb1f..15f3f4eb874 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9078,7 +9600,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9094,7 +9616,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -2928,7 +3003,7 @@ index 8cde216cb1f..15f3f4eb874 100755
/* end confdefs.h. */
int
-@@ -9091,22 +9619,29 @@ main ()
+@@ -9107,22 +9635,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -2971,7 +3046,7 @@ index 8cde216cb1f..15f3f4eb874 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9151,20 +9686,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9167,20 +9702,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -3049,7 +3124,7 @@ index 8cde216cb1f..15f3f4eb874 100755
;;
darwin* | rhapsody*)
-@@ -9225,7 +9803,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9241,7 +9819,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -3058,7 +3133,7 @@ index 8cde216cb1f..15f3f4eb874 100755
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9233,7 +9811,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9249,7 +9827,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -3067,7 +3142,7 @@ index 8cde216cb1f..15f3f4eb874 100755
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9249,7 +9827,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9265,7 +9843,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -3076,7 +3151,7 @@ index 8cde216cb1f..15f3f4eb874 100755
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9273,10 +9851,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9289,10 +9867,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -3089,7 +3164,7 @@ index 8cde216cb1f..15f3f4eb874 100755
;;
esac
else
-@@ -9355,23 +9933,36 @@ fi
+@@ -9371,23 +9949,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -3134,7 +3209,7 @@ index 8cde216cb1f..15f3f4eb874 100755
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9456,7 +10047,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9472,7 +10063,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -3143,7 +3218,7 @@ index 8cde216cb1f..15f3f4eb874 100755
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9475,9 +10066,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9491,9 +10082,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -3155,7 +3230,7 @@ index 8cde216cb1f..15f3f4eb874 100755
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -10053,8 +10644,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10069,8 +10660,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -3167,7 +3242,7 @@ index 8cde216cb1f..15f3f4eb874 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -10087,13 +10679,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10103,13 +10695,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -3240,16 +3315,16 @@ index 8cde216cb1f..15f3f4eb874 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -10971,7 +11621,7 @@ else
+@@ -10987,7 +11637,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 10974 "configure"
+-#line 10990 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11015,10 +11665,10 @@ else
+@@ -11031,10 +11681,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -3262,16 +3337,16 @@ index 8cde216cb1f..15f3f4eb874 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11077,7 +11727,7 @@ else
+@@ -11093,7 +11743,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11080 "configure"
+-#line 11096 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11121,10 +11771,10 @@ else
+@@ -11137,10 +11787,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -3284,7 +3359,7 @@ index 8cde216cb1f..15f3f4eb874 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -15505,13 +16155,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -15642,13 +16292,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -3305,7 +3380,7 @@ index 8cde216cb1f..15f3f4eb874 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -15526,14 +16183,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -15663,14 +16320,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -3324,7 +3399,7 @@ index 8cde216cb1f..15f3f4eb874 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -15566,12 +16226,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -15703,12 +16363,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -3338,7 +3413,7 @@ index 8cde216cb1f..15f3f4eb874 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -15626,8 +16286,13 @@ reload_flag \
+@@ -15763,8 +16423,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -3352,7 +3427,7 @@ index 8cde216cb1f..15f3f4eb874 100755
STRIP \
RANLIB \
CC \
-@@ -15637,12 +16302,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -15774,12 +16439,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -3368,7 +3443,7 @@ index 8cde216cb1f..15f3f4eb874 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -15658,7 +16325,6 @@ no_undefined_flag \
+@@ -15795,7 +16462,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -3376,7 +3451,7 @@ index 8cde216cb1f..15f3f4eb874 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -15694,6 +16360,7 @@ module_cmds \
+@@ -15831,6 +16497,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -3384,7 +3459,7 @@ index 8cde216cb1f..15f3f4eb874 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -16459,7 +17126,8 @@ $as_echo X"$file" |
+@@ -16596,7 +17263,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -3394,7 +3469,7 @@ index 8cde216cb1f..15f3f4eb874 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -16562,19 +17230,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -16699,19 +17367,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -3438,7 +3513,7 @@ index 8cde216cb1f..15f3f4eb874 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -16604,6 +17295,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -16741,6 +17432,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -3451,7 +3526,7 @@ index 8cde216cb1f..15f3f4eb874 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -16613,6 +17310,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -16750,6 +17447,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -3461,7 +3536,7 @@ index 8cde216cb1f..15f3f4eb874 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -16727,12 +17427,12 @@ with_gcc=$GCC
+@@ -16864,12 +17564,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -3477,7 +3552,7 @@ index 8cde216cb1f..15f3f4eb874 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -16819,9 +17519,6 @@ inherit_rpath=$inherit_rpath
+@@ -16956,9 +17656,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -3487,7 +3562,7 @@ index 8cde216cb1f..15f3f4eb874 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -16837,6 +17534,9 @@ include_expsyms=$lt_include_expsyms
+@@ -16974,6 +17671,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -3497,7 +3572,7 @@ index 8cde216cb1f..15f3f4eb874 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -16869,210 +17569,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -17006,210 +17706,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -3871,8 +3946,36 @@ index 8cde216cb1f..15f3f4eb874 100755
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
+diff --git a/gas/Makefile.in b/gas/Makefile.in
+index c57d78f82c4..da370b21855 100644
+--- a/gas/Makefile.in
++++ b/gas/Makefile.in
+@@ -373,6 +373,7 @@ CYGPATH_W = @CYGPATH_W@
+ DATADIRNAME = @DATADIRNAME@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -409,6 +410,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ MKINSTALLDIRS = @MKINSTALLDIRS@
+ MSGFMT = @MSGFMT@
+@@ -447,6 +449,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
diff --git a/gas/configure b/gas/configure
-index dc6a6682aa4..10364bd81da 100755
+index 12c16faefd9..11b5127bf3a 100755
--- a/gas/configure
+++ b/gas/configure
@@ -681,8 +681,11 @@ OTOOL
@@ -3924,7 +4027,7 @@ index dc6a6682aa4..10364bd81da 100755
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -5336,8 +5342,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -5342,8 +5348,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -3935,7 +4038,7 @@ index dc6a6682aa4..10364bd81da 100755
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -5386,6 +5392,80 @@ esac
+@@ -5392,6 +5398,80 @@ esac
@@ -4016,7 +4119,7 @@ index dc6a6682aa4..10364bd81da 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -5402,6 +5482,11 @@ case $reload_flag in
+@@ -5408,6 +5488,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -4028,7 +4131,7 @@ index dc6a6682aa4..10364bd81da 100755
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -5570,7 +5655,8 @@ mingw* | pw32*)
+@@ -5576,7 +5661,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -4038,7 +4141,7 @@ index dc6a6682aa4..10364bd81da 100755
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -5724,6 +5810,21 @@ esac
+@@ -5730,6 +5816,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -4060,7 +4163,7 @@ index dc6a6682aa4..10364bd81da 100755
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -5739,6 +5840,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -5745,6 +5846,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -4218,7 +4321,7 @@ index dc6a6682aa4..10364bd81da 100755
plugin_option=
plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
for plugin in $plugin_names; do
-@@ -5753,8 +6005,10 @@ for plugin in $plugin_names; do
+@@ -5759,8 +6011,10 @@ for plugin in $plugin_names; do
done
if test -n "$ac_tool_prefix"; then
@@ -4231,7 +4334,7 @@ index dc6a6682aa4..10364bd81da 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -5770,7 +6024,7 @@ do
+@@ -5776,7 +6030,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -4240,7 +4343,7 @@ index dc6a6682aa4..10364bd81da 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -5790,11 +6044,15 @@ $as_echo "no" >&6; }
+@@ -5796,11 +6050,15 @@ $as_echo "no" >&6; }
fi
@@ -4259,7 +4362,7 @@ index dc6a6682aa4..10364bd81da 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -5810,7 +6068,7 @@ do
+@@ -5816,7 +6074,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -4268,7 +4371,7 @@ index dc6a6682aa4..10364bd81da 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -5829,6 +6087,10 @@ else
+@@ -5835,6 +6093,10 @@ else
$as_echo "no" >&6; }
fi
@@ -4279,7 +4382,7 @@ index dc6a6682aa4..10364bd81da 100755
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -5840,29 +6102,81 @@ ac_tool_warned=yes ;;
+@@ -5846,29 +6108,81 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -4376,7 +4479,7 @@ index dc6a6682aa4..10364bd81da 100755
-@@ -6209,8 +6523,8 @@ esac
+@@ -6215,8 +6529,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -4387,7 +4490,7 @@ index dc6a6682aa4..10364bd81da 100755
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -6246,6 +6560,7 @@ for ac_symprfx in "" "_"; do
+@@ -6252,6 +6566,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -4395,7 +4498,7 @@ index dc6a6682aa4..10364bd81da 100755
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -6287,6 +6602,18 @@ _LT_EOF
+@@ -6293,6 +6608,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -4414,7 +4517,7 @@ index dc6a6682aa4..10364bd81da 100755
#ifdef __cplusplus
extern "C" {
#endif
-@@ -6298,7 +6625,7 @@ _LT_EOF
+@@ -6304,7 +6631,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -4423,7 +4526,7 @@ index dc6a6682aa4..10364bd81da 100755
const char *name;
void *address;
}
-@@ -6324,8 +6651,8 @@ static const void *lt_preloaded_setup() {
+@@ -6330,8 +6657,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -4434,7 +4537,7 @@ index dc6a6682aa4..10364bd81da 100755
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -6335,8 +6662,8 @@ _LT_EOF
+@@ -6341,8 +6668,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -4445,7 +4548,7 @@ index dc6a6682aa4..10364bd81da 100755
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -6373,6 +6700,19 @@ else
+@@ -6379,6 +6706,19 @@ else
$as_echo "ok" >&6; }
fi
@@ -4465,7 +4568,7 @@ index dc6a6682aa4..10364bd81da 100755
-@@ -6389,6 +6729,42 @@ fi
+@@ -6395,6 +6735,42 @@ fi
@@ -4508,7 +4611,7 @@ index dc6a6682aa4..10364bd81da 100755
-@@ -6600,6 +6976,123 @@ esac
+@@ -6606,6 +6982,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -4632,7 +4735,7 @@ index dc6a6682aa4..10364bd81da 100755
case $host_os in
rhapsody* | darwin*)
-@@ -7163,6 +7656,8 @@ _LT_EOF
+@@ -7169,6 +7662,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -4641,7 +4744,7 @@ index dc6a6682aa4..10364bd81da 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7745,8 +8240,6 @@ fi
+@@ -7751,8 +8246,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -4650,7 +4753,7 @@ index dc6a6682aa4..10364bd81da 100755
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -7912,6 +8405,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -7918,6 +8411,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -4663,7 +4766,7 @@ index dc6a6682aa4..10364bd81da 100755
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -7974,7 +8473,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -7980,7 +8479,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -4672,7 +4775,7 @@ index dc6a6682aa4..10364bd81da 100755
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8031,13 +8530,17 @@ case $host_os in
+@@ -8037,13 +8536,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -4696,7 +4799,7 @@ index dc6a6682aa4..10364bd81da 100755
#
# Check to make sure the PIC flag actually works.
-@@ -8098,6 +8601,11 @@ fi
+@@ -8104,6 +8607,11 @@ fi
@@ -4708,7 +4811,7 @@ index dc6a6682aa4..10364bd81da 100755
#
# Check to make sure the static flag actually works.
#
-@@ -8448,7 +8956,8 @@ _LT_EOF
+@@ -8454,7 +8962,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -4718,7 +4821,7 @@ index dc6a6682aa4..10364bd81da 100755
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -8547,12 +9056,12 @@ _LT_EOF
+@@ -8553,12 +9062,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -4733,7 +4836,7 @@ index dc6a6682aa4..10364bd81da 100755
fi
;;
esac
-@@ -8566,8 +9075,8 @@ _LT_EOF
+@@ -8572,8 +9081,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -4744,7 +4847,7 @@ index dc6a6682aa4..10364bd81da 100755
fi
;;
-@@ -8585,8 +9094,8 @@ _LT_EOF
+@@ -8591,8 +9100,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -4755,7 +4858,7 @@ index dc6a6682aa4..10364bd81da 100755
else
ld_shlibs=no
fi
-@@ -8632,8 +9141,8 @@ _LT_EOF
+@@ -8638,8 +9147,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -4766,7 +4869,7 @@ index dc6a6682aa4..10364bd81da 100755
else
ld_shlibs=no
fi
-@@ -8763,7 +9272,13 @@ _LT_EOF
+@@ -8769,7 +9278,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -4781,7 +4884,7 @@ index dc6a6682aa4..10364bd81da 100755
/* end confdefs.h. */
int
-@@ -8776,22 +9291,29 @@ main ()
+@@ -8782,22 +9297,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -4824,7 +4927,7 @@ index dc6a6682aa4..10364bd81da 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -8803,7 +9325,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -8809,7 +9331,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -4839,7 +4942,7 @@ index dc6a6682aa4..10364bd81da 100755
/* end confdefs.h. */
int
-@@ -8816,22 +9344,29 @@ main ()
+@@ -8822,22 +9350,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -4882,7 +4985,7 @@ index dc6a6682aa4..10364bd81da 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -8876,20 +9411,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -8882,20 +9417,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -4960,7 +5063,7 @@ index dc6a6682aa4..10364bd81da 100755
;;
darwin* | rhapsody*)
-@@ -8950,7 +9528,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -8956,7 +9534,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -4969,7 +5072,7 @@ index dc6a6682aa4..10364bd81da 100755
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -8958,7 +9536,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -8964,7 +9542,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -4978,7 +5081,7 @@ index dc6a6682aa4..10364bd81da 100755
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -8974,7 +9552,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -8980,7 +9558,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -4987,7 +5090,7 @@ index dc6a6682aa4..10364bd81da 100755
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -8998,10 +9576,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9004,10 +9582,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -5000,7 +5103,7 @@ index dc6a6682aa4..10364bd81da 100755
;;
esac
else
-@@ -9080,23 +9658,36 @@ fi
+@@ -9086,23 +9664,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -5045,7 +5148,7 @@ index dc6a6682aa4..10364bd81da 100755
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9181,7 +9772,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9187,7 +9778,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -5054,7 +5157,7 @@ index dc6a6682aa4..10364bd81da 100755
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9200,9 +9791,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9206,9 +9797,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -5066,7 +5169,7 @@ index dc6a6682aa4..10364bd81da 100755
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -9778,8 +10369,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -9784,8 +10375,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -5078,7 +5181,7 @@ index dc6a6682aa4..10364bd81da 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -9812,13 +10404,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -9818,13 +10410,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -5151,16 +5254,16 @@ index dc6a6682aa4..10364bd81da 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -10696,7 +11346,7 @@ else
+@@ -10702,7 +11352,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 10699 "configure"
+-#line 10705 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -10740,10 +11390,10 @@ else
+@@ -10746,10 +11396,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -5173,16 +5276,16 @@ index dc6a6682aa4..10364bd81da 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -10802,7 +11452,7 @@ else
+@@ -10808,7 +11458,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 10805 "configure"
+-#line 10811 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -10846,10 +11496,10 @@ else
+@@ -10852,10 +11502,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -5195,7 +5298,7 @@ index dc6a6682aa4..10364bd81da 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -14832,13 +15482,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -14834,13 +15484,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -5216,7 +5319,7 @@ index dc6a6682aa4..10364bd81da 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -14853,14 +15510,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -14855,14 +15512,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -5235,7 +5338,7 @@ index dc6a6682aa4..10364bd81da 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -14893,12 +15553,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -14895,12 +15555,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -5249,7 +5352,7 @@ index dc6a6682aa4..10364bd81da 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -14953,8 +15613,13 @@ reload_flag \
+@@ -14955,8 +15615,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -5263,7 +5366,7 @@ index dc6a6682aa4..10364bd81da 100755
STRIP \
RANLIB \
CC \
-@@ -14964,12 +15629,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -14966,12 +15631,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -5279,7 +5382,7 @@ index dc6a6682aa4..10364bd81da 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -14985,7 +15652,6 @@ no_undefined_flag \
+@@ -14987,7 +15654,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -5287,7 +5390,7 @@ index dc6a6682aa4..10364bd81da 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -15021,6 +15687,7 @@ module_cmds \
+@@ -15023,6 +15689,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -5295,7 +5398,7 @@ index dc6a6682aa4..10364bd81da 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -15793,7 +16460,8 @@ $as_echo X"$file" |
+@@ -15795,7 +16462,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -5305,7 +5408,7 @@ index dc6a6682aa4..10364bd81da 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -15896,19 +16564,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -15898,19 +16566,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -5349,7 +5452,7 @@ index dc6a6682aa4..10364bd81da 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -15938,6 +16629,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -15940,6 +16631,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -5362,7 +5465,7 @@ index dc6a6682aa4..10364bd81da 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -15947,6 +16644,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -15949,6 +16646,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -5372,7 +5475,7 @@ index dc6a6682aa4..10364bd81da 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -16061,12 +16761,12 @@ with_gcc=$GCC
+@@ -16063,12 +16763,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -5388,7 +5491,7 @@ index dc6a6682aa4..10364bd81da 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -16153,9 +16853,6 @@ inherit_rpath=$inherit_rpath
+@@ -16155,9 +16855,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -5398,7 +5501,7 @@ index dc6a6682aa4..10364bd81da 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -16171,6 +16868,9 @@ include_expsyms=$lt_include_expsyms
+@@ -16173,6 +16870,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -5408,7 +5511,7 @@ index dc6a6682aa4..10364bd81da 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -16203,210 +16903,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -16205,210 +16905,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -5782,8 +5885,48 @@ index dc6a6682aa4..10364bd81da 100755
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
+diff --git a/gdbsupport/Makefile.in b/gdbsupport/Makefile.in
+index bdceff3b56a..6aadae41031 100644
+--- a/gdbsupport/Makefile.in
++++ b/gdbsupport/Makefile.in
+@@ -233,6 +233,7 @@ CATOBJEXT = @CATOBJEXT@
+ CC = @CC@
+ CCDEPMODE = @CCDEPMODE@
+ CFLAGS = @CFLAGS@
++CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CXX = @CXX@
+diff --git a/gprof/Makefile.in b/gprof/Makefile.in
+index 5ef5ece74a9..9d7ce8b62b2 100644
+--- a/gprof/Makefile.in
++++ b/gprof/Makefile.in
+@@ -321,6 +321,7 @@ CYGPATH_W = @CYGPATH_W@
+ DATADIRNAME = @DATADIRNAME@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -352,6 +353,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ MKINSTALLDIRS = @MKINSTALLDIRS@
+ MSGFMT = @MSGFMT@
+@@ -387,6 +389,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
diff --git a/gprof/configure b/gprof/configure
-index a7f788f0411..e7703613024 100755
+index 5a59f1c1d0e..2506887d3b0 100755
--- a/gprof/configure
+++ b/gprof/configure
@@ -663,8 +663,11 @@ OTOOL
@@ -5835,7 +5978,7 @@ index a7f788f0411..e7703613024 100755
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -5238,8 +5244,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -5244,8 +5250,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -5846,7 +5989,7 @@ index a7f788f0411..e7703613024 100755
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -5288,6 +5294,80 @@ esac
+@@ -5294,6 +5300,80 @@ esac
@@ -5927,7 +6070,7 @@ index a7f788f0411..e7703613024 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -5304,6 +5384,11 @@ case $reload_flag in
+@@ -5310,6 +5390,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -5939,7 +6082,7 @@ index a7f788f0411..e7703613024 100755
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -5472,7 +5557,8 @@ mingw* | pw32*)
+@@ -5478,7 +5563,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -5949,7 +6092,7 @@ index a7f788f0411..e7703613024 100755
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -5626,6 +5712,21 @@ esac
+@@ -5632,6 +5718,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -5971,7 +6114,7 @@ index a7f788f0411..e7703613024 100755
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -5641,6 +5742,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -5647,6 +5748,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -6129,7 +6272,7 @@ index a7f788f0411..e7703613024 100755
plugin_option=
plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
for plugin in $plugin_names; do
-@@ -5655,8 +5907,10 @@ for plugin in $plugin_names; do
+@@ -5661,8 +5913,10 @@ for plugin in $plugin_names; do
done
if test -n "$ac_tool_prefix"; then
@@ -6142,7 +6285,7 @@ index a7f788f0411..e7703613024 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -5672,7 +5926,7 @@ do
+@@ -5678,7 +5932,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -6151,7 +6294,7 @@ index a7f788f0411..e7703613024 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -5692,11 +5946,15 @@ $as_echo "no" >&6; }
+@@ -5698,11 +5952,15 @@ $as_echo "no" >&6; }
fi
@@ -6170,7 +6313,7 @@ index a7f788f0411..e7703613024 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -5712,7 +5970,7 @@ do
+@@ -5718,7 +5976,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -6179,7 +6322,7 @@ index a7f788f0411..e7703613024 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -5731,6 +5989,10 @@ else
+@@ -5737,6 +5995,10 @@ else
$as_echo "no" >&6; }
fi
@@ -6190,7 +6333,7 @@ index a7f788f0411..e7703613024 100755
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -5742,25 +6004,19 @@ ac_tool_warned=yes ;;
+@@ -5748,25 +6010,19 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -6225,7 +6368,7 @@ index a7f788f0411..e7703613024 100755
-@@ -5772,6 +6028,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -5778,6 +6034,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
@@ -6290,7 +6433,7 @@ index a7f788f0411..e7703613024 100755
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-@@ -6111,8 +6425,8 @@ esac
+@@ -6117,8 +6431,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -6301,7 +6444,7 @@ index a7f788f0411..e7703613024 100755
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -6148,6 +6462,7 @@ for ac_symprfx in "" "_"; do
+@@ -6154,6 +6468,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -6309,7 +6452,7 @@ index a7f788f0411..e7703613024 100755
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -6189,6 +6504,18 @@ _LT_EOF
+@@ -6195,6 +6510,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -6328,7 +6471,7 @@ index a7f788f0411..e7703613024 100755
#ifdef __cplusplus
extern "C" {
#endif
-@@ -6200,7 +6527,7 @@ _LT_EOF
+@@ -6206,7 +6533,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -6337,7 +6480,7 @@ index a7f788f0411..e7703613024 100755
const char *name;
void *address;
}
-@@ -6226,8 +6553,8 @@ static const void *lt_preloaded_setup() {
+@@ -6232,8 +6559,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -6348,7 +6491,7 @@ index a7f788f0411..e7703613024 100755
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -6237,8 +6564,8 @@ _LT_EOF
+@@ -6243,8 +6570,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -6359,7 +6502,7 @@ index a7f788f0411..e7703613024 100755
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -6275,6 +6602,18 @@ else
+@@ -6281,6 +6608,18 @@ else
$as_echo "ok" >&6; }
fi
@@ -6378,7 +6521,7 @@ index a7f788f0411..e7703613024 100755
-@@ -6291,6 +6630,43 @@ fi
+@@ -6297,6 +6636,43 @@ fi
@@ -6422,7 +6565,1935 @@ index a7f788f0411..e7703613024 100755
-@@ -6502,6 +6878,123 @@ esac
+@@ -6508,6 +6884,123 @@ esac
+
+ need_locks="$enable_libtool_lock"
+
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
++set dummy ${ac_tool_prefix}mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$MANIFEST_TOOL"; then
++ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
++if test -n "$MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
++$as_echo "$MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
++ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
++ # Extract the first word of "mt", so it can be a program name with args.
++set dummy mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_MANIFEST_TOOL"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
++if test -n "$ac_ct_MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
++$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_MANIFEST_TOOL" = x; then
++ MANIFEST_TOOL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
++ fi
++else
++ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
++fi
++
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
++$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
++if ${lt_cv_path_mainfest_tool+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_path_mainfest_tool=no
++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++ cat conftest.err >&5
++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++ lt_cv_path_mainfest_tool=yes
++ fi
++ rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
++$as_echo "$lt_cv_path_mainfest_tool" >&6; }
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++ MANIFEST_TOOL=:
++fi
++
++
++
++
++
+
+ case $host_os in
+ rhapsody* | darwin*)
+@@ -7071,6 +7564,8 @@ _LT_EOF
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
++ echo "$RANLIB libconftest.a" >&5
++ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+ int main() { return 0;}
+ _LT_EOF
+@@ -7653,8 +8148,6 @@ fi
+ lt_prog_compiler_pic=
+ lt_prog_compiler_static=
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+@@ -7820,6 +8313,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
++ nagfor*)
++ # NAG Fortran compiler
++ lt_prog_compiler_wl='-Wl,-Wl,,'
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+@@ -7882,7 +8381,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+- f77* | f90* | f95*)
++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+@@ -7939,13 +8438,17 @@ case $host_os in
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+ esac
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+-$as_echo "$lt_prog_compiler_pic" >&6; }
+-
+-
+-
+-
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++if ${lt_cv_prog_compiler_pic+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
++$as_echo "$lt_cv_prog_compiler_pic" >&6; }
++lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -8006,6 +8509,11 @@ fi
+
+
+
++
++
++
++
++
+ #
+ # Check to make sure the static flag actually works.
+ #
+@@ -8356,7 +8864,8 @@ _LT_EOF
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+@@ -8455,12 +8964,12 @@ _LT_EOF
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+@@ -8474,8 +8983,8 @@ _LT_EOF
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+@@ -8493,8 +9002,8 @@ _LT_EOF
+
+ _LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -8540,8 +9049,8 @@ _LT_EOF
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -8671,7 +9180,13 @@ _LT_EOF
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if ${lt_cv_aix_libpath_+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -8684,22 +9199,29 @@ main ()
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+@@ -8711,7 +9233,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if ${lt_cv_aix_libpath_+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -8724,22 +9252,29 @@ main ()
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+@@ -8784,20 +9319,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+- hardcode_libdir_flag_spec=' '
+- allow_undefined_flag=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- old_archive_from_new_cmds='true'
+- # FIXME: Should let the user specify the lib program.
+- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+- fix_srcfile_path='`cygpath -w "$srcfile"`'
+- enable_shared_with_static_runtimes=yes
++ case $cc_basename in
++ cl*)
++ # Native MSVC
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ file_list_spec='@'
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ # Don't use ranlib
++ old_postinstall_cmds='chmod 644 $oldlib'
++ postlink_cmds='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # Assume MSVC wrapper
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ enable_shared_with_static_runtimes=yes
++ ;;
++ esac
+ ;;
+
+ darwin* | rhapsody*)
+@@ -8858,7 +9436,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+@@ -8866,7 +9444,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hpux9*)
+ if test "$GCC" = yes; then
+- archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+@@ -8882,7 +9460,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+@@ -8906,10 +9484,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+@@ -8988,23 +9566,36 @@ fi
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ # This should be the same for all languages, so no per-tag cache variable.
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
++$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
++if ${lt_cv_irix_exported_symbol+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-int foo(void) {}
++int foo (void) { return 0; }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+-
++ lt_cv_irix_exported_symbol=yes
++else
++ lt_cv_irix_exported_symbol=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+- LDFLAGS="$save_LDFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
++$as_echo "$lt_cv_irix_exported_symbol" >&6; }
++ if test "$lt_cv_irix_exported_symbol" = yes; then
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+@@ -9089,7 +9680,7 @@ rm -f core conftest.err conftest.$ac_objext \
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+@@ -9108,9 +9699,9 @@ rm -f core conftest.err conftest.$ac_objext \
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+@@ -9686,8 +10277,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -9720,13 +10312,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -10604,7 +11254,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 10607 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -10648,10 +11298,10 @@ else
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -10710,7 +11360,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 10713 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -10754,10 +11404,10 @@ else
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -12777,13 +13427,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+ lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+ lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+ lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+ reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+ reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+ OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+ deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+ file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
++file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
++want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
++DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
++sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+ AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+ AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
++archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+ STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+ RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+ old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+@@ -12798,14 +13455,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+ lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
++nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
++lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+ objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+ MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+ lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+ need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
++MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+ DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+ NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+ LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+@@ -12838,12 +13498,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+ hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+ inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+ link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
+ always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+ export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+ exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+ include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+ prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
++postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+ file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+ variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+ need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+@@ -12898,8 +13558,13 @@ reload_flag \
+ OBJDUMP \
+ deplibs_check_method \
+ file_magic_cmd \
++file_magic_glob \
++want_nocaseglob \
++DLLTOOL \
++sharedlib_from_linklib_cmd \
+ AR \
+ AR_FLAGS \
++archiver_list_spec \
+ STRIP \
+ RANLIB \
+ CC \
+@@ -12909,12 +13574,14 @@ lt_cv_sys_global_symbol_pipe \
+ lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++nm_file_list_spec \
+ lt_prog_compiler_no_builtin_flag \
+-lt_prog_compiler_wl \
+ lt_prog_compiler_pic \
++lt_prog_compiler_wl \
+ lt_prog_compiler_static \
+ lt_cv_prog_compiler_c_o \
+ need_locks \
++MANIFEST_TOOL \
+ DSYMUTIL \
+ NMEDIT \
+ LIPO \
+@@ -12930,7 +13597,6 @@ no_undefined_flag \
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+-fix_srcfile_path \
+ exclude_expsyms \
+ include_expsyms \
+ file_list_spec \
+@@ -12966,6 +13632,7 @@ module_cmds \
+ module_expsym_cmds \
+ export_symbols_cmds \
+ prelink_cmds \
++postlink_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ finish_cmds \
+@@ -13731,7 +14398,8 @@ $as_echo X"$file" |
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+ #
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is part of GNU Libtool.
+@@ -13834,19 +14502,42 @@ SP2NL=$lt_lt_SP2NL
+ # turn newlines into spaces.
+ NL2SP=$lt_lt_NL2SP
+
++# convert \$build file names to \$host format.
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++
++# convert \$build files to toolchain format.
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++
+ # An object symbol dumper.
+ OBJDUMP=$lt_OBJDUMP
+
+ # Method to check whether dependent libraries are shared objects.
+ deplibs_check_method=$lt_deplibs_check_method
+
+-# Command to use when deplibs_check_method == "file_magic".
++# Command to use when deplibs_check_method = "file_magic".
+ file_magic_cmd=$lt_file_magic_cmd
+
++# How to find potential files when deplibs_check_method = "file_magic".
++file_magic_glob=$lt_file_magic_glob
++
++# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
++want_nocaseglob=$lt_want_nocaseglob
++
++# DLL creation program.
++DLLTOOL=$lt_DLLTOOL
++
++# Command to associate shared and link libraries.
++sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
++
+ # The archiver.
+ AR=$lt_AR
++
++# Flags to create an archive.
+ AR_FLAGS=$lt_AR_FLAGS
+
++# How to feed a file listing to the archiver.
++archiver_list_spec=$lt_archiver_list_spec
++
+ # A symbol stripping program.
+ STRIP=$lt_STRIP
+
+@@ -13876,6 +14567,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+ # Transform the output of nm in a C name address pair when lib prefix is needed.
+ global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
++# Specify filename containing input files for \$NM.
++nm_file_list_spec=$lt_nm_file_list_spec
++
++# The root where to search for dependent libraries,and in which our libraries should be installed.
++lt_sysroot=$lt_sysroot
++
+ # The name of the directory that contains temporary libtool files.
+ objdir=$objdir
+
+@@ -13885,6 +14582,9 @@ MAGIC_CMD=$MAGIC_CMD
+ # Must we lock files when doing compilation?
+ need_locks=$lt_need_locks
+
++# Manifest tool.
++MANIFEST_TOOL=$lt_MANIFEST_TOOL
++
+ # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+ DSYMUTIL=$lt_DSYMUTIL
+
+@@ -13999,12 +14699,12 @@ with_gcc=$GCC
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl
+-
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic
+
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static
+
+@@ -14091,9 +14791,6 @@ inherit_rpath=$inherit_rpath
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path=$lt_fix_srcfile_path
+-
+ # Set to "yes" if exported symbols are required.
+ always_export_symbols=$always_export_symbols
+
+@@ -14109,6 +14806,9 @@ include_expsyms=$lt_include_expsyms
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds
+
++# Commands necessary for finishing linking programs.
++postlink_cmds=$lt_postlink_cmds
++
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec
+
+@@ -14141,210 +14841,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- case $xsi_shell in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_dirname_and_basename file append nondir_replacement
+-# perform func_basename and func_dirname in a single function
+-# call:
+-# dirname: Compute the dirname of FILE. If nonempty,
+-# add APPEND to the result, otherwise set result
+-# to NONDIR_REPLACEMENT.
+-# value returned in "$func_dirname_result"
+-# basename: Compute filename of FILE.
+-# value retuned in "$func_basename_result"
+-# Implementation must be kept synchronized with func_dirname
+-# and func_basename. For efficiency, we do not delegate to
+-# those functions but instead duplicate the functionality here.
+-func_dirname_and_basename ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-func_stripname ()
+-{
+- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+- # positional parameters, so assign one to ordinary parameter first.
+- func_stripname_result=${3}
+- func_stripname_result=${func_stripname_result#"${1}"}
+- func_stripname_result=${func_stripname_result%"${2}"}
+-}
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=${1%%=*}
+- func_opt_split_arg=${1#*=}
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- case ${1} in
+- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+- *) func_lo2o_result=${1} ;;
+- esac
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=${1%.*}.lo
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=$(( $* ))
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=${#1}
+-}
+-
+-_LT_EOF
+- ;;
+- *) # Bourne compatible functions.
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- # Extract subdirectory from the argument.
+- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+- if test "X$func_dirname_result" = "X${1}"; then
+- func_dirname_result="${3}"
+- else
+- func_dirname_result="$func_dirname_result${2}"
+- fi
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+-}
+-
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-# func_strip_suffix prefix name
+-func_stripname ()
+-{
+- case ${2} in
+- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+- esac
+-}
+-
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[^=]*=//'
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+- func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=`expr "$@"`
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+-}
+-
+-_LT_EOF
+-esac
+-
+-case $lt_shell_append in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1+=\$2"
+-}
+-_LT_EOF
+- ;;
+- *)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1=\$$1\$2"
+-}
+-
+-_LT_EOF
+- ;;
+- esac
+-
+-
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" ||
++ sed '$q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
++
++ if test x"$xsi_shell" = xyes; then
++ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
++func_dirname ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_basename ()$/,/^} # func_basename /c\
++func_basename ()\
++{\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
++func_dirname_and_basename ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
++func_stripname ()\
++{\
++\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
++\ # positional parameters, so assign one to ordinary parameter first.\
++\ func_stripname_result=${3}\
++\ func_stripname_result=${func_stripname_result#"${1}"}\
++\ func_stripname_result=${func_stripname_result%"${2}"}\
++} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
++func_split_long_opt ()\
++{\
++\ func_split_long_opt_name=${1%%=*}\
++\ func_split_long_opt_arg=${1#*=}\
++} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
++func_split_short_opt ()\
++{\
++\ func_split_short_opt_arg=${1#??}\
++\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
++} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
++func_lo2o ()\
++{\
++\ case ${1} in\
++\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
++\ *) func_lo2o_result=${1} ;;\
++\ esac\
++} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_xform ()$/,/^} # func_xform /c\
++func_xform ()\
++{\
++ func_xform_result=${1%.*}.lo\
++} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_arith ()$/,/^} # func_arith /c\
++func_arith ()\
++{\
++ func_arith_result=$(( $* ))\
++} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_len ()$/,/^} # func_len /c\
++func_len ()\
++{\
++ func_len_result=${#1}\
++} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++fi
++
++if test x"$lt_shell_append" = xyes; then
++ sed -e '/^func_append ()$/,/^} # func_append /c\
++func_append ()\
++{\
++ eval "${1}+=\\${2}"\
++} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
++func_append_quoted ()\
++{\
++\ func_quote_for_eval "${2}"\
++\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
++} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ # Save a `func_append' function call where possible by direct use of '+='
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++else
++ # Save a `func_append' function call even when '+=' is not available
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++fi
++
++if test x"$_lt_function_replace_fail" = x":"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
++$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
++fi
++
++
++ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+diff --git a/gprofng/Makefile.in b/gprofng/Makefile.in
+index fd5279b4df1..6e74c7b302a 100644
+--- a/gprofng/Makefile.in
++++ b/gprofng/Makefile.in
+@@ -253,6 +253,7 @@ CXXFLAGS = @CXXFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -290,6 +291,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+diff --git a/gprofng/configure b/gprofng/configure
+index ac14d126ac0..f8d7685a72e 100755
+--- a/gprofng/configure
++++ b/gprofng/configure
+@@ -672,6 +672,8 @@ OTOOL
+ LIPO
+ NMEDIT
+ DSYMUTIL
++MANIFEST_TOOL
++DLLTOOL
+ OBJDUMP
+ LN_S
+ NM
+@@ -802,6 +804,7 @@ enable_static
+ with_pic
+ enable_fast_install
+ with_gnu_ld
++with_libtool_sysroot
+ enable_libtool_lock
+ enable_werror_always
+ enable_gprofng_tools
+@@ -1465,6 +1468,8 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
++ (or the compiler's sysroot if not specified).
+ --with-jdk=PATH specify prefix directory for installed JDK.
+ --with-system-zlib use installed libz
+
+@@ -6156,8 +6161,8 @@ esac
+
+
+
+-macro_version='2.2.7a'
+-macro_revision='1.3134'
++macro_version='2.4'
++macro_revision='1.3293'
+
+
+
+@@ -6197,7 +6202,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+ $as_echo_n "checking how to print strings... " >&6; }
+ # Test print first, because it will be a builtin if present.
+-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+ elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+@@ -6890,8 +6895,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+ # Try some XSI features
+ xsi_shell=no
+ ( _lt_dummy="a/b/c"
+- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+- = c,a/b,, \
++ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+@@ -6940,6 +6945,80 @@ esac
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
++$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
++if ${lt_cv_to_host_file_cmd+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
++ ;;
++ esac
++ ;;
++ *-*-cygwin* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
++ ;;
++ esac
++ ;;
++ * ) # unhandled hosts (and "normal" native builds)
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++esac
++
++fi
++
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
++$as_echo "$lt_cv_to_host_file_cmd" >&6; }
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
++$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
++if ${lt_cv_to_tool_file_cmd+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ #assume ordinary cross tools, or native build.
++lt_cv_to_tool_file_cmd=func_convert_file_noop
++case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ esac
++ ;;
++esac
++
++fi
++
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
++$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
++
++
++
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+ $as_echo_n "checking for $LD option to reload object files... " >&6; }
+ if ${lt_cv_ld_reload_flag+:} false; then :
+@@ -6956,6 +7035,11 @@ case $reload_flag in
+ esac
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ if test "$GCC" != yes; then
++ reload_cmds=false
++ fi
++ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+@@ -7124,7 +7208,8 @@ mingw* | pw32*)
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ # Keep this pattern in sync with the one in func_win32_libid.
++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+@@ -7278,6 +7363,21 @@ esac
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+ $as_echo "$lt_cv_deplibs_check_method" >&6; }
++
++file_magic_glob=
++want_nocaseglob=no
++if test "$build" = "$host"; then
++ case $host_os in
++ mingw* | pw32*)
++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
++ want_nocaseglob=yes
++ else
++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
++ fi
++ ;;
++ esac
++fi
++
+ file_magic_cmd=$lt_cv_file_magic_cmd
+ deplibs_check_method=$lt_cv_deplibs_check_method
+ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -7293,6 +7393,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
++
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_DLLTOOL+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$DLLTOOL"; then
++ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++DLLTOOL=$ac_cv_prog_DLLTOOL
++if test -n "$DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
++$as_echo "$DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DLLTOOL"; then
++ ac_ct_DLLTOOL=$DLLTOOL
++ # Extract the first word of "dlltool", so it can be a program name with args.
++set dummy dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_DLLTOOL"; then
++ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
++if test -n "$ac_ct_DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
++$as_echo "$ac_ct_DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_DLLTOOL" = x; then
++ DLLTOOL="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ DLLTOOL=$ac_ct_DLLTOOL
++ fi
++else
++ DLLTOOL="$ac_cv_prog_DLLTOOL"
++fi
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
++$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
++if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_sharedlib_from_linklib_cmd='unknown'
++
++case $host_os in
++cygwin* | mingw* | pw32* | cegcc*)
++ # two different shell functions defined in ltmain.sh
++ # decide which to use based on capabilities of $DLLTOOL
++ case `$DLLTOOL --help 2>&1` in
++ *--identify-strict*)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
++ ;;
++ *)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
++ ;;
++ esac
++ ;;
++*)
++ # fallback: assume linklib IS sharedlib
++ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
++ ;;
++esac
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
++$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
++
++
++
++
++
++
++
+ plugin_option=
+ plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
+ for plugin in $plugin_names; do
+@@ -7307,8 +7558,10 @@ for plugin in $plugin_names; do
+ done
+
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
++ for ac_prog in ar
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if ${ac_cv_prog_AR+:} false; then :
+@@ -7324,7 +7577,7 @@ do
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_AR="${ac_tool_prefix}ar"
++ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -7344,11 +7597,15 @@ $as_echo "no" >&6; }
+ fi
+
+
++ test -n "$AR" && break
++ done
+ fi
+-if test -z "$ac_cv_prog_AR"; then
++if test -z "$AR"; then
+ ac_ct_AR=$AR
+- # Extract the first word of "ar", so it can be a program name with args.
+-set dummy ar; ac_word=$2
++ for ac_prog in ar
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if ${ac_cv_prog_ac_ct_AR+:} false; then :
+@@ -7364,7 +7621,7 @@ do
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_ac_ct_AR="ar"
++ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -7383,6 +7640,10 @@ else
+ $as_echo "no" >&6; }
+ fi
+
++
++ test -n "$ac_ct_AR" && break
++done
++
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+@@ -7394,29 +7655,81 @@ ac_tool_warned=yes ;;
+ esac
+ AR=$ac_ct_AR
+ fi
+-else
+- AR="$ac_cv_prog_AR"
+ fi
+
+-test -z "$AR" && AR=ar
+-if test -n "$plugin_option"; then
+- if $AR --help 2>&1 | grep -q "\--plugin"; then
+- touch conftest.c
+- $AR $plugin_option rc conftest.a conftest.c
+- if test "$?" != 0; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed: $AR $plugin_option rc" >&5
++ touch conftest.c
++ $AR $plugin_option rc conftest.a conftest.c
++ if test "$?" != 0; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed: $AR $plugin_option rc" >&5
+ $as_echo "$as_me: WARNING: Failed: $AR $plugin_option rc" >&2;}
+- else
+- AR="$AR $plugin_option"
+- fi
+- rm -f conftest.*
++ else
++ AR="$AR $plugin_option"
+ fi
+-fi
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
++ rm -f conftest.*
++: ${AR=ar}
++: ${AR_FLAGS=cru}
++
++
++
++
++
++
++
+
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
++$as_echo_n "checking for archiver @FILE support... " >&6; }
++if ${lt_cv_ar_at_file+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ar_at_file=no
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ echo conftest.$ac_objext > conftest.lst
++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -eq 0; then
++ # Ensure the archiver fails upon bogus file names.
++ rm -f conftest.$ac_objext libconftest.a
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -ne 0; then
++ lt_cv_ar_at_file=@
++ fi
++ fi
++ rm -f conftest.* libconftest.a
++
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
++$as_echo "$lt_cv_ar_at_file" >&6; }
++
++if test "x$lt_cv_ar_at_file" = xno; then
++ archiver_list_spec=
++else
++ archiver_list_spec=$lt_cv_ar_at_file
++fi
+
+
+
+@@ -7763,8 +8076,8 @@ esac
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+ # Transform an extracted symbol line into symbol name and symbol address
+-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+ # Handle CRLF in mingw tool chain
+ opt_cr=
+@@ -7800,6 +8113,7 @@ for ac_symprfx in "" "_"; do
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+@@ -7841,6 +8155,18 @@ _LT_EOF
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT_DLSYM_CONST
++#else
++# define LT_DLSYM_CONST const
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -7852,7 +8178,7 @@ _LT_EOF
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+ /* The mapping between symbol names and symbols. */
+-const struct {
++LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+ }
+@@ -7878,8 +8204,8 @@ static const void *lt_preloaded_setup() {
+ _LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+- lt_save_LIBS="$LIBS"
+- lt_save_CFLAGS="$CFLAGS"
++ lt_globsym_save_LIBS=$LIBS
++ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+@@ -7889,8 +8215,8 @@ _LT_EOF
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+- LIBS="$lt_save_LIBS"
+- CFLAGS="$lt_save_CFLAGS"
++ LIBS=$lt_globsym_save_LIBS
++ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+@@ -7927,6 +8253,13 @@ else
+ $as_echo "ok" >&6; }
+ fi
+
++# Response file support.
++if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ nm_file_list_spec='@'
++elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
++ nm_file_list_spec='@'
++fi
++
+
+
+
+@@ -7946,6 +8279,48 @@ fi
+
+
+
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
++$as_echo_n "checking for sysroot... " >&6; }
++
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
++else
++ with_libtool_sysroot=no
++fi
++
++
++lt_sysroot=
++case ${with_libtool_sysroot} in #(
++ yes)
++ if test "$GCC" = yes; then
++ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++ fi
++ ;; #(
++ /*)
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
++ ;; #(
++ no|'')
++ ;; #(
++ *)
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
++ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
++ ;;
++esac
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
++$as_echo "${lt_sysroot:-no}" >&6; }
++
++
++
+
+
+ # Check whether --enable-libtool-lock was given.
+@@ -8154,6 +8529,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -6546,7 +8617,7 @@ index a7f788f0411..e7703613024 100755
case $host_os in
rhapsody* | darwin*)
-@@ -7065,6 +7558,8 @@ _LT_EOF
+@@ -8717,6 +9209,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -6555,7 +8626,24 @@ index a7f788f0411..e7703613024 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7647,8 +8142,6 @@ fi
+@@ -8785,6 +9279,16 @@ done
+
+
+
++func_stripname_cnf ()
++{
++ case ${2} in
++ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
++ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
++ esac
++} # func_stripname_cnf
++
++
++
+
+
+ # Set options
+@@ -9270,8 +9774,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -6564,7 +8652,7 @@ index a7f788f0411..e7703613024 100755
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -7814,6 +8307,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -9437,6 +9939,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -6577,7 +8665,7 @@ index a7f788f0411..e7703613024 100755
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -7876,7 +8375,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -9499,7 +10007,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -6586,7 +8674,7 @@ index a7f788f0411..e7703613024 100755
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -7933,13 +8432,17 @@ case $host_os in
+@@ -9556,13 +10064,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -6610,7 +8698,7 @@ index a7f788f0411..e7703613024 100755
#
# Check to make sure the PIC flag actually works.
-@@ -8000,6 +8503,11 @@ fi
+@@ -9623,6 +10135,11 @@ fi
@@ -6622,7 +8710,7 @@ index a7f788f0411..e7703613024 100755
#
# Check to make sure the static flag actually works.
#
-@@ -8350,7 +8858,8 @@ _LT_EOF
+@@ -9973,7 +10490,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -6632,7 +8720,7 @@ index a7f788f0411..e7703613024 100755
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -8449,12 +8958,12 @@ _LT_EOF
+@@ -10072,12 +10590,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -6647,7 +8735,7 @@ index a7f788f0411..e7703613024 100755
fi
;;
esac
-@@ -8468,8 +8977,8 @@ _LT_EOF
+@@ -10091,8 +10609,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -6658,7 +8746,7 @@ index a7f788f0411..e7703613024 100755
fi
;;
-@@ -8487,8 +8996,8 @@ _LT_EOF
+@@ -10110,8 +10628,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -6669,7 +8757,7 @@ index a7f788f0411..e7703613024 100755
else
ld_shlibs=no
fi
-@@ -8534,8 +9043,8 @@ _LT_EOF
+@@ -10157,8 +10675,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -6680,7 +8768,7 @@ index a7f788f0411..e7703613024 100755
else
ld_shlibs=no
fi
-@@ -8665,7 +9174,13 @@ _LT_EOF
+@@ -10288,7 +10806,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -6695,7 +8783,7 @@ index a7f788f0411..e7703613024 100755
/* end confdefs.h. */
int
-@@ -8678,22 +9193,29 @@ main ()
+@@ -10301,22 +10825,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -6738,7 +8826,7 @@ index a7f788f0411..e7703613024 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -8705,7 +9227,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10328,7 +10859,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -6753,7 +8841,7 @@ index a7f788f0411..e7703613024 100755
/* end confdefs.h. */
int
-@@ -8718,22 +9246,29 @@ main ()
+@@ -10341,22 +10878,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -6796,7 +8884,7 @@ index a7f788f0411..e7703613024 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -8778,20 +9313,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10401,20 +10945,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -6874,7 +8962,2667 @@ index a7f788f0411..e7703613024 100755
;;
darwin* | rhapsody*)
-@@ -8852,7 +9430,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10475,7 +11062,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+@@ -10483,7 +11070,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hpux9*)
+ if test "$GCC" = yes; then
+- archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+@@ -10499,7 +11086,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+@@ -10523,10 +11110,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+@@ -10605,23 +11192,36 @@ fi
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ # This should be the same for all languages, so no per-tag cache variable.
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
++$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
++if ${lt_cv_irix_exported_symbol+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-int foo(void) {}
++int foo (void) { return 0; }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+-
++ lt_cv_irix_exported_symbol=yes
++else
++ lt_cv_irix_exported_symbol=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+- LDFLAGS="$save_LDFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
++$as_echo "$lt_cv_irix_exported_symbol" >&6; }
++ if test "$lt_cv_irix_exported_symbol" = yes; then
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+@@ -10706,7 +11306,7 @@ rm -f core conftest.err conftest.$ac_objext \
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+@@ -10725,9 +11325,9 @@ rm -f core conftest.err conftest.$ac_objext \
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+@@ -11303,8 +11903,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -11337,13 +11938,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -12221,7 +12880,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 12224 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -12265,10 +12924,10 @@ else
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -12327,7 +12986,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 12330 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -12371,10 +13030,10 @@ else
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -12766,6 +13425,7 @@ $RM -r conftest*
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
++ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+@@ -12783,6 +13443,7 @@ $RM -r conftest*
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
++ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ compiler_CXX=$CC
+ for cc_temp in $compiler""; do
+@@ -13065,7 +13726,13 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+ allow_undefined_flag_CXX='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if ${lt_cv_aix_libpath__CXX+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -13078,22 +13745,29 @@ main ()
+ _ACEOF
+ if ac_fn_cxx_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath__CXX"; then
++ lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath__CXX"; then
++ lt_cv_aix_libpath__CXX="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath__CXX
++fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+@@ -13106,7 +13780,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if ${lt_cv_aix_libpath__CXX+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -13119,22 +13799,29 @@ main ()
+ _ACEOF
+ if ac_fn_cxx_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath__CXX"; then
++ lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath__CXX"; then
++ lt_cv_aix_libpath__CXX="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath__CXX
++fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+@@ -13177,29 +13864,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+- # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+- # as there is no search path for DLLs.
+- hardcode_libdir_flag_spec_CXX='-L$libdir'
+- export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
+- allow_undefined_flag_CXX=unsupported
+- always_export_symbols_CXX=no
+- enable_shared_with_static_runtimes_CXX=yes
+-
+- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- # If the export-symbols file already is a .def file (1st line
+- # is EXPORTS), use it as is; otherwise, prepend...
+- archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+- cp $export_symbols $output_objdir/$soname.def;
+- else
+- echo EXPORTS > $output_objdir/$soname.def;
+- cat $export_symbols >> $output_objdir/$soname.def;
+- fi~
+- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- else
+- ld_shlibs_CXX=no
+- fi
+- ;;
++ case $GXX,$cc_basename in
++ ,cl* | no,cl*)
++ # Native MSVC
++ # hardcode_libdir_flag_spec is actually meaningless, as there is
++ # no search path for DLLs.
++ hardcode_libdir_flag_spec_CXX=' '
++ allow_undefined_flag_CXX=unsupported
++ always_export_symbols_CXX=yes
++ file_list_spec_CXX='@'
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
++ enable_shared_with_static_runtimes_CXX=yes
++ # Don't use ranlib
++ old_postinstall_cmds_CXX='chmod 644 $oldlib'
++ postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ func_to_tool_file "$lt_outputfile"~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # g++
++ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
++ # as there is no search path for DLLs.
++ hardcode_libdir_flag_spec_CXX='-L$libdir'
++ export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
++ allow_undefined_flag_CXX=unsupported
++ always_export_symbols_CXX=no
++ enable_shared_with_static_runtimes_CXX=yes
++
++ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ # If the export-symbols file already is a .def file (1st line
++ # is EXPORTS), use it as is; otherwise, prepend...
++ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ cp $export_symbols $output_objdir/$soname.def;
++ else
++ echo EXPORTS > $output_objdir/$soname.def;
++ cat $export_symbols >> $output_objdir/$soname.def;
++ fi~
++ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ else
++ ld_shlibs_CXX=no
++ fi
++ ;;
++ esac
++ ;;
+ darwin* | rhapsody*)
+
+
+@@ -13305,7 +14038,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ ;;
+ *)
+ if test "$GXX" = yes; then
+- archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+@@ -13376,10 +14109,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+@@ -13420,9 +14153,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
++ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ fi
+ fi
+ link_all_deplibs_CXX=yes
+@@ -13492,20 +14225,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ prelink_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
++ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ old_archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
++ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+@@ -13700,7 +14433,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+@@ -13746,7 +14479,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ solaris*)
+ case $cc_basename in
+- CC*)
++ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ archive_cmds_need_lc_CXX=yes
+ no_undefined_flag_CXX=' -zdefs'
+@@ -13787,9 +14520,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+- archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
++ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
++ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+@@ -13924,6 +14657,13 @@ private:
+ };
+ _LT_EOF
+
++
++_lt_libdeps_save_CFLAGS=$CFLAGS
++case "$CC $CFLAGS " in #(
++*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
++*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
++esac
++
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+@@ -13937,7 +14677,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+- case $p in
++ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+@@ -13946,13 +14686,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ test $p = "-R"; then
+ prev=$p
+ continue
+- else
+- prev=
+ fi
+
++ # Expand the sysroot to ease extracting the directories later.
++ if test -z "$prev"; then
++ case $p in
++ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
++ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
++ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
++ esac
++ fi
++ case $p in
++ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
++ esac
+ if test "$pre_test_object_deps_done" = no; then
+- case $p in
+- -L* | -R*)
++ case ${prev} in
++ -L | -R)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+@@ -13972,8 +14721,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+ fi
+ fi
++ prev=
+ ;;
+
++ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+@@ -14009,6 +14760,7 @@ else
+ fi
+
+ $RM -f confest.$objext
++CFLAGS=$_lt_libdeps_save_CFLAGS
+
+ # PORTME: override above test on systems where it is broken
+ case $host_os in
+@@ -14044,7 +14796,7 @@ linux*)
+
+ solaris*)
+ case $cc_basename in
+- CC*)
++ CC* | sunCC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+@@ -14109,8 +14861,6 @@ fi
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX=
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+@@ -14215,6 +14965,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+ ;;
+ esac
+ ;;
++ mingw* | cygwin* | os2* | pw32* | cegcc*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
++ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+@@ -14367,7 +15122,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+ ;;
+ solaris*)
+ case $cc_basename in
+- CC*)
++ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+@@ -14432,10 +15187,17 @@ case $host_os in
+ lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+ ;;
+ esac
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5
+-$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
+-
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
++$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
++lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -14493,6 +15255,8 @@ fi
+
+
+
++
++
+ #
+ # Check to make sure the static flag actually works.
+ #
+@@ -14670,6 +15434,7 @@ fi
+ $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ case $host_os in
+ aix[4-9]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+@@ -14684,15 +15449,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+ ;;
+ pw32*)
+ export_symbols_cmds_CXX="$ltdll_cmds"
+- ;;
++ ;;
+ cygwin* | mingw* | cegcc*)
+- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+- ;;
++ case $cc_basename in
++ cl*) ;;
++ *)
++ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
++ ;;
++ esac
++ ;;
+ *)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+- ;;
++ ;;
+ esac
+- exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+ $as_echo "$ld_shlibs_CXX" >&6; }
+@@ -14955,8 +15725,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -14988,13 +15759,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -15534,6 +16363,7 @@ fi
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
++ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+@@ -17663,13 +18493,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+ lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+ lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+ lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+ reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+ reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+ OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+ deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+ file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
++file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
++want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
++DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
++sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+ AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+ AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
++archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+ STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+ RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+ old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+@@ -17684,14 +18521,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+ lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
++nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
++lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+ objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+ MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+ lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+ need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
++MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+ DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+ NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+ LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+@@ -17724,12 +18564,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+ hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+ inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+ link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
+ always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+ export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+ exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+ include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+ prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
++postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+ file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+ variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+ need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+@@ -17768,8 +18608,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote
+ compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
+ GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
+-lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
+ lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
+ archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
+@@ -17796,12 +18636,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_
+ hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
+ inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
+ link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
+-fix_srcfile_path_CXX='`$ECHO "$fix_srcfile_path_CXX" | $SED "$delay_single_quote_subst"`'
+ always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
+ export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+ exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+ include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+ prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
++postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+ file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
+ hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
+ compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
+@@ -17839,8 +18679,13 @@ reload_flag \
+ OBJDUMP \
+ deplibs_check_method \
+ file_magic_cmd \
++file_magic_glob \
++want_nocaseglob \
++DLLTOOL \
++sharedlib_from_linklib_cmd \
+ AR \
+ AR_FLAGS \
++archiver_list_spec \
+ STRIP \
+ RANLIB \
+ CC \
+@@ -17850,12 +18695,14 @@ lt_cv_sys_global_symbol_pipe \
+ lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++nm_file_list_spec \
+ lt_prog_compiler_no_builtin_flag \
+-lt_prog_compiler_wl \
+ lt_prog_compiler_pic \
++lt_prog_compiler_wl \
+ lt_prog_compiler_static \
+ lt_cv_prog_compiler_c_o \
+ need_locks \
++MANIFEST_TOOL \
+ DSYMUTIL \
+ NMEDIT \
+ LIPO \
+@@ -17871,7 +18718,6 @@ no_undefined_flag \
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+-fix_srcfile_path \
+ exclude_expsyms \
+ include_expsyms \
+ file_list_spec \
+@@ -17893,8 +18739,8 @@ LD_CXX \
+ reload_flag_CXX \
+ compiler_CXX \
+ lt_prog_compiler_no_builtin_flag_CXX \
+-lt_prog_compiler_wl_CXX \
+ lt_prog_compiler_pic_CXX \
++lt_prog_compiler_wl_CXX \
+ lt_prog_compiler_static_CXX \
+ lt_cv_prog_compiler_c_o_CXX \
+ export_dynamic_flag_spec_CXX \
+@@ -17906,7 +18752,6 @@ no_undefined_flag_CXX \
+ hardcode_libdir_flag_spec_CXX \
+ hardcode_libdir_flag_spec_ld_CXX \
+ hardcode_libdir_separator_CXX \
+-fix_srcfile_path_CXX \
+ exclude_expsyms_CXX \
+ include_expsyms_CXX \
+ file_list_spec_CXX \
+@@ -17940,6 +18785,7 @@ module_cmds \
+ module_expsym_cmds \
+ export_symbols_cmds \
+ prelink_cmds \
++postlink_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ finish_cmds \
+@@ -17954,7 +18800,8 @@ archive_expsym_cmds_CXX \
+ module_cmds_CXX \
+ module_expsym_cmds_CXX \
+ export_symbols_cmds_CXX \
+-prelink_cmds_CXX; do
++prelink_cmds_CXX \
++postlink_cmds_CXX; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+@@ -18711,7 +19558,8 @@ $as_echo X"$file" |
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+ #
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is part of GNU Libtool.
+@@ -18814,19 +19662,42 @@ SP2NL=$lt_lt_SP2NL
+ # turn newlines into spaces.
+ NL2SP=$lt_lt_NL2SP
+
++# convert \$build file names to \$host format.
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++
++# convert \$build files to toolchain format.
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++
+ # An object symbol dumper.
+ OBJDUMP=$lt_OBJDUMP
+
+ # Method to check whether dependent libraries are shared objects.
+ deplibs_check_method=$lt_deplibs_check_method
+
+-# Command to use when deplibs_check_method == "file_magic".
++# Command to use when deplibs_check_method = "file_magic".
+ file_magic_cmd=$lt_file_magic_cmd
+
++# How to find potential files when deplibs_check_method = "file_magic".
++file_magic_glob=$lt_file_magic_glob
++
++# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
++want_nocaseglob=$lt_want_nocaseglob
++
++# DLL creation program.
++DLLTOOL=$lt_DLLTOOL
++
++# Command to associate shared and link libraries.
++sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
++
+ # The archiver.
+ AR=$lt_AR
++
++# Flags to create an archive.
+ AR_FLAGS=$lt_AR_FLAGS
+
++# How to feed a file listing to the archiver.
++archiver_list_spec=$lt_archiver_list_spec
++
+ # A symbol stripping program.
+ STRIP=$lt_STRIP
+
+@@ -18856,6 +19727,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+ # Transform the output of nm in a C name address pair when lib prefix is needed.
+ global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
++# Specify filename containing input files for \$NM.
++nm_file_list_spec=$lt_nm_file_list_spec
++
++# The root where to search for dependent libraries,and in which our libraries should be installed.
++lt_sysroot=$lt_sysroot
++
+ # The name of the directory that contains temporary libtool files.
+ objdir=$objdir
+
+@@ -18865,6 +19742,9 @@ MAGIC_CMD=$MAGIC_CMD
+ # Must we lock files when doing compilation?
+ need_locks=$lt_need_locks
+
++# Manifest tool.
++MANIFEST_TOOL=$lt_MANIFEST_TOOL
++
+ # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+ DSYMUTIL=$lt_DSYMUTIL
+
+@@ -18979,12 +19859,12 @@ with_gcc=$GCC
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl
+-
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic
+
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static
+
+@@ -19071,9 +19951,6 @@ inherit_rpath=$inherit_rpath
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path=$lt_fix_srcfile_path
+-
+ # Set to "yes" if exported symbols are required.
+ always_export_symbols=$always_export_symbols
+
+@@ -19089,6 +19966,9 @@ include_expsyms=$lt_include_expsyms
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds
+
++# Commands necessary for finishing linking programs.
++postlink_cmds=$lt_postlink_cmds
++
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec
+
+@@ -19135,210 +20015,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- case $xsi_shell in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_dirname_and_basename file append nondir_replacement
+-# perform func_basename and func_dirname in a single function
+-# call:
+-# dirname: Compute the dirname of FILE. If nonempty,
+-# add APPEND to the result, otherwise set result
+-# to NONDIR_REPLACEMENT.
+-# value returned in "$func_dirname_result"
+-# basename: Compute filename of FILE.
+-# value retuned in "$func_basename_result"
+-# Implementation must be kept synchronized with func_dirname
+-# and func_basename. For efficiency, we do not delegate to
+-# those functions but instead duplicate the functionality here.
+-func_dirname_and_basename ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-func_stripname ()
+-{
+- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+- # positional parameters, so assign one to ordinary parameter first.
+- func_stripname_result=${3}
+- func_stripname_result=${func_stripname_result#"${1}"}
+- func_stripname_result=${func_stripname_result%"${2}"}
+-}
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=${1%%=*}
+- func_opt_split_arg=${1#*=}
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- case ${1} in
+- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+- *) func_lo2o_result=${1} ;;
+- esac
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=${1%.*}.lo
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=$(( $* ))
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=${#1}
+-}
+-
+-_LT_EOF
+- ;;
+- *) # Bourne compatible functions.
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- # Extract subdirectory from the argument.
+- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+- if test "X$func_dirname_result" = "X${1}"; then
+- func_dirname_result="${3}"
+- else
+- func_dirname_result="$func_dirname_result${2}"
+- fi
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+-}
+-
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-# func_strip_suffix prefix name
+-func_stripname ()
+-{
+- case ${2} in
+- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+- esac
+-}
+-
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[^=]*=//'
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+- func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=`expr "$@"`
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+-}
+-
+-_LT_EOF
+-esac
+-
+-case $lt_shell_append in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1+=\$2"
+-}
+-_LT_EOF
+- ;;
+- *)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1=\$$1\$2"
+-}
+-
+-_LT_EOF
+- ;;
+- esac
+-
+-
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" ||
++ sed '$q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
++
++ if test x"$xsi_shell" = xyes; then
++ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
++func_dirname ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_basename ()$/,/^} # func_basename /c\
++func_basename ()\
++{\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
++func_dirname_and_basename ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
++func_stripname ()\
++{\
++\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
++\ # positional parameters, so assign one to ordinary parameter first.\
++\ func_stripname_result=${3}\
++\ func_stripname_result=${func_stripname_result#"${1}"}\
++\ func_stripname_result=${func_stripname_result%"${2}"}\
++} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
++func_split_long_opt ()\
++{\
++\ func_split_long_opt_name=${1%%=*}\
++\ func_split_long_opt_arg=${1#*=}\
++} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
++func_split_short_opt ()\
++{\
++\ func_split_short_opt_arg=${1#??}\
++\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
++} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
++func_lo2o ()\
++{\
++\ case ${1} in\
++\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
++\ *) func_lo2o_result=${1} ;;\
++\ esac\
++} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_xform ()$/,/^} # func_xform /c\
++func_xform ()\
++{\
++ func_xform_result=${1%.*}.lo\
++} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_arith ()$/,/^} # func_arith /c\
++func_arith ()\
++{\
++ func_arith_result=$(( $* ))\
++} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_len ()$/,/^} # func_len /c\
++func_len ()\
++{\
++ func_len_result=${#1}\
++} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++fi
++
++if test x"$lt_shell_append" = xyes; then
++ sed -e '/^func_append ()$/,/^} # func_append /c\
++func_append ()\
++{\
++ eval "${1}+=\\${2}"\
++} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
++func_append_quoted ()\
++{\
++\ func_quote_for_eval "${2}"\
++\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
++} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ # Save a `func_append' function call where possible by direct use of '+='
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++else
++ # Save a `func_append' function call even when '+=' is not available
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++fi
++
++if test x"$_lt_function_replace_fail" = x":"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
++$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
++fi
++
++
++ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+@@ -19366,12 +20205,12 @@ with_gcc=$GCC_CXX
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl_CXX
+-
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic_CXX
+
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl_CXX
++
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+@@ -19458,9 +20297,6 @@ inherit_rpath=$inherit_rpath_CXX
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs_CXX
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path=$lt_fix_srcfile_path_CXX
+-
+ # Set to "yes" if exported symbols are required.
+ always_export_symbols=$always_export_symbols_CXX
+
+@@ -19476,6 +20312,9 @@ include_expsyms=$lt_include_expsyms_CXX
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds_CXX
+
++# Commands necessary for finishing linking programs.
++postlink_cmds=$lt_postlink_cmds_CXX
++
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec_CXX
+
+diff --git a/gprofng/doc/Makefile.in b/gprofng/doc/Makefile.in
+index 4050586f6a8..394469e3768 100644
+--- a/gprofng/doc/Makefile.in
++++ b/gprofng/doc/Makefile.in
+@@ -237,6 +237,7 @@ CXXFLAGS = @CXXFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -272,6 +273,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+diff --git a/gprofng/gp-display-html/Makefile.in b/gprofng/gp-display-html/Makefile.in
+index 1206a79d3f0..2f763e5f760 100644
+--- a/gprofng/gp-display-html/Makefile.in
++++ b/gprofng/gp-display-html/Makefile.in
+@@ -200,6 +200,7 @@ CXXFLAGS = @CXXFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -235,6 +236,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+diff --git a/gprofng/libcollector/Makefile.in b/gprofng/libcollector/Makefile.in
+index 9372c6dea78..0cf4f58c0ec 100644
+--- a/gprofng/libcollector/Makefile.in
++++ b/gprofng/libcollector/Makefile.in
+@@ -316,6 +316,7 @@ CXXFLAGS = @CXXFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -342,6 +343,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+diff --git a/gprofng/libcollector/configure b/gprofng/libcollector/configure
+index ec38721ced2..d9daed11e3f 100755
+--- a/gprofng/libcollector/configure
++++ b/gprofng/libcollector/configure
+@@ -641,6 +641,8 @@ OTOOL
+ LIPO
+ NMEDIT
+ DSYMUTIL
++MANIFEST_TOOL
++DLLTOOL
+ OBJDUMP
+ LN_S
+ NM
+@@ -770,6 +772,7 @@ enable_static
+ with_pic
+ enable_fast_install
+ with_gnu_ld
++with_libtool_sysroot
+ enable_libtool_lock
+ '
+ ac_precious_vars='build_alias
+@@ -1425,6 +1428,8 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
++ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+ CC C compiler command
+@@ -5969,8 +5974,8 @@ esac
+
+
+
+-macro_version='2.2.7a'
+-macro_revision='1.3134'
++macro_version='2.4'
++macro_revision='1.3293'
+
+
+
+@@ -6010,7 +6015,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+ $as_echo_n "checking how to print strings... " >&6; }
+ # Test print first, because it will be a builtin if present.
+-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+ elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+@@ -6703,8 +6708,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+ # Try some XSI features
+ xsi_shell=no
+ ( _lt_dummy="a/b/c"
+- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+- = c,a/b,, \
++ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+@@ -6753,6 +6758,80 @@ esac
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
++$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
++if ${lt_cv_to_host_file_cmd+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
++ ;;
++ esac
++ ;;
++ *-*-cygwin* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
++ ;;
++ esac
++ ;;
++ * ) # unhandled hosts (and "normal" native builds)
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++esac
++
++fi
++
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
++$as_echo "$lt_cv_to_host_file_cmd" >&6; }
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
++$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
++if ${lt_cv_to_tool_file_cmd+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ #assume ordinary cross tools, or native build.
++lt_cv_to_tool_file_cmd=func_convert_file_noop
++case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ esac
++ ;;
++esac
++
++fi
++
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
++$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
++
++
++
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+ $as_echo_n "checking for $LD option to reload object files... " >&6; }
+ if ${lt_cv_ld_reload_flag+:} false; then :
+@@ -6769,6 +6848,11 @@ case $reload_flag in
+ esac
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ if test "$GCC" != yes; then
++ reload_cmds=false
++ fi
++ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+@@ -6937,7 +7021,8 @@ mingw* | pw32*)
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ # Keep this pattern in sync with the one in func_win32_libid.
++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+@@ -7091,6 +7176,21 @@ esac
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+ $as_echo "$lt_cv_deplibs_check_method" >&6; }
++
++file_magic_glob=
++want_nocaseglob=no
++if test "$build" = "$host"; then
++ case $host_os in
++ mingw* | pw32*)
++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
++ want_nocaseglob=yes
++ else
++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
++ fi
++ ;;
++ esac
++fi
++
+ file_magic_cmd=$lt_cv_file_magic_cmd
+ deplibs_check_method=$lt_cv_deplibs_check_method
+ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -7106,6 +7206,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
++
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_DLLTOOL+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$DLLTOOL"; then
++ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++DLLTOOL=$ac_cv_prog_DLLTOOL
++if test -n "$DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
++$as_echo "$DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DLLTOOL"; then
++ ac_ct_DLLTOOL=$DLLTOOL
++ # Extract the first word of "dlltool", so it can be a program name with args.
++set dummy dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_DLLTOOL"; then
++ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
++if test -n "$ac_ct_DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
++$as_echo "$ac_ct_DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_DLLTOOL" = x; then
++ DLLTOOL="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ DLLTOOL=$ac_ct_DLLTOOL
++ fi
++else
++ DLLTOOL="$ac_cv_prog_DLLTOOL"
++fi
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
++$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
++if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_sharedlib_from_linklib_cmd='unknown'
++
++case $host_os in
++cygwin* | mingw* | pw32* | cegcc*)
++ # two different shell functions defined in ltmain.sh
++ # decide which to use based on capabilities of $DLLTOOL
++ case `$DLLTOOL --help 2>&1` in
++ *--identify-strict*)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
++ ;;
++ *)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
++ ;;
++ esac
++ ;;
++*)
++ # fallback: assume linklib IS sharedlib
++ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
++ ;;
++esac
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
++$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
++
++
++
++
++
++
++
+ plugin_option=
+ plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
+ for plugin in $plugin_names; do
+@@ -7120,8 +7371,10 @@ for plugin in $plugin_names; do
+ done
+
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
++ for ac_prog in ar
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if ${ac_cv_prog_AR+:} false; then :
+@@ -7137,7 +7390,7 @@ do
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_AR="${ac_tool_prefix}ar"
++ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -7157,11 +7410,15 @@ $as_echo "no" >&6; }
+ fi
+
+
++ test -n "$AR" && break
++ done
+ fi
+-if test -z "$ac_cv_prog_AR"; then
++if test -z "$AR"; then
+ ac_ct_AR=$AR
+- # Extract the first word of "ar", so it can be a program name with args.
+-set dummy ar; ac_word=$2
++ for ac_prog in ar
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if ${ac_cv_prog_ac_ct_AR+:} false; then :
+@@ -7177,7 +7434,7 @@ do
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_ac_ct_AR="ar"
++ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -7196,6 +7453,10 @@ else
+ $as_echo "no" >&6; }
+ fi
+
++
++ test -n "$ac_ct_AR" && break
++done
++
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+@@ -7207,29 +7468,81 @@ ac_tool_warned=yes ;;
+ esac
+ AR=$ac_ct_AR
+ fi
+-else
+- AR="$ac_cv_prog_AR"
+ fi
+
+-test -z "$AR" && AR=ar
+-if test -n "$plugin_option"; then
+- if $AR --help 2>&1 | grep -q "\--plugin"; then
+- touch conftest.c
+- $AR $plugin_option rc conftest.a conftest.c
+- if test "$?" != 0; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed: $AR $plugin_option rc" >&5
++ touch conftest.c
++ $AR $plugin_option rc conftest.a conftest.c
++ if test "$?" != 0; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed: $AR $plugin_option rc" >&5
+ $as_echo "$as_me: WARNING: Failed: $AR $plugin_option rc" >&2;}
+- else
+- AR="$AR $plugin_option"
+- fi
+- rm -f conftest.*
++ else
++ AR="$AR $plugin_option"
+ fi
+-fi
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
++ rm -f conftest.*
++: ${AR=ar}
++: ${AR_FLAGS=cru}
++
++
++
++
++
++
++
+
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
++$as_echo_n "checking for archiver @FILE support... " >&6; }
++if ${lt_cv_ar_at_file+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ar_at_file=no
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ echo conftest.$ac_objext > conftest.lst
++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -eq 0; then
++ # Ensure the archiver fails upon bogus file names.
++ rm -f conftest.$ac_objext libconftest.a
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -ne 0; then
++ lt_cv_ar_at_file=@
++ fi
++ fi
++ rm -f conftest.* libconftest.a
++
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
++$as_echo "$lt_cv_ar_at_file" >&6; }
++
++if test "x$lt_cv_ar_at_file" = xno; then
++ archiver_list_spec=
++else
++ archiver_list_spec=$lt_cv_ar_at_file
++fi
+
+
+
+@@ -7576,8 +7889,8 @@ esac
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+ # Transform an extracted symbol line into symbol name and symbol address
+-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+ # Handle CRLF in mingw tool chain
+ opt_cr=
+@@ -7613,6 +7926,7 @@ for ac_symprfx in "" "_"; do
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+@@ -7654,6 +7968,18 @@ _LT_EOF
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT_DLSYM_CONST
++#else
++# define LT_DLSYM_CONST const
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -7665,7 +7991,7 @@ _LT_EOF
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+ /* The mapping between symbol names and symbols. */
+-const struct {
++LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+ }
+@@ -7691,8 +8017,8 @@ static const void *lt_preloaded_setup() {
+ _LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+- lt_save_LIBS="$LIBS"
+- lt_save_CFLAGS="$CFLAGS"
++ lt_globsym_save_LIBS=$LIBS
++ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+@@ -7702,8 +8028,8 @@ _LT_EOF
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+- LIBS="$lt_save_LIBS"
+- CFLAGS="$lt_save_CFLAGS"
++ LIBS=$lt_globsym_save_LIBS
++ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+@@ -7740,6 +8066,13 @@ else
+ $as_echo "ok" >&6; }
+ fi
+
++# Response file support.
++if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ nm_file_list_spec='@'
++elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
++ nm_file_list_spec='@'
++fi
++
+
+
+
+@@ -7759,6 +8092,48 @@ fi
+
+
+
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
++$as_echo_n "checking for sysroot... " >&6; }
++
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
++else
++ with_libtool_sysroot=no
++fi
++
++
++lt_sysroot=
++case ${with_libtool_sysroot} in #(
++ yes)
++ if test "$GCC" = yes; then
++ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++ fi
++ ;; #(
++ /*)
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
++ ;; #(
++ no|'')
++ ;; #(
++ *)
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
++ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
++ ;;
++esac
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
++$as_echo "${lt_sysroot:-no}" >&6; }
++
++
++
+
+
+ # Check whether --enable-libtool-lock was given.
+@@ -7967,6 +8342,123 @@ esac
+
+ need_locks="$enable_libtool_lock"
+
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
++set dummy ${ac_tool_prefix}mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$MANIFEST_TOOL"; then
++ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
++if test -n "$MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
++$as_echo "$MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
++ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
++ # Extract the first word of "mt", so it can be a program name with args.
++set dummy mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_MANIFEST_TOOL"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
++if test -n "$ac_ct_MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
++$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_MANIFEST_TOOL" = x; then
++ MANIFEST_TOOL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
++ fi
++else
++ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
++fi
++
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
++$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
++if ${lt_cv_path_mainfest_tool+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_path_mainfest_tool=no
++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++ cat conftest.err >&5
++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++ lt_cv_path_mainfest_tool=yes
++ fi
++ rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
++$as_echo "$lt_cv_path_mainfest_tool" >&6; }
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++ MANIFEST_TOOL=:
++fi
++
++
++
++
++
+
+ case $host_os in
+ rhapsody* | darwin*)
+@@ -8530,6 +9022,8 @@ _LT_EOF
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
++ echo "$RANLIB libconftest.a" >&5
++ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+ int main() { return 0;}
+ _LT_EOF
+@@ -8598,6 +9092,16 @@ done
+
+
+
++func_stripname_cnf ()
++{
++ case ${2} in
++ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
++ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
++ esac
++} # func_stripname_cnf
++
++
++
+
+
+ # Set options
+@@ -9113,8 +9617,6 @@ fi
+ lt_prog_compiler_pic=
+ lt_prog_compiler_static=
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+@@ -9280,6 +9782,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
++ nagfor*)
++ # NAG Fortran compiler
++ lt_prog_compiler_wl='-Wl,-Wl,,'
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+@@ -9342,7 +9850,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+- f77* | f90* | f95*)
++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+@@ -9399,13 +9907,17 @@ case $host_os in
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+ esac
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+-$as_echo "$lt_prog_compiler_pic" >&6; }
+-
+-
+-
+-
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++if ${lt_cv_prog_compiler_pic+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
++$as_echo "$lt_cv_prog_compiler_pic" >&6; }
++lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -9466,6 +9978,11 @@ fi
+
+
+
++
++
++
++
++
+ #
+ # Check to make sure the static flag actually works.
+ #
+@@ -9816,7 +10333,8 @@ _LT_EOF
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+@@ -9915,12 +10433,12 @@ _LT_EOF
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+@@ -9934,8 +10452,8 @@ _LT_EOF
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+@@ -9953,8 +10471,8 @@ _LT_EOF
+
+ _LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -10000,8 +10518,8 @@ _LT_EOF
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -10131,7 +10649,13 @@ _LT_EOF
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if ${lt_cv_aix_libpath_+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -10144,22 +10668,29 @@ main ()
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+@@ -10171,7 +10702,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if ${lt_cv_aix_libpath_+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -10184,22 +10721,29 @@ main ()
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+@@ -10243,21 +10787,64 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+- # no search path for DLLs.
+- hardcode_libdir_flag_spec=' '
+- allow_undefined_flag=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- old_archive_from_new_cmds='true'
+- # FIXME: Should let the user specify the lib program.
+- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+- fix_srcfile_path='`cygpath -w "$srcfile"`'
+- enable_shared_with_static_runtimes=yes
++ # no search path for DLLs.
++ case $cc_basename in
++ cl*)
++ # Native MSVC
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ file_list_spec='@'
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ # Don't use ranlib
++ old_postinstall_cmds='chmod 644 $oldlib'
++ postlink_cmds='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # Assume MSVC wrapper
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ enable_shared_with_static_runtimes=yes
++ ;;
++ esac
+ ;;
+
+ darwin* | rhapsody*)
+@@ -10318,7 +10905,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -6883,7 +11631,7 @@ index a7f788f0411..e7703613024 100755
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -8860,7 +9438,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10326,7 +10913,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -6892,7 +11640,7 @@ index a7f788f0411..e7703613024 100755
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -8876,7 +9454,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10342,7 +10929,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -6901,7 +11649,7 @@ index a7f788f0411..e7703613024 100755
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -8900,10 +9478,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10366,10 +10953,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -6914,7 +11662,7 @@ index a7f788f0411..e7703613024 100755
;;
esac
else
-@@ -8982,23 +9560,36 @@ fi
+@@ -10448,23 +11035,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -6959,7 +11707,7 @@ index a7f788f0411..e7703613024 100755
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9083,7 +9674,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10549,7 +11149,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -6968,7 +11716,7 @@ index a7f788f0411..e7703613024 100755
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9102,9 +9693,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10568,9 +11168,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -6980,7 +11728,7 @@ index a7f788f0411..e7703613024 100755
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -9680,8 +10271,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -11146,8 +11746,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -6992,7 +11740,7 @@ index a7f788f0411..e7703613024 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -9714,13 +10306,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -11180,13 +11781,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -7065,16 +11813,16 @@ index a7f788f0411..e7703613024 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -10598,7 +11248,7 @@ else
+@@ -12064,7 +12723,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 10601 "configure"
+-#line 12067 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -10642,10 +11292,10 @@ else
+@@ -12108,10 +12767,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -7087,16 +11835,16 @@ index a7f788f0411..e7703613024 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -10704,7 +11354,7 @@ else
+@@ -12170,7 +12829,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 10707 "configure"
+-#line 12173 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -10748,10 +11398,10 @@ else
+@@ -12214,10 +12873,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -7109,7 +11857,592 @@ index a7f788f0411..e7703613024 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12771,13 +13421,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -12609,6 +13268,7 @@ $RM -r conftest*
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
++ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+@@ -12626,6 +13286,7 @@ $RM -r conftest*
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
++ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ compiler_CXX=$CC
+ for cc_temp in $compiler""; do
+@@ -12908,7 +13569,13 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+ allow_undefined_flag_CXX='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if ${lt_cv_aix_libpath__CXX+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -12921,22 +13588,29 @@ main ()
+ _ACEOF
+ if ac_fn_cxx_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath__CXX"; then
++ lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath__CXX"; then
++ lt_cv_aix_libpath__CXX="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath__CXX
++fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+@@ -12949,7 +13623,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if ${lt_cv_aix_libpath__CXX+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -12962,22 +13642,29 @@ main ()
+ _ACEOF
+ if ac_fn_cxx_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath__CXX"; then
++ lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath__CXX"; then
++ lt_cv_aix_libpath__CXX="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath__CXX
++fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+@@ -13020,29 +13707,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+- # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+- # as there is no search path for DLLs.
+- hardcode_libdir_flag_spec_CXX='-L$libdir'
+- export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
+- allow_undefined_flag_CXX=unsupported
+- always_export_symbols_CXX=no
+- enable_shared_with_static_runtimes_CXX=yes
+-
+- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- # If the export-symbols file already is a .def file (1st line
+- # is EXPORTS), use it as is; otherwise, prepend...
+- archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+- cp $export_symbols $output_objdir/$soname.def;
+- else
+- echo EXPORTS > $output_objdir/$soname.def;
+- cat $export_symbols >> $output_objdir/$soname.def;
+- fi~
+- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- else
+- ld_shlibs_CXX=no
+- fi
+- ;;
++ case $GXX,$cc_basename in
++ ,cl* | no,cl*)
++ # Native MSVC
++ # hardcode_libdir_flag_spec is actually meaningless, as there is
++ # no search path for DLLs.
++ hardcode_libdir_flag_spec_CXX=' '
++ allow_undefined_flag_CXX=unsupported
++ always_export_symbols_CXX=yes
++ file_list_spec_CXX='@'
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
++ enable_shared_with_static_runtimes_CXX=yes
++ # Don't use ranlib
++ old_postinstall_cmds_CXX='chmod 644 $oldlib'
++ postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ func_to_tool_file "$lt_outputfile"~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # g++
++ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
++ # as there is no search path for DLLs.
++ hardcode_libdir_flag_spec_CXX='-L$libdir'
++ export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
++ allow_undefined_flag_CXX=unsupported
++ always_export_symbols_CXX=no
++ enable_shared_with_static_runtimes_CXX=yes
++
++ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ # If the export-symbols file already is a .def file (1st line
++ # is EXPORTS), use it as is; otherwise, prepend...
++ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ cp $export_symbols $output_objdir/$soname.def;
++ else
++ echo EXPORTS > $output_objdir/$soname.def;
++ cat $export_symbols >> $output_objdir/$soname.def;
++ fi~
++ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ else
++ ld_shlibs_CXX=no
++ fi
++ ;;
++ esac
++ ;;
+ darwin* | rhapsody*)
+
+
+@@ -13148,7 +13881,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ ;;
+ *)
+ if test "$GXX" = yes; then
+- archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+@@ -13219,10 +13952,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+@@ -13263,9 +13996,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
++ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ fi
+ fi
+ link_all_deplibs_CXX=yes
+@@ -13335,20 +14068,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ prelink_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
++ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ old_archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
++ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+@@ -13543,7 +14276,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+@@ -13589,7 +14322,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ solaris*)
+ case $cc_basename in
+- CC*)
++ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ archive_cmds_need_lc_CXX=yes
+ no_undefined_flag_CXX=' -zdefs'
+@@ -13630,9 +14363,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+- archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
++ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
++ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+@@ -13767,6 +14500,13 @@ private:
+ };
+ _LT_EOF
+
++
++_lt_libdeps_save_CFLAGS=$CFLAGS
++case "$CC $CFLAGS " in #(
++*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
++*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
++esac
++
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+@@ -13780,7 +14520,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+- case $p in
++ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+@@ -13789,13 +14529,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ test $p = "-R"; then
+ prev=$p
+ continue
+- else
+- prev=
+ fi
+
++ # Expand the sysroot to ease extracting the directories later.
++ if test -z "$prev"; then
++ case $p in
++ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
++ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
++ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
++ esac
++ fi
++ case $p in
++ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
++ esac
+ if test "$pre_test_object_deps_done" = no; then
+- case $p in
+- -L* | -R*)
++ case ${prev} in
++ -L | -R)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+@@ -13815,8 +14564,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+ fi
+ fi
++ prev=
+ ;;
+
++ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+@@ -13852,6 +14603,7 @@ else
+ fi
+
+ $RM -f confest.$objext
++CFLAGS=$_lt_libdeps_save_CFLAGS
+
+ # PORTME: override above test on systems where it is broken
+ case $host_os in
+@@ -13887,7 +14639,7 @@ linux*)
+
+ solaris*)
+ case $cc_basename in
+- CC*)
++ CC* | sunCC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+@@ -13952,8 +14704,6 @@ fi
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX=
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+@@ -14058,6 +14808,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+ ;;
+ esac
+ ;;
++ mingw* | cygwin* | os2* | pw32* | cegcc*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
++ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+@@ -14210,7 +14965,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+ ;;
+ solaris*)
+ case $cc_basename in
+- CC*)
++ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+@@ -14275,10 +15030,17 @@ case $host_os in
+ lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+ ;;
+ esac
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5
+-$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
+-
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
++$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
++lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -14336,6 +15098,8 @@ fi
+
+
+
++
++
+ #
+ # Check to make sure the static flag actually works.
+ #
+@@ -14513,6 +15277,7 @@ fi
+ $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ case $host_os in
+ aix[4-9]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+@@ -14527,15 +15292,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+ ;;
+ pw32*)
+ export_symbols_cmds_CXX="$ltdll_cmds"
+- ;;
++ ;;
+ cygwin* | mingw* | cegcc*)
+- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+- ;;
++ case $cc_basename in
++ cl*) ;;
++ *)
++ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
++ ;;
++ esac
++ ;;
+ *)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+- ;;
++ ;;
+ esac
+- exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+ $as_echo "$ld_shlibs_CXX" >&6; }
+@@ -14798,8 +15568,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -14831,13 +15602,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -15377,6 +16206,7 @@ fi
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
++ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+@@ -16321,13 +17151,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -7130,7 +12463,7 @@ index a7f788f0411..e7703613024 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -12792,14 +13449,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -16342,14 +17179,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -7149,7 +12482,7 @@ index a7f788f0411..e7703613024 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -12832,12 +13492,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -16382,12 +17222,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -7163,7 +12496,31 @@ index a7f788f0411..e7703613024 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -12892,8 +13552,13 @@ reload_flag \
+@@ -16426,8 +17266,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote
+ compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
+ GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
+-lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
+ lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
+ archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
+@@ -16454,12 +17294,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_
+ hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
+ inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
+ link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
+-fix_srcfile_path_CXX='`$ECHO "$fix_srcfile_path_CXX" | $SED "$delay_single_quote_subst"`'
+ always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
+ export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+ exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+ include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+ prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
++postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+ file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
+ hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
+ compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
+@@ -16497,8 +17337,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -7177,7 +12534,7 @@ index a7f788f0411..e7703613024 100755
STRIP \
RANLIB \
CC \
-@@ -12903,12 +13568,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -16508,12 +17353,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -7193,7 +12550,7 @@ index a7f788f0411..e7703613024 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -12924,7 +13591,6 @@ no_undefined_flag \
+@@ -16529,7 +17376,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -7201,7 +12558,25 @@ index a7f788f0411..e7703613024 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -12960,6 +13626,7 @@ module_cmds \
+@@ -16551,8 +17397,8 @@ LD_CXX \
+ reload_flag_CXX \
+ compiler_CXX \
+ lt_prog_compiler_no_builtin_flag_CXX \
+-lt_prog_compiler_wl_CXX \
+ lt_prog_compiler_pic_CXX \
++lt_prog_compiler_wl_CXX \
+ lt_prog_compiler_static_CXX \
+ lt_cv_prog_compiler_c_o_CXX \
+ export_dynamic_flag_spec_CXX \
+@@ -16564,7 +17410,6 @@ no_undefined_flag_CXX \
+ hardcode_libdir_flag_spec_CXX \
+ hardcode_libdir_flag_spec_ld_CXX \
+ hardcode_libdir_separator_CXX \
+-fix_srcfile_path_CXX \
+ exclude_expsyms_CXX \
+ include_expsyms_CXX \
+ file_list_spec_CXX \
+@@ -16598,6 +17443,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -7209,7 +12584,17 @@ index a7f788f0411..e7703613024 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -13725,7 +14392,8 @@ $as_echo X"$file" |
+@@ -16612,7 +17458,8 @@ archive_expsym_cmds_CXX \
+ module_cmds_CXX \
+ module_expsym_cmds_CXX \
+ export_symbols_cmds_CXX \
+-prelink_cmds_CXX; do
++prelink_cmds_CXX \
++postlink_cmds_CXX; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+@@ -17366,7 +18213,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -7219,7 +12604,7 @@ index a7f788f0411..e7703613024 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -13828,19 +14496,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -17469,19 +18317,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -7263,7 +12648,7 @@ index a7f788f0411..e7703613024 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -13870,6 +14561,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -17511,6 +18382,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -7276,7 +12661,7 @@ index a7f788f0411..e7703613024 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -13879,6 +14576,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -17520,6 +18397,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -7286,7 +12671,7 @@ index a7f788f0411..e7703613024 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -13993,12 +14693,12 @@ with_gcc=$GCC
+@@ -17634,12 +18514,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -7302,7 +12687,7 @@ index a7f788f0411..e7703613024 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -14085,9 +14785,6 @@ inherit_rpath=$inherit_rpath
+@@ -17726,9 +18606,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -7312,7 +12697,7 @@ index a7f788f0411..e7703613024 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -14103,6 +14800,9 @@ include_expsyms=$lt_include_expsyms
+@@ -17744,6 +18621,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -7322,7 +12707,7 @@ index a7f788f0411..e7703613024 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -14135,210 +14835,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -17790,210 +18670,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -7696,11 +13081,95 @@ index a7f788f0411..e7703613024 100755
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
+@@ -18021,12 +18860,12 @@ with_gcc=$GCC_CXX
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl_CXX
+-
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic_CXX
+
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl_CXX
++
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+@@ -18113,9 +18952,6 @@ inherit_rpath=$inherit_rpath_CXX
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs_CXX
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path=$lt_fix_srcfile_path_CXX
+-
+ # Set to "yes" if exported symbols are required.
+ always_export_symbols=$always_export_symbols_CXX
+
+@@ -18131,6 +18967,9 @@ include_expsyms=$lt_include_expsyms_CXX
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds_CXX
+
++# Commands necessary for finishing linking programs.
++postlink_cmds=$lt_postlink_cmds_CXX
++
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec_CXX
+
+diff --git a/gprofng/src/Makefile.in b/gprofng/src/Makefile.in
+index ba7fdd6e8ad..3a0fc5dbbe7 100644
+--- a/gprofng/src/Makefile.in
++++ b/gprofng/src/Makefile.in
+@@ -324,6 +324,7 @@ CXXFLAGS = @CXXFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -359,6 +360,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+diff --git a/ld/Makefile.in b/ld/Makefile.in
+index 782d4017a60..71bbe487aef 100644
+--- a/ld/Makefile.in
++++ b/ld/Makefile.in
+@@ -383,6 +383,7 @@ CYGPATH_W = @CYGPATH_W@
+ DATADIRNAME = @DATADIRNAME@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -433,6 +434,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ MKINSTALLDIRS = @MKINSTALLDIRS@
+ MSGFMT = @MSGFMT@
+@@ -481,6 +483,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
diff --git a/ld/configure b/ld/configure
-index 1f9ec8ec580..4a35108ce7c 100755
+index d0a467ac101..45b20013a45 100755
--- a/ld/configure
+++ b/ld/configure
-@@ -695,8 +695,11 @@ OTOOL
+@@ -700,8 +700,11 @@ OTOOL
LIPO
NMEDIT
DSYMUTIL
@@ -7712,7 +13181,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
OBJDUMP
LN_S
NM
-@@ -823,6 +826,7 @@ enable_static
+@@ -828,6 +831,7 @@ enable_static
with_pic
enable_fast_install
with_gnu_ld
@@ -7720,7 +13189,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
enable_libtool_lock
enable_plugins
enable_largefile
-@@ -1530,6 +1534,8 @@ Optional Packages:
+@@ -1552,6 +1556,8 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
@@ -7729,7 +13198,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
--with-lib-path=dir1:dir2... set default LIB_PATH
--with-sysroot=DIR Search for usr/lib et al within DIR.
--with-system-zlib use installed libz
-@@ -5368,8 +5374,8 @@ esac
+@@ -5399,8 +5405,8 @@ esac
@@ -7740,7 +13209,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
-@@ -5409,7 +5415,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -5440,7 +5446,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
@@ -7749,7 +13218,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -6096,8 +6102,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -6133,8 +6139,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -7760,7 +13229,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -6146,6 +6152,80 @@ esac
+@@ -6183,6 +6189,80 @@ esac
@@ -7841,7 +13310,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -6162,6 +6242,11 @@ case $reload_flag in
+@@ -6199,6 +6279,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -7853,7 +13322,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6330,7 +6415,8 @@ mingw* | pw32*)
+@@ -6367,7 +6452,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -7863,7 +13332,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -6484,6 +6570,21 @@ esac
+@@ -6521,6 +6607,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -7885,7 +13354,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6499,6 +6600,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6536,6 +6637,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -8043,7 +13512,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
plugin_option=
plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
for plugin in $plugin_names; do
-@@ -6513,8 +6765,10 @@ for plugin in $plugin_names; do
+@@ -6550,8 +6802,10 @@ for plugin in $plugin_names; do
done
if test -n "$ac_tool_prefix"; then
@@ -8056,7 +13525,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -6530,7 +6784,7 @@ do
+@@ -6567,7 +6821,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -8065,7 +13534,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6550,11 +6804,15 @@ $as_echo "no" >&6; }
+@@ -6587,11 +6841,15 @@ $as_echo "no" >&6; }
fi
@@ -8084,7 +13553,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -6570,7 +6828,7 @@ do
+@@ -6607,7 +6865,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -8093,7 +13562,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6589,6 +6847,10 @@ else
+@@ -6626,6 +6884,10 @@ else
$as_echo "no" >&6; }
fi
@@ -8104,7 +13573,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -6600,25 +6862,19 @@ ac_tool_warned=yes ;;
+@@ -6637,25 +6899,19 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -8139,7 +13608,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
-@@ -6630,6 +6886,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -6667,6 +6923,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
@@ -8204,7 +13673,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-@@ -6969,8 +7283,8 @@ esac
+@@ -7006,8 +7320,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -8215,7 +13684,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -7006,6 +7320,7 @@ for ac_symprfx in "" "_"; do
+@@ -7043,6 +7357,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -8223,7 +13692,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -7047,6 +7362,18 @@ _LT_EOF
+@@ -7084,6 +7399,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -8242,7 +13711,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
#ifdef __cplusplus
extern "C" {
#endif
-@@ -7058,7 +7385,7 @@ _LT_EOF
+@@ -7095,7 +7422,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -8251,7 +13720,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
const char *name;
void *address;
}
-@@ -7084,8 +7411,8 @@ static const void *lt_preloaded_setup() {
+@@ -7121,8 +7448,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -8262,7 +13731,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7095,8 +7422,8 @@ _LT_EOF
+@@ -7132,8 +7459,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -8273,7 +13742,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -7133,6 +7460,17 @@ else
+@@ -7170,6 +7497,17 @@ else
$as_echo "ok" >&6; }
fi
@@ -8291,7 +13760,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
-@@ -7149,6 +7487,44 @@ fi
+@@ -7186,6 +7524,44 @@ fi
@@ -8336,7 +13805,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
-@@ -7360,6 +7736,123 @@ esac
+@@ -7397,6 +7773,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -8460,7 +13929,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
case $host_os in
rhapsody* | darwin*)
-@@ -7923,6 +8416,8 @@ _LT_EOF
+@@ -7960,6 +8453,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -8469,7 +13938,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7991,6 +8486,16 @@ done
+@@ -8028,6 +8523,16 @@ done
@@ -8486,7 +13955,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Set options
-@@ -8506,8 +9011,6 @@ fi
+@@ -8543,8 +9048,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -8495,7 +13964,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8673,6 +9176,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8710,6 +9213,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -8508,7 +13977,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8735,7 +9244,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8772,7 +9281,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -8517,7 +13986,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8792,13 +9301,17 @@ case $host_os in
+@@ -8829,13 +9338,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -8541,7 +14010,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
#
# Check to make sure the PIC flag actually works.
-@@ -8859,6 +9372,11 @@ fi
+@@ -8896,6 +9409,11 @@ fi
@@ -8553,7 +14022,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
#
# Check to make sure the static flag actually works.
#
-@@ -9209,7 +9727,8 @@ _LT_EOF
+@@ -9246,7 +9764,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -8563,7 +14032,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -9308,12 +9827,12 @@ _LT_EOF
+@@ -9345,12 +9864,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -8578,7 +14047,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
fi
;;
esac
-@@ -9327,8 +9846,8 @@ _LT_EOF
+@@ -9364,8 +9883,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -8589,7 +14058,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
fi
;;
-@@ -9346,8 +9865,8 @@ _LT_EOF
+@@ -9383,8 +9902,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -8600,7 +14069,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
else
ld_shlibs=no
fi
-@@ -9393,8 +9912,8 @@ _LT_EOF
+@@ -9430,8 +9949,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -8611,7 +14080,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
else
ld_shlibs=no
fi
-@@ -9524,7 +10043,13 @@ _LT_EOF
+@@ -9561,7 +10080,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -8626,7 +14095,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
/* end confdefs.h. */
int
-@@ -9537,22 +10062,29 @@ main ()
+@@ -9574,22 +10099,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -8669,7 +14138,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9564,7 +10096,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9601,7 +10133,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -8684,7 +14153,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
/* end confdefs.h. */
int
-@@ -9577,22 +10115,29 @@ main ()
+@@ -9614,22 +10152,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -8727,7 +14196,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9636,21 +10181,64 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9673,21 +10218,64 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -8807,7 +14276,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
;;
darwin* | rhapsody*)
-@@ -9711,7 +10299,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9748,7 +10336,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -8816,7 +14285,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9719,7 +10307,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9756,7 +10344,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -8825,7 +14294,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9735,7 +10323,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9772,7 +10360,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -8834,7 +14303,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9759,10 +10347,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9796,10 +10384,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -8847,7 +14316,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
;;
esac
else
-@@ -9841,23 +10429,36 @@ fi
+@@ -9878,23 +10466,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -8892,7 +14361,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9942,7 +10543,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9979,7 +10580,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -8901,7 +14370,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9961,9 +10562,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9998,9 +10599,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -8913,7 +14382,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -10539,8 +11140,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10576,8 +11177,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -8925,7 +14394,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -10573,13 +11175,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10610,13 +11212,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -8998,16 +14467,16 @@ index 1f9ec8ec580..4a35108ce7c 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -11457,7 +12117,7 @@ else
+@@ -11494,7 +12154,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11457 "configure"
+-#line 11494 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11501,10 +12161,10 @@ else
+@@ -11538,10 +12198,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -9020,16 +14489,16 @@ index 1f9ec8ec580..4a35108ce7c 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11563,7 +12223,7 @@ else
+@@ -11600,7 +12260,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11563 "configure"
+-#line 11600 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11607,10 +12267,10 @@ else
+@@ -11644,10 +12304,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -9042,7 +14511,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12002,6 +12662,7 @@ $RM -r conftest*
+@@ -12039,6 +12699,7 @@ $RM -r conftest*
# Allow CC to be a program name with arguments.
lt_save_CC=$CC
@@ -9050,7 +14519,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
lt_save_LD=$LD
lt_save_GCC=$GCC
GCC=$GXX
-@@ -12019,6 +12680,7 @@ $RM -r conftest*
+@@ -12056,6 +12717,7 @@ $RM -r conftest*
fi
test -z "${LDCXX+set}" || LD=$LDCXX
CC=${CXX-"c++"}
@@ -9058,7 +14527,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
compiler=$CC
compiler_CXX=$CC
for cc_temp in $compiler""; do
-@@ -12301,7 +12963,13 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+@@ -12338,7 +13000,13 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
allow_undefined_flag_CXX='-berok'
# Determine the default libpath from the value encoded in an empty
# executable.
@@ -9073,7 +14542,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
/* end confdefs.h. */
int
-@@ -12314,22 +12982,29 @@ main ()
+@@ -12351,22 +13019,29 @@ main ()
_ACEOF
if ac_fn_cxx_try_link "$LINENO"; then :
@@ -9116,7 +14585,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-@@ -12342,7 +13017,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12379,7 +13054,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -9131,7 +14600,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
/* end confdefs.h. */
int
-@@ -12355,22 +13036,29 @@ main ()
+@@ -12392,22 +13073,29 @@ main ()
_ACEOF
if ac_fn_cxx_try_link "$LINENO"; then :
@@ -9174,7 +14643,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -12413,29 +13101,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12450,29 +13138,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
cygwin* | mingw* | pw32* | cegcc*)
@@ -9273,7 +14742,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
darwin* | rhapsody*)
-@@ -12541,7 +13275,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12578,7 +13312,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
*)
if test "$GXX" = yes; then
@@ -9282,7 +14751,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
else
# FIXME: insert proper C++ library support
ld_shlibs_CXX=no
-@@ -12612,10 +13346,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12649,10 +13383,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
@@ -9295,7 +14764,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
;;
esac
fi
-@@ -12656,9 +13390,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12693,9 +13427,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
*)
if test "$GXX" = yes; then
if test "$with_gnu_ld" = no; then
@@ -9307,7 +14776,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
fi
fi
link_all_deplibs_CXX=yes
-@@ -12728,20 +13462,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12765,20 +13499,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
prelink_cmds_CXX='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
@@ -9332,7 +14801,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
;;
*) # Version 6 and above use weak symbols
archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-@@ -12936,7 +13670,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12973,7 +13707,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
;;
*)
@@ -9341,7 +14810,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
;;
esac
-@@ -12982,7 +13716,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13019,7 +13753,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
solaris*)
case $cc_basename in
@@ -9350,7 +14819,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Sun C++ 4.2, 5.x and Centerline C++
archive_cmds_need_lc_CXX=yes
no_undefined_flag_CXX=' -zdefs'
-@@ -13023,9 +13757,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13060,9 +13794,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
if $CC --version | $GREP -v '^2\.7' > /dev/null; then
@@ -9362,7 +14831,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
-@@ -13160,6 +13894,13 @@ private:
+@@ -13197,6 +13931,13 @@ private:
};
_LT_EOF
@@ -9376,7 +14845,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
-@@ -13173,7 +13914,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+@@ -13210,7 +13951,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
pre_test_object_deps_done=no
for p in `eval "$output_verbose_link_cmd"`; do
@@ -9385,7 +14854,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
-@@ -13182,13 +13923,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+@@ -13219,13 +13960,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
test $p = "-R"; then
prev=$p
continue
@@ -9412,7 +14881,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Internal compiler library paths should come after those
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
-@@ -13208,8 +13958,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+@@ -13245,8 +13995,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
postdeps_CXX="${postdeps_CXX} ${prev}${p}"
fi
fi
@@ -9423,7 +14892,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
*.$objext)
# This assumes that the test object file only shows up
# once in the compiler output.
-@@ -13245,6 +13997,7 @@ else
+@@ -13282,6 +14034,7 @@ else
fi
$RM -f confest.$objext
@@ -9431,7 +14900,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# PORTME: override above test on systems where it is broken
case $host_os in
-@@ -13280,7 +14033,7 @@ linux*)
+@@ -13317,7 +14070,7 @@ linux*)
solaris*)
case $cc_basename in
@@ -9440,7 +14909,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# The more standards-conforming stlport4 library is
# incompatible with the Cstd library. Avoid specifying
# it if it's in CXXFLAGS. Ignore libCrun as
-@@ -13345,8 +14098,6 @@ fi
+@@ -13382,8 +14135,6 @@ fi
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX=
@@ -9449,7 +14918,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
-@@ -13451,6 +14202,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -13488,6 +14239,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
;;
esac
;;
@@ -9461,7 +14930,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
dgux*)
case $cc_basename in
ec++*)
-@@ -13603,7 +14359,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -13640,7 +14396,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
;;
solaris*)
case $cc_basename in
@@ -9470,7 +14939,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Sun C++ 4.2, 5.x and Centerline C++
lt_prog_compiler_pic_CXX='-KPIC'
lt_prog_compiler_static_CXX='-Bstatic'
-@@ -13668,10 +14424,17 @@ case $host_os in
+@@ -13705,10 +14461,17 @@ case $host_os in
lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
;;
esac
@@ -9491,7 +14960,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
#
# Check to make sure the PIC flag actually works.
-@@ -13729,6 +14492,8 @@ fi
+@@ -13766,6 +14529,8 @@ fi
@@ -9500,7 +14969,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
#
# Check to make sure the static flag actually works.
#
-@@ -13906,6 +14671,7 @@ fi
+@@ -13943,6 +14708,7 @@ fi
$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
@@ -9508,7 +14977,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
case $host_os in
aix[4-9]*)
# If we're using GNU nm, then we don't want the "-C" option.
-@@ -13920,15 +14686,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+@@ -13957,15 +14723,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
;;
pw32*)
export_symbols_cmds_CXX="$ltdll_cmds"
@@ -9534,7 +15003,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
$as_echo "$ld_shlibs_CXX" >&6; }
-@@ -14191,8 +14962,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -14228,8 +14999,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -9546,7 +15015,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -14224,13 +14996,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -14261,13 +15033,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -9619,7 +15088,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -14770,6 +15600,7 @@ fi
+@@ -14807,6 +15637,7 @@ fi
fi # test -n "$compiler"
CC=$lt_save_CC
@@ -9627,7 +15096,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
LDCXX=$LD
LD=$lt_save_LD
GCC=$lt_save_GCC
-@@ -17830,13 +18661,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -18172,13 +19003,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -9648,7 +15117,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -17851,14 +18689,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -18193,14 +19031,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -9667,7 +15136,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -17891,12 +18732,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -18233,12 +19074,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -9681,7 +15150,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -17935,8 +18776,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote
+@@ -18277,8 +19118,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote
compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
@@ -9691,7 +15160,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
-@@ -17963,12 +18804,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_
+@@ -18305,12 +19146,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_
hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
@@ -9705,7 +15174,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
-@@ -18006,8 +18847,13 @@ reload_flag \
+@@ -18348,8 +19189,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -9719,7 +15188,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
STRIP \
RANLIB \
CC \
-@@ -18017,12 +18863,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -18359,12 +19205,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -9735,7 +15204,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -18038,7 +18886,6 @@ no_undefined_flag \
+@@ -18380,7 +19228,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -9743,7 +15212,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -18060,8 +18907,8 @@ LD_CXX \
+@@ -18402,8 +19249,8 @@ LD_CXX \
reload_flag_CXX \
compiler_CXX \
lt_prog_compiler_no_builtin_flag_CXX \
@@ -9753,7 +15222,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
lt_prog_compiler_static_CXX \
lt_cv_prog_compiler_c_o_CXX \
export_dynamic_flag_spec_CXX \
-@@ -18073,7 +18920,6 @@ no_undefined_flag_CXX \
+@@ -18415,7 +19262,6 @@ no_undefined_flag_CXX \
hardcode_libdir_flag_spec_CXX \
hardcode_libdir_flag_spec_ld_CXX \
hardcode_libdir_separator_CXX \
@@ -9761,7 +15230,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
exclude_expsyms_CXX \
include_expsyms_CXX \
file_list_spec_CXX \
-@@ -18107,6 +18953,7 @@ module_cmds \
+@@ -18449,6 +19295,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -9769,7 +15238,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -18121,7 +18968,8 @@ archive_expsym_cmds_CXX \
+@@ -18463,7 +19310,8 @@ archive_expsym_cmds_CXX \
module_cmds_CXX \
module_expsym_cmds_CXX \
export_symbols_cmds_CXX \
@@ -9779,7 +15248,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-@@ -18886,7 +19734,8 @@ $as_echo X"$file" |
+@@ -19228,7 +20076,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -9789,7 +15258,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -18989,19 +19838,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -19331,19 +20180,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -9833,7 +15302,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -19031,6 +19903,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -19373,6 +20245,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -9846,7 +15315,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -19040,6 +19918,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -19382,6 +20260,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -9856,7 +15325,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -19154,12 +20035,12 @@ with_gcc=$GCC
+@@ -19496,12 +20377,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -9872,7 +15341,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -19246,9 +20127,6 @@ inherit_rpath=$inherit_rpath
+@@ -19588,9 +20469,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -9882,7 +15351,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -19264,6 +20142,9 @@ include_expsyms=$lt_include_expsyms
+@@ -19606,6 +20484,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -9892,7 +15361,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -19310,210 +20191,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -19652,210 +20533,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -10266,7 +15735,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-@@ -19541,12 +20381,12 @@ with_gcc=$GCC_CXX
+@@ -19883,12 +20723,12 @@ with_gcc=$GCC_CXX
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
@@ -10282,7 +15751,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static_CXX
-@@ -19633,9 +20473,6 @@ inherit_rpath=$inherit_rpath_CXX
+@@ -19975,9 +20815,6 @@ inherit_rpath=$inherit_rpath_CXX
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs_CXX
@@ -10292,7 +15761,7 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols_CXX
-@@ -19651,6 +20488,9 @@ include_expsyms=$lt_include_expsyms_CXX
+@@ -19993,6 +20830,9 @@ include_expsyms=$lt_include_expsyms_CXX
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds_CXX
@@ -10302,8 +15771,36 @@ index 1f9ec8ec580..4a35108ce7c 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec_CXX
+diff --git a/libbacktrace/Makefile.in b/libbacktrace/Makefile.in
+index e6a4c8e2ef3..3547e3649b7 100644
+--- a/libbacktrace/Makefile.in
++++ b/libbacktrace/Makefile.in
+@@ -827,6 +827,7 @@ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ DWZ = @DWZ@
+@@ -854,6 +855,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -886,6 +888,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__leading_dot = @am__leading_dot@
diff --git a/libbacktrace/configure b/libbacktrace/configure
-index a2f33c0f35d..90667680701 100755
+index 406b67b8cbc..b648da40aab 100755
--- a/libbacktrace/configure
+++ b/libbacktrace/configure
@@ -680,7 +680,10 @@ OTOOL
@@ -10354,99 +15851,7 @@ index a2f33c0f35d..90667680701 100755
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -5818,48 +5824,49 @@ if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- if test -n "$NM"; then
-- # Let the user override the test.
-- lt_cv_path_NM="$NM"
--else
-- lt_nm_to_check="${ac_tool_prefix}nm"
-- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-- lt_nm_to_check="$lt_nm_to_check nm"
-- fi
-- for lt_tmp_nm in $lt_nm_to_check; do
-- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-- IFS="$lt_save_ifs"
-- test -z "$ac_dir" && ac_dir=.
-- tmp_nm="$ac_dir/$lt_tmp_nm"
-- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-- # Check to see if the nm accepts a BSD-compat flag.
-- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-- # nm: unknown option "B" ignored
-- # Tru64's nm complains that /dev/null is an invalid object file
-- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-- */dev/null* | *'Invalid file or object type'*)
-- lt_cv_path_NM="$tmp_nm -B"
-- break
-- ;;
-- *)
-- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-- */dev/null*)
-- lt_cv_path_NM="$tmp_nm -p"
-- break
-- ;;
-- *)
-- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-- continue # so that we can try to find one that supports BSD flags
-- ;;
-- esac
-- ;;
-- esac
-- fi
-- done
-- IFS="$lt_save_ifs"
-- done
-- : ${lt_cv_path_NM=no}
--fi
-+ # Let the user override the nm to test.
-+ lt_nm_to_check="$NM"
-+ else
-+ lt_nm_to_check="${ac_tool_prefix}nm"
-+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-+ lt_nm_to_check="$lt_nm_to_check nm"
-+ fi
-+ fi
-+ for lt_tmp_nm in $lt_nm_to_check; do
-+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-+ IFS="$lt_save_ifs"
-+ test -z "$ac_dir" && ac_dir=.
-+ case "$lt_tmp_nm" in
-+ */*|*\\*) tmp_nm="$lt_tmp_nm";;
-+ *) tmp_nm="$ac_dir/$lt_tmp_nm";;
-+ esac
-+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-+ # Check to see if the nm accepts a BSD-compat flag.
-+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-+ # nm: unknown option "B" ignored
-+ case `"$tmp_nm" -B "$tmp_nm" 2>&1 | grep -v '^ *$' | sed '1q'` in
-+ *$tmp_nm*) lt_cv_path_NM="$tmp_nm -B"
-+ break
-+ ;;
-+ *)
-+ case `"$tmp_nm" -p "$tmp_nm" 2>&1 | grep -v '^ *$' | sed '1q'` in
-+ *$tmp_nm*)
-+ lt_cv_path_NM="$tmp_nm -p"
-+ break
-+ ;;
-+ *)
-+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-+ continue # so that we can try to find one that supports BSD flags
-+ ;;
-+ esac
-+ ;;
-+ esac
-+ fi
-+ done
-+ IFS="$lt_save_ifs"
-+ done
-+ : ${lt_cv_path_NM=no}
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
- $as_echo "$lt_cv_path_NM" >&6; }
-@@ -6173,8 +6180,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -6180,8 +6186,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -10457,7 +15862,7 @@ index a2f33c0f35d..90667680701 100755
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -6223,6 +6230,80 @@ esac
+@@ -6230,6 +6236,80 @@ esac
@@ -10538,7 +15943,7 @@ index a2f33c0f35d..90667680701 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -6239,6 +6320,11 @@ case $reload_flag in
+@@ -6246,6 +6326,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -10550,7 +15955,7 @@ index a2f33c0f35d..90667680701 100755
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6407,7 +6493,8 @@ mingw* | pw32*)
+@@ -6414,7 +6499,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -10560,16 +15965,7 @@ index a2f33c0f35d..90667680701 100755
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -6480,7 +6567,7 @@ irix5* | irix6* | nonstopux*)
- ;;
-
- # This must be Linux ELF.
--linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
-+linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-@@ -6561,6 +6648,21 @@ esac
+@@ -6568,6 +6654,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -10591,7 +15987,7 @@ index a2f33c0f35d..90667680701 100755
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6574,11 +6676,177 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6583,6 +6684,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -10605,11 +16001,7 @@ index a2f33c0f35d..90667680701 100755
+
+
+
-
-
- if test -n "$ac_tool_prefix"; then
-- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
--set dummy ${ac_tool_prefix}ar; ac_word=$2
++if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -10750,20 +16142,15 @@ index a2f33c0f35d..90667680701 100755
+
+
+
-+plugin_option=
-+plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
-+for plugin in $plugin_names; do
-+ plugin_so=`${CC} ${CFLAGS} --print-prog-name $plugin`
-+ if test x$plugin_so = x$plugin; then
-+ plugin_so=`${CC} ${CFLAGS} --print-file-name $plugin`
-+ fi
-+ if test x$plugin_so != x$plugin; then
-+ plugin_option="--plugin $plugin_so"
-+ break
-+ fi
-+done
-+
-+if test -n "$ac_tool_prefix"; then
+ plugin_option=
+ plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
+ for plugin in $plugin_names; do
+@@ -6597,8 +6849,10 @@ for plugin in $plugin_names; do
+ done
+
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
+ for ac_prog in ar
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
@@ -10771,7 +16158,7 @@ index a2f33c0f35d..90667680701 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -6594,7 +6862,7 @@ do
+@@ -6614,7 +6868,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -10780,7 +16167,7 @@ index a2f33c0f35d..90667680701 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6614,11 +6882,15 @@ $as_echo "no" >&6; }
+@@ -6634,11 +6888,15 @@ $as_echo "no" >&6; }
fi
@@ -10799,7 +16186,7 @@ index a2f33c0f35d..90667680701 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -6634,7 +6906,7 @@ do
+@@ -6654,7 +6912,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -10808,7 +16195,7 @@ index a2f33c0f35d..90667680701 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6653,6 +6925,10 @@ else
+@@ -6673,6 +6931,10 @@ else
$as_echo "no" >&6; }
fi
@@ -10819,7 +16206,7 @@ index a2f33c0f35d..90667680701 100755
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -6664,12 +6940,21 @@ ac_tool_warned=yes ;;
+@@ -6684,25 +6946,19 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -10828,24 +16215,33 @@ index a2f33c0f35d..90667680701 100755
fi
-test -z "$AR" && AR=ar
--test -z "$AR_FLAGS" && AR_FLAGS=cru
+-if test -n "$plugin_option"; then
+- if $AR --help 2>&1 | grep -q "\--plugin"; then
+- touch conftest.c
+- $AR $plugin_option rc conftest.a conftest.c
+- if test "$?" != 0; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed: $AR $plugin_option rc" >&5
+ touch conftest.c
+ $AR $plugin_option rc conftest.a conftest.c
+ if test "$?" != 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed: $AR $plugin_option rc" >&5
-+$as_echo "$as_me: WARNING: Failed: $AR $plugin_option rc" >&2;}
+ $as_echo "$as_me: WARNING: Failed: $AR $plugin_option rc" >&2;}
+- else
+- AR="$AR $plugin_option"
+- fi
+- rm -f conftest.*
+ else
+ AR="$AR $plugin_option"
-+ fi
+ fi
+-fi
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
+ rm -f conftest.*
+: ${AR=ar}
+: ${AR_FLAGS=cru}
-+
-+
-@@ -6679,6 +6964,62 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -6714,6 +6970,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
@@ -10905,31 +16301,12 @@ index a2f33c0f35d..90667680701 100755
+
+
+
-
-
++
++
if test -n "$ac_tool_prefix"; then
-@@ -6873,6 +7214,11 @@ else
- fi
-
- test -z "$RANLIB" && RANLIB=:
-+if test -n "$plugin_option" && test "$RANLIB" != ":"; then
-+ if $RANLIB --help 2>&1 | grep -q "\--plugin"; then
-+ RANLIB="$RANLIB $plugin_option"
-+ fi
-+fi
-
-
-
-@@ -6987,7 +7333,7 @@ osf*)
- symcode='[BCDEGQRST]'
- ;;
- solaris*)
-- symcode='[BDRT]'
-+ symcode='[BCDRT]'
- ;;
- sco3.2v5*)
- symcode='[DT]'
-@@ -7015,8 +7361,8 @@ esac
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}strip; ac_word=$2
+@@ -7053,8 +7367,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -10940,7 +16317,7 @@ index a2f33c0f35d..90667680701 100755
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -7052,6 +7398,7 @@ for ac_symprfx in "" "_"; do
+@@ -7090,6 +7404,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -10948,7 +16325,7 @@ index a2f33c0f35d..90667680701 100755
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -7093,6 +7440,18 @@ _LT_EOF
+@@ -7131,6 +7446,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -10967,7 +16344,7 @@ index a2f33c0f35d..90667680701 100755
#ifdef __cplusplus
extern "C" {
#endif
-@@ -7104,7 +7463,7 @@ _LT_EOF
+@@ -7142,7 +7469,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -10976,7 +16353,7 @@ index a2f33c0f35d..90667680701 100755
const char *name;
void *address;
}
-@@ -7130,8 +7489,8 @@ static const void *lt_preloaded_setup() {
+@@ -7168,8 +7495,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -10987,7 +16364,7 @@ index a2f33c0f35d..90667680701 100755
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7141,8 +7500,8 @@ _LT_EOF
+@@ -7179,8 +7506,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -10998,7 +16375,7 @@ index a2f33c0f35d..90667680701 100755
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -7179,6 +7538,17 @@ else
+@@ -7217,6 +7544,18 @@ else
$as_echo "ok" >&6; }
fi
@@ -11013,10 +16390,11 @@ index a2f33c0f35d..90667680701 100755
+
+
+
++
-@@ -7195,6 +7565,44 @@ fi
+@@ -7233,6 +7572,43 @@ fi
@@ -11025,7 +16403,6 @@ index a2f33c0f35d..90667680701 100755
+
+
+
-+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
@@ -11061,49 +16438,10 @@ index a2f33c0f35d..90667680701 100755
-@@ -7372,39 +7780,156 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
+@@ -7444,6 +7820,123 @@ esac
+
+ need_locks="$enable_libtool_lock"
- fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
--$as_echo "$lt_cv_cc_needs_belf" >&6; }
-- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-- CFLAGS="$SAVE_CFLAGS"
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-+$as_echo "$lt_cv_cc_needs_belf" >&6; }
-+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-+ CFLAGS="$SAVE_CFLAGS"
-+ fi
-+ ;;
-+sparc*-*solaris*)
-+ # Find out which ABI we are using.
-+ echo 'int i;' > conftest.$ac_ext
-+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-+ (eval $ac_compile) 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }; then
-+ case `/usr/bin/file conftest.o` in
-+ *64-bit*)
-+ case $lt_cv_prog_gnu_ld in
-+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
-+ *)
-+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-+ LD="${LD-ld} -64"
-+ fi
-+ ;;
-+ esac
-+ ;;
-+ esac
-+ fi
-+ rm -rf conftest*
-+ ;;
-+esac
-+
-+need_locks="$enable_libtool_lock"
-+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
@@ -11191,28 +16529,7 @@ index a2f33c0f35d..90667680701 100755
+ac_tool_warned=yes ;;
+esac
+ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-- ;;
--sparc*-*solaris*)
-- # Find out which ABI we are using.
-- echo 'int i;' > conftest.$ac_ext
-- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-- (eval $ac_compile) 2>&5
-- ac_status=$?
-- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-- test $ac_status = 0; }; then
-- case `/usr/bin/file conftest.o` in
-- *64-bit*)
-- case $lt_cv_prog_gnu_ld in
-- yes*) LD="${LD-ld} -m elf64_sparc" ;;
-- *)
-- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-- LD="${LD-ld} -64"
-- fi
-- ;;
-- esac
-- ;;
-- esac
++ fi
+else
+ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
@@ -11229,10 +16546,7 @@ index a2f33c0f35d..90667680701 100755
+ cat conftest.err >&5
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
- fi
-- rm -rf conftest*
-- ;;
--esac
++ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
@@ -11243,12 +16557,12 @@ index a2f33c0f35d..90667680701 100755
+
+
+
-
--need_locks="$enable_libtool_lock"
-
++
++
case $host_os in
-@@ -7969,6 +8494,8 @@ _LT_EOF
+ rhapsody* | darwin*)
+@@ -8007,6 +8500,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -11257,47 +16571,7 @@ index a2f33c0f35d..90667680701 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7986,25 +8513,23 @@ _LT_EOF
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
- $as_echo "$lt_cv_ld_force_load" >&6; }
-- # Allow for Darwin 4-7 (macOS 10.0-10.3) although these are not expect to
-- # build without first building modern cctools / linker.
-- case $host_cpu-$host_os in
-- *-rhapsody* | *-darwin1.[012])
-+ case $host_os in
-+ rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-- *-darwin1.*)
-+ darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-- *-darwin*)
-- # darwin 5.x (macOS 10.1) onwards we only need to adjust when the
-- # deployment target is forced to an earlier version.
-- case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host in
-- UNSET,*-darwin[89]*|UNSET,*-darwin[12][0123456789]*)
-- ;;
-+ darwin*) # darwin 5.x on
-+ # if running on 10.5 or later, the deployment target defaults
-+ # to the OS version, if on x86, and 10.4, the deployment
-+ # target defaults to 10.4. Don't you love it?
-+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012][,.]*)
-- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-- ;;
-- *)
-- ;;
-- esac
-+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-+ 10.*)
-+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-+ esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-@@ -8553,8 +9078,6 @@ fi
+@@ -8589,8 +9084,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -11306,7 +16580,7 @@ index a2f33c0f35d..90667680701 100755
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8720,6 +9243,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8756,6 +9249,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -11319,7 +16593,7 @@ index a2f33c0f35d..90667680701 100755
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8782,7 +9311,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8818,7 +9317,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -11328,7 +16602,7 @@ index a2f33c0f35d..90667680701 100755
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8839,13 +9368,17 @@ case $host_os in
+@@ -8875,13 +9374,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -11352,7 +16626,7 @@ index a2f33c0f35d..90667680701 100755
#
# Check to make sure the PIC flag actually works.
-@@ -8906,6 +9439,11 @@ fi
+@@ -8942,6 +9445,11 @@ fi
@@ -11364,7 +16638,7 @@ index a2f33c0f35d..90667680701 100755
#
# Check to make sure the static flag actually works.
#
-@@ -9256,7 +9794,8 @@ _LT_EOF
+@@ -9292,7 +9800,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -11374,16 +16648,7 @@ index a2f33c0f35d..90667680701 100755
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -9294,7 +9833,7 @@ _LT_EOF
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
-- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
-+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
-@@ -9355,12 +9894,12 @@ _LT_EOF
+@@ -9391,12 +9900,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -11398,7 +16663,7 @@ index a2f33c0f35d..90667680701 100755
fi
;;
esac
-@@ -9374,8 +9913,8 @@ _LT_EOF
+@@ -9410,8 +9919,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -11409,7 +16674,7 @@ index a2f33c0f35d..90667680701 100755
fi
;;
-@@ -9393,8 +9932,8 @@ _LT_EOF
+@@ -9429,8 +9938,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -11420,7 +16685,7 @@ index a2f33c0f35d..90667680701 100755
else
ld_shlibs=no
fi
-@@ -9440,8 +9979,8 @@ _LT_EOF
+@@ -9476,8 +9985,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -11431,7 +16696,7 @@ index a2f33c0f35d..90667680701 100755
else
ld_shlibs=no
fi
-@@ -9571,7 +10110,13 @@ _LT_EOF
+@@ -9607,7 +10116,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -11446,7 +16711,7 @@ index a2f33c0f35d..90667680701 100755
/* end confdefs.h. */
int
-@@ -9584,22 +10129,29 @@ main ()
+@@ -9620,22 +10135,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -11489,7 +16754,7 @@ index a2f33c0f35d..90667680701 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9611,7 +10163,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9647,7 +10169,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -11504,7 +16769,7 @@ index a2f33c0f35d..90667680701 100755
/* end confdefs.h. */
int
-@@ -9624,22 +10182,29 @@ main ()
+@@ -9660,22 +10188,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -11547,7 +16812,7 @@ index a2f33c0f35d..90667680701 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9684,20 +10249,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9720,20 +10255,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -11625,7 +16890,7 @@ index a2f33c0f35d..90667680701 100755
;;
darwin* | rhapsody*)
-@@ -9758,7 +10366,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9794,7 +10372,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -11634,7 +16899,7 @@ index a2f33c0f35d..90667680701 100755
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9766,7 +10374,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9802,7 +10380,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -11643,7 +16908,7 @@ index a2f33c0f35d..90667680701 100755
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9782,7 +10390,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9818,7 +10396,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -11652,12 +16917,8 @@ index a2f33c0f35d..90667680701 100755
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9803,19 +10411,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
-- archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+@@ -9842,10 +10420,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
@@ -11669,14 +16930,7 @@ index a2f33c0f35d..90667680701 100755
;;
esac
else
- case $host_cpu in
- hppa*64*)
-- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-+ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-@@ -9888,23 +10496,36 @@ fi
+@@ -9924,23 +10502,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -11721,7 +16975,7 @@ index a2f33c0f35d..90667680701 100755
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9989,7 +10610,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10025,7 +10616,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -11730,7 +16984,7 @@ index a2f33c0f35d..90667680701 100755
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -10008,9 +10629,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10044,9 +10635,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -11742,7 +16996,7 @@ index a2f33c0f35d..90667680701 100755
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -10586,8 +11207,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10622,8 +11213,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -11754,7 +17008,7 @@ index a2f33c0f35d..90667680701 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -10620,13 +11242,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10656,13 +11248,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -11827,39 +17081,16 @@ index a2f33c0f35d..90667680701 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -10708,7 +11388,7 @@ haiku*)
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
-- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
-+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-@@ -10815,12 +11495,7 @@ linux*oldld* | linux*aout* | linux*coff*)
- ;;
-
- # This must be Linux ELF.
--
--# uclinux* changes (here and below) have been submitted to the libtool
--# project, but have not yet been accepted: they are GCC-local changes
--# for the time being. (See
--# https://lists.gnu.org/archive/html/libtool-patches/2018-05/msg00000.html)
--linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu* | uclinuxfdpiceabi)
-+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
-@@ -11509,7 +12184,7 @@ else
+@@ -11540,7 +12190,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11512 "configure"
+-#line 11543 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11553,10 +12228,10 @@ else
+@@ -11584,10 +12234,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -11872,16 +17103,16 @@ index a2f33c0f35d..90667680701 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11615,7 +12290,7 @@ else
+@@ -11646,7 +12296,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11618 "configure"
+-#line 11649 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11659,10 +12334,10 @@ else
+@@ -11690,10 +12340,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -11894,7 +17125,7 @@ index a2f33c0f35d..90667680701 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -14948,13 +15623,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -14979,13 +15629,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -11915,7 +17146,7 @@ index a2f33c0f35d..90667680701 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -14969,14 +15651,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -15000,14 +15657,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -11934,7 +17165,7 @@ index a2f33c0f35d..90667680701 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -15009,12 +15694,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -15040,12 +15700,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -11948,7 +17179,7 @@ index a2f33c0f35d..90667680701 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -15069,8 +15754,13 @@ reload_flag \
+@@ -15100,8 +15760,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -11962,7 +17193,7 @@ index a2f33c0f35d..90667680701 100755
STRIP \
RANLIB \
CC \
-@@ -15080,12 +15770,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -15111,12 +15776,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -11978,7 +17209,7 @@ index a2f33c0f35d..90667680701 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -15101,7 +15793,6 @@ no_undefined_flag \
+@@ -15132,7 +15799,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -11986,7 +17217,7 @@ index a2f33c0f35d..90667680701 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -15137,6 +15828,7 @@ module_cmds \
+@@ -15168,6 +15834,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -11994,7 +17225,7 @@ index a2f33c0f35d..90667680701 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -15835,7 +16527,8 @@ esac ;;
+@@ -15866,7 +16533,8 @@ esac ;;
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -12004,7 +17235,7 @@ index a2f33c0f35d..90667680701 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -15938,19 +16631,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -15969,19 +16637,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -12048,7 +17279,7 @@ index a2f33c0f35d..90667680701 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -15980,6 +16696,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -16011,6 +16702,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -12061,7 +17292,7 @@ index a2f33c0f35d..90667680701 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -15989,6 +16711,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -16020,6 +16717,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -12071,7 +17302,7 @@ index a2f33c0f35d..90667680701 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -16103,12 +16828,12 @@ with_gcc=$GCC
+@@ -16134,12 +16834,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -12087,7 +17318,7 @@ index a2f33c0f35d..90667680701 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -16195,9 +16920,6 @@ inherit_rpath=$inherit_rpath
+@@ -16226,9 +16926,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -12097,7 +17328,7 @@ index a2f33c0f35d..90667680701 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -16213,6 +16935,9 @@ include_expsyms=$lt_include_expsyms
+@@ -16244,6 +16941,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -12107,7 +17338,7 @@ index a2f33c0f35d..90667680701 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -16245,210 +16970,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -16276,210 +16976,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -12481,8 +17712,28 @@ index a2f33c0f35d..90667680701 100755
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
+diff --git a/libctf/Makefile.in b/libctf/Makefile.in
+index 1984f50867a..51a3dd26e87 100644
+--- a/libctf/Makefile.in
++++ b/libctf/Makefile.in
+@@ -393,6 +393,7 @@ CYGPATH_W = @CYGPATH_W@
+ DATADIRNAME = @DATADIRNAME@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -426,6 +427,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
diff --git a/libctf/configure b/libctf/configure
-index de10fef84a1..1b0ee0d32c6 100755
+index 8704bc215f4..c1bf438bda6 100755
--- a/libctf/configure
+++ b/libctf/configure
@@ -669,6 +669,8 @@ OTOOL
@@ -12494,7 +17745,7 @@ index de10fef84a1..1b0ee0d32c6 100755
OBJDUMP
LN_S
NM
-@@ -801,6 +803,7 @@ enable_static
+@@ -800,6 +802,7 @@ enable_static
with_pic
enable_fast_install
with_gnu_ld
@@ -12502,7 +17753,7 @@ index de10fef84a1..1b0ee0d32c6 100755
enable_libtool_lock
enable_largefile
enable_werror_always
-@@ -1475,6 +1478,8 @@ Optional Packages:
+@@ -1463,6 +1466,8 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
@@ -12511,7 +17762,7 @@ index de10fef84a1..1b0ee0d32c6 100755
--with-system-zlib use installed libz
Some influential environment variables:
-@@ -5583,8 +5588,8 @@ esac
+@@ -5571,8 +5576,8 @@ esac
@@ -12522,7 +17773,7 @@ index de10fef84a1..1b0ee0d32c6 100755
-@@ -5624,7 +5629,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -5612,7 +5617,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
@@ -12531,7 +17782,7 @@ index de10fef84a1..1b0ee0d32c6 100755
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -6311,8 +6316,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -6305,8 +6310,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -12542,7 +17793,7 @@ index de10fef84a1..1b0ee0d32c6 100755
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -6361,6 +6366,80 @@ esac
+@@ -6355,6 +6360,80 @@ esac
@@ -12623,7 +17874,7 @@ index de10fef84a1..1b0ee0d32c6 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -6377,6 +6456,11 @@ case $reload_flag in
+@@ -6371,6 +6450,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -12635,7 +17886,7 @@ index de10fef84a1..1b0ee0d32c6 100755
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6545,7 +6629,8 @@ mingw* | pw32*)
+@@ -6539,7 +6623,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -12645,7 +17896,7 @@ index de10fef84a1..1b0ee0d32c6 100755
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -6699,6 +6784,21 @@ esac
+@@ -6693,6 +6778,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -12667,7 +17918,7 @@ index de10fef84a1..1b0ee0d32c6 100755
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6714,6 +6814,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6708,6 +6808,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -12825,7 +18076,7 @@ index de10fef84a1..1b0ee0d32c6 100755
plugin_option=
plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
for plugin in $plugin_names; do
-@@ -6728,8 +6979,10 @@ for plugin in $plugin_names; do
+@@ -6722,8 +6973,10 @@ for plugin in $plugin_names; do
done
if test -n "$ac_tool_prefix"; then
@@ -12838,7 +18089,7 @@ index de10fef84a1..1b0ee0d32c6 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -6745,7 +6998,7 @@ do
+@@ -6739,7 +6992,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -12847,7 +18098,7 @@ index de10fef84a1..1b0ee0d32c6 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6765,11 +7018,15 @@ $as_echo "no" >&6; }
+@@ -6759,11 +7012,15 @@ $as_echo "no" >&6; }
fi
@@ -12866,7 +18117,7 @@ index de10fef84a1..1b0ee0d32c6 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -6785,7 +7042,7 @@ do
+@@ -6779,7 +7036,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -12875,7 +18126,7 @@ index de10fef84a1..1b0ee0d32c6 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6804,6 +7061,10 @@ else
+@@ -6798,6 +7055,10 @@ else
$as_echo "no" >&6; }
fi
@@ -12886,7 +18137,7 @@ index de10fef84a1..1b0ee0d32c6 100755
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -6815,25 +7076,19 @@ ac_tool_warned=yes ;;
+@@ -6809,25 +7070,19 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -12921,7 +18172,7 @@ index de10fef84a1..1b0ee0d32c6 100755
-@@ -6845,6 +7100,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -6839,6 +7094,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
@@ -12986,7 +18237,7 @@ index de10fef84a1..1b0ee0d32c6 100755
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-@@ -7184,8 +7497,8 @@ esac
+@@ -7178,8 +7491,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -12997,7 +18248,7 @@ index de10fef84a1..1b0ee0d32c6 100755
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -7221,6 +7534,7 @@ for ac_symprfx in "" "_"; do
+@@ -7215,6 +7528,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -13005,7 +18256,7 @@ index de10fef84a1..1b0ee0d32c6 100755
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -7262,6 +7576,18 @@ _LT_EOF
+@@ -7256,6 +7570,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -13024,7 +18275,7 @@ index de10fef84a1..1b0ee0d32c6 100755
#ifdef __cplusplus
extern "C" {
#endif
-@@ -7273,7 +7599,7 @@ _LT_EOF
+@@ -7267,7 +7593,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -13033,7 +18284,7 @@ index de10fef84a1..1b0ee0d32c6 100755
const char *name;
void *address;
}
-@@ -7299,8 +7625,8 @@ static const void *lt_preloaded_setup() {
+@@ -7293,8 +7619,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -13044,7 +18295,7 @@ index de10fef84a1..1b0ee0d32c6 100755
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7310,8 +7636,8 @@ _LT_EOF
+@@ -7304,8 +7630,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -13055,7 +18306,7 @@ index de10fef84a1..1b0ee0d32c6 100755
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -7348,6 +7674,14 @@ else
+@@ -7342,6 +7668,14 @@ else
$as_echo "ok" >&6; }
fi
@@ -13070,7 +18321,7 @@ index de10fef84a1..1b0ee0d32c6 100755
-@@ -7366,6 +7700,47 @@ fi
+@@ -7360,6 +7694,47 @@ fi
@@ -13118,7 +18369,7 @@ index de10fef84a1..1b0ee0d32c6 100755
-@@ -7575,6 +7950,123 @@ esac
+@@ -7569,6 +7944,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -13242,7 +18493,7 @@ index de10fef84a1..1b0ee0d32c6 100755
case $host_os in
rhapsody* | darwin*)
-@@ -8138,6 +8630,8 @@ _LT_EOF
+@@ -8132,6 +8624,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -13251,7 +18502,7 @@ index de10fef84a1..1b0ee0d32c6 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -8690,8 +9184,6 @@ fi
+@@ -8684,8 +9178,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -13260,7 +18511,7 @@ index de10fef84a1..1b0ee0d32c6 100755
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8857,6 +9349,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8851,6 +9343,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -13273,7 +18524,7 @@ index de10fef84a1..1b0ee0d32c6 100755
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8919,7 +9417,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8913,7 +9411,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -13282,7 +18533,7 @@ index de10fef84a1..1b0ee0d32c6 100755
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8976,13 +9474,17 @@ case $host_os in
+@@ -8970,13 +9468,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -13306,7 +18557,7 @@ index de10fef84a1..1b0ee0d32c6 100755
#
# Check to make sure the PIC flag actually works.
-@@ -9043,6 +9545,11 @@ fi
+@@ -9037,6 +9539,11 @@ fi
@@ -13318,7 +18569,7 @@ index de10fef84a1..1b0ee0d32c6 100755
#
# Check to make sure the static flag actually works.
#
-@@ -9393,7 +9900,8 @@ _LT_EOF
+@@ -9387,7 +9894,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -13328,7 +18579,7 @@ index de10fef84a1..1b0ee0d32c6 100755
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -9492,12 +10000,12 @@ _LT_EOF
+@@ -9486,12 +9994,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -13343,7 +18594,7 @@ index de10fef84a1..1b0ee0d32c6 100755
fi
;;
esac
-@@ -9511,8 +10019,8 @@ _LT_EOF
+@@ -9505,8 +10013,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -13354,7 +18605,7 @@ index de10fef84a1..1b0ee0d32c6 100755
fi
;;
-@@ -9530,8 +10038,8 @@ _LT_EOF
+@@ -9524,8 +10032,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -13365,7 +18616,7 @@ index de10fef84a1..1b0ee0d32c6 100755
else
ld_shlibs=no
fi
-@@ -9577,8 +10085,8 @@ _LT_EOF
+@@ -9571,8 +10079,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -13376,7 +18627,7 @@ index de10fef84a1..1b0ee0d32c6 100755
else
ld_shlibs=no
fi
-@@ -9708,7 +10216,13 @@ _LT_EOF
+@@ -9702,7 +10210,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -13391,7 +18642,7 @@ index de10fef84a1..1b0ee0d32c6 100755
/* end confdefs.h. */
int
-@@ -9721,22 +10235,29 @@ main ()
+@@ -9715,22 +10229,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -13434,7 +18685,7 @@ index de10fef84a1..1b0ee0d32c6 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9748,7 +10269,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9742,7 +10263,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -13449,7 +18700,7 @@ index de10fef84a1..1b0ee0d32c6 100755
/* end confdefs.h. */
int
-@@ -9761,22 +10288,29 @@ main ()
+@@ -9755,22 +10282,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -13492,7 +18743,7 @@ index de10fef84a1..1b0ee0d32c6 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9821,20 +10355,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9815,20 +10349,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -13570,7 +18821,7 @@ index de10fef84a1..1b0ee0d32c6 100755
;;
darwin* | rhapsody*)
-@@ -9895,7 +10472,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9889,7 +10466,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -13579,7 +18830,7 @@ index de10fef84a1..1b0ee0d32c6 100755
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9903,7 +10480,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9897,7 +10474,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -13588,7 +18839,7 @@ index de10fef84a1..1b0ee0d32c6 100755
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9919,7 +10496,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9913,7 +10490,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -13597,7 +18848,7 @@ index de10fef84a1..1b0ee0d32c6 100755
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9943,10 +10520,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9937,10 +10514,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -13610,7 +18861,7 @@ index de10fef84a1..1b0ee0d32c6 100755
;;
esac
else
-@@ -10025,23 +10602,36 @@ fi
+@@ -10019,23 +10596,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -13655,7 +18906,7 @@ index de10fef84a1..1b0ee0d32c6 100755
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -10126,7 +10716,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10120,7 +10710,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -13664,7 +18915,7 @@ index de10fef84a1..1b0ee0d32c6 100755
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -10145,9 +10735,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10139,9 +10729,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -13676,7 +18927,7 @@ index de10fef84a1..1b0ee0d32c6 100755
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -10723,8 +11313,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10717,8 +11307,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -13688,7 +18939,7 @@ index de10fef84a1..1b0ee0d32c6 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -10757,13 +11348,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10751,13 +11342,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -13761,16 +19012,16 @@ index de10fef84a1..1b0ee0d32c6 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -11641,7 +12290,7 @@ else
+@@ -11635,7 +12284,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11644 "configure"
+-#line 11638 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11685,10 +12334,10 @@ else
+@@ -11679,10 +12328,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -13783,16 +19034,16 @@ index de10fef84a1..1b0ee0d32c6 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11747,7 +12396,7 @@ else
+@@ -11741,7 +12390,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11750 "configure"
+-#line 11744 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11791,10 +12440,10 @@ else
+@@ -11785,10 +12434,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -13805,7 +19056,7 @@ index de10fef84a1..1b0ee0d32c6 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -14479,13 +15128,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -14473,13 +15122,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -13826,7 +19077,7 @@ index de10fef84a1..1b0ee0d32c6 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -14500,14 +15156,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -14494,14 +15150,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -13845,7 +19096,7 @@ index de10fef84a1..1b0ee0d32c6 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -14540,12 +15199,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -14534,12 +15193,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -13859,7 +19110,7 @@ index de10fef84a1..1b0ee0d32c6 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -14600,8 +15259,13 @@ reload_flag \
+@@ -14594,8 +15253,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -13873,7 +19124,7 @@ index de10fef84a1..1b0ee0d32c6 100755
STRIP \
RANLIB \
CC \
-@@ -14611,12 +15275,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -14605,12 +15269,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -13889,7 +19140,7 @@ index de10fef84a1..1b0ee0d32c6 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -14632,7 +15298,6 @@ no_undefined_flag \
+@@ -14626,7 +15292,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -13897,7 +19148,7 @@ index de10fef84a1..1b0ee0d32c6 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -14668,6 +15333,7 @@ module_cmds \
+@@ -14662,6 +15327,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -13905,7 +19156,7 @@ index de10fef84a1..1b0ee0d32c6 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -15424,7 +16090,8 @@ $as_echo X"$file" |
+@@ -15418,7 +16084,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -13915,7 +19166,7 @@ index de10fef84a1..1b0ee0d32c6 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -15527,19 +16194,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -15521,19 +16188,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -13959,7 +19210,7 @@ index de10fef84a1..1b0ee0d32c6 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -15569,6 +16259,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -15563,6 +16253,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -13972,7 +19223,7 @@ index de10fef84a1..1b0ee0d32c6 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -15578,6 +16274,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -15572,6 +16268,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -13982,7 +19233,7 @@ index de10fef84a1..1b0ee0d32c6 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -15692,12 +16391,12 @@ with_gcc=$GCC
+@@ -15686,12 +16385,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -13998,7 +19249,7 @@ index de10fef84a1..1b0ee0d32c6 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -15784,9 +16483,6 @@ inherit_rpath=$inherit_rpath
+@@ -15778,9 +16477,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -14008,7 +19259,7 @@ index de10fef84a1..1b0ee0d32c6 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -15802,6 +16498,9 @@ include_expsyms=$lt_include_expsyms
+@@ -15796,6 +16492,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -14018,7 +19269,7 @@ index de10fef84a1..1b0ee0d32c6 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -15834,210 +16533,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -15828,210 +16527,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -14393,7 +19644,7 @@ index de10fef84a1..1b0ee0d32c6 100755
chmod +x "$ofile"
diff --git a/libtool.m4 b/libtool.m4
-index a216bb14e99..e37c45ac0b1 100644
+index ad63ebbb385..b65c22bf80d 100644
--- a/libtool.m4
+++ b/libtool.m4
@@ -1,7 +1,8 @@
@@ -14825,7 +20076,7 @@ index a216bb14e99..e37c45ac0b1 100644
])# _LT_CHECK_MAGIC_METHOD
-@@ -3299,6 +3460,67 @@ dnl aclocal-1.4 backwards compatibility:
+@@ -3305,6 +3466,67 @@ dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AM_PROG_NM], [])
dnl AC_DEFUN([AC_PROG_NM], [])
@@ -14893,7 +20144,7 @@ index a216bb14e99..e37c45ac0b1 100644
# LT_LIB_M
# --------
-@@ -3425,8 +3647,8 @@ esac
+@@ -3431,8 +3653,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -14904,7 +20155,7 @@ index a216bb14e99..e37c45ac0b1 100644
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -3462,6 +3684,7 @@ for ac_symprfx in "" "_"; do
+@@ -3468,6 +3690,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -14912,7 +20163,7 @@ index a216bb14e99..e37c45ac0b1 100644
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -3495,6 +3718,18 @@ _LT_EOF
+@@ -3501,6 +3724,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -14931,7 +20182,7 @@ index a216bb14e99..e37c45ac0b1 100644
#ifdef __cplusplus
extern "C" {
#endif
-@@ -3506,7 +3741,7 @@ _LT_EOF
+@@ -3512,7 +3747,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -14940,7 +20191,7 @@ index a216bb14e99..e37c45ac0b1 100644
const char *name;
void *address;
}
-@@ -3532,15 +3767,15 @@ static const void *lt_preloaded_setup() {
+@@ -3538,15 +3773,15 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -14960,7 +20211,7 @@ index a216bb14e99..e37c45ac0b1 100644
else
echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
fi
-@@ -3573,6 +3808,13 @@ else
+@@ -3579,6 +3814,13 @@ else
AC_MSG_RESULT(ok)
fi
@@ -14974,7 +20225,7 @@ index a216bb14e99..e37c45ac0b1 100644
_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
[Take the output of nm and produce a listing of raw symbols and C names])
_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
-@@ -3583,6 +3825,8 @@ _LT_DECL([global_symbol_to_c_name_address],
+@@ -3589,6 +3831,8 @@ _LT_DECL([global_symbol_to_c_name_address],
_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
[lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
[Transform the output of nm in a C name address pair when lib prefix is needed])
@@ -14983,7 +20234,7 @@ index a216bb14e99..e37c45ac0b1 100644
]) # _LT_CMD_GLOBAL_SYMBOLS
-@@ -3594,7 +3838,6 @@ _LT_TAGVAR(lt_prog_compiler_wl, $1)=
+@@ -3600,7 +3844,6 @@ _LT_TAGVAR(lt_prog_compiler_wl, $1)=
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
_LT_TAGVAR(lt_prog_compiler_static, $1)=
@@ -14991,7 +20242,7 @@ index a216bb14e99..e37c45ac0b1 100644
m4_if([$1], [CXX], [
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
-@@ -3700,6 +3943,12 @@ m4_if([$1], [CXX], [
+@@ -3706,6 +3949,12 @@ m4_if([$1], [CXX], [
;;
esac
;;
@@ -15004,7 +20255,7 @@ index a216bb14e99..e37c45ac0b1 100644
dgux*)
case $cc_basename in
ec++*)
-@@ -3852,7 +4101,7 @@ m4_if([$1], [CXX], [
+@@ -3858,7 +4107,7 @@ m4_if([$1], [CXX], [
;;
solaris*)
case $cc_basename in
@@ -15013,7 +20264,7 @@ index a216bb14e99..e37c45ac0b1 100644
# Sun C++ 4.2, 5.x and Centerline C++
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-@@ -4075,6 +4324,12 @@ m4_if([$1], [CXX], [
+@@ -4081,6 +4330,12 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
;;
@@ -15026,7 +20277,7 @@ index a216bb14e99..e37c45ac0b1 100644
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -4137,7 +4392,7 @@ m4_if([$1], [CXX], [
+@@ -4143,7 +4398,7 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
case $cc_basename in
@@ -15035,7 +20286,7 @@ index a216bb14e99..e37c45ac0b1 100644
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-@@ -4194,9 +4449,11 @@ case $host_os in
+@@ -4200,9 +4455,11 @@ case $host_os in
_LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
;;
esac
@@ -15050,7 +20301,7 @@ index a216bb14e99..e37c45ac0b1 100644
#
# Check to make sure the PIC flag actually works.
-@@ -4215,6 +4472,8 @@ fi
+@@ -4221,6 +4478,8 @@ fi
_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
[Additional compiler flags for building library objects])
@@ -15059,7 +20310,7 @@ index a216bb14e99..e37c45ac0b1 100644
#
# Check to make sure the static flag actually works.
#
-@@ -4235,6 +4494,7 @@ _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+@@ -4241,6 +4500,7 @@ _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
m4_defun([_LT_LINKER_SHLIBS],
[AC_REQUIRE([LT_PATH_LD])dnl
AC_REQUIRE([LT_PATH_NM])dnl
@@ -15067,7 +20318,7 @@ index a216bb14e99..e37c45ac0b1 100644
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_DECL_SED])dnl
-@@ -4243,6 +4503,7 @@ m4_require([_LT_TAG_COMPILER])dnl
+@@ -4249,6 +4509,7 @@ m4_require([_LT_TAG_COMPILER])dnl
AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
m4_if([$1], [CXX], [
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
@@ -15075,7 +20326,7 @@ index a216bb14e99..e37c45ac0b1 100644
case $host_os in
aix[[4-9]]*)
# If we're using GNU nm, then we don't want the "-C" option.
-@@ -4257,15 +4518,20 @@ m4_if([$1], [CXX], [
+@@ -4263,15 +4524,20 @@ m4_if([$1], [CXX], [
;;
pw32*)
_LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
@@ -15101,7 +20352,7 @@ index a216bb14e99..e37c45ac0b1 100644
], [
runpath_var=
_LT_TAGVAR(allow_undefined_flag, $1)=
-@@ -4433,7 +4699,8 @@ _LT_EOF
+@@ -4439,7 +4705,8 @@ _LT_EOF
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -15111,7 +20362,7 @@ index a216bb14e99..e37c45ac0b1 100644
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -4532,12 +4799,12 @@ _LT_EOF
+@@ -4538,12 +4805,12 @@ _LT_EOF
_LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
@@ -15126,7 +20377,7 @@ index a216bb14e99..e37c45ac0b1 100644
fi
;;
esac
-@@ -4551,8 +4818,8 @@ _LT_EOF
+@@ -4557,8 +4824,8 @@ _LT_EOF
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -15137,7 +20388,7 @@ index a216bb14e99..e37c45ac0b1 100644
fi
;;
-@@ -4570,8 +4837,8 @@ _LT_EOF
+@@ -4576,8 +4843,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -15148,7 +20399,7 @@ index a216bb14e99..e37c45ac0b1 100644
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
-@@ -4617,8 +4884,8 @@ _LT_EOF
+@@ -4623,8 +4890,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -15159,7 +20410,7 @@ index a216bb14e99..e37c45ac0b1 100644
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
-@@ -4748,7 +5015,7 @@ _LT_EOF
+@@ -4754,7 +5021,7 @@ _LT_EOF
_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -15168,7 +20419,7 @@ index a216bb14e99..e37c45ac0b1 100644
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
-@@ -4759,7 +5026,7 @@ _LT_EOF
+@@ -4765,7 +5032,7 @@ _LT_EOF
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -15177,7 +20428,7 @@ index a216bb14e99..e37c45ac0b1 100644
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
-@@ -4803,20 +5070,63 @@ _LT_EOF
+@@ -4809,20 +5076,63 @@ _LT_EOF
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -15255,7 +20506,7 @@ index a216bb14e99..e37c45ac0b1 100644
;;
darwin* | rhapsody*)
-@@ -4850,7 +5160,7 @@ _LT_EOF
+@@ -4856,7 +5166,7 @@ _LT_EOF
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -15264,7 +20515,7 @@ index a216bb14e99..e37c45ac0b1 100644
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-@@ -4858,7 +5168,7 @@ _LT_EOF
+@@ -4864,7 +5174,7 @@ _LT_EOF
hpux9*)
if test "$GCC" = yes; then
@@ -15273,7 +20524,7 @@ index a216bb14e99..e37c45ac0b1 100644
else
_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -4874,7 +5184,7 @@ _LT_EOF
+@@ -4880,7 +5190,7 @@ _LT_EOF
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -15282,7 +20533,7 @@ index a216bb14e99..e37c45ac0b1 100644
else
_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -4898,10 +5208,10 @@ _LT_EOF
+@@ -4904,10 +5214,10 @@ _LT_EOF
_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -15295,7 +20546,7 @@ index a216bb14e99..e37c45ac0b1 100644
;;
esac
else
-@@ -4948,16 +5258,31 @@ _LT_EOF
+@@ -4954,16 +5264,31 @@ _LT_EOF
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -15334,7 +20585,7 @@ index a216bb14e99..e37c45ac0b1 100644
else
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -5042,7 +5367,7 @@ _LT_EOF
+@@ -5048,7 +5373,7 @@ _LT_EOF
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
@@ -15343,7 +20594,7 @@ index a216bb14e99..e37c45ac0b1 100644
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-@@ -5061,9 +5386,9 @@ _LT_EOF
+@@ -5067,9 +5392,9 @@ _LT_EOF
_LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -15355,7 +20606,7 @@ index a216bb14e99..e37c45ac0b1 100644
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -5335,8 +5660,6 @@ _LT_TAGDECL([], [inherit_rpath], [0],
+@@ -5341,8 +5666,6 @@ _LT_TAGDECL([], [inherit_rpath], [0],
to runtime path list])
_LT_TAGDECL([], [link_all_deplibs], [0],
[Whether libtool must link a program against all its dependency libraries])
@@ -15364,7 +20615,7 @@ index a216bb14e99..e37c45ac0b1 100644
_LT_TAGDECL([], [always_export_symbols], [0],
[Set to "yes" if exported symbols are required])
_LT_TAGDECL([], [export_symbols_cmds], [2],
-@@ -5347,6 +5670,8 @@ _LT_TAGDECL([], [include_expsyms], [1],
+@@ -5353,6 +5676,8 @@ _LT_TAGDECL([], [include_expsyms], [1],
[Symbols that must always be exported])
_LT_TAGDECL([], [prelink_cmds], [2],
[Commands necessary for linking programs (against libraries) with templates])
@@ -15373,7 +20624,7 @@ index a216bb14e99..e37c45ac0b1 100644
_LT_TAGDECL([], [file_list_spec], [1],
[Specify filename containing input files])
dnl FIXME: Not yet implemented
-@@ -5448,6 +5773,7 @@ CC="$lt_save_CC"
+@@ -5454,6 +5779,7 @@ CC="$lt_save_CC"
m4_defun([_LT_LANG_CXX_CONFIG],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_EGREP])dnl
@@ -15381,7 +20632,7 @@ index a216bb14e99..e37c45ac0b1 100644
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
(test "X$CXX" != "Xg++"))) ; then
-@@ -5509,6 +5835,7 @@ if test "$_lt_caught_CXX_error" != yes; then
+@@ -5515,6 +5841,7 @@ if test "$_lt_caught_CXX_error" != yes; then
# Allow CC to be a program name with arguments.
lt_save_CC=$CC
@@ -15389,7 +20640,7 @@ index a216bb14e99..e37c45ac0b1 100644
lt_save_LD=$LD
lt_save_GCC=$GCC
GCC=$GXX
-@@ -5526,6 +5853,7 @@ if test "$_lt_caught_CXX_error" != yes; then
+@@ -5532,6 +5859,7 @@ if test "$_lt_caught_CXX_error" != yes; then
fi
test -z "${LDCXX+set}" || LD=$LDCXX
CC=${CXX-"c++"}
@@ -15397,7 +20648,7 @@ index a216bb14e99..e37c45ac0b1 100644
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_CC_BASENAME([$compiler])
-@@ -5689,7 +6017,7 @@ if test "$_lt_caught_CXX_error" != yes; then
+@@ -5695,7 +6023,7 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
# Determine the default libpath from the value encoded in an empty
# executable.
@@ -15406,7 +20657,7 @@ index a216bb14e99..e37c45ac0b1 100644
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -5701,7 +6029,7 @@ if test "$_lt_caught_CXX_error" != yes; then
+@@ -5707,7 +6035,7 @@ if test "$_lt_caught_CXX_error" != yes; then
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -15415,7 +20666,7 @@ index a216bb14e99..e37c45ac0b1 100644
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
-@@ -5743,29 +6071,75 @@ if test "$_lt_caught_CXX_error" != yes; then
+@@ -5749,29 +6077,75 @@ if test "$_lt_caught_CXX_error" != yes; then
;;
cygwin* | mingw* | pw32* | cegcc*)
@@ -15514,7 +20765,7 @@ index a216bb14e99..e37c45ac0b1 100644
darwin* | rhapsody*)
_LT_DARWIN_LINKER_FEATURES($1)
;;
-@@ -5840,7 +6214,7 @@ if test "$_lt_caught_CXX_error" != yes; then
+@@ -5846,7 +6220,7 @@ if test "$_lt_caught_CXX_error" != yes; then
;;
*)
if test "$GXX" = yes; then
@@ -15523,7 +20774,7 @@ index a216bb14e99..e37c45ac0b1 100644
else
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
-@@ -5911,10 +6285,10 @@ if test "$_lt_caught_CXX_error" != yes; then
+@@ -5917,10 +6291,10 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
@@ -15536,7 +20787,7 @@ index a216bb14e99..e37c45ac0b1 100644
;;
esac
fi
-@@ -5955,9 +6329,9 @@ if test "$_lt_caught_CXX_error" != yes; then
+@@ -5961,9 +6335,9 @@ if test "$_lt_caught_CXX_error" != yes; then
*)
if test "$GXX" = yes; then
if test "$with_gnu_ld" = no; then
@@ -15548,7 +20799,7 @@ index a216bb14e99..e37c45ac0b1 100644
fi
fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
-@@ -6027,20 +6401,20 @@ if test "$_lt_caught_CXX_error" != yes; then
+@@ -6033,20 +6407,20 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
@@ -15573,7 +20824,7 @@ index a216bb14e99..e37c45ac0b1 100644
;;
*) # Version 6 and above use weak symbols
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-@@ -6235,7 +6609,7 @@ if test "$_lt_caught_CXX_error" != yes; then
+@@ -6241,7 +6615,7 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
;;
*)
@@ -15582,7 +20833,7 @@ index a216bb14e99..e37c45ac0b1 100644
;;
esac
-@@ -6281,7 +6655,7 @@ if test "$_lt_caught_CXX_error" != yes; then
+@@ -6287,7 +6661,7 @@ if test "$_lt_caught_CXX_error" != yes; then
solaris*)
case $cc_basename in
@@ -15591,7 +20842,7 @@ index a216bb14e99..e37c45ac0b1 100644
# Sun C++ 4.2, 5.x and Centerline C++
_LT_TAGVAR(archive_cmds_need_lc,$1)=yes
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-@@ -6322,9 +6696,9 @@ if test "$_lt_caught_CXX_error" != yes; then
+@@ -6328,9 +6702,9 @@ if test "$_lt_caught_CXX_error" != yes; then
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
_LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
if $CC --version | $GREP -v '^2\.7' > /dev/null; then
@@ -15603,7 +20854,7 @@ index a216bb14e99..e37c45ac0b1 100644
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
-@@ -6453,6 +6827,7 @@ if test "$_lt_caught_CXX_error" != yes; then
+@@ -6459,6 +6833,7 @@ if test "$_lt_caught_CXX_error" != yes; then
fi # test -n "$compiler"
CC=$lt_save_CC
@@ -15611,7 +20862,7 @@ index a216bb14e99..e37c45ac0b1 100644
LDCXX=$LD
LD=$lt_save_LD
GCC=$lt_save_GCC
-@@ -6467,6 +6842,29 @@ AC_LANG_POP
+@@ -6473,6 +6848,29 @@ AC_LANG_POP
])# _LT_LANG_CXX_CONFIG
@@ -15641,7 +20892,7 @@ index a216bb14e99..e37c45ac0b1 100644
# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
# ---------------------------------
# Figure out "hidden" library dependencies from verbose
-@@ -6475,6 +6873,7 @@ AC_LANG_POP
+@@ -6481,6 +6879,7 @@ AC_LANG_POP
# objects, libraries and library flags.
m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
@@ -15649,7 +20900,7 @@ index a216bb14e99..e37c45ac0b1 100644
# Dependencies to place before and after the object being linked:
_LT_TAGVAR(predep_objects, $1)=
_LT_TAGVAR(postdep_objects, $1)=
-@@ -6525,6 +6924,13 @@ public class foo {
+@@ -6531,6 +6930,13 @@ public class foo {
};
_LT_EOF
])
@@ -15663,7 +20914,7 @@ index a216bb14e99..e37c45ac0b1 100644
dnl Parse the compiler output and extract the necessary
dnl objects, libraries and library flags.
if AC_TRY_EVAL(ac_compile); then
-@@ -6536,7 +6942,7 @@ if AC_TRY_EVAL(ac_compile); then
+@@ -6542,7 +6948,7 @@ if AC_TRY_EVAL(ac_compile); then
pre_test_object_deps_done=no
for p in `eval "$output_verbose_link_cmd"`; do
@@ -15672,7 +20923,7 @@ index a216bb14e99..e37c45ac0b1 100644
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
-@@ -6545,13 +6951,22 @@ if AC_TRY_EVAL(ac_compile); then
+@@ -6551,13 +6957,22 @@ if AC_TRY_EVAL(ac_compile); then
test $p = "-R"; then
prev=$p
continue
@@ -15699,7 +20950,7 @@ index a216bb14e99..e37c45ac0b1 100644
# Internal compiler library paths should come after those
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
-@@ -6571,8 +6986,10 @@ if AC_TRY_EVAL(ac_compile); then
+@@ -6577,8 +6992,10 @@ if AC_TRY_EVAL(ac_compile); then
_LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
fi
fi
@@ -15710,7 +20961,7 @@ index a216bb14e99..e37c45ac0b1 100644
*.$objext)
# This assumes that the test object file only shows up
# once in the compiler output.
-@@ -6608,6 +7025,7 @@ else
+@@ -6614,6 +7031,7 @@ else
fi
$RM -f confest.$objext
@@ -15718,7 +20969,7 @@ index a216bb14e99..e37c45ac0b1 100644
# PORTME: override above test on systems where it is broken
m4_if([$1], [CXX],
-@@ -6644,7 +7062,7 @@ linux*)
+@@ -6650,7 +7068,7 @@ linux*)
solaris*)
case $cc_basename in
@@ -15727,7 +20978,7 @@ index a216bb14e99..e37c45ac0b1 100644
# The more standards-conforming stlport4 library is
# incompatible with the Cstd library. Avoid specifying
# it if it's in CXXFLAGS. Ignore libCrun as
-@@ -6757,7 +7175,9 @@ if test "$_lt_disable_F77" != yes; then
+@@ -6763,7 +7181,9 @@ if test "$_lt_disable_F77" != yes; then
# Allow CC to be a program name with arguments.
lt_save_CC="$CC"
lt_save_GCC=$GCC
@@ -15737,7 +20988,7 @@ index a216bb14e99..e37c45ac0b1 100644
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_CC_BASENAME([$compiler])
-@@ -6811,6 +7231,7 @@ if test "$_lt_disable_F77" != yes; then
+@@ -6817,6 +7237,7 @@ if test "$_lt_disable_F77" != yes; then
GCC=$lt_save_GCC
CC="$lt_save_CC"
@@ -15745,7 +20996,7 @@ index a216bb14e99..e37c45ac0b1 100644
fi # test "$_lt_disable_F77" != yes
AC_LANG_POP
-@@ -6887,7 +7308,9 @@ if test "$_lt_disable_FC" != yes; then
+@@ -6893,7 +7314,9 @@ if test "$_lt_disable_FC" != yes; then
# Allow CC to be a program name with arguments.
lt_save_CC="$CC"
lt_save_GCC=$GCC
@@ -15755,7 +21006,7 @@ index a216bb14e99..e37c45ac0b1 100644
compiler=$CC
GCC=$ac_cv_fc_compiler_gnu
-@@ -6943,7 +7366,8 @@ if test "$_lt_disable_FC" != yes; then
+@@ -6949,7 +7372,8 @@ if test "$_lt_disable_FC" != yes; then
fi # test -n "$compiler"
GCC=$lt_save_GCC
@@ -15765,7 +21016,7 @@ index a216bb14e99..e37c45ac0b1 100644
fi # test "$_lt_disable_FC" != yes
AC_LANG_POP
-@@ -6980,10 +7404,12 @@ _LT_COMPILER_BOILERPLATE
+@@ -6986,10 +7410,12 @@ _LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
@@ -15779,7 +21030,7 @@ index a216bb14e99..e37c45ac0b1 100644
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_TAGVAR(LD, $1)="$LD"
-@@ -7014,7 +7440,8 @@ fi
+@@ -7020,7 +7446,8 @@ fi
AC_LANG_RESTORE
GCC=$lt_save_GCC
@@ -15789,7 +21040,7 @@ index a216bb14e99..e37c45ac0b1 100644
])# _LT_LANG_GCJ_CONFIG
-@@ -7049,9 +7476,11 @@ _LT_LINKER_BOILERPLATE
+@@ -7055,9 +7482,11 @@ _LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
lt_save_CC="$CC"
@@ -15801,7 +21052,7 @@ index a216bb14e99..e37c45ac0b1 100644
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_CC_BASENAME([$compiler])
-@@ -7064,7 +7493,8 @@ fi
+@@ -7070,7 +7499,8 @@ fi
GCC=$lt_save_GCC
AC_LANG_RESTORE
@@ -15811,7 +21062,7 @@ index a216bb14e99..e37c45ac0b1 100644
])# _LT_LANG_RC_CONFIG
-@@ -7123,6 +7553,15 @@ _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+@@ -7129,6 +7559,15 @@ _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
AC_SUBST([OBJDUMP])
])
@@ -15827,7 +21078,7 @@ index a216bb14e99..e37c45ac0b1 100644
# _LT_DECL_SED
# ------------
-@@ -7216,8 +7655,8 @@ m4_defun([_LT_CHECK_SHELL_FEATURES],
+@@ -7222,8 +7661,8 @@ m4_defun([_LT_CHECK_SHELL_FEATURES],
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -15838,7 +21089,7 @@ index a216bb14e99..e37c45ac0b1 100644
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -7256,206 +7695,162 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+@@ -7262,206 +7701,162 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
])# _LT_CHECK_SHELL_FEATURES
@@ -21471,8 +26722,36 @@ index bf92b5e0790..c573da90c5c 100644
# These exist entirely to fool aclocal when bootstrapping libtool.
#
+diff --git a/opcodes/Makefile.in b/opcodes/Makefile.in
+index 2257b0872af..73aae3b210f 100644
+--- a/opcodes/Makefile.in
++++ b/opcodes/Makefile.in
+@@ -292,6 +292,7 @@ CYGPATH_W = @CYGPATH_W@
+ DATADIRNAME = @DATADIRNAME@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -325,6 +326,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ MKINSTALLDIRS = @MKINSTALLDIRS@
+ MSGFMT = @MSGFMT@
+@@ -363,6 +365,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
diff --git a/opcodes/configure b/opcodes/configure
-index 6690a502b2f..badcc0776df 100755
+index db023b48c28..c562aada2a4 100755
--- a/opcodes/configure
+++ b/opcodes/configure
@@ -682,6 +682,9 @@ OTOOL
@@ -21522,7 +26801,7 @@ index 6690a502b2f..badcc0776df 100755
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -5705,8 +5711,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -5711,8 +5717,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -21533,7 +26812,7 @@ index 6690a502b2f..badcc0776df 100755
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -5755,6 +5761,80 @@ esac
+@@ -5761,6 +5767,80 @@ esac
@@ -21614,7 +26893,7 @@ index 6690a502b2f..badcc0776df 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -5771,6 +5851,11 @@ case $reload_flag in
+@@ -5777,6 +5857,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -21626,7 +26905,7 @@ index 6690a502b2f..badcc0776df 100755
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -5939,7 +6024,8 @@ mingw* | pw32*)
+@@ -5945,7 +6030,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -21636,7 +26915,7 @@ index 6690a502b2f..badcc0776df 100755
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -6093,6 +6179,21 @@ esac
+@@ -6099,6 +6185,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -21658,7 +26937,7 @@ index 6690a502b2f..badcc0776df 100755
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6108,6 +6209,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6114,6 +6215,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -21816,7 +27095,7 @@ index 6690a502b2f..badcc0776df 100755
plugin_option=
plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
for plugin in $plugin_names; do
-@@ -6122,8 +6374,10 @@ for plugin in $plugin_names; do
+@@ -6128,8 +6380,10 @@ for plugin in $plugin_names; do
done
if test -n "$ac_tool_prefix"; then
@@ -21829,7 +27108,7 @@ index 6690a502b2f..badcc0776df 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -6139,7 +6393,7 @@ do
+@@ -6145,7 +6399,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -21838,7 +27117,7 @@ index 6690a502b2f..badcc0776df 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6159,11 +6413,15 @@ $as_echo "no" >&6; }
+@@ -6165,11 +6419,15 @@ $as_echo "no" >&6; }
fi
@@ -21857,7 +27136,7 @@ index 6690a502b2f..badcc0776df 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -6179,7 +6437,7 @@ do
+@@ -6185,7 +6443,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -21866,7 +27145,7 @@ index 6690a502b2f..badcc0776df 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6198,6 +6456,10 @@ else
+@@ -6204,6 +6462,10 @@ else
$as_echo "no" >&6; }
fi
@@ -21877,7 +27156,7 @@ index 6690a502b2f..badcc0776df 100755
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -6209,25 +6471,20 @@ ac_tool_warned=yes ;;
+@@ -6215,25 +6477,20 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -21913,7 +27192,7 @@ index 6690a502b2f..badcc0776df 100755
-@@ -6238,6 +6495,63 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -6244,6 +6501,63 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
@@ -21977,7 +27256,7 @@ index 6690a502b2f..badcc0776df 100755
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-@@ -6578,8 +6892,8 @@ esac
+@@ -6584,8 +6898,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -21988,7 +27267,7 @@ index 6690a502b2f..badcc0776df 100755
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -6615,6 +6929,7 @@ for ac_symprfx in "" "_"; do
+@@ -6621,6 +6935,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -21996,7 +27275,7 @@ index 6690a502b2f..badcc0776df 100755
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -6656,6 +6971,18 @@ _LT_EOF
+@@ -6662,6 +6977,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -22015,7 +27294,7 @@ index 6690a502b2f..badcc0776df 100755
#ifdef __cplusplus
extern "C" {
#endif
-@@ -6667,7 +6994,7 @@ _LT_EOF
+@@ -6673,7 +7000,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -22024,7 +27303,7 @@ index 6690a502b2f..badcc0776df 100755
const char *name;
void *address;
}
-@@ -6693,8 +7020,8 @@ static const void *lt_preloaded_setup() {
+@@ -6699,8 +7026,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -22035,7 +27314,7 @@ index 6690a502b2f..badcc0776df 100755
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -6704,8 +7031,8 @@ _LT_EOF
+@@ -6710,8 +7037,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -22046,7 +27325,7 @@ index 6690a502b2f..badcc0776df 100755
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -6742,6 +7069,14 @@ else
+@@ -6748,6 +7075,14 @@ else
$as_echo "ok" >&6; }
fi
@@ -22061,7 +27340,7 @@ index 6690a502b2f..badcc0776df 100755
-@@ -6760,6 +7095,47 @@ fi
+@@ -6766,6 +7101,47 @@ fi
@@ -22109,7 +27388,7 @@ index 6690a502b2f..badcc0776df 100755
-@@ -6969,6 +7345,123 @@ esac
+@@ -6975,6 +7351,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -22233,7 +27512,7 @@ index 6690a502b2f..badcc0776df 100755
case $host_os in
rhapsody* | darwin*)
-@@ -7532,6 +8025,8 @@ _LT_EOF
+@@ -7538,6 +8031,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -22242,7 +27521,7 @@ index 6690a502b2f..badcc0776df 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -8084,8 +8579,6 @@ fi
+@@ -8090,8 +8585,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -22251,7 +27530,7 @@ index 6690a502b2f..badcc0776df 100755
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8251,6 +8744,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8257,6 +8750,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -22264,7 +27543,7 @@ index 6690a502b2f..badcc0776df 100755
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8313,7 +8812,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8319,7 +8818,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -22273,7 +27552,7 @@ index 6690a502b2f..badcc0776df 100755
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8370,13 +8869,17 @@ case $host_os in
+@@ -8376,13 +8875,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -22297,7 +27576,7 @@ index 6690a502b2f..badcc0776df 100755
#
# Check to make sure the PIC flag actually works.
-@@ -8437,6 +8940,11 @@ fi
+@@ -8443,6 +8946,11 @@ fi
@@ -22309,7 +27588,7 @@ index 6690a502b2f..badcc0776df 100755
#
# Check to make sure the static flag actually works.
#
-@@ -8787,7 +9295,8 @@ _LT_EOF
+@@ -8793,7 +9301,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -22319,7 +27598,7 @@ index 6690a502b2f..badcc0776df 100755
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -8886,12 +9395,12 @@ _LT_EOF
+@@ -8892,12 +9401,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -22334,7 +27613,7 @@ index 6690a502b2f..badcc0776df 100755
fi
;;
esac
-@@ -8905,8 +9414,8 @@ _LT_EOF
+@@ -8911,8 +9420,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -22345,7 +27624,7 @@ index 6690a502b2f..badcc0776df 100755
fi
;;
-@@ -8924,8 +9433,8 @@ _LT_EOF
+@@ -8930,8 +9439,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -22356,7 +27635,7 @@ index 6690a502b2f..badcc0776df 100755
else
ld_shlibs=no
fi
-@@ -8971,8 +9480,8 @@ _LT_EOF
+@@ -8977,8 +9486,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -22367,7 +27646,7 @@ index 6690a502b2f..badcc0776df 100755
else
ld_shlibs=no
fi
-@@ -9102,7 +9611,13 @@ _LT_EOF
+@@ -9108,7 +9617,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -22382,7 +27661,7 @@ index 6690a502b2f..badcc0776df 100755
/* end confdefs.h. */
int
-@@ -9115,22 +9630,29 @@ main ()
+@@ -9121,22 +9636,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -22425,7 +27704,7 @@ index 6690a502b2f..badcc0776df 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9142,7 +9664,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9148,7 +9670,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -22440,7 +27719,7 @@ index 6690a502b2f..badcc0776df 100755
/* end confdefs.h. */
int
-@@ -9155,22 +9683,29 @@ main ()
+@@ -9161,22 +9689,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -22483,7 +27762,7 @@ index 6690a502b2f..badcc0776df 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9215,20 +9750,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9221,20 +9756,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -22561,7 +27840,7 @@ index 6690a502b2f..badcc0776df 100755
;;
darwin* | rhapsody*)
-@@ -9289,7 +9867,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9295,7 +9873,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -22570,7 +27849,7 @@ index 6690a502b2f..badcc0776df 100755
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9297,7 +9875,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9303,7 +9881,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -22579,7 +27858,7 @@ index 6690a502b2f..badcc0776df 100755
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9313,7 +9891,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9319,7 +9897,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -22588,7 +27867,7 @@ index 6690a502b2f..badcc0776df 100755
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9337,10 +9915,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9343,10 +9921,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -22601,7 +27880,7 @@ index 6690a502b2f..badcc0776df 100755
;;
esac
else
-@@ -9419,23 +9997,36 @@ fi
+@@ -9425,23 +10003,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -22646,7 +27925,7 @@ index 6690a502b2f..badcc0776df 100755
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9520,7 +10111,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9526,7 +10117,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -22655,7 +27934,7 @@ index 6690a502b2f..badcc0776df 100755
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9539,9 +10130,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9545,9 +10136,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -22667,7 +27946,7 @@ index 6690a502b2f..badcc0776df 100755
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -10117,8 +10708,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10123,8 +10714,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -22679,7 +27958,7 @@ index 6690a502b2f..badcc0776df 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -10151,13 +10743,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10157,13 +10749,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -22752,16 +28031,16 @@ index 6690a502b2f..badcc0776df 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -11035,7 +11685,7 @@ else
+@@ -11041,7 +11691,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11038 "configure"
+-#line 11044 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11079,10 +11729,10 @@ else
+@@ -11085,10 +11735,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -22774,16 +28053,16 @@ index 6690a502b2f..badcc0776df 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11141,7 +11791,7 @@ else
+@@ -11147,7 +11797,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11144 "configure"
+-#line 11150 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11185,10 +11835,10 @@ else
+@@ -11191,10 +11841,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -22796,7 +28075,7 @@ index 6690a502b2f..badcc0776df 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -13390,13 +14040,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -13396,13 +14046,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -22817,7 +28096,7 @@ index 6690a502b2f..badcc0776df 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -13411,14 +14068,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -13417,14 +14074,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -22836,7 +28115,7 @@ index 6690a502b2f..badcc0776df 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -13451,12 +14111,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -13457,12 +14117,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -22850,7 +28129,7 @@ index 6690a502b2f..badcc0776df 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -13511,8 +14171,13 @@ reload_flag \
+@@ -13517,8 +14177,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -22864,7 +28143,7 @@ index 6690a502b2f..badcc0776df 100755
STRIP \
RANLIB \
CC \
-@@ -13522,12 +14187,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -13528,12 +14193,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -22880,7 +28159,7 @@ index 6690a502b2f..badcc0776df 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -13543,7 +14210,6 @@ no_undefined_flag \
+@@ -13549,7 +14216,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -22888,7 +28167,7 @@ index 6690a502b2f..badcc0776df 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -13579,6 +14245,7 @@ module_cmds \
+@@ -13585,6 +14251,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -22896,7 +28175,7 @@ index 6690a502b2f..badcc0776df 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -14344,7 +15011,8 @@ $as_echo X"$file" |
+@@ -14350,7 +15017,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -22906,7 +28185,7 @@ index 6690a502b2f..badcc0776df 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -14447,19 +15115,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -14453,19 +15121,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -22950,7 +28229,7 @@ index 6690a502b2f..badcc0776df 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -14489,6 +15180,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -14495,6 +15186,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -22963,7 +28242,7 @@ index 6690a502b2f..badcc0776df 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -14498,6 +15195,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -14504,6 +15201,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -22973,7 +28252,7 @@ index 6690a502b2f..badcc0776df 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -14612,12 +15312,12 @@ with_gcc=$GCC
+@@ -14618,12 +15318,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -22989,7 +28268,7 @@ index 6690a502b2f..badcc0776df 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -14704,9 +15404,6 @@ inherit_rpath=$inherit_rpath
+@@ -14710,9 +15410,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -22999,7 +28278,7 @@ index 6690a502b2f..badcc0776df 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -14722,6 +15419,9 @@ include_expsyms=$lt_include_expsyms
+@@ -14728,6 +15425,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -23009,7 +28288,7 @@ index 6690a502b2f..badcc0776df 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -14754,210 +15454,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -14760,210 +15460,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -23383,8 +28662,838 @@ index 6690a502b2f..badcc0776df 100755
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
+diff --git a/sim/Makefile.in b/sim/Makefile.in
+index dbbaa84224a..f819bbe0bdd 100644
+--- a/sim/Makefile.in
++++ b/sim/Makefile.in
+@@ -744,6 +744,7 @@ C_DIALECT = @C_DIALECT@
+ DATADIRNAME = @DATADIRNAME@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DTC = @DTC@
+ DUMPBIN = @DUMPBIN@
+@@ -809,6 +810,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -859,6 +861,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+diff --git a/zlib/Makefile.in b/zlib/Makefile.in
+index c7584492a65..0605835c14f 100644
+--- a/zlib/Makefile.in
++++ b/zlib/Makefile.in
+@@ -1,7 +1,7 @@
+-# Makefile.in generated by automake 1.16.5 from Makefile.am.
++# Makefile.in generated by automake 1.15.1 from Makefile.am.
+ # @configure_input@
+
+-# Copyright (C) 1994-2021 Free Software Foundation, Inc.
++# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -138,7 +138,6 @@ am__uninstall_files_from_dir = { \
+ }
+ am__installdirs = "$(DESTDIR)$(toolexeclibdir)"
+ LIBRARIES = $(toolexeclib_LIBRARIES)
+-LTLIBRARIES = $(noinst_LTLIBRARIES)
+ ARFLAGS = cru
+ AM_V_AR = $(am__v_AR_@AM_V@)
+ am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+@@ -161,6 +160,7 @@ am__objects_1 = libz_a-adler32.$(OBJEXT) libz_a-compress.$(OBJEXT) \
+ libz_a-zutil.$(OBJEXT)
+ @TARGET_LIBRARY_FALSE@am_libz_a_OBJECTS = $(am__objects_1)
+ libz_a_OBJECTS = $(am_libz_a_OBJECTS)
++LTLIBRARIES = $(noinst_LTLIBRARIES)
+ libzgcj_convenience_la_LIBADD =
+ am__libzgcj_convenience_la_SOURCES_DIST = adler32.c compress.c crc32.c \
+ crc32.h deflate.c deflate.h gzguts.h gzread.c gzclose.c \
+@@ -192,22 +192,7 @@ am__v_at_0 = @
+ am__v_at_1 =
+ DEFAULT_INCLUDES = -I.@am__isrc@
+ depcomp = $(SHELL) $(top_srcdir)/../depcomp
+-am__maybe_remake_depfiles = depfiles
+-am__depfiles_remade = ./$(DEPDIR)/adler32.Plo ./$(DEPDIR)/compress.Plo \
+- ./$(DEPDIR)/crc32.Plo ./$(DEPDIR)/deflate.Plo \
+- ./$(DEPDIR)/gzclose.Plo ./$(DEPDIR)/gzlib.Plo \
+- ./$(DEPDIR)/gzread.Plo ./$(DEPDIR)/gzwrite.Plo \
+- ./$(DEPDIR)/infback.Plo ./$(DEPDIR)/inffast.Plo \
+- ./$(DEPDIR)/inflate.Plo ./$(DEPDIR)/inftrees.Plo \
+- ./$(DEPDIR)/libz_a-adler32.Po ./$(DEPDIR)/libz_a-compress.Po \
+- ./$(DEPDIR)/libz_a-crc32.Po ./$(DEPDIR)/libz_a-deflate.Po \
+- ./$(DEPDIR)/libz_a-gzclose.Po ./$(DEPDIR)/libz_a-gzlib.Po \
+- ./$(DEPDIR)/libz_a-gzread.Po ./$(DEPDIR)/libz_a-gzwrite.Po \
+- ./$(DEPDIR)/libz_a-infback.Po ./$(DEPDIR)/libz_a-inffast.Po \
+- ./$(DEPDIR)/libz_a-inflate.Po ./$(DEPDIR)/libz_a-inftrees.Po \
+- ./$(DEPDIR)/libz_a-trees.Po ./$(DEPDIR)/libz_a-uncompr.Po \
+- ./$(DEPDIR)/libz_a-zutil.Po ./$(DEPDIR)/trees.Plo \
+- ./$(DEPDIR)/uncompr.Plo ./$(DEPDIR)/zutil.Plo
++am__depfiles_maybe = depfiles
+ am__mv = mv -f
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@@ -252,6 +237,9 @@ am__define_uniq_tagged_files = \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
++ETAGS = etags
++CTAGS = ctags
++CSCOPE = cscope
+ AM_RECURSIVE_TARGETS = cscope
+ am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/../compile \
+ $(top_srcdir)/../config.guess $(top_srcdir)/../config.sub \
+@@ -272,8 +260,6 @@ am__post_remove_distdir = $(am__remove_distdir)
+ DIST_ARCHIVES = $(distdir).tar.gz
+ GZIP_ENV = --best
+ DIST_TARGETS = dist-gzip
+-# Exists only to be overridden by the user if desired.
+-AM_DISTCHECK_DVI_TARGET = dvi
+ distuninstallcheck_listfiles = find . -type f -print
+ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+@@ -292,18 +278,16 @@ CFLAGS = @CFLAGS@
+ COMPPATH = @COMPPATH@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+-CSCOPE = @CSCOPE@
+-CTAGS = @CTAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+-ETAGS = @ETAGS@
+ EXEEXT = @EXEEXT@
+ FGREP = @FGREP@
+ GREP = @GREP@
+@@ -322,6 +306,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -348,6 +333,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -491,8 +477,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
+- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
++ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+ $(top_srcdir)/../multilib.am $(am__empty):
+
+@@ -536,6 +522,11 @@ uninstall-toolexeclibLIBRARIES:
+ clean-toolexeclibLIBRARIES:
+ -test -z "$(toolexeclib_LIBRARIES)" || rm -f $(toolexeclib_LIBRARIES)
+
++libz.a: $(libz_a_OBJECTS) $(libz_a_DEPENDENCIES) $(EXTRA_libz_a_DEPENDENCIES)
++ $(AM_V_at)-rm -f libz.a
++ $(AM_V_AR)$(libz_a_AR) libz.a $(libz_a_OBJECTS) $(libz_a_LIBADD)
++ $(AM_V_at)$(RANLIB) libz.a
++
+ clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+@@ -547,11 +538,6 @@ clean-noinstLTLIBRARIES:
+ rm -f $${locs}; \
+ }
+
+-libz.a: $(libz_a_OBJECTS) $(libz_a_DEPENDENCIES) $(EXTRA_libz_a_DEPENDENCIES)
+- $(AM_V_at)-rm -f libz.a
+- $(AM_V_AR)$(libz_a_AR) libz.a $(libz_a_OBJECTS) $(libz_a_LIBADD)
+- $(AM_V_at)$(RANLIB) libz.a
+-
+ libzgcj_convenience.la: $(libzgcj_convenience_la_OBJECTS) $(libzgcj_convenience_la_DEPENDENCIES) $(EXTRA_libzgcj_convenience_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(am_libzgcj_convenience_la_rpath) $(libzgcj_convenience_la_OBJECTS) $(libzgcj_convenience_la_LIBADD) $(LIBS)
+
+@@ -561,42 +547,36 @@ mostlyclean-compile:
+ distclean-compile:
+ -rm -f *.tab.c
+
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adler32.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compress.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crc32.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/deflate.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gzclose.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gzlib.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gzread.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gzwrite.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infback.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inffast.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inflate.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inftrees.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-adler32.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-compress.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-crc32.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-deflate.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-gzclose.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-gzlib.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-gzread.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-gzwrite.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-infback.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-inffast.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-inflate.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-inftrees.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-trees.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-uncompr.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-zutil.Po@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trees.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uncompr.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zutil.Plo@am__quote@ # am--include-marker
+-
+-$(am__depfiles_remade):
+- @$(MKDIR_P) $(@D)
+- @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+-
+-am--depfiles: $(am__depfiles_remade)
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adler32.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compress.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crc32.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/deflate.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gzclose.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gzlib.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gzread.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gzwrite.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infback.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inffast.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inflate.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inftrees.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-adler32.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-compress.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-crc32.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-deflate.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-gzclose.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-gzlib.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-gzread.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-gzwrite.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-infback.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-inffast.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-inflate.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-inftrees.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-trees.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-uncompr.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libz_a-zutil.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trees.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uncompr.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zutil.Plo@am__quote@
+
+ .c.o:
+ @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@@ -896,10 +876,8 @@ cscopelist-am: $(am__tagged_files)
+ distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+-distdir: $(BUILT_SOURCES)
+- $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+-distdir-am: $(DISTFILES)
++distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+@@ -954,10 +932,6 @@ dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+ $(am__post_remove_distdir)
+
+-dist-zstd: distdir
+- tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
+- $(am__post_remove_distdir)
+-
+ dist-tarZ: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+@@ -1000,8 +974,6 @@ distcheck: dist
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+- *.tar.zst*) \
+- zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
+ esac
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+@@ -1017,7 +989,7 @@ distcheck: dist
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=../.. --prefix="$$dc_install_base" \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
++ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+@@ -1113,36 +1085,7 @@ clean-am: clean-generic clean-libtool clean-local \
+
+ distclean: distclean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+- -rm -f ./$(DEPDIR)/adler32.Plo
+- -rm -f ./$(DEPDIR)/compress.Plo
+- -rm -f ./$(DEPDIR)/crc32.Plo
+- -rm -f ./$(DEPDIR)/deflate.Plo
+- -rm -f ./$(DEPDIR)/gzclose.Plo
+- -rm -f ./$(DEPDIR)/gzlib.Plo
+- -rm -f ./$(DEPDIR)/gzread.Plo
+- -rm -f ./$(DEPDIR)/gzwrite.Plo
+- -rm -f ./$(DEPDIR)/infback.Plo
+- -rm -f ./$(DEPDIR)/inffast.Plo
+- -rm -f ./$(DEPDIR)/inflate.Plo
+- -rm -f ./$(DEPDIR)/inftrees.Plo
+- -rm -f ./$(DEPDIR)/libz_a-adler32.Po
+- -rm -f ./$(DEPDIR)/libz_a-compress.Po
+- -rm -f ./$(DEPDIR)/libz_a-crc32.Po
+- -rm -f ./$(DEPDIR)/libz_a-deflate.Po
+- -rm -f ./$(DEPDIR)/libz_a-gzclose.Po
+- -rm -f ./$(DEPDIR)/libz_a-gzlib.Po
+- -rm -f ./$(DEPDIR)/libz_a-gzread.Po
+- -rm -f ./$(DEPDIR)/libz_a-gzwrite.Po
+- -rm -f ./$(DEPDIR)/libz_a-infback.Po
+- -rm -f ./$(DEPDIR)/libz_a-inffast.Po
+- -rm -f ./$(DEPDIR)/libz_a-inflate.Po
+- -rm -f ./$(DEPDIR)/libz_a-inftrees.Po
+- -rm -f ./$(DEPDIR)/libz_a-trees.Po
+- -rm -f ./$(DEPDIR)/libz_a-uncompr.Po
+- -rm -f ./$(DEPDIR)/libz_a-zutil.Po
+- -rm -f ./$(DEPDIR)/trees.Plo
+- -rm -f ./$(DEPDIR)/uncompr.Plo
+- -rm -f ./$(DEPDIR)/zutil.Plo
++ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-local distclean-tags
+@@ -1190,36 +1133,7 @@ installcheck-am:
+ maintainer-clean: maintainer-clean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+- -rm -f ./$(DEPDIR)/adler32.Plo
+- -rm -f ./$(DEPDIR)/compress.Plo
+- -rm -f ./$(DEPDIR)/crc32.Plo
+- -rm -f ./$(DEPDIR)/deflate.Plo
+- -rm -f ./$(DEPDIR)/gzclose.Plo
+- -rm -f ./$(DEPDIR)/gzlib.Plo
+- -rm -f ./$(DEPDIR)/gzread.Plo
+- -rm -f ./$(DEPDIR)/gzwrite.Plo
+- -rm -f ./$(DEPDIR)/infback.Plo
+- -rm -f ./$(DEPDIR)/inffast.Plo
+- -rm -f ./$(DEPDIR)/inflate.Plo
+- -rm -f ./$(DEPDIR)/inftrees.Plo
+- -rm -f ./$(DEPDIR)/libz_a-adler32.Po
+- -rm -f ./$(DEPDIR)/libz_a-compress.Po
+- -rm -f ./$(DEPDIR)/libz_a-crc32.Po
+- -rm -f ./$(DEPDIR)/libz_a-deflate.Po
+- -rm -f ./$(DEPDIR)/libz_a-gzclose.Po
+- -rm -f ./$(DEPDIR)/libz_a-gzlib.Po
+- -rm -f ./$(DEPDIR)/libz_a-gzread.Po
+- -rm -f ./$(DEPDIR)/libz_a-gzwrite.Po
+- -rm -f ./$(DEPDIR)/libz_a-infback.Po
+- -rm -f ./$(DEPDIR)/libz_a-inffast.Po
+- -rm -f ./$(DEPDIR)/libz_a-inflate.Po
+- -rm -f ./$(DEPDIR)/libz_a-inftrees.Po
+- -rm -f ./$(DEPDIR)/libz_a-trees.Po
+- -rm -f ./$(DEPDIR)/libz_a-uncompr.Po
+- -rm -f ./$(DEPDIR)/libz_a-zutil.Po
+- -rm -f ./$(DEPDIR)/trees.Plo
+- -rm -f ./$(DEPDIR)/uncompr.Plo
+- -rm -f ./$(DEPDIR)/zutil.Plo
++ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+ maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
+@@ -1241,17 +1155,17 @@ uninstall-am: uninstall-toolexeclibLIBRARIES
+
+ .MAKE: install-am install-strip
+
+-.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles am--refresh \
+- check check-am clean clean-cscope clean-generic clean-libtool \
++.PHONY: CTAGS GTAGS TAGS all all-am all-local am--refresh check \
++ check-am clean clean-cscope clean-generic clean-libtool \
+ clean-local clean-noinstLTLIBRARIES clean-toolexeclibLIBRARIES \
+ cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
+ dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
+- dist-zstd distcheck distclean distclean-compile \
+- distclean-generic distclean-libtool distclean-local \
+- distclean-tags distcleancheck distdir distuninstallcheck dvi \
+- dvi-am html html-am info info-am install install-am \
+- install-data install-data-am install-dvi install-dvi-am \
+- install-exec install-exec-am install-exec-local install-html \
++ distcheck distclean distclean-compile distclean-generic \
++ distclean-libtool distclean-local distclean-tags \
++ distcleancheck distdir distuninstallcheck dvi dvi-am html \
++ html-am info info-am install install-am install-data \
++ install-data-am install-dvi install-dvi-am install-exec \
++ install-exec-am install-exec-local install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip install-toolexeclibLIBRARIES installcheck \
+diff --git a/zlib/aclocal.m4 b/zlib/aclocal.m4
+index 3538b0f0aea..e5eed57bd68 100644
+--- a/zlib/aclocal.m4
++++ b/zlib/aclocal.m4
+@@ -1,6 +1,6 @@
+-# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
++# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
++# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to.
+ If you have problems, you may need to regenerate the build system entirely.
+ To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+
+-# Copyright (C) 2002-2021 Free Software Foundation, Inc.
++# Copyright (C) 2002-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
+ # generated from the m4 files accompanying Automake X.Y.
+ # (This private macro should not be called outside this file.)
+ AC_DEFUN([AM_AUTOMAKE_VERSION],
+-[am__api_version='1.16'
++[am__api_version='1.15'
+ dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+ dnl require some minimum version. Point them to the right macro.
+-m4_if([$1], [1.16.5], [],
++m4_if([$1], [1.15.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+ ])
+
+@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
+ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+-[AM_AUTOMAKE_VERSION([1.16.5])dnl
++[AM_AUTOMAKE_VERSION([1.15.1])dnl
+ m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+ # AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
++# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
+
+ # AM_CONDITIONAL -*- Autoconf -*-
+
+-# Copyright (C) 1997-2021 Free Software Foundation, Inc.
++# Copyright (C) 1997-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -141,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
+ Usually this means the macro was only invoked conditionally.]])
+ fi])])
+
+-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
++# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -332,12 +332,13 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
+
+ # Generate code to set up dependency tracking. -*- Autoconf -*-
+
+-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
++# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+
++
+ # _AM_OUTPUT_DEPENDENCY_COMMANDS
+ # ------------------------------
+ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+@@ -345,43 +346,49 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+ # Older Autoconf quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+- # TODO: see whether this extra hack can be removed once we start
+- # requiring Autoconf 2.70 or later.
+- AS_CASE([$CONFIG_FILES],
+- [*\'*], [eval set x "$CONFIG_FILES"],
+- [*], [set x $CONFIG_FILES])
++ case $CONFIG_FILES in
++ *\'*) eval set x "$CONFIG_FILES" ;;
++ *) set x $CONFIG_FILES ;;
++ esac
+ shift
+- # Used to flag and report bootstrapping failures.
+- am_rc=0
+- for am_mf
++ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+- am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
+- # Check whether this is an Automake generated Makefile which includes
+- # dependency-tracking related rules and includes.
+- # Grep'ing the whole file directly is not great: AIX grep has a line
++ mf=`echo "$mf" | sed -e 's/:.*$//'`
++ # Check whether this is an Automake generated Makefile or not.
++ # We used to match only the files named 'Makefile.in', but
++ # some people rename them; so instead we look at the file content.
++ # Grep'ing the first line is not enough: some people post-process
++ # each Makefile.in and add a new line on top of each file to say so.
++ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+- sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
+- || continue
+- am_dirpart=`AS_DIRNAME(["$am_mf"])`
+- am_filepart=`AS_BASENAME(["$am_mf"])`
+- AM_RUN_LOG([cd "$am_dirpart" \
+- && sed -e '/# am--include-marker/d' "$am_filepart" \
+- | $MAKE -f - am--depfiles]) || am_rc=$?
++ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
++ dirpart=`AS_DIRNAME("$mf")`
++ else
++ continue
++ fi
++ # Extract the definition of DEPDIR, am__include, and am__quote
++ # from the Makefile without running 'make'.
++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++ test -z "$DEPDIR" && continue
++ am__include=`sed -n 's/^am__include = //p' < "$mf"`
++ test -z "$am__include" && continue
++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++ # Find all dependency output files, they are included files with
++ # $(DEPDIR) in their names. We invoke sed twice because it is the
++ # simplest approach to changing $(DEPDIR) to its actual value in the
++ # expansion.
++ for file in `sed -n "
++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
++ # Make sure the directory exists.
++ test -f "$dirpart/$file" && continue
++ fdir=`AS_DIRNAME(["$file"])`
++ AS_MKDIR_P([$dirpart/$fdir])
++ # echo "creating $dirpart/$file"
++ echo '# dummy' > "$dirpart/$file"
++ done
+ done
+- if test $am_rc -ne 0; then
+- AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
+- for automatic dependency tracking. If GNU make was not used, consider
+- re-running the configure script with MAKE="gmake" (or whatever is
+- necessary). You can also try re-running configure with the
+- '--disable-dependency-tracking' option to at least be able to build
+- the package (albeit without support for automatic dependency tracking).])
+- fi
+- AS_UNSET([am_dirpart])
+- AS_UNSET([am_filepart])
+- AS_UNSET([am_mf])
+- AS_UNSET([am_rc])
+- rm -f conftest-deps.mk
+ }
+ ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+@@ -390,17 +397,18 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+ # -----------------------------
+ # This macro should only be invoked once -- use via AC_REQUIRE.
+ #
+-# This code is only required when automatic dependency tracking is enabled.
+-# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
+-# order to bootstrap the dependency handling code.
++# This code is only required when automatic dependency tracking
++# is enabled. FIXME. This creates each '.P' file that we will
++# need in order to bootstrap the dependency handling code.
+ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+- [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
++ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
++])
+
+ # Do all the work for Automake. -*- Autoconf -*-
+
+-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
++# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -428,10 +436,6 @@ m4_defn([AC_PROG_CC])
+ # release and drop the old call support.
+ AC_DEFUN([AM_INIT_AUTOMAKE],
+ [AC_PREREQ([2.65])dnl
+-m4_ifdef([_$0_ALREADY_INIT],
+- [m4_fatal([$0 expanded multiple times
+-]m4_defn([_$0_ALREADY_INIT]))],
+- [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
+ dnl Autoconf wants to disallow AM_ names. We explicitly allow
+ dnl the ones we care about.
+ m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+@@ -468,7 +472,7 @@ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ [_AM_SET_OPTIONS([$1])dnl
+ dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+ m4_if(
+- m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
++ m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ [ok:ok],,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+@@ -491,8 +495,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+ # For better backward compatibility. To be removed once Automake 1.9.x
+ # dies out for good. For more background, see:
+-# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+-# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
++# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
++# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+ AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+ # We need awk for the "check" target (and possibly the TAP driver). The
+ # system "awk" is bad on some platforms.
+@@ -520,20 +524,6 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+ [m4_define([AC_PROG_OBJCXX],
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+ ])
+-# Variables for tags utilities; see am/tags.am
+-if test -z "$CTAGS"; then
+- CTAGS=ctags
+-fi
+-AC_SUBST([CTAGS])
+-if test -z "$ETAGS"; then
+- ETAGS=etags
+-fi
+-AC_SUBST([ETAGS])
+-if test -z "$CSCOPE"; then
+- CSCOPE=cscope
+-fi
+-AC_SUBST([CSCOPE])
+-
+ AC_REQUIRE([AM_SILENT_RULES])dnl
+ dnl The testsuite driver may need to know about EXEEXT, so add the
+ dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+@@ -573,7 +563,7 @@ END
+ Aborting the configuration process, to ensure you take notice of the issue.
+
+ You can download and install GNU coreutils to get an 'rm' implementation
+-that behaves properly: <https://www.gnu.org/software/coreutils/>.
++that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+ If you want to complete the configuration process using your problematic
+ 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+@@ -615,7 +605,7 @@ for _am_header in $config_headers :; do
+ done
+ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
++# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -639,7 +629,7 @@ AC_SUBST([install_sh])])
+ # Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+ # From Jim Meyering
+
+-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
++# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -674,7 +664,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+
+ # Check to see how 'make' treats includes. -*- Autoconf -*-
+
+-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
++# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -682,42 +672,49 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+
+ # AM_MAKE_INCLUDE()
+ # -----------------
+-# Check whether make has an 'include' directive that can support all
+-# the idioms we need for our automatic dependency tracking code.
++# Check to see how make treats includes.
+ AC_DEFUN([AM_MAKE_INCLUDE],
+-[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
+-cat > confinc.mk << 'END'
++[am_make=${MAKE-make}
++cat > confinc << 'END'
+ am__doit:
+- @echo this is the am__doit target >confinc.out
++ @echo this is the am__doit target
+ .PHONY: am__doit
+ END
++# If we don't find an include directive, just comment out the code.
++AC_MSG_CHECKING([for style of include used by $am_make])
+ am__include="#"
+ am__quote=
+-# BSD make does it like this.
+-echo '.include "confinc.mk" # ignored' > confmf.BSD
+-# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+-echo 'include confinc.mk # ignored' > confmf.GNU
+-_am_result=no
+-for s in GNU BSD; do
+- AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
+- AS_CASE([$?:`cat confinc.out 2>/dev/null`],
+- ['0:this is the am__doit target'],
+- [AS_CASE([$s],
+- [BSD], [am__include='.include' am__quote='"'],
+- [am__include='include' am__quote=''])])
+- if test "$am__include" != "#"; then
+- _am_result="yes ($s style)"
+- break
+- fi
+-done
+-rm -f confinc.* confmf.*
+-AC_MSG_RESULT([${_am_result}])
+-AC_SUBST([am__include])])
+-AC_SUBST([am__quote])])
++_am_result=none
++# First try GNU make style include.
++echo "include confinc" > confmf
++# Ignore all kinds of additional output from 'make'.
++case `$am_make -s -f confmf 2> /dev/null` in #(
++*the\ am__doit\ target*)
++ am__include=include
++ am__quote=
++ _am_result=GNU
++ ;;
++esac
++# Now try BSD make style include.
++if test "$am__include" = "#"; then
++ echo '.include "confinc"' > confmf
++ case `$am_make -s -f confmf 2> /dev/null` in #(
++ *the\ am__doit\ target*)
++ am__include=.include
++ am__quote="\""
++ _am_result=BSD
++ ;;
++ esac
++fi
++AC_SUBST([am__include])
++AC_SUBST([am__quote])
++AC_MSG_RESULT([$_am_result])
++rm -f confinc confmf
++])
+
+ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+-# Copyright (C) 1997-2021 Free Software Foundation, Inc.
++# Copyright (C) 1997-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -738,7 +735,12 @@ AC_DEFUN([AM_MISSING_HAS_RUN],
+ [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+ AC_REQUIRE_AUX_FILE([missing])dnl
+ if test x"${MISSING+set}" != xset; then
+- MISSING="\${SHELL} '$am_aux_dir/missing'"
++ case $am_aux_dir in
++ *\ * | *\ *)
++ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
++ *)
++ MISSING="\${SHELL} $am_aux_dir/missing" ;;
++ esac
+ fi
+ # Use eval to expand $SHELL
+ if eval "$MISSING --is-lightweight"; then
+@@ -751,7 +753,7 @@ fi
+
+ # Helper functions for option handling. -*- Autoconf -*-
+
+-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
++# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -780,7 +782,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
+ AC_DEFUN([_AM_IF_OPTION],
+ [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
++# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -827,7 +829,7 @@ AC_LANG_POP([C])])
+ # For backward compatibility.
+ AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
++# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -846,7 +848,7 @@ AC_DEFUN([AM_RUN_LOG],
+
+ # Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
++# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -927,7 +929,7 @@ AC_CONFIG_COMMANDS_PRE(
+ rm -f conftest.file
+ ])
+
+-# Copyright (C) 2009-2021 Free Software Foundation, Inc.
++# Copyright (C) 2009-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -987,7 +989,7 @@ AC_SUBST([AM_BACKSLASH])dnl
+ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+ ])
+
+-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
++# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -1015,7 +1017,7 @@ fi
+ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+ AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+-# Copyright (C) 2006-2021 Free Software Foundation, Inc.
++# Copyright (C) 2006-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -1034,7 +1036,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+ # Check how to create a tarball. -*- Autoconf -*-
+
+-# Copyright (C) 2004-2021 Free Software Foundation, Inc.
++# Copyright (C) 2004-2017 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
diff --git a/zlib/configure b/zlib/configure
-index db7845c5d42..cd59daa39b5 100755
+index 0a9ad9e8ccb..35b44e2819c 100755
--- a/zlib/configure
+++ b/zlib/configure
@@ -646,8 +646,11 @@ OTOOL
@@ -23399,7 +29508,35 @@ index db7845c5d42..cd59daa39b5 100755
OBJDUMP
LN_S
NM
-@@ -774,6 +777,7 @@ enable_static
+@@ -666,6 +669,7 @@ am__nodep
+ AMDEPBACKSLASH
+ AMDEP_FALSE
+ AMDEP_TRUE
++am__quote
+ am__include
+ DEPDIR
+ OBJEXT
+@@ -683,9 +687,6 @@ AM_BACKSLASH
+ AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V
+ AM_V
+-CSCOPE
+-ETAGS
+-CTAGS
+ am__untar
+ am__tar
+ AMTAR
+@@ -760,8 +761,7 @@ PACKAGE_VERSION
+ PACKAGE_TARNAME
+ PACKAGE_NAME
+ PATH_SEPARATOR
+-SHELL
+-am__quote'
++SHELL'
+ ac_subst_files=''
+ ac_user_opts='
+ enable_option_checking
+@@ -777,6 +777,7 @@ enable_static
with_pic
enable_fast_install
with_gnu_ld
@@ -23407,7 +29544,7 @@ index db7845c5d42..cd59daa39b5 100755
enable_libtool_lock
enable_host_shared
'
-@@ -1428,6 +1432,8 @@ Optional Packages:
+@@ -1431,6 +1432,8 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
@@ -23416,7 +29553,150 @@ index db7845c5d42..cd59daa39b5 100755
Some influential environment variables:
CC C compiler command
-@@ -4186,8 +4192,8 @@ esac
+@@ -2417,7 +2420,7 @@ test -n "$target_alias" &&
+ mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs"
+
+
+-am__api_version='1.16'
++am__api_version='1.15'
+
+ # Find a good install program. We prefer a C program (faster),
+ # so one script is as good as another. But avoid the broken or
+@@ -2593,7 +2596,12 @@ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+ am_aux_dir=`cd "$ac_aux_dir" && pwd`
+
+ if test x"${MISSING+set}" != xset; then
+- MISSING="\${SHELL} '$am_aux_dir/missing'"
++ case $am_aux_dir in
++ *\ * | *\ *)
++ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
++ *)
++ MISSING="\${SHELL} $am_aux_dir/missing" ;;
++ esac
+ fi
+ # Use eval to expand $SHELL
+ if eval "$MISSING --is-lightweight"; then
+@@ -2928,8 +2936,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+ # For better backward compatibility. To be removed once Automake 1.9.x
+ # dies out for good. For more background, see:
+-# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+-# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
++# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
++# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+ mkdir_p='$(MKDIR_P)'
+
+ # We need awk for the "check" target (and possibly the TAP driver). The
+@@ -2948,20 +2956,6 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+
+
+
+-# Variables for tags utilities; see am/tags.am
+-if test -z "$CTAGS"; then
+- CTAGS=ctags
+-fi
+-
+-if test -z "$ETAGS"; then
+- ETAGS=etags
+-fi
+-
+-if test -z "$CSCOPE"; then
+- CSCOPE=cscope
+-fi
+-
+-
+
+ # POSIX will say in a future version that running "rm -f" with no argument
+ # is OK; and we want to be able to make that assumption in our Makefile
+@@ -2994,7 +2988,7 @@ END
+ Aborting the configuration process, to ensure you take notice of the issue.
+
+ You can download and install GNU coreutils to get an 'rm' implementation
+-that behaves properly: <https://www.gnu.org/software/coreutils/>.
++that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+ If you want to complete the configuration process using your problematic
+ 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+@@ -3998,45 +3992,45 @@ DEPDIR="${am__leading_dot}deps"
+
+ ac_config_commands="$ac_config_commands depfiles"
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
+-$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
+-cat > confinc.mk << 'END'
++
++am_make=${MAKE-make}
++cat > confinc << 'END'
+ am__doit:
+- @echo this is the am__doit target >confinc.out
++ @echo this is the am__doit target
+ .PHONY: am__doit
+ END
++# If we don't find an include directive, just comment out the code.
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
++$as_echo_n "checking for style of include used by $am_make... " >&6; }
+ am__include="#"
+ am__quote=
+-# BSD make does it like this.
+-echo '.include "confinc.mk" # ignored' > confmf.BSD
+-# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+-echo 'include confinc.mk # ignored' > confmf.GNU
+-_am_result=no
+-for s in GNU BSD; do
+- { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
+- (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }
+- case $?:`cat confinc.out 2>/dev/null` in #(
+- '0:this is the am__doit target') :
+- case $s in #(
+- BSD) :
+- am__include='.include' am__quote='"' ;; #(
+- *) :
+- am__include='include' am__quote='' ;;
+-esac ;; #(
+- *) :
+- ;;
++_am_result=none
++# First try GNU make style include.
++echo "include confinc" > confmf
++# Ignore all kinds of additional output from 'make'.
++case `$am_make -s -f confmf 2> /dev/null` in #(
++*the\ am__doit\ target*)
++ am__include=include
++ am__quote=
++ _am_result=GNU
++ ;;
+ esac
+- if test "$am__include" != "#"; then
+- _am_result="yes ($s style)"
+- break
+- fi
+-done
+-rm -f confinc.* confmf.*
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
+-$as_echo "${_am_result}" >&6; }
++# Now try BSD make style include.
++if test "$am__include" = "#"; then
++ echo '.include "confinc"' > confmf
++ case `$am_make -s -f confmf 2> /dev/null` in #(
++ *the\ am__doit\ target*)
++ am__include=.include
++ am__quote="\""
++ _am_result=BSD
++ ;;
++ esac
++fi
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
++$as_echo "$_am_result" >&6; }
++rm -f confinc confmf
+
+ # Check whether --enable-dependency-tracking was given.
+ if test "${enable_dependency_tracking+set}" = set; then :
+@@ -4198,8 +4192,8 @@ esac
@@ -23427,7 +29707,7 @@ index db7845c5d42..cd59daa39b5 100755
-@@ -4227,7 +4233,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -4239,7 +4233,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
@@ -23436,7 +29716,7 @@ index db7845c5d42..cd59daa39b5 100755
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -5044,8 +5050,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -5062,8 +5056,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -23447,7 +29727,7 @@ index db7845c5d42..cd59daa39b5 100755
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -5094,6 +5100,80 @@ esac
+@@ -5112,6 +5106,80 @@ esac
@@ -23528,7 +29808,7 @@ index db7845c5d42..cd59daa39b5 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -5110,6 +5190,11 @@ case $reload_flag in
+@@ -5128,6 +5196,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -23540,7 +29820,7 @@ index db7845c5d42..cd59daa39b5 100755
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -5278,7 +5363,8 @@ mingw* | pw32*)
+@@ -5296,7 +5369,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -23550,7 +29830,7 @@ index db7845c5d42..cd59daa39b5 100755
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -5432,6 +5518,21 @@ esac
+@@ -5450,6 +5524,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -23572,7 +29852,7 @@ index db7845c5d42..cd59daa39b5 100755
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -5447,6 +5548,158 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -5465,6 +5554,158 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -23731,7 +30011,7 @@ index db7845c5d42..cd59daa39b5 100755
plugin_option=
plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
for plugin in $plugin_names; do
-@@ -5461,8 +5714,10 @@ for plugin in $plugin_names; do
+@@ -5479,8 +5720,10 @@ for plugin in $plugin_names; do
done
if test -n "$ac_tool_prefix"; then
@@ -23744,7 +30024,7 @@ index db7845c5d42..cd59daa39b5 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -5478,7 +5733,7 @@ do
+@@ -5496,7 +5739,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -23753,7 +30033,7 @@ index db7845c5d42..cd59daa39b5 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -5498,11 +5753,15 @@ $as_echo "no" >&6; }
+@@ -5516,11 +5759,15 @@ $as_echo "no" >&6; }
fi
@@ -23772,7 +30052,7 @@ index db7845c5d42..cd59daa39b5 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -5518,7 +5777,7 @@ do
+@@ -5536,7 +5783,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -23781,7 +30061,7 @@ index db7845c5d42..cd59daa39b5 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -5537,6 +5796,10 @@ else
+@@ -5555,6 +5802,10 @@ else
$as_echo "no" >&6; }
fi
@@ -23792,7 +30072,7 @@ index db7845c5d42..cd59daa39b5 100755
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -5548,25 +5811,19 @@ ac_tool_warned=yes ;;
+@@ -5566,25 +5817,22 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -23824,10 +30104,13 @@ index db7845c5d42..cd59daa39b5 100755
+ rm -f conftest.*
+: ${AR=ar}
+: ${AR_FLAGS=cru}
++
++
++
-@@ -5578,6 +5835,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -5593,6 +5841,61 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
@@ -23886,13 +30169,10 @@ index db7845c5d42..cd59daa39b5 100755
+
+
+
-+
-+
-+
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
- set dummy ${ac_tool_prefix}strip; ac_word=$2
-@@ -5917,8 +6232,8 @@ esac
+
+
+
+@@ -5935,8 +6238,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -23903,7 +30183,7 @@ index db7845c5d42..cd59daa39b5 100755
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -5954,6 +6269,7 @@ for ac_symprfx in "" "_"; do
+@@ -5972,6 +6275,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -23911,7 +30191,7 @@ index db7845c5d42..cd59daa39b5 100755
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -5995,6 +6311,18 @@ _LT_EOF
+@@ -6013,6 +6317,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -23930,7 +30210,7 @@ index db7845c5d42..cd59daa39b5 100755
#ifdef __cplusplus
extern "C" {
#endif
-@@ -6006,7 +6334,7 @@ _LT_EOF
+@@ -6024,7 +6340,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -23939,7 +30219,7 @@ index db7845c5d42..cd59daa39b5 100755
const char *name;
void *address;
}
-@@ -6032,8 +6360,8 @@ static const void *lt_preloaded_setup() {
+@@ -6050,8 +6366,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -23950,7 +30230,7 @@ index db7845c5d42..cd59daa39b5 100755
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -6043,8 +6371,8 @@ _LT_EOF
+@@ -6061,8 +6377,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -23961,7 +30241,7 @@ index db7845c5d42..cd59daa39b5 100755
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -6081,6 +6409,17 @@ else
+@@ -6099,6 +6415,16 @@ else
$as_echo "ok" >&6; }
fi
@@ -23975,11 +30255,10 @@ index db7845c5d42..cd59daa39b5 100755
+
+
+
-+
-@@ -6098,6 +6437,43 @@ fi
+@@ -6116,6 +6442,44 @@ fi
@@ -23988,6 +30267,7 @@ index db7845c5d42..cd59daa39b5 100755
+
+
+
++
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
@@ -24023,10 +30303,18 @@ index db7845c5d42..cd59daa39b5 100755
-@@ -6312,6 +6688,123 @@ esac
-
- need_locks="$enable_libtool_lock"
-
+@@ -6324,11 +6688,128 @@ sparc*-*solaris*)
+ ;;
+ esac
+ fi
+- rm -rf conftest*
+- ;;
++ rm -rf conftest*
++ ;;
++esac
++
++need_locks="$enable_libtool_lock"
++
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
@@ -24112,7 +30400,7 @@ index db7845c5d42..cd59daa39b5 100755
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
-+esac
+ esac
+ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+ fi
+else
@@ -24142,12 +30430,12 @@ index db7845c5d42..cd59daa39b5 100755
+
+
+
-+
-+
+
+-need_locks="$enable_libtool_lock"
+
case $host_os in
- rhapsody* | darwin*)
-@@ -6878,6 +7371,8 @@ _LT_EOF
+@@ -6896,6 +7377,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -24156,7 +30444,7 @@ index db7845c5d42..cd59daa39b5 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7727,8 +8222,6 @@ fi
+@@ -7745,8 +8228,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -24165,7 +30453,7 @@ index db7845c5d42..cd59daa39b5 100755
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -7894,6 +8387,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -7912,6 +8393,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -24178,7 +30466,7 @@ index db7845c5d42..cd59daa39b5 100755
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -7956,7 +8455,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -7974,7 +8461,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -24187,7 +30475,7 @@ index db7845c5d42..cd59daa39b5 100755
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8013,13 +8512,17 @@ case $host_os in
+@@ -8031,13 +8518,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -24211,7 +30499,7 @@ index db7845c5d42..cd59daa39b5 100755
#
# Check to make sure the PIC flag actually works.
-@@ -8080,6 +8583,11 @@ fi
+@@ -8098,6 +8589,11 @@ fi
@@ -24223,7 +30511,7 @@ index db7845c5d42..cd59daa39b5 100755
#
# Check to make sure the static flag actually works.
#
-@@ -8430,7 +8938,8 @@ _LT_EOF
+@@ -8448,7 +8944,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -24233,7 +30521,7 @@ index db7845c5d42..cd59daa39b5 100755
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -8529,12 +9038,12 @@ _LT_EOF
+@@ -8547,12 +9044,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -24248,7 +30536,7 @@ index db7845c5d42..cd59daa39b5 100755
fi
;;
esac
-@@ -8548,8 +9057,8 @@ _LT_EOF
+@@ -8566,8 +9063,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -24259,7 +30547,7 @@ index db7845c5d42..cd59daa39b5 100755
fi
;;
-@@ -8567,8 +9076,8 @@ _LT_EOF
+@@ -8585,8 +9082,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -24270,7 +30558,7 @@ index db7845c5d42..cd59daa39b5 100755
else
ld_shlibs=no
fi
-@@ -8614,8 +9123,8 @@ _LT_EOF
+@@ -8632,8 +9129,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -24281,7 +30569,7 @@ index db7845c5d42..cd59daa39b5 100755
else
ld_shlibs=no
fi
-@@ -8745,7 +9254,13 @@ _LT_EOF
+@@ -8763,7 +9260,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -24296,7 +30584,7 @@ index db7845c5d42..cd59daa39b5 100755
as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
fi
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -8761,22 +9276,29 @@ main ()
+@@ -8779,22 +9282,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -24339,7 +30627,7 @@ index db7845c5d42..cd59daa39b5 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -8788,7 +9310,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -8806,7 +9316,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -24354,7 +30642,7 @@ index db7845c5d42..cd59daa39b5 100755
as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
fi
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -8804,22 +9332,29 @@ main ()
+@@ -8822,22 +9338,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -24397,7 +30685,7 @@ index db7845c5d42..cd59daa39b5 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -8864,20 +9399,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -8882,20 +9405,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -24475,7 +30763,7 @@ index db7845c5d42..cd59daa39b5 100755
;;
darwin* | rhapsody*)
-@@ -8938,7 +9516,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -8956,7 +9522,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -24484,7 +30772,7 @@ index db7845c5d42..cd59daa39b5 100755
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -8946,7 +9524,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -8964,7 +9530,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -24493,7 +30781,7 @@ index db7845c5d42..cd59daa39b5 100755
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -8962,7 +9540,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -8980,7 +9546,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -24502,7 +30790,7 @@ index db7845c5d42..cd59daa39b5 100755
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -8986,10 +9564,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9004,10 +9570,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -24515,7 +30803,7 @@ index db7845c5d42..cd59daa39b5 100755
;;
esac
else
-@@ -9068,26 +9646,39 @@ fi
+@@ -9086,26 +9652,39 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -24563,7 +30851,7 @@ index db7845c5d42..cd59daa39b5 100755
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9172,7 +9763,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9190,7 +9769,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -24572,7 +30860,7 @@ index db7845c5d42..cd59daa39b5 100755
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9191,9 +9782,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9209,9 +9788,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -24584,7 +30872,7 @@ index db7845c5d42..cd59daa39b5 100755
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -9769,8 +10360,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -9787,8 +10366,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -24596,7 +30884,7 @@ index db7845c5d42..cd59daa39b5 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -9803,13 +10395,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -9821,13 +10401,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -24669,16 +30957,16 @@ index db7845c5d42..cd59daa39b5 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -10705,7 +11355,7 @@ else
+@@ -10723,7 +11361,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 10708 "configure"
+-#line 10726 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -10749,10 +11399,10 @@ else
+@@ -10767,10 +11405,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -24691,16 +30979,16 @@ index db7845c5d42..cd59daa39b5 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -10811,7 +11461,7 @@ else
+@@ -10829,7 +11467,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 10814 "configure"
+-#line 10832 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -10855,10 +11505,10 @@ else
+@@ -10873,10 +11511,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -24713,7 +31001,16 @@ index db7845c5d42..cd59daa39b5 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12328,13 +12978,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -12308,7 +12946,7 @@ CC="$CC"
+ CXX="$CXX"
+ GFORTRAN="$GFORTRAN"
+ GDC="$GDC"
+-AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
+ # The HP-UX ksh and POSIX shell print the target directory to stdout
+@@ -12346,13 +12984,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -24734,7 +31031,7 @@ index db7845c5d42..cd59daa39b5 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -12349,14 +13006,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -12367,14 +13012,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -24753,7 +31050,7 @@ index db7845c5d42..cd59daa39b5 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -12389,12 +13049,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -12407,12 +13055,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -24767,7 +31064,7 @@ index db7845c5d42..cd59daa39b5 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -12449,8 +13109,13 @@ reload_flag \
+@@ -12467,8 +13115,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -24781,7 +31078,7 @@ index db7845c5d42..cd59daa39b5 100755
STRIP \
RANLIB \
CC \
-@@ -12460,12 +13125,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -12478,12 +13131,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -24797,7 +31094,7 @@ index db7845c5d42..cd59daa39b5 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -12481,7 +13148,6 @@ no_undefined_flag \
+@@ -12499,7 +13154,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -24805,7 +31102,7 @@ index db7845c5d42..cd59daa39b5 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -12517,6 +13183,7 @@ module_cmds \
+@@ -12535,6 +13189,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -24813,7 +31110,149 @@ index db7845c5d42..cd59daa39b5 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -13115,7 +13782,8 @@ $as_echo X"$file" |
+@@ -13023,35 +13678,29 @@ esac ;;
+ # Older Autoconf quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+- # TODO: see whether this extra hack can be removed once we start
+- # requiring Autoconf 2.70 or later.
+- case $CONFIG_FILES in #(
+- *\'*) :
+- eval set x "$CONFIG_FILES" ;; #(
+- *) :
+- set x $CONFIG_FILES ;; #(
+- *) :
+- ;;
+-esac
++ case $CONFIG_FILES in
++ *\'*) eval set x "$CONFIG_FILES" ;;
++ *) set x $CONFIG_FILES ;;
++ esac
+ shift
+- # Used to flag and report bootstrapping failures.
+- am_rc=0
+- for am_mf
++ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+- am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
+- # Check whether this is an Automake generated Makefile which includes
+- # dependency-tracking related rules and includes.
+- # Grep'ing the whole file directly is not great: AIX grep has a line
++ mf=`echo "$mf" | sed -e 's/:.*$//'`
++ # Check whether this is an Automake generated Makefile or not.
++ # We used to match only the files named 'Makefile.in', but
++ # some people rename them; so instead we look at the file content.
++ # Grep'ing the first line is not enough: some people post-process
++ # each Makefile.in and add a new line on top of each file to say so.
++ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+- sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
+- || continue
+- am_dirpart=`$as_dirname -- "$am_mf" ||
+-$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+- X"$am_mf" : 'X\(//\)[^/]' \| \
+- X"$am_mf" : 'X\(//\)$' \| \
+- X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
+-$as_echo X"$am_mf" |
++ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
++ dirpart=`$as_dirname -- "$mf" ||
++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$mf" : 'X\(//\)[^/]' \| \
++ X"$mf" : 'X\(//\)$' \| \
++ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+@@ -13069,50 +13718,53 @@ $as_echo X"$am_mf" |
+ q
+ }
+ s/.*/./; q'`
+- am_filepart=`$as_basename -- "$am_mf" ||
+-$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
+- X"$am_mf" : 'X\(//\)$' \| \
+- X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
+-$as_echo X/"$am_mf" |
+- sed '/^.*\/\([^/][^/]*\)\/*$/{
++ else
++ continue
++ fi
++ # Extract the definition of DEPDIR, am__include, and am__quote
++ # from the Makefile without running 'make'.
++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++ test -z "$DEPDIR" && continue
++ am__include=`sed -n 's/^am__include = //p' < "$mf"`
++ test -z "$am__include" && continue
++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++ # Find all dependency output files, they are included files with
++ # $(DEPDIR) in their names. We invoke sed twice because it is the
++ # simplest approach to changing $(DEPDIR) to its actual value in the
++ # expansion.
++ for file in `sed -n "
++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
++ # Make sure the directory exists.
++ test -f "$dirpart/$file" && continue
++ fdir=`$as_dirname -- "$file" ||
++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$file" : 'X\(//\)[^/]' \| \
++ X"$file" : 'X\(//\)$' \| \
++ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$file" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+- /^X\/\(\/\/\)$/{
++ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+- /^X\/\(\/\).*/{
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+- { echo "$as_me:$LINENO: cd "$am_dirpart" \
+- && sed -e '/# am--include-marker/d' "$am_filepart" \
+- | $MAKE -f - am--depfiles" >&5
+- (cd "$am_dirpart" \
+- && sed -e '/# am--include-marker/d' "$am_filepart" \
+- | $MAKE -f - am--depfiles) >&5 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } || am_rc=$?
++ as_dir=$dirpart/$fdir; as_fn_mkdir_p
++ # echo "creating $dirpart/$file"
++ echo '# dummy' > "$dirpart/$file"
++ done
+ done
+- if test $am_rc -ne 0; then
+- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "Something went wrong bootstrapping makefile fragments
+- for automatic dependency tracking. If GNU make was not used, consider
+- re-running the configure script with MAKE=\"gmake\" (or whatever is
+- necessary). You can also try re-running configure with the
+- '--disable-dependency-tracking' option to at least be able to build
+- the package (albeit without support for automatic dependency tracking).
+-See \`config.log' for more details" "$LINENO" 5; }
+- fi
+- { am_dirpart=; unset am_dirpart;}
+- { am_filepart=; unset am_filepart;}
+- { am_mf=; unset am_mf;}
+- { am_rc=; unset am_rc;}
+- rm -f conftest-deps.mk
+ }
+ ;;
+ "libtool":C)
+@@ -13136,7 +13788,8 @@ See \`config.log' for more details" "$LINENO" 5; }
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -24823,7 +31262,7 @@ index db7845c5d42..cd59daa39b5 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -13218,19 +13886,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -13239,19 +13892,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -24867,7 +31306,7 @@ index db7845c5d42..cd59daa39b5 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -13260,6 +13951,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -13281,6 +13957,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -24880,7 +31319,7 @@ index db7845c5d42..cd59daa39b5 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -13269,6 +13966,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -13290,6 +13972,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -24890,7 +31329,7 @@ index db7845c5d42..cd59daa39b5 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -13383,12 +14083,12 @@ with_gcc=$GCC
+@@ -13404,12 +14089,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -24906,7 +31345,7 @@ index db7845c5d42..cd59daa39b5 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -13475,9 +14175,6 @@ inherit_rpath=$inherit_rpath
+@@ -13496,9 +14181,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -24916,7 +31355,7 @@ index db7845c5d42..cd59daa39b5 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -13493,6 +14190,9 @@ include_expsyms=$lt_include_expsyms
+@@ -13514,6 +14196,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -24926,7 +31365,7 @@ index db7845c5d42..cd59daa39b5 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -13525,210 +14225,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -13546,210 +14231,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch b/poky/meta/recipes-devtools/binutils/binutils/0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
index 217ba5df85..2c4ffec4e6 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
@@ -1,4 +1,4 @@
-From 1c4581a059afe2799bb825b388ae92f8fa6f19a3 Mon Sep 17 00:00:00 2001
+From 98410efc334e31ccfbdc0080fb293b0e06885454 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:42:38 +0000
Subject: [PATCH] Fix rpath in libtool when sysroot is enabled
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0011-sync-with-OE-libtool-changes.patch b/poky/meta/recipes-devtools/binutils/binutils/0010-sync-with-OE-libtool-changes.patch
index 3607e36ef4..199aafcaee 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0011-sync-with-OE-libtool-changes.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0010-sync-with-OE-libtool-changes.patch
@@ -1,4 +1,4 @@
-From d71c715554a054c534954b0aa357ca699ed68430 Mon Sep 17 00:00:00 2001
+From 84fc4ceafcbfad4c6ddc9d65f6a425bd62dd062e Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Mon, 6 Mar 2017 23:33:27 -0800
Subject: [PATCH] sync with OE libtool changes
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0012-Check-for-clang-before-checking-gcc-version.patch b/poky/meta/recipes-devtools/binutils/binutils/0011-Check-for-clang-before-checking-gcc-version.patch
index 8848c05ae0..f75ec2ee9d 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0012-Check-for-clang-before-checking-gcc-version.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0011-Check-for-clang-before-checking-gcc-version.patch
@@ -1,4 +1,4 @@
-From 787d7cd71d7886d3193c0fd747101c54ad7c3cd8 Mon Sep 17 00:00:00 2001
+From 628c10087e6e11a7bc748437c5b695835b704aaf Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 15 Apr 2020 14:17:20 -0700
Subject: [PATCH] Check for clang before checking gcc version
@@ -18,10 +18,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
-index 6a1da1665d8..916656dc233 100755
+index be433ef6d5d..7494fbd2f06 100755
--- a/configure
+++ b/configure
-@@ -5287,7 +5287,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+@@ -5294,7 +5294,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -31,10 +31,10 @@ index 6a1da1665d8..916656dc233 100755
#endif
int main() {}
diff --git a/configure.ac b/configure.ac
-index 2b10e9a1b02..677a0196c2b 100644
+index 1651cbf3b02..2e2ecc47542 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1309,7 +1309,7 @@ if test "$GCC" = yes; then
+@@ -1323,7 +1323,7 @@ if test "$GCC" = yes; then
AC_MSG_CHECKING([whether g++ accepts -static-libstdc++ -static-libgcc])
AC_LANG_PUSH(C++)
AC_LINK_IFELSE([AC_LANG_SOURCE([
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch b/poky/meta/recipes-devtools/binutils/binutils/0012-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
index 997774020e..c4b4198910 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0012-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
@@ -1,6 +1,6 @@
-From edddb1f294d667eac94649ba0665fe464990ed18 Mon Sep 17 00:00:00 2001
+From 63157cb403b6aa13147840c036a8555c4ea9c166 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 01:27:17 +0000
+Date: Thu, 10 Mar 2022 21:21:33 -0800
Subject: [PATCH] Only generate an RPATH entry if LD_RUN_PATH is not empty
for cases where -rpath isn't specified. debian (#151024)
@@ -10,23 +10,24 @@ Upstream-Status: Pending
Signed-off-by: Chris Chimelis <chris@debian.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- ld/ldelf.c | 4 ++++
- 1 file changed, 4 insertions(+)
+ ld/ldelf.c | 5 +++++
+ 1 file changed, 5 insertions(+)
diff --git a/ld/ldelf.c b/ld/ldelf.c
-index 34cbc60e5e9..b1965a9e96f 100644
+index 0d61a3209ec..cd0da2013e2 100644
--- a/ld/ldelf.c
+++ b/ld/ldelf.c
-@@ -1277,6 +1277,8 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd,
+@@ -1127,6 +1127,9 @@ ldelf_handle_dt_needed (struct elf_link_hash_table *htab,
&& command_line.rpath == NULL)
{
path = (const char *) getenv ("LD_RUN_PATH");
+ if ((path) && (strlen (path) == 0))
-+ path = NULL;
++ path = NULL;
++
if (path
&& ldelf_search_needed (path, &n, force,
is_linux, elfsize))
-@@ -1636,6 +1638,8 @@ ldelf_before_allocation (char *audit, char *depaudit,
+@@ -1801,6 +1804,8 @@ ldelf_before_allocation (char *audit, char *depaudit,
rpath = command_line.rpath;
if (rpath == NULL)
rpath = (const char *) getenv ("LD_RUN_PATH");
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0013-Avoid-as-info-race-condition.patch b/poky/meta/recipes-devtools/binutils/binutils/0013-Avoid-as-info-race-condition.patch
deleted file mode 100644
index 3b3d0bb769..0000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0013-Avoid-as-info-race-condition.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 9a84a44d5df4618dd616137fa755bd71b7eacc5f Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sun, 23 Jan 2022 12:44:24 -0500
-Subject: [PATCH] gas: drop old cygnus install hack
-
-This was needed when gas was using the automake cygnus option, but
-this was removed years ago by Simon in d0ac1c44885daf68f631befa37e
-("Bump to autoconf 2.69 and automake 1.15.1"). So delete it here.
-The info pages are already & still installed by default w/out it.
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=9a84a44d5df4618dd616137fa755bd71b7eacc5f]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gas/Makefile.in | 14 +++++---------
- gas/doc/local.mk | 4 ----
- 2 files changed, 5 insertions(+), 13 deletions(-)
-
-diff --git a/gas/Makefile.in b/gas/Makefile.in
-index 8f0a56fd8d6..67dac53f68c 100644
---- a/gas/Makefile.in
-+++ b/gas/Makefile.in
-@@ -1854,7 +1854,7 @@ info: info-recursive
-
- info-am: $(INFO_DEPS) info-local
-
--install-data-am: install-data-local install-info-am install-man
-+install-data-am: install-info-am install-man
-
- install-dvi: install-dvi-recursive
-
-@@ -2008,10 +2008,10 @@ uninstall-man: uninstall-man1
- distclean-DEJAGNU distclean-compile distclean-generic \
- distclean-hdr distclean-libtool distclean-tags dvi dvi-am html \
- html-am html-local info info-am info-local install install-am \
-- install-data install-data-am install-data-local install-dvi \
-- install-dvi-am install-exec install-exec-am install-exec-local \
-- install-html install-html-am install-info install-info-am \
-- install-man install-man1 install-pdf install-pdf-am install-ps \
-+ install-data install-data-am install-dvi install-dvi-am \
-+ install-exec install-exec-am install-exec-local install-html \
-+ install-html-am install-info install-info-am install-man \
-+ install-man1 install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs installdirs-am maintainer-clean \
- maintainer-clean-aminfo maintainer-clean-generic mostlyclean \
-@@ -2211,10 +2211,6 @@ doc/asconfig.texi: doc/$(CONFIG).texi doc/$(am__dirstamp)
- $(AM_V_GEN)cp $(srcdir)/doc/$(CONFIG).texi doc/asconfig.texi
- $(AM_V_at)chmod u+w doc/asconfig.texi
-
--# We want install to imply install-info as per GNU standards, despite the
--# cygnus option.
--install-data-local: install-info
--
- # Maintenance
-
- # We need it for the taz target in ../Makefile.in.
-diff --git a/gas/doc/local.mk b/gas/doc/local.mk
-index c2de441257c..ac205cf08a2 100644
---- a/gas/doc/local.mk
-+++ b/gas/doc/local.mk
-@@ -101,10 +101,6 @@ CPU_DOCS = \
- %D%/c-z80.texi \
- %D%/c-z8k.texi
-
--# We want install to imply install-info as per GNU standards, despite the
--# cygnus option.
--install-data-local: install-info
--
- # This one isn't ready for prime time yet. Not even a little bit.
-
- noinst_TEXINFOS = %D%/internals.texi
---
-2.27.0
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0014-CVE-2019-1010204.patch b/poky/meta/recipes-devtools/binutils/binutils/0014-CVE-2019-1010204.patch
deleted file mode 100644
index dad4a62038..0000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0014-CVE-2019-1010204.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 2a4fc266dbf77ed7ab83da16468e9ba627b8bc2d Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Mon, 27 Jun 2022 13:07:40 +0100
-Subject: [PATCH] Have gold's File_read::do_read() function check the start
- parameter
-
- PR 23765
- * fileread.cc (File_read::do_read): Check start parameter before
- computing number of bytes to read.
-
-Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2a4fc266dbf77ed7ab83da16468e9ba627b8bc2d]
-
-Signed-off-by: Pgowda <pgowda.cve@gmail.com>
----
- gold/ChangeLog | 6 ++++++
- gold/fileread.cc | 6 ++++++
- 2 files changed, 12 insertions(+)
-
-diff --git a/gold/ChangeLog b/gold/ChangeLog
-index 5103dab7b67..8557dc6db7f 100644
---- a/gold/ChangeLog
-+++ b/gold/ChangeLog
-@@ -1,3 +1,9 @@
-+2022-06-27 Nick Clifton <nickc@redhat.com>
-+
-+ PR 23765
-+ * fileread.cc (File_read::do_read): Check start parameter before
-+ computing number of bytes to read.
-+
- 2022-02-17 Nick Clifton <nickc@redhat.com>
-
- * po/sr.po: Updated Serbian translation.
-diff --git a/gold/fileread.cc b/gold/fileread.cc
-index 2b653f78c2e..af2df215468 100644
---- a/gold/fileread.cc
-+++ b/gold/fileread.cc
-@@ -385,6 +385,12 @@ File_read::do_read(off_t start, section_
- ssize_t bytes;
- if (this->whole_file_view_ != NULL)
- {
-+ // See PR 23765 for an example of a testcase that triggers this error.
-+ if (((ssize_t) start) < 0)
-+ gold_fatal(_("%s: read failed, starting offset (%#llx) less than zero"),
-+ this->filename().c_str(),
-+ static_cast<long long>(start));
-+
- bytes = this->size_ - start;
- if (static_cast<section_size_type>(bytes) >= size)
- {
diff --git a/poky/meta/recipes-devtools/binutils/binutils_2.38.bb b/poky/meta/recipes-devtools/binutils/binutils_2.39.bb
index 12a6fb5577..67240383f7 100644
--- a/poky/meta/recipes-devtools/binutils/binutils_2.38.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils_2.39.bb
@@ -14,6 +14,12 @@ EXTRA_OEMAKE:append:libc-musl = "\
gt_cv_func_gnugettext1_libc=yes \
gt_cv_func_gnugettext2_libc=yes \
"
+# libcollector/collector.c:547:15: error: no member named '__fprintf_chk' in 'struct CollectorUtilFuncs'
+EXTRA_OECONF:append:toolchain-clang = " --disable-gprofng"
+# | ../../../gprofng/libcollector/../src/collector_module.h:78:13: error: duplicate member 'pwrite'
+# | ../../../gprofng/libcollector/dispatcher.c:578:8: error: 'struct sigevent' has no member named '_sigev_un'
+EXTRA_OECONF:append:libc-musl = " --disable-gprofng"
+
EXTRA_OECONF:class-native = "--enable-targets=all \
--enable-64-bit-bfd \
--enable-install-libiberty \
@@ -56,14 +62,14 @@ PARALLEL_MAKEINST:class-nativesdk = ""
# Split out libbfd-*.so and libopcodes-*.so so including perf doesn't include
# extra stuff
-PACKAGE_BEFORE_PN += "libbfd libopcodes"
+PACKAGE_BEFORE_PN += "libbfd libopcodes gprofng"
FILES:libbfd = "${libdir}/libbfd-*.so.* ${libdir}/libbfd-*.so"
FILES:libopcodes = "${libdir}/libopcodes-*.so.* ${libdir}/libopcodes-*.so"
-
+FILES:gprofng = "${sysconfdir}/gprofng.rc ${libdir}/gprofng/libgp-*.so ${libdir}/gprofng/libgprofng.so.* ${bindir}/gp-* ${bindir}/gprofng"
+FILES:${PN}-dev += "${libdir}/gprofng/libgprofng.so"
SRC_URI:append:class-nativesdk = " file://0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch "
USE_ALTERNATIVES_FOR:class-nativesdk = ""
FILES:${PN}:append:class-nativesdk = " ${bindir}"
BBCLASSEXTEND = "native nativesdk"
-
diff --git a/poky/meta/recipes-devtools/bootchart2/bootchart2/0001-Do-not-include-linux-fs.h.patch b/poky/meta/recipes-devtools/bootchart2/bootchart2/0001-Do-not-include-linux-fs.h.patch
new file mode 100644
index 0000000000..4e71e5c788
--- /dev/null
+++ b/poky/meta/recipes-devtools/bootchart2/bootchart2/0001-Do-not-include-linux-fs.h.patch
@@ -0,0 +1,31 @@
+From 8591c1e3edaea8f17396e3d2819d9064b2818cfb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 6 Aug 2022 20:39:01 -0700
+Subject: [PATCH] Do not include linux/fs.h
+
+This header is not needed to be included anymore, moreover it conflicts
+with sys/mount.h from glibc 2.36+ see [1]
+
+[1] https://sourceware.org/glibc/wiki/Release/2.36
+
+Upstream-Status: Submitted [https://github.com/xrmx/bootchart/pull/99]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ collector/collector.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/collector/collector.c b/collector/collector.c
+index 5055181..12738ff 100644
+--- a/collector/collector.c
++++ b/collector/collector.c
+@@ -34,7 +34,6 @@
+
+ #include <sys/mount.h>
+ #include <sys/sysmacros.h>
+-#include <linux/fs.h>
+ #include <linux/genetlink.h>
+ #include <linux/taskstats.h>
+ #include <linux/cgroupstats.h>
+--
+2.37.1
+
diff --git a/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb b/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
index b1628075a7..b4d5b7cd9b 100644
--- a/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
+++ b/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
@@ -95,6 +95,7 @@ SRC_URI = "git://github.com/xrmx/bootchart.git;branch=master;protocol=https \
file://0001-collector-Allocate-space-on-heap-for-chunks.patch \
file://0001-bootchart2-support-usrmerge.patch \
file://0001-bootchartd.in-make-sure-only-one-bootchartd-process.patch \
+ file://0001-Do-not-include-linux-fs.h.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-device-utils.c-Use-linux-mount.h-instead-of-sys-moun.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-device-utils.c-Use-linux-mount.h-instead-of-sys-moun.patch
deleted file mode 100644
index 1397e50b30..0000000000
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-device-utils.c-Use-linux-mount.h-instead-of-sys-moun.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From d9f118a3408a8a2530f0f60e8072f4323911530f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 27 Jul 2022 01:08:20 +0000
-Subject: [PATCH] device-utils.c: Use linux mount.h instead of sys/mount.h
-
-This file includes linucx/fs.h which includes linux/mount.h and with
-glibc 2.36 linux/mount.h and glibc mount.h are not compatible [1]
-therefore try to avoid including both headers
-
-[1] https://sourceware.org/glibc/wiki/Release/2.36
-
-Upstream-Status: Submitted [https://www.spinics.net/lists/linux-btrfs/msg126918.html]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- common/device-utils.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/common/device-utils.c b/common/device-utils.c
-index 617b6746..25a4fb8c 100644
---- a/common/device-utils.c
-+++ b/common/device-utils.c
-@@ -15,7 +15,6 @@
- */
-
- #include <sys/ioctl.h>
--#include <sys/mount.h>
- #include <sys/statfs.h>
- #include <sys/types.h>
- #include <stdio.h>
---
-2.25.1
-
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.19.bb
index 5b24bef5cd..4f116a85ac 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.1.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.19.bb
@@ -17,9 +17,8 @@ DEPENDS = "util-linux zlib"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master \
file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
- file://0001-device-utils.c-Use-linux-mount.h-instead-of-sys-moun.patch \
"
-SRCREV = "47b5cf867fc37411ef51eb5c09893a95f7f6c3b7"
+SRCREV = "96b83b16158f3b87037085761bf212e958473767"
S = "${WORKDIR}/git"
PACKAGECONFIG ??= " \
diff --git a/poky/meta/recipes-devtools/cargo/cargo-cross-canadian.inc b/poky/meta/recipes-devtools/cargo/cargo-cross-canadian.inc
deleted file mode 100644
index a2fac929d4..0000000000
--- a/poky/meta/recipes-devtools/cargo/cargo-cross-canadian.inc
+++ /dev/null
@@ -1,85 +0,0 @@
-SUMMARY = "Cargo, a package manager for Rust cross canadian flavor."
-
-RUST_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config"
-
-HOST_SYS = "${HOST_ARCH}-unknown-linux-gnu"
-CARGO_RUST_TARGET_CCLD = "${RUST_BUILD_CCLD}"
-
-inherit rust-target-config
-require cargo.inc
-
-CARGO = "${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo"
-BASEDEPENDS:remove = "cargo-native"
-
-export RUST_TARGET_PATH="${WORKDIR}/targets/"
-
-RUSTLIB = " \
- -L ${STAGING_DIR_NATIVE}/${SDKPATHNATIVE}/usr/lib/${TARGET_SYS}/rustlib/${HOST_SYS}/lib \
-"
-
-DEPENDS += "rust-native \
- rust-cross-canadian-${TRANSLATED_TARGET_ARCH} \
- virtual/nativesdk-${HOST_PREFIX}compilerlibs \
- nativesdk-openssl nativesdk-zlib \
- virtual/nativesdk-libc \
-"
-
-inherit cross-canadian
-
-PN = "cargo-cross-canadian-${TRANSLATED_TARGET_ARCH}"
-
-RUST_TARGETGENS = "BUILD HOST"
-
-do_compile:prepend () {
- PKG_CONFIG_PATH="${RECIPE_SYSROOT_NATIVE}/usr/lib/pkgconfig:${PKG_CONFIG_PATH}"
-}
-
-create_sdk_wrapper () {
- file="$1"
- shift
-
- cat <<- EOF > "${file}"
- #!/bin/sh
- \$$1 \$@
- EOF
-
- chmod +x "$file"
-}
-
-do_install () {
- SYS_BINDIR=$(dirname ${D}${bindir})
- install -d "${SYS_BINDIR}"
- install -m 755 "${B}/target/${CARGO_TARGET_SUBDIR}/cargo" "${SYS_BINDIR}"
- for i in ${SYS_BINDIR}/*; do
- chrpath -r "\$ORIGIN/../lib" ${i}
- done
-
- # Uses SDK's CC as linker so linked binaries works out of box.
- create_sdk_wrapper "${SYS_BINDIR}/target-rust-ccld" "CC"
-
- ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
- mkdir "${ENV_SETUP_DIR}"
- ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
- cat <<- EOF > "${ENV_SETUP_SH}"
- export CARGO_HOME="\$OECORE_TARGET_SYSROOT/home/cargo"
- mkdir -p "\$CARGO_HOME"
- # Init the default target once, it might be otherwise user modified.
- if [ ! -f "\$CARGO_HOME/config" ]; then
- touch "\$CARGO_HOME/config"
- echo "[build]" >> "\$CARGO_HOME/config"
- echo 'target = "'${TARGET_SYS}'"' >> "\$CARGO_HOME/config"
- echo '# TARGET_SYS' >> "\$CARGO_HOME/config"
- echo '[target.'${TARGET_SYS}']' >> "\$CARGO_HOME/config"
- echo 'linker = "target-rust-ccld"' >> "\$CARGO_HOME/config"
- fi
-
- # Keep the below off as long as HTTP/2 is disabled.
- export CARGO_HTTP_MULTIPLEXING=false
-
- export CARGO_HTTP_CAINFO="\$OECORE_NATIVE_SYSROOT/etc/ssl/certs/ca-certificates.crt"
- EOF
-}
-
-PKG_SYS_BINDIR = "${SDKPATHNATIVE}/usr/bin"
-FILES:${PN} += "${base_prefix}/environment-setup.d ${PKG_SYS_BINDIR}"
-
diff --git a/poky/meta/recipes-devtools/cargo/cargo-cross-canadian_1.62.0.bb b/poky/meta/recipes-devtools/cargo/cargo-cross-canadian_1.62.0.bb
deleted file mode 100644
index 63fd69107b..0000000000
--- a/poky/meta/recipes-devtools/cargo/cargo-cross-canadian_1.62.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require recipes-devtools/rust/rust-source.inc
-require recipes-devtools/rust/rust-snapshot.inc
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/cargo-${PV}:"
-
-require cargo-cross-canadian.inc
diff --git a/poky/meta/recipes-devtools/cargo/cargo.inc b/poky/meta/recipes-devtools/cargo/cargo.inc
index 607c51fc3d..40421df4f7 100644
--- a/poky/meta/recipes-devtools/cargo/cargo.inc
+++ b/poky/meta/recipes-devtools/cargo/cargo.inc
@@ -41,6 +41,14 @@ do_install () {
install -m 755 "${B}/target/${CARGO_TARGET_SUBDIR}/cargo" "${D}${bindir}"
}
+do_install:append:class-nativesdk() {
+ # To quote the cargo docs, "Cargo also sets the dynamic library path when compiling
+ # and running binaries with commands like `cargo run` and `cargo test`". Sadly it
+ # sets to libdir but not base_libdir leading to symbol mismatches depending on the
+ # host OS. Fully set LD_LIBRARY_PATH to contain both to avoid this.
+ create_wrapper ${D}/${bindir}/cargo LD_LIBRARY_PATH=${libdir}:${base_libdir}
+}
+
# Disabled due to incompatibility with libgit2 0.28.x (https://github.com/rust-lang/git2-rs/issues/458, https://bugs.gentoo.org/707746#c1)
# as shipped by Yocto Dunfell.
# According to https://github.com/rust-lang/git2-rs/issues/458#issuecomment-522567539, there are no compatibility guarantees between
@@ -54,3 +62,8 @@ export LIBSSH2_SYS_USE_PKG_CONFIG = "1"
# so we must use the locally set up snapshot to bootstrap the build.
BASEDEPENDS:remove:class-native = "cargo-native"
CARGO:class-native = "${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo"
+
+DEPENDS:append:class-nativesdk = " nativesdk-rust"
+RUSTLIB:append:class-nativesdk = " -L ${STAGING_DIR_HOST}/${SDKPATHNATIVE}/usr/lib/rustlib/${RUST_HOST_SYS}/lib"
+
+
diff --git a/poky/meta/recipes-devtools/cargo/cargo_1.62.0.bb b/poky/meta/recipes-devtools/cargo/cargo_1.63.0.bb
index eee58fc245..5c8527708c 100644
--- a/poky/meta/recipes-devtools/cargo/cargo_1.62.0.bb
+++ b/poky/meta/recipes-devtools/cargo/cargo_1.63.0.bb
@@ -2,3 +2,4 @@ require recipes-devtools/rust/rust-source.inc
require recipes-devtools/rust/rust-snapshot.inc
require cargo.inc
BBCLASSEXTEND = "native nativesdk"
+RUSTLIB_DEP:class-nativesdk = "" \ No newline at end of file
diff --git a/poky/meta/recipes-devtools/ccache/ccache_4.6.1.bb b/poky/meta/recipes-devtools/ccache/ccache_4.6.2.bb
index 0d6471ddbc..dbac02243c 100644
--- a/poky/meta/recipes-devtools/ccache/ccache_4.6.1.bb
+++ b/poky/meta/recipes-devtools/ccache/ccache_4.6.2.bb
@@ -13,8 +13,10 @@ DEPENDS = "zstd"
SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz \
file://0001-xxhash.h-Fix-build-with-gcc-12.patch \
+ file://0001-Include-time.h-for-time_t.patch \
+ file://0002-config-Include-sys-types.h-for-mode_t-defintion.patch \
"
-SRC_URI[sha256sum] = "59b28a57c3a45e48d6049001999c9f94cd4d3e9b0196994bed9a6a7437ffa3bc"
+SRC_URI[sha256sum] = "6a746a9bed01585388b68e2d58af2e77741fc8d66bc360b5a0b4c41fc284dafe"
UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/"
diff --git a/poky/meta/recipes-devtools/ccache/files/0001-Include-time.h-for-time_t.patch b/poky/meta/recipes-devtools/ccache/files/0001-Include-time.h-for-time_t.patch
new file mode 100644
index 0000000000..d752eb0651
--- /dev/null
+++ b/poky/meta/recipes-devtools/ccache/files/0001-Include-time.h-for-time_t.patch
@@ -0,0 +1,29 @@
+From 590c656838a9b3769a7a855fb1891bfa8d8878ad Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Aug 2022 10:27:21 -0700
+Subject: [PATCH] Include time.h for time_t
+
+Fixes
+src/core/Statistics.hpp:41:37: error: 'time_t' has not been declared
+| 41 | time_t last_updated,
+| | ^~~~~~
+
+Upstream-Status: Submitted [https://github.com/ccache/ccache/pull/1145]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/core/Statistics.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/core/Statistics.hpp b/src/core/Statistics.hpp
+index 54f32e9..eb80e1c 100644
+--- a/src/core/Statistics.hpp
++++ b/src/core/Statistics.hpp
+@@ -21,6 +21,7 @@
+ #include <core/StatisticsCounters.hpp>
+
+ #include <cstdint>
++#include <ctime>
+ #include <string>
+ #include <unordered_map>
+ #include <vector>
diff --git a/poky/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch b/poky/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch
index 4c2623e69d..67c74a1e8e 100644
--- a/poky/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch
+++ b/poky/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch
@@ -1,4 +1,4 @@
-From cfde5ba7d10ae1e9d0c259dd1e7027e9bad8f83c Mon Sep 17 00:00:00 2001
+From 550834a3ec2e05e379be63b084e7fa06a1723f84 Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Mon, 6 Jun 2022 17:53:20 +0800
Subject: [PATCH] xxhash.h: Fix build with gcc-12
@@ -14,9 +14,10 @@ Remove inline attribute to fix below build failure:
| ~~~
4371 | secret + n*XXH_SECRET_CONSUME_RATE);
-Upstream-Status: Submitted [https://github.com/ccache/ccache/pull/1089]
+Upstream-Status: Submitted [https://github.com/Cyan4973/xxHash/pull/720]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+
---
src/third_party/xxhash.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -34,6 +35,3 @@ index 08ab794..c754e99 100644
# define XXH_NO_INLINE static __attribute__((noinline))
#elif defined(_MSC_VER) /* Visual Studio */
# define XXH_FORCE_INLINE static __forceinline
---
-2.25.1
-
diff --git a/poky/meta/recipes-devtools/ccache/files/0002-config-Include-sys-types.h-for-mode_t-defintion.patch b/poky/meta/recipes-devtools/ccache/files/0002-config-Include-sys-types.h-for-mode_t-defintion.patch
new file mode 100644
index 0000000000..0fd77602df
--- /dev/null
+++ b/poky/meta/recipes-devtools/ccache/files/0002-config-Include-sys-types.h-for-mode_t-defintion.patch
@@ -0,0 +1,25 @@
+From f98b390a2d323f7f92fb0492b0943d201afe5b8f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Aug 2022 10:40:53 -0700
+Subject: [PATCH] config: Include sys/types.h for mode_t defintion
+
+Upstream-Status: Submitted [https://github.com/ccache/ccache/pull/1145]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/Config.hpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/Config.hpp b/src/Config.hpp
+index a9e08ec..9e7af40 100644
+--- a/src/Config.hpp
++++ b/src/Config.hpp
+@@ -25,6 +25,8 @@
+
+ #include "third_party/nonstd/optional.hpp"
+
++#include <sys/types.h>
++
+ #include <cstdint>
+ #include <functional>
+ #include <limits>
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.23.2.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.24.0.bb
index 722a486f20..722a486f20 100644
--- a/poky/meta/recipes-devtools/cmake/cmake-native_3.23.2.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.24.0.bb
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index 4a6884e871..d64afffdc1 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -10,7 +10,7 @@ HOMEPAGE = "http://www.cmake.org/"
BUGTRACKER = "http://public.kitware.com/Bug/my_view_page.php"
SECTION = "console/utils"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://Copyright.txt;md5=f2102a52df7aa592cf072180e7ebc8c7 \
+LIC_FILES_CHKSUM = "file://Copyright.txt;md5=45025187a129339459b6f1a24f7fac6e \
file://Source/cmake.h;beginline=1;endline=2;md5=a5f70e1fef8614734eae0d62b4f5891b \
"
@@ -21,7 +21,7 @@ SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \
"
-SRC_URI[sha256sum] = "f316b40053466f9a416adf981efda41b160ca859e97f6a484b447ea299ff26aa"
+SRC_URI[sha256sum] = "c2b61f7cdecb1576cad25f918a8f42b8685d88a832fd4b62b9e0fa32e915a658"
UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.23.2.bb b/poky/meta/recipes-devtools/cmake/cmake_3.24.0.bb
index bb7ed83e30..bb7ed83e30 100644
--- a/poky/meta/recipes-devtools/cmake/cmake_3.23.2.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake_3.24.0.bb
diff --git a/poky/meta/recipes-devtools/expect/expect/0001-Add-prototype-to-function-definitions.patch b/poky/meta/recipes-devtools/expect/expect/0001-Add-prototype-to-function-definitions.patch
new file mode 100644
index 0000000000..7d211b3dff
--- /dev/null
+++ b/poky/meta/recipes-devtools/expect/expect/0001-Add-prototype-to-function-definitions.patch
@@ -0,0 +1,113 @@
+From 904c7cf6647594939ce1e398468bca3c885f0622 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 15 Aug 2022 18:25:23 -0700
+Subject: [PATCH] Add prototype to function definitions
+
+Compilers like clang has started erroring out on implicit-function-declaration
+therefore arrange the relevant include files where needed.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/expect/patches/24/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ exp_chan.c | 5 +++--
+ exp_clib.c | 4 +++-
+ exp_main_sub.c | 5 +++++
+ pty_termios.c | 4 ++++
+ 4 files changed, 15 insertions(+), 3 deletions(-)
+
+diff --git a/exp_chan.c b/exp_chan.c
+index 79f486c..50375d3 100644
+--- a/exp_chan.c
++++ b/exp_chan.c
+@@ -35,6 +35,7 @@
+ #include "exp_prog.h"
+ #include "exp_command.h"
+ #include "exp_log.h"
++#include "exp_event.h" /* exp_background_channelhandler */
+ #include "tcldbg.h" /* Dbg_StdinMode */
+
+ extern int expSetBlockModeProc _ANSI_ARGS_((int fd, int mode));
+@@ -631,7 +632,7 @@ expWaitOnOne() {
+ }
+
+ void
+-exp_background_channelhandlers_run_all()
++exp_background_channelhandlers_run_all(void)
+ {
+ ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
+ ExpState *esPtr;
+@@ -760,7 +761,7 @@ expCreateChannel(interp,fdin,fdout,pid)
+ }
+
+ void
+-expChannelInit() {
++expChannelInit(void) {
+ ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
+
+ tsdPtr->channelCount = 0;
+diff --git a/exp_clib.c b/exp_clib.c
+index b21fb5d..8f31fc3 100644
+--- a/exp_clib.c
++++ b/exp_clib.c
+@@ -9,13 +9,14 @@ would appreciate credit if this program or parts of it are used.
+
+ #include "expect_cf.h"
+ #include <stdio.h>
++#include <unistd.h>
+ #include <setjmp.h>
+ #ifdef HAVE_INTTYPES_H
+ # include <inttypes.h>
+ #endif
+ #include <sys/types.h>
+ #include <sys/ioctl.h>
+-
++#include <sys/wait.h>
+ #ifdef TIME_WITH_SYS_TIME
+ # include <sys/time.h>
+ # include <time.h>
+@@ -1738,6 +1739,7 @@ int exp_getptyslave();
+ #define sysreturn(x) return(errno = x, -1)
+
+ void exp_init_pty();
++void exp_init_tty();
+
+ /*
+ The following functions are linked from the Tcl library. They
+diff --git a/exp_main_sub.c b/exp_main_sub.c
+index bf6c4be..f53b89e 100644
+--- a/exp_main_sub.c
++++ b/exp_main_sub.c
+@@ -61,6 +61,11 @@ int exp_cmdlinecmds = FALSE;
+ int exp_interactive = FALSE;
+ int exp_buffer_command_input = FALSE;/* read in entire cmdfile at once */
+ int exp_fgets();
++int exp_tty_cooked_echo(
++ Tcl_Interp *interp,
++ exp_tty *tty_old,
++ int *was_raw,
++ int *was_echo);
+
+ Tcl_Interp *exp_interp; /* for use by signal handlers who can't figure out */
+ /* the interpreter directly */
+diff --git a/pty_termios.c b/pty_termios.c
+index c605b23..80ed5e7 100644
+--- a/pty_termios.c
++++ b/pty_termios.c
+@@ -7,6 +7,7 @@ would appreciate credit if you use this file or parts of it.
+
+ */
+
++#include <pty.h> /* openpty */
+ #include <stdio.h>
+ #include <signal.h>
+
+@@ -15,6 +16,9 @@ would appreciate credit if you use this file or parts of it.
+ #endif
+
+ #include "expect_cf.h"
++#include "tclInt.h"
++
++extern char * expErrnoMsg _ANSI_ARGS_((int));
+
+ /*
+ The following functions are linked from the Tcl library. They
diff --git a/poky/meta/recipes-devtools/expect/expect_5.45.4.bb b/poky/meta/recipes-devtools/expect/expect_5.45.4.bb
index e22fa140d5..6cb46f334c 100644
--- a/poky/meta/recipes-devtools/expect/expect_5.45.4.bb
+++ b/poky/meta/recipes-devtools/expect/expect_5.45.4.bb
@@ -26,7 +26,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/expect/Expect/${PV}/${BPN}${PV}.tar.gz \
file://0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch \
file://0001-exp_main_sub.c-Use-PATH_MAX-for-path.patch \
file://0001-fixline1-fix-line-1.patch \
- "
+ file://0001-Add-prototype-to-function-definitions.patch \
+ "
SRC_URI[md5sum] = "00fce8de158422f5ccd2666512329bd2"
SRC_URI[sha256sum] = "49a7da83b0bdd9f46d04a04deec19c7767bb9a323e40c4781f89caf760b92c34"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-12.1.inc b/poky/meta/recipes-devtools/gcc/gcc-12.2.inc
index 56678c78be..572fd8b669 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-12.1.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-12.2.inc
@@ -2,11 +2,11 @@ require gcc-common.inc
# Third digit in PV should be incremented after a minor release
-PV = "12.1.0"
+PV = "12.2.0"
# BINV should be incremented to a revision after a minor gcc release
-BINV = "12.1.0"
+BINV = "12.2.0"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
@@ -64,9 +64,10 @@ SRC_URI = "${BASEURI} \
file://0024-Fix-install-path-of-linux64.h.patch \
file://0025-Move-sched.h-include-ahead-of-user-headers.patch \
file://0026-rust-recursion-limit.patch \
- file://0001-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch \
+ file://prefix-map-realpath.patch \
+ file://hardcoded-paths.patch \
"
-SRC_URI[sha256sum] = "62fd634889f31c02b64af2c468f064b47ad1ca78411c45abe6ac4b5f8dd19c7b"
+SRC_URI[sha256sum] = "e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff"
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}"
B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_12.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_12.2.bb
index bf53c5cd78..bf53c5cd78 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_12.1.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_12.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross.inc b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
index 3ffa1f0c46..a540fb2434 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -149,6 +149,7 @@ do_gcc_stash_builddir () {
# Makefile does move-if-change which can end up with 'timestamp' as file contents so break links to those files
rm $dest/gcc/include/*.h
cp gcc/include/*.h $dest/gcc/include/
+ sysroot-relativelinks.py $dest
}
addtask do_gcc_stash_builddir after do_compile before do_install
SSTATETASKS += "do_gcc_stash_builddir"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross_12.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross_12.2.bb
index b43cca0c52..b43cca0c52 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross_12.1.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross_12.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_12.1.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_12.2.bb
index 40a6c4feff..40a6c4feff 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_12.1.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_12.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-multilib-config.inc b/poky/meta/recipes-devtools/gcc/gcc-multilib-config.inc
index 26bfed9507..2dbbc23c94 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-multilib-config.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-multilib-config.inc
@@ -154,7 +154,7 @@ python gcc_multilib_setup() {
gcc_header_config_files = {
'x86_64' : ['gcc/config/linux.h', 'gcc/config/i386/linux.h', 'gcc/config/i386/linux64.h'],
'i586' : ['gcc/config/linux.h', 'gcc/config/i386/linux.h', 'gcc/config/i386/linux64.h'],
- 'i686' : ['gcc/config/linux.h', 'gcc/config/i386/linux64.h'],
+ 'i686' : ['gcc/config/linux.h', 'gcc/config/i386/linux.h', 'gcc/config/i386/linux64.h'],
'mips' : ['gcc/config/linux.h', 'gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'],
'mips64' : ['gcc/config/linux.h', 'gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'],
'powerpc' : ['gcc/config/linux.h', 'gcc/config/rs6000/linux64.h'],
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
index b8bfdcedad..fa5b048dab 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -50,20 +50,6 @@ RUNTIMETARGET:libc-newlib = "libstdc++-v3"
# libiberty
# libgfortran needs separate recipe due to libquadmath dependency
-# Relative path to be repaced into debug info
-REL_S = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
-
-DEBUG_PREFIX_MAP:class-target = " \
- -fdebug-prefix-map=${WORKDIR}/${MLPREFIX}recipe-sysroot= \
- -fdebug-prefix-map=${WORKDIR}/recipe-sysroot-native= \
- -fdebug-prefix-map=${S}=${REL_S} \
- -fdebug-prefix-map=${S}/include=${REL_S}/libstdc++-v3/../include \
- -fdebug-prefix-map=${S}/libiberty=${REL_S}/libstdc++-v3/../libiberty \
- -fdebug-prefix-map=${S}/libgcc=${REL_S}/libstdc++-v3/../libgcc \
- -fdebug-prefix-map=${B}=${REL_S} \
- -ffile-prefix-map=${B}/${HOST_SYS}/libstdc++-v3/include=${includedir}/c++/${BINV} \
- "
-
do_configure () {
export CXX="${CXX} -nostdinc++ -L${WORKDIR}/dummylib"
# libstdc++ isn't built yet so CXX would error not able to find it which breaks stdc++'s configure
@@ -77,8 +63,7 @@ do_configure () {
mkdir -p ${B}/${TARGET_SYS}/$d/
cd ${B}/${TARGET_SYS}/$d/
chmod a+x ${S}/$d/configure
- relpath=${@os.path.relpath("${S}/$d", "${B}/${TARGET_SYS}/$d")}
- $relpath/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
+ ${S}/$d/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
if [ "$d" = "libgcc" ]; then
(cd ${B}/${TARGET_SYS}/libgcc; oe_runmake enable-execute-stack.c unwind.h md-unwind-support.h sfp-machine.h gthr-default.h)
fi
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_12.1.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_12.2.bb
index dd430b57eb..dd430b57eb 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime_12.1.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-runtime_12.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_12.1.bb b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_12.2.bb
index 8bda2ccad6..8bda2ccad6 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_12.1.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_12.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-source_12.1.bb b/poky/meta/recipes-devtools/gcc/gcc-source_12.2.bb
index b890fa33ea..b890fa33ea 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-source_12.1.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-source_12.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0001-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch b/poky/meta/recipes-devtools/gcc/gcc/0001-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch
deleted file mode 100644
index 6bbc95aa00..0000000000
--- a/poky/meta/recipes-devtools/gcc/gcc/0001-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 2701442d0cf6292f6624443c15813d6d1a3562fe Mon Sep 17 00:00:00 2001
-From: Martin Liska <mliska@suse.cz>
-Date: Mon, 11 Jul 2022 22:03:14 +0200
-Subject: [PATCH] libsanitizer: cherry-pick 9cf13067cb5088626ba7 from upstream
-
-9cf13067cb5088626ba7ee1ec4c42ec59c7995a0 [sanitizer] Remove #include <linux/fs.h> to resolve fsconfig_command/mount_attr conflict with glibc 2.36
-
-Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=2701442d0cf6292f6624443c15813d6d1a3562fe]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- .../sanitizer_platform_limits_posix.cpp | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-index 8ed3e92d270..97fd07acf9d 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-@@ -73,7 +73,9 @@
- #include <sys/vt.h>
- #include <linux/cdrom.h>
- #include <linux/fd.h>
-+#if SANITIZER_ANDROID
- #include <linux/fs.h>
-+#endif
- #include <linux/hdreg.h>
- #include <linux/input.h>
- #include <linux/ioctl.h>
-@@ -869,10 +871,10 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
- unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT;
- unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT;
- #endif
-- unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS;
-- unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION;
-- unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS;
-- unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION;
-+ unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long);
-+ unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long);
-+ unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long);
-+ unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long);
- unsigned IOCTL_GIO_CMAP = GIO_CMAP;
- unsigned IOCTL_GIO_FONT = GIO_FONT;
- unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP;
---
-2.37.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc/hardcoded-paths.patch b/poky/meta/recipes-devtools/gcc/gcc/hardcoded-paths.patch
new file mode 100644
index 0000000000..f3485858f4
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc/hardcoded-paths.patch
@@ -0,0 +1,19 @@
+Avoid encoding build paths into sources used for floating point on powerpc.
+(MACHINE=qemuppc bitbake libgcc).
+
+Upstream-Status: Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2022-August/599882.html]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: gcc-12.1.0/libgcc/config/rs6000/t-float128
+===================================================================
+--- gcc-12.1.0.orig/libgcc/config/rs6000/t-float128
++++ gcc-12.1.0/libgcc/config/rs6000/t-float128
+@@ -103,7 +103,7 @@ $(ibm128_dec_objs) : INTERNAL_CFLAGS +=
+ $(fp128_softfp_src) : $(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@)) $(fp128_dep)
+ @src="$(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@))"; \
+ echo "Create $@"; \
+- (echo "/* file created from $$src */"; \
++ (echo "/* file created from `basename $$src` */"; \
+ echo; \
+ sed -f $(fp128_sed) < $$src) > $@
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc/prefix-map-realpath.patch b/poky/meta/recipes-devtools/gcc/gcc/prefix-map-realpath.patch
new file mode 100644
index 0000000000..7f1a2deec7
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc/prefix-map-realpath.patch
@@ -0,0 +1,63 @@
+Relative paths don't work with -fdebug-prefix-map and friends. This
+can lead to paths which the user wanted to be remapped being missed.
+Setting -fdebug-prefix-map to work with a relative path isn't practical
+either.
+
+Instead, call gcc's realpath function on the incomming path name before
+comparing it with the remapping. This means other issues like symlinks
+are also accounted for and leads to a more consistent remapping experience.
+
+Upstream-Status: Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2022-August/599885.html]
+[Also https://gcc.gnu.org/pipermail/gcc-patches/2022-August/599884.html]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+
+Index: gcc-12.1.0/gcc/file-prefix-map.cc
+===================================================================
+--- gcc-12.1.0.orig/gcc/file-prefix-map.cc
++++ gcc-12.1.0/gcc/file-prefix-map.cc
+@@ -70,19 +70,28 @@ remap_filename (file_prefix_map *maps, c
+ file_prefix_map *map;
+ char *s;
+ const char *name;
++ char *realname;
+ size_t name_len;
+
++ if (lbasename (filename) == filename)
++ return filename;
++
++ realname = lrealpath (filename);
++
+ for (map = maps; map; map = map->next)
+- if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0)
++ if (filename_ncmp (realname, map->old_prefix, map->old_len) == 0)
+ break;
+- if (!map)
++ if (!map) {
++ free (realname);
+ return filename;
+- name = filename + map->old_len;
++ }
++ name = realname + map->old_len;
+ name_len = strlen (name) + 1;
+
+ s = (char *) ggc_alloc_atomic (name_len + map->new_len);
+ memcpy (s, map->new_prefix, map->new_len);
+ memcpy (s + map->new_len, name, name_len);
++ free (realname);
+ return s;
+ }
+
+Index: gcc-12.1.0/libcpp/macro.cc
+===================================================================
+--- gcc-12.1.0.orig/libcpp/macro.cc
++++ gcc-12.1.0/libcpp/macro.cc
+@@ -563,7 +563,7 @@ _cpp_builtin_macro_text (cpp_reader *pfi
+ if (!name)
+ abort ();
+ }
+- if (pfile->cb.remap_filename)
++ if (pfile->cb.remap_filename && !pfile->state.in_directive)
+ name = pfile->cb.remap_filename (name);
+ len = strlen (name);
+ buf = _cpp_unaligned_alloc (pfile, len * 2 + 3);
diff --git a/poky/meta/recipes-devtools/gcc/gcc_12.1.bb b/poky/meta/recipes-devtools/gcc/gcc_12.2.bb
index 255fe552bd..255fe552bd 100644
--- a/poky/meta/recipes-devtools/gcc/gcc_12.1.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc_12.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgcc-common.inc b/poky/meta/recipes-devtools/gcc/libgcc-common.inc
index cf8d6b7ed6..d9084af51a 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc-common.inc
+++ b/poky/meta/recipes-devtools/gcc/libgcc-common.inc
@@ -10,8 +10,7 @@ do_configure () {
mkdir -p ${B}/${TARGET_SYS}/${BPN}/
cd ${B}/${BPN}
chmod a+x ${S}/${BPN}/configure
- relpath=${@os.path.relpath("${S}/${BPN}", "${B}/${BPN}")}
- $relpath/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
+ ${S}/${BPN}/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
}
EXTRACONFFUNCS += "extract_stashed_builddir"
do_configure[depends] += "${COMPILERDEP}"
diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial_12.1.bb b/poky/meta/recipes-devtools/gcc/libgcc-initial_12.2.bb
index a259082b47..a259082b47 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc-initial_12.1.bb
+++ b/poky/meta/recipes-devtools/gcc/libgcc-initial_12.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgcc_12.1.bb b/poky/meta/recipes-devtools/gcc/libgcc_12.2.bb
index f88963b0a4..f88963b0a4 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc_12.1.bb
+++ b/poky/meta/recipes-devtools/gcc/libgcc_12.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgfortran_12.1.bb b/poky/meta/recipes-devtools/gcc/libgfortran_12.2.bb
index 71dd8b4bdc..71dd8b4bdc 100644
--- a/poky/meta/recipes-devtools/gcc/libgfortran_12.1.bb
+++ b/poky/meta/recipes-devtools/gcc/libgfortran_12.2.bb
diff --git a/poky/meta/recipes-devtools/git/git_2.37.1.bb b/poky/meta/recipes-devtools/git/git_2.37.2.bb
index 5d2524a1da..b7858e2e46 100644
--- a/poky/meta/recipes-devtools/git/git_2.37.1.bb
+++ b/poky/meta/recipes-devtools/git/git_2.37.2.bb
@@ -165,4 +165,4 @@ EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
"
EXTRA_OEMAKE += "NO_GETTEXT=1"
-SRC_URI[tarball.sha256sum] = "7dded96a52e7996ce90dd74a187aec175737f680dc063f3f33c8932cf5c8d809"
+SRC_URI[tarball.sha256sum] = "4c428908e3a2dca4174df6ef49acc995a4fdb1b45205a2c79794487a33bc06e5"
diff --git a/poky/meta/recipes-devtools/go/go-1.18.4.inc b/poky/meta/recipes-devtools/go/go-1.19.inc
index bfda15c54f..f733a807b4 100644
--- a/poky/meta/recipes-devtools/go/go-1.18.4.inc
+++ b/poky/meta/recipes-devtools/go/go-1.19.inc
@@ -14,5 +14,6 @@ SRC_URI += "\
file://0001-exec.go-do-not-write-linker-flags-into-buildids.patch \
file://0001-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \
file://filter-build-paths.patch \
+ file://stack-protector.patch \
"
-SRC_URI[main.sha256sum] = "4525aa6b0e3cecb57845f4060a7075aafc9ab752bb7b6b4cf8a212d43078e1e4"
+SRC_URI[main.sha256sum] = "9419cc70dc5a2523f29a77053cafff658ed21ef3561d9b6b020280ebceab28b9"
diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.18.4.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.19.bb
index 252c467a00..ca424a66b8 100644
--- a/poky/meta/recipes-devtools/go/go-binary-native_1.18.4.bb
+++ b/poky/meta/recipes-devtools/go/go-binary-native_1.19.bb
@@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
PROVIDES = "go-native"
SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "c9b099b68d93f5c5c8a8844a89f8db07eaa58270e3a1e01804f17f4cf8df02f5"
-SRC_URI[go_linux_arm64.sha256sum] = "35014d92b50d97da41dade965df7ebeb9a715da600206aa59ce1b2d05527421f"
+SRC_URI[go_linux_amd64.sha256sum] = "464b6b66591f6cf055bc5df90a9750bf5fbc9d038722bb84a9d56a2bea974be6"
+SRC_URI[go_linux_arm64.sha256sum] = "efa97fac9574fc6ef6c9ff3e3758fb85f1439b046573bf434cccb5e012bd00c8"
UPSTREAM_CHECK_URI = "https://golang.org/dl/"
UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.18.4.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.19.bb
index 7ac9449e47..7ac9449e47 100644
--- a/poky/meta/recipes-devtools/go/go-cross-canadian_1.18.4.bb
+++ b/poky/meta/recipes-devtools/go/go-cross-canadian_1.19.bb
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.18.4.bb b/poky/meta/recipes-devtools/go/go-cross_1.19.bb
index 80b5a03f6c..80b5a03f6c 100644
--- a/poky/meta/recipes-devtools/go/go-cross_1.18.4.bb
+++ b/poky/meta/recipes-devtools/go/go-cross_1.19.bb
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.18.4.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.19.bb
index 1857c8a577..1857c8a577 100644
--- a/poky/meta/recipes-devtools/go/go-crosssdk_1.18.4.bb
+++ b/poky/meta/recipes-devtools/go/go-crosssdk_1.19.bb
diff --git a/poky/meta/recipes-devtools/go/go-native_1.18.4.bb b/poky/meta/recipes-devtools/go/go-native_1.19.bb
index 76c0ab73a6..76c0ab73a6 100644
--- a/poky/meta/recipes-devtools/go/go-native_1.18.4.bb
+++ b/poky/meta/recipes-devtools/go/go-native_1.19.bb
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.18.4.bb b/poky/meta/recipes-devtools/go/go-runtime_1.19.bb
index 63464a1501..63464a1501 100644
--- a/poky/meta/recipes-devtools/go/go-runtime_1.18.4.bb
+++ b/poky/meta/recipes-devtools/go/go-runtime_1.19.bb
diff --git a/poky/meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch b/poky/meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
index f9db5df4eb..8cbed93017 100644
--- a/poky/meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
+++ b/poky/meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
@@ -1,4 +1,4 @@
-From 61de6067f5ad127d246543527947a357647f95e5 Mon Sep 17 00:00:00 2001
+From a3db4da51df37d163ff9e8c1e1057280c648c545 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 28 Mar 2022 10:59:03 -0700
Subject: [PATCH] cmd/go: make content-based hash generation less pedantic
@@ -25,14 +25,17 @@ Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Alex Kube <alexander.j.kube@gmail.com>
Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
src/cmd/go/internal/envcmd/env.go | 2 +-
- src/cmd/go/internal/work/exec.go | 42 +++++++++++++++++++++++++------
- 2 files changed, 35 insertions(+), 9 deletions(-)
+ src/cmd/go/internal/work/exec.go | 42 ++++++++++++++++++++++++-------
+ 2 files changed, 34 insertions(+), 10 deletions(-)
+diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
+index 529351d..df791b0 100644
--- a/src/cmd/go/internal/envcmd/env.go
+++ b/src/cmd/go/internal/envcmd/env.go
-@@ -169,7 +169,7 @@ func ExtraEnvVars() []cfg.EnvVar {
+@@ -176,7 +176,7 @@ func ExtraEnvVars() []cfg.EnvVar {
func ExtraEnvVarsCostly() []cfg.EnvVar {
var b work.Builder
b.Init()
@@ -41,9 +44,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
if err != nil {
// Should not happen - b.CFlags was given an empty package.
fmt.Fprintf(os.Stderr, "go: invalid cflags: %v\n", err)
+diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
+index c88b315..a06455c 100644
--- a/src/cmd/go/internal/work/exec.go
+++ b/src/cmd/go/internal/work/exec.go
-@@ -213,6 +213,8 @@ func (b *Builder) Do(ctx context.Context
+@@ -213,6 +213,8 @@ func (b *Builder) Do(ctx context.Context, root *Action) {
writeActionGraph()
}
@@ -52,7 +57,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
// buildActionID computes the action ID for a build action.
func (b *Builder) buildActionID(a *Action) cache.ActionID {
p := a.Package
-@@ -234,7 +236,7 @@ func (b *Builder) buildActionID(a *Actio
+@@ -234,7 +236,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
if p.Module != nil {
fmt.Fprintf(h, "module %s@%s\n", p.Module.Path, p.Module.Version)
}
@@ -61,7 +66,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
// The Go compiler always hides the exact value of $GOROOT
// when building things in GOROOT.
//
-@@ -266,9 +268,9 @@ func (b *Builder) buildActionID(a *Actio
+@@ -266,9 +268,9 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
}
if len(p.CgoFiles)+len(p.SwigFiles)+len(p.SwigCXXFiles) > 0 {
fmt.Fprintf(h, "cgo %q\n", b.toolID("cgo"))
@@ -73,7 +78,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
fmt.Fprintf(h, "CC=%q %q %q %q\n", ccExe, cppflags, cflags, ldflags)
// Include the C compiler tool ID so that if the C
// compiler changes we rebuild the package.
-@@ -281,14 +283,14 @@ func (b *Builder) buildActionID(a *Actio
+@@ -281,14 +283,14 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
}
}
if len(p.CXXFiles)+len(p.SwigCXXFiles) > 0 {
@@ -90,16 +95,16 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
fmt.Fprintf(h, "FC=%q %q\n", fcExe, fflags)
if fcID, err := b.gccToolID(fcExe[0], "f95"); err == nil {
fmt.Fprintf(h, "FC ID=%q\n", fcID)
-@@ -304,7 +306,7 @@ func (b *Builder) buildActionID(a *Actio
- fmt.Fprintf(h, "fuzz %q\n", fuzzFlags)
+@@ -305,7 +307,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
}
}
-- fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo)
-+ //fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo)
+ if p.Internal.BuildInfo != "" {
+- fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo)
++ //fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo)
+ }
// Configuration specific to compiler toolchain.
- switch cfg.BuildToolchainName {
-@@ -2679,8 +2681,23 @@ func envList(key, def string) []string {
+@@ -2705,8 +2707,23 @@ func envList(key, def string) []string {
return args
}
@@ -124,7 +129,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
defaults := "-g -O2"
if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, checkCompilerFlags); err != nil {
-@@ -2698,6 +2715,13 @@ func (b *Builder) CFlags(p *load.Package
+@@ -2724,6 +2741,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l
if ldflags, err = buildFlags("LDFLAGS", defaults, p.CgoLDFLAGS, checkLinkerFlags); err != nil {
return
}
@@ -138,7 +143,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
return
}
-@@ -2713,7 +2737,7 @@ var cgoRe = lazyregexp.New(`[/\\:]`)
+@@ -2739,7 +2763,7 @@ var cgoRe = lazyregexp.New(`[/\\:]`)
func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgofiles, gccfiles, gxxfiles, mfiles, ffiles []string) (outGo, outObj []string, err error) {
p := a.Package
@@ -147,7 +152,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
if err != nil {
return nil, nil, err
}
-@@ -3174,7 +3198,7 @@ func (b *Builder) swigIntSize(objdir str
+@@ -3246,7 +3270,7 @@ func (b *Builder) swigIntSize(objdir string) (intsize string, err error) {
// Run SWIG on one SWIG input file.
func (b *Builder) swigOne(a *Action, p *load.Package, file, objdir string, pcCFLAGS []string, cxx bool, intgosize string) (outGo, outC string, err error) {
diff --git a/poky/meta/recipes-devtools/go/go/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch b/poky/meta/recipes-devtools/go/go/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
index c3ccffc3e9..30068d8e74 100644
--- a/poky/meta/recipes-devtools/go/go/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
+++ b/poky/meta/recipes-devtools/go/go/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
@@ -1,4 +1,4 @@
-From 8512964c0bfdfc3c9c3805743ea7de551a1d476a Mon Sep 17 00:00:00 2001
+From 7e0136a882757da0a374ab8592209586eced0e1c Mon Sep 17 00:00:00 2001
From: Alex Kube <alexander.j.kube@gmail.com>
Date: Wed, 23 Oct 2019 21:15:37 +0430
Subject: [PATCH] cmd/go: Allow GOTOOLDIR to be overridden in the environment
@@ -18,9 +18,11 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
src/cmd/go/internal/cfg/cfg.go | 6 +++++-
2 files changed, 8 insertions(+), 2 deletions(-)
+diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
+index 7c44c4a..3024d0c 100644
--- a/src/cmd/dist/build.go
+++ b/src/cmd/dist/build.go
-@@ -251,7 +251,9 @@ func xinit() {
+@@ -264,7 +264,9 @@ func xinit() {
}
xatexit(rmworkdir)
@@ -31,18 +33,20 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
}
// compilerEnv returns a map from "goos/goarch" to the
+diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go
+index c6ddfe5..605adb1 100644
--- a/src/cmd/go/internal/cfg/cfg.go
+++ b/src/cmd/go/internal/cfg/cfg.go
-@@ -76,7 +76,11 @@ func defaultContext() build.Context {
+@@ -162,7 +162,11 @@ func SetGOROOT(goroot string) {
// variables. This matches the initialization of ToolDir in
- // go/build, except for using ctxt.GOROOT rather than
+ // go/build, except for using BuildContext.GOROOT rather than
// runtime.GOROOT.
-- build.ToolDir = filepath.Join(ctxt.GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
+- build.ToolDir = filepath.Join(goroot, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
+ if s := os.Getenv("GOTOOLDIR"); s != "" {
+ build.ToolDir = filepath.Clean(s)
+ } else {
-+ build.ToolDir = filepath.Join(ctxt.GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
++ build.ToolDir = filepath.Join(goroot, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
+ }
}
+ }
- ctxt.GOPATH = envOr("GOPATH", gopath(ctxt))
diff --git a/poky/meta/recipes-devtools/go/go/0004-ld-add-soname-to-shareable-objects.patch b/poky/meta/recipes-devtools/go/go/0004-ld-add-soname-to-shareable-objects.patch
index 058fa64225..b700634910 100644
--- a/poky/meta/recipes-devtools/go/go/0004-ld-add-soname-to-shareable-objects.patch
+++ b/poky/meta/recipes-devtools/go/go/0004-ld-add-soname-to-shareable-objects.patch
@@ -1,7 +1,7 @@
-From bf5cf5301ae5914498454c87293d1df2e1d8489f Mon Sep 17 00:00:00 2001
+From 68867eae5d3a51f32b2a2e16374323338408781e Mon Sep 17 00:00:00 2001
From: Alex Kube <alexander.j.kube@gmail.com>
Date: Wed, 23 Oct 2019 21:16:32 +0430
-Subject: [PATCH 4/9] ld: add soname to shareable objects
+Subject: [PATCH] ld: add soname to shareable objects
so that OE's shared library dependency handling
can find them.
@@ -13,21 +13,24 @@ Matt Madison <matt@madison.systems>.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
+
---
src/cmd/link/internal/ld/lib.go | 3 +++
1 file changed, 3 insertions(+)
+diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
+index 18910dd..b2e1d36 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
-@@ -1347,6 +1347,7 @@ func (ctxt *Link) hostlink() {
+@@ -1459,6 +1459,7 @@ func (ctxt *Link) hostlink() {
argv = append(argv, "-Wl,-z,relro")
}
argv = append(argv, "-shared")
+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
if ctxt.HeadType == objabi.Hwindows {
- if *flagAslr {
- argv = addASLRargs(argv)
-@@ -1364,6 +1365,7 @@ func (ctxt *Link) hostlink() {
+ argv = addASLRargs(argv, *flagAslr)
+ } else {
+@@ -1474,6 +1475,7 @@ func (ctxt *Link) hostlink() {
argv = append(argv, "-Wl,-z,relro")
}
argv = append(argv, "-shared")
@@ -35,7 +38,7 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
case BuildModePlugin:
if ctxt.HeadType == objabi.Hdarwin {
argv = append(argv, "-dynamiclib")
-@@ -1372,6 +1374,7 @@ func (ctxt *Link) hostlink() {
+@@ -1482,6 +1484,7 @@ func (ctxt *Link) hostlink() {
argv = append(argv, "-Wl,-z,relro")
}
argv = append(argv, "-shared")
diff --git a/poky/meta/recipes-devtools/go/go/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch b/poky/meta/recipes-devtools/go/go/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
index a6937672f5..608f1eb5a0 100644
--- a/poky/meta/recipes-devtools/go/go/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
+++ b/poky/meta/recipes-devtools/go/go/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
@@ -1,4 +1,4 @@
-From 153e2dda6103fd9dd871be4bb495a8da5328301e Mon Sep 17 00:00:00 2001
+From 8f020921c464e95ded850950382115154448580a Mon Sep 17 00:00:00 2001
From: Alex Kube <alexander.j.kube@gmail.com>
Date: Wed, 23 Oct 2019 21:17:16 +0430
Subject: [PATCH] make.bash: override CC when building dist and go_bootstrap
@@ -17,18 +17,20 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
src/make.bash | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
+diff --git a/src/make.bash b/src/make.bash
+index ab2ce19..37ec1fb 100755
--- a/src/make.bash
+++ b/src/make.bash
-@@ -195,7 +195,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ];
+@@ -198,7 +198,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then
exit 1
fi
rm -f cmd/dist/dist
--GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" GO111MODULE=off "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
-+CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" GO111MODULE=off "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
+-GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" GO111MODULE=off GOEXPERIMENT="" GOENV=off GOFLAGS="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
++CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" GO111MODULE=off GOEXPERIMENT="" GOENV=off GOFLAGS="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
# -e doesn't propagate out of eval, so check success by hand.
eval $(./cmd/dist/dist env -p || echo FAIL=true)
-@@ -220,7 +220,7 @@ fi
+@@ -223,7 +223,7 @@ fi
# Run dist bootstrap to complete make.bash.
# Bootstrap installs a proper cmd/dist, built with the new toolchain.
# Throw ours, built with Go 1.4, away after bootstrap.
diff --git a/poky/meta/recipes-devtools/go/go/0006-cmd-dist-separate-host-and-target-builds.patch b/poky/meta/recipes-devtools/go/go/0006-cmd-dist-separate-host-and-target-builds.patch
index ee743ab990..2c864baa0e 100644
--- a/poky/meta/recipes-devtools/go/go/0006-cmd-dist-separate-host-and-target-builds.patch
+++ b/poky/meta/recipes-devtools/go/go/0006-cmd-dist-separate-host-and-target-builds.patch
@@ -1,4 +1,4 @@
-From 7bc891e00be4263311d75aa2b2ee6a3b7b75355f Mon Sep 17 00:00:00 2001
+From ef5fddafdec78cab9963d21736e64d71ca520bcc Mon Sep 17 00:00:00 2001
From: Alex Kube <alexander.j.kube@gmail.com>
Date: Wed, 23 Oct 2019 21:18:12 +0430
Subject: [PATCH] cmd/dist: separate host and target builds
@@ -36,12 +36,14 @@ Matt Madison <matt@madison.systems>.
Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
---
- src/cmd/dist/build.go | 156 ++++++++++++++++++++++++++++++------------
- 1 file changed, 113 insertions(+), 43 deletions(-)
+ src/cmd/dist/build.go | 154 ++++++++++++++++++++++++++++++------------
+ 1 file changed, 112 insertions(+), 42 deletions(-)
+diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
+index 3024d0c..45ebee0 100644
--- a/src/cmd/dist/build.go
+++ b/src/cmd/dist/build.go
-@@ -44,6 +44,7 @@ var (
+@@ -45,6 +45,7 @@ var (
goexperiment string
workdir string
tooldir string
@@ -49,7 +51,7 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
oldgoos string
oldgoarch string
exe string
-@@ -54,6 +55,7 @@ var (
+@@ -55,6 +56,7 @@ var (
rebuildall bool
defaultclang bool
@@ -57,7 +59,7 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
vflag int // verbosity
)
-@@ -254,6 +256,8 @@ func xinit() {
+@@ -267,6 +269,8 @@ func xinit() {
if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" {
tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
}
@@ -66,7 +68,7 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
}
// compilerEnv returns a map from "goos/goarch" to the
-@@ -499,8 +503,10 @@ func setup() {
+@@ -468,8 +472,10 @@ func setup() {
p := pathf("%s/pkg/%s_%s", goroot, gohostos, gohostarch)
if rebuildall {
xremoveall(p)
@@ -77,7 +79,7 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
if goos != gohostos || goarch != gohostarch {
p := pathf("%s/pkg/%s_%s", goroot, goos, goarch)
-@@ -1252,17 +1258,35 @@ func cmdbootstrap() {
+@@ -1248,17 +1254,35 @@ func cmdbootstrap() {
var noBanner, noClean bool
var debug bool
@@ -114,7 +116,7 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
// Set GOPATH to an internal directory. We shouldn't actually
// need to store files here, since the toolchain won't
// depend on modules outside of vendor directories, but if
-@@ -1330,8 +1354,13 @@ func cmdbootstrap() {
+@@ -1326,8 +1350,13 @@ func cmdbootstrap() {
xprintf("\n")
}
@@ -128,9 +130,9 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
+ goldflags = os.Getenv("GO_LDFLAGS") // we were using $BOOT_GO_LDFLAGS until now
+ }
goBootstrap := pathf("%s/go_bootstrap", tooldir)
- cmdGo := pathf("%s/go", gobin)
+ cmdGo := pathf("%s/go", gorootBin)
if debug {
-@@ -1360,7 +1389,11 @@ func cmdbootstrap() {
+@@ -1356,7 +1385,11 @@ func cmdbootstrap() {
xprintf("\n")
}
xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n")
@@ -143,7 +145,7 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
// Now that cmd/go is in charge of the build process, enable GOEXPERIMENT.
os.Setenv("GOEXPERIMENT", goexperiment)
goInstall(goBootstrap, append([]string{"-i"}, toolchain...)...)
-@@ -1399,50 +1432,84 @@ func cmdbootstrap() {
+@@ -1395,50 +1428,84 @@ func cmdbootstrap() {
}
checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
@@ -235,7 +237,12 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
- timelog("build", "target toolchain")
- if vflag > 0 {
- xprintf("\n")
-- }
++ if debug {
++ run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
++ run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch))
++ checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
++ copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
+ }
- goos = oldgoos
- goarch = oldgoarch
- os.Setenv("GOOS", goos)
@@ -256,16 +263,10 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
- run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch))
- checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
- copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
-+ if debug {
-+ run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
-+ run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch))
-+ checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
-+ copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
-+ }
}
// Check that there are no new files in $GOROOT/bin other than
-@@ -1459,8 +1526,11 @@ func cmdbootstrap() {
+@@ -1455,8 +1522,11 @@ func cmdbootstrap() {
}
}
diff --git a/poky/meta/recipes-devtools/go/go/filter-build-paths.patch b/poky/meta/recipes-devtools/go/go/filter-build-paths.patch
index caf727714e..a1aa37c2a4 100644
--- a/poky/meta/recipes-devtools/go/go/filter-build-paths.patch
+++ b/poky/meta/recipes-devtools/go/go/filter-build-paths.patch
@@ -1,3 +1,8 @@
+From 3bdbce685c688a27eece36ccc8be9b50b4849498 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Sat, 2 Jul 2022 23:08:13 +0100
+Subject: [PATCH] go: Filter build paths on staticly linked arches
+
Filter out build time paths from ldflags and other flags variables when they're
embedded in the go binary so that builds are reproducible regardless of build
location. This codepath is hit for statically linked go binaries such as those
@@ -6,11 +11,15 @@ on mips/ppc.
Upstream-Status: Pending
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Index: go/src/cmd/go/internal/load/pkg.go
-===================================================================
---- go.orig/src/cmd/go/internal/load/pkg.go
-+++ go/src/cmd/go/internal/load/pkg.go
-@@ -2225,6 +2225,17 @@ func (p *Package) collectDeps() {
+---
+ src/cmd/go/internal/load/pkg.go | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go
+index 046f508..353cbc4 100644
+--- a/src/cmd/go/internal/load/pkg.go
++++ b/src/cmd/go/internal/load/pkg.go
+@@ -2256,6 +2256,17 @@ func (p *Package) collectDeps() {
// to their VCS information (vcsStatusError).
var vcsStatusCache par.Cache
@@ -28,21 +37,21 @@ Index: go/src/cmd/go/internal/load/pkg.go
// setBuildInfo gathers build information, formats it as a string to be
// embedded in the binary, then sets p.Internal.BuildInfo to that string.
// setBuildInfo should only be called on a main package with no errors.
-@@ -2329,7 +2340,7 @@ func (p *Package) setBuildInfo(includeVC
- appendSetting("-gcflags", BuildGcflags.String())
- }
- if BuildLdflags.present {
-- appendSetting("-ldflags", BuildLdflags.String())
-+ appendSetting("-ldflags", filterCompilerFlags(BuildLdflags.String()))
- }
- if cfg.BuildMSan {
- appendSetting("-msan", "true")
-@@ -2347,7 +2358,7 @@ func (p *Package) setBuildInfo(includeVC
- appendSetting("CGO_ENABLED", cgo)
- if cfg.BuildContext.CgoEnabled {
- for _, name := range []string{"CGO_CFLAGS", "CGO_CPPFLAGS", "CGO_CXXFLAGS", "CGO_LDFLAGS"} {
-- appendSetting(name, cfg.Getenv(name))
-+ appendSetting(name, filterCompilerFlags(cfg.Getenv(name)))
- }
+@@ -2353,7 +2364,7 @@ func (p *Package) setBuildInfo(includeVCS bool) {
+ if gcflags := BuildGcflags.String(); gcflags != "" && cfg.BuildContext.Compiler == "gc" {
+ appendSetting("-gcflags", gcflags)
+ }
+- if ldflags := BuildLdflags.String(); ldflags != "" {
++ if ldflags := filterCompilerFlags(BuildLdflags.String()); ldflags != "" {
+ // https://go.dev/issue/52372: only include ldflags if -trimpath is not set,
+ // since it can include system paths through various linker flags (notably
+ // -extar, -extld, and -extldflags).
+@@ -2392,7 +2403,7 @@ func (p *Package) setBuildInfo(includeVCS bool) {
+ // subset of flags that are known not to be paths?
+ if cfg.BuildContext.CgoEnabled && !cfg.BuildTrimpath {
+ for _, name := range []string{"CGO_CFLAGS", "CGO_CPPFLAGS", "CGO_CXXFLAGS", "CGO_LDFLAGS"} {
+- appendSetting(name, cfg.Getenv(name))
++ appendSetting(name, filterCompilerFlags(cfg.Getenv(name)))
}
- appendSetting("GOARCH", cfg.BuildContext.GOARCH)
+ }
+ appendSetting("GOARCH", cfg.BuildContext.GOARCH)
diff --git a/poky/meta/recipes-devtools/go/go/stack-protector.patch b/poky/meta/recipes-devtools/go/go/stack-protector.patch
new file mode 100644
index 0000000000..cc92a444a7
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go/stack-protector.patch
@@ -0,0 +1,32 @@
+From c537b87782293fe222f2ef5eb1ae818092118e97 Mon Sep 17 00:00:00 2001
+From: Ian Lance Taylor <iant@golang.org>
+Date: Sun, 07 Aug 2022 19:21:15 -0700
+Subject: [PATCH] runtime/cgo: add -fno-stack-protector to CFLAGS
+
+Some compilers default to having -fstack-protector on, which breaks
+when using internal linking because the linker doesn't know how to
+find the support functions.
+
+Fixes #52919
+Fixes #54313
+
+Change-Id: I6f51d5e906503f61fc768ad8e30c163bad135087
+Upstream-Status: Submitted [https://github.com/golang/go/issues/54313]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+
+diff --git a/src/runtime/cgo/cgo.go b/src/runtime/cgo/cgo.go
+index 298aa63..4b7046e 100644
+--- a/src/runtime/cgo/cgo.go
++++ b/src/runtime/cgo/cgo.go
+@@ -23,7 +23,9 @@
+ #cgo solaris LDFLAGS: -lxnet
+ #cgo solaris LDFLAGS: -lsocket
+
+-#cgo CFLAGS: -Wall -Werror
++// We use -fno-stack-protector because internal linking won't find
++// the support functions. See issues #52919 and #54313.
++#cgo CFLAGS: -Wall -Werror -fno-stack-protector
+
+ #cgo solaris CPPFLAGS: -D_POSIX_PTHREAD_SEMANTICS
+
diff --git a/poky/meta/recipes-devtools/go/go_1.18.4.bb b/poky/meta/recipes-devtools/go/go_1.19.bb
index 98977673ee..98977673ee 100644
--- a/poky/meta/recipes-devtools/go/go_1.18.4.bb
+++ b/poky/meta/recipes-devtools/go/go_1.19.bb
diff --git a/poky/meta/recipes-devtools/json-c/json-c/0001-Fix-build-with-clang-15.patch b/poky/meta/recipes-devtools/json-c/json-c/0001-Fix-build-with-clang-15.patch
new file mode 100644
index 0000000000..215f4d829a
--- /dev/null
+++ b/poky/meta/recipes-devtools/json-c/json-c/0001-Fix-build-with-clang-15.patch
@@ -0,0 +1,34 @@
+From 0145b575ac1fe6a77e00d639864f26fc91ceb12f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 13 Aug 2022 20:37:03 -0700
+Subject: [PATCH] Fix build with clang-15+
+
+Fixes
+json_util.c:63:35: error: a function declaration without a prototype is deprecated in all versions of C [-We
+rror,-Wstrict-prototypes]
+const char *json_util_get_last_err()
+ ^
+ void
+
+Upstream-Status: Backport [https://github.com/json-c/json-c/pull/783]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ json_util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/json_util.c b/json_util.c
+index 952770a..83d9c68 100644
+--- a/json_util.c
++++ b/json_util.c
+@@ -60,7 +60,7 @@ static int _json_object_to_fd(int fd, struct json_object *obj, int flags, const
+
+ static char _last_err[256] = "";
+
+-const char *json_util_get_last_err()
++const char *json_util_get_last_err(void)
+ {
+ if (_last_err[0] == '\0')
+ return NULL;
+--
+2.37.2
+
diff --git a/poky/meta/recipes-devtools/json-c/json-c/run-ptest b/poky/meta/recipes-devtools/json-c/json-c/run-ptest
new file mode 100644
index 0000000000..9ee6095ea2
--- /dev/null
+++ b/poky/meta/recipes-devtools/json-c/json-c/run-ptest
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# This script is used to run json-c test suites
+cd tests
+
+ret_val=0
+for i in test*.test; do
+ # test_basic is not an own testcase, just
+ # contains common code of other tests
+ if [ "$i" != "test_basic.test" ]; then
+ if ./$i > json-c_test.log 2>&1 ; then
+ echo PASS: $i
+ else
+ ret_val=1
+ echo FAIL: $i
+ fi
+ fi
+done
+
+exit $ret_val
diff --git a/poky/meta/recipes-devtools/json-c/json-c_0.16.bb b/poky/meta/recipes-devtools/json-c/json-c_0.16.bb
index fdec5ec9af..3aba41dfcf 100644
--- a/poky/meta/recipes-devtools/json-c/json-c_0.16.bb
+++ b/poky/meta/recipes-devtools/json-c/json-c_0.16.bb
@@ -4,8 +4,11 @@ HOMEPAGE = "https://github.com/json-c/json-c/wiki"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2"
-SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz"
-
+SRC_URI = " \
+ https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \
+ file://0001-Fix-build-with-clang-15.patch \
+ file://run-ptest \
+"
SRC_URI[sha256sum] = "8e45ac8f96ec7791eaf3bb7ee50e9c2100bbbc87b8d0f1d030c5ba8a0288d96b"
UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/tags"
@@ -13,6 +16,15 @@ UPSTREAM_CHECK_REGEX = "json-c-(?P<pver>\d+(\.\d+)+)-\d+"
RPROVIDES:${PN} = "libjson"
-inherit cmake
+inherit cmake ptest
+
+do_install_ptest() {
+ install -d ${D}/${PTEST_PATH}/tests
+ install ${B}/tests/test* ${D}/${PTEST_PATH}/tests
+ install ${S}/tests/*.test ${D}/${PTEST_PATH}/tests
+ install ${S}/tests/*.expected ${D}/${PTEST_PATH}/tests
+ install ${S}/tests/test-defs.sh ${D}/${PTEST_PATH}/tests
+ install ${S}/tests/valid*json ${D}/${PTEST_PATH}/tests
+}
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.67.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.68.0.bb
index 69255c5a57..86cf41c102 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.67.0.bb
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.68.0.bb
@@ -13,7 +13,7 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master;p
file://0001-libdnf-dnf-context.cpp-do-not-try-to-access-BDB-data.patch \
"
-SRCREV = "1742be5225b3a4928707696db8c69391def55f5a"
+SRCREV = "388e7699f8a75fa81aca05d09389acea7e489168"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!4\.90)\d+(\.\d+)+)"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/librepo/librepo/0001-metadata_downloader-Include-unistd.h-for-lseek.patch b/poky/meta/recipes-devtools/librepo/librepo/0001-metadata_downloader-Include-unistd.h-for-lseek.patch
new file mode 100644
index 0000000000..22b3110a61
--- /dev/null
+++ b/poky/meta/recipes-devtools/librepo/librepo/0001-metadata_downloader-Include-unistd.h-for-lseek.patch
@@ -0,0 +1,34 @@
+From 5c63ec2e2d4726268ace85e5c61727cbd811d982 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Aug 2022 09:00:24 -0700
+Subject: [PATCH] metadata_downloader: Include unistd.h for lseek()
+
+This is found when compiling on musl systems
+
+Fixes
+
+metadata_downloader.c:331:9: error: call to undeclared function 'lseek'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+ lseek(fd_value, SEEK_SET, 0);
+ ^
+
+Upstream-Status: Submitted [https://github.com/rpm-software-management/librepo/pull/263]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ librepo/metadata_downloader.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/librepo/metadata_downloader.c b/librepo/metadata_downloader.c
+index 123c77b..6604255 100644
+--- a/librepo/metadata_downloader.c
++++ b/librepo/metadata_downloader.c
+@@ -24,6 +24,7 @@
+ #include <assert.h>
+ #include <string.h>
+ #include <errno.h>
++#include <unistd.h>
+ #include <sys/stat.h>
+
+ #include "librepo/librepo.h"
+--
+2.37.2
+
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.14.3.bb b/poky/meta/recipes-devtools/librepo/librepo_1.14.4.bb
index 2c8e592251..2b8bd132f3 100644
--- a/poky/meta/recipes-devtools/librepo/librepo_1.14.3.bb
+++ b/poky/meta/recipes-devtools/librepo/librepo_1.14.4.bb
@@ -8,9 +8,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "git://github.com/rpm-software-management/librepo.git;branch=master;protocol=https \
file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \
file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
+ file://0001-metadata_downloader-Include-unistd.h-for-lseek.patch \
"
-SRCREV = "8fc7950795282d9c7c50071f45973006de5594ab"
+SRCREV = "2bd1041c741c85bc196ca01dcca1eae6099eb742"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
deleted file mode 100644
index d02b7ba6ab..0000000000
--- a/poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-From dbeecdb307be8b783b42cbc89dcb9c5e7f528989 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 21 May 2016 00:33:20 +0000
-Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are macros
-
-musl defines some functions as macros and not inline functions
-if this is the case then make sure to undefine them
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- .../llvm/Analysis/TargetLibraryInfo.def | 21 +++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
-diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/llvm/include/llvm/Analysis/TargetLibraryInfo.def
-index afed404f04c..876888656f2 100644
---- a/llvm/include/llvm/Analysis/TargetLibraryInfo.def
-+++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.def
-@@ -782,6 +782,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
- TLI_DEFINE_ENUM_INTERNAL(fopen)
- TLI_DEFINE_STRING_INTERNAL("fopen")
- /// FILE *fopen64(const char *filename, const char *opentype)
-+#ifdef fopen64
-+#undef fopen64
-+#endif
- TLI_DEFINE_ENUM_INTERNAL(fopen64)
- TLI_DEFINE_STRING_INTERNAL("fopen64")
- /// int fork();
-@@ -829,6 +832,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
- /// int fseeko(FILE *stream, off_t offset, int whence);
- TLI_DEFINE_ENUM_INTERNAL(fseeko)
- TLI_DEFINE_STRING_INTERNAL("fseeko")
-+#ifdef fseeko64
-+#undef fseeko64
-+#endif
- /// int fseeko64(FILE *stream, off64_t offset, int whence)
- TLI_DEFINE_ENUM_INTERNAL(fseeko64)
- TLI_DEFINE_STRING_INTERNAL("fseeko64")
-@@ -839,6 +845,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos")
- TLI_DEFINE_ENUM_INTERNAL(fstat)
- TLI_DEFINE_STRING_INTERNAL("fstat")
- /// int fstat64(int filedes, struct stat64 *buf)
-+#ifdef fstat64
-+#undef fstat64
-+#endif
- TLI_DEFINE_ENUM_INTERNAL(fstat64)
- TLI_DEFINE_STRING_INTERNAL("fstat64")
- /// int fstatvfs(int fildes, struct statvfs *buf);
-@@ -854,6 +863,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
- TLI_DEFINE_ENUM_INTERNAL(ftello)
- TLI_DEFINE_STRING_INTERNAL("ftello")
- /// off64_t ftello64(FILE *stream)
-+#ifdef ftello64
-+#undef ftello64
-+#endif
- TLI_DEFINE_ENUM_INTERNAL(ftello64)
- TLI_DEFINE_STRING_INTERNAL("ftello64")
- /// int ftrylockfile(FILE *file);
-@@ -980,6 +992,9 @@ TLI_DEFINE_STRING_INTERNAL("logl")
- TLI_DEFINE_ENUM_INTERNAL(lstat)
- TLI_DEFINE_STRING_INTERNAL("lstat")
- /// int lstat64(const char *path, struct stat64 *buf);
-+#ifdef lstat64
-+#undef lstat64
-+#endif
- TLI_DEFINE_ENUM_INTERNAL(lstat64)
- TLI_DEFINE_STRING_INTERNAL("lstat64")
- /// void *malloc(size_t size);
-@@ -1205,6 +1220,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
- TLI_DEFINE_ENUM_INTERNAL(stat)
- TLI_DEFINE_STRING_INTERNAL("stat")
- /// int stat64(const char *path, struct stat64 *buf);
-+#ifdef stat64
-+#undef stat64
-+#endif
- TLI_DEFINE_ENUM_INTERNAL(stat64)
- TLI_DEFINE_STRING_INTERNAL("stat64")
- /// int statvfs(const char *path, struct statvfs *buf);
-@@ -1340,6 +1358,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
- TLI_DEFINE_ENUM_INTERNAL(tmpfile)
- TLI_DEFINE_STRING_INTERNAL("tmpfile")
- /// FILE *tmpfile64(void)
-+#ifdef tmpfile64
-+#undef tmpfile64
-+#endif
- TLI_DEFINE_ENUM_INTERNAL(tmpfile64)
- TLI_DEFINE_STRING_INTERNAL("tmpfile64")
- /// int toascii(int c);
diff --git a/poky/meta/recipes-devtools/llvm/llvm/llvm-config b/poky/meta/recipes-devtools/llvm/llvm/llvm-config
new file mode 100644
index 0000000000..a45f38c650
--- /dev/null
+++ b/poky/meta/recipes-devtools/llvm/llvm/llvm-config
@@ -0,0 +1,42 @@
+#!/bin/bash
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+# Wrap llvm-config since the native llvm-config will remap some values correctly
+# if placed in the target sysroot but for flags, it would provide the native ones.
+# Provide ours from the environment instead.
+
+NEXT_LLVM_CONFIG="$(which -a llvm-config | sed -n 2p)"
+if [[ $# == 0 ]]; then
+ exec "$NEXT_LLVM_CONFIG"
+fi
+
+remain=""
+output=""
+for arg in "$@"; do
+ case "$arg" in
+ --cppflags)
+ output="${output} ${CPPFLAGS}"
+ ;;
+ --cflags)
+ output="${output} ${CFLAGS}"
+ ;;
+ --cxxflags)
+ output="${output} ${CXXFLAGS}"
+ ;;
+ --ldflags)
+ output="${output} ${LDFLAGS}"
+ ;;
+ *)
+ remain="${remain} ${arg}"
+ ;;
+ esac
+done
+
+if [ "${remain}" != "" ]; then
+ output="${output} "$("$NEXT_LLVM_CONFIG" ${remain})
+fi
+
+echo "${output}"
diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb
index bdea95db96..25c0a433d3 100644
--- a/poky/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb
@@ -28,9 +28,9 @@ LLVM_RELEASE = "${PV}"
BRANCH = "release/${MAJOR_VERSION}.x"
SRCREV = "f28c006a5895fc0e329fe15fead81e37457cb1d1"
SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH};protocol=https \
- file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2 \
file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \
+ file://llvm-config \
"
UPSTREAM_CHECK_GITTAGREGEX = "llvmorg-(?P<pver>\d+(\.\d+)+)"
@@ -124,6 +124,15 @@ do_install() {
do_install:class-native() {
install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV}
install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV}
+ ln -sf llvm-config${PV} ${D}${bindir}/llvm-config
+}
+
+SYSROOT_PREPROCESS_FUNCS:append:class-target = " llvm_sysroot_preprocess"
+
+llvm_sysroot_preprocess() {
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 0755 ${WORKDIR}/llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ ln -sf llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV}
}
PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto"
diff --git a/poky/meta/recipes-devtools/meson/meson_0.63.0.bb b/poky/meta/recipes-devtools/meson/meson_0.63.1.bb
index 890f47506f..7f77a7de34 100644
--- a/poky/meta/recipes-devtools/meson/meson_0.63.0.bb
+++ b/poky/meta/recipes-devtools/meson/meson_0.63.1.bb
@@ -17,7 +17,7 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
file://0001-is_debianlike-always-return-False.patch \
file://0001-Check-for-clang-before-guessing-gcc-or-lcc.patch \
"
-SRC_URI[sha256sum] = "3b51d451744c2bc71838524ec8d96cd4f8c4793d5b8d5d0d0a9c8a4f7c94cd6f"
+SRC_URI[sha256sum] = "06fe13297213d6ff0121c5d5aab25a56ef938ffec57414ed6086fda272cb65e9"
UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases"
UPSTREAM_CHECK_REGEX = "meson-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/mtd/mtd-utils/0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch b/poky/meta/recipes-devtools/mtd/mtd-utils/0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch
new file mode 100644
index 0000000000..73d4a8475f
--- /dev/null
+++ b/poky/meta/recipes-devtools/mtd/mtd-utils/0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch
@@ -0,0 +1,31 @@
+From 6fb10bd18488ed84776675bc1b2982800a51d839 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 6 Aug 2022 20:14:38 -0700
+Subject: [mtd-utils][PATCH] tests: Remove unused linux/fs.h header from includes
+
+This header is not needed, moreover it includes linux/mount.h which is
+now in conflict[1] with glibc provided sys/mount.h from glibc 2.36 onwards
+
+[1] https://sourceware.org/glibc/wiki/Release/2.36
+
+Upstream-Status: Submitted [https://lists.infradead.org/pipermail/linux-mtd/2022-August/094667.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/fs-tests/lib/tests.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/tests/fs-tests/lib/tests.c b/tests/fs-tests/lib/tests.c
+index d1a2e0c..3db0426 100644
+--- a/tests/fs-tests/lib/tests.c
++++ b/tests/fs-tests/lib/tests.c
+@@ -35,7 +35,6 @@
+ #include <sys/vfs.h>
+ #include <sys/mount.h>
+ #include <sys/statvfs.h>
+-#include <linux/fs.h>
+ #include <linux/jffs2.h>
+
+ #include "tests.h"
+--
+2.37.1
+
diff --git a/poky/meta/recipes-devtools/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-git-2.patch b/poky/meta/recipes-devtools/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-git-2.patch
deleted file mode 100644
index 5d874d9810..0000000000
--- a/poky/meta/recipes-devtools/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-git-2.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-Upstream-Status: Pending
-
-Index: git/jffsX-utils/mkfs.jffs2.c
-===================================================================
---- git.orig/jffsX-utils/mkfs.jffs2.c
-+++ git/jffsX-utils/mkfs.jffs2.c
-@@ -100,6 +100,11 @@ struct filesystem_entry {
- struct rb_node hardlink_rb;
- };
-
-+struct ignorepath_entry {
-+ struct ignorepath_entry* next; /* Points to the next ignorepath element */
-+ char name[PATH_MAX]; /* Name of the entry */
-+};
-+static struct ignorepath_entry* ignorepath = 0;
- struct rb_root hardlinks;
- static int out_fd = -1;
- static int in_fd = -1;
-@@ -309,7 +314,7 @@ static struct filesystem_entry *recursiv
- char *hpath, *tpath;
- struct dirent *dp, **namelist;
- struct filesystem_entry *entry;
--
-+ struct ignorepath_entry* element = ignorepath;
-
- if (lstat(hostpath, &sb)) {
- sys_errmsg_die("%s", hostpath);
-@@ -318,6 +323,15 @@ static struct filesystem_entry *recursiv
- entry = add_host_filesystem_entry(targetpath, hostpath,
- sb.st_uid, sb.st_gid, sb.st_mode, 0, parent);
-
-+ while ( element ) {
-+ if ( strcmp( element->name, targetpath ) == 0 ) {
-+ printf( "Note: ignoring directories below '%s'\n", targetpath );
-+ return entry;
-+ break;
-+ }
-+ element = element->next;
-+ }
-+
- n = scandir(hostpath, &namelist, 0, alphasort);
- if (n < 0) {
- sys_errmsg_die("opening directory %s", hostpath);
-@@ -1359,6 +1373,7 @@ static struct option long_options[] = {
- {"root", 1, NULL, 'r'},
- {"pagesize", 1, NULL, 's'},
- {"eraseblock", 1, NULL, 'e'},
-+ {"ignore", 1, NULL, 'I'},
- {"output", 1, NULL, 'o'},
- {"help", 0, NULL, 'h'},
- {"verbose", 0, NULL, 'v'},
-@@ -1409,6 +1424,7 @@ static const char helptext[] =
- " -L, --list-compressors Show the list of the available compressors\n"
- " -t, --test-compression Call decompress and compare with the original (for test)\n"
- " -n, --no-cleanmarkers Don't add a cleanmarker to every eraseblock\n"
-+" -I, --ignore=PATH Ignore sub directory and file tree below PATH when recursing over the file system\n"
- " -o, --output=FILE Output to FILE (default: stdout)\n"
- " -l, --little-endian Create a little-endian filesystem\n"
- " -b, --big-endian Create a big-endian filesystem\n"
-@@ -1566,6 +1582,7 @@ int main(int argc, char **argv)
- char *compr_name = NULL;
- int compr_prior = -1;
- int warn_page_size = 0;
-+ struct ignorepath_entry* element = ignorepath;
-
- page_size = sysconf(_SC_PAGESIZE);
- if (page_size < 0) /* System doesn't know so ... */
-@@ -1576,7 +1593,7 @@ int main(int argc, char **argv)
- jffs2_compressors_init();
-
- while ((opt = getopt_long(argc, argv,
-- "D:d:r:s:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0)
-+ "D:d:r:s:I:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0)
- {
- switch (opt) {
- case 'D':
-@@ -1600,6 +1617,28 @@ int main(int argc, char **argv)
- warn_page_size = 0; /* set by user, so don't need to warn */
- break;
-
-+ case 'I':
-+ printf( "Note: Adding '%s' to ignore Path\n", optarg );
-+ element = ignorepath;
-+ if ( !ignorepath ) {
-+ ignorepath = xmalloc( sizeof( struct ignorepath_entry ) );
-+ ignorepath->next = 0;
-+ strcpy( &ignorepath->name[0], optarg );
-+ } else {
-+ while ( element->next ) element = element->next;
-+ element->next = xmalloc( sizeof( struct ignorepath_entry ) );
-+ element->next->next = 0;
-+ strcpy( &element->next->name[0], optarg );
-+ }
-+ printf( "--------- Dumping ignore path list ----------------\n" );
-+ element = ignorepath;
-+ while ( element ) {
-+ printf( " * '%s'\n", &element->name[0] );
-+ element = element->next;
-+ }
-+ printf( "---------------------------------------------------\n" );
-+ break;
-+
- case 'o':
- if (out_fd != -1) {
- errmsg_die("output filename specified more than once");
diff --git a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
index 3318277477..943666e529 100644
--- a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
+++ b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
@@ -15,7 +15,7 @@ PV = "2.1.4"
SRCREV = "c7f1bfa44a84d02061787e2f6093df5cc40b9f5c"
SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master \
- file://add-exclusion-to-mkfs-jffs2-git-2.patch \
+ file://0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch b/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
deleted file mode 100644
index b755a263a4..0000000000
--- a/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 682fb48c137b687477008b68863c2a0b73ed47d1 Mon Sep 17 00:00:00 2001
-From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Fri, 9 Sep 2016 16:00:42 -0300
-Subject: [PATCH] handle read-only files
-
-Patch from:
-https://github.com/darealshinji/patchelf/commit/40e66392bc4b96e9b4eda496827d26348a503509
-
-Upstream-Status: Denied [https://github.com/NixOS/patchelf/pull/89]
-
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
-
----
- src/patchelf.cc | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-Index: git/src/patchelf.cc
-===================================================================
---- git.orig/src/patchelf.cc
-+++ git/src/patchelf.cc
-@@ -534,9 +534,19 @@ void ElfFile<ElfFileParamNames>::sortShd
-
- static void writeFile(const std::string & fileName, const FileContents & contents)
- {
-+ struct stat st;
-+ int fd;
-+
- debug("writing %s\n", fileName.c_str());
-
-- int fd = open(fileName.c_str(), O_CREAT | O_TRUNC | O_WRONLY, 0777);
-+ if (stat(fileName.c_str(), &st) != 0)
-+ error("stat");
-+
-+ if (chmod(fileName.c_str(), 0600) != 0)
-+ error("chmod");
-+
-+ fd = open(fileName.c_str(), O_CREAT | O_TRUNC | O_WRONLY, 0777);
-+
- if (fd == -1)
- error("open");
-
-@@ -551,8 +561,6 @@ static void writeFile(const std::string
- bytesWritten += portion;
- }
-
-- if (close(fd) >= 0)
-- return;
- /*
- * Just ignore EINTR; a retry loop is the wrong thing to do.
- *
-@@ -561,9 +569,11 @@ static void writeFile(const std::string
- * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
- * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
- */
-- if (errno == EINTR)
-- return;
-- error("close");
-+ if ((close(fd) < 0) && errno != EINTR)
-+ error("close");
-+
-+ if (chmod(fileName.c_str(), st.st_mode) != 0)
-+ error("chmod");
- }
-
-
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf_0.14.5.bb b/poky/meta/recipes-devtools/patchelf/patchelf_0.15.0.bb
index 0fa2c00f1d..e07775f574 100644
--- a/poky/meta/recipes-devtools/patchelf/patchelf_0.14.5.bb
+++ b/poky/meta/recipes-devtools/patchelf/patchelf_0.15.0.bb
@@ -5,9 +5,8 @@ HOMEPAGE = "https://github.com/NixOS/patchelf"
LICENSE = "GPL-3.0-only"
SRC_URI = "git://github.com/NixOS/patchelf;protocol=https;branch=master \
- file://handle-read-only-files.patch \
"
-SRCREV = "a35054504293f9ff64539850d1ed0bfd2f5399f2"
+SRCREV = "49008002562355b0e35075cbc1c42c645ff04e28"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch
deleted file mode 100644
index 80388fa9b0..0000000000
--- a/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 7b8d819e012c24df228a313beb86e1942611c904 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Sat, 4 Jun 2022 13:00:12 +0200
-Subject: [PATCH] Makefile: correctly list modules when cleaning them
-
-Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/133]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 6b35fb0..9ef9324 100644
---- a/Makefile
-+++ b/Makefile
-@@ -462,7 +462,7 @@ clean-subdirs:
-
- # assuming modules w/o Makefiles were never built and need no cleaning
- clean-modules: config.h
-- @for i in $(modules disabled); do \
-+ @for i in $(modules) $(disabled); do \
- test -f $$i/Makefile && \
- touch $$i/Makefile && \
- $(MAKE) -C $$i clean \
diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch
deleted file mode 100644
index cbb935c71b..0000000000
--- a/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From ade4a70308d3b9d79cc3db841c0f60385780fe1a Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Sat, 4 Jun 2022 13:45:20 +0200
-Subject: [PATCH] Makefile: do not clean config.h/xconfig.h
-
-These are generated by ./configure and not by make.
-
-Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/134]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- Makefile | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 9ef9324..3de2c2e 100644
---- a/Makefile
-+++ b/Makefile
-@@ -473,7 +473,6 @@ clean-generated-files:
- -rm -f uudmap.h opmini.c generate_uudmap$X bitcount.h $(CONFIGPM)
- -rm -f git_version.h lib/re.pm lib/Config_git.pl
- -rm -f perlmini.c perlmain.c
-- -rm -f config.h xconfig.h
- -rm -f pod/perlmodlib.pod
- -rm -f ext.libs static.list
- -rm -f $(patsubst %,%/ppport.h,$(mkppport_lst))
---
-2.30.2
-
diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-configure_func.sh-Add-_GNU_SOURCE-define-and-functio.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-configure_func.sh-Add-_GNU_SOURCE-define-and-functio.patch
new file mode 100644
index 0000000000..893b55e5ac
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-cross/files/0001-configure_func.sh-Add-_GNU_SOURCE-define-and-functio.patch
@@ -0,0 +1,485 @@
+From 65db86f0161c393fd5b082c10837b278adadbff2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 7 Aug 2022 23:57:20 -0700
+Subject: [PATCH] configure_func.sh: Add _GNU_SOURCE define and function
+ signatures
+
+Modern compilers are getting stricter about include paths and function
+signature being known duting compilation e.g. clang-15 now errors out if
+a function signature is not found
+
+try.c:1:18: error: call to undeclared function 'getspnam'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+
+This causes the test of function to fail even though the function is
+available in libc. Therefore try to add proper include headers which
+define these functions and also define _GNU_SOURCE in every test
+since some of GNU/Linux funtions e.g. accept4 are guarged by this define
+
+Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/137]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cnf/configure_func.sh | 41 +++++++++++++++++++++--------------------
+ 1 file changed, 21 insertions(+), 20 deletions(-)
+
+--- a/cnf/configure_func.sh
++++ b/cnf/configure_func.sh
+@@ -5,6 +5,7 @@ checkfunc() {
+ mstart "Checking for $2"
+ if not hinted $1 'found' 'missing'; then
+ try_start
++ try_add '#define _GNU_SOURCE'
+ funcincludes "$3" "$4" "$includes"
+ try_add "int main(void) { $2($3); return 0; }"
+ try_link -O0 -fno-builtin
+@@ -42,115 +43,115 @@ checkfunc d_chroot 'chroot' "NULL" 'unis
+ checkfunc d_chsize 'chsize' "0,0"
+ checkfunc d_class 'class'
+ checkfunc d_clearenv 'clearenv' "" 'stdlib.h'
+-checkfunc d_closedir 'closedir' "NULL"
+-checkfunc d_crypt 'crypt'
++checkfunc d_closedir 'closedir' "NULL" 'dirent.h sys/types.h'
++checkfunc d_crypt 'crypt' "NULL,NULL" 'crypt.h'
+ checkfunc d_ctermid 'ctermid'
+ checkfunc d_ctime64 'ctime64'
+ checkfunc d_cuserid 'cuserid'
+-checkfunc d_difftime 'difftime' "0,0"
++checkfunc d_difftime 'difftime' "0,0" 'time.h'
+ checkfunc d_difftime64 'difftime64'
+-checkfunc d_dirfd 'dirfd'
++checkfunc d_dirfd 'dirfd' "NULL" 'dirent.h sys/types.h'
+ checkfunc d_dladdr 'dladdr' 'NULL, NULL' 'dlfcn.h'
+-checkfunc d_dlerror 'dlerror'
+-checkfunc d_dlopen 'dlopen'
+-checkfunc d_drand48 'drand48'
++checkfunc d_dlerror 'dlerror' "" 'dlfcn.h'
++checkfunc d_dlopen 'dlopen' "NULL,0" "dlfcn.h"
++checkfunc d_drand48 'drand48' "" 'stdlib.h'
+ checkfunc d_dup2 'dup2' "0,0" 'unistd.h'
+ checkfunc d_dup3 'dup3' "0,0,0" 'fcntl.h unistd.h'
+ checkfunc d_duplocale 'duplocale' '0' 'locale.h'
+-checkfunc d_eaccess 'eaccess'
+-checkfunc d_endgrent 'endgrent'
+-checkfunc d_endhent 'endhostent'
+-checkfunc d_endnent 'endnetent'
+-checkfunc d_endpent 'endprotoent'
+-checkfunc d_endpwent 'endpwent'
+-checkfunc d_endservent 'endservent'
++checkfunc d_eaccess 'eaccess' "NULL,0" 'unistd.h'
++checkfunc d_endgrent 'endgrent' '' 'grp.h sys/types.h'
++checkfunc d_endhent 'endhostent' "" 'netdb.h'
++checkfunc d_endnent 'endnetent' "" 'netdb.h'
++checkfunc d_endpent 'endprotoent' "" 'netdb.h'
++checkfunc d_endpwent 'endpwent' "" 'sys/types.h pwd.h'
++checkfunc d_endservent 'endservent' "" 'netdb.h'
+ checkfunc d_fchdir 'fchdir' "0" 'unistd.h'
+-checkfunc d_fchmod 'fchmod' "0,0" 'unistd.h'
+-checkfunc d_fchmodat 'fchmodat' "0,NULL,0,0" 'unistd.h'
++checkfunc d_fchmod 'fchmod' "0,0" 'unistd.h sys/stat.h'
++checkfunc d_fchmodat 'fchmodat' "0,NULL,0,0" 'unistd.h sys/stat.h'
+ checkfunc d_fchown 'fchown' "0,0,0" 'unistd.h'
+ checkfunc d_fcntl 'fcntl' "0,0" 'unistd.h fcntl.h'
+ checkfunc d_fdclose 'fdclose'
+-checkfunc d_ffs 'ffs' 'strings.h'
+-checkfunc d_ffsl 'ffsl' 'strings.h'
++checkfunc d_ffs 'ffs' "0" 'strings.h'
++checkfunc d_ffsl 'ffsl' "0" 'strings.h'
+ checkfunc d_fgetpos 'fgetpos' "NULL, 0" 'stdio.h'
+-checkfunc d_flock 'flock' "0,0" 'unistd.h'
++checkfunc d_flock 'flock' "0,0" 'sys/file.h'
+ checkfunc d_fork 'fork' "" 'unistd.h'
+ checkfunc d_fp_class 'fp_class'
+ checkfunc d_fpathconf 'fpathconf' "0,0" 'unistd.h'
+-checkfunc d_freelocale 'freelocale' '0' 'locale.h'
+-checkfunc d_fseeko 'fseeko' 'NULL,0,0'
+-checkfunc d_fsetpos 'fsetpos' 'NULL,0'
+-checkfunc d_fstatfs 'fstatfs'
+-checkfunc d_fstatvfs 'fstatvfs'
+-checkfunc d_fsync 'fsync'
+-checkfunc d_ftello 'ftello'
+-checkfunc d_futimes 'futimes'
++checkfunc d_freelocale 'freelocale' "0" 'locale.h'
++checkfunc d_fseeko 'fseeko' "NULL,0,0" 'stdio.h'
++checkfunc d_fsetpos 'fsetpos' "NULL,0" 'stdio.h'
++checkfunc d_fstatfs 'fstatfs' "0,NULL" 'sys/vfs.h'
++checkfunc d_fstatvfs 'fstatvfs' "0,NULL" 'sys/statvfs.h'
++checkfunc d_fsync 'fsync' "0" 'unistd.h'
++checkfunc d_ftello 'ftello' "NULL" 'stdio.h'
++checkfunc d_futimes 'futimes' '0,0' 'sys/time.h'
+ checkfunc d_gai_strerror 'gai_strerror' '0' 'sys/types.h sys/socket.h netdb.h'
+-checkfunc d_getaddrinfo 'getaddrinfo'
+-checkfunc d_get_current_dir_name 'get_current_dir_name'
+-checkfunc d_getcwd 'getcwd' 'NULL,0'
++checkfunc d_getaddrinfo 'getaddrinfo' "NULL,NULL,NULL,NULL" 'sys/types.h sys/socket.h netdb.h'
++checkfunc d_get_current_dir_name 'get_current_dir_name' "" 'unistd.h'
++checkfunc d_getcwd 'getcwd' 'NULL,0' 'unistd.h'
+ checkfunc d_getespwnam 'getespwnam'
+ checkfunc d_getfsstat 'getfsstat'
+-checkfunc d_getgrent 'getgrent'
+-checkfunc d_getgrps 'getgroups'
+-checkfunc d_gethbyaddr 'gethostbyaddr'
+-checkfunc d_gethbyname 'gethostbyname'
++checkfunc d_getgrent 'getgrent' "" 'sys/types.h grp.h'
++checkfunc d_getgrps 'getgroups' "0,NULL" 'unistd.h'
++checkfunc d_gethbyaddr 'gethostbyaddr' "NULL,0,0" 'netdb.h'
++checkfunc d_gethbyname 'gethostbyname' "NULL" 'netdb.h'
+ checkfunc d_getnbyaddr 'getnetbyaddr' '0,0' 'netdb.h'
+ checkfunc d_getnbyname 'getnetbyname' 'NULL' 'netdb.h'
+-checkfunc d_gethent 'gethostent'
+-checkfunc d_gethname 'gethostname'
+-checkfunc d_getitimer 'getitimer'
+-checkfunc d_getlogin 'getlogin'
++checkfunc d_gethent 'gethostent' "" 'netdb.h'
++checkfunc d_gethname 'gethostname' "NULL,0" 'unistd.h'
++checkfunc d_getitimer 'getitimer' "0,NULL" 'sys/time.h'
++checkfunc d_getlogin 'getlogin' "" 'unistd.h'
+ checkfunc d_getmnt 'getmnt'
+-checkfunc d_getmntent 'getmntent'
+-checkfunc d_getnameinfo 'getnameinfo'
+-checkfunc d_getnent 'getnetent'
+-checkfunc d_getnetbyaddr 'getnetbyaddr'
+-checkfunc d_getnetbyname 'getnetbyname'
+-checkfunc d_getpagsz 'getpagesize'
++checkfunc d_getmntent 'getmntent' "NULL" 'stdio.h mntent.h'
++checkfunc d_getnameinfo 'getnameinfo' "NULL,0,NULL,0,NULL,0,0" 'sys/socket.h netdb.h'
++checkfunc d_getnent 'getnetent' "" 'netdb.h'
++checkfunc d_getnetbyaddr 'getnetbyaddr' "0,0" 'netdb.h'
++checkfunc d_getnetbyname 'getnetbyname' "NULL" 'netdb.h'
++checkfunc d_getpagsz 'getpagesize' "" 'unistd.h'
+ checkfunc d_getpbyaddr 'getprotobyaddr'
+-checkfunc d_getpbyname 'getprotobyname'
+-checkfunc d_getpbynumber 'getprotobynumber'
+-checkfunc d_getpent 'getprotoent'
+-checkfunc d_getpgid 'getpgid'
++checkfunc d_getpbyname 'getprotobyname' "NULL" 'netdb.h'
++checkfunc d_getpbynumber 'getprotobynumber' "0" 'netdb.h'
++checkfunc d_getpent 'getprotoent' "" 'netdb.h'
++checkfunc d_getpgid 'getpgid' "0" 'unistd.h'
+ checkfunc d_getpgrp 'getpgrp' "" 'unistd.h'
+ checkfunc d_getpgrp2 'getpgrp2'
+-checkfunc d_getppid 'getppid'
++checkfunc d_getppid 'getppid' "" 'unistd.h'
+ checkfunc d_getprior 'getpriority' "0,0" 'sys/time.h sys/resource.h'
+ checkfunc d_getprpwnam 'getprpwnam'
+-checkfunc d_getpwent 'getpwent'
++checkfunc d_getpwent 'getpwent' "" 'sys/types.h pwd.h'
+ checkfunc d_getsbyaddr 'getservbyaddr'
+-checkfunc d_getsbyname 'getservbyname'
+-checkfunc d_getsbyport 'getservbyport'
+-checkfunc d_getsent 'getservent'
+-checkfunc d_setsent 'setservent'
+-checkfunc d_endsent 'endservent'
+-checkfunc d_getspnam 'getspnam'
+-checkfunc d_gettimeod 'gettimeofday' 'NULL,NULL'
++checkfunc d_getsbyname 'getservbyname' "NULL,NULL" 'netdb.h'
++checkfunc d_getsbyport 'getservbyport' "0,NULL" 'netdb.h'
++checkfunc d_getsent 'getservent' "" 'netdb.h'
++checkfunc d_setsent 'setservent' "0" 'netdb.h'
++checkfunc d_endsent 'endservent' "" 'netdb.h'
++checkfunc d_getspnam 'getspnam' "NULL" 'shadow.h'
++checkfunc d_gettimeod 'gettimeofday' 'NULL,NULL' 'sys/time.h'
+ checkfunc d_gmtime64 'gmtime64'
+-checkfunc d_hasmntopt 'hasmntopt'
++checkfunc d_hasmntopt 'hasmntopt' "NULL,NULL" 'stdio.h mntent.h'
+ checkfunc d_htonl 'htonl' "0" 'stdio.h sys/types.h netinet/in.h arpa/inet.h'
+-checkfunc d_ilogbl 'ilogbl'
++checkfunc d_ilogbl 'ilogbl' "0.0" 'math.h'
+ checkfunc d_index 'index' "NULL,0" 'string.h strings.h'
+-checkfunc d_inetaton 'inet_aton'
+-checkfunc d_inetntop 'inet_ntop'
+-checkfunc d_inetpton 'inet_pton'
++checkfunc d_inetaton 'inet_aton' "NULL,NULL" 'sys/socket.h netinet/in.h arpa/inet.h'
++checkfunc d_inetntop 'inet_ntop' "0,NULL,NULL,0" 'arpa/inet.h'
++checkfunc d_inetpton 'inet_pton' "0,NULL,NULL" 'arpa/inet.h'
+ checkfunc d_isascii 'isascii' "'A'" 'stdio.h ctype.h'
+ checkfunc d_isblank 'isblank' "' '" 'stdio.h ctype.h'
+-checkfunc d_killpg 'killpg'
++checkfunc d_killpg 'killpg' "0,0" 'signal.h'
+ checkfunc d_lchown 'lchown' "NULL, 0, 0" 'unistd.h'
+-checkfunc d_link 'link' 'NULL,NULL'
+-checkfunc d_linkat 'linkat' '0,NULL,0,NULL,0'
++checkfunc d_link 'link' 'NULL,NULL' 'unistd.h'
++checkfunc d_linkat 'linkat' '0,NULL,0,NULL,0' 'unistd.h'
+ checkfunc d_localtime64 'localtime64'
+ checkfunc d_localeconv_l 'localeconv_l' 'NULL' 'locale.h'
+-checkfunc d_locconv 'localeconv'
+-checkfunc d_lockf 'lockf'
+-checkfunc d_lstat 'lstat'
+-checkfunc d_madvise 'madvise'
++checkfunc d_locconv 'localeconv' "" 'locale.h'
++checkfunc d_lockf 'lockf' "0,0,0" 'unistd.h'
++checkfunc d_lstat 'lstat' "NULL, NULL" 'sys/stat.h'
++checkfunc d_madvise 'madvise' "NULL,0,0" 'sys/mman.h'
+ checkfunc d_malloc_good_size 'malloc_good_size'
+ checkfunc d_malloc_size 'malloc_size'
+ checkfunc d_mblen 'mblen' '"", 0' 'stdlib.h'
+-checkfunc d_mbstowcs 'mbstowcs'
++checkfunc d_mbstowcs 'mbstowcs' "NULL,NULL,0"
+ checkfunc d_mbtowc 'mbtowc' 'NULL, NULL, 0' 'stdlib.h'
+ checkfunc d_mbrlen 'mbrlen' 'NULL, 0, NULL' 'wchar.h'
+ checkfunc d_mbrtowc 'mbrtowc' 'NULL, NULL, 0, NULL' 'wchar.h'
+@@ -161,152 +162,152 @@ checkfunc d_memmem 'memmem' "NULL, 0, NU
+ checkfunc d_memmove 'memmove' "NULL, NULL, 0" 'string.h'
+ checkfunc d_memrchr 'memrchr' "NULL, 0, 0" 'string.h'
+ checkfunc d_memset 'memset' "NULL, 0, 0" 'string.h'
+-checkfunc d_mkdir 'mkdir' 'NULL, 0'
+-checkfunc d_mkdtemp 'mkdtemp'
+-checkfunc d_mkfifo 'mkfifo'
++checkfunc d_mkdir 'mkdir' 'NULL, 0' 'sys/stat.h'
++checkfunc d_mkdtemp 'mkdtemp' 'NULL'
++checkfunc d_mkfifo 'mkfifo' 'NULL,0' 'sys/types.h sys/stat.h'
+ checkfunc d_mkostemp 'mkostemp' 'NULL,0' 'stdlib.h'
+ checkfunc d_mkstemp 'mkstemp' 'NULL'
+-checkfunc d_mkstemps 'mkstemps'
+-checkfunc d_mktime 'mktime' 'NULL'
++checkfunc d_mkstemps 'mkstemps' 'NULL,0'
++checkfunc d_mktime 'mktime' 'NULL' 'time.h'
+ checkfunc d_mktime64 'mktime64'
+-checkfunc d_mmap 'mmap'
+-checkfunc d_mprotect 'mprotect'
+-checkfunc d_msgctl 'msgctl'
+-checkfunc d_msgget 'msgget'
+-checkfunc d_msgrcv 'msgrcv'
+-checkfunc d_msgsnd 'msgsnd'
+-checkfunc d_msync 'msync'
+-checkfunc d_munmap 'munmap'
++checkfunc d_mmap 'mmap' 'NULL,0,0,0,0,0' 'sys/mman.h'
++checkfunc d_mprotect 'mprotect' 'NULL,0,0' 'sys/mman.h'
++checkfunc d_msgctl 'msgctl' '0,0,NULL' 'sys/msg.h'
++checkfunc d_msgget 'msgget' '0,0' 'sys/msg.h'
++checkfunc d_msgrcv 'msgrcv' '0,NULL,0,0,0' 'sys/msg.h'
++checkfunc d_msgsnd 'msgsnd' '0,NULL,0,0' 'sys/msg.h'
++checkfunc d_msync 'msync' 'NULL,0,0' 'sys/mman.h'
++checkfunc d_munmap 'munmap' 'NULL,0' 'sys/mman.h'
+ checkfunc d_newlocale 'newlocale' '0,NULL,0' 'locale.h'
+-checkfunc d_nice 'nice' '0'
+-checkfunc d_nl_langinfo 'nl_langinfo'
+-checkfunc d_nl_langinfo_l 'nl_langinfo_l'
++checkfunc d_nice 'nice' '0' 'unistd.h'
++checkfunc d_nl_langinfo 'nl_langinfo' '0' 'langinfo.h'
++checkfunc d_nl_langinfo_l 'nl_langinfo_l' '0,0' 'langinfo.h'
+ checkfunc d_open 'open' "NULL,0,0" 'sys/types.h sys/stat.h fcntl.h'
+ checkfunc d_openat 'openat' "0,NULL,0,0" 'sys/types.h sys/stat.h fcntl.h'
+-checkfunc d_pathconf 'pathconf'
+-checkfunc d_pause 'pause'
++checkfunc d_pathconf 'pathconf' 'NULL,0' 'unistd.h'
++checkfunc d_pause 'pause' '' 'unistd.h'
+ checkfunc d_pipe 'pipe' 'NULL' 'fcntl.h unistd.h'
+ checkfunc d_pipe2 'pipe' 'NULL,0' 'fcntl.h unistd.h'
+-checkfunc d_poll 'poll'
+-checkfunc d_prctl 'prctl'
+-checkfunc d_pthread_atfork 'pthread_atfork'
+-checkfunc d_pthread_attr_setscope 'pthread_attr_setscope'
+-checkfunc d_pthread_yield 'pthread_yield'
++checkfunc d_poll 'poll' 'NULL,0,0' 'poll.h'
++checkfunc d_prctl 'prctl' '0,0,0,0,0' 'sys/prctl.h'
++checkfunc d_pthread_atfork 'pthread_atfork' 'NULL,NULL,NULL' 'pthread.h'
++checkfunc d_pthread_attr_setscope 'pthread_attr_setscope' 'NULL,0' 'pthread.h'
++checkfunc d_pthread_yield 'pthread_yield' '' 'pthread.h'
+ checkfunc d_querylocale 'querylocale'
+ checkfunc d_qgcvt 'qgcvt' '1.0,1,NULL'
+-checkfunc d_rand 'rand'
+-checkfunc d_random 'random'
+-checkfunc d_re_comp 're_comp'
+-checkfunc d_readdir 'readdir' 'NULL'
+-checkfunc d_readlink 'readlink'
+-checkfunc d_realpath 'realpath'
+-checkfunc d_readv 'readv'
+-checkfunc d_recvmsg 'recvmsg'
++checkfunc d_rand 'rand' '' 'stdlib.h'
++checkfunc d_random 'random' '' 'stdlib.h'
++checkfunc d_re_comp 're_comp' 'NULL' 'sys/types.h regex.h'
++checkfunc d_readdir 'readdir' 'NULL' 'dirent.h'
++checkfunc d_readlink 'readlink' 'NULL,NULL,0' 'unistd.h'
++checkfunc d_realpath 'realpath' 'NULL,NULL' 'limits.h stdlib.h'
++checkfunc d_readv 'readv' '0,NULL,0' 'sys/uio.h'
++checkfunc d_recvmsg 'recvmsg' '0,NULL,0' 'sys/socket.h'
+ checkfunc d_regcmp 'regcmp'
+-checkfunc d_regcomp 'regcomp'
+-checkfunc d_rename 'rename' 'NULL,NULL'
+-checkfunc d_renameat 'renameat' '0,NULL,0,NULL'
+-checkfunc d_rewinddir 'rewinddir'
+-checkfunc d_rmdir 'rmdir' 'NULL'
+-checkfunc d_sched_yield 'sched_yield'
+-checkfunc d_seekdir 'seekdir'
+-checkfunc d_select 'select' '0,NULL,NULL,NULL,NULL'
+-checkfunc d_semctl 'semctl'
+-checkfunc d_semget 'semget'
+-checkfunc d_semop 'semop'
+-checkfunc d_sendmsg 'sendmsg'
+-checkfunc d_setegid 'setegid'
+-checkfunc d_setent 'setservent'
+-checkfunc d_setenv 'setenv'
+-checkfunc d_seteuid 'seteuid'
+-checkfunc d_setgrent 'setgrent'
+-checkfunc d_setgrps 'setgroups'
+-checkfunc d_sethent 'sethostent'
+-checkfunc d_setitimer 'setitimer'
+-checkfunc d_setlinebuf 'setlinebuf'
++checkfunc d_regcomp 'regcomp' 'NULL,NULL,0' 'regex.h'
++checkfunc d_rename 'rename' 'NULL,NULL' 'stdio.h'
++checkfunc d_renameat 'renameat' '0,NULL,0,NULL' 'fcntl.h stdio.h'
++checkfunc d_rewinddir 'rewinddir' 'NULL' 'sys/types.h dirent.h'
++checkfunc d_rmdir 'rmdir' 'NULL' 'unistd.h'
++checkfunc d_sched_yield 'sched_yield' '' 'sched.h'
++checkfunc d_seekdir 'seekdir' 'NULL,0' 'dirent.h'
++checkfunc d_select 'select' '0,NULL,NULL,NULL,NULL' 'sys/select.h'
++checkfunc d_semctl 'semctl' '0,0,0, NULL' 'sys/sem.h'
++checkfunc d_semget 'semget' '0,0,0' 'sys/sem.h'
++checkfunc d_semop 'semop' '0,NULL,0' 'sys/sem.h'
++checkfunc d_sendmsg 'sendmsg' '0,NULL,0' 'sys/socket.h'
++checkfunc d_setegid 'setegid' '0' 'unistd.h'
++checkfunc d_setent 'setservent' '0' 'netdb.h'
++checkfunc d_setenv 'setenv' 'NULL,NULL,0'
++checkfunc d_seteuid 'seteuid' '0' 'unistd.h'
++checkfunc d_setgrent 'setgrent' '' 'sys/types.h grp.h'
++checkfunc d_setgrps 'setgroups' '0,NULL' 'unistd.h grp.h'
++checkfunc d_sethent 'sethostent' '0' 'netdb.h'
++checkfunc d_setitimer 'setitimer' '0,NULL,NULL' 'sys/time.h'
++checkfunc d_setlinebuf 'setlinebuf' 'NULL' 'stdio.h'
+ checkfunc d_setlocale 'setlocale' "0,NULL" 'locale.h'
+-checkfunc d_setnent 'setnetent'
+-checkfunc d_setpent 'setprotoent'
+-checkfunc d_setpgid 'setpgid'
+-checkfunc d_setpgrp 'setpgrp'
++checkfunc d_setnent 'setnetent' '0' 'netdb.h'
++checkfunc d_setpent 'setprotoent' '0' 'netdb.h'
++checkfunc d_setpgid 'setpgid' '0,0' 'unistd.h'
++checkfunc d_setpgrp 'setpgrp' '' 'unistd.h'
+ checkfunc d_setpgrp2 'setpgrp2'
+-checkfunc d_setprior 'setpriority'
+-checkfunc d_setproctitle 'setproctitle'
+-checkfunc d_setpwent 'setpwent'
+-checkfunc d_setregid 'setregid'
+-checkfunc d_setresgid 'setresgid'
+-checkfunc d_setresuid 'setresuid'
+-checkfunc d_setreuid 'setreuid'
+-checkfunc d_setrgid 'setrgid'
++checkfunc d_setprior 'setpriority' '0,0,0' 'sys/resource.h'
++checkfunc d_setproctitle 'setproctitle' 'NULL,NULL' 'sys/types.h unistd.h'
++checkfunc d_setpwent 'setpwent' '' 'sys/types.h pwd.h'
++checkfunc d_setregid 'setregid' '0,0' 'unistd.h'
++checkfunc d_setresgid 'setresgid' '0,0,0' 'unistd.h'
++checkfunc d_setresuid 'setresuid' '0,0,0' 'unistd.h'
++checkfunc d_setreuid 'setreuid' '0,0' 'unistd.h'
++checkfunc d_setrgid 'setrgid' ''
+ checkfunc d_setruid 'setruid'
+-checkfunc d_setsid 'setsid'
+-checkfunc d_setvbuf 'setvbuf' 'NULL,NULL,0,0'
++checkfunc d_setsid 'setsid' '' 'unistd.h'
++checkfunc d_setvbuf 'setvbuf' 'NULL,NULL,0,0' 'stdio.h'
+ checkfunc d_sfreserve 'sfreserve' "" 'sfio.h'
+-checkfunc d_shmat 'shmat'
+-checkfunc d_shmctl 'shmctl'
+-checkfunc d_shmdt 'shmdt'
+-checkfunc d_shmget 'shmget'
+-checkfunc d_sigaction 'sigaction'
+-checkfunc d_sigprocmask 'sigprocmask'
++checkfunc d_shmat 'shmat' '0,NULL,0' 'sys/shm.h'
++checkfunc d_shmctl 'shmctl' '0,0,NULL' 'sys/shm.h'
++checkfunc d_shmdt 'shmdt' 'NULL' 'sys/shm.h'
++checkfunc d_shmget 'shmget' '0,0,0' 'sys/shm.h'
++checkfunc d_sigaction 'sigaction' '0,NULL,NULL' 'signal.h'
++checkfunc d_sigprocmask 'sigprocmask' '0,NULL,NULL' 'signal.h'
+ checkfunc d_sigsetjmp 'sigsetjmp' "NULL,0" 'setjmp.h'
+-checkfunc d_snprintf 'snprintf'
+-checkfunc d_sockatmark 'sockatmark'
++checkfunc d_snprintf 'snprintf' 'NULL,0,NULL' 'stdio.h'
++checkfunc d_sockatmark 'sockatmark' '0' 'sys/socket.h'
+ checkfunc d_socket 'socket' "0,0,0" 'sys/types.h sys/socket.h'
+-checkfunc d_sockpair 'socketpair'
++checkfunc d_sockpair 'socketpair' '0,0,0,NULL' 'sys/socket.h'
+ checkfunc d_socks5_init 'socks5_init'
+-checkfunc d_stat 'stat'
+-checkfunc d_statvfs 'statvfs'
++checkfunc d_stat 'stat' 'NULL,NULL' 'sys/stat.h'
++checkfunc d_statvfs 'statvfs' 'NULL,NULL' 'sys/statvfs.h'
+ checkfunc d_strchr 'strchr' "NULL,0" 'string.h strings.h'
+ checkfunc d_strcoll 'strcoll' "NULL,NULL" 'string.h'
+ checkfunc d_strerror 'strerror' "0" 'string.h stdlib.h'
+-checkfunc d_strerror_l 'strerror_l'
++checkfunc d_strerror_l 'strerror_l' '0,NULL' 'string.h'
+ checkfunc d_strftime 'strftime' "NULL,0,NULL,NULL" 'time.h'
+-checkfunc d_strlcat 'strlcat'
+-checkfunc d_strlcpy 'strlcpy'
++checkfunc d_strlcat 'strlcat' 'NULL,NULL,0' 'string.h'
++checkfunc d_strlcpy 'strlcpy' 'NULL,NULL,0' 'string.h'
+ checkfunc d_strnlen 'strnlen' '"",0' 'string.h'
+ checkfunc d_strtod 'strtod' 'NULL,NULL'
+ checkfunc d_strtod_l 'strtod_l'
+ checkfunc d_strtol 'strtol' 'NULL,NULL,0'
+-checkfunc d_strtold 'strtold'
++checkfunc d_strtold 'strtold' 'NULL,NULL'
+ checkfunc d_strtold_l 'strtold_l'
+-checkfunc d_strtoll 'strtoll'
+-checkfunc d_strtoq 'strtoq'
++checkfunc d_strtoll 'strtoll' 'NULL,NULL,0'
++checkfunc d_strtoq 'strtoq' 'NULL,NULL,0'
+ checkfunc d_strtoul 'strtoul' 'NULL,NULL,0'
+ checkfunc d_strtoull 'strtoull' 'NULL,NULL,0'
+-checkfunc d_strtouq 'strtouq'
+-checkfunc d_strxfrm 'strxfrm'
+-checkfunc d_strxfrm_l 'strxfrm_l'
+-checkfunc d_symlink 'symlink'
+-checkfunc d_syscall 'syscall'
+-checkfunc d_sysconf 'sysconf' '0'
++checkfunc d_strtouq 'strtouq' 'NULL,NULL,0'
++checkfunc d_strxfrm 'strxfrm' 'NULL,NULL,0' 'string.h'
++checkfunc d_strxfrm_l 'strxfrm_l' 'NULL,NULL,0,NULL' 'string.h'
++checkfunc d_symlink 'symlink' 'NULL,NULL' 'unistd.h'
++checkfunc d_syscall 'syscall' '0,NULL' 'sys/syscall.h unistd.h'
++checkfunc d_sysconf 'sysconf' '0' 'unistd.h'
+ checkfunc d_system 'system' 'NULL'
+-checkfunc d_tcgetpgrp 'tcgetpgrp'
+-checkfunc d_tcsetpgrp 'tcsetpgrp'
+-checkfunc d_telldir 'telldir'
+-checkfunc d_time 'time' 'NULL'
+-checkfunc d_timegm 'timegm'
+-checkfunc d_times 'times' 'NULL'
++checkfunc d_tcgetpgrp 'tcgetpgrp' '0' 'unistd.h'
++checkfunc d_tcsetpgrp 'tcsetpgrp' '0,0' 'unistd.h'
++checkfunc d_telldir 'telldir' 'NULL' 'dirent.h'
++checkfunc d_time 'time' 'NULL' 'time.h'
++checkfunc d_timegm 'timegm' 'NULL' 'time.h'
++checkfunc d_times 'times' 'NULL' 'sys/times.h'
+ checkfunc d_towlower 'towlower' '0' 'wctype.h'
+ checkfunc d_towupper 'towupper' '0' 'wctype.h'
+-checkfunc d_truncate 'truncate' 'NULL,0'
+-checkfunc d_ualarm 'ualarm'
+-checkfunc d_umask 'umask' '0'
+-checkfunc d_uname 'uname'
+-checkfunc d_unlinkat 'unlinkat' '0,NULL,0'
++checkfunc d_truncate 'truncate' 'NULL,0' 'unistd.h'
++checkfunc d_ualarm 'ualarm' 'NULL,NULL' 'unistd.h'
++checkfunc d_umask 'umask' '0' 'sys/stat.h'
++checkfunc d_uname 'uname' 'NULL' 'sys/utsname.h'
++checkfunc d_unlinkat 'unlinkat' '0,NULL,0' 'unistd.h fcntl.h'
+ checkfunc d_unordered 'unordered'
+-checkfunc d_unsetenv 'unsetenv'
++checkfunc d_unsetenv 'unsetenv' 'NULL'
+ checkfunc d_uselocale 'uselocale' '0' 'locale.h'
+-checkfunc d_usleep 'usleep'
+-checkfunc d_ustat 'ustat'
++checkfunc d_usleep 'usleep' '0' 'unistd.h'
++checkfunc d_ustat 'ustat' '0,NULL' 'sys/types.h unistd.h'
+ define d_vfork 'undef' # unnecessary
+-checkfunc d_vprintf 'vprintf' 'NULL,0'
+-checkfunc d_vsnprintf 'vsnprintf'
+-checkfunc d_wait4 'wait4'
+-checkfunc d_waitpid 'waitpid' '0,NULL,0'
+-checkfunc d_wcrtomb 'wcrtomb'
+-checkfunc d_wcscmp 'wcscmp'
+-checkfunc d_wcstombs 'wcstombs' 'NULL,NULL,0'
+-checkfunc d_wcsxfrm 'wcsxfrm'
+-checkfunc d_wctomb 'wctomb'
+-checkfunc d_writev 'writev'
++checkfunc d_vprintf 'vprintf' 'NULL,0' 'stdio.h'
++checkfunc d_vsnprintf 'vsnprintf' 'NULL,0,NULL,NULL' 'stdio.h'
++checkfunc d_wait4 'wait4' '0,NULL,0,NULL' 'sys/wait.h'
++checkfunc d_waitpid 'waitpid' '0,NULL,0' 'sys/wait.h'
++checkfunc d_wcrtomb 'wcrtomb' 'NULL,0,NULL' 'wchar.h'
++checkfunc d_wcscmp 'wcscmp' 'NULL,NULL' 'wchar.h'
++checkfunc d_wcstombs 'wcstombs' 'NULL,NULL,0' 'wchar.h'
++checkfunc d_wcsxfrm 'wcsxfrm' 'NULL,NULL,0' 'wchar.h'
++checkfunc d_wctomb 'wctomb' 'NULL,NULL' 'wchar.h'
++checkfunc d_writev 'writev' '0,NULL,0' 'sys/uio.h'
+ unset includes
diff --git a/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb b/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb
index 2704976e17..17ce901646 100644
--- a/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb
+++ b/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb
@@ -15,8 +15,7 @@ SRC_URI = "https://github.com/arsv/perl-cross/releases/download/${PV}/perl-cross
file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \
file://determinism.patch \
file://0001-Makefile-check-the-file-if-patched-or-not.patch \
- file://0001-Makefile-correctly-list-modules-when-cleaning-them.patch \
- file://0001-Makefile-do-not-clean-config.h-xconfig.h.patch \
+ file://0001-configure_func.sh-Add-_GNU_SOURCE-define-and-functio.patch \
"
UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/"
diff --git a/poky/meta/recipes-devtools/perl/perl_5.36.0.bb b/poky/meta/recipes-devtools/perl/perl_5.36.0.bb
index 4456cdbcfb..2dc558aaa5 100644
--- a/poky/meta/recipes-devtools/perl/perl_5.36.0.bb
+++ b/poky/meta/recipes-devtools/perl/perl_5.36.0.bb
@@ -28,7 +28,7 @@ SRC_URI:append:class-target = " \
SRC_URI[perl.sha256sum] = "e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a"
-S = "${WORKDIR}/perl-${PV}"
+B = "${WORKDIR}/perl-${PV}-build"
inherit upstream-version-is-even update-alternatives
@@ -45,8 +45,13 @@ PACKAGECONFIG[gdbm] = ",-Ui_gdbm,gdbm"
# Don't generate comments in enc2xs output files. They are not reproducible
export ENC2XS_NO_COMMENTS = "1"
+CFLAGS += "-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
do_configure:prepend() {
- cp -rfp ${STAGING_DATADIR_NATIVE}/perl-cross/* ${S}
+ rm -rf ${B}
+ cp -rfp ${S} ${B}
+ cp -rfp ${STAGING_DATADIR_NATIVE}/perl-cross/* ${B}
+ cd ${B}
}
do_configure:class-target() {
@@ -114,7 +119,6 @@ print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, timezone.utc).strftime('%a %b %
")"
echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h
fi
- oe_runmake clean
}
do_compile() {
diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.8.0.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.9.3.bb
index 887e15e28c..453da89c3d 100644
--- a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.8.0.bb
+++ b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.9.3.bb
@@ -20,7 +20,7 @@ SRC_URI = "\
file://pkg-config-native.in \
file://pkg-config-esdk.in \
"
-SRC_URI[sha256sum] = "ef9c7e61822b7cb8356e6e9e1dca58d9556f3200d78acab35e4347e9d4c2bbaf"
+SRC_URI[sha256sum] = "5fb355b487d54fb6d341e4f18d4e2f7e813a6622cf03a9e87affa6a40565699d"
inherit autotools
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
index e7ef6a730c..c34580b4ff 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -13,7 +13,7 @@ SRC_URI:append:class-nativesdk = " \
file://older-glibc-symbols.patch"
SRC_URI[prebuilt.sha256sum] = "ed9f456856e9d86359f169f46a70ad7be4190d6040282b84c8d97b99072485aa"
-SRCREV = "2b4b88eb513335b0ece55fe51854693d9b20de35"
+SRCREV = "c9670c27ff67ab899007ce749254b16091577e55"
S = "${WORKDIR}/git"
PV = "1.9.0+git${SRCPV}"
diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.32.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.32.bb
index 26333cb271..8fed1cf94d 100644
--- a/poky/meta/recipes-devtools/python/python3-cython_0.29.32.bb
+++ b/poky/meta/recipes-devtools/python/python3-cython_0.29.32.bb
@@ -20,17 +20,17 @@ do_install:append() {
PACKAGEBUILDPKGD += "cython_fix_sources"
cython_fix_sources () {
- for f in ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FlowControl.c \
- ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FusedNode.c \
- ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Scanning.c \
- ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Visitor.c \
- ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Actions.c \
- ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Scanners.c \
- ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Runtime/refnanny.c \
- ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Tempita/_tempita.c \
+ for f in ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython/Compiler/FlowControl.c \
+ ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython/Compiler/FusedNode.c \
+ ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython/Compiler/Scanning.c \
+ ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython/Compiler/Visitor.c \
+ ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython/Plex/Actions.c \
+ ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython/Plex/Scanners.c \
+ ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython/Runtime/refnanny.c \
+ ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython/Tempita/_tempita.c \
${PKGD}${libdir}/${PYTHON_DIR}/site-packages/Cython*/SOURCES.txt; do
if [ -e $f ]; then
- sed -i -e 's#${WORKDIR}#/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}#g' $f
+ sed -i -e 's#${WORKDIR}/Cython-${PV}#/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}#g' $f
fi
done
}
diff --git a/poky/meta/recipes-devtools/python/python3-dtschema_2022.7.bb b/poky/meta/recipes-devtools/python/python3-dtschema_2022.8.1.bb
index dd9092f449..38f646e50a 100644
--- a/poky/meta/recipes-devtools/python/python3-dtschema_2022.7.bb
+++ b/poky/meta/recipes-devtools/python/python3-dtschema_2022.8.1.bb
@@ -7,7 +7,7 @@ inherit pypi setuptools3
PYPI_PACKAGE = "dtschema"
-SRC_URI[sha256sum] = "2238753fa16bee7b26841cced75d745af777b896190f40aff5802992335201bb"
+SRC_URI[sha256sum] = "3e56a9920944223d6f93fd51ada19dd8db554ac9182ef52c1c5c9d4966ab30aa"
DEPENDS += "python3-setuptools-scm-native"
RDEPENDS:${PN} += "python3-ruamel-yaml python3-jsonschema python3-rfc3987"
diff --git a/poky/meta/recipes-devtools/python/python3-hatchling_1.6.0.bb b/poky/meta/recipes-devtools/python/python3-hatchling_1.8.1.bb
index e06bdf02ec..bfdb664715 100644
--- a/poky/meta/recipes-devtools/python/python3-hatchling_1.6.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-hatchling_1.8.1.bb
@@ -8,7 +8,7 @@ inherit pypi python_hatchling
DEPENDS += "python3-pluggy-native python3-tomli-native python3-pathspec-native python3-packaging-native python3-editables-native"
DEPENDS:remove:class-native = "python3-hatchling-native"
-SRC_URI[sha256sum] = "bd6e8505de511ac4217ff50927f6d1845494608e401e63a62b830c31fb613544"
+SRC_URI[sha256sum] = "448b04b23faed669b2b565b998ac955af4feea66c5deed3a1212ac9399d2e1cd"
do_compile:prepend() {
export PYTHONPATH=src
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.50.1.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb
index 0c93c12493..1d9772d4ff 100644
--- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.50.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb
@@ -13,7 +13,7 @@ SRC_URI += " \
file://test_rle.py \
"
-SRC_URI[sha256sum] = "1a19ade3b27825cab622c95fcf25182a27a42f97589c163173fcbdafb8621d1e"
+SRC_URI[sha256sum] = "f5c1cf61b24b094355577a6b8fbbb8eb54c1b0216fbc0519af97c46bddf43c42"
RDEPENDS:${PN} += " \
python3-attrs \
diff --git a/poky/meta/recipes-devtools/python/python3-jsonschema_4.9.0.bb b/poky/meta/recipes-devtools/python/python3-jsonschema_4.9.1.bb
index 66e0affc64..125bc6b4d5 100644
--- a/poky/meta/recipes-devtools/python/python3-jsonschema_4.9.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-jsonschema_4.9.1.bb
@@ -4,7 +4,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \
file://json/LICENSE;md5=9d4de43111d33570c8fe49b4cb0e01af"
-SRC_URI[sha256sum] = "df10e65c8f3687a48e93d0d348ce0ce5f897b5a28e9bbcbbe8f7c7eaf019e850"
+SRC_URI[sha256sum] = "408c4c8ed0dede3b268f7a441784f74206380b04f93eb2d537c7befb3df3099f"
inherit pypi python_hatchling
diff --git a/poky/meta/recipes-devtools/python/python3-markdown_3.3.7.bb b/poky/meta/recipes-devtools/python/python3-markdown_3.4.1.bb
index c456cecc78..e99c3310ac 100644
--- a/poky/meta/recipes-devtools/python/python3-markdown_3.3.7.bb
+++ b/poky/meta/recipes-devtools/python/python3-markdown_3.4.1.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=745aaad0c69c60039e638bff9ffc59ed"
inherit pypi python_setuptools_build_meta
PYPI_PACKAGE = "Markdown"
-SRC_URI[sha256sum] = "cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874"
+SRC_URI[sha256sum] = "3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff"
BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools_8.13.0.bb b/poky/meta/recipes-devtools/python/python3-more-itertools_8.14.0.bb
index 94f6f9e4d5..c955f93d9b 100644
--- a/poky/meta/recipes-devtools/python/python3-more-itertools_8.13.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-more-itertools_8.14.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/erikrose/more-itertools"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5"
-SRC_URI[sha256sum] = "a42901a0a5b169d925f6f217cd5a190e32ef54360905b9c39ee7db5313bfec0f"
+SRC_URI[sha256sum] = "c09443cd3d5438b8dafccd867a6bc1cb0894389e90cb53d227456b0b0bccb750"
inherit pypi python_flit_core ptest
diff --git a/poky/meta/recipes-devtools/python/python3-numpy_1.23.1.bb b/poky/meta/recipes-devtools/python/python3-numpy_1.23.2.bb
index 67ab1d9298..960dcf9410 100644
--- a/poky/meta/recipes-devtools/python/python3-numpy_1.23.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-numpy_1.23.2.bb
@@ -13,7 +13,7 @@ SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${S
file://run-ptest \
file://0001-generate_umath.py-do-not-write-full-path-to-output-f.patch \
"
-SRC_URI[sha256sum] = "d748ef349bfef2e1194b59da37ed5a29c19ea8d7e6342019921ba2ba4fd8b624"
+SRC_URI[sha256sum] = "b78d00e48261fbbd04aa0d7427cf78d18401ee0abd89c7559bbf422e5b1c7d01"
UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.10.0.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.10.0.bb
new file mode 100644
index 0000000000..022f834901
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pbr_5.10.0.bb
@@ -0,0 +1,4 @@
+inherit setuptools3
+require python-pbr.inc
+
+SRC_URI[sha256sum] = "cfcc4ff8e698256fc17ea3ff796478b050852585aa5bae79ecd05b2ab7b39b9a"
diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.9.0.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.9.0.bb
deleted file mode 100644
index c93b71dbd3..0000000000
--- a/poky/meta/recipes-devtools/python/python3-pbr_5.9.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools3
-require python-pbr.inc
-
-SRC_URI[sha256sum] = "e8dca2f4b43560edef58813969f52a56cef023146cbb8931626db80e6c1c4308"
diff --git a/poky/meta/recipes-devtools/python/python3-pip/reproducible.patch b/poky/meta/recipes-devtools/python/python3-pip/reproducible.patch
deleted file mode 100644
index 0ed0c9177f..0000000000
--- a/poky/meta/recipes-devtools/python/python3-pip/reproducible.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-Pip installed wheels are not reproducible currently. The direct_url
-files encode an installation path and the installed wheels compile
-the python files at their location, not their final install location
-which is incorrect.
-
-To fix this, simply disable the direct_urls and pass the "root" to
-the python compile function to strip that path out of the compiled
-files.
-
-A version of this patch, perhaps stripping root from the direct_urls
-may be something that could be considered by upstream.
-
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
-Upstream-Status: Pending
-
-Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
----
- src/pip/_internal/operations/install/wheel.py | 5 ++++-
- src/pip/_internal/req/req_install.py | 5 ++++-
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/src/pip/_internal/operations/install/wheel.py b/src/pip/_internal/operations/install/wheel.py
-index 1af8978..3e48f9b 100644
---- a/src/pip/_internal/operations/install/wheel.py
-+++ b/src/pip/_internal/operations/install/wheel.py
-@@ -434,6 +434,7 @@ def _install_wheel(
- warn_script_location: bool = True,
- direct_url: Optional[DirectUrl] = None,
- requested: bool = False,
-+ root: str = None,
- ) -> None:
- """Install a wheel.
-
-@@ -610,7 +611,7 @@ def _install_wheel(
- with warnings.catch_warnings():
- warnings.filterwarnings("ignore")
- for path in pyc_source_file_paths():
-- success = compileall.compile_file(path, force=True, quiet=True)
-+ success = compileall.compile_file(path, force=True, quiet=True, stripdir=root)
- if success:
- pyc_path = pyc_output_path(path)
- assert os.path.exists(pyc_path)
-@@ -721,6 +722,7 @@ def install_wheel(
- warn_script_location: bool = True,
- direct_url: Optional[DirectUrl] = None,
- requested: bool = False,
-+ root: str = None,
- ) -> None:
- with ZipFile(wheel_path, allowZip64=True) as z:
- with req_error_context(req_description):
-@@ -733,4 +735,5 @@ def install_wheel(
- warn_script_location=warn_script_location,
- direct_url=direct_url,
- requested=requested,
-+ root=root,
- )
-diff --git a/src/pip/_internal/req/req_install.py b/src/pip/_internal/req/req_install.py
-index a1e376c..4c3f1bb 100644
---- a/src/pip/_internal/req/req_install.py
-+++ b/src/pip/_internal/req/req_install.py
-@@ -779,7 +779,9 @@ class InstallRequirement:
- assert self.local_file_path
- direct_url = None
- # TODO this can be refactored to direct_url = self.download_info
-- if self.editable:
-+ if '_PYTHON_SYSCONFIGDATA_NAME' in os.environ:
-+ direct_url = None
-+ elif self.editable:
- direct_url = direct_url_for_editable(self.unpacked_source_directory)
- elif self.original_link:
- direct_url = direct_url_from_link(
-@@ -796,6 +798,7 @@ class InstallRequirement:
- warn_script_location=warn_script_location,
- direct_url=direct_url,
- requested=self.user_supplied,
-+ root=root,
- )
- self.install_succeeded = True
- return
---
-2.25.1
-
diff --git a/poky/meta/recipes-devtools/python/python3-pip_22.2.1.bb b/poky/meta/recipes-devtools/python/python3-pip_22.2.2.bb
index 39349b6026..5b6cccf7ed 100644
--- a/poky/meta/recipes-devtools/python/python3-pip_22.2.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pip_22.2.2.bb
@@ -33,9 +33,8 @@ LIC_FILES_CHKSUM = "\
inherit pypi python_setuptools_build_meta
SRC_URI += "file://no_shebang_mangling.patch"
-SRC_URI += "file://reproducible.patch"
-SRC_URI[sha256sum] = "50516e47a2b79e77446f0d05649f0d53772c192571486236b1905492bfc24bac"
+SRC_URI[sha256sum] = "3fd1929db052f056d7a998439176d3333fa1b3f6c1ad881de1885c0717608a4b"
do_install:append() {
rm -f ${D}/${bindir}/pip
diff --git a/poky/meta/recipes-devtools/python/python3-pyelftools_0.28.bb b/poky/meta/recipes-devtools/python/python3-pyelftools_0.29.bb
index 0ceddcb68a..2199e9ff8e 100644
--- a/poky/meta/recipes-devtools/python/python3-pyelftools_0.28.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyelftools_0.29.bb
@@ -4,7 +4,7 @@ SECTION = "devel/python"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5ce2a2b07fca326bc7c146d10105ccfc"
-SRC_URI[sha256sum] = "53e5609cac016471d40bd88dc410cd90755942c25e58a61021cfdf7abdfeacff"
+SRC_URI[sha256sum] = "ec761596aafa16e282a31de188737e5485552469ac63b60cfcccf22263fd24ff"
PYPI_PACKAGE = "pyelftools"
diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.12.0.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.13.0.bb
index b47e0aff67..59706cc200 100644
--- a/poky/meta/recipes-devtools/python/python3-pygments_2.12.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygments_2.13.0.bb
@@ -5,7 +5,7 @@ LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=36a13c90514e2899f1eba7f41c3ee592"
inherit setuptools3
-SRC_URI[sha256sum] = "5eb116118f9612ff1ee89ac96437bb6b49e8f04d8a13b514ba26f620208e26eb"
+SRC_URI[sha256sum] = "56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1"
DEPENDS += "\
${PYTHON_PN} \
diff --git a/poky/meta/recipes-devtools/python/python3-pytz_2022.1.bb b/poky/meta/recipes-devtools/python/python3-pytz_2022.2.1.bb
index a4bb4f5c8f..bb7aeeec35 100644
--- a/poky/meta/recipes-devtools/python/python3-pytz_2022.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pytz_2022.2.1.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1a67fc46c1b596cce5d21209bbe75999"
inherit pypi setuptools3 ptest
-SRC_URI[sha256sum] = "1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7"
+SRC_URI[sha256sum] = "cea221417204f2d1a2aa03ddae3e867921971d0d76f14d87abb4414415bbdcf5"
RDEPENDS:${PN}:class-target += "\
${PYTHON_PN}-datetime \
diff --git a/poky/meta/recipes-devtools/python/python3-requests_2.28.1.bb b/poky/meta/recipes-devtools/python/python3-requests_2.28.1.bb
index ac8a570160..8de08d2620 100644
--- a/poky/meta/recipes-devtools/python/python3-requests_2.28.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-requests_2.28.1.bb
@@ -18,6 +18,7 @@ RDEPENDS:${PN} += " \
${PYTHON_PN}-urllib3 \
${PYTHON_PN}-chardet \
${PYTHON_PN}-idna \
+ ${PYTHON_PN}-compression \
"
CVE_PRODUCT = "requests"
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-rust/8e9892f08b1248dc03862da86915c2745e0ff7ec.patch b/poky/meta/recipes-devtools/python/python3-setuptools-rust/8e9892f08b1248dc03862da86915c2745e0ff7ec.patch
deleted file mode 100644
index 2a531e17aa..0000000000
--- a/poky/meta/recipes-devtools/python/python3-setuptools-rust/8e9892f08b1248dc03862da86915c2745e0ff7ec.patch
+++ /dev/null
@@ -1,221 +0,0 @@
-From 8e9892f08b1248dc03862da86915c2745e0ff7ec Mon Sep 17 00:00:00 2001
-From: "Andrew J. Hesford" <ajh@sideband.org>
-Date: Fri, 15 Jul 2022 10:33:02 -0400
-Subject: [PATCH] build_rust: remove linker handling that broke cross
- compilation
-
-Upstream-Status: Submitted [https://github.com/PyO3/setuptools-rust/pull/269]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- setuptools_rust/build.py | 151 ++-------------------------------------
- 1 file changed, 7 insertions(+), 144 deletions(-)
-
-diff --git a/setuptools_rust/build.py b/setuptools_rust/build.py
-index 4fe594b..e81ed8f 100644
---- a/setuptools_rust/build.py
-+++ b/setuptools_rust/build.py
-@@ -113,23 +113,10 @@ def build_extension(
- self, ext: RustExtension, forced_target_triple: Optional[str] = None
- ) -> List["_BuiltModule"]:
-
-- target_info = self._detect_rust_target(forced_target_triple)
-- if target_info is not None:
-- target_triple = target_info.triple
-- cross_lib = target_info.cross_lib
-- linker = target_info.linker
-- # We're ignoring target_info.linker_args for now because we're not
-- # sure if they will always do the right thing. Might help with some
-- # of the OS-specific logic if it does.
--
-- else:
-- target_triple = None
-- cross_lib = None
-- linker = None
--
-+ target_triple = self._detect_rust_target(forced_target_triple)
- rustc_cfgs = get_rustc_cfgs(target_triple)
-
-- env = _prepare_build_environment(cross_lib)
-+ env = _prepare_build_environment()
-
- if not os.path.exists(ext.path):
- raise DistutilsFileError(
-@@ -150,9 +137,6 @@ def build_extension(
-
- rustflags = []
-
-- if linker is not None:
-- rustflags.extend(["-C", "linker=" + linker])
--
- if ext._uses_exec_binding():
- command = [self.cargo, "build", "--manifest-path", ext.path, *cargo_args]
-
-@@ -407,45 +391,12 @@ def _py_limited_api(self) -> _PyLimitedApi:
-
- def _detect_rust_target(
- self, forced_target_triple: Optional[str] = None
-- ) -> Optional["_TargetInfo"]:
-+ ) -> Optional[str]:
- assert self.plat_name is not None
-- cross_compile_info = _detect_unix_cross_compile_info()
-- if cross_compile_info is not None:
-- cross_target_info = cross_compile_info.to_target_info()
-- if forced_target_triple is not None:
-- if (
-- cross_target_info is not None
-- and not cross_target_info.is_compatible_with(forced_target_triple)
-- ):
-- self.warn(
-- f"Forced Rust target `{forced_target_triple}` is not "
-- f"compatible with deduced Rust target "
-- f"`{cross_target_info.triple}` - the built package "
-- f" may not import successfully once installed."
-- )
--
-- # Forcing the target in a cross-compile environment; use
-- # the cross-compile information in combination with the
-- # forced target
-- return _TargetInfo(
-- forced_target_triple,
-- cross_compile_info.cross_lib,
-- cross_compile_info.linker,
-- cross_compile_info.linker_args,
-- )
-- elif cross_target_info is not None:
-- return cross_target_info
-- else:
-- raise DistutilsPlatformError(
-- "Don't know the correct rust target for system type "
-- f"{cross_compile_info.host_type}. Please set the "
-- "CARGO_BUILD_TARGET environment variable."
-- )
--
-- elif forced_target_triple is not None:
-+ if forced_target_triple is not None:
- # Automatic target detection can be overridden via the CARGO_BUILD_TARGET
- # environment variable or --target command line option
-- return _TargetInfo.for_triple(forced_target_triple)
-+ return forced_target_triple
-
- # Determine local rust target which needs to be "forced" if necessary
- local_rust_target = _adjusted_local_rust_target(self.plat_name)
-@@ -457,7 +408,7 @@ def _detect_rust_target(
- # check for None first to avoid calling to rustc if not needed
- and local_rust_target != get_rust_host()
- ):
-- return _TargetInfo.for_triple(local_rust_target)
-+ return local_rust_target
-
- return None
-
-@@ -547,91 +498,6 @@ class _BuiltModule(NamedTuple):
- path: str
-
-
--class _TargetInfo(NamedTuple):
-- triple: str
-- cross_lib: Optional[str]
-- linker: Optional[str]
-- linker_args: Optional[str]
--
-- @staticmethod
-- def for_triple(triple: str) -> "_TargetInfo":
-- return _TargetInfo(triple, None, None, None)
--
-- def is_compatible_with(self, target: str) -> bool:
-- if self.triple == target:
-- return True
--
-- # the vendor field can be ignored, so x86_64-pc-linux-gnu is compatible
-- # with x86_64-unknown-linux-gnu
-- if _replace_vendor_with_unknown(self.triple) == target:
-- return True
--
-- return False
--
--
--class _CrossCompileInfo(NamedTuple):
-- host_type: str
-- cross_lib: Optional[str]
-- linker: Optional[str]
-- linker_args: Optional[str]
--
-- def to_target_info(self) -> Optional[_TargetInfo]:
-- """Maps this cross compile info to target info.
--
-- Returns None if the corresponding target information could not be
-- deduced.
-- """
-- # hopefully an exact match
-- targets = get_rust_target_list()
-- if self.host_type in targets:
-- return _TargetInfo(
-- self.host_type, self.cross_lib, self.linker, self.linker_args
-- )
--
-- # the vendor field can be ignored, so x86_64-pc-linux-gnu is compatible
-- # with x86_64-unknown-linux-gnu
-- without_vendor = _replace_vendor_with_unknown(self.host_type)
-- if without_vendor is not None and without_vendor in targets:
-- return _TargetInfo(
-- without_vendor, self.cross_lib, self.linker, self.linker_args
-- )
--
-- return None
--
--
--def _detect_unix_cross_compile_info() -> Optional["_CrossCompileInfo"]:
-- # See https://github.com/PyO3/setuptools-rust/issues/138
-- # This is to support cross compiling on *NIX, where plat_name isn't
-- # necessarily the same as the system we are running on. *NIX systems
-- # have more detailed information available in sysconfig. We need that
-- # because plat_name doesn't give us information on e.g., glibc vs musl.
-- host_type = sysconfig.get_config_var("HOST_GNU_TYPE")
-- build_type = sysconfig.get_config_var("BUILD_GNU_TYPE")
--
-- if not host_type or host_type == build_type:
-- # not *NIX, or not cross compiling
-- return None
--
-- if "apple-darwin" in host_type and (build_type and "apple-darwin" in build_type):
-- # On macos and the build and host differ. This is probably an arm
-- # Python which was built on x86_64. Don't try to handle this for now.
-- # (See https://github.com/PyO3/setuptools-rust/issues/192)
-- return None
--
-- stdlib = sysconfig.get_path("stdlib")
-- assert stdlib is not None
-- cross_lib = os.path.dirname(stdlib)
--
-- bldshared = sysconfig.get_config_var("BLDSHARED")
-- if not bldshared:
-- linker = None
-- linker_args = None
-- else:
-- [linker, _, linker_args] = bldshared.partition(" ")
--
-- return _CrossCompileInfo(host_type, cross_lib, linker, linker_args)
--
--
- def _replace_vendor_with_unknown(target: str) -> Optional[str]:
- """Replaces vendor in the target triple with unknown.
-
-@@ -644,7 +510,7 @@ def _replace_vendor_with_unknown(target: str) -> Optional[str]:
- return "-".join(components)
-
-
--def _prepare_build_environment(cross_lib: Optional[str]) -> Dict[str, str]:
-+def _prepare_build_environment() -> Dict[str, str]:
- """Prepares environment variables to use when executing cargo build."""
-
- # Make sure that if pythonXX-sys is used, it builds against the current
-@@ -665,9 +531,6 @@ def _prepare_build_environment(cross_lib: Optional[str]) -> Dict[str, str]:
- }
- )
-
-- if cross_lib:
-- env.setdefault("PYO3_CROSS_LIB_DIR", cross_lib)
--
- env.pop("CARGO", None)
- return env
-
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-rust_1.4.1.bb b/poky/meta/recipes-devtools/python/python3-setuptools-rust_1.5.1.bb
index c63a3f2b52..24a4f4abef 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools-rust_1.4.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools-rust_1.5.1.bb
@@ -9,9 +9,10 @@ BUGTRACKER = "https://github.com/PyO3/setuptools-rust/issues"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=011cd92e702dd9e6b1a26157b6fd53f5"
-SRC_URI = "https://files.pythonhosted.org/packages/67/08/e1aa2c582c62ac76e4d60f8e454bd3bba933781a06a88b4e38797445822a/setuptools-rust-${PV}.tar.gz \
- file://8e9892f08b1248dc03862da86915c2745e0ff7ec.patch"
-SRC_URI[sha256sum] = "18ff850831f58ee21d5783825c99fad632da21e47645e9427fd7dec048029e76"
+SRC_URI = "${PYPI_SRC_URI} \
+ https://files.pythonhosted.org/packages/67/08/e1aa2c582c62ac76e4d60f8e454bd3bba933781a06a88b4e38797445822a/setuptools-rust-${PV}.tar.gz \
+ "
+SRC_URI[sha256sum] = "0e05e456645d59429cb1021370aede73c0760e9360bbfdaaefb5bced530eb9d7"
inherit cargo pypi python_setuptools_build_meta
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
index 9c5ff6ad9f..c8c713c842 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
+++ b/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
@@ -1,4 +1,4 @@
-From 3a5ae454c0738510daf5df68b7968cab66cceb7f Mon Sep 17 00:00:00 2001
+From 42d349031cd952c12620fcf02cbab70a371f4b19 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 17 Jul 2018 10:13:38 +0800
Subject: [PATCH] conditionally do not fetch code by easy_install
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_63.3.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_65.0.2.bb
index da7e7892fd..1a639ea333 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_63.3.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_65.0.2.bb
@@ -11,7 +11,7 @@ SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-e
SRC_URI += "file://0001-change-shebang-to-python3.patch \
file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch"
-SRC_URI[sha256sum] = "273b6847ae61f7829c1affcdd9a32f67aa65233be508f4fbaab866c5faa4e408"
+SRC_URI[sha256sum] = "101bf15ca723beef42c8db91a761f3748d4d697e17fae904db60c0b619d8d094"
DEPENDS += "${PYTHON_PN}"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinx_5.0.2.bb b/poky/meta/recipes-devtools/python/python3-sphinx_5.1.1.bb
index 46cc26e67e..1bef20c2e2 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinx_5.0.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinx_5.1.1.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=72c536e78c21c567311b193fe00cd253"
PYPI_PACKAGE = "Sphinx"
-SRC_URI[sha256sum] = "b18e978ea7565720f26019c702cd85c84376e948370f1cd43d60265010e1c7b0"
+SRC_URI[sha256sum] = "ba3224a4e206e1fbdecf98a4fae4992ef9b24b85ebf7b584bb340156eaf08d89"
inherit setuptools3 pypi
diff --git a/poky/meta/recipes-devtools/python/python3-urllib3_1.26.10.bb b/poky/meta/recipes-devtools/python/python3-urllib3_1.26.12.bb
index a8e2073d71..1cd69bcb10 100644
--- a/poky/meta/recipes-devtools/python/python3-urllib3_1.26.10.bb
+++ b/poky/meta/recipes-devtools/python/python3-urllib3_1.26.12.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/shazow/urllib3"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c"
-SRC_URI[sha256sum] = "879ba4d1e89654d9769ce13121e0f94310ea32e8d2f8cf587b77c08bbcdb30d6"
+SRC_URI[sha256sum] = "3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"
inherit pypi setuptools3
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch b/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
index 62dce4b827..c790c7b886 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
@@ -1,4 +1,4 @@
-From c83256e40d3057ac6325d649f9ce4c4da2c00874 Mon Sep 17 00:00:00 2001
+From 7589ab03ad3f7cb4bb092c31273ff22371ac77e4 Mon Sep 17 00:00:00 2001
From: Jeremy Puhlman <jpuhlman@mvista.com>
Date: Wed, 4 Mar 2020 00:06:42 +0000
Subject: [PATCH] Don't search system for headers/libraries
@@ -11,10 +11,10 @@ Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/setup.py b/setup.py
-index f7a3d39..9d2273d 100644
+index c3a6b5e..c892537 100644
--- a/setup.py
+++ b/setup.py
-@@ -857,8 +857,8 @@ class PyBuildExt(build_ext):
+@@ -856,8 +856,8 @@ class PyBuildExt(build_ext):
add_dir_to_list(self.compiler.include_dirs,
sysconfig.get_config_var("INCLUDEDIR"))
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch b/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
index a9240b3c8a..641017edd5 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
@@ -1,4 +1,4 @@
-From 01d209277e145072e478d8b9acfea3638ee16cdc Mon Sep 17 00:00:00 2001
+From d82cb96eed1098920ad3cdcb36feb32137618066 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Fri, 10 Sep 2021 12:28:31 +0200
Subject: [PATCH] Lib/sysconfig.py: use prefix value from build configuration
diff --git a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
index 3c62c2acb8..368a725ff7 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
@@ -1,4 +1,4 @@
-From 78dd1def953e18e7cda0325bb26d27c051bb6890 Mon Sep 17 00:00:00 2001
+From c24674e0a52367359a1a3d950bab8bc3d282279b Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 31 Jan 2019 16:46:30 +0100
Subject: [PATCH] distutils/sysconfig: append
diff --git a/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch b/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
index 6bb85fcb34..2c7d264da0 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
@@ -14,7 +14,7 @@ x86_64-wrs-linux-gcc: error: unrecognized command line option '-fp-model'
Here use cc_basename to replace CC for checking compiler to avoid such
kind of issue.
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://github.com/python/cpython/pull/96399]
Signed-off-by: Li Zhou <li.zhou@windriver.com>
diff --git a/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch b/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
index 0ead57e465..041a03b0cd 100644
--- a/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
+++ b/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
@@ -1,4 +1,4 @@
-From 246c5ffe75a2d494e415d8a7522df9fe22056d41 Mon Sep 17 00:00:00 2001
+From 311cf9abc213fcd76795cc3a25814a15fb552065 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 7 Oct 2019 13:22:14 +0200
Subject: [PATCH] setup.py: do not report missing dependencies for disabled
@@ -18,7 +18,7 @@ Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
1 file changed, 8 insertions(+)
diff --git a/setup.py b/setup.py
-index 2be4738..62f0e18 100644
+index 934cf2e..ccf83b4 100644
--- a/setup.py
+++ b/setup.py
@@ -517,6 +517,14 @@ class PyBuildExt(build_ext):
@@ -35,4 +35,4 @@ index 2be4738..62f0e18 100644
+
if self.missing:
print()
- print("Python build finished successfully!")
+ print("The necessary bits to build these optional modules were not "
diff --git a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
index de4c6c4e19..a06e9b56c1 100644
--- a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
+++ b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
@@ -1,4 +1,4 @@
-From 33b5a31df6050110f4481a24f5a0a0bf7fe80096 Mon Sep 17 00:00:00 2001
+From 1cc4cab8d579bbccb8a4fc13a28158a58c603cb4 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 14 May 2013 15:00:26 -0700
Subject: [PATCH] python3: Add target and native recipes
diff --git a/poky/meta/recipes-devtools/python/python3_3.10.5.bb b/poky/meta/recipes-devtools/python/python3_3.10.6.bb
index b237c48735..1b28728732 100644
--- a/poky/meta/recipes-devtools/python/python3_3.10.5.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.10.6.bb
@@ -44,7 +44,7 @@ SRC_URI:append:class-native = " \
file://12-distutils-prefix-is-inside-staging-area.patch \
file://0001-Don-t-search-system-for-headers-libraries.patch \
"
-SRC_URI[sha256sum] = "8437efd5b106ef0a75aabfbf23d880625120a73a86a22ade4d2e2e68d7b74486"
+SRC_URI[sha256sum] = "f795ff87d11d4b0c7c33bc8851b0c28648d8a4583aa2100a98c22b4326b6d3f3"
# exclude pre-releases for both python 2.x and 3.x
UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
@@ -171,6 +171,9 @@ do_install:append:class-native() {
# Nothing should be looking into ${B} for python3-native
sed -i -e 's:${B}:/build/path/unavailable/:g' \
${D}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile
+
+ # disable the lookup in user's site-packages globally
+ sed -i 's#ENABLE_USER_SITE = None#ENABLE_USER_SITE = False#' ${D}${libdir}/python${PYTHON_MAJMIN}/site.py
}
do_install:append() {
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index 0db6701735..56fc7aaf55 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -27,7 +27,12 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
file://0008-tests-meson.build-use-relative-path-to-refer-to-file.patch \
file://0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \
file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \
+ file://qemu-7.0.0-glibc-2.36.patch \
file://CVE-2022-35414.patch \
+ file://CVE-2021-3507_1.patch \
+ file://CVE-2021-3507_2.patch \
+ file://CVE-2022-0216_1.patch \
+ file://CVE-2022-0216_2.patch \
"
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_1.patch
new file mode 100644
index 0000000000..24fd2c5ed3
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_1.patch
@@ -0,0 +1,92 @@
+From 57a89cc36ead7234e540d0ecbe1a792ab6b04cb7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 18 Nov 2021 12:57:32 +0100
+Subject: [PATCH 1/2] hw/block/fdc: Prevent end-of-track overrun
+ (CVE-2021-3507)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Per the 82078 datasheet, if the end-of-track (EOT byte in
+the FIFO) is more than the number of sectors per side, the
+command is terminated unsuccessfully:
+
+* 5.2.5 DATA TRANSFER TERMINATION
+
+ The 82078 supports terminal count explicitly through
+ the TC pin and implicitly through the underrun/over-
+ run and end-of-track (EOT) functions. For full sector
+ transfers, the EOT parameter can define the last
+ sector to be transferred in a single or multisector
+ transfer. If the last sector to be transferred is a par-
+ tial sector, the host can stop transferring the data in
+ mid-sector, and the 82078 will continue to complete
+ the sector as if a hardware TC was received. The
+ only difference between these implicit functions and
+ TC is that they return "abnormal termination" result
+ status. Such status indications can be ignored if they
+ were expected.
+
+* 6.1.3 READ TRACK
+
+ This command terminates when the EOT specified
+ number of sectors have been read. If the 82078
+ does not find an I D Address Mark on the diskette
+ after the second· occurrence of a pulse on the
+ INDX# pin, then it sets the IC code in Status Regis-
+ ter 0 to "01" (Abnormal termination), sets the MA bit
+ in Status Register 1 to "1", and terminates the com-
+ mand.
+
+* 6.1.6 VERIFY
+
+ Refer to Table 6-6 and Table 6-7 for information
+ concerning the values of MT and EC versus SC and
+ EOT value.
+
+* Table 6·6. Result Phase Table
+
+* Table 6-7. Verify Command Result Phase Table
+
+Fix by aborting the transfer when EOT > # Sectors Per Side.
+
+Cc: qemu-stable@nongnu.org
+Cc: Hervé Poussineau <hpoussin@reactos.org>
+Fixes: baca51faff0 ("floppy driver: disk geometry auto detect")
+Reported-by: Alexander Bulekov <alxndr@bu.edu>
+Resolves: https://gitlab.com/qemu-project/qemu/-/issues/339
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Message-Id: <20211118115733.4038610-2-philmd@redhat.com>
+Reviewed-by: Hanna Reitz <hreitz@redhat.com>
+Signed-off-by: Kevin Wolf <kwolf@redhat.com>
+
+Upstream-Status: Backport [defac5e2fbddf8423a354ff0454283a2115e1367]
+CVE: CVE-2021-3507
+
+Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
+---
+ hw/block/fdc.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/hw/block/fdc.c b/hw/block/fdc.c
+index 347875a0c..57bb35579 100644
+--- a/hw/block/fdc.c
++++ b/hw/block/fdc.c
+@@ -1530,6 +1530,14 @@ static void fdctrl_start_transfer(FDCtrl *fdctrl, int direction)
+ int tmp;
+ fdctrl->data_len = 128 << (fdctrl->fifo[5] > 7 ? 7 : fdctrl->fifo[5]);
+ tmp = (fdctrl->fifo[6] - ks + 1);
++ if (tmp < 0) {
++ FLOPPY_DPRINTF("invalid EOT: %d\n", tmp);
++ fdctrl_stop_transfer(fdctrl, FD_SR0_ABNTERM, FD_SR1_MA, 0x00);
++ fdctrl->fifo[3] = kt;
++ fdctrl->fifo[4] = kh;
++ fdctrl->fifo[5] = ks;
++ return;
++ }
+ if (fdctrl->fifo[0] & 0x80)
+ tmp += fdctrl->fifo[6];
+ fdctrl->data_len *= tmp;
+--
+2.33.0
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_2.patch
new file mode 100644
index 0000000000..acc93e897b
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_2.patch
@@ -0,0 +1,115 @@
+From 3e8601ec707dcbc3c768f7733d016dc70c947e4a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 18 Nov 2021 12:57:33 +0100
+Subject: [PATCH 2/2] tests/qtest/fdc-test: Add a regression test for
+ CVE-2021-3507
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Add the reproducer from https://gitlab.com/qemu-project/qemu/-/issues/339
+
+Without the previous commit, when running 'make check-qtest-i386'
+with QEMU configured with '--enable-sanitizers' we get:
+
+ ==4028352==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x619000062a00 at pc 0x5626d03c491a bp 0x7ffdb4199410 sp 0x7ffdb4198bc0
+ READ of size 786432 at 0x619000062a00 thread T0
+ #0 0x5626d03c4919 in __asan_memcpy (qemu-system-i386+0x1e65919)
+ #1 0x5626d1c023cc in flatview_write_continue softmmu/physmem.c:2787:13
+ #2 0x5626d1bf0c0f in flatview_write softmmu/physmem.c:2822:14
+ #3 0x5626d1bf0798 in address_space_write softmmu/physmem.c:2914:18
+ #4 0x5626d1bf0f37 in address_space_rw softmmu/physmem.c:2924:16
+ #5 0x5626d1bf14c8 in cpu_physical_memory_rw softmmu/physmem.c:2933:5
+ #6 0x5626d0bd5649 in cpu_physical_memory_write include/exec/cpu-common.h:82:5
+ #7 0x5626d0bd0a07 in i8257_dma_write_memory hw/dma/i8257.c:452:9
+ #8 0x5626d09f825d in fdctrl_transfer_handler hw/block/fdc.c:1616:13
+ #9 0x5626d0a048b4 in fdctrl_start_transfer hw/block/fdc.c:1539:13
+ #10 0x5626d09f4c3e in fdctrl_write_data hw/block/fdc.c:2266:13
+ #11 0x5626d09f22f7 in fdctrl_write hw/block/fdc.c:829:9
+ #12 0x5626d1c20bc5 in portio_write softmmu/ioport.c:207:17
+
+ 0x619000062a00 is located 0 bytes to the right of 512-byte region [0x619000062800,0x619000062a00)
+ allocated by thread T0 here:
+ #0 0x5626d03c66ec in posix_memalign (qemu-system-i386+0x1e676ec)
+ #1 0x5626d2b988d4 in qemu_try_memalign util/oslib-posix.c:210:11
+ #2 0x5626d2b98b0c in qemu_memalign util/oslib-posix.c:226:27
+ #3 0x5626d09fbaf0 in fdctrl_realize_common hw/block/fdc.c:2341:20
+ #4 0x5626d0a150ed in isabus_fdc_realize hw/block/fdc-isa.c:113:5
+ #5 0x5626d2367935 in device_set_realized hw/core/qdev.c:531:13
+
+ SUMMARY: AddressSanitizer: heap-buffer-overflow (qemu-system-i386+0x1e65919) in __asan_memcpy
+ Shadow bytes around the buggy address:
+ 0x0c32800044f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
+ 0x0c3280004500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 0x0c3280004510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 0x0c3280004520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 0x0c3280004530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ =>0x0c3280004540:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
+ 0x0c3280004550: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
+ 0x0c3280004560: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
+ 0x0c3280004570: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
+ 0x0c3280004580: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
+ 0x0c3280004590: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
+ Shadow byte legend (one shadow byte represents 8 application bytes):
+ Addressable: 00
+ Heap left redzone: fa
+ Freed heap region: fd
+ ==4028352==ABORTING
+
+[ kwolf: Added snapshot=on to prevent write file lock failure ]
+
+Reported-by: Alexander Bulekov <alxndr@bu.edu>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
+Signed-off-by: Kevin Wolf <kwolf@redhat.com>
+
+Upstream-Status: Backport [46609b90d9e3a6304def11038a76b58ff43f77bc]
+CVE: CVE-2021-3507
+
+Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
+---
+ tests/qtest/fdc-test.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+diff --git a/tests/qtest/fdc-test.c b/tests/qtest/fdc-test.c
+index b0d40012e..1d4f85212 100644
+--- a/tests/qtest/fdc-test.c
++++ b/tests/qtest/fdc-test.c
+@@ -583,6 +583,26 @@ static void test_cve_2021_20196(void)
+ qtest_quit(s);
+ }
+
++static void test_cve_2021_3507(void)
++{
++ QTestState *s;
++
++ s = qtest_initf("-nographic -m 32M -nodefaults "
++ "-drive file=%s,format=raw,if=floppy,snapshot=on",
++ test_image);
++ qtest_outl(s, 0x9, 0x0a0206);
++ qtest_outw(s, 0x3f4, 0x1600);
++ qtest_outw(s, 0x3f4, 0x0000);
++ qtest_outw(s, 0x3f4, 0x0000);
++ qtest_outw(s, 0x3f4, 0x0000);
++ qtest_outw(s, 0x3f4, 0x0200);
++ qtest_outw(s, 0x3f4, 0x0200);
++ qtest_outw(s, 0x3f4, 0x0000);
++ qtest_outw(s, 0x3f4, 0x0000);
++ qtest_outw(s, 0x3f4, 0x0000);
++ qtest_quit(s);
++}
++
+ int main(int argc, char **argv)
+ {
+ int fd;
+@@ -614,6 +634,7 @@ int main(int argc, char **argv)
+ qtest_add_func("/fdc/read_no_dma_19", test_read_no_dma_19);
+ qtest_add_func("/fdc/fuzz-registers", fuzz_registers);
+ qtest_add_func("/fdc/fuzz/cve_2021_20196", test_cve_2021_20196);
++ qtest_add_func("/fdc/fuzz/cve_2021_3507", test_cve_2021_3507);
+
+ ret = g_test_run();
+
+--
+2.33.0
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_1.patch
new file mode 100644
index 0000000000..56fc34ce5a
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_1.patch
@@ -0,0 +1,42 @@
+From f37ac8619a39498edd225c4a0b3039b28814833d Mon Sep 17 00:00:00 2001
+From: Mauro Matteo Cascella <mcascell@redhat.com>
+Date: Tue, 5 Jul 2022 22:05:43 +0200
+Subject: [PATCH 1/2] scsi/lsi53c895a: fix use-after-free in lsi_do_msgout
+ (CVE-2022-0216)
+
+Set current_req->req to NULL to prevent reusing a free'd buffer in case of
+repeated SCSI cancel requests. Thanks to Thomas Huth for suggesting the patch.
+
+Fixes: CVE-2022-0216
+Resolves: https://gitlab.com/qemu-project/qemu/-/issues/972
+Signed-off-by: Mauro Matteo Cascella <mcascell@redhat.com>
+Reviewed-by: Thomas Huth <thuth@redhat.com>
+Message-Id: <20220705200543.2366809-1-mcascell@redhat.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+
+Upstream-Status: Backport [6c8fa961da5e60f574bb52fd3ad44b1e9e8ad4b8]
+CVE: CVE-2022-0216
+
+Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
+---
+ hw/scsi/lsi53c895a.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
+index c8773f73f..99ea42d49 100644
+--- a/hw/scsi/lsi53c895a.c
++++ b/hw/scsi/lsi53c895a.c
+@@ -1028,8 +1028,9 @@ static void lsi_do_msgout(LSIState *s)
+ case 0x0d:
+ /* The ABORT TAG message clears the current I/O process only. */
+ trace_lsi_do_msgout_abort(current_tag);
+- if (current_req) {
++ if (current_req && current_req->req) {
+ scsi_req_cancel(current_req->req);
++ current_req->req = NULL;
+ }
+ lsi_disconnect(s);
+ break;
+--
+2.33.0
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_2.patch
new file mode 100644
index 0000000000..f332154b6a
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_2.patch
@@ -0,0 +1,146 @@
+From 5451bf6db85ce3da1238e9154d051ebccec8f171 Mon Sep 17 00:00:00 2001
+From: Mauro Matteo Cascella <mcascell@redhat.com>
+Date: Mon, 11 Jul 2022 14:33:16 +0200
+Subject: [PATCH 2/2] scsi/lsi53c895a: really fix use-after-free in
+ lsi_do_msgout (CVE-2022-0216)
+
+Set current_req to NULL, not current_req->req, to prevent reusing a free'd
+buffer in case of repeated SCSI cancel requests. Also apply the fix to
+CLEAR QUEUE and BUS DEVICE RESET messages as well, since they also cancel
+the request.
+
+Thanks to Alexander Bulekov for providing a reproducer.
+
+Fixes: CVE-2022-0216
+Resolves: https://gitlab.com/qemu-project/qemu/-/issues/972
+Signed-off-by: Mauro Matteo Cascella <mcascell@redhat.com>
+Tested-by: Alexander Bulekov <alxndr@bu.edu>
+Message-Id: <20220711123316.421279-1-mcascell@redhat.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+
+Upstream-Status: Backport [4367a20cc442c56b05611b4224de9a61908f9eac]
+CVE: CVE-2022-0216
+
+Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
+---
+ hw/scsi/lsi53c895a.c | 3 +-
+ tests/qtest/fuzz-lsi53c895a-test.c | 76 ++++++++++++++++++++++++++++++
+ 2 files changed, 78 insertions(+), 1 deletion(-)
+
+diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
+index 99ea42d49..ad5f5e5f3 100644
+--- a/hw/scsi/lsi53c895a.c
++++ b/hw/scsi/lsi53c895a.c
+@@ -1030,7 +1030,7 @@ static void lsi_do_msgout(LSIState *s)
+ trace_lsi_do_msgout_abort(current_tag);
+ if (current_req && current_req->req) {
+ scsi_req_cancel(current_req->req);
+- current_req->req = NULL;
++ current_req = NULL;
+ }
+ lsi_disconnect(s);
+ break;
+@@ -1056,6 +1056,7 @@ static void lsi_do_msgout(LSIState *s)
+ /* clear the current I/O process */
+ if (s->current) {
+ scsi_req_cancel(s->current->req);
++ current_req = NULL;
+ }
+
+ /* As the current implemented devices scsi_disk and scsi_generic
+diff --git a/tests/qtest/fuzz-lsi53c895a-test.c b/tests/qtest/fuzz-lsi53c895a-test.c
+index ba5d46897..c1af0ab1c 100644
+--- a/tests/qtest/fuzz-lsi53c895a-test.c
++++ b/tests/qtest/fuzz-lsi53c895a-test.c
+@@ -8,6 +8,79 @@
+ #include "qemu/osdep.h"
+ #include "libqos/libqtest.h"
+
++/*
++ * This used to trigger a UAF in lsi_do_msgout()
++ * https://gitlab.com/qemu-project/qemu/-/issues/972
++ */
++static void test_lsi_do_msgout_cancel_req(void)
++{
++ QTestState *s;
++
++ if (sizeof(void *) == 4) {
++ g_test_skip("memory size too big for 32-bit build");
++ return;
++ }
++
++ s = qtest_init("-M q35 -m 4G -display none -nodefaults "
++ "-device lsi53c895a,id=scsi "
++ "-device scsi-hd,drive=disk0 "
++ "-drive file=null-co://,id=disk0,if=none,format=raw");
++
++ qtest_outl(s, 0xcf8, 0x80000810);
++ qtest_outl(s, 0xcf8, 0xc000);
++ qtest_outl(s, 0xcf8, 0x80000810);
++ qtest_outw(s, 0xcfc, 0x7);
++ qtest_outl(s, 0xcf8, 0x80000810);
++ qtest_outl(s, 0xcfc, 0xc000);
++ qtest_outl(s, 0xcf8, 0x80000804);
++ qtest_outw(s, 0xcfc, 0x05);
++ qtest_writeb(s, 0x69736c10, 0x08);
++ qtest_writeb(s, 0x69736c13, 0x58);
++ qtest_writeb(s, 0x69736c1a, 0x01);
++ qtest_writeb(s, 0x69736c1b, 0x06);
++ qtest_writeb(s, 0x69736c22, 0x01);
++ qtest_writeb(s, 0x69736c23, 0x07);
++ qtest_writeb(s, 0x69736c2b, 0x02);
++ qtest_writeb(s, 0x69736c48, 0x08);
++ qtest_writeb(s, 0x69736c4b, 0x58);
++ qtest_writeb(s, 0x69736c52, 0x04);
++ qtest_writeb(s, 0x69736c53, 0x06);
++ qtest_writeb(s, 0x69736c5b, 0x02);
++ qtest_outl(s, 0xc02d, 0x697300);
++ qtest_writeb(s, 0x5a554662, 0x01);
++ qtest_writeb(s, 0x5a554663, 0x07);
++ qtest_writeb(s, 0x5a55466a, 0x10);
++ qtest_writeb(s, 0x5a55466b, 0x22);
++ qtest_writeb(s, 0x5a55466c, 0x5a);
++ qtest_writeb(s, 0x5a55466d, 0x5a);
++ qtest_writeb(s, 0x5a55466e, 0x34);
++ qtest_writeb(s, 0x5a55466f, 0x5a);
++ qtest_writeb(s, 0x5a345a5a, 0x77);
++ qtest_writeb(s, 0x5a345a5b, 0x55);
++ qtest_writeb(s, 0x5a345a5c, 0x51);
++ qtest_writeb(s, 0x5a345a5d, 0x27);
++ qtest_writeb(s, 0x27515577, 0x41);
++ qtest_outl(s, 0xc02d, 0x5a5500);
++ qtest_writeb(s, 0x364001d0, 0x08);
++ qtest_writeb(s, 0x364001d3, 0x58);
++ qtest_writeb(s, 0x364001da, 0x01);
++ qtest_writeb(s, 0x364001db, 0x26);
++ qtest_writeb(s, 0x364001dc, 0x0d);
++ qtest_writeb(s, 0x364001dd, 0xae);
++ qtest_writeb(s, 0x364001de, 0x41);
++ qtest_writeb(s, 0x364001df, 0x5a);
++ qtest_writeb(s, 0x5a41ae0d, 0xf8);
++ qtest_writeb(s, 0x5a41ae0e, 0x36);
++ qtest_writeb(s, 0x5a41ae0f, 0xd7);
++ qtest_writeb(s, 0x5a41ae10, 0x36);
++ qtest_writeb(s, 0x36d736f8, 0x0c);
++ qtest_writeb(s, 0x36d736f9, 0x80);
++ qtest_writeb(s, 0x36d736fa, 0x0d);
++ qtest_outl(s, 0xc02d, 0x364000);
++
++ qtest_quit(s);
++}
++
+ /*
+ * This used to trigger the assert in lsi_do_dma()
+ * https://bugs.launchpad.net/qemu/+bug/697510
+@@ -48,5 +121,8 @@ int main(int argc, char **argv)
+ test_lsi_do_dma_empty_queue);
+ }
+
++ qtest_add_func("fuzz/lsi53c895a/lsi_do_msgout_cancel_req",
++ test_lsi_do_msgout_cancel_req);
++
+ return g_test_run();
+ }
+--
+2.33.0
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/qemu-7.0.0-glibc-2.36.patch b/poky/meta/recipes-devtools/qemu/qemu/qemu-7.0.0-glibc-2.36.patch
new file mode 100644
index 0000000000..abad1cfeeb
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/qemu-7.0.0-glibc-2.36.patch
@@ -0,0 +1,46 @@
+Avoid conflicts between sys/mount.h and linux/mount.h that are seen
+with glibc 2.36
+
+Source: https://github.com/archlinux/svntogit-packages/blob/packages/qemu/trunk/qemu-7.0.0-glibc-2.36.patch
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/linux-user/syscall.c
++++ b/linux-user/syscall.c
+@@ -95,7 +95,25 @@
+ #include <linux/soundcard.h>
+ #include <linux/kd.h>
+ #include <linux/mtio.h>
++
++#ifdef HAVE_SYS_MOUNT_FSCONFIG
++/*
++ * glibc >= 2.36 linux/mount.h conflicts with sys/mount.h,
++ * which in turn prevents use of linux/fs.h. So we have to
++ * define the constants ourselves for now.
++ */
++#define FS_IOC_GETFLAGS _IOR('f', 1, long)
++#define FS_IOC_SETFLAGS _IOW('f', 2, long)
++#define FS_IOC_GETVERSION _IOR('v', 1, long)
++#define FS_IOC_SETVERSION _IOW('v', 2, long)
++#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap)
++#define FS_IOC32_GETFLAGS _IOR('f', 1, int)
++#define FS_IOC32_SETFLAGS _IOW('f', 2, int)
++#define FS_IOC32_GETVERSION _IOR('v', 1, int)
++#define FS_IOC32_SETVERSION _IOW('v', 2, int)
++#else
+ #include <linux/fs.h>
++#endif
+ #include <linux/fd.h>
+ #if defined(CONFIG_FIEMAP)
+ #include <linux/fiemap.h>
+--- a/meson.build
++++ b/meson.build
+@@ -1686,6 +1686,8 @@ config_host_data.set('HAVE_OPTRESET',
+ cc.has_header_symbol('getopt.h', 'optreset'))
+ config_host_data.set('HAVE_IPPROTO_MPTCP',
+ cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP'))
++config_host_data.set('HAVE_SYS_MOUNT_FSCONFIG',
++ cc.has_header_symbol('sys/mount.h', 'FSCONFIG_SET_FLAG'))
+
+ # has_member
+ config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID',
diff --git a/poky/meta/recipes-devtools/repo/repo_2.28.bb b/poky/meta/recipes-devtools/repo/repo_2.29.1.bb
index 052108e9e5..740132c2f6 100644
--- a/poky/meta/recipes-devtools/repo/repo_2.28.bb
+++ b/poky/meta/recipes-devtools/repo/repo_2.29.1.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \
file://0001-python3-shebang.patch \
"
-SRCREV = "a8cf575d68e7e211292d967f4a12cf609a028b20"
+SRCREV = "4112c07688d0e0e568478e9f42be349bdd511d45"
MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git"
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-CVE-2021-3521.patch b/poky/meta/recipes-devtools/rpm/files/0001-CVE-2021-3521.patch
deleted file mode 100644
index 044b4dd2a0..0000000000
--- a/poky/meta/recipes-devtools/rpm/files/0001-CVE-2021-3521.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 9a6871126f472feea057d5f803505ec8cc78f083 Mon Sep 17 00:00:00 2001
-From: Panu Matilainen <pmatilai@redhat.com>
-Date: Thu, 30 Sep 2021 09:56:20 +0300
-Subject: [PATCH 1/3] Refactor pgpDigParams construction to helper function
-
-No functional changes, just to reduce code duplication and needed by
-the following commits.
-
-CVE: CVE-2021-3521
-Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/9f03f42e2]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- rpmio/rpmpgp.c | 13 +++++++++----
- 1 file changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/rpmio/rpmpgp.c b/rpmio/rpmpgp.c
-index d0688ebe9a..e472b5320f 100644
---- a/rpmio/rpmpgp.c
-+++ b/rpmio/rpmpgp.c
-@@ -1041,6 +1041,13 @@ unsigned int pgpDigParamsAlgo(pgpDigParams digp, unsigned int algotype)
- return algo;
- }
-
-+static pgpDigParams pgpDigParamsNew(uint8_t tag)
-+{
-+ pgpDigParams digp = xcalloc(1, sizeof(*digp));
-+ digp->tag = tag;
-+ return digp;
-+}
-+
- int pgpPrtParams(const uint8_t * pkts, size_t pktlen, unsigned int pkttype,
- pgpDigParams * ret)
- {
-@@ -1058,8 +1065,7 @@ int pgpPrtParams(const uint8_t * pkts, size_t pktlen, unsigned int pkttype,
- if (pkttype && pkt.tag != pkttype) {
- break;
- } else {
-- digp = xcalloc(1, sizeof(*digp));
-- digp->tag = pkt.tag;
-+ digp = pgpDigParamsNew(pkt.tag);
- }
- }
-
-@@ -1105,8 +1111,7 @@ int pgpPrtParamsSubkeys(const uint8_t *pkts, size_t pktlen,
- digps = xrealloc(digps, alloced * sizeof(*digps));
- }
-
-- digps[count] = xcalloc(1, sizeof(**digps));
-- digps[count]->tag = PGPTAG_PUBLIC_SUBKEY;
-+ digps[count] = pgpDigParamsNew(PGPTAG_PUBLIC_SUBKEY);
- /* Copy UID from main key to subkey */
- digps[count]->userid = xstrdup(mainkey->userid);
-
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
index 6d236ac400..c6cf9d4c88 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
@@ -1,4 +1,4 @@
-From 8d013fe154a162305f76141151baf767dd04b598 Mon Sep 17 00:00:00 2001
+From 4ab6a4c5bbad65c3401016bb26b87214cdd0c59b Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 27 Feb 2017 09:43:30 +0200
Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for
@@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
-index eb7d6941b..10a889b5d 100644
+index 372875fc4..1b7add9ee 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -871,7 +871,7 @@ else
+@@ -884,7 +884,7 @@ else
usrprefix=$prefix
fi
@@ -27,10 +27,10 @@ index eb7d6941b..10a889b5d 100644
AC_SUBST(OBJDUMP)
diff --git a/macros.in b/macros.in
-index a1f795e5f..689e784ef 100644
+index d53ab5ed5..9d10441c8 100644
--- a/macros.in
+++ b/macros.in
-@@ -933,7 +933,7 @@ package or when debugging this package.\
+@@ -911,7 +911,7 @@ package or when debugging this package.\
%_sharedstatedir %{_prefix}/com
%_localstatedir %{_prefix}/var
%_lib lib
@@ -40,7 +40,7 @@ index a1f795e5f..689e784ef 100644
%_infodir %{_datadir}/info
%_mandir %{_datadir}/man
diff --git a/rpm.am b/rpm.am
-index 7b57f433b..9bbb9ee96 100644
+index ebe4e40d1..e6920e258 100644
--- a/rpm.am
+++ b/rpm.am
@@ -1,10 +1,10 @@
@@ -55,4 +55,4 @@ index 7b57f433b..9bbb9ee96 100644
+rpmconfigdir = $(libdir)/rpm
# Libtool version (current-revision-age) for all our libraries
- rpm_version_info = 11:0:2
+ rpm_version_info = 12:0:3
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch b/poky/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch
index 4020a31092..2a0069cafe 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch
@@ -28,11 +28,18 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
lib/rpmscript.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
-diff --git a/lib/rpmscript.c b/lib/rpmscript.c
-index cc98c4885..f8bd3df04 100644
--- a/lib/rpmscript.c
+++ b/lib/rpmscript.c
-@@ -394,8 +394,7 @@ exit:
+@@ -17,7 +17,7 @@
+ #include "rpmio/rpmio_internal.h"
+
+ #include "lib/rpmplugins.h" /* rpm plugins hooks */
+-
++#include "lib/rpmchroot.h" /* rpmChrootOut */
+ #include "debug.h"
+
+ struct scriptNextFileFunc_s {
+@@ -391,8 +391,7 @@ exit:
Fclose(out); /* XXX dup'd STDOUT_FILENO */
if (fn) {
@@ -42,7 +49,7 @@ index cc98c4885..f8bd3df04 100644
free(fn);
}
free(mline);
-@@ -428,7 +427,13 @@ rpmRC rpmScriptRun(rpmScript script, int arg1, int arg2, FD_t scriptFd,
+@@ -426,7 +425,13 @@ rpmRC rpmScriptRun(rpmScript script, int
if (rc != RPMRC_FAIL) {
if (script_type & RPMSCRIPTLET_EXEC) {
@@ -57,6 +64,3 @@ index cc98c4885..f8bd3df04 100644
} else {
rc = runLuaScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc);
}
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch b/poky/meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch
new file mode 100644
index 0000000000..2174a79e75
--- /dev/null
+++ b/poky/meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch
@@ -0,0 +1,31 @@
+From 8f51462d41d8fe942d5d0a06f08d47f625141995 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Thu, 4 Aug 2022 12:15:08 +0200
+Subject: [PATCH] configure.ac: add linux-gnux32 variant to triplet handling
+
+x32 is a 64 bit x86 ABI with 32 bit pointers.
+
+Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/2143]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ configure.ac | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 372875fc49..7d6a3d274e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -845,6 +845,10 @@ if echo "$host_os" | grep '.*-gnuabi64$' > /dev/null ; then
+ host_os=`echo "${host_os}" | sed 's/-gnuabi64$//'`
+ host_os_gnu=-gnuabi64
+ fi
++if echo "$host_os" | grep '.*-gnux32$' > /dev/null ; then
++ host_os=`echo "${host_os}" | sed 's/-gnux32$//'`
++ host_os_gnu=-gnux32
++fi
+ if echo "$host_os" | grep '.*-gnu$' > /dev/null ; then
+ host_os=`echo "${host_os}" | sed 's/-gnu$//'`
+ fi
+--
+2.30.2
+
diff --git a/poky/meta/recipes-devtools/rpm/files/0002-CVE-2021-3521.patch b/poky/meta/recipes-devtools/rpm/files/0002-CVE-2021-3521.patch
deleted file mode 100644
index 683b57d455..0000000000
--- a/poky/meta/recipes-devtools/rpm/files/0002-CVE-2021-3521.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From c4b1bee51bbdd732b94b431a951481af99117703 Mon Sep 17 00:00:00 2001
-From: Panu Matilainen <pmatilai@redhat.com>
-Date: Thu, 30 Sep 2021 09:51:10 +0300
-Subject: [PATCH 2/3] Process MPI's from all kinds of signatures
-
-No immediate effect but needed by the following commits.
-
-CVE: CVE-2021-3521
-Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/b5e8bc74b]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
----
- rpmio/rpmpgp.c | 13 +++++--------
- 1 file changed, 5 insertions(+), 8 deletions(-)
-
-diff --git a/rpmio/rpmpgp.c b/rpmio/rpmpgp.c
-index 25f67048fd..509e777e6d 100644
---- a/rpmio/rpmpgp.c
-+++ b/rpmio/rpmpgp.c
-@@ -543,7 +543,7 @@ pgpDigAlg pgpDigAlgFree(pgpDigAlg alg)
- return NULL;
- }
-
--static int pgpPrtSigParams(pgpTag tag, uint8_t pubkey_algo, uint8_t sigtype,
-+static int pgpPrtSigParams(pgpTag tag, uint8_t pubkey_algo,
- const uint8_t *p, const uint8_t *h, size_t hlen,
- pgpDigParams sigp)
- {
-@@ -556,10 +556,8 @@ static int pgpPrtSigParams(pgpTag tag, uint8_t pubkey_algo, uint8_t sigtype,
- int mpil = pgpMpiLen(p);
- if (pend - p < mpil)
- break;
-- if (sigtype == PGPSIGTYPE_BINARY || sigtype == PGPSIGTYPE_TEXT) {
-- if (sigalg->setmpi(sigalg, i, p))
-- break;
-- }
-+ if (sigalg->setmpi(sigalg, i, p))
-+ break;
- p += mpil;
- }
-
-@@ -619,7 +617,7 @@ static int pgpPrtSig(pgpTag tag, const uint8_t *h, size_t hlen,
- }
-
- p = ((uint8_t *)v) + sizeof(*v);
-- rc = pgpPrtSigParams(tag, v->pubkey_algo, v->sigtype, p, h, hlen, _digp);
-+ rc = pgpPrtSigParams(tag, v->pubkey_algo, p, h, hlen, _digp);
- } break;
- case 4:
- { pgpPktSigV4 v = (pgpPktSigV4)h;
-@@ -677,8 +675,7 @@ static int pgpPrtSig(pgpTag tag, const uint8_t *h, size_t hlen,
- p += 2;
- if (p > hend)
- return 1;
--
-- rc = pgpPrtSigParams(tag, v->pubkey_algo, v->sigtype, p, h, hlen, _digp);
-+ rc = pgpPrtSigParams(tag, v->pubkey_algo, p, h, hlen, _digp);
- } break;
- default:
- rpmlog(RPMLOG_WARNING, _("Unsupported version of signature: V%d\n"), version);
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/rpm/files/0003-CVE-2021-3521.patch b/poky/meta/recipes-devtools/rpm/files/0003-CVE-2021-3521.patch
deleted file mode 100644
index a5ec802501..0000000000
--- a/poky/meta/recipes-devtools/rpm/files/0003-CVE-2021-3521.patch
+++ /dev/null
@@ -1,329 +0,0 @@
-From 07676ca03ad8afcf1ca95a2353c83fbb1d970b9b Mon Sep 17 00:00:00 2001
-From: Panu Matilainen <pmatilai@redhat.com>
-Date: Thu, 30 Sep 2021 09:59:30 +0300
-Subject: [PATCH 3/3] Validate and require subkey binding signatures on PGP
- public keys
-
-All subkeys must be followed by a binding signature by the primary key
-as per the OpenPGP RFC, enforce the presence and validity in the parser.
-
-The implementation is as kludgey as they come to work around our
-simple-minded parser structure without touching API, to maximise
-backportability. Store all the raw packets internally as we decode them
-to be able to access previous elements at will, needed to validate ordering
-and access the actual data. Add testcases for manipulated keys whose
-import previously would succeed.
-
-Depends on the two previous commits:
-7b399fcb8f52566e6f3b4327197a85facd08db91 and
-236b802a4aa48711823a191d1b7f753c82a89ec5
-
-Fixes CVE-2021-3521.
-
-Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/bd36c5dc9]
-CVE:CVE-2021-3521
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
----
- rpmio/rpmpgp.c | 99 +++++++++++++++++--
- tests/Makefile.am | 3 +
- tests/data/keys/CVE-2021-3521-badbind.asc | 25 +++++
- .../data/keys/CVE-2021-3521-nosubsig-last.asc | 25 +++++
- tests/data/keys/CVE-2021-3521-nosubsig.asc | 37 +++++++
- tests/rpmsigdig.at | 28 ++++++
- 6 files changed, 209 insertions(+), 8 deletions(-)
- create mode 100644 tests/data/keys/CVE-2021-3521-badbind.asc
- create mode 100644 tests/data/keys/CVE-2021-3521-nosubsig-last.asc
- create mode 100644 tests/data/keys/CVE-2021-3521-nosubsig.asc
-
-diff --git a/rpmio/rpmpgp.c b/rpmio/rpmpgp.c
-index 509e777e6d..371ad4d9b6 100644
---- a/rpmio/rpmpgp.c
-+++ b/rpmio/rpmpgp.c
-@@ -1061,33 +1061,116 @@ static pgpDigParams pgpDigParamsNew(uint8_t tag)
- return digp;
- }
-
-+static int hashKey(DIGEST_CTX hash, const struct pgpPkt *pkt, int exptag)
-+{
-+ int rc = -1;
-+ if (pkt->tag == exptag) {
-+ uint8_t head[] = {
-+ 0x99,
-+ (pkt->blen >> 8),
-+ (pkt->blen ),
-+ };
-+
-+ rpmDigestUpdate(hash, head, 3);
-+ rpmDigestUpdate(hash, pkt->body, pkt->blen);
-+ rc = 0;
-+ }
-+ return rc;
-+}
-+
-+static int pgpVerifySelf(pgpDigParams key, pgpDigParams selfsig,
-+ const struct pgpPkt *all, int i)
-+{
-+ int rc = -1;
-+ DIGEST_CTX hash = NULL;
-+
-+ switch (selfsig->sigtype) {
-+ case PGPSIGTYPE_SUBKEY_BINDING:
-+ hash = rpmDigestInit(selfsig->hash_algo, 0);
-+ if (hash) {
-+ rc = hashKey(hash, &all[0], PGPTAG_PUBLIC_KEY);
-+ if (!rc)
-+ rc = hashKey(hash, &all[i-1], PGPTAG_PUBLIC_SUBKEY);
-+ }
-+ break;
-+ default:
-+ /* ignore types we can't handle */
-+ rc = 0;
-+ break;
-+ }
-+
-+ if (hash && rc == 0)
-+ rc = pgpVerifySignature(key, selfsig, hash);
-+
-+ rpmDigestFinal(hash, NULL, NULL, 0);
-+
-+ return rc;
-+}
-+
- int pgpPrtParams(const uint8_t * pkts, size_t pktlen, unsigned int pkttype,
- pgpDigParams * ret)
- {
- const uint8_t *p = pkts;
- const uint8_t *pend = pkts + pktlen;
- pgpDigParams digp = NULL;
-- struct pgpPkt pkt;
-+ pgpDigParams selfsig = NULL;
-+ int i = 0;
-+ int alloced = 16; /* plenty for normal cases */
-+ struct pgpPkt *all = xmalloc(alloced * sizeof(*all));
- int rc = -1; /* assume failure */
-+ int expect = 0;
-+ int prevtag = 0;
-
- while (p < pend) {
-- if (decodePkt(p, (pend - p), &pkt))
-+ struct pgpPkt *pkt = &all[i];
-+ if (decodePkt(p, (pend - p), pkt))
- break;
-
- if (digp == NULL) {
-- if (pkttype && pkt.tag != pkttype) {
-+ if (pkttype && pkt->tag != pkttype) {
- break;
- } else {
-- digp = pgpDigParamsNew(pkt.tag);
-+ digp = pgpDigParamsNew(pkt->tag);
- }
- }
-
-- if (pgpPrtPkt(&pkt, digp))
-+ if (expect) {
-+ if (pkt->tag != expect)
-+ break;
-+ selfsig = pgpDigParamsNew(pkt->tag);
-+ }
-+ if (pgpPrtPkt(pkt, selfsig ? selfsig : digp))
- break;
-
-- p += (pkt.body - pkt.head) + pkt.blen;
-- if (pkttype == PGPTAG_SIGNATURE)
-- break;
-+ if (selfsig) {
-+ /* subkeys must be followed by binding signature */
-+ if (prevtag == PGPTAG_PUBLIC_SUBKEY) {
-+ if (selfsig->sigtype != PGPSIGTYPE_SUBKEY_BINDING)
-+ break;
-+ }
-+
-+ int xx = pgpVerifySelf(digp, selfsig, all, i);
-+
-+ selfsig = pgpDigParamsFree(selfsig);
-+ if (xx)
-+ break;
-+ expect = 0;
-+ }
-+
-+ if (pkt->tag == PGPTAG_PUBLIC_SUBKEY)
-+ expect = PGPTAG_SIGNATURE;
-+ prevtag = pkt->tag;
-+
-+ i++;
-+ p += (pkt->body - pkt->head) + pkt->blen;
-+ if (pkttype == PGPTAG_SIGNATURE)
-+ break;
-+
-+ if (alloced <= i) {
-+ alloced *= 2;
-+ all = xrealloc(all, alloced * sizeof(*all));
-+ }
-+
- }
-
- rc = (digp && (p == pend)) ? 0 : -1;
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index a41ce10de8..7bb23247f1 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -107,6 +107,9 @@ EXTRA_DIST += data/SPECS/hello-config-buildid.spec
- EXTRA_DIST += data/SPECS/hello-cd.spec
- EXTRA_DIST += data/keys/rpm.org-rsa-2048-test.pub
- EXTRA_DIST += data/keys/rpm.org-rsa-2048-test.secret
-+EXTRA_DIST += data/keys/CVE-2021-3521-badbind.asc
-+EXTRA_DIST += data/keys/CVE-2022-3521-nosubsig.asc
-+EXTRA_DIST += data/keys/CVE-2022-3521-nosubsig-last.asc
- EXTRA_DIST += data/macros.testfile
- EXTRA_DIST += data/macros.debug
- EXTRA_DIST += data/SOURCES/foo.c
-diff --git a/tests/data/keys/CVE-2021-3521-badbind.asc b/tests/data/keys/CVE-2021-3521-badbind.asc
-new file mode 100644
-index 0000000000..aea00f9d7a
---- /dev/null
-+++ b/tests/data/keys/CVE-2021-3521-badbind.asc
-@@ -0,0 +1,25 @@
-+-----BEGIN PGP PUBLIC KEY BLOCK-----
-+Version: rpm-4.17.90 (NSS-3)
-+
-+mQENBFjmORgBCAC7TMEk6wnjSs8Dr4yqSScWdU2pjcqrkTxuzdWvowcIUPZI0w/g
-+HkRqGd4apjvY2V15kjL10gk3QhFP3pZ/9p7zh8o8NHX7aGdSGDK7NOq1eFaErPRY
-+91LW9RiZ0lbOjXEzIL0KHxUiTQEmdXJT43DJMFPyW9fkCWg0OltiX618FUdWWfI8
-+eySdLur1utnqBvdEbCUvWK2RX3vQZQdvEBODnNk2pxqTyV0w6VPQ96W++lF/5Aas
-+7rUv3HIyIXxIggc8FRrnH+y9XvvHDonhTIlGnYZN4ubm9i4y3gOkrZlGTrEw7elQ
-+1QeMyG2QQEbze8YjpTm4iLABCBrRfPRaQpwrABEBAAG0IXJwbS5vcmcgUlNBIHRl
-+c3RrZXkgPHJzYUBycG0ub3JnPokBNwQTAQgAIQUCWOY5GAIbAwULCQgHAgYVCAkK
-+CwIEFgIDAQIeAQIXgAAKCRBDRFkeGWTF/MxxCACnjqFL+MmPh9W9JQKT2DcLbBzf
-+Cqo6wcEBoCOcwgRSk8dSikhARoteoa55JRJhuMyeKhhEAogE9HRmCPFdjezFTwgB
-+BDVBpO2dZ023mLXDVCYX3S8pShOgCP6Tn4wqCnYeAdLcGg106N4xcmgtcssJE+Pr
-+XzTZksbZsrTVEmL/Ym+R5w5jBfFnGk7Yw7ndwfQsfNXQb5AZynClFxnX546lcyZX
-+fEx3/e6ezw57WNOUK6WT+8b+EGovPkbetK/rGxNXuWaP6X4A/QUm8O98nCuHYFQq
-++mvNdsCBqGf7mhaRGtpHk/JgCn5rFvArMDqLVrR9hX0LdCSsH7EGE+bR3r7wuQEN
-+BFjmORgBCACk+vDZrIXQuFXEYToZVwb2attzbbJJCqD71vmZTLsW0QxuPKRgbcYY
-+zp4K4lVBnHhFrF8MOUOxJ7kQWIJZMZFt+BDcptCYurbD2H4W2xvnWViiC+LzCMzz
-+iMJT6165uefL4JHTDPxC2fFiM9yrc72LmylJNkM/vepT128J5Qv0gRUaQbHiQuS6
-+Dm/+WRnUfx3i89SV4mnBxb/Ta93GVqoOciWwzWSnwEnWYAvOb95JL4U7c5J5f/+c
-+KnQDHsW7sIiIdscsWzvgf6qs2Ra1Zrt7Fdk4+ZS2f/adagLhDO1C24sXf5XfMk5m
-+L0OGwZSr9m5s17VXxfspgU5ugc8kBJfzABEBAAE=
-+=WCfs
-+-----END PGP PUBLIC KEY BLOCK-----
-+
-diff --git a/tests/data/keys/CVE-2021-3521-nosubsig-last.asc b/tests/data/keys/CVE-2021-3521-nosubsig-last.asc
-new file mode 100644
-index 0000000000..aea00f9d7a
---- /dev/null
-+++ b/tests/data/keys/CVE-2021-3521-nosubsig-last.asc
-@@ -0,0 +1,25 @@
-+-----BEGIN PGP PUBLIC KEY BLOCK-----
-+Version: rpm-4.17.90 (NSS-3)
-+
-+mQENBFjmORgBCAC7TMEk6wnjSs8Dr4yqSScWdU2pjcqrkTxuzdWvowcIUPZI0w/g
-+HkRqGd4apjvY2V15kjL10gk3QhFP3pZ/9p7zh8o8NHX7aGdSGDK7NOq1eFaErPRY
-+91LW9RiZ0lbOjXEzIL0KHxUiTQEmdXJT43DJMFPyW9fkCWg0OltiX618FUdWWfI8
-+eySdLur1utnqBvdEbCUvWK2RX3vQZQdvEBODnNk2pxqTyV0w6VPQ96W++lF/5Aas
-+7rUv3HIyIXxIggc8FRrnH+y9XvvHDonhTIlGnYZN4ubm9i4y3gOkrZlGTrEw7elQ
-+1QeMyG2QQEbze8YjpTm4iLABCBrRfPRaQpwrABEBAAG0IXJwbS5vcmcgUlNBIHRl
-+c3RrZXkgPHJzYUBycG0ub3JnPokBNwQTAQgAIQUCWOY5GAIbAwULCQgHAgYVCAkK
-+CwIEFgIDAQIeAQIXgAAKCRBDRFkeGWTF/MxxCACnjqFL+MmPh9W9JQKT2DcLbBzf
-+Cqo6wcEBoCOcwgRSk8dSikhARoteoa55JRJhuMyeKhhEAogE9HRmCPFdjezFTwgB
-+BDVBpO2dZ023mLXDVCYX3S8pShOgCP6Tn4wqCnYeAdLcGg106N4xcmgtcssJE+Pr
-+XzTZksbZsrTVEmL/Ym+R5w5jBfFnGk7Yw7ndwfQsfNXQb5AZynClFxnX546lcyZX
-+fEx3/e6ezw57WNOUK6WT+8b+EGovPkbetK/rGxNXuWaP6X4A/QUm8O98nCuHYFQq
-++mvNdsCBqGf7mhaRGtpHk/JgCn5rFvArMDqLVrR9hX0LdCSsH7EGE+bR3r7wuQEN
-+BFjmORgBCACk+vDZrIXQuFXEYToZVwb2attzbbJJCqD71vmZTLsW0QxuPKRgbcYY
-+zp4K4lVBnHhFrF8MOUOxJ7kQWIJZMZFt+BDcptCYurbD2H4W2xvnWViiC+LzCMzz
-+iMJT6165uefL4JHTDPxC2fFiM9yrc72LmylJNkM/vepT128J5Qv0gRUaQbHiQuS6
-+Dm/+WRnUfx3i89SV4mnBxb/Ta93GVqoOciWwzWSnwEnWYAvOb95JL4U7c5J5f/+c
-+KnQDHsW7sIiIdscsWzvgf6qs2Ra1Zrt7Fdk4+ZS2f/adagLhDO1C24sXf5XfMk5m
-+L0OGwZSr9m5s17VXxfspgU5ugc8kBJfzABEBAAE=
-+=WCfs
-+-----END PGP PUBLIC KEY BLOCK-----
-+
-diff --git a/tests/data/keys/CVE-2021-3521-nosubsig.asc b/tests/data/keys/CVE-2021-3521-nosubsig.asc
-new file mode 100644
-index 0000000000..3a2e7417f8
---- /dev/null
-+++ b/tests/data/keys/CVE-2021-3521-nosubsig.asc
-@@ -0,0 +1,37 @@
-+-----BEGIN PGP PUBLIC KEY BLOCK-----
-+Version: rpm-4.17.90 (NSS-3)
-+
-+mQENBFjmORgBCAC7TMEk6wnjSs8Dr4yqSScWdU2pjcqrkTxuzdWvowcIUPZI0w/g
-+HkRqGd4apjvY2V15kjL10gk3QhFP3pZ/9p7zh8o8NHX7aGdSGDK7NOq1eFaErPRY
-+91LW9RiZ0lbOjXEzIL0KHxUiTQEmdXJT43DJMFPyW9fkCWg0OltiX618FUdWWfI8
-+eySdLur1utnqBvdEbCUvWK2RX3vQZQdvEBODnNk2pxqTyV0w6VPQ96W++lF/5Aas
-+7rUv3HIyIXxIggc8FRrnH+y9XvvHDonhTIlGnYZN4ubm9i4y3gOkrZlGTrEw7elQ
-+1QeMyG2QQEbze8YjpTm4iLABCBrRfPRaQpwrABEBAAG0IXJwbS5vcmcgUlNBIHRl
-+c3RrZXkgPHJzYUBycG0ub3JnPokBNwQTAQgAIQUCWOY5GAIbAwULCQgHAgYVCAkK
-+CwIEFgIDAQIeAQIXgAAKCRBDRFkeGWTF/MxxCACnjqFL+MmPh9W9JQKT2DcLbBzf
-+Cqo6wcEBoCOcwgRSk8dSikhARoteoa55JRJhuMyeKhhEAogE9HRmCPFdjezFTwgB
-+BDVBpO2dZ023mLXDVCYX3S8pShOgCP6Tn4wqCnYeAdLcGg106N4xcmgtcssJE+Pr
-+XzTZksbZsrTVEmL/Ym+R5w5jBfFnGk7Yw7ndwfQsfNXQb5AZynClFxnX546lcyZX
-+fEx3/e6ezw57WNOUK6WT+8b+EGovPkbetK/rGxNXuWaP6X4A/QUm8O98nCuHYFQq
-++mvNdsCBqGf7mhaRGtpHk/JgCn5rFvArMDqLVrR9hX0LdCSsH7EGE+bR3r7wuQEN
-+BFjmORgBCACk+vDZrIXQuFXEYToZVwb2attzbbJJCqD71vmZTLsW0QxuPKRgbcYY
-+zp4K4lVBnHhFrF8MOUOxJ7kQWIJZMZFt+BDcptCYurbD2H4W2xvnWViiC+LzCMzz
-+iMJT6165uefL4JHTDPxC2fFiM9yrc72LmylJNkM/vepT128J5Qv0gRUaQbHiQuS6
-+Dm/+WRnUfx3i89SV4mnBxb/Ta93GVqoOciWwzWSnwEnWYAvOb95JL4U7c5J5f/+c
-+KnQDHsW7sIiIdscsWzvgf6qs2Ra1Zrt7Fdk4+ZS2f/adagLhDO1C24sXf5XfMk5m
-+L0OGwZSr9m5s17VXxfspgU5ugc8kBJfzABEBAAG5AQ0EWOY5GAEIAKT68NmshdC4
-+VcRhOhlXBvZq23NtskkKoPvW+ZlMuxbRDG48pGBtxhjOngriVUGceEWsXww5Q7En
-+uRBYglkxkW34ENym0Ji6tsPYfhbbG+dZWKIL4vMIzPOIwlPrXrm558vgkdMM/ELZ
-+8WIz3KtzvYubKUk2Qz+96lPXbwnlC/SBFRpBseJC5LoOb/5ZGdR/HeLz1JXiacHF
-+v9Nr3cZWqg5yJbDNZKfASdZgC85v3kkvhTtzknl//5wqdAMexbuwiIh2xyxbO+B/
-+qqzZFrVmu3sV2Tj5lLZ/9p1qAuEM7ULbixd/ld8yTmYvQ4bBlKv2bmzXtVfF+ymB
-+Tm6BzyQEl/MAEQEAAYkBHwQYAQgACQUCWOY5GAIbDAAKCRBDRFkeGWTF/PANB/9j
-+mifmj6z/EPe0PJFhrpISt9PjiUQCt0IPtiL5zKAkWjHePIzyi+0kCTBF6DDLFxos
-+3vN4bWnVKT1kBhZAQlPqpJTg+m74JUYeDGCdNx9SK7oRllATqyu+5rncgxjWVPnQ
-+zu/HRPlWJwcVFYEVXYL8xzfantwQTqefjmcRmBRdA2XJITK+hGWwAmrqAWx+q5xX
-+Pa8wkNMxVzNS2rUKO9SoVuJ/wlUvfoShkJ/VJ5HDp3qzUqncADfdGN35TDzscngQ
-+gHvnMwVBfYfSCABV1hNByoZcc/kxkrWMmsd/EnIyLd1Q1baKqc3cEDuC6E6/o4yJ
-+E4XX4jtDmdZPreZALsiB
-+=rRop
-+-----END PGP PUBLIC KEY BLOCK-----
-+
-diff --git a/tests/rpmsigdig.at b/tests/rpmsigdig.at
-index 8e7c759b8f..e2d30a7f1b 100644
---- a/tests/rpmsigdig.at
-+++ b/tests/rpmsigdig.at
-@@ -2,6 +2,34 @@
-
- AT_BANNER([RPM signatures and digests])
-
-+AT_SETUP([rpmkeys --import invalid keys])
-+AT_KEYWORDS([rpmkeys import])
-+RPMDB_INIT
-+
-+AT_CHECK([
-+runroot rpmkeys --import /data/keys/CVE-2021-3521-badbind.asc
-+],
-+[1],
-+[],
-+[error: /data/keys/CVE-2021-3521-badbind.asc: key 1 import failed.]
-+)
-+AT_CHECK([
-+runroot rpmkeys --import /data/keys/CVE-2021-3521-nosubsig.asc
-+],
-+[1],
-+[],
-+[error: /data/keys/CVE-2021-3521-nosubsig.asc: key 1 import failed.]
-+)
-+
-+AT_CHECK([
-+runroot rpmkeys --import /data/keys/CVE-2021-3521-nosubsig-last.asc
-+],
-+[1],
-+[],
-+[error: /data/keys/CVE-2021-3521-nosubsig-last.asc: key 1 import failed.]
-+)
-+AT_CLEANUP
-+
- # ------------------------------
- # Test pre-built package verification
- AT_SETUP([rpmkeys -Kv <unsigned> 1])
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.17.0.bb b/poky/meta/recipes-devtools/rpm/rpm_4.17.1.bb
index c392ac0db4..9b6446f265 100644
--- a/poky/meta/recipes-devtools/rpm/rpm_4.17.0.bb
+++ b/poky/meta/recipes-devtools/rpm/rpm_4.17.1.bb
@@ -39,13 +39,11 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.17.x;protoc
file://0001-tools-Add-error.h-for-non-glibc-case.patch \
file://0001-docs-do-not-build-manpages-requires-pandoc.patch \
file://0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch \
- file://0001-CVE-2021-3521.patch \
- file://0002-CVE-2021-3521.patch \
- file://0003-CVE-2021-3521.patch \
+ file://0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch \
"
PE = "1"
-SRCREV = "3e74e8ba2dd5e76a5353d238dc7fc38651ce27b3"
+SRCREV = "5bef402da334595ed9302b8bca1acdf5e88bfe11"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch b/poky/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch
new file mode 100644
index 0000000000..474d82db22
--- /dev/null
+++ b/poky/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch
@@ -0,0 +1,173 @@
+From 785c0072c80c2f6e0839478453cf65fdeac15da0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 29 Aug 2022 19:53:28 -0700
+Subject: [PATCH] Add missing prototypes to function declarations
+
+With Clang 15+ compiler -Wstrict-prototypes is triggering warnings which
+are turned into errors with -Werror, this fixes the problem by adding
+missing prototypes
+
+Fixes errors like
+| log.c:134:24: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
+| static void syslog_init()
+| ^
+| void
+
+Upstream-Status: Submitted [https://lists.samba.org/archive/rsync/2022-August/032858.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ checksum.c | 2 +-
+ exclude.c | 2 +-
+ hlink.c | 3 +--
+ lib/pool_alloc.c | 2 +-
+ log.c | 2 +-
+ main.c | 2 +-
+ syscall.c | 4 ++--
+ zlib/crc32.c | 2 +-
+ zlib/trees.c | 2 +-
+ zlib/zutil.c | 4 ++--
+ 10 files changed, 12 insertions(+), 13 deletions(-)
+
+diff --git a/checksum.c b/checksum.c
+index fb8c0a0..174c28c 100644
+--- a/checksum.c
++++ b/checksum.c
+@@ -629,7 +629,7 @@ int sum_end(char *sum)
+ return csum_len_for_type(cursum_type, 0);
+ }
+
+-void init_checksum_choices()
++void init_checksum_choices(void)
+ {
+ #ifdef SUPPORT_XXH3
+ char buf[32816];
+diff --git a/exclude.c b/exclude.c
+index adc82e2..79f5a82 100644
+--- a/exclude.c
++++ b/exclude.c
+@@ -358,7 +358,7 @@ void implied_include_partial_string(const char *s_start, const char *s_end)
+ memcpy(partial_string_buf, s_start, partial_string_len);
+ }
+
+-void free_implied_include_partial_string()
++void free_implied_include_partial_string(void)
+ {
+ if (partial_string_buf) {
+ free(partial_string_buf);
+diff --git a/hlink.c b/hlink.c
+index 66810a3..6511dfb 100644
+--- a/hlink.c
++++ b/hlink.c
+@@ -117,8 +117,7 @@ static void match_gnums(int32 *ndx_list, int ndx_count)
+ struct ht_int32_node *node = NULL;
+ int32 gnum, gnum_next;
+
+- qsort(ndx_list, ndx_count, sizeof ndx_list[0], (int (*)()) hlink_compare_gnum);
+-
++ qsort(ndx_list, ndx_count, sizeof ndx_list[0], (int (*)(const void *, const void *)) hlink_compare_gnum);
+ for (from = 0; from < ndx_count; from++) {
+ file = hlink_flist->sorted[ndx_list[from]];
+ gnum = F_HL_GNUM(file);
+diff --git a/lib/pool_alloc.c b/lib/pool_alloc.c
+index a1a7245..4eae062 100644
+--- a/lib/pool_alloc.c
++++ b/lib/pool_alloc.c
+@@ -9,7 +9,7 @@ struct alloc_pool
+ size_t size; /* extent size */
+ size_t quantum; /* allocation quantum */
+ struct pool_extent *extents; /* top extent is "live" */
+- void (*bomb)(); /* called if malloc fails */
++ void (*bomb)(const char *, const char *, int); /* called if malloc fails */
+ int flags;
+
+ /* statistical data */
+diff --git a/log.c b/log.c
+index 44344e2..991e359 100644
+--- a/log.c
++++ b/log.c
+@@ -131,7 +131,7 @@ static void logit(int priority, const char *buf)
+ }
+ }
+
+-static void syslog_init()
++static void syslog_init(void)
+ {
+ int options = LOG_PID;
+
+diff --git a/main.c b/main.c
+index 9ebfbea..affa244 100644
+--- a/main.c
++++ b/main.c
+@@ -244,7 +244,7 @@ void read_del_stats(int f)
+ stats.deleted_files += stats.deleted_specials = read_varint(f);
+ }
+
+-static void become_copy_as_user()
++static void become_copy_as_user(void)
+ {
+ char *gname;
+ uid_t uid;
+diff --git a/syscall.c b/syscall.c
+index d92074a..92ca86d 100644
+--- a/syscall.c
++++ b/syscall.c
+@@ -389,9 +389,9 @@ OFF_T do_lseek(int fd, OFF_T offset, int whence)
+ {
+ #ifdef HAVE_LSEEK64
+ #if !SIZEOF_OFF64_T
+- OFF_T lseek64();
++ OFF_T lseek64(int fd, OFF_T offset, int whence);
+ #else
+- off64_t lseek64();
++ off64_t lseek64(int fd, off64_t offset, int whence);
+ #endif
+ return lseek64(fd, offset, whence);
+ #else
+diff --git a/zlib/crc32.c b/zlib/crc32.c
+index 05733f4..50c6c02 100644
+--- a/zlib/crc32.c
++++ b/zlib/crc32.c
+@@ -187,7 +187,7 @@ local void write_table(out, table)
+ /* =========================================================================
+ * This function can be used by asm versions of crc32()
+ */
+-const z_crc_t FAR * ZEXPORT get_crc_table()
++const z_crc_t FAR * ZEXPORT get_crc_table(void)
+ {
+ #ifdef DYNAMIC_CRC_TABLE
+ if (crc_table_empty)
+diff --git a/zlib/trees.c b/zlib/trees.c
+index 9c66770..0d9047e 100644
+--- a/zlib/trees.c
++++ b/zlib/trees.c
+@@ -231,7 +231,7 @@ local void send_bits(s, value, length)
+ /* ===========================================================================
+ * Initialize the various 'constant' tables.
+ */
+-local void tr_static_init()
++local void tr_static_init(void)
+ {
+ #if defined(GEN_TREES_H) || !defined(STDC)
+ static int static_init_done = 0;
+diff --git a/zlib/zutil.c b/zlib/zutil.c
+index bbba7b2..61f8dc9 100644
+--- a/zlib/zutil.c
++++ b/zlib/zutil.c
+@@ -27,12 +27,12 @@ z_const char * const z_errmsg[10] = {
+ ""};
+
+
+-const char * ZEXPORT zlibVersion()
++const char * ZEXPORT zlibVersion(void)
+ {
+ return ZLIB_VERSION;
+ }
+
+-uLong ZEXPORT zlibCompileFlags()
++uLong ZEXPORT zlibCompileFlags(void)
+ {
+ uLong flags;
+
+--
+2.37.2
+
diff --git a/poky/meta/recipes-devtools/rsync/files/0001-Turn-on-pedantic-errors-at-the-end-of-configure.patch b/poky/meta/recipes-devtools/rsync/files/0001-Turn-on-pedantic-errors-at-the-end-of-configure.patch
new file mode 100644
index 0000000000..1d9c4bfe48
--- /dev/null
+++ b/poky/meta/recipes-devtools/rsync/files/0001-Turn-on-pedantic-errors-at-the-end-of-configure.patch
@@ -0,0 +1,68 @@
+From e64a58387db46239902b610871a0eb81626e99ff Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Thu, 18 Aug 2022 07:46:28 -0700
+Subject: [PATCH] Turn on -pedantic-errors at the end of 'configure'
+
+Problem reported by Khem Raj in:
+https://lists.gnu.org/r/autoconf-patches/2022-08/msg00009.html
+Upstream-Status: Submitted [https://lists.samba.org/archive/rsync/2022-August/032862.html]
+---
+ configure.ac | 35 ++++++++++++++++++++---------------
+ 1 file changed, 20 insertions(+), 15 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index d185b2d3..7e9514f7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1071,21 +1071,6 @@ elif test x"$ac_cv_header_popt_h" != x"yes"; then
+ with_included_popt=yes
+ fi
+
+-if test x"$GCC" = x"yes"; then
+- if test x"$with_included_popt" != x"yes"; then
+- # Turn pedantic warnings into errors to ensure an array-init overflow is an error.
+- CFLAGS="$CFLAGS -pedantic-errors"
+- else
+- # Our internal popt code cannot be compiled with pedantic warnings as errors, so try to
+- # turn off pedantic warnings (which will not lose the error for array-init overflow).
+- # Older gcc versions don't understand -Wno-pedantic, so check if --help=warnings lists
+- # -Wpedantic and use that as a flag.
+- case `$CC --help=warnings 2>/dev/null | grep Wpedantic` in
+- *-Wpedantic*) CFLAGS="$CFLAGS -pedantic-errors -Wno-pedantic" ;;
+- esac
+- fi
+-fi
+-
+ AC_MSG_CHECKING([whether to use included libpopt])
+ if test x"$with_included_popt" = x"yes"; then
+ AC_MSG_RESULT($srcdir/popt)
+@@ -1444,6 +1429,26 @@ case "$CC" in
+ ;;
+ esac
+
++# Enable -pedantic-errors last, so that it doesn't mess up other
++# 'configure' tests. For example, Autoconf uses empty function
++# prototypes like 'int main () {}' which Clang 15's -pedantic-errors
++# would reject. Generally it's not a good idea to try to run
++# 'configure' itself with strict compiler checking.
++if test x"$GCC" = x"yes"; then
++ if test x"$with_included_popt" != x"yes"; then
++ # Turn pedantic warnings into errors to ensure an array-init overflow is an error.
++ CFLAGS="$CFLAGS -pedantic-errors"
++ else
++ # Our internal popt code cannot be compiled with pedantic warnings as errors, so try to
++ # turn off pedantic warnings (which will not lose the error for array-init overflow).
++ # Older gcc versions don't understand -Wno-pedantic, so check if --help=warnings lists
++ # -Wpedantic and use that as a flag.
++ case `$CC --help=warnings 2>/dev/null | grep Wpedantic` in
++ *-Wpedantic*) CFLAGS="$CFLAGS -pedantic-errors -Wno-pedantic" ;;
++ esac
++ fi
++fi
++
+ AC_CONFIG_FILES([Makefile lib/dummy zlib/dummy popt/dummy shconfig])
+ AC_OUTPUT
+
+--
+2.37.1
+
diff --git a/poky/meta/recipes-devtools/rsync/rsync_3.2.4.bb b/poky/meta/recipes-devtools/rsync/rsync_3.2.5.bb
index e6f917b5cd..0bbbac7ace 100644
--- a/poky/meta/recipes-devtools/rsync/rsync_3.2.4.bb
+++ b/poky/meta/recipes-devtools/rsync/rsync_3.2.5.bb
@@ -14,9 +14,10 @@ SRC_URI = "https://download.samba.org/pub/${BPN}/src/${BP}.tar.gz \
file://rsyncd.conf \
file://makefile-no-rebuild.patch \
file://determism.patch \
+ file://0001-Add-missing-prototypes-to-function-declarations.patch \
+ file://0001-Turn-on-pedantic-errors-at-the-end-of-configure.patch \
"
-
-SRC_URI[sha256sum] = "6f761838d08052b0b6579cf7f6737d93e47f01f4da04c5d24d3447b7f2a5fad1"
+SRC_URI[sha256sum] = "2ac4d21635cdf791867bc377c35ca6dda7f50d919a58be45057fd51600c69aba"
# -16548 required for v3.1.3pre1. Already in v3.1.3.
CVE_CHECK_IGNORE += " CVE-2017-16548 "
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0001-Remove-dependency-on-libcapstone.patch b/poky/meta/recipes-devtools/ruby/ruby/0001-Remove-dependency-on-libcapstone.patch
new file mode 100644
index 0000000000..5d0f8fcc09
--- /dev/null
+++ b/poky/meta/recipes-devtools/ruby/ruby/0001-Remove-dependency-on-libcapstone.patch
@@ -0,0 +1,36 @@
+From 222203297966f312109e8eaa2520f2cf2f59c09d Mon Sep 17 00:00:00 2001
+From: Alan Wu <XrXr@users.noreply.github.com>
+Date: Thu, 31 Mar 2022 17:26:28 -0400
+Subject: [PATCH] Remove dependency on libcapstone
+
+We have received reports of build failures due to this configuration
+check modifying compile flags. Since only YJIT devs use this library
+we can remove it to make Ruby easier to build for users.
+
+See: https://github.com/rbenv/ruby-build/discussions/1933
+
+Upstream-Status: Backport
+---
+ configure.ac | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+Index: ruby-3.1.2/configure.ac
+===================================================================
+--- ruby-3.1.2.orig/configure.ac
++++ ruby-3.1.2/configure.ac
+@@ -1244,15 +1244,6 @@ AC_CHECK_LIB(dl, dlopen) # Dynamic linki
+ AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX
+ AC_CHECK_LIB(socket, shutdown) # SunOS/Solaris
+
+-if pkg-config --exists capstone; then
+- CAPSTONE_CFLAGS=`pkg-config --cflags capstone`
+- CAPSTONE_LIB_L=`pkg-config --libs-only-L capstone`
+- LDFLAGS="$LDFLAGS $CAPSTONE_LIB_L"
+- CFLAGS="$CFLAGS $CAPSTONE_CFLAGS"
+-fi
+-
+-AC_CHECK_LIB(capstone, cs_open) # Capstone disassembler for debugging YJIT
+-
+ dnl Checks for header files.
+ AC_HEADER_DIRENT
+ dnl AC_HEADER_STDC has been checked in AC_USE_SYSTEM_EXTENSIONS
diff --git a/poky/meta/recipes-devtools/ruby/ruby_3.1.2.bb b/poky/meta/recipes-devtools/ruby/ruby_3.1.2.bb
index 6fc1f53b18..387bfa9b44 100644
--- a/poky/meta/recipes-devtools/ruby/ruby_3.1.2.bb
+++ b/poky/meta/recipes-devtools/ruby/ruby_3.1.2.bb
@@ -12,6 +12,7 @@ SRC_URI += " \
file://0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch \
file://0006-Make-gemspecs-reproducible.patch \
file://0001-vm_dump.c-Define-REG_S1-and-REG_S2-for-musl-riscv.patch \
+ file://0001-Remove-dependency-on-libcapstone.patch \
"
SRC_URI[sha256sum] = "61843112389f02b735428b53bb64cf988ad9fb81858b8248e22e57336f24a83e"
@@ -25,7 +26,6 @@ PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6,"
# rdoc is off by default due to non-reproducibility reported in
# https://bugs.ruby-lang.org/issues/18456
PACKAGECONFIG[rdoc] = "--enable-install-rdoc,--disable-install-rdoc,"
-PACKAGECONFIG[capstone] = "--with-capstone=yes, --with-capstone=no"
EXTRA_OECONF = "\
--disable-versioned-paths \
diff --git a/poky/meta/recipes-devtools/rust/README-rust.md b/poky/meta/recipes-devtools/rust/README-rust.md
index b87637c3b0..209836ab65 100644
--- a/poky/meta/recipes-devtools/rust/README-rust.md
+++ b/poky/meta/recipes-devtools/rust/README-rust.md
@@ -3,22 +3,6 @@
This provides the Rust compiler, tools for building packages (cargo), and
a few example projects.
-## What works:
-
- - Building `rust-native` and `cargo-native`
- - Building Rust based projects with Cargo for the TARGET
- - e.g. `rustfmt` which is used by the CI system
- - `-buildsdk` and `-crosssdk` packages
-
-## What doesn't:
-
- - Using anything but x86_64 or arm64 as the build environment
- - rust (built for target) [issue #81](https://github.com/meta-rust/meta-rust/issues/81)
-
-## What's untested:
-
- - cargo (built for target)
-
## Building a rust package
When building a rust package in bitbake, it's usually easiest to build with
@@ -36,11 +20,11 @@ may also be added to the SDK.
NOTE: You will have to edit the generated recipe based on the comments
contained within it
-## TODO
-
## Pitfalls
- - TARGET_SYS _must_ be different from BUILD_SYS. This is due to the way Rust configuration options are tracked for different targets. This is the reason we use the Yocto triples instead of the native Rust triples. See rust-lang/cargo#3349.
+ - TARGET_SYS _must_ be different from BUILD_SYS. This is due to the way Rust
+ configuration options are tracked for different targets. This is the reason
+ we use the Yocto triples instead of the native Rust triples. See rust-lang/cargo#3349.
## Dependencies
@@ -52,7 +36,3 @@ On the target:
- Any `-sys` packages your project might need must have RDEPENDs for
the native library.
-## Copyright
-
-MIT OR Apache-2.0 - Same as rust
-
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs.inc b/poky/meta/recipes-devtools/rust/libstd-rs.inc
index 987956344a..d49383ced5 100644
--- a/poky/meta/recipes-devtools/rust/libstd-rs.inc
+++ b/poky/meta/recipes-devtools/rust/libstd-rs.inc
@@ -35,6 +35,6 @@ do_install () {
# With the incremental build support added in 1.24, the libstd deps directory also includes dependency
# files that get installed. Those are really only needed to incrementally rebuild the libstd library
# itself and don't need to be installed.
- rm -f ${B}/${TARGET_SYS}/${BUILD_DIR}/deps/*.d
- cp ${B}/${TARGET_SYS}/${BUILD_DIR}/deps/* ${D}${rustlibdir}
+ rm -f ${B}/${RUST_TARGET_SYS}/${BUILD_DIR}/deps/*.d
+ cp ${B}/${RUST_TARGET_SYS}/${BUILD_DIR}/deps/* ${D}${rustlibdir}
}
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs_1.62.0.bb b/poky/meta/recipes-devtools/rust/libstd-rs_1.63.0.bb
index eec0245ae1..eec0245ae1 100644
--- a/poky/meta/recipes-devtools/rust/libstd-rs_1.62.0.bb
+++ b/poky/meta/recipes-devtools/rust/libstd-rs_1.63.0.bb
diff --git a/poky/meta/recipes-devtools/rust/rust-cross-canadian-common.inc b/poky/meta/recipes-devtools/rust/rust-cross-canadian-common.inc
deleted file mode 100644
index 34020ff6ff..0000000000
--- a/poky/meta/recipes-devtools/rust/rust-cross-canadian-common.inc
+++ /dev/null
@@ -1,49 +0,0 @@
-
-RUST_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config"
-
-require rust.inc
-
-DEPENDS += "rust-llvm (=${PV})"
-
-inherit cross-canadian
-
-DEPENDS += " \
- virtual/${HOST_PREFIX}gcc-crosssdk \
- virtual/nativesdk-libc rust-llvm-native \
- virtual/${TARGET_PREFIX}compilerlibs \
- virtual/nativesdk-${HOST_PREFIX}compilerlibs \
- gcc-cross-${TARGET_ARCH} \
- "
-
-# The host tools are likely not to be able to do the necessary operation on
-# the target architecturea. Alternatively one could check compatibility
-# between host/target.
-EXCLUDE_FROM_SHLIBS_${RUSTLIB_TARGET_PN} = "1"
-
-DEBUG_PREFIX_MAP = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
- -fdebug-prefix-map=${STAGING_DIR_HOST}= \
- -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
- "
-
-RUST_TARGETGENS = "BUILD HOST TARGET"
-
-INHIBIT_DEFAULT_RUST_DEPS = "1"
-
-export WRAPPER_TARGET_CC = "${CCACHE}${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
-export WRAPPER_TARGET_CXX = "${CCACHE}${TARGET_PREFIX}g++ --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
-export WRAPPER_TARGET_CCLD = "${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
-export WRAPPER_TARGET_LDFLAGS = "${TARGET_LDFLAGS}"
-export WRAPPER_TARGET_AR = "${TARGET_PREFIX}ar"
-
-python do_configure:prepend() {
- targets = [d.getVar("TARGET_SYS", True), "{}-unknown-linux-gnu".format(d.getVar("HOST_ARCH", True))]
- hosts = ["{}-unknown-linux-gnu".format(d.getVar("HOST_ARCH", True))]
-}
-
-INSANE_SKIP:${RUSTLIB_TARGET_PN} = "file-rdeps arch ldflags"
-SKIP_FILEDEPS:${RUSTLIB_TARGET_PN} = "1"
-
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_SYSROOT_STRIP = "1"
-
diff --git a/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc b/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc
index 8bbbd61bdc..7bf75a4712 100644
--- a/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc
@@ -1,78 +1,71 @@
+PN = "rust-cross-canadian-${TRANSLATED_TARGET_ARCH}"
-require rust-cross-canadian-common.inc
+inherit rust-target-config
+inherit rust-common
-RUSTLIB_TARGET_PN = "rust-cross-canadian-rustlib-target-${TRANSLATED_TARGET_ARCH}"
-RUSTLIB_HOST_PN = "rust-cross-canadian-rustlib-host-${TRANSLATED_TARGET_ARCH}"
-RUSTLIB_SRC_PN = "rust-cross-canadian-src"
-RUSTLIB_PKGS = "${RUSTLIB_SRC_PN} ${RUSTLIB_TARGET_PN} ${RUSTLIB_HOST_PN}"
-PN = "rust-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+LICENSE = "MIT"
+
+MODIFYTOS = "0"
+
+# Need to use our SDK's sh here, see #14878
+create_sdk_wrapper () {
+ file="$1"
+ shift
-PACKAGES = "${RUSTLIB_PKGS} ${PN}"
-RDEPENDS:${PN} += "${RUSTLIB_PKGS}"
+ cat <<- EOF > "${file}"
+ #!${base_prefix}/bin/sh
+ \$$1 \$@
+ EOF
-# The default behaviour of x.py changed in 1.47+ so now we need to
-# explicitly ask for the stage 2 compiler to be assembled.
-do_compile () {
- rust_runx build --stage 2
+ chmod +x "$file"
}
do_install () {
# Rust requires /usr/lib to contain the libs.
- # Similar story is with /usr/bin ruquiring `lib` to be at the same level.
# The required structure is retained for simplicity.
SYS_LIBDIR=$(dirname ${D}${libdir})
SYS_BINDIR=$(dirname ${D}${bindir})
RUSTLIB_DIR=${SYS_LIBDIR}/${TARGET_SYS}/rustlib
- install -d "${SYS_BINDIR}"
- cp build/${SNAPSHOT_BUILD_SYS}/stage2/bin/* ${SYS_BINDIR}
- for i in ${SYS_BINDIR}/*; do
- chrpath -r "\$ORIGIN/../lib" ${i}
- done
-
- install -d "${D}${libdir}"
- cp -pRd build/${SNAPSHOT_BUILD_SYS}/stage2/lib/${TARGET_SYS}/*.so ${SYS_LIBDIR}
- cp -pRd build/${SNAPSHOT_BUILD_SYS}/stage2/lib/${TARGET_SYS}/rustlib ${RUSTLIB_DIR}
-
- for i in ${SYS_LIBDIR}/*.so; do
- chrpath -r "\$ORIGIN/../lib" ${i}
- done
- for i in ${RUSTLIB_DIR}/*/lib/*.so; do
- chrpath -d ${i}
- done
-
- install -m 0644 "${WORKDIR}/targets/${TARGET_SYS}.json" "${RUSTLIB_DIR}"
-
- SRC_DIR=${RUSTLIB_DIR}/src/rust
- install -d ${SRC_DIR}/src/llvm-project
- cp -R --no-dereference build/${SNAPSHOT_BUILD_SYS}/stage2/lib/rustlib/src/rust/src/llvm-project/libunwind ${SRC_DIR}/src/llvm-project
- cp -R --no-dereference build/${SNAPSHOT_BUILD_SYS}/stage2/lib/rustlib/src/rust/library ${SRC_DIR}
- cp --no-dereference build/${SNAPSHOT_BUILD_SYS}/stage2/lib/rustlib/src/rust/Cargo.lock ${SRC_DIR}
- # Remove executable bit from any files so then SDK doesn't try to relocate.
- chmod -R -x+X ${SRC_DIR}
+ install -d ${RUSTLIB_DIR}
+ install -m 0644 "${RUST_TARGETS_DIR}/${RUST_HOST_SYS}.json" "${RUSTLIB_DIR}"
+ install -m 0644 "${RUST_TARGETS_DIR}/${RUST_TARGET_SYS}.json" "${RUSTLIB_DIR}"
+
+ # Uses SDK's CC as linker so linked binaries works out of box.
+ install -d ${SYS_BINDIR}
+ create_sdk_wrapper "${SYS_BINDIR}/target-rust-ccld" "CC"
ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
mkdir "${ENV_SETUP_DIR}"
- ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh"
+ RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh"
- cat <<- EOF > "${ENV_SETUP_SH}"
- export RUSTFLAGS="--sysroot=\$OECORE_NATIVE_SYSROOT/usr -C link-arg=--sysroot=\$OECORE_TARGET_SYSROOT -L\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib/${TARGET_SYS}/lib"
+ cat <<- EOF > "${RUST_ENV_SETUP_SH}"
+ export RUSTFLAGS="--sysroot=\$OECORE_TARGET_SYSROOT/usr -C link-arg=--sysroot=\$OECORE_TARGET_SYSROOT"
export RUST_TARGET_PATH="\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib"
EOF
chown -R root.root ${D}
+
+ CARGO_ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
+ cat <<- EOF > "${CARGO_ENV_SETUP_SH}"
+ export CARGO_HOME="\$OECORE_TARGET_SYSROOT/home/cargo"
+ mkdir -p "\$CARGO_HOME"
+ # Init the default target once, it might be otherwise user modified.
+ if [ ! -f "\$CARGO_HOME/config" ]; then
+ touch "\$CARGO_HOME/config"
+ echo "[build]" >> "\$CARGO_HOME/config"
+ echo 'target = "'${RUST_TARGET_SYS}'"' >> "\$CARGO_HOME/config"
+ echo '# TARGET_SYS' >> "\$CARGO_HOME/config"
+ echo '[target.'${RUST_TARGET_SYS}']' >> "\$CARGO_HOME/config"
+ echo 'linker = "target-rust-ccld"' >> "\$CARGO_HOME/config"
+ fi
+
+ # Keep the below off as long as HTTP/2 is disabled.
+ export CARGO_HTTP_MULTIPLEXING=false
+
+ export CARGO_HTTP_CAINFO="\$OECORE_NATIVE_SYSROOT/etc/ssl/certs/ca-certificates.crt"
+ EOF
}
-PKG_SYS_LIBDIR = "${SDKPATHNATIVE}/usr/lib"
-PKG_SYS_BINDIR = "${SDKPATHNATIVE}/usr/bin"
-PKG_RUSTLIB_DIR = "${PKG_SYS_LIBDIR}/${TARGET_SYS}/rustlib"
-FILES:${PN} = "${PKG_SYS_LIBDIR}/*.so ${PKG_SYS_BINDIR} ${base_prefix}/environment-setup.d"
-FILES:${RUSTLIB_TARGET_PN} = "${PKG_RUSTLIB_DIR}/${TARGET_SYS} ${PKG_RUSTLIB_DIR}/${TARGET_SYS}.json"
-FILES:${RUSTLIB_HOST_PN} = "${PKG_RUSTLIB_DIR}/${BUILD_ARCH}-unknown-linux-gnu"
-FILES:${RUSTLIB_SRC_PN} = "${PKG_RUSTLIB_DIR}/src"
-
-SUMMARY:${RUSTLIB_TARGET_PN} = "Rust cross canadian libaries for ${TARGET_SYS}"
-SUMMARY:${RUSTLIB_HOST_PN} = "Rust cross canadian libaries for ${HOST_SYS}"
-SUMMARY:${RUSTLIB_SRC_PN} = "Rust standard library sources for cross canadian toolchain"
-SUMMARY:${PN} = "Rust crost canadian compiler"
+FILES:${PN} += "${base_prefix}/environment-setup.d"
diff --git a/poky/meta/recipes-devtools/rust/rust-cross-canadian_1.62.0.bb b/poky/meta/recipes-devtools/rust/rust-cross-canadian_1.62.0.bb
deleted file mode 100644
index 766912c019..0000000000
--- a/poky/meta/recipes-devtools/rust/rust-cross-canadian_1.62.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require rust-cross-canadian.inc
-require rust-source.inc
-require rust-snapshot.inc
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/rust:"
-
diff --git a/poky/meta/recipes-devtools/rust/rust-cross-canadian_1.63.0.bb b/poky/meta/recipes-devtools/rust/rust-cross-canadian_1.63.0.bb
new file mode 100644
index 0000000000..55865238ab
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-cross-canadian_1.63.0.bb
@@ -0,0 +1,2 @@
+inherit cross-canadian
+require rust-cross-canadian.inc \ No newline at end of file
diff --git a/poky/meta/recipes-devtools/rust/rust-cross.inc b/poky/meta/recipes-devtools/rust/rust-cross.inc
deleted file mode 100644
index ab538e6659..0000000000
--- a/poky/meta/recipes-devtools/rust/rust-cross.inc
+++ /dev/null
@@ -1,47 +0,0 @@
-RUST_TARGETGENS = "BUILD HOST TARGET"
-
-# Otherwise we'll depend on what we provide
-INHIBIT_DEFAULT_RUST_DEPS = "1"
-
-# Unlike native (which nicely maps it's DEPENDS) cross wipes them out completely.
-# Generally, we (and cross in general) need the same things that native needs,
-# so it might make sense to take it's mapping. For now, though, we just mention
-# the bits we need explicitly.
-DEPENDS += "rust-llvm-native"
-DEPENDS += "rust-native"
-
-# In the cross compilation case, rustc doesn't seem to get the rpath quite
-# right. It manages to include '../../lib/${TARGET_PREFIX}', but doesn't
-# include the '../../lib' (ie: relative path from cross_bindir to normal
-# libdir. As a result, we end up not being able to properly reference files in normal ${libdir}.
-# Most of the time this happens to work fine as the systems libraries are
-# subsituted, but sometimes a host system will lack a library, or the right
-# version of a library (libtinfo was how I noticed this).
-#
-# FIXME: this should really be fixed in rust itself.
-# FIXME: using hard-coded relative paths is wrong, we should ask bitbake for
-# the relative path between 2 of it's vars.
-HOST_POST_LINK_ARGS:append = " -Wl,-rpath=../../lib"
-BUILD_POST_LINK_ARGS:append = " -Wl,-rpath=../../lib"
-
-# We need the same thing for the calls to the compiler when building the runtime crap
-TARGET_CC_ARCH:append = " --sysroot=${STAGING_DIR_TARGET}"
-
-do_rust_setup_snapshot () {
-}
-
-do_configure () {
-}
-
-do_compile () {
-}
-
-do_install () {
- mkdir -p ${D}${prefix}/${base_libdir_native}/rustlib
- cp ${WORKDIR}/targets/${TARGET_SYS}.json ${D}${prefix}/${base_libdir_native}/rustlib
-}
-
-rust_cross_sysroot_preprocess() {
- sysroot_stage_dir ${D}${prefix}/${base_libdir_native}/rustlib ${SYSROOT_DESTDIR}${prefix}/${base_libdir_native}/rustlib
-}
-SYSROOT_PREPROCESS_FUNCS += "rust_cross_sysroot_preprocess"
diff --git a/poky/meta/recipes-devtools/rust/rust-cross_1.62.0.bb b/poky/meta/recipes-devtools/rust/rust-cross_1.62.0.bb
deleted file mode 100644
index 5358d98da8..0000000000
--- a/poky/meta/recipes-devtools/rust/rust-cross_1.62.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require rust.inc
-inherit cross
-require rust-cross.inc
-require rust-source.inc
-
-DEPENDS += "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs virtual/libc"
-PROVIDES = "virtual/${TARGET_PREFIX}rust"
-PN = "rust-cross-${TUNE_PKGARCH}-${TCLIBC}"
diff --git a/poky/meta/recipes-devtools/rust/rust-crosssdk_1.62.0.bb b/poky/meta/recipes-devtools/rust/rust-crosssdk_1.62.0.bb
deleted file mode 100644
index 6ea8cb09b2..0000000000
--- a/poky/meta/recipes-devtools/rust/rust-crosssdk_1.62.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require rust.inc
-inherit crosssdk
-require rust-cross.inc
-require rust-source.inc
-
-DEPENDS += "virtual/${TARGET_PREFIX}gcc-crosssdk virtual/nativesdk-${TARGET_PREFIX}compilerlibs virtual/nativesdk-libc"
-PROVIDES = "virtual/nativesdk-${TARGET_PREFIX}rust"
-PN = "rust-crosssdk-${TUNE_PKGARCH}-${RUST_LIBC}"
diff --git a/poky/meta/recipes-devtools/rust/rust-llvm.inc b/poky/meta/recipes-devtools/rust/rust-llvm.inc
index 9baad12dc8..625eb57041 100644
--- a/poky/meta/recipes-devtools/rust/rust-llvm.inc
+++ b/poky/meta/recipes-devtools/rust/rust-llvm.inc
@@ -47,6 +47,13 @@ EXTRA_OECMAKE:append:class-target = "\
-DLLVM_CONFIG_PATH=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config \
"
+EXTRA_OECMAKE:append:class-nativesdk = "\
+ -DCMAKE_CROSSCOMPILING:BOOL=ON \
+ -DLLVM_BUILD_TOOLS=OFF \
+ -DLLVM_TABLEGEN=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-tblgen \
+ -DLLVM_CONFIG_PATH=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config \
+"
+
# The debug symbols are huge here (>2GB) so suppress them since they
# provide almost no value. If you really need them then override this
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
@@ -68,4 +75,4 @@ FILES:${PN}-staticdev =+ "${libdir}/llvm-rust/*/*.a"
FILES:${PN} += "${libdir}/libLLVM*.so.* ${libdir}/llvm-rust/lib/*.so.* ${libdir}/llvm-rust/bin"
FILES:${PN}-dev += "${datadir}/llvm ${libdir}/llvm-rust/lib/*.so ${libdir}/llvm-rust/include ${libdir}/llvm-rust/share ${libdir}/llvm-rust/lib/cmake"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/rust/rust-llvm_1.62.0.bb b/poky/meta/recipes-devtools/rust/rust-llvm_1.63.0.bb
index 5b94e22f7b..396f741953 100644
--- a/poky/meta/recipes-devtools/rust/rust-llvm_1.62.0.bb
+++ b/poky/meta/recipes-devtools/rust/rust-llvm_1.63.0.bb
@@ -1,6 +1,6 @@
# check src/llvm-project/llvm/CMakeLists.txt for llvm version in use
#
-LLVM_RELEASE = "13.0.0"
+LLVM_RELEASE = "14.0.5"
require rust-source.inc
require rust-llvm.inc
diff --git a/poky/meta/recipes-devtools/rust/rust-snapshot.inc b/poky/meta/recipes-devtools/rust/rust-snapshot.inc
index 3bd7b07cef..b9d7edd672 100644
--- a/poky/meta/recipes-devtools/rust/rust-snapshot.inc
+++ b/poky/meta/recipes-devtools/rust/rust-snapshot.inc
@@ -1,25 +1,25 @@
## This is information on the rust-snapshot (binary) used to build our current release.
-## snapshot info is taken from rust/src/stage0.txt
+## snapshot info is taken from rust/src/stage0.json
## Rust is self-hosting and bootstraps itself with a pre-built previous version of itself.
## The exact (previous) version that has been used is specified in the source tarball.
## The version is replicated here.
## TODO: find a way to add additional SRC_URIs based on the contents of an
## earlier SRC_URI.
-RS_VERSION = "1.61.0"
-CARGO_VERSION = "1.61.0"
+RS_VERSION = "1.62.0"
+CARGO_VERSION = "1.62.0"
# TODO: Add hashes for other architecture toolchains as well. Make a script?
-SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "270b07aa5f2de52255a117e1e587138d77375ce0d09a1d7fead085f29b3977e9"
-SRC_URI[rustc-snapshot-x86_64.sha256sum] = "21c4613f389ed130fbaaf88f1e984319f72b5fc10734569a5ba19e22ebb03abd"
-SRC_URI[cargo-snapshot-x86_64.sha256sum] = "9461727d754f865ef2a87479d40bbe4c5176f80963b7c50b7797bc8940d7a0a0"
+SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "addfae87b6b1b521d98a50fdc5120990888a51bb397100062e9c558267c67c77"
+SRC_URI[rustc-snapshot-x86_64.sha256sum] = "e7f71f4ef09334ddc9ec8cbf2f958d654e36f580c95f8fec6d5c816ce256dbd6"
+SRC_URI[cargo-snapshot-x86_64.sha256sum] = "815c63119a9cf0282ff240c6444b6f867238763ee3dea182f10837ae7dbbb1d4"
-SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "57d60a519dbce12146849f7e72d55f3cffe9cdcbff8d58e90bb62d3c016bb5c0"
-SRC_URI[rustc-snapshot-aarch64.sha256sum] = "c996de6391e3ea94629fbc09b03bce186fcde345159f43ec95a82c500adb5e94"
-SRC_URI[cargo-snapshot-aarch64.sha256sum] = "a055e6cfd9b5f8938780db6179d2ef92990c714ce64278337d7edf3d29c8ab62"
+SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "dd5df8a92af3e5d49a1122b9561821ebd72a9317884a37ecddae041e652a7563"
+SRC_URI[rustc-snapshot-aarch64.sha256sum] = "0fa320a19d41dcfc592bc006f5e9eda8e3b972598a26c96ad64eedd868516df3"
+SRC_URI[cargo-snapshot-aarch64.sha256sum] = "475038ecacca9ff586cad2082d5d950544b0d581a2a287facc7d899aae488813"
-SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "36c0ccff14c80419507561db050f9533f0abd43fc50f3ddb859c10df74b1c351"
-SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "dc54893d747e4f3330515caa75e404f78c6c5475a1216d1428f5e7ce1c2e9602"
-SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "09817011ff1ef4b7006387c7cabb6a059731792a9372533dec7d87e7f014444b"
+SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "d6678b7c971f3adbe7f820adae669d03a314468441e2907747c76eca98e0be92"
+SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "b66d0bc6dbfdc0d4b826f787ec4e772dea8e3d2015cecbe2105632d468c28dcb"
+SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "016257f1641693008068bd086fec66d68550d1778f6aea9d06c9b263fca392d5"
SRC_URI += " \
https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \
diff --git a/poky/meta/recipes-devtools/rust/rust-source.inc b/poky/meta/recipes-devtools/rust/rust-source.inc
index fda26534e8..ce6c983fc0 100644
--- a/poky/meta/recipes-devtools/rust/rust-source.inc
+++ b/poky/meta/recipes-devtools/rust/rust-source.inc
@@ -1,5 +1,11 @@
SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz;name=rust"
-SRC_URI[rust.sha256sum] = "6c00ef115c894c2645e60b5049a4f5dacf1dc0c993f3074f7ae4fdf4c755dd5e"
+SRC_URI[rust.sha256sum] = "8f44af6dc44cc4146634a4dd5e4cc5470b3052a2337019b870c0e025e8987e0c"
+
+SRC_URI:append:class-target:pn-rust = " \
+ file://hardcodepaths.patch \
+ file://crossbeam_atomic.patch \
+ file://0001-Add-ENOTSUP-constant-for-riscv32-musl.patch"
+SRC_URI:append:class-nativesdk:pn-nativesdk-rust = " file://hardcodepaths.patch"
RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
diff --git a/poky/meta/recipes-devtools/rust/rust-target.inc b/poky/meta/recipes-devtools/rust/rust-target.inc
index 3f637b3ba5..dce2b47517 100644
--- a/poky/meta/recipes-devtools/rust/rust-target.inc
+++ b/poky/meta/recipes-devtools/rust/rust-target.inc
@@ -7,4 +7,4 @@ INHIBIT_DEFAULT_RUST_DEPS:class-native = "1"
# We don't need to depend on gcc-native because yocto assumes it exists
PROVIDES:class-native = "virtual/${TARGET_PREFIX}rust"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian.inc b/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian.inc
deleted file mode 100644
index f0358551ae..0000000000
--- a/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian.inc
+++ /dev/null
@@ -1,38 +0,0 @@
-
-require rust-cross-canadian-common.inc
-
-RUST_TOOLS_CLIPPY_PN = "rust-tools-clippy-cross-canadian-${TRANSLATED_TARGET_ARCH}"
-RUST_TOOLS_RUSTFMT_PN = "rust-tools-rustfmt-cross-canadian-${TRANSLATED_TARGET_ARCH}"
-RUST_TOOLS_PKGS = "${RUST_TOOLS_CLIPPY_PN} ${RUST_TOOLS_RUSTFMT_PN}"
-PN = "rust-tools-cross-canadian-${TRANSLATED_TARGET_ARCH}"
-
-PACKAGES = "${RUST_TOOLS_CLIPPY_PN} ${RUST_TOOLS_RUSTFMT_PN} ${PN}"
-RDEPENDS:${PN} += "${RUST_TOOLS_PKGS}"
-
-do_compile () {
- rust_runx build --stage 2 src/tools/clippy
- rust_runx build --stage 2 src/tools/rustfmt
-}
-
-do_install () {
- SYS_BINDIR=$(dirname ${D}${bindir})
-
- install -d "${SYS_BINDIR}"
- cp build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/* ${SYS_BINDIR}
- for i in ${SYS_BINDIR}/*; do
- chrpath -r "\$ORIGIN/../lib" ${i}
- done
-
- chown -R root.root ${D}
-}
-
-ALLOW_EMPTY:${PN} = "1"
-
-PKG_SYS_BINDIR = "${SDKPATHNATIVE}/usr/bin"
-FILES:${RUST_TOOLS_CLIPPY_PN} = "${PKG_SYS_BINDIR}/cargo-clippy ${PKG_SYS_BINDIR}/clippy-driver"
-FILES:${RUST_TOOLS_RUSTFMT_PN} = "${PKG_SYS_BINDIR}/rustfmt"
-
-SUMMARY:${PN} = "Rust helper tools"
-SUMMARY:${RUST_TOOLS_CLIPPY_PN} = "A collection of lints to catch common mistakes and improve your Rust code"
-SUMMARY:${RUST_TOOLS_RUSTFMT_PN} = "A tool for formatting Rust code according to style guidelines"
-
diff --git a/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.62.0.bb b/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.62.0.bb
deleted file mode 100644
index 2d809d68f5..0000000000
--- a/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.62.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require rust-tools-cross-canadian.inc
-require rust-source.inc
-require rust-snapshot.inc
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/rust:"
-
diff --git a/poky/meta/recipes-devtools/rust/rust.inc b/poky/meta/recipes-devtools/rust/rust.inc
index ecb057ad3b..284347dedc 100644
--- a/poky/meta/recipes-devtools/rust/rust.inc
+++ b/poky/meta/recipes-devtools/rust/rust.inc
@@ -9,17 +9,14 @@ inherit cargo_common
DEPENDS += "file-native python3-native"
DEPENDS:append:class-native = " rust-llvm-native"
+DEPENDS:append:class-nativesdk = " nativesdk-rust-llvm"
S = "${RUSTSRC}"
-# We generate local targets, and need to be able to locate them
-export RUST_TARGET_PATH="${WORKDIR}/targets/"
-
export FORCE_CRATE_HASH="${BB_TASKHASH}"
RUST_ALTERNATE_EXE_PATH ?= "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config"
-export YOCTO_ALTERNATE_EXE_PATH = "${RUST_ALTERNATE_EXE_PATH}"
-export YOCTO_ALTERNATE_MULTILIB_NAME = "/${BASELIB}"
+RUST_ALTERNATE_EXE_PATH_NATIVE = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config"
# We don't want to use bitbakes vendoring because the rust sources do their
# own vendoring.
@@ -27,16 +24,12 @@ CARGO_DISABLE_BITBAKE_VENDORING = "1"
# We can't use RUST_BUILD_SYS here because that may be "musl" if
# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
-SNAPSHOT_BUILD_SYS = "${RUST_BUILD_ARCH}-unknown-linux-gnu"
setup_cargo_environment () {
# The first step is to build bootstrap and some early stage tools,
# these are build for the same target as the snapshot, e.g.
# x86_64-unknown-linux-gnu.
# Later stages are build for the native target (i.e. target.x86_64-linux)
cargo_common_do_configure
-
- printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
- printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
}
inherit rust-target-config
@@ -79,24 +72,37 @@ python do_configure() {
config = configparser.RawConfigParser()
# [target.ARCH-poky-linux]
- target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
- config.add_section(target_section)
+ host_section = "target.{}".format(d.getVar('RUST_HOST_SYS', True))
+ config.add_section(host_section)
- llvm_config = d.expand("${YOCTO_ALTERNATE_EXE_PATH}")
- config.set(target_section, "llvm-config", e(llvm_config))
+ llvm_config_target = d.expand("${RUST_ALTERNATE_EXE_PATH}")
+ llvm_config_build = d.expand("${RUST_ALTERNATE_EXE_PATH_NATIVE}")
+ config.set(host_section, "llvm-config", e(llvm_config_target))
- config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
- config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
+ config.set(host_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
+ config.set(host_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
+ if "musl" in host_section:
+ config.set(host_section, "musl-root", e(d.expand("${STAGING_DIR_HOST}${exec_prefix}")))
# If we don't do this rust-native will compile it's own llvm for BUILD.
# [target.${BUILD_ARCH}-unknown-linux-gnu]
- target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
- config.add_section(target_section)
+ build_section = "target.{}".format(d.getVar('RUST_BUILD_SYS', True))
+ if build_section != host_section:
+ config.add_section(build_section)
+
+ config.set(build_section, "llvm-config", e(llvm_config_build))
- config.set(target_section, "llvm-config", e(llvm_config))
+ config.set(build_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
+ config.set(build_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
- config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
- config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
+ target_section = "target.{}".format(d.getVar('RUST_TARGET_SYS', True))
+ if target_section != host_section and target_section != build_section:
+ config.add_section(target_section)
+
+ config.set(target_section, "llvm-config", e(llvm_config_target))
+
+ config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
+ config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
# [llvm]
config.add_section("llvm")
@@ -128,16 +134,16 @@ python do_configure() {
config.set("build", "vendor", e(True))
if not "targets" in locals():
- targets = [d.getVar("TARGET_SYS", True)]
+ targets = [d.getVar("RUST_TARGET_SYS", True)]
config.set("build", "target", e(targets))
if not "hosts" in locals():
- hosts = [d.getVar("HOST_SYS", True)]
+ hosts = [d.getVar("RUST_HOST_SYS", True)]
config.set("build", "host", e(hosts))
# We can't use BUILD_SYS since that is something the rust snapshot knows
# nothing about when trying to build some stage0 tools (like fabricate)
- config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
+ config.set("build", "build", e(d.getVar("RUST_BUILD_SYS", True)))
# [install]
config.add_section("install")
@@ -169,6 +175,16 @@ rust_runx () {
unset CXXFLAGS
unset CPPFLAGS
+ export RUSTFLAGS="${RUST_DEBUG_REMAP}"
+
+ # Copy the natively built llvm-config into the target so we can run it. Horrible,
+ # but works!
+ if [ ${RUST_ALTERNATE_EXE_PATH_NATIVE} != ${RUST_ALTERNATE_EXE_PATH} ]; then
+ mkdir -p `dirname ${RUST_ALTERNATE_EXE_PATH}`
+ cp ${RUST_ALTERNATE_EXE_PATH_NATIVE} ${RUST_ALTERNATE_EXE_PATH}
+ chrpath -d ${RUST_ALTERNATE_EXE_PATH}
+ fi
+
oe_cargo_fix_env
python3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
@@ -181,26 +197,14 @@ do_compile () {
rust_do_install () {
mkdir -p ${D}${bindir}
- cp build/${HOST_SYS}/stage2/bin/* ${D}${bindir}
+ cp build/${RUST_HOST_SYS}/stage2/bin/* ${D}${bindir}
mkdir -p ${D}${libdir}/rustlib
- cp -pRd build/${HOST_SYS}/stage2/lib/* ${D}${libdir}
+ cp -pRd build/${RUST_HOST_SYS}/stage2/lib/* ${D}${libdir}
# Remove absolute symlink so bitbake doesn't complain
rm -f ${D}${libdir}/rustlib/src/rust
}
-rust_install_targets() {
- # Install our custom target.json files
- local td="${D}${libdir}/rustlib/"
- install -d "$td"
- for tgt in "${WORKDIR}/targets/"* ; do
- install -m 0644 "$tgt" "$td"
- done
-}
-
-
do_install () {
rust_do_install
- rust_install_targets
}
-# ex: sts=4 et sw=4 ts=8
diff --git a/poky/meta/recipes-devtools/rust/rust/0001-Add-ENOTSUP-constant-for-riscv32-musl.patch b/poky/meta/recipes-devtools/rust/rust/0001-Add-ENOTSUP-constant-for-riscv32-musl.patch
new file mode 100644
index 0000000000..c885a098bc
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust/0001-Add-ENOTSUP-constant-for-riscv32-musl.patch
@@ -0,0 +1,27 @@
+From e9fb036eeffaaa5cb7b1e6fc1dabb92ed6263f0f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 19 Aug 2022 10:26:43 -0700
+Subject: [PATCH] Add ENOTSUP constant for riscv32/musl
+
+Upstream-Status: Backport [https://github.com/rust-lang/libc/commit/e9fb036eeffaaa5cb7b1e6fc1dabb92ed6263f0f]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ vendor/libc/src/unix/linux_like/linux/musl/b32/riscv32/mod.rs | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/vendor/libc/src/unix/linux_like/linux/musl/b32/riscv32/mod.rs
++++ b/vendor/libc/src/unix/linux_like/linux/musl/b32/riscv32/mod.rs
+@@ -271,6 +271,7 @@ pub const ENOPROTOOPT: ::c_int = 92;
+ pub const EPROTONOSUPPORT: ::c_int = 93;
+ pub const ESOCKTNOSUPPORT: ::c_int = 94;
+ pub const EOPNOTSUPP: ::c_int = 95;
++pub const ENOTSUP: ::c_int = EOPNOTSUPP;
+ pub const EPFNOSUPPORT: ::c_int = 96;
+ pub const EAFNOSUPPORT: ::c_int = 97;
+ pub const EADDRINUSE: ::c_int = 98;
+--- a/vendor/libc/.cargo-checksum.json
++++ b/vendor/libc/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"CONTRIBUTING.md":"752eea5a703d11b485c6b5f195f51bd2c79aa5159b619ce09555c779e1fb586b","Cargo.toml":"6a0abcfcbc1d9fb00a356343043a161f5b84b3f780cb0f02df4627d022b14b7f","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"41f9743021d9e5ed74ede55c94057cf6867a322a13b25a5d524b966656a08e38","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"7f986e5f5e68d25ef04d386fd2f640e8be8f15427a8d4a458ea01d26b8dca0ca","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"bc8c46531bd1a2429f36aaf2bc137b50e42505b798de83f34eecfa94ad89179b","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"3f13d5f9b29d8969dde507661f1637524e21fe3bd34957fc778868f2f3713c46","src/macros.rs":"d7437c2573c4915768ff96b34710a61ee9f63622b23526cddeaeaf6bfb4751a2","src/psp.rs":"dd31aabd46171d474ec5828372e28588935120e7355c90c105360d8fa9264c1c","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/solid/aarch64.rs":"a726e47f324adf73a4a0b67a2c183408d0cad105ae66acf36db37a42ab7f8707","src/solid/arm.rs":"e39a4f74ebbef3b97b8c95758ad741123d84ed3eb48d9cf4f1f4872097fc27fe","src/solid/mod.rs":"5f4151dca5132e4b4e4c23ab9737e12856dddbdc0ca3f7dbc004328ef3c8acde","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"2546ad3eb6aecb95f916648bc63264117c92b4b4859532b34cb011e4c75a5a72","src/unix/bsd/apple/b64/aarch64/align.rs":"2eaf0f561a32bdcbf4e0477c8895d5e7bcb5cdebd5fef7b4df2ca8e38e144d94","src/unix/bsd/apple/b64/aarch64/mod.rs":"a3f0dfff62d0f7f4f1b5f9a4e2b662acf233a46badbc5419d3cc2d735629a710","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"f5e278a1af7fb358891d1c9be4eb7e815aaca0c5cb738d0c3604ba2208a856f7","src/unix/bsd/apple/b64/x86_64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/x86_64/mod.rs":"8c87c5855038aae5d433c8f5eb3b29b0a175879a0245342b3bfd83bdf4cfd936","src/unix/bsd/apple/mod.rs":"d7155927fbd1af6dd984a4c6c1a735a5932af828c96818209487eb6ae72d7d7e","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"379302e12d30807a1f973c4e2dd2205179d95343ee6fae05f33c9ed45a342799","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"2a215bd6136b8617aacedf9be738ccee94da9d29b418e9a78101d6291c182352","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"a6eee615e6ca5a6e04b526bb6b22d13b9356e87e51825cda33476c37a46cb0ef","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"755dafaf3f0945e798c34ea94c48e8552804ce60e2a15a4f0649f9d1aceaf422","src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"cc65a73b0fa95a77044a4b3ee76d6eceb9773b55aea7d73bdf070e6f66e9ea38","src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs":"0ed92eb93e78299cd7de0ae9daebb04a53b3c2d5e6a078e1fcd977f2a86bffc3","src/unix/bsd/freebsdlike/freebsd/freebsd14/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/mod.rs":"467b66843ab8c1a54b01ae9e90aaf0295b32f54decbdfb64caca84523b488925","src/unix/bsd/freebsdlike/freebsd/powerpc.rs":"9ca3f82f88974e6db5569f2d76a5a3749b248a31747a6c0da5820492bdfeca42","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/riscv64.rs":"8f591bd273464d684c4f64365f8ed56a8138175daa70d96008541393057a0dae","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"51e4dd0c8ae247bb652feda5adad9333ea3bb30c750c3a3935e0b0e47d7803eb","src/unix/bsd/freebsdlike/mod.rs":"a7345cc3fb7372572efe06848feb2cc246dfc2c2a0cc9ccf434f4c55041a59fa","src/unix/bsd/mod.rs":"7720ec82c9334f988ec4b271784768a017c3dc2e6dfae4d02418eef753388aa7","src/unix/bsd/netbsdlike/mod.rs":"594a0f9e23c4d7702ba38afdba5a0e866be25d692ec0afd66e04d939aa6b3f04","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"65dcb58d11e8d8028401a9d07ca3eb4cb4f053e04249cc877353449d84ccc4cb","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"cb1560bf8ffcc7b2726a27b433efac90e726292960626f3064bd2c6b7f861a55","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"1afe5ef46b14397cdd68664b5b232e4f5b035b6db1d4cf411c899d51ebca9f30","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"dd91931d373b7ecaf6e2de25adadee10d16fa9b12c2cbacdff3eb291e1ba36af","src/unix/bsd/netbsdlike/openbsd/arm.rs":"01580d261bc6447bb327a0d982181b7bdabfa066cee65a30373d3ced729ad307","src/unix/bsd/netbsdlike/openbsd/mips64.rs":"8532a189ae10c7d668d9d4065da8b05d124e09bd39442c9f74a7f231c43eca48","src/unix/bsd/netbsdlike/openbsd/mod.rs":"816a8ef47df60a752a91967627eeccb9ca776dc718ecc53ae902d8edaee0bce9","src/unix/bsd/netbsdlike/openbsd/powerpc.rs":"01580d261bc6447bb327a0d982181b7bdabfa066cee65a30373d3ced729ad307","src/unix/bsd/netbsdlike/openbsd/powerpc64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/riscv64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"d31db31630289c85af3339dbe357998a21ca584cbae31607448fe2cf7675a4e1","src/unix/haiku/b32.rs":"a2efdbf7158a6da341e1db9176b0ab193ba88b449616239ed95dced11f54d87b","src/unix/haiku/b64.rs":"ff8115367d3d7d354f792d6176dfaaa26353f57056197b563bf4681f91ff7985","src/unix/haiku/mod.rs":"d5833ff9b94daa81d2470df544453212af17530d78c5a7fb912eac915d00f329","src/unix/haiku/native.rs":"dbfcbf4954a79d1df2ff58e0590bbcb8c57dfc7a32392aa73ee4726b66bd6cc8","src/unix/haiku/x86_64.rs":"3ec3aeeb7ed208b8916f3e32d42bfd085ff5e16936a1a35d9a52789f043b7237","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"859814f5df89e28fd4b345db399d181e11e7ed413841b6ff703a1fcbdbf013ae","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"433c1530f602cc5ed26610c58055dde0c4ceea5e00150063b24ddc60768332a4","src/unix/linux_like/android/b32/mod.rs":"7c173e0375119bf06a3081652faede95e5bcd6858e7576b7533d037978737c8f","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"8388bd3a0fcb5636bf965eee6dc95ae6860b85a2b555b387c868aa4d4e01ec89","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/int128.rs":"1735f6f5c56770d20dd426442f09724d9b2052b46a7cd82f23f3288a4a7276de","src/unix/linux_like/android/b64/aarch64/mod.rs":"ef230d49fd0d182adf2dae6f8e10babf18d72259d65980bf1c4c2dc8a4f84501","src/unix/linux_like/android/b64/mod.rs":"d7bbbadafdb2cb2ff8e9cde3d89a03b9facaabb6b2d45705225d3ece1c5cce37","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"6454948ea98be86243229f99d67cdc7ca460e16b2a6445663ff4b5b6907c358d","src/unix/linux_like/android/mod.rs":"1247397a7e1b6269e0d2d6df88c6396bc18eb477e3ff293ff57d66a6b1380d94","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"b71d37106750f57bc2dae4e9bcb473ff098ef48235827e41a1687a39825f0aa4","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"d6c259942c8e843373accd180fc8f4f45f03544dfd21b93a8d02641ead3ef63e","src/unix/linux_like/linux/arch/generic/mod.rs":"e20013ed91edcfb7f84f3f9f5a9ef827fd5c406e24b65989d8438da332236ef6","src/unix/linux_like/linux/arch/mips/mod.rs":"2d166054a586bb4bf6e4a4ba35f7574907b217225eff8f1a43adc4277e142460","src/unix/linux_like/linux/arch/mod.rs":"466a29622e47c6c7f1500682b2eb17f5566dd81b322cd6348f0fdd355cec593a","src/unix/linux_like/linux/arch/powerpc/mod.rs":"3f6da7b0fa7b394c7d4eea2bb3caa7a7729ab0d6c1491fef02206a912c41b815","src/unix/linux_like/linux/arch/sparc/mod.rs":"91593ec0440f1dd8f8e612028f432c44c14089286e2aca50e10511ab942db8c3","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"6ec0eb3ee93f7ae99fd714b4deabfb5e97fbcefd8c26f5a45fb8e7150899cdeb","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"92ea7edc0e24f79dfbf5e3efc2d7509bed230562036e6aa85ef4f2c8088ecc8f","src/unix/linux_like/linux/gnu/b32/m68k/align.rs":"8faa92f77a9232c035418d45331774e64a9a841d99c91791570a203bf2b45bcb","src/unix/linux_like/linux/gnu/b32/m68k/mod.rs":"a2a0a9400dae44086ebf579e0448e0676d4a3214d1ae7d13a024857251e23b6b","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"0d7849eb2435ec1f49b6774872a0518f0129c50f37c9d38b37b1535722777a22","src/unix/linux_like/linux/gnu/b32/mod.rs":"8da281da578cdee972e952b118b903b370320897a7e335342a15e1359864bef2","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"049d6211ba4a9304bd4497c160bc21ae847c24e0528dd9d76263f16192e6aff5","src/unix/linux_like/linux/gnu/b32/riscv32/align.rs":"d321491612be8d5c61b6ec2dc0111beb3a22e58803f99cd37543efe86621b119","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"a4256148cec0bb672c8dfa605866930d9761af9655721de72ae41eeeb8fdbf6d","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"525618615aa0cb80c6c90860bf579dfed8db307fffd56b97dc235fb945419434","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"78b4038852986436888c63be9258037cf642124daee9d5fa5cef2bf8e412bf54","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"21a21503ef2e095f4371044915d4bfb07a8578011cb5c713cd9f45947b0b5730","src/unix/linux_like/linux/gnu/b64/aarch64/int128.rs":"1735f6f5c56770d20dd426442f09724d9b2052b46a7cd82f23f3288a4a7276de","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"e78c3cd197f44832338b414d1a9bc0d194f44c74db77bd7bf830c1fff62b2690","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"c4e20b1c63d7a03a6e22aef2046689ef95cc4651011ade7cb94176fcea1dc252","src/unix/linux_like/linux/gnu/b64/loongarch64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs":"387808d5398b24339e7e2bf7591150735011befc5b421fa713d7017c04a7b1da","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"17aad16329431d83e1909e3a08022f6e28f4bcba7dec4a967fe1a321a6a43b99","src/unix/linux_like/linux/gnu/b64/mod.rs":"3c6555f30a7a8852757b31a542ea73fb6a16a6e27e838397e819278ad56e57a4","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"97e0ecf11ecce793a13fec39654fb513c5479edf7faa7a276fa714b61993d0fc","src/unix/linux_like/linux/gnu/b64/riscv64/align.rs":"d321491612be8d5c61b6ec2dc0111beb3a22e58803f99cd37543efe86621b119","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"b3fe290afe63d2d6e315d0cf1f775464e9c1f2a1906d243c1af74a137a4031cb","src/unix/linux_like/linux/gnu/b64/s390x.rs":"254f00266ecf9644a4b469457cb37c4dd6c055820926c1de0fb9035b6048e75c","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"87dd7f3d5bf3c09f4064ec738e306cc9cc41ad49b4a5df62c5983301c3bbf99a","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"1b939aaf3cdf3efc7d3bd53e83e80235530d3ba0c24bb7611d4730d35d457ec1","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"b88ef8a1eaa9ed73bf2acb8192afb73af987a92abb94140c6376fc83f2fa5553","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"79305936a60d342efdc10519ba89507d6b48e65f13f33090d3b04dc9655ceed0","src/unix/linux_like/linux/gnu/mod.rs":"84ad4a663b5fa2498179be8dca96fef5f0446ec1619215ac674424ee394e307d","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"cff23db1e0bac8c30052dfed5e89e65bc207471e4bfb3a6fa0a4df62ed9e413e","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"e5faee8efda8a225ea0b17d4d6f9e893a678e73773fa62c549a8e19c106b9f04","src/unix/linux_like/linux/musl/b32/hexagon.rs":"226a8b64ce9c75abbbee6d2dceb0b44f7b6c750c4102ebd4d015194afee6666e","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"df8f8b529a6cc6b8a7326639e83303cf1320c6c50d76517c17d42bcf45f6240a","src/unix/linux_like/linux/musl/b32/mod.rs":"7b3d9dfd8605b00bb9b5fa1439abe5ebf60199c7fa033eee555e8d181e93ffa2","src/unix/linux_like/linux/musl/b32/powerpc.rs":"c957d99a4d4371d2411a5769be8cf344516bf9ddc1011f977501a4eb57cb4e82","src/unix/linux_like/linux/musl/b32/riscv32/align.rs":"efd2accf33b87de7c7547903359a5da896edc33cd6c719552c7474b60d4a5d48","src/unix/linux_like/linux/musl/b32/riscv32/mod.rs":"698f77bfcc838f82126c54f7387881fe3e89490117e5a4f333d1b4433823a672","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"199a91e90b454f9dc32770d5204cc4f6e5b8f144e0e34a1c91829949d6e804b3","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/int128.rs":"1735f6f5c56770d20dd426442f09724d9b2052b46a7cd82f23f3288a4a7276de","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"9c4878df0fea0e0affd85346e0bc191abdc5e41e74dc9199b5644ec33d29c300","src/unix/linux_like/linux/musl/b64/mips64.rs":"3686fc8cb2e311cda8e6b96f6dfe90b65a366714bd480312b692b1a6ca1241b6","src/unix/linux_like/linux/musl/b64/mod.rs":"8c10627bd582cb272514e7350ae4743a65d489356eae039d2e7e55cd533fbbc8","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"36694cbdcdc33879e00502d55cb95eaa0096d213538993dd39c3da800cdd06d1","src/unix/linux_like/linux/musl/b64/riscv64/align.rs":"d321491612be8d5c61b6ec2dc0111beb3a22e58803f99cd37543efe86621b119","src/unix/linux_like/linux/musl/b64/riscv64/mod.rs":"36621aca8ecf714f8dd42662dc2997833d95b9f129ef8c220503362e21efd695","src/unix/linux_like/linux/musl/b64/s390x.rs":"9b05b1fae6bcb7cb6d909b9973977fde01684175f3e26c27dcb44223cc3933d9","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"238789097a26abc8b7cd578ed1a8e6cb8672083054303902781983902cd66854","src/unix/linux_like/linux/musl/mod.rs":"2efe98b8166270be1624888953fa07da06f08313f15bf4c7dc2eba63f5a790a5","src/unix/linux_like/linux/no_align.rs":"da2a8721becaaaa528781f97f5d9aae6a982ae5d4f5f6d2ffc0150bed72319b3","src/unix/linux_like/linux/non_exhaustive.rs":"181a05bf94fdb911db83ce793b993bd6548a4115b306a7ef3c10f745a8fea3e9","src/unix/linux_like/linux/uclibc/align.rs":"9ed16138d8e439bd90930845a65eafa7ebd67366e6bf633936d44014f6e4c959","src/unix/linux_like/linux/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/arm/mod.rs":"a056bbf718ddd775519058706bdb4909b56e6256985869e3c3132aa8ec5faca0","src/unix/linux_like/linux/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs":"b84def53a49587e87f884c2bc28b21b290463b00b52e1d0309f2ba233a5b4a99","src/unix/linux_like/linux/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs":"256a428290a560163ef7dc7d18b27bd3c6ce9748a0f28d5dc7f82203ee228220","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"367ec5483ad317e6ccba1ac0888da6cf088a8d32689214cc8d16129aa692260c","src/unix/linux_like/linux/uclibc/mod.rs":"ddd223d4f574b2b92072bbdab091f12d8d89d5e05f41076ddfa6bc6af379698f","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"024eba5753e852dbdd212427351affe7e83f9916c1864bce414d7aa2618f192e","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"bf6985e901041a61e90ccee1296b35a4c62ef90aa528d31989e1d647f072e79a","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"dd4f7a1d66d8501b4a2c4e75e6e9305ed69f1002ae99e410596a6c636878595a","src/unix/mod.rs":"d1b4ba41f9b9c106f6ba8c661b5808824b774a7a7caac7d8938bf50979ba5195","src/unix/newlib/aarch64/mod.rs":"bac93836a9a57b2c710f32f852e92a4d11ad6759ab0fb6ad33e71d60e53278af","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"cbba6b3e957eceb496806e60de8725a23ff3fa0015983b4b4fa27b233732b526","src/unix/newlib/espidf/mod.rs":"ff9c13e99d84912f5ebe75b7a7ea9c1e9d8f35a268716081e09899c7ea822bc6","src/unix/newlib/generic.rs":"eab066d9f0a0f3eb53cc1073d01496bba0110989e1f6a59838afd19f870cd599","src/unix/newlib/horizon/mod.rs":"7cc5cc120437421db139bfa6a90b18168cd3070bdd0f5be96d40fe4c996f3ca1","src/unix/newlib/mod.rs":"54633d606e4e0413274af0b5beb5e697e6c061b63feaa0704b026554cc9d9c3e","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"0202ffd57caf75b6afa2c9717750ffb96e375ac33df0ae9609a3f831be393b67","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"033768cb273daf2c8090d97252c2de9dba6809e6a5d2457f5727d724807695db","src/unix/solarish/compat.rs":"b07a5bfac925eb012003a459ba6bddbd3bfa9c44b3394da2ac5a602e54beae9c","src/unix/solarish/illumos.rs":"29387916ee7dc58f07478746024003215e631cd30953e8fa2a5c415f81839007","src/unix/solarish/mod.rs":"976b07a13e195840b67c166a62318abfa9ffc8d5ebbb0358f199dd213ec98d1b","src/unix/solarish/solaris.rs":"65b005453aefa9b9d4fc860fe77cfec80d8c97a51342b15daf55fc3e808bb384","src/unix/solarish/x86.rs":"e86e806df0caed72765040eaa2f3c883198d1aa91508540adf9b7008c77f522e","src/unix/solarish/x86_64.rs":"9074e813949f3c613afeac39d4118fb942c0b3c476232fc536489357cff5790f","src/unix/solarish/x86_common.rs":"ac869d9c3c95645c22460468391eb1982023c3a8e02b9e06a72e3aef3d5f1eac","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"aea3da66f2140f2a82dfc9c58f6e6531d2dd9c15ea696e0f95a0d4a2a187b5b6","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"4fae202af0327d768ed9e1b586b75816cce14fe2dc16947d2f3d381f209a54c1","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"e3ad95ba54f76e74c301611fe868d3d94f6b8939b03be672f568b06b10ae71c7","src/windows/msvc/mod.rs":"c068271e00fca6b62bc4bf44bcf142cfc38caeded9b6c4e01d1ceef3ccf986f4","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"}
+\ No newline at end of file
++{"files":{"CONTRIBUTING.md":"752eea5a703d11b485c6b5f195f51bd2c79aa5159b619ce09555c779e1fb586b","Cargo.toml":"6a0abcfcbc1d9fb00a356343043a161f5b84b3f780cb0f02df4627d022b14b7f","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"41f9743021d9e5ed74ede55c94057cf6867a322a13b25a5d524b966656a08e38","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"7f986e5f5e68d25ef04d386fd2f640e8be8f15427a8d4a458ea01d26b8dca0ca","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"bc8c46531bd1a2429f36aaf2bc137b50e42505b798de83f34eecfa94ad89179b","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"3f13d5f9b29d8969dde507661f1637524e21fe3bd34957fc778868f2f3713c46","src/macros.rs":"d7437c2573c4915768ff96b34710a61ee9f63622b23526cddeaeaf6bfb4751a2","src/psp.rs":"dd31aabd46171d474ec5828372e28588935120e7355c90c105360d8fa9264c1c","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/solid/aarch64.rs":"a726e47f324adf73a4a0b67a2c183408d0cad105ae66acf36db37a42ab7f8707","src/solid/arm.rs":"e39a4f74ebbef3b97b8c95758ad741123d84ed3eb48d9cf4f1f4872097fc27fe","src/solid/mod.rs":"5f4151dca5132e4b4e4c23ab9737e12856dddbdc0ca3f7dbc004328ef3c8acde","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"2546ad3eb6aecb95f916648bc63264117c92b4b4859532b34cb011e4c75a5a72","src/unix/bsd/apple/b64/aarch64/align.rs":"2eaf0f561a32bdcbf4e0477c8895d5e7bcb5cdebd5fef7b4df2ca8e38e144d94","src/unix/bsd/apple/b64/aarch64/mod.rs":"a3f0dfff62d0f7f4f1b5f9a4e2b662acf233a46badbc5419d3cc2d735629a710","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"f5e278a1af7fb358891d1c9be4eb7e815aaca0c5cb738d0c3604ba2208a856f7","src/unix/bsd/apple/b64/x86_64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/x86_64/mod.rs":"8c87c5855038aae5d433c8f5eb3b29b0a175879a0245342b3bfd83bdf4cfd936","src/unix/bsd/apple/mod.rs":"d7155927fbd1af6dd984a4c6c1a735a5932af828c96818209487eb6ae72d7d7e","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"379302e12d30807a1f973c4e2dd2205179d95343ee6fae05f33c9ed45a342799","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"2a215bd6136b8617aacedf9be738ccee94da9d29b418e9a78101d6291c182352","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"a6eee615e6ca5a6e04b526bb6b22d13b9356e87e51825cda33476c37a46cb0ef","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"755dafaf3f0945e798c34ea94c48e8552804ce60e2a15a4f0649f9d1aceaf422","src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"cc65a73b0fa95a77044a4b3ee76d6eceb9773b55aea7d73bdf070e6f66e9ea38","src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs":"0ed92eb93e78299cd7de0ae9daebb04a53b3c2d5e6a078e1fcd977f2a86bffc3","src/unix/bsd/freebsdlike/freebsd/freebsd14/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/mod.rs":"467b66843ab8c1a54b01ae9e90aaf0295b32f54decbdfb64caca84523b488925","src/unix/bsd/freebsdlike/freebsd/powerpc.rs":"9ca3f82f88974e6db5569f2d76a5a3749b248a31747a6c0da5820492bdfeca42","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/riscv64.rs":"8f591bd273464d684c4f64365f8ed56a8138175daa70d96008541393057a0dae","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"51e4dd0c8ae247bb652feda5adad9333ea3bb30c750c3a3935e0b0e47d7803eb","src/unix/bsd/freebsdlike/mod.rs":"a7345cc3fb7372572efe06848feb2cc246dfc2c2a0cc9ccf434f4c55041a59fa","src/unix/bsd/mod.rs":"7720ec82c9334f988ec4b271784768a017c3dc2e6dfae4d02418eef753388aa7","src/unix/bsd/netbsdlike/mod.rs":"594a0f9e23c4d7702ba38afdba5a0e866be25d692ec0afd66e04d939aa6b3f04","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"65dcb58d11e8d8028401a9d07ca3eb4cb4f053e04249cc877353449d84ccc4cb","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"cb1560bf8ffcc7b2726a27b433efac90e726292960626f3064bd2c6b7f861a55","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"1afe5ef46b14397cdd68664b5b232e4f5b035b6db1d4cf411c899d51ebca9f30","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"dd91931d373b7ecaf6e2de25adadee10d16fa9b12c2cbacdff3eb291e1ba36af","src/unix/bsd/netbsdlike/openbsd/arm.rs":"01580d261bc6447bb327a0d982181b7bdabfa066cee65a30373d3ced729ad307","src/unix/bsd/netbsdlike/openbsd/mips64.rs":"8532a189ae10c7d668d9d4065da8b05d124e09bd39442c9f74a7f231c43eca48","src/unix/bsd/netbsdlike/openbsd/mod.rs":"816a8ef47df60a752a91967627eeccb9ca776dc718ecc53ae902d8edaee0bce9","src/unix/bsd/netbsdlike/openbsd/powerpc.rs":"01580d261bc6447bb327a0d982181b7bdabfa066cee65a30373d3ced729ad307","src/unix/bsd/netbsdlike/openbsd/powerpc64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/riscv64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"d31db31630289c85af3339dbe357998a21ca584cbae31607448fe2cf7675a4e1","src/unix/haiku/b32.rs":"a2efdbf7158a6da341e1db9176b0ab193ba88b449616239ed95dced11f54d87b","src/unix/haiku/b64.rs":"ff8115367d3d7d354f792d6176dfaaa26353f57056197b563bf4681f91ff7985","src/unix/haiku/mod.rs":"d5833ff9b94daa81d2470df544453212af17530d78c5a7fb912eac915d00f329","src/unix/haiku/native.rs":"dbfcbf4954a79d1df2ff58e0590bbcb8c57dfc7a32392aa73ee4726b66bd6cc8","src/unix/haiku/x86_64.rs":"3ec3aeeb7ed208b8916f3e32d42bfd085ff5e16936a1a35d9a52789f043b7237","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"859814f5df89e28fd4b345db399d181e11e7ed413841b6ff703a1fcbdbf013ae","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"433c1530f602cc5ed26610c58055dde0c4ceea5e00150063b24ddc60768332a4","src/unix/linux_like/android/b32/mod.rs":"7c173e0375119bf06a3081652faede95e5bcd6858e7576b7533d037978737c8f","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"8388bd3a0fcb5636bf965eee6dc95ae6860b85a2b555b387c868aa4d4e01ec89","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/int128.rs":"1735f6f5c56770d20dd426442f09724d9b2052b46a7cd82f23f3288a4a7276de","src/unix/linux_like/android/b64/aarch64/mod.rs":"ef230d49fd0d182adf2dae6f8e10babf18d72259d65980bf1c4c2dc8a4f84501","src/unix/linux_like/android/b64/mod.rs":"d7bbbadafdb2cb2ff8e9cde3d89a03b9facaabb6b2d45705225d3ece1c5cce37","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"6454948ea98be86243229f99d67cdc7ca460e16b2a6445663ff4b5b6907c358d","src/unix/linux_like/android/mod.rs":"1247397a7e1b6269e0d2d6df88c6396bc18eb477e3ff293ff57d66a6b1380d94","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"b71d37106750f57bc2dae4e9bcb473ff098ef48235827e41a1687a39825f0aa4","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"d6c259942c8e843373accd180fc8f4f45f03544dfd21b93a8d02641ead3ef63e","src/unix/linux_like/linux/arch/generic/mod.rs":"e20013ed91edcfb7f84f3f9f5a9ef827fd5c406e24b65989d8438da332236ef6","src/unix/linux_like/linux/arch/mips/mod.rs":"2d166054a586bb4bf6e4a4ba35f7574907b217225eff8f1a43adc4277e142460","src/unix/linux_like/linux/arch/mod.rs":"466a29622e47c6c7f1500682b2eb17f5566dd81b322cd6348f0fdd355cec593a","src/unix/linux_like/linux/arch/powerpc/mod.rs":"3f6da7b0fa7b394c7d4eea2bb3caa7a7729ab0d6c1491fef02206a912c41b815","src/unix/linux_like/linux/arch/sparc/mod.rs":"91593ec0440f1dd8f8e612028f432c44c14089286e2aca50e10511ab942db8c3","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"6ec0eb3ee93f7ae99fd714b4deabfb5e97fbcefd8c26f5a45fb8e7150899cdeb","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"92ea7edc0e24f79dfbf5e3efc2d7509bed230562036e6aa85ef4f2c8088ecc8f","src/unix/linux_like/linux/gnu/b32/m68k/align.rs":"8faa92f77a9232c035418d45331774e64a9a841d99c91791570a203bf2b45bcb","src/unix/linux_like/linux/gnu/b32/m68k/mod.rs":"a2a0a9400dae44086ebf579e0448e0676d4a3214d1ae7d13a024857251e23b6b","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"0d7849eb2435ec1f49b6774872a0518f0129c50f37c9d38b37b1535722777a22","src/unix/linux_like/linux/gnu/b32/mod.rs":"8da281da578cdee972e952b118b903b370320897a7e335342a15e1359864bef2","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"049d6211ba4a9304bd4497c160bc21ae847c24e0528dd9d76263f16192e6aff5","src/unix/linux_like/linux/gnu/b32/riscv32/align.rs":"d321491612be8d5c61b6ec2dc0111beb3a22e58803f99cd37543efe86621b119","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"a4256148cec0bb672c8dfa605866930d9761af9655721de72ae41eeeb8fdbf6d","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"525618615aa0cb80c6c90860bf579dfed8db307fffd56b97dc235fb945419434","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"78b4038852986436888c63be9258037cf642124daee9d5fa5cef2bf8e412bf54","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"21a21503ef2e095f4371044915d4bfb07a8578011cb5c713cd9f45947b0b5730","src/unix/linux_like/linux/gnu/b64/aarch64/int128.rs":"1735f6f5c56770d20dd426442f09724d9b2052b46a7cd82f23f3288a4a7276de","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"e78c3cd197f44832338b414d1a9bc0d194f44c74db77bd7bf830c1fff62b2690","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"c4e20b1c63d7a03a6e22aef2046689ef95cc4651011ade7cb94176fcea1dc252","src/unix/linux_like/linux/gnu/b64/loongarch64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs":"387808d5398b24339e7e2bf7591150735011befc5b421fa713d7017c04a7b1da","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"17aad16329431d83e1909e3a08022f6e28f4bcba7dec4a967fe1a321a6a43b99","src/unix/linux_like/linux/gnu/b64/mod.rs":"3c6555f30a7a8852757b31a542ea73fb6a16a6e27e838397e819278ad56e57a4","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"97e0ecf11ecce793a13fec39654fb513c5479edf7faa7a276fa714b61993d0fc","src/unix/linux_like/linux/gnu/b64/riscv64/align.rs":"d321491612be8d5c61b6ec2dc0111beb3a22e58803f99cd37543efe86621b119","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"b3fe290afe63d2d6e315d0cf1f775464e9c1f2a1906d243c1af74a137a4031cb","src/unix/linux_like/linux/gnu/b64/s390x.rs":"254f00266ecf9644a4b469457cb37c4dd6c055820926c1de0fb9035b6048e75c","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"87dd7f3d5bf3c09f4064ec738e306cc9cc41ad49b4a5df62c5983301c3bbf99a","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"1b939aaf3cdf3efc7d3bd53e83e80235530d3ba0c24bb7611d4730d35d457ec1","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"b88ef8a1eaa9ed73bf2acb8192afb73af987a92abb94140c6376fc83f2fa5553","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"79305936a60d342efdc10519ba89507d6b48e65f13f33090d3b04dc9655ceed0","src/unix/linux_like/linux/gnu/mod.rs":"84ad4a663b5fa2498179be8dca96fef5f0446ec1619215ac674424ee394e307d","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"cff23db1e0bac8c30052dfed5e89e65bc207471e4bfb3a6fa0a4df62ed9e413e","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"e5faee8efda8a225ea0b17d4d6f9e893a678e73773fa62c549a8e19c106b9f04","src/unix/linux_like/linux/musl/b32/hexagon.rs":"226a8b64ce9c75abbbee6d2dceb0b44f7b6c750c4102ebd4d015194afee6666e","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"df8f8b529a6cc6b8a7326639e83303cf1320c6c50d76517c17d42bcf45f6240a","src/unix/linux_like/linux/musl/b32/mod.rs":"7b3d9dfd8605b00bb9b5fa1439abe5ebf60199c7fa033eee555e8d181e93ffa2","src/unix/linux_like/linux/musl/b32/powerpc.rs":"c957d99a4d4371d2411a5769be8cf344516bf9ddc1011f977501a4eb57cb4e82","src/unix/linux_like/linux/musl/b32/riscv32/align.rs":"efd2accf33b87de7c7547903359a5da896edc33cd6c719552c7474b60d4a5d48","src/unix/linux_like/linux/musl/b32/riscv32/mod.rs":"e57dc5562553aab6d0765e0ec266254aa52975f8757bfe97e0c6028fa7d5d37c","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"199a91e90b454f9dc32770d5204cc4f6e5b8f144e0e34a1c91829949d6e804b3","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/int128.rs":"1735f6f5c56770d20dd426442f09724d9b2052b46a7cd82f23f3288a4a7276de","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"9c4878df0fea0e0affd85346e0bc191abdc5e41e74dc9199b5644ec33d29c300","src/unix/linux_like/linux/musl/b64/mips64.rs":"3686fc8cb2e311cda8e6b96f6dfe90b65a366714bd480312b692b1a6ca1241b6","src/unix/linux_like/linux/musl/b64/mod.rs":"8c10627bd582cb272514e7350ae4743a65d489356eae039d2e7e55cd533fbbc8","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"36694cbdcdc33879e00502d55cb95eaa0096d213538993dd39c3da800cdd06d1","src/unix/linux_like/linux/musl/b64/riscv64/align.rs":"d321491612be8d5c61b6ec2dc0111beb3a22e58803f99cd37543efe86621b119","src/unix/linux_like/linux/musl/b64/riscv64/mod.rs":"36621aca8ecf714f8dd42662dc2997833d95b9f129ef8c220503362e21efd695","src/unix/linux_like/linux/musl/b64/s390x.rs":"9b05b1fae6bcb7cb6d909b9973977fde01684175f3e26c27dcb44223cc3933d9","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"238789097a26abc8b7cd578ed1a8e6cb8672083054303902781983902cd66854","src/unix/linux_like/linux/musl/mod.rs":"2efe98b8166270be1624888953fa07da06f08313f15bf4c7dc2eba63f5a790a5","src/unix/linux_like/linux/no_align.rs":"da2a8721becaaaa528781f97f5d9aae6a982ae5d4f5f6d2ffc0150bed72319b3","src/unix/linux_like/linux/non_exhaustive.rs":"181a05bf94fdb911db83ce793b993bd6548a4115b306a7ef3c10f745a8fea3e9","src/unix/linux_like/linux/uclibc/align.rs":"9ed16138d8e439bd90930845a65eafa7ebd67366e6bf633936d44014f6e4c959","src/unix/linux_like/linux/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/arm/mod.rs":"a056bbf718ddd775519058706bdb4909b56e6256985869e3c3132aa8ec5faca0","src/unix/linux_like/linux/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs":"b84def53a49587e87f884c2bc28b21b290463b00b52e1d0309f2ba233a5b4a99","src/unix/linux_like/linux/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs":"256a428290a560163ef7dc7d18b27bd3c6ce9748a0f28d5dc7f82203ee228220","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"367ec5483ad317e6ccba1ac0888da6cf088a8d32689214cc8d16129aa692260c","src/unix/linux_like/linux/uclibc/mod.rs":"ddd223d4f574b2b92072bbdab091f12d8d89d5e05f41076ddfa6bc6af379698f","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"024eba5753e852dbdd212427351affe7e83f9916c1864bce414d7aa2618f192e","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"bf6985e901041a61e90ccee1296b35a4c62ef90aa528d31989e1d647f072e79a","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"dd4f7a1d66d8501b4a2c4e75e6e9305ed69f1002ae99e410596a6c636878595a","src/unix/mod.rs":"d1b4ba41f9b9c106f6ba8c661b5808824b774a7a7caac7d8938bf50979ba5195","src/unix/newlib/aarch64/mod.rs":"bac93836a9a57b2c710f32f852e92a4d11ad6759ab0fb6ad33e71d60e53278af","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"cbba6b3e957eceb496806e60de8725a23ff3fa0015983b4b4fa27b233732b526","src/unix/newlib/espidf/mod.rs":"ff9c13e99d84912f5ebe75b7a7ea9c1e9d8f35a268716081e09899c7ea822bc6","src/unix/newlib/generic.rs":"eab066d9f0a0f3eb53cc1073d01496bba0110989e1f6a59838afd19f870cd599","src/unix/newlib/horizon/mod.rs":"7cc5cc120437421db139bfa6a90b18168cd3070bdd0f5be96d40fe4c996f3ca1","src/unix/newlib/mod.rs":"54633d606e4e0413274af0b5beb5e697e6c061b63feaa0704b026554cc9d9c3e","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"0202ffd57caf75b6afa2c9717750ffb96e375ac33df0ae9609a3f831be393b67","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"033768cb273daf2c8090d97252c2de9dba6809e6a5d2457f5727d724807695db","src/unix/solarish/compat.rs":"b07a5bfac925eb012003a459ba6bddbd3bfa9c44b3394da2ac5a602e54beae9c","src/unix/solarish/illumos.rs":"29387916ee7dc58f07478746024003215e631cd30953e8fa2a5c415f81839007","src/unix/solarish/mod.rs":"976b07a13e195840b67c166a62318abfa9ffc8d5ebbb0358f199dd213ec98d1b","src/unix/solarish/solaris.rs":"65b005453aefa9b9d4fc860fe77cfec80d8c97a51342b15daf55fc3e808bb384","src/unix/solarish/x86.rs":"e86e806df0caed72765040eaa2f3c883198d1aa91508540adf9b7008c77f522e","src/unix/solarish/x86_64.rs":"9074e813949f3c613afeac39d4118fb942c0b3c476232fc536489357cff5790f","src/unix/solarish/x86_common.rs":"ac869d9c3c95645c22460468391eb1982023c3a8e02b9e06a72e3aef3d5f1eac","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"aea3da66f2140f2a82dfc9c58f6e6531d2dd9c15ea696e0f95a0d4a2a187b5b6","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"4fae202af0327d768ed9e1b586b75816cce14fe2dc16947d2f3d381f209a54c1","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"e3ad95ba54f76e74c301611fe868d3d94f6b8939b03be672f568b06b10ae71c7","src/windows/msvc/mod.rs":"c068271e00fca6b62bc4bf44bcf142cfc38caeded9b6c4e01d1ceef3ccf986f4","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"}
diff --git a/poky/meta/recipes-devtools/rust/rust/crossbeam_atomic.patch b/poky/meta/recipes-devtools/rust/rust/crossbeam_atomic.patch
new file mode 100644
index 0000000000..7097bb9087
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust/crossbeam_atomic.patch
@@ -0,0 +1,50 @@
+crossbeam-utils is taking the target triplet and comparing it against a
+known list of platforms that have issues either with any atomics or with
+64 bit atomics. Since OE encodes TARGET_VENDOR into the rust triplet (to
+differentiate host vs. target) this means that platforms that should match,
+don't.
+
+We could make a list of platforms and pass in configuration values but
+having one list in rust and another in our recipes is likely to cause
+problems in the future. We do already have this issue in the librsvg recipe.
+Instead, switch out the value of TARGET_VENDOR for "-unknown" which
+them makes the list in no_atomics.rs work correctly.
+
+Someone with more rust knowledge could split up the triplets in no_atmoics.rs
+and compare against the architecture/processor, or replace -unknown with a glob
+to create a patch that upstream might accept.
+
+Upstream-Status: Inappropriate [OE Specific tweak but could be rewritten]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: rustc-1.63.0-src/vendor/crossbeam-utils/build.rs
+===================================================================
+--- rustc-1.63.0-src.orig/vendor/crossbeam-utils/build.rs
++++ rustc-1.63.0-src/vendor/crossbeam-utils/build.rs
+@@ -29,7 +29,7 @@ use std::env;
+ include!("no_atomic.rs");
+
+ fn main() {
+- let target = match env::var("TARGET") {
++ let mut target = match env::var("TARGET") {
+ Ok(target) => target,
+ Err(e) => {
+ println!(
+@@ -40,6 +40,8 @@ fn main() {
+ return;
+ }
+ };
++ let vendor = env::var("TARGET_VENDOR").unwrap();
++ target = target.replace(&vendor, "-unknown");
+
+ // Note that this is `no_*`, not `has_*`. This allows treating
+ // `cfg(target_has_atomic = "ptr")` as true when the build script doesn't
+Index: rustc-1.63.0-src/vendor/crossbeam-utils/.cargo-checksum.json
+===================================================================
+--- rustc-1.63.0-src.orig/vendor/crossbeam-utils/.cargo-checksum.json
++++ rustc-1.63.0-src/vendor/crossbeam-utils/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"CHANGELOG.md":"665a9f2c5fd37c98bef7c1b6eda753b58bb925d87e5b42d7298df973d7590631","Cargo.toml":"fe22292acd6a868e65baf225f90d5678678971642814d2d8e92a03954b8bdb40","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"5734ed989dfca1f625b40281ee9f4530f91b2411ec01cb748223e7eb87e201ab","README.md":"dfa9fbed47c344c134a63c84b7c0e4651baeac1554b7b3266d0e38643743fc33","benches/atomic_cell.rs":"c927eb3cd1e5ecc4b91adbc3bde98af15ffab4086190792ba64d5cde0e24df3d","build.rs":"7e74dc72343ff57e83d0a84a9fbdd9ff1645894165909999b4c3d2fba94bc96c","no_atomic.rs":"71b5f78fd701ce604aa766dd3d825fa5bed774282aae4d6c31d7acb01b1b242f","src/atomic/atomic_cell.rs":"01185588e0e16ba81425677966d0c11887dedc4ac0d4a65991a34057c418adc4","src/atomic/consume.rs":"7a7736fcd64f6473dfea7653559ffc5e1a2a234df43835f8aa8734862145ac15","src/atomic/mod.rs":"94193895fa03cece415e8d7be700b73a9a8a7015774ca821253438607f9b0736","src/atomic/seq_lock.rs":"27182e6b87a9db73c5f6831759f8625f9fcdec3c2828204c444aef04f427735a","src/atomic/seq_lock_wide.rs":"9888dd03116bb89ca36d4ab8d5a0b5032107a2983a7eb8024454263b09080088","src/backoff.rs":"7cc7754e15f69b52e92a70d4f49d1bc274693455a0933a2d7eb0605806566af3","src/cache_padded.rs":"6a512698115ad0d5a5b163dbd7a83247e1f1c146c4a30f3fc74b952e3b767b59","src/lib.rs":"6f1bcf157abe06ad8458a53e865bf8efab9fad4a9424790147cee8fefb3795d8","src/sync/mod.rs":"59986f559a8f170a4b3247ab2eea2460b09809d87c8110ed88e4e7103d3519dc","src/sync/parker.rs":"3f997f5b41fec286ccedcf3d36f801d741387badb574820b8e3456117ecd9154","src/sync/sharded_lock.rs":"14be659744918d0b27db24c56b41c618b0f0484b6761da46561023d96c4c120f","src/sync/wait_group.rs":"32e946a7581c55f8aa9904527b92b177c538fa0cf7cbcfa1d1f25990582cb6ea","src/thread.rs":"6a7676fd4e50af63aec6f655121a10cd6e8c704f4677125388186ba58dc5842d","tests/atomic_cell.rs":"d64faa1ca8896373468308031220940d988aa3a1679ea25d2291a7a7d22bc51a","tests/cache_padded.rs":"1bfaff8354c8184e1ee1f902881ca9400b60effb273b0d3f752801a483d2b66d","tests/parker.rs":"6def4721287d9d70b1cfd63ebb34e1c83fbb3376edbad2bc8aac6ef69dd99d20","tests/sharded_lock.rs":"eb6c5b59f007e0d290dd0f58758e8ccb5cacd38af34e3341368ced815f0c41be","tests/thread.rs":"9a7d7d3028c552fd834c68598b04a1cc252a816bc20ab62cec060d6cd09cab10","tests/wait_group.rs":"ad8f0cdfed31f9594a2e0737234d418f8b924d784a4db8d7e469deab8c95f5f8"},"package":"0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38"}
+\ No newline at end of file
++{"files":{"CHANGELOG.md":"665a9f2c5fd37c98bef7c1b6eda753b58bb925d87e5b42d7298df973d7590631","Cargo.toml":"fe22292acd6a868e65baf225f90d5678678971642814d2d8e92a03954b8bdb40","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"5734ed989dfca1f625b40281ee9f4530f91b2411ec01cb748223e7eb87e201ab","README.md":"dfa9fbed47c344c134a63c84b7c0e4651baeac1554b7b3266d0e38643743fc33","benches/atomic_cell.rs":"c927eb3cd1e5ecc4b91adbc3bde98af15ffab4086190792ba64d5cde0e24df3d","build.rs":"d983d511c89607ce89473779d1ee195e3eb509cc4d3043b9efe6aa2f94c98158","no_atomic.rs":"71b5f78fd701ce604aa766dd3d825fa5bed774282aae4d6c31d7acb01b1b242f","src/atomic/atomic_cell.rs":"01185588e0e16ba81425677966d0c11887dedc4ac0d4a65991a34057c418adc4","src/atomic/consume.rs":"7a7736fcd64f6473dfea7653559ffc5e1a2a234df43835f8aa8734862145ac15","src/atomic/mod.rs":"94193895fa03cece415e8d7be700b73a9a8a7015774ca821253438607f9b0736","src/atomic/seq_lock.rs":"27182e6b87a9db73c5f6831759f8625f9fcdec3c2828204c444aef04f427735a","src/atomic/seq_lock_wide.rs":"9888dd03116bb89ca36d4ab8d5a0b5032107a2983a7eb8024454263b09080088","src/backoff.rs":"7cc7754e15f69b52e92a70d4f49d1bc274693455a0933a2d7eb0605806566af3","src/cache_padded.rs":"6a512698115ad0d5a5b163dbd7a83247e1f1c146c4a30f3fc74b952e3b767b59","src/lib.rs":"6f1bcf157abe06ad8458a53e865bf8efab9fad4a9424790147cee8fefb3795d8","src/sync/mod.rs":"59986f559a8f170a4b3247ab2eea2460b09809d87c8110ed88e4e7103d3519dc","src/sync/parker.rs":"3f997f5b41fec286ccedcf3d36f801d741387badb574820b8e3456117ecd9154","src/sync/sharded_lock.rs":"14be659744918d0b27db24c56b41c618b0f0484b6761da46561023d96c4c120f","src/sync/wait_group.rs":"32e946a7581c55f8aa9904527b92b177c538fa0cf7cbcfa1d1f25990582cb6ea","src/thread.rs":"6a7676fd4e50af63aec6f655121a10cd6e8c704f4677125388186ba58dc5842d","tests/atomic_cell.rs":"d64faa1ca8896373468308031220940d988aa3a1679ea25d2291a7a7d22bc51a","tests/cache_padded.rs":"1bfaff8354c8184e1ee1f902881ca9400b60effb273b0d3f752801a483d2b66d","tests/parker.rs":"6def4721287d9d70b1cfd63ebb34e1c83fbb3376edbad2bc8aac6ef69dd99d20","tests/sharded_lock.rs":"eb6c5b59f007e0d290dd0f58758e8ccb5cacd38af34e3341368ced815f0c41be","tests/thread.rs":"9a7d7d3028c552fd834c68598b04a1cc252a816bc20ab62cec060d6cd09cab10","tests/wait_group.rs":"ad8f0cdfed31f9594a2e0737234d418f8b924d784a4db8d7e469deab8c95f5f8"},"package":"0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38"}
+\ No newline at end of file
diff --git a/poky/meta/recipes-devtools/rust/rust/hardcodepaths.patch b/poky/meta/recipes-devtools/rust/rust/hardcodepaths.patch
new file mode 100644
index 0000000000..2fdfe6d463
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust/hardcodepaths.patch
@@ -0,0 +1,70 @@
+When building for the target, some build paths end up embedded in the binaries.
+These changes remove that. Further investigation is needed to work out the way
+to resolve these issues properly upstream.
+
+Upstream-Status: Inappropriate [patches need rework]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: rustc-1.62.0-src/src/tools/clippy/src/driver.rs
+===================================================================
+--- rustc-1.62.0-src.orig/src/tools/clippy/src/driver.rs
++++ rustc-1.62.0-src/src/tools/clippy/src/driver.rs
+@@ -255,7 +255,6 @@ pub fn main() {
+ .and_then(|out| String::from_utf8(out.stdout).ok())
+ .map(|s| PathBuf::from(s.trim()))
+ })
+- .or_else(|| option_env!("SYSROOT").map(PathBuf::from))
+ .or_else(|| {
+ let home = option_env!("RUSTUP_HOME")
+ .or(option_env!("MULTIRUST_HOME"))
+Index: rustc-1.62.0-src/compiler/rustc_codegen_llvm/src/context.rs
+===================================================================
+--- rustc-1.62.0-src.orig/compiler/rustc_codegen_llvm/src/context.rs
++++ rustc-1.62.0-src/compiler/rustc_codegen_llvm/src/context.rs
+@@ -167,46 +167,6 @@ pub unsafe fn create_module<'ll>(
+ }
+ }
+
+- // Ensure the data-layout values hardcoded remain the defaults.
+- if sess.target.is_builtin {
+- let tm = crate::back::write::create_informational_target_machine(tcx.sess);
+- llvm::LLVMRustSetDataLayoutFromTargetMachine(llmod, tm);
+- llvm::LLVMRustDisposeTargetMachine(tm);
+-
+- let llvm_data_layout = llvm::LLVMGetDataLayoutStr(llmod);
+- let llvm_data_layout = str::from_utf8(CStr::from_ptr(llvm_data_layout).to_bytes())
+- .expect("got a non-UTF8 data-layout from LLVM");
+-
+- // Unfortunately LLVM target specs change over time, and right now we
+- // don't have proper support to work with any more than one
+- // `data_layout` than the one that is in the rust-lang/rust repo. If
+- // this compiler is configured against a custom LLVM, we may have a
+- // differing data layout, even though we should update our own to use
+- // that one.
+- //
+- // As an interim hack, if CFG_LLVM_ROOT is not an empty string then we
+- // disable this check entirely as we may be configured with something
+- // that has a different target layout.
+- //
+- // Unsure if this will actually cause breakage when rustc is configured
+- // as such.
+- //
+- // FIXME(#34960)
+- let cfg_llvm_root = option_env!("CFG_LLVM_ROOT").unwrap_or("");
+- let custom_llvm_used = cfg_llvm_root.trim() != "";
+-
+- if !custom_llvm_used && target_data_layout != llvm_data_layout {
+- bug!(
+- "data-layout for target `{rustc_target}`, `{rustc_layout}`, \
+- differs from LLVM target's `{llvm_target}` default layout, `{llvm_layout}`",
+- rustc_target = sess.opts.target_triple,
+- rustc_layout = target_data_layout,
+- llvm_target = sess.target.llvm_target,
+- llvm_layout = llvm_data_layout
+- );
+- }
+- }
+-
+ let data_layout = SmallCStr::new(&target_data_layout);
+ llvm::LLVMSetDataLayout(llmod, data_layout.as_ptr());
+
diff --git a/poky/meta/recipes-devtools/rust/rust_1.62.0.bb b/poky/meta/recipes-devtools/rust/rust_1.62.0.bb
deleted file mode 100644
index b505ad46ca..0000000000
--- a/poky/meta/recipes-devtools/rust/rust_1.62.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-require rust-target.inc
-require rust-source.inc
-require rust-snapshot.inc
-
-INSANE_SKIP:${PN}:class-native = "already-stripped"
-
-do_compile () {
- rust_runx build --stage 2
-}
-
-rust_do_install() {
- rust_runx install
-}
-
-python () {
- pn = d.getVar('PN')
-
- if not pn.endswith("-native"):
- raise bb.parse.SkipRecipe("Rust recipe doesn't work for target builds at this time. Fixes welcome.")
-}
-
diff --git a/poky/meta/recipes-devtools/rust/rust_1.63.0.bb b/poky/meta/recipes-devtools/rust/rust_1.63.0.bb
new file mode 100644
index 0000000000..401d51041e
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust_1.63.0.bb
@@ -0,0 +1,85 @@
+require rust-target.inc
+require rust-source.inc
+require rust-snapshot.inc
+
+INSANE_SKIP:${PN}:class-native = "already-stripped"
+FILES:${PN} += "${libdir}/rustlib"
+FILES:${PN} += "${libdir}/*.so"
+FILES:${PN}-dev = ""
+
+# Used by crossbeam_atomic.patch
+export TARGET_VENDOR
+
+do_compile () {
+ rust_runx build --stage 2
+}
+
+do_compile:append:class-target () {
+ rust_runx build --stage 2 src/tools/clippy
+ rust_runx build --stage 2 src/tools/rustfmt
+}
+
+do_compile:append:class-nativesdk () {
+ rust_runx build --stage 2 src/tools/clippy
+ rust_runx build --stage 2 src/tools/rustfmt
+}
+
+ALLOW_EMPTY:${PN} = "1"
+
+PACKAGES =+ "${PN}-tools-clippy ${PN}-tools-rustfmt"
+FILES:${PN}-tools-clippy = "${bindir}/cargo-clippy ${bindir}/clippy-driver"
+FILES:${PN}-tools-rustfmt = "${bindir}/rustfmt"
+RDEPENDS:${PN}-tools-clippy = "${PN}"
+RDEPENDS:${PN}-tools-rustfmt = "${PN}"
+
+SUMMARY:${PN}-tools-clippy = "A collection of lints to catch common mistakes and improve your Rust code"
+SUMMARY:${PN}-tools-rustfmt = "A tool for formatting Rust code according to style guidelines"
+
+rust_do_install() {
+ rust_runx install
+}
+
+rust_do_install:class-nativesdk() {
+ export PSEUDO_UNLOAD=1
+ rust_runx install
+ unset PSEUDO_UNLOAD
+
+ install -d ${D}${bindir}
+ for i in cargo-clippy clippy-driver rustfmt; do
+ cp build/${RUST_BUILD_SYS}/stage2-tools/${RUST_HOST_SYS}/release/$i ${D}${bindir}
+ chrpath -r "\$ORIGIN/../lib" ${D}${bindir}/$i
+ done
+
+ chown root:root ${D}/ -R
+ rm ${D}${libdir}/rustlib/uninstall.sh
+ rm ${D}${libdir}/rustlib/install.log
+ rm ${D}${libdir}/rustlib/manifest*
+}
+
+rust_do_install:class-target() {
+ export PSEUDO_UNLOAD=1
+ rust_runx install
+ unset PSEUDO_UNLOAD
+
+ install -d ${D}${bindir}
+ for i in cargo-clippy clippy-driver rustfmt; do
+ cp build/${RUST_BUILD_SYS}/stage2-tools/${RUST_HOST_SYS}/release/$i ${D}${bindir}
+ chrpath -r "\$ORIGIN/../lib" ${D}${bindir}/$i
+ done
+
+ chown root:root ${D}/ -R
+ rm ${D}${libdir}/rustlib/uninstall.sh
+ rm ${D}${libdir}/rustlib/install.log
+ rm ${D}${libdir}/rustlib/manifest*
+}
+
+# see recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
+# we need to link with ssp_nonshared on musl to avoid "undefined reference to `__stack_chk_fail_local'"
+# when building MACHINE=qemux86 for musl
+WRAPPER_TARGET_EXTRALD:libc-musl = "-lssp_nonshared"
+
+RUSTLIB_DEP:class-nativesdk = ""
+
+# musl builds include libunwind.a
+INSANE_SKIP:${PN} = "staticdev"
+
diff --git a/poky/meta/recipes-devtools/strace/strace_5.18.bb b/poky/meta/recipes-devtools/strace/strace_5.19.bb
index 75ff58bd50..5e69cfd5f9 100644
--- a/poky/meta/recipes-devtools/strace/strace_5.18.bb
+++ b/poky/meta/recipes-devtools/strace/strace_5.19.bb
@@ -14,7 +14,7 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
file://0001-strace-fix-reproducibilty-issues.patch \
file://skip-load.patch \
"
-SRC_URI[sha256sum] = "60293ea79ac9253d600cdc9be077ad2988ca22284a439c9e66be5150db3d1187"
+SRC_URI[sha256sum] = "aa3dc1c8e60e4f6ff3d396514aa247f3c7bf719d8a8dc4dd4fa793be786beca3"
inherit autotools ptest
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch
index 47a8dac10e..1a4a4e3755 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch
@@ -1,7 +1,7 @@
-From 60f3833ab2b5899771b4eab654e88f9888b99501 Mon Sep 17 00:00:00 2001
+From a469ce05055c44fdca1ca094ff3a735cc059480d Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Wed, 31 Dec 2014 16:01:55 +0800
-Subject: [PATCH 1/9] linux/syslinux: support ext2/3/4 device
+Subject: [PATCH] linux/syslinux: support ext2/3/4 device
* Support ext2/3/4 deivce.
* The open_ext2_fs() checks whether it is an ext2/3/4 device,
@@ -19,10 +19,10 @@ Tested-by: Du Dolpher <dolpher.du@intel.com>
1 file changed, 36 insertions(+)
diff --git a/linux/syslinux.c b/linux/syslinux.c
-index 912de71..36fc202 100755
+index 46d5624..1cc276b 100755
--- a/linux/syslinux.c
+++ b/linux/syslinux.c
-@@ -256,6 +256,23 @@ int do_open_file(char *name)
+@@ -257,6 +257,23 @@ int do_open_file(char *name)
return fd;
}
@@ -46,7 +46,7 @@ index 912de71..36fc202 100755
int main(int argc, char *argv[])
{
static unsigned char sectbuf[SECTOR_SIZE];
-@@ -313,6 +330,24 @@ int main(int argc, char *argv[])
+@@ -314,6 +331,24 @@ int main(int argc, char *argv[])
die("can't combine an offset with a block device");
}
@@ -71,7 +71,7 @@ index 912de71..36fc202 100755
xpread(dev_fd, sectbuf, SECTOR_SIZE, opt.offset);
fsync(dev_fd);
-@@ -322,6 +357,7 @@ int main(int argc, char *argv[])
+@@ -323,6 +358,7 @@ int main(int argc, char *argv[])
*/
if ((errmsg = syslinux_check_bootsect(sectbuf, &fs_type))) {
fprintf(stderr, "%s: %s\n", opt.device, errmsg);
@@ -79,6 +79,3 @@ index 912de71..36fc202 100755
exit(1);
}
---
-1.9.1
-
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0002-linux-syslinux-implement-open_ext2_fs.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0002-linux-syslinux-implement-open_ext2_fs.patch
index 77cf060451..1acd9b0b69 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0002-linux-syslinux-implement-open_ext2_fs.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0002-linux-syslinux-implement-open_ext2_fs.patch
@@ -1,7 +1,7 @@
-From 07fb737fb60c08eaaa41989d531fc23009523546 Mon Sep 17 00:00:00 2001
+From c6ddb179577dd4c4ea4d1d154f979e90e53d6bf1 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Wed, 31 Dec 2014 16:09:18 +0800
-Subject: [PATCH 2/9] linux/syslinux: implement open_ext2_fs()
+Subject: [PATCH] linux/syslinux: implement open_ext2_fs()
The open_ext2_fs() checks whether it is an ext2/ext3/ext4 device, and
return:
@@ -15,14 +15,14 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Tested-by: Du Dolpher <dolpher.du@intel.com>
---
linux/Makefile | 2 +-
- linux/syslinux.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ linux/syslinux.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 81 insertions(+), 1 deletion(-)
diff --git a/linux/Makefile b/linux/Makefile
-index 11667e1..ac1ac58 100644
+index 5a49d81..67cbbb4 100644
--- a/linux/Makefile
+++ b/linux/Makefile
-@@ -51,7 +51,7 @@ spotless: clean
+@@ -52,7 +52,7 @@ spotless: clean
installer: syslinux syslinux-nomtools
syslinux: $(OBJS)
@@ -32,10 +32,10 @@ index 11667e1..ac1ac58 100644
syslinux-nomtools: syslinux
ln -f $< $@
diff --git a/linux/syslinux.c b/linux/syslinux.c
-index 36fc202..cc4e7da 100755
+index 1cc276b..f3727ea 100755
--- a/linux/syslinux.c
+++ b/linux/syslinux.c
-@@ -72,6 +72,7 @@
+@@ -73,6 +73,7 @@
#include "syslxfs.h"
#include "setadv.h"
#include "syslxopt.h" /* unified options */
@@ -43,7 +43,7 @@ index 36fc202..cc4e7da 100755
extern const char *program; /* Name of program */
-@@ -82,6 +83,9 @@ char *mntpath = NULL; /* Path on which to mount */
+@@ -83,6 +84,9 @@ char *mntpath = NULL; /* Path on which to mount */
int loop_fd = -1; /* Loop device */
#endif
@@ -53,7 +53,7 @@ index 36fc202..cc4e7da 100755
void __attribute__ ((noreturn)) die(const char *msg)
{
fprintf(stderr, "%s: %s\n", program, msg);
-@@ -266,6 +270,82 @@ int do_open_file(char *name)
+@@ -267,6 +271,82 @@ int do_open_file(char *name)
*/
static int open_ext2_fs(const char *device, const char *subdir)
{
@@ -136,6 +136,3 @@ index 36fc202..cc4e7da 100755
}
/* The install func for ext2, ext3 and ext4 */
---
-1.9.1
-
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0003-linux-syslinux-implement-install_to_ext2.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0003-linux-syslinux-implement-install_to_ext2.patch
index 84ba10526a..8d2fef2d49 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0003-linux-syslinux-implement-install_to_ext2.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0003-linux-syslinux-implement-install_to_ext2.patch
@@ -1,7 +1,7 @@
-From 64d856b243812907068776b204a003a3a8fa122a Mon Sep 17 00:00:00 2001
+From 9110cf47d04ca1958d14228908a5c57a23769e7d Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Wed, 31 Dec 2014 16:17:42 +0800
-Subject: [PATCH 3/9] linux/syslinux: implement install_to_ext2()
+Subject: [PATCH] linux/syslinux: implement install_to_ext2()
* The handle_adv_on_ext() checks whether we only need update adv.
* The write_to_ext() installs files (ldlinux.sys or ldlinux.c32) to the
@@ -13,14 +13,14 @@ Upstream-Status: Submitted
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Tested-by: Du Dolpher <dolpher.du@intel.com>
---
- linux/syslinux.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ linux/syslinux.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)
diff --git a/linux/syslinux.c b/linux/syslinux.c
-index cc4e7da..45f080d 100755
+index f3727ea..fc5edb1 100755
--- a/linux/syslinux.c
+++ b/linux/syslinux.c
-@@ -346,11 +346,90 @@ static int open_ext2_fs(const char *device, const char *subdir)
+@@ -347,11 +347,90 @@ static int open_ext2_fs(const char *device, const char *subdir)
fail:
(void) ext2fs_close(e2fs);
return -1;
@@ -111,6 +111,3 @@ index cc4e7da..45f080d 100755
}
int main(int argc, char *argv[])
---
-1.9.1
-
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0004-linux-syslinux-add-ext_file_read-and-ext_file_write.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0004-linux-syslinux-add-ext_file_read-and-ext_file_write.patch
index 64b56d92e0..0a32969154 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0004-linux-syslinux-add-ext_file_read-and-ext_file_write.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0004-linux-syslinux-add-ext_file_read-and-ext_file_write.patch
@@ -1,7 +1,7 @@
-From 35d3842cc4b930c5102eed2921e0189b7f4fd069 Mon Sep 17 00:00:00 2001
+From 1957fc6c069493c6789557936adb675f5e7e51ba Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Wed, 31 Dec 2014 16:43:37 +0800
-Subject: [PATCH 4/9] linux/syslinux: add ext_file_read() and ext_file_write()
+Subject: [PATCH] linux/syslinux: add ext_file_read() and ext_file_write()
Will use them to read and write on the extX device.
@@ -10,14 +10,14 @@ Upstream-Status: Submitted
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Tested-by: Du Dolpher <dolpher.du@intel.com>
---
- linux/syslinux.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ linux/syslinux.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/linux/syslinux.c b/linux/syslinux.c
-index 45f080d..247c86a 100755
+index fc5edb1..c7c1994 100755
--- a/linux/syslinux.c
+++ b/linux/syslinux.c
-@@ -349,6 +349,68 @@ fail:
+@@ -350,6 +350,68 @@ fail:
}
@@ -86,6 +86,3 @@ index 45f080d..247c86a 100755
/*
* Install the boot block on the specified device.
* Must be run AFTER file installed.
---
-1.9.1
-
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0005-linux-syslinux-implement-handle_adv_on_ext.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0005-linux-syslinux-implement-handle_adv_on_ext.patch
index 829e7c4ca1..76885f762b 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0005-linux-syslinux-implement-handle_adv_on_ext.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0005-linux-syslinux-implement-handle_adv_on_ext.patch
@@ -1,7 +1,7 @@
-From cdb980b37f40dc2c41891434c7736e49da53756e Mon Sep 17 00:00:00 2001
+From ee3a60829edc9d3344dc872fb0158e7b006f02be Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Wed, 31 Dec 2014 16:47:52 +0800
-Subject: [PATCH 5/9] linux/syslinux: implement handle_adv_on_ext()
+Subject: [PATCH] linux/syslinux: implement handle_adv_on_ext()
It reads adv if found on the device, or resets syslinux_adv, or update
the adv if update adv only.
@@ -11,14 +11,14 @@ Upstream-Status: Submitted
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Tested-by: Du Dolpher <dolpher.du@intel.com>
---
- linux/syslinux.c | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ linux/syslinux.c | 97 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 97 insertions(+)
diff --git a/linux/syslinux.c b/linux/syslinux.c
-index 247c86a..de5d272 100755
+index c7c1994..90b8edd 100755
--- a/linux/syslinux.c
+++ b/linux/syslinux.c
-@@ -421,6 +421,103 @@ int install_bootblock(int fd, const char *device)
+@@ -422,6 +422,103 @@ int install_bootblock(int fd, const char *device)
static int handle_adv_on_ext(void)
{
@@ -122,6 +122,3 @@ index 247c86a..de5d272 100755
}
/* Write files, adv, boot sector */
---
-1.9.1
-
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0006-linux-syslinux-implement-write_to_ext-and-add-syslin.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0006-linux-syslinux-implement-write_to_ext-and-add-syslin.patch
index cba87252a5..ba6d29d3bb 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0006-linux-syslinux-implement-write_to_ext-and-add-syslin.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0006-linux-syslinux-implement-write_to_ext-and-add-syslin.patch
@@ -1,7 +1,7 @@
-From 922e56c10e36d876777580c84daef9a66bea6525 Mon Sep 17 00:00:00 2001
+From 758731ce2432ab29a73505bbeb99a960996ab686 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Wed, 31 Dec 2014 17:20:43 +0800
-Subject: [PATCH 6/9] linux/syslinux: implement write_to_ext() and add
+Subject: [PATCH] linux/syslinux: implement write_to_ext() and add
syslinuxext.c
* The write_to_ext() write file to the extX device, and handle the boot
@@ -17,7 +17,7 @@ Tested-by: Du Dolpher <dolpher.du@intel.com>
libinstaller/syslinuxext.c | 7 +++
libinstaller/syslinuxext.h | 5 ++
linux/Makefile | 3 +-
- linux/syslinux.c | 118 +++++++++++++++++++++++++++++++++++++++++++++
+ linux/syslinux.c | 118 +++++++++++++++++++++++++++++++++++++
4 files changed, 132 insertions(+), 1 deletion(-)
create mode 100644 libinstaller/syslinuxext.c
create mode 100644 libinstaller/syslinuxext.h
@@ -47,10 +47,10 @@ index 0000000..8abd8b9
+
+void syslinux_patch_bootsect(int dev_fd);
diff --git a/linux/Makefile b/linux/Makefile
-index ac1ac58..3b23867 100644
+index 67cbbb4..567134c 100644
--- a/linux/Makefile
+++ b/linux/Makefile
-@@ -30,7 +30,8 @@ SRCS = syslinux.c \
+@@ -31,7 +31,8 @@ SRCS = syslinux.c \
../libinstaller/syslxmod.c \
../libinstaller/bootsect_bin.c \
../libinstaller/ldlinuxc32_bin.c \
@@ -61,7 +61,7 @@ index ac1ac58..3b23867 100644
.SUFFIXES: .c .o .i .s .S
diff --git a/linux/syslinux.c b/linux/syslinux.c
-index de5d272..f0c97a8 100755
+index 90b8edd..7a20fe6 100755
--- a/linux/syslinux.c
+++ b/linux/syslinux.c
@@ -46,6 +46,7 @@
@@ -72,7 +72,7 @@ index de5d272..f0c97a8 100755
#include "linuxioctl.h"
-@@ -72,6 +73,7 @@
+@@ -73,6 +74,7 @@
#include "syslxfs.h"
#include "setadv.h"
#include "syslxopt.h" /* unified options */
@@ -80,7 +80,7 @@ index de5d272..f0c97a8 100755
#include <ext2fs/ext2fs.h>
extern const char *program; /* Name of program */
-@@ -419,6 +421,12 @@ int install_bootblock(int fd, const char *device)
+@@ -420,6 +422,12 @@ int install_bootblock(int fd, const char *device)
{
}
@@ -93,7 +93,7 @@ index de5d272..f0c97a8 100755
static int handle_adv_on_ext(void)
{
int i, retval, found_file;
-@@ -524,6 +532,116 @@ fail:
+@@ -525,6 +533,116 @@ fail:
static int write_to_ext(const char *filename, const char *str, int length,
int i_flags, int dev_fd, const char *subdir)
{
@@ -210,6 +210,3 @@ index de5d272..f0c97a8 100755
}
/* The install func for ext2, ext3 and ext4 */
---
-1.9.1
-
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch
index 3913811917..57cdaf437b 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch
@@ -1,7 +1,7 @@
-From a95b831e18dd123f859bc5e6c4cecdcc0184ee37 Mon Sep 17 00:00:00 2001
+From 906205015601d5d1190e7326f51ea4316a74a479 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Fri, 2 Jan 2015 12:18:02 +0800
-Subject: [PATCH 7/9] linux/syslinux: implement ext_construct_sectmap_fs()
+Subject: [PATCH] linux/syslinux: implement ext_construct_sectmap_fs()
The ext_construct_sectmap_fs() constucts the sector according to the
bmap.
@@ -11,14 +11,14 @@ Upstream-Status: Submitted
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Tested-by: Du Dolpher <dolpher.du@intel.com>
---
- linux/syslinux.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ linux/syslinux.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/linux/syslinux.c b/linux/syslinux.c
-index f0c97a8..c741750 100755
+index 7a20fe6..4e43921 100755
--- a/linux/syslinux.c
+++ b/linux/syslinux.c
-@@ -421,10 +421,60 @@ int install_bootblock(int fd, const char *device)
+@@ -422,10 +422,60 @@ int install_bootblock(int fd, const char *device)
{
}
@@ -79,6 +79,3 @@ index f0c97a8..c741750 100755
}
static int handle_adv_on_ext(void)
---
-1.9.1
-
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch
index f1d01fa43c..b026eba5ad 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch
@@ -1,4 +1,4 @@
-From efce87e5ab98664c57e5f4e3955a2f3747df5737 Mon Sep 17 00:00:00 2001
+From acfc8214d3d60b7e251ae66a59b81cdd1ff7a6dc Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Fri, 2 Jan 2015 12:26:46 +0800
Subject: [PATCH] libinstaller/syslinuxext: implement syslinux_patch_bootsect()
@@ -22,7 +22,7 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
3 files changed, 176 insertions(+), 165 deletions(-)
diff --git a/extlinux/Makefile b/extlinux/Makefile
-index 1721ee54..62a49728 100644
+index 1721ee5..62a4972 100644
--- a/extlinux/Makefile
+++ b/extlinux/Makefile
@@ -32,7 +32,8 @@ SRCS = main.c \
@@ -36,7 +36,7 @@ index 1721ee54..62a49728 100644
.SUFFIXES: .c .o .i .s .S
diff --git a/extlinux/main.c b/extlinux/main.c
-index ebff7eae..9add50fb 100644
+index ebff7ea..9add50f 100644
--- a/extlinux/main.c
+++ b/extlinux/main.c
@@ -62,6 +62,7 @@
@@ -244,7 +244,7 @@ index ebff7eae..9add50fb 100644
/* Construct the boot file map */
diff --git a/libinstaller/syslinuxext.c b/libinstaller/syslinuxext.c
-index bb54cefc..9ae82884 100644
+index bb54cef..9ae8288 100644
--- a/libinstaller/syslinuxext.c
+++ b/libinstaller/syslinuxext.c
@@ -1,7 +1,178 @@
@@ -426,6 +426,3 @@ index bb54cefc..9ae82884 100644
+ set_32(&sbs->bsHiddenSecs, geo.start);
}
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0009-linux-syslinux-implement-install_bootblock.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0009-linux-syslinux-implement-install_bootblock.patch
index cd89d92485..1c875e81f6 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0009-linux-syslinux-implement-install_bootblock.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0009-linux-syslinux-implement-install_bootblock.patch
@@ -1,7 +1,7 @@
-From 76c465e87312dbc6cffd05427f1f4d2ebdee4f13 Mon Sep 17 00:00:00 2001
+From c28aae8bd381f77e66e6bac79761df7a484b054c Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Fri, 2 Jan 2015 12:28:35 +0800
-Subject: [PATCH 9/9] linux/syslinux: implement install_bootblock()
+Subject: [PATCH] linux/syslinux: implement install_bootblock()
Refer to the install_bootblock() in extlinux/main.c to make
linux/syslinux.c's install_bootblock() which only supports ext2/3/4.
@@ -15,10 +15,10 @@ Tested-by: Du Dolpher <dolpher.du@intel.com>
1 file changed, 20 insertions(+)
diff --git a/linux/syslinux.c b/linux/syslinux.c
-index c741750..917f83a 100755
+index 4e43921..93ed880 100755
--- a/linux/syslinux.c
+++ b/linux/syslinux.c
-@@ -419,6 +419,26 @@ static int ext_file_write(ext2_file_t e2_file, const void *buf, size_t count,
+@@ -420,6 +420,26 @@ static int ext_file_write(ext2_file_t e2_file, const void *buf, size_t count,
*/
int install_bootblock(int fd, const char *device)
{
@@ -45,6 +45,3 @@ index c741750..917f83a 100755
}
/* The file's block count */
---
-1.9.1
-
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch
index 44cb153276..813d10ba5c 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch
@@ -1,13 +1,12 @@
-From 951928f2cad5682c2844e6bd0f7201236c5d9b66 Mon Sep 17 00:00:00 2001
+From f2a5b64785958226c022cac9931b059b98f4e896 Mon Sep 17 00:00:00 2001
From: Merlin Mathesius <mmathesi@redhat.com>
Date: Wed, 13 May 2020 08:02:27 -0500
Subject: [PATCH] Workaround multiple definition of symbol errors
Lifted from Fedora https://src.fedoraproject.org/rpms/syslinux/blob/master/f/0005-Workaround-multiple-definition-of-symbol-errors.patch
-Upstream-Status: Pending
+Upstream-Status: Inactive-Upstream
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---
com32/cmenu/Makefile | 2 +-
com32/elflink/ldlinux/Makefile | 2 +-
@@ -18,6 +17,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
efi/Makefile | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
+diff --git a/com32/cmenu/Makefile b/com32/cmenu/Makefile
+index b81b68e..2ae989c 100644
--- a/com32/cmenu/Makefile
+++ b/com32/cmenu/Makefile
@@ -49,7 +49,7 @@ makeoutputdirs:
@@ -29,6 +30,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
-o $@ $^
tidy dist:
+diff --git a/com32/elflink/ldlinux/Makefile b/com32/elflink/ldlinux/Makefile
+index 87c0d36..2be2a01 100644
--- a/com32/elflink/ldlinux/Makefile
+++ b/com32/elflink/ldlinux/Makefile
@@ -33,7 +33,7 @@ endif
@@ -40,6 +43,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
LNXCFLAGS += -D__export='__attribute__((visibility("default")))'
LNXLIBOBJS = get_key.lo
+diff --git a/com32/gpllib/Makefile b/com32/gpllib/Makefile
+index 1fec914..2d764d0 100644
--- a/com32/gpllib/Makefile
+++ b/com32/gpllib/Makefile
@@ -24,7 +24,7 @@ makeoutputdirs:
@@ -51,6 +56,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
tidy dist clean:
find . \( -name \*.o -o -name .\*.d -o -name \*.tmp \) -print0 | \
+diff --git a/com32/hdt/Makefile b/com32/hdt/Makefile
+index 61736d0..1d94785 100644
--- a/com32/hdt/Makefile
+++ b/com32/hdt/Makefile
@@ -52,7 +52,7 @@ QEMU ?= qemu-kvm
@@ -62,6 +69,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
memtest:
-[ ! -f $(FLOPPY_DIR)/$(MEMTEST) ] && $(WGET) $(MEMTEST_URL) -O $(FLOPPY_DIR)/$(MEMTEST)
+diff --git a/core/Makefile b/core/Makefile
+index 50ff35a..f0a5562 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -156,7 +156,7 @@ LDSCRIPT = $(SRC)/$(ARCH)/syslinux.ld
@@ -73,6 +82,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
-T $(LDSCRIPT) \
--unresolved-symbols=report-all \
-E --hash-style=gnu -M -o $@ $< \
+diff --git a/dos/Makefile b/dos/Makefile
+index 4c930d1..5d1c72c 100644
--- a/dos/Makefile
+++ b/dos/Makefile
@@ -19,7 +19,7 @@ include $(MAKEDIR)/embedded.mk
@@ -84,6 +95,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
OPTFLAGS = -g
INCLUDES = -include code16.h -nostdinc -iwithprefix include \
-I$(SRC) -I$(SRC)/.. -I$(SRC)/../libfat \
+diff --git a/efi/Makefile b/efi/Makefile
+index f4501e7..72e081e 100644
--- a/efi/Makefile
+++ b/efi/Makefile
@@ -71,7 +71,7 @@ $(OBJS): | $(OBJ)/$(ARCH)
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0001-install-don-t-install-obsolete-file-com32.ld.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0011-install-don-t-install-obsolete-file-com32.ld.patch
index bfd7f41b13..4bc423a1de 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0001-install-don-t-install-obsolete-file-com32.ld.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0011-install-don-t-install-obsolete-file-com32.ld.patch
@@ -1,4 +1,4 @@
-From bf6db5b48ec25f83939f1fdebb59028bc3c40b00 Mon Sep 17 00:00:00 2001
+From 66447f7c5c6996481ebd68ce8224d3de7525aad8 Mon Sep 17 00:00:00 2001
From: "H. Peter Anvin (Intel)" <hpa@zytor.com>
Date: Wed, 6 Feb 2019 11:30:51 -0800
Subject: [PATCH] install: don't install obsolete file com32.ld
@@ -16,7 +16,7 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
1 file changed, 1 deletion(-)
diff --git a/com32/lib/Makefile b/com32/lib/Makefile
-index 74fff149..6a931492 100644
+index 74fff14..6a93149 100644
--- a/com32/lib/Makefile
+++ b/com32/lib/Makefile
@@ -113,7 +113,6 @@ spotless: clean
@@ -27,6 +27,3 @@ index 74fff149..6a931492 100644
-rm -rf $(INSTALLROOT)$(COM32DIR)/include
cp -r $(SRC)/../include $(INSTALLROOT)$(COM32DIR)
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0012-libinstaller-Fix-build-with-glibc-2.36.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0012-libinstaller-Fix-build-with-glibc-2.36.patch
new file mode 100644
index 0000000000..21b83e49dc
--- /dev/null
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0012-libinstaller-Fix-build-with-glibc-2.36.patch
@@ -0,0 +1,56 @@
+From 821d31148c07a8318277be32bc6a943c7fd2ba3f Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sat, 6 Aug 2022 11:53:55 +0000
+Subject: [PATCH] libinstaller: Fix build with glibc-2.36
+
+* add only necessary definitions from linux/fs.h, because including whole
+ causes conflicts with sys/mount.h:
+ http://errors.yoctoproject.org/Errors/Details/664535/
+
+In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/syslinux/6.04-pre2-r1/recipe-sysroot/usr/include/linux/fs.h:19,
+ from TOPDIR/tmp-glibc/work/core2-64-oe-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/linux/../libinstaller/linuxioctl.h:19,
+ from TOPDIR/tmp-glibc/work/core2-64-oe-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/linux/../libinstaller/syslxcom.c:34:
+TOPDIR/tmp-glibc/work/core2-64-oe-linux/syslinux/6.04-pre2-r1/recipe-sysroot/usr/include/linux/mount.h:95:6: error: redeclaration of 'enum fsconfig_command'
+ 95 | enum fsconfig_command {
+ | ^~~~~~~~~~~~~~~~
+In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/linux/../libinstaller/syslxcom.c:31:
+TOPDIR/tmp-glibc/work/core2-64-oe-linux/syslinux/6.04-pre2-r1/recipe-sysroot/usr/include/sys/mount.h:189:6: note: originally defined here
+ 189 | enum fsconfig_command
+ | ^~~~~~~~~~~~~~~~
+TOPDIR/tmp-glibc/work/core2-64-oe-linux/syslinux/6.04-pre2-r1/recipe-sysroot/usr/include/linux/mount.h:96:9: error: redeclaration of enumerator 'FSCONFIG_SET_FLAG'
+ 96 | FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */
+ | ^~~~~~~~~~~~~~~~~
+...
+
+Upstream-Status: Inactive-Upstream
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ libinstaller/linuxioctl.h | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/libinstaller/linuxioctl.h b/libinstaller/linuxioctl.h
+index e2731c7..f4a6703 100644
+--- a/libinstaller/linuxioctl.h
++++ b/libinstaller/linuxioctl.h
+@@ -16,7 +16,20 @@
+ #include <linux/fd.h> /* Floppy geometry */
+ #include <linux/hdreg.h> /* Hard disk geometry */
+
+-#include <linux/fs.h> /* FIGETBSZ, FIBMAP, FS_IOC_* */
++// #include <linux/fs.h> /* FIGETBSZ, FIBMAP, FS_IOC_* */
++// linux/fs.h unfortunately causes conflict with sys/mount.h since glibc-2.36
++// https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
++// add the necessary definitions
++
++#define FS_IOC_GETFLAGS _IOR('f', 1, long)
++#define FS_IOC_SETFLAGS _IOW('f', 2, long)
++#define FIBMAP _IO(0x00,1) /* bmap access */
++#define FIGETBSZ _IO(0x00,2) /* get the block size used for bmap */
++#define FS_IMMUTABLE_FL 0x00000010 /* Immutable file */
++#define BLKGETSIZE _IO(0x12,96) /* return device size /512 (long *arg) */
++
++// for musl we also need limits.h for PATH_MAX
++#include <linux/limits.h>
+
+ #undef SECTOR_SIZE /* Defined in msdos_fs.h for no good reason */
+ #undef SECTOR_BITS
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0013-remove-clean-script.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0013-remove-clean-script.patch
new file mode 100644
index 0000000000..c0af7eff86
--- /dev/null
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0013-remove-clean-script.patch
@@ -0,0 +1,27 @@
+From a11c8f88de6b6c42c805ba76e70532977bfd24bf Mon Sep 17 00:00:00 2001
+From: Saul Wold <sgw@linux.intel.com>
+Date: Wed, 10 Dec 2014 10:26:33 -0800
+Subject: [PATCH] remove clean script
+
+This script try to call git submodule, since we are downloading
+the tarball it seems in-correct to do this.
+
+Upstream-Status: Inappropriate [OE-Specific]
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ efi/Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/efi/Makefile b/efi/Makefile
+index 72e081e..3cfb3f6 100644
+--- a/efi/Makefile
++++ b/efi/Makefile
+@@ -102,7 +102,6 @@ tidy dist:
+ rm -f *.so *.o wrapper
+ find . \( -name \*.o -o -name \*.a -o -name .\*.d -o -name \*.tmp \) -print0 | \
+ xargs -0r rm -f
+- $(topdir)/efi/clean-gnu-efi.sh $(EFI_SUBARCH) $(objdir)
+
+ clean: tidy
+
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/determinism.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0014-Fix-reproducibility-issues.patch
index 2fb8c64df3..bc48160cba 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/determinism.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0014-Fix-reproducibility-issues.patch
@@ -1,14 +1,24 @@
+From e49e86bd3199f51ada8a4a1d51aa8d627645279e Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Sat, 27 Feb 2021 23:42:03 +0000
+Subject: [PATCH] Fix reproducibility issues
+
In order to build deterministic binaries, we need to sort the wildcard expansion
so the libraries are linked in the same order each time. This fixes reproducibility
issues within syslinux builds.
-Upstream-Status: Pending
+Upstream-Status: Inactive-Upstream
RP 2021/3/1
-Index: syslinux-6.04-pre2/mk/lib.mk
-===================================================================
---- syslinux-6.04-pre2.orig/mk/lib.mk
-+++ syslinux-6.04-pre2/mk/lib.mk
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ mk/lib.mk | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/mk/lib.mk b/mk/lib.mk
+index f3fb07c..815698c 100644
+--- a/mk/lib.mk
++++ b/mk/lib.mk
@@ -130,8 +130,8 @@ LIBENTRY_OBJS = \
exit.o
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/syslinux-remove-clean-script.patch b/poky/meta/recipes-devtools/syslinux/syslinux/syslinux-remove-clean-script.patch
deleted file mode 100644
index 7c003e165b..0000000000
--- a/poky/meta/recipes-devtools/syslinux/syslinux/syslinux-remove-clean-script.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-This script try to call git submodule, since we are downloading
-the tarball it seems in-correct to do this.
-
-Upstream-Status: Inappropriate [OE-Specific]
-Signed-off-by: Saul Wold <sgw@linux.intel.com>
-Index: syslinux-6.03/efi/Makefile
-===================================================================
---- syslinux-6.03.orig/efi/Makefile
-+++ syslinux-6.03/efi/Makefile
-@@ -101,7 +101,6 @@ tidy dist:
- rm -f *.so *.o wrapper
- find . \( -name \*.o -o -name \*.a -o -name .\*.d -o -name \*.tmp \) -print0 | \
- xargs -0r rm -f
-- $(topdir)/efi/clean-gnu-efi.sh $(EFI_SUBARCH) $(objdir)
-
- clean: tidy
-
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
index 0e4a23c1b4..5604901592 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
+++ b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
@@ -8,7 +8,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
DEPENDS = "nasm-native util-linux e2fsprogs"
SRC_URI = "https://www.zytor.com/pub/syslinux/Testing/6.04/syslinux-${PV}.tar.xz \
- file://syslinux-remove-clean-script.patch \
file://0001-linux-syslinux-support-ext2-3-4-device.patch \
file://0002-linux-syslinux-implement-open_ext2_fs.patch \
file://0003-linux-syslinux-implement-install_to_ext2.patch \
@@ -19,9 +18,11 @@ SRC_URI = "https://www.zytor.com/pub/syslinux/Testing/6.04/syslinux-${PV}.tar.xz
file://0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch \
file://0009-linux-syslinux-implement-install_bootblock.patch \
file://0010-Workaround-multiple-definition-of-symbol-errors.patch \
- file://0001-install-don-t-install-obsolete-file-com32.ld.patch \
- file://determinism.patch \
- "
+ file://0011-install-don-t-install-obsolete-file-com32.ld.patch \
+ file://0012-libinstaller-Fix-build-with-glibc-2.36.patch \
+ file://0013-remove-clean-script.patch \
+ file://0014-Fix-reproducibility-issues.patch \
+"
SRC_URI[md5sum] = "2b31c78f087f99179feb357da312d7ec"
SRC_URI[sha256sum] = "4441a5d593f85bb6e8d578cf6653fb4ec30f9e8f4a2315a3d8f2d0a8b3fadf94"
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch b/poky/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch
index 07774f38a9..51cd3532d3 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch
@@ -3,14 +3,14 @@ From: Aneesh Bansal <aneesh.bansal@freescale.com>
Date: Mon, 21 Nov 2011 17:31:39 +0530
Subject: [PATCH] Added support for PPC instructions mfatbu, mfatbl.
-Upstream-Status: Pending
-
-Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com>
----
Currently Valgrind 3.7.0 does not have support for PPC instructions mfatbu and mfatbl. When we run a USDPAA application with VALGRIND, the following error is given by valgrind :
dis_proc_ctl(ppc)(mfspr,SPR)(0x20F)
disInstr(ppc): unhandled instruction: 0x7C0F82A6
+Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=289836]
+
+Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com>
+---
VEX/priv/guest_ppc_defs.h | 2 ++
VEX/priv/guest_ppc_helpers.c | 18 ++++++++++++++++++
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all
index cb8d10b18f..a26837d297 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all
@@ -4,5 +4,6 @@ memcheck/tests/supp_unknown
helgrind/tests/tls_threads
drd/tests/bar_bad_xml
drd/tests/pth_barrier_thr_cr
+drd/tests/std_thread2
drd/tests/thread_name_xml
massif/tests/deep-D
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.19.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.19.0.bb
index 69915de505..4b21b74e90 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind_3.19.0.bb
+++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.19.0.bb
@@ -239,8 +239,8 @@ do_install_ptest() {
# As the binary isn't stripped or debug-splitted, the source file isn't fetched
# via dwarfsrcfiles either, so it needs to be installed manually.
- mkdir -p ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/${BP}/none/tests/
- install ${S}/none/tests/tls.c ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/${BP}/none/tests/
+ mkdir -p ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/none/tests/
+ install ${S}/none/tests/tls.c ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/none/tests/
}
# avoid stripping some generated binaries otherwise some of the tests will fail
diff --git a/poky/meta/recipes-devtools/xmlto/xmlto/0001-Skip-validating-xmlto-output.patch b/poky/meta/recipes-devtools/xmlto/xmlto/0001-Skip-validating-xmlto-output.patch
new file mode 100644
index 0000000000..c6857a9da5
--- /dev/null
+++ b/poky/meta/recipes-devtools/xmlto/xmlto/0001-Skip-validating-xmlto-output.patch
@@ -0,0 +1,29 @@
+From 3deb7a0eded04ab08a9cb2d88526cb1c7b440061 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 14 Aug 2022 00:23:29 -0700
+Subject: [PATCH] Skip validating xmlto output
+
+Avoids network access
+
+Upstream-Status: Submitted [https://pagure.io/xmlto/pull-request/11]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 50fa279..6a2da62 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -68,7 +68,7 @@ EXTRA_DIST = xmlto.spec \
+ doc/xmlif.xml \
+ xmlto.mak
+
+-GEN_MANPAGE = FORMAT_DIR=$(top_srcdir)/format $(BASH) ./xmlto -o $(@D) man $<
++GEN_MANPAGE = FORMAT_DIR=$(top_srcdir)/format $(BASH) ./xmlto --skip-validation -o $(@D) man $<
+ man/man1/xmlto.1: doc/xmlto.xml ; $(GEN_MANPAGE)
+ man/man1/xmlif.1: doc/xmlif.xml ; $(GEN_MANPAGE)
+
+--
+2.37.2
+
diff --git a/poky/meta/recipes-devtools/xmlto/xmlto-0.0.28/configure.in-drop-the-test-of-xmllint-and-xsltproc.patch b/poky/meta/recipes-devtools/xmlto/xmlto/configure.in-drop-the-test-of-xmllint-and-xsltproc.patch
index 6d547a6c99..7cc3cbe0fb 100644
--- a/poky/meta/recipes-devtools/xmlto/xmlto-0.0.28/configure.in-drop-the-test-of-xmllint-and-xsltproc.patch
+++ b/poky/meta/recipes-devtools/xmlto/xmlto/configure.in-drop-the-test-of-xmllint-and-xsltproc.patch
@@ -9,9 +9,9 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
configure.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/configure.in b/configure.in
---- a/configure.in
-+++ b/configure.in
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
@@ -42,10 +42,10 @@ AC_ARG_VAR([LOCALE], [Name and path of the `locale' program.])
AC_PATH_PROG([LOCALE], [locale], [locale])
diff --git a/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb b/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
index 5cb9a4c57b..373eca2454 100644
--- a/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
+++ b/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
@@ -6,17 +6,21 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-SRC_URI = "https://releases.pagure.org/xmlto/xmlto-${PV}.tar.gz \
+SRCREV = "6fa6a0e07644f20abf2596f78a60112713e11cbe"
+UPSTREAM_CHECK_COMMITS = "1"
+SRC_URI = "git://pagure.io/xmlto.git;protocol=https;branch=master \
file://configure.in-drop-the-test-of-xmllint-and-xsltproc.patch \
+ file://0001-Skip-validating-xmlto-output.patch \
"
-SRC_URI[md5sum] = "a1fefad9d83499a15576768f60f847c6"
-SRC_URI[sha256sum] = "2f986b7c9a0e9ac6728147668e776d405465284e13c74d4146c9cbc51fd8aad3"
+S = "${WORKDIR}/git"
+
+PV .= "+0.0.29+git${SRCPV}"
inherit autotools
CLEANBROKEN = "1"
-DEPENDS = "libxml2-native"
+DEPENDS = "libxml2-native libxslt-native flex-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
RDEPENDS:${PN} = "docbook-xml-dtd4 \
docbook-xsl-stylesheets \
@@ -36,6 +40,10 @@ BBCLASSEXTEND = "native"
EXTRA_OECONF:append = " BASH=/bin/bash GCP=/bin/cp XMLLINT=xmllint XSLTPROC=xsltproc"
+do_configure:prepend() {
+ (cd ${S} && flex -o xmlif/xmlif.c xmlif/xmlif.l)
+}
+
do_install:append:class-native() {
create_wrapper ${D}${bindir}/xmlto XML_CATALOG_FILES=${sysconfdir}/xml/catalog
}
diff --git a/poky/meta/recipes-extended/cracklib/cracklib/0001-rules-Drop-using-register-keyword.patch b/poky/meta/recipes-extended/cracklib/cracklib/0001-rules-Drop-using-register-keyword.patch
new file mode 100644
index 0000000000..a8446653eb
--- /dev/null
+++ b/poky/meta/recipes-extended/cracklib/cracklib/0001-rules-Drop-using-register-keyword.patch
@@ -0,0 +1,278 @@
+From fe49471cfa7fe0618615c065f4c0ad04e888bf92 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 7 Aug 2022 12:24:39 -0700
+Subject: [PATCH 1/2] rules: Drop using register keyword
+
+This is a deprecated keyword
+
+Upstream-Status: Submitted [https://github.com/cracklib/cracklib/pull/48]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/rules.c | 94 ++++++++++++++++++++++++-------------------------
+ 1 file changed, 47 insertions(+), 47 deletions(-)
+
+diff --git a/lib/rules.c b/lib/rules.c
+index 3a2aa46..6e7a12a 100644
+--- a/lib/rules.c
++++ b/lib/rules.c
+@@ -67,8 +67,8 @@ Suffix(myword, suffix)
+ char *myword;
+ char *suffix;
+ {
+- register int i;
+- register int j;
++ int i;
++ int j;
+ i = strlen(myword);
+ j = strlen(suffix);
+
+@@ -83,10 +83,10 @@ Suffix(myword, suffix)
+
+ char *
+ Reverse(str) /* return a pointer to a reversal */
+- register char *str;
++ char *str;
+ {
+- register int i;
+- register int j;
++ int i;
++ int j;
+ static char area[STRINGSIZE];
+ j = i = strlen(str);
+ while (*str)
+@@ -99,9 +99,9 @@ Reverse(str) /* return a pointer to a reversal */
+
+ char *
+ Uppercase(str) /* return a pointer to an uppercase */
+- register char *str;
++ char *str;
+ {
+- register char *ptr;
++ char *ptr;
+ static char area[STRINGSIZE];
+ ptr = area;
+ while (*str)
+@@ -116,9 +116,9 @@ Uppercase(str) /* return a pointer to an uppercase */
+
+ char *
+ Lowercase(str) /* return a pointer to an lowercase */
+- register char *str;
++ char *str;
+ {
+- register char *ptr;
++ char *ptr;
+ static char area[STRINGSIZE];
+ ptr = area;
+ while (*str)
+@@ -133,9 +133,9 @@ Lowercase(str) /* return a pointer to an lowercase */
+
+ char *
+ Capitalise(str) /* return a pointer to an capitalised */
+- register char *str;
++ char *str;
+ {
+- register char *ptr;
++ char *ptr;
+ static char area[STRINGSIZE];
+ ptr = area;
+
+@@ -152,9 +152,9 @@ Capitalise(str) /* return a pointer to an capitalised */
+
+ char *
+ Pluralise(string) /* returns a pointer to a plural */
+- register char *string;
++ char *string;
+ {
+- register int length;
++ int length;
+ static char area[STRINGSIZE];
+ length = strlen(string);
+ strcpy(area, string);
+@@ -193,11 +193,11 @@ Pluralise(string) /* returns a pointer to a plural */
+
+ char *
+ Substitute(string, old, new) /* returns pointer to a swapped about copy */
+- register char *string;
+- register char old;
+- register char new;
++ char *string;
++ char old;
++ char new;
+ {
+- register char *ptr;
++ char *ptr;
+ static char area[STRINGSIZE];
+ ptr = area;
+ while (*string)
+@@ -211,11 +211,11 @@ Substitute(string, old, new) /* returns pointer to a swapped about copy */
+
+ char *
+ Purge(string, target) /* returns pointer to a purged copy */
+- register char *string;
+- register char target;
++ char *string;
++ char target;
+ {
+- register char *ptr;
+- static char area[STRINGSIZE];
++ char *ptr;
++ char area[STRINGSIZE];
+ ptr = area;
+ while (*string)
+ {
+@@ -238,11 +238,11 @@ Purge(string, target) /* returns pointer to a purged copy */
+
+ int
+ MatchClass(class, input)
+- register char class;
+- register char input;
++ char class;
++ char input;
+ {
+- register char c;
+- register int retval;
++ char c;
++ int retval;
+ retval = 0;
+
+ switch (class)
+@@ -357,8 +357,8 @@ MatchClass(class, input)
+
+ char *
+ PolyStrchr(string, class)
+- register char *string;
+- register char class;
++ char *string;
++ char class;
+ {
+ while (*string)
+ {
+@@ -373,11 +373,11 @@ PolyStrchr(string, class)
+
+ char *
+ PolySubst(string, class, new) /* returns pointer to a swapped about copy */
+- register char *string;
+- register char class;
+- register char new;
++ char *string;
++ char class;
++ char new;
+ {
+- register char *ptr;
++ char *ptr;
+ static char area[STRINGSIZE];
+ ptr = area;
+ while (*string)
+@@ -391,10 +391,10 @@ PolySubst(string, class, new) /* returns pointer to a swapped about copy */
+
+ char *
+ PolyPurge(string, class) /* returns pointer to a purged copy */
+- register char *string;
+- register char class;
++ char *string;
++ char class;
+ {
+- register char *ptr;
++ char *ptr;
+ static char area[STRINGSIZE];
+ ptr = area;
+ while (*string)
+@@ -433,7 +433,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */
+ char *control;
+ {
+ int limit;
+- register char *ptr;
++ char *ptr;
+ static char area[STRINGSIZE * 2] = {0};
+ char area2[STRINGSIZE * 2] = {0};
+ strcpy(area, input);
+@@ -523,7 +523,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */
+ return NULL;
+ } else
+ {
+- register char *string;
++ char *string;
+ string = area;
+ while (*(string++));
+ string[-1] = *(++ptr);
+@@ -537,7 +537,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */
+ return NULL;
+ } else
+ {
+- register int i;
++ int i;
+ int start;
+ int length;
+ start = Char2Int(*(++ptr));
+@@ -563,7 +563,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */
+ return NULL;
+ } else
+ {
+- register int i;
++ int i;
+ i = Char2Int(*(++ptr));
+ if (i < 0)
+ {
+@@ -587,9 +587,9 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */
+ return NULL;
+ } else
+ {
+- register int i;
+- register char *p1;
+- register char *p2;
++ int i;
++ char *p1;
++ char *p2;
+ i = Char2Int(*(++ptr));
+ if (i < 0)
+ {
+@@ -696,7 +696,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */
+ return NULL;
+ } else
+ {
+- register int i;
++ int i;
+ if ((i = Char2Int(ptr[1])) < 0)
+ {
+ Debug(1, "Mangle: '=' weird argument in '%s'\n", control);
+@@ -723,7 +723,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */
+ case RULE_DFIRST:
+ if (area[0])
+ {
+- register int i;
++ int i;
+ for (i = 1; area[i]; i++)
+ {
+ area[i - 1] = area[i];
+@@ -735,7 +735,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */
+ case RULE_DLAST:
+ if (area[0])
+ {
+- register int i;
++ int i;
+ for (i = 1; area[i]; i++);
+ area[i - 1] = '\0';
+ }
+@@ -771,7 +771,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */
+ return NULL;
+ } else
+ {
+- register int i;
++ int i;
+
+ for (i = 0; area[i]; i++);
+
+@@ -815,8 +815,8 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */
+
+ int
+ PMatch(control, string)
+-register char *control;
+-register char *string;
++char *control;
++char *string;
+ {
+ while (*string && *control)
+ {
+--
+2.37.1
+
diff --git a/poky/meta/recipes-extended/cracklib/cracklib/0002-rules-Correct-parameter-types-to-Debug-calls.patch b/poky/meta/recipes-extended/cracklib/cracklib/0002-rules-Correct-parameter-types-to-Debug-calls.patch
new file mode 100644
index 0000000000..a8692b0cca
--- /dev/null
+++ b/poky/meta/recipes-extended/cracklib/cracklib/0002-rules-Correct-parameter-types-to-Debug-calls.patch
@@ -0,0 +1,40 @@
+From 793921a8ee4ae7f20e1fd2bbec5196bc83176b01 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 7 Aug 2022 12:25:24 -0700
+Subject: [PATCH 2/2] rules: Correct parameter types to Debug() calls
+
+Fixes
+src/lib/rules.c:346:45: error: incompatible integer to pointer conversion passing 'char' to parameter of type 'char *'; take the address with & [-Wint-conversion]
+src/lib/rules.c:804:53: error: incompatible integer to pointer conversion passing 'char' to parameter of type 'char *'; remove * [-Wint-conversion] Debug(1, "Mangle: unknown command %c in %s\n", *ptr, control);
+ ^~~~
+Upstream-Status: Submitted [https://github.com/cracklib/cracklib/pull/48]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/rules.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/rules.c b/lib/rules.c
+index 6e7a12a..4a34f91 100644
+--- a/lib/rules.c
++++ b/lib/rules.c
+@@ -343,7 +343,7 @@ MatchClass(class, input)
+ break;
+
+ default:
+- Debug(1, "MatchClass: unknown class %c\n", class);
++ Debug(1, "MatchClass: unknown class %c\n", &class);
+ return (0);
+ break;
+ }
+@@ -801,7 +801,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */
+ }
+
+ default:
+- Debug(1, "Mangle: unknown command %c in %s\n", *ptr, control);
++ Debug(1, "Mangle: unknown command %c in %s\n", ptr, control);
+ return NULL;
+ break;
+ }
+--
+2.37.1
+
diff --git a/poky/meta/recipes-extended/cracklib/cracklib_2.9.7.bb b/poky/meta/recipes-extended/cracklib/cracklib_2.9.7.bb
index 629069e844..ffed88ed01 100644
--- a/poky/meta/recipes-extended/cracklib/cracklib_2.9.7.bb
+++ b/poky/meta/recipes-extended/cracklib/cracklib_2.9.7.bb
@@ -11,7 +11,10 @@ EXTRA_OECONF = "--without-python --libdir=${base_libdir}"
SRC_URI = "git://github.com/cracklib/cracklib;protocol=https;branch=master \
file://0001-packlib.c-support-dictionary-byte-order-dependent.patch \
- file://0002-craklib-fix-testnum-and-teststr-failed.patch"
+ file://0002-craklib-fix-testnum-and-teststr-failed.patch \
+ file://0001-rules-Drop-using-register-keyword.patch \
+ file://0002-rules-Correct-parameter-types-to-Debug-calls.patch \
+ "
SRCREV = "f83934cf3cced0c9600c7d81332f4169f122a2cf"
S = "${WORKDIR}/git/src"
diff --git a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
index 4391a91767..f8703d8145 100644
--- a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
+++ b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
@@ -1,4 +1,4 @@
-From b0270486eca02e1b70eff7517936fad77bb1fb8e Mon Sep 17 00:00:00 2001
+From 2ceea729810475ca8988e2955dc33b5843520e6b Mon Sep 17 00:00:00 2001
From: Tudor Florea <tudor.florea@enea.com>
Date: Wed, 28 May 2014 18:59:54 +0200
Subject: [PATCH] ethtool: use serial-tests config needed by ptest.
@@ -15,11 +15,11 @@ Upstream-Status: Inappropriate
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index c11f2b1..2bd2b83 100644
+index cc3525c..873af9b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
- AC_INIT(ethtool, 5.18, netdev@vger.kernel.org)
+ AC_INIT(ethtool, 5.19, netdev@vger.kernel.org)
AC_PREREQ(2.52)
AC_CONFIG_SRCDIR([ethtool.c])
-AM_INIT_AUTOMAKE([gnu subdir-objects])
diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.18.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.19.bb
index b4f74e7f5b..8c995b21e1 100644
--- a/poky/meta/recipes-extended/ethtool/ethtool_5.18.bb
+++ b/poky/meta/recipes-extended/ethtool/ethtool_5.19.bb
@@ -11,7 +11,7 @@ SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \
file://avoid_parallel_tests.patch \
"
-SRC_URI[sha256sum] = "70091f95448eba851f9f9804059d0e237f1d909064046f9e3c6dc892aa1e8afe"
+SRC_URI[sha256sum] = "24412dcd4ac886177abd68282efa98914a4dd2497218e298e7049e9cb72b2336"
UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/"
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch
deleted file mode 100644
index c76915fb81..0000000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 239d681306a8d97ed10954788d32ba2f4b55f77c Mon Sep 17 00:00:00 2001
-From: Kang Kai <kai.kang@windriver.com>
-Date: Thu, 29 Mar 2018 16:10:16 +0800
-Subject: [PATCH 06/10] prevent recompiling
-
-Just use commands provided by ghostscript-native, preventing recompile
-them when compile ghostscript. Way to enable cross compile.
-
-Upstream-Status: Pending
-
-Signed-off-by: Kang Kai <kai.kang@windriver.com>
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
-
-Rebase to 9.25
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
----
- base/unix-aux.mak | 44 --------------------------------------------
- 1 file changed, 44 deletions(-)
-
-diff --git a/base/unix-aux.mak b/base/unix-aux.mak
-index 5bf72e9..9cb39d7 100644
---- a/base/unix-aux.mak
-+++ b/base/unix-aux.mak
-@@ -54,50 +54,6 @@ $(AUX)gp_stdia.$(OBJ): $(GLSRC)gp_stdia.
- $(stdio__h) $(time__h) $(unistd__h) $(gx_h) $(gp_h) $(UNIX_AUX_MAK) $(MAKEDIRS)
- $(GLCCAUX) $(AUXO_)gp_stdia.$(OBJ) $(C_) $(GLSRC)gp_stdia.c
-
--# -------------------------- Auxiliary programs --------------------------- #
--
--$(ECHOGS_XE): $(GLSRC)echogs.c $(AK) $(stdpre_h) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(ECHOGS_XE) $(GLSRC)echogs.c $(AUXEXTRALIBS)
--
--$(PACKPS_XE): $(GLSRC)pack_ps.c $(stdpre_h) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(PACKPS_XE) $(GLSRC)pack_ps.c $(AUXEXTRALIBS)
--
--# On the RS/6000 (at least), compiling genarch.c with gcc with -O
--# produces a buggy executable.
--$(GENARCH_XE): $(GLSRC)genarch.c $(AK) $(GENARCH_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENARCH_XE) $(GLSRC)genarch.c $(AUXEXTRALIBS)
--
--$(GENCONF_XE): $(GLSRC)genconf.c $(AK) $(GENCONF_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENCONF_XE) $(GLSRC)genconf.c $(AUXEXTRALIBS)
--
--$(GENDEV_XE): $(GLSRC)gendev.c $(AK) $(GENDEV_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(I_)$(GLSRCDIR)$(_I) $(O_)$(GENDEV_XE) $(GLSRC)gendev.c $(AUXEXTRALIBS)
--
--$(GENHT_XE): $(GLSRC)genht.c $(AK) $(GENHT_DEPS) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(GENHT_CFLAGS) $(O_)$(GENHT_XE) $(GLSRC)genht.c $(AUXEXTRALIBS)
--
--# To get GS to use the system zlib, you remove/hide the gs/zlib directory
--# which means that the mkromfs build can't find the zlib source it needs.
--# So it's split into two targets, one using the zlib source directly.....
--MKROMFS_OBJS_0=$(MKROMFS_ZLIB_OBJS) $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \
-- $(AUX)gscdefs.$(OBJ) $(AUX)gp_unix.$(OBJ) $(AUX)gp_unifs.$(OBJ) $(AUX)gp_unifn.$(OBJ) \
-- $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ) $(AUX)memento.$(OBJ)
--
--$(MKROMFS_XE)_0: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_0) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_0 $(MKROMFS_OBJS_0) $(AUXEXTRALIBS)
--
--# .... and one using the zlib library linked via the command line
--MKROMFS_OBJS_1=$(AUX)gscdefs.$(OBJ) \
-- $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \
-- $(AUX)gp_unix.$(OBJ) $(AUX)gp_unifs.$(OBJ) $(AUX)gp_unifn.$(OBJ) \
-- $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ)
--
--$(MKROMFS_XE)_1: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_1) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_1 $(MKROMFS_OBJS_1) $(AUXEXTRALIBS)
--
--$(MKROMFS_XE): $(MKROMFS_XE)_$(SHARE_ZLIB) $(UNIX_AUX_MAK) $(MAKEDIRS)
-- $(CP_) $(MKROMFS_XE)_$(SHARE_ZLIB) $(MKROMFS_XE)
--
- # Query the environment to construct gconfig_.h.
- # These are all defined conditionally (except the JasPER one), so that
- # they can be overridden by settings from the configure script.
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_9.56.1.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_9.56.1.bb
index b2e741b44f..e71a6cc0d3 100644
--- a/poky/meta/recipes-extended/ghostscript/ghostscript_9.56.1.bb
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript_9.56.1.bb
@@ -36,7 +36,6 @@ SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/d
"
SRC_URI = "${SRC_URI_BASE} \
- file://ghostscript-9.21-prevent_recompiling.patch \
file://cups-no-gcrypt.patch \
"
diff --git a/poky/meta/recipes-extended/libmnl/libmnl_1.0.5.bb b/poky/meta/recipes-extended/libmnl/libmnl_1.0.5.bb
index 3c5bde3319..748326c0a0 100644
--- a/poky/meta/recipes-extended/libmnl/libmnl_1.0.5.bb
+++ b/poky/meta/recipes-extended/libmnl/libmnl_1.0.5.bb
@@ -6,8 +6,8 @@ SECTION = "libs"
LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-SRC_URI = "https://netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2;name=tar"
-SRC_URI[tar.sha256sum] = "274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525"
+SRC_URI = "https://netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525"
inherit autotools pkgconfig
diff --git a/poky/meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb b/poky/meta/recipes-extended/libtirpc/libtirpc_1.3.3.bb
index 45b3d2befc..8c6c20733c 100644
--- a/poky/meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb
+++ b/poky/meta/recipes-extended/libtirpc/libtirpc_1.3.3.bb
@@ -12,7 +12,10 @@ PROVIDES = "virtual/librpc"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
-SRC_URI[sha256sum] = "e24eb88b8ce7db3b7ca6eb80115dd1284abc5ec32a8deccfed2224fc2532b9fd"
+SRC_URI[sha256sum] = "6474e98851d9f6f33871957ddee9714fdcd9d8a5ee9abb5a98d63ea2e60e12f3"
+
+# Was fixed in 1.3.3rc1 so not present in 1.3.3
+CVE_CHECK_IGNORE += "CVE-2021-46828"
inherit autotools pkgconfig
diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.65.bb b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.66.bb
index 10aa27f072..801162867c 100644
--- a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.65.bb
+++ b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.66.bb
@@ -19,7 +19,7 @@ SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.t
file://lighttpd \
"
-SRC_URI[sha256sum] = "bf0fa68a629fbc404023a912b377e70049331d6797bcbb4b3e8df4c3b42328be"
+SRC_URI[sha256sum] = "47ac6e60271aa0196e65472d02d019556dc7c6d09df3b65df2c1ab6866348e3b"
DEPENDS = "virtual/crypt"
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-lapi-fsmount-resolve-conflict-in-different-header-fi.patch b/poky/meta/recipes-extended/ltp/ltp/0001-lapi-fsmount-resolve-conflict-in-different-header-fi.patch
new file mode 100644
index 0000000000..cdbcf6b288
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-lapi-fsmount-resolve-conflict-in-different-header-fi.patch
@@ -0,0 +1,71 @@
+From b857f8723f30a4b9554bf6b0ff8fa52fd07e8b60 Mon Sep 17 00:00:00 2001
+From: Li Wang <liwang@redhat.com>
+Date: Fri, 5 Aug 2022 14:34:01 +0800
+Subject: [PATCH] lapi/fsmount: resolve conflict in different header files
+
+The latest glibc added new wrappers (e.g. mount_setattr, fsopen) support
+in sys/mount.h, which partly conflicts with linux/mount.h at the same time.
+
+We need to make adjustments to header files to fix compiling error on
+different platforms.
+
+Upstream-Status: Backport [https://github.com/linux-test-project/ltp/commit/b857f8723f30a4b9554bf6b0ff8fa52fd07e8b60]
+Signed-off-by: Li Wang <liwang@redhat.com>
+Reviewed-by: Petr Vorel <pvorel@suse.cz>
+---
+ configure.ac | 1 +
+ include/lapi/fs.h | 6 ++++--
+ include/lapi/fsmount.h | 7 +++++--
+ 3 files changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index d50ec1ea7..dbd53cab6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -113,6 +113,7 @@ AC_CHECK_FUNCS_ONCE([ \
+ mkdirat \
+ mknodat \
+ modify_ldt \
++ mount_setattr \
+ move_mount \
+ name_to_handle_at \
+ open_tree \
+diff --git a/include/lapi/fs.h b/include/lapi/fs.h
+index 27b3a183c..84a168a67 100644
+--- a/include/lapi/fs.h
++++ b/include/lapi/fs.h
+@@ -6,8 +6,10 @@
+ * Email: code@zilogic.com
+ */
+
+-#ifdef HAVE_LINUX_FS_H
+-# include <linux/fs.h>
++#ifndef HAVE_MOUNT_SETATTR
++# ifdef HAVE_LINUX_FS_H
++# include <linux/fs.h>
++# endif
+ #endif
+
+ #include <sys/user.h>
+diff --git a/include/lapi/fsmount.h b/include/lapi/fsmount.h
+index b11e7a7bd..07eb42ffa 100644
+--- a/include/lapi/fsmount.h
++++ b/include/lapi/fsmount.h
+@@ -11,9 +11,12 @@
+ #include "config.h"
+ #include <sys/syscall.h>
+ #include <sys/types.h>
++#include <sys/mount.h>
+
+-#ifdef HAVE_LINUX_MOUNT_H
+-# include <linux/mount.h>
++#ifndef HAVE_FSOPEN
++# ifdef HAVE_LINUX_MOUNT_H
++# include <linux/mount.h>
++# endif
+ #endif
+
+ #include "lapi/fcntl.h"
+--
+2.37.2
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-lapi-pidfd-adding-pidfd-header-file.patch b/poky/meta/recipes-extended/ltp/ltp/0001-lapi-pidfd-adding-pidfd-header-file.patch
new file mode 100644
index 0000000000..184c42640a
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-lapi-pidfd-adding-pidfd-header-file.patch
@@ -0,0 +1,60 @@
+From dbc9c14c92a5acf450d07868a735ac8cd6ec5b90 Mon Sep 17 00:00:00 2001
+From: Li Wang <liwang@redhat.com>
+Date: Fri, 5 Aug 2022 14:34:00 +0800
+Subject: [PATCH] lapi/pidfd: adding pidfd header file
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The newer Glibc already provided wrapper for the series pidfd syscall,
+so let's include the header file conditionally.
+
+ # rpm -q glibc-devel
+ glibc-devel-2.35.9000-31.fc37.ppc64le
+ # rpm -ql glibc-devel | grep pidfd
+ /usr/include/sys/pidfd.h
+
+To get rid of compiling error from fedora-rawhide:
+
+ tst_safe_macros.c: In function ‘safe_pidfd_open’:
+ tst_safe_macros.c:135:16: error: implicit declaration of function ‘pidfd_open’ [-Werror=implicit-function-declaration]
+ 135 | rval = pidfd_open(pid, flags);
+ | ^~~~~~~~~~
+
+Upstream-Status: Backport [https://github.com/linux-test-project/ltp/commit/dbc9c14c92a5acf450d07868a735ac8cd6ec5b90]
+Signed-off-by: Li Wang <liwang@redhat.com>
+Reviewed-by: Petr Vorel <pvorel@suse.cz>
+---
+ configure.ac | 1 +
+ include/lapi/pidfd.h | 3 +++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 69b145b5f..d50ec1ea7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -71,6 +71,7 @@ AC_CHECK_HEADERS_ONCE([ \
+ sys/epoll.h \
+ sys/fanotify.h \
+ sys/inotify.h \
++ sys/pidfd.h
+ sys/prctl.h \
+ sys/shm.h \
+ sys/timerfd.h \
+diff --git a/include/lapi/pidfd.h b/include/lapi/pidfd.h
+index 244d3acaf..9ca8e5aa2 100644
+--- a/include/lapi/pidfd.h
++++ b/include/lapi/pidfd.h
+@@ -8,6 +8,9 @@
+ #define LAPI_PIDFD_H__
+
+ #include <fcntl.h>
++#ifdef HAVE_SYS_PIDFD_H
++# include <sys/pidfd.h>
++#endif
+ #include "config.h"
+ #include "lapi/syscalls.h"
+
+--
+2.37.2
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-rt-migrate-Use-int-instead-of-pthread_t-for-thread-I.patch b/poky/meta/recipes-extended/ltp/ltp/0001-rt-migrate-Use-int-instead-of-pthread_t-for-thread-I.patch
new file mode 100644
index 0000000000..e49f53a9e2
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-rt-migrate-Use-int-instead-of-pthread_t-for-thread-I.patch
@@ -0,0 +1,36 @@
+From 11e503344c36c1c7df3e455d81736dc4a5b43775 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Aug 2022 23:20:53 -0700
+Subject: [PATCH] rt-migrate: Use int instead of pthread_t for thread IDs
+
+pthread_t is opaque, but create_fifo_thread() returns integer therefore
+on musl where thread_t is not integer, this fails to compile e.g.
+
+| rt-migrate.c:450:14: error: incompatible integer to pointer conversion assigning to 'pthread_t' (aka 'struct __pthread *') from 'int' [-Wint-conversion]
+| threads[i] = create_fifo_thread(start_task, (void *)i,
+| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Align the types used to fix the problems.
+
+Upstream-Status: Submitted [https://lists.linux.it/pipermail/ltp/2022-August/030239.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ testcases/realtime/func/rt-migrate/rt-migrate.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/testcases/realtime/func/rt-migrate/rt-migrate.c b/testcases/realtime/func/rt-migrate/rt-migrate.c
+index 3e6c82a2fb..97ab604c7f 100644
+--- a/testcases/realtime/func/rt-migrate/rt-migrate.c
++++ b/testcases/realtime/func/rt-migrate/rt-migrate.c
+@@ -394,7 +394,7 @@ static void stop_log(int sig)
+
+ int main(int argc, char **argv)
+ {
+- pthread_t *threads;
++ int *threads;
+ long i;
+ int ret;
+ struct timespec intv;
+--
+2.37.2
+
diff --git a/poky/meta/recipes-extended/ltp/ltp_20220527.bb b/poky/meta/recipes-extended/ltp/ltp_20220527.bb
index b0f4ea6021..00ff906ded 100644
--- a/poky/meta/recipes-extended/ltp/ltp_20220527.bb
+++ b/poky/meta/recipes-extended/ltp/ltp_20220527.bb
@@ -20,6 +20,7 @@ EXTRA_OECONF:append:libc-musl = " LIBS=-lfts "
# earlier in CFLAGS, etc.
CFLAGS:append:x86-64 = " -fomit-frame-pointer"
TUNE_CCARGS:remove:x86 = "-mfpmath=sse"
+TUNE_CCARGS:remove:x86-64 = "-mfpmath=sse"
CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__"
CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
@@ -37,6 +38,9 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=ht
file://0001-netstress-Restore-runtime-to-5m.patch \
file://0001-net_stress-Fix-usage-of-variables-from-tst_net.sh.patch \
file://0001-memcg-functional-Fix-usage-of-PAGESIZE-from-memcg_li.patch \
+ file://0001-lapi-pidfd-adding-pidfd-header-file.patch \
+ file://0001-lapi-fsmount-resolve-conflict-in-different-header-fi.patch \
+ file://0001-rt-migrate-Use-int-instead-of-pthread_t-for-thread-I.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch b/poky/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch
index bf8037cd28..012a499684 100644
--- a/poky/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch
+++ b/poky/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch
@@ -17,7 +17,7 @@ So replace "perl -w" with "use warnings" to make it work.
The man2hlp.in already has "use warnings;", so just remove '-w' is OK.
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://github.com/MidnightCommander/mc/pull/174]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.20.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.22.bb
index da3f70a163..d56af7346b 100644
--- a/poky/meta/recipes-extended/msmtp/msmtp_1.8.20.bb
+++ b/poky/meta/recipes-extended/msmtp/msmtp_1.8.22.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
-SRC_URI[sha256sum] = "d93ae2aafc0f48af7dc9d0b394df1bb800588b8b4e8d096d8b3cf225344eb111"
+SRC_URI[sha256sum] = "1b04206286a5b82622335e4eb09e17074368b7288e53d134543cbbc6b79ea3e7"
inherit gettext autotools update-alternatives pkgconfig
diff --git a/poky/meta/recipes-extended/pam/libpam/99_pam b/poky/meta/recipes-extended/pam/libpam/99_pam
index 97e990d10b..a88247be13 100644
--- a/poky/meta/recipes-extended/pam/libpam/99_pam
+++ b/poky/meta/recipes-extended/pam/libpam/99_pam
@@ -1 +1 @@
-d root root 0755 /var/run/sepermit none
+d root root 0755 /run/sepermit none
diff --git a/poky/meta/recipes-extended/screen/screen/0001-configure-Add-needed-system-headers-in-checks.patch b/poky/meta/recipes-extended/screen/screen/0001-configure-Add-needed-system-headers-in-checks.patch
new file mode 100644
index 0000000000..80659942c7
--- /dev/null
+++ b/poky/meta/recipes-extended/screen/screen/0001-configure-Add-needed-system-headers-in-checks.patch
@@ -0,0 +1,151 @@
+From 4e102de2e6204c1d8e8be00bb5ffd4587e70350c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 15 Aug 2022 10:35:53 -0700
+Subject: [PATCH] configure: Add needed system headers in checks
+
+Newer compilers throw warnings when a funciton is used with implicit
+declaration and enabling -Werror can silently fail these tests and
+result in wrong configure results. Therefore add the needed headers in
+the AC_TRY_LINK macros
+
+ * configure.ac: Add missing system headers in AC_TRY_LINK.
+
+Upstream-Status: Submitted [https://lists.gnu.org/archive/html/screen-devel/2022-08/msg00000.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 57 +++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 43 insertions(+), 14 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c0f02df..d308079 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -233,6 +233,7 @@ AC_CHECKING(BSD job jontrol)
+ AC_TRY_LINK(
+ [#include <sys/types.h>
+ #include <sys/ioctl.h>
++#include <unistd.h>
+ ], [
+ #ifdef POSIX
+ tcsetpgrp(0, 0);
+@@ -250,12 +251,16 @@ dnl
+ dnl **** setresuid(), setreuid(), seteuid() ****
+ dnl
+ AC_CHECKING(setresuid)
+-AC_TRY_LINK(,[
+-setresuid(0, 0, 0);
++AC_TRY_LINK([
++#include <unistd.h>
++],[
++return setresuid(0, 0, 0);
+ ], AC_DEFINE(HAVE_SETRESUID))
+ AC_CHECKING(setreuid)
+-AC_TRY_LINK(,[
+-setreuid(0, 0);
++AC_TRY_LINK([
++#include <unistd.h>
++],[
++return setreuid(0, 0);
+ ], AC_DEFINE(HAVE_SETREUID))
+ dnl
+ dnl seteuid() check:
+@@ -274,7 +279,9 @@ seteuid(0);
+
+ dnl execvpe
+ AC_CHECKING(execvpe)
+-AC_TRY_LINK(,[
++AC_TRY_LINK([
++ #include <unistd.h>
++],[
+ execvpe(0, 0, 0);
+ ], AC_DEFINE(HAVE_EXECVPE)
+ CFLAGS="$CFLAGS -D_GNU_SOURCE")
+@@ -284,10 +291,18 @@ dnl **** select() ****
+ dnl
+
+ AC_CHECKING(select)
+-AC_TRY_LINK(,[select(0, 0, 0, 0, 0);],,
++AC_TRY_LINK([
++ #include <sys/select.h>
++],[
++ select(0, 0, 0, 0, 0);
++],,
+ LIBS="$LIBS -lnet -lnsl"
+ AC_CHECKING(select with $LIBS)
+-AC_TRY_LINK(,[select(0, 0, 0, 0, 0);],,
++AC_TRY_LINK([
++ #include <sys/select.h>
++],[
++ select(0, 0, 0, 0, 0);
++],,
+ AC_MSG_ERROR(!!! no select - no screen))
+ )
+ dnl
+@@ -624,11 +639,19 @@ dnl
+ dnl **** termcap or terminfo ****
+ dnl
+ AC_CHECKING(for tgetent)
+-AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
++AC_TRY_LINK([
++ #include <curses.h>
++ #include <term.h>
++],[
++ tgetent((char *)0, (char *)0);
++],,
+ olibs="$LIBS"
+ LIBS="-lcurses $olibs"
+ AC_CHECKING(libcurses)
+-AC_TRY_LINK(,[
++AC_TRY_LINK([
++ #include <curses.h>
++ #include <term.h>
++],[
+ #ifdef __hpux
+ __sorry_hpux_libcurses_is_totally_broken_in_10_10();
+ #else
+@@ -871,7 +894,7 @@ test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil"
+ fi
+
+ AC_CHECKING(getloadavg)
+-AC_TRY_LINK(,[getloadavg((double *)0, 0);],
++AC_TRY_LINK([#include <stdlib.h>],[getloadavg((double *)0, 0);],
+ AC_DEFINE(LOADAV_GETLOADAVG) load=1,
+ if test "$cross_compiling" = no && test -f /usr/lib/libkvm.a ; then
+ olibs="$LIBS"
+@@ -1109,10 +1132,10 @@ AC_CHECKING(IRIX sun library)
+ AC_TRY_LINK(,,,LIBS="$oldlibs")
+
+ AC_CHECKING(syslog)
+-AC_TRY_LINK(,[closelog();], , [oldlibs="$LIBS"
++AC_TRY_LINK([#include <syslog.h>],[closelog();], , [oldlibs="$LIBS"
+ LIBS="$LIBS -lbsd"
+ AC_CHECKING(syslog in libbsd.a)
+-AC_TRY_LINK(, [closelog();], AC_NOTE(- found.), [LIBS="$oldlibs"
++AC_TRY_LINK([#include <syslog.h>], [closelog();], AC_NOTE(- found.), [LIBS="$oldlibs"
+ AC_NOTE(- bad news: syslog missing.) AC_DEFINE(NOSYSLOG)])])
+
+ AC_EGREP_CPP(YES_IS_DEFINED,
+@@ -1149,7 +1172,7 @@ AC_CHECKING(getspnam)
+ AC_TRY_LINK([#include <shadow.h>], [getspnam("x");],AC_DEFINE(SHADOWPW))
+
+ AC_CHECKING(getttyent)
+-AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT))
++AC_TRY_LINK([#include <ttyent.h>],[getttyent();], AC_DEFINE(GETTTYENT))
+
+ AC_CHECKING(fdwalk)
+ AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK))
+@@ -1204,7 +1227,13 @@ main() {
+ AC_SYS_LONG_FILE_NAMES
+
+ AC_MSG_CHECKING(for vsprintf)
+-AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no))
++AC_TRY_LINK([
++ #include <stdarg.h>
++ #include <stdio.h>
++],[
++ va_list valist;
++ vsprintf(0,0,valist);
++], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no))
+
+ AC_HEADER_DIRENT
+
diff --git a/poky/meta/recipes-extended/screen/screen_4.9.0.bb b/poky/meta/recipes-extended/screen/screen_4.9.0.bb
index b36173b8de..77e8000bf3 100644
--- a/poky/meta/recipes-extended/screen/screen_4.9.0.bb
+++ b/poky/meta/recipes-extended/screen/screen_4.9.0.bb
@@ -21,7 +21,8 @@ SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \
file://0002-comm.h-now-depends-on-term.h.patch \
file://0001-fix-for-multijob-build.patch \
file://0001-Remove-more-compatibility-stuff.patch \
- "
+ file://0001-configure-Add-needed-system-headers-in-checks.patch \
+ "
SRC_URI[sha256sum] = "f9335281bb4d1538ed078df78a20c2f39d3af9a4e91c57d084271e0289c730f4"
diff --git a/poky/meta/recipes-extended/shadow/files/0001-Drop-nsswitch.conf-message-when-not-in-place-eg.-musl.patch b/poky/meta/recipes-extended/shadow/files/0001-Drop-nsswitch.conf-message-when-not-in-place-eg.-musl.patch
new file mode 100644
index 0000000000..21c9a1415c
--- /dev/null
+++ b/poky/meta/recipes-extended/shadow/files/0001-Drop-nsswitch.conf-message-when-not-in-place-eg.-musl.patch
@@ -0,0 +1,27 @@
+From 11290e897a49adddee215833944a518443d9b0d6 Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei.gherzan@huawei.com>
+Date: Wed, 24 Aug 2022 00:54:47 +0200
+Subject: [PATCH] Drop nsswitch.conf message when not in place - eg. musl
+
+Upstream-Status: Inappropriate [issue reported at https://github.com/shadow-maint/shadow/issues/557]
+Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
+---
+ lib/nss.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/nss.c b/lib/nss.c
+index 06fa48e..44245da 100644
+--- a/lib/nss.c
++++ b/lib/nss.c
+@@ -59,7 +59,7 @@ void nss_init(const char *nsswitch_path) {
+ // subid: files
+ nssfp = fopen(nsswitch_path, "r");
+ if (!nssfp) {
+- fprintf(shadow_logfd, "Failed opening %s: %m\n", nsswitch_path);
++ //fprintf(shadow_logfd, "Failed opening %s: %m\n", nsswitch_path);
+ atomic_store(&nss_init_completed, true);
+ return;
+ }
+--
+2.25.1
+
diff --git a/poky/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch b/poky/meta/recipes-extended/shadow/files/0001-shadow-use-relaxed-usernames.patch
index cc833362e9..6c7abcef1d 100644
--- a/poky/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch
+++ b/poky/meta/recipes-extended/shadow/files/0001-shadow-use-relaxed-usernames.patch
@@ -1,6 +1,6 @@
-From ca472d6866e545aaa70a70020e3226f236a8aafc Mon Sep 17 00:00:00 2001
-From: Shan Hai <shan.hai@windriver.com>
-Date: Tue, 13 Sep 2016 13:45:46 +0800
+From b182c52d63bea0f08e1befcec5c3797dd97cdef5 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 16 Aug 2022 13:46:22 +0200
Subject: [PATCH] shadow: use relaxed usernames
The groupadd from shadow does not allow upper case group names, the
@@ -11,21 +11,21 @@ restrictions to allow the upper case group names, and the relaxation is
POSIX compliant because POSIX indicate that usernames are composed of
characters from the portable filename character set [A-Za-z0-9._-].
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://github.com/shadow-maint/shadow/pull/551]
Signed-off-by: Shan Hai <shan.hai@windriver.com>
-
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
- libmisc/chkname.c | 30 ++++++++++++++++++------------
+ libmisc/chkname.c | 29 ++++++++++++++++++-----------
man/groupadd.8.xml | 6 ------
- man/useradd.8.xml | 8 +-------
- 3 files changed, 19 insertions(+), 25 deletions(-)
+ man/useradd.8.xml | 6 ------
+ 3 files changed, 18 insertions(+), 23 deletions(-)
diff --git a/libmisc/chkname.c b/libmisc/chkname.c
-index 90f185c..65762b4 100644
+index cb002a14..c0306c5a 100644
--- a/libmisc/chkname.c
+++ b/libmisc/chkname.c
-@@ -55,22 +55,28 @@ static bool is_valid_name (const char *name)
+@@ -32,21 +32,28 @@ static bool is_valid_name (const char *name)
}
/*
@@ -54,7 +54,6 @@ index 90f185c..65762b4 100644
- ( ('0' <= *name) && ('9' >= *name) ) ||
- ('_' == *name) ||
- ('-' == *name) ||
-- ('.' == *name) ||
- ( ('$' == *name) && ('\0' == *(name + 1)) )
- )) {
+ if (!( (*name >= 'a' && *name <= 'z') ||
@@ -67,13 +66,13 @@ index 90f185c..65762b4 100644
}
}
diff --git a/man/groupadd.8.xml b/man/groupadd.8.xml
-index 1e58f09..d804b61 100644
+index 26671f92..3eacaa09 100644
--- a/man/groupadd.8.xml
+++ b/man/groupadd.8.xml
-@@ -272,12 +272,6 @@
-
- <refsect1 id='caveats'>
- <title>CAVEATS</title>
+@@ -63,12 +63,6 @@
+ values from the system. The new group will be entered into the system
+ files as needed.
+ </para>
- <para>
- Groupnames must start with a lower case letter or an underscore,
- followed by lower case letters, digits, underscores, or dashes.
@@ -84,19 +83,10 @@ index 1e58f09..d804b61 100644
Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long.
</para>
diff --git a/man/useradd.8.xml b/man/useradd.8.xml
-index a16d730..c0bd777 100644
+index c7f95b47..e056d141 100644
--- a/man/useradd.8.xml
+++ b/man/useradd.8.xml
-@@ -366,7 +366,7 @@
- </term>
- <listitem>
- <para>
-- Do no create the user's home directory, even if the system
-+ Do not create the user's home directory, even if the system
- wide setting from <filename>/etc/login.defs</filename>
- (<option>CREATE_HOME</option>) is set to
- <replaceable>yes</replaceable>.
-@@ -660,12 +660,6 @@
+@@ -691,12 +691,6 @@
the user account creation request.
</para>
@@ -109,3 +99,6 @@ index a16d730..c0bd777 100644
<para>
Usernames may only be up to 32 characters long.
</para>
+--
+2.30.2
+
diff --git a/poky/meta/recipes-extended/shadow/files/shadow-4.1.3-dots-in-usernames.patch b/poky/meta/recipes-extended/shadow/files/shadow-4.1.3-dots-in-usernames.patch
deleted file mode 100644
index a7bb0a9290..0000000000
--- a/poky/meta/recipes-extended/shadow/files/shadow-4.1.3-dots-in-usernames.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-# commit message copied from openembedded:
-# commit 246c80637b135f3a113d319b163422f98174ee6c
-# Author: Khem Raj <raj.khem@gmail.com>
-# Date: Wed Jun 9 13:37:03 2010 -0700
-#
-# shadow-4.1.4.2: Add patches to support dots in login id.
-#
-# Signed-off-by: Khem Raj <raj.khem@gmail.com>
-#
-# comment added by Kevin Tian <kevin.tian@intel.com>, 2010-08-11
-
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
-Index: shadow-4.1.4.2/libmisc/chkname.c
-===================================================================
---- shadow-4.1.4.2.orig/libmisc/chkname.c 2009-04-28 12:14:04.000000000 -0700
-+++ shadow-4.1.4.2/libmisc/chkname.c 2010-06-03 17:43:20.638973857 -0700
-@@ -61,6 +61,7 @@ static bool is_valid_name (const char *n
- ( ('0' <= *name) && ('9' >= *name) ) ||
- ('_' == *name) ||
- ('-' == *name) ||
-+ ('.' == *name) ||
- ( ('$' == *name) && ('\0' == *(name + 1)) )
- )) {
- return false;
diff --git a/poky/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch b/poky/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
index 15f8044fa2..3b61b75e5b 100644
--- a/poky/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
+++ b/poky/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
@@ -4,7 +4,9 @@ In yocto it obey the way with Debian/Ubuntu, and the names are common-auth, comm
common-password and common-session.
So update them with oe way.
-Upstream-Status: Pending
+See meta/recipes-extended/pam/libpam/pam.d/common-password
+
+Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Kang Kai <kai.kang@windriver.com>
diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc
index f5fdf436f7..414bf467ba 100644
--- a/poky/meta/recipes-extended/shadow/shadow.inc
+++ b/poky/meta/recipes-extended/shadow/shadow.inc
@@ -11,10 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c9a450b7be84eac23e6353efecb60b5b \
DEPENDS = "virtual/crypt"
UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases"
-SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/v${PV}/${BP}.tar.gz \
- file://shadow-4.1.3-dots-in-usernames.patch \
+SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \
+ file://0001-shadow-use-relaxed-usernames.patch \
${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
- file://shadow-relaxed-usernames.patch \
file://useradd \
"
@@ -26,12 +25,13 @@ SRC_URI:append:class-target = " \
SRC_URI:append:class-native = " \
file://0001-Disable-use-of-syslog-for-sysroot.patch \
file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \
+ file://0001-Drop-nsswitch.conf-message-when-not-in-place-eg.-musl.patch \
"
SRC_URI:append:class-nativesdk = " \
file://0001-Disable-use-of-syslog-for-sysroot.patch \
"
+SRC_URI[sha256sum] = "9fdb73b5d2b44e8ba9fcee1b4493ac75dd5040bda35b9ac8b06570cd192e7ee3"
-SRC_URI[sha256sum] = "f262089be6a1011d50ec7849e14571b7b2e788334368f3dccb718513f17935ed"
# Additional Policy files for PAM
PAM_SRC_URI = "file://pam.d/chfn \
@@ -149,6 +149,13 @@ do_install:append() {
# Handle link properly after rename, otherwise missing files would
# lead rpm failed dependencies.
ln -sf newgrp.${BPN} ${D}${bindir}/sg
+
+ # usermod requires the subuid/subgid files to be in place before being
+ # able to use the -v/-V flags otherwise it fails:
+ # usermod: /etc/subuid does not exist, you cannot use the flags -v or -V
+ install -d ${D}${sysconfdir}
+ touch ${D}${sysconfdir}/subuid
+ touch ${D}${sysconfdir}/subgid
}
PACKAGES =+ "${PN}-base"
diff --git a/poky/meta/recipes-extended/shadow/shadow_4.11.1.bb b/poky/meta/recipes-extended/shadow/shadow_4.12.1.bb
index 40b11345c9..40b11345c9 100644
--- a/poky/meta/recipes-extended/shadow/shadow_4.11.1.bb
+++ b/poky/meta/recipes-extended/shadow/shadow_4.12.1.bb
diff --git a/poky/meta/recipes-extended/slang/slang/dont-link-to-host.patch b/poky/meta/recipes-extended/slang/slang/dont-link-to-host.patch
index 42dba0fae4..4b02068991 100644
--- a/poky/meta/recipes-extended/slang/slang/dont-link-to-host.patch
+++ b/poky/meta/recipes-extended/slang/slang/dont-link-to-host.patch
@@ -1,3 +1,8 @@
+From b4a6e3c8309cff0f2311cd959c5091213b633851 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Tue, 7 Feb 2017 14:35:43 +0000
+Subject: [PATCH] slang: rewrite recipe to run autoconf
+
SLANG_INST_LIB is the location of where slang will end up, but when building for
packaging this doesn't have DESTDIR appended so can potentially link to the host
for cross builds and will trigger QA errors.
@@ -7,10 +12,20 @@ As this is obviously wrong, delete it.
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ slsh/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
diff --git a/slsh/Makefile.in b/slsh/Makefile.in
-index cba9d81..4c1c370 100644
+index addd343..63a5c9b 100644
--- a/slsh/Makefile.in
+++ b/slsh/Makefile.in
-@@ -80 +80 @@ SHELL = /bin/sh
--INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(READLINE_LIB) $(DYNAMIC_LIBS)
-+INST_LIBS = $(DEST_LIB_DIR) $(RPATH) -lslang $(READLINE_LIB) $(DYNAMIC_LIBS)
+@@ -77,7 +77,7 @@ SLSYSWRAP_LIB = @LIB_SLSYSWRAP@
+ #----------------------------------------------------------------------------
+ @SET_MAKE@
+ SHELL = /bin/sh
+-INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(LDFLAGS) $(READLINE_LIB) $(DYNAMIC_LIBS)
++INST_LIBS = $(DEST_LIB_DIR) $(RPATH) -lslang $(LDFLAGS) $(READLINE_LIB) $(DYNAMIC_LIBS)
+ DEFS = -DSLSH_CONF_DIR='"$(SLSH_CONF_DIR)"' -DSLSH_PATH='"$(SLSH_LIB_DIR)"' \
+ -DSLSH_CONF_DIR_ENV='$(SLSH_CONF_DIR_ENV)' -DSLSH_LIB_DIR_ENV='$(SLSH_LIB_DIR_ENV)' \
+ -DSLSH_PATH_ENV='$(SLSH_PATH_ENV)' $(SLSYSWRAP_DEF)
diff --git a/poky/meta/recipes-extended/slang/slang/terminfo_fixes.patch b/poky/meta/recipes-extended/slang/slang/terminfo_fixes.patch
index 3ca20a8cab..331b7f02e4 100644
--- a/poky/meta/recipes-extended/slang/slang/terminfo_fixes.patch
+++ b/poky/meta/recipes-extended/slang/slang/terminfo_fixes.patch
@@ -1,3 +1,8 @@
+From 2a75095638002d37a2f9c7aeb0ec54f271b0a1c4 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Tue, 1 Aug 2017 12:36:53 -0700
+Subject: [PATCH] slang: fix terminfo related problems
+
Do not use the JD_TERMCAP macro since we cannot get the terminfo from
ncurses pkg-config, but fix the macro to not reference host directories.
Also add src/test/Makefile.in so that we can use -ltermcap if we want to.
@@ -8,10 +13,18 @@ Upstream-Status: Inappropriate [see above]
Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ autoconf/aclocal.m4 | 8 +---
+ autoconf/configure.ac | 11 +++++-
+ src/test/Makefile.in | 90 +++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 100 insertions(+), 9 deletions(-)
+ create mode 100644 src/test/Makefile.in
+diff --git a/autoconf/aclocal.m4 b/autoconf/aclocal.m4
+index b2dfcd3..5f94ed3 100644
--- a/autoconf/aclocal.m4
+++ b/autoconf/aclocal.m4
-@@ -506,14 +506,10 @@ then
+@@ -509,15 +509,9 @@ then
else
MISC_TERMINFO_DIRS=""
fi
@@ -19,8 +32,8 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
- /usr/lib/terminfo \
- /usr/share/terminfo \
- /usr/share/lib/terminfo \
-- /usr/local/lib/terminfo"
-+
+- /usr/local/lib/terminfo \
+- /etc/terminfo /lib/terminfo"
TERMCAP=-ltermcap
-for terminfo_dir in $JD_Terminfo_Dirs
@@ -28,9 +41,11 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
do
if test -d $terminfo_dir
then
+diff --git a/autoconf/configure.ac b/autoconf/configure.ac
+index 8e11e13..9e6402c 100644
--- a/autoconf/configure.ac
+++ b/autoconf/configure.ac
-@@ -249,7 +249,14 @@ AC_CHECK_SIZEOF(size_t)
+@@ -250,7 +250,14 @@ AC_CHECK_SIZEOF(size_t)
JD_CHECK_LONG_LONG
JD_LARGE_FILE_SUPPORT
@@ -46,7 +61,7 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
JD_GCC_WARNINGS
JD_SET_OBJ_SRC_DIR(src)
-@@ -364,7 +371,7 @@ AC_CONFIG_HEADER(src/sysconf.h:src/confi
+@@ -365,7 +372,7 @@ AC_CONFIG_HEADER(src/sysconf.h:src/config.hin)
dnl AC_CONFIG_SUBDIRS(demo)
AC_OUTPUT(Makefile:autoconf/Makefile.in \
@@ -55,6 +70,9 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
slang.pc:autoconf/slangpc.in \
)
+diff --git a/src/test/Makefile.in b/src/test/Makefile.in
+new file mode 100644
+index 0000000..4b7307f
--- /dev/null
+++ b/src/test/Makefile.in
@@ -0,0 +1,90 @@
diff --git a/poky/meta/recipes-extended/slang/slang_2.3.2.bb b/poky/meta/recipes-extended/slang/slang_2.3.3.bb
index 08cc9670dc..05b8aff0f2 100644
--- a/poky/meta/recipes-extended/slang/slang_2.3.2.bb
+++ b/poky/meta/recipes-extended/slang/slang_2.3.3.bb
@@ -23,8 +23,7 @@ SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \
file://run-ptest \
"
-SRC_URI[md5sum] = "c2d5a7aa0246627da490be4e399c87cb"
-SRC_URI[sha256sum] = "fc9e3b0fc4f67c3c1f6d43c90c16a5c42d117b8e28457c5b46831b8b5d3ae31a"
+SRC_URI[sha256sum] = "f9145054ae131973c61208ea82486d5dd10e3c5cdad23b7c4a0617743c8f5a18"
UPSTREAM_CHECK_URI = "http://www.jedsoft.org/releases/slang/"
PREMIRRORS:append = " http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/"
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-core-helper-remove-include-of-sys-mount.h.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-core-helper-remove-include-of-sys-mount.h.patch
new file mode 100644
index 0000000000..52b2e61bc1
--- /dev/null
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-core-helper-remove-include-of-sys-mount.h.patch
@@ -0,0 +1,34 @@
+From 627e5227783ff2a0c3b11adee57ef7f0684a367e Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.i.king@gmail.com>
+Date: Mon, 1 Aug 2022 21:39:39 +0100
+Subject: [PATCH 1/2] core-helper: remove include of sys/mount.h
+
+This is not required in the shim core and it fixes a build issue
+with newer glibc 2.36
+
+Fixes: https://github.com/ColinIanKing/stress-ng/issues/216
+
+Upstream-Status: Backport [https://github.com/ColinIanKing/stress-ng/commit/69f4f4d629c5f4304b5388b6a7fa8616de23f50e]
+Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
+---
+ core-helper.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/core-helper.c b/core-helper.c
+index 6795410d..9e4533f2 100644
+--- a/core-helper.c
++++ b/core-helper.c
+@@ -39,10 +39,6 @@
+ #include <sys/loadavg.h>
+ #endif
+
+-#if defined(HAVE_SYS_MOUNT_H)
+-#include <sys/mount.h>
+-#endif
+-
+ #if defined(HAVE_SYS_PRCTL_H)
+ #include <sys/prctl.h>
+ #endif
+--
+2.37.1
+
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0002-core-shim-remove-include-of-sys-mount.h.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0002-core-shim-remove-include-of-sys-mount.h.patch
new file mode 100644
index 0000000000..5cb95f1f2b
--- /dev/null
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng/0002-core-shim-remove-include-of-sys-mount.h.patch
@@ -0,0 +1,34 @@
+From 0503ec88e9187c0152b7b2840a1ad5bfb022bbfe Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.i.king@gmail.com>
+Date: Mon, 1 Aug 2022 21:28:49 +0100
+Subject: [PATCH 2/2] core-shim: remove include of sys/mount.h
+
+This is not required in the shim core and it fixes a build issue
+with newer glibc 2.36
+
+Fixes: https://github.com/ColinIanKing/stress-ng/issues/216
+
+Upstream-Status: Backport [https://github.com/ColinIanKing/stress-ng/commit/0c9a711f213b5734729ab0c5ed90669e9fd11ca2]
+Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
+---
+ core-shim.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/core-shim.c b/core-shim.c
+index 0343402a..324eba7d 100644
+--- a/core-shim.c
++++ b/core-shim.c
+@@ -52,10 +52,6 @@
+ #include <asm/ldt.h>
+ #endif
+
+-#if defined(HAVE_SYS_MOUNT_H)
+-#include <sys/mount.h>
+-#endif
+-
+ #if defined(HAVE_SYS_PRCTL_H)
+ #include <sys/prctl.h>
+ #endif
+--
+2.37.1
+
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.14.02.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.14.03.bb
index 000a640917..370662bbb3 100644
--- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.14.02.bb
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.14.03.bb
@@ -5,8 +5,11 @@ HOMEPAGE = "https://github.com/ColinIanKing/stress-ng#readme"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master"
-SRCREV = "5239ae6c82bfb239637b5a66cd39a035a158e641"
+SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master \
+ file://0001-core-helper-remove-include-of-sys-mount.h.patch \
+ file://0002-core-shim-remove-include-of-sys-mount.h.patch \
+"
+SRCREV = "346518caffe5302f9a6d36860459c297c6968aaa"
S = "${WORKDIR}/git"
DEPENDS = "coreutils-native"
diff --git a/poky/meta/recipes-extended/sysklogd/sysklogd_2.4.0.bb b/poky/meta/recipes-extended/sysklogd/sysklogd_2.4.4.bb
index 4e6da70e4a..a19b4f58eb 100644
--- a/poky/meta/recipes-extended/sysklogd/sysklogd_2.4.0.bb
+++ b/poky/meta/recipes-extended/sysklogd/sysklogd_2.4.4.bb
@@ -14,7 +14,7 @@ SRC_URI = "git://github.com/troglobit/sysklogd.git;branch=master;protocol=https
file://sysklogd \
"
-SRCREV = "7dc4783af8e8e0d200d38a87b6a4bc9bbec5ce92"
+SRCREV = "51d471543ce59eace6df6da0e42658911f1fb8c0"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-implicit-function-declaration-warnings.patch b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-implicit-function-declaration-warnings.patch
new file mode 100644
index 0000000000..ec793ac8ff
--- /dev/null
+++ b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-implicit-function-declaration-warnings.patch
@@ -0,0 +1,109 @@
+From 9c97b5db237a793e0d1b6b0241570bdc6e35ee24 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 7 Aug 2022 17:42:24 -0700
+Subject: [PATCH] Fix implicit-function-declaration warnings
+
+These are seen with clang-15+
+
+Upstream-Status: Inappropriate [upstream is dead]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ hosts_access.c | 3 +++
+ safe_finger.c | 1 +
+ shell_cmd.c | 3 +++
+ tcpd.c | 2 +-
+ tcpdchk.c | 1 +
+ workarounds.c | 1 +
+ 6 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/hosts_access.c b/hosts_access.c
+index 0133e5e..58697ea 100644
+--- a/hosts_access.c
++++ b/hosts_access.c
+@@ -33,6 +33,7 @@ static char sccsid[] = "@(#) hosts_access.c 1.21 97/02/12 02:13:22";
+ #endif
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
++#include <rpcsvc/ypclnt.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <syslog.h>
+@@ -45,6 +46,8 @@ static char sccsid[] = "@(#) hosts_access.c 1.21 97/02/12 02:13:22";
+ #endif
+
+ extern int errno;
++extern int match_pattern_ylo(const char *s, const char *pattern);
++extern unsigned long cidr_mask_addr(char* str);
+
+ #ifndef INADDR_NONE
+ #define INADDR_NONE (-1) /* XXX should be 0xffffffff */
+diff --git a/safe_finger.c b/safe_finger.c
+index 23afab1..a6458fb 100644
+--- a/safe_finger.c
++++ b/safe_finger.c
+@@ -34,6 +34,7 @@ static char sccsid[] = "@(#) safe_finger.c 1.4 94/12/28 17:42:41";
+ #include <syslog.h>
+
+ extern void exit();
++extern int pipe_stdin(char **argv);
+
+ /* Local stuff */
+
+diff --git a/shell_cmd.c b/shell_cmd.c
+index 62d31bc..a566092 100644
+--- a/shell_cmd.c
++++ b/shell_cmd.c
+@@ -16,10 +16,13 @@ static char sccsid[] = "@(#) shell_cmd.c 1.5 94/12/28 17:42:44";
+
+ #include <sys/types.h>
+ #include <sys/param.h>
++#include <sys/wait.h>
++#include <fcntl.h>
+ #include <signal.h>
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
++#include <unistd.h>
+
+ extern void exit();
+
+diff --git a/tcpd.c b/tcpd.c
+index dc9ff17..4353caa 100644
+--- a/tcpd.c
++++ b/tcpd.c
+@@ -46,7 +46,7 @@ void fix_options(struct request_info *);
+ int allow_severity = SEVERITY; /* run-time adjustable */
+ int deny_severity = LOG_WARNING; /* ditto */
+
+-main(argc, argv)
++void main(argc, argv)
+ int argc;
+ char **argv;
+ {
+diff --git a/tcpdchk.c b/tcpdchk.c
+index 5dca8bd..67c12ce 100644
+--- a/tcpdchk.c
++++ b/tcpdchk.c
+@@ -38,6 +38,7 @@ static char sccsid[] = "@(#) tcpdchk.c 1.8 97/02/12 02:13:25";
+
+ extern int errno;
+ extern void exit();
++extern unsigned long cidr_mask_addr(char* str);
+ extern int optind;
+ extern char *optarg;
+
+diff --git a/workarounds.c b/workarounds.c
+index b22b378..6335049 100644
+--- a/workarounds.c
++++ b/workarounds.c
+@@ -21,6 +21,7 @@ char sccsid[] = "@(#) workarounds.c 1.6 96/03/19 16:22:25";
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
++#include <unistd.h>
+
+ extern int errno;
+
+--
+2.37.1
+
diff --git a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
index 814d7fd913..8137d257c8 100644
--- a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
+++ b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
@@ -50,6 +50,7 @@ SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
file://fix_warnings.patch \
file://fix_warnings2.patch \
file://0001-Remove-fgets-extern-declaration.patch \
+ file://0001-Fix-implicit-function-declaration-warnings.patch \
"
SRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a"
diff --git a/poky/meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch b/poky/meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch
new file mode 100644
index 0000000000..f6ea212667
--- /dev/null
+++ b/poky/meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch
@@ -0,0 +1,27 @@
+From c8deae54f92d636878097063b411af9fb5262ad3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 15 Aug 2022 07:24:24 -0700
+Subject: [PATCH] include string.h for memset()
+
+Fixes implicit function declaration warning e.g.
+
+resuse.c:103:3: error: call to undeclared library function 'memset' with type 'void *(void *, int, unsigned long)'
+
+Upstream-Status: Submitted [https://lists.gnu.org/archive/html/bug-time/2022-08/msg00001.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/resuse.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/resuse.c b/src/resuse.c
+index cf5a08c..9d3d18a 100644
+--- a/src/resuse.c
++++ b/src/resuse.c
+@@ -22,6 +22,7 @@
+ */
+
+ #include "config.h"
++#include <string.h>
+ #include <sys/time.h>
+ #include <sys/wait.h>
+ #include <sys/resource.h>
diff --git a/poky/meta/recipes-extended/time/time_1.9.bb b/poky/meta/recipes-extended/time/time_1.9.bb
index 706605fe06..8364210e61 100644
--- a/poky/meta/recipes-extended/time/time_1.9.bb
+++ b/poky/meta/recipes-extended/time/time_1.9.bb
@@ -13,7 +13,9 @@ ALTERNATIVE_PRIORITY = "100"
BBCLASSEXTEND = "native nativesdk"
-SRC_URI = "${GNU_MIRROR}/time/time-${PV}.tar.gz"
+SRC_URI = "${GNU_MIRROR}/time/time-${PV}.tar.gz \
+ file://0001-include-string.h-for-memset.patch \
+ "
SRC_URI[md5sum] = "d2356e0fe1c0b85285d83c6b2ad51b5f"
SRC_URI[sha256sum] = "fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e"
diff --git a/poky/meta/recipes-extended/timezone/timezone.inc b/poky/meta/recipes-extended/timezone/timezone.inc
index cdd1a2ac3c..2b956cf7c0 100644
--- a/poky/meta/recipes-extended/timezone/timezone.inc
+++ b/poky/meta/recipes-extended/timezone/timezone.inc
@@ -6,7 +6,7 @@ SECTION = "base"
LICENSE = "PD & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
-PV = "2022a"
+PV = "2022b"
SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode \
http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata \
@@ -14,6 +14,6 @@ SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz
UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
-SRC_URI[tzcode.sha256sum] = "f8575e7e33be9ee265df2081092526b81c80abac3f4a04399ae9d4d91cdadac7"
-SRC_URI[tzdata.sha256sum] = "ef7fffd9f4f50f4f58328b35022a32a5a056b245c5cb3d6791dddb342f871664"
+SRC_URI[tzcode.sha256sum] = "bab20d943e59a3218435f48d868a4e552f18d6d7f3dd128660c5660c80b8a05f"
+SRC_URI[tzdata.sha256sum] = "f590eaf04a395245426c2be4fae71c143aea5cebc11088b7a0a5704461df397d"
diff --git a/poky/meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch b/poky/meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch
new file mode 100644
index 0000000000..f7e0854cd9
--- /dev/null
+++ b/poky/meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch
@@ -0,0 +1,112 @@
+From 5ac5885d35257888d0e4a9dda903405314f9fc84 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 17:53:13 -0700
+Subject: [PATCH] configure: Add correct system headers and prototypes to tests
+
+Newer compilers e.g. clang-15+ have turned stricter towards these
+warnings and turned them into errors which results in subtle failures
+during build, therefore make the testcases use the needed headers and
+modern C
+
+Upstream-Status: Inactive-Upstream
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/configure | 51 +++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 40 insertions(+), 11 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 49579f3..8fd82dd 100755
+--- a/unix/configure
++++ b/unix/configure
+@@ -379,14 +379,37 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
+
+ # Check for missing functions
+ # add NO_'function_name' to flags if missing
+-for func in fchmod fchown lchown nl_langinfo
+-do
+- echo Check for $func
+- echo "int main(){ $func(); return 0; }" > conftest.c
+- $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+- [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
+-done
++echo Check for fchmod
++cat > conftest.c << _EOF_
++#include <sys/stat.h>
++int main(){ fchmod(0,0); return 0; }
++_EOF_
++$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_FCHMOD"
+
++echo Check for fchown
++cat > conftest.c << _EOF_
++#include <unistd.h>
++int main(){ fchown(0,0,0); return 0; }
++_EOF_
++$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_FCHOWN"
++
++echo Check for lchown
++cat > conftest.c << _EOF_
++#include <unistd.h>
++int main(){ lchown(NULL,0,0); return 0; }
++_EOF_
++$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHOWN"
++
++echo Check for nl_langinfo
++cat > conftest.c << _EOF_
++#include <langinfo.h>
++int main(){ nl_langinfo(0); return 0; }
++_EOF_
++$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_NL_LANGINFO"
+ # Check (seriously) for a working lchmod.
+ echo 'Check for lchmod'
+ temp_file="/tmp/unzip_test_$$"
+@@ -401,14 +424,17 @@ ln -s "${temp_link}" "${temp_file}" && \
+ rm -f "${temp_file}"
+
+ echo Check for memset
+-echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
++cat > conftest.c << _EOF_
++#include <string.h>
++int main(){ char k; memset(&k,0,0); return 0; }
++_EOF_
+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DZMEM"
+
+ echo Check for errno declaration
+ cat > conftest.c << _EOF_
+ #include <errno.h>
+-main()
++int main()
+ {
+ errno = 0;
+ return 0;
+@@ -419,6 +445,8 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
+
+ echo Check for directory libraries
+ cat > conftest.c << _EOF_
++#include <sys/types.h>
++#include <dirent.h>
+ int main() { return closedir(opendir(".")); }
+ _EOF_
+
+@@ -523,10 +551,11 @@ fi
+ # needed for AIX (and others ?) when mmap is used
+ echo Check for valloc
+ cat > conftest.c << _EOF_
+-main()
++#include <stdlib.h>
++int main()
+ {
+ #ifdef MMAP
+- valloc();
++ valloc(0);
+ #endif
+ }
+ _EOF_
+--
+2.37.1
+
diff --git a/poky/meta/recipes-extended/unzip/unzip_6.0.bb b/poky/meta/recipes-extended/unzip/unzip_6.0.bb
index f35856cf61..a4d10c30aa 100644
--- a/poky/meta/recipes-extended/unzip/unzip_6.0.bb
+++ b/poky/meta/recipes-extended/unzip/unzip_6.0.bb
@@ -31,6 +31,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/
file://CVE-2021-4217.patch \
file://CVE-2022-0529.patch \
file://CVE-2022-0530.patch \
+ file://0001-configure-Add-correct-system-headers-and-prototypes-.patch \
"
UPSTREAM_VERSION_UNKNOWN = "1"
@@ -45,6 +46,9 @@ UPSTREAM_CHECK_REGEX = "unzip(?P<pver>(?!552).+)\.tgz"
S = "${WORKDIR}/unzip60"
+# Enable largefile support
+CFLAGS += "-DLARGE_FILE_SUPPORT"
+
# Makefile uses CF_NOOPT instead of CFLAGS. We lifted the values from
# Makefile and add CFLAGS. Optimization will be overriden by unzip
# configure to be -O3.
diff --git a/poky/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch b/poky/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch
new file mode 100644
index 0000000000..8c419e1d11
--- /dev/null
+++ b/poky/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch
@@ -0,0 +1,37 @@
+From ca1d379fa13c4055d42d2ff3a647b4397768efcd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Aug 2022 19:23:26 -0700
+Subject: [PATCH] shutdown: Do not guard sys/quota.h sys/swap.h and
+ sys/reboot.h with __GLIBC__
+
+These headers are provided by uclibc/musl/glibc and bionic so we can
+assume they are not needed to be glibc specific includes. This also
+ensures that we get proper declaration of reboot() API
+
+Upstream-Status: Submitted [https://sourceforge.net/p/watchdog/patches/12/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/shutdown.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/shutdown.c b/src/shutdown.c
+index 1d9a857..6aea0d0 100644
+--- a/src/shutdown.c
++++ b/src/shutdown.c
+@@ -29,13 +29,9 @@
+ #include "extern.h"
+ #include "ext2_mnt.h"
+
+-#if defined __GLIBC__
+ #include <sys/quota.h>
+ #include <sys/swap.h>
+ #include <sys/reboot.h>
+-#else /* __GLIBC__ */
+-#include <linux/quota.h>
+-#endif /* __GLIBC__ */
+
+ #include <unistd.h>
+
+--
+2.37.2
+
diff --git a/poky/meta/recipes-extended/watchdog/watchdog_5.16.bb b/poky/meta/recipes-extended/watchdog/watchdog_5.16.bb
index 1163846ed8..26fcc10487 100644
--- a/poky/meta/recipes-extended/watchdog/watchdog_5.16.bb
+++ b/poky/meta/recipes-extended/watchdog/watchdog_5.16.bb
@@ -13,6 +13,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/watchdog/watchdog-${PV}.tar.gz \
file://watchdog.init \
file://wd_keepalive.init \
file://0001-wd_keepalive.service-use-run-instead-of-var-run.patch \
+ file://0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch \
"
SRC_URI[md5sum] = "1b4f51cabc64d1bee2fce7cdd626831f"
diff --git a/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb b/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
index 62ee70d244..897417314d 100644
--- a/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
+++ b/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
@@ -30,6 +30,8 @@ INITSCRIPT_PARAMS = "defaults"
PACKAGECONFIG ??= "tcp-wrappers"
PACKAGECONFIG[tcp-wrappers] = "--with-libwrap,,tcp-wrappers"
+CFLAGS += "-D_GNU_SOURCE"
+
CONFFILES:${PN} = "${sysconfdir}/xinetd.conf"
do_install:append() {
diff --git a/poky/meta/recipes-extended/xz/xz/CVE-2022-1271.patch b/poky/meta/recipes-extended/xz/xz/CVE-2022-1271.patch
deleted file mode 100644
index e43e73cf12..0000000000
--- a/poky/meta/recipes-extended/xz/xz/CVE-2022-1271.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From dc932a1e9c0d9f1db71be11a9b82496e3a72f112 Mon Sep 17 00:00:00 2001
-From: Lasse Collin <lasse.collin@tukaani.org>
-Date: Tue, 29 Mar 2022 19:19:12 +0300
-Subject: [PATCH] xzgrep: Fix escaping of malicious filenames (ZDI-CAN-16587).
-
-Malicious filenames can make xzgrep to write to arbitrary files
-or (with a GNU sed extension) lead to arbitrary code execution.
-
-xzgrep from XZ Utils versions up to and including 5.2.5 are
-affected. 5.3.1alpha and 5.3.2alpha are affected as well.
-This patch works for all of them.
-
-This bug was inherited from gzip's zgrep. gzip 1.12 includes
-a fix for zgrep.
-
-The issue with the old sed script is that with multiple newlines,
-the N-command will read the second line of input, then the
-s-commands will be skipped because it's not the end of the
-file yet, then a new sed cycle starts and the pattern space
-is printed and emptied. So only the last line or two get escaped.
-
-One way to fix this would be to read all lines into the pattern
-space first. However, the included fix is even simpler: All lines
-except the last line get a backslash appended at the end. To ensure
-that shell command substitution doesn't eat a possible trailing
-newline, a colon is appended to the filename before escaping.
-The colon is later used to separate the filename from the grep
-output so it is fine to add it here instead of a few lines later.
-
-The old code also wasn't POSIX compliant as it used \n in the
-replacement section of the s-command. Using \<newline> is the
-POSIX compatible method.
-
-LC_ALL=C was added to the two critical sed commands. POSIX sed
-manual recommends it when using sed to manipulate pathnames
-because in other locales invalid multibyte sequences might
-cause issues with some sed implementations. In case of GNU sed,
-these particular sed scripts wouldn't have such problems but some
-other scripts could have, see:
-
- info '(sed)Locale Considerations'
-
-This vulnerability was discovered by:
-cleemy desu wayo working with Trend Micro Zero Day Initiative
-
-Thanks to Jim Meyering and Paul Eggert discussing the different
-ways to fix this and for coordinating the patch release schedule
-with gzip.
-
-Upstream-Status: Backport [https://tukaani.org/xz/xzgrep-ZDI-CAN-16587.patch]
-CVE: CVE-2022-1271
-
-Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org>
----
- src/scripts/xzgrep.in | 20 ++++++++++++--------
- 1 file changed, 12 insertions(+), 8 deletions(-)
-
-diff --git a/src/scripts/xzgrep.in b/src/scripts/xzgrep.in
-index 9db5c3a..f64dddb 100644
---- a/src/scripts/xzgrep.in
-+++ b/src/scripts/xzgrep.in
-@@ -179,22 +179,26 @@ for i; do
- { test $# -eq 1 || test $no_filename -eq 1; }; then
- eval "$grep"
- else
-+ # Append a colon so that the last character will never be a newline
-+ # which would otherwise get lost in shell command substitution.
-+ i="$i:"
-+
-+ # Escape & \ | and newlines only if such characters are present
-+ # (speed optimization).
- case $i in
- (*'
- '* | *'&'* | *'\'* | *'|'*)
-- i=$(printf '%s\n' "$i" |
-- sed '
-- $!N
-- $s/[&\|]/\\&/g
-- $s/\n/\\n/g
-- ');;
-+ i=$(printf '%s\n' "$i" | LC_ALL=C sed 's/[&\|]/\\&/g; $!s/$/\\/');;
- esac
-- sed_script="s|^|$i:|"
-+
-+ # $i already ends with a colon so don't add it here.
-+ sed_script="s|^|$i|"
-
- # Fail if grep or sed fails.
- r=$(
- exec 4>&1
-- (eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&-
-+ (eval "$grep" 4>&-; echo $? >&4) 3>&- |
-+ LC_ALL=C sed "$sed_script" >&3 4>&-
- ) || r=2
- exit $r
- fi >&3 5>&-
diff --git a/poky/meta/recipes-extended/xz/xz_5.2.5.bb b/poky/meta/recipes-extended/xz/xz_5.2.6.bb
index 720e070f4a..3482622471 100644
--- a/poky/meta/recipes-extended/xz/xz_5.2.5.bb
+++ b/poky/meta/recipes-extended/xz/xz_5.2.6.bb
@@ -24,11 +24,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=97d554a32881fee0aa283d96e47cb24a \
file://lib/getopt.c;endline=23;md5=2069b0ee710572c03bb3114e4532cd84 \
"
-SRC_URI = "https://tukaani.org/xz/xz-${PV}.tar.gz \
- file://CVE-2022-1271.patch \
- "
-SRC_URI[md5sum] = "0d270c997aff29708c74d53f599ef717"
-SRC_URI[sha256sum] = "f6f4910fd033078738bd82bfba4f49219d03b17eb0794eb91efbae419f4aba10"
+SRC_URI = "https://tukaani.org/xz/xz-${PV}.tar.gz"
+SRC_URI[sha256sum] = "a2105abee17bcd2ebd15ced31b4f5eda6e17efd6b10f921a01cda4a44c91b3a0"
UPSTREAM_CHECK_REGEX = "xz-(?P<pver>\d+(\.\d+)+)\.tar"
CACHED_CONFIGUREVARS += "gl_cv_posix_shell=/bin/sh"
diff --git a/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Specify-correct-function-signatures-and-de.patch b/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Specify-correct-function-signatures-and-de.patch
new file mode 100644
index 0000000000..a4f8382625
--- /dev/null
+++ b/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Specify-correct-function-signatures-and-de.patch
@@ -0,0 +1,134 @@
+From 8810f2643c9372a8083272dc1fc157427646d961 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 17:16:23 -0700
+Subject: [PATCH 1/2] configure: Specify correct function signatures and
+ declarations
+
+Include needed system headers in configure tests, this is needed because
+newer compilers are getting stricter about the C99 specs and turning
+-Wimplicit-function-declaration into hard error e.g. clang-15+
+
+Upstream-Status: Inactive-Upstream
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/configure | 79 +++++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 66 insertions(+), 13 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 1d9a9bb..f2b3d02 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -513,21 +513,70 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
+ # Check for missing functions
+ # add NO_'function_name' to flags if missing
+
+-for func in rmdir strchr strrchr rename mktemp mktime mkstemp
+-do
+- echo Check for $func
+- echo "int main(){ $func(); return 0; }" > conftest.c
+- $CC $CFLAGS $LDFLAGS $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
+- [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
+-done
++echo Check for rmdir
++cat > conftest.c << _EOF_
++#include <unistd.h>
++int main(){ rmdir(NULL); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_RMDIR"
++
++echo Check for strchr
++cat > conftest.c << _EOF_
++#include <string.h>
++int main(){ strchr(NULL,0); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_STRCHR"
+
++echo Check for strrchr
++cat > conftest.c << _EOF_
++#include <string.h>
++int main(){ strrchr(NULL,0); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_STRRCHR"
++
++echo Check for rename
++cat > conftest.c << _EOF_
++#include <stdio.h>
++int main(){ rename(NULL,NULL); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_RENAME"
++
++echo Check for mktemp
++cat > conftest.c << _EOF_
++#include <stdlib.h>
++int main(){ mktemp(NULL); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKTEMP"
++
++echo Check for mktime
++cat > conftest.c << _EOF_
++#include <time.h>
++int main(){ mktime(NULL); return 0; }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKTIME"
++
++echo Check for mkstemp
++cat > conftest.c << _EOF_
++#include <stdlib.h>
++int main(){ return mkstemp(NULL); }
++_EOF_
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
++[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKSTEMP"
+
+ echo Check for memset
+-echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
++cat > conftest.c << _EOF_
++#include <string.h>
++int main(){ char k; memset(&k,0,0); return 0; }
++_EOF_
+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM"
+
+-
+ echo Check for memmove
+ cat > conftest.c << _EOF_
+ #include <string.h>
+@@ -548,7 +597,7 @@ $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ echo Check for errno declaration
+ cat > conftest.c << _EOF_
+ #include <errno.h>
+-main()
++int main()
+ {
+ errno = 0;
+ return 0;
+@@ -625,14 +674,18 @@ CFLAGS="${CFLAGS} ${OPT}"
+
+ echo Check for valloc
+ cat > conftest.c << _EOF_
+-main()
++#include <stdlib.h>
++int main()
+ {
+ #ifdef MMAP
+- valloc();
++ valloc(0);
+ #endif
++ return 0;
+ }
+ _EOF_
+-$CC ${CFLAGS} -c conftest.c > /dev/null 2>/dev/null
++#$CC ${CFLAGS} -c conftest.c > /dev/null 2>/dev/null
++$CC ${CFLAGS} -c conftest.c
++echo "==========================================="
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_VALLOC"
+
+
+--
+2.37.1
+
diff --git a/poky/meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch b/poky/meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch
new file mode 100644
index 0000000000..a86e03e620
--- /dev/null
+++ b/poky/meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch
@@ -0,0 +1,35 @@
+From 76f5bf3546d826dcbc03acbefcf0b10b972bf136 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 17:19:38 -0700
+Subject: [PATCH 2/2] unix.c: Do not redefine DIR as FILE
+
+DIR is already provided on Linux via
+/usr/include/dirent.h system header
+
+Upstream-Status: Inactive-Upstream
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/unix.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/unix/unix.c b/unix/unix.c
+index ba87614..6e6f4d2 100644
+--- a/unix/unix.c
++++ b/unix/unix.c
+@@ -61,13 +61,11 @@ local time_t label_utim = 0;
+ /* Local functions */
+ local char *readd OF((DIR *));
+
+-
+ #ifdef NO_DIR /* for AT&T 3B1 */
+ #include <sys/dir.h>
+ #ifndef dirent
+ # define dirent direct
+ #endif
+-typedef FILE DIR;
+ /*
+ ** Apparently originally by Rich Salz.
+ ** Cleaned up and modified by James W. Birdsall.
+--
+2.37.1
+
diff --git a/poky/meta/recipes-extended/zip/zip_3.0.bb b/poky/meta/recipes-extended/zip/zip_3.0.bb
index 07a67b9634..1930a40140 100644
--- a/poky/meta/recipes-extended/zip/zip_3.0.bb
+++ b/poky/meta/recipes-extended/zip/zip_3.0.bb
@@ -17,6 +17,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.
file://0001-configure-use-correct-CPP.patch \
file://0002-configure-support-PIC-code-build.patch \
file://0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch \
+ file://0001-configure-Specify-correct-function-signatures-and-de.patch \
+ file://0002-unix.c-Do-not-redefine-DIR-as-FILE.patch \
"
UPSTREAM_VERSION_UNKNOWN = "1"
@@ -29,6 +31,9 @@ CVE_CHECK_IGNORE += "CVE-2018-13410"
# Not for zip but for smart contract implementation for it
CVE_CHECK_IGNORE += "CVE-2018-13684"
+# Enable largefile support
+CFLAGS += "-DLARGE_FILE_SUPPORT"
+
# zip.inc sets CFLAGS, but what Makefile actually uses is
# CFLAGS_NOOPT. It will also force -O3 optimization, overriding
# whatever we set.
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_42.3.bb b/poky/meta/recipes-gnome/epiphany/epiphany_42.4.bb
index f9d60ff2a9..9efd2800da 100644
--- a/poky/meta/recipes-gnome/epiphany/epiphany_42.3.bb
+++ b/poky/meta/recipes-gnome/epiphany/epiphany_42.4.bb
@@ -28,7 +28,7 @@ SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@oe.utils.trim_version("${PV}", 1)}/${GN
file://migrator.patch \
file://distributor.patch \
"
-SRC_URI[archive.sha256sum] = "7316d3c6500e825d8e57293fa58047c56727bee16cd6b6ac804ffe5d9b229560"
+SRC_URI[archive.sha256sum] = "370938ad2920eeb28bc2435944776b7ba55a0e2ede65836f79818cfb7e8f0860"
PACKAGECONFIG_SOUP ?= "soup2"
PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}"
diff --git a/poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb b/poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb
index 0c2af42f06..917be5938b 100644
--- a/poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb
+++ b/poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb
@@ -13,6 +13,8 @@ DEPENDS = "p11-kit glib-2.0 libgcrypt gnupg-native \
CACHED_CONFIGUREVARS += "ac_cv_path_GPG='gpg2'"
+CFLAGS += "-D_GNU_SOURCE"
+
GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk_doc"
inherit gnomebase gtk-icon-cache gtk-doc features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch
index a8206a4507..02cc9a2a70 100644
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch
@@ -1,4 +1,4 @@
-From ba73bb0f3d2023839bc3b681c49b7ec1192cceb4 Mon Sep 17 00:00:00 2001
+From f81b60ebcbbfd9548c8aa1e388662c429068d1e3 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Sat, 8 May 2021 21:58:54 +0200
Subject: [PATCH] Add use_prebuilt_tools option
@@ -18,7 +18,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
5 files changed, 42 insertions(+), 19 deletions(-)
diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build
-index 8b0590b..7331491 100644
+index 54ff9dd..2e321cf 100644
--- a/gdk-pixbuf/meson.build
+++ b/gdk-pixbuf/meson.build
@@ -342,13 +342,20 @@ foreach bin: gdkpixbuf_bin
@@ -45,16 +45,18 @@ index 8b0590b..7331491 100644
# load the installed cache; we always build it by default
loaders_cache = custom_target('loaders.cache',
diff --git a/meson.build b/meson.build
-index 7a1409b..0bc73eb 100644
+index 813bd43..a93e6f7 100644
--- a/meson.build
+++ b/meson.build
-@@ -403,16 +403,16 @@ subdir('gdk-pixbuf')
+@@ -369,18 +369,18 @@ subdir('gdk-pixbuf')
# i18n
subdir('po')
-if not meson.is_cross_build()
+if not meson.is_cross_build() or get_option('use_prebuilt_tools')
- subdir('tests')
+ if get_option('tests')
+ subdir('tests')
+ endif
- subdir('thumbnailer')
endif
+subdir('thumbnailer')
@@ -69,10 +71,10 @@ index 7a1409b..0bc73eb 100644
gdk_pixbuf_bindir,
gdk_pixbuf_libdir,
diff --git a/meson_options.txt b/meson_options.txt
-index 0ee6718..cc29855 100644
+index d198d99..1c899e9 100644
--- a/meson_options.txt
+++ b/meson_options.txt
-@@ -49,4 +49,8 @@ option('gio_sniffing',
+@@ -53,4 +53,8 @@ option('gio_sniffing',
description: 'Perform file type detection using GIO (Unused on MacOS and Windows)',
type: 'boolean',
value: true)
@@ -82,7 +84,7 @@ index 0ee6718..cc29855 100644
+ value: false)
diff --git a/tests/meson.build b/tests/meson.build
-index 7c6cb11..1029e6a 100644
+index 28c2525..d97c02d 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -5,6 +5,12 @@
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
index 25410b11ea..23c68a0923 100644
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
@@ -1,4 +1,4 @@
-From f00603d58d844422363b896ea7d07aaf48ddaa66 Mon Sep 17 00:00:00 2001
+From b511bd1efb43ffc49c753e309717a242ec686ef1 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Tue, 1 Apr 2014 17:23:36 +0100
Subject: [PATCH] gdk-pixbuf: add an option so that loader errors are fatal
@@ -6,7 +6,7 @@ Subject: [PATCH] gdk-pixbuf: add an option so that loader errors are fatal
If an environment variable is specified set the return value from main() to
non-zero if the loader had errors (missing libraries, generally).
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/144]
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
@@ -14,10 +14,10 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c
-index 312aa78..b813d99 100644
+index 1d39b44..2b00815 100644
--- a/gdk-pixbuf/queryloaders.c
+++ b/gdk-pixbuf/queryloaders.c
-@@ -212,7 +212,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info)
+@@ -216,7 +216,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info)
g_string_append_c (contents, '\n');
}
@@ -26,7 +26,7 @@ index 312aa78..b813d99 100644
query_module (GString *contents, const char *dir, const char *file)
{
char *path;
-@@ -221,6 +221,7 @@ query_module (GString *contents, const char *dir, const char *file)
+@@ -225,6 +225,7 @@ query_module (GString *contents, const char *dir, const char *file)
void (*fill_vtable) (GdkPixbufModule *module);
gpointer fill_info_ptr;
gpointer fill_vtable_ptr;
@@ -34,7 +34,7 @@ index 312aa78..b813d99 100644
if (g_path_is_absolute (file))
path = g_strdup (file);
-@@ -270,10 +271,13 @@ query_module (GString *contents, const char *dir, const char *file)
+@@ -274,10 +275,13 @@ query_module (GString *contents, const char *dir, const char *file)
g_module_error());
else
g_fprintf (stderr, "Cannot load loader %s\n", path);
@@ -47,8 +47,8 @@ index 312aa78..b813d99 100644
+ return ret;
}
- #ifdef G_OS_WIN32
-@@ -314,6 +318,7 @@ int main (int argc, char **argv)
+ #if defined(G_OS_WIN32) && defined(GDK_PIXBUF_RELOCATABLE)
+@@ -318,6 +322,7 @@ int main (int argc, char **argv)
gint first_file = 1;
GFile *pixbuf_libdir_file;
gchar *pixbuf_libdir;
@@ -56,7 +56,7 @@ index 312aa78..b813d99 100644
#ifdef G_OS_WIN32
gchar *libdir;
-@@ -452,7 +457,9 @@ int main (int argc, char **argv)
+@@ -456,7 +461,9 @@ int main (int argc, char **argv)
}
modules = g_list_sort (modules, (GCompareFunc)strcmp);
for (l = modules; l != NULL; l = l->next)
@@ -67,7 +67,7 @@ index 312aa78..b813d99 100644
g_list_free_full (modules, g_free);
g_free (moduledir);
#else
-@@ -468,7 +475,8 @@ int main (int argc, char **argv)
+@@ -472,7 +479,8 @@ int main (int argc, char **argv)
infilename = g_locale_to_utf8 (infilename,
-1, NULL, NULL, NULL);
#endif
@@ -77,7 +77,7 @@ index 312aa78..b813d99 100644
}
g_free (cwd);
}
-@@ -486,5 +494,8 @@ int main (int argc, char **argv)
+@@ -490,5 +498,8 @@ int main (int argc, char **argv)
g_free (pixbuf_libdir);
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.8.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.9.bb
index fb6829a7d1..d33718e3ea 100644
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.8.bb
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.9.bb
@@ -23,7 +23,7 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
file://0001-Add-use_prebuilt_tools-option.patch \
"
-SRC_URI[sha256sum] = "84acea3acb2411b29134b32015a5b1aaa62844b19c4b1ef8b8971c6b0759f4c6"
+SRC_URI[sha256sum] = "28f7958e7bf29a32d4e963556d241d0a41a6786582ff6a5ad11665e0347fc962"
inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gi-docgen lib_package
@@ -44,11 +44,13 @@ PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff"
PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false"
-EXTRA_OEMESON:class-target = " \
+EXTRA_OEMESON = "-Dman=false"
+
+EXTRA_OEMESON:append:class-target = " \
-Duse_prebuilt_tools=true \
"
-EXTRA_OEMESON:class-nativesdk = " \
+EXTRA_OEMESON:append:class-nativesdk = " \
-Duse_prebuilt_tools=true \
"
@@ -95,9 +97,11 @@ do_install:append() {
}
-# Remove a bad fuzzing attempt that sporadically fails without a way to reproduce
do_install_ptest() {
+ # Remove a bad fuzzing attempt that sporadically fails without a way to reproduce
rm ${D}/${datadir}/installed-tests/gdk-pixbuf/pixbuf-randomly-modified.test
+ # https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/215
+ rm ${D}/${datadir}/installed-tests/gdk-pixbuf/pixbuf-jpeg.test
}
do_install:append:class-native() {
diff --git a/poky/meta/recipes-gnome/libnotify/libnotify_0.8.0.bb b/poky/meta/recipes-gnome/libnotify/libnotify_0.8.1.bb
index 9c9af87e1a..3bdc70d224 100644
--- a/poky/meta/recipes-gnome/libnotify/libnotify_0.8.0.bb
+++ b/poky/meta/recipes-gnome/libnotify/libnotify_0.8.1.bb
@@ -22,7 +22,7 @@ inherit gnomebase gtk-doc features_check gobject-introspection
# depends on gtk+3 if tests are enabled
ANY_OF_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'tests', '${GTK3DISTROFEATURES}', '', d)}"
-SRC_URI[archive.sha256sum] = "46a26f0db4e64cf24016291eb1579ed9f0ba7611fe6cd9e1afec8f42780d3924"
+SRC_URI[archive.sha256sum] = "d033e6d4d6ccbf46a436c31628a4b661b36dca1f5d4174fe0173e274f4e62557"
EXTRA_OEMESON = "-Dman=false"
diff --git a/poky/meta/recipes-gnome/librsvg/librsvg_2.54.4.bb b/poky/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
index cc7fb9bbdf..fc52ae61c5 100644
--- a/poky/meta/recipes-gnome/librsvg/librsvg_2.54.4.bb
+++ b/poky/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
@@ -14,13 +14,13 @@ SECTION = "x11/utils"
DEPENDS = "cairo gdk-pixbuf glib-2.0 libxml2 pango python3-docutils-native"
BBCLASSEXTEND = "native nativesdk"
-inherit gnomebase pixbufcache upstream-version-is-even gobject-introspection rust vala gi-docgen
+inherit cargo_common gnomebase pixbufcache upstream-version-is-even gobject-introspection rust vala gi-docgen
SRC_URI += "file://0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch \
file://0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch \
"
-SRC_URI[archive.sha256sum] = "ea152a243f6a43c0e036a28c70de3fcbcdea5664c6811c78592bc229ecc24833"
+SRC_URI[archive.sha256sum] = "4f03190f45324d1fa1f52a79dfcded1f64eaf49b3ae2f88eedab0c07617cae6e"
# librsvg is still autotools-based, but is calling cargo from its automake-driven makefiles
# so we cannot use cargo class directly, but still need bits and pieces from it
@@ -29,25 +29,25 @@ BASEDEPENDS:append = " cargo-native"
export RUST_BACKTRACE = "full"
export RUSTFLAGS
-export RUST_TARGET_PATH
-export RUST_TARGET = "${HOST_SYS}"
+export RUST_TARGET = "${RUST_HOST_SYS}"
RUSTFLAGS:append:mips = " --cfg crossbeam_no_atomic_64"
RUSTFLAGS:append:mipsel = " --cfg crossbeam_no_atomic_64"
RUSTFLAGS:append:powerpc = " --cfg crossbeam_no_atomic_64"
RUSTFLAGS:append:riscv32 = " --cfg crossbeam_no_atomic_64"
+CARGO_DISABLE_BITBAKE_VENDORING = "1"
+do_configure[postfuncs] += "cargo_common_do_configure"
+
+inherit rust-target-config
+
# rust-cross writes the target linker binary into target json definition without any flags.
# This breaks here because the linker isn't going to work without at least knowing where
# the sysroot is. So copy the json to workdir, and patch in the path to wrapper from rust class
# which supplies the needed flags.
do_compile:prepend() {
- cp ${STAGING_LIBDIR_NATIVE}/rustlib/${HOST_SYS}.json ${WORKDIR}
- cp ${STAGING_LIBDIR_NATIVE}/rustlib/${BUILD_SYS}.json ${WORKDIR}
- sed -ie 's,"linker": ".*","linker": "${RUST_TARGET_CC}",g' ${WORKDIR}/${HOST_SYS}.json
- RUST_TARGET_PATH="${WORKDIR}"
- export RUST_TARGET_PATH
+ sed -ie 's,"linker": ".*","linker": "${RUST_TARGET_CC}",g' ${RUST_TARGETS_DIR}/${RUST_HOST_SYS}.json
}
# Issue only on windows
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz/0001-fix-signedness-of-char-in-tests.patch b/poky/meta/recipes-graphics/harfbuzz/harfbuzz/0001-fix-signedness-of-char-in-tests.patch
new file mode 100644
index 0000000000..029ca2bfff
--- /dev/null
+++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz/0001-fix-signedness-of-char-in-tests.patch
@@ -0,0 +1,27 @@
+From 1bd3884bc0544ffbb6545ed2391f0932bb8d7d91 Mon Sep 17 00:00:00 2001
+From: psykose <alice@ayaya.dev>
+Date: Mon, 1 Aug 2022 07:45:25 +0000
+Subject: [PATCH] fix signedness of char in tests
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ src/test-repacker.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/test-repacker.cc b/src/test-repacker.cc
+index 053c0c6..1b7e1f0 100644
+--- a/src/test-repacker.cc
++++ b/src/test-repacker.cc
+@@ -112,9 +112,9 @@ static void start_lookup (int8_t type,
+ hb_serialize_context_t* c)
+ {
+ char lookup[] = {
+- 0, type, // type
++ 0, (char)type, // type
+ 0, 0, // flag
+- 0, num_subtables, // num subtables
++ 0, (char)num_subtables, // num subtables
+ };
+
+ start_object (lookup, 6, c);
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.4.1.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_5.1.0.bb
index c2867d2a9f..4c2d774803 100644
--- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.4.1.bb
+++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_5.1.0.bb
@@ -11,8 +11,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6ee0f16281694fb6aa689cca1e0fb3da \
UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
UPSTREAM_CHECK_REGEX = "harfbuzz-(?P<pver>\d+(\.\d+)+).tar"
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "c5bc33ac099b2e52f01d27cde21cee4281b9d5bfec7684135e268512478bc9ee"
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz \
+ file://0001-fix-signedness-of-char-in-tests.patch \
+ "
+SRC_URI[sha256sum] = "2edb95db668781aaa8d60959d21be2ff80085f31b12053cdd660d9a50ce84f05"
inherit meson pkgconfig lib_package gtk-doc gobject-introspection
diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.3.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.4.bb
index fdc035d5f7..1708fa97f0 100644
--- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.3.bb
+++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.4.bb
@@ -14,7 +14,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
file://0001-libjpeg-turbo-fix-package_qa-error.patch \
"
-SRC_URI[sha256sum] = "467b310903832b033fe56cd37720d1b73a6a3bd0171dbf6ff0b620385f4f76d0"
+SRC_URI[sha256sum] = "d3ed26a1131a13686dfca4935e520eb7c90ae76fbc45d98bb50a8dc86230342b"
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
diff --git a/poky/meta/recipes-graphics/kmscube/kmscube/0001-drm-common.c-do-not-use-invalid-modifier.patch b/poky/meta/recipes-graphics/kmscube/kmscube/0001-drm-common.c-do-not-use-invalid-modifier.patch
new file mode 100644
index 0000000000..58ff3ba561
--- /dev/null
+++ b/poky/meta/recipes-graphics/kmscube/kmscube/0001-drm-common.c-do-not-use-invalid-modifier.patch
@@ -0,0 +1,27 @@
+From bdde833c254092a47df6c7109a9751653c82aaae Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Mon, 8 Aug 2022 20:22:39 +0200
+Subject: [PATCH] drm-common.c: do not use invalid modifier
+
+Prior to kernel 5.19 this was a soft failure, but 5.19
+adds checks that result in a hard syscall fail.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/kmscube/-/merge_requests/33]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ drm-common.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drm-common.c b/drm-common.c
+index 5c9cca2..964e1c3 100644
+--- a/drm-common.c
++++ b/drm-common.c
+@@ -92,7 +92,7 @@ struct drm_fb * drm_fb_get_from_bo(struct gbm_bo *bo)
+ modifiers[i] = modifiers[0];
+ }
+
+- if (modifiers[0]) {
++ if (modifiers[0] && modifiers[0] != DRM_FORMAT_MOD_INVALID) {
+ flags = DRM_MODE_FB_MODIFIERS;
+ printf("Using modifier %" PRIx64 "\n", modifiers[0]);
+ }
diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
index 58ce26a3d5..f7ee6e4e10 100644
--- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
+++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
@@ -11,8 +11,10 @@ DEPENDS = "virtual/libgles3 virtual/libgles2 virtual/egl libdrm"
LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb"
SRCREV = "9f63f359fab1b5d8e862508e4e51c9dfe339ccb0"
-SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https"
-SRC_URI += "file://0001-texturator-Use-correct-GL-extension-header.patch"
+SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https \
+ file://0001-texturator-Use-correct-GL-extension-header.patch \
+ file://0001-drm-common.c-do-not-use-invalid-modifier.patch \
+ "
UPSTREAM_CHECK_COMMITS = "1"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb
index 8519e7f732..ff3e162c49 100644
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb
@@ -30,7 +30,7 @@ S = "${WORKDIR}/SDL2-${PV}"
SRC_URI[sha256sum] = "fe7cbf3127882e3fc7259a75a0cb585620272c51745d3852ab9dd87960697f2e"
-inherit cmake lib_package binconfig-disabled pkgconfig
+inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even
BINCONFIG = "${bindir}/sdl2-config"
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_22.1.3.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_22.1.6.bb
index f2bc8f6b5b..f2bc8f6b5b 100644
--- a/poky/meta/recipes-graphics/mesa/mesa-gl_22.1.3.bb
+++ b/poky/meta/recipes-graphics/mesa/mesa-gl_22.1.6.bb
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index f02ef2dc2b..ea7ed4fd27 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -25,7 +25,7 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
file://0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch \
"
-SRC_URI[sha256sum] = "b98f32ba7aa2a1ff5725fb36eb999c693079f0ca16f70aa2f103e2b6c3f093e3"
+SRC_URI[sha256sum] = "22ced061eb9adab8ea35368246c1995c09723f3f71653cd5050c5cec376e671a"
UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
@@ -55,12 +55,17 @@ ANY_OF_DISTRO_FEATURES:class-target = "opengl vulkan"
PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}"
-export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-config"
-export YOCTO_ALTERNATE_MULTILIB_NAME = "${base_libdir}"
-export LLVM_CONFIG = "${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE}"
-export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}"
-
+# By placing llvm-config in the target sysroot bindir, it will then map values
+# to the target libdir magically. We can safely add to path as there are no other binaries
+# there.
+PATH:prepend = "${STAGING_BINDIR_CROSS}:${STAGING_BINDIR}:"
MESA_LLVM_RELEASE ?= "${LLVMVERSION}"
+do_configure:prepend () {
+ if [ -e ${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE} ]; then
+ cp ${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE} ${STAGING_BINDIR}
+ cp ${STAGING_BINDIR_NATIVE}/llvm-config ${STAGING_BINDIR}
+ fi
+}
# set the MESA_BUILD_TYPE to either 'release' (default) or 'debug'
# by default the upstream mesa sources build a debug release
@@ -123,7 +128,8 @@ PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2
PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled"
# "opencl" requires libclc from meta-clang and spirv-tools from OE-Core
-PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd -Dopencl-spirv=true,-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc spirv-tools"
+OPENCL_NATIVE = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', '-Dopencl-native=true', '', d)}"
+PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd -Dopencl-spirv=true ${OPENCL_NATIVE},-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc spirv-tools"
PACKAGECONFIG[broadcom] = ""
PACKAGECONFIG[etnaviv] = ""
@@ -297,7 +303,7 @@ FILES:libgbm = "${libdir}/libgbm.so.*"
FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*"
FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*"
FILES:libgl-mesa = "${libdir}/libGL.so.*"
-FILES:libopencl-mesa = "${libdir}/libMesaOpenCL.so.* ${sysconfdir}/OpenCL/vendors/mesa.icd"
+FILES:libopencl-mesa = "${libdir}/libMesaOpenCL.so.* ${libdir}/gallium-pipe/*.so ${sysconfdir}/OpenCL/vendors/mesa.icd"
FILES:libglapi = "${libdir}/libglapi.so.*"
FILES:libosmesa = "${libdir}/libOSMesa.so.*"
FILES:libxatracker = "${libdir}/libxatracker.so.*"
diff --git a/poky/meta/recipes-graphics/mesa/mesa_22.1.3.bb b/poky/meta/recipes-graphics/mesa/mesa_22.1.6.bb
index 96e8aa38d6..96e8aa38d6 100644
--- a/poky/meta/recipes-graphics/mesa/mesa_22.1.3.bb
+++ b/poky/meta/recipes-graphics/mesa/mesa_22.1.6.bb
diff --git a/poky/meta/recipes-graphics/pango/pango_1.50.8.bb b/poky/meta/recipes-graphics/pango/pango_1.50.9.bb
index 936526799f..03e2ca6721 100644
--- a/poky/meta/recipes-graphics/pango/pango_1.50.8.bb
+++ b/poky/meta/recipes-graphics/pango/pango_1.50.9.bb
@@ -24,7 +24,7 @@ SRC_URI += "file://run-ptest \
file://0001-Skip-running-test-layout-test.patch \
"
-SRC_URI[archive.sha256sum] = "cf626f59dd146c023174c4034920e9667f1d25ac2c1569516d63136c311255fa"
+SRC_URI[archive.sha256sum] = "1b636aabf905130d806372136f5e137b6a27f26d47defd9240bf444f6a4fe610"
DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch b/poky/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
index 5d6ec368ba..5d6ec368ba 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch b/poky/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
index 16c7c5c803..16c7c5c803 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-add-missing-endian.h-check.patch b/poky/meta/recipes-graphics/piglit/piglit/0004-CMakeLists.txt-add-missing-endian.h-check.patch
index 68f783ebe4..68f783ebe4 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-add-missing-endian.h-check.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0004-CMakeLists.txt-add-missing-endian.h-check.patch
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0005-cmake-Don-t-enable-GLX-if-tests-are-disabled.patch b/poky/meta/recipes-graphics/piglit/piglit/0005-cmake-Don-t-enable-GLX-if-tests-are-disabled.patch
new file mode 100644
index 0000000000..ef6fda0f4e
--- /dev/null
+++ b/poky/meta/recipes-graphics/piglit/piglit/0005-cmake-Don-t-enable-GLX-if-tests-are-disabled.patch
@@ -0,0 +1,32 @@
+From 13ff43fe760ac343b33d8e8c84b89886aac07116 Mon Sep 17 00:00:00 2001
+From: Tom Hochstein <tom.hochstein@nxp.com>
+Date: Fri, 3 Jun 2022 10:44:29 -0500
+Subject: [PATCH] cmake: Don't enable GLX if tests are disabled
+
+Allow building for systems that don't support GLX.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/720]
+Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
+---
+ CMakeLists.txt | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e1aeb5ddf..85e171aba 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -134,10 +134,7 @@ if(PIGLIT_BUILD_CL_TESTS)
+ endif(PIGLIT_BUILD_CL_TESTS)
+
+ IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+- if(X11_FOUND AND OPENGL_gl_LIBRARY)
+- # Assume the system has GLX. In the future, systems may exist
+- # with libGL and libX11 but no GLX, but that world hasn't
+- # arrived yet.
++ if(X11_FOUND AND OPENGL_gl_LIBRARY AND PIGLIT_BUILD_GLX_TESTS)
+ set(PIGLIT_HAS_GLX True)
+ add_definitions(-DPIGLIT_HAS_GLX)
+ endif()
+--
+2.17.1
+
diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb
index 932f2928a0..29360a246b 100644
--- a/poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -8,13 +8,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0"
SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=main \
file://0001-cmake-install-bash-completions-in-the-right-place.patch \
- file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
- file://0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \
- file://0001-CMakeLists.txt-add-missing-endian.h-check.patch \
- "
+ file://0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
+ file://0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \
+ file://0004-CMakeLists.txt-add-missing-endian.h-check.patch \
+ file://0005-cmake-Don-t-enable-GLX-if-tests-are-disabled.patch"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "c107462e4e429fa1cf6daac39168674c1c0c9fd4"
+SRCREV = "6403e90dc7da02d486906cddab8d02c2552a8d46"
# (when PV goes above 1.0 remove the trailing r)
PV = "1.0+gitr${SRCPV}"
@@ -36,8 +36,10 @@ REQUIRED_DISTRO_FEATURES += "opengl"
export TEMP = "${B}/temp/"
do_compile[dirs] =+ "${B}/temp/"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 glx', '', d)}"
PACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut,"
+PACKAGECONFIG[glx] = "-DPIGLIT_BUILD_GLX_TESTS=ON,-DPIGLIT_BUILD_GLX_TESTS=OFF"
+PACKAGECONFIG[opencl] = "-DPIGLIT_BUILD_CL_TESTS=ON,-DPIGLIT_BUILD_CL_TESTS=OFF,opencl-icd-loader"
PACKAGECONFIG[x11] = "-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X11_DEPS}, ${X11_RDEPS}"
PACKAGECONFIG[vulkan] = "-DPIGLIT_BUILD_VK_TESTS=ON,-DPIGLIT_BUILD_VK_TESTS=OFF,vulkan-loader"
diff --git a/poky/meta/recipes-graphics/shaderc/shaderc_2022.1.bb b/poky/meta/recipes-graphics/shaderc/shaderc_2022.2.bb
index fe9d94094c..df0fe8e6c8 100644
--- a/poky/meta/recipes-graphics/shaderc/shaderc_2022.1.bb
+++ b/poky/meta/recipes-graphics/shaderc/shaderc_2022.2.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "https://github.com/google/shaderc"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRCREV = "e4722b0ad49ee60c143d43baae8390f75ba27d2d"
+SRCREV = "3f1635df7774a90f691773e0093bc6ad8005de5a"
SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \
file://0001-cmake-disable-building-external-dependencies.patch \
file://0002-libshaderc_util-fix-glslang-header-file-location.patch \
diff --git a/poky/meta/recipes-graphics/spir/spirv-tools/0001-Remove-default-copy-constructor-in-header.-4879.patch b/poky/meta/recipes-graphics/spir/spirv-tools/0001-Remove-default-copy-constructor-in-header.-4879.patch
new file mode 100644
index 0000000000..044c366a75
--- /dev/null
+++ b/poky/meta/recipes-graphics/spir/spirv-tools/0001-Remove-default-copy-constructor-in-header.-4879.patch
@@ -0,0 +1,34 @@
+From a90ccc240501bf3362b23f67771f65b7dec2ccf9 Mon Sep 17 00:00:00 2001
+From: Jamie Madill <jmadill@chromium.org>
+Date: Fri, 29 Jul 2022 14:26:37 -0400
+Subject: [PATCH] Remove default copy constructor in header. (#4879)
+
+A recent libc++ roll in Chrome warned of a deprecated copy. We're
+still looking if this is a bug in libc++ or a valid warning, but
+removing the redundant line is a safe workaround or fix in either
+case.
+
+See discussion in https://crrev.com/c/3791771
+
+Upstream-Status: Backport [https://github.com/KhronosGroup/SPIRV-Tools/pull/4879]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ source/opt/merge_return_pass.h | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/source/opt/merge_return_pass.h b/source/opt/merge_return_pass.h
+index a35cf269..d15db2f6 100644
+--- a/source/opt/merge_return_pass.h
++++ b/source/opt/merge_return_pass.h
+@@ -118,8 +118,6 @@ class MergeReturnPass : public MemPass {
+ StructuredControlState(Instruction* break_merge, Instruction* merge)
+ : break_merge_(break_merge), current_merge_(merge) {}
+
+- StructuredControlState(const StructuredControlState&) = default;
+-
+ bool InBreakable() const { return break_merge_; }
+ bool InStructuredFlow() const { return CurrentMergeId() != 0; }
+
+--
+2.37.2
+
diff --git a/poky/meta/recipes-graphics/spir/spirv-tools_1.3.216.0.bb b/poky/meta/recipes-graphics/spir/spirv-tools_1.3.216.0.bb
index eb907326c4..fc1074d8b8 100644
--- a/poky/meta/recipes-graphics/spir/spirv-tools_1.3.216.0.bb
+++ b/poky/meta/recipes-graphics/spir/spirv-tools_1.3.216.0.bb
@@ -8,7 +8,9 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRCREV = "c94501352d545e84c821ce031399e76d1af32d18"
-SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=master;protocol=https"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=master;protocol=https \
+ file://0001-Remove-default-copy-constructor-in-header.-4879.patch \
+ "
PE = "1"
UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-Qualify-move-as-std-move.patch b/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-Qualify-move-as-std-move.patch
new file mode 100644
index 0000000000..80ee521499
--- /dev/null
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-Qualify-move-as-std-move.patch
@@ -0,0 +1,405 @@
+From 9e061b12b9305eee96a4d3129b646c244cc02347 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 14 Aug 2022 19:16:45 -0700
+Subject: [PATCH] Qualify move as std::move
+
+Seeing errors like below with clang-15
+
+spirv_common.hpp:692:19: error: unqualified call to std::move
+
+squashed Backport of following upstream commits
+
+https://github.com/KhronosGroup/SPIRV-Cross/commit/44c3333a1c315ead00c24f7aef5fa8a7ccf49299
+https://github.com/KhronosGroup/SPIRV-Cross/commit/0eda71c40936586ea812d0d20d93c11a3e9af192
+
+Upstream-Status: Backport [https://github.com/KhronosGroup/SPIRV-Cross/commit/0eda71c40936586ea812d0d20d93c11a3e9af192]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ main.cpp | 38 +++++++++++++++++++-------------------
+ spirv_common.hpp | 2 +-
+ spirv_cpp.hpp | 2 +-
+ spirv_cross.cpp | 18 +++++++++---------
+ spirv_glsl.cpp | 2 +-
+ spirv_glsl.hpp | 2 +-
+ spirv_hlsl.cpp | 4 ++--
+ spirv_hlsl.hpp | 2 +-
+ spirv_msl.cpp | 2 +-
+ spirv_parser.cpp | 4 ++--
+ spirv_reflect.hpp | 2 +-
+ 11 files changed, 39 insertions(+), 39 deletions(-)
+
+diff --git a/main.cpp b/main.cpp
+index 78991094..581c5e3b 100644
+--- a/main.cpp
++++ b/main.cpp
+@@ -65,7 +65,7 @@ struct CLICallbacks
+ struct CLIParser
+ {
+ CLIParser(CLICallbacks cbs_, int argc_, char *argv_[])
+- : cbs(move(cbs_))
++ : cbs(std::move(cbs_))
+ , argc(argc_)
+ , argv(argv_)
+ {
+@@ -722,7 +722,7 @@ static int main_inner(int argc, char *argv[])
+ auto old_name = parser.next_string();
+ auto new_name = parser.next_string();
+ auto model = stage_to_execution_model(parser.next_string());
+- args.entry_point_rename.push_back({ old_name, new_name, move(model) });
++ args.entry_point_rename.push_back({ old_name, new_name, std::move(model) });
+ });
+ cbs.add("--entry", [&args](CLIParser &parser) { args.entry = parser.next_string(); });
+ cbs.add("--stage", [&args](CLIParser &parser) { args.entry_stage = parser.next_string(); });
+@@ -731,20 +731,20 @@ static int main_inner(int argc, char *argv[])
+ HLSLVertexAttributeRemap remap;
+ remap.location = parser.next_uint();
+ remap.semantic = parser.next_string();
+- args.hlsl_attr_remap.push_back(move(remap));
++ args.hlsl_attr_remap.push_back(std::move(remap));
+ });
+
+ cbs.add("--remap", [&args](CLIParser &parser) {
+ string src = parser.next_string();
+ string dst = parser.next_string();
+ uint32_t components = parser.next_uint();
+- args.remaps.push_back({ move(src), move(dst), components });
++ args.remaps.push_back({ std::move(src), std::move(dst), components });
+ });
+
+ cbs.add("--remap-variable-type", [&args](CLIParser &parser) {
+ string var_name = parser.next_string();
+ string new_type = parser.next_string();
+- args.variable_type_remaps.push_back({ move(var_name), move(new_type) });
++ args.variable_type_remaps.push_back({ std::move(var_name), std::move(new_type) });
+ });
+
+ cbs.add("--rename-interface-variable", [&args](CLIParser &parser) {
+@@ -757,18 +757,18 @@ static int main_inner(int argc, char *argv[])
+
+ uint32_t loc = parser.next_uint();
+ string var_name = parser.next_string();
+- args.interface_variable_renames.push_back({ cls, loc, move(var_name) });
++ args.interface_variable_renames.push_back({ cls, loc, std::move(var_name) });
+ });
+
+ cbs.add("--pls-in", [&args](CLIParser &parser) {
+ auto fmt = pls_format(parser.next_string());
+ auto name = parser.next_string();
+- args.pls_in.push_back({ move(fmt), move(name) });
++ args.pls_in.push_back({ std::move(fmt), std::move(name) });
+ });
+ cbs.add("--pls-out", [&args](CLIParser &parser) {
+ auto fmt = pls_format(parser.next_string());
+ auto name = parser.next_string();
+- args.pls_out.push_back({ move(fmt), move(name) });
++ args.pls_out.push_back({ std::move(fmt), std::move(name) });
+ });
+ cbs.add("--shader-model", [&args](CLIParser &parser) {
+ args.shader_model = parser.next_uint();
+@@ -788,7 +788,7 @@ static int main_inner(int argc, char *argv[])
+ cbs.default_handler = [&args](const char *value) { args.input = value; };
+ cbs.error_handler = [] { print_help(); };
+
+- CLIParser parser{ move(cbs), argc - 1, argv + 1 };
++ CLIParser parser{ std::move(cbs), argc - 1, argv + 1 };
+ if (!parser.parse())
+ {
+ return EXIT_FAILURE;
+@@ -808,14 +808,14 @@ static int main_inner(int argc, char *argv[])
+ auto spirv_file = read_spirv_file(args.input);
+ if (spirv_file.empty())
+ return EXIT_FAILURE;
+- Parser spirv_parser(move(spirv_file));
++ Parser spirv_parser(std::move(spirv_file));
+
+ spirv_parser.parse();
+
+ // Special case reflection because it has little to do with the path followed by code-outputting compilers
+ if (!args.reflect.empty())
+ {
+- CompilerReflection compiler(move(spirv_parser.get_parsed_ir()));
++ CompilerReflection compiler(std::move(spirv_parser.get_parsed_ir()));
+ compiler.set_format(args.reflect);
+ auto json = compiler.compile();
+ if (args.output)
+@@ -831,13 +831,13 @@ static int main_inner(int argc, char *argv[])
+
+ if (args.cpp)
+ {
+- compiler.reset(new CompilerCPP(move(spirv_parser.get_parsed_ir())));
++ compiler.reset(new CompilerCPP(std::move(spirv_parser.get_parsed_ir())));
+ if (args.cpp_interface_name)
+ static_cast<CompilerCPP *>(compiler.get())->set_interface_name(args.cpp_interface_name);
+ }
+ else if (args.msl)
+ {
+- compiler.reset(new CompilerMSL(move(spirv_parser.get_parsed_ir())));
++ compiler.reset(new CompilerMSL(std::move(spirv_parser.get_parsed_ir())));
+
+ auto *msl_comp = static_cast<CompilerMSL *>(compiler.get());
+ auto msl_opts = msl_comp->get_msl_options();
+@@ -850,13 +850,13 @@ static int main_inner(int argc, char *argv[])
+ msl_comp->set_msl_options(msl_opts);
+ }
+ else if (args.hlsl)
+- compiler.reset(new CompilerHLSL(move(spirv_parser.get_parsed_ir())));
++ compiler.reset(new CompilerHLSL(std::move(spirv_parser.get_parsed_ir())));
+ else
+ {
+ combined_image_samplers = !args.vulkan_semantics;
+ if (!args.vulkan_semantics)
+ build_dummy_sampler = true;
+- compiler.reset(new CompilerGLSL(move(spirv_parser.get_parsed_ir())));
++ compiler.reset(new CompilerGLSL(std::move(spirv_parser.get_parsed_ir())));
+ }
+
+ if (!args.variable_type_remaps.empty())
+@@ -867,7 +867,7 @@ static int main_inner(int argc, char *argv[])
+ out = remap.new_variable_type;
+ };
+
+- compiler->set_variable_type_remap_callback(move(remap_cb));
++ compiler->set_variable_type_remap_callback(std::move(remap_cb));
+ }
+
+ for (auto &rename : args.entry_point_rename)
+@@ -1019,7 +1019,7 @@ static int main_inner(int argc, char *argv[])
+ {
+ auto active = compiler->get_active_interface_variables();
+ res = compiler->get_shader_resources(active);
+- compiler->set_enabled_interface_variables(move(active));
++ compiler->set_enabled_interface_variables(std::move(active));
+ }
+ else
+ res = compiler->get_shader_resources();
+@@ -1034,7 +1034,7 @@ static int main_inner(int argc, char *argv[])
+
+ auto pls_inputs = remap_pls(args.pls_in, res.stage_inputs, &res.subpass_inputs);
+ auto pls_outputs = remap_pls(args.pls_out, res.stage_outputs, nullptr);
+- compiler->remap_pixel_local_storage(move(pls_inputs), move(pls_outputs));
++ compiler->remap_pixel_local_storage(std::move(pls_inputs), std::move(pls_outputs));
+
+ for (auto &ext : args.extensions)
+ compiler->require_extension(ext);
+@@ -1101,7 +1101,7 @@ static int main_inner(int argc, char *argv[])
+ for (uint32_t i = 0; i < args.iterations; i++)
+ {
+ if (args.hlsl)
+- glsl = static_cast<CompilerHLSL *>(compiler.get())->compile(move(args.hlsl_attr_remap));
++ glsl = static_cast<CompilerHLSL *>(compiler.get())->compile(std::move(args.hlsl_attr_remap));
+ else
+ glsl = compiler->compile();
+ }
+diff --git a/spirv_common.hpp b/spirv_common.hpp
+index aa32142d..0daf5ad5 100644
+--- a/spirv_common.hpp
++++ b/spirv_common.hpp
+@@ -536,7 +536,7 @@ struct SPIRExpression : IVariant
+
+ // Only created by the backend target to avoid creating tons of temporaries.
+ SPIRExpression(std::string expr, uint32_t expression_type_, bool immutable_)
+- : expression(move(expr))
++ : expression(std::move(expr))
+ , expression_type(expression_type_)
+ , immutable(immutable_)
+ {
+diff --git a/spirv_cpp.hpp b/spirv_cpp.hpp
+index bcdb669b..b4da84b9 100644
+--- a/spirv_cpp.hpp
++++ b/spirv_cpp.hpp
+@@ -27,7 +27,7 @@ class CompilerCPP : public CompilerGLSL
+ {
+ public:
+ explicit CompilerCPP(std::vector<uint32_t> spirv_)
+- : CompilerGLSL(move(spirv_))
++ : CompilerGLSL(std::move(spirv_))
+ {
+ }
+
+diff --git a/spirv_cross.cpp b/spirv_cross.cpp
+index 19bac301..d21dbd41 100644
+--- a/spirv_cross.cpp
++++ b/spirv_cross.cpp
+@@ -28,16 +28,16 @@ using namespace spirv_cross;
+
+ Compiler::Compiler(vector<uint32_t> ir_)
+ {
+- Parser parser(move(ir_));
++ Parser parser(std::move(ir_));
+ parser.parse();
+- set_ir(move(parser.get_parsed_ir()));
++ set_ir(std::move(parser.get_parsed_ir()));
+ }
+
+ Compiler::Compiler(const uint32_t *ir_, size_t word_count)
+ {
+ Parser parser(ir_, word_count);
+ parser.parse();
+- set_ir(move(parser.get_parsed_ir()));
++ set_ir(std::move(parser.get_parsed_ir()));
+ }
+
+ Compiler::Compiler(const ParsedIR &ir_)
+@@ -47,12 +47,12 @@ Compiler::Compiler(const ParsedIR &ir_)
+
+ Compiler::Compiler(ParsedIR &&ir_)
+ {
+- set_ir(move(ir_));
++ set_ir(std::move(ir_));
+ }
+
+ void Compiler::set_ir(ParsedIR &&ir_)
+ {
+- ir = move(ir_);
++ ir = std::move(ir_);
+ parse_fixup();
+ }
+
+@@ -716,7 +716,7 @@ unordered_set<uint32_t> Compiler::get_active_interface_variables() const
+
+ void Compiler::set_enabled_interface_variables(std::unordered_set<uint32_t> active_variables)
+ {
+- active_interface_variables = move(active_variables);
++ active_interface_variables = std::move(active_variables);
+ check_active_interface_variables = true;
+ }
+
+@@ -2163,7 +2163,7 @@ void Compiler::CombinedImageSamplerHandler::push_remap_parameters(const SPIRFunc
+ unordered_map<uint32_t, uint32_t> remapping;
+ for (uint32_t i = 0; i < length; i++)
+ remapping[func.arguments[i].id] = remap_parameter(args[i]);
+- parameter_remapping.push(move(remapping));
++ parameter_remapping.push(std::move(remapping));
+ }
+
+ void Compiler::CombinedImageSamplerHandler::pop_remap_parameters()
+@@ -3611,7 +3611,7 @@ void Compiler::analyze_image_and_sampler_usage()
+
+ CombinedImageSamplerUsageHandler handler(*this, dref_handler.dref_combined_samplers);
+ traverse_all_reachable_opcodes(get<SPIRFunction>(ir.default_entry_point), handler);
+- comparison_ids = move(handler.comparison_ids);
++ comparison_ids = std::move(handler.comparison_ids);
+ need_subpass_input = handler.need_subpass_input;
+
+ // Forward information from separate images and samplers into combined image samplers.
+@@ -3650,7 +3650,7 @@ void Compiler::build_function_control_flow_graphs_and_analyze()
+ CFGBuilder handler(*this);
+ handler.function_cfgs[ir.default_entry_point].reset(new CFG(*this, get<SPIRFunction>(ir.default_entry_point)));
+ traverse_all_reachable_opcodes(get<SPIRFunction>(ir.default_entry_point), handler);
+- function_cfgs = move(handler.function_cfgs);
++ function_cfgs = std::move(handler.function_cfgs);
+
+ for (auto &f : function_cfgs)
+ {
+diff --git a/spirv_glsl.cpp b/spirv_glsl.cpp
+index a8855987..fabbb105 100644
+--- a/spirv_glsl.cpp
++++ b/spirv_glsl.cpp
+@@ -6876,7 +6876,7 @@ void CompilerGLSL::emit_instruction(const Instruction &instruction)
+ bool ptr_chain = opcode == OpPtrAccessChain;
+ auto e = access_chain(ops[2], &ops[3], length - 3, get<SPIRType>(ops[0]), &meta, ptr_chain);
+
+- auto &expr = set<SPIRExpression>(ops[1], move(e), ops[0], should_forward(ops[2]));
++ auto &expr = set<SPIRExpression>(ops[1], std::move(e), ops[0], should_forward(ops[2]));
+
+ auto *backing_variable = maybe_get_backing_variable(ops[2]);
+ expr.loaded_from = backing_variable ? backing_variable->self : ops[2];
+diff --git a/spirv_glsl.hpp b/spirv_glsl.hpp
+index caf0ad3b..aac1196e 100644
+--- a/spirv_glsl.hpp
++++ b/spirv_glsl.hpp
+@@ -138,7 +138,7 @@ public:
+ }
+
+ explicit CompilerGLSL(std::vector<uint32_t> spirv_)
+- : Compiler(move(spirv_))
++ : Compiler(std::move(spirv_))
+ {
+ init();
+ }
+diff --git a/spirv_hlsl.cpp b/spirv_hlsl.cpp
+index a5b6d2dc..0933017e 100644
+--- a/spirv_hlsl.cpp
++++ b/spirv_hlsl.cpp
+@@ -2028,7 +2028,7 @@ void CompilerHLSL::emit_function_prototype(SPIRFunction &func, const Bitset &ret
+ out_argument += " ";
+ out_argument += "SPIRV_Cross_return_value";
+ out_argument += type_to_array_glsl(type);
+- arglist.push_back(move(out_argument));
++ arglist.push_back(std::move(out_argument));
+ }
+
+ for (auto &arg : func.arguments)
+@@ -4553,7 +4553,7 @@ void CompilerHLSL::require_texture_query_variant(const SPIRType &type)
+
+ string CompilerHLSL::compile(std::vector<HLSLVertexAttributeRemap> vertex_attributes)
+ {
+- remap_vertex_attributes = move(vertex_attributes);
++ remap_vertex_attributes = std::move(vertex_attributes);
+ return compile();
+ }
+
+diff --git a/spirv_hlsl.hpp b/spirv_hlsl.hpp
+index b2b60fca..3503c674 100644
+--- a/spirv_hlsl.hpp
++++ b/spirv_hlsl.hpp
+@@ -63,7 +63,7 @@ public:
+ };
+
+ explicit CompilerHLSL(std::vector<uint32_t> spirv_)
+- : CompilerGLSL(move(spirv_))
++ : CompilerGLSL(std::move(spirv_))
+ {
+ }
+
+diff --git a/spirv_msl.cpp b/spirv_msl.cpp
+index 0e1e733d..fbfcdba5 100644
+--- a/spirv_msl.cpp
++++ b/spirv_msl.cpp
+@@ -32,7 +32,7 @@ static const uint32_t k_aux_mbr_idx_swizzle_const = 0u;
+
+ CompilerMSL::CompilerMSL(vector<uint32_t> spirv_, vector<MSLVertexAttr> *p_vtx_attrs,
+ vector<MSLResourceBinding> *p_res_bindings)
+- : CompilerGLSL(move(spirv_))
++ : CompilerGLSL(std::move(spirv_))
+ {
+ if (p_vtx_attrs)
+ for (auto &va : *p_vtx_attrs)
+diff --git a/spirv_parser.cpp b/spirv_parser.cpp
+index 1725b4ca..0fcd7691 100644
+--- a/spirv_parser.cpp
++++ b/spirv_parser.cpp
+@@ -24,7 +24,7 @@ namespace spirv_cross
+ {
+ Parser::Parser(std::vector<uint32_t> spirv)
+ {
+- ir.spirv = move(spirv);
++ ir.spirv = std::move(spirv);
+ }
+
+ Parser::Parser(const uint32_t *spirv_data, size_t word_count)
+@@ -223,7 +223,7 @@ void Parser::parse(const Instruction &instruction)
+ case OpExtension:
+ {
+ auto ext = extract_string(ir.spirv, instruction.offset);
+- ir.declared_extensions.push_back(move(ext));
++ ir.declared_extensions.push_back(std::move(ext));
+ break;
+ }
+
+diff --git a/spirv_reflect.hpp b/spirv_reflect.hpp
+index 13b5b431..f5c6a6ff 100644
+--- a/spirv_reflect.hpp
++++ b/spirv_reflect.hpp
+@@ -34,7 +34,7 @@ class CompilerReflection : public CompilerGLSL
+
+ public:
+ explicit CompilerReflection(std::vector<uint32_t> spirv_)
+- : Parent(move(spirv_))
++ : Parent(std::move(spirv_))
+ {
+ options.vulkan_semantics = true;
+ }
+--
+2.37.2
+
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch b/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch
deleted file mode 100644
index c2bb43fe76..0000000000
--- a/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 8c069a1c4452f626e5bafc547463507d86111319 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Tue, 19 Jul 2022 16:55:40 +0200
-Subject: [PATCH] framework/core/hpp_vulkan_resource.h: add header include that
- defines std::exchange
-
-Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Samples/pull/501]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- framework/core/hpp_vulkan_resource.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/framework/core/hpp_vulkan_resource.h b/framework/core/hpp_vulkan_resource.h
-index 0e30f5a..8d83019 100644
---- a/framework/core/hpp_vulkan_resource.h
-+++ b/framework/core/hpp_vulkan_resource.h
-@@ -18,6 +18,7 @@
- #pragma once
-
- #include <vulkan/vulkan.hpp>
-+#include <utility>
-
- namespace vkb
- {
---
-2.30.2
-
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
index 41cb4a437d..332411b312 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -8,11 +8,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=48aa35cefb768436223a6e7f18dc2a2a"
SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git;branch=master;protocol=https \
file://0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch \
file://debugfix.patch \
- file://0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch \
+ file://0001-Qualify-move-as-std-move.patch;patchdir=third_party/spirv-cross \
"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "ee6c1522af8ba9b56f8416c2eedafb440f681085"
+SRCREV = "74d45aace02d99d766126711a8aaa0978276ca00"
UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch b/poky/meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch
deleted file mode 100644
index 1ac0695222..0000000000
--- a/poky/meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From ece4c3d261aeec230869c0304ed1011ff6837c16 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 12 Sep 2020 14:04:04 -0700
-Subject: [PATCH] Fix atomic modesetting with musl
-
-atomic modesetting seems to fail with drm weston backend and this patch fixes
-it, below errors are seen before weston exits
-
-atomic: couldn't commit new state: Invalid argument
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/issues/158]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- libweston/backend-drm/kms.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libweston/backend-drm/kms.c b/libweston/backend-drm/kms.c
-index 780d007..9994da1 100644
---- a/libweston/backend-drm/kms.c
-+++ b/libweston/backend-drm/kms.c
-@@ -1142,8 +1142,8 @@ drm_pending_state_apply_atomic(struct drm_pending_state *pending_state,
- wl_list_for_each(plane, &b->plane_list, link) {
- drm_debug(b, "\t\t[atomic] starting with plane %lu disabled\n",
- (unsigned long) plane->plane_id);
-- plane_add_prop(req, plane, WDRM_PLANE_CRTC_ID, 0);
-- plane_add_prop(req, plane, WDRM_PLANE_FB_ID, 0);
-+ //plane_add_prop(req, plane, WDRM_PLANE_CRTC_ID, 0);
-+ //plane_add_prop(req, plane, WDRM_PLANE_FB_ID, 0);
- }
-
- flags |= DRM_MODE_ATOMIC_ALLOW_MODESET;
diff --git a/poky/meta/recipes-graphics/wayland/weston_10.0.1.bb b/poky/meta/recipes-graphics/wayland/weston_10.0.2.bb
index e27dac164e..786d12be61 100644
--- a/poky/meta/recipes-graphics/wayland/weston_10.0.1.bb
+++ b/poky/meta/recipes-graphics/wayland/weston_10.0.2.bb
@@ -13,11 +13,10 @@ SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downlo
file://systemd-notify.weston-start \
"
-SRC_URI:append:libc-musl = " file://dont-use-plane-add-prop.patch "
-
-SRC_URI[sha256sum] = "8a9e52506a865a7410981b04f8341b89b84106db8531ab1f9fdd37b5dc034115"
+SRC_URI[sha256sum] = "89646ca0d9f8d413c2767e5c3828eaa3fa149c2a105b3729a6894fa7cf1549e7"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+UPSTREAM_CHECK_REGEX = "weston-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
inherit meson pkgconfig useradd
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcvt_0.1.1.bb b/poky/meta/recipes-graphics/xorg-lib/libxcvt_0.1.2.bb
index 134c40acd1..e62fabdf58 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxcvt_0.1.1.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxcvt_0.1.2.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=129947a06984d6faa6f9a9788fa2a03f"
SECTION = "x11/libs"
SRC_URI = "git://gitlab.freedesktop.org/xorg/lib/libxcvt.git;protocol=https;branch=master"
-SRCREV = "6fe840b9295cfdc41bd734586c5b8756f6af6f9b"
+SRCREV = "d9ca87eea9eecddaccc3a77227bcb3acf84e89df"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2022.2.bb
index a1e852b9eb..a1cd66c744 100644
--- a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb
+++ b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2022.2.bb
@@ -8,8 +8,8 @@ SECTION = "x11/libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=dfc4bd2b0568b31725b85b0604e69b56"
-SRC_URI = "${XORG_MIRROR}/individual/proto/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "1d2dcc66963f234d2c1e1f8d98a0d3e8725149cdac0a263df4097593c48bc2a6"
+SRC_URI = "${XORG_MIRROR}/individual/proto/${BP}.tar.xz"
+SRC_URI[sha256sum] = "5d13dbf2be08f95323985de53352c4f352713860457b95ccaf894a647ac06b9e"
inherit meson
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.24.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.25.bb
index fdad40ed6a..9784404cff 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.24.bb
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.25.bb
@@ -20,7 +20,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz
file://0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch \
"
-SRC_URI[sha256sum] = "1ff9137327aeac3b2ab922a71bc6eb4655571a0ff77c071cb92783a9a59d4d26"
+SRC_URI[sha256sum] = "4eea6f8641ea3e349653a52c7fd33be1132322a5f3dc9f1a6ade886019767320"
inherit autotools update-rc.d systemd
diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.16.bb b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.19.bb
index c64629d094..528e1d3379 100644
--- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.16.bb
+++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.19.bb
@@ -14,7 +14,7 @@ SRC_URI:append = "\
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-SRC_URI[md5sum] = "e6680ce7c989a3efe58b51e3f3f0bf93"
-SRC_URI[sha256sum] = "027d7e8988bb69ac12ee92406c3be1fe13f990b1ca2249e226225cd1573308bb"
+SRC_URI[md5sum] = "f91bfe133d2cb1692f705947282e123a"
+SRC_URI[sha256sum] = "ff240c579b9ee1affc318917de07394fc1c3bb49dac25ec1287370c2e15005a8"
diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
index f8f717199c..46d706b955 100644
--- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -119,6 +119,8 @@ do_install() {
if [ "${ARCH}" = "powerpc" ]; then
cp -a --parents arch/powerpc/kernel/vdso32/vdso32.lds $kerneldir/build 2>/dev/null || :
cp -a --parents arch/powerpc/kernel/vdso64/vdso64.lds $kerneldir/build 2>/dev/null || :
+ # v5.19+
+ cp -a --parents arch/powerpc/kernel/vdso/vdso*.lds $kerneldir/build 2>/dev/null || :
fi
cp -a include $kerneldir/build/include
@@ -180,9 +182,16 @@ do_install() {
cp -a --parents arch/arm64/tools/gen-cpucaps.awk $kerneldir/build/ 2>/dev/null || :
cp -a --parents arch/arm64/tools/cpucaps $kerneldir/build/ 2>/dev/null || :
+ # 5.19+
+ cp -a --parents arch/arm64/tools/gen-sysreg.awk $kerneldir/build/ 2>/dev/null || :
+ cp -a --parents arch/arm64/tools/sysreg $kerneldir/build/ 2>/dev/null || :
+
if [ -e $kerneldir/build/arch/arm64/tools/gen-cpucaps.awk ]; then
sed -i -e "s,#!.*awk.*,#!${USRBINPATH}/env awk," $kerneldir/build/arch/arm64/tools/gen-cpucaps.awk
fi
+ if [ -e $kerneldir/build/arch/arm64/tools/gen-sysreg.awk ]; then
+ sed -i -e "s,#!.*awk.*,#!${USRBINPATH}/env awk," $kerneldir/build/arch/arm64/tools/gen-sysreg.awk
+ fi
fi
if [ "${ARCH}" = "powerpc" ]; then
@@ -192,6 +201,11 @@ do_install() {
cp -a --parents arch/${ARCH}/kernel/syscalls/syscallhdr.sh $kerneldir/build/ 2>/dev/null || :
cp -a --parents arch/${ARCH}/kernel/vdso32/* $kerneldir/build/ 2>/dev/null || :
cp -a --parents arch/${ARCH}/kernel/vdso64/* $kerneldir/build/ 2>/dev/null || :
+
+ # v5.19+
+ cp -a --parents arch/powerpc/kernel/vdso/*.S $kerneldir/build 2>/dev/null || :
+ cp -a --parents arch/powerpc/kernel/vdso/*gettimeofday.* $kerneldir/build 2>/dev/null || :
+ cp -a --parents arch/powerpc/kernel/vdso/gen_vdso*_offsets.sh $kerneldir/build/ 2>/dev/null || :
fi
if [ "${ARCH}" = "riscv" ]; then
cp -a --parents arch/riscv/kernel/vdso/*gettimeofday.* $kerneldir/build/
@@ -210,6 +224,9 @@ do_install() {
cp -a --parents arch/arm/tools/gen-mach-types $kerneldir/build/
cp -a --parents arch/arm/tools/mach-types $kerneldir/build/
+ # 5.19+
+ cp -a --parents arch/arm/tools/gen-sysreg.awk $kerneldir/build/ 2>/dev/null || :
+
# ARM syscall table tools only exist for kernels v4.10 or later
SYSCALL_TOOLS=$(find arch/arm/tools -name "syscall*")
if [ -n "$SYSCALL_TOOLS" ] ; then
@@ -291,9 +308,6 @@ do_install() {
# external modules can be built
touch -r $kerneldir/build/Makefile $kerneldir/build/include/generated/uapi/linux/version.h
- # Copy .config to include/config/auto.conf so "make prepare" is unnecessary.
- cp $kerneldir/build/.config $kerneldir/build/include/config/auto.conf
-
# make sure these are at least as old as the .config, or rebuilds will trigger
touch -r $kerneldir/build/.config $kerneldir/build/include/generated/autoconf.h 2>/dev/null || :
touch -r $kerneldir/build/.config $kerneldir/build/include/config/auto.conf* 2>/dev/null || :
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index 5a420b7fb2..b1b57beac3 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -50,7 +50,7 @@ PACKAGECONFIG[dt-validation] = ",,python3-dtschema-native"
# we need the wrappers if validation isn't in the packageconfig
DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'dt-validation', '', 'python3-dtschema-wrapper-native', d)}"
-COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv32|qemuriscv64)"
+COMPATIBLE_MACHINE = "^(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv32|qemuriscv64)$"
KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb
index b6e443d4da..9e37494a4b 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb
@@ -11,13 +11,13 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "0222cbb8d40318cf5377875017e32eebefa59ab8"
-SRCREV_meta ?= "0e3a81a5aefbea03388b1235fbcc3dec278425d0"
+SRCREV_machine ?= "cb561ee4438e5961e5c471eee8094737ca873135"
+SRCREV_meta ?= "59c8898d450152a0875af340e6f0e72d05aafdfa"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.15;destsuffix=${KMETA}"
-LINUX_VERSION ?= "5.15.54"
+LINUX_VERSION ?= "5.15.62"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
@@ -31,7 +31,7 @@ KCONF_BSP_AUDIT_LEVEL = "1"
LINUX_KERNEL_TYPE = "preempt-rt"
-COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
+COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)$"
KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.19.bb
index 53ccd41033..c12bec3e4e 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.19.bb
@@ -1,4 +1,4 @@
-KBRANCH ?= "v5.10/standard/preempt-rt/base"
+KBRANCH ?= "v5.19/standard/preempt-rt/base"
require recipes-kernel/linux/linux-yocto.inc
@@ -11,13 +11,13 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "63771123b1eea439bea2cf80f9f5682667528d9f"
-SRCREV_meta ?= "96ea2660bb97e15f48f4885b9e436f24c3606bd9"
+SRCREV_machine ?= "df2290e83a50563688e5ea0be34e091f1c623069"
+SRCREV_meta ?= "5eb0fa93f8490a962ff0c36c14d8def271d75128"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
- git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.19;destsuffix=${KMETA}"
-LINUX_VERSION ?= "5.10.130"
+LINUX_VERSION ?= "5.19.3"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
@@ -31,7 +31,7 @@ KCONF_BSP_AUDIT_LEVEL = "1"
LINUX_KERNEL_TYPE = "preempt-rt"
-COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
+COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)$"
KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb
index aadf014463..2de32ffecd 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb
@@ -5,7 +5,7 @@ KCONFIG_MODE = "--allnoconfig"
require recipes-kernel/linux/linux-yocto.inc
-LINUX_VERSION ?= "5.15.54"
+LINUX_VERSION ?= "5.15.62"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -14,15 +14,15 @@ DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine ?= "9b1d0e5eb8b08323577f5e2b21cbb2065aba0aa1"
-SRCREV_meta ?= "0e3a81a5aefbea03388b1235fbcc3dec278425d0"
+SRCREV_machine ?= "b708cb8412758a382516bdc46f26a0b43c50fb82"
+SRCREV_meta ?= "59c8898d450152a0875af340e6f0e72d05aafdfa"
PV = "${LINUX_VERSION}+git${SRCPV}"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.15;destsuffix=${KMETA}"
-COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm64|qemuarm|qemuarmv5"
+COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm64|qemuarm|qemuarmv5)$"
# Functionality flags
KERNEL_FEATURES = ""
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.19.bb
index 7b3aaa7fa0..339f7f69a6 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.19.bb
@@ -1,12 +1,11 @@
-KBRANCH ?= "v5.10/standard/tiny/base"
-KBRANCH:qemuarm ?= "v5.10/standard/tiny/arm-versatile-926ejs"
+KBRANCH ?= "v5.19/standard/tiny/base"
LINUX_KERNEL_TYPE = "tiny"
KCONFIG_MODE = "--allnoconfig"
require recipes-kernel/linux/linux-yocto.inc
-LINUX_VERSION ?= "5.10.130"
+LINUX_VERSION ?= "5.19.3"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,16 +14,15 @@ DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine:qemuarm ?= "bff12aa9748d83efc518e524858913c028f0707a"
-SRCREV_machine ?= "5bdf36bd73803640ee495fc6f36b0207993bf62a"
-SRCREV_meta ?= "96ea2660bb97e15f48f4885b9e436f24c3606bd9"
+SRCREV_machine ?= "4d933456709d664a55fdda85304c08567265ad4d"
+SRCREV_meta ?= "5eb0fa93f8490a962ff0c36c14d8def271d75128"
PV = "${LINUX_VERSION}+git${SRCPV}"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
- git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.19;destsuffix=${KMETA}"
-COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
+COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm64|qemuarm|qemuarmv5)$"
# Functionality flags
KERNEL_FEATURES = ""
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto.inc b/poky/meta/recipes-kernel/linux/linux-yocto.inc
index cabc8f4975..7ea661e138 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/poky/meta/recipes-kernel/linux/linux-yocto.inc
@@ -60,7 +60,7 @@ do_install:append(){
KERNEL_FEATURES:append:qemuall=" features/kernel-sample/kernel-sample.scc"
KERNEL_DEBUG_OPTIONS ?= "stack"
-KERNEL_EXTRA_ARGS:append:x86-64 = "${@bb.utils.contains('KERNEL_DEBUG_OPTIONS', 'stack', 'HOST_LIBELF_LIBS="-L${RECIPE_SYSROOT_NATIVE}/usr/lib/pkgconfig/../../../usr/lib/ -lelf"', '', d)}"
+KERNEL_EXTRA_ARGS:append:x86-64 = " ${@bb.utils.contains('KERNEL_DEBUG_OPTIONS', 'stack', 'HOST_LIBELF_LIBS="-L${RECIPE_SYSROOT_NATIVE}/usr/lib/pkgconfig/../../../usr/lib/ -lelf"', '', d)}"
do_devshell:prepend() {
# setup native pkg-config variables (kconfig scripts call pkg-config directly, cannot generically be overriden to pkg-config-native)
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
deleted file mode 100644
index d5bf2c9496..0000000000
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-KBRANCH ?= "v5.10/standard/base"
-
-require recipes-kernel/linux/linux-yocto.inc
-
-# board specific branches
-KBRANCH:qemuarm ?= "v5.10/standard/arm-versatile-926ejs"
-KBRANCH:qemuarm64 ?= "v5.10/standard/qemuarm64"
-KBRANCH:qemumips ?= "v5.10/standard/mti-malta32"
-KBRANCH:qemuppc ?= "v5.10/standard/qemuppc"
-KBRANCH:qemuriscv64 ?= "v5.10/standard/base"
-KBRANCH:qemuriscv32 ?= "v5.10/standard/base"
-KBRANCH:qemux86 ?= "v5.10/standard/base"
-KBRANCH:qemux86-64 ?= "v5.10/standard/base"
-KBRANCH:qemumips64 ?= "v5.10/standard/mti-malta64"
-
-SRCREV_machine:qemuarm ?= "8d513bf2294b60cbfa7bfbfab43f7ec458e88de0"
-SRCREV_machine:qemuarm64 ?= "f86e70ec0a39fa6cfd5b19a013703345cf9e8d4c"
-SRCREV_machine:qemumips ?= "a5c1977699a2733ed4ddd08f1bcc1cbcc1fa8862"
-SRCREV_machine:qemuppc ?= "2e52a4c55beaea77e6b99720de58624c416e7569"
-SRCREV_machine:qemuriscv64 ?= "2883e69e202dc7948c99a7828e192b2b42c2d90a"
-SRCREV_machine:qemuriscv32 ?= "2883e69e202dc7948c99a7828e192b2b42c2d90a"
-SRCREV_machine:qemux86 ?= "2883e69e202dc7948c99a7828e192b2b42c2d90a"
-SRCREV_machine:qemux86-64 ?= "2883e69e202dc7948c99a7828e192b2b42c2d90a"
-SRCREV_machine:qemumips64 ?= "37c7c3e8979a2b0eb75bf8ceab7f2b7f12565ceb"
-SRCREV_machine ?= "2883e69e202dc7948c99a7828e192b2b42c2d90a"
-SRCREV_meta ?= "96ea2660bb97e15f48f4885b9e436f24c3606bd9"
-
-SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
- git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.10.130"
-
-DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
-DEPENDS += "openssl-native util-linux-native"
-DEPENDS += "gmp-native libmpc-native"
-
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-KMETA = "kernel-meta"
-KCONF_BSP_AUDIT_LEVEL = "1"
-
-KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
-
-COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32"
-
-# Functionality flags
-KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
-KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
-KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES:append:powerpc =" arch/powerpc/powerpc-debug.scc"
-KERNEL_FEATURES:append:powerpc64 =" arch/powerpc/powerpc-debug.scc"
-KERNEL_FEATURES:append:powerpc64le =" arch/powerpc/powerpc-debug.scc"
-KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
-KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb
index 4c1d163a1e..40c430aee3 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb
@@ -13,24 +13,24 @@ KBRANCH:qemux86 ?= "v5.15/standard/base"
KBRANCH:qemux86-64 ?= "v5.15/standard/base"
KBRANCH:qemumips64 ?= "v5.15/standard/mti-malta64"
-SRCREV_machine:qemuarm ?= "c284142affccb534122ad93bdcd4774af161d767"
-SRCREV_machine:qemuarm64 ?= "c4c194a34c568c17389120608b2ee8a7a988150a"
-SRCREV_machine:qemumips ?= "7b446965d9659d312952ef4dedf5b50a493e60c2"
-SRCREV_machine:qemuppc ?= "0c2a4ad856c8f0c1b3ca8a38c17e1194f47e4643"
-SRCREV_machine:qemuriscv64 ?= "a40d2daf2795d89e3ef8af0413b25190558831ec"
-SRCREV_machine:qemuriscv32 ?= "a40d2daf2795d89e3ef8af0413b25190558831ec"
-SRCREV_machine:qemux86 ?= "a40d2daf2795d89e3ef8af0413b25190558831ec"
-SRCREV_machine:qemux86-64 ?= "a40d2daf2795d89e3ef8af0413b25190558831ec"
-SRCREV_machine:qemumips64 ?= "9a8d4e00df67daf224ae62b238c151a3f3f70ae7"
-SRCREV_machine ?= "a40d2daf2795d89e3ef8af0413b25190558831ec"
-SRCREV_meta ?= "0e3a81a5aefbea03388b1235fbcc3dec278425d0"
+SRCREV_machine:qemuarm ?= "9b096ff3914926ac68501bf156c2d1368f3ebe6c"
+SRCREV_machine:qemuarm64 ?= "7cb30c5e95067ad12b7c4d371c048c7f5d5c922c"
+SRCREV_machine:qemumips ?= "3210fe826ade54d891cf2120c964d2a0dc3e7393"
+SRCREV_machine:qemuppc ?= "7bfdc3608327b9c471008af370dbffe053f5bed9"
+SRCREV_machine:qemuriscv64 ?= "14879dcc3ca7b24d8650cf117c380a94bb865f40"
+SRCREV_machine:qemuriscv32 ?= "14879dcc3ca7b24d8650cf117c380a94bb865f40"
+SRCREV_machine:qemux86 ?= "14879dcc3ca7b24d8650cf117c380a94bb865f40"
+SRCREV_machine:qemux86-64 ?= "14879dcc3ca7b24d8650cf117c380a94bb865f40"
+SRCREV_machine:qemumips64 ?= "ef125626d718771f11fab19a3f91cca5ec27f887"
+SRCREV_machine ?= "14879dcc3ca7b24d8650cf117c380a94bb865f40"
+SRCREV_meta ?= "59c8898d450152a0875af340e6f0e72d05aafdfa"
# set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
# get the <version>/base branch, which is pure upstream -stable, and the same
# meta SRCREV as the linux-yocto-standard builds. Select your version using the
# normal PREFERRED_VERSION settings.
BBCLASSEXTEND = "devupstream:target"
-SRCREV_machine:class-devupstream ?= "843dae1756d9bddee21a96827784791fd97d484e"
+SRCREV_machine:class-devupstream ?= "a0a7e0b2b8b22901945ea2aef1b65871d718accf"
PN:class-devupstream = "linux-yocto-upstream"
KBRANCH:class-devupstream = "v5.15/base"
@@ -38,7 +38,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.15;destsuffix=${KMETA}"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.15.54"
+LINUX_VERSION ?= "5.15.62"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
@@ -51,7 +51,7 @@ KCONF_BSP_AUDIT_LEVEL = "1"
KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
-COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32"
+COMPATIBLE_MACHINE = "^(qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32)$"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.19.bb
new file mode 100644
index 0000000000..0ff28aa952
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.19.bb
@@ -0,0 +1,70 @@
+KBRANCH ?= "v5.19/standard/base"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+# board specific branches
+KBRANCH:qemuarm ?= "v5.19/standard/arm-versatile-926ejs"
+KBRANCH:qemuarm64 ?= "v5.19/standard/qemuarm64"
+KBRANCH:qemumips ?= "v5.19/standard/mti-malta32"
+KBRANCH:qemuppc ?= "v5.19/standard/qemuppc"
+KBRANCH:qemuriscv64 ?= "v5.19/standard/base"
+KBRANCH:qemuriscv32 ?= "v5.19/standard/base"
+KBRANCH:qemux86 ?= "v5.19/standard/base"
+KBRANCH:qemux86-64 ?= "v5.19/standard/base"
+KBRANCH:qemumips64 ?= "v5.19/standard/mti-malta64"
+
+SRCREV_machine:qemuarm ?= "2cbb2d5097fc44a23da635d2ebbccb33df20a34d"
+SRCREV_machine:qemuarm64 ?= "4d933456709d664a55fdda85304c08567265ad4d"
+SRCREV_machine:qemumips ?= "7741c5b2f536b99815329849cca09799cdb82e62"
+SRCREV_machine:qemuppc ?= "4d933456709d664a55fdda85304c08567265ad4d"
+SRCREV_machine:qemuriscv64 ?= "4d933456709d664a55fdda85304c08567265ad4d"
+SRCREV_machine:qemuriscv32 ?= "4d933456709d664a55fdda85304c08567265ad4d"
+SRCREV_machine:qemux86 ?= "4d933456709d664a55fdda85304c08567265ad4d"
+SRCREV_machine:qemux86-64 ?= "4d933456709d664a55fdda85304c08567265ad4d"
+SRCREV_machine:qemumips64 ?= "4ced38bbd45f6cb623728bd755894928a719edac"
+SRCREV_machine ?= "4d933456709d664a55fdda85304c08567265ad4d"
+SRCREV_meta ?= "5eb0fa93f8490a962ff0c36c14d8def271d75128"
+
+# set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
+# get the <version>/base branch, which is pure upstream -stable, and the same
+# meta SRCREV as the linux-yocto-standard builds. Select your version using the
+# normal PREFERRED_VERSION settings.
+BBCLASSEXTEND = "devupstream:target"
+SRCREV_machine:class-devupstream ?= "bf44eed7f2fc9af74eb72f4bc415bdd3d11c4bed"
+PN:class-devupstream = "linux-yocto-upstream"
+KBRANCH:class-devupstream = "v5.19/base"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.19;destsuffix=${KMETA}"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+LINUX_VERSION ?= "5.19.3"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+DEPENDS += "gmp-native libmpc-native"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "1"
+
+KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
+
+COMPATIBLE_MACHINE = "^(qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32)$"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
+KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
+KERNEL_FEATURES:append:powerpc =" arch/powerpc/powerpc-debug.scc"
+KERNEL_FEATURES:append:powerpc64 =" arch/powerpc/powerpc-debug.scc"
+KERNEL_FEATURES:append:powerpc64le =" arch/powerpc/powerpc-debug.scc"
+
+INSANE_SKIP:kernel-vmlinux:qemuppc64 = "textrel"
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-compaction.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-compaction.patch
new file mode 100644
index 0000000000..21e27ffc5e
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-compaction.patch
@@ -0,0 +1,68 @@
+From 8e42c4821fb5f5cb816b6ddf73d9a13ba3298a63 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Wed, 10 Aug 2022 11:07:14 -0400
+Subject: [PATCH] fix: tie compaction probe build to CONFIG_COMPACTION
+
+The definition of 'struct compact_control' in 'mm/internal.h' depends on
+CONFIG_COMPACTION being defined. Only build the compaction probe when
+this configuration option is enabled.
+
+Thanks to Bruce Ashfield <bruce.ashfield@gmail.com> for reporting this
+issue.
+
+Upstream-Status: Backport [https://review.lttng.org/c/lttng-modules/+/8660]
+
+Change-Id: I81e77aa9c1bf10452c152d432fe5224df0db42c9
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+---
+ src/probes/Kbuild | 34 ++++++++++++++++++----------------
+ 1 file changed, 18 insertions(+), 16 deletions(-)
+
+diff --git a/src/probes/Kbuild b/src/probes/Kbuild
+index 2908cf75..3e556b8e 100644
+--- a/src/probes/Kbuild
++++ b/src/probes/Kbuild
+@@ -167,22 +167,24 @@ ifneq ($(CONFIG_BTRFS_FS),)
+ endif # $(wildcard $(btrfs_dep))
+ endif # CONFIG_BTRFS_FS
+
+-# A dependency on internal header 'mm/internal.h' was introduced in v5.18
+-compaction_dep = $(srctree)/mm/internal.h
+-compaction_dep_wildcard = $(wildcard $(compaction_dep))
+-compaction_dep_check = $(shell \
+-if [ \( $(VERSION) -ge 6 \
+- -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -ge 18 \) \) -a \
+- -z "$(compaction_dep_wildcard)" ] ; then \
+- echo "warn" ; \
+-else \
+- echo "ok" ; \
+-fi ;)
+-ifeq ($(compaction_dep_check),ok)
+- obj-$(CONFIG_LTTNG) += lttng-probe-compaction.o
+-else
+- $(warning Files $(compaction_dep) not found. Probe "compaction" is disabled. Use full kernel source tree to enable it.)
+-endif # $(wildcard $(compaction_dep))
++ifneq ($(CONFIG_COMPACTION),)
++ # A dependency on internal header 'mm/internal.h' was introduced in v5.18
++ compaction_dep = $(srctree)/mm/internal.h
++ compaction_dep_wildcard = $(wildcard $(compaction_dep))
++ compaction_dep_check = $(shell \
++ if [ \( $(VERSION) -ge 6 \
++ -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -ge 18 \) \) -a \
++ -z "$(compaction_dep_wildcard)" ] ; then \
++ echo "warn" ; \
++ else \
++ echo "ok" ; \
++ fi ;)
++ ifeq ($(compaction_dep_check),ok)
++ obj-$(CONFIG_LTTNG) += lttng-probe-compaction.o
++ else
++ $(warning Files $(compaction_dep) not found. Probe "compaction" is disabled. Use full kernel source tree to enable it.)
++ endif # $(wildcard $(compaction_dep))
++endif # CONFIG_COMPACTION
+
+ ifneq ($(CONFIG_EXT4_FS),)
+ ext4_dep = $(srctree)/fs/ext4/*.h
+--
+2.34.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb
index fea0e383c9..f60ab3b5f5 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb
@@ -15,6 +15,7 @@ SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
file://0002-fix-fs-Remove-flags-parameter-from-aops-write_begin-.patch \
file://0003-fix-workqueue-Fix-type-of-cpu-in-trace-event-v5.19.patch \
file://0001-fix-net-skb-introduce-kfree_skb_reason-v5.15.58.v5.1.patch \
+ file://0001-fix-compaction.patch \
"
# Use :append here so that the patch is applied also when using devupstream
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.7.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.8.bb
index 1a972ec836..a814eb79f9 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.7.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.8.bb
@@ -39,7 +39,7 @@ SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
file://disable-tests.patch \
"
-SRC_URI[sha256sum] = "d17a02e8f178a7cf3403e3c9edfb90ad3a1628e20aa0b5131408ae47f722f08d"
+SRC_URI[sha256sum] = "b1e959579b260790930b20f3c7aa7cefb8a40e0de80d4a777c2bf78c6b353dc1"
inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.3.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.4.bb
index cc88bf5b11..56200ac3e1 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.3.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.4.bb
@@ -34,7 +34,7 @@ SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \
file://0001-Makefile.am-update-rpath-link.patch \
"
-SRC_URI[sha256sum] = "2cc42f51145050430ac4ab72b32d95fd78d5566ccbe44e14a8fcdd23c0ed8f6f"
+SRC_URI[sha256sum] = "698f82ec5dc56e981c0bb08c46ebabaf31c60e877c2e365b9fd6d3a9fff8b398"
CVE_PRODUCT = "ust"
diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb
index 95e7eae9fe..9f7c300a40 100644
--- a/poky/meta/recipes-kernel/perf/perf.bb
+++ b/poky/meta/recipes-kernel/perf/perf.bb
@@ -20,6 +20,7 @@ PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python3"
PACKAGECONFIG[tui] = ",NO_NEWT=1,libnewt slang"
PACKAGECONFIG[libunwind] = ",NO_LIBUNWIND=1 NO_LIBDW_DWARF_UNWIND=1,libunwind"
PACKAGECONFIG[libnuma] = ",NO_LIBNUMA=1"
+PACKAGECONFIG[bfd] = ",NO_LIBBFD=1"
PACKAGECONFIG[systemtap] = ",NO_SDT=1,systemtap"
PACKAGECONFIG[jvmti] = ",NO_JVMTI=1"
# libaudit support would need scripting to be enabled
@@ -203,7 +204,7 @@ do_configure:prepend () {
if [ -e "${S}/tools/perf/Makefile.perf" ]; then
sed -i -e 's,\ .config-detected, $(OUTPUT)/config-detected,g' \
${S}/tools/perf/Makefile.perf
- sed -i -e "s,prefix='\$(DESTDIR_SQ)/usr'$,prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(DESTDIR)\$(PYTHON_SITEPACKAGES_DIR)',g" \
+ sed -i -e "s,prefix='\$(DESTDIR_SQ)/usr'$,prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(PYTHON_SITEPACKAGES_DIR)' --root='\$(DESTDIR)',g" \
${S}/tools/perf/Makefile.perf
# backport https://github.com/torvalds/linux/commit/e4ffd066ff440a57097e9140fa9e16ceef905de8
sed -i -e 's,\($(Q)$(SHELL) .$(arch_errno_tbl).\) $(CC) $(arch_errno_hdr_dir),\1 $(firstword $(CC)) $(arch_errno_hdr_dir),g' \
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/python-3.11.patch b/poky/meta/recipes-kernel/systemtap/systemtap/python-3.11.patch
new file mode 100644
index 0000000000..6e0c97b8d6
--- /dev/null
+++ b/poky/meta/recipes-kernel/systemtap/systemtap/python-3.11.patch
@@ -0,0 +1,37 @@
+From 069e109c95d1afca17cd3781b39f220cf8b39978 Mon Sep 17 00:00:00 2001
+From: Stan Cox <scox@redhat.com>
+Date: Wed, 13 Jul 2022 09:49:51 -0400
+Subject: [PATCH 1/1] python 3.11 removed direct access to PyFrameObject
+ members
+
+Take into account the change in PyFrameObject definition to allow
+building systemtap with python 3.11. Additional support for python
+3.11 is forthcoming.
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=systemtap.git;a=commit;h=069e109c95d1afca17cd3781b39f220cf8b39978]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ python/HelperSDT/_HelperSDT.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/python/HelperSDT/_HelperSDT.c b/python/HelperSDT/_HelperSDT.c
+index 967cb6077..4d287132e 100644
+--- a/python/HelperSDT/_HelperSDT.c
++++ b/python/HelperSDT/_HelperSDT.c
+@@ -14,7 +14,13 @@
+ // PR25841: ensure that the libHelperSDT.so file contains debuginfo
+ // for the tapset helper functions, so they don't have to look into libpython*
+ #include <frameobject.h>
++// python 3.11 removed direct access to PyFrameObject members
++// https://docs.python.org/3.11/whatsnew/3.11.html#c-api-changes
++#if PY_MAJOR_VERSION <= 3 && PY_MINOR_VERSION < 11
+ PyFrameObject _dummy_frame;
++#else
++//PyFrameObject *_dummy_frame;
++#endif
+ #include <object.h>
+ PyVarObject _dummy_var;
+ #include <dictobject.h>
+--
+2.31.1
+
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
index 2b79aa8fca..b05a5a2b0d 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -7,6 +7,7 @@ SRC_URI = "git://sourceware.org/git/systemtap.git;branch=master \
file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \
file://0001-Install-python-modules-to-correct-library-dir.patch \
file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \
+ file://python-3.11.patch \
"
COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips|riscv64).*-linux'
diff --git a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2022.06.06.bb b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2022.08.12.bb
index 2eba4f873b..357e79d7e1 100644
--- a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2022.06.06.bb
+++ b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2022.08.12.bb
@@ -5,7 +5,7 @@ LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz"
-SRC_URI[sha256sum] = "ac00f97efecce5046ed069d1d93f3365fdf994c7c7854a8fc50831e959537230"
+SRC_URI[sha256sum] = "59c8f7d17966db71b27f90e735ee8f5b42ca3527694a8c5e6e9b56bd379c3b84"
inherit bin_package allarch
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-plugins/0001-arcam_av.c-Include-missing-string.h.patch b/poky/meta/recipes-multimedia/alsa/alsa-plugins/0001-arcam_av.c-Include-missing-string.h.patch
new file mode 100644
index 0000000000..ff7745d637
--- /dev/null
+++ b/poky/meta/recipes-multimedia/alsa/alsa-plugins/0001-arcam_av.c-Include-missing-string.h.patch
@@ -0,0 +1,25 @@
+From b01b176a665ba65979d74922955f51dc4888a713 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Aug 2022 15:21:16 -0700
+Subject: [PATCH] arcam_av.c: Include missing string.h
+
+bzero() function needs this header to be included
+
+Upstream-Status: Submitted [https://github.com/alsa-project/alsa-plugins/pull/47]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ arcam-av/arcam_av.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arcam-av/arcam_av.c b/arcam-av/arcam_av.c
+index 63f9b4e..29fc537 100644
+--- a/arcam-av/arcam_av.c
++++ b/arcam-av/arcam_av.c
+@@ -27,6 +27,7 @@
+ #include <signal.h>
+ #include <stddef.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <termios.h>
+ #include <unistd.h>
+
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.7.1.bb b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.7.1.bb
index 62505fee83..9500462d5c 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.7.1.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.7.1.bb
@@ -22,7 +22,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
file://rate/rate_samplerate.c;endline=35;md5=fd77bce85f4a338c0e8ab18430b69fae \
"
-SRC_URI = "https://www.alsa-project.org/files/pub/plugins/${BP}.tar.bz2"
+SRC_URI = "https://www.alsa-project.org/files/pub/plugins/${BP}.tar.bz2 \
+ file://0001-arcam_av.c-Include-missing-string.h.patch \
+ "
SRC_URI[sha256sum] = "8c337814954bb7c167456733a6046142a2931f12eccba3ec2a4ae618a3432511"
DEPENDS += "alsa-lib"
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch
deleted file mode 100644
index 7d0a06f85b..0000000000
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 4a891e1eddbf63f32fe769b5bff289f6748abf45 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 10 Nov 2020 15:32:14 +0000
-Subject: [PATCH] libavutil: include assembly with full path from source root
-
-Otherwise nasm writes the full host-specific paths into .o
-output, which breaks binary reproducibility.
-
-Upstream-Status: Submitted [http://ffmpeg.org/pipermail/ffmpeg-devel/2022-January/291781.html]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- libavutil/x86/cpuid.asm | 2 +-
- libavutil/x86/emms.asm | 2 +-
- libavutil/x86/fixed_dsp.asm | 2 +-
- libavutil/x86/float_dsp.asm | 2 +-
- libavutil/x86/lls.asm | 2 +-
- libavutil/x86/pixelutils.asm | 2 +-
- libavutil/x86/tx_float.asm | 2 +-
- 7 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/libavutil/x86/cpuid.asm b/libavutil/x86/cpuid.asm
-index c3f7866..766f77f 100644
---- a/libavutil/x86/cpuid.asm
-+++ b/libavutil/x86/cpuid.asm
-@@ -21,7 +21,7 @@
- ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- ;******************************************************************************
-
--%include "x86util.asm"
-+%include "libavutil/x86/x86util.asm"
-
- SECTION .text
-
-diff --git a/libavutil/x86/emms.asm b/libavutil/x86/emms.asm
-index 8611762..df84f22 100644
---- a/libavutil/x86/emms.asm
-+++ b/libavutil/x86/emms.asm
-@@ -18,7 +18,7 @@
- ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- ;******************************************************************************
-
--%include "x86util.asm"
-+%include "libavutil/x86/x86util.asm"
-
- SECTION .text
-
-diff --git a/libavutil/x86/fixed_dsp.asm b/libavutil/x86/fixed_dsp.asm
-index 979dd5c..2f41185 100644
---- a/libavutil/x86/fixed_dsp.asm
-+++ b/libavutil/x86/fixed_dsp.asm
-@@ -20,7 +20,7 @@
- ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- ;******************************************************************************
-
--%include "x86util.asm"
-+%include "libavutil/x86/x86util.asm"
-
- SECTION .text
-
-diff --git a/libavutil/x86/float_dsp.asm b/libavutil/x86/float_dsp.asm
-index 517fd63..b773e61 100644
---- a/libavutil/x86/float_dsp.asm
-+++ b/libavutil/x86/float_dsp.asm
-@@ -20,7 +20,7 @@
- ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- ;******************************************************************************
-
--%include "x86util.asm"
-+%include "libavutil/x86/x86util.asm"
-
- SECTION_RODATA 32
- pd_reverse: dd 7, 6, 5, 4, 3, 2, 1, 0
-diff --git a/libavutil/x86/lls.asm b/libavutil/x86/lls.asm
-index 317fba6..d2526d1 100644
---- a/libavutil/x86/lls.asm
-+++ b/libavutil/x86/lls.asm
-@@ -20,7 +20,7 @@
- ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- ;******************************************************************************
-
--%include "x86util.asm"
-+%include "libavutil/x86/x86util.asm"
-
- SECTION .text
-
-diff --git a/libavutil/x86/pixelutils.asm b/libavutil/x86/pixelutils.asm
-index 36c57c5..8b45ead 100644
---- a/libavutil/x86/pixelutils.asm
-+++ b/libavutil/x86/pixelutils.asm
-@@ -21,7 +21,7 @@
- ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- ;******************************************************************************
-
--%include "x86util.asm"
-+%include "libavutil/x86/x86util.asm"
-
- SECTION .text
-
-diff --git a/libavutil/x86/tx_float.asm b/libavutil/x86/tx_float.asm
-index 4d2283f..ea39f21 100644
---- a/libavutil/x86/tx_float.asm
-+++ b/libavutil/x86/tx_float.asm
-@@ -29,7 +29,7 @@
- ; replace some shuffles with vblends?
- ; avx512 split-radix
-
--%include "x86util.asm"
-+%include "libavutil/x86/x86util.asm"
-
- %if ARCH_X86_64
- %define ptr resq
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.0.1.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.bb
index dd14f8df6f..bb507b4974 100644
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.0.1.bb
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.bb
@@ -22,10 +22,8 @@ LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
-SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
- file://0001-libavutil-include-assembly-with-full-path-from-sourc.patch \
- "
-SRC_URI[sha256sum] = "ef2efae259ce80a240de48ec85ecb062cecca26e4352ffb3fda562c21a93007b"
+SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz"
+SRC_URI[sha256sum] = "55eb6aab5ee235550fa54a33eaf8bf1b4ec66c01453182b12f6a993d75698b03"
# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
ARM_INSTRUCTION_SET:armv4 = "arm"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch
deleted file mode 100644
index 280cbf984a..0000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 001fa08542dd5fc79571f7c803b2d3dd59c04a06 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 9 Feb 2016 14:00:00 -0800
-Subject: [PATCH] ensure valid sentinals for gst_structure_get() etc
-
-For GStreamer functions declared with G_GNUC_NULL_TERMINATED,
-ie __attribute__((__sentinel__)), gcc will generate a warning if the
-last parameter passed to the function is not NULL (where a valid NULL
-in this context is defined as zero with any pointer type).
-
-The C callers to such functions within gst-plugins-bad use the C NULL
-definition (ie ((void*)0)), which is a valid sentinel.
-
-However the C++ NULL definition (ie 0L), is not a valid sentinel
-without an explicit cast to a pointer type.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
-
----
- sys/decklink/gstdecklink.cpp | 10 +++++-----
- sys/decklink/gstdecklinkaudiosrc.cpp | 2 +-
- sys/decklink/gstdecklinkvideosink.cpp | 2 +-
- 3 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp
-index 3f79deb..96600c6 100644
---- a/sys/decklink/gstdecklink.cpp
-+++ b/sys/decklink/gstdecklink.cpp
-@@ -680,7 +680,7 @@ gst_decklink_mode_get_generic_structure (GstDecklinkModeEnum e)
- "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d,
- "interlace-mode", G_TYPE_STRING,
- mode->interlaced ? "interleaved" : "progressive",
-- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL);
-+ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL);
-
- return s;
- }
-@@ -705,16 +705,16 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f,
- case bmdFormat8BitYUV: /* '2vuy' */
- gst_structure_set (s, "format", G_TYPE_STRING, "UYVY",
- "colorimetry", G_TYPE_STRING, mode->colorimetry,
-- "chroma-site", G_TYPE_STRING, "mpeg2", NULL);
-+ "chroma-site", G_TYPE_STRING, "mpeg2", (void*)NULL);
- break;
- case bmdFormat10BitYUV: /* 'v210' */
-- gst_structure_set (s, "format", G_TYPE_STRING, "v210", NULL);
-+ gst_structure_set (s, "format", G_TYPE_STRING, "v210", (void*)NULL);
- break;
- case bmdFormat8BitARGB: /* 'ARGB' */
-- gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", NULL);
-+ gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", (void*)NULL);
- break;
- case bmdFormat8BitBGRA: /* 'BGRA' */
-- gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", NULL);
-+ gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", (void*)NULL);
- break;
- case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */
- case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
-diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp
-index 50ad5cc..d209180 100644
---- a/sys/decklink/gstdecklinkaudiosrc.cpp
-+++ b/sys/decklink/gstdecklinkaudiosrc.cpp
-@@ -388,7 +388,7 @@ gst_decklink_audio_src_start (GstDecklinkAudioSrc * self)
- g_mutex_unlock (&self->input->lock);
-
- if (videosrc) {
-- g_object_get (videosrc, "connection", &vconn, NULL);
-+ g_object_get (videosrc, "connection", &vconn, (void *) NULL);
- gst_object_unref (videosrc);
-
- switch (vconn) {
-diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp
-index a64c046..07a09e8 100644
---- a/sys/decklink/gstdecklinkvideosink.cpp
-+++ b/sys/decklink/gstdecklinkvideosink.cpp
-@@ -288,7 +288,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure,
- gpointer user_data)
- {
- gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1,
-- G_MAXINT, 1, NULL);
-+ G_MAXINT, 1, (void *) NULL);
-
- return TRUE;
- }
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.bb
index 2dd42395f7..39d5e08b21 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.bb
@@ -8,7 +8,6 @@ BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues"
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
file://0002-avoid-including-sys-poll.h-directly.patch \
- file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
"
SRC_URI[sha256sum] = "7a11c13b55dd1d2386dd902219e41cbfcdda8e1e0aa3e738186c95074b35da4f"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-include-required-system-headers-for-isspace-and-ssca.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-include-required-system-headers-for-isspace-and-ssca.patch
new file mode 100644
index 0000000000..23c1048a36
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-include-required-system-headers-for-isspace-and-ssca.patch
@@ -0,0 +1,35 @@
+From c85a53a41d4e6bfc49c377217ece12a1f330a690 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 12 Aug 2022 22:50:06 -0700
+Subject: [PATCH] include required system headers for isspace() and sscanf()
+ functions
+
+Newer compilers ( clang 15 ) has turned stricter and errors out instead
+of warning on implicit function declations
+Fixes
+gstssaparse.c:297:12: error: call to undeclared library function 'isspace' with type 'int (int)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+while (isspace(*t))
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2879]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gst/subparse/gstssaparse.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/gst/subparse/gstssaparse.c b/gst/subparse/gstssaparse.c
+index ff802fa..5ebe678 100755
+--- a/gst/subparse/gstssaparse.c
++++ b/gst/subparse/gstssaparse.c
+@@ -24,6 +24,8 @@
+ #include "config.h"
+ #endif
+
++#include <ctype.h> /* isspace() */
++#include <stdio.h> /* sscanf() */
+ #include <stdlib.h> /* atoi() */
+ #include <string.h>
+
+--
+2.37.1
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.3.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.3.bb
index 7eebbba949..e5e346e5e9 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.3.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.3.bb
@@ -10,6 +10,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-ba
file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
file://0003-viv-fb-Make-sure-config.h-is-included.patch \
file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
+ file://0001-include-required-system-headers-for-isspace-and-ssca.patch \
"
SRC_URI[sha256sum] = "7e30b3dd81a70380ff7554f998471d6996ff76bbe6fc5447096f851e24473c9f"
diff --git a/poky/meta/recipes-multimedia/libtiff/files/CVE-2022-34526.patch b/poky/meta/recipes-multimedia/libtiff/files/CVE-2022-34526.patch
new file mode 100644
index 0000000000..54c3345746
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libtiff/files/CVE-2022-34526.patch
@@ -0,0 +1,32 @@
+From 275735d0354e39c0ac1dc3c0db2120d6f31d1990 Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Mon, 27 Jun 2022 16:09:43 +0200
+Subject: [PATCH] _TIFFCheckFieldIsValidForCodec(): return FALSE when passed a
+ codec-specific tag and the codec is not configured (fixes #433)
+
+This avoids crashes when querying such tags
+
+CVE: CVE-2022-34526
+Upstream-Status: Backport [https://gitlab.com/libtiff/libtiff/-/commit/275735d0354e39c0ac1dc3c0db2120d6f31d1990]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libtiff/tif_dirinfo.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c
+index c30f569b..3371cb5c 100644
+--- a/libtiff/tif_dirinfo.c
++++ b/libtiff/tif_dirinfo.c
+@@ -1191,6 +1191,9 @@ _TIFFCheckFieldIsValidForCodec(TIFF *tif, ttag_t tag)
+ default:
+ return 1;
+ }
++ if( !TIFFIsCODECConfigured(tif->tif_dir.td_compression) ) {
++ return 0;
++ }
+ /* Check if codec specific tags are allowed for the current
+ * compression scheme (codec) */
+ switch (tif->tif_dir.td_compression) {
+--
+GitLab
+
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb
index 0af956a8f0..e30df0b3e9 100644
--- a/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb
+++ b/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb
@@ -9,7 +9,9 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf"
CVE_PRODUCT = "libtiff"
SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \
- file://0001-fix-the-FPE-in-tiffcrop-415-427-and-428.patch"
+ file://0001-fix-the-FPE-in-tiffcrop-415-427-and-428.patch \
+ file://CVE-2022-34526.patch \
+ "
SRC_URI[sha256sum] = "917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed"
diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.30.1.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.30.2.bb
index 502d9d114c..f40bff1ff6 100644
--- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.30.1.bb
+++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.30.2.bb
@@ -10,7 +10,7 @@ LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=e7b9c15fcfb986abb4cc5e8400a24169"
SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "1b20c9c751bea9be556749bd7f97cf580f52ed11f2540756e9af26ae036e4c59"
+SRC_URI[sha256sum] = "c7ea863756bb79daed7cba2942ad3b267a410f26d2dfbd9aaf84451ff28a05d7"
UPSTREAM_CHECK_REGEX = "mpg123-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-multimedia/webp/libwebp_1.2.2.bb b/poky/meta/recipes-multimedia/webp/libwebp_1.2.4.bb
index 281cff1bf2..263589846a 100644
--- a/poky/meta/recipes-multimedia/webp/libwebp_1.2.2.bb
+++ b/poky/meta/recipes-multimedia/webp/libwebp_1.2.4.bb
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6e8dee932c26f2dab503abf70c96d8bb \
file://PATENTS;md5=c6926d0cb07d296f886ab6e0cc5a85b7"
SRC_URI = "http://downloads.webmproject.org/releases/webp/${BP}.tar.gz"
-SRC_URI[sha256sum] = "7656532f837af5f4cec3ff6bafe552c044dc39bf453587bd5b77450802f4aee6"
+SRC_URI[sha256sum] = "7bf5a8a28cc69bcfa8cb214f2c3095703c6b73ac5fba4d5480c205331d9494df"
UPSTREAM_CHECK_URI = "http://downloads.webmproject.org/releases/webp/index.html"
diff --git a/poky/meta/recipes-sato/puzzles/puzzles_git.bb b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
index 68bdee8b52..9e9bcd2eef 100644
--- a/poky/meta/recipes-sato/puzzles/puzzles_git.bb
+++ b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
@@ -10,7 +10,7 @@ REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = "git://git.tartarus.org/simon/puzzles.git;branch=main"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "387d323dd8d579db2c90b499b3b19f746cbdbce5"
+SRCREV = "8399cff6a3b9bf15c6d1d9e0c905d1411f25f9b8"
PE = "2"
PV = "0.0+git${SRCPV}"
diff --git a/poky/meta/recipes-sato/webkit/libwpe_1.12.0.bb b/poky/meta/recipes-sato/webkit/libwpe_1.12.3.bb
index ac4ee3eb23..77ca517ef7 100644
--- a/poky/meta/recipes-sato/webkit/libwpe_1.12.0.bb
+++ b/poky/meta/recipes-sato/webkit/libwpe_1.12.3.bb
@@ -11,7 +11,7 @@ inherit cmake features_check pkgconfig
REQUIRED_DISTRO_FEATURES = "opengl"
SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "e8eeca228a6b4c36294cfb63f7d3ba9ada47a430904a5a973b3c99c96a44c18c"
+SRC_URI[sha256sum] = "b84fdbfbc849ce4fdf084bb28b58e5463b1b4b6cc8f200dc77b41f8545d5329d"
# This is a tweak of upstream-version-is-even needed because
# ipstream directory contains tarballs for other components as well.
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.36.4.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.36.6.bb
index df4ff63121..37b977f9ba 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.36.4.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.36.6.bb
@@ -17,7 +17,7 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
file://0001-When-building-introspection-files-do-not-quote-CFLAG.patch \
"
-SRC_URI[sha256sum] = "b6bebe1f85a479d968c19e44a4704622ef8cef61636ad1b2406b77d16ae2e2a8"
+SRC_URI[sha256sum] = "1193bc821946336776f0dfa5e0dca5651f1e57157eda12da4721d2441f24a61a"
inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc
diff --git a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.12.0.bb b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.12.1.bb
index 4a18467ea4..5f776c13e6 100644
--- a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.12.0.bb
+++ b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.12.1.bb
@@ -13,7 +13,7 @@ inherit meson features_check pkgconfig
REQUIRED_DISTRO_FEATURES = "opengl"
SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "6239c9c15523410798d66315de6b491712ab30009ba180f3e0dd076d9b0074ac"
+SRC_URI[sha256sum] = "45aa833c44ec292f31fa943b01b8cc75e54eb623ad7ba6a66fc2f118fe69e629"
# Especially helps compiling with clang which enable this as error when
# using c++11
diff --git a/poky/meta/recipes-support/apr/apr/0001-add-AC_CACHE_CHECK-for-strerror_r-return-type.patch b/poky/meta/recipes-support/apr/apr/0001-add-AC_CACHE_CHECK-for-strerror_r-return-type.patch
new file mode 100644
index 0000000000..d0a9bd9129
--- /dev/null
+++ b/poky/meta/recipes-support/apr/apr/0001-add-AC_CACHE_CHECK-for-strerror_r-return-type.patch
@@ -0,0 +1,52 @@
+From 8ca3c3306f1a149e51a3be6a4b1e47e9aee88262 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Aug 2022 22:42:03 -0700
+Subject: [PATCH] add AC_CACHE_CHECK for strerror_r return type
+
+APR's configure script uses AC_TRY_RUN to detect whether the return type
+of strerror_r is int. When cross-compiling this defaults to no.
+
+This commit adds an AC_CACHE_CHECK so users who cross-compile APR may
+influence the outcome with a configure variable.
+
+Upstream-Status: Backport [https://svn.apache.org/viewvc?view=revision&revision=1875065]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ build/apr_common.m4 | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/build/apr_common.m4 b/build/apr_common.m4
+index cbf2a4c..42e75cf 100644
+--- a/build/apr_common.m4
++++ b/build/apr_common.m4
+@@ -525,8 +525,9 @@ dnl string.
+ dnl
+ dnl
+ AC_DEFUN([APR_CHECK_STRERROR_R_RC], [
+-AC_MSG_CHECKING(for type of return code from strerror_r)
+-AC_TRY_RUN([
++AC_CACHE_CHECK([whether return code from strerror_r has type int],
++[ac_cv_strerror_r_rc_int],
++[AC_TRY_RUN([
+ #include <errno.h>
+ #include <string.h>
+ #include <stdio.h>
+@@ -542,14 +543,10 @@ main()
+ }], [
+ ac_cv_strerror_r_rc_int=yes ], [
+ ac_cv_strerror_r_rc_int=no ], [
+- ac_cv_strerror_r_rc_int=no ] )
++ ac_cv_strerror_r_rc_int=no ] ) ] )
+ if test "x$ac_cv_strerror_r_rc_int" = xyes; then
+ AC_DEFINE(STRERROR_R_RC_INT, 1, [Define if strerror returns int])
+- msg="int"
+-else
+- msg="pointer"
+ fi
+-AC_MSG_RESULT([$msg])
+ ] )
+
+ dnl
+--
+2.37.2
+
diff --git a/poky/meta/recipes-support/apr/apr/0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch b/poky/meta/recipes-support/apr/apr/0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch
new file mode 100644
index 0000000000..fa6202da79
--- /dev/null
+++ b/poky/meta/recipes-support/apr/apr/0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch
@@ -0,0 +1,62 @@
+From ee728971fd9d2da39356f1574d58d5daa3b24520 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 26 Aug 2022 00:28:08 -0700
+Subject: [PATCH] configure: Remove runtime test for mmap that can map
+ /dev/zero
+
+This never works for cross-compile moreover it ends up disabling
+ac_cv_file__dev_zero which then results in compiler errors in shared
+mutexes
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.in | 32 --------------------------------
+ 1 file changed, 32 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index a99049d..f1f55c7 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1182,38 +1182,6 @@ AC_CHECK_FUNCS([mmap munmap shm_open shm_unlink shmget shmat shmdt shmctl \
+ APR_CHECK_DEFINE(MAP_ANON, sys/mman.h)
+ AC_CHECK_FILE(/dev/zero)
+
+-# Not all systems can mmap /dev/zero (such as HP-UX). Check for that.
+-if test "$ac_cv_func_mmap" = "yes" &&
+- test "$ac_cv_file__dev_zero" = "yes"; then
+- AC_MSG_CHECKING(for mmap that can map /dev/zero)
+- AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#include <fcntl.h>
+-#ifdef HAVE_SYS_MMAN_H
+-#include <sys/mman.h>
+-#endif
+- int main()
+- {
+- int fd;
+- void *m;
+- fd = open("/dev/zero", O_RDWR);
+- if (fd < 0) {
+- return 1;
+- }
+- m = mmap(0, sizeof(void*), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
+- if (m == (void *)-1) { /* aka MAP_FAILED */
+- return 2;
+- }
+- if (munmap(m, sizeof(void*)) < 0) {
+- return 3;
+- }
+- return 0;
+- }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no])
+-
+- AC_MSG_RESULT($ac_cv_file__dev_zero)
+-fi
+-
+ # Now we determine which one is our anonymous shmem preference.
+ haveshmgetanon="0"
+ havemmapzero="0"
+--
+2.37.2
+
diff --git a/poky/meta/recipes-support/apr/apr_1.7.0.bb b/poky/meta/recipes-support/apr/apr_1.7.0.bb
index 9c826d4380..cb4bb936d7 100644
--- a/poky/meta/recipes-support/apr/apr_1.7.0.bb
+++ b/poky/meta/recipes-support/apr/apr_1.7.0.bb
@@ -24,6 +24,8 @@ SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \
file://libtoolize_check.patch \
file://0001-Add-option-to-disable-timed-dependant-tests.patch \
file://autoconf270.patch \
+ file://0001-add-AC_CACHE_CHECK-for-strerror_r-return-type.patch \
+ file://0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch \
file://CVE-2021-35940.patch \
"
@@ -36,17 +38,30 @@ OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
# Added to fix some issues with cmake. Refer to https://github.com/bmwcarit/meta-ros/issues/68#issuecomment-19896928
CACHED_CONFIGUREVARS += "apr_cv_mutex_recursive=yes"
-
+# Enable largefile
+CACHED_CONFIGUREVARS += "apr_cv_use_lfs64=yes"
+# Additional AC_TRY_RUN tests which will need to be cached for cross compile
+CACHED_CONFIGUREVARS += "apr_cv_epoll=yes epoll_create1=yes apr_cv_sock_cloexec=yes \
+ ac_cv_struct_rlimit=yes \
+ ac_cv_func_sem_open=yes \
+ apr_cv_process_shared_works=yes \
+ apr_cv_mutex_robust_shared=yes \
+ "
# Also suppress trying to use sctp.
#
CACHED_CONFIGUREVARS += "ac_cv_header_netinet_sctp_h=no ac_cv_header_netinet_sctp_uio_h=no"
-CACHED_CONFIGUREVARS += "ac_cv_sizeof_struct_iovec=yes"
+# ac_cv_sizeof_struct_iovec is deduced using runtime check which will fail during cross-compile
+CACHED_CONFIGUREVARS += "${@['ac_cv_sizeof_struct_iovec=16','ac_cv_sizeof_struct_iovec=8'][d.getVar('SITEINFO_BITS') != '32']}"
+
CACHED_CONFIGUREVARS += "ac_cv_file__dev_zero=yes"
+CACHED_CONFIGUREVARS:append:libc-musl = " ac_cv_strerror_r_rc_int=yes"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG:append:libc-musl = " xsi-strerror"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
PACKAGECONFIG[timed-tests] = "--enable-timed-tests,--disable-timed-tests,"
+PACKAGECONFIG[xsi-strerror] = "ac_cv_strerror_r_rc_int=yes,ac_cv_strerror_r_rc_int=no,"
do_configure:prepend() {
# Avoid absolute paths for grep since it causes failures
diff --git a/poky/meta/recipes-support/boost/boost-1.79.0.inc b/poky/meta/recipes-support/boost/boost-1.80.0.inc
index f90c463931..3ee82eb9b2 100644
--- a/poky/meta/recipes-support/boost/boost-1.79.0.inc
+++ b/poky/meta/recipes-support/boost/boost-1.80.0.inc
@@ -12,7 +12,7 @@ BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}"
BOOST_P = "boost_${BOOST_VER}"
SRC_URI = "https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/${BOOST_P}.tar.bz2"
-SRC_URI[sha256sum] = "475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39"
+SRC_URI[sha256sum] = "1e19565d82e43bc59209a168f5ac899d3ba471d55c7610c677d4ccf2c9c500c0"
UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/"
UPSTREAM_CHECK_REGEX = "release/(?P<pver>.*)/source/"
diff --git a/poky/meta/recipes-support/boost/boost-build-native_4.4.1.bb b/poky/meta/recipes-support/boost/boost-build-native_1.80.0.bb
index de566eeb82..54c0b2064f 100644
--- a/poky/meta/recipes-support/boost/boost-build-native_4.4.1.bb
+++ b/poky/meta/recipes-support/boost/boost-build-native_1.80.0.bb
@@ -7,9 +7,10 @@ LICENSE = "BSL-1.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
SRC_URI = "git://github.com/boostorg/build;protocol=https;branch=master"
-SRCREV = "76da80f33187a3d9e5336157cdfae12ce82e37eb"
+SRCREV = "405d34a04d29519625c5edfe1f3bac3bc3dc3534"
+PE = "1"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+){2,}))"
+UPSTREAM_CHECK_GITTAGREGEX = "boost-(?P<pver>(\d+(\.\d+)+))"
inherit native
diff --git a/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch b/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch
index 67d5dff125..4fe15741bf 100644
--- a/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch
+++ b/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch
@@ -1,4 +1,4 @@
-From 4d2a8fc8117e56bc283349e5f7f889ebbfc55c71 Mon Sep 17 00:00:00 2001
+From 21ba558abe074e7d49bdc931018ce2138e6e8eb5 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 18 Dec 2018 15:42:57 +0100
Subject: [PATCH] Don't set up arch/instruction-set flags, we do that
@@ -10,14 +10,14 @@ Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
- tools/build/src/tools/gcc.jam | 144 ----------------------------------
- 1 file changed, 144 deletions(-)
+ tools/build/src/tools/gcc.jam | 153 ----------------------------------
+ 1 file changed, 153 deletions(-)
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
-index 47a113223..d77525724 100644
+index 726555369..5c5f8ba91 100644
--- a/tools/build/src/tools/gcc.jam
+++ b/tools/build/src/tools/gcc.jam
-@@ -1122,147 +1122,3 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + :
+@@ -1124,156 +1124,3 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + :
<architecture>$(architecture)/<instruction-set>$(instruction-set)
: $(values) ;
}
@@ -72,6 +72,9 @@ index 47a113223..d77525724 100644
-cpu-flags gcc OPTIONS : x86 : cascadelake : -march=skylake-avx512 -mavx512vnni ;
-cpu-flags gcc OPTIONS : x86 : cooperlake : -march=cooperlake ;
-cpu-flags gcc OPTIONS : x86 : tigerlake : -march=tigerlake ;
+-cpu-flags gcc OPTIONS : x86 : rocketlake : -march=rocketlake ;
+-cpu-flags gcc OPTIONS : x86 : alderlake : -march=alderlake ;
+-cpu-flags gcc OPTIONS : x86 : sapphirerapids : -march=sapphirerapids ;
-cpu-flags gcc OPTIONS : x86 : k6 : -march=k6 ;
-cpu-flags gcc OPTIONS : x86 : k6-2 : -march=k6-2 ;
-cpu-flags gcc OPTIONS : x86 : k6-3 : -march=k6-3 ;
@@ -98,6 +101,7 @@ index 47a113223..d77525724 100644
-cpu-flags gcc OPTIONS : x86 : btver2 : -march=btver2 ;
-cpu-flags gcc OPTIONS : x86 : znver1 : -march=znver1 ;
-cpu-flags gcc OPTIONS : x86 : znver2 : -march=znver2 ;
+-cpu-flags gcc OPTIONS : x86 : znver3 : -march=znver3 ;
-cpu-flags gcc OPTIONS : x86 : winchip-c6 : -march=winchip-c6 ;
-cpu-flags gcc OPTIONS : x86 : winchip2 : -march=winchip2 ;
-cpu-flags gcc OPTIONS : x86 : c3 : -march=c3 ;
@@ -165,3 +169,8 @@ index 47a113223..d77525724 100644
-cpu-flags gcc OPTIONS : arm : cortex-r5+vfpv3-d16 : -mcpu=cortex-r5 -mfpu=vfpv3-d16 -mfloat-abi=hard ;
-# AIX variant of RS/6000 & PowerPC
-toolset.flags gcc AROPTIONS <address-model>64/<target-os>aix : "-X64" ;
+-
+-# Enable response file control
+-toolset.flags gcc RESPONSE_FILE_SUB <response-file>auto : a ;
+-toolset.flags gcc RESPONSE_FILE_SUB <response-file>file : f ;
+-toolset.flags gcc RESPONSE_FILE_SUB <response-file>contents : c ;
diff --git a/poky/meta/recipes-support/boost/boost/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch b/poky/meta/recipes-support/boost/boost/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch
new file mode 100644
index 0000000000..49603348ee
--- /dev/null
+++ b/poky/meta/recipes-support/boost/boost/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch
@@ -0,0 +1,34 @@
+From f9b55f5a1fab85bf73c95e6372779d6f50f75e84 Mon Sep 17 00:00:00 2001
+From: jzmaddock <john@johnmaddock.co.uk>
+Date: Mon, 11 Jul 2022 18:26:07 +0100
+Subject: [PATCH] The std lib unary/binary_function base classes are
+ deprecated/removed from libcpp15. Fixes
+ https://github.com/boostorg/container_hash/issues/24.
+
+Upstream-Status: Backport [https://github.com/boostorg/config/pull/440/commits/f0af4a9184457939b89110795ae2d293582c5f66]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ boost/config/stdlib/libcpp.hpp | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/boost/config/stdlib/libcpp.hpp b/boost/config/stdlib/libcpp.hpp
+index bc8536ead..0e9f2445e 100644
+--- a/boost/config/stdlib/libcpp.hpp
++++ b/boost/config/stdlib/libcpp.hpp
+@@ -168,4 +168,13 @@
+ # define BOOST_NO_CXX14_HDR_SHARED_MUTEX
+ #endif
+
++#if _LIBCPP_VERSION >= 15000
++//
++// Unary function is now deprecated in C++11 and later:
++//
++#if __cplusplus >= 201103L
++#define BOOST_NO_CXX98_FUNCTION_BASE
++#endif
++#endif
++
+ // --- end ---
+--
+2.37.2
+
diff --git a/poky/meta/recipes-support/boost/boost/boost-CVE-2012-2677.patch b/poky/meta/recipes-support/boost/boost/boost-CVE-2012-2677.patch
deleted file mode 100644
index 917617a044..0000000000
--- a/poky/meta/recipes-support/boost/boost/boost-CVE-2012-2677.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-Reference
-
-https://svn.boost.org/trac/boost/changeset/78326
-
-Upstream-Status: Backport
-CVE: CVE-2012-2677
-Signed-off-by: Yue Tao <yue.tao@windriver.com>
-
-diff --git a/boost/pool/pool.hpp.old b/boost/pool/pool.hpp
-index c47b11f..417a1e0 100644
---- a/boost/pool/pool.hpp.old
-+++ b/boost/pool/pool.hpp
-@@ -26,6 +26,8 @@
-
- #include <boost/pool/poolfwd.hpp>
-
-+// std::numeric_limits
-+#include <boost/limits.hpp>
- // boost::integer::static_lcm
- #include <boost/integer/common_factor_ct.hpp>
- // boost::simple_segregated_storage
-@@ -355,6 +357,15 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t
- return s;
- }
-
-+ size_type max_chunks() const
-+ { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool.
-+ size_type partition_size = alloc_size();
-+ size_type POD_size = integer::static_lcm<sizeof(size_type), sizeof(void *)>::value + sizeof(size_type);
-+ size_type max_chunks = (std::numeric_limits<size_type>::max() - POD_size) / alloc_size();
-+
-+ return max_chunks;
-+ }
-+
- static void * & nextof(void * const ptr)
- { //! \returns Pointer dereferenced.
- //! (Provided and used for the sake of code readability :)
-@@ -375,6 +386,8 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t
- //! the first time that object needs to allocate system memory.
- //! The default is 32. This parameter may not be 0.
- //! \param nmax_size is the maximum number of chunks to allocate in one block.
-+ set_next_size(nnext_size);
-+ set_max_size(nmax_size);
- }
-
- ~pool()
-@@ -398,8 +411,8 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t
- }
- void set_next_size(const size_type nnext_size)
- { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0.
-- //! \returns nnext_size.
-- next_size = start_size = nnext_size;
-+ BOOST_USING_STD_MIN();
-+ next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks());
- }
- size_type get_max_size() const
- { //! \returns max_size.
-@@ -407,7 +420,8 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t
- }
- void set_max_size(const size_type nmax_size)
- { //! Set max_size.
-- max_size = nmax_size;
-+ BOOST_USING_STD_MIN();
-+ max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks());
- }
- size_type get_requested_size() const
- { //! \returns the requested size passed into the constructor.
-@@ -708,9 +722,9 @@ void * pool<UserAllocator>::malloc_need_resize()
-
- BOOST_USING_STD_MIN();
- if(!max_size)
-- next_size <<= 1;
-+ set_next_size(next_size << 1);
- else if( next_size*partition_size/requested_size < max_size)
-- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
-+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
-
- // initialize it,
- store().add_block(node.begin(), node.element_size(), partition_size);
-@@ -748,9 +762,9 @@ void * pool<UserAllocator>::ordered_malloc_need_resize()
-
- BOOST_USING_STD_MIN();
- if(!max_size)
-- next_size <<= 1;
-+ set_next_size(next_size << 1);
- else if( next_size*partition_size/requested_size < max_size)
-- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
-+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
-
- // initialize it,
- // (we can use "add_block" here because we know that
-@@ -792,6 +806,8 @@ void * pool<UserAllocator>::ordered_malloc(const size_type n)
- { //! Gets address of a chunk n, allocating new memory if not already available.
- //! \returns Address of chunk n if allocated ok.
- //! \returns 0 if not enough memory for n chunks.
-+ if (n > max_chunks())
-+ return 0;
-
- const size_type partition_size = alloc_size();
- const size_type total_req_size = n * requested_size;
-@@ -840,9 +856,9 @@ void * pool<UserAllocator>::ordered_malloc(const size_type n)
-
- BOOST_USING_STD_MIN();
- if(!max_size)
-- next_size <<= 1;
-+ set_next_size(next_size << 1);
- else if( next_size*partition_size/requested_size < max_size)
-- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
-+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
-
- // insert it into the list,
- // handle border case.
diff --git a/poky/meta/recipes-support/boost/boost_1.79.0.bb b/poky/meta/recipes-support/boost/boost_1.80.0.bb
index dd5d6eadd6..c34ab7d703 100644
--- a/poky/meta/recipes-support/boost/boost_1.79.0.bb
+++ b/poky/meta/recipes-support/boost/boost_1.80.0.bb
@@ -1,8 +1,8 @@
require boost-${PV}.inc
require boost.inc
-SRC_URI += "file://boost-CVE-2012-2677.patch \
- file://boost-math-disable-pch-for-gcc.patch \
+SRC_URI += "file://boost-math-disable-pch-for-gcc.patch \
file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \
file://0001-dont-setup-compiler-flags-m32-m64.patch \
+ file://0001-The-std-lib-unary-binary_function-base-classes-are-d.patch \
"
diff --git a/poky/meta/recipes-support/curl/curl_7.84.0.bb b/poky/meta/recipes-support/curl/curl_7.85.0.bb
index 75417cd1bc..3b55830415 100644
--- a/poky/meta/recipes-support/curl/curl_7.84.0.bb
+++ b/poky/meta/recipes-support/curl/curl_7.85.0.bb
@@ -11,12 +11,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=190c514872597083303371684954f238"
SRC_URI = " \
https://curl.se/download/${BP}.tar.xz \
- file://0001-easy_lock.h-include-sched.h-if-available-to-fix-buil.patch \
- file://0001-easy_lock-switch-to-using-atomic_int-instead-of-bool.patch \
file://run-ptest \
file://disable-tests \
"
-SRC_URI[sha256sum] = "2d118b43f547bfe5bae806d8d47b4e596ea5b25a6c1f080aef49fbcd817c5db8"
+SRC_URI[sha256sum] = "88b54a6d4b9a48cb4d873c7056dcba997ddd5b7be5a2d537a4acb55c20b04be6"
# Curl has used many names over the years...
CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl"
diff --git a/poky/meta/recipes-support/curl/files/0001-easy_lock-switch-to-using-atomic_int-instead-of-bool.patch b/poky/meta/recipes-support/curl/files/0001-easy_lock-switch-to-using-atomic_int-instead-of-bool.patch
deleted file mode 100644
index 878839a5e3..0000000000
--- a/poky/meta/recipes-support/curl/files/0001-easy_lock-switch-to-using-atomic_int-instead-of-bool.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 50efb0822aa0e0ab165158dd0a26e65a2290e6d2 Mon Sep 17 00:00:00 2001
-From: Daniel Stenberg <daniel@haxx.se>
-Date: Tue, 28 Jun 2022 09:00:25 +0200
-Subject: [PATCH] easy_lock: switch to using atomic_int instead of bool
-
-To work with more compilers without requiring separate libs to
-link. Like with gcc-12 for RISC-V on Linux.
-
-Reported-by: Adam Sampson
-Fixes #9055
-Closes #9061
-
-Upstream-Status: Backport [50efb0822aa0e0ab165158dd0a26e65a2290e6d2]
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- lib/easy_lock.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lib/easy_lock.h b/lib/easy_lock.h
-index 07c85c5ff..9c11bc50c 100644
---- a/lib/easy_lock.h
-+++ b/lib/easy_lock.h
-@@ -40,8 +40,8 @@
- #include <sched.h>
- #endif
-
--#define curl_simple_lock atomic_bool
--#define CURL_SIMPLE_LOCK_INIT false
-+#define curl_simple_lock atomic_int
-+#define CURL_SIMPLE_LOCK_INIT 0
-
- static inline void curl_simple_lock_lock(curl_simple_lock *lock)
- {
---
-2.25.1
-
diff --git a/poky/meta/recipes-support/curl/files/0001-easy_lock.h-include-sched.h-if-available-to-fix-buil.patch b/poky/meta/recipes-support/curl/files/0001-easy_lock.h-include-sched.h-if-available-to-fix-buil.patch
deleted file mode 100644
index 771bdb2b96..0000000000
--- a/poky/meta/recipes-support/curl/files/0001-easy_lock.h-include-sched.h-if-available-to-fix-buil.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e2e7f54b7bea521fa8373095d0f43261a720cda0 Mon Sep 17 00:00:00 2001
-From: Daniel Stenberg <daniel@haxx.se>
-Date: Mon, 27 Jun 2022 08:46:21 +0200
-Subject: [PATCH] easy_lock.h: include sched.h if available to fix build
-
-Patched-by: Harry Sintonen
-
-Closes #9054
-
-Upstream-Status: Backport [e2e7f54b7bea521fa8373095d0f43261a720cda0]
-
-Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
----
- lib/easy_lock.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/lib/easy_lock.h b/lib/easy_lock.h
-index 819f50ce8..1f54289ce 100644
---- a/lib/easy_lock.h
-+++ b/lib/easy_lock.h
-@@ -36,6 +36,9 @@
-
- #elif defined (HAVE_ATOMIC)
- #include <stdatomic.h>
-+#if defined(HAVE_SCHED_YIELD)
-+#include <sched.h>
-+#endif
-
- #define curl_simple_lock atomic_bool
- #define CURL_SIMPLE_LOCK_INIT false
---
-2.35.1
-
diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_218.bb b/poky/meta/recipes-support/diffoscope/diffoscope_220.bb
index eceba47186..dc556477fa 100644
--- a/poky/meta/recipes-support/diffoscope/diffoscope_218.bb
+++ b/poky/meta/recipes-support/diffoscope/diffoscope_220.bb
@@ -12,7 +12,7 @@ PYPI_PACKAGE = "diffoscope"
inherit pypi setuptools3
-SRC_URI[sha256sum] = "68056e6d5382bfe16662c60d47bf710aa7b0ef43bfde1172fad694bc487279e3"
+SRC_URI[sha256sum] = "7873e13ac8b11b634ee3490b70b056c6a6bae9cfb794d6ba7cb43e7797b2a829"
RDEPENDS:${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm"
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.7.6.bb b/poky/meta/recipes-support/gnutls/gnutls_3.7.7.bb
index 6a0eb974dd..01fd4dba3d 100644
--- a/poky/meta/recipes-support/gnutls/gnutls_3.7.6.bb
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.7.7.bb
@@ -24,7 +24,7 @@ SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar
file://0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch \
"
-SRC_URI[sha256sum] = "77065719a345bfb18faa250134be4c53bef70c1bd61f6c0c23ceb8b44f0262ff"
+SRC_URI[sha256sum] = "be9143d0d58eab64dba9b77114aaafac529b6c0d7e81de6bdf1c9b59027d2106"
inherit autotools texinfo pkgconfig gettext lib_package gtk-doc
diff --git a/poky/meta/recipes-support/gnutls/libtasn1_4.18.0.bb b/poky/meta/recipes-support/gnutls/libtasn1_4.19.0.bb
index db49adc1c2..5fb8b54c06 100644
--- a/poky/meta/recipes-support/gnutls/libtasn1_4.18.0.bb
+++ b/poky/meta/recipes-support/gnutls/libtasn1_4.19.0.bb
@@ -16,7 +16,7 @@ SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz \
DEPENDS = "bison-native"
-SRC_URI[sha256sum] = "4365c154953563d64c67a024b607d1ee75c6db76e0d0f65709ea80a334cd1898"
+SRC_URI[sha256sum] = "1613f0ac1cf484d6ec0ce3b8c06d56263cc7242f1c23b30d82d23de345a63f7a"
inherit autotools texinfo lib_package gtk-doc
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch b/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
index 35c6b4056c..3b2f59c2fc 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
@@ -1,4 +1,4 @@
-From 98ce65902b197faa8f660564613ca2e504c2f8f8 Mon Sep 17 00:00:00 2001
+From 0d7ec5b98dc6cbd35f56deaecec5ecfdaa944aee Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Fri, 10 May 2019 14:23:55 +0800
Subject: [PATCH] pkgconfig
@@ -15,6 +15,7 @@ Rebase to 1.13.0
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Rebase to 1.17.0
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+
---
configure.ac | 1 +
src/Makefile.am | 4 +-
@@ -25,10 +26,10 @@ Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
create mode 100644 src/gpgme-pthread.pc.in
diff --git a/configure.ac b/configure.ac
-index 80ce79c..d7c0ac1 100644
+index 9d696b9..5b4e730 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -905,6 +905,7 @@ AC_CONFIG_FILES(Makefile src/Makefile
+@@ -926,6 +926,7 @@ AC_CONFIG_FILES(Makefile src/Makefile
src/gpgme-glib.pc
src/gpgme.h)
AC_CONFIG_FILES(src/gpgme-config, chmod +x src/gpgme-config)
@@ -37,7 +38,7 @@ index 80ce79c..d7c0ac1 100644
AC_CONFIG_FILES(lang/cpp/tests/Makefile)
AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig-w32.cmake.in)
diff --git a/src/Makefile.am b/src/Makefile.am
-index 39c341f..3aca716 100644
+index 67805a8..d38ba02 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -20,11 +20,11 @@
@@ -52,8 +53,8 @@ index 39c341f..3aca716 100644
- gpgme.pc.in gpgme-glib.pc.in
+ gpgme.pc.in gpgme-glib.pc.in gpgme-pthread.pc.in
- bin_SCRIPTS = gpgme-config
- m4datadir = $(datadir)/aclocal
+ if USE_GPGRT_CONFIG
+ noinst_SCRIPTS = gpgme-config
diff --git a/src/gpgme-pthread.pc.in b/src/gpgme-pthread.pc.in
new file mode 100644
index 0000000..074bbf6
@@ -76,7 +77,7 @@ index 0000000..074bbf6
+Cflags: -I${includedir}
+Requires: libassuan gpg-error
diff --git a/src/gpgme.m4 b/src/gpgme.m4
-index 71b0010..30ec151 100644
+index 71b0010..5821895 100644
--- a/src/gpgme.m4
+++ b/src/gpgme.m4
@@ -79,7 +79,7 @@ dnl config script does not match the host specification the script
@@ -287,6 +288,3 @@ index 80d59de..932645b 100644
+Cflags: -I${includedir}
+Libs: -L${libdir} -lgpgme
URL: https://www.gnupg.org/software/gpgme/index.html
---
-2.25.1
-
diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.17.1.bb b/poky/meta/recipes-support/gpgme/gpgme_1.18.0.bb
index d95ed6c299..ca9c6cab14 100644
--- a/poky/meta/recipes-support/gpgme/gpgme_1.17.1.bb
+++ b/poky/meta/recipes-support/gpgme/gpgme_1.18.0.bb
@@ -23,7 +23,7 @@ SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \
file://0001-use-closefrom-on-linux-and-glibc-2.34.patch \
"
-SRC_URI[sha256sum] = "711eabf5dd661b9b04be9edc9ace2a7bc031f6bd9d37a768d02d0efdef108f5f"
+SRC_URI[sha256sum] = "361d4eae47ce925dba0ea569af40e7b52c645c4ae2e65e5621bf1b6cdd8b0e9e"
DEPENDS = "libgpg-error libassuan"
RDEPENDS:${PN}-cpp += "libstdc++"
diff --git a/poky/meta/recipes-support/icu/icu_71.1.bb b/poky/meta/recipes-support/icu/icu_71.1.bb
index d8ef2a3746..b39633c203 100644
--- a/poky/meta/recipes-support/icu/icu_71.1.bb
+++ b/poky/meta/recipes-support/icu/icu_71.1.bb
@@ -15,20 +15,16 @@ S = "${WORKDIR}/icu/source"
SPDX_S = "${WORKDIR}/icu"
STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
-BINCONFIG = "${bindir}/icu-config"
-
ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
-inherit autotools pkgconfig binconfig multilib_script
-
-MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
+inherit autotools pkgconfig
# ICU needs the native build directory as an argument to its --with-cross-build option when
# cross-compiling. Taken the situation that different builds may share a common sstate-cache
# into consideration, the native build directory needs to be staged.
-EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
-EXTRA_OECONF:class-native = ""
-EXTRA_OECONF:class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
+EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config"
+EXTRA_OECONF:class-native = "--disable-icu-config"
+EXTRA_OECONF:class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config"
EXTRA_OECONF:append:class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
TARGET_CXXFLAGS:append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
@@ -67,7 +63,7 @@ do_install:append:class-target() {
-e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
-e 's|${DEBUG_PREFIX_MAP}||g' \
-e 's:${HOSTTOOLS_DIR}/::g' \
- ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
+ ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
}
diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.10.0.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.11.0.bb
index 857fe463ef..be573981b0 100644
--- a/poky/meta/recipes-support/iso-codes/iso-codes_4.10.0.bb
+++ b/poky/meta/recipes-support/iso-codes/iso-codes_4.11.0.bb
@@ -9,7 +9,7 @@ LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=https;branch=main;"
-SRCREV = "9a6c24ee40e737ab34273c1af13a8dabcae888dd"
+SRCREV = "2651d7fe65582263c57385a852b0c6d8a49f6985"
# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which
# are inhibited by allarch
diff --git a/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.12.bb b/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.14.bb
index 8ea8436977..fad92df507 100644
--- a/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.12.bb
+++ b/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.14.bb
@@ -5,13 +5,13 @@ SECTION = "optional"
PROVIDES += "libatomics-ops"
LICENSE = "GPL-2.0-only & MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://doc/LICENSING.txt;md5=e00dd5c8ac03a14c5ae5225a4525fa2d \
+ file://doc/LICENSING.txt;md5=dfc50c7cea7b66935844587a0f7389e7 \
"
SRC_URI = "https://github.com/ivmai/libatomic_ops/releases/download/v${PV}/libatomic_ops-${PV}.tar.gz"
UPSTREAM_CHECK_URI = "https://github.com/ivmai/libatomic_ops/releases"
-SRC_URI[sha256sum] = "f0ab566e25fce08b560e1feab6a3db01db4a38e5bc687804334ef3920c549f3e"
+SRC_URI[sha256sum] = "390f244d424714735b7050d056567615b3b8f29008a663c262fb548f1802d292"
S = "${WORKDIR}/libatomic_ops-${PV}"
diff --git a/poky/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch b/poky/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch
index 9884fb5641..3f4c7e57ae 100644
--- a/poky/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch
+++ b/poky/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch
@@ -1,4 +1,4 @@
-From fc60e000169618a4adced845b9462d36ced1efdd Mon Sep 17 00:00:00 2001
+From 1c234bc39446eb9b23896e85dd67b02976d46c3d Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Thu, 14 Oct 2021 15:57:36 +0800
Subject: [PATCH] nativesdk-libcap: Raise the size of arrays containing dl
diff --git a/poky/meta/recipes-support/libcap/libcap_2.64.bb b/poky/meta/recipes-support/libcap/libcap_2.65.bb
index 7690d3e9a5..8013d40769 100644
--- a/poky/meta/recipes-support/libcap/libcap_2.64.bb
+++ b/poky/meta/recipes-support/libcap/libcap_2.65.bb
@@ -20,7 +20,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${
SRC_URI:append:class-nativesdk = " \
file://0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch \
"
-SRC_URI[sha256sum] = "c8465e1f0b068d5fc06199231135ccac7adb56d662b1de93589252e8cd071e13"
+SRC_URI[sha256sum] = "73e350020cc31fe15360879d19384ffa3395a825f065fcf6bda3a5cdf965bebd"
UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/"
diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.12.1.bb b/poky/meta/recipes-support/libevdev/libevdev_1.13.0.bb
index bdca64f357..ddcc4b6129 100644
--- a/poky/meta/recipes-support/libevdev/libevdev_1.12.1.bb
+++ b/poky/meta/recipes-support/libevdev/libevdev_1.13.0.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=80c550b3197bcb8da7d7557ebcc3fc46 \
"
SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz"
-SRC_URI[sha256sum] = "1dbba41bc516d3ca7abc0da5b862efe3ea8a7018fa6e9b97ce9d39401b22426c"
+SRC_URI[sha256sum] = "9edf2006cc86a5055279647c38ec923d11a821ee4dc2c3033e8d20e8ee237cd9"
inherit autotools pkgconfig
diff --git a/poky/meta/recipes-support/libgcrypt/files/0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch b/poky/meta/recipes-support/libgcrypt/files/0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch
deleted file mode 100644
index 105df2957e..0000000000
--- a/poky/meta/recipes-support/libgcrypt/files/0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 7cc702c7b5a1ccc2b0091f3effa1391b6c3030fd Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 16 Aug 2017 10:46:28 +0800
-Subject: [PATCH 3/4] tests/bench-slope.c: workaround ICE failure on mips with
- '-O -g'
-
-Hit a ICE and could reduce it to the following minimal example:
-
-1. Only the size of array assigned with 2 caused the issue:
-$ cat > mipgcc-test.c << END
-
-int main (int argc, char **argv)
-{
- char *pStrArry[ARRAY_SIZE_MAX] = {"hello"};
- int i = 0;
-
- while(pStrArry[i] && i<ARRAY_SIZE_MAX)
- {
- printf("%s\n", pStrArry[i]);
- i++;
- }
-
- return 0;
-}
-
-END
-
-2. Only -O1 and -g on mips caused the issue:
-$ mips-poky-linux-gcc -O1 -g -o mipgcc-test mipgcc-test.c
-mipgcc-test.c: In function 'main':
-mipgcc-test.c:18:1: internal compiler error: in dwarf2out_var_location,
-at dwarf2out.c:20810
- }
- ^
-Please submit a full bug report,
-with preprocessed source if appropriate.
-See <http://gcc.gnu.org/bugs.html> for instructions
-
-3. The quick workround is trying to enlarge the size of array with
-larger
-than 2.
-
-4. File a bug to GNU, but it could not be reproduced on there
-environment.
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60643
-
-Upstream-Status: Inappropriate [oe specific]
-
-Rebase to 1.8.0
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- tests/bench-slope.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/bench-slope.c b/tests/bench-slope.c
-index 75e6e43..4e70842 100644
---- a/tests/bench-slope.c
-+++ b/tests/bench-slope.c
-@@ -1463,7 +1463,7 @@ static struct bench_ops hash_ops = {
- };
-
-
--static struct bench_hash_mode hash_modes[] = {
-+static struct bench_hash_mode hash_modes[3] = {
- {"", &hash_ops},
- {0},
- };
-@@ -1629,7 +1629,7 @@ static struct bench_ops mac_ops = {
- };
-
-
--static struct bench_mac_mode mac_modes[] = {
-+static struct bench_mac_mode mac_modes[3] = {
- {"", &mac_ops},
- {0},
- };
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch b/poky/meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch
new file mode 100644
index 0000000000..b9a607863d
--- /dev/null
+++ b/poky/meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch
@@ -0,0 +1,18 @@
+Don't depend on a native libgpg-error to build the test driver, as it's
+an optional dependency for some C annotations.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/tests/testdrv.c b/tests/testdrv.c
+index 0ccde326..6d6abd57 100644
+--- a/tests/testdrv.c
++++ b/tests/testdrv.c
+@@ -32,7 +32,6 @@
+ # include <fcntl.h>
+ # include <sys/wait.h>
+ #endif
+-#include <gpg-error.h> /* For some macros. */
+
+ #include "stopwatch.h"
+
diff --git a/poky/meta/recipes-support/libgcrypt/files/run-ptest b/poky/meta/recipes-support/libgcrypt/files/run-ptest
index 4818a061b4..c349ae1944 100644
--- a/poky/meta/recipes-support/libgcrypt/files/run-ptest
+++ b/poky/meta/recipes-support/libgcrypt/files/run-ptest
@@ -1,3 +1,9 @@
#!/bin/sh
-make -C build/tests runtest-TESTS
+# Run the tests in regression mode so they are quicker
+export GCRYPT_IN_REGRESSION_TEST=1
+# The 'random' test invokes itself, so we need to be sure that the test
+# directory is on PATH.
+export PATH=$PATH:.
+
+./testdrv --verbose
diff --git a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb
index f7108013d3..b0d88de3aa 100644
--- a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb
+++ b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb
@@ -17,14 +17,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
"
DEPENDS = "libgpg-error"
-RDEPENDS:${PN}-ptest = "bash make"
UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \
file://0001-libgcrypt-fix-m4-file-for-oe-core.patch \
- file://0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch \
file://0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \
file://0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch \
+ file://no-native-gpg-error.patch \
file://run-ptest \
"
SRC_URI[sha256sum] = "ef14ae546b0084cd84259f61a55e07a38c3b53afc0f546bffcef2f01baffe9de"
@@ -39,8 +38,6 @@ inherit autotools texinfo binconfig-disabled pkgconfig ptest
EXTRA_OECONF = "--disable-asm"
EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'"
-PRIVATE_LIBS:${PN}-ptest:append = " libgcrypt.so.20"
-
PACKAGECONFIG ??= "capabilities"
PACKAGECONFIG[capabilities] = "--with-capabilities,--without-capabilities,libcap"
@@ -49,25 +46,10 @@ do_configure:prepend () {
rm -f ${S}/m4/gpg-error.m4
}
-# libgcrypt.pc is added locally and thus installed here
-do_install:append() {
- install -d ${D}/${libdir}/pkgconfig
- install -m 0644 ${B}/src/libgcrypt.pc ${D}/${libdir}/pkgconfig/
-}
-
do_install_ptest() {
- cp -r --preserve=mode,links -v ${S} ${D}${PTEST_PATH}
- cp -r --preserve=mode,links -v ${B} ${D}${PTEST_PATH}
- rm ${D}${PTEST_PATH}/build/cipher/gost-s-box
- rm ${D}${PTEST_PATH}/build/doc/yat2m
- rm ${D}${PTEST_PATH}/build/libtool
- rm ${D}${PTEST_PATH}/build/config.status
- rm ${D}${PTEST_PATH}/build/config.log
- rm ${D}${PTEST_PATH}/build/src/mpicalc
- rm ${D}${PTEST_PATH}/${BP}/autom4te* -rf
- sed -i -e 's/Makefile:.*/Makefile-disabled:/' ${D}${PTEST_PATH}/build/Makefile
- find ${D}/${PTEST_PATH}/build -name "*.cmake" -or -name "Makefile" \
- | xargs sed -e "s|${WORKDIR}|${PTEST_PATH}|g" -e "s|${WORKDIR}/recipe-sysroot-native||g" -i
+ cd tests
+ oe_runmake testdrv-build testdrv
+ install testdrv $(srcdir=${S}/tests ./testdrv-build --files | sort | uniq) ${D}${PTEST_PATH}
}
FILES:${PN}-dev += "${bindir}/hmac256 ${bindir}/dumpsexp"
diff --git a/poky/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.75.bb b/poky/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.75.bb
index 9c99af7c91..043fed367c 100644
--- a/poky/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.75.bb
+++ b/poky/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.75.bb
@@ -13,13 +13,10 @@ inherit autotools lib_package pkgconfig gettext
CFLAGS += "-pthread -D_REENTRANT"
-EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
+EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../ --enable-largefile"
PACKAGECONFIG ?= "curl https"
-PACKAGECONFIG:append:class-target = "\
- ${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)} \
-"
-PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
+
PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
PACKAGECONFIG[https] = "--enable-https,--disable-https,libgcrypt gnutls,"
diff --git a/poky/meta/recipes-support/liburcu/liburcu_0.13.1.bb b/poky/meta/recipes-support/liburcu/liburcu_0.13.2.bb
index 66763349d2..6ecf2e21c0 100644
--- a/poky/meta/recipes-support/liburcu/liburcu_0.13.1.bb
+++ b/poky/meta/recipes-support/liburcu/liburcu_0.13.2.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e548d28737289d75a8f1e01ba2fd7825 \
SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2"
-SRC_URI[sha256sum] = "3213f33d2b8f710eb920eb1abb279ec04bf8ae6361f44f2513c28c20d3363083"
+SRC_URI[sha256sum] = "1213fd9f1b0b74da7de2bb74335b76098db9738fec5d3cdc07c0c524f34fc032"
S = "${WORKDIR}/userspace-rcu-${PV}"
inherit autotools multilib_header
diff --git a/poky/meta/recipes-support/lz4/files/CVE-2021-3520.patch b/poky/meta/recipes-support/lz4/files/CVE-2021-3520.patch
deleted file mode 100644
index 5ac8f6691f..0000000000
--- a/poky/meta/recipes-support/lz4/files/CVE-2021-3520.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 8301a21773ef61656225e264f4f06ae14462bca7 Mon Sep 17 00:00:00 2001
-From: Jasper Lievisse Adriaanse <j@jasper.la>
-Date: Fri, 26 Feb 2021 15:21:20 +0100
-Subject: [PATCH] Fix potential memory corruption with negative memmove() size
-
-Upstream-Status: Backport
-https://github.com/lz4/lz4/commit/8301a21773ef61656225e264f4f06ae14462bca7#diff-7055e9cf14c488aea9837aaf9f528b58ee3c22988d7d0d81d172ec62d94a88a7
-CVE: CVE-2021-3520
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- lib/lz4.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: git/lib/lz4.c
-===================================================================
---- git.orig/lib/lz4.c
-+++ git/lib/lz4.c
-@@ -1665,7 +1665,7 @@ LZ4_decompress_generic(
- const size_t dictSize /* note : = 0 if noDict */
- )
- {
-- if (src == NULL) { return -1; }
-+ if ((src == NULL) || (outputSize < 0)) { return -1; }
-
- { const BYTE* ip = (const BYTE*) src;
- const BYTE* const iend = ip + srcSize;
diff --git a/poky/meta/recipes-support/lz4/lz4_1.9.3.bb b/poky/meta/recipes-support/lz4/lz4_1.9.4.bb
index 129a86b681..a2a178bab5 100644
--- a/poky/meta/recipes-support/lz4/lz4_1.9.3.bb
+++ b/poky/meta/recipes-support/lz4/lz4_1.9.4.bb
@@ -3,18 +3,16 @@ DESCRIPTION = "LZ4 is a very fast lossless compression algorithm, providing comp
HOMEPAGE = "https://github.com/lz4/lz4"
LICENSE = "BSD-2-Clause | GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \
+LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=5cd5f851b52ec832b10eedb3f01f885a \
file://programs/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://LICENSE;md5=d57c0d21cb917fb4e0af2454aa48b956 \
+ file://LICENSE;md5=c5cc3cd6f9274b4d32988096df9c3ec3 \
"
PE = "1"
-SRCREV = "d44371841a2f1728a3f36839fd4b7e872d0927d3"
+SRCREV = "5ff839680134437dbf4678f3d0c7b371d84f4964"
-SRC_URI = "git://github.com/lz4/lz4.git;branch=release;protocol=https \
- file://CVE-2021-3520.patch \
- "
+SRC_URI = "git://github.com/lz4/lz4.git;branch=release;protocol=https"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-support/nettle/nettle_3.8.bb b/poky/meta/recipes-support/nettle/nettle_3.8.1.bb
index 0d6562dbce..bf49132235 100644
--- a/poky/meta/recipes-support/nettle/nettle_3.8.bb
+++ b/poky/meta/recipes-support/nettle/nettle_3.8.1.bb
@@ -24,7 +24,7 @@ SRC_URI:append:class-target = "\
file://dlopen-test.patch \
"
-SRC_URI[sha256sum] = "7576c68481c198f644b08c160d1a4850ba9449e308069455b5213319f234e8e6"
+SRC_URI[sha256sum] = "364f3e2b77cd7dcde83fd7c45219c834e54b0c75e428b6f894a23d12dd41cbfe"
UPSTREAM_CHECK_REGEX = "nettle-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-support/pinentry/pinentry_1.2.0.bb b/poky/meta/recipes-support/pinentry/pinentry_1.2.0.bb
index 169cac8965..e6cc71a547 100644
--- a/poky/meta/recipes-support/pinentry/pinentry_1.2.0.bb
+++ b/poky/meta/recipes-support/pinentry/pinentry_1.2.0.bb
@@ -32,5 +32,8 @@ PACKAGECONFIG[secret] = "--enable-libsecret, --disable-libsecret, libsecret"
EXTRA_OECONF = " \
--disable-rpath \
"
+EXTRA_OECONF:append:libc-musl = " \
+ ac_cv_should_define__xopen_source=yes \
+"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools.service b/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools.service
index 568686e80e..5ae2fba215 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools.service
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools.service
@@ -1,10 +1,9 @@
[Unit]
Description=Hardware RNG Entropy Gatherer Daemon
DefaultDependencies=no
-After=systemd-udev-settle.service
-Before=sysinit.target shutdown.target
-Wants=systemd-udev-settle.service
Conflicts=shutdown.target
+Before=sysinit.target shutdown.target
+ConditionVirtualization=!container
[Service]
EnvironmentFile=-@SYSCONFDIR@/default/rng-tools
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.39.1.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.39.2.bb
index 39ddbfb908..dfef480895 100644
--- a/poky/meta/recipes-support/sqlite/sqlite3_3.39.1.bb
+++ b/poky/meta/recipes-support/sqlite/sqlite3_3.39.2.bb
@@ -4,7 +4,7 @@ LICENSE = "PD"
LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
SRC_URI = "http://www.sqlite.org/2022/sqlite-autoconf-${SQLITE_PV}.tar.gz"
-SRC_URI[sha256sum] = "87c8e7a7fa0c68ab28e208ba49f3a22a56000dbf53a6f90206e2bc5843931cc4"
+SRC_URI[sha256sum] = "852be8a6183a17ba47cee0bbff7400b7aa5affd283bf3beefc34fcd088a239de"
# -19242 is only an issue in specific development branch commits
CVE_CHECK_IGNORE += "CVE-2019-19242"
diff --git a/poky/meta/recipes-support/vim/vim.inc b/poky/meta/recipes-support/vim/vim.inc
index 48896465ed..33a8299243 100644
--- a/poky/meta/recipes-support/vim/vim.inc
+++ b/poky/meta/recipes-support/vim/vim.inc
@@ -20,8 +20,8 @@ SRC_URI = "git://github.com/vim/vim.git;branch=master;protocol=https \
file://no-path-adjust.patch \
"
-PV .= ".0115"
-SRCREV = "6747cf1671bd41cddee77c65b3f9a70509f968db"
+PV .= ".0341"
+SRCREV = "92a3d20682d46359bb50a452b4f831659e799155"
# Remove when 8.3 is out
UPSTREAM_VERSION_UNKNOWN = "1"
diff --git a/poky/scripts/autobuilder-worker-prereq-tests b/poky/scripts/autobuilder-worker-prereq-tests
index 572227dccd..54fd3c1004 100755
--- a/poky/scripts/autobuilder-worker-prereq-tests
+++ b/poky/scripts/autobuilder-worker-prereq-tests
@@ -1,5 +1,7 @@
#!/bin/bash
#
+# Copyright OpenEmbedded Contributors
+#
# Script which can be run on new autobuilder workers to check all needed configuration is present.
# Designed to be run in a repo where bitbake/oe-core are already present.
#
diff --git a/poky/scripts/bitbake-prserv-tool b/poky/scripts/bitbake-prserv-tool
index e55d98c72e..bed97bd8ac 100755
--- a/poky/scripts/bitbake-prserv-tool
+++ b/poky/scripts/bitbake-prserv-tool
@@ -1,5 +1,7 @@
#!/usr/bin/env bash
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/scripts/bitbake-whatchanged b/poky/scripts/bitbake-whatchanged
index 6f4b268119..cdb730dbdb 100755
--- a/poky/scripts/bitbake-whatchanged
+++ b/poky/scripts/bitbake-whatchanged
@@ -1,7 +1,5 @@
#!/usr/bin/env python3
-# ex:ts=4:sw=4:sts=4:et
-# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
-
+#
# Copyright (c) 2013 Wind River Systems, Inc.
#
# SPDX-License-Identifier: GPL-2.0-only
diff --git a/poky/scripts/combo-layer-hook-default.sh b/poky/scripts/combo-layer-hook-default.sh
index 11547a9826..fb9651b31f 100755
--- a/poky/scripts/combo-layer-hook-default.sh
+++ b/poky/scripts/combo-layer-hook-default.sh
@@ -1,5 +1,7 @@
#!/bin/sh
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Hook to add source component/revision info to commit message
diff --git a/poky/scripts/contrib/ddimage b/poky/scripts/contrib/ddimage
index 7f2ad112a6..70eee8ebea 100755
--- a/poky/scripts/contrib/ddimage
+++ b/poky/scripts/contrib/ddimage
@@ -1,5 +1,7 @@
#!/bin/sh
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/scripts/contrib/dialog-power-control b/poky/scripts/contrib/dialog-power-control
index ad6070c369..82c84baa1d 100755
--- a/poky/scripts/contrib/dialog-power-control
+++ b/poky/scripts/contrib/dialog-power-control
@@ -1,5 +1,7 @@
#!/bin/sh
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Simple script to show a manual power prompt for when you want to use
diff --git a/poky/scripts/contrib/documentation-audit.sh b/poky/scripts/contrib/documentation-audit.sh
index 36f7f3287c..7197a2fcea 100755
--- a/poky/scripts/contrib/documentation-audit.sh
+++ b/poky/scripts/contrib/documentation-audit.sh
@@ -1,5 +1,7 @@
#!/bin/bash
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Perform an audit of which packages provide documentation and which
diff --git a/poky/scripts/contrib/patchreview.py b/poky/scripts/contrib/patchreview.py
index 85d2169ad1..b22cc07f0a 100755
--- a/poky/scripts/contrib/patchreview.py
+++ b/poky/scripts/contrib/patchreview.py
@@ -1,5 +1,7 @@
#! /usr/bin/env python3
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/scripts/contrib/test_build_time_worker.sh b/poky/scripts/contrib/test_build_time_worker.sh
index 478e8b0d03..a2879d2336 100755
--- a/poky/scripts/contrib/test_build_time_worker.sh
+++ b/poky/scripts/contrib/test_build_time_worker.sh
@@ -1,5 +1,7 @@
#!/bin/bash
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# This is an example script to be used in conjunction with test_build_time.sh
diff --git a/poky/scripts/contrib/verify-homepage.py b/poky/scripts/contrib/verify-homepage.py
index 7bffa78e23..a90b5010bc 100755
--- a/poky/scripts/contrib/verify-homepage.py
+++ b/poky/scripts/contrib/verify-homepage.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# This script can be used to verify HOMEPAGE values for all recipes in
diff --git a/poky/scripts/cp-noerror b/poky/scripts/cp-noerror
index ab617c5d35..13a098eee0 100755
--- a/poky/scripts/cp-noerror
+++ b/poky/scripts/cp-noerror
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Allow copying of $1 to $2 but if files in $1 disappear during the copy operation,
diff --git a/poky/scripts/gen-lockedsig-cache b/poky/scripts/gen-lockedsig-cache
index cc674f9c1b..023015ec41 100755
--- a/poky/scripts/gen-lockedsig-cache
+++ b/poky/scripts/gen-lockedsig-cache
@@ -1,5 +1,8 @@
#!/usr/bin/env python3
#
+#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/scripts/git b/poky/scripts/git
index 644055e540..689adbf9dd 100755
--- a/poky/scripts/git
+++ b/poky/scripts/git
@@ -1,5 +1,9 @@
#!/usr/bin/env python3
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
# Wrapper around 'git' that doesn't think we are root
import os
diff --git a/poky/scripts/lib/argparse_oe.py b/poky/scripts/lib/argparse_oe.py
index 94a4ac5011..176b732bbc 100644
--- a/poky/scripts/lib/argparse_oe.py
+++ b/poky/scripts/lib/argparse_oe.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/scripts/lib/devtool/menuconfig.py b/poky/scripts/lib/devtool/menuconfig.py
index 95384c5333..d87a01e7a9 100644
--- a/poky/scripts/lib/devtool/menuconfig.py
+++ b/poky/scripts/lib/devtool/menuconfig.py
@@ -3,6 +3,8 @@
# Copyright (C) 2018 Xilinx
# Written by: Chandana Kalluri <ckalluri@xilinx.com>
#
+# SPDX-License-Identifier: MIT
+#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py
index c98bfe8195..e3b74ab8f0 100644
--- a/poky/scripts/lib/devtool/standard.py
+++ b/poky/scripts/lib/devtool/standard.py
@@ -1975,9 +1975,19 @@ def _reset(recipes, no_clean, remove_work, config, basepath, workspace):
shutil.rmtree(srctreebase)
else:
# We don't want to risk wiping out any work in progress
- logger.info('Leaving source tree %s as-is; if you no '
- 'longer need it then please delete it manually'
- % srctreebase)
+ if srctreebase.startswith(os.path.join(config.workspace_path, 'sources')):
+ from datetime import datetime
+ preservesrc = os.path.join(config.workspace_path, 'attic', 'sources', "{}.{}".format(pn,datetime.now().strftime("%Y%m%d%H%M%S")))
+ logger.info('Preserving source tree in %s\nIf you no '
+ 'longer need it then please delete it manually.\n'
+ 'It is also possible to reuse it via devtool source tree argument.'
+ % preservesrc)
+ bb.utils.mkdirhier(os.path.dirname(preservesrc))
+ shutil.move(srctreebase, preservesrc)
+ else:
+ logger.info('Leaving source tree %s as-is; if you no '
+ 'longer need it then please delete it manually'
+ % srctreebase)
else:
# This is unlikely, but if it's empty we can just remove it
os.rmdir(srctreebase)
diff --git a/poky/scripts/lib/recipetool/create_buildsys_python.py b/poky/scripts/lib/recipetool/create_buildsys_python.py
index 5686a62d3f..4675cc68fa 100644
--- a/poky/scripts/lib/recipetool/create_buildsys_python.py
+++ b/poky/scripts/lib/recipetool/create_buildsys_python.py
@@ -565,7 +565,7 @@ class PythonRecipeHandler(RecipeHandler):
pkgdata_dir = tinfoil.config_data.getVar('PKGDATA_DIR')
ldata = tinfoil.config_data.createCopy()
- bb.parse.handle('classes/python3-dir.bbclass', ldata, True)
+ bb.parse.handle('classes-recipe/python3-dir.bbclass', ldata, True)
python_sitedir = ldata.getVar('PYTHON_SITEPACKAGES_DIR')
dynload_dir = os.path.join(os.path.dirname(python_sitedir), 'lib-dynload')
diff --git a/poky/scripts/lib/wic/ksparser.py b/poky/scripts/lib/wic/ksparser.py
index a49b7b97c4..d1e546b12d 100644
--- a/poky/scripts/lib/wic/ksparser.py
+++ b/poky/scripts/lib/wic/ksparser.py
@@ -159,7 +159,7 @@ class KickStart():
part.add_argument('--fstype', default='vfat',
choices=('ext2', 'ext3', 'ext4', 'btrfs',
'squashfs', 'vfat', 'msdos', 'erofs',
- 'swap'))
+ 'swap', 'none'))
part.add_argument('--mkfs-extraopts', default='')
part.add_argument('--label')
part.add_argument('--use-label', action='store_true')
diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-partition.py b/poky/scripts/lib/wic/plugins/source/bootimg-partition.py
index 5dbe2558d2..8956162205 100644
--- a/poky/scripts/lib/wic/plugins/source/bootimg-partition.py
+++ b/poky/scripts/lib/wic/plugins/source/bootimg-partition.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# DESCRIPTION
diff --git a/poky/scripts/lib/wic/plugins/source/empty.py b/poky/scripts/lib/wic/plugins/source/empty.py
index 041617d648..9c492ca206 100644
--- a/poky/scripts/lib/wic/plugins/source/empty.py
+++ b/poky/scripts/lib/wic/plugins/source/empty.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
index afc9ea0f8f..607356ad13 100644
--- a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
+++ b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# DESCRIPTION
diff --git a/poky/scripts/lib/wic/plugins/source/rawcopy.py b/poky/scripts/lib/wic/plugins/source/rawcopy.py
index 7c90cd3cf8..ccf332554e 100644
--- a/poky/scripts/lib/wic/plugins/source/rawcopy.py
+++ b/poky/scripts/lib/wic/plugins/source/rawcopy.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
@@ -23,6 +25,10 @@ class RawCopyPlugin(SourcePlugin):
@staticmethod
def do_image_label(fstype, dst, label):
+ # don't create label when fstype is none
+ if fstype == 'none':
+ return
+
if fstype.startswith('ext'):
cmd = 'tune2fs -L %s %s' % (label, dst)
elif fstype in ('msdos', 'vfat'):
diff --git a/poky/scripts/oe-debuginfod b/poky/scripts/oe-debuginfod
index 9e5482d869..b525310225 100755
--- a/poky/scripts/oe-debuginfod
+++ b/poky/scripts/oe-debuginfod
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/scripts/oe-gnome-terminal-phonehome b/poky/scripts/oe-gnome-terminal-phonehome
index b6b9a3867b..1352a9872b 100755
--- a/poky/scripts/oe-gnome-terminal-phonehome
+++ b/poky/scripts/oe-gnome-terminal-phonehome
@@ -1,5 +1,7 @@
#!/bin/sh
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Gnome terminal won't tell us which PID a given command is run as
diff --git a/poky/scripts/oe-pkgdata-browser b/poky/scripts/oe-pkgdata-browser
index a3a381923b..c152c82b25 100755
--- a/poky/scripts/oe-pkgdata-browser
+++ b/poky/scripts/oe-pkgdata-browser
@@ -1,4 +1,9 @@
#! /usr/bin/env python3
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
import os, sys, enum, ast
diff --git a/poky/scripts/oe-pylint b/poky/scripts/oe-pylint
index 7cc1ccb010..5ad72838e9 100755
--- a/poky/scripts/oe-pylint
+++ b/poky/scripts/oe-pylint
@@ -1,5 +1,7 @@
#!/bin/bash
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Run the pylint3 against our common python module spaces and print a report of potential issues
diff --git a/poky/scripts/oe-setup-builddir b/poky/scripts/oe-setup-builddir
index 5d644168cb..d3c7f943e7 100755
--- a/poky/scripts/oe-setup-builddir
+++ b/poky/scripts/oe-setup-builddir
@@ -38,16 +38,18 @@ chmod -st "$BUILDDIR/conf" 2>/dev/null || echo "WARNING: unable to chmod $BUILDD
cd "$BUILDDIR"
-if [ -f "$BUILDDIR/conf/templateconf.cfg" ]; then
+if [ -f "$BUILDDIR/conf/templateconf.cfg" -a -z "$TEMPLATECONF" ]; then
TEMPLATECONF=$(cat "$BUILDDIR/conf/templateconf.cfg")
+ # The following two are no longer valid; unsetting them will automatically get them replaced
+ # with correct ones.
+ if [ $TEMPLATECONF = "meta/conf" -o $TEMPLATECONF = "meta-poky/conf" ]; then
+ unset TEMPLATECONF
+ rm $BUILDDIR/conf/templateconf.cfg
+ fi
fi
. "$OEROOT"/.templateconf
-if [ ! -f "$BUILDDIR/conf/templateconf.cfg" ]; then
- echo "$TEMPLATECONF" >"$BUILDDIR/conf/templateconf.cfg"
-fi
-
#
# $TEMPLATECONF can point to a directory for the template local.conf & bblayers.conf
#
@@ -61,6 +63,11 @@ if [ -n "$TEMPLATECONF" ]; then
echo >&2 "Error: TEMPLATECONF value points to nonexistent directory '$TEMPLATECONF'"
exit 1
fi
+ templatesdir=$(python3 -c "import sys; print(sys.argv[1].strip('/').split('/')[-2])" $TEMPLATECONF)
+ if [ ! -f "$TEMPLATECONF/../../layer.conf" -o $templatesdir != "templates" ]; then
+ echo >&2 "Error: TEMPLATECONF value (which is $TEMPLATECONF) must point to meta-some-layer/conf/templates/template-name"
+ exit 1
+ fi
fi
OECORELAYERCONF="$TEMPLATECONF/bblayers.conf.sample"
OECORELOCALCONF="$TEMPLATECONF/local.conf.sample"
@@ -129,3 +136,7 @@ if [ -z "$OECORENOTESCONF" ]; then
fi
[ ! -r "$OECORENOTESCONF" ] || cat "$OECORENOTESCONF"
unset OECORENOTESCONF
+
+if [ ! -f "$BUILDDIR/conf/templateconf.cfg" ]; then
+ echo "$TEMPLATECONF" >"$BUILDDIR/conf/templateconf.cfg"
+fi
diff --git a/poky/scripts/oe-setup-layers b/poky/scripts/oe-setup-layers
new file mode 100755
index 0000000000..6ecaffed75
--- /dev/null
+++ b/poky/scripts/oe-setup-layers
@@ -0,0 +1,78 @@
+#!/usr/bin/env python3
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+# This file was copied from poky(or oe-core)/scripts/oe-setup-layers by running
+#
+# bitbake-layers create-layers-setup destdir
+#
+# It is recommended that you do not modify this file directly, but rather re-run the above command to get the freshest upstream copy.
+
+import argparse
+import json
+import os
+import subprocess
+
+def _do_checkout(args, json):
+ layers = json['sources']
+ for l_name in layers:
+ l_data = layers[l_name]
+ layerdir = os.path.abspath(os.path.join(args['destdir'], l_data['path']))
+
+ if 'contains_this_file' in l_data.keys():
+ force_arg = 'force_bootstraplayer_checkout'
+ if not args[force_arg]:
+ print('Note: not checking out source {layer}, use {layerflag} to override.'.format(layer=l_name, layerflag='--force-bootstraplayer-checkout'))
+ continue
+ l_remote = l_data['git-remote']
+ rev = l_remote['rev']
+ desc = l_remote['describe']
+ if not desc:
+ desc = rev[:10]
+ branch = l_remote['branch']
+ remotes = l_remote['remotes']
+
+ print('\nSetting up source {}, revision {}, branch {}'.format(l_name, desc, branch))
+ cmd = 'git init -q {}'.format(layerdir)
+ print("Running '{}'".format(cmd))
+ subprocess.check_output(cmd, shell=True)
+
+ for remote in remotes:
+ cmd = "git remote remove {} > /dev/null 2>&1; git remote add {} {}".format(remote, remote, remotes[remote]['uri'])
+ print("Running '{}' in {}".format(cmd, layerdir))
+ subprocess.check_output(cmd, shell=True, cwd=layerdir)
+
+ cmd = "git fetch -q {} || true".format(remote)
+ print("Running '{}' in {}".format(cmd, layerdir))
+ subprocess.check_output(cmd, shell=True, cwd=layerdir)
+
+ cmd = 'git checkout -q {}'.format(rev)
+ print("Running '{}' in {}".format(cmd, layerdir))
+ subprocess.check_output(cmd, shell=True, cwd=layerdir)
+
+parser = argparse.ArgumentParser(description="A self contained python script that fetches all the needed layers and sets them to correct revisions using data in a json format from a separate file. The json data can be created from an active build directory with 'bitbake-layers create-layers-setup destdir' and there's a sample file and a schema in meta/files/")
+
+parser.add_argument('--force-bootstraplayer-checkout', action='store_true',
+ help='Force the checkout of the layer containing this file (by default it is presumed that as this script is in it, the layer is already in place).')
+
+try:
+ defaultdest = os.path.dirname(subprocess.check_output('git rev-parse --show-toplevel', universal_newlines=True, shell=True, cwd=os.path.dirname(__file__)))
+except subprocess.CalledProcessError as e:
+ defaultdest = os.path.abspath(".")
+
+parser.add_argument('--destdir', default=defaultdest, help='Where to check out the layers (default is {defaultdest}).'.format(defaultdest=defaultdest))
+parser.add_argument('--jsondata', default=__file__+".json", help='File containing the layer data in json format (default is {defaultjson}).'.format(defaultjson=__file__+".json"))
+
+args = parser.parse_args()
+
+with open(args.jsondata) as f:
+ json = json.load(f)
+
+supported_versions = ["1.0"]
+if json["version"] not in supported_versions:
+ raise Exception("File {} has version {}, which is not in supported versions: {}".format(args.jsondata, json["version"], supported_versions))
+
+_do_checkout(vars(args), json)
diff --git a/poky/scripts/oe-time-dd-test.sh b/poky/scripts/oe-time-dd-test.sh
index 386de83dce..81748b8c9e 100755
--- a/poky/scripts/oe-time-dd-test.sh
+++ b/poky/scripts/oe-time-dd-test.sh
@@ -1,5 +1,9 @@
#!/bin/bash
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
# oe-time-dd-test records how much time it takes to
# write <count> number of kilobytes to the filesystem.
# It also records the number of processes that are in
diff --git a/poky/scripts/oe-trim-schemas b/poky/scripts/oe-trim-schemas
index bf77c8cf64..e3b26e273e 100755
--- a/poky/scripts/oe-trim-schemas
+++ b/poky/scripts/oe-trim-schemas
@@ -1,5 +1,7 @@
#! /usr/bin/env python3
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/scripts/oepydevshell-internal.py b/poky/scripts/oepydevshell-internal.py
index e3c35bbe2c..3bf7df1114 100755
--- a/poky/scripts/oepydevshell-internal.py
+++ b/poky/scripts/oepydevshell-internal.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/scripts/pythondeps b/poky/scripts/pythondeps
index be21dd84eb..48277ec28a 100755
--- a/poky/scripts/pythondeps
+++ b/poky/scripts/pythondeps
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Determine dependencies of python scripts or available python modules in a search path.
diff --git a/poky/scripts/relocate_sdk.py b/poky/scripts/relocate_sdk.py
index 4ed8bfc0d1..8a728720ba 100755
--- a/poky/scripts/relocate_sdk.py
+++ b/poky/scripts/relocate_sdk.py
@@ -104,11 +104,12 @@ def change_interpreter(elf_file_name):
if (len(new_dl_path) >= p_filesz):
print("ERROR: could not relocate %s, interp size = %i and %i is needed." \
% (elf_file_name, p_memsz, len(new_dl_path) + 1))
- break
+ return False
dl_path = new_dl_path + b("\0") * (p_filesz - len(new_dl_path))
f.seek(p_offset)
f.write(dl_path)
break
+ return True
def change_dl_sysdirs(elf_file_name):
if arch == 32:
@@ -222,6 +223,7 @@ else:
executables_list = sys.argv[3:]
+errors = False
for e in executables_list:
perms = os.stat(e)[stat.ST_MODE]
if os.access(e, os.W_OK|os.R_OK):
@@ -247,7 +249,8 @@ for e in executables_list:
arch = get_arch()
if arch:
parse_elf_header()
- change_interpreter(e)
+ if not change_interpreter(e):
+ errors = True
change_dl_sysdirs(e)
""" change permissions back """
@@ -260,3 +263,6 @@ for e in executables_list:
print("New file size for %s is different. Looks like a relocation error!", e)
sys.exit(-1)
+if errors:
+ print("Relocation of one or more executables failed.")
+ sys.exit(-1)
diff --git a/poky/scripts/runqemu.README b/poky/scripts/runqemu.README
index da9abd7dfb..e5f4b4634c 100644
--- a/poky/scripts/runqemu.README
+++ b/poky/scripts/runqemu.README
@@ -1,12 +1,12 @@
Using OE images with QEMU
=========================
-OE-Core can generate qemu bootable kernels and images with can be used
+OE-Core can generate qemu bootable kernels and images which can be used
on a desktop system. The scripts currently support booting ARM, MIPS, PowerPC
-and x86 (32 and 64 bit) images. The scripts can be used within the OE build
-system or externaly.
+and x86 (32 and 64 bit) images. The scripts can be used within the OE build
+system or externally.
-The runqemu script is run as:
+The runqemu script is run as:
runqemu <machine> <zimage> <filesystem>
@@ -15,13 +15,13 @@ where:
<machine> is the machine/architecture to use (qemuarm/qemumips/qemuppc/qemux86/qemux86-64)
<zimage> is the path to a kernel (e.g. zimage-qemuarm.bin)
<filesystem> is the path to an ext2 image (e.g. filesystem-qemuarm.ext2) or an nfs directory
-
-If <machine> isn't specified, the script will try to detect the machine name
+
+If <machine> isn't specified, the script will try to detect the machine name
from the name of the <zimage> file.
If <filesystem> isn't specified, nfs booting will be assumed.
-When used within the build system, it will default to qemuarm, ext2 and the last kernel and
+When used within the build system, it will default to qemuarm, ext2 and the last kernel and
core-image-sato-sdk image built by the build system. If an sdk image isn't present it will look
for sato and minimal images.
@@ -31,7 +31,7 @@ Full usage instructions can be seen by running the command with no options speci
Notes
=====
- - The scripts run qemu using sudo. Change perms on /dev/net/tun to
+ - The scripts run qemu using sudo. Change perms on /dev/net/tun to
run as non root. The runqemu-gen-tapdevs script can also be used by
root to prepopulate the appropriate network devices.
- You can access the host computer at 192.168.7.1 within the image.
diff --git a/poky/scripts/sstate-diff-machines.sh b/poky/scripts/sstate-diff-machines.sh
index 8b64e11be1..5ed413b2ee 100755
--- a/poky/scripts/sstate-diff-machines.sh
+++ b/poky/scripts/sstate-diff-machines.sh
@@ -1,5 +1,7 @@
#!/bin/bash
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Used to compare sstate checksums between MACHINES.
diff --git a/poky/scripts/sstate-sysroot-cruft.sh b/poky/scripts/sstate-sysroot-cruft.sh
index 9c948e932d..b2002badfb 100755
--- a/poky/scripts/sstate-sysroot-cruft.sh
+++ b/poky/scripts/sstate-sysroot-cruft.sh
@@ -1,5 +1,7 @@
#!/bin/sh
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Used to find files installed in sysroot which are not tracked by sstate manifest
diff --git a/poky/scripts/sysroot-relativelinks.py b/poky/scripts/sysroot-relativelinks.py
index 56e36f3ad5..ccb3c867f0 100755
--- a/poky/scripts/sysroot-relativelinks.py
+++ b/poky/scripts/sysroot-relativelinks.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/scripts/task-time b/poky/scripts/task-time
index bcd1e25817..8f71b29b77 100755
--- a/poky/scripts/task-time
+++ b/poky/scripts/task-time
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/poky/scripts/verify-bashisms b/poky/scripts/verify-bashisms
index ec2374f183..fc3677c6ed 100755
--- a/poky/scripts/verify-bashisms
+++ b/poky/scripts/verify-bashisms
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#