diff --git a/meta-arm/ci/external-gccarm.yml b/meta-arm/ci/external-gccarm.yml
index fe8fa6c..a3313d8 100644
--- a/meta-arm/ci/external-gccarm.yml
+++ b/meta-arm/ci/external-gccarm.yml
@@ -6,3 +6,6 @@
     SKIP_RECIPE[gcc-cross-arm] = "Using external toolchain"
     TCMODE = "external-arm"
     EXTERNAL_TOOLCHAIN = "${TOPDIR}/toolchains/${TARGET_ARCH}"
+    # Temporary workaround for a number binaries in the toolchains that are using 32bit timer API
+    # This must be done here instead of the recipe because of all the libraries in the toolchain have the issue
+    INSANE_SKIP:append = " 32bit-time"
diff --git a/meta-arm/ci/get-binary-toolchains b/meta-arm/ci/get-binary-toolchains
index 23c3bbb..69a4d38 100755
--- a/meta-arm/ci/get-binary-toolchains
+++ b/meta-arm/ci/get-binary-toolchains
@@ -5,9 +5,10 @@
 VER=${VER:-12.2.rel1}
 HOST_ARCH=${HOST_ARCH:-$(uname -m)}
 
-DOWNLOAD_DIR=$1
-TOOLCHAIN_DIR=$2
-TOOLCHAIN_LINK_DIR=$3
+# Use the standard kas container locations if nothing is passed into the script
+DOWNLOAD_DIR="${1:-/builds/persist/downloads/}"
+TOOLCHAIN_DIR="${2:-/builds/persist//toolchains/}"
+TOOLCHAIN_LINK_DIR="${3:-build/toolchains/}"
 
 # These should be already created by .gitlab-ci.yml, but do here if run outside of that env
 mkdir -p $DOWNLOAD_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
diff --git a/meta-arm/ci/tc1.yml b/meta-arm/ci/tc1.yml
index 66c5ab9..77d67d2 100644
--- a/meta-arm/ci/tc1.yml
+++ b/meta-arm/ci/tc1.yml
@@ -9,4 +9,3 @@
 
 target:
   - core-image-minimal
-  - trusted-firmware-m
diff --git a/meta-arm/ci/toolchains.yml b/meta-arm/ci/toolchains.yml
index 72ce558..9b63bf2 100644
--- a/meta-arm/ci/toolchains.yml
+++ b/meta-arm/ci/toolchains.yml
@@ -16,4 +16,5 @@
   - nativesdk-gcc-aarch64-none-elf
   - gcc-arm-none-eabi
   - nativesdk-gcc-arm-none-eabi
-  - nativesdk-androidclang
+  - gcc-arm-none-eabi-11.2
+  - nativesdk-gcc-arm-none-eabi-11.2
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 8a2e2a0..aeb1411 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 @@
 RE_IMAGE_OFFSET = "0x1000"
 
 # u-boot
-PREFERRED_VERSION_u-boot ?= "2023.01"
+PREFERRED_VERSION_u-boot ?= "2023.07%"
 EXTRA_IMAGEDEPENDS += "u-boot"
 
 UBOOT_CONFIG ??= "EFI"
diff --git a/meta-arm/meta-arm-bsp/documentation/fvp-baser-aemv8r64.md b/meta-arm/meta-arm-bsp/documentation/fvp-baser-aemv8r64.md
index 00efed4..2635e75 100644
--- a/meta-arm/meta-arm-bsp/documentation/fvp-baser-aemv8r64.md
+++ b/meta-arm/meta-arm-bsp/documentation/fvp-baser-aemv8r64.md
@@ -27,7 +27,7 @@
 where either a standard or Real-Time Linux kernel (PREEMPT\_RT) can be built
 and run:
 
- - FVP_Base_AEMv8R: v11.20.15
+ - FVP_Base_AEMv8R: v11.22.14
  - boot-wrapper-aarch64: provides PSCI support
  - U-Boot: v2022.07 - provides UEFI services
  - Linux kernel: linux-yocto-5.15
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0002-feat-corstone1000-bl2-loads-fip-based-on-metadata.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0002-feat-corstone1000-bl2-loads-fip-based-on-metadata.patch
index 3afaa4b..d834e95 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0002-feat-corstone1000-bl2-loads-fip-based-on-metadata.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0002-feat-corstone1000-bl2-loads-fip-based-on-metadata.patch
@@ -16,7 +16,6 @@
 Upstream-Status: Pending
 Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
 
-%% original patch: 0002-feat-corstone1000-bl2-loads-fip-based-on-metadata.patch
 ---
  bl2/bl2_main.c                                |  4 +++
  .../corstone1000/common/corstone1000_plat.c   | 32 ++++++-------------
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0003-psci-SMCCC_ARCH_FEATURES-discovery-through-PSCI_FEATURES.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0003-psci-SMCCC_ARCH_FEATURES-discovery-through-PSCI_FEATURES.patch
new file mode 100644
index 0000000..2a7cd47
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0003-psci-SMCCC_ARCH_FEATURES-discovery-through-PSCI_FEATURES.patch
@@ -0,0 +1,29 @@
+From 16937460429d6bcd502b21c20d16222541ed8d48 Mon Sep 17 00:00:00 2001
+From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Date: Mon, 6 Mar 2023 15:57:59 +0000
+Subject: [PATCH] psci: SMCCC_ARCH_FEATURES discovery through PSCI_FEATURES
+
+allow normal world use PSCI_FEATURES to discover SMCCC_ARCH_FEATURES
+
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Upstream-Status: Inappropriate [A U-Boot patch will be released to fix an issue in the PSCI driver]
+---
+ lib/psci/psci_main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/psci/psci_main.c b/lib/psci/psci_main.c
+index a631f3ffbf..cc8904b006 100644
+--- a/lib/psci/psci_main.c
++++ b/lib/psci/psci_main.c
+@@ -337,7 +337,7 @@ int psci_features(unsigned int psci_fid)
+ {
+ 	unsigned int local_caps = psci_caps;
+ 
+-	if (psci_fid == SMCCC_VERSION)
++	if (psci_fid == SMCCC_VERSION || psci_fid == SMCCC_ARCH_FEATURES)
+ 		return PSCI_E_SUCCESS;
+ 
+ 	/* Check if it is a 64 bit function */
+-- 
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/n1sdp/0001-Reserve-OP-TEE-memory-from-nwd.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/n1sdp/0001-Reserve-OP-TEE-memory-from-nwd.patch
new file mode 100644
index 0000000..2c634e3
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/n1sdp/0001-Reserve-OP-TEE-memory-from-nwd.patch
@@ -0,0 +1,41 @@
+From 2d305094f8f500362079e9e7637d46129bf980e4 Mon Sep 17 00:00:00 2001
+From: Adam Johnston <adam.johnston@arm.com>
+Date: Tue, 25 Jul 2023 16:05:51 +0000
+Subject: [PATCH] n1sdp: Reserve OP-TEE memory from NWd
+
+The physical memory which is used to run OP-TEE on the N1SDP is known
+to the secure world via TOS_FW_CONFIG, but it may not be known to the
+normal world.
+
+As a precaution, explicitly reserve this memory via NT_FW_CONFIG to
+prevent the normal world from using it. This is not required on most
+platforms as the Trusted OS is run from secure RAM.
+
+Upstream-Status: Pending (not yet submited to upstream)
+Signed-off-by: Adam Johnston <adam.johnston@arm.com>
+---
+ plat/arm/board/n1sdp/fdts/n1sdp_nt_fw_config.dts | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/plat/arm/board/n1sdp/fdts/n1sdp_nt_fw_config.dts b/plat/arm/board/n1sdp/fdts/n1sdp_nt_fw_config.dts
+index da5e04ddb6..b7e2d4e86f 100644
+--- a/plat/arm/board/n1sdp/fdts/n1sdp_nt_fw_config.dts
++++ b/plat/arm/board/n1sdp/fdts/n1sdp_nt_fw_config.dts
+@@ -20,4 +20,16 @@
+ 		local-ddr-size = <0x0>;
+ 		remote-ddr-size = <0x0>;
+ 	};
++
++	reserved-memory {
++		#address-cells = <2>;
++		#size-cells = <2>;
++		ranges;
++
++		optee@0x08000000 {
++			compatible = "removed-dma-pool";
++			reg = <0x0 0x08000000 0x0 0x02000000>;
++			no-map;
++		};
++	};
+ };
+\ No newline at end of file
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone1000.inc b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone1000.inc
index 3a5be11..06be28e 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone1000.inc
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone1000.inc
@@ -7,6 +7,7 @@
 SRC_URI:append = " \ 
 	file://0001-Fix-FF-A-version-in-SPMC-manifest.patch \
     file://0002-feat-corstone1000-bl2-loads-fip-based-on-metadata.patch \
+    file://0003-psci-SMCCC_ARCH_FEATURES-discovery-through-PSCI_FEATURES.patch \
     "
 
 #Sets TF-A version to 2.8.0
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 f4ebcc1..654e432 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
@@ -9,6 +9,12 @@
 TFA_UBOOT          = "0"
 TFA_UEFI           = "1"
 
+FILESEXTRAPATHS:prepend := "${THISDIR}/files/n1sdp:"
+
+SRC_URI:append = " \ 
+    file://0001-Reserve-OP-TEE-memory-from-nwd.patch \
+    "
+
 TFA_ROT_KEY= "plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem"
 
 # Enabling Secure-EL1 Payload Dispatcher (SPD)
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0013-Platform-corstone1000-Increase-BL2-size-in-flash-lay.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0001-Platform-corstone1000-Increase-BL2-size-in-flash-lay.patch
similarity index 87%
rename from meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0013-Platform-corstone1000-Increase-BL2-size-in-flash-lay.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0001-Platform-corstone1000-Increase-BL2-size-in-flash-lay.patch
index 92d17cc..98dabbe 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0013-Platform-corstone1000-Increase-BL2-size-in-flash-lay.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0001-Platform-corstone1000-Increase-BL2-size-in-flash-lay.patch
@@ -1,12 +1,13 @@
-From 77c5a3bd090955e48ffca92bf9535185d26e9017 Mon Sep 17 00:00:00 2001
+From 60598f3b44237bd5038e33400e749ec1e7e8fbda Mon Sep 17 00:00:00 2001
 From: Emekcan Aras <emekcan.aras@arm.com>
 Date: Mon, 15 May 2023 10:42:23 +0100
-Subject: [PATCH 2/4] Platform: corstone1000: Increase BL2 size in flash layout
+Subject: [PATCH] Platform: corstone1000: Increase BL2 size in flash layout
 
 Increases BL2 size to align with the flash page size in corstone1000.
 
 Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
 Upstream-Status: Pending [Not submitted to upstream yet]
+
 ---
  platform/ext/target/arm/corstone1000/partition/flash_layout.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
@@ -24,6 +25,3 @@
  #define SE_BL2_BANK_0_OFFSET            (0x9000)  /* 72nd LBA */
  #define SE_BL2_BANK_1_OFFSET            (0x1002000)  /* 32784th LBA */
  
--- 
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0001-Platform-corstone1000-make-sure-to-write-fwu-metadata-to-repl.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0001-Platform-corstone1000-make-sure-to-write-fwu-metadata-to-repl.patch
deleted file mode 100644
index eeaf6d1..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0001-Platform-corstone1000-make-sure-to-write-fwu-metadata-to-repl.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 0ee6842d348e206d511ec89a7ff5b29a6f325456 Mon Sep 17 00:00:00 2001
-From: Rui Miguel Silva <rui.silva@linaro.org>
-Date: Sun, 29 Jan 2023 19:01:08 +0000
-Subject: [PATCH] corstone1000: make sure to write fwu metadata to replica 2
-
-u-boot and other, before using fwu metadata validate if
-the copies in both replicas are good. so, make sure
-we write fwu metadata in both replicas.
-
-Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/20550]
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- .../arm/corstone1000/fw_update_agent/fwu_agent.c   | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
-index e1fa297ac923..215902ce71b9 100644
---- a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
-+++ b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
-@@ -238,6 +238,20 @@ static enum fwu_agent_error_t metadata_write(
-         return FWU_AGENT_ERROR;
-     }
- 
-+    FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__,
-+                  FWU_METADATA_REPLICA_2_OFFSET, sizeof(struct fwu_metadata));
-+
-+    ret = FWU_METADATA_FLASH_DEV.EraseSector(FWU_METADATA_REPLICA_2_OFFSET);
-+    if (ret != ARM_DRIVER_OK) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    ret = FWU_METADATA_FLASH_DEV.ProgramData(FWU_METADATA_REPLICA_2_OFFSET,
-+                                p_metadata, sizeof(struct fwu_metadata));
-+    if (ret < 0 || ret != sizeof(struct fwu_metadata)) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-     FWU_LOG_MSG("%s: success: active = %u, previous = %d\n\r", __func__,
-                   p_metadata->active_index, p_metadata->previous_active_index);
-     return FWU_AGENT_SUCCESS;
--- 
-2.39.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0014-Platform-Corstone1000-Increase-BL2_DATA_SIZE.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0002-Platform-Corstone1000-Increase-BL2_DATA_SIZE.patch
similarity index 90%
rename from meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0014-Platform-Corstone1000-Increase-BL2_DATA_SIZE.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0002-Platform-Corstone1000-Increase-BL2_DATA_SIZE.patch
index e2844ba..d348d02 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0014-Platform-Corstone1000-Increase-BL2_DATA_SIZE.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0002-Platform-Corstone1000-Increase-BL2_DATA_SIZE.patch
@@ -1,13 +1,14 @@
-From 17244ac692495c23008ff784611d0ee1d42c83dc Mon Sep 17 00:00:00 2001
+From b05fb661b3afc3ed8e3d4817df2798e9d4877b39 Mon Sep 17 00:00:00 2001
 From: Emekcan Aras <emekcan.aras@arm.com>
 Date: Mon, 15 May 2023 10:46:18 +0100
-Subject: [PATCH 3/4] Platform: Corstone1000: Increase BL2_DATA_SIZE
+Subject: [PATCH] Platform: Corstone1000: Increase BL2_DATA_SIZE
 
 Increases BL2_DATA_SIZE to accommodate the changes in
 metadata_write/read.
 
 Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
 Upstream-Status: Pending [Not submitted to upstream yet]
+
 ---
  platform/ext/target/arm/corstone1000/partition/region_defs.h | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
@@ -28,6 +29,3 @@
  #define BL2_DATA_LIMIT    (BL2_DATA_START + BL2_DATA_SIZE - 1)
  
  /* SE BL1 regions */
--- 
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0002-Platform-corstone1000-get-fwu-and-private-metadata-f.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0002-Platform-corstone1000-get-fwu-and-private-metadata-f.patch
deleted file mode 100644
index 3d7fc4b..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0002-Platform-corstone1000-get-fwu-and-private-metadata-f.patch
+++ /dev/null
@@ -1,307 +0,0 @@
-From 4a4d1b0a5a2455ad799a45f7f87c0c9fd0173034 Mon Sep 17 00:00:00 2001
-From: Rui Miguel Silva <rui.silva@linaro.org>
-Date: Wed, 29 Mar 2023 10:58:32 +0100
-Subject: [PATCH] Platform: Corstone1000: get fwu and private metadata from gpt
-
-Read and Write the FWU metadata and private metadata using instead
-static flash offsets get the partitions and start address from gpt
-partition table.
-
-Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/20551]
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- .../target/arm/corstone1000/CMakeLists.txt    |  7 ++
- .../corstone1000/fw_update_agent/fwu_agent.c  | 90 +++++++++++++++----
- .../target/arm/corstone1000/partition/efi.h   |  1 +
- .../arm/corstone1000/partition/partition.c    | 14 +++
- .../arm/corstone1000/partition/partition.h    |  1 +
- .../ext/target/arm/corstone1000/platform.h    |  5 ++
- 6 files changed, 99 insertions(+), 19 deletions(-)
-
-diff --git a/platform/ext/target/arm/corstone1000/CMakeLists.txt b/platform/ext/target/arm/corstone1000/CMakeLists.txt
-index 19863bcdb6d2..f232c7639bd5 100644
---- a/platform/ext/target/arm/corstone1000/CMakeLists.txt
-+++ b/platform/ext/target/arm/corstone1000/CMakeLists.txt
-@@ -64,6 +64,8 @@ target_include_directories(platform_s
-         cc312
-         fw_update_agent
-         soft_crc
-+        io
-+        partition
- )
- 
- target_sources(platform_s
-@@ -81,6 +83,11 @@ target_sources(platform_s
-         fw_update_agent/fwu_agent.c
-         fw_update_agent/uefi_fmp.c
-         soft_crc/soft_crc.c
-+        io/io_block.c
-+        io/io_flash.c
-+        io/io_storage.c
-+        partition/partition.c
-+        partition/gpt.c
-         $<$<NOT:$<BOOL:${PLATFORM_DEFAULT_OTP}>>:${PLATFORM_DIR}/ext/accelerator/cc312/otp_cc312.c>
- )
- 
-diff --git a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
-index b6ed656de833..9c76b25a3a38 100644
---- a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
-+++ b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
-@@ -14,6 +14,8 @@
- #include "region_defs.h"
- #include "uefi_capsule_parser.h"
- #include "flash_common.h"
-+#include "partition.h"
-+#include "platform.h"
- #include "platform_base_address.h"
- #include "platform_description.h"
- #include "tfm_plat_nv_counters.h"
-@@ -146,6 +148,8 @@ extern ARM_DRIVER_FLASH FWU_METADATA_FLASH_DEV;
- static enum fwu_agent_error_t private_metadata_read(
-         struct fwu_private_metadata* p_metadata)
- {
-+    partition_entry_t *part;
-+    uuid_t private_uuid = PRIVATE_METADATA_TYPE_UUID;
-     int ret;
- 
-     FWU_LOG_MSG("%s: enter\n\r", __func__);
-@@ -154,7 +158,13 @@ static enum fwu_agent_error_t private_metadata_read(
-         return FWU_AGENT_ERROR;
-     }
- 
--    ret = FWU_METADATA_FLASH_DEV.ReadData(FWU_PRIVATE_METADATA_REPLICA_1_OFFSET, p_metadata,
-+    part = get_partition_entry_by_type(&private_uuid);
-+    if (!part) {
-+        FWU_LOG_MSG("Private metadata partition not found\n\r");
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    ret = FWU_METADATA_FLASH_DEV.ReadData(part->start, p_metadata,
-                                           sizeof(struct fwu_private_metadata));
-     if (ret < 0 || ret != sizeof(struct fwu_private_metadata)) {
-         return FWU_AGENT_ERROR;
-@@ -169,6 +179,8 @@ static enum fwu_agent_error_t private_metadata_read(
- static enum fwu_agent_error_t private_metadata_write(
-         struct fwu_private_metadata* p_metadata)
- {
-+    uuid_t private_uuid = PRIVATE_METADATA_TYPE_UUID;
-+    partition_entry_t *part;
-     int ret;
- 
-     FWU_LOG_MSG("%s: enter: boot_index = %u\n\r", __func__,
-@@ -178,12 +190,18 @@ static enum fwu_agent_error_t private_metadata_write(
-         return FWU_AGENT_ERROR;
-     }
- 
--    ret = FWU_METADATA_FLASH_DEV.EraseSector(FWU_PRIVATE_METADATA_REPLICA_1_OFFSET);
-+    part = get_partition_entry_by_type(&private_uuid);
-+    if (!part) {
-+        FWU_LOG_MSG("Private metadata partition not found\n\r");
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    ret = FWU_METADATA_FLASH_DEV.EraseSector(part->start);
-     if (ret != ARM_DRIVER_OK) {
-         return FWU_AGENT_ERROR;
-     }
- 
--    ret = FWU_METADATA_FLASH_DEV.ProgramData(FWU_PRIVATE_METADATA_REPLICA_1_OFFSET,
-+    ret = FWU_METADATA_FLASH_DEV.ProgramData(part->start,
-                                 p_metadata, sizeof(struct fwu_private_metadata));
-     if (ret < 0 || ret != sizeof(struct fwu_private_metadata)) {
-         return FWU_AGENT_ERROR;
-@@ -219,16 +237,25 @@ static enum fwu_agent_error_t metadata_validate(struct fwu_metadata *p_metadata)
- 
- static enum fwu_agent_error_t metadata_read_without_validation(struct fwu_metadata *p_metadata)
- {
-+    uuid_t metadata_uuid = FWU_METADATA_TYPE_UUID;
-+    partition_entry_t *part;
-     int ret;
- 
--    FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__,
--                  FWU_METADATA_REPLICA_1_OFFSET, sizeof(struct fwu_metadata));
--
-     if (!p_metadata) {
-         return FWU_AGENT_ERROR;
-     }
- 
--    ret = FWU_METADATA_FLASH_DEV.ReadData(FWU_METADATA_REPLICA_1_OFFSET,
-+    part = get_partition_entry_by_type(&metadata_uuid);
-+    if (!part) {
-+        FWU_LOG_MSG("%s: FWU metadata partition not found\n\r", __func__);
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__,
-+                  part->start, sizeof(struct fwu_metadata));
-+
-+
-+    ret = FWU_METADATA_FLASH_DEV.ReadData(part->start,
-                                 p_metadata, sizeof(struct fwu_metadata));
-     if (ret < 0 || ret != sizeof(struct fwu_metadata)) {
-         return FWU_AGENT_ERROR;
-@@ -242,16 +269,24 @@ static enum fwu_agent_error_t metadata_read_without_validation(struct fwu_metada
- 
- static enum fwu_agent_error_t metadata_read(struct fwu_metadata *p_metadata)
- {
-+    uuid_t metadata_uuid = FWU_METADATA_TYPE_UUID;
-+    partition_entry_t *part;
-     int ret;
- 
--    FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__,
--                  FWU_METADATA_REPLICA_1_OFFSET, sizeof(struct fwu_metadata));
--
-     if (!p_metadata) {
-         return FWU_AGENT_ERROR;
-     }
- 
--    ret = FWU_METADATA_FLASH_DEV.ReadData(FWU_METADATA_REPLICA_1_OFFSET,
-+    part = get_partition_entry_by_type(&metadata_uuid);
-+    if (!part) {
-+        FWU_LOG_MSG("%s: FWU metadata partition not found\n\r", __func__);
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__,
-+                  part->start, sizeof(struct fwu_metadata));
-+
-+    ret = FWU_METADATA_FLASH_DEV.ReadData(part->start,
-                                 p_metadata, sizeof(struct fwu_metadata));
-     if (ret < 0 || ret != sizeof(struct fwu_metadata)) {
-         return FWU_AGENT_ERROR;
-@@ -270,35 +305,49 @@ static enum fwu_agent_error_t metadata_read(struct fwu_metadata *p_metadata)
- static enum fwu_agent_error_t metadata_write(
-                         struct fwu_metadata *p_metadata)
- {
-+    uuid_t metadata_uuid = FWU_METADATA_TYPE_UUID;
-+    partition_entry_t *part;
-     int ret;
- 
--    FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__,
--                  FWU_METADATA_REPLICA_1_OFFSET, sizeof(struct fwu_metadata));
--
-     if (!p_metadata) {
-         return FWU_AGENT_ERROR;
-     }
- 
--    ret = FWU_METADATA_FLASH_DEV.EraseSector(FWU_METADATA_REPLICA_1_OFFSET);
-+    part = get_partition_entry_by_type(&metadata_uuid);
-+    if (!part) {
-+        FWU_LOG_MSG("%s: FWU metadata partition not found\n\r", __func__);
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__,
-+                  part->start, sizeof(struct fwu_metadata));
-+
-+    ret = FWU_METADATA_FLASH_DEV.EraseSector(part->start);
-     if (ret != ARM_DRIVER_OK) {
-         return FWU_AGENT_ERROR;
-     }
- 
--    ret = FWU_METADATA_FLASH_DEV.ProgramData(FWU_METADATA_REPLICA_1_OFFSET,
-+    ret = FWU_METADATA_FLASH_DEV.ProgramData(part->start,
-                                 p_metadata, sizeof(struct fwu_metadata));
-     if (ret < 0 || ret != sizeof(struct fwu_metadata)) {
-         return FWU_AGENT_ERROR;
-     }
- 
-+    part = get_partition_replica_by_type(&metadata_uuid);
-+    if (!part) {
-+        FWU_LOG_MSG("%s: FWU metadata replica partition not found\n\r", __func__);
-+        return FWU_AGENT_ERROR;
-+    }
-+
-     FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__,
--                  FWU_METADATA_REPLICA_2_OFFSET, sizeof(struct fwu_metadata));
-+                  part->start, sizeof(struct fwu_metadata));
- 
--    ret = FWU_METADATA_FLASH_DEV.EraseSector(FWU_METADATA_REPLICA_2_OFFSET);
-+    ret = FWU_METADATA_FLASH_DEV.EraseSector(part->start);
-     if (ret != ARM_DRIVER_OK) {
-         return FWU_AGENT_ERROR;
-     }
- 
--    ret = FWU_METADATA_FLASH_DEV.ProgramData(FWU_METADATA_REPLICA_2_OFFSET,
-+    ret = FWU_METADATA_FLASH_DEV.ProgramData(part->start,
-                                 p_metadata, sizeof(struct fwu_metadata));
-     if (ret < 0 || ret != sizeof(struct fwu_metadata)) {
-         return FWU_AGENT_ERROR;
-@@ -355,6 +404,9 @@ enum fwu_agent_error_t fwu_metadata_provision(void)
- 
-     FWU_LOG_MSG("%s: enter\n\r", __func__);
- 
-+    plat_io_storage_init();
-+    partition_init(PLATFORM_GPT_IMAGE);
-+
-     ret = fwu_metadata_init();
-     if (ret) {
-         return ret;
-diff --git a/platform/ext/target/arm/corstone1000/partition/efi.h b/platform/ext/target/arm/corstone1000/partition/efi.h
-index f66daffb32d6..7e6a4bc883e6 100644
---- a/platform/ext/target/arm/corstone1000/partition/efi.h
-+++ b/platform/ext/target/arm/corstone1000/partition/efi.h
-@@ -8,6 +8,7 @@
- #ifndef DRIVERS_PARTITION_EFI_H
- #define DRIVERS_PARTITION_EFI_H
- 
-+#include <stdint.h>
- #include <string.h>
- 
- #include "uuid.h"
-diff --git a/platform/ext/target/arm/corstone1000/partition/partition.c b/platform/ext/target/arm/corstone1000/partition/partition.c
-index afc6aa1c5cb8..d76e123d728f 100644
---- a/platform/ext/target/arm/corstone1000/partition/partition.c
-+++ b/platform/ext/target/arm/corstone1000/partition/partition.c
-@@ -293,6 +293,20 @@ const partition_entry_t *get_partition_entry_by_type(const uuid_t *type_uuid) {
-     return NULL;
- }
- 
-+const partition_entry_t *get_partition_replica_by_type(const uuid_t *type_uuid) {
-+    int count = 0;
-+    int i;
-+
-+    for (i = 0; i < list.entry_count; i++) {
-+        if (guidcmp(type_uuid, &list.list[i].type_guid) == 0) {
-+            if (++count == 2)
-+                 return &list.list[i];
-+        }
-+    }
-+
-+    return NULL;
-+}
-+
- const partition_entry_t *get_partition_entry_by_uuid(const uuid_t *part_uuid) {
-     int i;
- 
-diff --git a/platform/ext/target/arm/corstone1000/partition/partition.h b/platform/ext/target/arm/corstone1000/partition/partition.h
-index 54af47aca415..450cf20a073c 100644
---- a/platform/ext/target/arm/corstone1000/partition/partition.h
-+++ b/platform/ext/target/arm/corstone1000/partition/partition.h
-@@ -40,6 +40,7 @@ typedef struct partition_entry_list {
- int load_partition_table(unsigned int image_id);
- const partition_entry_t *get_partition_entry(const char *name);
- const partition_entry_t *get_partition_entry_by_type(const uuid_t *type_guid);
-+const partition_entry_t *get_partition_replica_by_type(const uuid_t *type_uuid);
- const partition_entry_t *get_partition_entry_by_uuid(const uuid_t *part_uuid);
- const partition_entry_list_t *get_partition_entry_list(void);
- void partition_init(unsigned int image_id);
-diff --git a/platform/ext/target/arm/corstone1000/platform.h b/platform/ext/target/arm/corstone1000/platform.h
-index 894f5e309029..a88093ed4f9d 100644
---- a/platform/ext/target/arm/corstone1000/platform.h
-+++ b/platform/ext/target/arm/corstone1000/platform.h
-@@ -13,6 +13,11 @@ typedef enum {
-     PLATFORM_IMAGE_COUNT,
- }platform_image_id_t;
- 
-+#define FWU_METADATA_TYPE_UUID \
-+     ((uuid_t){{0xa0, 0x84, 0x7a, 0x8a}, {0x87, 0x83}, {0xf6, 0x40}, 0xab,  0x41, {0xa8, 0xb9, 0xa5, 0xa6, 0x0d, 0x23}})
-+#define PRIVATE_METADATA_TYPE_UUID \
-+     ((uuid_t){{0xc3, 0x5d, 0xb5, 0xec}, {0xb7, 0x8a}, {0x84, 0x4a}, 0xab,  0x56, {0xeb, 0x0a, 0x99, 0x74, 0xdb, 0x42}})
-+
- /* Initialize io storage of the platform */
- int32_t plat_io_storage_init(void);
- 
--- 
-2.40.0
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0015-Platform-Corstone1000-Calculate-the-new-CRC32-value-.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0003-Platform-Corstone1000-Calculate-the-new-CRC32-value-.patch
similarity index 93%
rename from meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0015-Platform-Corstone1000-Calculate-the-new-CRC32-value-.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0003-Platform-Corstone1000-Calculate-the-new-CRC32-value-.patch
index fd977ac..bf7aba8 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0015-Platform-Corstone1000-Calculate-the-new-CRC32-value-.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0003-Platform-Corstone1000-Calculate-the-new-CRC32-value-.patch
@@ -1,8 +1,8 @@
-From 83e423497afecc202a3a50c3e472161390056ebd Mon Sep 17 00:00:00 2001
+From 88cfce2e04913d48ec8636b6a3550d71ebdd49c4 Mon Sep 17 00:00:00 2001
 From: Emekcan Aras <emekcan.aras@arm.com>
 Date: Mon, 15 May 2023 10:47:27 +0100
-Subject: [PATCH 4/4] Platform: Corstone1000: Calculate the new CRC32 value
- after changing the metadata
+Subject: [PATCH] Platform: Corstone1000: Calculate the new CRC32 value after
+ changing the metadata
 
 Calculates the new CRC32 value for the metadata struct after chaing a value
 during the capsule update. It also updates the CRC32 field in the metadata
@@ -13,6 +13,7 @@
 
 Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
 Upstream-Status: Pending [Not submitted to upstream yet]
+
 ---
  .../arm/corstone1000/fw_update_agent/fwu_agent.c       | 10 +++++++---
  1 file changed, 7 insertions(+), 3 deletions(-)
@@ -66,6 +67,3 @@
          if (priv_metadata->nv_counter[i] < security_cnt) {
              return FWU_AGENT_ERROR;
          } else if (priv_metadata->nv_counter[i] > security_cnt) {
--- 
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0003-Platform-corstone1000-Add-watchdog_reset_timer.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0003-Platform-corstone1000-Add-watchdog_reset_timer.patch
deleted file mode 100644
index 3ffd83e..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0003-Platform-corstone1000-Add-watchdog_reset_timer.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 33d8f45c8f14e9e0d7add7d2804ed76c7d7fd0c2 Mon Sep 17 00:00:00 2001
-From: Emekcan Aras <emekcan.aras@arm.com>
-Date: Sat, 25 Feb 2023 09:04:38 +0000
-Subject: [PATCH 1/7] Platform: corstone1000: Add watchdog_reset_timer
-
-From: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-
-Implement watchdog_reset_timer
-
-Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/20552]
-Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-Change-Id: I2684ca54f9a456b22efcbcd364abef3537d4c91f
----
- .../arm/corstone1000/Native_Driver/watchdog.c   | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-diff --git a/platform/ext/target/arm/corstone1000/Native_Driver/watchdog.c b/platform/ext/target/arm/corstone1000/Native_Driver/watchdog.c
-index 4e024a3b1..f6e182194 100644
---- a/platform/ext/target/arm/corstone1000/Native_Driver/watchdog.c
-+++ b/platform/ext/target/arm/corstone1000/Native_Driver/watchdog.c
-@@ -80,6 +80,23 @@ int corstone1000_watchdog_init()
-     return ARM_DRIVER_OK;
- }
- 
-+/**
-+ *  \brief Reset the Secure Enclave & SoC Watchdog's.
-+ *
-+ *  \returns ARM Driver return code.
-+ */
-+int corstone1000_watchdog_reset_timer() {
-+    /* Unlock, clear and lock the watchdog timer */
-+    arm_watchdog_unlock(&SE_WD_DEV);
-+    arm_watchdog_clear_interrupt_and_refresh_counter(&SE_WD_DEV);
-+    arm_watchdog_lock(&SE_WD_DEV);
-+    /* Unlock, clear and lock the watchdog timer */
-+    arm_watchdog_unlock(&SOC_WD_DEV);
-+    arm_watchdog_clear_interrupt_and_refresh_counter(&SOC_WD_DEV);
-+    arm_watchdog_lock(&SOC_WD_DEV);
-+    return ARM_DRIVER_OK;
-+}
-+
- /*
-  * Secure Host Watchdog WS1 Handler
-  * efi_reset_system from the host triggers "Secure
--- 
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0004-Platform-corstone1000-Replace-MCUBOOT-BL1-by-TFM-s.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0004-Platform-corstone1000-Replace-MCUBOOT-BL1-by-TFM-s.patch
deleted file mode 100644
index 0ad4494..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0004-Platform-corstone1000-Replace-MCUBOOT-BL1-by-TFM-s.patch
+++ /dev/null
@@ -1,1034 +0,0 @@
-From e46fd33355b54c08d1764c2a8e7b553960d61157 Mon Sep 17 00:00:00 2001
-From: Emekcan Aras <emekcan.aras@arm.com>
-Date: Sat, 25 Feb 2023 10:29:55 +0000
-Subject: [PATCH 1/6] Platform: corstone1000: Replace MCUBOOT BL1 by TFM's
-
-From: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-
-Replace The current BL1 (MCUBOOT) with the TFM BL1
-by enabling
-- PLATFORM_DEFAULT_BL1
-- Update linkerscripts
-- Update CMakeFile
-- Adapt boot_hal
-- Adapt provisioning (to use the provision bundle)
-- Adapt flash_layout and region_defs
-- Update documentation of corstone1000 build and run sections
-
-Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/20553]
-Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-Change-Id: I224b24d0f4423e62468e609c11a239a4575cdae4
----
- .../target/arm/corstone1000/CMakeLists.txt    |  70 +++++-
- .../Device/Include/boot_measurement.h         |  24 +++
- .../Device/Include/platform_base_address.h    |   3 +
- .../Device/Source/gcc/corstone1000_bl1_1.ld   | 203 ++++++++++++++++++
- ...stone1000_bl1.ld => corstone1000_bl1_2.ld} |   8 +-
- .../target/arm/corstone1000/bl1/bl1_rotpk.c   |  48 -----
- .../bl1/{bl1_boot_hal.c => boot_hal_bl1.c}    | 102 ++++-----
- .../arm/corstone1000/bl1/flash_map_extended.c | 103 ---------
- .../arm/corstone1000/bl1/provisioning.c       | 109 +++++-----
- .../ext/target/arm/corstone1000/config.cmake  |  18 +-
- .../arm/corstone1000/partition/flash_layout.h |  10 -
- .../arm/corstone1000/partition/region_defs.h  |  37 +++-
- 12 files changed, 434 insertions(+), 301 deletions(-)
- create mode 100644 platform/ext/target/arm/corstone1000/Device/Include/boot_measurement.h
- create mode 100644 platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld
- rename platform/ext/target/arm/corstone1000/Device/Source/gcc/{corstone1000_bl1.ld => corstone1000_bl1_2.ld} (95%)
- delete mode 100644 platform/ext/target/arm/corstone1000/bl1/bl1_rotpk.c
- rename platform/ext/target/arm/corstone1000/bl1/{bl1_boot_hal.c => boot_hal_bl1.c} (90%)
- delete mode 100644 platform/ext/target/arm/corstone1000/bl1/flash_map_extended.c
-
-diff --git a/platform/ext/target/arm/corstone1000/CMakeLists.txt b/platform/ext/target/arm/corstone1000/CMakeLists.txt
-index 19863bcdb..a4fe28c08 100644
---- a/platform/ext/target/arm/corstone1000/CMakeLists.txt
-+++ b/platform/ext/target/arm/corstone1000/CMakeLists.txt
-@@ -41,6 +41,23 @@ target_add_scatter_file(bl2
-         $<$<C_COMPILER_ID:GNU>:${PLATFORM_DIR}/ext/common/gcc/tfm_common_bl2.ld>
- )
- 
-+target_sources(bl1_1
-+PRIVATE
-+    $<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/startup_corstone1000.c>
-+)
-+
-+target_add_scatter_file(bl1_1
-+    $<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/gcc/corstone1000_bl1_1.ld>
-+)
-+
-+target_sources(bl1_2
-+PRIVATE
-+    $<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/startup_corstone1000.c>
-+)
-+target_add_scatter_file(bl1_2
-+    $<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/gcc/corstone1000_bl1_2.ld>
-+)
-+
- #========================= Platform Secure ====================================#
- 
- add_subdirectory(openamp)
-@@ -115,6 +132,55 @@ if (TFM_PARTITION_CRYPTO)
-     )
- endif()
- 
-+#========================= Platform BL1 =======================================#
-+
-+target_sources(platform_bl1
-+    PRIVATE
-+        ./Device/Source/system_core_init.c
-+        ./Device/Source/device_definition.c
-+        ./bl1/boot_hal_bl1.c
-+        ./Native_Driver/firewall.c
-+        ./CMSIS_Driver/Driver_Flash.c
-+        ./CMSIS_Driver/Driver_USART.c
-+        ./Native_Driver/uart_pl011_drv.c
-+        $<$<BOOL:${PLATFORM_IS_FVP}>:${CMAKE_CURRENT_SOURCE_DIR}/Native_Driver/cfi_drv.c>
-+        $<$<BOOL:${PLATFORM_IS_FVP}>:${PLATFORM_DIR}/ext/target/arm/drivers/flash/strata/spi_strataflashj3_flash_lib.c>
-+        $<$<NOT:$<BOOL:${PLATFORM_IS_FVP}>>:${PLATFORM_DIR}/ext/target/arm/drivers/qspi/xilinx_pg153_axi/xilinx_pg153_axi_qspi_controller_drv.c>
-+        $<$<NOT:$<BOOL:${PLATFORM_IS_FVP}>>:${PLATFORM_DIR}/ext/target/arm/drivers/flash/n25q256a/spi_n25q256a_flash_lib.c>
-+        $<$<NOT:$<BOOL:${PLATFORM_IS_FVP}>>:${PLATFORM_DIR}/ext/target/arm/drivers/flash/sst26vf064b/spi_sst26vf064b_flash_lib.c>
-+        ./fw_update_agent/uefi_capsule_parser.c
-+        ./fw_update_agent/fwu_agent.c
-+        ./fw_update_agent/uefi_fmp.c
-+        ./soft_crc/soft_crc.c
-+        ./Native_Driver/arm_watchdog_drv.c
-+        ./Native_Driver/watchdog.c
-+        ./bl1/provisioning.c
-+        $<$<NOT:$<BOOL:${PLATFORM_DEFAULT_OTP}>>:${PLATFORM_DIR}/ext/accelerator/cc312/otp_cc312.c>
-+)
-+
-+target_compile_definitions(platform_bl1
-+    PUBLIC
-+        $<$<BOOL:${PLATFORM_IS_FVP}>:PLATFORM_IS_FVP>
-+        $<$<AND:$<BOOL:${CONFIG_TFM_BOOT_STORE_MEASUREMENTS}>,$<BOOL:${TFM_PARTITION_MEASURED_BOOT}>>:MEASURED_BOOT_API>
-+        $<$<BOOL:${PLATFORM_DEFAULT_OTP_WRITEABLE}>:OTP_WRITEABLE>
-+)
-+
-+target_include_directories(platform_bl1_interface
-+    INTERFACE
-+        .
-+        ./Device/Include
-+        ./Device/Config
-+        ./Native_Driver
-+        ./CMSIS_Driver/Config
-+        ./fw_update_agent
-+        ./soft_crc
-+        ${PLATFORM_DIR}/ext/target/arm/drivers/flash/common
-+        ${PLATFORM_DIR}/ext/target/arm/drivers/flash/strata
-+        ${PLATFORM_DIR}/ext/target/arm/drivers/qspi/xilinx_pg153_axi/
-+        ${PLATFORM_DIR}/ext/target/arm/drivers/flash/n25q256a/
-+        ${PLATFORM_DIR}/ext/target/arm/drivers/flash/sst26vf064b/
-+)
-+
- #========================= Platform BL2 =======================================#
- 
- set(BL2_SOURCE ${CMAKE_SOURCE_DIR}/bl2)
-@@ -214,10 +280,6 @@ target_include_directories(platform_bl2
-         $<BUILD_INTERFACE:${BL2_SOURCE}/ext/mcuboot/include>
- )
- 
--#========================= BL1 component =======================================#
--
--add_subdirectory(bl1)
--
- #========================= ns_agent_mailbox ===================================#
- 
- target_sources(tfm_psa_rot_partition_ns_agent_mailbox
-diff --git a/platform/ext/target/arm/corstone1000/Device/Include/boot_measurement.h b/platform/ext/target/arm/corstone1000/Device/Include/boot_measurement.h
-new file mode 100644
-index 000000000..a47bdb148
---- /dev/null
-+++ b/platform/ext/target/arm/corstone1000/Device/Include/boot_measurement.h
-@@ -0,0 +1,24 @@
-+/*
-+ * Copyright (c) 2023, Arm Limited. All rights reserved.
-+ *
-+ * SPDX-License-Identifier: BSD-3-Clause
-+ *
-+ */
-+
-+#ifndef __BOOT_MEASUREMENT_H__
-+#define __BOOT_MEASUREMENT_H__
-+
-+enum boot_measurement_slot_t {
-+    BOOT_MEASUREMENT_SLOT_BL1_2 = 0,
-+    BOOT_MEASUREMENT_SLOT_BL2,
-+    BOOT_MEASUREMENT_SLOT_RT_0,
-+    BOOT_MEASUREMENT_SLOT_RT_1,
-+    BOOT_MEASUREMENT_SLOT_RT_2,
-+    BOOT_MEASUREMENT_SLOT_MAX = 32,
-+    BOOT_MEASUREMENT_SLOT_MAX_THEORETICAL = 63  /* Slot index is stored in
-+                                                 * 6 bits in the shared
-+                                                 * memory area.
-+                                                 */
-+};
-+
-+#endif /* __BOOT_MEASUREMENT_H__ */
-diff --git a/platform/ext/target/arm/corstone1000/Device/Include/platform_base_address.h b/platform/ext/target/arm/corstone1000/Device/Include/platform_base_address.h
-index 5cca4c4a1..416f0ebcd 100644
---- a/platform/ext/target/arm/corstone1000/Device/Include/platform_base_address.h
-+++ b/platform/ext/target/arm/corstone1000/Device/Include/platform_base_address.h
-@@ -79,4 +79,7 @@
- #define CORSTONE1000_HOST_AXI_QSPI_CTRL_REG_BASE_SE_SECURE_FLASH (0x90010000U) /* AXI QSPI Controller for SE FLash  */
- #define CORSTONE1000_HOST_DRAM_UEFI_CAPSULE        (0xA0000000U) /* 1.5 GB DDR                        */
- 
-+/* Map Component definitions to Corstone definitions */
-+#define CC3XX_BASE_S        CORSTONE1000_CRYPTO_ACCELERATOR_BASE
-+
- #endif  /* __PLATFORM_BASE_ADDRESS_H__ */
-diff --git a/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld b/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld
-new file mode 100644
-index 000000000..d4eca2841
---- /dev/null
-+++ b/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld
-@@ -0,0 +1,203 @@
-+;/*
-+; * Copyright (c) 2009-2022, Arm Limited. All rights reserved.
-+; *
-+; * Licensed under the Apache License, Version 2.0 (the "License");
-+; * you may not use this file except in compliance with the License.
-+; * You may obtain a copy of the License at
-+; *
-+; *     http://www.apache.org/licenses/LICENSE-2.0
-+; *
-+; * Unless required by applicable law or agreed to in writing, software
-+; * distributed under the License is distributed on an "AS IS" BASIS,
-+; * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+; * See the License for the specific language governing permissions and
-+; * limitations under the License.
-+; *
-+; *
-+; * This file is derivative of CMSIS V5.00 gcc_arm.ld
-+; */
-+
-+/* Linker script to configure memory regions. */
-+/* This file will be run trough the pre-processor. */
-+
-+#include "region_defs.h"
-+
-+MEMORY
-+{
-+    FLASH (rx)  : ORIGIN = BL1_1_CODE_START, LENGTH = BL1_1_CODE_SIZE
-+    RAM   (rwx) : ORIGIN = BL1_1_DATA_START, LENGTH = BL1_1_DATA_SIZE
-+}
-+
-+__heap_size__  = BL1_1_HEAP_SIZE;
-+__msp_stack_size__ = BL1_1_MSP_STACK_SIZE;
-+
-+/* Library configurations */
-+GROUP(libgcc.a libc.a libm.a libnosys.a)
-+
-+ENTRY(Reset_Handler)
-+
-+SECTIONS
-+{
-+    .text :
-+    {
-+        KEEP(*(.vectors))
-+        __Vectors_End = .;
-+        __Vectors_Size = __Vectors_End - __Vectors;
-+        __end__ = .;
-+
-+        *(.text*)
-+
-+        KEEP(*shared_lib*:*(.text*))
-+        KEEP(*bl1_tests_shared*:*(.text*))
-+        KEEP(*bl1_crypto_hw*:*(.text*))
-+        KEEP(*boot_hal_bl1*(.text*))
-+
-+        KEEP(*(.init))
-+        KEEP(*(.fini))
-+
-+
-+        /* .ctors */
-+        *crtbegin.o(.ctors)
-+        *crtbegin?.o(.ctors)
-+        *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
-+        *(SORT(.ctors.*))
-+        *(.ctors)
-+
-+        /* .dtors */
-+         *crtbegin.o(.dtors)
-+         *crtbegin?.o(.dtors)
-+         *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
-+         *(SORT(.dtors.*))
-+         *(.dtors)
-+
-+        *(.rodata*)
-+
-+        KEEP(*(.eh_frame*))
-+    } > FLASH
-+
-+    .ARM.extab :
-+    {
-+        *(.ARM.extab* .gnu.linkonce.armextab.*)
-+    } > FLASH
-+
-+    __exidx_start = .;
-+    .ARM.exidx :
-+    {
-+        *(.ARM.exidx* .gnu.linkonce.armexidx.*)
-+    } > FLASH
-+    __exidx_end = .;
-+
-+    /* To copy multiple ROM to RAM sections,
-+     * define etext2/data2_start/data2_end and
-+     * define __STARTUP_COPY_MULTIPLE in startup_corstone700_bl2.S */
-+    .copy.table :
-+    {
-+        . = ALIGN(4);
-+        __copy_table_start__ = .;
-+        LONG (__etext)
-+        LONG (__data_start__)
-+        LONG ((__data_end__ - __data_start__) / 4)
-+        LONG (DEFINED(__etext2) ? __etext2 : 0)
-+        LONG (DEFINED(__data2_start__) ? __data2_start__ : 0)
-+        LONG (DEFINED(__data2_start__) ? ((__data2_end__ - __data2_start__) / 4) : 0)
-+        __copy_table_end__ = .;
-+    } > FLASH
-+
-+    /* To clear multiple BSS sections,
-+     * uncomment .zero.table section and,
-+     * define __STARTUP_CLEAR_BSS_MULTIPLE in startup_cmsdk_musca_bl2.S */
-+    .zero.table :
-+    {
-+        . = ALIGN(4);
-+        __zero_table_start__ = .;
-+        LONG (__bss_start__)
-+        LONG ((__bss_end__ - __bss_start__) / 4)
-+        LONG (DEFINED(__bss2_start__) ? __bss2_start__ : 0)
-+        LONG (DEFINED(__bss2_start__) ? ((__bss2_end__ - __bss2_start__) / 4) : 0)
-+        __zero_table_end__ = .;
-+    } > FLASH
-+
-+    __etext = ALIGN (4);
-+
-+    .tfm_bl2_shared_data : ALIGN(32)
-+    {
-+        . += BOOT_TFM_SHARED_DATA_SIZE;
-+    } > RAM
-+    Image$$SHARED_DATA$$RW$$Base = ADDR(.tfm_bl2_shared_data);
-+    Image$$SHARED_DATA$$RW$$Limit = ADDR(.tfm_bl2_shared_data) + SIZEOF(.tfm_bl2_shared_data);
-+
-+    . = BL1_1_DATA_START;
-+    Image$$BL1_1_ER_DATA_START$$Base = .;
-+    .data : AT (__etext)
-+    {
-+        __data_start__ = .;
-+        *(vtable)
-+        *(.data*)
-+
-+        . = ALIGN(4);
-+        /* preinit data */
-+        PROVIDE_HIDDEN (__preinit_array_start = .);
-+        KEEP(*(.preinit_array))
-+        PROVIDE_HIDDEN (__preinit_array_end = .);
-+
-+        . = ALIGN(4);
-+        /* init data */
-+        PROVIDE_HIDDEN (__init_array_start = .);
-+        KEEP(*(SORT(.init_array.*)))
-+        KEEP(*(.init_array))
-+        PROVIDE_HIDDEN (__init_array_end = .);
-+
-+
-+        . = ALIGN(4);
-+        /* finit data */
-+        PROVIDE_HIDDEN (__fini_array_start = .);
-+        KEEP(*(SORT(.fini_array.*)))
-+        KEEP(*(.fini_array))
-+        PROVIDE_HIDDEN (__fini_array_end = .);
-+
-+        KEEP(*(.jcr*))
-+        . = ALIGN(4);
-+        /* All data end */
-+        __data_end__ = .;
-+
-+    } > RAM
-+    Image$$ER_DATA$$Base = ADDR(.data);
-+
-+    .bss :
-+    {
-+        . = ALIGN(4);
-+        __bss_start__ = .;
-+        *(.bss*)
-+        *(COMMON)
-+        . = ALIGN(4);
-+        __bss_end__ = .;
-+    } > RAM
-+
-+    bss_size = __bss_end__ - __bss_start__;
-+
-+    .msp_stack (NOLOAD) : ALIGN(32)
-+    {
-+        . += __msp_stack_size__;
-+    } > RAM
-+    Image$$ARM_LIB_STACK$$ZI$$Base = ADDR(.msp_stack);
-+    Image$$ARM_LIB_STACK$$ZI$$Limit = ADDR(.msp_stack) + SIZEOF(.msp_stack);
-+
-+    .heap (NOLOAD): ALIGN(8)
-+    {
-+        . = ALIGN(8);
-+        __end__ = .;
-+        PROVIDE(end = .);
-+        __HeapBase = .;
-+        . += __heap_size__;
-+        __HeapLimit = .;
-+        __heap_limit = .; /* Add for _sbrk */
-+    } > RAM
-+    Image$$ARM_LIB_HEAP$$ZI$$Limit = ADDR(.heap) + SIZEOF(.heap);
-+
-+    PROVIDE(__stack = Image$$ARM_LIB_STACK$$ZI$$Limit);
-+
-+    Image$$BL1_1_ER_DATA_LIMIT$$Base = .;
-+
-+    Image$$BL1_2_ER_DATA_START$$Base = BL1_2_DATA_START;
-+    Image$$BL1_2_ER_DATA_LIMIT$$Base = BL1_2_DATA_START + BL1_2_DATA_SIZE;
-+}
-diff --git a/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1.ld b/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_2.ld
-similarity index 95%
-rename from platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1.ld
-rename to platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_2.ld
-index 73be37d7c..6cd806378 100644
---- a/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1.ld
-+++ b/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_2.ld
-@@ -24,12 +24,12 @@
- 
- MEMORY
- {
--    FLASH (rx)  : ORIGIN = BL1_CODE_START, LENGTH = BL1_CODE_SIZE
--    RAM   (rwx) : ORIGIN = BL1_DATA_START, LENGTH = BL1_DATA_SIZE
-+    FLASH (rx)  : ORIGIN = BL1_2_CODE_START, LENGTH = BL1_2_CODE_SIZE
-+    RAM   (rwx) : ORIGIN = BL1_2_DATA_START, LENGTH = BL1_2_DATA_SIZE
- }
- 
--__heap_size__  = BL1_HEAP_SIZE;
--__msp_stack_size__ = BL1_MSP_STACK_SIZE;
-+__heap_size__  = BL1_2_HEAP_SIZE;
-+__msp_stack_size__ = BL1_2_MSP_STACK_SIZE;
- 
- /* Library configurations */
- GROUP(libgcc.a libc.a libm.a libnosys.a)
-diff --git a/platform/ext/target/arm/corstone1000/bl1/bl1_rotpk.c b/platform/ext/target/arm/corstone1000/bl1/bl1_rotpk.c
-deleted file mode 100644
-index d8cfe3759..000000000
---- a/platform/ext/target/arm/corstone1000/bl1/bl1_rotpk.c
-+++ /dev/null
-@@ -1,48 +0,0 @@
--/*
-- * Copyright (c) 2019-2021, Arm Limited. All rights reserved.
-- *
-- * SPDX-License-Identifier: BSD-3-Clause
-- *
-- */
--
--#include <stdint.h>
--#include "tfm_plat_otp.h"
--
--static enum tfm_plat_err_t get_rotpk_hash(enum tfm_otp_element_id_t id,
--                                          uint8_t* rotpk_hash,
--                                          uint32_t* rotpk_hash_size)
--{
--    enum tfm_plat_err_t err;
--    size_t otp_size;
--
--    err = tfm_plat_otp_read(id, *rotpk_hash_size, rotpk_hash);
--    if (err != TFM_PLAT_ERR_SUCCESS) {
--        return err;
--    }
--
--    err = tfm_plat_otp_get_size(id, &otp_size);
--    if (err != TFM_PLAT_ERR_SUCCESS) {
--        return err;
--    }
--
--    *rotpk_hash_size = otp_size;
--
--    return TFM_PLAT_ERR_SUCCESS;
--}
--
--enum tfm_plat_err_t
--tfm_plat_get_rotpk_hash(uint8_t image_id,
--                        uint8_t *rotpk_hash,
--                        uint32_t *rotpk_hash_size)
--{
--    switch(image_id) {
--        case 0:
--            return get_rotpk_hash(PLAT_OTP_ID_BL1_ROTPK_0, rotpk_hash,
--                                  rotpk_hash_size);
--
--        default:
--            return TFM_PLAT_ERR_INVALID_INPUT;
--    }
--
--    return TFM_PLAT_ERR_SYSTEM_ERR;
--}
-diff --git a/platform/ext/target/arm/corstone1000/bl1/bl1_boot_hal.c b/platform/ext/target/arm/corstone1000/bl1/boot_hal_bl1.c
-similarity index 90%
-rename from platform/ext/target/arm/corstone1000/bl1/bl1_boot_hal.c
-rename to platform/ext/target/arm/corstone1000/bl1/boot_hal_bl1.c
-index a5fe0f7da..678342443 100644
---- a/platform/ext/target/arm/corstone1000/bl1/bl1_boot_hal.c
-+++ b/platform/ext/target/arm/corstone1000/bl1/boot_hal_bl1.c
-@@ -12,13 +12,16 @@
- #include "Driver_Flash.h"
- #include "flash_layout.h"
- #include "fih.h"
--#include "bootutil/bootutil_log.h"
- #include "firewall.h"
- #include "watchdog.h"
- #include "mpu_config.h"
- #include "tfm_plat_otp.h"
- #include "tfm_plat_provisioning.h"
- #include "fwu_agent.h"
-+#include "uart_stdout.h"
-+#include "region_defs.h"
-+#include "log.h"
-+
- 
- #if defined(CRYPTO_HW_ACCELERATOR) || \
-     defined(CRYPTO_HW_ACCELERATOR_OTP_PROVISIONING)
-@@ -81,6 +84,9 @@ enum host_firewall_host_comp_id_t {
-   COMP_DEBUG,
- };
- 
-+extern uint32_t platform_code_is_bl1_2;
-+
-+
- static void setup_mpu(void)
- {
-     uint32_t size; /* region size */
-@@ -581,56 +587,44 @@ static void setup_host_firewall(void)
-        fw_lockdown(FW_FULL_LOCKDOWN);
- }
- 
--
--__attribute__((naked)) void boot_clear_bl2_ram_area(void)
-+uint32_t bl1_image_get_flash_offset(uint32_t image_id)
- {
--    __ASM volatile(
--        ".syntax unified                             \n"
--        "movs    r0, #0                              \n"
--        "ldr     r1, =Image$$ER_DATA$$Base           \n"
--        "ldr     r2, =Image$$ARM_LIB_HEAP$$ZI$$Limit \n"
--        "subs    r2, r2, r1                          \n"
--        "Loop:                                       \n"
--        "subs    r2, #4                              \n"
--        "blt     Clear_done                          \n"
--        "str     r0, [r1, r2]                        \n"
--        "b       Loop                                \n"
--        "Clear_done:                                 \n"
--        "bx      lr                                  \n"
--         : : : "r0" , "r1" , "r2" , "memory"
--    );
-+    /* SE BL2 Offset is equal to bank offset as it is the first think in the Bank */
-+    uint32_t se_bl2_offset = 0;
-+    bl1_get_active_bl2_image(&se_bl2_offset);
-+    switch (image_id) {
-+        case 0:
-+            return se_bl2_offset;
-+        case 1:
-+            return se_bl2_offset + SE_BL2_PARTITION_SIZE;
-+        default:
-+            FIH_PANIC;
-+    }
- }
- 
--extern void set_flash_area_image_offset(uint32_t offset);
--
- int32_t boot_platform_init(void)
- {
-     int32_t result;
-     uint32_t image_offset;
- 
--    result = corstone1000_watchdog_init();
--    if (result != ARM_DRIVER_OK) {
--        return 1;
--    }
--
-+    if (!platform_code_is_bl1_2) {
-+        result = corstone1000_watchdog_init();
-+        if (result != ARM_DRIVER_OK) {
-+            return 1;
-+        }
- #if !(PLATFORM_IS_FVP)
--    setup_mpu();
-+        setup_mpu();
- #endif
--    setup_se_firewall();
-+        setup_se_firewall();
- #if !(PLATFORM_IS_FVP)
--    setup_host_firewall();
-+        setup_host_firewall();
- #endif
--
--    result = FLASH_DEV_NAME.Initialize(NULL);
--    if (result != ARM_DRIVER_OK) {
--        return 1;
-     }
--#if PLATFORM_DEFAULT_OTP
--   result = FLASH_DEV_NAME_SE_SECURE_FLASH.Initialize(NULL);
--   if (result != ARM_DRIVER_OK) {
--       return 1;
--   }
--#endif
-+
-+#if defined(TFM_BL1_LOGGING) || defined(TEST_BL1_1) || defined(TEST_BL1_2)
-+    stdio_init();
-+#endif /* defined(TFM_BL1_LOGGING) || defined(TEST_BL1_1) || defined(TEST_BL1_2) */
-+
- 
- #ifdef CRYPTO_HW_ACCELERATOR
-     result = crypto_hw_accelerator_init();
-@@ -639,23 +633,11 @@ int32_t boot_platform_init(void)
-     }
- #endif /* CRYPTO_HW_ACCELERATOR */
- 
--    result = tfm_plat_otp_init();
--    if (result != TFM_PLAT_ERR_SUCCESS) {
--        BOOT_LOG_ERR("OTP system initialization failed");
--        FIH_PANIC;
--    }
--
--    if (tfm_plat_provisioning_is_required()) {
--        result = fwu_metadata_provision();
--        if (result != FWU_AGENT_SUCCESS) {
--            BOOT_LOG_ERR("Provisioning FWU Metadata failed");
--            FIH_PANIC;
--        }
--    }
--
--    bl1_get_active_bl2_image(&image_offset);
--    set_flash_area_image_offset(image_offset);
-+    return 0;
-+}
- 
-+int32_t boot_platform_post_init(void)
-+{
-     return 0;
- }
- 
-@@ -678,17 +660,15 @@ void boot_platform_quit(struct boot_arm_vector_table *vt)
-     (void)fih_delay_init();
- #endif /* CRYPTO_HW_ACCELERATOR */
- 
--    result = FLASH_DEV_NAME.Uninitialize();
--    if (result != ARM_DRIVER_OK) {
--        while (1);
--    }
- 
--#if PLATFORM_DEFAULT_OTP
--    result = FLASH_DEV_NAME_SE_SECURE_FLASH.Uninitialize();
-+#if defined(TFM_BL1_LOGGING) || defined(TEST_BL1_1) || defined(TEST_BL1_2)
-+    stdio_uninit();
-+#endif /* defined(TFM_BL1_LOGGING) || defined(TEST_BL1_1) || defined(TEST_BL1_2) */
-+
-+    result = corstone1000_watchdog_reset_timer();
-     if (result != ARM_DRIVER_OK) {
-         while (1);
-     }
--#endif
- 
-     vt_cpy = vt;
- 
-diff --git a/platform/ext/target/arm/corstone1000/bl1/flash_map_extended.c b/platform/ext/target/arm/corstone1000/bl1/flash_map_extended.c
-deleted file mode 100644
-index b6632b6c2..000000000
---- a/platform/ext/target/arm/corstone1000/bl1/flash_map_extended.c
-+++ /dev/null
-@@ -1,103 +0,0 @@
--/*
-- * Copyright (c) 2018 Nordic Semiconductor ASA
-- * Copyright (c) 2015 Runtime Inc
-- * Copyright (c) 2019-2021 Arm Limited.
-- *
-- * SPDX-License-Identifier: Apache-2.0
-- */
--
--/*
-- * Original code taken from mcuboot project at:
-- * https://github.com/mcu-tools/mcuboot
-- * Git SHA of the original version: ac55554059147fff718015be9f4bd3108123f50a
-- */
--
--#include <errno.h>
--#include "target.h"
--#include "cmsis.h"
--#include "Driver_Flash.h"
--#include "sysflash/sysflash.h"
--#include "flash_map/flash_map.h"
--#include "flash_map_backend/flash_map_backend.h"
--#include "bootutil/bootutil_log.h"
--
--__WEAK int flash_device_base(uint8_t fd_id, uintptr_t *ret)
--{
--    if (fd_id != FLASH_DEVICE_ID) {
--        BOOT_LOG_ERR("invalid flash ID %d; expected %d",
--                     fd_id, FLASH_DEVICE_ID);
--        return -1;
--    }
--    *ret = FLASH_DEVICE_BASE;
--    return 0;
--}
--
--/*
-- * This depends on the mappings defined in flash_map.h.
-- * MCUBoot uses continuous numbering for the primary slot, the secondary slot,
-- * and the scratch while TF-M might number it differently.
-- */
--int flash_area_id_from_multi_image_slot(int image_index, int slot)
--{
--    switch (slot) {
--    case 0: return BL1_FLASH_AREA_IMAGE_PRIMARY(image_index);
--    case 1: return BL1_FLASH_AREA_IMAGE_SECONDARY(image_index);
--    case 2: return BL1_FLASH_AREA_IMAGE_SCRATCH;
--    }
--
--    return -1; /* flash_area_open will fail on that */
--}
--
--int flash_area_id_from_image_slot(int slot)
--{
--    return flash_area_id_from_multi_image_slot(0, slot);
--}
--
--int flash_area_id_to_multi_image_slot(int image_index, int area_id)
--{
--    if (area_id == BL1_FLASH_AREA_IMAGE_PRIMARY(image_index)) {
--        return 0;
--    }
--    if (area_id == BL1_FLASH_AREA_IMAGE_SECONDARY(image_index)) {
--        return 1;
--    }
--
--    BOOT_LOG_ERR("invalid flash area ID");
--    return -1;
--}
--
--int flash_area_id_to_image_slot(int area_id)
--{
--    return flash_area_id_to_multi_image_slot(0, area_id);
--}
--
--uint8_t flash_area_erased_val(const struct flash_area *fap)
--{
--    return DRV_FLASH_AREA(fap)->GetInfo()->erased_value;
--}
--
--int flash_area_read_is_empty(const struct flash_area *fa, uint32_t off,
--        void *dst, uint32_t len)
--{
--    uint32_t i;
--    uint8_t *u8dst;
--    int rc;
--
--    BOOT_LOG_DBG("read_is_empty area=%d, off=%#x, len=%#x",
--                 fa->fa_id, off, len);
--
--    rc = DRV_FLASH_AREA(fa)->ReadData(fa->fa_off + off, dst, len);
--    if (rc) {
--        return -1;
--    }
--
--    u8dst = (uint8_t*)dst;
--
--    for (i = 0; i < len; i++) {
--        if (u8dst[i] != flash_area_erased_val(fa)) {
--            return 0;
--        }
--    }
--
--    return 1;
--}
-diff --git a/platform/ext/target/arm/corstone1000/bl1/provisioning.c b/platform/ext/target/arm/corstone1000/bl1/provisioning.c
-index 832fcea89..683bc45ea 100644
---- a/platform/ext/target/arm/corstone1000/bl1/provisioning.c
-+++ b/platform/ext/target/arm/corstone1000/bl1/provisioning.c
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2021-2022, Arm Limited. All rights reserved.
-+ * Copyright (c) 2021-2023, Arm Limited. All rights reserved.
-  *
-  * SPDX-License-Identifier: BSD-3-Clause
-  *
-@@ -11,7 +11,9 @@
- #include "tfm_plat_otp.h"
- #include "tfm_attest_hal.h"
- #include "psa/crypto.h"
--#include "bootutil/bootutil_log.h"
-+#include "region_defs.h"
-+#include "log.h"
-+#include "fwu_agent.h"
- 
- #include <string.h>
- 
-@@ -19,51 +21,20 @@
- 
- __PACKED_STRUCT bl1_assembly_and_test_provisioning_data_t {
-     uint32_t magic;
--    uint8_t bl1_rotpk_0[32];
-+    uint8_t bl2_encryption_key[32];
-+    uint8_t guk[32];
-+    uint8_t bl1_2_image_hash[32];
-+    uint8_t bl2_image_hash[32];
-+    uint8_t bl1_2_image[BL1_2_CODE_SIZE];
-+    uint8_t bl1_rotpk_0[56];
- };
- 
--#ifdef TFM_DUMMY_PROVISIONING
--static const struct bl1_assembly_and_test_provisioning_data_t bl1_assembly_and_test_prov_data = {
--    ASSEMBLY_AND_TEST_PROV_DATA_MAGIC,
--#if (MCUBOOT_SIGN_RSA_LEN == 2048)
--    /* bl1 rotpk 0 */
--    {
--        0xfc, 0x57, 0x01, 0xdc, 0x61, 0x35, 0xe1, 0x32,
--        0x38, 0x47, 0xbd, 0xc4, 0x0f, 0x04, 0xd2, 0xe5,
--        0xbe, 0xe5, 0x83, 0x3b, 0x23, 0xc2, 0x9f, 0x93,
--        0x59, 0x3d, 0x00, 0x01, 0x8c, 0xfa, 0x99, 0x94,
--    },
--#elif (MCUBOOT_SIGN_RSA_LEN == 3072)
--    /* bl1 rotpk 0 */
--    {
--        0xbf, 0xe6, 0xd8, 0x6f, 0x88, 0x26, 0xf4, 0xff,
--        0x97, 0xfb, 0x96, 0xc4, 0xe6, 0xfb, 0xc4, 0x99,
--        0x3e, 0x46, 0x19, 0xfc, 0x56, 0x5d, 0xa2, 0x6a,
--        0xdf, 0x34, 0xc3, 0x29, 0x48, 0x9a, 0xdc, 0x38,
--    },
--#else
--#error "No public key available for given signing algorithm."
--#endif /* MCUBOOT_SIGN_RSA_LEN */
--};
--#else
--static const struct bl1_assembly_and_test_provisioning_data_t bl1_assembly_and_test_prov_data;
--#endif /* TFM_DUMMY_PROVISIONING */
-+static const struct bl1_assembly_and_test_provisioning_data_t *bl1_assembly_and_test_prov_data =
-+                    (struct bl1_assembly_and_test_provisioning_data_t *)PROVISIONING_DATA_START;
-+
- 
- void tfm_plat_provisioning_check_for_dummy_keys(void)
- {
--    uint64_t iak_start;
--
--    tfm_plat_otp_read(PLAT_OTP_ID_IAK, sizeof(iak_start), (uint8_t*)&iak_start);
--
--    if(iak_start == 0xA4906F6DB254B4A9) {
--        BOOT_LOG_WRN("%s%s%s%s",
--                     "\033[1;31m",
--                     "This device was provisioned with dummy keys. ",
--                     "This device is \033[1;1mNOT SECURE",
--                     "\033[0m");
--    }
--
--    memset(&iak_start, 0, sizeof(iak_start));
- }
- 
- int tfm_plat_provisioning_is_required(void)
-@@ -85,12 +56,47 @@ enum tfm_plat_err_t provision_assembly_and_test(void)
-     enum tfm_plat_err_t err;
- 
-     err = tfm_plat_otp_write(PLAT_OTP_ID_BL1_ROTPK_0,
--                             sizeof(bl1_assembly_and_test_prov_data.bl1_rotpk_0),
--                             bl1_assembly_and_test_prov_data.bl1_rotpk_0);
-+                             sizeof(bl1_assembly_and_test_prov_data->bl1_rotpk_0),
-+                             bl1_assembly_and_test_prov_data->bl1_rotpk_0);
-+    if (err != TFM_PLAT_ERR_SUCCESS && err != TFM_PLAT_ERR_UNSUPPORTED) {
-+        return err;
-+    }
-+
-+
-+    err = tfm_plat_otp_write(PLAT_OTP_ID_BL1_2_IMAGE_HASH,
-+                             sizeof(bl1_assembly_and_test_prov_data->bl1_2_image_hash),
-+                             bl1_assembly_and_test_prov_data->bl1_2_image_hash);
-+    if (err != TFM_PLAT_ERR_SUCCESS && err != TFM_PLAT_ERR_UNSUPPORTED) {
-+        return err;
-+    }
-+
-+
-+    err = tfm_plat_otp_write(PLAT_OTP_ID_BL1_2_IMAGE,
-+                             sizeof(bl1_assembly_and_test_prov_data->bl1_2_image),
-+                             bl1_assembly_and_test_prov_data->bl1_2_image);
-+    if (err != TFM_PLAT_ERR_SUCCESS && err != TFM_PLAT_ERR_UNSUPPORTED) {
-+        return err;
-+    }
-+
-+    err = tfm_plat_otp_write(PLAT_OTP_ID_KEY_BL2_ENCRYPTION,
-+                             sizeof(bl1_assembly_and_test_prov_data->bl2_encryption_key),
-+                             bl1_assembly_and_test_prov_data->bl2_encryption_key);
-     if (err != TFM_PLAT_ERR_SUCCESS && err != TFM_PLAT_ERR_UNSUPPORTED) {
-         return err;
-     }
- 
-+    err = tfm_plat_otp_write(PLAT_OTP_ID_BL2_IMAGE_HASH,
-+                             sizeof(bl1_assembly_and_test_prov_data->bl2_image_hash),
-+                             bl1_assembly_and_test_prov_data->bl2_image_hash);
-+    if (err != TFM_PLAT_ERR_SUCCESS && err != TFM_PLAT_ERR_UNSUPPORTED) {
-+        return err;
-+    }
-+
-+    err = fwu_metadata_provision();
-+    if (err != FWU_AGENT_SUCCESS) {
-+        return 1;
-+    }
-+
-     return err;
- }
- 
-@@ -104,19 +110,18 @@ enum tfm_plat_err_t tfm_plat_provisioning_perform(void)
-         return err;
-     }
- 
--    BOOT_LOG_INF("Beginning BL1 provisioning");
-+    BL1_LOG("[INF] Beginning BL1 provisioning\r\n");
- 
- #ifdef TFM_DUMMY_PROVISIONING
--    BOOT_LOG_WRN("%s%s%s%s",
--                 "\033[1;31m",
--                 "TFM_DUMMY_PROVISIONING is not suitable for production! ",
--                 "This device is \033[1;1mNOT SECURE",
--                 "\033[0m");
-+    BL1_LOG("\033[1;31m[WRN]");
-+    BL1_LOG("TFM_DUMMY_PROVISIONING is not suitable for production! ");
-+    BL1_LOG("This device is \033[1;1mNOT SECURE");
-+    BL1_LOG("\033[0m\r\n");
- #endif /* TFM_DUMMY_PROVISIONING */
- 
-     if (lcs == PLAT_OTP_LCS_ASSEMBLY_AND_TEST) {
--        if (bl1_assembly_and_test_prov_data.magic != ASSEMBLY_AND_TEST_PROV_DATA_MAGIC) {
--            BOOT_LOG_ERR("No valid ASSEMBLY_AND_TEST provisioning data found");
-+        if (bl1_assembly_and_test_prov_data->magic != ASSEMBLY_AND_TEST_PROV_DATA_MAGIC) {
-+            BL1_LOG("[ERR] No valid ASSEMBLY_AND_TEST provisioning data found\r\n");
-             return TFM_PLAT_ERR_INVALID_INPUT;
-         }
- 
-diff --git a/platform/ext/target/arm/corstone1000/config.cmake b/platform/ext/target/arm/corstone1000/config.cmake
-index aca75394d..1b0675404 100644
---- a/platform/ext/target/arm/corstone1000/config.cmake
-+++ b/platform/ext/target/arm/corstone1000/config.cmake
-@@ -8,7 +8,14 @@
- #-------------------------------------------------------------------------------
- 
- set(BL1                                 ON         CACHE BOOL     "Whether to build BL1")
--set(PLATFORM_DEFAULT_BL1                OFF        CACHE STRING   "Whether to use default BL1 or platform-specific one")
-+set(PLATFORM_DEFAULT_BL1                ON         CACHE STRING   "Whether to use default BL1 or platform-specific one")
-+set(PLATFORM_DEFAULT_OTP                OFF        CACHE BOOL     "Use trusted on-chip flash to implement OTP memory")
-+
-+set(TFM_BL1_DEFAULT_PROVISIONING        OFF        CACHE BOOL     "Whether BL1_1 will use default provisioning")
-+set(TFM_BL1_SOFTWARE_CRYPTO             OFF        CACHE BOOL     "Whether BL1_1 will use software crypto")
-+set(TFM_BL1_MEMORY_MAPPED_FLASH         OFF        CACHE BOOL     "Whether BL1 can directly access flash content")
-+set(TFM_BL1_PQ_CRYPTO                   OFF        CACHE BOOL     "Enable LMS PQ crypto for BL2 verification. This is experimental and should not yet be used in production")
-+
- set(BL2                                 ON         CACHE BOOL     "Whether to build BL2")
- set(BL2_TRAILER_SIZE                    0x800      CACHE STRING   "Trailer size")
- set(DEFAULT_MCUBOOT_FLASH_MAP           OFF        CACHE BOOL     "Whether to use the default flash map defined by TF-M project")
-@@ -26,13 +33,6 @@ set(TFM_CRYPTO_TEST_ALG_CFB             OFF        CACHE BOOL     "Test CFB cryp
- set(NS                                  FALSE      CACHE BOOL     "Whether to build NS app")
- set(EXTERNAL_SYSTEM_SUPPORT             OFF        CACHE BOOL     "Whether to include external system support.")
- 
--# FVP is not integrated/tested with CC312.
--if (${PLATFORM_IS_FVP})
--  set(PLATFORM_DEFAULT_OTP              TRUE      CACHE BOOL      "Use trusted on-chip flash to implement OTP memory")
--else()
--  set(PLATFORM_DEFAULT_OTP              FALSE      CACHE BOOL      "Use trusted on-chip flash to implement OTP memory")
--endif()
--
- # External dependency on OpenAMP and Libmetal
- set(LIBMETAL_SRC_PATH                   "DOWNLOAD"  CACHE PATH      "Path to Libmetal (or DOWNLOAD to fetch automatically")
- set(LIBMETAL_VERSION                    "f252f0e007fbfb8b3a52b1d5901250ddac96baad"  CACHE STRING    "The version of libmetal to use")
-@@ -59,6 +59,8 @@ set(TFM_PARTITION_PROTECTED_STORAGE     ON          CACHE BOOL      "Enable Prot
- set(TFM_PARTITION_CRYPTO                ON          CACHE BOOL      "Enable Crypto partition")
- set(TFM_PARTITION_INITIAL_ATTESTATION   ON          CACHE BOOL      "Enable Initial Attestation partition")
- set(TFM_PARTITION_INTERNAL_TRUSTED_STORAGE ON       CACHE BOOL      "Enable Internal Trusted Storage partition")
-+set(TFM_PARTITION_MEASURED_BOOT         ON          CACHE BOOL      "Enable Measured boot partition")
-+
- 
- if (${CMAKE_BUILD_TYPE} STREQUAL Debug OR ${CMAKE_BUILD_TYPE} STREQUAL RelWithDebInfo)
-   set(ENABLE_FWU_AGENT_DEBUG_LOGS     TRUE          CACHE BOOL      "Enable Firmware update agent debug logs.")
-diff --git a/platform/ext/target/arm/corstone1000/partition/flash_layout.h b/platform/ext/target/arm/corstone1000/partition/flash_layout.h
-index b01a3621b..a95ff63ef 100644
---- a/platform/ext/target/arm/corstone1000/partition/flash_layout.h
-+++ b/platform/ext/target/arm/corstone1000/partition/flash_layout.h
-@@ -34,16 +34,6 @@
- 
- #define BL2_DATA_GAP_SIZE               (0x09800)  /* 38 KB */
- 
--#define BL1_DATA_START                  (SRAM_BASE)
--#define BL1_DATA_SIZE                   (0x10000)     /* 64 KiB*/
--#define BL1_DATA_LIMIT                  (BL1_DATA_START + BL1_DATA_SIZE - 1)
--
--#ifdef BL1
--
--#define IMAGE_EXECUTABLE_RAM_START      (SRAM_BASE + BL1_DATA_SIZE)
--#define IMAGE_EXECUTABLE_RAM_SIZE       (SRAM_SIZE - BL1_DATA_SIZE)
--
--#endif /* BL1 */
- 
- /*****************/
- /***** Flash *****/
-diff --git a/platform/ext/target/arm/corstone1000/partition/region_defs.h b/platform/ext/target/arm/corstone1000/partition/region_defs.h
-index 35055fe9c..8157c36bf 100644
---- a/platform/ext/target/arm/corstone1000/partition/region_defs.h
-+++ b/platform/ext/target/arm/corstone1000/partition/region_defs.h
-@@ -20,12 +20,17 @@
- 
- #include "flash_layout.h"
- 
-+/* BL1_1 */
-+#define BL1_1_HEAP_SIZE         (0x0001000) /* 4KiB */
-+#define BL1_1_MSP_STACK_SIZE    (0x0001800) /* 6KiB */
-+
-+/* BL1_2 */
-+#define BL1_2_HEAP_SIZE         (0x0001000) /* 4KiB */
-+#define BL1_2_MSP_STACK_SIZE    (0x0001800) /* 6KiB */
-+
- #define BL2_HEAP_SIZE           (0x0001000)
- #define BL2_MSP_STACK_SIZE      (0x0001E00)
- 
--#define BL1_HEAP_SIZE           (0x0001000)
--#define BL1_MSP_STACK_SIZE      (0x0001800)
--
- #ifdef ENABLE_HEAP
-     #define S_HEAP_SIZE             (0x0000200)
- #endif
-@@ -80,8 +85,8 @@
- 
- 
- /* SE BL2 regions */
--#define BL2_CODE_START    (SRAM_BASE + TFM_PARTITION_SIZE + \
--                           BL2_DATA_GAP_SIZE + BL2_HEADER_SIZE)
-+#define BL2_IMAGE_START   (SRAM_BASE + SRAM_SIZE - SE_BL2_PARTITION_SIZE)
-+#define BL2_CODE_START    (BL2_IMAGE_START + BL2_HEADER_SIZE)
- #define BL2_CODE_SIZE     (IMAGE_BL2_CODE_SIZE)
- #define BL2_CODE_LIMIT    (BL2_CODE_START + BL2_CODE_SIZE - 1)
- 
-@@ -91,9 +96,25 @@
- #define BL2_DATA_LIMIT    (BL2_DATA_START + BL2_DATA_SIZE - 1)
- 
- /* SE BL1 regions */
--#define BL1_CODE_START    (0)
--#define BL1_CODE_SIZE     (0x00020000)     /* Whole SE ROM, 128 KiB */
--#define BL1_CODE_LIMIT    (BL2_CODE_START + BL2_CODE_SIZE - 1)
-+#define BL1_1_CODE_START    (0)
-+#define BL1_1_CODE_SIZE     (0x0000A000)     /* 40 KiB */
-+#define BL1_1_CODE_LIMIT    (BL1_1_CODE_START + BL1_1_CODE_SIZE - 1)
-+
-+#define PROVISIONING_DATA_START (BL1_1_CODE_START + BL1_1_CODE_SIZE)
-+#define PROVISIONING_DATA_SIZE  (0x00002000)     /* 8 KiB */
-+#define PROVISIONING_DATA_LIMIT (PROVISIONING_DATA_START + PROVISIONING_DATA_SIZE - 1)
-+
-+#define BL1_1_DATA_START    (SRAM_BASE)
-+#define BL1_1_DATA_SIZE     (0x8000)     /* 32 KiB*/
-+#define BL1_1_DATA_LIMIT    (BL1_1_DATA_START + BL1_1_DATA_SIZE - 1)
-+
-+#define BL1_2_CODE_START    (BL1_1_DATA_START + BL1_1_DATA_SIZE)
-+#define BL1_2_CODE_SIZE     (0x00001000)     /* 4 KiB */
-+#define BL1_2_CODE_LIMIT    (BL1_2_CODE_START + BL1_2_CODE_SIZE - 1)
-+
-+#define BL1_2_DATA_START    (BL1_2_CODE_START+BL1_2_CODE_SIZE)
-+#define BL1_2_DATA_SIZE     (0x8000)     /* 32 KiB*/
-+#define BL1_2_DATA_LIMIT    (BL1_2_DATA_START + BL1_2_DATA_SIZE - 1)
- 
- #define BOOT_TFM_SHARED_DATA_BASE (S_DATA_PRIV_START)
- 
--- 
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/rwx.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0004-arm-trusted-firmware-m-disable-fatal-warnings.patch
similarity index 86%
rename from meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/rwx.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0004-arm-trusted-firmware-m-disable-fatal-warnings.patch
index 1efd661..07db4f6 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/rwx.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0004-arm-trusted-firmware-m-disable-fatal-warnings.patch
@@ -1,4 +1,4 @@
-From 1d548c77d07fc9a83e3e9aa28a23aa19a0177e3b Mon Sep 17 00:00:00 2001
+From 04ce07d289e8cec75223349e9ebf7e69126fc04d Mon Sep 17 00:00:00 2001
 From: Jon Mason <jon.mason@arm.com>
 Date: Wed, 18 Jan 2023 15:13:37 -0500
 Subject: [PATCH] arm/trusted-firmware-m: disable fatal warnings
@@ -11,7 +11,7 @@
  1 file changed, 1 deletion(-)
 
 diff --git a/toolchain_GNUARM.cmake b/toolchain_GNUARM.cmake
-index 7978eaca68..88395f922a 100644
+index 7989718515..a5939323d6 100644
 --- a/toolchain_GNUARM.cmake
 +++ b/toolchain_GNUARM.cmake
 @@ -71,7 +71,6 @@ macro(tfm_toolchain_reset_linker_flags)
@@ -22,4 +22,3 @@
          LINKER:--gc-sections
          LINKER:--no-wchar-size-warning
          ${MEMORY_USAGE_FLAG}
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0005-Platform-corstone1000-Replace-MCUBOOT-BL1-by-TFM-s-B.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0005-Platform-corstone1000-Replace-MCUBOOT-BL1-by-TFM-s-B.patch
deleted file mode 100644
index 697061e..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0005-Platform-corstone1000-Replace-MCUBOOT-BL1-by-TFM-s-B.patch
+++ /dev/null
@@ -1,202 +0,0 @@
-From d5a7cde4648d2247f83a0f259aa088152199dfbd Mon Sep 17 00:00:00 2001
-From: Emekcan Aras <emekcan.aras@arm.com>
-Date: Mon, 27 Feb 2023 20:58:30 +0000
-Subject: [PATCH 2/6] Platform: corstone1000: Replace MCUBOOT BL1 by TFM's
- (BL2)
-
-From: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-
-Set region_defs of BL2 correctly
-Set FLASH Areas 0 and 1 to have BL2
-Set FLASH Areas 2 and 3 to have TFM
-Set FLASH Areas 4 and 5 to have FIP
-Initialize FLASH in BL1_2 boot platform code
-
-Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/20554]
-Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-Change-Id: I987d29cb6318b8b30cafab67d24f446aaadfe500
----
- .../arm/corstone1000/bl1/boot_hal_bl1.c       | 14 +++++++
- .../target/arm/corstone1000/bl2_flash_map.c   |  8 ++--
- .../ext/target/arm/corstone1000/config.cmake  |  3 ++
- .../arm/corstone1000/partition/flash_layout.h | 41 +++++++++++++------
- .../arm/corstone1000/partition/region_defs.h  |  4 +-
- 5 files changed, 51 insertions(+), 19 deletions(-)
-
-diff --git a/platform/ext/target/arm/corstone1000/bl1/boot_hal_bl1.c b/platform/ext/target/arm/corstone1000/bl1/boot_hal_bl1.c
-index 678342443..2124720b2 100644
---- a/platform/ext/target/arm/corstone1000/bl1/boot_hal_bl1.c
-+++ b/platform/ext/target/arm/corstone1000/bl1/boot_hal_bl1.c
-@@ -638,6 +638,13 @@ int32_t boot_platform_init(void)
- 
- int32_t boot_platform_post_init(void)
- {
-+    int32_t result;
-+    if (platform_code_is_bl1_2) {
-+        result = FLASH_DEV_NAME.Initialize(NULL);
-+        if (result != ARM_DRIVER_OK) {
-+            return 1;
-+        }
-+    }
-     return 0;
- }
- 
-@@ -665,6 +672,13 @@ void boot_platform_quit(struct boot_arm_vector_table *vt)
-     stdio_uninit();
- #endif /* defined(TFM_BL1_LOGGING) || defined(TEST_BL1_1) || defined(TEST_BL1_2) */
- 
-+    if (platform_code_is_bl1_2) {
-+        result = FLASH_DEV_NAME.Uninitialize();
-+        if (result != ARM_DRIVER_OK) {
-+            return 1;
-+        }
-+    }
-+
-     result = corstone1000_watchdog_reset_timer();
-     if (result != ARM_DRIVER_OK) {
-         while (1);
-diff --git a/platform/ext/target/arm/corstone1000/bl2_flash_map.c b/platform/ext/target/arm/corstone1000/bl2_flash_map.c
-index 599f80b41..2b1cdfa19 100644
---- a/platform/ext/target/arm/corstone1000/bl2_flash_map.c
-+++ b/platform/ext/target/arm/corstone1000/bl2_flash_map.c
-@@ -25,14 +25,14 @@ extern ARM_DRIVER_FLASH FLASH_DEV_NAME;
-  */
- struct flash_area flash_map[] = {
-     {
--        .fa_id = FLASH_AREA_0_ID,
-+        .fa_id = FLASH_AREA_2_ID,
-         .fa_device_id = FLASH_DEVICE_ID,
-         .fa_driver = &FLASH_DEV_NAME,
-         .fa_off = FLASH_INVALID_OFFSET,
-         .fa_size = FLASH_INVALID_SIZE,
-     },
-     {
--        .fa_id = FLASH_AREA_1_ID,
-+        .fa_id = FLASH_AREA_3_ID,
-         .fa_device_id = FLASH_DEVICE_ID,
-         .fa_driver = &FLASH_DEV_NAME,
-         .fa_off = FLASH_INVALID_OFFSET,
-@@ -40,14 +40,14 @@ struct flash_area flash_map[] = {
-     },
- #ifndef TFM_S_REG_TEST
-     {
--        .fa_id = FLASH_AREA_2_ID,
-+        .fa_id = FLASH_AREA_4_ID,
-         .fa_device_id = FLASH_DEVICE_ID,
-         .fa_driver = &FLASH_DEV_NAME,
-         .fa_off = FLASH_INVALID_OFFSET,
-         .fa_size = FLASH_INVALID_SIZE,
-     },
-     {
--        .fa_id = FLASH_AREA_3_ID,
-+        .fa_id = FLASH_AREA_5_ID,
-         .fa_device_id = FLASH_DEVICE_ID,
-         .fa_driver = &FLASH_DEV_NAME,
-         .fa_off = FLASH_INVALID_OFFSET,
-diff --git a/platform/ext/target/arm/corstone1000/config.cmake b/platform/ext/target/arm/corstone1000/config.cmake
-index 1b0675404..bec6b84f0 100644
---- a/platform/ext/target/arm/corstone1000/config.cmake
-+++ b/platform/ext/target/arm/corstone1000/config.cmake
-@@ -16,6 +16,9 @@ set(TFM_BL1_SOFTWARE_CRYPTO             OFF        CACHE BOOL     "Whether BL1_1
- set(TFM_BL1_MEMORY_MAPPED_FLASH         OFF        CACHE BOOL     "Whether BL1 can directly access flash content")
- set(TFM_BL1_PQ_CRYPTO                   OFF        CACHE BOOL     "Enable LMS PQ crypto for BL2 verification. This is experimental and should not yet be used in production")
- 
-+set(TFM_BL2_IMAGE_FLASH_AREA_NUM        0          CACHE STRING   "Which flash area BL2 is stored in")
-+set(MCUBOOT_S_IMAGE_FLASH_AREA_NUM      2          CACHE STRING   "ID of the flash area containing the primary Secure image")
-+
- set(BL2                                 ON         CACHE BOOL     "Whether to build BL2")
- set(BL2_TRAILER_SIZE                    0x800      CACHE STRING   "Trailer size")
- set(DEFAULT_MCUBOOT_FLASH_MAP           OFF        CACHE BOOL     "Whether to use the default flash map defined by TF-M project")
-diff --git a/platform/ext/target/arm/corstone1000/partition/flash_layout.h b/platform/ext/target/arm/corstone1000/partition/flash_layout.h
-index a95ff63ef..41b4c6323 100644
---- a/platform/ext/target/arm/corstone1000/partition/flash_layout.h
-+++ b/platform/ext/target/arm/corstone1000/partition/flash_layout.h
-@@ -136,23 +136,38 @@
- #define BANK_PARTITION_SIZE             (0xFE0000)   /* 15.875 MB */
- #define TFM_PARTITION_SIZE              (0x5E000)    /* 376 KB */
- 
--/* Macros needed to imgtool.py, used when creating BL2 signed image */
--#define BL2_IMAGE_LOAD_ADDRESS          (SRAM_BASE + TFM_PARTITION_SIZE + BL2_DATA_GAP_SIZE)
--#define BL2_IMAGE_OFFSET                (0x0)
--#define BL2_IMAGE_MAX_SIZE              (SE_BL2_PARTITION_SIZE)
-+/************************************************************/
-+/* Bank : Images flash offsets are with respect to the bank */
-+/************************************************************/
- 
--/* Image 1: TF-M primary and secondary images */
-+/* Image 0: BL2 primary and secondary images */
- #define FLASH_AREA_0_ID                 (1)
--#define FLASH_AREA_0_SIZE               (TFM_PARTITION_SIZE)
-+#define FLASH_AREA_0_OFFSET             (0) /* starting from 0th offset of the bank */
-+#define FLASH_AREA_0_SIZE               (SE_BL2_PARTITION_SIZE)
-+
- #define FLASH_AREA_1_ID                 (FLASH_AREA_0_ID + 1)
--#define FLASH_AREA_1_SIZE               (TFM_PARTITION_SIZE)
-+#define FLASH_AREA_1_OFFSET             (FLASH_AREA_0_OFFSET + FLASH_AREA_0_SIZE)
-+#define FLASH_AREA_1_SIZE               (SE_BL2_PARTITION_SIZE)
-+
-+/* Image 1: TF-M primary and secondary images */
-+#define FLASH_AREA_2_ID                 (1)
-+#define FLASH_AREA_2_SIZE               (TFM_PARTITION_SIZE)
-+#define FLASH_AREA_3_ID                 (FLASH_AREA_2_ID + 1)
-+#define FLASH_AREA_3_SIZE               (TFM_PARTITION_SIZE)
- 
- /* Image 2: Host FIP */
- #define FIP_SIGNATURE_AREA_SIZE         (0x1000)      /* 4 KB */
- 
- /* Host BL2 (TF-A) primary and secondary image. */
--#define FLASH_AREA_2_ID                 (FLASH_AREA_1_ID + 1)
--#define FLASH_AREA_3_ID                 (FLASH_AREA_2_ID + 1)
-+#define FLASH_AREA_4_ID                 (FLASH_AREA_3_ID + 1)
-+#define FLASH_AREA_5_ID                 (FLASH_AREA_4_ID + 1)
-+
-+#define BL1_FLASH_AREA_IMAGE_PRIMARY(x)     (((x) == 0) ? FLASH_AREA_0_ID : \
-+                                                          255 )
-+#define BL1_FLASH_AREA_IMAGE_SECONDARY(x)   (((x) == 0) ? FLASH_AREA_1_ID : \
-+                                                          255 )
-+
-+#define BL1_FLASH_AREA_IMAGE_SCRATCH        255
- 
- /* Macros needed to imgtool.py, used when creating TF-M signed image */
- #define S_IMAGE_LOAD_ADDRESS            (SRAM_BASE)
-@@ -161,11 +176,11 @@
- #define NON_SECURE_IMAGE_OFFSET         (TFM_PARTITION_SIZE)
- #define NON_SECURE_IMAGE_MAX_SIZE       (0x0)
- 
--#define FLASH_AREA_IMAGE_PRIMARY(x)     (((x) == 0) ? FLASH_AREA_0_ID : \
--                                         ((x) == 1) ? FLASH_AREA_2_ID : \
-+#define FLASH_AREA_IMAGE_PRIMARY(x)     (((x) == 0) ? FLASH_AREA_2_ID : \
-+                                         ((x) == 1) ? FLASH_AREA_4_ID : \
-                                                       255 )
--#define FLASH_AREA_IMAGE_SECONDARY(x)   (((x) == 0) ? FLASH_AREA_1_ID : \
--                                         ((x) == 1) ? FLASH_AREA_3_ID : \
-+#define FLASH_AREA_IMAGE_SECONDARY(x)   (((x) == 0) ? FLASH_AREA_3_ID : \
-+                                         ((x) == 1) ? FLASH_AREA_5_ID : \
-                                                       255 )
- 
- #define FLASH_AREA_IMAGE_SCRATCH        255
-diff --git a/platform/ext/target/arm/corstone1000/partition/region_defs.h b/platform/ext/target/arm/corstone1000/partition/region_defs.h
-index 8157c36bf..fc9f734f6 100644
---- a/platform/ext/target/arm/corstone1000/partition/region_defs.h
-+++ b/platform/ext/target/arm/corstone1000/partition/region_defs.h
-@@ -48,7 +48,7 @@
-             (TFM_PARTITION_SIZE - BL2_HEADER_SIZE - BL2_TRAILER_SIZE)
- 
- #define IMAGE_BL2_CODE_SIZE \
--            (SE_BL2_PARTITION_SIZE - BL2_HEADER_SIZE - BL2_TRAILER_SIZE)
-+            (SE_BL2_PARTITION_SIZE - BL1_HEADER_SIZE - BL1_TRAILER_SIZE)
- 
- /* Secure regions */
- #define S_CODE_START            (SRAM_BASE + BL2_HEADER_SIZE)
-@@ -86,7 +86,7 @@
- 
- /* SE BL2 regions */
- #define BL2_IMAGE_START   (SRAM_BASE + SRAM_SIZE - SE_BL2_PARTITION_SIZE)
--#define BL2_CODE_START    (BL2_IMAGE_START + BL2_HEADER_SIZE)
-+#define BL2_CODE_START    (BL2_IMAGE_START + BL1_HEADER_SIZE)
- #define BL2_CODE_SIZE     (IMAGE_BL2_CODE_SIZE)
- #define BL2_CODE_LIMIT    (BL2_CODE_START + BL2_CODE_SIZE - 1)
- 
--- 
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0006-Platform-corstone1000-Reorganize-bl2-files.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0006-Platform-corstone1000-Reorganize-bl2-files.patch
deleted file mode 100644
index 1e56e36..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0006-Platform-corstone1000-Reorganize-bl2-files.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 535d366137d2dd0804d3e67ada78151e0e318eeb Mon Sep 17 00:00:00 2001
-From: Emekcan Aras <emekcan.aras@arm.com>
-Date: Fri, 3 Mar 2023 12:25:04 +0000
-Subject: [PATCH 3/6] Platform: corstone1000: Reorganize bl2 files
-
-From: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-
-To be consistnant, organize bl2 files same as bl1 files
-
-Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/20555]
-Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-Change-Id: I3332f4dbbde1c5f2cde5a187b038dc3430b9503f
----
- platform/ext/target/arm/corstone1000/CMakeLists.txt         | 6 +++---
- .../ext/target/arm/corstone1000/{ => bl2}/boot_hal_bl2.c    | 0
- .../corstone1000/{bl2_flash_map.c => bl2/flash_map_bl2.c}   | 0
- .../{bl2_security_cnt.c => bl2/security_cnt_bl2.c}          | 0
- 4 files changed, 3 insertions(+), 3 deletions(-)
- rename platform/ext/target/arm/corstone1000/{ => bl2}/boot_hal_bl2.c (100%)
- rename platform/ext/target/arm/corstone1000/{bl2_flash_map.c => bl2/flash_map_bl2.c} (100%)
- rename platform/ext/target/arm/corstone1000/{bl2_security_cnt.c => bl2/security_cnt_bl2.c} (100%)
-
-diff --git a/platform/ext/target/arm/corstone1000/CMakeLists.txt b/platform/ext/target/arm/corstone1000/CMakeLists.txt
-index a4fe28c08..3d4c787a6 100644
---- a/platform/ext/target/arm/corstone1000/CMakeLists.txt
-+++ b/platform/ext/target/arm/corstone1000/CMakeLists.txt
-@@ -196,7 +196,7 @@ target_sources(platform_bl2
-         Native_Driver/arm_watchdog_drv.c
-         fip_parser/fip_parser.c
-         fw_update_agent/fwu_agent.c
--        bl2_security_cnt.c
-+        bl2/security_cnt_bl2.c
-         $<$<NOT:$<BOOL:${PLATFORM_DEFAULT_OTP}>>:${PLATFORM_DIR}/ext/accelerator/cc312/otp_cc312.c>
-         io/io_block.c
-         io/io_flash.c
-@@ -235,8 +235,8 @@ target_compile_definitions(platform_bl2
- # platform_init/quit* apis symbol collision in bl1.
- target_sources(bl2
-     PRIVATE
--        bl2_flash_map.c
--        boot_hal_bl2.c
-+        bl2/flash_map_bl2.c
-+        bl2/boot_hal_bl2.c
- )
- 
- target_link_libraries(bl2
-diff --git a/platform/ext/target/arm/corstone1000/boot_hal_bl2.c b/platform/ext/target/arm/corstone1000/bl2/boot_hal_bl2.c
-similarity index 100%
-rename from platform/ext/target/arm/corstone1000/boot_hal_bl2.c
-rename to platform/ext/target/arm/corstone1000/bl2/boot_hal_bl2.c
-diff --git a/platform/ext/target/arm/corstone1000/bl2_flash_map.c b/platform/ext/target/arm/corstone1000/bl2/flash_map_bl2.c
-similarity index 100%
-rename from platform/ext/target/arm/corstone1000/bl2_flash_map.c
-rename to platform/ext/target/arm/corstone1000/bl2/flash_map_bl2.c
-diff --git a/platform/ext/target/arm/corstone1000/bl2_security_cnt.c b/platform/ext/target/arm/corstone1000/bl2/security_cnt_bl2.c
-similarity index 100%
-rename from platform/ext/target/arm/corstone1000/bl2_security_cnt.c
-rename to platform/ext/target/arm/corstone1000/bl2/security_cnt_bl2.c
--- 
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0007-Platform-corstone1000-Fix-linker-script-comment.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0007-Platform-corstone1000-Fix-linker-script-comment.patch
deleted file mode 100644
index 62a9d85..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0007-Platform-corstone1000-Fix-linker-script-comment.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 25b131f0d082b32b262c4e788f3bc95b7761bef7 Mon Sep 17 00:00:00 2001
-From: Emekcan Aras <emekcan.aras@arm.com>
-Date: Mon, 13 Mar 2023 00:16:49 +0000
-Subject: [PATCH 4/6] Platform: corstone1000: Fix linker script comment
-
-From: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-
-Comment explaining the necessary defines to copy multiple ROM to RAM
-sections, was refering to the wrong file.
-
-Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/20556]
-Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-Change-Id: I3e5f806330481daa24c5456d9c956e0cf589afee
----
- .../arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld    | 2 +-
- .../arm/corstone1000/Device/Source/gcc/corstone1000_bl1_2.ld    | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld b/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld
-index d4eca2841..8ee334c6b 100644
---- a/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld
-+++ b/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld
-@@ -89,7 +89,7 @@ SECTIONS
- 
-     /* To copy multiple ROM to RAM sections,
-      * define etext2/data2_start/data2_end and
--     * define __STARTUP_COPY_MULTIPLE in startup_corstone700_bl2.S */
-+     * define __STARTUP_COPY_MULTIPLE in startup_corstone1000.c */
-     .copy.table :
-     {
-         . = ALIGN(4);
-diff --git a/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_2.ld b/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_2.ld
-index 6cd806378..e1e4f2966 100644
---- a/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_2.ld
-+++ b/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_2.ld
-@@ -84,7 +84,7 @@ SECTIONS
- 
-     /* To copy multiple ROM to RAM sections,
-      * define etext2/data2_start/data2_end and
--     * define __STARTUP_COPY_MULTIPLE in startup_corstone700_bl2.S */
-+     * define __STARTUP_COPY_MULTIPLE in startup_corstone1000.c */
-     .copy.table :
-     {
-         . = ALIGN(4);
--- 
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0008-Platform-corstone1000-Fix-linkerscripts-copyright-ye.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0008-Platform-corstone1000-Fix-linkerscripts-copyright-ye.patch
deleted file mode 100644
index 7f7f6ed..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0008-Platform-corstone1000-Fix-linkerscripts-copyright-ye.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 7db7b197ec3f01163422450947540060d3cb0c17 Mon Sep 17 00:00:00 2001
-From: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-Date: Mon, 13 Mar 2023 00:21:44 +0000
-Subject: [PATCH 6/6] Platform: corstone1000: Fix linkerscripts copyright year
-
-set the copyright year to 2023 as these files are introduced in
-2023.
-
-Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/20557]
-Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-Change-Id: I293a4a380d5d1d59aba1e2ab17e0e5924664dbb4
----
- .../arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld    | 2 +-
- .../arm/corstone1000/Device/Source/gcc/corstone1000_bl1_2.ld    | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld b/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld
-index 8ee334c6b..cb6797f27 100644
---- a/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld
-+++ b/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_1.ld
-@@ -1,5 +1,5 @@
- ;/*
--; * Copyright (c) 2009-2022, Arm Limited. All rights reserved.
-+; * Copyright (c) 2023, Arm Limited. All rights reserved.
- ; *
- ; * Licensed under the Apache License, Version 2.0 (the "License");
- ; * you may not use this file except in compliance with the License.
-diff --git a/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_2.ld b/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_2.ld
-index e1e4f2966..e66e54aa6 100644
---- a/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_2.ld
-+++ b/platform/ext/target/arm/corstone1000/Device/Source/gcc/corstone1000_bl1_2.ld
-@@ -1,5 +1,5 @@
- ;/*
--; * Copyright (c) 2009-2022, Arm Limited. All rights reserved.
-+; * Copyright (c) 2023, Arm Limited. All rights reserved.
- ; *
- ; * Licensed under the Apache License, Version 2.0 (the "License");
- ; * you may not use this file except in compliance with the License.
--- 
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0009-Platform-corstone1000-fix-flash-reading-issue-for-fi.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0009-Platform-corstone1000-fix-flash-reading-issue-for-fi.patch
deleted file mode 100644
index 5c0024b..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0009-Platform-corstone1000-fix-flash-reading-issue-for-fi.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 7914ec3f96dbb8228e791d9492cfc3651cf9deca Mon Sep 17 00:00:00 2001
-From: Emekcan Aras <emekcan.aras@arm.com>
-Date: Wed, 5 Apr 2023 10:28:57 +0100
-Subject: [PATCH] Platform: corstone1000: Fix Flash reading issue for FIP data
-
-Fixes the flash reading issue since bl2 needs to read the data from
-flash in XIP mode on FPGA (mps3).
-
-Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/20558]
-Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
----
- platform/ext/target/arm/corstone1000/bl2/boot_hal_bl2.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/platform/ext/target/arm/corstone1000/bl2/boot_hal_bl2.c b/platform/ext/target/arm/corstone1000/bl2/boot_hal_bl2.c
-index cf6340c5a9..e4183c7a57 100644
---- a/platform/ext/target/arm/corstone1000/bl2/boot_hal_bl2.c
-+++ b/platform/ext/target/arm/corstone1000/bl2/boot_hal_bl2.c
-@@ -89,6 +89,7 @@ static bool fill_flash_map_with_fip_data(uint8_t boot_index) {
- 
-     /* parse directly from flash using XIP mode */
-     /* FIP is large so its not a good idea to load it in memory */
-+    Select_XIP_Mode_For_Shared_Flash();
-     result = parse_fip_and_extract_tfa_info(
-         FLASH_BASE_ADDRESS + fip_offset + FIP_SIGNATURE_AREA_SIZE, fip_size,
-         &tfa_offset, &tfa_size);
-@@ -96,7 +97,7 @@ static bool fill_flash_map_with_fip_data(uint8_t boot_index) {
-         BOOT_LOG_ERR("parse_fip_and_extract_tfa_info failed");
-         return false;
-     }
--
-+    Select_Write_Mode_For_Shared_Flash();
-     flash_map[2].fa_off = fip_offset + FIP_SIGNATURE_AREA_SIZE + tfa_offset;
-     flash_map[2].fa_size = tfa_size;
-     flash_map[3].fa_off = flash_map[2].fa_off + flash_map[2].fa_size;
--- 
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0010-Platform-corstone1000-Adds-compiler-flags-to-FWU-age.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0010-Platform-corstone1000-Adds-compiler-flags-to-FWU-age.patch
deleted file mode 100644
index 29fce5e..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0010-Platform-corstone1000-Adds-compiler-flags-to-FWU-age.patch
+++ /dev/null
@@ -1,273 +0,0 @@
-From 11f6af40dc322630031511146763cc9059bdb805 Mon Sep 17 00:00:00 2001
-From: Emekcan Aras <emekcan.aras@arm.com>
-Date: Fri, 14 Apr 2023 16:35:55 +0100
-Subject: [PATCH] Platform: corstone1000: Adds compiler flags to FWU agent for
- BL1
-
-Adds compiler flags for BL1 to fwu_agent.c functions to not use GPT parser and
-IO libraries in BL1 rom code.
-
-Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/20559]
-Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
----
- .../corstone1000/fw_update_agent/fwu_agent.c  | 176 +++++++++++++++++-
- 1 file changed, 174 insertions(+), 2 deletions(-)
-
-diff --git a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
-index 8ecb03d157..afd8d66e42 100644
---- a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
-+++ b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
-@@ -14,8 +14,6 @@
- #include "region_defs.h"
- #include "uefi_capsule_parser.h"
- #include "flash_common.h"
--#include "partition.h"
--#include "platform.h"
- #include "platform_base_address.h"
- #include "platform_description.h"
- #include "tfm_plat_nv_counters.h"
-@@ -23,6 +21,10 @@
- #include "uefi_fmp.h"
- #include "uart_stdout.h"
- #include "soft_crc.h"
-+#if !BL1
-+#include "partition.h"
-+#include "platform.h"
-+#endif
- 
- /* Properties of image in a bank */
- struct fwu_image_properties {
-@@ -145,6 +147,30 @@ extern ARM_DRIVER_FLASH FWU_METADATA_FLASH_DEV;
- 
- #define HOST_ACK_TIMEOUT_SEC    (6 * 60) /* ~seconds, not exact */
- 
-+#if BL1
-+static enum fwu_agent_error_t private_metadata_read(
-+        struct fwu_private_metadata* p_metadata)
-+{
-+    int ret;
-+
-+    FWU_LOG_MSG("%s: enter\n\r", __func__);
-+
-+    if (!p_metadata) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    ret = FWU_METADATA_FLASH_DEV.ReadData(FWU_PRIVATE_METADATA_REPLICA_1_OFFSET, p_metadata,
-+                                          sizeof(struct fwu_private_metadata));
-+    if (ret < 0 || ret != sizeof(struct fwu_private_metadata)) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    FWU_LOG_MSG("%s: success: boot_index = %u\n\r", __func__,
-+                        p_metadata->boot_index);
-+
-+    return FWU_AGENT_SUCCESS;
-+}
-+#elif
- static enum fwu_agent_error_t private_metadata_read(
-         struct fwu_private_metadata* p_metadata)
- {
-@@ -175,7 +201,36 @@ static enum fwu_agent_error_t private_metadata_read(
- 
-     return FWU_AGENT_SUCCESS;
- }
-+#endif
- 
-+#if BL1
-+static enum fwu_agent_error_t private_metadata_write(
-+        struct fwu_private_metadata* p_metadata)
-+{
-+    int ret;
-+
-+    FWU_LOG_MSG("%s: enter: boot_index = %u\n\r", __func__,
-+                        p_metadata->boot_index);
-+
-+    if (!p_metadata) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    ret = FWU_METADATA_FLASH_DEV.EraseSector(FWU_PRIVATE_METADATA_REPLICA_1_OFFSET);
-+    if (ret != ARM_DRIVER_OK) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    ret = FWU_METADATA_FLASH_DEV.ProgramData(FWU_PRIVATE_METADATA_REPLICA_1_OFFSET,
-+                                p_metadata, sizeof(struct fwu_private_metadata));
-+    if (ret < 0 || ret != sizeof(struct fwu_private_metadata)) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    FWU_LOG_MSG("%s: success\n\r", __func__);
-+    return FWU_AGENT_SUCCESS;
-+}
-+#elif
- static enum fwu_agent_error_t private_metadata_write(
-         struct fwu_private_metadata* p_metadata)
- {
-@@ -210,6 +265,7 @@ static enum fwu_agent_error_t private_metadata_write(
-     FWU_LOG_MSG("%s: success\n\r", __func__);
-     return FWU_AGENT_SUCCESS;
- }
-+#endif
- 
- static enum fwu_agent_error_t metadata_validate(struct fwu_metadata *p_metadata)
- {
-@@ -235,6 +291,30 @@ static enum fwu_agent_error_t metadata_validate(struct fwu_metadata *p_metadata)
-     return FWU_AGENT_SUCCESS;
- }
- 
-+#if BL1
-+static enum fwu_agent_error_t metadata_read_without_validation(struct fwu_metadata *p_metadata)
-+{
-+    int ret;
-+
-+    FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__,
-+                  FWU_METADATA_REPLICA_1_OFFSET, sizeof(struct fwu_metadata));
-+
-+    if (!p_metadata) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    ret = FWU_METADATA_FLASH_DEV.ReadData(FWU_METADATA_REPLICA_1_OFFSET,
-+                                p_metadata, sizeof(struct fwu_metadata));
-+    if (ret < 0 || ret != sizeof(struct fwu_metadata)) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    FWU_LOG_MSG("%s: success: active = %u, previous = %d\n\r", __func__,
-+                  p_metadata->active_index, p_metadata->previous_active_index);
-+
-+    return FWU_AGENT_SUCCESS;
-+}
-+#elif
- static enum fwu_agent_error_t metadata_read_without_validation(struct fwu_metadata *p_metadata)
- {
-     uuid_t metadata_uuid = FWU_METADATA_TYPE_UUID;
-@@ -266,7 +346,36 @@ static enum fwu_agent_error_t metadata_read_without_validation(struct fwu_metada
- 
-     return FWU_AGENT_SUCCESS;
- }
-+#endif
-+
-+#if BL1
-+static enum fwu_agent_error_t metadata_read(struct fwu_metadata *p_metadata)
-+{
-+    int ret;
- 
-+    FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__,
-+                  FWU_METADATA_REPLICA_1_OFFSET, sizeof(struct fwu_metadata));
-+
-+    if (!p_metadata) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    ret = FWU_METADATA_FLASH_DEV.ReadData(FWU_METADATA_REPLICA_1_OFFSET,
-+                                p_metadata, sizeof(struct fwu_metadata));
-+    if (ret < 0 || ret != sizeof(struct fwu_metadata)) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    if (metadata_validate(p_metadata) != FWU_AGENT_SUCCESS) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    FWU_LOG_MSG("%s: success: active = %u, previous = %d\n\r", __func__,
-+                  p_metadata->active_index, p_metadata->previous_active_index);
-+
-+    return FWU_AGENT_SUCCESS;
-+}
-+#elif
- static enum fwu_agent_error_t metadata_read(struct fwu_metadata *p_metadata)
- {
-     uuid_t metadata_uuid = FWU_METADATA_TYPE_UUID;
-@@ -301,7 +410,66 @@ static enum fwu_agent_error_t metadata_read(struct fwu_metadata *p_metadata)
- 
-     return FWU_AGENT_SUCCESS;
- }
-+#endif
-+
- 
-+#if BL1
-+static enum fwu_agent_error_t metadata_write(
-+                        struct fwu_metadata *p_metadata)
-+{
-+    int ret;
-+
-+    FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__,
-+                  FWU_METADATA_REPLICA_1_OFFSET, sizeof(struct fwu_metadata));
-+
-+    if (!p_metadata) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    ret = FWU_METADATA_FLASH_DEV.EraseSector(FWU_METADATA_REPLICA_1_OFFSET);
-+    if (ret != ARM_DRIVER_OK) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    ret = FWU_METADATA_FLASH_DEV.ProgramData(FWU_METADATA_REPLICA_1_OFFSET,
-+                                p_metadata, sizeof(struct fwu_metadata));
-+    if (ret < 0 || ret != sizeof(struct fwu_metadata)) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__,
-+                  FWU_METADATA_REPLICA_2_OFFSET, sizeof(struct fwu_metadata));
-+
-+    ret = FWU_METADATA_FLASH_DEV.EraseSector(FWU_METADATA_REPLICA_2_OFFSET);
-+    if (ret != ARM_DRIVER_OK) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    ret = FWU_METADATA_FLASH_DEV.ProgramData(FWU_METADATA_REPLICA_2_OFFSET,
-+                                p_metadata, sizeof(struct fwu_metadata));
-+    if (ret < 0 || ret != sizeof(struct fwu_metadata)) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__,
-+                  FWU_METADATA_REPLICA_2_OFFSET, sizeof(struct fwu_metadata));
-+
-+    ret = FWU_METADATA_FLASH_DEV.EraseSector(FWU_METADATA_REPLICA_2_OFFSET);
-+    if (ret != ARM_DRIVER_OK) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    ret = FWU_METADATA_FLASH_DEV.ProgramData(FWU_METADATA_REPLICA_2_OFFSET,
-+                                p_metadata, sizeof(struct fwu_metadata));
-+    if (ret < 0 || ret != sizeof(struct fwu_metadata)) {
-+        return FWU_AGENT_ERROR;
-+    }
-+
-+    FWU_LOG_MSG("%s: success: active = %u, previous = %d\n\r", __func__,
-+                  p_metadata->active_index, p_metadata->previous_active_index);
-+    return FWU_AGENT_SUCCESS;
-+}
-+#elif
- static enum fwu_agent_error_t metadata_write(
-                         struct fwu_metadata *p_metadata)
- {
-@@ -371,6 +539,8 @@ static enum fwu_agent_error_t metadata_write(
-                   p_metadata->active_index, p_metadata->previous_active_index);
-     return FWU_AGENT_SUCCESS;
- }
-+#endif
-+
- 
- enum fwu_agent_error_t fwu_metadata_init(void)
- {
-@@ -418,8 +588,10 @@ enum fwu_agent_error_t fwu_metadata_provision(void)
- 
-     FWU_LOG_MSG("%s: enter\n\r", __func__);
- 
-+#if !BL1
-     plat_io_storage_init();
-     partition_init(PLATFORM_GPT_IMAGE);
-+#endif
- 
-     ret = fwu_metadata_init();
-     if (ret) {
--- 
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0011-Platform-corstone1000-adjust-PS-asset-configuration.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0011-Platform-corstone1000-adjust-PS-asset-configuration.patch
deleted file mode 100644
index 19a3773..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0011-Platform-corstone1000-adjust-PS-asset-configuration.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 148d82d0984273b30d8b148f0c4e0ad0d3f23062 Mon Sep 17 00:00:00 2001
-From: Emekcan Aras <emekcan.aras@arm.com>
-Date: Mon, 17 Apr 2023 12:07:55 +0100
-Subject: [PATCH 1/3] Platform: corstone1000: adjust PS asset configuration
-
-Adjust protected storage asset configuration to be more inline
-with the one in trusted service side, that would make thinks
-work when testing and using more than the default variables.
-
-Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/20560]
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
-Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
-Change-Id: I181f9c72a816c727c2170c609100aec1d233fea7
----
- platform/ext/target/arm/corstone1000/config.cmake | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/platform/ext/target/arm/corstone1000/config.cmake b/platform/ext/target/arm/corstone1000/config.cmake
-index bec6b84f0..0c91fa59f 100644
---- a/platform/ext/target/arm/corstone1000/config.cmake
-+++ b/platform/ext/target/arm/corstone1000/config.cmake
-@@ -76,3 +76,4 @@ endif()
- # Platform-specific configurations
- set(CONFIG_TFM_USE_TRUSTZONE            OFF)
- set(TFM_MULTI_CORE_TOPOLOGY             ON)
-+set(PS_NUM_ASSETS                       "40"        CACHE STRING    "The maximum number of assets to be stored in the Protected Storage area")
--- 
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0012-Platform-corstone1000-Increase-number-of-assets.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0012-Platform-corstone1000-Increase-number-of-assets.patch
deleted file mode 100644
index d2fc332..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0012-Platform-corstone1000-Increase-number-of-assets.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 34263d1ea99da7b8a680a80601a73149bc9530e5 Mon Sep 17 00:00:00 2001
-From: Emekcan Aras <emekcan.aras@arm.com>
-Date: Fri, 21 Apr 2023 15:17:21 +0100
-Subject: [PATCH] Platform: corstone1000: Increase number of assets
-
-As Corstone1000 stores at boot time few efi variables.
-Therefore, number of assets is increased to compansate this early usage.
-
-Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/20656]
-Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
-Change-Id: Id8555a09335ce13b80c07a33c4d913f5cb0f9084
----
- platform/ext/target/arm/corstone1000/config_tfm_target.h | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/platform/ext/target/arm/corstone1000/config_tfm_target.h b/platform/ext/target/arm/corstone1000/config_tfm_target.h
-index bf8d2f95f..e96836663 100644
---- a/platform/ext/target/arm/corstone1000/config_tfm_target.h
-+++ b/platform/ext/target/arm/corstone1000/config_tfm_target.h
-@@ -16,4 +16,12 @@
- #undef PLATFORM_SERVICE_OUTPUT_BUFFER_SIZE
- #define PLATFORM_SERVICE_OUTPUT_BUFFER_SIZE    256
-
-+/* The maximum number of assets to be stored in the Internal Trusted Storage. */
-+#undef ITS_NUM_ASSETS
-+#define ITS_NUM_ASSETS       20
-+
-+/* The maximum number of assets to be stored in the Protected Storage area. */
-+#undef PS_NUM_ASSETS
-+#define PS_NUM_ASSETS        20
-+
- #endif /* __CONFIG_TFM_TARGET_H__ */
---
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.7.0-corstone1000.inc b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc
similarity index 61%
rename from meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.7.0-corstone1000.inc
rename to meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc
index 23c8c12..0831ed0 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.7.0-corstone1000.inc
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc
@@ -11,10 +11,6 @@
 EXTRA_OECMAKE += "-DPLATFORM_IS_FVP=${TFM_PLATFORM_IS_FVP}"
 EXTRA_OECMAKE += "-DCC312_LEGACY_DRIVER_API_ENABLED=ON"
 
-SRCREV_tfm = "94c55967cbd1832681f07074a0945605b02ec8d0"
-SRCREV_mcuboot = "9e8eddcecba931f99297765779f8b130d808a9a3"
-SRCREV_mbedtls = "8c89224991adff88d53cd380f42a2baa36f91454"
-
 # libmetal
 LICENSE += "& BSD-3-Clause"
 LIC_FILES_CHKSUM += "file://../libmetal/LICENSE.md;md5=fe0b8a4beea8f0813b606d15a3df3d3c"
@@ -30,28 +26,12 @@
 EXTRA_OECMAKE += "-DLIBOPENAMP_SRC_PATH=${S}/../openamp -DLIBOPENAMP_BIN_PATH=${B}/libopenamp-build"
 
 
-SRC_URI:remove:corstone1000 =" \
-    file://rwx.patch    \
-"
-
 FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
 SRC_URI:append:corstone1000 = " \
-    file://0001-Platform-corstone1000-make-sure-to-write-fwu-metadata-to-repl.patch      \
-    file://0002-Platform-corstone1000-get-fwu-and-private-metadata-f.patch      \
-    file://0003-Platform-corstone1000-Add-watchdog_reset_timer.patch            \
-    file://0004-Platform-corstone1000-Replace-MCUBOOT-BL1-by-TFM-s.patch        \
-    file://0005-Platform-corstone1000-Replace-MCUBOOT-BL1-by-TFM-s-B.patch      \
-    file://0006-Platform-corstone1000-Reorganize-bl2-files.patch                \
-    file://0007-Platform-corstone1000-Fix-linker-script-comment.patch           \
-    file://0008-Platform-corstone1000-Fix-linkerscripts-copyright-ye.patch      \
-    file://0009-Platform-corstone1000-fix-flash-reading-issue-for-fi.patch      \
-    file://0010-Platform-corstone1000-Adds-compiler-flags-to-FWU-age.patch      \
-    file://0011-Platform-corstone1000-adjust-PS-asset-configuration.patch       \
-    file://0012-Platform-corstone1000-Increase-number-of-assets.patch           \
-    file://0013-Platform-corstone1000-Increase-BL2-size-in-flash-lay.patch      \
-    file://0014-Platform-Corstone1000-Increase-BL2_DATA_SIZE.patch              \
-    file://0015-Platform-Corstone1000-Calculate-the-new-CRC32-value-.patch      \
-    file://corstone1000/rwx.patch                                               \
+    file://0001-Platform-corstone1000-Increase-BL2-size-in-flash-lay.patch \
+    file://0002-Platform-Corstone1000-Increase-BL2_DATA_SIZE.patch \
+    file://0003-Platform-Corstone1000-Calculate-the-new-CRC32-value-.patch \
+    file://0004-arm-trusted-firmware-m-disable-fatal-warnings.patch \
     "
 
 # TF-M ships patches for external dependencies that needs to be applied
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_%.bbappend b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_%.bbappend
new file mode 100644
index 0000000..da70bc7
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_%.bbappend
@@ -0,0 +1,6 @@
+# Machine specific configurations
+
+MACHINE_TFM_REQUIRE ?= ""
+MACHINE_TFM_REQUIRE:corstone1000 = "trusted-firmware-m-corstone1000.inc"
+
+require ${MACHINE_TFM_REQUIRE}
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.%.bbappend b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.%.bbappend
deleted file mode 100644
index a558cfe..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-# Machine specific configurations
-
-MACHINE_TFM_REQUIRE ?= ""
-MACHINE_TFM_REQUIRE:corstone1000 = "trusted-firmware-m-1.7.0-corstone1000.inc"
-
-require ${MACHINE_TFM_REQUIRE}
-
-COMPATIBLE_MACHINE:tc = "(tc1)"
-TFM_PLATFORM:tc = "arm/rss/tc"
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-arm64-smccc-add-support-for-SMCCCv1.2-x0-x17-registe.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-FF-A-v15-arm64-smccc-add-support-for-SMCCCv1.2-x0-x1.patch
similarity index 78%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-arm64-smccc-add-support-for-SMCCCv1.2-x0-x17-registe.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-FF-A-v15-arm64-smccc-add-support-for-SMCCCv1.2-x0-x1.patch
index 23f5019..df633e2 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-arm64-smccc-add-support-for-SMCCCv1.2-x0-x17-registe.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-FF-A-v15-arm64-smccc-add-support-for-SMCCCv1.2-x0-x1.patch
@@ -1,8 +1,8 @@
-From 5ce8bf4ad1aeb2657a7ab83c46eeb2cdaa56cfd4 Mon Sep 17 00:00:00 2001
+From b79722ade56bd49cf9e7d9b47b6256599c8cdb36 Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Fri, 29 Jul 2022 13:06:19 +0100
-Subject: [PATCH 01/42] arm64: smccc: add support for SMCCCv1.2 x0-x17
- registers
+Subject: [PATCH 01/33] FF-A v15: arm64: smccc: add support for SMCCCv1.2
+ x0-x17 registers
 
 add support for x0-x17 registers used by the SMC calls
 
@@ -16,51 +16,35 @@
 [1]: https://documentation-service.arm.com/static/5f8edaeff86e16515cdbe4c6?token=
 
 Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
 Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
+Reviewed-by: Simon Glass <sjg@chromium.org>
 Cc: Tom Rini <trini@konsulko.com>
-Cc: Simon Glass <sjg@chromium.org>
-Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
-Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20221122131751.22747-1-abdellatif.elkhlifi@arm.com/]
-
-Changelog:
-===============
-
-v7:
-
-* improve indentation of ARM_SMCCC_1_2_REGS_Xn_OFFS
-
-v4:
-
-* rename the commit title and improve description
-  new commit title: the current
-
-v3:
-
-* port x0-x17 registers support from linux kernel as defined by SMCCCv1.2
-  commit title:
-      arm64: smccc: add Xn registers support used by SMC calls
-
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
+Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20230713132847.176000-1-abdellatif.elkhlifi@arm.com/]
 ---
- arch/arm/cpu/armv8/smccc-call.S | 53 +++++++++++++++++++++++++++++++++
- arch/arm/lib/asm-offsets.c      | 14 +++++++++
- include/linux/arm-smccc.h       | 43 ++++++++++++++++++++++++++
- 3 files changed, 110 insertions(+)
+ arch/arm/cpu/armv8/smccc-call.S | 57 ++++++++++++++++++++++++++++++++-
+ arch/arm/lib/asm-offsets.c      | 16 +++++++++
+ include/linux/arm-smccc.h       | 45 ++++++++++++++++++++++++++
+ 3 files changed, 117 insertions(+), 1 deletion(-)
 
 diff --git a/arch/arm/cpu/armv8/smccc-call.S b/arch/arm/cpu/armv8/smccc-call.S
-index dc92b28777..ec6f299bc9 100644
+index dc92b28777..93f66d3366 100644
 --- a/arch/arm/cpu/armv8/smccc-call.S
 +++ b/arch/arm/cpu/armv8/smccc-call.S
-@@ -1,6 +1,8 @@
+@@ -1,7 +1,11 @@
  /* SPDX-License-Identifier: GPL-2.0 */
  /*
   * Copyright (c) 2015, Linaro Limited
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-  */
+- */
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++*/
  #include <linux/linkage.h>
  #include <linux/arm-smccc.h>
-@@ -45,3 +47,54 @@ ENDPROC(__arm_smccc_smc)
+ #include <generated/asm-offsets.h>
+@@ -45,3 +49,54 @@ ENDPROC(__arm_smccc_smc)
  ENTRY(__arm_smccc_hvc)
  	SMCCC	hvc
  ENDPROC(__arm_smccc_hvc)
@@ -116,20 +100,22 @@
 +
 +#endif
 diff --git a/arch/arm/lib/asm-offsets.c b/arch/arm/lib/asm-offsets.c
-index 22fd541f9a..db6d7ed234 100644
+index 6de0ce9152..181a8ac4c2 100644
 --- a/arch/arm/lib/asm-offsets.c
 +++ b/arch/arm/lib/asm-offsets.c
-@@ -9,6 +9,9 @@
+@@ -9,6 +9,11 @@
   * generate asm statements containing #defines,
   * compile this file to assembler, and then extract the
   * #defines from the assembly-language output.
 + *
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
   */
  
  #include <common.h>
-@@ -117,6 +120,17 @@ int main(void)
+@@ -90,6 +95,17 @@ int main(void)
  	DEFINE(ARM_SMCCC_RES_X2_OFFS, offsetof(struct arm_smccc_res, a2));
  	DEFINE(ARM_SMCCC_QUIRK_ID_OFFS, offsetof(struct arm_smccc_quirk, id));
  	DEFINE(ARM_SMCCC_QUIRK_STATE_OFFS, offsetof(struct arm_smccc_quirk, state));
@@ -148,19 +134,21 @@
  
  	return 0;
 diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h
-index e1d09884a1..9105031d55 100644
+index e1d09884a1..f44e9e8f93 100644
 --- a/include/linux/arm-smccc.h
 +++ b/include/linux/arm-smccc.h
-@@ -1,6 +1,8 @@
+@@ -1,6 +1,10 @@
  /* SPDX-License-Identifier: GPL-2.0 */
  /*
   * Copyright (c) 2015, Linaro Limited
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
   */
  #ifndef __LINUX_ARM_SMCCC_H
  #define __LINUX_ARM_SMCCC_H
-@@ -70,6 +72,47 @@ struct arm_smccc_res {
+@@ -70,6 +74,47 @@ struct arm_smccc_res {
  	unsigned long a3;
  };
  
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-lib-uuid-introduce-uuid_str_to_le_bin-function.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-FF-A-v15-lib-uuid-introduce-uuid_str_to_le_bin-funct.patch
similarity index 64%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-lib-uuid-introduce-uuid_str_to_le_bin-function.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-FF-A-v15-lib-uuid-introduce-uuid_str_to_le_bin-funct.patch
index 5c0c61e..550be6b 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-lib-uuid-introduce-uuid_str_to_le_bin-function.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-FF-A-v15-lib-uuid-introduce-uuid_str_to_le_bin-funct.patch
@@ -1,84 +1,69 @@
-From 1dcebf6f57e3490f7b3e2464b4114b993dd70c7c Mon Sep 17 00:00:00 2001
+From 43137871fcc46513eea1480cd78ad091763578f0 Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Thu, 4 Aug 2022 16:46:47 +0100
-Subject: [PATCH 02/42] lib: uuid: introduce uuid_str_to_le_bin function
+Subject: [PATCH 02/33] FF-A v15: lib: uuid: introduce uuid_str_to_le_bin
+ function
 
 convert UUID string to little endian binary data
 
 Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
 Cc: Tom Rini <trini@konsulko.com>
-Cc: Simon Glass <sjg@chromium.org>
 Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
 Cc: Jens Wiklander <jens.wiklander@linaro.org>
-Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20221122131751.22747-1-abdellatif.elkhlifi@arm.com/]
-
-Changelog:
-===============
-
-v8:
-
-* use simple_strtoull() in uuid_str_to_le_bin() to support 32-bit platforms
-
-v7:
-
-* rename be_uuid_str_to_le_bin() to uuid_str_to_le_bin()
-* make uuid_str_to_le_bin() implementation similar to uuid_str_to_bin()
-  by using same APIs
-
-v4:
-
-* rename ffa_uuid_str_to_bin to be_uuid_str_to_le_bin and put in
-  a standalone commit (the current)
-
-v3:
-
-* introduce ffa_uuid_str_to_bin (provided by
-  arm_ffa: introduce Arm FF-A low-level driver)
-
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
+Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20230713132847.176000-1-abdellatif.elkhlifi@arm.com/]
 ---
- include/uuid.h |  8 ++++++++
- lib/uuid.c     | 46 ++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 54 insertions(+)
+ include/uuid.h | 15 +++++++++++++++
+ lib/uuid.c     | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 63 insertions(+)
 
 diff --git a/include/uuid.h b/include/uuid.h
-index 4a4883d3b5..293a8eb0a5 100644
+index 4a4883d3b5..89b93e642b 100644
 --- a/include/uuid.h
 +++ b/include/uuid.h
-@@ -2,6 +2,8 @@
+@@ -2,6 +2,10 @@
  /*
   * Copyright (C) 2014 Samsung Electronics
   * Przemyslaw Marczak <p.marczak@samsung.com>
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
   */
  #ifndef __UUID_H__
  #define __UUID_H__
-@@ -44,4 +46,10 @@ int uuid_guid_get_bin(const char *guid_str, unsigned char *guid_bin);
+@@ -44,4 +48,15 @@ int uuid_guid_get_bin(const char *guid_str, unsigned char *guid_bin);
  const char *uuid_guid_get_str(const unsigned char *guid_bin);
  void gen_rand_uuid(unsigned char *uuid_bin);
  void gen_rand_uuid_str(char *uuid_str, int str_format);
 +
 +/**
-+ * uuid_str_to_le_bin - Converts a UUID string to little endian binary data
++ * uuid_str_to_le_bin() - Convert string UUID to little endian binary data.
++ * @uuid_str:	pointer to UUID string
++ * @uuid_bin:	pointer to allocated array for little endian output [16B]
++ * Return:
++ *    uuid_bin filled with little endian UUID data
++ *    On success 0 is returned. Otherwise, failure code.
 + */
 +int uuid_str_to_le_bin(const char *uuid_str, unsigned char *uuid_bin);
 +
  #endif
 diff --git a/lib/uuid.c b/lib/uuid.c
-index 465e1ac38f..d29f561a70 100644
+index 96e1af3c8b..45f325d964 100644
 --- a/lib/uuid.c
 +++ b/lib/uuid.c
-@@ -1,6 +1,8 @@
+@@ -1,6 +1,10 @@
  // SPDX-License-Identifier: GPL-2.0+
  /*
   * Copyright 2011 Calxeda, Inc.
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
   */
  
  #include <common.h>
-@@ -346,6 +348,50 @@ int uuid_str_to_bin(const char *uuid_str, unsigned char *uuid_bin,
+@@ -354,6 +358,50 @@ int uuid_str_to_bin(const char *uuid_str, unsigned char *uuid_bin,
  	return 0;
  }
  
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-FF-A-v15-lib-uuid-introduce-testcase-for-uuid_str_to.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-FF-A-v15-lib-uuid-introduce-testcase-for-uuid_str_to.patch
new file mode 100644
index 0000000..bbd4e04
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-FF-A-v15-lib-uuid-introduce-testcase-for-uuid_str_to.patch
@@ -0,0 +1,94 @@
+From 80fd758cb55f8b44078b4535284ea132b0d5a944 Mon Sep 17 00:00:00 2001
+From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Date: Mon, 27 Mar 2023 16:24:29 +0100
+Subject: [PATCH 03/33] FF-A v15: lib: uuid: introduce testcase for
+ uuid_str_to_le_bin
+
+provide a test case
+
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
+Cc: Tom Rini <trini@konsulko.com>
+Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20230713132847.176000-1-abdellatif.elkhlifi@arm.com/]
+---
+ MAINTAINERS       |  5 +++++
+ test/lib/Makefile |  1 +
+ test/lib/uuid.c   | 41 +++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 47 insertions(+)
+ create mode 100644 test/lib/uuid.c
+
+diff --git a/MAINTAINERS b/MAINTAINERS
+index 3bf60c4643..a1122afb01 100644
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -1632,3 +1632,8 @@ S:	Maintained
+ F:	arch/arm/dts/ls1021a-twr-u-boot.dtsi
+ F:	drivers/crypto/fsl/
+ F:	include/fsl_sec.h
++
++UUID testing
++M:	Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++S:	Maintained
++F:	test/lib/uuid.c
+diff --git a/test/lib/Makefile b/test/lib/Makefile
+index e0bd9e04e8..e75a263e6a 100644
+--- a/test/lib/Makefile
++++ b/test/lib/Makefile
+@@ -22,6 +22,7 @@ obj-$(CONFIG_AES) += test_aes.o
+ obj-$(CONFIG_GETOPT) += getopt.o
+ obj-$(CONFIG_CRC8) += test_crc8.o
+ obj-$(CONFIG_UT_LIB_CRYPT) += test_crypt.o
++obj-$(CONFIG_LIB_UUID) += uuid.o
+ else
+ obj-$(CONFIG_SANDBOX) += kconfig_spl.o
+ endif
+diff --git a/test/lib/uuid.c b/test/lib/uuid.c
+new file mode 100644
+index 0000000000..e24331a136
+--- /dev/null
++++ b/test/lib/uuid.c
+@@ -0,0 +1,41 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Functional tests for UCLASS_FFA  class
++ *
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ */
++
++#include <common.h>
++#include <uuid.h>
++#include <test/lib.h>
++#include <test/test.h>
++#include <test/ut.h>
++
++/* test UUID */
++#define TEST_SVC_UUID	"ed32d533-4209-99e6-2d72-cdd998a79cc0"
++
++#define UUID_SIZE 16
++
++/* The UUID binary data (little-endian format) */
++static const u8 ref_uuid_bin[UUID_SIZE] = {
++	0x33, 0xd5, 0x32, 0xed,
++	0x09, 0x42, 0xe6, 0x99,
++	0x72, 0x2d, 0xc0, 0x9c,
++	0xa7, 0x98, 0xd9, 0xcd
++};
++
++static int lib_test_uuid_to_le(struct unit_test_state *uts)
++{
++	const char *uuid_str = TEST_SVC_UUID;
++	u8 ret_uuid_bin[UUID_SIZE] = {0};
++
++	ut_assertok(uuid_str_to_le_bin(uuid_str, ret_uuid_bin));
++	ut_asserteq_mem(ref_uuid_bin, ret_uuid_bin, UUID_SIZE);
++
++	return 0;
++}
++
++LIB_TEST(lib_test_uuid_to_le, 0);
+-- 
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-arm_ffa-introduce-Arm-FF-A-low-level-driver.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-arm_ffa-introduce-Arm-FF-A-low-level-driver.patch
deleted file mode 100644
index f76c74b..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-arm_ffa-introduce-Arm-FF-A-low-level-driver.patch
+++ /dev/null
@@ -1,2139 +0,0 @@
-From 77cf1f517f6d92d5e3efb40d8335adb03b289525 Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Tue, 29 Nov 2022 14:40:05 +0000
-Subject: [PATCH 03/42] arm_ffa: introduce Arm FF-A low-level driver
-
-Add the core driver implementing Arm Firmware Framework for Armv8-A v1.0
-
-The Firmware Framework for Arm A-profile processors (FF-A v1.0) [1]
-describes interfaces (ABIs) that standardize communication
-between the Secure World and Normal World leveraging TrustZone
-technology.
-
-This driver uses 64-bit registers as per SMCCCv1.2 spec and comes
-on top of the SMCCC layer. The driver provides the FF-A ABIs needed for
-querying the FF-A framework from the secure world.
-
-The driver uses SMC32 calling convention which means using the first
-32-bit data of the Xn registers.
-
-All supported ABIs come with their 32-bit version except FFA_RXTX_MAP
-which has 64-bit version supported.
-
-Both 32-bit and 64-bit direct messaging are supported which allows both
-32-bit and 64-bit clients to use the FF-A bus.
-
-In U-Boot FF-A design, FF-A is considered as a discoverable bus.
-The Secure World is considered as one entity to communicate with
-using the FF-A bus. FF-A communication is handled by one device and
-one instance (the bus). This FF-A driver takes care of all the
-interactions between Normal world and Secure World.
-
-The driver exports its operations to be used by upper layers.
-
-Exported operations:
-
-- partition_info_get
-- sync_send_receive
-- rxtx_unmap
-
-For more details please refer to the driver documentation [2].
-
-[1]: https://developer.arm.com/documentation/den0077/latest/
-[2]: doc/arch/arm64.ffa.rst
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Cc: Tom Rini <trini@konsulko.com>
-Cc: Simon Glass <sjg@chromium.org>
-Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
-Cc: Jens Wiklander <jens.wiklander@linaro.org>
-Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20221122131751.22747-1-abdellatif.elkhlifi@arm.com/]
-
-Changelog:
-===============
-
-v8:
-
-* make ffa_get_partitions_info() second argument to be an SP count in both
-  modes
-* update ffa_bus_prvdata_get() to return a pointer rather than a pointer
-  address
-* remove packing from ffa_partition_info and ffa_send_direct_data structures
-* pass the FF-A bus device to the bus operations
-
-v7:
-
-* add support for 32-bit direct messaging
-* rename be_uuid_str_to_le_bin() to uuid_str_to_le_bin()
-* improve the declaration of error handling mapping
-* stating in doc/arch/arm64.ffa.rst that EFI runtime is not supported
-
-v6:
-
-* drop use of EFI runtime support (We decided with Linaro to add this later)
-* drop discovery from initcalls (discovery will be on demand by FF-A users)
-* set the alignment of the RX/TX buffers to the larger translation granule size
-* move FF-A RX/TX buffers unmapping at ExitBootServices() to a separate commit
-* update the documentation and move it to doc/arch/arm64.ffa.rst
-
-v4:
-
-* add doc/README.ffa.drv
-* moving the FF-A driver work to drivers/firmware/arm-ffa
-* use less #ifdefs in lib/efi_loader/efi_boottime.c and replace
-  #if defined by #if CONFIG_IS_ENABLED
-* improving error handling by mapping the FF-A errors to standard errors
-  and logs
-* replacing panics with an error log and returning an error code
-* improving features discovery in FFA_FEATURES by introducing
-  rxtx_min_pages private data field
-* add ffa_remove and ffa_unbind functions
-* improve how the driver behaves when bus discovery is done more than
-  once
-
-v3:
-
-* align the interfaces of the U-Boot FF-A driver with those in the linux
-  FF-A driver
-* remove the FF-A helper layer
-* make the U-Boot FF-A driver independent from EFI
-* provide an optional config that enables copying the driver data to EFI
-  runtime section at ExitBootServices service
-* use 64-bit version of FFA_RXTX_MAP, FFA_MSG_SEND_DIRECT_{REQ, RESP}
-
-v2:
-
-* make FF-A bus discoverable using device_{bind, probe} APIs
-* remove device tree support
-
-v1:
-
-* introduce FF-A bus driver with device tree support
-
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- MAINTAINERS                               |    7 +
- doc/arch/arm64.ffa.rst                    |  218 ++++
- doc/arch/index.rst                        |    1 +
- drivers/Kconfig                           |    2 +
- drivers/Makefile                          |    1 +
- drivers/firmware/arm-ffa/Kconfig          |   30 +
- drivers/firmware/arm-ffa/Makefile         |    6 +
- drivers/firmware/arm-ffa/arm-ffa-uclass.c |   16 +
- drivers/firmware/arm-ffa/arm_ffa_prv.h    |  200 ++++
- drivers/firmware/arm-ffa/core.c           | 1315 +++++++++++++++++++++
- include/arm_ffa.h                         |   97 ++
- include/dm/uclass-id.h                    |    4 +
- 12 files changed, 1897 insertions(+)
- create mode 100644 doc/arch/arm64.ffa.rst
- create mode 100644 drivers/firmware/arm-ffa/Kconfig
- create mode 100644 drivers/firmware/arm-ffa/Makefile
- create mode 100644 drivers/firmware/arm-ffa/arm-ffa-uclass.c
- create mode 100644 drivers/firmware/arm-ffa/arm_ffa_prv.h
- create mode 100644 drivers/firmware/arm-ffa/core.c
- create mode 100644 include/arm_ffa.h
-
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 3fc4cd0f12..509619d31c 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
-@@ -264,6 +264,13 @@ F:	drivers/net/cortina_ni.h
- F:	drivers/net/phy/ca_phy.c
- F:	configs/cortina_presidio-asic-pnand_defconfig
- 
-+ARM FF-A
-+M:	Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+S:	Maintained
-+F:	doc/arch/arm64.ffa.rst
-+F:	drivers/firmware/arm-ffa/
-+F:	include/arm_ffa.h
-+
- ARM FREESCALE IMX
- M:	Stefano Babic <sbabic@denx.de>
- M:	Fabio Estevam <festevam@gmail.com>
-diff --git a/doc/arch/arm64.ffa.rst b/doc/arch/arm64.ffa.rst
-new file mode 100644
-index 0000000000..dfcec82e45
---- /dev/null
-+++ b/doc/arch/arm64.ffa.rst
-@@ -0,0 +1,218 @@
-+.. SPDX-License-Identifier: GPL-2.0+
-+
-+Arm FF-A Driver
-+===============
-+
-+Summary
-+-------
-+
-+FF-A stands for Firmware Framework for Arm A-profile processors.
-+
-+FF-A specifies interfaces that enable a pair of software sandboxes to
-+communicate with each other. A sandbox aka partition could
-+be a VM in the Normal or Secure world, an application in S-EL0, or a
-+Trusted OS in S-EL1.
-+
-+This FF-A driver implements the interfaces to communicate with partitions in
-+the Secure world aka Secure partitions (SPs).
-+
-+The driver specifically focuses on communicating with SPs that isolate portions
-+of EFI runtime services that must run in a protected environment which is
-+inaccessible by the Host OS or Hypervisor. Examples of such services are
-+set/get variables.
-+
-+FF-A driver uses the SMC ABIs defined by the FF-A specification to:
-+
-+- Discover the presence of SPs of interest
-+- Access an SP's service through communication protocols
-+  e.g. EFI MM communication protocol
-+
-+At this stage of development the FF-A driver supports EFI boot time only.
-+
-+Runtime support will be added in future developments.
-+
-+FF-A and SMC specifications
-+-------------------------------------------
-+
-+The current implementation of the driver relies on FF-A specification v1.0
-+and uses SMC32 calling convention which means using the first 32-bit data of the
-+Xn registers.
-+
-+At this stage we only need the FF-A v1.0 features.
-+
-+The driver has been tested with OP-TEE which supports SMC32 calling convention.
-+
-+For more details please refer to the FF-A v1.0 spec:
-+https://documentation-service.arm.com/static/5fb7e8a6ca04df4095c1d65e?token=
-+
-+Hypervisors are supported if they are configured to trap SMC calls.
-+
-+The FF-A driver uses 64-bit registers as per SMCCCv1.2 specification.
-+
-+For more details please refer to the SMC Calling Convention v1.2 spec:
-+https://documentation-service.arm.com/static/5f8edaeff86e16515cdbe4c6?token=
-+
-+Supported hardware
-+--------------------------------
-+
-+Aarch64 plaforms
-+
-+Configuration
-+----------------------
-+
-+CONFIG_ARM_FFA_TRANSPORT
-+    Enables the FF-A bus driver. Turn this on if you want to use FF-A
-+    communication.
-+
-+CONFIG_SANDBOX_FFA
-+    Enables FF-A Sandbox driver. This emulates the FF-A ABIs handling under
-+    Sandbox and provides functional tests for FF-A.
-+
-+FF-A ABIs under the hood
-+---------------------------------------
-+
-+Invoking an FF-A ABI involves providing to the secure world/hypervisor the
-+expected arguments from the ABI.
-+
-+The ABI arguments are stored in x0 to x7 registers. Then, an SMC instruction
-+is executed.
-+
-+At the secure side level or hypervisor the ABI is handled at a higher exception
-+level and the arguments are read and processed.
-+
-+The response is put back through x0 to x7 registers and control is given back
-+to the U-Boot FF-A driver (non-secure world).
-+
-+The driver reads the response and processes it accordingly.
-+
-+This methodology applies to all the FF-A ABIs in the driver.
-+
-+FF-A bus discovery in U-Boot
-+-------------------------------------------
-+
-+When CONFIG_ARM_FFA_TRANSPORT is enabled, the FF-A bus is discovered on
-+demand by the clients (users).
-+
-+Clients can discover the FF-A bus using ffa_bus_discover() API which triggers the
-+discovery process.
-+
-+ffa_bus_discover() creates, binds and probes the arm_ffa device using
-+device_{bind, probe} APIs.
-+
-+The discovery process consists in communicating with secure world (or hypervisor)
-+and querying specific data.
-+
-+The discovery process takes place during the arm_ffa device probing which is
-+handled by ffa_probe().
-+
-+The FF-A bus discovery is successful and the bus is ready for use when these
-+operations succeed:
-+
-+- querying the FF-A framework version
-+- querying from secure world the U-Boot endpoint ID
-+- querying from secure world the RX/TX mapping  features
-+- mapping the RX/TX buffers
-+- querying from secure world all the partitions information
-+
-+Discovery failure results in a probing failure and the arm_ffa device is
-+destroyed.
-+
-+Requirements for clients
-+-------------------------------------
-+
-+When using the FF-A bus with EFI, clients must:
-+
-+- Query SPs in EFI boot time mode using the service UUID.
-+- Unmap RX/TX buffers before EFI runtime mode starts.
-+
-+The RX/TX buffers are only available at EFI boot time. Querying partitions is
-+done at boot time and data is cached for future use.
-+
-+RX/TX buffers should be unmapped by the user before EFI runtime mode
-+starts. The driver provides a bus operation for that: rxtx_unmap()
-+
-+If  RX/TX buffers created by U-Boot are not unmapped and by
-+consequence becoming available at EFI runtime, secure world will get confused
-+about RX/TX buffers ownership (U-Boot vs kernel).
-+
-+When invoking FF-A direct messaging, clients should specify which ABI protocol
-+they want to use (32-bit vs 64-bit). Selecting the protocol means using
-+the 32-bit or 64-bit version of FFA_MSG_SEND_DIRECT_{REQ, RESP}.
-+The calling convention stays the same: SMC32.
-+
-+The bus driver layer
-+------------------------------
-+
-+The driver comes on top of the SMCCC layer and is implemented in
-+drivers/firmware/arm-ffa/core.c
-+
-+The driver provides the following features:
-+
-+- Support for the 32-bit version of the following ABIs:
-+
-+FFA_VERSION
-+FFA_ID_GET
-+FFA_FEATURES
-+FFA_PARTITION_INFO_GET
-+FFA_RXTX_UNMAP
-+FFA_RX_RELEASE
-+FFA_RUN
-+FFA_ERROR
-+FFA_SUCCESS
-+FFA_INTERRUPT
-+FFA_MSG_SEND_DIRECT_REQ
-+FFA_MSG_SEND_DIRECT_RESP
-+
-+- Support for the 64-bit version of the following ABIs:
-+
-+FFA_RXTX_MAP
-+FFA_MSG_SEND_DIRECT_REQ
-+FFA_MSG_SEND_DIRECT_RESP
-+
-+- Processing the received data from the secure world/hypervisor and caching it
-+
-+- Hiding from upper layers the FF-A protocol and registers details. Upper
-+  layers focus on exchanged data, the driver takes care of how to transport
-+  that to the secure world/hypervisor using FF-A
-+
-+- The driver provides callbacks to be used by clients to access the FF-A bus:
-+
-+partition_info_get
-+sync_send_receive
-+rxtx_unmap
-+
-+- FF-A bus discovery makes sure FF-A framework is responsive and compatible
-+  with the driver
-+
-+- FF-A bus can be compiled and used without EFI
-+
-+Using armffa command
-+-----------------------------------
-+
-+armffa is an implementation defined command showcasing how to use the FF-A driver and how to invoke
-+its operations.
-+
-+This provides a guidance to the client developers on how to call the FF-A bus
-+interfaces.
-+
-+Usage:
-+
-+armffa <sub-command> <arguments>
-+
-+sub-commands:
-+
-+        getpart <partition UUID>
-+
-+            lists the partition(s) info
-+
-+        ping <partition ID>
-+
-+            sends a data pattern to the specified partition
-+
-+        devlist
-+
-+            displays the arm_ffa device info
-+
-+Contributors
-+------------
-+   * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-diff --git a/doc/arch/index.rst b/doc/arch/index.rst
-index b3e85f9bf3..cf1cfc9287 100644
---- a/doc/arch/index.rst
-+++ b/doc/arch/index.rst
-@@ -8,6 +8,7 @@ Architecture-specific doc
- 
-    arc
-    arm64
-+   arm64.ffa
-    m68k
-    mips
-    nios2
-diff --git a/drivers/Kconfig b/drivers/Kconfig
-index 75ac149d31..ff75b7c3f8 100644
---- a/drivers/Kconfig
-+++ b/drivers/Kconfig
-@@ -6,6 +6,8 @@ source "drivers/core/Kconfig"
- 
- source "drivers/adc/Kconfig"
- 
-+source "drivers/firmware/arm-ffa/Kconfig"
-+
- source "drivers/ata/Kconfig"
- 
- source "drivers/axi/Kconfig"
-diff --git a/drivers/Makefile b/drivers/Makefile
-index 6f1de58e00..28c8f538c8 100644
---- a/drivers/Makefile
-+++ b/drivers/Makefile
-@@ -112,6 +112,7 @@ obj-y += iommu/
- obj-y += smem/
- obj-y += thermal/
- obj-$(CONFIG_TEE) += tee/
-+obj-$(CONFIG_ARM_FFA_TRANSPORT) += firmware/arm-ffa/
- obj-y += axi/
- obj-y += ufs/
- obj-$(CONFIG_W1) += w1/
-diff --git a/drivers/firmware/arm-ffa/Kconfig b/drivers/firmware/arm-ffa/Kconfig
-new file mode 100644
-index 0000000000..e4914b9bc7
---- /dev/null
-+++ b/drivers/firmware/arm-ffa/Kconfig
-@@ -0,0 +1,30 @@
-+# SPDX-License-Identifier: GPL-2.0
-+
-+config ARM_FFA_TRANSPORT
-+	bool "Enable Arm Firmware Framework for Armv8-A driver"
-+	depends on DM && ARM64
-+	select ARM_SMCCC
-+	select LIB_UUID
-+	select DEVRES
-+	help
-+	  The Firmware Framework for Arm A-profile processors (FF-A)
-+	  describes interfaces (ABIs) that standardize communication
-+	  between the Secure World and Normal World leveraging TrustZone
-+	  technology.
-+
-+	  This driver is based on FF-A specification v1.0 and uses SMC32
-+	  calling convention.
-+
-+	  FF-A specification:
-+
-+	  https://developer.arm.com/documentation/den0077/a/?lang=en
-+
-+	  In U-Boot FF-A design, FF-A is considered as a discoverable bus.
-+	  The Secure World is considered as one entity to communicate with
-+	  using the FF-A bus.
-+	  FF-A communication is handled by one device and one instance (the bus).
-+	  This FF-A driver takes care of all the interactions between Normal world
-+	  and Secure World.
-+
-+	  For more details about the FF-A driver, please refer to doc/arch/arm64.ffa.rst
-+
-diff --git a/drivers/firmware/arm-ffa/Makefile b/drivers/firmware/arm-ffa/Makefile
-new file mode 100644
-index 0000000000..043a8915be
---- /dev/null
-+++ b/drivers/firmware/arm-ffa/Makefile
-@@ -0,0 +1,6 @@
-+# SPDX-License-Identifier: GPL-2.0+
-+#
-+# (C) Copyright 2022
-+# Abdellatif El Khlifi, Arm Limited, abdellatif.elkhlifi@arm.com.
-+
-+obj-y += arm-ffa-uclass.o core.o
-diff --git a/drivers/firmware/arm-ffa/arm-ffa-uclass.c b/drivers/firmware/arm-ffa/arm-ffa-uclass.c
-new file mode 100644
-index 0000000000..7d9695d289
---- /dev/null
-+++ b/drivers/firmware/arm-ffa/arm-ffa-uclass.c
-@@ -0,0 +1,16 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#include <common.h>
-+#include <dm.h>
-+#include <asm/global_data.h>
-+
-+DECLARE_GLOBAL_DATA_PTR;
-+
-+UCLASS_DRIVER(ffa) = {
-+	.name		= "ffa",
-+	.id		= UCLASS_FFA,
-+};
-diff --git a/drivers/firmware/arm-ffa/arm_ffa_prv.h b/drivers/firmware/arm-ffa/arm_ffa_prv.h
-new file mode 100644
-index 0000000000..4eea7dc036
---- /dev/null
-+++ b/drivers/firmware/arm-ffa/arm_ffa_prv.h
-@@ -0,0 +1,200 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#ifndef __ARM_FFA_PRV_H
-+#define __ARM_FFA_PRV_H
-+
-+#include <arm_ffa.h>
-+#include <linux/bitfield.h>
-+#include <linux/bitops.h>
-+#include <linux/arm-smccc.h>
-+
-+/*
-+ * This header is private. It is exclusively used by the FF-A driver
-+ */
-+
-+/* FF-A core driver name */
-+#define FFA_DRV_NAME "arm_ffa"
-+
-+/* FF-A driver version definitions */
-+
-+#define MAJOR_VERSION_MASK		GENMASK(30, 16)
-+#define MINOR_VERSION_MASK		GENMASK(15, 0)
-+#define GET_FFA_MAJOR_VERSION(x)		\
-+				((u16)(FIELD_GET(MAJOR_VERSION_MASK, (x))))
-+#define GET_FFA_MINOR_VERSION(x)		\
-+				((u16)(FIELD_GET(MINOR_VERSION_MASK, (x))))
-+#define PACK_VERSION_INFO(major, minor)			\
-+	(FIELD_PREP(MAJOR_VERSION_MASK, (major)) |	\
-+	 FIELD_PREP(MINOR_VERSION_MASK, (minor)))
-+
-+#define FFA_MAJOR_VERSION		(1)
-+#define FFA_MINOR_VERSION		(0)
-+#define FFA_VERSION_1_0		\
-+			PACK_VERSION_INFO(FFA_MAJOR_VERSION, FFA_MINOR_VERSION)
-+
-+/* Endpoint ID mask (u-boot endpoint ID) */
-+
-+#define GET_SELF_ENDPOINT_ID_MASK		GENMASK(15, 0)
-+#define GET_SELF_ENDPOINT_ID(x)		\
-+			((u16)(FIELD_GET(GET_SELF_ENDPOINT_ID_MASK, (x))))
-+
-+#define PREP_SELF_ENDPOINT_ID_MASK		GENMASK(31, 16)
-+#define PREP_SELF_ENDPOINT_ID(x)		\
-+			(FIELD_PREP(PREP_SELF_ENDPOINT_ID_MASK, (x)))
-+
-+/* Partition endpoint ID mask  (partition with which u-boot communicates with) */
-+
-+#define PREP_PART_ENDPOINT_ID_MASK		GENMASK(15, 0)
-+#define PREP_PART_ENDPOINT_ID(x)		\
-+			(FIELD_PREP(PREP_PART_ENDPOINT_ID_MASK, (x)))
-+
-+/*
-+ * Definitions of the Arm FF-A interfaces supported by the Arm FF-A driver
-+ */
-+
-+#define FFA_SMC(calling_convention, func_num)				\
-+	ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, (calling_convention),	\
-+			   ARM_SMCCC_OWNER_STANDARD, (func_num))
-+
-+#define FFA_SMC_32(func_num)				FFA_SMC(ARM_SMCCC_SMC_32, (func_num))
-+#define FFA_SMC_64(func_num)				FFA_SMC(ARM_SMCCC_SMC_64, (func_num))
-+
-+enum ffa_abis {
-+	FFA_ERROR                 = 0x60,
-+	FFA_SUCCESS               = 0x61,
-+	FFA_INTERRUPT             = 0x62,
-+	FFA_VERSION               = 0x63,
-+	FFA_FEATURES              = 0x64,
-+	FFA_RX_RELEASE            = 0x65,
-+	FFA_RXTX_MAP              = 0x66,
-+	FFA_RXTX_UNMAP            = 0x67,
-+	FFA_PARTITION_INFO_GET    = 0x68,
-+	FFA_ID_GET                = 0x69,
-+	FFA_RUN                   = 0x6D,
-+	FFA_MSG_SEND_DIRECT_REQ   = 0x6F,
-+	FFA_MSG_SEND_DIRECT_RESP  = 0x70,
-+
-+	/* to be updated when adding new FFA IDs */
-+	FFA_FIRST_ID              = FFA_ERROR, /* lowest number ID*/
-+	FFA_LAST_ID               = FFA_MSG_SEND_DIRECT_RESP, /* highest number ID*/
-+};
-+
-+enum ffa_abi_errcode {
-+	NOT_SUPPORTED = 1,
-+	INVALID_PARAMETERS,
-+	NO_MEMORY,
-+	BUSY,
-+	INTERRUPTED,
-+	DENIED,
-+	RETRY,
-+	ABORTED,
-+	MAX_NUMBER_FFA_ERR
-+};
-+
-+/* container structure and helper macros to map between an FF-A error and relevant error log */
-+struct ffa_abi_errmap {
-+	char *err_str[MAX_NUMBER_FFA_ERR];
-+};
-+
-+#define FFA_ERRMAP_COUNT (FFA_LAST_ID - FFA_FIRST_ID + 1)
-+#define FFA_ID_TO_ERRMAP_ID(ffa_id) ((ffa_id) - FFA_FIRST_ID)
-+
-+/* The FF-A SMC function definitions */
-+
-+typedef struct arm_smccc_1_2_regs ffa_value_t;
-+typedef void (*invoke_ffa_fn_t)(ffa_value_t args, ffa_value_t *res);
-+
-+/*
-+ * struct ffa_partition_uuid - 16 bytes UUID transmitted by FFA_PARTITION_INFO_GET
-+ * @a1-4:	32-bit words access to the UUID data
-+ *
-+ */
-+struct ffa_partition_uuid {
-+	u32 a1; /* w1 */
-+	u32 a2; /* w2 */
-+	u32 a3; /* w3 */
-+	u32 a4; /* w4 */
-+};
-+
-+/**
-+ * enum ffa_rxtx_buf_sizes - minimum sizes supported
-+ * for the RX/TX buffers
-+ */
-+enum ffa_rxtx_buf_sizes {
-+	RXTX_4K,
-+	RXTX_64K,
-+	RXTX_16K
-+};
-+
-+/**
-+ * struct ffa_rxtxpair - structure hosting the RX/TX buffers virtual addresses
-+ * @rxbuf:	virtual address of the RX buffer
-+ * @txbuf:	virtual address of the TX buffer
-+ * @rxtx_min_pages:	RX/TX buffers minimum size in pages
-+ *
-+ * Data structure hosting the virtual addresses of the mapped RX/TX buffers
-+ * These addresses are used by the FF-A functions that use the RX/TX buffers
-+ */
-+struct ffa_rxtxpair {
-+	u64 rxbuf; /* virtual address */
-+	u64 txbuf; /* virtual address */
-+	size_t rxtx_min_pages; /* minimum number of pages in each of the RX/TX buffers */
-+};
-+
-+/**
-+ * struct ffa_partition_desc - the secure partition descriptor
-+ * @info:	partition information
-+ * @sp_uuid:	the secure partition UUID
-+ *
-+ * Each partition has its descriptor containing the partitions information and the UUID
-+ */
-+struct ffa_partition_desc {
-+	struct ffa_partition_info info;
-+	struct ffa_partition_uuid sp_uuid;
-+};
-+
-+/**
-+ * struct ffa_partitions - descriptors for all secure partitions
-+ * @count:	The number of partitions descriptors
-+ * @descs	The partitions descriptors table
-+ *
-+ * This data structure contains the partitions descriptors table
-+ */
-+struct ffa_partitions {
-+	u32 count;
-+	struct ffa_partition_desc *descs; /* virtual address */
-+};
-+
-+/**
-+ * struct ffa_prvdata - the driver private data structure
-+ *
-+ * @dev:	The arm_ffa device under u-boot driver model
-+ * @ffa_ops:	The driver operations structure
-+ * @fwk_version:	FF-A framework version
-+ * @id:	u-boot endpoint ID
-+ * @partitions:	The partitions descriptors structure
-+ * @pair:	The RX/TX buffers pair
-+ * @invoke_ffa_fn:	The function executing the FF-A function
-+ *
-+ * The driver data structure hosting all resident data.
-+ */
-+struct ffa_prvdata {
-+	struct udevice *dev;
-+	struct ffa_bus_ops ffa_ops;
-+	u32 fwk_version;
-+	u16 id;
-+	struct ffa_partitions partitions;
-+	struct ffa_rxtxpair pair;
-+	invoke_ffa_fn_t invoke_ffa_fn;
-+};
-+
-+/**
-+ * ffa_bus_prvdata_get - bus driver private data getter
-+ */
-+struct ffa_prvdata *ffa_bus_prvdata_get(void);
-+
-+#endif
-diff --git a/drivers/firmware/arm-ffa/core.c b/drivers/firmware/arm-ffa/core.c
-new file mode 100644
-index 0000000000..0b1f8e6a07
---- /dev/null
-+++ b/drivers/firmware/arm-ffa/core.c
-@@ -0,0 +1,1315 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#include "arm_ffa_prv.h"
-+#include <asm/global_data.h>
-+#include <common.h>
-+#include <dm.h>
-+#include <dm/device-internal.h>
-+#include <dm/devres.h>
-+#include <dm/root.h>
-+#include <linux/errno.h>
-+#include <linux/sizes.h>
-+#include <log.h>
-+#include <malloc.h>
-+#include <string.h>
-+#include <uuid.h>
-+
-+DECLARE_GLOBAL_DATA_PTR;
-+
-+/**
-+ * The device private data structure containing all the
-+ * data read from secure world
-+ */
-+struct ffa_prvdata *ffa_priv_data;
-+
-+/* Error mapping declarations */
-+
-+int ffa_to_std_errmap[MAX_NUMBER_FFA_ERR] = {
-+	[NOT_SUPPORTED] = -EOPNOTSUPP,
-+	[INVALID_PARAMETERS] = -EINVAL,
-+	[NO_MEMORY] = -ENOMEM,
-+	[BUSY] = -EBUSY,
-+	[INTERRUPTED] = -EINTR,
-+	[DENIED] = -EACCES,
-+	[RETRY] = -EAGAIN,
-+	[ABORTED] = -ECANCELED,
-+};
-+
-+struct ffa_abi_errmap err_msg_map[FFA_ERRMAP_COUNT] = {
-+	[FFA_ID_TO_ERRMAP_ID(FFA_VERSION)] = {
-+		{
-+			[NOT_SUPPORTED] =
-+			"NOT_SUPPORTED: A Firmware Framework implementation does not exist",
-+		},
-+	},
-+	[FFA_ID_TO_ERRMAP_ID(FFA_ID_GET)] = {
-+		{
-+			[NOT_SUPPORTED] =
-+			"NOT_SUPPORTED: This function is not implemented at this FF-A instance",
-+		},
-+	},
-+	[FFA_ID_TO_ERRMAP_ID(FFA_FEATURES)] = {
-+		{
-+			[NOT_SUPPORTED] =
-+			"NOT_SUPPORTED: FFA_RXTX_MAP is not implemented at this FF-A instance",
-+		},
-+	},
-+	[FFA_ID_TO_ERRMAP_ID(FFA_PARTITION_INFO_GET)] = {
-+		{
-+			[NOT_SUPPORTED] =
-+			"NOT_SUPPORTED: This function is not implemented at this FF-A instance",
-+			[INVALID_PARAMETERS] =
-+			"INVALID_PARAMETERS: Unrecognized UUID",
-+			[NO_MEMORY] =
-+			"NO_MEMORY: Results cannot fit in RX buffer of the caller",
-+			[BUSY] =
-+			"BUSY: RX buffer of the caller is not free",
-+			[DENIED] =
-+			"DENIED: Callee is not in a state to handle this request",
-+		},
-+	},
-+	[FFA_ID_TO_ERRMAP_ID(FFA_RXTX_UNMAP)] = {
-+		{
-+			[NOT_SUPPORTED] =
-+			"NOT_SUPPORTED: FFA_RXTX_UNMAP is not implemented at this FF-A instance",
-+			[INVALID_PARAMETERS] =
-+			"INVALID_PARAMETERS: No buffer pair registered on behalf of the caller",
-+		},
-+	},
-+	[FFA_ID_TO_ERRMAP_ID(FFA_RX_RELEASE)] = {
-+		{
-+			[NOT_SUPPORTED] =
-+			"NOT_SUPPORTED: FFA_RX_RELEASE is not implemented at this FF-A instance",
-+			[DENIED] =
-+			"DENIED: Caller did not have ownership of the RX buffer",
-+		},
-+	},
-+	[FFA_ID_TO_ERRMAP_ID(FFA_RXTX_MAP)] = {
-+		{
-+			[NOT_SUPPORTED] =
-+			"NOT_SUPPORTED: This function is not implemented at this FF-A instance",
-+			[INVALID_PARAMETERS] =
-+			"INVALID_PARAMETERS: Field(s) in input parameters incorrectly encoded",
-+			[NO_MEMORY] =
-+			"NO_MEMORY: Not enough memory",
-+			[DENIED] =
-+			"DENIED: Buffer pair already registered",
-+		},
-+	},
-+};
-+
-+/**
-+ * ffa_to_std_errno - convert FF-A error code to standard error code
-+ * @ffa_errno:	Error code returned by the FF-A ABI
-+ *
-+ * This function maps the given FF-A error code as specified
-+ * by the spec to a u-boot standard error code.
-+ *
-+ * Return:
-+ *
-+ * The standard error code on success. . Otherwise, failure
-+ */
-+int ffa_to_std_errno(int ffa_errno)
-+{
-+	int err_idx = -ffa_errno;
-+
-+	/* map the FF-A error code to the standard u-boot error code */
-+	if (err_idx > 0 && err_idx < MAX_NUMBER_FFA_ERR)
-+		return ffa_to_std_errmap[err_idx];
-+	return -EINVAL;
-+}
-+
-+/**
-+ * ffa_print_error_log - print the error log corresponding to the selected FF-A ABI
-+ * @ffa_id:	FF-A ABI ID
-+ * @ffa_errno:	Error code returned by the FF-A ABI
-+ *
-+ * This function maps the FF-A error code to the error log relevant to the
-+ * selected FF-A ABI. Then the error log is printed.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. . Otherwise, failure
-+ */
-+int ffa_print_error_log(u32 ffa_id, int ffa_errno)
-+{
-+	int err_idx = -ffa_errno, abi_idx = 0;
-+
-+	/* map the FF-A error code to the corresponding error log */
-+
-+	if (err_idx <= 0 || err_idx >= MAX_NUMBER_FFA_ERR)
-+		return -EINVAL;
-+
-+	if (ffa_id < FFA_FIRST_ID || ffa_id > FFA_LAST_ID)
-+		return -EINVAL;
-+
-+	abi_idx = FFA_ID_TO_ERRMAP_ID(ffa_id);
-+	if (abi_idx < 0 || abi_idx >= FFA_ERRMAP_COUNT)
-+		return -EINVAL;
-+
-+	if (!err_msg_map[abi_idx].err_str[err_idx])
-+		return -EINVAL;
-+
-+	ffa_err("%s", err_msg_map[abi_idx].err_str[err_idx]);
-+
-+	return 0;
-+}
-+
-+/*
-+ * Driver core functions
-+ */
-+
-+/**
-+ * ffa_remove_device - removes the arm_ffa device
-+ * @dev:	the device to be removed
-+ *
-+ * This function makes sure the arm_ffa device is removed
-+ * No need to free the kmalloced data when the device is destroyed.
-+ * It's automatically done by devm management by
-+ * device_remove() -> device_free() -> devres_release_probe().
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+int ffa_remove_device(struct udevice *dev)
-+{
-+	int ret;
-+
-+	if (!dev) {
-+		ffa_err("no udevice found");
-+		return -ENODEV;
-+	}
-+
-+	ret = device_remove(dev, DM_REMOVE_NORMAL);
-+	if (ret) {
-+		ffa_err("unable to remove. err:%d\n", ret);
-+		return ret;
-+	}
-+
-+	ffa_info("device removed and freed");
-+
-+	ret = device_unbind(dev);
-+	if (ret) {
-+		ffa_err("unable to unbind. err:%d\n", ret);
-+		return ret;
-+	}
-+
-+	ffa_info("device unbound");
-+
-+	return 0;
-+}
-+
-+/**
-+ * ffa_device_get - create, bind and probe the arm_ffa device
-+ * @pdev: the address of a device pointer (to be filled when the arm_ffa bus device is created
-+ *       successfully)
-+ *
-+ * This function makes sure the arm_ffa device is
-+ * created, bound to this driver, probed and ready to use.
-+ * Arm FF-A transport is implemented through a single U-Boot
-+ * device managing the FF-A bus (arm_ffa).
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+int ffa_device_get(struct udevice **pdev)
-+{
-+	int ret;
-+	struct udevice *dev = NULL;
-+
-+	ret = device_bind(dm_root(), DM_DRIVER_GET(arm_ffa), FFA_DRV_NAME, NULL, ofnode_null(),
-+			  &dev);
-+	if (ret)
-+		return ret;
-+
-+	/* The FF-A bus discovery succeeds when probing is successful */
-+	ret = device_probe(dev);
-+	if (ret) {
-+		ffa_err("arm_ffa device probing failed");
-+		ffa_remove_device(dev);
-+		return ret;
-+	}
-+
-+	if (pdev)
-+		*pdev = dev;
-+
-+	return 0;
-+}
-+
-+/**
-+ * ffa_get_version - FFA_VERSION handler function
-+ *
-+ * This function implements FFA_VERSION FF-A function
-+ * to get from the secure world the FF-A framework version
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int ffa_get_version(void)
-+{
-+	u16 major, minor;
-+	ffa_value_t res = {0};
-+	int ffa_errno;
-+
-+	ffa_priv_data->invoke_ffa_fn((ffa_value_t){
-+			.a0 = FFA_SMC_32(FFA_VERSION), .a1 = FFA_VERSION_1_0,
-+			}, &res);
-+
-+	ffa_errno = res.a0;
-+	if (ffa_errno < 0) {
-+		ffa_print_error_log(FFA_VERSION, ffa_errno);
-+		return ffa_to_std_errno(ffa_errno);
-+	}
-+
-+	major = GET_FFA_MAJOR_VERSION(res.a0);
-+	minor = GET_FFA_MINOR_VERSION(res.a0);
-+
-+	ffa_info("FF-A driver %d.%d\nFF-A framework %d.%d",
-+		 FFA_MAJOR_VERSION, FFA_MINOR_VERSION, major, minor);
-+
-+	if ((major == FFA_MAJOR_VERSION && minor >= FFA_MINOR_VERSION)) {
-+		ffa_info("Versions are compatible ");
-+
-+		ffa_priv_data->fwk_version = res.a0;
-+
-+		return 0;
-+	}
-+
-+	ffa_err("versions are incompatible\nExpected: %d.%d , Found: %d.%d\n",
-+		FFA_MAJOR_VERSION, FFA_MINOR_VERSION, major, minor);
-+
-+	return -EPROTONOSUPPORT;
-+}
-+
-+/**
-+ * ffa_get_endpoint_id - FFA_ID_GET handler function
-+ *
-+ * This function implements FFA_ID_GET FF-A function
-+ * to get from the secure world u-boot endpoint ID
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int ffa_get_endpoint_id(void)
-+{
-+	ffa_value_t res = {0};
-+	int ffa_errno;
-+
-+	ffa_priv_data->invoke_ffa_fn((ffa_value_t){
-+			.a0 = FFA_SMC_32(FFA_ID_GET),
-+			}, &res);
-+
-+	if (res.a0 == FFA_SMC_32(FFA_SUCCESS)) {
-+		ffa_priv_data->id = GET_SELF_ENDPOINT_ID((u32)res.a2);
-+		ffa_info("endpoint ID is %u", ffa_priv_data->id);
-+
-+		return 0;
-+	}
-+
-+	ffa_errno = res.a2;
-+
-+	ffa_print_error_log(FFA_ID_GET, ffa_errno);
-+
-+	return ffa_to_std_errno(ffa_errno);
-+}
-+
-+/**
-+ * ffa_set_rxtx_buffers_pages_cnt - sets the minimum number of pages in each of the RX/TX buffers
-+ * @prop_field: properties field obtained from FFA_FEATURES ABI
-+ *
-+ * This function sets the minimum number of pages
-+ *  in each of the RX/TX buffers in the private data structure
-+ *
-+ * Return:
-+ *
-+ * buf_4k_pages points to the returned number of pages
-+ * 0 on success. Otherwise, failure
-+ */
-+static int ffa_set_rxtx_buffers_pages_cnt(u32 prop_field)
-+{
-+	if (!ffa_priv_data)
-+		return -EINVAL;
-+
-+	switch (prop_field) {
-+	case RXTX_4K:
-+		ffa_priv_data->pair.rxtx_min_pages = 1;
-+		break;
-+	case RXTX_16K:
-+		ffa_priv_data->pair.rxtx_min_pages = 4;
-+		break;
-+	case RXTX_64K:
-+		ffa_priv_data->pair.rxtx_min_pages = 16;
-+		break;
-+	default:
-+		ffa_err("RX/TX buffer size not supported");
-+		return -EINVAL;
-+	}
-+
-+	return 0;
-+}
-+
-+/**
-+ * ffa_get_rxtx_map_features - FFA_FEATURES handler function with FFA_RXTX_MAP argument
-+ *
-+ * This function implements FFA_FEATURES FF-A function
-+ * to retrieve the FFA_RXTX_MAP features
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int ffa_get_rxtx_map_features(void)
-+{
-+	ffa_value_t res = {0};
-+	int ffa_errno;
-+
-+	ffa_priv_data->invoke_ffa_fn((ffa_value_t){
-+			.a0 = FFA_SMC_32(FFA_FEATURES),
-+			.a1 = FFA_SMC_64(FFA_RXTX_MAP),
-+			}, &res);
-+
-+	if (res.a0 == FFA_SMC_32(FFA_SUCCESS))
-+		return ffa_set_rxtx_buffers_pages_cnt(res.a2);
-+
-+	ffa_errno = res.a2;
-+	ffa_print_error_log(FFA_FEATURES, ffa_errno);
-+
-+	return ffa_to_std_errno(ffa_errno);
-+}
-+
-+/**
-+ * ffa_free_rxtx_buffers - frees the RX/TX buffers
-+ *
-+ * This  function  frees the RX/TX buffers
-+ *
-+ */
-+static void ffa_free_rxtx_buffers(void)
-+{
-+	ffa_info("Freeing RX/TX buffers");
-+
-+	if (ffa_priv_data->pair.rxbuf) {
-+		free((void *)ffa_priv_data->pair.rxbuf);
-+		ffa_priv_data->pair.rxbuf = 0;
-+	}
-+
-+	if (ffa_priv_data->pair.txbuf) {
-+		free((void *)ffa_priv_data->pair.txbuf);
-+		ffa_priv_data->pair.txbuf = 0;
-+	}
-+}
-+
-+/**
-+ * ffa_alloc_rxtx_buffers - allocates the RX/TX buffers
-+ *
-+ * This function is used by ffa_map_rxtx_buffers to allocate
-+ * the RX/TX buffers before mapping them. The allocated memory is physically
-+ * contiguous since memalign ends up calling malloc which allocates
-+ * contiguous memory in u-boot.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int ffa_alloc_rxtx_buffers(void)
-+{
-+	u64 bytes;
-+
-+	ffa_info("Using %lu 4KB page(s) for RX/TX buffers size",
-+		 ffa_priv_data->pair.rxtx_min_pages);
-+
-+	bytes = ffa_priv_data->pair.rxtx_min_pages * SZ_4K;
-+
-+	/*
-+	 * The alignment of the RX and TX buffers must be equal
-+	 * to the larger translation granule size
-+	 */
-+
-+	ffa_priv_data->pair.rxbuf = (u64)memalign(bytes, bytes);
-+	if (!ffa_priv_data->pair.rxbuf) {
-+		ffa_err("failure to allocate RX buffer");
-+		return -ENOBUFS;
-+	}
-+
-+	ffa_info("RX buffer at virtual address 0x%llx", ffa_priv_data->pair.rxbuf);
-+
-+	ffa_priv_data->pair.txbuf = (u64)memalign(bytes, bytes);
-+	if (!ffa_priv_data->pair.txbuf) {
-+		free((void *)ffa_priv_data->pair.rxbuf);
-+		ffa_priv_data->pair.rxbuf = 0;
-+		ffa_err("failure to allocate the TX buffer");
-+		return -ENOBUFS;
-+	}
-+
-+	ffa_info("TX buffer at virtual address 0x%llx", ffa_priv_data->pair.txbuf);
-+
-+	/*
-+	 * make sure the buffers are cleared before use
-+	 */
-+	memset((void *)ffa_priv_data->pair.rxbuf, 0, bytes);
-+	memset((void *)ffa_priv_data->pair.txbuf, 0, bytes);
-+
-+	return 0;
-+}
-+
-+/**
-+ * ffa_map_rxtx_buffers - FFA_RXTX_MAP handler function
-+ *
-+ * This function implements FFA_RXTX_MAP FF-A function
-+ * to map the RX/TX buffers
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int ffa_map_rxtx_buffers(void)
-+{
-+	int ret;
-+	ffa_value_t res = {0};
-+	int ffa_errno;
-+
-+	ret = ffa_alloc_rxtx_buffers();
-+	if (ret)
-+		return ret;
-+
-+	/*
-+	 * we need to pass the physical addresses of the RX/TX buffers
-+	 * in u-boot physical/virtual mapping is 1:1
-+	 * no need to convert from virtual to physical
-+	 */
-+
-+	ffa_priv_data->invoke_ffa_fn((ffa_value_t){
-+			.a0 = FFA_SMC_64(FFA_RXTX_MAP),
-+			.a1 = ffa_priv_data->pair.txbuf,
-+			.a2 = ffa_priv_data->pair.rxbuf,
-+			.a3 = ffa_priv_data->pair.rxtx_min_pages,
-+			}, &res);
-+
-+	if (res.a0 == FFA_SMC_32(FFA_SUCCESS)) {
-+		ffa_info("RX/TX buffers mapped");
-+		return 0;
-+	}
-+
-+	ffa_errno = res.a2;
-+	ffa_print_error_log(FFA_RXTX_MAP, ffa_errno);
-+
-+	ffa_free_rxtx_buffers();
-+
-+	return ffa_to_std_errno(ffa_errno);
-+}
-+
-+/**
-+ * ffa_unmap_rxtx_buffers - FFA_RXTX_UNMAP handler function
-+ *	@dev: The arm_ffa bus device
-+ *
-+ * This function implements FFA_RXTX_UNMAP FF-A function
-+ * to unmap the RX/TX buffers
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int ffa_unmap_rxtx_buffers(struct udevice *dev)
-+{
-+	ffa_value_t res = {0};
-+	int ffa_errno;
-+
-+	ffa_priv_data->invoke_ffa_fn((ffa_value_t){
-+			.a0 = FFA_SMC_32(FFA_RXTX_UNMAP),
-+			.a1 = PREP_SELF_ENDPOINT_ID(ffa_priv_data->id),
-+			}, &res);
-+
-+	if (res.a0 == FFA_SMC_32(FFA_SUCCESS)) {
-+		ffa_free_rxtx_buffers();
-+		return 0;
-+	}
-+
-+	ffa_errno = res.a2;
-+	ffa_print_error_log(FFA_RXTX_UNMAP, ffa_errno);
-+
-+	return ffa_to_std_errno(ffa_errno);
-+}
-+
-+/**
-+ * ffa_release_rx_buffer - FFA_RX_RELEASE handler function
-+ *
-+ * This function invokes FFA_RX_RELEASE FF-A function
-+ * to release the ownership of the RX buffer
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int ffa_release_rx_buffer(void)
-+{
-+	ffa_value_t res = {0};
-+	int ffa_errno;
-+
-+	ffa_priv_data->invoke_ffa_fn((ffa_value_t){
-+			.a0 = FFA_SMC_32(FFA_RX_RELEASE),
-+			}, &res);
-+
-+	if (res.a0 == FFA_SMC_32(FFA_SUCCESS))
-+		return 0;
-+
-+	ffa_errno = res.a2;
-+	ffa_print_error_log(FFA_RX_RELEASE, ffa_errno);
-+
-+	return ffa_to_std_errno(ffa_errno);
-+}
-+
-+/**
-+ * ffa_uuid_are_identical - checks whether two given UUIDs are identical
-+ * @uuid1: first UUID
-+ * @uuid2: second UUID
-+ *
-+ * This function is used by ffa_read_partitions_info to search
-+ * for a UUID in the partitions descriptors table
-+ *
-+ * Return:
-+ *
-+ * 1 when UUIDs match. Otherwise, 0
-+ */
-+bool ffa_uuid_are_identical(const struct ffa_partition_uuid *uuid1,
-+			    const struct ffa_partition_uuid *uuid2)
-+{
-+	if (!uuid1 || !uuid2)
-+		return 0;
-+
-+	return !memcmp(uuid1, uuid2, sizeof(struct ffa_partition_uuid));
-+}
-+
-+/**
-+ * ffa_read_partitions_info - reads the data queried by FFA_PARTITION_INFO_GET
-+ *							and saves it in the private structure
-+ * @count: The number of partitions queried
-+ * @part_uuid: Pointer to the partition(s) UUID
-+ *
-+ * This function reads the partitions information
-+ * returned by the FFA_PARTITION_INFO_GET and saves it in the private
-+ * data structure.
-+ *
-+ * Return:
-+ *
-+ * The private data structure is updated with the partition(s) information
-+ * 0 is returned on success. Otherwise, failure
-+ */
-+static int ffa_read_partitions_info(u32 count, struct ffa_partition_uuid *part_uuid)
-+{
-+	if (!count) {
-+		ffa_err("no partition detected");
-+		return -ENODATA;
-+	}
-+
-+	ffa_info("Reading partitions data from the RX buffer");
-+
-+	if (!part_uuid) {
-+		/*
-+		 * querying information of all partitions
-+		 */
-+		u64 buf_bytes;
-+		u64 data_bytes;
-+		u32 desc_idx;
-+		struct ffa_partition_info *parts_info;
-+
-+		data_bytes = count * sizeof(struct ffa_partition_desc);
-+
-+		buf_bytes = ffa_priv_data->pair.rxtx_min_pages * SZ_4K;
-+
-+		if (data_bytes > buf_bytes) {
-+			ffa_err("partitions data size exceeds the RX buffer size:");
-+			ffa_err("    sizes in bytes: data %llu , RX buffer %llu ",
-+				data_bytes,
-+				buf_bytes);
-+
-+			return -ENOMEM;
-+		}
-+
-+		ffa_priv_data->partitions.descs = devm_kmalloc(ffa_priv_data->dev, data_bytes,
-+							       __GFP_ZERO);
-+		if (!ffa_priv_data->partitions.descs) {
-+			ffa_err("cannot  allocate partitions data buffer");
-+			return -ENOMEM;
-+		}
-+
-+		parts_info = (struct ffa_partition_info *)ffa_priv_data->pair.rxbuf;
-+
-+		for (desc_idx = 0 ; desc_idx < count ; desc_idx++) {
-+			ffa_priv_data->partitions.descs[desc_idx].info =
-+				parts_info[desc_idx];
-+
-+			ffa_info("Partition ID %x : info cached",
-+				 ffa_priv_data->partitions.descs[desc_idx].info.id);
-+		}
-+
-+		ffa_priv_data->partitions.count = count;
-+
-+		ffa_info("%d partition(s) found and cached", count);
-+
-+	} else {
-+		u32 rx_desc_idx, cached_desc_idx;
-+		struct ffa_partition_info *parts_info;
-+		u8 desc_found;
-+
-+		parts_info = (struct ffa_partition_info *)ffa_priv_data->pair.rxbuf;
-+
-+		/*
-+		 * search for the SP IDs read from the RX buffer
-+		 * in the already cached SPs.
-+		 * Update the UUID when ID found.
-+		 */
-+		for (rx_desc_idx = 0; rx_desc_idx < count ; rx_desc_idx++) {
-+			desc_found = 0;
-+
-+			/*
-+			 * search the current ID in the cached partitions
-+			 */
-+			for (cached_desc_idx = 0;
-+			     cached_desc_idx < ffa_priv_data->partitions.count;
-+			     cached_desc_idx++) {
-+				/*
-+				 * save the UUID
-+				 */
-+				if (ffa_priv_data->partitions.descs[cached_desc_idx].info.id ==
-+				    parts_info[rx_desc_idx].id) {
-+					ffa_priv_data->partitions.descs[cached_desc_idx].sp_uuid =
-+						*part_uuid;
-+
-+					desc_found = 1;
-+					break;
-+				}
-+			}
-+
-+			if (!desc_found)
-+				return -ENODATA;
-+		}
-+	}
-+
-+	return  0;
-+}
-+
-+/**
-+ * ffa_query_partitions_info - invokes FFA_PARTITION_INFO_GET and saves partitions data
-+ *
-+ * @part_uuid: Pointer to the partition(s) UUID
-+ * @pcount: Pointer to the number of partitions variable filled when querying
-+ *
-+ * This function executes the FFA_PARTITION_INFO_GET
-+ * to query the partitions data. Then, it calls ffa_read_partitions_info
-+ * to save the data in the private data structure.
-+ *
-+ * After reading the data the RX buffer is released using ffa_release_rx_buffer
-+ *
-+ * Return:
-+ *
-+ * When part_uuid is NULL, all partitions data are retrieved from secure world
-+ * When part_uuid is non NULL, data for partitions matching the given UUID are
-+ * retrieved and the number of partitions is returned
-+ * 0 is returned on success. Otherwise, failure
-+ */
-+static int ffa_query_partitions_info(struct ffa_partition_uuid *part_uuid,
-+				     u32 *pcount)
-+{
-+	struct ffa_partition_uuid query_uuid = {0};
-+	ffa_value_t res = {0};
-+	int ffa_errno;
-+
-+	/*
-+	 * If a UUID is specified. Information for one or more
-+	 * partitions in the system is queried. Otherwise, information
-+	 * for all installed partitions is queried
-+	 */
-+
-+	if (part_uuid) {
-+		if (!pcount)
-+			return -EINVAL;
-+
-+		query_uuid = *part_uuid;
-+	} else if (pcount) {
-+		return -EINVAL;
-+	}
-+
-+	ffa_priv_data->invoke_ffa_fn((ffa_value_t){
-+			.a0 = FFA_SMC_32(FFA_PARTITION_INFO_GET),
-+			.a1 = query_uuid.a1,
-+			.a2 = query_uuid.a2,
-+			.a3 = query_uuid.a3,
-+			.a4 = query_uuid.a4,
-+			}, &res);
-+
-+	if (res.a0 == FFA_SMC_32(FFA_SUCCESS)) {
-+		int ret;
-+
-+		/*
-+		 * res.a2 contains the count of partition information descriptors
-+		 * populated in the RX buffer
-+		 */
-+		if (res.a2) {
-+			ret = ffa_read_partitions_info((u32)res.a2, part_uuid);
-+			if (ret) {
-+				ffa_err("failed to read partition(s) data , error (%d)", ret);
-+				ffa_release_rx_buffer();
-+				return -EINVAL;
-+			}
-+		}
-+
-+		/*
-+		 * return the SP count (when querying using a UUID)
-+		 */
-+		if (pcount)
-+			*pcount = (u32)res.a2;
-+
-+		/*
-+		 * After calling FFA_PARTITION_INFO_GET the buffer ownership
-+		 * is assigned to the consumer (u-boot). So, we need to give
-+		 * the ownership back to the SPM or hypervisor
-+		 */
-+		ret = ffa_release_rx_buffer();
-+
-+		return ret;
-+	}
-+
-+	ffa_errno = res.a2;
-+	ffa_print_error_log(FFA_PARTITION_INFO_GET, ffa_errno);
-+
-+	return ffa_to_std_errno(ffa_errno);
-+}
-+
-+/**
-+ * ffa_get_partitions_info - FFA_PARTITION_INFO_GET handler function
-+ *
-+ * The passed arguments:
-+ * Mode 1: When getting from the driver the number of
-+ *	secure partitions:
-+ *	@uuid_str: pointer to the UUID string
-+ *	@sp_count: pointer to the variable that contains the number of partitions
-+ *			 The variable will be set by the driver
-+ *	@buffer: NULL
-+ *
-+ * Mode 2: When requesting the driver to return the
-+ *	partitions information:
-+ *	@dev: The arm_ffa bus device
-+ *	@uuid_str: pointer to the UUID string
-+ *	@sp_count: pointer to the variable that contains the number of empty partition descriptors
-+ *			 The variable will be read by the driver
-+ *	@buffer: pointer to SPs information buffer
-+ *		(allocated by the client and contains empty @sp_count descriptors).
-+ *		The buffer will be filled by the driver
-+ *
-+ * This function queries the secure partition data from
-+ * the private data structure. If not found, it invokes FFA_PARTITION_INFO_GET
-+ * FF-A function to query the partition information from secure world.
-+ *
-+ * A client of the FF-A driver should know the UUID of the service it wants to
-+ * access. It should use the UUID to request the FF-A driver to provide the
-+ * partition(s) information of the service. The FF-A driver uses
-+ * PARTITION_INFO_GET to obtain this information. This is implemented through
-+ * ffa_get_partitions_info function.
-+ * A new FFA_PARTITION_INFO_GET call is issued (first one performed through
-+ * ffa_cache_partitions_info) allowing to retrieve the partition(s) information.
-+ * They are not saved (already done). We only update the UUID in the cached area.
-+ * This assumes that partitions data does not change in the secure world.
-+ * Otherwise u-boot will have an outdated partition data. The benefit of caching
-+ * the information in the FF-A driver is to accommodate discovery after
-+ * ExitBootServices().
-+ *
-+ * When invoked through a client request, ffa_get_partitions_info should be
-+ * called twice. First call is to get from the driver the number of secure
-+ * partitions (SPs) associated to a particular UUID.
-+ * Then, the caller (client) allocates the buffer to host the SPs data and
-+ * issues a 2nd call. Then, the driver fills the SPs data in the pre-allocated
-+ * buffer.
-+ *
-+ * To achieve the mechanism described above, ffa_get_partitions_info uses the
-+ * following functions:
-+ *		ffa_read_partitions_info
-+ *		ffa_query_partitions_info
-+ *
-+ * Return:
-+ *
-+ * @sp_count: When pointing to the number of partitions variable, the number is
-+ * set by the driver.
-+ * When pointing to the partitions information buffer size, the buffer will be
-+ * filled by the driver.
-+ *
-+ * On success 0 is returned. Otherwise, failure
-+ */
-+static int ffa_get_partitions_info(struct udevice *dev, const char *uuid_str,
-+				   u32 *sp_count, struct ffa_partition_info *buffer)
-+{
-+	/*
-+	 * fill_data:
-+	 * 0: return the SP count
-+	 * 1: fill SP data and return it to the caller
-+	 */
-+	bool fill_data = 0;
-+	u32 desc_idx, client_desc_idx;
-+	struct ffa_partition_uuid part_uuid = {0};
-+	u32 sp_found = 0;
-+
-+	if (!ffa_priv_data->partitions.count || !ffa_priv_data->partitions.descs) {
-+		ffa_err("no partition installed");
-+		return -EINVAL;
-+	}
-+
-+	if (!uuid_str) {
-+		ffa_err("no UUID provided");
-+		return -EINVAL;
-+	}
-+
-+	if (!sp_count) {
-+		ffa_err("no size/count provided");
-+		return -EINVAL;
-+	}
-+
-+	if (uuid_str_to_le_bin(uuid_str, (unsigned char *)&part_uuid)) {
-+		ffa_err("invalid UUID");
-+		return -EINVAL;
-+	}
-+
-+	if (!buffer) {
-+		/* Mode 1: getting the number of secure partitions */
-+
-+		fill_data = 0;
-+
-+		ffa_info("Preparing for checking partitions count");
-+
-+	} else if (*sp_count) {
-+		/* Mode 2: retrieving the partitions information */
-+
-+		fill_data = 1;
-+
-+		client_desc_idx = 0;
-+
-+		ffa_info("Preparing for filling partitions info");
-+
-+	} else {
-+		ffa_err("invalid function arguments provided");
-+		return -EINVAL;
-+	}
-+
-+	ffa_info("Searching partitions using the provided UUID");
-+
-+	/*
-+	 * search in the cached partitions
-+	 */
-+	for (desc_idx = 0;
-+	     desc_idx < ffa_priv_data->partitions.count;
-+	     desc_idx++) {
-+		if (ffa_uuid_are_identical(&ffa_priv_data->partitions.descs[desc_idx].sp_uuid,
-+					   &part_uuid)) {
-+			ffa_info("Partition ID %x matches the provided UUID",
-+				 ffa_priv_data->partitions.descs[desc_idx].info.id);
-+
-+			sp_found++;
-+
-+			if (fill_data) {
-+				/*
-+				 * trying to fill the partition info in the input buffer
-+				 */
-+
-+				if (client_desc_idx < *sp_count) {
-+					buffer[client_desc_idx++] =
-+						ffa_priv_data->partitions.descs[desc_idx].info;
-+					continue;
-+				}
-+
-+				ffa_err("failed to fill the current descriptor client buffer full");
-+				return -ENOBUFS;
-+			}
-+		}
-+	}
-+
-+	if (!sp_found) {
-+		int ret;
-+
-+		ffa_info("No partition found. Querying framework ...");
-+
-+		ret = ffa_query_partitions_info(&part_uuid, &sp_found);
-+
-+		if (ret == 0) {
-+			if (!fill_data) {
-+				*sp_count = sp_found;
-+
-+				ffa_info("Number of partition(s) found matching the UUID: %d",
-+					 sp_found);
-+			} else {
-+				/*
-+				 * If SPs data detected, they are already in the private data
-+				 * structure, retry searching SP data again to return them
-+				 *  to the caller
-+				 */
-+				if (sp_found)
-+					ret = ffa_get_partitions_info(dev, uuid_str, sp_count,
-+								      buffer);
-+				else
-+					ret = -ENODATA;
-+			}
-+		}
-+
-+		return ret;
-+	}
-+
-+	/* partition(s) found */
-+	if (!fill_data)
-+		*sp_count = sp_found;
-+
-+	return 0;
-+}
-+
-+/**
-+ * ffa_cache_partitions_info - Queries and saves all secure partitions data
-+ *
-+ * This function invokes FFA_PARTITION_INFO_GET FF-A
-+ * function to query from secure world all partitions information.
-+ *
-+ * The FFA_PARTITION_INFO_GET call is issued with nil UUID as an argument.
-+ * All installed partitions information are returned. We cache them in the
-+ * resident private data structure and we keep the UUID field empty
-+ * (in FF-A 1.0 UUID is not provided by the partition descriptor)
-+ *
-+ * This function is called at the device probing level.
-+ * ffa_cache_partitions_info uses ffa_query_partitions_info to get the data
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int ffa_cache_partitions_info(void)
-+{
-+	return ffa_query_partitions_info(NULL, NULL);
-+}
-+
-+/**
-+ * ffa_msg_send_direct_req - FFA_MSG_SEND_DIRECT_{REQ,RESP} handler function
-+ * @dev: The arm_ffa bus device
-+ * @dst_part_id: destination partition ID
-+ * @msg: pointer to the message data preallocated by the client (in/out)
-+ * @is_smc64: select 64-bit or 32-bit FF-A ABI
-+ *
-+ * This function implements FFA_MSG_SEND_DIRECT_{REQ,RESP}
-+ * FF-A functions.
-+ *
-+ * FFA_MSG_SEND_DIRECT_REQ is used to send the data to the secure partition.
-+ * The response from the secure partition is handled by reading the
-+ * FFA_MSG_SEND_DIRECT_RESP arguments.
-+ *
-+ * The maximum size of the data that can be exchanged is 40 bytes which is
-+ * sizeof(struct ffa_send_direct_data) as defined by the FF-A specification 1.0
-+ * in the section relevant to FFA_MSG_SEND_DIRECT_{REQ,RESP}
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int ffa_msg_send_direct_req(struct udevice *dev, u16 dst_part_id,
-+				   struct ffa_send_direct_data *msg, bool is_smc64)
-+{
-+	ffa_value_t res = {0};
-+	int ffa_errno;
-+	u64 req_mode, resp_mode;
-+
-+	if (!ffa_priv_data || !ffa_priv_data->invoke_ffa_fn)
-+		return -EINVAL;
-+
-+	/* No partition installed */
-+	if (!ffa_priv_data->partitions.count || !ffa_priv_data->partitions.descs)
-+		return -ENODEV;
-+
-+	if (is_smc64) {
-+		req_mode = FFA_SMC_64(FFA_MSG_SEND_DIRECT_REQ);
-+		resp_mode = FFA_SMC_64(FFA_MSG_SEND_DIRECT_RESP);
-+	} else {
-+		req_mode = FFA_SMC_32(FFA_MSG_SEND_DIRECT_REQ);
-+		resp_mode = FFA_SMC_32(FFA_MSG_SEND_DIRECT_RESP);
-+	}
-+
-+	ffa_priv_data->invoke_ffa_fn((ffa_value_t){
-+			.a0 = req_mode,
-+			.a1 = PREP_SELF_ENDPOINT_ID(ffa_priv_data->id) |
-+				PREP_PART_ENDPOINT_ID(dst_part_id),
-+			.a2 = 0,
-+			.a3 = msg->data0,
-+			.a4 = msg->data1,
-+			.a5 = msg->data2,
-+			.a6 = msg->data3,
-+			.a7 = msg->data4,
-+			}, &res);
-+
-+	while (res.a0 == FFA_SMC_32(FFA_INTERRUPT))
-+		ffa_priv_data->invoke_ffa_fn((ffa_value_t){
-+			.a0 = FFA_SMC_32(FFA_RUN),
-+			.a1 = res.a1,
-+			}, &res);
-+
-+	if (res.a0 == FFA_SMC_32(FFA_SUCCESS)) {
-+		/* Message sent with no response */
-+		return 0;
-+	}
-+
-+	if (res.a0 == resp_mode) {
-+		/*
-+		 * Message sent with response
-+		 * extract the return data
-+		 */
-+		msg->data0 = res.a3;
-+		msg->data1 = res.a4;
-+		msg->data2 = res.a5;
-+		msg->data3 = res.a6;
-+		msg->data4 = res.a7;
-+
-+		return 0;
-+	}
-+
-+	ffa_errno = res.a2;
-+	return ffa_to_std_errno(ffa_errno);
-+}
-+
-+/**
-+ * __arm_ffa_fn_smc - SMC wrapper
-+ * @args: FF-A ABI arguments to be copied to Xn registers
-+ * @res: FF-A ABI return data to be copied from Xn registers
-+ *
-+ * Calls low level SMC assembly function
-+ *
-+ * Return: void
-+ */
-+void __arm_ffa_fn_smc(ffa_value_t args, ffa_value_t *res)
-+{
-+	arm_smccc_1_2_smc(&args, res);
-+}
-+
-+/**
-+ * ffa_set_smc_conduit - Set the SMC conduit
-+ *
-+ * This function selects the SMC conduit by setting the driver invoke function
-+ * to SMC assembly function
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int ffa_set_smc_conduit(void)
-+{
-+	ffa_priv_data->invoke_ffa_fn = __arm_ffa_fn_smc;
-+
-+	if (!ffa_priv_data->invoke_ffa_fn) {
-+		ffa_err("failure to set the invoke function");
-+		return -EINVAL;
-+	}
-+
-+	ffa_info("Conduit is SMC");
-+
-+	return 0;
-+}
-+
-+/**
-+ * ffa_set_bus_ops - Set the bus driver operations
-+ *
-+ * Setting the driver callbacks.
-+ *
-+ */
-+static void ffa_set_bus_ops(void)
-+{
-+	ffa_priv_data->ffa_ops.partition_info_get = ffa_get_partitions_info;
-+	ffa_priv_data->ffa_ops.sync_send_receive = ffa_msg_send_direct_req;
-+	ffa_priv_data->ffa_ops.rxtx_unmap = ffa_unmap_rxtx_buffers;
-+}
-+
-+/**
-+ * ffa_alloc_prvdata - allocate the driver main data structure and sets the device
-+ * @dev:	the arm_ffa device
-+ *
-+ * This function creates the main data structure embedding all the driver data.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int ffa_alloc_prvdata(struct udevice *dev)
-+{
-+	if (!dev) {
-+		ffa_err("no udevice found");
-+		return -ENODEV;
-+	}
-+
-+	/* The device is registered with the DM. Let's create the driver main data structure*/
-+
-+	ffa_priv_data = devm_kmalloc(dev, sizeof(struct ffa_prvdata), __GFP_ZERO);
-+	if (!ffa_priv_data) {
-+		ffa_err("can not allocate the driver main data structure");
-+		return -ENOMEM;
-+	}
-+
-+	ffa_priv_data->dev = dev;
-+
-+	return 0;
-+}
-+
-+/**
-+ * ffa_probe - The driver probe function
-+ * @dev:	the arm_ffa device
-+ *
-+ * Probing is done at boot time and triggered by the uclass device discovery.
-+ * At probe level the following actions are done:
-+ *	- setting the conduit
-+ *	- querying the FF-A framework version
-+ *	- querying from secure world the u-boot endpoint ID
-+ *	- querying from secure world the supported features of FFA_RXTX_MAP
-+ *	- mapping the RX/TX buffers
-+ *	- querying from secure world all the partitions information
-+ *
-+ * All data queried from secure world is saved in the resident private data structure.
-+ *
-+ * The probe will fail if either FF-A framework is not detected or the
-+ * FF-A requests are not behaving correctly. This ensures that the
-+ * driver is not installed and its operations are not exported to the clients.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int ffa_probe(struct udevice *dev)
-+{
-+	int ret;
-+
-+	ret = ffa_alloc_prvdata(dev);
-+	if (ret != 0)
-+		return ret;
-+
-+	ffa_set_bus_ops();
-+
-+	ret = ffa_set_smc_conduit();
-+	if (ret != 0)
-+		return ret;
-+
-+	ret = ffa_get_version();
-+	if (ret != 0)
-+		return ret;
-+
-+	ret = ffa_get_endpoint_id();
-+	if (ret != 0)
-+		return ret;
-+
-+	ret = ffa_get_rxtx_map_features();
-+	if (ret != 0)
-+		return ret;
-+
-+	ret = ffa_map_rxtx_buffers();
-+	if (ret != 0)
-+		return ret;
-+
-+	ret = ffa_cache_partitions_info();
-+	if (ret != 0) {
-+		ffa_free_rxtx_buffers();
-+		return ret;
-+	}
-+
-+	return 0;
-+}
-+
-+/**
-+ * ffa_remove - The driver remove function
-+ * @dev:	the arm_ffa device
-+ * When the device is about to be removed ,  unmap the RX/TX buffers and free the memory
-+ * Return:
-+ *
-+ * 0 on success.
-+ */
-+static int ffa_remove(struct udevice *dev)
-+{
-+	ffa_info("removing the device");
-+
-+	ffa_unmap_rxtx_buffers(dev);
-+
-+	if (ffa_priv_data->pair.rxbuf || ffa_priv_data->pair.txbuf)
-+		ffa_free_rxtx_buffers();
-+
-+	return 0;
-+}
-+
-+/**
-+ * ffa_unbind - The driver unbind function
-+ * @dev:	the arm_ffa device
-+ * After the device is removed and memory freed the device is unbound
-+ * Return:
-+ *
-+ * 0 on success.
-+ */
-+static int ffa_unbind(struct udevice *dev)
-+{
-+	ffa_info("unbinding the device , private data already released");
-+
-+	ffa_priv_data = NULL;
-+
-+	return 0;
-+}
-+
-+/**
-+ * ffa_bus_ops_get - bus driver operations getter
-+ *
-+ * Return:
-+ * This function returns a pointer to the driver operations structure
-+ */
-+const struct ffa_bus_ops *ffa_bus_ops_get(void)
-+{
-+	return &ffa_priv_data->ffa_ops;
-+}
-+
-+/**
-+ * ffa_bus_prvdata_get - bus driver private data getter
-+ *
-+ * Return:
-+ * This function returns a pointer to the main private data structure
-+ */
-+struct ffa_prvdata *ffa_bus_prvdata_get(void)
-+{
-+	return ffa_priv_data;
-+}
-+
-+/**
-+ * ffa_bus_discover - discover FF-A bus and probe arm_ffa device
-+ * @pdev: the address of a device pointer (to be filled when the arm_ffa bus device is created
-+ *       successfully)
-+ *
-+ * This function makes sure the FF-A bus is discoverable.
-+ * When probing succeeds FF-A discovery is done. The arm_ffa device is ready to use.
-+ *
-+ * When the bus was already discovered successfully the discovery will not run again.
-+ *
-+ * Arm FF-A transport is implemented through arm_ffa u-boot device managing the FF-A
-+ * communication.
-+ * All FF-A clients should use the arm_ffa device to use the FF-A transport.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+int ffa_bus_discover(struct udevice **pdev)
-+{
-+	int ret = 0;
-+
-+	if (!ffa_priv_data) {
-+		ret = ffa_device_get(pdev);
-+
-+	return ret;
-+}
-+
-+/**
-+ * Declaring the arm_ffa driver under UCLASS_FFA
-+ */
-+
-+U_BOOT_DRIVER(arm_ffa) = {
-+	.name		= FFA_DRV_NAME,
-+	.id		= UCLASS_FFA,
-+	.probe		= ffa_probe,
-+	.remove		= ffa_remove,
-+	.unbind		= ffa_unbind,
-+};
-diff --git a/include/arm_ffa.h b/include/arm_ffa.h
-new file mode 100644
-index 0000000000..74b16174c2
---- /dev/null
-+++ b/include/arm_ffa.h
-@@ -0,0 +1,97 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#ifndef __ARM_FFA_H
-+#define __ARM_FFA_H
-+
-+#include <linux/printk.h>
-+
-+/*
-+ * This header is public. It can be used by clients to access
-+ * data structures and definitions they need
-+ */
-+
-+/*
-+ * Macros for displaying logs
-+ */
-+
-+#define ffa_info(fmt, ...)  pr_info("[FFA] " fmt "\n", ##__VA_ARGS__)
-+#define ffa_err(fmt, ...)  pr_err("[FFA] " fmt "\n", ##__VA_ARGS__)
-+
-+/*
-+ * struct ffa_partition_info - Partition information descriptor
-+ * @id:	Partition ID
-+ * @exec_ctxt:	Execution context count
-+ * @properties:	Partition properties
-+ *
-+ * Data structure containing information about partitions instantiated in the system
-+ * This structure is filled with the data queried by FFA_PARTITION_INFO_GET
-+ */
-+struct ffa_partition_info {
-+	u16 id;
-+	u16 exec_ctxt;
-+/* partition supports receipt of direct requests */
-+#define FFA_PARTITION_DIRECT_RECV	BIT(0)
-+/* partition can send direct requests. */
-+#define FFA_PARTITION_DIRECT_SEND	BIT(1)
-+/* partition can send and receive indirect messages. */
-+#define FFA_PARTITION_INDIRECT_MSG	BIT(2)
-+	u32 properties;
-+};
-+
-+/*
-+ * struct ffa_send_direct_data - Data structure hosting the data
-+ *                                       used by FFA_MSG_SEND_DIRECT_{REQ,RESP}
-+ * @data0-4:	Data read/written from/to x3-x7 registers
-+ *
-+ * Data structure containing the data to be sent by FFA_MSG_SEND_DIRECT_REQ
-+ * or read from FFA_MSG_SEND_DIRECT_RESP
-+ */
-+
-+/* For use with FFA_MSG_SEND_DIRECT_{REQ,RESP} which pass data via registers */
-+struct ffa_send_direct_data {
-+	unsigned long data0; /* w3/x3 */
-+	unsigned long data1; /* w4/x4 */
-+	unsigned long data2; /* w5/x5 */
-+	unsigned long data3; /* w6/x6 */
-+	unsigned long data4; /* w7/x7 */
-+};
-+
-+struct udevice;
-+
-+/**
-+ * struct ffa_bus_ops - The driver operations structure
-+ * @partition_info_get:	callback for the FFA_PARTITION_INFO_GET
-+ * @sync_send_receive:	callback for the FFA_MSG_SEND_DIRECT_REQ
-+ * @rxtx_unmap:	callback for the FFA_RXTX_UNMAP
-+ *
-+ * The data structure providing all the operations supported by the driver.
-+ * This structure is EFI runtime resident.
-+ */
-+struct ffa_bus_ops {
-+	int (*partition_info_get)(struct udevice *dev, const char *uuid_str,
-+				  u32 *sp_count, struct ffa_partition_info *buffer);
-+	int (*sync_send_receive)(struct udevice *dev, u16 dst_part_id,
-+				 struct ffa_send_direct_data *msg,
-+				 bool is_smc64);
-+	int (*rxtx_unmap)(struct udevice *dev);
-+};
-+
-+/**
-+ * The device driver and the Uclass driver public functions
-+ */
-+
-+/**
-+ * ffa_bus_ops_get - driver operations getter
-+ */
-+const struct ffa_bus_ops *ffa_bus_ops_get(void);
-+
-+/**
-+ * ffa_bus_discover - discover FF-A bus and probes the arm_ffa device
-+ */
-+int ffa_bus_discover(struct udevice **pdev);
-+
-+#endif
-diff --git a/include/dm/uclass-id.h b/include/dm/uclass-id.h
-index 376f741cc2..fa08a66ac8 100644
---- a/include/dm/uclass-id.h
-+++ b/include/dm/uclass-id.h
-@@ -4,6 +4,9 @@
-  *
-  * (C) Copyright 2012
-  * Pavel Herrmann <morpheus.ibis@gmail.com>
-+ *
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-  */
- 
- #ifndef _DM_UCLASS_ID_H
-@@ -55,6 +58,7 @@ enum uclass_id {
- 	UCLASS_EFI_MEDIA,	/* Devices provided by UEFI firmware */
- 	UCLASS_ETH,		/* Ethernet device */
- 	UCLASS_ETH_PHY,		/* Ethernet PHY device */
-+	UCLASS_FFA,		/* Arm Firmware Framework for Armv8-A */
- 	UCLASS_FIRMWARE,	/* Firmware */
- 	UCLASS_FPGA,		/* FPGA device */
- 	UCLASS_FUZZING_ENGINE,	/* Fuzzing engine */
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-FF-A-v15-arm_ffa-introduce-Arm-FF-A-support.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-FF-A-v15-arm_ffa-introduce-Arm-FF-A-support.patch
new file mode 100644
index 0000000..f0d6763
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-FF-A-v15-arm_ffa-introduce-Arm-FF-A-support.patch
@@ -0,0 +1,2132 @@
+From e8b71ec24884a0c973ac663e6802ff529a8be349 Mon Sep 17 00:00:00 2001
+From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Date: Mon, 17 Jul 2023 15:11:43 +0100
+Subject: [PATCH 04/33] FF-A v15: arm_ffa: introduce Arm FF-A support
+
+Add Arm FF-A support implementing Arm Firmware Framework for Armv8-A v1.0
+
+The Firmware Framework for Arm A-profile processors (FF-A v1.0) [1]
+describes interfaces (ABIs) that standardize communication
+between the Secure World and Normal World leveraging TrustZone
+technology.
+
+This driver uses 64-bit registers as per SMCCCv1.2 spec and comes
+on top of the SMCCC layer. The driver provides the FF-A ABIs needed for
+querying the FF-A framework from the secure world.
+
+The driver uses SMC32 calling convention which means using the first
+32-bit data of the Xn registers.
+
+All supported ABIs come with their 32-bit version except FFA_RXTX_MAP
+which has 64-bit version supported.
+
+Both 32-bit and 64-bit direct messaging are supported which allows both
+32-bit and 64-bit clients to use the FF-A bus.
+
+FF-A is a discoverable bus and similar to architecture features.
+FF-A bus is discovered using ARM_SMCCC_FEATURES mechanism performed
+by the PSCI driver.
+
+Clients are able to probe then use the FF-A bus by calling the DM class
+searching APIs (e.g: uclass_first_device).
+
+The Secure World is considered as one entity to communicate with
+using the FF-A bus. FF-A communication is handled by one device and
+one instance (the bus). This FF-A driver takes care of all the
+interactions between Normal world and Secure World.
+
+The driver exports its operations to be used by upper layers.
+
+Exported operations:
+
+- ffa_partition_info_get
+- ffa_sync_send_receive
+- ffa_rxtx_unmap
+
+Generic FF-A methods are implemented in the Uclass (arm-ffa-uclass.c).
+Arm specific methods are implemented in the Arm driver (arm-ffa.c).
+
+For more details please refer to the driver documentation [2].
+
+[1]: https://developer.arm.com/documentation/den0077/latest/
+[2]: doc/arch/arm64.ffa.rst
+
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
+Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20230713132847.176000-1-abdellatif.elkhlifi@arm.com/]
+---
+ MAINTAINERS                                   |    8 +
+ doc/arch/arm64.ffa.rst                        |  238 ++++
+ doc/arch/index.rst                            |    1 +
+ drivers/Makefile                              |    1 +
+ drivers/firmware/Kconfig                      |    1 +
+ drivers/firmware/arm-ffa/Kconfig              |   36 +
+ drivers/firmware/arm-ffa/Makefile             |    8 +
+ drivers/firmware/arm-ffa/arm-ffa-uclass.c     | 1065 +++++++++++++++++
+ drivers/firmware/arm-ffa/arm-ffa.c            |  104 ++
+ .../firmware/arm-ffa/sandbox_arm_ffa_priv.h   |   14 +
+ include/arm_ffa.h                             |  213 ++++
+ include/arm_ffa_priv.h                        |  246 ++++
+ include/dm/uclass-id.h                        |    6 +
+ 13 files changed, 1941 insertions(+)
+ create mode 100644 doc/arch/arm64.ffa.rst
+ create mode 100644 drivers/firmware/arm-ffa/Kconfig
+ create mode 100644 drivers/firmware/arm-ffa/Makefile
+ create mode 100644 drivers/firmware/arm-ffa/arm-ffa-uclass.c
+ create mode 100644 drivers/firmware/arm-ffa/arm-ffa.c
+ create mode 100644 drivers/firmware/arm-ffa/sandbox_arm_ffa_priv.h
+ create mode 100644 include/arm_ffa.h
+ create mode 100644 include/arm_ffa_priv.h
+
+diff --git a/MAINTAINERS b/MAINTAINERS
+index a1122afb01..9c5ebf312c 100644
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -266,6 +266,14 @@ F:	drivers/net/cortina_ni.h
+ F:	drivers/net/phy/ca_phy.c
+ F:	configs/cortina_presidio-asic-pnand_defconfig
+ 
++ARM FF-A
++M:	Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++S:	Maintained
++F:	doc/arch/arm64.ffa.rst
++F:	drivers/firmware/arm-ffa/
++F:	include/arm_ffa.h
++F:	include/sandbox_arm_ffa.h
++
+ ARM FREESCALE IMX
+ M:	Stefano Babic <sbabic@denx.de>
+ M:	Fabio Estevam <festevam@gmail.com>
+diff --git a/doc/arch/arm64.ffa.rst b/doc/arch/arm64.ffa.rst
+new file mode 100644
+index 0000000000..4f817f053c
+--- /dev/null
++++ b/doc/arch/arm64.ffa.rst
+@@ -0,0 +1,238 @@
++.. SPDX-License-Identifier: GPL-2.0+
++
++Arm FF-A Support
++================
++
++Summary
++-------
++
++FF-A stands for Firmware Framework for Arm A-profile processors.
++
++FF-A specifies interfaces that enable a pair of software execution environments aka partitions to
++communicate with each other. A partition could be a VM in the Normal or Secure world, an
++application in S-EL0, or a Trusted OS in S-EL1.
++
++The U-Boot FF-A support (the bus) implements the interfaces to communicate
++with partitions in the Secure world aka Secure partitions (SPs).
++
++The FF-A support specifically focuses on communicating with SPs that
++isolate portions of EFI runtime services that must run in a protected
++environment which is inaccessible by the Host OS or Hypervisor.
++Examples of such services are set/get variables.
++
++The FF-A support uses the SMC ABIs defined by the FF-A specification to:
++
++- Discover the presence of SPs of interest
++- Access an SP's service through communication protocols
++  e.g. EFI MM communication protocol
++
++At this stage of development only EFI boot-time services are supported.
++Runtime support will be added in future developments.
++
++The U-Boot FF-A support provides the following parts:
++
++- A Uclass driver providing generic FF-A methods.
++- An Arm FF-A device driver providing Arm-specific methods and reusing the Uclass methods.
++
++FF-A and SMC specifications
++-------------------------------------------
++
++The current implementation of the U-Boot FF-A support relies on
++`FF-A v1.0 specification`_ and uses SMC32 calling convention which
++means using the first 32-bit data of the Xn registers.
++
++At this stage we only need the FF-A v1.0 features.
++
++The FF-A support has been tested with OP-TEE which supports SMC32 calling
++convention.
++
++Hypervisors are supported if they are configured to trap SMC calls.
++
++The FF-A support uses 64-bit registers as per `SMC Calling Convention v1.2 specification`_.
++
++Supported hardware
++--------------------------------
++
++Aarch64 plaforms
++
++Configuration
++----------------------
++
++CONFIG_ARM_FFA_TRANSPORT
++    Enables the FF-A support. Turn this on if you want to use FF-A
++    communication.
++    When using an Arm 64-bit platform, the Arm FF-A driver will be used.
++
++FF-A ABIs under the hood
++---------------------------------------
++
++Invoking an FF-A ABI involves providing to the secure world/hypervisor the
++expected arguments from the ABI.
++
++On an Arm 64-bit platform, the ABI arguments are stored in x0 to x7 registers.
++Then, an SMC instruction is executed.
++
++At the secure side level or hypervisor the ABI is handled at a higher exception
++level and the arguments are read and processed.
++
++The response is put back through x0 to x7 registers and control is given back
++to the U-Boot Arm FF-A driver (non-secure world).
++
++The driver reads the response and processes it accordingly.
++
++This methodology applies to all the FF-A ABIs.
++
++FF-A bus discovery on Arm 64-bit platforms
++---------------------------------------------
++
++When CONFIG_ARM_FFA_TRANSPORT is enabled, the FF-A bus is considered as
++an architecture feature and discovered using ARM_SMCCC_FEATURES mechanism.
++This discovery mechanism is performed by the PSCI driver.
++
++The PSCI driver comes with a PSCI device tree node which is the root node for all
++architecture features including FF-A bus.
++
++::
++
++   => dm tree
++
++    Class     Index  Probed  Driver                Name
++   -----------------------------------------------------------
++   ...
++    firmware      0  [ + ]   psci                      |-- psci
++    ffa                   0  [   ]   arm_ffa               |   `-- arm_ffa
++   ...
++
++The PSCI driver is bound to the PSCI device and when probed it tries to discover
++the architecture features by calling a callback the features drivers provide.
++
++In case of FF-A, the callback is arm_ffa_is_supported() which tries to discover the
++FF-A framework by querying the FF-A framework version from secure world using
++FFA_VERSION ABI. When discovery is successful, the ARM_SMCCC_FEATURES
++mechanism creates a U-Boot device for the FF-A bus and binds the Arm FF-A driver
++with the device using device_bind_driver().
++
++At this stage the FF-A bus is registered with the DM and can be interacted with using
++the DM APIs.
++
++Clients are able to probe then use the FF-A bus by calling uclass_first_device().
++Please refer to the armffa command implementation as an example of how to probe
++and interact with the FF-A bus.
++
++When calling uclass_first_device(), the FF-A driver is probed and ends up calling
++ffa_do_probe() provided by the Uclass which does the following:
++
++    - saving the FF-A framework version in uc_priv
++    - querying from secure world the u-boot endpoint ID
++    - querying from secure world the supported features of FFA_RXTX_MAP
++    - mapping the RX/TX buffers
++    - querying from secure world all the partitions information
++
++When one of the above actions fails, probing fails and the driver stays not active
++and can be probed again if needed.
++
++Requirements for clients
++-------------------------------------
++
++When using the FF-A bus with EFI, clients must query the SPs they are looking for
++during EFI boot-time mode using the service UUID.
++
++The RX/TX buffers are only available at EFI boot-time. Querying partitions is
++done at boot time and data is cached for future use.
++
++RX/TX buffers should be unmapped before EFI runtime mode starts.
++The driver provides a bus operation for that called ffa_rxtx_unmap().
++
++The user should call ffa_rxtx_unmap() to unmap the RX/TX buffers when required
++(e.g: at efi_exit_boot_services()).
++
++The Linux kernel allocates its own RX/TX buffers. To be able to register these kernel buffers
++with secure world, the U-Boot's RX/TX buffers should be unmapped before EFI runtime starts.
++
++When invoking FF-A direct messaging, clients should specify which ABI protocol
++they want to use (32-bit vs 64-bit). Selecting the protocol means using
++the 32-bit or 64-bit version of FFA_MSG_SEND_DIRECT_{REQ, RESP}.
++The calling convention between U-Boot and the secure world stays the same: SMC32.
++
++Requirements for user drivers
++-------------------------------------
++
++Users who want to implement their custom FF-A device driver while reusing the FF-A Uclass can do so
++by implementing their own invoke_ffa_fn() in the user driver.
++
++The bus driver layer
++------------------------------
++
++FF-A support comes on top of the SMCCC layer and is implemented by the FF-A Uclass drivers/firmware/arm-ffa/arm-ffa-uclass.c
++
++The following features are provided:
++
++- Support for the 32-bit version of the following ABIs:
++
++    - FFA_VERSION
++    - FFA_ID_GET
++    - FFA_FEATURES
++    - FFA_PARTITION_INFO_GET
++    - FFA_RXTX_UNMAP
++    - FFA_RX_RELEASE
++    - FFA_RUN
++    - FFA_ERROR
++    - FFA_SUCCESS
++    - FFA_INTERRUPT
++    - FFA_MSG_SEND_DIRECT_REQ
++    - FFA_MSG_SEND_DIRECT_RESP
++
++- Support for the 64-bit version of the following ABIs:
++
++    - FFA_RXTX_MAP
++    - FFA_MSG_SEND_DIRECT_REQ
++    - FFA_MSG_SEND_DIRECT_RESP
++
++- Processing the received data from the secure world/hypervisor and caching it
++
++- Hiding from upper layers the FF-A protocol and registers details. Upper
++  layers focus on exchanged data, FF-A support takes care of how to transport
++  that to the secure world/hypervisor using FF-A
++
++- FF-A support provides driver operations to be used by upper layers:
++
++    - ffa_partition_info_get
++    - ffa_sync_send_receive
++    - ffa_rxtx_unmap
++
++- FF-A bus discovery makes sure FF-A framework is responsive and compatible
++  with the driver
++
++- FF-A bus can be compiled and used without EFI
++
++Example of boot logs with FF-A enabled
++--------------------------------------
++
++For example, when using FF-A with Corstone-1000 the logs are as follows:
++
++::
++
++   U-Boot 2023.01 (May 10 2023 - 11:08:07 +0000) corstone1000 aarch64
++
++   DRAM:  2 GiB
++   Arm FF-A framework discovery
++   FF-A driver 1.0
++   FF-A framework 1.0
++   FF-A versions are compatible
++   ...
++   FF-A driver 1.0
++   FF-A framework 1.0
++   FF-A versions are compatible
++   EFI: MM partition ID 0x8003
++   ...
++   EFI stub: Booting Linux Kernel...
++   ...
++   Linux version 6.1.9-yocto-standard (oe-user@oe-host) (aarch64-poky-linux-musl-gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.40.202301193
++   Machine model: ARM Corstone1000 FPGA MPS3 board
++
++Contributors
++------------
++   * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++
++.. _`FF-A v1.0 specification`: https://documentation-service.arm.com/static/5fb7e8a6ca04df4095c1d65e
++.. _`SMC Calling Convention v1.2 specification`: https://documentation-service.arm.com/static/5f8edaeff86e16515cdbe4c6
+diff --git a/doc/arch/index.rst b/doc/arch/index.rst
+index b8da4b8c8e..2f916f4026 100644
+--- a/doc/arch/index.rst
++++ b/doc/arch/index.rst
+@@ -8,6 +8,7 @@ Architecture-specific doc
+ 
+    arc
+    arm64
++   arm64.ffa
+    m68k
+    mips
+    nios2
+diff --git a/drivers/Makefile b/drivers/Makefile
+index 29be78a3f2..6094fac50d 100644
+--- a/drivers/Makefile
++++ b/drivers/Makefile
+@@ -114,6 +114,7 @@ obj-y += iommu/
+ obj-y += smem/
+ obj-y += thermal/
+ obj-$(CONFIG_TEE) += tee/
++obj-$(CONFIG_ARM_FFA_TRANSPORT) += firmware/arm-ffa/
+ obj-y += axi/
+ obj-y += ufs/
+ obj-$(CONFIG_W1) += w1/
+diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
+index eae1c8ddc9..8789b1ea14 100644
+--- a/drivers/firmware/Kconfig
++++ b/drivers/firmware/Kconfig
+@@ -45,4 +45,5 @@ config ARM_SMCCC_FEATURES
+ 	  the PSCI driver is always probed and binds dirvers registered to the Arm SMCCC
+ 	  services if any and reported as supported by the SMCCC firmware.
+ 
++source "drivers/firmware/arm-ffa/Kconfig"
+ source "drivers/firmware/scmi/Kconfig"
+diff --git a/drivers/firmware/arm-ffa/Kconfig b/drivers/firmware/arm-ffa/Kconfig
+new file mode 100644
+index 0000000000..9200c8028b
+--- /dev/null
++++ b/drivers/firmware/arm-ffa/Kconfig
+@@ -0,0 +1,36 @@
++# SPDX-License-Identifier: GPL-2.0
++
++config ARM_FFA_TRANSPORT
++	bool "Enable Arm Firmware Framework for Armv8-A driver"
++	depends on DM && ARM64
++	select ARM_SMCCC
++	select ARM_SMCCC_FEATURES
++	select LIB_UUID
++	select DEVRES
++	help
++	  The Firmware Framework for Arm A-profile processors (FF-A)
++	  describes interfaces (ABIs) that standardize communication
++	  between the Secure World and Normal World leveraging TrustZone
++	  technology.
++
++	  The FF-A support in U-Boot is based on FF-A specification v1.0 and uses SMC32
++	  calling convention.
++
++	  FF-A specification:
++
++	  https://developer.arm.com/documentation/den0077/a/?lang=en
++
++	  In U-Boot FF-A design, FF-A is considered as a discoverable bus.
++	  FF-A bus is discovered using ARM_SMCCC_FEATURES mechanism performed
++	  by the PSCI driver.
++	  The Secure World is considered as one entity to communicate with
++	  using the FF-A bus.
++	  FF-A communication is handled by one device and one instance (the bus).
++	  The FF-A support on U-Boot  takes care of all the interactions between Normal
++	  world and Secure World.
++
++	  Generic FF-A methods are implemented in the Uclass (arm-ffa-uclass.c).
++	  Arm specific methods are implemented in the Arm driver (arm-ffa.c).
++
++	  For more details about the FF-A support, please refer to doc/arch/arm64.ffa.rst
++
+diff --git a/drivers/firmware/arm-ffa/Makefile b/drivers/firmware/arm-ffa/Makefile
+new file mode 100644
+index 0000000000..11b1766285
+--- /dev/null
++++ b/drivers/firmware/arm-ffa/Makefile
+@@ -0,0 +1,8 @@
++# SPDX-License-Identifier: GPL-2.0+
++#
++# Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++#
++# Authors:
++#   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++
++obj-y += arm-ffa-uclass.o arm-ffa.o
+diff --git a/drivers/firmware/arm-ffa/arm-ffa-uclass.c b/drivers/firmware/arm-ffa/arm-ffa-uclass.c
+new file mode 100644
+index 0000000000..ffa9d81fa7
+--- /dev/null
++++ b/drivers/firmware/arm-ffa/arm-ffa-uclass.c
+@@ -0,0 +1,1065 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ */
++#include <common.h>
++#include <arm_ffa.h>
++#include <arm_ffa_priv.h>
++#include <dm.h>
++#include <log.h>
++#include <malloc.h>
++#include <string.h>
++#include <uuid.h>
++#include <asm/global_data.h>
++#include <dm/device-internal.h>
++#include <dm/devres.h>
++#include <dm/root.h>
++#include <linux/errno.h>
++#include <linux/sizes.h>
++
++DECLARE_GLOBAL_DATA_PTR;
++
++/* Error mapping declarations */
++
++int ffa_to_std_errmap[MAX_NUMBER_FFA_ERR] = {
++	[NOT_SUPPORTED] = -EOPNOTSUPP,
++	[INVALID_PARAMETERS] = -EINVAL,
++	[NO_MEMORY] = -ENOMEM,
++	[BUSY] = -EBUSY,
++	[INTERRUPTED] = -EINTR,
++	[DENIED] = -EACCES,
++	[RETRY] = -EAGAIN,
++	[ABORTED] = -ECANCELED,
++};
++
++static struct ffa_abi_errmap err_msg_map[FFA_ERRMAP_COUNT] = {
++	[FFA_ID_TO_ERRMAP_ID(FFA_VERSION)] = {
++		{
++			[NOT_SUPPORTED] =
++			"NOT_SUPPORTED: A Firmware Framework implementation does not exist",
++		},
++	},
++	[FFA_ID_TO_ERRMAP_ID(FFA_ID_GET)] = {
++		{
++			[NOT_SUPPORTED] =
++			"NOT_SUPPORTED: This function is not implemented at this FF-A instance",
++		},
++	},
++	[FFA_ID_TO_ERRMAP_ID(FFA_FEATURES)] = {
++		{
++			[NOT_SUPPORTED] =
++			"NOT_SUPPORTED: FFA_RXTX_MAP is not implemented at this FF-A instance",
++		},
++	},
++	[FFA_ID_TO_ERRMAP_ID(FFA_PARTITION_INFO_GET)] = {
++		{
++			[NOT_SUPPORTED] =
++			"NOT_SUPPORTED: This function is not implemented at this FF-A instance",
++			[INVALID_PARAMETERS] =
++			"INVALID_PARAMETERS: Unrecognized UUID",
++			[NO_MEMORY] =
++			"NO_MEMORY: Results cannot fit in RX buffer of the caller",
++			[BUSY] =
++			"BUSY: RX buffer of the caller is not free",
++			[DENIED] =
++			"DENIED: Callee is not in a state to handle this request",
++		},
++	},
++	[FFA_ID_TO_ERRMAP_ID(FFA_RXTX_UNMAP)] = {
++		{
++			[NOT_SUPPORTED] =
++			"NOT_SUPPORTED: FFA_RXTX_UNMAP is not implemented at this FF-A instance",
++			[INVALID_PARAMETERS] =
++			"INVALID_PARAMETERS: No buffer pair registered on behalf of the caller",
++		},
++	},
++	[FFA_ID_TO_ERRMAP_ID(FFA_RX_RELEASE)] = {
++		{
++			[NOT_SUPPORTED] =
++			"NOT_SUPPORTED: FFA_RX_RELEASE is not implemented at this FF-A instance",
++			[DENIED] =
++			"DENIED: Caller did not have ownership of the RX buffer",
++		},
++	},
++	[FFA_ID_TO_ERRMAP_ID(FFA_RXTX_MAP)] = {
++		{
++			[NOT_SUPPORTED] =
++			"NOT_SUPPORTED: This function is not implemented at this FF-A instance",
++			[INVALID_PARAMETERS] =
++			"INVALID_PARAMETERS: Field(s) in input parameters incorrectly encoded",
++			[NO_MEMORY] =
++			"NO_MEMORY: Not enough memory",
++			[DENIED] =
++			"DENIED: Buffer pair already registered",
++		},
++	},
++};
++
++/**
++ * ffa_to_std_errno() - convert FF-A error code to standard error code
++ * @ffa_errno:	Error code returned by the FF-A ABI
++ *
++ * Map the given FF-A error code as specified
++ * by the spec to a u-boot standard error code.
++ *
++ * Return:
++ *
++ * The standard error code on success. . Otherwise, failure
++ */
++static int ffa_to_std_errno(int ffa_errno)
++{
++	int err_idx = -ffa_errno;
++
++	/* Map the FF-A error code to the standard u-boot error code */
++	if (err_idx > 0 && err_idx < MAX_NUMBER_FFA_ERR)
++		return ffa_to_std_errmap[err_idx];
++	return -EINVAL;
++}
++
++/**
++ * ffa_print_error_log() - print the error log corresponding to the selected FF-A ABI
++ * @ffa_id:	FF-A ABI ID
++ * @ffa_errno:	Error code returned by the FF-A ABI
++ *
++ * Map the FF-A error code to the error log relevant to the
++ * selected FF-A ABI. Then the error log is printed.
++ *
++ * Return:
++ *
++ * 0 on success. . Otherwise, failure
++ */
++static int ffa_print_error_log(u32 ffa_id, int ffa_errno)
++{
++	int err_idx = -ffa_errno, abi_idx = 0;
++
++	/* Map the FF-A error code to the corresponding error log */
++
++	if (err_idx <= 0 || err_idx >= MAX_NUMBER_FFA_ERR)
++		return -EINVAL;
++
++	if (ffa_id < FFA_FIRST_ID || ffa_id > FFA_LAST_ID)
++		return -EINVAL;
++
++	abi_idx = FFA_ID_TO_ERRMAP_ID(ffa_id);
++	if (abi_idx < 0 || abi_idx >= FFA_ERRMAP_COUNT)
++		return -EINVAL;
++
++	if (!err_msg_map[abi_idx].err_str[err_idx])
++		return -EINVAL;
++
++	log_err("%s\n", err_msg_map[abi_idx].err_str[err_idx]);
++
++	return 0;
++}
++
++/* FF-A ABIs implementation (U-Boot side) */
++
++/**
++ * invoke_ffa_fn() - SMC wrapper
++ * @args: FF-A ABI arguments to be copied to Xn registers
++ * @res: FF-A ABI return data to be copied from Xn registers
++ *
++ * Calls low level SMC implementation.
++ * This function should be implemented by the user driver.
++ */
++void __weak invoke_ffa_fn(ffa_value_t args, ffa_value_t *res)
++{
++}
++
++/**
++ * ffa_get_version_hdlr() - FFA_VERSION handler function
++ * @dev: The FF-A bus device
++ *
++ * Implement FFA_VERSION FF-A function
++ * to get from the secure world the FF-A framework version
++ * FFA_VERSION is used to discover the FF-A framework.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++int ffa_get_version_hdlr(struct udevice *dev)
++{
++	u16 major, minor;
++	ffa_value_t res = {0};
++	int ffa_errno;
++	struct ffa_priv *uc_priv;
++
++	invoke_ffa_fn((ffa_value_t){
++			.a0 = FFA_SMC_32(FFA_VERSION), .a1 = FFA_VERSION_1_0,
++			}, &res);
++
++	ffa_errno = res.a0;
++	if (ffa_errno < 0) {
++		ffa_print_error_log(FFA_VERSION, ffa_errno);
++		return ffa_to_std_errno(ffa_errno);
++	}
++
++	major = GET_FFA_MAJOR_VERSION(res.a0);
++	minor = GET_FFA_MINOR_VERSION(res.a0);
++
++	log_info("FF-A driver %d.%d\nFF-A framework %d.%d\n",
++		 FFA_MAJOR_VERSION, FFA_MINOR_VERSION, major, minor);
++
++	if (major == FFA_MAJOR_VERSION && minor >= FFA_MINOR_VERSION) {
++		log_info("FF-A versions are compatible\n");
++
++		if (dev) {
++			uc_priv = dev_get_uclass_priv(dev);
++			if (uc_priv)
++				uc_priv->fwk_version = res.a0;
++		}
++
++		return 0;
++	}
++
++	log_err("versions are incompatible\nExpected: %d.%d , Found: %d.%d\n",
++		FFA_MAJOR_VERSION, FFA_MINOR_VERSION, major, minor);
++
++	return -EPROTONOSUPPORT;
++}
++
++/**
++ * ffa_get_endpoint_id() - FFA_ID_GET handler function
++ * @dev: The FF-A bus device
++ *
++ * Implement FFA_ID_GET FF-A function
++ * to get from the secure world u-boot endpoint ID
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int ffa_get_endpoint_id(struct udevice *dev)
++{
++	ffa_value_t res = {0};
++	int ffa_errno;
++	struct ffa_priv *uc_priv = dev_get_uclass_priv(dev);
++
++	invoke_ffa_fn((ffa_value_t){
++			.a0 = FFA_SMC_32(FFA_ID_GET),
++			}, &res);
++
++	if (res.a0 == FFA_SMC_32(FFA_SUCCESS)) {
++		uc_priv->id = GET_SELF_ENDPOINT_ID((u32)res.a2);
++		log_debug("FF-A endpoint ID is %u\n", uc_priv->id);
++
++		return 0;
++	}
++
++	ffa_errno = res.a2;
++
++	ffa_print_error_log(FFA_ID_GET, ffa_errno);
++
++	return ffa_to_std_errno(ffa_errno);
++}
++
++/**
++ * ffa_set_rxtx_buffers_pages_cnt() - set the minimum number of pages in each of the RX/TX buffers
++ * @dev: The FF-A bus device
++ * @prop_field: properties field obtained from FFA_FEATURES ABI
++ *
++ * Set the minimum number of pages in each of the RX/TX buffers in uc_priv
++ *
++ * Return:
++ *
++ * rxtx_min_pages field contains the returned number of pages
++ * 0 on success. Otherwise, failure
++ */
++static int ffa_set_rxtx_buffers_pages_cnt(struct udevice *dev, u32 prop_field)
++{
++	struct ffa_priv *uc_priv = dev_get_uclass_priv(dev);
++
++	switch (prop_field) {
++	case RXTX_4K:
++		uc_priv->pair.rxtx_min_pages = 1;
++		break;
++	case RXTX_16K:
++		uc_priv->pair.rxtx_min_pages = 4;
++		break;
++	case RXTX_64K:
++		uc_priv->pair.rxtx_min_pages = 16;
++		break;
++	default:
++		log_err("RX/TX buffer size not supported\n");
++		return -EINVAL;
++	}
++
++	return 0;
++}
++
++/**
++ * ffa_get_rxtx_map_features_hdlr() - FFA_FEATURES handler function with FFA_RXTX_MAP argument
++ * @dev: The FF-A bus device
++ *
++ * Implement FFA_FEATURES FF-A function to retrieve the FFA_RXTX_MAP features
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int ffa_get_rxtx_map_features_hdlr(struct udevice *dev)
++{
++	ffa_value_t res = {0};
++	int ffa_errno;
++
++	invoke_ffa_fn((ffa_value_t){
++			.a0 = FFA_SMC_32(FFA_FEATURES),
++			.a1 = FFA_SMC_64(FFA_RXTX_MAP),
++			}, &res);
++
++	if (res.a0 == FFA_SMC_32(FFA_SUCCESS))
++		return ffa_set_rxtx_buffers_pages_cnt(dev, res.a2);
++
++	ffa_errno = res.a2;
++	ffa_print_error_log(FFA_FEATURES, ffa_errno);
++
++	return ffa_to_std_errno(ffa_errno);
++}
++
++/**
++ * ffa_free_rxtx_buffers() - free the RX/TX buffers
++ * @dev: The FF-A bus device
++ *
++ * Free the RX/TX buffers
++ */
++static void ffa_free_rxtx_buffers(struct udevice *dev)
++{
++	struct ffa_priv *uc_priv = dev_get_uclass_priv(dev);
++
++	log_debug("Freeing FF-A RX/TX buffers\n");
++
++	if (uc_priv->pair.rxbuf) {
++		free(uc_priv->pair.rxbuf);
++		uc_priv->pair.rxbuf = NULL;
++	}
++
++	if (uc_priv->pair.txbuf) {
++		free(uc_priv->pair.txbuf);
++		uc_priv->pair.txbuf = NULL;
++	}
++}
++
++/**
++ * ffa_alloc_rxtx_buffers() - allocate the RX/TX buffers
++ * @dev: The FF-A bus device
++ *
++ * Used by ffa_map_rxtx_buffers to allocate
++ * the RX/TX buffers before mapping them. The allocated memory is physically
++ * contiguous since memalign ends up calling malloc which allocates
++ * contiguous memory in u-boot.
++ * The size of the memory allocated is the minimum allowed.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int ffa_alloc_rxtx_buffers(struct udevice *dev)
++{
++	u64 bytes;
++	struct ffa_priv *uc_priv = dev_get_uclass_priv(dev);
++
++	log_debug("Using %lu 4KB page(s) for FF-A RX/TX buffers size\n",
++		  uc_priv->pair.rxtx_min_pages);
++
++	bytes = uc_priv->pair.rxtx_min_pages * SZ_4K;
++
++	/*
++	 * The alignment of the RX and TX buffers must be equal
++	 * to the larger translation granule size
++	 * Assumption: Memory allocated with memalign is always physically contiguous
++	 */
++
++	uc_priv->pair.rxbuf = memalign(bytes, bytes);
++	if (!uc_priv->pair.rxbuf) {
++		log_err("failure to allocate RX buffer\n");
++		return -ENOBUFS;
++	}
++
++	log_debug("FF-A RX buffer at virtual address %p\n", uc_priv->pair.rxbuf);
++
++	uc_priv->pair.txbuf = memalign(bytes, bytes);
++	if (!uc_priv->pair.txbuf) {
++		free(uc_priv->pair.rxbuf);
++		uc_priv->pair.rxbuf = NULL;
++		log_err("failure to allocate the TX buffer\n");
++		return -ENOBUFS;
++	}
++
++	log_debug("FF-A TX buffer at virtual address %p\n", uc_priv->pair.txbuf);
++
++	/* Make sure the buffers are cleared before use */
++	memset(uc_priv->pair.rxbuf, 0, bytes);
++	memset(uc_priv->pair.txbuf, 0, bytes);
++
++	return 0;
++}
++
++/**
++ * ffa_map_rxtx_buffers_hdlr() - FFA_RXTX_MAP handler function
++ * @dev: The FF-A bus device
++ *
++ * Implement FFA_RXTX_MAP FF-A function to map the RX/TX buffers
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int ffa_map_rxtx_buffers_hdlr(struct udevice *dev)
++{
++	int ret;
++	ffa_value_t res = {0};
++	int ffa_errno;
++	struct ffa_priv *uc_priv = dev_get_uclass_priv(dev);
++
++	ret = ffa_alloc_rxtx_buffers(dev);
++	if (ret)
++		return ret;
++
++	/*
++	 * we need to pass the physical addresses of the RX/TX buffers
++	 * in u-boot physical/virtual mapping is 1:1
++	 * no need to convert from virtual to physical
++	 */
++
++	invoke_ffa_fn((ffa_value_t){
++			.a0 = FFA_SMC_64(FFA_RXTX_MAP),
++			.a1 = map_to_sysmem(uc_priv->pair.txbuf),
++			.a2 = map_to_sysmem(uc_priv->pair.rxbuf),
++			.a3 = uc_priv->pair.rxtx_min_pages,
++			}, &res);
++
++	if (res.a0 == FFA_SMC_32(FFA_SUCCESS)) {
++		log_debug("FF-A RX/TX buffers mapped\n");
++		return 0;
++	}
++
++	ffa_errno = res.a2;
++	ffa_print_error_log(FFA_RXTX_MAP, ffa_errno);
++
++	ffa_free_rxtx_buffers(dev);
++
++	return ffa_to_std_errno(ffa_errno);
++}
++
++/**
++ * ffa_unmap_rxtx_buffers_hdlr() - FFA_RXTX_UNMAP handler function
++ * @dev: The FF-A bus device
++ *
++ * Implement FFA_RXTX_UNMAP FF-A function to unmap the RX/TX buffers
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++int ffa_unmap_rxtx_buffers_hdlr(struct udevice *dev)
++{
++	ffa_value_t res = {0};
++	int ffa_errno;
++	struct ffa_priv *uc_priv;
++
++	log_debug("unmapping FF-A RX/TX buffers\n");
++
++	uc_priv = dev_get_uclass_priv(dev);
++
++	invoke_ffa_fn((ffa_value_t){
++			.a0 = FFA_SMC_32(FFA_RXTX_UNMAP),
++			.a1 = PREP_SELF_ENDPOINT_ID(uc_priv->id),
++			}, &res);
++
++	if (res.a0 == FFA_SMC_32(FFA_SUCCESS)) {
++		ffa_free_rxtx_buffers(dev);
++		return 0;
++	}
++
++	ffa_errno = res.a2;
++	ffa_print_error_log(FFA_RXTX_UNMAP, ffa_errno);
++
++	return ffa_to_std_errno(ffa_errno);
++}
++
++/**
++ * ffa_release_rx_buffer_hdlr() - FFA_RX_RELEASE handler function
++ * @dev: The FF-A bus device
++ *
++ * Invoke FFA_RX_RELEASE FF-A function to release the ownership of the RX buffer
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int ffa_release_rx_buffer_hdlr(struct udevice *dev)
++{
++	ffa_value_t res = {0};
++	int ffa_errno;
++
++	invoke_ffa_fn((ffa_value_t){
++			.a0 = FFA_SMC_32(FFA_RX_RELEASE),
++			}, &res);
++
++	if (res.a0 == FFA_SMC_32(FFA_SUCCESS))
++		return 0;
++
++	ffa_errno = res.a2;
++	ffa_print_error_log(FFA_RX_RELEASE, ffa_errno);
++
++	return ffa_to_std_errno(ffa_errno);
++}
++
++/**
++ * ffa_uuid_are_identical() - check whether two given UUIDs are identical
++ * @uuid1: first UUID
++ * @uuid2: second UUID
++ *
++ * Used by ffa_read_partitions_info to search for a UUID in the partitions descriptors table
++ *
++ * Return:
++ *
++ * 1 when UUIDs match. Otherwise, 0
++ */
++static bool ffa_uuid_are_identical(const struct ffa_partition_uuid *uuid1,
++				   const struct ffa_partition_uuid *uuid2)
++{
++	if (!uuid1 || !uuid2)
++		return 0;
++
++	return !memcmp(uuid1, uuid2, sizeof(struct ffa_partition_uuid));
++}
++
++/**
++ * ffa_read_partitions_info() - read queried partition data
++ * @dev: The FF-A bus device
++ * @count: The number of partitions queried
++ * @part_uuid: Pointer to the partition(s) UUID
++ *
++ * Read the partitions information returned by the FFA_PARTITION_INFO_GET and saves it in uc_priv
++ *
++ * Return:
++ *
++ * uc_priv is updated with the partition(s) information
++ * 0 is returned on success. Otherwise, failure
++ */
++static int ffa_read_partitions_info(struct udevice *dev, u32 count,
++				    struct ffa_partition_uuid *part_uuid)
++{
++	struct ffa_priv *uc_priv = dev_get_uclass_priv(dev);
++
++	if (!count) {
++		log_err("no partition detected\n");
++		return -ENODATA;
++	}
++
++	log_debug("Reading FF-A partitions data from the RX buffer\n");
++
++	if (!part_uuid) {
++		/* Querying information of all partitions */
++		u64 buf_bytes;
++		u64 data_bytes;
++		u32 desc_idx;
++		struct ffa_partition_info *parts_info;
++
++		data_bytes = count * sizeof(struct ffa_partition_desc);
++
++		buf_bytes = uc_priv->pair.rxtx_min_pages * SZ_4K;
++
++		if (data_bytes > buf_bytes) {
++			log_err("partitions data size exceeds the RX buffer size:\n");
++			log_err("    sizes in bytes: data %llu , RX buffer %llu\n",
++				data_bytes,
++				buf_bytes);
++
++			return -ENOMEM;
++		}
++
++		uc_priv->partitions.descs = devm_kmalloc(dev, data_bytes, __GFP_ZERO);
++		if (!uc_priv->partitions.descs) {
++			log_err("cannot  allocate partitions data buffer\n");
++			return -ENOMEM;
++		}
++
++		parts_info = uc_priv->pair.rxbuf;
++
++		for (desc_idx = 0 ; desc_idx < count ; desc_idx++) {
++			uc_priv->partitions.descs[desc_idx].info =
++				parts_info[desc_idx];
++
++			log_debug("FF-A partition ID %x : info cached\n",
++				  uc_priv->partitions.descs[desc_idx].info.id);
++		}
++
++		uc_priv->partitions.count = count;
++
++		log_debug("%d FF-A partition(s) found and cached\n", count);
++
++	} else {
++		u32 rx_desc_idx, cached_desc_idx;
++		struct ffa_partition_info *parts_info;
++		u8 desc_found;
++
++		parts_info = uc_priv->pair.rxbuf;
++
++		/*
++		 * Search for the SP IDs read from the RX buffer
++		 * in the already cached SPs.
++		 * Update the UUID when ID found.
++		 */
++		for (rx_desc_idx = 0; rx_desc_idx < count ; rx_desc_idx++) {
++			desc_found = 0;
++
++			/* Search the current ID in the cached partitions */
++			for (cached_desc_idx = 0;
++			     cached_desc_idx < uc_priv->partitions.count;
++			     cached_desc_idx++) {
++				/* Save the UUID */
++				if (uc_priv->partitions.descs[cached_desc_idx].info.id ==
++				    parts_info[rx_desc_idx].id) {
++					uc_priv->partitions.descs[cached_desc_idx].sp_uuid =
++						*part_uuid;
++
++					desc_found = 1;
++					break;
++				}
++			}
++
++			if (!desc_found)
++				return -ENODATA;
++		}
++	}
++
++	return  0;
++}
++
++/**
++ * ffa_query_partitions_info() - invoke FFA_PARTITION_INFO_GET and save partitions data
++ * @dev: The FF-A bus device
++ * @part_uuid: Pointer to the partition(s) UUID
++ * @pcount: Pointer to the number of partitions variable filled when querying
++ *
++ * Execute the FFA_PARTITION_INFO_GET to query the partitions data.
++ * Then, call ffa_read_partitions_info to save the data in uc_priv.
++ *
++ * After reading the data the RX buffer is released using ffa_release_rx_buffer
++ *
++ * Return:
++ *
++ * When part_uuid is NULL, all partitions data are retrieved from secure world
++ * When part_uuid is non NULL, data for partitions matching the given UUID are
++ * retrieved and the number of partitions is returned
++ * 0 is returned on success. Otherwise, failure
++ */
++static int ffa_query_partitions_info(struct udevice *dev, struct ffa_partition_uuid *part_uuid,
++				     u32 *pcount)
++{
++	struct ffa_partition_uuid query_uuid = {0};
++	ffa_value_t res = {0};
++	int ffa_errno;
++
++	/*
++	 * If a UUID is specified. Information for one or more
++	 * partitions in the system is queried. Otherwise, information
++	 * for all installed partitions is queried
++	 */
++
++	if (part_uuid) {
++		if (!pcount)
++			return -EINVAL;
++
++		query_uuid = *part_uuid;
++	} else if (pcount) {
++		return -EINVAL;
++	}
++
++	invoke_ffa_fn((ffa_value_t){
++			.a0 = FFA_SMC_32(FFA_PARTITION_INFO_GET),
++			.a1 = query_uuid.a1,
++			.a2 = query_uuid.a2,
++			.a3 = query_uuid.a3,
++			.a4 = query_uuid.a4,
++			}, &res);
++
++	if (res.a0 == FFA_SMC_32(FFA_SUCCESS)) {
++		int ret;
++
++		/*
++		 * res.a2 contains the count of partition information descriptors
++		 * populated in the RX buffer
++		 */
++		if (res.a2) {
++			ret = ffa_read_partitions_info(dev, (u32)res.a2, part_uuid);
++			if (ret) {
++				log_err("failed reading SP(s) data , err (%d)\n", ret);
++				ffa_release_rx_buffer_hdlr(dev);
++				return -EINVAL;
++			}
++		}
++
++		/* Return the SP count (when querying using a UUID) */
++		if (pcount)
++			*pcount = (u32)res.a2;
++
++		/*
++		 * After calling FFA_PARTITION_INFO_GET the buffer ownership
++		 * is assigned to the consumer (u-boot). So, we need to give
++		 * the ownership back to the SPM or hypervisor
++		 */
++		ret = ffa_release_rx_buffer_hdlr(dev);
++
++		return ret;
++	}
++
++	ffa_errno = res.a2;
++	ffa_print_error_log(FFA_PARTITION_INFO_GET, ffa_errno);
++
++	return ffa_to_std_errno(ffa_errno);
++}
++
++/**
++ * ffa_get_partitions_info_hdlr() - FFA_PARTITION_INFO_GET handler function
++ *	@uuid_str: pointer to the UUID string
++ *	@sp_count: address of the variable containing the number of partitions matching the UUID
++ *			 The variable is set by the driver
++ *	@sp_descs: address of the descriptors of the partitions matching the UUID
++ *			 The address is set by the driver
++ *
++ * Return the number of partitions and their descriptors matching the UUID
++ *
++ * Query the secure partition data from uc_priv.
++ * If not found, invoke FFA_PARTITION_INFO_GET FF-A function to query the partition information
++ * from secure world.
++ *
++ * A client of the FF-A driver should know the UUID of the service it wants to
++ * access. It should use the UUID to request the FF-A driver to provide the
++ * partition(s) information of the service. The FF-A driver uses
++ * PARTITION_INFO_GET to obtain this information. This is implemented through
++ * ffa_get_partitions_info_hdlr() function.
++ * If the partition(s) matching the UUID found, the partition(s) information and the
++ * number are returned.
++ * If no partition matching the UUID is found in the cached area, a new FFA_PARTITION_INFO_GET
++ * call is issued.
++ * If not done yet, the UUID is updated in the cached area.
++ * This assumes that partitions data does not change in the secure world.
++ * Otherwise u-boot will have an outdated partition data. The benefit of caching
++ * the information in the FF-A driver is to accommodate discovery after
++ * ExitBootServices().
++ *
++ * Return:
++ *
++ * @sp_count: the number of partitions
++ * @sp_descs: address of the partitions descriptors
++ *
++ * On success 0 is returned. Otherwise, failure
++ */
++int ffa_get_partitions_info_hdlr(struct udevice *dev, const char *uuid_str,
++				 u32 *sp_count, struct ffa_partition_desc **sp_descs)
++{
++	u32 i;
++	struct ffa_partition_uuid part_uuid = {0};
++	struct ffa_priv *uc_priv;
++	struct ffa_partition_desc *rx_descs;
++
++	uc_priv = dev_get_uclass_priv(dev);
++
++	if (!uc_priv->partitions.count || !uc_priv->partitions.descs) {
++		log_err("no partition installed\n");
++		return -EINVAL;
++	}
++
++	if (!uuid_str) {
++		log_err("no UUID provided\n");
++		return -EINVAL;
++	}
++
++	if (!sp_count) {
++		log_err("no count argument provided\n");
++		return -EINVAL;
++	}
++
++	if (!sp_descs) {
++		log_err("no info argument provided\n");
++		return -EINVAL;
++	}
++
++	if (uuid_str_to_le_bin(uuid_str, (unsigned char *)&part_uuid)) {
++		log_err("invalid UUID\n");
++		return -EINVAL;
++	}
++
++	log_debug("Searching FF-A partitions using the provided UUID\n");
++
++	*sp_count = 0;
++	*sp_descs = uc_priv->pair.rxbuf;
++	rx_descs = *sp_descs;
++
++	/* Search in the cached partitions */
++	for (i = 0; i < uc_priv->partitions.count; i++)
++		if (ffa_uuid_are_identical(&uc_priv->partitions.descs[i].sp_uuid,
++					   &part_uuid)) {
++			log_debug("FF-A partition ID %x matches the provided UUID\n",
++				  uc_priv->partitions.descs[i].info.id);
++
++			(*sp_count)++;
++			*rx_descs++ = uc_priv->partitions.descs[i];
++			}
++
++	if (!(*sp_count)) {
++		int ret;
++
++		log_debug("No FF-A partition found. Querying framework ...\n");
++
++		ret = ffa_query_partitions_info(dev, &part_uuid, sp_count);
++
++		if (!ret) {
++			log_debug("Number of FF-A partition(s) matching the UUID: %d\n", *sp_count);
++
++			if (*sp_count)
++				ret = ffa_get_partitions_info_hdlr(dev, uuid_str, sp_count,
++								   sp_descs);
++			else
++				ret = -ENODATA;
++		}
++
++		return ret;
++	}
++
++	return 0;
++}
++
++/**
++ * ffa_cache_partitions_info() - Query and saves all secure partitions data
++ * @dev: The FF-A bus device
++ *
++ * Invoke FFA_PARTITION_INFO_GET FF-A function to query from secure world
++ * all partitions information.
++ *
++ * The FFA_PARTITION_INFO_GET call is issued with nil UUID as an argument.
++ * All installed partitions information are returned. We cache them in uc_priv
++ * and we keep the UUID field empty (in FF-A 1.0 UUID is not provided by the partition descriptor)
++ *
++ * Called at the device probing level.
++ * ffa_cache_partitions_info uses ffa_query_partitions_info to get the data
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int ffa_cache_partitions_info(struct udevice *dev)
++{
++	return ffa_query_partitions_info(dev, NULL, NULL);
++}
++
++/**
++ * ffa_msg_send_direct_req_hdlr() - FFA_MSG_SEND_DIRECT_{REQ,RESP} handler function
++ * @dev: The FF-A bus device
++ * @dst_part_id: destination partition ID
++ * @msg: pointer to the message data preallocated by the client (in/out)
++ * @is_smc64: select 64-bit or 32-bit FF-A ABI
++ *
++ * Implement FFA_MSG_SEND_DIRECT_{REQ,RESP}
++ * FF-A functions.
++ *
++ * FFA_MSG_SEND_DIRECT_REQ is used to send the data to the secure partition.
++ * The response from the secure partition is handled by reading the
++ * FFA_MSG_SEND_DIRECT_RESP arguments.
++ *
++ * The maximum size of the data that can be exchanged is 40 bytes which is
++ * sizeof(struct ffa_send_direct_data) as defined by the FF-A specification 1.0
++ * in the section relevant to FFA_MSG_SEND_DIRECT_{REQ,RESP}
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++int ffa_msg_send_direct_req_hdlr(struct udevice *dev, u16 dst_part_id,
++				 struct ffa_send_direct_data *msg, bool is_smc64)
++{
++	ffa_value_t res = {0};
++	int ffa_errno;
++	u64 req_mode, resp_mode;
++	struct ffa_priv *uc_priv;
++
++	uc_priv = dev_get_uclass_priv(dev);
++
++	/* No partition installed */
++	if (!uc_priv->partitions.count || !uc_priv->partitions.descs)
++		return -ENODEV;
++
++	if (is_smc64) {
++		req_mode = FFA_SMC_64(FFA_MSG_SEND_DIRECT_REQ);
++		resp_mode = FFA_SMC_64(FFA_MSG_SEND_DIRECT_RESP);
++	} else {
++		req_mode = FFA_SMC_32(FFA_MSG_SEND_DIRECT_REQ);
++		resp_mode = FFA_SMC_32(FFA_MSG_SEND_DIRECT_RESP);
++	}
++
++	invoke_ffa_fn((ffa_value_t){
++			.a0 = req_mode,
++			.a1 = PREP_SELF_ENDPOINT_ID(uc_priv->id) |
++				PREP_PART_ENDPOINT_ID(dst_part_id),
++			.a2 = 0,
++			.a3 = msg->data0,
++			.a4 = msg->data1,
++			.a5 = msg->data2,
++			.a6 = msg->data3,
++			.a7 = msg->data4,
++			}, &res);
++
++	while (res.a0 == FFA_SMC_32(FFA_INTERRUPT))
++		invoke_ffa_fn((ffa_value_t){
++			.a0 = FFA_SMC_32(FFA_RUN),
++			.a1 = res.a1,
++			}, &res);
++
++	if (res.a0 == FFA_SMC_32(FFA_SUCCESS)) {
++		/* Message sent with no response */
++		return 0;
++	}
++
++	if (res.a0 == resp_mode) {
++		/* Message sent with response extract the return data */
++		msg->data0 = res.a3;
++		msg->data1 = res.a4;
++		msg->data2 = res.a5;
++		msg->data3 = res.a6;
++		msg->data4 = res.a7;
++
++		return 0;
++	}
++
++	ffa_errno = res.a2;
++	return ffa_to_std_errno(ffa_errno);
++}
++
++/* FF-A driver operations (used by clients for communicating with FF-A)*/
++
++/**
++ * ffa_partition_info_get() - FFA_PARTITION_INFO_GET driver operation
++ *	@uuid_str: pointer to the UUID string
++ *	@sp_count: address of the variable containing the number of partitions matching the UUID
++ *			 The variable is set by the driver
++ *	@sp_descs: address of the descriptors of the partitions matching the UUID
++ *			 The address is set by the driver
++ *
++ * Driver operation for FFA_PARTITION_INFO_GET.
++ * Please see ffa_get_partitions_info_hdlr() description for more details.
++ *
++ * Return:
++ *
++ * @sp_count: the number of partitions
++ * @sp_descs: address of the partitions descriptors
++ *
++ * On success 0 is returned. Otherwise, failure
++ */
++int ffa_partition_info_get(struct udevice *dev, const char *uuid_str,
++			   u32 *sp_count, struct ffa_partition_desc **sp_descs)
++{
++	struct ffa_bus_ops *ops = ffa_get_ops(dev);
++
++	if (!ops->partition_info_get)
++		return -ENOSYS;
++
++	return ops->partition_info_get(dev, uuid_str, sp_count, sp_descs);
++}
++
++/**
++ * ffa_sync_send_receive() - FFA_MSG_SEND_DIRECT_{REQ,RESP} driver operation
++ * @dev: The FF-A bus device
++ * @dst_part_id: destination partition ID
++ * @msg: pointer to the message data preallocated by the client (in/out)
++ * @is_smc64: select 64-bit or 32-bit FF-A ABI
++ *
++ * Driver operation for FFA_MSG_SEND_DIRECT_{REQ,RESP}.
++ * Please see ffa_msg_send_direct_req_hdlr() description for more details.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++int ffa_sync_send_receive(struct udevice *dev, u16 dst_part_id,
++			  struct ffa_send_direct_data *msg, bool is_smc64)
++{
++	struct ffa_bus_ops *ops = ffa_get_ops(dev);
++
++	if (!ops->sync_send_receive)
++		return -ENOSYS;
++
++	return ops->sync_send_receive(dev, dst_part_id, msg, is_smc64);
++}
++
++/**
++ * ffa_rxtx_unmap() - FFA_RXTX_UNMAP driver operation
++ * @dev: The FF-A bus device
++ *
++ * Driver operation for FFA_RXTX_UNMAP.
++ * Please see ffa_unmap_rxtx_buffers_hdlr() description for more details.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++int ffa_rxtx_unmap(struct udevice *dev)
++{
++	struct ffa_bus_ops *ops = ffa_get_ops(dev);
++
++	if (!ops->rxtx_unmap)
++		return -ENOSYS;
++
++	return ops->rxtx_unmap(dev);
++}
++
++/**
++ * ffa_do_probe() - probing FF-A framework
++ * @dev:	the FF-A bus device (arm_ffa)
++ *
++ * Probing is triggered on demand by clients searching for the uclass.
++ * At probe level the following actions are done:
++ *	- saving the FF-A framework version in uc_priv
++ *	- querying from secure world the u-boot endpoint ID
++ *	- querying from secure world the supported features of FFA_RXTX_MAP
++ *	- mapping the RX/TX buffers
++ *	- querying from secure world all the partitions information
++ *
++ * All data queried from secure world is saved in uc_priv.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int ffa_do_probe(struct udevice *dev)
++{
++	int ret;
++
++	ret = ffa_get_version_hdlr(dev);
++	if (ret)
++		return ret;
++
++	ret = ffa_get_endpoint_id(dev);
++	if (ret)
++		return ret;
++
++	ret = ffa_get_rxtx_map_features_hdlr(dev);
++	if (ret)
++		return ret;
++
++	ret = ffa_map_rxtx_buffers_hdlr(dev);
++	if (ret)
++		return ret;
++
++	ret = ffa_cache_partitions_info(dev);
++	if (ret) {
++		ffa_unmap_rxtx_buffers_hdlr(dev);
++		return ret;
++	}
++
++	return 0;
++}
++
++UCLASS_DRIVER(ffa) = {
++	.name			= "ffa",
++	.id			= UCLASS_FFA,
++	.pre_probe		= ffa_do_probe,
++	.pre_remove		= ffa_unmap_rxtx_buffers_hdlr,
++	.per_device_auto	= sizeof(struct ffa_priv)
++};
+diff --git a/drivers/firmware/arm-ffa/arm-ffa.c b/drivers/firmware/arm-ffa/arm-ffa.c
+new file mode 100644
+index 0000000000..68df75bd9e
+--- /dev/null
++++ b/drivers/firmware/arm-ffa/arm-ffa.c
+@@ -0,0 +1,104 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ */
++
++#include <common.h>
++#include <arm_ffa.h>
++#include <arm_ffa_priv.h>
++#include <dm.h>
++#include <log.h>
++#include <asm/global_data.h>
++#include <dm/device-internal.h>
++#include <linux/errno.h>
++
++DECLARE_GLOBAL_DATA_PTR;
++
++/**
++ * invoke_ffa_fn() - SMC wrapper
++ * @args: FF-A ABI arguments to be copied to Xn registers
++ * @res: FF-A ABI return data to be copied from Xn registers
++ *
++ * Calls low level SMC assembly function
++ */
++void invoke_ffa_fn(ffa_value_t args, ffa_value_t *res)
++{
++	arm_smccc_1_2_smc(&args, res);
++}
++
++/**
++ * arm_ffa_discover() - perform FF-A discovery
++ * @dev: The Arm FF-A bus device (arm_ffa)
++ * Try to discover the FF-A framework. Discovery is performed by
++ * querying the FF-A framework version from secure world using the FFA_VERSION ABI.
++ * Return:
++ *
++ * true on success. Otherwise, false.
++ */
++static bool arm_ffa_discover(struct udevice *dev)
++{
++	int ret;
++
++	log_info("Arm FF-A framework discovery\n");
++
++	ret = ffa_get_version_hdlr(dev);
++	if (ret)
++		return false;
++
++	return true;
++}
++
++/**
++ * arm_ffa_is_supported() - FF-A bus discovery callback
++ * @invoke_fn: legacy SMC invoke function (not used)
++ *
++ * Perform FF-A discovery by calling arm_ffa_discover().
++ * Discovery is performed by querying the FF-A framework version from
++ * secure world using the FFA_VERSION ABI.
++ *
++ * The FF-A driver is registered as an SMCCC feature driver. So, features discovery
++ * callbacks are called by the PSCI driver (PSCI device is the SMCCC features
++ * root device).
++ *
++ * The FF-A driver supports the SMCCCv1.2 extended input/output registers.
++ * So, the legacy SMC invocation is not used.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static bool arm_ffa_is_supported(void (*invoke_fn)(ulong a0, ulong a1,
++						   ulong a2, ulong a3,
++						   ulong a4, ulong a5,
++						   ulong a6, ulong a7,
++						   struct arm_smccc_res *res))
++{
++	return arm_ffa_discover(NULL);
++}
++
++/* Arm FF-A driver operations */
++
++static const struct ffa_bus_ops ffa_ops = {
++	.partition_info_get = ffa_get_partitions_info_hdlr,
++	.sync_send_receive = ffa_msg_send_direct_req_hdlr,
++	.rxtx_unmap = ffa_unmap_rxtx_buffers_hdlr,
++};
++
++/* Registering the FF-A driver as an SMCCC feature driver */
++
++ARM_SMCCC_FEATURE_DRIVER(arm_ffa) = {
++	.driver_name = FFA_DRV_NAME,
++	.is_supported = arm_ffa_is_supported,
++};
++
++/* Declaring the FF-A driver under UCLASS_FFA */
++
++U_BOOT_DRIVER(arm_ffa) = {
++	.name		= FFA_DRV_NAME,
++	.id		= UCLASS_FFA,
++	.flags		= DM_REMOVE_OS_PREPARE,
++	.ops		= &ffa_ops,
++};
+diff --git a/drivers/firmware/arm-ffa/sandbox_arm_ffa_priv.h b/drivers/firmware/arm-ffa/sandbox_arm_ffa_priv.h
+new file mode 100644
+index 0000000000..4338f9c9b1
+--- /dev/null
++++ b/drivers/firmware/arm-ffa/sandbox_arm_ffa_priv.h
+@@ -0,0 +1,14 @@
++/* SPDX-License-Identifier: GPL-2.0+ */
++/*
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ */
++
++#ifndef __SANDBOX_ARM_FFA_PRV_H
++#define __SANDBOX_ARM_FFA_PRV_H
++
++/* Future sandbox support private declarations */
++
++#endif
+diff --git a/include/arm_ffa.h b/include/arm_ffa.h
+new file mode 100644
+index 0000000000..db9b1be995
+--- /dev/null
++++ b/include/arm_ffa.h
+@@ -0,0 +1,213 @@
++/* SPDX-License-Identifier: GPL-2.0+ */
++/*
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ */
++
++#ifndef __ARM_FFA_H
++#define __ARM_FFA_H
++
++#include <linux/printk.h>
++
++/*
++ * This header is public. It can be used by clients to access
++ * data structures and definitions they need
++ */
++
++/*
++ * struct ffa_partition_info - Partition information descriptor
++ * @id:	Partition ID
++ * @exec_ctxt:	Execution context count
++ * @properties:	Partition properties
++ *
++ * Data structure containing information about partitions instantiated in the system
++ * This structure is filled with the data queried by FFA_PARTITION_INFO_GET
++ */
++struct ffa_partition_info {
++	u16 id;
++	u16 exec_ctxt;
++/* partition supports receipt of direct requests */
++#define FFA_PARTITION_DIRECT_RECV	BIT(0)
++/* partition can send direct requests. */
++#define FFA_PARTITION_DIRECT_SEND	BIT(1)
++/* partition can send and receive indirect messages. */
++#define FFA_PARTITION_INDIRECT_MSG	BIT(2)
++	u32 properties;
++};
++
++/*
++ * struct ffa_partition_uuid - 16 bytes UUID transmitted by FFA_PARTITION_INFO_GET
++ * @a1-4:	32-bit words access to the UUID data
++ *
++ */
++struct ffa_partition_uuid {
++	u32 a1; /* w1 */
++	u32 a2; /* w2 */
++	u32 a3; /* w3 */
++	u32 a4; /* w4 */
++};
++
++/**
++ * struct ffa_partition_desc - the secure partition descriptor
++ * @info:	partition information
++ * @sp_uuid:	the secure partition UUID
++ *
++ * Each partition has its descriptor containing the partitions information and the UUID
++ */
++struct ffa_partition_desc {
++	struct ffa_partition_info info;
++	struct ffa_partition_uuid sp_uuid;
++};
++
++/*
++ * struct ffa_send_direct_data - Data structure hosting the data
++ *                                       used by FFA_MSG_SEND_DIRECT_{REQ,RESP}
++ * @data0-4:	Data read/written from/to x3-x7 registers
++ *
++ * Data structure containing the data to be sent by FFA_MSG_SEND_DIRECT_REQ
++ * or read from FFA_MSG_SEND_DIRECT_RESP
++ */
++
++/* For use with FFA_MSG_SEND_DIRECT_{REQ,RESP} which pass data via registers */
++struct ffa_send_direct_data {
++	ulong data0; /* w3/x3 */
++	ulong data1; /* w4/x4 */
++	ulong data2; /* w5/x5 */
++	ulong data3; /* w6/x6 */
++	ulong data4; /* w7/x7 */
++};
++
++struct udevice;
++
++/**
++ * struct ffa_bus_ops - Operations for FF-A
++ * @partition_info_get:	callback for the FFA_PARTITION_INFO_GET
++ * @sync_send_receive:	callback for the FFA_MSG_SEND_DIRECT_REQ
++ * @rxtx_unmap:	callback for the FFA_RXTX_UNMAP
++ *
++ * The data structure providing all the operations supported by the driver.
++ * This structure is EFI runtime resident.
++ */
++struct ffa_bus_ops {
++	int (*partition_info_get)(struct udevice *dev, const char *uuid_str,
++				  u32 *sp_count, struct ffa_partition_desc **sp_descs);
++	int (*sync_send_receive)(struct udevice *dev, u16 dst_part_id,
++				 struct ffa_send_direct_data *msg,
++				 bool is_smc64);
++	int (*rxtx_unmap)(struct udevice *dev);
++};
++
++#define ffa_get_ops(dev)        ((struct ffa_bus_ops *)(dev)->driver->ops)
++
++/**
++ * ffa_rxtx_unmap() - FFA_RXTX_UNMAP driver operation
++ * Please see ffa_unmap_rxtx_buffers_hdlr() description for more details.
++ */
++int ffa_rxtx_unmap(struct udevice *dev);
++
++/**
++ * ffa_unmap_rxtx_buffers_hdlr() - FFA_RXTX_UNMAP handler function
++ * @dev: The arm_ffa bus device
++ *
++ * This function implements FFA_RXTX_UNMAP FF-A function
++ * to unmap the RX/TX buffers
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++int ffa_unmap_rxtx_buffers_hdlr(struct udevice *dev);
++
++/**
++ * ffa_sync_send_receive() - FFA_MSG_SEND_DIRECT_{REQ,RESP} driver operation
++ * Please see ffa_msg_send_direct_req_hdlr() description for more details.
++ */
++int ffa_sync_send_receive(struct udevice *dev, u16 dst_part_id,
++			  struct ffa_send_direct_data *msg, bool is_smc64);
++
++/**
++ * ffa_msg_send_direct_req_hdlr() - FFA_MSG_SEND_DIRECT_{REQ,RESP} handler function
++ * @dev: The arm_ffa bus device
++ * @dst_part_id: destination partition ID
++ * @msg: pointer to the message data preallocated by the client (in/out)
++ * @is_smc64: select 64-bit or 32-bit FF-A ABI
++ *
++ * This function implements FFA_MSG_SEND_DIRECT_{REQ,RESP}
++ * FF-A functions.
++ *
++ * FFA_MSG_SEND_DIRECT_REQ is used to send the data to the secure partition.
++ * The response from the secure partition is handled by reading the
++ * FFA_MSG_SEND_DIRECT_RESP arguments.
++ *
++ * The maximum size of the data that can be exchanged is 40 bytes which is
++ * sizeof(struct ffa_send_direct_data) as defined by the FF-A specification 1.0
++ * in the section relevant to FFA_MSG_SEND_DIRECT_{REQ,RESP}
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++int ffa_msg_send_direct_req_hdlr(struct udevice *dev, u16 dst_part_id,
++				 struct ffa_send_direct_data *msg, bool is_smc64);
++
++/**
++ * ffa_partition_info_get() - FFA_PARTITION_INFO_GET driver operation
++ * Please see ffa_get_partitions_info_hdlr() description for more details.
++ */
++int ffa_partition_info_get(struct udevice *dev, const char *uuid_str,
++			   u32 *sp_count, struct ffa_partition_desc **sp_descs);
++
++/**
++ * ffa_get_partitions_info_hdlr() - FFA_PARTITION_INFO_GET handler function
++ *	@uuid_str: pointer to the UUID string
++ *	@sp_count: address of the variable containing the number of partitions matching the UUID
++ *			 The variable is set by the driver
++ *	@sp_descs: address of the descriptors of the partitions matching the UUID
++ *			 The address is set by the driver
++ *
++ * Return the number of partitions and their descriptors matching the UUID
++ *
++ * Query the secure partition data from uc_priv.
++ * If not found, invoke FFA_PARTITION_INFO_GET
++ * FF-A function to query the partition information from secure world.
++ *
++ * A client of the FF-A driver should know the UUID of the service it wants to
++ * access. It should use the UUID to request the FF-A driver to provide the
++ * partition(s) information of the service. The FF-A driver uses
++ * PARTITION_INFO_GET to obtain this information. This is implemented through
++ * ffa_get_partitions_info_hdlr() function.
++ * A new FFA_PARTITION_INFO_GET call is issued (first one performed through
++ * ffa_cache_partitions_info) allowing to retrieve the partition(s) information.
++ * They are not saved (already done). We only update the UUID in the cached area.
++ * This assumes that partitions data does not change in the secure world.
++ * Otherwise u-boot will have an outdated partition data. The benefit of caching
++ * the information in the FF-A driver is to accommodate discovery after
++ * ExitBootServices().
++ *
++ * Return:
++ *
++ * @sp_count: the number of partitions
++ * @sp_descs: address of the partitions descriptors
++ *
++ * On success 0 is returned. Otherwise, failure
++ */
++int ffa_get_partitions_info_hdlr(struct udevice *dev, const char *uuid_str,
++				 u32 *sp_count, struct ffa_partition_desc **sp_descs);
++
++struct ffa_priv;
++
++/**
++ * ffa_set_smc_conduit() - Set the SMC conduit
++ * @dev: The FF-A bus device
++ *
++ * Selects the SMC conduit by setting the FF-A ABI invoke function.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++int ffa_set_smc_conduit(struct udevice *dev);
++
++#endif
+diff --git a/include/arm_ffa_priv.h b/include/arm_ffa_priv.h
+new file mode 100644
+index 0000000000..d564c33c64
+--- /dev/null
++++ b/include/arm_ffa_priv.h
+@@ -0,0 +1,246 @@
++/* SPDX-License-Identifier: GPL-2.0+ */
++/*
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ */
++
++#ifndef __ARM_FFA_PRV_H
++#define __ARM_FFA_PRV_H
++
++#include <mapmem.h>
++#include <linux/bitfield.h>
++#include <linux/bitops.h>
++
++/* This header is exclusively used by the FF-A Uclass and FF-A driver(s) */
++
++/* Arm FF-A driver name */
++#define FFA_DRV_NAME "arm_ffa"
++
++/* The FF-A SMC function definitions */
++
++#if CONFIG_IS_ENABLED(SANDBOX)
++
++/* Providing Arm SMCCC declarations to sandbox */
++
++/**
++ * struct sandbox_smccc_1_2_regs - emulated SMC call arguments or results
++ * @a0-a17 argument values from registers 0 to 17
++ */
++struct sandbox_smccc_1_2_regs {
++	ulong a0;
++	ulong a1;
++	ulong a2;
++	ulong a3;
++	ulong a4;
++	ulong a5;
++	ulong a6;
++	ulong a7;
++	ulong a8;
++	ulong a9;
++	ulong a10;
++	ulong a11;
++	ulong a12;
++	ulong a13;
++	ulong a14;
++	ulong a15;
++	ulong a16;
++	ulong a17;
++};
++
++typedef struct sandbox_smccc_1_2_regs ffa_value_t;
++
++#define ARM_SMCCC_FAST_CALL		1UL
++#define ARM_SMCCC_OWNER_STANDARD	4
++#define ARM_SMCCC_SMC_32		0
++#define ARM_SMCCC_SMC_64		1
++#define ARM_SMCCC_TYPE_SHIFT		31
++#define ARM_SMCCC_CALL_CONV_SHIFT	30
++#define ARM_SMCCC_OWNER_MASK		0x3f
++#define ARM_SMCCC_OWNER_SHIFT		24
++#define ARM_SMCCC_FUNC_MASK		0xffff
++
++#define ARM_SMCCC_CALL_VAL(type, calling_convention, owner, func_num) \
++	(((type) << ARM_SMCCC_TYPE_SHIFT) | \
++	((calling_convention) << ARM_SMCCC_CALL_CONV_SHIFT) | \
++	(((owner) & ARM_SMCCC_OWNER_MASK) << ARM_SMCCC_OWNER_SHIFT) | \
++	((func_num) & ARM_SMCCC_FUNC_MASK))
++
++#else
++/* CONFIG_ARM64 */
++#include <linux/arm-smccc.h>
++typedef struct arm_smccc_1_2_regs ffa_value_t;
++#endif
++
++/* Defining the function pointer type for the function executing the FF-A ABIs */
++typedef void (*invoke_ffa_fn_t)(ffa_value_t args, ffa_value_t *res);
++
++/* FF-A driver version definitions */
++
++#define MAJOR_VERSION_MASK		GENMASK(30, 16)
++#define MINOR_VERSION_MASK		GENMASK(15, 0)
++#define GET_FFA_MAJOR_VERSION(x)		\
++				((u16)(FIELD_GET(MAJOR_VERSION_MASK, (x))))
++#define GET_FFA_MINOR_VERSION(x)		\
++				((u16)(FIELD_GET(MINOR_VERSION_MASK, (x))))
++#define PACK_VERSION_INFO(major, minor)			\
++	(FIELD_PREP(MAJOR_VERSION_MASK, (major)) |	\
++	 FIELD_PREP(MINOR_VERSION_MASK, (minor)))
++
++#define FFA_MAJOR_VERSION		(1)
++#define FFA_MINOR_VERSION		(0)
++#define FFA_VERSION_1_0		\
++			PACK_VERSION_INFO(FFA_MAJOR_VERSION, FFA_MINOR_VERSION)
++
++/* Endpoint ID mask (u-boot endpoint ID) */
++
++#define GET_SELF_ENDPOINT_ID_MASK		GENMASK(15, 0)
++#define GET_SELF_ENDPOINT_ID(x)		\
++			((u16)(FIELD_GET(GET_SELF_ENDPOINT_ID_MASK, (x))))
++
++#define PREP_SELF_ENDPOINT_ID_MASK		GENMASK(31, 16)
++#define PREP_SELF_ENDPOINT_ID(x)		\
++			(FIELD_PREP(PREP_SELF_ENDPOINT_ID_MASK, (x)))
++
++/* Partition endpoint ID mask  (partition with which u-boot communicates with) */
++
++#define PREP_PART_ENDPOINT_ID_MASK		GENMASK(15, 0)
++#define PREP_PART_ENDPOINT_ID(x)		\
++			(FIELD_PREP(PREP_PART_ENDPOINT_ID_MASK, (x)))
++
++/* Definitions of the Arm FF-A interfaces supported by the Arm FF-A driver */
++
++#define FFA_SMC(calling_convention, func_num)				\
++	ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, (calling_convention),	\
++			   ARM_SMCCC_OWNER_STANDARD, (func_num))
++
++#define FFA_SMC_32(func_num)				FFA_SMC(ARM_SMCCC_SMC_32, (func_num))
++#define FFA_SMC_64(func_num)				FFA_SMC(ARM_SMCCC_SMC_64, (func_num))
++
++enum ffa_abis {
++	FFA_ERROR                 = 0x60,
++	FFA_SUCCESS               = 0x61,
++	FFA_INTERRUPT             = 0x62,
++	FFA_VERSION               = 0x63,
++	FFA_FEATURES              = 0x64,
++	FFA_RX_RELEASE            = 0x65,
++	FFA_RXTX_MAP              = 0x66,
++	FFA_RXTX_UNMAP            = 0x67,
++	FFA_PARTITION_INFO_GET    = 0x68,
++	FFA_ID_GET                = 0x69,
++	FFA_RUN                   = 0x6d,
++	FFA_MSG_SEND_DIRECT_REQ   = 0x6f,
++	FFA_MSG_SEND_DIRECT_RESP  = 0x70,
++
++	/* To be updated when adding new FFA IDs */
++	FFA_FIRST_ID              = FFA_ERROR, /* Lowest number ID */
++	FFA_LAST_ID               = FFA_MSG_SEND_DIRECT_RESP, /* Highest number ID */
++};
++
++enum ffa_abi_errcode {
++	NOT_SUPPORTED = 1,
++	INVALID_PARAMETERS,
++	NO_MEMORY,
++	BUSY,
++	INTERRUPTED,
++	DENIED,
++	RETRY,
++	ABORTED,
++	MAX_NUMBER_FFA_ERR
++};
++
++extern int ffa_to_std_errmap[MAX_NUMBER_FFA_ERR];
++
++/* Container structure and helper macros to map between an FF-A error and relevant error log */
++struct ffa_abi_errmap {
++	char *err_str[MAX_NUMBER_FFA_ERR];
++};
++
++#define FFA_ERRMAP_COUNT (FFA_LAST_ID - FFA_FIRST_ID + 1)
++#define FFA_ID_TO_ERRMAP_ID(ffa_id) ((ffa_id) - FFA_FIRST_ID)
++
++/**
++ * enum ffa_rxtx_buf_sizes - minimum sizes supported
++ * for the RX/TX buffers
++ */
++enum ffa_rxtx_buf_sizes {
++	RXTX_4K,
++	RXTX_64K,
++	RXTX_16K
++};
++
++/**
++ * struct ffa_rxtxpair - Hosts the RX/TX buffers virtual addresses
++ * @rxbuf:	virtual address of the RX buffer
++ * @txbuf:	virtual address of the TX buffer
++ * @rxtx_min_pages:	RX/TX buffers minimum size in pages
++ *
++ * Hosts the virtual addresses of the mapped RX/TX buffers
++ * These addresses are used by the FF-A functions that use the RX/TX buffers
++ */
++struct ffa_rxtxpair {
++	void *rxbuf; /* Virtual address returned by memalign */
++	void *txbuf; /* Virtual address returned by memalign */
++	size_t rxtx_min_pages; /* Minimum number of pages in each of the RX/TX buffers */
++};
++
++struct ffa_partition_desc;
++
++/**
++ * struct ffa_partitions - descriptors for all secure partitions
++ * @count:	The number of partitions descriptors
++ * @descs	The partitions descriptors table
++ *
++ * Contains the partitions descriptors table
++ */
++struct ffa_partitions {
++	u32 count;
++	struct ffa_partition_desc *descs; /* Virtual address */
++};
++
++/**
++ * struct ffa_priv - the driver private data structure
++ *
++ * @fwk_version:	FF-A framework version
++ * @emul:	FF-A sandbox emulator
++ * @id:	u-boot endpoint ID
++ * @partitions:	The partitions descriptors structure
++ * @pair:	The RX/TX buffers pair
++ *
++ * The device private data structure containing all the
++ * data read from secure world.
++ */
++struct ffa_priv {
++	u32 fwk_version;
++	struct udevice *emul;
++	u16 id;
++	struct ffa_partitions partitions;
++	struct ffa_rxtxpair pair;
++};
++
++/**
++ * ffa_get_version_hdlr() - FFA_VERSION handler function
++ * @dev: The FF-A bus device
++ *
++ * Implement FFA_VERSION FF-A function
++ * to get from the secure world the FF-A framework version
++ * FFA_VERSION is used to discover the FF-A framework.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++int ffa_get_version_hdlr(struct udevice *dev);
++
++/**
++ * invoke_ffa_fn() - SMC wrapper
++ * @args: FF-A ABI arguments to be copied to Xn registers
++ * @res: FF-A ABI return data to be copied from Xn registers
++ *
++ * Calls low level SMC implementation.
++ * This function should be implemented by the user driver.
++ */
++void invoke_ffa_fn(ffa_value_t args, ffa_value_t *res);
++
++#endif
+diff --git a/include/dm/uclass-id.h b/include/dm/uclass-id.h
+index 307ad6931c..3c6af2e3d2 100644
+--- a/include/dm/uclass-id.h
++++ b/include/dm/uclass-id.h
+@@ -4,6 +4,11 @@
+  *
+  * (C) Copyright 2012
+  * Pavel Herrmann <morpheus.ibis@gmail.com>
++ *
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+  */
+ 
+ #ifndef _DM_UCLASS_ID_H
+@@ -57,6 +62,7 @@ enum uclass_id {
+ 	UCLASS_ETH,		/* Ethernet device */
+ 	UCLASS_ETH_PHY,		/* Ethernet PHY device */
+ 	UCLASS_EXTCON,		/* External Connector Class */
++	UCLASS_FFA,		/* Arm Firmware Framework for Armv8-A */
+ 	UCLASS_FIRMWARE,	/* Firmware */
+ 	UCLASS_FPGA,		/* FPGA device */
+ 	UCLASS_FUZZING_ENGINE,	/* Fuzzing engine */
+-- 
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-arm_ffa-efi-unmap-RX-TX-buffers.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-arm_ffa-efi-unmap-RX-TX-buffers.patch
deleted file mode 100644
index 3a3dae8..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-arm_ffa-efi-unmap-RX-TX-buffers.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From b09b391e33e024a18842dfdc99282d0050cc5fcb Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Thu, 6 Oct 2022 15:04:25 +0100
-Subject: [PATCH 04/42] arm_ffa: efi: unmap RX/TX buffers
-
-unmap RX/TX buffers at ExitBootServices()
-
-Unmapping the RX/TX buffers created by u-boot is needed before EFI
-runtime.
-
-At EFI runtime the linux kernel takes care of allocating its own RX/TX
-buffers and registering them with the secure world.
-
-Secure world should be using the RX/TX buffers created by the kernel.
-So, RX/TX buffers created by u-boot must be unmapped.
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Cc: Tom Rini <trini@konsulko.com>
-Cc: Simon Glass <sjg@chromium.org>
-Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
-Cc: Jens Wiklander <jens.wiklander@linaro.org>
-Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20221122131751.22747-1-abdellatif.elkhlifi@arm.com/]
-
-Changelog:
-===============
-
-v8: pass NULL device pointer to the FF-A bus operation
-v7: replace debug() by log_err()
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- lib/efi_loader/efi_boottime.c | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
-index e65ca6a4cb..3481f2afe7 100644
---- a/lib/efi_loader/efi_boottime.c
-+++ b/lib/efi_loader/efi_boottime.c
-@@ -3,6 +3,9 @@
-  * EFI application boot time services
-  *
-  * Copyright (c) 2016 Alexander Graf
-+ *
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-  */
- 
- #include <common.h>
-@@ -23,6 +26,10 @@
- #include <asm/setjmp.h>
- #include <linux/libfdt_env.h>
- 
-+#if CONFIG_IS_ENABLED(ARM_FFA_TRANSPORT)
-+#include <arm_ffa.h>
-+#endif
-+
- DECLARE_GLOBAL_DATA_PTR;
- 
- /* Task priority level */
-@@ -2178,6 +2185,12 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle,
- 		dm_remove_devices_flags(DM_REMOVE_ACTIVE_ALL);
- 	}
- 
-+#if CONFIG_IS_ENABLED(ARM_FFA_TRANSPORT)
-+		/* unmap FF-A RX/TX buffers */
-+		if (ffa_bus_ops_get()->rxtx_unmap(NULL))
-+			log_err("Can't unmap FF-A RX/TX buffers\n");
-+#endif
-+
- 	/* Patch out unsupported runtime function */
- 	efi_runtime_detach();
- 
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-FF-A-v15-arm_ffa-introduce-armffa-command.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-FF-A-v15-arm_ffa-introduce-armffa-command.patch
new file mode 100644
index 0000000..aeb4bb9
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-FF-A-v15-arm_ffa-introduce-armffa-command.patch
@@ -0,0 +1,436 @@
+From 3eb4fb19777383f5f05b7ce74da141f53ffc4374 Mon Sep 17 00:00:00 2001
+From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Date: Wed, 10 May 2023 17:27:01 +0100
+Subject: [PATCH 05/33] FF-A v15: arm_ffa: introduce armffa command
+
+Provide armffa command showcasing the use of the U-Boot FF-A support
+
+armffa is a command showcasing how to invoke FF-A operations.
+This provides a guidance to the client developers on how to
+call the FF-A bus interfaces. The command also allows to gather secure
+partitions information and ping these  partitions. The command is also
+helpful in testing the communication with secure partitions.
+
+For more details please refer to the command documentation [1].
+
+[1]: doc/usage/cmd/armffa.rst
+
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
+Cc: Tom Rini <trini@konsulko.com>
+Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
+Cc: Jens Wiklander <jens.wiklander@linaro.org>
+Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
+Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20230713132847.176000-1-abdellatif.elkhlifi@arm.com/]
+---
+ MAINTAINERS                      |   2 +
+ cmd/Kconfig                      |  10 ++
+ cmd/Makefile                     |   1 +
+ cmd/armffa.c                     | 202 +++++++++++++++++++++++++++++++
+ doc/arch/arm64.ffa.rst           |   7 ++
+ doc/usage/cmd/armffa.rst         |  93 ++++++++++++++
+ doc/usage/index.rst              |   1 +
+ drivers/firmware/arm-ffa/Kconfig |   1 +
+ 8 files changed, 317 insertions(+)
+ create mode 100644 cmd/armffa.c
+ create mode 100644 doc/usage/cmd/armffa.rst
+
+diff --git a/MAINTAINERS b/MAINTAINERS
+index 9c5ebf312c..4ae82229fc 100644
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -269,7 +269,9 @@ F:	configs/cortina_presidio-asic-pnand_defconfig
+ ARM FF-A
+ M:	Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+ S:	Maintained
++F:	cmd/armffa.c
+ F:	doc/arch/arm64.ffa.rst
++F:	doc/usage/cmd/armffa.rst
+ F:	drivers/firmware/arm-ffa/
+ F:	include/arm_ffa.h
+ F:	include/sandbox_arm_ffa.h
+diff --git a/cmd/Kconfig b/cmd/Kconfig
+index 02e54f1e50..79b4f8367a 100644
+--- a/cmd/Kconfig
++++ b/cmd/Kconfig
+@@ -935,6 +935,16 @@ endmenu
+ 
+ menu "Device access commands"
+ 
++config CMD_ARMFFA
++	bool "Arm FF-A test command"
++	depends on ARM_FFA_TRANSPORT
++	help
++	  Provides a test command for the FF-A support
++	  supported options:
++		- Listing the partition(s) info
++		- Sending a data pattern to the specified partition
++		- Displaying the arm_ffa device info
++
+ config CMD_ARMFLASH
+ 	#depends on FLASH_CFI_DRIVER
+ 	bool "armflash"
+diff --git a/cmd/Makefile b/cmd/Makefile
+index 6c37521b4e..7d20a85a46 100644
+--- a/cmd/Makefile
++++ b/cmd/Makefile
+@@ -12,6 +12,7 @@ obj-y += panic.o
+ obj-y += version.o
+ 
+ # command
++obj-$(CONFIG_CMD_ARMFFA) += armffa.o
+ obj-$(CONFIG_CMD_2048) += 2048.o
+ obj-$(CONFIG_CMD_ACPI) += acpi.o
+ obj-$(CONFIG_CMD_ADDRMAP) += addrmap.o
+diff --git a/cmd/armffa.c b/cmd/armffa.c
+new file mode 100644
+index 0000000000..7e6eafc03a
+--- /dev/null
++++ b/cmd/armffa.c
+@@ -0,0 +1,202 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ */
++#include <common.h>
++#include <arm_ffa.h>
++#include <command.h>
++#include <dm.h>
++#include <mapmem.h>
++#include <stdlib.h>
++#include <asm/io.h>
++
++/* Select the right physical address formatting according to the platform */
++#ifdef CONFIG_PHYS_64BIT
++#define PhysAddrLength "ll"
++#else
++#define PhysAddrLength ""
++#endif
++#define PHYS_ADDR_LN "%" PhysAddrLength "x"
++
++/**
++ * ffa_get_dev() - Return the FF-A device
++ * @devp:	pointer to the FF-A device
++ *
++ * Search for the FF-A device.
++ *
++ * Return:
++ * 0 on success. Otherwise, failure
++ */
++static int ffa_get_dev(struct udevice **devp)
++{
++	int ret;
++
++	ret = uclass_first_device_err(UCLASS_FFA, devp);
++	if (ret) {
++		log_err("Cannot find FF-A bus device\n");
++		return ret;
++	}
++
++	return 0;
++}
++
++/**
++ * do_ffa_getpart() - implementation of the getpart subcommand
++ * @cmdtp:		Command Table
++ * @flag:		flags
++ * @argc:		number of arguments
++ * @argv:		arguments
++ *
++ * Query a secure partition information. The secure partition UUID is provided
++ * as an argument. The function uses the arm_ffa driver
++ * partition_info_get operation which implements FFA_PARTITION_INFO_GET
++ * ABI to retrieve the data. The input UUID string is expected to be in big
++ * endian format.
++ *
++ * Return:
++ *
++ * CMD_RET_SUCCESS: on success, otherwise failure
++ */
++static int do_ffa_getpart(struct cmd_tbl *cmdtp, int flag, int argc,
++			  char *const argv[])
++{
++	u32 count = 0;
++	int ret;
++	struct ffa_partition_desc *descs;
++	u32 i;
++	struct udevice *dev;
++
++	if (argc != 2) {
++		log_err("Missing argument\n");
++		return CMD_RET_USAGE;
++	}
++
++	ret = ffa_get_dev(&dev);
++	if (ret)
++		return CMD_RET_FAILURE;
++
++	/* Ask the driver to fill the buffer with the SPs info */
++
++	ret = ffa_partition_info_get(dev, argv[1], &count, &descs);
++	if (ret) {
++		log_err("Failure in querying partition(s) info (error code: %d)\n", ret);
++		return CMD_RET_FAILURE;
++	}
++
++	/* SPs found , show the partition information */
++	for (i = 0; i < count ; i++) {
++		log_info("Partition: id = %x , exec_ctxt %x , properties %x\n",
++			 descs[i].info.id,
++			 descs[i].info.exec_ctxt,
++			 descs[i].info.properties);
++	}
++
++	return CMD_RET_SUCCESS;
++}
++
++/**
++ * do_ffa_ping() - implementation of the ping subcommand
++ * @cmdtp:		Command Table
++ * @flag:		flags
++ * @argc:		number of arguments
++ * @argv:		arguments
++ *
++ * Send data to a secure partition. The secure partition UUID is provided
++ * as an argument. Use the arm_ffa driver sync_send_receive operation
++ * which implements FFA_MSG_SEND_DIRECT_{REQ,RESP} ABIs to send/receive data.
++ *
++ * Return:
++ *
++ * CMD_RET_SUCCESS: on success, otherwise failure
++ */
++static int do_ffa_ping(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
++{
++	struct ffa_send_direct_data msg = {
++			.data0 = 0xaaaaaaaa,
++			.data1 = 0xbbbbbbbb,
++			.data2 = 0xcccccccc,
++			.data3 = 0xdddddddd,
++			.data4 = 0xeeeeeeee,
++	};
++	u16 part_id;
++	int ret;
++	struct udevice *dev;
++
++	if (argc != 2) {
++		log_err("Missing argument\n");
++		return CMD_RET_USAGE;
++	}
++
++	part_id = strtoul(argv[1], NULL, 16);
++	if (!part_id) {
++		log_err("Partition ID can not be 0\n");
++		return CMD_RET_USAGE;
++	}
++
++	ret = ffa_get_dev(&dev);
++	if (ret)
++		return CMD_RET_FAILURE;
++
++	ret = ffa_sync_send_receive(dev, part_id, &msg, 1);
++	if (!ret) {
++		u8 cnt;
++
++		log_info("SP response:\n[LSB]\n");
++		for (cnt = 0;
++		     cnt < sizeof(struct ffa_send_direct_data) / sizeof(u64);
++		     cnt++)
++			log_info("%llx\n", ((u64 *)&msg)[cnt]);
++		return CMD_RET_SUCCESS;
++	}
++
++	log_err("Sending direct request error (%d)\n", ret);
++	return CMD_RET_FAILURE;
++}
++
++/**
++ *do_ffa_devlist() - implementation of the devlist subcommand
++ * @cmdtp: [in]		Command Table
++ * @flag:		flags
++ * @argc:		number of arguments
++ * @argv:		arguments
++ *
++ * Query the device belonging to the UCLASS_FFA
++ * class.
++ *
++ * Return:
++ *
++ * CMD_RET_SUCCESS: on success, otherwise failure
++ */
++static int do_ffa_devlist(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
++{
++	struct udevice *dev;
++	int ret;
++
++	ret = ffa_get_dev(&dev);
++	if (ret)
++		return CMD_RET_FAILURE;
++
++	log_info("device %s, addr " PHYS_ADDR_LN ", driver %s, ops " PHYS_ADDR_LN "\n",
++		 dev->name,
++		 map_to_sysmem(dev),
++		 dev->driver->name,
++		 map_to_sysmem(dev->driver->ops));
++
++	return CMD_RET_SUCCESS;
++}
++
++static char armffa_help_text[] =
++	"getpart <partition UUID>\n"
++	"       - lists the partition(s) info\n"
++	"ping <partition ID>\n"
++	"       - sends a data pattern to the specified partition\n"
++	"devlist\n"
++	"       - displays information about the FF-A device/driver\n";
++
++U_BOOT_CMD_WITH_SUBCMDS(armffa, "Arm FF-A test command", armffa_help_text,
++			U_BOOT_SUBCMD_MKENT(getpart, 2, 1, do_ffa_getpart),
++			U_BOOT_SUBCMD_MKENT(ping, 2, 1, do_ffa_ping),
++			U_BOOT_SUBCMD_MKENT(devlist, 1, 1, do_ffa_devlist));
+diff --git a/doc/arch/arm64.ffa.rst b/doc/arch/arm64.ffa.rst
+index 4f817f053c..aefd527447 100644
+--- a/doc/arch/arm64.ffa.rst
++++ b/doc/arch/arm64.ffa.rst
+@@ -205,6 +205,13 @@ The following features are provided:
+ 
+ - FF-A bus can be compiled and used without EFI
+ 
++The armffa command
++-----------------------------------
++
++armffa is a command showcasing how to use the FF-A bus and how to invoke the driver operations.
++
++Please refer the command documentation at :doc:`../usage/cmd/armffa`
++
+ Example of boot logs with FF-A enabled
+ --------------------------------------
+ 
+diff --git a/doc/usage/cmd/armffa.rst b/doc/usage/cmd/armffa.rst
+new file mode 100644
+index 0000000000..3d422686c1
+--- /dev/null
++++ b/doc/usage/cmd/armffa.rst
+@@ -0,0 +1,93 @@
++.. SPDX-License-Identifier: GPL-2.0+:
++
++armffa command
++==============
++
++Synopsis
++--------
++
++::
++
++   armffa [sub-command] [arguments]
++
++   sub-commands:
++
++        getpart [partition UUID]
++
++            lists the partition(s) info
++
++        ping [partition ID]
++
++            sends a data pattern to the specified partition
++
++        devlist
++
++            displays information about the FF-A device/driver
++
++Description
++-----------
++
++armffa is a command showcasing how to use the FF-A bus and how to invoke its operations.
++
++This provides a guidance to the client developers on how to call the FF-A bus interfaces.
++
++The command also allows to gather secure partitions information and ping these  partitions.
++
++The command is also helpful in testing the communication with secure partitions.
++
++Example
++-------
++
++The following examples are run on Corstone-1000 platform.
++
++* ping
++
++::
++
++   corstone1000# armffa ping 0x8003
++   SP response:
++   [LSB]
++   fffffffe
++   0
++   0
++   0
++   0
++
++* ping (failure case)
++
++::
++
++   corstone1000# armffa ping 0
++   Sending direct request error (-22)
++
++* getpart
++
++::
++
++   corstone1000# armffa getpart 33d532ed-e699-0942-c09c-a798d9cd722d
++   Partition: id = 8003 , exec_ctxt 1 , properties 3
++
++* getpart (failure case)
++
++::
++
++   corstone1000# armffa getpart 33d532ed-e699-0942-c09c-a798d9cd7221
++   INVALID_PARAMETERS: Unrecognized UUID
++   Failure in querying partitions count (error code: -22)
++
++* devlist
++
++::
++
++   corstone1000# armffa devlist
++   device name arm_ffa, dev 00000000fdf41c30, driver name arm_ffa, ops 00000000fffc0e98
++
++Configuration
++-------------
++
++The command is available if CONFIG_CMD_ARMFFA=y and CONFIG_ARM_FFA_TRANSPORT=y.
++
++Return value
++------------
++
++The return value $? is 0 (true) on success, 1 (false) on failure.
+diff --git a/doc/usage/index.rst b/doc/usage/index.rst
+index 388e59f173..e462de2806 100644
+--- a/doc/usage/index.rst
++++ b/doc/usage/index.rst
+@@ -22,6 +22,7 @@ Shell commands
+ 
+    cmd/acpi
+    cmd/addrmap
++   cmd/armffa
+    cmd/askenv
+    cmd/base
+    cmd/bdinfo
+diff --git a/drivers/firmware/arm-ffa/Kconfig b/drivers/firmware/arm-ffa/Kconfig
+index 9200c8028b..a7d5392859 100644
+--- a/drivers/firmware/arm-ffa/Kconfig
++++ b/drivers/firmware/arm-ffa/Kconfig
+@@ -5,6 +5,7 @@ config ARM_FFA_TRANSPORT
+ 	depends on DM && ARM64
+ 	select ARM_SMCCC
+ 	select ARM_SMCCC_FEATURES
++	imply CMD_ARMFFA
+ 	select LIB_UUID
+ 	select DEVRES
+ 	help
+-- 
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-arm_ffa-introduce-armffa-command.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-arm_ffa-introduce-armffa-command.patch
deleted file mode 100644
index b00e3d9..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-arm_ffa-introduce-armffa-command.patch
+++ /dev/null
@@ -1,364 +0,0 @@
-From f3bc86a7ec63c0454577cb6712395c577b2cfd66 Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Mon, 6 Jun 2022 12:46:38 +0100
-Subject: [PATCH 05/42] arm_ffa: introduce armffa command
-
-Provide armffa command showcasing the use of the FF-A driver
-
-The armffa command allows to query secure partitions data from
-the secure world and exchanging messages with the partitions
-using 64-bit FF-A direct messaging.
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Cc: Tom Rini <trini@konsulko.com>
-Cc: Simon Glass <sjg@chromium.org>
-Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
-Cc: Jens Wiklander <jens.wiklander@linaro.org>
-Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20221122131751.22747-1-abdellatif.elkhlifi@arm.com/]
-
-Changelog:
-===============
-
-v8:
-
-* update partition_info_get() second argument to be an SP count
-* pass NULL device pointer to the FF-A bus discovery and operations
-
-v7:
-
-* adapt do_ffa_dev_list() following the recent update on
-  uclass_first_device/uclass_next_device functions (they return void now)
-* set armffa command to use 64-bit direct messaging
-
-v4:
-
-* remove pattern data in do_ffa_msg_send_direct_req
-
-v3:
-
-* use the new driver interfaces (partition_info_get, sync_send_receive)
-  in armffa command
-
-v2:
-
-* replace use of ffa_helper_init_device function by
- ffa_helper_bus_discover
-
-v1:
-
-* introduce armffa command
-
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- MAINTAINERS                      |   1 +
- cmd/Kconfig                      |  10 ++
- cmd/Makefile                     |   2 +
- cmd/armffa.c                     | 237 +++++++++++++++++++++++++++++++
- drivers/firmware/arm-ffa/Kconfig |   1 +
- 5 files changed, 251 insertions(+)
- create mode 100644 cmd/armffa.c
-
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 509619d31c..61ce6c436f 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
-@@ -267,6 +267,7 @@ F:	configs/cortina_presidio-asic-pnand_defconfig
- ARM FF-A
- M:	Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
- S:	Maintained
-+F:	cmd/armffa.c
- F:	doc/arch/arm64.ffa.rst
- F:	drivers/firmware/arm-ffa/
- F:	include/arm_ffa.h
-diff --git a/cmd/Kconfig b/cmd/Kconfig
-index b2d7598717..7d0a40e8ac 100644
---- a/cmd/Kconfig
-+++ b/cmd/Kconfig
-@@ -924,6 +924,16 @@ endmenu
- 
- menu "Device access commands"
- 
-+config CMD_ARMFFA
-+	bool "Arm FF-A test command"
-+	depends on ARM_FFA_TRANSPORT
-+	help
-+	  Provides a test command for the Arm FF-A driver
-+	  supported options:
-+		- Listing the partition(s) info
-+		- Sending a data pattern to the specified partition
-+		- Displaying the arm_ffa device info
-+
- config CMD_ARMFLASH
- 	#depends on FLASH_CFI_DRIVER
- 	bool "armflash"
-diff --git a/cmd/Makefile b/cmd/Makefile
-index 0b6a96c1d9..c757f1647d 100644
---- a/cmd/Makefile
-+++ b/cmd/Makefile
-@@ -12,6 +12,8 @@ obj-y += panic.o
- obj-y += version.o
- 
- # command
-+
-+obj-$(CONFIG_CMD_ARMFFA) += armffa.o
- obj-$(CONFIG_CMD_ACPI) += acpi.o
- obj-$(CONFIG_CMD_ADDRMAP) += addrmap.o
- obj-$(CONFIG_CMD_AES) += aes.o
-diff --git a/cmd/armffa.c b/cmd/armffa.c
-new file mode 100644
-index 0000000000..d2e8687bfb
---- /dev/null
-+++ b/cmd/armffa.c
-@@ -0,0 +1,237 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#include <arm_ffa.h>
-+#include <asm/io.h>
-+#include <common.h>
-+#include <command.h>
-+#include <dm.h>
-+#include <mapmem.h>
-+#include <stdlib.h>
-+
-+/**
-+ * do_ffa_get_singular_partition_info - implementation of the getpart subcommand
-+ * @cmdtp:		Command Table
-+ * @flag:		flags
-+ * @argc:		number of arguments
-+ * @argv:		arguments
-+ *
-+ * This function queries the secure partition information which the UUID is provided
-+ * as an argument. The function uses the arm_ffa driver partition_info_get operation
-+ * to retrieve the data.
-+ * The input UUID string is expected to be in big endian format.
-+ *
-+ * Return:
-+ *
-+ * CMD_RET_SUCCESS: on success, otherwise failure
-+ */
-+static int do_ffa_get_singular_partition_info(struct cmd_tbl *cmdtp, int flag, int argc,
-+					      char *const argv[])
-+{
-+	u32 count = 0;
-+	int ret;
-+	struct ffa_partition_info *parts_info;
-+	u32 info_idx;
-+
-+	if (argc != 1)
-+		return -EINVAL;
-+
-+	/* Mode 1: getting the number of secure partitions */
-+	ret = ffa_bus_ops_get()->partition_info_get(NULL, argv[0], &count, NULL);
-+	if (ret != 0) {
-+		ffa_err("Failure in querying partitions count (error code: %d)", ret);
-+		return ret;
-+	}
-+
-+	if (!count) {
-+		ffa_info("No secure partition found");
-+		return ret;
-+	}
-+
-+	/*
-+	 * pre-allocate a buffer to be filled by the driver
-+	 * with ffa_partition_info structs
-+	 */
-+
-+	ffa_info("Pre-allocating %d partition(s) info structures", count);
-+
-+	parts_info = calloc(count, sizeof(struct ffa_partition_info));
-+	if (!parts_info)
-+		return -EINVAL;
-+
-+	/*
-+	 * ask the driver to fill the buffer with the SPs info
-+	 */
-+
-+	ret = ffa_bus_ops_get()->partition_info_get(NULL, argv[0], &count, parts_info);
-+	if (ret != 0) {
-+		ffa_err("Failure in querying partition(s) info (error code: %d)", ret);
-+		free(parts_info);
-+		return ret;
-+	}
-+
-+	/*
-+	 * SPs found , show the partition information
-+	 */
-+	for (info_idx = 0; info_idx < count ; info_idx++) {
-+		ffa_info("Partition: id = 0x%x , exec_ctxt 0x%x , properties 0x%x",
-+			 parts_info[info_idx].id,
-+			 parts_info[info_idx].exec_ctxt,
-+			 parts_info[info_idx].properties);
-+	}
-+
-+	free(parts_info);
-+
-+	return 0;
-+}
-+
-+/**
-+ * do_ffa_msg_send_direct_req - implementation of the ping subcommand
-+ * @cmdtp:		Command Table
-+ * @flag:		flags
-+ * @argc:		number of arguments
-+ * @argv:		arguments
-+ *
-+ * This function sends data to the secure partition which the ID is provided
-+ * as an argument. The function uses the arm_ffa driver sync_send_receive operation
-+ * to send data.
-+ *
-+ * Return:
-+ *
-+ * CMD_RET_SUCCESS: on success, otherwise failure
-+ */
-+int  do_ffa_msg_send_direct_req(struct cmd_tbl *cmdtp, int flag, int argc,
-+				char *const argv[])
-+{
-+	struct ffa_send_direct_data msg = {
-+			.data0 = 0xaaaaaaaa,
-+			.data1 = 0xbbbbbbbb,
-+			.data2 = 0xcccccccc,
-+			.data3 = 0xdddddddd,
-+			.data4 = 0xeeeeeeee,
-+	};
-+	u16 part_id;
-+	int ret;
-+
-+	if (argc != 1)
-+		return -EINVAL;
-+
-+	errno = 0;
-+	part_id = strtoul(argv[0], NULL, 16);
-+
-+	if (errno) {
-+		ffa_err("Invalid partition ID");
-+		return -EINVAL;
-+	}
-+
-+	ret = ffa_bus_ops_get()->sync_send_receive(NULL, part_id, &msg, 1);
-+	if (ret == 0) {
-+		u8 cnt;
-+
-+		ffa_info("SP response:\n[LSB]");
-+		for (cnt = 0;
-+		     cnt < sizeof(struct ffa_send_direct_data) / sizeof(u64);
-+		     cnt++)
-+			ffa_info("0x%llx", ((u64 *)&msg)[cnt]);
-+	} else {
-+		ffa_err("Sending direct request error (%d)", ret);
-+	}
-+
-+	return ret;
-+}
-+
-+/**
-+ *do_ffa_dev_list - implementation of the devlist subcommand
-+ * @cmdtp: [in]		Command Table
-+ * @flag:		flags
-+ * @argc:		number of arguments
-+ * @argv:		arguments
-+ *
-+ * This function queries the devices belonging to the UCLASS_FFA
-+ * class. Currently, one device is expected to show up: the arm_ffa device
-+ *
-+ * Return:
-+ *
-+ * CMD_RET_SUCCESS: on success, otherwise failure
-+ */
-+int do_ffa_dev_list(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
-+{
-+	struct udevice *dev = NULL;
-+	int i;
-+
-+	ffa_info("arm_ffa uclass entries:");
-+
-+	for (i = 0, uclass_first_device(UCLASS_FFA, &dev);
-+	     dev;
-+	     uclass_next_device(&dev), i++) {
-+		ffa_info("entry %d - instance %08x, ops %08x, plat %08x",
-+			 i,
-+			 (u32)map_to_sysmem(dev),
-+			 (u32)map_to_sysmem(dev->driver->ops),
-+			 (u32)map_to_sysmem(dev_get_plat(dev)));
-+	}
-+
-+	return 0;
-+}
-+
-+static struct cmd_tbl armffa_commands[] = {
-+	U_BOOT_CMD_MKENT(getpart, 1, 1, do_ffa_get_singular_partition_info, "", ""),
-+	U_BOOT_CMD_MKENT(ping, 1, 1, do_ffa_msg_send_direct_req, "", ""),
-+	U_BOOT_CMD_MKENT(devlist, 0, 1, do_ffa_dev_list, "", ""),
-+};
-+
-+/**
-+ * do_armffa - the armffa command main function
-+ * @cmdtp:	Command Table
-+ * @flag:		flags
-+ * @argc:		number of arguments
-+ * @argv:		arguments
-+ *
-+ * This function identifies which armffa subcommand to run.
-+ * Then, it makes sure the arm_ffa device is probed and
-+ * ready for use.
-+ * Then, it runs the subcommand.
-+ *
-+ * Return:
-+ *
-+ * CMD_RET_SUCCESS: on success, otherwise failure
-+ */
-+static int do_armffa(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
-+{
-+	struct cmd_tbl *armffa_cmd;
-+	int ret;
-+
-+	if (argc < 2)
-+		return CMD_RET_USAGE;
-+
-+	armffa_cmd = find_cmd_tbl(argv[1], armffa_commands, ARRAY_SIZE(armffa_commands));
-+
-+	argc -= 2;
-+	argv += 2;
-+
-+	if (!armffa_cmd || argc > armffa_cmd->maxargs)
-+		return CMD_RET_USAGE;
-+
-+	ret = ffa_bus_discover(NULL);
-+	if (ret != 0)
-+		return cmd_process_error(cmdtp, ret);
-+
-+	if (!ffa_bus_ops_get())
-+		return -EINVAL;
-+
-+	ret = armffa_cmd->cmd(armffa_cmd, flag, argc, argv);
-+
-+	return cmd_process_error(armffa_cmd, ret);
-+}
-+
-+U_BOOT_CMD(armffa, 4, 1, do_armffa,
-+	   "Arm FF-A operations test command",
-+	   "getpart <partition UUID>\n"
-+	   "	 - lists the partition(s) info\n"
-+	   "ping <partition ID>\n"
-+	   "	 - sends a data pattern to the specified partition\n"
-+	   "devlist\n"
-+	   "	 - displays the arm_ffa device info\n");
-diff --git a/drivers/firmware/arm-ffa/Kconfig b/drivers/firmware/arm-ffa/Kconfig
-index e4914b9bc7..be4df89d23 100644
---- a/drivers/firmware/arm-ffa/Kconfig
-+++ b/drivers/firmware/arm-ffa/Kconfig
-@@ -4,6 +4,7 @@ config ARM_FFA_TRANSPORT
- 	bool "Enable Arm Firmware Framework for Armv8-A driver"
- 	depends on DM && ARM64
- 	select ARM_SMCCC
-+	select CMD_ARMFFA
- 	select LIB_UUID
- 	select DEVRES
- 	help
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-FF-A-v15-arm_ffa-introduce-sandbox-FF-A-support.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-FF-A-v15-arm_ffa-introduce-sandbox-FF-A-support.patch
new file mode 100644
index 0000000..4f94b72
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-FF-A-v15-arm_ffa-introduce-sandbox-FF-A-support.patch
@@ -0,0 +1,1314 @@
+From 4f104ef6804ffd6483d166840d113630be85edb0 Mon Sep 17 00:00:00 2001
+From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Date: Mon, 17 Jul 2023 15:18:58 +0100
+Subject: [PATCH 06/33] FF-A v15: arm_ffa: introduce sandbox FF-A support
+
+Emulate Secure World's FF-A ABIs and allow testing U-Boot FF-A support
+
+Features of the sandbox FF-A support:
+
+- Introduce an FF-A emulator
+- Introduce an FF-A device driver for FF-A comms with emulated Secure World
+- Provides test methods allowing to read the status of the inspected ABIs
+
+The sandbox FF-A emulator supports only 64-bit direct messaging.
+
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
+Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20230713132847.176000-1-abdellatif.elkhlifi@arm.com/]
+---
+ MAINTAINERS                                   |   3 +-
+ arch/sandbox/dts/sandbox.dtsi                 |   9 +
+ arch/sandbox/dts/test.dts                     |   9 +
+ arch/sandbox/include/asm/sandbox_arm_ffa.h    |  72 ++
+ .../include/asm/sandbox_arm_ffa_priv.h        | 121 +++
+ configs/sandbox64_defconfig                   |   2 +
+ configs/sandbox_defconfig                     |   2 +
+ doc/arch/arm64.ffa.rst                        |  19 +-
+ doc/arch/sandbox/sandbox.rst                  |   1 +
+ drivers/firmware/arm-ffa/Kconfig              |  13 +-
+ drivers/firmware/arm-ffa/Makefile             |  10 +-
+ drivers/firmware/arm-ffa/ffa-emul-uclass.c    | 720 ++++++++++++++++++
+ .../firmware/arm-ffa/sandbox_arm_ffa_priv.h   |  14 -
+ drivers/firmware/arm-ffa/sandbox_ffa.c        | 110 +++
+ include/dm/uclass-id.h                        |   1 +
+ 15 files changed, 1084 insertions(+), 22 deletions(-)
+ create mode 100644 arch/sandbox/include/asm/sandbox_arm_ffa.h
+ create mode 100644 arch/sandbox/include/asm/sandbox_arm_ffa_priv.h
+ create mode 100644 drivers/firmware/arm-ffa/ffa-emul-uclass.c
+ delete mode 100644 drivers/firmware/arm-ffa/sandbox_arm_ffa_priv.h
+ create mode 100644 drivers/firmware/arm-ffa/sandbox_ffa.c
+
+diff --git a/MAINTAINERS b/MAINTAINERS
+index 4ae82229fc..679a3acdd8 100644
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -269,12 +269,13 @@ F:	configs/cortina_presidio-asic-pnand_defconfig
+ ARM FF-A
+ M:	Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+ S:	Maintained
++F:	arch/sandbox/include/asm/sandbox_arm_ffa.h
++F:	arch/sandbox/include/asm/sandbox_arm_ffa_priv.h
+ F:	cmd/armffa.c
+ F:	doc/arch/arm64.ffa.rst
+ F:	doc/usage/cmd/armffa.rst
+ F:	drivers/firmware/arm-ffa/
+ F:	include/arm_ffa.h
+-F:	include/sandbox_arm_ffa.h
+ 
+ ARM FREESCALE IMX
+ M:	Stefano Babic <sbabic@denx.de>
+diff --git a/arch/sandbox/dts/sandbox.dtsi b/arch/sandbox/dts/sandbox.dtsi
+index 30a305c4d2..94a08814b8 100644
+--- a/arch/sandbox/dts/sandbox.dtsi
++++ b/arch/sandbox/dts/sandbox.dtsi
+@@ -445,6 +445,15 @@
+ 	thermal {
+ 		compatible = "sandbox,thermal";
+ 	};
++
++	arm-ffa-emul {
++		compatible = "sandbox,arm-ffa-emul";
++
++		sandbox-arm-ffa {
++				compatible = "sandbox,arm-ffa";
++		};
++	};
++
+ };
+ 
+ &cros_ec {
+diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
+index ff9f9222e6..c6807ee031 100644
+--- a/arch/sandbox/dts/test.dts
++++ b/arch/sandbox/dts/test.dts
+@@ -1820,6 +1820,15 @@
+ 	extcon {
+ 		compatible = "sandbox,extcon";
+ 	};
++
++	arm-ffa-emul {
++		compatible = "sandbox,arm-ffa-emul";
++
++		sandbox-arm-ffa {
++			compatible = "sandbox,arm-ffa";
++		};
++	};
++
+ };
+ 
+ #include "sandbox_pmic.dtsi"
+diff --git a/arch/sandbox/include/asm/sandbox_arm_ffa.h b/arch/sandbox/include/asm/sandbox_arm_ffa.h
+new file mode 100644
+index 0000000000..be2790f496
+--- /dev/null
++++ b/arch/sandbox/include/asm/sandbox_arm_ffa.h
+@@ -0,0 +1,72 @@
++/* SPDX-License-Identifier: GPL-2.0+ */
++/*
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ */
++
++#ifndef __SANDBOX_ARM_FFA_H
++#define __SANDBOX_ARM_FFA_H
++
++#include <arm_ffa.h>
++
++/*
++ * This header provides public sandbox FF-A emulator declarations
++ * and declarations needed by FF-A sandbox clients
++ */
++
++/* UUIDs strings of the emulated services */
++#define SANDBOX_SERVICE1_UUID	"ed32d533-4209-99e6-2d72-cdd998a79cc0"
++#define SANDBOX_SERVICE2_UUID	"ed32d544-4209-99e6-2d72-cdd998a79cc0"
++
++/* IDs of the emulated secure partitions (SPs) */
++#define SANDBOX_SP1_ID 0x1245
++#define SANDBOX_SP2_ID 0x9836
++#define SANDBOX_SP3_ID 0x6452
++#define SANDBOX_SP4_ID 0x7814
++
++/* Invalid service UUID (no matching SP) */
++#define SANDBOX_SERVICE3_UUID	"55d532ed-0942-e699-722d-c09ca798d9cd"
++
++/* Invalid service UUID (invalid UUID string format) */
++#define SANDBOX_SERVICE4_UUID	"32ed-0942-e699-722d-c09ca798d9cd"
++
++/* Number of valid services */
++#define SANDBOX_SP_COUNT_PER_VALID_SERVICE	2
++
++/**
++ * struct ffa_sandbox_data - query ABI state data structure
++ * @data0_size:	size of the first argument
++ * @data0:	pointer to the first argument
++ * @data1_size>:	size of the second argument
++ * @data1:	pointer to the second argument
++ *
++ * Used to pass various types of data with different sizes between
++ * the test cases and the sandbox emulator.
++ * The data is for querying FF-A ABIs state.
++ */
++struct ffa_sandbox_data {
++	u32 data0_size; /* size of the first argument */
++	void *data0; /* pointer to the first argument */
++	u32 data1_size; /* size of the second argument */
++	void *data1; /* pointer to the second argument */
++};
++
++/* The sandbox FF-A  emulator public functions */
++
++/**
++ * sandbox_query_ffa_emul_state() - Inspect the FF-A ABIs
++ * @queried_func_id:	The FF-A function to be queried
++ * @func_data:  Pointer to the FF-A function arguments container structure
++ *
++ * Query the status of FF-A ABI specified in the input argument.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++int sandbox_query_ffa_emul_state(u32 queried_func_id,
++				 struct ffa_sandbox_data *func_data);
++
++#endif
+diff --git a/arch/sandbox/include/asm/sandbox_arm_ffa_priv.h b/arch/sandbox/include/asm/sandbox_arm_ffa_priv.h
+new file mode 100644
+index 0000000000..b0881822d7
+--- /dev/null
++++ b/arch/sandbox/include/asm/sandbox_arm_ffa_priv.h
+@@ -0,0 +1,121 @@
++/* SPDX-License-Identifier: GPL-2.0+ */
++/*
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ */
++
++#ifndef __SANDBOX_ARM_FFA_PRV_H
++#define __SANDBOX_ARM_FFA_PRV_H
++
++#include <arm_ffa_priv.h>
++
++/* This header is exclusively used by the Sandbox FF-A driver and emulator */
++
++/* Non-secure physical FF-A instance */
++#define NS_PHYS_ENDPOINT_ID (0)
++
++#define GET_NS_PHYS_ENDPOINT_ID_MASK		GENMASK(31, 16)
++#define GET_NS_PHYS_ENDPOINT_ID(x)		\
++			((u16)(FIELD_GET(GET_NS_PHYS_ENDPOINT_ID_MASK, (x))))
++
++/* Helper macro for reading the destination partition ID */
++#define GET_DST_SP_ID_MASK		GENMASK(15, 0)
++#define GET_DST_SP_ID(x)		\
++			((u16)(FIELD_GET(GET_DST_SP_ID_MASK, (x))))
++
++/* Helper macro for setting the source partition ID */
++#define PREP_SRC_SP_ID_MASK		GENMASK(31, 16)
++#define PREP_SRC_SP_ID(x)		\
++			(FIELD_PREP(PREP_SRC_SP_ID_MASK, (x)))
++
++/* Helper macro for setting the destination endpoint ID */
++#define PREP_NS_PHYS_ENDPOINT_ID_MASK		GENMASK(15, 0)
++#define PREP_NS_PHYS_ENDPOINT_ID(x)		\
++			(FIELD_PREP(PREP_NS_PHYS_ENDPOINT_ID_MASK, (x)))
++
++/*  RX/TX buffers minimum size */
++#define RXTX_BUFFERS_MIN_SIZE (RXTX_4K)
++#define RXTX_BUFFERS_MIN_PAGES (1)
++
++/* MBZ registers info */
++
++/* x1-x7 MBZ */
++#define FFA_X1X7_MBZ_CNT (7)
++#define FFA_X1X7_MBZ_REG_START (&res->a1)
++
++/* x4-x7 MBZ */
++#define FFA_X4X7_MBZ_CNT (4)
++#define FFA_X4X7_MBZ_REG_START (&res->a4)
++
++/* x3-x7 MBZ */
++#define FFA_X3X7_MBZ_CNT (5)
++#define FFA_X3_MBZ_REG_START (&res->a3)
++
++/* number of emulated FF-A secure partitions (SPs) */
++#define SANDBOX_PARTITIONS_CNT (4)
++
++/* Binary data of the emulated services UUIDs */
++
++/* service 1  UUID binary data (little-endian format) */
++#define SANDBOX_SERVICE1_UUID_A1	0xed32d533
++#define SANDBOX_SERVICE1_UUID_A2	0x99e64209
++#define SANDBOX_SERVICE1_UUID_A3	0x9cc02d72
++#define SANDBOX_SERVICE1_UUID_A4	0xcdd998a7
++
++/* service 2  UUID binary data (little-endian format) */
++#define SANDBOX_SERVICE2_UUID_A1	0xed32d544
++#define SANDBOX_SERVICE2_UUID_A2	0x99e64209
++#define SANDBOX_SERVICE2_UUID_A3	0x9cc02d72
++#define SANDBOX_SERVICE2_UUID_A4	0xcdd998a7
++
++/**
++ * struct ffa_rxtxpair_info - structure hosting the RX/TX buffers flags
++ * @rxbuf_owned:	RX buffer ownership flag (the owner is non secure world)
++ * @rxbuf_mapped:	RX buffer mapping flag
++ * @txbuf_owned	TX buffer ownership flag
++ * @txbuf_mapped:	TX buffer mapping flag
++ * @rxtx_buf_size:	RX/TX buffers size
++ *
++ * Hosts the ownership/mapping flags of the RX/TX buffers
++ * When a buffer is owned/mapped its corresponding flag is set to 1 otherwise 0.
++ */
++struct ffa_rxtxpair_info {
++	u8 rxbuf_owned;
++	u8 rxbuf_mapped;
++	u8 txbuf_owned;
++	u8 txbuf_mapped;
++	u32 rxtx_buf_size;
++};
++
++/**
++ * struct sandbox_ffa_emul - emulator data
++ *
++ * @fwk_version:	FF-A framework version
++ * @id:	u-boot endpoint ID
++ * @partitions:	The partitions descriptors structure
++ * @pair:	The RX/TX buffers pair
++ * @pair_info:	The RX/TX buffers pair flags and size
++ * @test_ffa_data:	The data of the FF-A bus under test
++ *
++ * Hosts all the emulated secure world data.
++ */
++struct sandbox_ffa_emul {
++	u32 fwk_version;
++	u16 id;
++	struct ffa_partitions partitions;
++	struct ffa_rxtxpair pair;
++	struct ffa_rxtxpair_info pair_info;
++};
++
++/**
++ * ffa_emul_find() - Finds the FF-A emulator
++ * @dev:	the sandbox FF-A device (sandbox-arm-ffa)
++ * @emulp:	the FF-A emulator device (sandbox-ffa-emul)
++ * Return:
++ * 0 on success. Otherwise, failure
++ */
++int ffa_emul_find(struct udevice *dev, struct udevice **emulp);
++
++#endif
+diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig
+index 98b3e0cda4..2db69b8e52 100644
+--- a/configs/sandbox64_defconfig
++++ b/configs/sandbox64_defconfig
+@@ -260,3 +260,5 @@ CONFIG_FWU_MULTI_BANK_UPDATE=y
+ CONFIG_UNIT_TEST=y
+ CONFIG_UT_TIME=y
+ CONFIG_UT_DM=y
++CONFIG_NVMXIP_QSPI=y
++CONFIG_ARM_FFA_TRANSPORT=y
+diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
+index 1ec44d5b33..f77733377d 100644
+--- a/configs/sandbox_defconfig
++++ b/configs/sandbox_defconfig
+@@ -344,3 +344,5 @@ CONFIG_TEST_FDTDEC=y
+ CONFIG_UNIT_TEST=y
+ CONFIG_UT_TIME=y
+ CONFIG_UT_DM=y
++CONFIG_CMD_2048=y
++CONFIG_ARM_FFA_TRANSPORT=y
+diff --git a/doc/arch/arm64.ffa.rst b/doc/arch/arm64.ffa.rst
+index aefd527447..b7c754fa3d 100644
+--- a/doc/arch/arm64.ffa.rst
++++ b/doc/arch/arm64.ffa.rst
+@@ -33,6 +33,10 @@ The U-Boot FF-A support provides the following parts:
+ 
+ - A Uclass driver providing generic FF-A methods.
+ - An Arm FF-A device driver providing Arm-specific methods and reusing the Uclass methods.
++- A sandbox emulator for Arm FF-A, emulates the FF-A side of the Secure World and provides
++  FF-A ABIs inspection methods.
++- An FF-A sandbox device driver for FF-A communication with the emulated Secure World.
++  The driver leverages the FF-A Uclass to establish FF-A communication.
+ 
+ FF-A and SMC specifications
+ -------------------------------------------
+@@ -62,6 +66,7 @@ CONFIG_ARM_FFA_TRANSPORT
+     Enables the FF-A support. Turn this on if you want to use FF-A
+     communication.
+     When using an Arm 64-bit platform, the Arm FF-A driver will be used.
++    When using sandbox, the sandbox FF-A emulator and FF-A sandbox driver will be used.
+ 
+ FF-A ABIs under the hood
+ ---------------------------------------
+@@ -98,10 +103,8 @@ architecture features including FF-A bus.
+ 
+     Class     Index  Probed  Driver                Name
+    -----------------------------------------------------------
+-   ...
+     firmware      0  [ + ]   psci                      |-- psci
+     ffa                   0  [   ]   arm_ffa               |   `-- arm_ffa
+-   ...
+ 
+ The PSCI driver is bound to the PSCI device and when probed it tries to discover
+ the architecture features by calling a callback the features drivers provide.
+@@ -205,6 +208,18 @@ The following features are provided:
+ 
+ - FF-A bus can be compiled and used without EFI
+ 
++Relationship between the sandbox emulator and the FF-A device
++---------------------------------------------------------------
++
++::
++
++   => dm tree
++
++    Class     Index  Probed  Driver                Name
++   -----------------------------------------------------------
++   ffa_emul      0  [ + ]   sandbox_ffa_emul      `-- arm-ffa-emul
++    ffa                  0  [    ]   sandbox_arm_ffa               `-- sandbox-arm-ffa
++
+ The armffa command
+ -----------------------------------
+ 
+diff --git a/doc/arch/sandbox/sandbox.rst b/doc/arch/sandbox/sandbox.rst
+index 77ca6bc4cc..a3631de749 100644
+--- a/doc/arch/sandbox/sandbox.rst
++++ b/doc/arch/sandbox/sandbox.rst
+@@ -200,6 +200,7 @@ Supported Drivers
+ 
+ U-Boot sandbox supports these emulations:
+ 
++- Arm FF-A
+ - Block devices
+ - Chrome OS EC
+ - GPIO
+diff --git a/drivers/firmware/arm-ffa/Kconfig b/drivers/firmware/arm-ffa/Kconfig
+index a7d5392859..d75f8b53fd 100644
+--- a/drivers/firmware/arm-ffa/Kconfig
++++ b/drivers/firmware/arm-ffa/Kconfig
+@@ -2,9 +2,9 @@
+ 
+ config ARM_FFA_TRANSPORT
+ 	bool "Enable Arm Firmware Framework for Armv8-A driver"
+-	depends on DM && ARM64
+-	select ARM_SMCCC
+-	select ARM_SMCCC_FEATURES
++	depends on DM && (ARM64 || SANDBOX)
++	select ARM_SMCCC if !SANDBOX
++	select ARM_SMCCC_FEATURES if !SANDBOX
+ 	imply CMD_ARMFFA
+ 	select LIB_UUID
+ 	select DEVRES
+@@ -33,5 +33,10 @@ config ARM_FFA_TRANSPORT
+ 	  Generic FF-A methods are implemented in the Uclass (arm-ffa-uclass.c).
+ 	  Arm specific methods are implemented in the Arm driver (arm-ffa.c).
+ 
+-	  For more details about the FF-A support, please refer to doc/arch/arm64.ffa.rst
++	  FF-A sandbox is provided to run FF-A under sandbox and allows to test the FF-A Uclass.
++	  Sandbox support includes an emulator for Arm FF-A which emulates the FF-A side of
++	  the Secure World and provides FF-A ABIs inspection methods (ffa-emul-uclass.c).
++	  An FF-A sandbox driver is also provided for FF-A communication with the emulated
++	  Secure World (sandbox_ffa.c).
+ 
++	  For more details about the FF-A support, please refer to doc/arch/arm64.ffa.rst
+diff --git a/drivers/firmware/arm-ffa/Makefile b/drivers/firmware/arm-ffa/Makefile
+index 11b1766285..318123a7f4 100644
+--- a/drivers/firmware/arm-ffa/Makefile
++++ b/drivers/firmware/arm-ffa/Makefile
+@@ -5,4 +5,12 @@
+ # Authors:
+ #   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+ 
+-obj-y += arm-ffa-uclass.o arm-ffa.o
++# build the generic FF-A methods
++obj-y += arm-ffa-uclass.o
++ifeq ($(CONFIG_SANDBOX),y)
++# build the FF-A sandbox emulator and driver
++obj-y += ffa-emul-uclass.o sandbox_ffa.o
++else
++# build the Arm64 FF-A driver
++obj-y += arm-ffa.o
++endif
+diff --git a/drivers/firmware/arm-ffa/ffa-emul-uclass.c b/drivers/firmware/arm-ffa/ffa-emul-uclass.c
+new file mode 100644
+index 0000000000..5562bbaac3
+--- /dev/null
++++ b/drivers/firmware/arm-ffa/ffa-emul-uclass.c
+@@ -0,0 +1,720 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ */
++#include <common.h>
++#include <dm.h>
++#include <mapmem.h>
++#include <string.h>
++#include <asm/global_data.h>
++#include <asm/sandbox_arm_ffa.h>
++#include <asm/sandbox_arm_ffa_priv.h>
++#include <dm/device-internal.h>
++#include <dm/lists.h>
++#include <dm/root.h>
++#include <linux/errno.h>
++#include <linux/sizes.h>
++
++DECLARE_GLOBAL_DATA_PTR;
++
++/* The partitions (SPs) table */
++static struct ffa_partition_desc sandbox_partitions[SANDBOX_PARTITIONS_CNT] = {
++	{
++		.info = { .id = SANDBOX_SP1_ID, .exec_ctxt = 0x5687, .properties = 0x89325621 },
++		.sp_uuid = {
++			.a1 = SANDBOX_SERVICE1_UUID_A1,
++			.a2 = SANDBOX_SERVICE1_UUID_A2,
++			.a3 = SANDBOX_SERVICE1_UUID_A3,
++			.a4 = SANDBOX_SERVICE1_UUID_A4,
++		}
++	},
++	{
++		.info = { .id = SANDBOX_SP3_ID, .exec_ctxt = 0x7687, .properties = 0x23325621 },
++		.sp_uuid = {
++			.a1 = SANDBOX_SERVICE2_UUID_A1,
++			.a2 = SANDBOX_SERVICE2_UUID_A2,
++			.a3 = SANDBOX_SERVICE2_UUID_A3,
++			.a4 = SANDBOX_SERVICE2_UUID_A4,
++		}
++	},
++	{
++		.info = { .id = SANDBOX_SP2_ID, .exec_ctxt = 0x9587, .properties = 0x45325621 },
++		.sp_uuid = {
++			.a1 = SANDBOX_SERVICE1_UUID_A1,
++			.a2 = SANDBOX_SERVICE1_UUID_A2,
++			.a3 = SANDBOX_SERVICE1_UUID_A3,
++			.a4 = SANDBOX_SERVICE1_UUID_A4,
++		}
++	},
++	{
++		.info = { .id = SANDBOX_SP4_ID, .exec_ctxt = 0x1487, .properties = 0x70325621 },
++		.sp_uuid = {
++			.a1 = SANDBOX_SERVICE2_UUID_A1,
++			.a2 = SANDBOX_SERVICE2_UUID_A2,
++			.a3 = SANDBOX_SERVICE2_UUID_A3,
++			.a4 = SANDBOX_SERVICE2_UUID_A4,
++		}
++	}
++
++};
++
++/* The emulator functions */
++
++/**
++ * sandbox_ffa_version() - Emulated FFA_VERSION handler function
++ * @emul: The sandbox FF-A emulator device
++ * @pargs: The SMC call input arguments a0-a7
++ * @res:  The SMC return data
++ *
++ * Emulate FFA_VERSION FF-A function.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++
++static int sandbox_ffa_version(struct udevice *emul, ffa_value_t *pargs, ffa_value_t *res)
++{
++	struct sandbox_ffa_emul *priv = dev_get_priv(emul);
++
++	priv->fwk_version = FFA_VERSION_1_0;
++	res->a0 = priv->fwk_version;
++
++	/* x1-x7 MBZ */
++	memset(FFA_X1X7_MBZ_REG_START, 0, FFA_X1X7_MBZ_CNT * sizeof(ulong));
++
++	return 0;
++}
++
++/**
++ * sandbox_ffa_id_get() - Emulated FFA_ID_GET handler function
++ * @emul: The sandbox FF-A emulator device
++ * @pargs: The SMC call input arguments a0-a7
++ * @res:  The SMC return data
++ *
++ * Emulate FFA_ID_GET FF-A function.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int sandbox_ffa_id_get(struct udevice *emul, ffa_value_t *pargs, ffa_value_t *res)
++{
++	struct sandbox_ffa_emul *priv = dev_get_priv(emul);
++
++	res->a0 = FFA_SMC_32(FFA_SUCCESS);
++	res->a1 = 0;
++
++	priv->id = NS_PHYS_ENDPOINT_ID;
++	res->a2 = priv->id;
++
++	/* x3-x7 MBZ */
++	memset(FFA_X3_MBZ_REG_START, 0, FFA_X3X7_MBZ_CNT * sizeof(ulong));
++
++	return 0;
++}
++
++/**
++ * sandbox_ffa_features() - Emulated FFA_FEATURES handler function
++ * @pargs: The SMC call input arguments a0-a7
++ * @res:  The SMC return data
++ *
++ * Emulate FFA_FEATURES FF-A function.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int sandbox_ffa_features(ffa_value_t *pargs, ffa_value_t *res)
++{
++	res->a1 = 0;
++
++	if (pargs->a1 == FFA_SMC_64(FFA_RXTX_MAP)) {
++		res->a0 = FFA_SMC_32(FFA_SUCCESS);
++		res->a2 = RXTX_BUFFERS_MIN_SIZE;
++		res->a3 = 0;
++		/* x4-x7 MBZ */
++		memset(FFA_X4X7_MBZ_REG_START, 0, FFA_X4X7_MBZ_CNT * sizeof(ulong));
++		return 0;
++	}
++
++	res->a0 = FFA_SMC_32(FFA_ERROR);
++	res->a2 = -NOT_SUPPORTED;
++	/* x3-x7 MBZ */
++	memset(FFA_X3_MBZ_REG_START, 0, FFA_X3X7_MBZ_CNT * sizeof(ulong));
++	log_err("FF-A interface %lx not implemented\n", pargs->a1);
++
++	return ffa_to_std_errmap[NOT_SUPPORTED];
++}
++
++/**
++ * sandbox_ffa_partition_info_get() - Emulated FFA_PARTITION_INFO_GET handler
++ * @emul: The sandbox FF-A emulator device
++ * @pargs: The SMC call input arguments a0-a7
++ * @res:  The SMC return data
++ *
++ * Emulate FFA_PARTITION_INFO_GET FF-A function.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int sandbox_ffa_partition_info_get(struct udevice *emul, ffa_value_t *pargs,
++					  ffa_value_t *res)
++{
++	struct ffa_partition_info *rxbuf_desc_info = NULL;
++	u32 descs_cnt;
++	u32 descs_size_bytes;
++	int ret;
++	struct sandbox_ffa_emul *priv = dev_get_priv(emul);
++
++	res->a0 = FFA_SMC_32(FFA_ERROR);
++
++	if (!priv->pair.rxbuf) {
++		res->a2 = -DENIED;
++		ret = ffa_to_std_errmap[DENIED];
++		goto cleanup;
++	}
++
++	if (priv->pair_info.rxbuf_owned) {
++		res->a2 = -BUSY;
++		ret = ffa_to_std_errmap[BUSY];
++		goto cleanup;
++	}
++
++	if (!priv->partitions.descs) {
++		priv->partitions.descs = sandbox_partitions;
++		priv->partitions.count = SANDBOX_PARTITIONS_CNT;
++	}
++
++	descs_size_bytes = SANDBOX_PARTITIONS_CNT *
++		sizeof(struct ffa_partition_desc);
++
++	/* Abort if the RX buffer size is smaller than the descs buffer size */
++	if ((priv->pair_info.rxtx_buf_size * SZ_4K) < descs_size_bytes) {
++		res->a2 = -NO_MEMORY;
++		ret = ffa_to_std_errmap[NO_MEMORY];
++		goto cleanup;
++	}
++
++	rxbuf_desc_info = priv->pair.rxbuf;
++
++	/* No UUID specified. Return the information of all partitions */
++	if (!pargs->a1 && !pargs->a2 && !pargs->a3 && !pargs->a4) {
++		for (descs_cnt = 0; descs_cnt < SANDBOX_PARTITIONS_CNT; descs_cnt++)
++			*(rxbuf_desc_info++) = priv->partitions.descs[descs_cnt].info;
++
++		res->a0 = FFA_SMC_32(FFA_SUCCESS);
++		res->a2 = SANDBOX_PARTITIONS_CNT;
++		/* Transfer ownership to the consumer: the non secure world */
++		priv->pair_info.rxbuf_owned = 1;
++		ret = 0;
++
++		goto cleanup;
++	}
++
++	/* A UUID specified. Return the info of all SPs matching the UUID */
++
++	for (descs_cnt = 0 ; descs_cnt < SANDBOX_PARTITIONS_CNT ; descs_cnt++)
++		if (pargs->a1 == priv->partitions.descs[descs_cnt].sp_uuid.a1 &&
++		    pargs->a2 == priv->partitions.descs[descs_cnt].sp_uuid.a2 &&
++		    pargs->a3 == priv->partitions.descs[descs_cnt].sp_uuid.a3 &&
++		    pargs->a4 == priv->partitions.descs[descs_cnt].sp_uuid.a4) {
++			*(rxbuf_desc_info++) = priv->partitions.descs[descs_cnt].info;
++		}
++
++	if (rxbuf_desc_info != priv->pair.rxbuf) {
++		res->a0 = FFA_SMC_32(FFA_SUCCESS);
++		/* Store the partitions count */
++		res->a2 = (ulong)
++			(rxbuf_desc_info - (struct ffa_partition_info *)
++			 priv->pair.rxbuf);
++		ret = 0;
++
++		/* Transfer ownership to the consumer: the non secure world */
++		priv->pair_info.rxbuf_owned = 1;
++	} else {
++		/* Unrecognized UUID */
++		res->a2 = -INVALID_PARAMETERS;
++		ret = ffa_to_std_errmap[INVALID_PARAMETERS];
++	}
++
++cleanup:
++
++	log_err("FFA_PARTITION_INFO_GET (%ld)\n", res->a2);
++
++	res->a1 = 0;
++
++	/* x3-x7 MBZ */
++	memset(FFA_X3_MBZ_REG_START, 0, FFA_X3X7_MBZ_CNT * sizeof(ulong));
++
++	return ret;
++}
++
++/**
++ * sandbox_ffa_rxtx_map() - Emulated FFA_RXTX_MAP handler
++ * @emul: The sandbox FF-A emulator device
++ * @pargs: The SMC call input arguments a0-a7
++ * @res:  The SMC return data
++ *
++ * Emulate FFA_RXTX_MAP FF-A function.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int sandbox_ffa_rxtx_map(struct udevice *emul, ffa_value_t *pargs, ffa_value_t *res)
++{
++	int ret;
++	struct sandbox_ffa_emul *priv = dev_get_priv(emul);
++
++	res->a0 = FFA_SMC_32(FFA_ERROR);
++
++	if (priv->pair.txbuf && priv->pair.rxbuf) {
++		res->a2 = -DENIED;
++		ret = ffa_to_std_errmap[DENIED];
++		goto feedback;
++	}
++
++	if (pargs->a3 >= RXTX_BUFFERS_MIN_PAGES && pargs->a1 && pargs->a2) {
++		priv->pair.txbuf = map_sysmem(pargs->a1, 0);
++		priv->pair.rxbuf = map_sysmem(pargs->a2, 0);
++		priv->pair_info.rxtx_buf_size = pargs->a3;
++		priv->pair_info.rxbuf_mapped = 1;
++		res->a0 = FFA_SMC_32(FFA_SUCCESS);
++		res->a2 = 0;
++		ret = 0;
++		goto feedback;
++	}
++
++	if (!pargs->a1 || !pargs->a2) {
++		res->a2 = -INVALID_PARAMETERS;
++		ret = ffa_to_std_errmap[INVALID_PARAMETERS];
++	} else {
++		res->a2 = -NO_MEMORY;
++		ret = ffa_to_std_errmap[NO_MEMORY];
++	}
++
++	log_err("Error in FFA_RXTX_MAP arguments (%d)\n",
++		(int)res->a2);
++
++feedback:
++
++	res->a1 = 0;
++
++	/* x3-x7 MBZ */
++	memset(FFA_X3_MBZ_REG_START, 0, FFA_X3X7_MBZ_CNT * sizeof(ulong));
++
++	return ret;
++}
++
++/**
++ * sandbox_ffa_rxtx_unmap() - Emulated FFA_RXTX_UNMAP handler
++ * @emul: The sandbox FF-A emulator device
++ * @pargs: The SMC call input arguments a0-a7
++ * @res:  The SMC return data
++ *
++ * Emulate FFA_RXTX_UNMAP FF-A function.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int sandbox_ffa_rxtx_unmap(struct udevice *emul, ffa_value_t *pargs, ffa_value_t *res)
++{
++	int ret;
++	struct sandbox_ffa_emul *priv = dev_get_priv(emul);
++
++	res->a0 = FFA_SMC_32(FFA_ERROR);
++	res->a2 = -INVALID_PARAMETERS;
++	ret = ffa_to_std_errmap[INVALID_PARAMETERS];
++
++	if (GET_NS_PHYS_ENDPOINT_ID(pargs->a1) != priv->id)
++		goto feedback;
++
++	if (priv->pair.txbuf && priv->pair.rxbuf) {
++		priv->pair.txbuf = 0;
++		priv->pair.rxbuf = 0;
++		priv->pair_info.rxtx_buf_size = 0;
++		priv->pair_info.rxbuf_mapped = 0;
++		res->a0 = FFA_SMC_32(FFA_SUCCESS);
++		res->a2 = 0;
++		ret = 0;
++		goto feedback;
++	}
++
++	log_err("No buffer pair registered on behalf of the caller\n");
++
++feedback:
++
++	res->a1 = 0;
++
++	/* x3-x7 MBZ */
++	memset(FFA_X3_MBZ_REG_START, 0, FFA_X3X7_MBZ_CNT * sizeof(ulong));
++
++	return ret;
++}
++
++/**
++ * sandbox_ffa_rx_release() - Emulated FFA_RX_RELEASE handler
++ * @emul: The sandbox FF-A emulator device
++ * @pargs: The SMC call input arguments a0-a7
++ * @res:  The SMC return data
++ *
++ * Emulate FFA_RX_RELEASE FF-A function.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int sandbox_ffa_rx_release(struct udevice *emul, ffa_value_t *pargs, ffa_value_t *res)
++{
++	int ret;
++	struct sandbox_ffa_emul *priv = dev_get_priv(emul);
++
++	if (!priv->pair_info.rxbuf_owned) {
++		res->a0 = FFA_SMC_32(FFA_ERROR);
++		res->a2 = -DENIED;
++		ret = ffa_to_std_errmap[DENIED];
++	} else {
++		priv->pair_info.rxbuf_owned = 0;
++		res->a0 = FFA_SMC_32(FFA_SUCCESS);
++		res->a2 = 0;
++		ret = 0;
++	}
++
++	res->a1 = 0;
++
++	/* x3-x7 MBZ */
++	memset(FFA_X3_MBZ_REG_START, 0, FFA_X3X7_MBZ_CNT * sizeof(ulong));
++
++	return ret;
++}
++
++/**
++ * sandbox_ffa_sp_valid() - Check SP validity
++ * @emul: The sandbox FF-A emulator device
++ * @part_id:	partition ID to check
++ *
++ * Search the input ID in the descriptors table.
++ *
++ * Return:
++ *
++ * 1 on success (Partition found). Otherwise, failure
++ */
++static int sandbox_ffa_sp_valid(struct udevice *emul, u16 part_id)
++{
++	u32 descs_cnt;
++	struct sandbox_ffa_emul *priv = dev_get_priv(emul);
++
++	for (descs_cnt = 0 ; descs_cnt < SANDBOX_PARTITIONS_CNT ; descs_cnt++)
++		if (priv->partitions.descs[descs_cnt].info.id == part_id)
++			return 1;
++
++	return 0;
++}
++
++/**
++ * sandbox_ffa_msg_send_direct_req() - Emulated FFA_MSG_SEND_DIRECT_{REQ,RESP} handler
++ * @emul: The sandbox FF-A emulator device
++ * @pargs: The SMC call input arguments a0-a7
++ * @res:  The SMC return data
++ *
++ * Emulate FFA_MSG_SEND_DIRECT_{REQ,RESP} FF-A ABIs.
++ * Only SMC 64-bit is supported in Sandbox.
++ *
++ * Emulating interrupts is not supported. So, FFA_RUN and FFA_INTERRUPT are not
++ * supported. In case of success FFA_MSG_SEND_DIRECT_RESP is returned with
++ * default pattern data (0xff).
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int sandbox_ffa_msg_send_direct_req(struct udevice *emul,
++					   ffa_value_t *pargs, ffa_value_t *res)
++{
++	u16 part_id;
++	struct sandbox_ffa_emul *priv = dev_get_priv(emul);
++
++	part_id = GET_DST_SP_ID(pargs->a1);
++
++	if (GET_NS_PHYS_ENDPOINT_ID(pargs->a1) != priv->id ||
++	    !sandbox_ffa_sp_valid(emul, part_id) || pargs->a2) {
++		res->a0 = FFA_SMC_32(FFA_ERROR);
++		res->a1 = 0;
++		res->a2 = -INVALID_PARAMETERS;
++
++		/* x3-x7 MBZ */
++		memset(FFA_X3_MBZ_REG_START, 0, FFA_X3X7_MBZ_CNT * sizeof(ulong));
++
++		return ffa_to_std_errmap[INVALID_PARAMETERS];
++	}
++
++	res->a0 = FFA_SMC_64(FFA_MSG_SEND_DIRECT_RESP);
++
++	res->a1 = PREP_SRC_SP_ID(part_id) |
++		PREP_NS_PHYS_ENDPOINT_ID(priv->id);
++
++	res->a2 = 0;
++
++	/* Return 0xff bytes as a response */
++	res->a3 = -1UL;
++	res->a4 = -1UL;
++	res->a5 = -1UL;
++	res->a6 = -1UL;
++	res->a7 = -1UL;
++
++	return 0;
++}
++
++/**
++ * sandbox_ffa_get_rxbuf_flags() - Read the mapping/ownership flags
++ * @emul: The sandbox FF-A emulator device
++ * @queried_func_id:	The FF-A function to be queried
++ * @func_data:  Pointer to the FF-A function arguments container structure
++ *
++ * Query the status flags of the following emulated
++ * ABIs: FFA_RXTX_MAP, FFA_RXTX_UNMAP, FFA_RX_RELEASE.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int sandbox_ffa_get_rxbuf_flags(struct udevice *emul, u32 queried_func_id,
++				       struct ffa_sandbox_data *func_data)
++{
++	struct sandbox_ffa_emul *priv = dev_get_priv(emul);
++
++	if (!func_data)
++		return -EINVAL;
++
++	if (!func_data->data0 || func_data->data0_size != sizeof(u8))
++		return -EINVAL;
++
++	switch (queried_func_id) {
++	case FFA_RXTX_MAP:
++	case FFA_RXTX_UNMAP:
++		*((u8 *)func_data->data0) = priv->pair_info.rxbuf_mapped;
++		return 0;
++	case FFA_RX_RELEASE:
++		*((u8 *)func_data->data0) = priv->pair_info.rxbuf_owned;
++		return 0;
++	default:
++		log_err("The querried FF-A interface flag (%d) undefined\n",
++			queried_func_id);
++		return -EINVAL;
++	}
++}
++
++/**
++ * sandbox_ffa_get_fwk_version() - Return the FFA framework version
++ * @emul: The sandbox FF-A emulator device
++ * @func_data:  Pointer to the FF-A function arguments container structure
++ *
++ * Return the FFA framework version read from the FF-A emulator data.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int sandbox_ffa_get_fwk_version(struct udevice *emul, struct ffa_sandbox_data *func_data)
++{
++	struct sandbox_ffa_emul *priv = dev_get_priv(emul);
++
++	if (!func_data)
++		return -EINVAL;
++
++	if (!func_data->data0 ||
++	    func_data->data0_size != sizeof(priv->fwk_version))
++		return -EINVAL;
++
++	*((u32 *)func_data->data0) = priv->fwk_version;
++
++	return 0;
++}
++
++/**
++ * sandbox_ffa_get_parts() - Return the address of partitions data
++ * @emul: The sandbox FF-A emulator device
++ * @func_data:  Pointer to the FF-A function arguments container structure
++ *
++ * Return the address of partitions data read from the FF-A emulator data.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int sandbox_ffa_get_parts(struct udevice *emul, struct ffa_sandbox_data *func_data)
++{
++	struct sandbox_ffa_emul *priv = dev_get_priv(emul);
++
++	if (!func_data)
++		return -EINVAL;
++
++	if (!func_data->data0 ||
++	    func_data->data0_size != sizeof(struct ffa_partitions *))
++		return -EINVAL;
++
++	*((struct ffa_partitions **)func_data->data0) = &priv->partitions;
++
++	return 0;
++}
++
++/**
++ * sandbox_query_ffa_emul_state() - Inspect the FF-A ABIs
++ * @queried_func_id:	The FF-A function to be queried
++ * @func_data:  Pointer to the FF-A function arguments container structure
++ *
++ * Query the status of FF-A ABI specified in the input argument.
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++int sandbox_query_ffa_emul_state(u32 queried_func_id,
++				 struct ffa_sandbox_data *func_data)
++{
++	struct udevice *emul;
++	int ret;
++
++	ret = uclass_first_device_err(UCLASS_FFA_EMUL, &emul);
++	if (ret) {
++		log_err("Cannot find FF-A emulator during querying state\n");
++		return ret;
++	}
++
++	switch (queried_func_id) {
++	case FFA_RXTX_MAP:
++	case FFA_RXTX_UNMAP:
++	case FFA_RX_RELEASE:
++		return sandbox_ffa_get_rxbuf_flags(emul, queried_func_id, func_data);
++	case FFA_VERSION:
++		return sandbox_ffa_get_fwk_version(emul, func_data);
++	case FFA_PARTITION_INFO_GET:
++		return sandbox_ffa_get_parts(emul, func_data);
++	default:
++		log_err("Undefined FF-A interface (%d)\n",
++			queried_func_id);
++		return -EINVAL;
++	}
++}
++
++/**
++ * sandbox_arm_ffa_smccc_smc() - FF-A SMC call emulation
++ * @args:	the SMC call arguments
++ * @res:	the SMC call returned data
++ *
++ * Emulate the FF-A ABIs SMC call.
++ * The emulated FF-A ABI is identified and invoked.
++ * FF-A emulation is based on the FF-A specification 1.0
++ *
++ * Return:
++ *
++ * 0 on success. Otherwise, failure.
++ * FF-A protocol error codes are returned using the registers arguments as
++ * described by the specification
++ */
++void sandbox_arm_ffa_smccc_smc(ffa_value_t *args, ffa_value_t *res)
++{
++	int ret = 0;
++	struct udevice *emul;
++
++	ret = uclass_first_device_err(UCLASS_FFA_EMUL, &emul);
++	if (ret) {
++		log_err("Cannot find FF-A emulator during SMC emulation\n");
++		return;
++	}
++
++	switch (args->a0) {
++	case FFA_SMC_32(FFA_VERSION):
++		ret = sandbox_ffa_version(emul, args, res);
++		break;
++	case FFA_SMC_32(FFA_PARTITION_INFO_GET):
++		ret = sandbox_ffa_partition_info_get(emul, args, res);
++		break;
++	case FFA_SMC_32(FFA_RXTX_UNMAP):
++		ret = sandbox_ffa_rxtx_unmap(emul, args, res);
++		break;
++	case FFA_SMC_64(FFA_MSG_SEND_DIRECT_REQ):
++		ret = sandbox_ffa_msg_send_direct_req(emul, args, res);
++		break;
++	case FFA_SMC_32(FFA_ID_GET):
++		ret = sandbox_ffa_id_get(emul, args, res);
++		break;
++	case FFA_SMC_32(FFA_FEATURES):
++		ret = sandbox_ffa_features(args, res);
++		break;
++	case FFA_SMC_64(FFA_RXTX_MAP):
++		ret = sandbox_ffa_rxtx_map(emul, args, res);
++		break;
++	case FFA_SMC_32(FFA_RX_RELEASE):
++		ret = sandbox_ffa_rx_release(emul, args, res);
++		break;
++	default:
++		log_err("Undefined FF-A interface (%lx)\n",
++			args->a0);
++	}
++
++	if (ret != 0)
++		log_err("FF-A ABI internal failure (%d)\n", ret);
++}
++
++/**
++ * invoke_ffa_fn() - SMC wrapper
++ * @args: FF-A ABI arguments to be copied to Xn registers
++ * @res: FF-A ABI return data to be copied from Xn registers
++ *
++ * Calls the emulated SMC call.
++ */
++void invoke_ffa_fn(ffa_value_t args, ffa_value_t *res)
++{
++	sandbox_arm_ffa_smccc_smc(&args, res);
++}
++
++/**
++ * ffa_emul_find() - Find the FF-A emulator
++ * @dev:	the sandbox FF-A device (sandbox-arm-ffa)
++ * @emulp:	the FF-A emulator device (sandbox-ffa-emul)
++ *
++ * Search for the FF-A emulator and returns its device pointer.
++ *
++ * Return:
++ * 0 on success. Otherwise, failure
++ */
++int ffa_emul_find(struct udevice *dev, struct udevice **emulp)
++{
++	int ret;
++
++	ret = uclass_first_device_err(UCLASS_FFA_EMUL, emulp);
++	if (ret) {
++		log_err("Cannot find FF-A emulator\n");
++		return ret;
++	}
++
++	log_info("FF-A emulator ready to use\n");
++
++	return 0;
++}
++
++UCLASS_DRIVER(ffa_emul) = {
++	.name		= "ffa_emul",
++	.id		= UCLASS_FFA_EMUL,
++	.post_bind = dm_scan_fdt_dev,
++};
++
++static const struct udevice_id sandbox_ffa_emul_ids[] = {
++	{ .compatible = "sandbox,arm-ffa-emul" },
++	{ }
++};
++
++/* Declaring the sandbox FF-A emulator under UCLASS_FFA_EMUL */
++U_BOOT_DRIVER(sandbox_ffa_emul) = {
++	.name		= "sandbox_ffa_emul",
++	.id		= UCLASS_FFA_EMUL,
++	.of_match	= sandbox_ffa_emul_ids,
++	.priv_auto	= sizeof(struct sandbox_ffa_emul),
++};
+diff --git a/drivers/firmware/arm-ffa/sandbox_arm_ffa_priv.h b/drivers/firmware/arm-ffa/sandbox_arm_ffa_priv.h
+deleted file mode 100644
+index 4338f9c9b1..0000000000
+--- a/drivers/firmware/arm-ffa/sandbox_arm_ffa_priv.h
++++ /dev/null
+@@ -1,14 +0,0 @@
+-/* SPDX-License-Identifier: GPL-2.0+ */
+-/*
+- * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
+- *
+- * Authors:
+- *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+- */
+-
+-#ifndef __SANDBOX_ARM_FFA_PRV_H
+-#define __SANDBOX_ARM_FFA_PRV_H
+-
+-/* Future sandbox support private declarations */
+-
+-#endif
+diff --git a/drivers/firmware/arm-ffa/sandbox_ffa.c b/drivers/firmware/arm-ffa/sandbox_ffa.c
+new file mode 100644
+index 0000000000..ef9491ccea
+--- /dev/null
++++ b/drivers/firmware/arm-ffa/sandbox_ffa.c
+@@ -0,0 +1,110 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ */
++#include <common.h>
++#include <arm_ffa.h>
++#include <dm.h>
++#include <log.h>
++#include <asm/global_data.h>
++#include <asm/sandbox_arm_ffa_priv.h>
++#include <dm/device-internal.h>
++#include <linux/errno.h>
++
++DECLARE_GLOBAL_DATA_PTR;
++
++/**
++ * sandbox_ffa_discover() - perform sandbox FF-A discovery
++ * @dev: The sandbox FF-A bus device
++ * Try to discover the FF-A framework. Discovery is performed by
++ * querying the FF-A framework version from secure world using the FFA_VERSION ABI.
++ * Return:
++ *
++ * 0 on success. Otherwise, failure
++ */
++static int sandbox_ffa_discover(struct udevice *dev)
++{
++	int ret;
++	struct udevice *emul;
++
++	log_info("Emulated FF-A framework discovery\n");
++
++	ret = ffa_emul_find(dev, &emul);
++	if (ret) {
++		log_err("Cannot find FF-A emulator\n");
++		return ret;
++	}
++
++	ret = ffa_get_version_hdlr(dev);
++	if (ret)
++		return ret;
++
++	return 0;
++}
++
++/**
++ * sandbox_ffa_probe() - The sandbox FF-A driver probe function
++ * @dev:	the sandbox-arm-ffa device
++ * Save the emulator device in uc_priv.
++ * Return:
++ *
++ * 0 on success.
++ */
++static int sandbox_ffa_probe(struct udevice *dev)
++{
++	int ret;
++	struct ffa_priv *uc_priv = dev_get_uclass_priv(dev);
++
++	ret = uclass_first_device_err(UCLASS_FFA_EMUL, &uc_priv->emul);
++	if (ret) {
++		log_err("Cannot find FF-A emulator\n");
++		return ret;
++	}
++
++	return 0;
++}
++
++/**
++ * sandbox_ffa_bind() - The sandbox FF-A driver bind function
++ * @dev:	the sandbox-arm-ffa device
++ * Try to discover the emulated FF-A bus.
++ * Return:
++ *
++ * 0 on success.
++ */
++static int sandbox_ffa_bind(struct udevice *dev)
++{
++	int ret;
++
++	ret = sandbox_ffa_discover(dev);
++	if (ret)
++		return ret;
++
++	return 0;
++}
++
++/* Sandbox Arm FF-A emulator operations */
++
++static const struct ffa_bus_ops sandbox_ffa_ops = {
++	.partition_info_get = ffa_get_partitions_info_hdlr,
++	.sync_send_receive = ffa_msg_send_direct_req_hdlr,
++	.rxtx_unmap = ffa_unmap_rxtx_buffers_hdlr,
++};
++
++static const struct udevice_id sandbox_ffa_id[] = {
++	{ "sandbox,arm-ffa", 0 },
++	{ },
++};
++
++/* Declaring the sandbox FF-A driver under UCLASS_FFA */
++U_BOOT_DRIVER(sandbox_arm_ffa) = {
++	.name		= "sandbox_arm_ffa",
++	.of_match = sandbox_ffa_id,
++	.id		= UCLASS_FFA,
++	.bind		= sandbox_ffa_bind,
++	.probe		= sandbox_ffa_probe,
++	.ops		= &sandbox_ffa_ops,
++};
+diff --git a/include/dm/uclass-id.h b/include/dm/uclass-id.h
+index 3c6af2e3d2..0432c95c9e 100644
+--- a/include/dm/uclass-id.h
++++ b/include/dm/uclass-id.h
+@@ -63,6 +63,7 @@ enum uclass_id {
+ 	UCLASS_ETH_PHY,		/* Ethernet PHY device */
+ 	UCLASS_EXTCON,		/* External Connector Class */
+ 	UCLASS_FFA,		/* Arm Firmware Framework for Armv8-A */
++	UCLASS_FFA_EMUL,		/* sandbox FF-A device emulator */
+ 	UCLASS_FIRMWARE,	/* Firmware */
+ 	UCLASS_FPGA,		/* FPGA device */
+ 	UCLASS_FUZZING_ENGINE,	/* Fuzzing engine */
+-- 
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-arm_ffa-introduce-the-FF-A-Sandbox-driver.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-arm_ffa-introduce-the-FF-A-Sandbox-driver.patch
deleted file mode 100644
index 8c3892f..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-arm_ffa-introduce-the-FF-A-Sandbox-driver.patch
+++ /dev/null
@@ -1,1164 +0,0 @@
-From 301430b7c8dceebe349b82c598097628da733090 Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Tue, 29 Nov 2022 14:44:36 +0000
-Subject: [PATCH 06/42] arm_ffa: introduce the FF-A Sandbox driver
-
-Provide a Sandbox driver to emulate the FF-A ABIs
-
-The emulated ABIs are those supported by the FF-A core driver
-and according to FF-A specification v1.0.
-
-The Sandbox driver provides operations allowing the test
-application to read the status of all the inspected ABIs
-and perform functional tests based on that.
-
-sandbox driver supports only 64-bit direct messaging.
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Cc: Tom Rini <trini@konsulko.com>
-Cc: Simon Glass <sjg@chromium.org>
-Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
-Cc: Jens Wiklander <jens.wiklander@linaro.org>
-Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20221122131751.22747-1-abdellatif.elkhlifi@arm.com/]
-
-Changelog:
-===============
-
-v8: update ffa_bus_prvdata_get() to return a pointer rather than
-    a pointer address
-
-v7: state that sandbox driver supports only 64-bit direct messaging
-
-v4: align sandbox driver with the new FF-A driver interfaces
-    and new way of error handling
-
-v1: introduce the sandbox driver
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- MAINTAINERS                                   |   1 +
- configs/sandbox64_defconfig                   |   2 +
- configs/sandbox_defconfig                     |   2 +
- drivers/firmware/arm-ffa/Kconfig              |   9 +-
- drivers/firmware/arm-ffa/Makefile             |   1 +
- drivers/firmware/arm-ffa/arm_ffa_prv.h        |  15 +-
- drivers/firmware/arm-ffa/core.c               |  22 +-
- drivers/firmware/arm-ffa/sandbox.c            | 659 ++++++++++++++++++
- .../firmware/arm-ffa/sandbox_arm_ffa_prv.h    | 144 ++++
- include/arm_ffa.h                             |   2 +-
- include/sandbox_arm_ffa.h                     |  91 +++
- lib/efi_loader/efi_boottime.c                 |   2 +-
- 12 files changed, 937 insertions(+), 13 deletions(-)
- create mode 100644 drivers/firmware/arm-ffa/sandbox.c
- create mode 100644 drivers/firmware/arm-ffa/sandbox_arm_ffa_prv.h
- create mode 100644 include/sandbox_arm_ffa.h
-
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 61ce6c436f..297d165f84 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
-@@ -271,6 +271,7 @@ F:	cmd/armffa.c
- F:	doc/arch/arm64.ffa.rst
- F:	drivers/firmware/arm-ffa/
- F:	include/arm_ffa.h
-+F:	include/sandbox_arm_ffa.h
- 
- ARM FREESCALE IMX
- M:	Stefano Babic <sbabic@denx.de>
-diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig
-index ba45ac0b71..4b8a1ec42b 100644
---- a/configs/sandbox64_defconfig
-+++ b/configs/sandbox64_defconfig
-@@ -259,3 +259,5 @@ CONFIG_FWU_MULTI_BANK_UPDATE=y
- CONFIG_UNIT_TEST=y
- CONFIG_UT_TIME=y
- CONFIG_UT_DM=y
-+CONFIG_ARM_FFA_TRANSPORT=y
-+CONFIG_SANDBOX_FFA=y
-\ No newline at end of file
-diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
-index be46cae7aa..650f06ae61 100644
---- a/configs/sandbox_defconfig
-+++ b/configs/sandbox_defconfig
-@@ -334,3 +334,5 @@ CONFIG_TEST_FDTDEC=y
- CONFIG_UNIT_TEST=y
- CONFIG_UT_TIME=y
- CONFIG_UT_DM=y
-+CONFIG_ARM_FFA_TRANSPORT=y
-+CONFIG_SANDBOX_FFA=y
-\ No newline at end of file
-diff --git a/drivers/firmware/arm-ffa/Kconfig b/drivers/firmware/arm-ffa/Kconfig
-index be4df89d23..b86f16d778 100644
---- a/drivers/firmware/arm-ffa/Kconfig
-+++ b/drivers/firmware/arm-ffa/Kconfig
-@@ -2,8 +2,8 @@
- 
- config ARM_FFA_TRANSPORT
- 	bool "Enable Arm Firmware Framework for Armv8-A driver"
--	depends on DM && ARM64
--	select ARM_SMCCC
-+	depends on DM && (ARM64 || SANDBOX)
-+	select ARM_SMCCC if !SANDBOX
- 	select CMD_ARMFFA
- 	select LIB_UUID
- 	select DEVRES
-@@ -29,3 +29,8 @@ config ARM_FFA_TRANSPORT
- 
- 	  For more details about the FF-A driver, please refer to doc/arch/arm64.ffa.rst
- 
-+config SANDBOX_FFA
-+	bool "FF-A Sandbox driver"
-+	depends on ARM_FFA_TRANSPORT && SANDBOX
-+	help
-+	  This emulates the FF-A handling under Sandbox and allows to test the FF-A driver
-diff --git a/drivers/firmware/arm-ffa/Makefile b/drivers/firmware/arm-ffa/Makefile
-index 043a8915be..0d21d6b47a 100644
---- a/drivers/firmware/arm-ffa/Makefile
-+++ b/drivers/firmware/arm-ffa/Makefile
-@@ -4,3 +4,4 @@
- # Abdellatif El Khlifi, Arm Limited, abdellatif.elkhlifi@arm.com.
- 
- obj-y += arm-ffa-uclass.o core.o
-+obj-$(CONFIG_SANDBOX_FFA) += sandbox.o
-diff --git a/drivers/firmware/arm-ffa/arm_ffa_prv.h b/drivers/firmware/arm-ffa/arm_ffa_prv.h
-index 4eea7dc036..bbc8b87069 100644
---- a/drivers/firmware/arm-ffa/arm_ffa_prv.h
-+++ b/drivers/firmware/arm-ffa/arm_ffa_prv.h
-@@ -19,6 +19,16 @@
- /* FF-A core driver name */
- #define FFA_DRV_NAME "arm_ffa"
- 
-+/* The FF-A SMC function definitions */
-+
-+#if CONFIG_IS_ENABLED(SANDBOX_FFA)
-+#include "sandbox_arm_ffa.h"
-+#else
-+typedef struct arm_smccc_1_2_regs ffa_value_t;
-+#endif
-+
-+typedef void (*invoke_ffa_fn_t)(ffa_value_t args, ffa_value_t *res);
-+
- /* FF-A driver version definitions */
- 
- #define MAJOR_VERSION_MASK		GENMASK(30, 16)
-@@ -103,11 +113,6 @@ struct ffa_abi_errmap {
- #define FFA_ERRMAP_COUNT (FFA_LAST_ID - FFA_FIRST_ID + 1)
- #define FFA_ID_TO_ERRMAP_ID(ffa_id) ((ffa_id) - FFA_FIRST_ID)
- 
--/* The FF-A SMC function definitions */
--
--typedef struct arm_smccc_1_2_regs ffa_value_t;
--typedef void (*invoke_ffa_fn_t)(ffa_value_t args, ffa_value_t *res);
--
- /*
-  * struct ffa_partition_uuid - 16 bytes UUID transmitted by FFA_PARTITION_INFO_GET
-  * @a1-4:	32-bit words access to the UUID data
-diff --git a/drivers/firmware/arm-ffa/core.c b/drivers/firmware/arm-ffa/core.c
-index 0b1f8e6a07..560603b28b 100644
---- a/drivers/firmware/arm-ffa/core.c
-+++ b/drivers/firmware/arm-ffa/core.c
-@@ -1072,6 +1072,7 @@ static int ffa_msg_send_direct_req(struct udevice *dev, u16 dst_part_id,
- 	return ffa_to_std_errno(ffa_errno);
- }
- 
-+#if !CONFIG_IS_ENABLED(SANDBOX_FFA)
- /**
-  * __arm_ffa_fn_smc - SMC wrapper
-  * @args: FF-A ABI arguments to be copied to Xn registers
-@@ -1085,6 +1086,7 @@ void __arm_ffa_fn_smc(ffa_value_t args, ffa_value_t *res)
- {
- 	arm_smccc_1_2_smc(&args, res);
- }
-+#endif
- 
- /**
-  * ffa_set_smc_conduit - Set the SMC conduit
-@@ -1098,7 +1100,12 @@ void __arm_ffa_fn_smc(ffa_value_t args, ffa_value_t *res)
-  */
- static int ffa_set_smc_conduit(void)
- {
--	ffa_priv_data->invoke_ffa_fn = __arm_ffa_fn_smc;
-+#if CONFIG_IS_ENABLED(SANDBOX_FFA)
-+		ffa_priv_data->invoke_ffa_fn = sandbox_arm_ffa_smccc_smc;
-+		ffa_info("Using SMC emulation");
-+#else
-+		ffa_priv_data->invoke_ffa_fn = __arm_ffa_fn_smc;
-+#endif
- 
- 	if (!ffa_priv_data->invoke_ffa_fn) {
- 		ffa_err("failure to set the invoke function");
-@@ -1275,17 +1282,18 @@ struct ffa_prvdata *ffa_bus_prvdata_get(void)
- }
- 
- /**
-- * ffa_bus_discover - discover FF-A bus and probe arm_ffa device
-+ * ffa_bus_discover - discover FF-A bus and probe arm_ffa and sandbox_arm_ffa devices
-  * @pdev: the address of a device pointer (to be filled when the arm_ffa bus device is created
-  *       successfully)
-  *
-  * This function makes sure the FF-A bus is discoverable.
-- * When probing succeeds FF-A discovery is done. The arm_ffa device is ready to use.
-+ * When probing succeeds FF-A discovery is done. The arm_ffa and sandbox_arm_ffa devices
-+ * are ready to use.
-  *
-  * When the bus was already discovered successfully the discovery will not run again.
-  *
-  * Arm FF-A transport is implemented through arm_ffa u-boot device managing the FF-A
-- * communication.
-+ * communication. In Sandbox mode sandbox_arm_ffa is used to test arm_ffa driver.
-  * All FF-A clients should use the arm_ffa device to use the FF-A transport.
-  *
-  * Return:
-@@ -1299,6 +1307,12 @@ int ffa_bus_discover(struct udevice **pdev)
- 	if (!ffa_priv_data) {
- 		ret = ffa_device_get(pdev);
- 
-+#if CONFIG_IS_ENABLED(SANDBOX_FFA)
-+		if (ret == 0)
-+			ret = sandbox_ffa_device_get();
-+#endif
-+	}
-+
- 	return ret;
- }
- 
-diff --git a/drivers/firmware/arm-ffa/sandbox.c b/drivers/firmware/arm-ffa/sandbox.c
-new file mode 100644
-index 0000000000..16f1ca926e
---- /dev/null
-+++ b/drivers/firmware/arm-ffa/sandbox.c
-@@ -0,0 +1,659 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#include "sandbox_arm_ffa_prv.h"
-+#include <asm/global_data.h>
-+#include <common.h>
-+#include <dm.h>
-+#include <dm/device-internal.h>
-+#include <dm/root.h>
-+#include <linux/errno.h>
-+#include <linux/sizes.h>
-+#include <mapmem.h>
-+#include <string.h>
-+
-+DECLARE_GLOBAL_DATA_PTR;
-+
-+/**
-+ * The device private data structure containing all the emulated secure world data
-+ */
-+static struct sandbox_ffa_prvdata  sandbox_ffa_priv_data = {0};
-+
-+/* The partitions (SPs) table */
-+static struct ffa_partition_desc sandbox_partitions[SANDBOX_PARTITIONS_CNT] = {
-+	{
-+		.info = { .id = SANDBOX_SP1_ID, .exec_ctxt = 0x5687, .properties = 0x89325621 },
-+		.sp_uuid = {
-+			.a1 = SANDBOX_SERVICE1_UUID_A1,
-+			.a2 = SANDBOX_SERVICE1_UUID_A2,
-+			.a3 = SANDBOX_SERVICE1_UUID_A3,
-+			.a4 = SANDBOX_SERVICE1_UUID_A4,
-+		}
-+	},
-+	{
-+		.info = { .id = SANDBOX_SP2_ID, .exec_ctxt = 0x9587, .properties = 0x45325621 },
-+		.sp_uuid = {
-+			.a1 = SANDBOX_SERVICE2_UUID_A1,
-+			.a2 = SANDBOX_SERVICE2_UUID_A2,
-+			.a3 = SANDBOX_SERVICE2_UUID_A3,
-+			.a4 = SANDBOX_SERVICE2_UUID_A4,
-+		}
-+	},
-+	{
-+		.info = { .id = SANDBOX_SP3_ID, .exec_ctxt = 0x7687, .properties = 0x23325621 },
-+		.sp_uuid = {
-+			.a1 = SANDBOX_SERVICE1_UUID_A1,
-+			.a2 = SANDBOX_SERVICE1_UUID_A2,
-+			.a3 = SANDBOX_SERVICE1_UUID_A3,
-+			.a4 = SANDBOX_SERVICE1_UUID_A4,
-+		}
-+	},
-+	{
-+		.info = { .id = SANDBOX_SP4_ID, .exec_ctxt = 0x1487, .properties = 0x70325621 },
-+		.sp_uuid = {
-+			.a1 = SANDBOX_SERVICE2_UUID_A1,
-+			.a2 = SANDBOX_SERVICE2_UUID_A2,
-+			.a3 = SANDBOX_SERVICE2_UUID_A3,
-+			.a4 = SANDBOX_SERVICE2_UUID_A4,
-+		}
-+	}
-+
-+};
-+
-+/*
-+ * Driver functions
-+ */
-+
-+/**
-+ * sandbox_ffa_get_device - probes the sandbox_arm_ffa device
-+ *
-+ * This function makes sure the sandbox_arm_ffa device is probed
-+ * This function makes sure the sandbox_arm_ffa device is
-+ * created, bound to this driver, probed and ready to use.
-+ *
-+ * sandbox_arm_ffa depends on arm_ffa device. This dependency is
-+ * handled by ffa_bus_discover function. arm_ffa is probed first then
-+ * sandbox_arm_ffa.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+int sandbox_ffa_device_get(void)
-+{
-+	int ret;
-+
-+	if (sandbox_ffa_priv_data.dev)
-+		return 0;
-+
-+	ret = device_bind(dm_root(),
-+			  DM_DRIVER_GET(sandbox_arm_ffa),
-+			  FFA_SANDBOX_DRV_NAME,
-+			  NULL,
-+			  ofnode_null(),
-+			  &sandbox_ffa_priv_data.dev);
-+	if (ret) {
-+		sandbox_ffa_priv_data.dev = NULL;
-+		return ret;
-+	}
-+
-+	ret = device_probe(sandbox_ffa_priv_data.dev);
-+	if (ret) {
-+		ffa_err("[Sandbox] can not probe  the device");
-+		device_unbind(sandbox_ffa_priv_data.dev);
-+		sandbox_ffa_priv_data.dev = NULL;
-+		return ret;
-+	}
-+
-+	return 0;
-+}
-+
-+/**
-+ * sandbox_ffa_version - Emulated FFA_VERSION handler function
-+ * @{a0-a7} , res: The SMC call arguments and return structure.
-+ *
-+ * This is the function that emulates FFA_VERSION FF-A function.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+SANDBOX_SMC_FFA_ABI(ffa_version)
-+{
-+	sandbox_ffa_priv_data.fwk_version = FFA_VERSION_1_0;
-+	res->a0 = sandbox_ffa_priv_data.fwk_version;
-+
-+	/* x1-x7 MBZ */
-+	memset(FFA_X1X7_MBZ_REG_START, 0, FFA_X1X7_MBZ_CNT * sizeof(unsigned long));
-+
-+	return 0;
-+}
-+
-+/**
-+ * sandbox_ffa_id_get - Emulated FFA_ID_GET handler function
-+ * @{a0-a7} , res: The SMC call arguments and return structure.
-+ *
-+ * This is the function that emulates FFA_ID_GET FF-A function.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+SANDBOX_SMC_FFA_ABI(ffa_id_get)
-+{
-+	res->a0 = FFA_SMC_32(FFA_SUCCESS);
-+	res->a1 = 0;
-+
-+	sandbox_ffa_priv_data.id = NS_PHYS_ENDPOINT_ID;
-+	res->a2 = sandbox_ffa_priv_data.id;
-+
-+	/* x3-x7 MBZ */
-+	memset(FFA_X3_MBZ_REG_START, 0, FFA_X3X7_MBZ_CNT * sizeof(unsigned long));
-+
-+	return 0;
-+}
-+
-+/**
-+ * sandbox_ffa_features - Emulated FFA_FEATURES handler function
-+ * @{a0-a7} , res: The SMC call arguments and return structure.
-+ *
-+ * This is the function that emulates FFA_FEATURES FF-A function.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+SANDBOX_SMC_FFA_ABI(ffa_features)
-+{
-+	if (pargs->a1 == FFA_SMC_64(FFA_RXTX_MAP)) {
-+		res->a0 = FFA_SMC_32(FFA_SUCCESS);
-+		res->a2 = RXTX_BUFFERS_MIN_SIZE;
-+		res->a3 = 0;
-+		/* x4-x7 MBZ */
-+		memset(FFA_X4X7_MBZ_REG_START,
-+		       0, FFA_X4X7_MBZ_CNT * sizeof(unsigned long));
-+	} else {
-+		res->a0 = FFA_SMC_32(FFA_ERROR);
-+		res->a2 = FFA_ERR_STAT_NOT_SUPPORTED;
-+		/* x3-x7 MBZ */
-+		memset(FFA_X3_MBZ_REG_START,
-+		       0, FFA_X3X7_MBZ_CNT * sizeof(unsigned long));
-+		ffa_err("[Sandbox] FF-A interface 0x%lx not implemented", pargs->a1);
-+	}
-+
-+	res->a1 = 0;
-+
-+	return 0;
-+}
-+
-+/**
-+ * sandbox_ffa_partition_info_get - Emulated FFA_PARTITION_INFO_GET handler function
-+ * @{a0-a7} , res: The SMC call arguments and return structure.
-+ *
-+ * This is the function that emulates FFA_PARTITION_INFO_GET FF-A function.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+SANDBOX_SMC_FFA_ABI(ffa_partition_info_get)
-+{
-+	struct ffa_partition_info *rxbuf_desc_info = NULL;
-+	u32 descs_cnt;
-+	u32 descs_size_bytes;
-+
-+	res->a0 = FFA_SMC_32(FFA_ERROR);
-+
-+	if (!sandbox_ffa_priv_data.pair.rxbuf) {
-+		res->a2 = FFA_ERR_STAT_DENIED;
-+		goto cleanup;
-+	}
-+
-+	if (sandbox_ffa_priv_data.pair_info.rxbuf_owned) {
-+		res->a2 = FFA_ERR_STAT_BUSY;
-+		goto cleanup;
-+	}
-+
-+	if (!sandbox_ffa_priv_data.partitions.descs) {
-+		sandbox_ffa_priv_data.partitions.descs = sandbox_partitions;
-+		sandbox_ffa_priv_data.partitions.count = SANDBOX_PARTITIONS_CNT;
-+	}
-+
-+	descs_size_bytes = SANDBOX_PARTITIONS_CNT * sizeof(struct ffa_partition_desc);
-+
-+	/* Abort if the RX buffer size is smaller than the descriptors buffer size */
-+	if ((sandbox_ffa_priv_data.pair_info.rxtx_buf_size * SZ_4K) < descs_size_bytes) {
-+		res->a2 = FFA_ERR_STAT_NO_MEMORY;
-+		goto cleanup;
-+	}
-+
-+	rxbuf_desc_info = (struct ffa_partition_info *)sandbox_ffa_priv_data.pair.rxbuf;
-+
-+	/* No UUID specified. Return the information of all partitions */
-+	if (!pargs->a1 && !pargs->a2 && !pargs->a3 && !pargs->a4) {
-+		for (descs_cnt = 0 ; descs_cnt < SANDBOX_PARTITIONS_CNT ; descs_cnt++)
-+			*(rxbuf_desc_info++) =
-+				sandbox_ffa_priv_data.partitions.descs[descs_cnt].info;
-+
-+		res->a0 = FFA_SMC_32(FFA_SUCCESS);
-+		res->a2 = SANDBOX_PARTITIONS_CNT;
-+		/* transfer ownership to the consumer: the non secure world */
-+		sandbox_ffa_priv_data.pair_info.rxbuf_owned = 1;
-+
-+		goto cleanup;
-+	}
-+
-+	/*
-+	 * A UUID is specified. Return the information of all partitions matching
-+	 * the UUID
-+	 */
-+
-+	for (descs_cnt = 0 ; descs_cnt < SANDBOX_PARTITIONS_CNT ; descs_cnt++)
-+		if (pargs->a1 == sandbox_ffa_priv_data.partitions.descs[descs_cnt].sp_uuid.a1 &&
-+		    pargs->a2 == sandbox_ffa_priv_data.partitions.descs[descs_cnt].sp_uuid.a2 &&
-+		    pargs->a3 == sandbox_ffa_priv_data.partitions.descs[descs_cnt].sp_uuid.a3 &&
-+		    pargs->a4 == sandbox_ffa_priv_data.partitions.descs[descs_cnt].sp_uuid.a4) {
-+			*(rxbuf_desc_info++) =
-+				sandbox_ffa_priv_data.partitions.descs[descs_cnt].info;
-+		}
-+
-+	if (rxbuf_desc_info != ((struct ffa_partition_info *)sandbox_ffa_priv_data.pair.rxbuf)) {
-+		res->a0 = FFA_SMC_32(FFA_SUCCESS);
-+		/* store the partitions count */
-+		res->a2 = (unsigned long)
-+			(rxbuf_desc_info - (struct ffa_partition_info *)
-+			 sandbox_ffa_priv_data.pair.rxbuf);
-+
-+		/* transfer ownership to the consumer: the non secure world */
-+		sandbox_ffa_priv_data.pair_info.rxbuf_owned = 1;
-+	} else {
-+		/* Unrecognized UUID */
-+		res->a2 = FFA_ERR_STAT_INVALID_PARAMETERS;
-+	}
-+
-+cleanup:
-+
-+	ffa_err("[Sandbox] FFA_PARTITION_INFO_GET (%ld)", res->a2);
-+
-+	res->a1 = 0;
-+
-+	/* x3-x7 MBZ */
-+	memset(FFA_X3_MBZ_REG_START, 0, FFA_X3X7_MBZ_CNT * sizeof(unsigned long));
-+
-+	return 0;
-+}
-+
-+/**
-+ * sandbox_ffa_rxtx_map - Emulated FFA_RXTX_MAP handler function
-+ * @{a0-a7} , res: The SMC call arguments and return structure.
-+ *
-+ * This is the function that emulates FFA_RXTX_MAP FF-A function.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+SANDBOX_SMC_FFA_ABI(ffa_rxtx_map)
-+{
-+	res->a0 = FFA_SMC_32(FFA_ERROR);
-+
-+	if (sandbox_ffa_priv_data.pair.txbuf && sandbox_ffa_priv_data.pair.rxbuf) {
-+		res->a2 = FFA_ERR_STAT_DENIED;
-+		goto feedback;
-+	}
-+
-+	if (pargs->a3 >= RXTX_BUFFERS_MIN_PAGES && pargs->a1 && pargs->a2) {
-+		sandbox_ffa_priv_data.pair.txbuf = pargs->a1;
-+		sandbox_ffa_priv_data.pair.rxbuf = pargs->a2;
-+		sandbox_ffa_priv_data.pair_info.rxtx_buf_size = pargs->a3;
-+		sandbox_ffa_priv_data.pair_info.rxbuf_mapped = 1;
-+		res->a0 = FFA_SMC_32(FFA_SUCCESS);
-+		res->a2 = 0;
-+		goto feedback;
-+	}
-+
-+	if (!pargs->a1 || !pargs->a2)
-+		res->a2 = FFA_ERR_STAT_INVALID_PARAMETERS;
-+	else
-+		res->a2 = FFA_ERR_STAT_NO_MEMORY;
-+
-+	ffa_err("[Sandbox] error in FFA_RXTX_MAP arguments (%d)", (int)res->a2);
-+
-+feedback:
-+
-+	res->a1 = 0;
-+
-+	/* x3-x7 MBZ */
-+	memset(FFA_X3_MBZ_REG_START,
-+	       0, FFA_X3X7_MBZ_CNT * sizeof(unsigned long));
-+
-+	return 0;
-+}
-+
-+/**
-+ * sandbox_ffa_rxtx_unmap - Emulated FFA_RXTX_UNMAP handler function
-+ * @{a0-a7} , res: The SMC call arguments and return structure.
-+ *
-+ * This is the function that emulates FFA_RXTX_UNMAP FF-A function.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+SANDBOX_SMC_FFA_ABI(ffa_rxtx_unmap)
-+{
-+	res->a0 = FFA_SMC_32(FFA_ERROR);
-+	res->a2 = FFA_ERR_STAT_INVALID_PARAMETERS;
-+
-+	if (GET_NS_PHYS_ENDPOINT_ID(pargs->a1) != sandbox_ffa_priv_data.id)
-+		goto feedback;
-+
-+	if (sandbox_ffa_priv_data.pair.txbuf && sandbox_ffa_priv_data.pair.rxbuf) {
-+		sandbox_ffa_priv_data.pair.txbuf = 0;
-+		sandbox_ffa_priv_data.pair.rxbuf = 0;
-+		sandbox_ffa_priv_data.pair_info.rxtx_buf_size = 0;
-+		sandbox_ffa_priv_data.pair_info.rxbuf_mapped = 0;
-+		res->a0 = FFA_SMC_32(FFA_SUCCESS);
-+		res->a2 = 0;
-+		goto feedback;
-+	}
-+
-+	ffa_err("[Sandbox] No buffer pair registered on behalf of the caller");
-+
-+feedback:
-+
-+	res->a1 = 0;
-+
-+	/* x3-x7 MBZ */
-+	memset(FFA_X3_MBZ_REG_START,
-+	       0, FFA_X3X7_MBZ_CNT * sizeof(unsigned long));
-+
-+	return 0;
-+}
-+
-+/**
-+ * sandbox_ffa_rx_release - Emulated FFA_RX_RELEASE handler function
-+ * @{a0-a7} , res: The SMC call arguments and return structure.
-+ *
-+ * This is the function that emulates FFA_RX_RELEASE FF-A function.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+SANDBOX_SMC_FFA_ABI(ffa_rx_release)
-+{
-+	if (!sandbox_ffa_priv_data.pair_info.rxbuf_owned) {
-+		res->a0 = FFA_SMC_32(FFA_ERROR);
-+		res->a2 = FFA_ERR_STAT_DENIED;
-+	} else {
-+		sandbox_ffa_priv_data.pair_info.rxbuf_owned = 0;
-+		res->a0 = FFA_SMC_32(FFA_SUCCESS);
-+		res->a2 = 0;
-+	}
-+
-+	res->a1 = 0;
-+
-+	/* x3-x7 MBZ */
-+	memset(FFA_X3_MBZ_REG_START,
-+	       0, FFA_X3X7_MBZ_CNT * sizeof(unsigned long));
-+
-+	return 0;
-+}
-+
-+/**
-+ * sandbox_ffa_sp_valid - Checks SP validity
-+ * @part_id: partition ID to check
-+ *
-+ * This is the function searches the input ID in the descriptors table.
-+ *
-+ * Return:
-+ *
-+ * 1 on success (Partition found). Otherwise, failure
-+ */
-+static int sandbox_ffa_sp_valid(u16 part_id)
-+{
-+	u32 descs_cnt;
-+
-+	for (descs_cnt = 0 ; descs_cnt < SANDBOX_PARTITIONS_CNT ; descs_cnt++)
-+		if (sandbox_ffa_priv_data.partitions.descs[descs_cnt].info.id == part_id)
-+			return 1;
-+
-+	return 0;
-+}
-+
-+/**
-+ * sandbox_ffa_msg_send_direct_req - Emulated FFA_MSG_SEND_DIRECT_{REQ,RESP} handler function
-+ * @{a0-a7} , res: The SMC call arguments and return structure.
-+ *
-+ * This is the function that emulates FFA_MSG_SEND_DIRECT_{REQ,RESP}
-+ * FF-A functions. Only SMC 64-bit is supported in Sandbox.
-+ *
-+ * Emulating interrupts is not supported. So, FFA_RUN and FFA_INTERRUPT are not supported.
-+ * In case of success FFA_MSG_SEND_DIRECT_RESP is returned with default pattern data (0xff).
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+SANDBOX_SMC_FFA_ABI(ffa_msg_send_direct_req)
-+{
-+	u16 part_id;
-+
-+	part_id = GET_DST_SP_ID(pargs->a1);
-+
-+	if ((GET_NS_PHYS_ENDPOINT_ID(pargs->a1) != sandbox_ffa_priv_data.id) ||
-+	    !sandbox_ffa_sp_valid(part_id) ||
-+		pargs->a2) {
-+		res->a0 = FFA_SMC_32(FFA_ERROR);
-+		res->a1 = 0;
-+		res->a2 = FFA_ERR_STAT_INVALID_PARAMETERS;
-+
-+		/* x3-x7 MBZ */
-+		memset(FFA_X3_MBZ_REG_START,
-+		       0, FFA_X3X7_MBZ_CNT * sizeof(unsigned long));
-+
-+		return 0;
-+	}
-+
-+	res->a0 = FFA_SMC_64(FFA_MSG_SEND_DIRECT_RESP);
-+
-+	res->a1 = PREP_SRC_SP_ID(part_id) |
-+		PREP_NS_PHYS_ENDPOINT_ID(sandbox_ffa_priv_data.id);
-+
-+	res->a2 = 0;
-+
-+	/*
-+	 * return 0xff bytes as a response
-+	 */
-+	res->a3 = 0xffffffffffffffff;
-+	res->a4 = 0xffffffffffffffff;
-+	res->a5 = 0xffffffffffffffff;
-+	res->a6 = 0xffffffffffffffff;
-+	res->a7 = 0xffffffffffffffff;
-+
-+	return 0;
-+}
-+
-+/**
-+ * sandbox_ffa_get_prv_data - Returns the pointer to FF-A core pivate data
-+ * @func_data:  Pointer to the FF-A function arguments container structure
-+ *
-+ * This is the handler that returns the address of the FF-A core pivate data.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int sandbox_ffa_get_prv_data(struct ffa_sandbox_data *func_data)
-+{
-+	if (!func_data)
-+		return -EINVAL;
-+
-+	if (!func_data->data0 || func_data->data0_size != sizeof(struct ffa_prvdata *))
-+		return -EINVAL;
-+
-+	if (!func_data->data1 || func_data->data1_size != sizeof(struct sandbox_ffa_prvdata *))
-+		return -EINVAL;
-+
-+	*((struct ffa_prvdata **)func_data->data0) = ffa_bus_prvdata_get();
-+	*((struct sandbox_ffa_prvdata **)func_data->data1) = &sandbox_ffa_priv_data;
-+
-+	return 0;
-+}
-+
-+/**
-+ * sandbox_ffa_get_rxbuf_flags - Reading the mapping/ownership flags
-+ * @queried_func_id:	The FF-A function to be queried
-+ * @func_data:  Pointer to the FF-A function arguments container structure
-+ *
-+ * This is the handler that queries the status flags of the following emulated ABIs:
-+ * FFA_RXTX_MAP, FFA_RXTX_UNMAP, FFA_RX_RELEASE
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int sandbox_ffa_get_rxbuf_flags(u32 queried_func_id, struct ffa_sandbox_data *func_data)
-+{
-+	if (!func_data)
-+		return -EINVAL;
-+
-+	if (!func_data->data0 || func_data->data0_size != sizeof(u8))
-+		return -EINVAL;
-+
-+	switch (queried_func_id) {
-+	case FFA_RXTX_MAP:
-+	case FFA_RXTX_UNMAP:
-+		*((u8 *)func_data->data0) = sandbox_ffa_priv_data.pair_info.rxbuf_mapped;
-+		return 0;
-+	case FFA_RX_RELEASE:
-+		*((u8 *)func_data->data0) = sandbox_ffa_priv_data.pair_info.rxbuf_owned;
-+		return 0;
-+	default:
-+		ffa_err("[Sandbox] The querried  FF-A interface flag (%d) undefined",
-+			queried_func_id);
-+		return -EINVAL;
-+	}
-+}
-+
-+/**
-+ * sandbox_ffa_query_core_state - The driver dispatcher function
-+ * @queried_func_id:	The FF-A function to be queried
-+ * @func_data:  Pointer to the FF-A function arguments container structure
-+ *
-+ * Queries the status of FF-A ABI specified in the input argument.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+int sandbox_ffa_query_core_state(u32 queried_func_id, struct ffa_sandbox_data *func_data)
-+{
-+	switch (queried_func_id) {
-+	case FFA_VERSION:
-+	case FFA_ID_GET:
-+	case FFA_FEATURES:
-+		return sandbox_ffa_get_prv_data(func_data);
-+	case FFA_RXTX_MAP:
-+	case FFA_RXTX_UNMAP:
-+	case FFA_RX_RELEASE:
-+		return sandbox_ffa_get_rxbuf_flags(queried_func_id, func_data);
-+	default:
-+		ffa_err("[Sandbox] The querried  FF-A interface (%d) undefined", queried_func_id);
-+		return -EINVAL;
-+	}
-+}
-+
-+/**
-+ * sandbox_arm_ffa_smccc_smc - FF-A SMC call emulation
-+ * @args:	the SMC call arguments
-+ * @res:	the SMC call returned data
-+ *
-+ * Sandbox driver emulates the FF-A ABIs SMC call using this function.
-+ * The emulated FF-A ABI is identified and invoked.
-+ * FF-A emulation is based on the FF-A specification 1.0
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure.
-+ * FF-A protocol error codes are returned using the registers arguments as described
-+ * by the specification
-+ */
-+void sandbox_arm_ffa_smccc_smc(ffa_value_t args, ffa_value_t *res)
-+{
-+	int ret = 0;
-+
-+	switch (args.a0) {
-+	case FFA_SMC_32(FFA_VERSION):
-+		ret = sandbox_ffa_version(&args, res);
-+		break;
-+	case FFA_SMC_32(FFA_PARTITION_INFO_GET):
-+		ret = sandbox_ffa_partition_info_get(&args, res);
-+		break;
-+	case FFA_SMC_32(FFA_RXTX_UNMAP):
-+		ret = sandbox_ffa_rxtx_unmap(&args, res);
-+		break;
-+	case FFA_SMC_64(FFA_MSG_SEND_DIRECT_REQ):
-+		ret = sandbox_ffa_msg_send_direct_req(&args, res);
-+		break;
-+	case FFA_SMC_32(FFA_ID_GET):
-+		ret = sandbox_ffa_id_get(&args, res);
-+		break;
-+	case FFA_SMC_32(FFA_FEATURES):
-+		ret = sandbox_ffa_features(&args, res);
-+		break;
-+	case FFA_SMC_64(FFA_RXTX_MAP):
-+		ret = sandbox_ffa_rxtx_map(&args, res);
-+		break;
-+	case FFA_SMC_32(FFA_RX_RELEASE):
-+		ret = sandbox_ffa_rx_release(&args, res);
-+		break;
-+	default:
-+		ffa_err("[Sandbox] Undefined FF-A interface (0x%lx)", args.a0);
-+	}
-+
-+	if (ret != 0)
-+		ffa_err("[Sandbox] FF-A ABI internal failure  (%d)", ret);
-+}
-+
-+/**
-+ * sandbox_ffa_probe - The driver probe function
-+ * @dev:	the sandbox_arm_ffa device
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int sandbox_ffa_probe(struct udevice *dev)
-+{
-+	return 0;
-+}
-+
-+/**
-+ * sandbox_ffa_remove - The driver remove function
-+ * @dev:	the sandbox_arm_ffa device
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int sandbox_ffa_remove(struct udevice *dev)
-+{
-+	ffa_info("[Sandbox] removing the device");
-+	memset(&sandbox_ffa_priv_data, 0, sizeof(sandbox_ffa_priv_data));
-+	return 0;
-+}
-+
-+/**
-+ * Declaring the sandbox_arm_ffa driver under UCLASS_FFA
-+ */
-+U_BOOT_DRIVER(sandbox_arm_ffa) = {
-+	.name		= FFA_SANDBOX_DRV_NAME,
-+	.id		= UCLASS_FFA,
-+	.probe		= sandbox_ffa_probe,
-+	.remove		= sandbox_ffa_remove,
-+};
-diff --git a/drivers/firmware/arm-ffa/sandbox_arm_ffa_prv.h b/drivers/firmware/arm-ffa/sandbox_arm_ffa_prv.h
-new file mode 100644
-index 0000000000..4db57f5092
---- /dev/null
-+++ b/drivers/firmware/arm-ffa/sandbox_arm_ffa_prv.h
-@@ -0,0 +1,144 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#ifndef __SANDBOX_ARM_FFA_PRV_H
-+#define __SANDBOX_ARM_FFA_PRV_H
-+
-+#include "arm_ffa_prv.h"
-+#include <sandbox_arm_ffa.h>
-+
-+/*
-+ * This header is private. It is exclusively used by the Sandbox FF-A driver
-+ */
-+
-+/* FF-A core driver name */
-+#define FFA_SANDBOX_DRV_NAME "sandbox_arm_ffa"
-+
-+/* FF-A ABIs internal error codes (as defined by the spec) */
-+
-+#define FFA_ERR_STAT_NOT_SUPPORTED	-1
-+#define FFA_ERR_STAT_INVALID_PARAMETERS	-2
-+#define FFA_ERR_STAT_NO_MEMORY	-3
-+#define FFA_ERR_STAT_BUSY	-4
-+#define FFA_ERR_STAT_DENIED	-6
-+
-+/* Providing Arm SMCCC declarations to sandbox */
-+
-+#define ARM_SMCCC_FAST_CALL		1UL
-+#define ARM_SMCCC_OWNER_STANDARD	4
-+#define ARM_SMCCC_SMC_32		0
-+#define ARM_SMCCC_SMC_64		1
-+#define ARM_SMCCC_TYPE_SHIFT		31
-+#define ARM_SMCCC_CALL_CONV_SHIFT	30
-+#define ARM_SMCCC_OWNER_MASK		0x3F
-+#define ARM_SMCCC_OWNER_SHIFT		24
-+#define ARM_SMCCC_FUNC_MASK		0xFFFF
-+
-+#define ARM_SMCCC_CALL_VAL(type, calling_convention, owner, func_num) \
-+	(((type) << ARM_SMCCC_TYPE_SHIFT) | \
-+	((calling_convention) << ARM_SMCCC_CALL_CONV_SHIFT) | \
-+	(((owner) & ARM_SMCCC_OWNER_MASK) << ARM_SMCCC_OWNER_SHIFT) | \
-+	((func_num) & ARM_SMCCC_FUNC_MASK))
-+
-+/* Non-secure physical FF-A instance */
-+#define NS_PHYS_ENDPOINT_ID (0)
-+
-+#define GET_NS_PHYS_ENDPOINT_ID_MASK		GENMASK(31, 16)
-+#define GET_NS_PHYS_ENDPOINT_ID(x)		\
-+			((u16)(FIELD_GET(GET_NS_PHYS_ENDPOINT_ID_MASK, (x))))
-+
-+/* Helper macro for reading the destination partition ID */
-+#define GET_DST_SP_ID_MASK		GENMASK(15, 0)
-+#define GET_DST_SP_ID(x)		\
-+			((u16)(FIELD_GET(GET_DST_SP_ID_MASK, (x))))
-+
-+/* Helper macro for setting the source partition ID */
-+#define PREP_SRC_SP_ID_MASK		GENMASK(31, 16)
-+#define PREP_SRC_SP_ID(x)		\
-+			(FIELD_PREP(PREP_SRC_SP_ID_MASK, (x)))
-+
-+/* Helper macro for setting the destination endpoint ID */
-+#define PREP_NS_PHYS_ENDPOINT_ID_MASK		GENMASK(15, 0)
-+#define PREP_NS_PHYS_ENDPOINT_ID(x)		\
-+			(FIELD_PREP(PREP_NS_PHYS_ENDPOINT_ID_MASK, (x)))
-+
-+/*  RX/TX buffers minimum size */
-+#define RXTX_BUFFERS_MIN_SIZE (RXTX_4K)
-+#define RXTX_BUFFERS_MIN_PAGES (1)
-+
-+/* MBZ registers info */
-+
-+/* x1-x7 MBZ */
-+#define FFA_X1X7_MBZ_CNT (7)
-+#define FFA_X1X7_MBZ_REG_START (&res->a1)
-+
-+/* x4-x7 MBZ */
-+#define FFA_X4X7_MBZ_CNT (4)
-+#define FFA_X4X7_MBZ_REG_START (&res->a4)
-+
-+/* x3-x7 MBZ */
-+#define FFA_X3X7_MBZ_CNT (5)
-+#define FFA_X3_MBZ_REG_START (&res->a3)
-+
-+/* secure partitions count */
-+#define SANDBOX_PARTITIONS_CNT (4)
-+
-+/* service 1  UUID binary data (little-endian format) */
-+#define SANDBOX_SERVICE1_UUID_A1	0xed32d533
-+#define SANDBOX_SERVICE1_UUID_A2	0x99e64209
-+#define SANDBOX_SERVICE1_UUID_A3	0x9cc02d72
-+#define SANDBOX_SERVICE1_UUID_A4	0xcdd998a7
-+
-+/* service 2  UUID binary data (little-endian format) */
-+#define SANDBOX_SERVICE2_UUID_A1	0xed32d544
-+#define SANDBOX_SERVICE2_UUID_A2	0x99e64209
-+#define SANDBOX_SERVICE2_UUID_A3	0x9cc02d72
-+#define SANDBOX_SERVICE2_UUID_A4	0xcdd998a7
-+
-+/**
-+ * struct ffa_rxtxpair_info - structure hosting the RX/TX buffers flags
-+ * @rxbuf_owned:	RX buffer ownership flag (the owner is non secure world: the consumer)
-+ * @rxbuf_mapped:	RX buffer mapping flag
-+ * @txbuf_owned	TX buffer ownership flag
-+ * @txbuf_mapped:	TX buffer mapping flag
-+ * @rxtx_buf_size:	RX/TX buffers size as set by the FF-A core driver
-+ *
-+ * Data structure hosting the ownership/mapping flags of the RX/TX buffers
-+ * When a buffer is owned/mapped its corresponding flag is set to 1 otherwise 0.
-+ */
-+struct ffa_rxtxpair_info {
-+	u8 rxbuf_owned;
-+	u8 rxbuf_mapped;
-+	u8 txbuf_owned;
-+	u8 txbuf_mapped;
-+	u32 rxtx_buf_size;
-+};
-+
-+/**
-+ * struct sandbox_ffa_prvdata - the driver private data structure
-+ *
-+ * @dev:	The arm_ffa device under u-boot driver model
-+ * @fwk_version:	FF-A framework version
-+ * @id:	u-boot endpoint ID
-+ * @partitions:	The partitions descriptors structure
-+ * @pair:	The RX/TX buffers pair
-+ * @pair_info:	The RX/TX buffers pair flags and size
-+ * @conduit:	The selected conduit
-+ *
-+ * The driver data structure hosting all the emulated secure world data.
-+ */
-+struct sandbox_ffa_prvdata {
-+	struct udevice *dev;
-+	u32 fwk_version;
-+	u16 id;
-+	struct ffa_partitions partitions;
-+	struct ffa_rxtxpair pair;
-+	struct ffa_rxtxpair_info pair_info;
-+};
-+
-+#define SANDBOX_SMC_FFA_ABI(ffabi) static int sandbox_##ffabi(ffa_value_t *pargs, ffa_value_t *res)
-+
-+#endif
-diff --git a/include/arm_ffa.h b/include/arm_ffa.h
-index 74b16174c2..b88904fe50 100644
---- a/include/arm_ffa.h
-+++ b/include/arm_ffa.h
-@@ -90,7 +90,7 @@ struct ffa_bus_ops {
- const struct ffa_bus_ops *ffa_bus_ops_get(void);
- 
- /**
-- * ffa_bus_discover - discover FF-A bus and probes the arm_ffa device
-+ * ffa_bus_discover - discover FF-A bus and probes the arm_ffa and sandbox_arm_ffa devices
-  */
- int ffa_bus_discover(struct udevice **pdev);
- 
-diff --git a/include/sandbox_arm_ffa.h b/include/sandbox_arm_ffa.h
-new file mode 100644
-index 0000000000..d5df16f282
---- /dev/null
-+++ b/include/sandbox_arm_ffa.h
-@@ -0,0 +1,91 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#ifndef __SANDBOX_ARM_FFA_H
-+#define __SANDBOX_ARM_FFA_H
-+
-+#include <arm_ffa.h>
-+
-+/**
-+ * struct sandbox_smccc_1_2_regs - Arguments for or Results from emulated SMC call
-+ * @a0-a17 argument values from registers 0 to 17
-+ */
-+struct sandbox_smccc_1_2_regs {
-+	unsigned long a0;
-+	unsigned long a1;
-+	unsigned long a2;
-+	unsigned long a3;
-+	unsigned long a4;
-+	unsigned long a5;
-+	unsigned long a6;
-+	unsigned long a7;
-+	unsigned long a8;
-+	unsigned long a9;
-+	unsigned long a10;
-+	unsigned long a11;
-+	unsigned long a12;
-+	unsigned long a13;
-+	unsigned long a14;
-+	unsigned long a15;
-+	unsigned long a16;
-+	unsigned long a17;
-+};
-+
-+typedef struct sandbox_smccc_1_2_regs ffa_value_t;
-+
-+/* UUIDs of services supported by the sandbox driver */
-+#define SANDBOX_SERVICE1_UUID	"ed32d533-4209-99e6-2d72-cdd998a79cc0"
-+#define SANDBOX_SERVICE2_UUID	"ed32d544-4209-99e6-2d72-cdd998a79cc0"
-+#define SANDBOX_SP1_ID 0x1245
-+#define SANDBOX_SP2_ID 0x9836
-+#define SANDBOX_SP3_ID 0x6452
-+#define SANDBOX_SP4_ID 0x7814
-+
-+/* invalid service UUID (no matching SP) */
-+#define SANDBOX_SERVICE3_UUID	"55d532ed-0942-e699-722d-c09ca798d9cd"
-+
-+/* invalid service UUID (invalid UUID string format) */
-+#define SANDBOX_SERVICE4_UUID	"32ed-0942-e699-722d-c09ca798d9cd"
-+
-+#define SANDBOX_SP_COUNT_PER_VALID_SERVICE	2
-+
-+/**
-+ * struct ffa_sandbox_data - generic data structure used to exchange
-+ *						data between test cases and the sandbox driver
-+ * @data0_size:	size of the first argument
-+ * @data0:	pointer to the first argument
-+ * @data1_size>:	size of the second argument
-+ * @data1:	pointer to the second argument
-+ *
-+ * Using this structure sandbox test cases can pass various types of data with different sizes.
-+ */
-+struct ffa_sandbox_data {
-+	u32 data0_size; /* size of the first argument */
-+	void *data0; /* pointer to the first argument */
-+	u32 data1_size; /* size of the second argument */
-+	void *data1; /* pointer to the second argument */
-+};
-+
-+/**
-+ * The sandbox driver public functions
-+ */
-+
-+/**
-+ * sandbox_ffa_query_core_state - Queries the status of FF-A ABIs
-+ */
-+int sandbox_ffa_query_core_state(u32 queried_func_id, struct ffa_sandbox_data *func_data);
-+
-+/**
-+ * sandbox_ffa_get_device - create, bind and probe the sandbox_arm_ffa device
-+ */
-+int sandbox_ffa_device_get(void);
-+
-+/**
-+ * sandbox_arm_ffa_smccc_smc - FF-A SMC call emulation
-+ */
-+void sandbox_arm_ffa_smccc_smc(ffa_value_t args, ffa_value_t *res);
-+
-+#endif
-diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
-index 3481f2afe7..fea4eb7a34 100644
---- a/lib/efi_loader/efi_boottime.c
-+++ b/lib/efi_loader/efi_boottime.c
-@@ -2185,7 +2185,7 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle,
- 		dm_remove_devices_flags(DM_REMOVE_ACTIVE_ALL);
- 	}
- 
--#if CONFIG_IS_ENABLED(ARM_FFA_TRANSPORT)
-+#if CONFIG_IS_ENABLED(ARM_FFA_TRANSPORT) && !CONFIG_IS_ENABLED(SANDBOX_FFA)
- 		/* unmap FF-A RX/TX buffers */
- 		if (ffa_bus_ops_get()->rxtx_unmap(NULL))
- 			log_err("Can't unmap FF-A RX/TX buffers\n");
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-FF-A-v15-arm_ffa-introduce-sandbox-test-cases-for-UC.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-FF-A-v15-arm_ffa-introduce-sandbox-test-cases-for-UC.patch
new file mode 100644
index 0000000..966c32b
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-FF-A-v15-arm_ffa-introduce-sandbox-test-cases-for-UC.patch
@@ -0,0 +1,341 @@
+From 00d0d8edf47430e3069e7c1dfa7a5bb7bb36bd49 Mon Sep 17 00:00:00 2001
+From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Date: Wed, 10 May 2023 17:34:55 +0100
+Subject: [PATCH 07/33] FF-A v15: arm_ffa: introduce sandbox test cases for
+ UCLASS_FFA
+
+Add functional test cases for the FF-A support
+
+These tests rely on the FF-A sandbox emulator and FF-A
+sandbox driver which help in inspecting the FF-A communication.
+
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
+Cc: Tom Rini <trini@konsulko.com>
+Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
+Cc: Jens Wiklander <jens.wiklander@linaro.org>
+Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
+Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20230713132847.176000-1-abdellatif.elkhlifi@arm.com/]
+---
+ MAINTAINERS            |   1 +
+ doc/arch/arm64.ffa.rst |   1 +
+ test/dm/Makefile       |   3 +-
+ test/dm/ffa.c          | 261 +++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 265 insertions(+), 1 deletion(-)
+ create mode 100644 test/dm/ffa.c
+
+diff --git a/MAINTAINERS b/MAINTAINERS
+index 679a3acdd8..ccd7859c88 100644
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -276,6 +276,7 @@ F:	doc/arch/arm64.ffa.rst
+ F:	doc/usage/cmd/armffa.rst
+ F:	drivers/firmware/arm-ffa/
+ F:	include/arm_ffa.h
++F:	test/dm/ffa.c
+ 
+ ARM FREESCALE IMX
+ M:	Stefano Babic <sbabic@denx.de>
+diff --git a/doc/arch/arm64.ffa.rst b/doc/arch/arm64.ffa.rst
+index b7c754fa3d..325fb80346 100644
+--- a/doc/arch/arm64.ffa.rst
++++ b/doc/arch/arm64.ffa.rst
+@@ -37,6 +37,7 @@ The U-Boot FF-A support provides the following parts:
+   FF-A ABIs inspection methods.
+ - An FF-A sandbox device driver for FF-A communication with the emulated Secure World.
+   The driver leverages the FF-A Uclass to establish FF-A communication.
++- Sandbox FF-A test cases.
+ 
+ FF-A and SMC specifications
+ -------------------------------------------
+diff --git a/test/dm/Makefile b/test/dm/Makefile
+index 3799b1ae8f..7ed00733c1 100644
+--- a/test/dm/Makefile
++++ b/test/dm/Makefile
+@@ -1,7 +1,7 @@
+ # SPDX-License-Identifier: GPL-2.0+
+ #
+ # Copyright (c) 2013 Google, Inc
+-# Copyright 2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++# Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
+ 
+ obj-$(CONFIG_UT_DM) += test-dm.o
+ 
+@@ -92,6 +92,7 @@ obj-$(CONFIG_POWER_DOMAIN) += power-domain.o
+ obj-$(CONFIG_ACPI_PMC) += pmc.o
+ obj-$(CONFIG_DM_PMIC) += pmic.o
+ obj-$(CONFIG_DM_PWM) += pwm.o
++obj-$(CONFIG_ARM_FFA_TRANSPORT) += ffa.o
+ obj-$(CONFIG_QFW) += qfw.o
+ obj-$(CONFIG_RAM) += ram.o
+ obj-y += regmap.o
+diff --git a/test/dm/ffa.c b/test/dm/ffa.c
+new file mode 100644
+index 0000000000..6912666bb4
+--- /dev/null
++++ b/test/dm/ffa.c
+@@ -0,0 +1,261 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Functional tests for UCLASS_FFA  class
++ *
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ */
++
++#include <common.h>
++#include <console.h>
++#include <dm.h>
++#include <asm/sandbox_arm_ffa.h>
++#include <asm/sandbox_arm_ffa_priv.h>
++#include <dm/test.h>
++#include <test/test.h>
++#include <test/ut.h>
++
++/* Functional tests for the UCLASS_FFA */
++
++static int check_fwk_version(struct ffa_priv *uc_priv, struct unit_test_state *uts)
++{
++	struct ffa_sandbox_data func_data;
++	u32 fwk_version = 0;
++
++	func_data.data0 = &fwk_version;
++	func_data.data0_size = sizeof(fwk_version);
++	ut_assertok(sandbox_query_ffa_emul_state(FFA_VERSION, &func_data));
++	ut_asserteq(uc_priv->fwk_version, fwk_version);
++
++	return 0;
++}
++
++static int check_endpoint_id(struct ffa_priv *uc_priv, struct unit_test_state *uts)
++{
++	ut_asserteq(0, uc_priv->id);
++
++	return 0;
++}
++
++static int check_rxtxbuf(struct ffa_priv *uc_priv, struct unit_test_state *uts)
++{
++	ut_assertnonnull(uc_priv->pair.rxbuf);
++	ut_assertnonnull(uc_priv->pair.txbuf);
++
++	return 0;
++}
++
++static int check_features(struct ffa_priv *uc_priv, struct unit_test_state *uts)
++{
++	ut_assert(uc_priv->pair.rxtx_min_pages == RXTX_4K ||
++		  uc_priv->pair.rxtx_min_pages == RXTX_16K ||
++		  uc_priv->pair.rxtx_min_pages == RXTX_64K);
++
++	return 0;
++}
++
++static int check_rxbuf_mapped_flag(u32 queried_func_id,
++				   u8 rxbuf_mapped,
++				   struct unit_test_state *uts)
++{
++	switch (queried_func_id) {
++	case FFA_RXTX_MAP:
++		ut_asserteq(1, rxbuf_mapped);
++		break;
++	case FFA_RXTX_UNMAP:
++		ut_asserteq(0, rxbuf_mapped);
++		break;
++	default:
++		ut_assert(false);
++	}
++
++	return 0;
++}
++
++static int check_rxbuf_release_flag(u8 rxbuf_owned, struct unit_test_state *uts)
++{
++	ut_asserteq(0, rxbuf_owned);
++
++	return 0;
++}
++
++static int  test_ffa_msg_send_direct_req(u16 part_id, struct unit_test_state *uts)
++{
++	struct ffa_send_direct_data msg;
++	u8 cnt;
++	struct udevice *dev;
++
++	ut_assertok(uclass_first_device_err(UCLASS_FFA, &dev));
++
++	ut_assertok(ffa_sync_send_receive(dev, part_id, &msg, 1));
++
++	for (cnt = 0; cnt < sizeof(struct ffa_send_direct_data) / sizeof(u64); cnt++)
++		ut_asserteq_64(-1UL, ((u64 *)&msg)[cnt]);
++
++	return 0;
++}
++
++static int test_partitions_and_comms(const char *service_uuid,
++				     struct unit_test_state *uts)
++{
++	struct ffa_partition_desc *descs;
++	u32 count, i, j, valid_sps = 0;
++	struct udevice *dev;
++	struct ffa_sandbox_data func_data;
++	struct ffa_partitions *partitions;
++
++	ut_assertok(uclass_first_device_err(UCLASS_FFA, &dev));
++
++	/* Get from the driver the count and information of the SPs matching the UUID */
++	ut_assertok(ffa_partition_info_get(dev, service_uuid, &count, &descs));
++
++	/* Make sure the count is correct */
++	ut_asserteq(SANDBOX_SP_COUNT_PER_VALID_SERVICE, count);
++
++	/* SPs found , verify the partitions information */
++
++	func_data.data0 = &partitions;
++	func_data.data0_size = sizeof(struct ffa_partitions *);
++	ut_assertok(sandbox_query_ffa_emul_state(FFA_PARTITION_INFO_GET, &func_data));
++
++	for (i = 0; i < count ; i++) {
++		for (j = 0;
++		     j < partitions->count;
++		     j++) {
++			if (descs[i].info.id ==
++			   partitions->descs[j].info.id) {
++				valid_sps++;
++				ut_asserteq_mem(&descs[i],
++						&partitions->descs[j],
++						sizeof(struct ffa_partition_desc));
++				/* Send and receive data from the current partition */
++				test_ffa_msg_send_direct_req(descs[i].info.id, uts);
++			}
++		}
++	}
++
++	/* Verify expected partitions found in the emulated secure world */
++	ut_asserteq(SANDBOX_SP_COUNT_PER_VALID_SERVICE, valid_sps);
++
++	return 0;
++}
++
++static int dm_test_ffa_ack(struct unit_test_state *uts)
++{
++	struct ffa_priv *uc_priv;
++	struct ffa_sandbox_data func_data;
++	u8 rxbuf_flag = 0;
++	const char *svc1_uuid = SANDBOX_SERVICE1_UUID;
++	const char *svc2_uuid = SANDBOX_SERVICE2_UUID;
++	struct udevice *dev;
++
++	/* Test probing the sandbox FF-A bus */
++	ut_assertok(uclass_first_device_err(UCLASS_FFA, &dev));
++
++	/* Get a pointer to the sandbox FF-A bus private data */
++	uc_priv = dev_get_uclass_priv(dev);
++
++	/* Make sure the private data pointer is retrieved */
++	ut_assertnonnull(uc_priv);
++
++	/* Test FFA_VERSION */
++	check_fwk_version(uc_priv, uts);
++
++	/* Test FFA_ID_GET */
++	check_endpoint_id(uc_priv, uts);
++
++	/* Test FFA_FEATURES */
++	check_features(uc_priv, uts);
++
++	/*  Test RX/TX buffers */
++	check_rxtxbuf(uc_priv, uts);
++
++	/* Test FFA_RXTX_MAP */
++	func_data.data0 = &rxbuf_flag;
++	func_data.data0_size = sizeof(rxbuf_flag);
++
++	rxbuf_flag = 0;
++	sandbox_query_ffa_emul_state(FFA_RXTX_MAP, &func_data);
++	check_rxbuf_mapped_flag(FFA_RXTX_MAP, rxbuf_flag, uts);
++
++	/* FFA_PARTITION_INFO_GET / FFA_MSG_SEND_DIRECT_REQ */
++	test_partitions_and_comms(svc1_uuid, uts);
++
++	/* Test FFA_RX_RELEASE */
++	rxbuf_flag = 1;
++	sandbox_query_ffa_emul_state(FFA_RX_RELEASE, &func_data);
++	check_rxbuf_release_flag(rxbuf_flag, uts);
++
++	/* FFA_PARTITION_INFO_GET / FFA_MSG_SEND_DIRECT_REQ */
++	test_partitions_and_comms(svc2_uuid, uts);
++
++	/* Test FFA_RX_RELEASE */
++	rxbuf_flag = 1;
++	ut_assertok(sandbox_query_ffa_emul_state(FFA_RX_RELEASE, &func_data));
++	check_rxbuf_release_flag(rxbuf_flag, uts);
++
++	return 0;
++}
++
++DM_TEST(dm_test_ffa_ack, UT_TESTF_SCAN_FDT | UT_TESTF_CONSOLE_REC);
++
++static int dm_test_ffa_nack(struct unit_test_state *uts)
++{
++	struct ffa_priv *uc_priv;
++	const char *valid_svc_uuid = SANDBOX_SERVICE1_UUID;
++	const char *unvalid_svc_uuid = SANDBOX_SERVICE3_UUID;
++	const char *unvalid_svc_uuid_str = SANDBOX_SERVICE4_UUID;
++	struct ffa_send_direct_data msg;
++	int ret;
++	u32 count;
++	u16 part_id = 0;
++	struct udevice *dev;
++	struct ffa_partition_desc *descs = NULL;
++
++	/* Test probing the sandbox FF-A bus */
++	ut_assertok(uclass_first_device_err(UCLASS_FFA, &dev));
++
++	/* Get a pointer to the sandbox FF-A bus private data */
++	uc_priv = dev_get_uclass_priv(dev);
++
++	/* Make sure the private data pointer is retrieved */
++	ut_assertnonnull(uc_priv);
++
++	/* Query partitions count using  invalid arguments */
++	ret = ffa_partition_info_get(dev, NULL, NULL, NULL);
++	ut_asserteq(-EINVAL, ret);
++	ret = ffa_partition_info_get(dev, unvalid_svc_uuid, NULL, NULL);
++	ut_asserteq(-EINVAL, ret);
++	ret = ffa_partition_info_get(dev, unvalid_svc_uuid, &count, NULL);
++	ut_asserteq(-EINVAL, ret);
++
++	/* Query partitions count using an invalid UUID  string */
++	ret = ffa_partition_info_get(dev, unvalid_svc_uuid_str, &count, &descs);
++	ut_asserteq(-EINVAL, ret);
++
++	/* Query partitions count using an invalid UUID (no matching SP) */
++	count = 0;
++	ret = ffa_partition_info_get(dev, unvalid_svc_uuid, &count, &descs);
++	ut_asserteq(0, count);
++
++	/* Query partitions data using a valid UUID */
++	count = 0;
++	ut_assertok(ffa_partition_info_get(dev, valid_svc_uuid, &count, &descs));
++	/* Make sure partitions are detected */
++	ut_asserteq(SANDBOX_SP_COUNT_PER_VALID_SERVICE, count);
++	ut_assertnonnull(descs);
++
++	/* Send data to an invalid partition */
++	ret = ffa_sync_send_receive(dev, part_id, &msg, 1);
++	ut_asserteq(-EINVAL, ret);
++
++	/* Send data to a valid partition */
++	part_id = uc_priv->partitions.descs[0].info.id;
++	ut_assertok(ffa_sync_send_receive(dev, part_id, &msg, 1));
++
++	return 0;
++}
++
++DM_TEST(dm_test_ffa_nack, UT_TESTF_SCAN_FDT | UT_TESTF_CONSOLE_REC);
+-- 
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-arm_ffa-introduce-Sandbox-test-cases-for-UCLASS_FFA.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-arm_ffa-introduce-Sandbox-test-cases-for-UCLASS_FFA.patch
deleted file mode 100644
index d248e8b..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-arm_ffa-introduce-Sandbox-test-cases-for-UCLASS_FFA.patch
+++ /dev/null
@@ -1,472 +0,0 @@
-From 3664fe7503cbc4348bbd7bcb8fbf7e1db332ac5d Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Mon, 6 Jun 2022 17:26:06 +0100
-Subject: [PATCH 07/42] arm_ffa: introduce Sandbox test cases for UCLASS_FFA
-
-Add functional test cases for the FF-A core driver
-
-These tests rely on the FF-A Sandbox driver which helps in
- inspecting the FF-A core driver.
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Cc: Tom Rini <trini@konsulko.com>
-Cc: Simon Glass <sjg@chromium.org>
-Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
-Cc: Jens Wiklander <jens.wiklander@linaro.org>
-Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20221122131751.22747-1-abdellatif.elkhlifi@arm.com/]
-
-Changelog:
-===============
-
-v8:
-
-  * update partition_info_get() second argument to be an SP count
-  * pass NULL device pointer to the FF-A bus discovery and operations
-
-v7: set the tests to use 64-bit direct messaging
-
-v4: align sandbox tests with the new FF-A driver interfaces
- and new way of error handling
-
-v1: introduce sandbox tests
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- MAINTAINERS      |   1 +
- test/dm/Makefile |   2 +
- test/dm/ffa.c    | 392 +++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 395 insertions(+)
- create mode 100644 test/dm/ffa.c
-
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 297d165f84..c1d3d4ae1c 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
-@@ -272,6 +272,7 @@ F:	doc/arch/arm64.ffa.rst
- F:	drivers/firmware/arm-ffa/
- F:	include/arm_ffa.h
- F:	include/sandbox_arm_ffa.h
-+F:	test/dm/ffa.c
- 
- ARM FREESCALE IMX
- M:	Stefano Babic <sbabic@denx.de>
-diff --git a/test/dm/Makefile b/test/dm/Makefile
-index 7a79b6e1a2..85e99e1c12 100644
---- a/test/dm/Makefile
-+++ b/test/dm/Makefile
-@@ -1,6 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0+
- #
- # Copyright (c) 2013 Google, Inc
-+# (C) Copyright 2022 ARM Limited
- 
- obj-$(CONFIG_UT_DM) += test-dm.o
- 
-@@ -85,6 +86,7 @@ obj-$(CONFIG_POWER_DOMAIN) += power-domain.o
- obj-$(CONFIG_ACPI_PMC) += pmc.o
- obj-$(CONFIG_DM_PMIC) += pmic.o
- obj-$(CONFIG_DM_PWM) += pwm.o
-+obj-$(CONFIG_SANDBOX_FFA) += ffa.o
- obj-$(CONFIG_QFW) += qfw.o
- obj-$(CONFIG_RAM) += ram.o
- obj-y += regmap.o
-diff --git a/test/dm/ffa.c b/test/dm/ffa.c
-new file mode 100644
-index 0000000000..128d8626a7
---- /dev/null
-+++ b/test/dm/ffa.c
-@@ -0,0 +1,392 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Functional tests for UCLASS_FFA  class
-+ *
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#include <common.h>
-+#include <console.h>
-+#include <dm.h>
-+#include <dm/test.h>
-+#include "../../drivers/firmware/arm-ffa/sandbox_arm_ffa_prv.h"
-+#include <sandbox_arm_ffa.h>
-+#include <test/test.h>
-+#include <test/ut.h>
-+
-+/* Macros */
-+
-+#define LOG_MSG_SZ (100)
-+#define LOG_CMD_SZ (LOG_MSG_SZ * 2)
-+
-+/* Functional tests for the UCLASS_FFA */
-+
-+static int dm_test_ffa_log(struct unit_test_state *uts, char *msg)
-+{
-+	char cmd[LOG_CMD_SZ] = {0};
-+
-+	console_record_reset();
-+
-+	snprintf(cmd, LOG_CMD_SZ, "echo \"%s\"", msg);
-+	run_command(cmd, 0);
-+
-+	ut_assert_console_end();
-+
-+	return CMD_RET_SUCCESS;
-+}
-+
-+static int check_fwk_version(struct ffa_prvdata *prvdata, struct sandbox_ffa_prvdata *sdx_prvdata,
-+			     struct unit_test_state *uts)
-+{
-+	if (prvdata->fwk_version != sdx_prvdata->fwk_version) {
-+		char msg[LOG_MSG_SZ] = {0};
-+
-+		snprintf(msg, LOG_MSG_SZ,
-+			 "[%s]: Error: framework version: core = 0x%x , sandbox  = 0x%x", __func__,
-+			 prvdata->fwk_version,
-+			sdx_prvdata->fwk_version);
-+
-+		dm_test_ffa_log(uts, msg);
-+		return CMD_RET_FAILURE;
-+	}
-+	return CMD_RET_SUCCESS;
-+}
-+
-+static int check_endpoint_id(struct ffa_prvdata *prvdata, struct unit_test_state *uts)
-+{
-+	if (prvdata->id) {
-+		char msg[LOG_MSG_SZ] = {0};
-+
-+		snprintf(msg, LOG_MSG_SZ,
-+			 "[%s]: Error: endpoint id: core = 0x%x", __func__, prvdata->id);
-+		dm_test_ffa_log(uts, msg);
-+		return CMD_RET_FAILURE;
-+	}
-+	return CMD_RET_SUCCESS;
-+}
-+
-+static int check_core_dev(struct ffa_prvdata *prvdata, struct unit_test_state *uts)
-+{
-+	if (!prvdata->dev) {
-+		char msg[LOG_MSG_SZ] = {0};
-+
-+		snprintf(msg, LOG_MSG_SZ, "[%s]: Error: core device NULL", __func__);
-+		dm_test_ffa_log(uts, msg);
-+		return CMD_RET_FAILURE;
-+	}
-+	return CMD_RET_SUCCESS;
-+}
-+
-+static int check_sandbox_dev(struct sandbox_ffa_prvdata *sdx_prvdata, struct unit_test_state *uts)
-+{
-+	if (!sdx_prvdata->dev) {
-+		char msg[LOG_MSG_SZ] = {0};
-+
-+		snprintf(msg, LOG_MSG_SZ, "[%s]: Error: sandbox device NULL", __func__);
-+		dm_test_ffa_log(uts, msg);
-+		return CMD_RET_FAILURE;
-+	}
-+	return CMD_RET_SUCCESS;
-+}
-+
-+static int check_rxtxbuf(struct ffa_prvdata *prvdata, struct unit_test_state *uts)
-+{
-+	if (!prvdata->pair.rxbuf && prvdata->pair.txbuf) {
-+		char msg[LOG_MSG_SZ] = {0};
-+
-+		snprintf(msg, LOG_MSG_SZ, "[%s]: Error: rxbuf = 0x%llx txbuf = 0x%llx", __func__,
-+			 prvdata->pair.rxbuf,
-+			 prvdata->pair.txbuf);
-+		dm_test_ffa_log(uts, msg);
-+		return CMD_RET_FAILURE;
-+	}
-+	return CMD_RET_SUCCESS;
-+}
-+
-+static int check_features(struct ffa_prvdata *prvdata, struct unit_test_state *uts)
-+{
-+	char msg[LOG_MSG_SZ] = {0};
-+
-+	if (prvdata->pair.rxtx_min_pages != RXTX_4K &&
-+	    prvdata->pair.rxtx_min_pages != RXTX_16K &&
-+	    prvdata->pair.rxtx_min_pages != RXTX_64K) {
-+		snprintf(msg,
-+			 LOG_MSG_SZ,
-+			 "[%s]: Error: FFA_RXTX_MAP features = 0x%lx",
-+			 __func__,
-+			 prvdata->pair.rxtx_min_pages);
-+		dm_test_ffa_log(uts, msg);
-+		return CMD_RET_FAILURE;
-+	}
-+
-+	return CMD_RET_SUCCESS;
-+}
-+
-+static int check_rxbuf_mapped_flag(u32 queried_func_id,
-+				   u8 rxbuf_mapped,
-+				   struct unit_test_state *uts)
-+{
-+	char msg[LOG_MSG_SZ] = {0};
-+
-+	switch (queried_func_id) {
-+	case FFA_RXTX_MAP:
-+	{
-+		if (rxbuf_mapped)
-+			return CMD_RET_SUCCESS;
-+		break;
-+	}
-+	case FFA_RXTX_UNMAP:
-+	{
-+		if (!rxbuf_mapped)
-+			return CMD_RET_SUCCESS;
-+		break;
-+	}
-+	default:
-+		return CMD_RET_FAILURE;
-+	}
-+
-+	snprintf(msg, LOG_MSG_SZ, "[%s]: Error: %s mapping issue", __func__,
-+		 (queried_func_id == FFA_RXTX_MAP ? "FFA_RXTX_MAP" : "FFA_RXTX_UNMAP"));
-+	dm_test_ffa_log(uts, msg);
-+
-+	return CMD_RET_FAILURE;
-+}
-+
-+static int check_rxbuf_release_flag(u8 rxbuf_owned, struct unit_test_state *uts)
-+{
-+	if (rxbuf_owned) {
-+		char msg[LOG_MSG_SZ] = {0};
-+
-+		snprintf(msg, LOG_MSG_SZ, "[%s]: Error: RX buffer not released", __func__);
-+		dm_test_ffa_log(uts, msg);
-+		return CMD_RET_FAILURE;
-+	}
-+	return CMD_RET_SUCCESS;
-+}
-+
-+static int  test_ffa_msg_send_direct_req(u16 part_id, struct unit_test_state *uts)
-+{
-+	struct ffa_send_direct_data msg = {0};
-+	u8 cnt;
-+
-+	ut_assertok(ffa_bus_ops_get()->sync_send_receive(NULL, part_id, &msg, 1));
-+
-+	for (cnt = 0; cnt < sizeof(struct ffa_send_direct_data) / sizeof(u64); cnt++)
-+		ut_assertok(((u64 *)&msg)[cnt] != 0xffffffffffffffff);
-+
-+	return CMD_RET_SUCCESS;
-+}
-+
-+static int test_partitions_and_comms(const char *service_uuid,
-+				     struct sandbox_ffa_prvdata *sdx_prvdata,
-+				     struct unit_test_state *uts)
-+{
-+	u32 count = 0;
-+	struct ffa_partition_info *parts_info;
-+	u32 info_idx, exp_info_idx;
-+	int ret;
-+
-+	/*
-+	 * get from the driver the count of the SPs matching the UUID
-+	 */
-+	ret = ffa_bus_ops_get()->partition_info_get(NULL, service_uuid, &count, NULL);
-+	/* make sure partitions are detected */
-+	ut_assertok(ret != 0);
-+	ut_assertok(count != SANDBOX_SP_COUNT_PER_VALID_SERVICE);
-+
-+	/*
-+	 * pre-allocate a buffer to be filled by the driver
-+	 * with	 ffa_partition_info structs
-+	 */
-+
-+	parts_info = calloc(count, sizeof(struct ffa_partition_info));
-+	ut_assertok(!parts_info);
-+
-+	/*
-+	 * ask the driver to fill the buffer with the SPs info
-+	 */
-+	ret = ffa_bus_ops_get()->partition_info_get(NULL, service_uuid, &count, parts_info);
-+	if (ret != 0) {
-+		free(parts_info);
-+		ut_assertok(ret != 0);
-+	}
-+
-+	/*
-+	 * SPs found , verify the partitions information
-+	 */
-+
-+	ret = CMD_RET_FAILURE;
-+
-+	for (info_idx = 0; info_idx < count ; info_idx++) {
-+		for (exp_info_idx = 0;
-+		     exp_info_idx < sdx_prvdata->partitions.count;
-+		     exp_info_idx++) {
-+			if (parts_info[info_idx].id ==
-+			   sdx_prvdata->partitions.descs[exp_info_idx].info.id) {
-+				ret = memcmp(&parts_info[info_idx],
-+					     &sdx_prvdata->partitions.descs[exp_info_idx]
-+					     .info,
-+					     sizeof(struct ffa_partition_info));
-+				if (ret)
-+					free(parts_info);
-+				ut_assertok(ret != 0);
-+				/* send and receive data from the current partition */
-+				test_ffa_msg_send_direct_req(parts_info[info_idx].id, uts);
-+			}
-+			ret = CMD_RET_SUCCESS;
-+		}
-+	}
-+
-+	free(parts_info);
-+
-+	/* Verify  expected partitions found in the emulated secure world*/
-+	ut_assertok(ret != CMD_RET_SUCCESS);
-+
-+	return CMD_RET_SUCCESS;
-+}
-+
-+static int dm_test_ffa_ack(struct unit_test_state *uts)
-+{
-+	struct ffa_prvdata *prvdata = NULL;
-+	struct sandbox_ffa_prvdata *sdx_prvdata = NULL;
-+	struct ffa_sandbox_data func_data = {0};
-+	u8 rxbuf_flag = 0;
-+	const char *svc1_uuid = SANDBOX_SERVICE1_UUID;
-+	const char *svc2_uuid = SANDBOX_SERVICE2_UUID;
-+	int ret;
-+
-+	/*  test probing FF-A devices */
-+	ut_assertok(ffa_bus_discover(NULL));
-+
-+	/* get a pointer to the FF-A core and sandbox drivers private data */
-+	func_data.data0 = &prvdata;
-+	func_data.data0_size = sizeof(prvdata);
-+	func_data.data1 = &sdx_prvdata;
-+	func_data.data1_size = sizeof(sdx_prvdata);
-+
-+	ut_assertok(sandbox_ffa_query_core_state(FFA_VERSION, &func_data));
-+
-+	/* make sure private data pointers are retrieved */
-+	ut_assertok(prvdata == 0);
-+	ut_assertok(sdx_prvdata == 0);
-+
-+	/* make sure dev devices created */
-+	ut_assertok(check_core_dev(prvdata, uts));
-+	ut_assertok(check_sandbox_dev(sdx_prvdata, uts));
-+
-+	/* test FFA_VERSION */
-+	ut_assertok(check_fwk_version(prvdata, sdx_prvdata, uts));
-+
-+	/* test FFA_ID_GET */
-+	ut_assertok(check_endpoint_id(prvdata, uts));
-+
-+	/* test FFA_FEATURES */
-+	ut_assertok(check_features(prvdata, uts));
-+
-+	/*  test core RX/TX buffers */
-+	ut_assertok(check_rxtxbuf(prvdata, uts));
-+
-+	/* test FFA_RXTX_MAP */
-+	func_data.data0 = &rxbuf_flag;
-+	func_data.data0_size = sizeof(rxbuf_flag);
-+
-+	rxbuf_flag = 0;
-+	ut_assertok(sandbox_ffa_query_core_state(FFA_RXTX_MAP, &func_data));
-+	ut_assertok(check_rxbuf_mapped_flag(FFA_RXTX_MAP, rxbuf_flag, uts));
-+
-+	/* FFA_PARTITION_INFO_GET / FFA_MSG_SEND_DIRECT_REQ */
-+	ret = test_partitions_and_comms(svc1_uuid, sdx_prvdata, uts);
-+	ut_assertok(ret != CMD_RET_SUCCESS);
-+
-+	/* test FFA_RX_RELEASE */
-+	rxbuf_flag = 1;
-+	ut_assertok(sandbox_ffa_query_core_state(FFA_RX_RELEASE, &func_data));
-+	ut_assertok(check_rxbuf_release_flag(rxbuf_flag, uts));
-+
-+	/* FFA_PARTITION_INFO_GET / FFA_MSG_SEND_DIRECT_REQ */
-+	ret = test_partitions_and_comms(svc2_uuid, sdx_prvdata, uts);
-+	ut_assertok(ret != CMD_RET_SUCCESS);
-+
-+	/* test FFA_RX_RELEASE */
-+	rxbuf_flag = 1;
-+	ut_assertok(sandbox_ffa_query_core_state(FFA_RX_RELEASE, &func_data));
-+	ut_assertok(check_rxbuf_release_flag(rxbuf_flag, uts));
-+
-+	/* test FFA_RXTX_UNMAP */
-+	ut_assertok(ffa_bus_ops_get()->rxtx_unmap(NULL));
-+
-+	rxbuf_flag = 1;
-+	ut_assertok(sandbox_ffa_query_core_state(FFA_RXTX_UNMAP, &func_data));
-+	ut_assertok(check_rxbuf_mapped_flag(FFA_RXTX_UNMAP, rxbuf_flag, uts));
-+
-+	return CMD_RET_SUCCESS;
-+}
-+
-+DM_TEST(dm_test_ffa_ack, UT_TESTF_SCAN_FDT | UT_TESTF_CONSOLE_REC);
-+
-+static int dm_test_ffa_nack(struct unit_test_state *uts)
-+{
-+	struct ffa_prvdata *prvdata = NULL;
-+	struct sandbox_ffa_prvdata *sdx_prvdata = NULL;
-+	struct ffa_sandbox_data func_data = {0};
-+	const char *valid_svc_uuid = SANDBOX_SERVICE1_UUID;
-+	const char *unvalid_svc_uuid = SANDBOX_SERVICE3_UUID;
-+	const char *unvalid_svc_uuid_str = SANDBOX_SERVICE4_UUID;
-+	struct ffa_send_direct_data msg = {0};
-+	int ret;
-+	u32 count = 0;
-+	u16 part_id = 0;
-+
-+	/*  test probing FF-A devices */
-+	ut_assertok(ffa_bus_discover(NULL));
-+
-+	/* get a pointer to the FF-A core and sandbox drivers private data */
-+	func_data.data0 = &prvdata;
-+	func_data.data0_size = sizeof(prvdata);
-+	func_data.data1 = &sdx_prvdata;
-+	func_data.data1_size = sizeof(sdx_prvdata);
-+
-+	ut_assertok(sandbox_ffa_query_core_state(FFA_VERSION, &func_data));
-+
-+	/* make sure private data pointers are retrieved */
-+	ut_assertok(prvdata == 0);
-+	ut_assertok(sdx_prvdata == 0);
-+
-+	/* make sure dev devices created */
-+	ut_assertok(check_core_dev(prvdata, uts));
-+	ut_assertok(check_sandbox_dev(sdx_prvdata, uts));
-+
-+	/* query partitions count using  invalid arguments  */
-+	ret = ffa_bus_ops_get()->partition_info_get(NULL, unvalid_svc_uuid, NULL, NULL);
-+	ut_assertok(ret != -EINVAL);
-+
-+	/* query partitions count using an invalid UUID  string */
-+	ret = ffa_bus_ops_get()->partition_info_get(NULL, unvalid_svc_uuid_str, &count, NULL);
-+	ut_assertok(ret != -EINVAL);
-+
-+	/* query partitions count using an invalid UUID (no matching SP) */
-+	count = 0;
-+	ret = ffa_bus_ops_get()->partition_info_get(NULL, unvalid_svc_uuid, &count, NULL);
-+	ut_assertok(count != 0);
-+
-+	/* query partitions count using a valid UUID  */
-+	count = 0;
-+	ret = ffa_bus_ops_get()->partition_info_get(NULL, valid_svc_uuid, &count, NULL);
-+	/* make sure partitions are detected */
-+	ut_assertok(ret != 0);
-+	ut_assertok(count != SANDBOX_SP_COUNT_PER_VALID_SERVICE);
-+
-+	/* send data to an invalid partition */
-+	ret = ffa_bus_ops_get()->sync_send_receive(NULL, part_id, &msg, 1);
-+	ut_assertok(ret != -EINVAL);
-+
-+	/* send data to a valid partition */
-+	part_id = prvdata->partitions.descs[0].info.id;
-+	ret = ffa_bus_ops_get()->sync_send_receive(NULL, part_id, &msg, 1);
-+	ut_assertok(ret != 0);
-+
-+	return CMD_RET_SUCCESS;
-+}
-+
-+DM_TEST(dm_test_ffa_nack, UT_TESTF_SCAN_FDT | UT_TESTF_CONSOLE_REC);
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-FF-A-v15-arm_ffa-introduce-armffa-command-Sandbox-te.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-FF-A-v15-arm_ffa-introduce-armffa-command-Sandbox-te.patch
new file mode 100644
index 0000000..05b5e4d
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-FF-A-v15-arm_ffa-introduce-armffa-command-Sandbox-te.patch
@@ -0,0 +1,95 @@
+From 78547a9f322b981a93bbeeb48b3eda1d2ab35cd0 Mon Sep 17 00:00:00 2001
+From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Date: Fri, 23 Jun 2023 13:44:10 +0100
+Subject: [PATCH 08/33] FF-A v15: arm_ffa: introduce armffa command Sandbox
+ test
+
+Add Sandbox test for the armffa command
+
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
+Cc: Tom Rini <trini@konsulko.com>
+Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
+Cc: Jens Wiklander <jens.wiklander@linaro.org>
+Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20230713132847.176000-1-abdellatif.elkhlifi@arm.com/]
+---
+ MAINTAINERS       |  1 +
+ test/cmd/Makefile |  2 ++
+ test/cmd/armffa.c | 33 +++++++++++++++++++++++++++++++++
+ 3 files changed, 36 insertions(+)
+ create mode 100644 test/cmd/armffa.c
+
+diff --git a/MAINTAINERS b/MAINTAINERS
+index ccd7859c88..885d91fe5c 100644
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -276,6 +276,7 @@ F:	doc/arch/arm64.ffa.rst
+ F:	doc/usage/cmd/armffa.rst
+ F:	drivers/firmware/arm-ffa/
+ F:	include/arm_ffa.h
++F:	test/cmd/armffa.c
+ F:	test/dm/ffa.c
+ 
+ ARM FREESCALE IMX
+diff --git a/test/cmd/Makefile b/test/cmd/Makefile
+index 055adc65a2..1d1dbb4fbc 100644
+--- a/test/cmd/Makefile
++++ b/test/cmd/Makefile
+@@ -1,6 +1,7 @@
+ # SPDX-License-Identifier: GPL-2.0+
+ #
+ # Copyright (c) 2013 Google, Inc
++# Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
+ 
+ ifdef CONFIG_HUSH_PARSER
+ obj-$(CONFIG_CONSOLE_RECORD) += test_echo.o
+@@ -23,6 +24,7 @@ obj-$(CONFIG_CMD_SEAMA) += seama.o
+ ifdef CONFIG_SANDBOX
+ obj-$(CONFIG_CMD_READ) += rw.o
+ obj-$(CONFIG_CMD_SETEXPR) += setexpr.o
++obj-$(CONFIG_ARM_FFA_TRANSPORT) += armffa.o
+ endif
+ obj-$(CONFIG_CMD_TEMPERATURE) += temperature.o
+ obj-$(CONFIG_CMD_WGET) += wget.o
+diff --git a/test/cmd/armffa.c b/test/cmd/armffa.c
+new file mode 100644
+index 0000000000..9a44a397e8
+--- /dev/null
++++ b/test/cmd/armffa.c
+@@ -0,0 +1,33 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Test for armffa command
++ *
++ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ * Authors:
++ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
++ */
++
++#include <common.h>
++#include <string.h>
++#include <asm/sandbox_arm_ffa.h>
++#include <dm/test.h>
++#include <test/test.h>
++#include <test/ut.h>
++
++/* Basic test of 'armffa' command */
++static int dm_test_armffa_cmd(struct unit_test_state *uts)
++{
++	/* armffa getpart <UUID> */
++	ut_assertok(run_command("armffa getpart " SANDBOX_SERVICE1_UUID, 0));
++
++	/* armffa ping <ID> */
++	ut_assertok(run_commandf("armffa ping 0x%x", SANDBOX_SP1_ID));
++
++	/* armffa devlist */
++	ut_assertok(run_command("armffa devlist", 0));
++
++	return 0;
++}
++
++DM_TEST(dm_test_armffa_cmd, UT_TESTF_SCAN_FDT | UT_TESTF_CONSOLE_REC);
+-- 
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-arm_ffa-introduce-armffa-command-Sandbox-test.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-arm_ffa-introduce-armffa-command-Sandbox-test.patch
deleted file mode 100644
index d584282..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-arm_ffa-introduce-armffa-command-Sandbox-test.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From 5af272d2bb2a7a8c8a4732c8d598dd1713856949 Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Tue, 29 Nov 2022 14:48:34 +0000
-Subject: [PATCH 08/42] arm_ffa: introduce armffa command Sandbox test
-
-Add Sandbox test for the armffa command
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Cc: Tom Rini <trini@konsulko.com>
-Cc: Simon Glass <sjg@chromium.org>
-Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
-Cc: Jens Wiklander <jens.wiklander@linaro.org>
-Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20221122131751.22747-1-abdellatif.elkhlifi@arm.com/]
-
-Changelog:
-===============
-
-v4: drop use of helper APIs
-
-v1: introduce armffa command sandbox test
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- MAINTAINERS       |  1 +
- test/cmd/Makefile |  2 ++
- test/cmd/armffa.c | 39 +++++++++++++++++++++++++++++++++++++++
- 3 files changed, 42 insertions(+)
- create mode 100644 test/cmd/armffa.c
-
-diff --git a/MAINTAINERS b/MAINTAINERS
-index c1d3d4ae1c..a2f60a3b93 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
-@@ -272,6 +272,7 @@ F:	doc/arch/arm64.ffa.rst
- F:	drivers/firmware/arm-ffa/
- F:	include/arm_ffa.h
- F:	include/sandbox_arm_ffa.h
-+F:	test/cmd/armffa.c
- F:	test/dm/ffa.c
- 
- ARM FREESCALE IMX
-diff --git a/test/cmd/Makefile b/test/cmd/Makefile
-index bc961df3dc..21aa6d740e 100644
---- a/test/cmd/Makefile
-+++ b/test/cmd/Makefile
-@@ -1,6 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0+
- #
- # Copyright (c) 2013 Google, Inc
-+# (C) Copyright 2022 ARM Limited
- 
- ifdef CONFIG_HUSH_PARSER
- obj-$(CONFIG_CONSOLE_RECORD) += test_echo.o
-@@ -18,6 +19,7 @@ obj-$(CONFIG_CMD_PINMUX) += pinmux.o
- obj-$(CONFIG_CMD_PWM) += pwm.o
- ifdef CONFIG_SANDBOX
- obj-$(CONFIG_CMD_SETEXPR) += setexpr.o
-+obj-$(CONFIG_SANDBOX_FFA) += armffa.o
- endif
- obj-$(CONFIG_CMD_TEMPERATURE) += temperature.o
- obj-$(CONFIG_CMD_WGET) += wget.o
-diff --git a/test/cmd/armffa.c b/test/cmd/armffa.c
-new file mode 100644
-index 0000000000..e04363ba63
---- /dev/null
-+++ b/test/cmd/armffa.c
-@@ -0,0 +1,39 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Test for armffa command
-+ *
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#include <common.h>
-+#include <dm/test.h>
-+#include <sandbox_arm_ffa.h>
-+#include <string.h>
-+#include <test/test.h>
-+#include <test/ut.h>
-+
-+#define PING_CMD_SIZE 19
-+
-+/* Basic test of 'armffa' command */
-+static int dm_test_armffa_cmd(struct unit_test_state *uts)
-+{
-+	char ping_cmd[PING_CMD_SIZE] = {0};
-+
-+	ut_assertok(ffa_bus_discover(NULL));
-+
-+	/* armffa getpart <UUID> */
-+	ut_assertok(run_command("armffa getpart " SANDBOX_SERVICE1_UUID, 0));
-+
-+	snprintf(ping_cmd, PING_CMD_SIZE, "armffa ping 0x%x", SANDBOX_SP1_ID);
-+
-+	/* armffa ping <ID> */
-+	ut_assertok(run_command(ping_cmd, 0));
-+
-+	/* armffa devlist */
-+	ut_assertok(run_command("armffa devlist", 0));
-+
-+	return CMD_RET_SUCCESS;
-+}
-+
-+DM_TEST(dm_test_armffa_cmd, UT_TESTF_SCAN_FDT | UT_TESTF_CONSOLE_REC);
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-FF-A-v15-arm_ffa-efi-introduce-FF-A-MM-communication.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-FF-A-v15-arm_ffa-efi-introduce-FF-A-MM-communication.patch
new file mode 100644
index 0000000..bd75bc1
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-FF-A-v15-arm_ffa-efi-introduce-FF-A-MM-communication.patch
@@ -0,0 +1,449 @@
+From 342844c2a5ad6beb127e1e8e52b311df77cff472 Mon Sep 17 00:00:00 2001
+From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Date: Mon, 15 Aug 2022 15:12:49 +0100
+Subject: [PATCH 09/33] FF-A v15: arm_ffa: efi: introduce FF-A MM communication
+
+Add MM communication support using FF-A transport
+
+This feature allows accessing MM partitions services through
+EFI MM communication protocol. MM partitions such as StandAlonneMM
+or smm-gateway secure partitions which reside in secure world.
+
+An MM shared buffer and a door bell event are used to exchange
+the data.
+
+The data is used by EFI services such as GetVariable()/SetVariable()
+and copied from the communication buffer to the MM shared buffer.
+
+The secure partition is notified about availability of data in the
+MM shared buffer by an FF-A message (door bell).
+
+On such event, MM SP can read the data and updates the MM shared
+buffer with the response data.
+
+The response data is copied back to the communication buffer and
+consumed by the EFI subsystem.
+
+MM communication protocol supports FF-A 64-bit direct messaging.
+
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Tested-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
+Cc: Tom Rini <trini@konsulko.com>
+Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
+Cc: Jens Wiklander <jens.wiklander@linaro.org>
+Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20230713132847.176000-1-abdellatif.elkhlifi@arm.com/]
+---
+ include/mm_communication.h        |  13 ++
+ lib/efi_loader/Kconfig            |  46 +++++-
+ lib/efi_loader/efi_variable_tee.c | 257 +++++++++++++++++++++++++++++-
+ 3 files changed, 309 insertions(+), 7 deletions(-)
+
+diff --git a/include/mm_communication.h b/include/mm_communication.h
+index e65fbde60d..f17847583b 100644
+--- a/include/mm_communication.h
++++ b/include/mm_communication.h
+@@ -6,6 +6,9 @@
+  *  Copyright (c) 2017, Intel Corporation. All rights reserved.
+  *  Copyright (C) 2020 Linaro Ltd. <sughosh.ganu@linaro.org>
+  *  Copyright (C) 2020 Linaro Ltd. <ilias.apalodimas@linaro.org>
++ *  Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *    Authors:
++ *      Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+  */
+ 
+ #ifndef _MM_COMMUNICATION_H_
+@@ -13,6 +16,9 @@
+ 
+ #include <part_efi.h>
+ 
++/* MM service UUID string (big-endian format). This UUID is  common across all MM SPs */
++#define MM_SP_UUID	"33d532ed-e699-0942-c09c-a798d9cd722d"
++
+ /*
+  * Interface to the pseudo Trusted Application (TA), which provides a
+  * communication channel with the Standalone MM (Management Mode)
+@@ -248,4 +254,11 @@ struct smm_variable_var_check_property {
+ 	u16                       name[];
+ };
+ 
++/* supported MM transports */
++enum mm_comms_select {
++	MM_COMMS_UNDEFINED,
++	MM_COMMS_FFA,
++	MM_COMMS_OPTEE
++};
++
+ #endif /* _MM_COMMUNICATION_H_ */
+diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
+index c5835e6ef6..553e6a30a2 100644
+--- a/lib/efi_loader/Kconfig
++++ b/lib/efi_loader/Kconfig
+@@ -55,13 +55,55 @@ config EFI_VARIABLE_FILE_STORE
+ 	  stored as file /ubootefi.var on the EFI system partition.
+ 
+ config EFI_MM_COMM_TEE
+-	bool "UEFI variables storage service via OP-TEE"
+-	depends on OPTEE
++	bool "UEFI variables storage service via the trusted world"
++	select ARM_FFA_TRANSPORT
++	select TEE
++	select OPTEE
+ 	help
++	  Allowing access to the MM SP services (SPs such as  StandAlonneMM, smm-gateway).
++	  When using the u-boot OP-TEE driver, StandAlonneMM is supported.
++	  When using the u-boot FF-A  driver any MM SP is supported.
++
+ 	  If OP-TEE is present and running StandAloneMM, dispatch all UEFI
+ 	  variable related operations to that. The application will verify,
+ 	  authenticate and store the variables on an RPMB.
+ 
++	  When ARM_FFA_TRANSPORT is used, dispatch all UEFI variable related
++	  operations to the MM SP running in the secure world.
++	  A door bell mechanism is used to notify the SP when there is data in the shared
++	  MM buffer. The data is copied by u-boot to the shared buffer before issuing
++	  the door bell event.
++
++config FFA_SHARED_MM_BUF_SIZE
++	int "Memory size of the shared MM communication buffer"
++	default 0
++	depends on EFI_MM_COMM_TEE
++	help
++	  This defines the size in bytes of the memory area reserved for the shared
++	  buffer used for communication between the MM feature in U-Boot and
++	  the MM SP in secure world.
++	  The size of the memory region must be a multiple of the size of the maximum
++	  translation granule size that is specified in the ID_AA64MMFR0_EL1 System register.
++	  It is assumed that the MM SP knows the size of the shared MM communication buffer.
++
++config FFA_SHARED_MM_BUF_OFFSET
++	int "Data offset in the shared MM communication buffer"
++	default 0
++	depends on EFI_MM_COMM_TEE
++	help
++	  This defines the offset in bytes of the data read or written to in the shared
++	  buffer by the MM SP.
++
++config FFA_SHARED_MM_BUF_ADDR
++	hex "Define the address of the shared MM communication buffer"
++	default 0x0
++	depends on EFI_MM_COMM_TEE
++	help
++	  This defines the address of the shared MM communication buffer
++	  used for communication between the MM feature in U-Boot and
++	  the MM SP in secure world.
++	  It is assumed that the MM SP knows the address of the shared MM communication buffer.
++
+ 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 dfef18435d..5137b871ea 100644
+--- a/lib/efi_loader/efi_variable_tee.c
++++ b/lib/efi_loader/efi_variable_tee.c
+@@ -4,17 +4,34 @@
+  *
+  *  Copyright (C) 2019 Linaro Ltd. <sughosh.ganu@linaro.org>
+  *  Copyright (C) 2019 Linaro Ltd. <ilias.apalodimas@linaro.org>
++ *  Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
++ *
++ *  Authors:
++ *    Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+  */
+ 
+ #include <common.h>
++#include <arm_ffa.h>
++#include <cpu_func.h>
++#include <dm.h>
+ #include <efi.h>
+ #include <efi_api.h>
+ #include <efi_loader.h>
+ #include <efi_variable.h>
+-#include <tee.h>
+ #include <malloc.h>
++#include <mapmem.h>
+ #include <mm_communication.h>
++#include <tee.h>
++
++/* MM return codes */
++#define MM_SUCCESS (0)
++#define MM_NOT_SUPPORTED (-1)
++#define MM_INVALID_PARAMETER (-2)
++#define MM_DENIED (-3)
++#define MM_NO_MEMORY (-5)
+ 
++static const char *mm_sp_svc_uuid = MM_SP_UUID;
++static u16 mm_sp_id;
+ extern struct efi_var_file __efi_runtime_data *efi_var_buf;
+ static efi_uintn_t max_buffer_size;	/* comm + var + func + data */
+ static efi_uintn_t max_payload_size;	/* func + data */
+@@ -145,16 +162,241 @@ static efi_status_t optee_mm_communicate(void *comm_buf, ulong dsize)
+ }
+ 
+ /**
+- * mm_communicate() - Adjust the cmonnucation buffer to StandAlonneMM and send
++ * ffa_notify_mm_sp() - Announce there is data in the shared buffer
++ *
++ * Notify the MM partition in the trusted world that
++ * data is available in the shared buffer.
++ * This is a blocking call during which trusted world has exclusive access
++ * to the MM shared buffer.
++ *
++ * Return:
++ *
++ * 0 on success
++ */
++static int ffa_notify_mm_sp(void)
++{
++	struct ffa_send_direct_data msg = {0};
++	int ret;
++	int sp_event_ret;
++	struct udevice *dev;
++
++	ret = uclass_first_device_err(UCLASS_FFA, &dev);
++	if (ret) {
++		log_err("EFI: Cannot find FF-A bus device, notify MM SP failure\n");
++		return ret;
++	}
++
++	msg.data0 = CONFIG_FFA_SHARED_MM_BUF_OFFSET; /* x3 */
++
++	ret = ffa_sync_send_receive(dev, mm_sp_id, &msg, 1);
++	if (ret)
++		return ret;
++
++	sp_event_ret = msg.data0; /* x3 */
++
++	switch (sp_event_ret) {
++	case MM_SUCCESS:
++		ret = 0;
++		break;
++	case MM_NOT_SUPPORTED:
++		ret = -EINVAL;
++		break;
++	case MM_INVALID_PARAMETER:
++		ret = -EPERM;
++		break;
++	case MM_DENIED:
++		ret = -EACCES;
++		break;
++	case MM_NO_MEMORY:
++		ret = -EBUSY;
++		break;
++	default:
++		ret = -EACCES;
++	}
++
++	return ret;
++}
++
++/**
++ * ffa_discover_mm_sp_id() - Query the MM partition ID
++ *
++ * Use the FF-A driver to get the MM partition ID.
++ * If multiple partitions are found, use the first one.
++ * This is a boot time function.
++ *
++ * Return:
++ *
++ * 0 on success
++ */
++static int ffa_discover_mm_sp_id(void)
++{
++	u32 count = 0;
++	int ret;
++	struct ffa_partition_desc *descs;
++	struct udevice *dev;
++
++	ret = uclass_first_device_err(UCLASS_FFA, &dev);
++	if (ret) {
++		log_err("EFI: Cannot find FF-A bus device, MM SP discovery failure\n");
++		return ret;
++	}
++
++	/* Ask the driver to fill the buffer with the SPs info */
++	ret = ffa_partition_info_get(dev, mm_sp_svc_uuid, &count, &descs);
++	if (ret) {
++		log_err("EFI: Failure in querying SPs info (%d), MM SP discovery failure\n", ret);
++		return ret;
++	}
++
++	/* MM SPs found , use the first one */
++
++	mm_sp_id = descs[0].info.id;
++
++	log_info("EFI: MM partition ID 0x%x\n", mm_sp_id);
++
++	return 0;
++}
++
++/**
++ * ffa_mm_communicate() - Exchange EFI services data with  the MM partition using FF-A
++ * @comm_buf:		locally allocated communication buffer used for rx/tx
++ * @dsize:				communication buffer size
++ *
++ * Issue a door bell event to notify the MM partition (SP) running in OP-TEE
++ * that there is data to read from the shared buffer.
++ * Communication with the MM SP is performed using FF-A transport.
++ * On the event, MM SP can read the data from the buffer and
++ * update the MM shared buffer with response data.
++ * The response data is copied back to the communication buffer.
++ *
++ * Return:
++ *
++ * EFI status code
++ */
++static efi_status_t ffa_mm_communicate(void *comm_buf, ulong comm_buf_size)
++{
++	ulong tx_data_size;
++	int ffa_ret;
++	efi_status_t efi_ret;
++	struct efi_mm_communicate_header *mm_hdr;
++	void *virt_shared_buf;
++
++	if (!comm_buf)
++		return EFI_INVALID_PARAMETER;
++
++	/* Discover MM partition ID at boot time */
++	if (!mm_sp_id && ffa_discover_mm_sp_id()) {
++		log_err("EFI: Failure to discover MM SP ID at boot time, FF-A MM comms failure\n");
++		return EFI_UNSUPPORTED;
++	}
++
++	mm_hdr = (struct efi_mm_communicate_header *)comm_buf;
++	tx_data_size = mm_hdr->message_len + sizeof(efi_guid_t) + sizeof(size_t);
++
++	if (comm_buf_size != tx_data_size || tx_data_size > CONFIG_FFA_SHARED_MM_BUF_SIZE)
++		return EFI_INVALID_PARAMETER;
++
++	/* Copy the data to the shared buffer */
++
++	virt_shared_buf = map_sysmem((phys_addr_t)CONFIG_FFA_SHARED_MM_BUF_ADDR, 0);
++	memcpy(virt_shared_buf, comm_buf, tx_data_size);
++
++	/*
++	 * The secure world might have cache disabled for
++	 * the device region used for shared buffer (which is the case for Optee).
++	 * In this case, the secure world reads the data from DRAM.
++	 * Let's flush the cache so the DRAM is updated with the latest data.
++	 */
++#ifdef CONFIG_ARM64
++	invalidate_dcache_all();
++#endif
++
++	/* Announce there is data in the shared buffer */
++
++	ffa_ret = ffa_notify_mm_sp();
++
++	switch (ffa_ret) {
++	case 0: {
++		ulong rx_data_size;
++		/* Copy the MM SP response from the shared buffer to the communication buffer */
++		rx_data_size = ((struct efi_mm_communicate_header *)virt_shared_buf)->message_len +
++			sizeof(efi_guid_t) +
++			sizeof(size_t);
++
++		if (rx_data_size > comm_buf_size) {
++			efi_ret = EFI_OUT_OF_RESOURCES;
++			break;
++		}
++
++		memcpy(comm_buf, virt_shared_buf, rx_data_size);
++		efi_ret = EFI_SUCCESS;
++		break;
++	}
++	case -EINVAL:
++		efi_ret = EFI_DEVICE_ERROR;
++		break;
++	case -EPERM:
++		efi_ret = EFI_INVALID_PARAMETER;
++		break;
++	case -EACCES:
++		efi_ret = EFI_ACCESS_DENIED;
++		break;
++	case -EBUSY:
++		efi_ret = EFI_OUT_OF_RESOURCES;
++		break;
++	default:
++		efi_ret = EFI_ACCESS_DENIED;
++	}
++
++	unmap_sysmem(virt_shared_buf);
++	return efi_ret;
++}
++
++/**
++ * get_mm_comms() - detect the available MM transport
++ *
++ * Make sure the FF-A bus is probed successfully
++ * which means FF-A communication with secure world works and ready
++ * for use.
++ *
++ * If FF-A bus is not ready, use OPTEE comms.
++ *
++ * Return:
++ *
++ * MM_COMMS_FFA or MM_COMMS_OPTEE
++ */
++static enum mm_comms_select get_mm_comms(void)
++{
++	struct udevice *dev;
++	int ret;
++
++	ret = uclass_first_device_err(UCLASS_FFA, &dev);
++	if (ret) {
++		log_err("EFI: Cannot find FF-A bus device, trying Optee comms\n");
++		return MM_COMMS_OPTEE;
++	}
++
++	return MM_COMMS_FFA;
++}
++
++/**
++ * mm_communicate() - Adjust the communication buffer to the MM SP and send
+  * it to OP-TEE
+  *
+- * @comm_buf:		locally allocted communcation buffer
++ * @comm_buf:		locally allocated communication buffer
+  * @dsize:		buffer size
++ *
++ * The SP (also called partition) can be any MM SP such as  StandAlonneMM or smm-gateway.
++ * The comm_buf format is the same for both partitions.
++ * When using the u-boot OP-TEE driver, StandAlonneMM is supported.
++ * When using the u-boot FF-A  driver, any MM SP is supported.
++ *
+  * Return:		status code
+  */
+ static efi_status_t mm_communicate(u8 *comm_buf, efi_uintn_t dsize)
+ {
+ 	efi_status_t ret;
++	enum mm_comms_select mm_comms;
+ 	struct efi_mm_communicate_header *mm_hdr;
+ 	struct smm_variable_communicate_header *var_hdr;
+ 
+@@ -162,7 +404,12 @@ static efi_status_t mm_communicate(u8 *comm_buf, efi_uintn_t dsize)
+ 	mm_hdr = (struct efi_mm_communicate_header *)comm_buf;
+ 	var_hdr = (struct smm_variable_communicate_header *)mm_hdr->data;
+ 
+-	ret = optee_mm_communicate(comm_buf, dsize);
++	mm_comms = get_mm_comms();
++	if (mm_comms == MM_COMMS_FFA)
++		ret = ffa_mm_communicate(comm_buf, dsize);
++	else
++		ret = optee_mm_communicate(comm_buf, dsize);
++
+ 	if (ret != EFI_SUCCESS) {
+ 		log_err("%s failed!\n", __func__);
+ 		return ret;
+@@ -697,7 +944,7 @@ void efi_variables_boot_exit_notify(void)
+ 		ret = EFI_NOT_FOUND;
+ 
+ 	if (ret != EFI_SUCCESS)
+-		log_err("Unable to notify StMM for ExitBootServices\n");
++		log_err("Unable to notify the MM partition for ExitBootServices\n");
+ 	free(comm_buf);
+ 
+ 	/*
+-- 
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-arm_ffa-efi-introduce-FF-A-MM-communication.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-arm_ffa-efi-introduce-FF-A-MM-communication.patch
deleted file mode 100644
index 574b7df..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-arm_ffa-efi-introduce-FF-A-MM-communication.patch
+++ /dev/null
@@ -1,500 +0,0 @@
-From ca1ae0e78ee3476090919459ec5d08187d5eefbc Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Mon, 15 Aug 2022 15:12:49 +0100
-Subject: [PATCH 09/42] arm_ffa: efi: introduce FF-A MM communication
-
-Add MM communication support using FF-A transport
-
-This feature allows accessing MM partitions services through
-EFI MM communication protocol. MM partitions such as StandAlonneMM
-or smm-gateway secure partitions which reside in secure world.
-
-An MM shared buffer and a door bell event are used to exchange
-the data.
-
-The data is used by EFI services such as GetVariable()/SetVariable()
-and copied from the communication buffer to the MM shared buffer.
-
-The secure partition is notified about availability of data in the
-MM shared buffer by an FF-A message (door bell).
-
-On such event, MM SP can read the data and updates the MM shared
-buffer with the response data.
-
-The response data is copied back to the communication buffer and
-consumed by the EFI subsystem.
-
-MM communication protocol supports FF-A 64-bit direct messaging.
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
-Cc: Tom Rini <trini@konsulko.com>
-Cc: Simon Glass <sjg@chromium.org>
-Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
-Cc: Jens Wiklander <jens.wiklander@linaro.org>
-Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20221122131751.22747-1-abdellatif.elkhlifi@arm.com/]
-
-Changelog:
-===============
-
-v8:
-
-* isolate the compilation choices between FF-A and OP-TEE
-* update partition_info_get() second argument to be an SP count
-* pass NULL device pointer to the FF-A bus discovery and operations
-
-v7:
-
-* set the MM door bell event to use 64-bit direct messaging
-* issue a compile time error when one of these macros are not found :
-  FFA_SHARED_MM_BUFFER_SIZE, FFA_SHARED_MM_BUFFER_OFFSET, FFA_SHARED_MM_BUFFER_ADDR
-* make mm_sp_svc_uuid static
-* replace EINVAL with ENOMEM in ffa_discover_mm_sp_id() when calloc() fails
-* improve use of unmap_sysmem() in ffa_mm_communicate()
-
-v6:
-
-* add FF-A runtime discovery at MM communication level
-* drop EFI runtime support for FF-A MM communication
-* revert the changes in include/mm_communication.h for
-  efi_mm_communicate_header and smm_variable_access structures
-
-v4:
-
-* use the new FF-A driver interfaces
-* discover MM partitions at runtime
-* copy FF-A driver private data to EFI runtime section at
-  ExitBootServices()
-* drop use of FFA_ERR_STAT_SUCCESS error code
-* replace EFI_BUFFER_TOO_SMALL with EFI_OUT_OF_RESOURCES
-  in ffa_mm_communicate(). No need for efi_memcpy_runtime() anymore
-* revert the error log in mm_communicate() in case of failure
-* remove packed attribute from efi_mm_communicate_header and
-  smm_variable_communicate_header
-
-v2:
-
-* set default values to 0 for FFA_SHARED_MM_BUFFER_SIZE, FFA_SHARED_MM_BUFFER_ADDR and MM_SP_UUID_DATA and add warnings
-
-v1:
-
-* introduce FF-A MM communication
-
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- include/mm_communication.h        |   5 +
- lib/efi_loader/Kconfig            |  14 +-
- lib/efi_loader/efi_variable_tee.c | 294 +++++++++++++++++++++++++++++-
- 3 files changed, 307 insertions(+), 6 deletions(-)
-
-diff --git a/include/mm_communication.h b/include/mm_communication.h
-index e65fbde60d..d409bed777 100644
---- a/include/mm_communication.h
-+++ b/include/mm_communication.h
-@@ -6,6 +6,8 @@
-  *  Copyright (c) 2017, Intel Corporation. All rights reserved.
-  *  Copyright (C) 2020 Linaro Ltd. <sughosh.ganu@linaro.org>
-  *  Copyright (C) 2020 Linaro Ltd. <ilias.apalodimas@linaro.org>
-+ * (C) Copyright 2022 ARM Limited
-+ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-  */
- 
- #ifndef _MM_COMMUNICATION_H_
-@@ -13,6 +15,9 @@
- 
- #include <part_efi.h>
- 
-+/* MM service UUID string (big-endian format). This UUID is  common across all MM SPs */
-+#define MM_SP_UUID	"33d532ed-e699-0942-c09c-a798d9cd722d"
-+
- /*
-  * Interface to the pseudo Trusted Application (TA), which provides a
-  * communication channel with the Standalone MM (Management Mode)
-diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
-index b498c72206..ca73908481 100644
---- a/lib/efi_loader/Kconfig
-+++ b/lib/efi_loader/Kconfig
-@@ -55,13 +55,23 @@ config EFI_VARIABLE_FILE_STORE
- 	  stored as file /ubootefi.var on the EFI system partition.
- 
- config EFI_MM_COMM_TEE
--	bool "UEFI variables storage service via OP-TEE"
--	depends on OPTEE
-+	bool "UEFI variables storage service via the trusted world"
-+	depends on OPTEE || ARM_FFA_TRANSPORT
- 	help
-+	  Allowing access to the MM SP services (SPs such as  StandAlonneMM, smm-gateway).
-+	  When using the u-boot OP-TEE driver, StandAlonneMM is supported.
-+	  When using the u-boot FF-A  driver any MM SP is supported.
-+
- 	  If OP-TEE is present and running StandAloneMM, dispatch all UEFI
- 	  variable related operations to that. The application will verify,
- 	  authenticate and store the variables on an RPMB.
- 
-+	  When ARM_FFA_TRANSPORT is used, dispatch all UEFI variable related
-+	  operations to the MM SP running in the secure world.
-+	  A door bell mechanism is used to notify the SP when there is data in the shared
-+	  MM buffer. The data is copied by u-boot to the shared buffer before issuing
-+	  the door bell event.
-+
- 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 dfef18435d..3933a24e8c 100644
---- a/lib/efi_loader/efi_variable_tee.c
-+++ b/lib/efi_loader/efi_variable_tee.c
-@@ -4,9 +4,12 @@
-  *
-  *  Copyright (C) 2019 Linaro Ltd. <sughosh.ganu@linaro.org>
-  *  Copyright (C) 2019 Linaro Ltd. <ilias.apalodimas@linaro.org>
-+ *  Copyright (C) 2022 ARM Limited
-+ *  Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-  */
- 
- #include <common.h>
-+#include <dm.h>
- #include <efi.h>
- #include <efi_api.h>
- #include <efi_loader.h>
-@@ -15,6 +18,36 @@
- #include <malloc.h>
- #include <mm_communication.h>
- 
-+#if (IS_ENABLED(CONFIG_ARM_FFA_TRANSPORT))
-+
-+#include <arm_ffa.h>
-+#include <cpu_func.h>
-+#include <mapmem.h>
-+
-+#ifndef FFA_SHARED_MM_BUFFER_SIZE
-+#error "FFA_SHARED_MM_BUFFER_SIZE must be defined in include/configs/<board>.h"
-+#define FFA_SHARED_MM_BUFFER_SIZE 0
-+#endif
-+
-+#ifndef FFA_SHARED_MM_BUFFER_OFFSET
-+#error "FFA_SHARED_MM_BUFFER_OFFSET must be defined in include/configs/<board>.h"
-+#define FFA_SHARED_MM_BUFFER_OFFSET 0
-+#endif
-+
-+#ifndef FFA_SHARED_MM_BUFFER_ADDR
-+#error "FFA_SHARED_MM_BUFFER_ADDR must be defined in include/configs/<board>.h"
-+#define FFA_SHARED_MM_BUFFER_ADDR 0
-+#endif
-+
-+/* MM return codes */
-+#define MM_SUCCESS (0)
-+
-+static const char *mm_sp_svc_uuid = MM_SP_UUID;
-+
-+static u16 mm_sp_id;
-+
-+#endif
-+
- extern struct efi_var_file __efi_runtime_data *efi_var_buf;
- static efi_uintn_t max_buffer_size;	/* comm + var + func + data */
- static efi_uintn_t max_payload_size;	/* func + data */
-@@ -24,6 +57,7 @@ struct mm_connection {
- 	u32 session;
- };
- 
-+#if (IS_ENABLED(CONFIG_OPTEE))
- /**
-  * get_connection() - Retrieve OP-TEE session for a specific UUID.
-  *
-@@ -143,13 +177,248 @@ static efi_status_t optee_mm_communicate(void *comm_buf, ulong dsize)
- 
- 	return ret;
- }
-+#endif
-+
-+#if (IS_ENABLED(CONFIG_ARM_FFA_TRANSPORT))
- 
- /**
-- * mm_communicate() - Adjust the cmonnucation buffer to StandAlonneMM and send
-+ * ffa_notify_mm_sp() - Announce there is data in the shared buffer
-+ *
-+ * Notifies the MM partition in the trusted world that
-+ * data is available in the shared buffer.
-+ * This is a blocking call during which trusted world has exclusive access
-+ * to the MM shared buffer.
-+ *
-+ * Return:
-+ *
-+ * 0 on success
-+ */
-+static int ffa_notify_mm_sp(void)
-+{
-+	struct ffa_send_direct_data msg = {0};
-+	int ret;
-+	int sp_event_ret = -1;
-+
-+	if (!ffa_bus_ops_get())
-+		return -EINVAL;
-+
-+	msg.data0 = FFA_SHARED_MM_BUFFER_OFFSET; /* x3 */
-+
-+	ret = ffa_bus_ops_get()->sync_send_receive(NULL, mm_sp_id, &msg, 1);
-+	if (ret != 0)
-+		return ret;
-+
-+	sp_event_ret = msg.data0; /* x3 */
-+
-+	if (sp_event_ret == MM_SUCCESS)
-+		return 0;
-+
-+	/*
-+	 * Failure to notify the MM SP
-+	 */
-+
-+	return -EACCES;
-+}
-+
-+/**
-+ * ffa_discover_mm_sp_id() - Query the MM partition ID
-+ *
-+ * Use the FF-A driver to get the MM partition ID.
-+ * If multiple partitions are found, use the first one.
-+ * This is a boot time function.
-+ *
-+ * Return:
-+ *
-+ * 0 on success
-+ */
-+static int ffa_discover_mm_sp_id(void)
-+{
-+	u32 count = 0;
-+	int ret;
-+	struct ffa_partition_info *parts_info;
-+
-+	if (!ffa_bus_ops_get())
-+		return -EINVAL;
-+
-+	/*
-+	 * get from the driver the count of the SPs matching the UUID
-+	 */
-+	ret = ffa_bus_ops_get()->partition_info_get(NULL, mm_sp_svc_uuid, &count, NULL);
-+	if (ret != 0) {
-+		log_err("EFI: Failure in querying partitions count (error code: %d)\n", ret);
-+		return ret;
-+	}
-+
-+	if (!count) {
-+		log_info("EFI: No MM partition found\n");
-+		return ret;
-+	}
-+
-+	/*
-+	 * pre-allocate a buffer to be filled by the driver
-+	 * with	 ffa_partition_info structs
-+	 */
-+
-+	log_info("EFI: Pre-allocating %d partition(s) info structures\n", count);
-+
-+	parts_info = calloc(count, sizeof(*parts_info));
-+	if (!parts_info)
-+		return -ENOMEM;
-+
-+	/*
-+	 * ask the driver to fill the
-+	 * buffer with the SPs info
-+	 */
-+	ret = ffa_bus_ops_get()->partition_info_get(NULL, mm_sp_svc_uuid, &count, parts_info);
-+	if (ret) {
-+		log_err("EFI: Failure in querying partition(s) info (error code: %d)\n", ret);
-+		free(parts_info);
-+		return ret;
-+	}
-+
-+	/*
-+	 * MM SPs found , use the first one
-+	 */
-+
-+	mm_sp_id = parts_info[0].id;
-+
-+	log_info("EFI: MM partition ID 0x%x\n", mm_sp_id);
-+
-+	free(parts_info);
-+
-+	return 0;
-+}
-+
-+/**
-+ * ffa_mm_communicate() - Exchange EFI services data with  the MM partition using FF-A
-+ * @comm_buf:		locally allocated communication buffer used for rx/tx
-+ * @dsize:				communication buffer size
-+ *
-+ * Issues a door bell event to notify the MM partition (SP) running in OP-TEE
-+ * that there is data to read from the shared buffer.
-+ * Communication with the MM SP is performed using FF-A transport.
-+ * On the event, MM SP can read the data from the buffer and
-+ * update the MM shared buffer with response data.
-+ * The response data is copied back to the communication buffer.
-+ *
-+ * Return:
-+ *
-+ * EFI status code
-+ */
-+static efi_status_t ffa_mm_communicate(void *comm_buf, ulong comm_buf_size)
-+{
-+	ulong tx_data_size;
-+	int ffa_ret;
-+	efi_status_t efi_ret;
-+	struct efi_mm_communicate_header *mm_hdr;
-+	void *virt_shared_buf;
-+
-+	if (!comm_buf)
-+		return EFI_INVALID_PARAMETER;
-+
-+	/* Discover MM partition ID at boot time */
-+	if (!mm_sp_id && ffa_discover_mm_sp_id()  != 0) {
-+		log_err("EFI: Failure to discover MM partition ID at boot time\n");
-+		return EFI_UNSUPPORTED;
-+	}
-+
-+	mm_hdr = (struct efi_mm_communicate_header *)comm_buf;
-+	tx_data_size = mm_hdr->message_len + sizeof(efi_guid_t) + sizeof(size_t);
-+
-+	if (comm_buf_size != tx_data_size || tx_data_size > FFA_SHARED_MM_BUFFER_SIZE)
-+		return EFI_INVALID_PARAMETER;
-+
-+	/* Copy the data to the shared buffer */
-+
-+	virt_shared_buf = (void *)map_sysmem((phys_addr_t)FFA_SHARED_MM_BUFFER_ADDR, 0);
-+	memcpy(virt_shared_buf, comm_buf, tx_data_size);
-+
-+	/*
-+	 * The secure world might have cache disabled for
-+	 * the device region used for shared buffer (which is the case for Optee).
-+	 * In this case, the secure world reads the data from DRAM.
-+	 * Let's flush the cache so the DRAM is updated with the latest data.
-+	 */
-+	#ifdef CONFIG_ARM64
-+	invalidate_dcache_all();
-+	#endif
-+
-+	/* Announce there is data in the shared buffer */
-+
-+	ffa_ret = ffa_notify_mm_sp();
-+
-+	switch (ffa_ret) {
-+	case 0:
-+	{
-+		ulong rx_data_size;
-+		/* Copy the MM SP response from the shared buffer to the communication buffer */
-+		rx_data_size = ((struct efi_mm_communicate_header *)virt_shared_buf)->message_len +
-+			sizeof(efi_guid_t) +
-+			sizeof(size_t);
-+
-+		if (rx_data_size > comm_buf_size) {
-+			efi_ret = EFI_OUT_OF_RESOURCES;
-+			break;
-+		}
-+
-+		memcpy(comm_buf, virt_shared_buf, rx_data_size);
-+		efi_ret = EFI_SUCCESS;
-+		break;
-+	}
-+	case -EINVAL:
-+		efi_ret = EFI_DEVICE_ERROR;
-+		break;
-+	case -EPERM:
-+		efi_ret = EFI_INVALID_PARAMETER;
-+		break;
-+	case -EACCES:
-+		efi_ret = EFI_ACCESS_DENIED;
-+		break;
-+	case -EBUSY:
-+		efi_ret = EFI_OUT_OF_RESOURCES;
-+		break;
-+	default:
-+		efi_ret = EFI_ACCESS_DENIED;
-+	}
-+
-+	unmap_sysmem(virt_shared_buf);
-+	return efi_ret;
-+}
-+#endif
-+
-+/**
-+ * select_ffa_mm_comms() - checks FF-A support availability
-+ *
-+ * Making sure FF-A is compiled in. If that's the case try to discover
-+ * the FF-A bus.
-+ *
-+ * Return:
-+ *
-+ * 0: FF-A ready for use. Otherwise, failure
-+ */
-+static efi_status_t select_ffa_mm_comms(void)
-+{
-+	efi_status_t ret = EFI_UNSUPPORTED;
-+#if (IS_ENABLED(CONFIG_ARM_FFA_TRANSPORT))
-+	ret = ffa_bus_discover(NULL);
-+	if (ret)
-+		ret = EFI_NOT_READY;
-+#endif
-+	return ret;
-+}
-+
-+/**
-+ * mm_communicate() - Adjust the communication buffer to the MM SP and send
-  * it to OP-TEE
-  *
-- * @comm_buf:		locally allocted communcation buffer
-+ * @comm_buf:		locally allocated communication buffer
-  * @dsize:		buffer size
-+ *
-+ * The SP (also called partition) can be any MM SP such as  StandAlonneMM or smm-gateway.
-+ * The comm_buf format is the same for both partitions.
-+ * When using the u-boot OP-TEE driver, StandAlonneMM is supported.
-+ * When using the u-boot FF-A  driver, any MM SP is supported.
-+ *
-  * Return:		status code
-  */
- static efi_status_t mm_communicate(u8 *comm_buf, efi_uintn_t dsize)
-@@ -162,7 +431,17 @@ static efi_status_t mm_communicate(u8 *comm_buf, efi_uintn_t dsize)
- 	mm_hdr = (struct efi_mm_communicate_header *)comm_buf;
- 	var_hdr = (struct smm_variable_communicate_header *)mm_hdr->data;
- 
--	ret = optee_mm_communicate(comm_buf, dsize);
-+	ret = select_ffa_mm_comms();
-+	if (ret != EFI_SUCCESS) {
-+#if (IS_ENABLED(CONFIG_OPTEE))
-+		ret = optee_mm_communicate(comm_buf, dsize);
-+#endif
-+	} else {
-+#if (IS_ENABLED(CONFIG_ARM_FFA_TRANSPORT))
-+		ret = ffa_mm_communicate(comm_buf, dsize);
-+#endif
-+	}
-+
- 	if (ret != EFI_SUCCESS) {
- 		log_err("%s failed!\n", __func__);
- 		return ret;
-@@ -258,6 +537,13 @@ efi_status_t EFIAPI get_max_payload(efi_uintn_t *size)
- 		goto out;
- 	}
- 	*size = var_payload->size;
-+
-+	#if (IS_ENABLED(CONFIG_ARM_FFA_TRANSPORT))
-+		if (*size > FFA_SHARED_MM_BUFFER_SIZE)
-+			*size = FFA_SHARED_MM_BUFFER_SIZE - MM_COMMUNICATE_HEADER_SIZE	-
-+				MM_VARIABLE_COMMUNICATE_SIZE;
-+	#endif
-+
- 	/*
- 	 * There seems to be a bug in EDK2 miscalculating the boundaries and
- 	 * size checks, so deduct 2 more bytes to fulfill this requirement. Fix
-@@ -697,7 +983,7 @@ void efi_variables_boot_exit_notify(void)
- 		ret = EFI_NOT_FOUND;
- 
- 	if (ret != EFI_SUCCESS)
--		log_err("Unable to notify StMM for ExitBootServices\n");
-+		log_err("Unable to notify the MM partition for ExitBootServices\n");
- 	free(comm_buf);
- 
- 	/*
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-FF-A-v15-arm_ffa-efi-corstone1000-enable-MM-communic.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-FF-A-v15-arm_ffa-efi-corstone1000-enable-MM-communic.patch
new file mode 100644
index 0000000..4dcec1d
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-FF-A-v15-arm_ffa-efi-corstone1000-enable-MM-communic.patch
@@ -0,0 +1,33 @@
+From 79e941be83a7394d03b09c618c8e2924ef962d64 Mon Sep 17 00:00:00 2001
+From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Date: Mon, 17 Jul 2023 15:23:33 +0100
+Subject: [PATCH 10/33] FF-A v15: arm_ffa: efi: corstone1000: enable MM
+ communication
+
+turn on EFI MM communication
+
+On corstone1000 platform MM communication between u-boot
+and the secure world (Optee) is done using the FF-A bus.
+
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20230713132847.176000-1-abdellatif.elkhlifi@arm.com/]
+---
+ configs/corstone1000_defconfig | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/configs/corstone1000_defconfig b/configs/corstone1000_defconfig
+index 2d391048cd..ee5481b63c 100644
+--- a/configs/corstone1000_defconfig
++++ b/configs/corstone1000_defconfig
+@@ -53,3 +53,8 @@ CONFIG_DM_SERIAL=y
+ CONFIG_USB=y
+ CONFIG_USB_ISP1760=y
+ CONFIG_ERRNO_STR=y
++CONFIG_NVMXIP_QSPI=y
++CONFIG_EFI_MM_COMM_TEE=y
++CONFIG_FFA_SHARED_MM_BUF_SIZE=4096
++CONFIG_FFA_SHARED_MM_BUF_OFFSET=0
++CONFIG_FFA_SHARED_MM_BUF_ADDR=0x02000000
+-- 
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-arm_ffa-efi-corstone1000-enable-MM-communication.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-arm_ffa-efi-corstone1000-enable-MM-communication.patch
deleted file mode 100644
index 4fe1405..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-arm_ffa-efi-corstone1000-enable-MM-communication.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From a595dfd91d3e226eaa39e324673871c73ae0aa29 Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Fri, 23 Sep 2022 15:17:21 +0100
-Subject: [PATCH 10/42] arm_ffa: efi: corstone1000: enable MM communication
-
-turn on EFI MM communication
-
-On corstone1000 platform MM communication between u-boot
-and the secure world (Optee) is done using the FF-A bus.
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Cc: Tom Rini <trini@konsulko.com>
-Cc: Simon Glass <sjg@chromium.org>
-Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
-Cc: Jens Wiklander <jens.wiklander@linaro.org>
-Upstream-Status: Submitted [cover letter: https://lore.kernel.org/all/20221122131751.22747-1-abdellatif.elkhlifi@arm.com/]
-
-Changelog:
-===============
-
-v8:
-
-* drop OP-TEE configs from Corstone-1000 defconfig
-
-v7:
-
-* improve the definition of FFA_SHARED_MM_BUFFER_ADDR and
-  FFA_SHARED_MM_BUFFER_OFFSET
-* update FFA_SHARED_MM_BUFFER_ADDR value
-
-v6:
-
-* corstone-1000: enable optee driver
-* corstone-1000: remove CONFIG_ARM_FFA_EFI_RUNTIME_MODE from the defconfig
-
-v4:
-
-* corstone-1000: turn on EFI MM communication
-
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- configs/corstone1000_defconfig |  2 ++
- include/configs/corstone1000.h | 10 ++++++++++
- 2 files changed, 12 insertions(+)
-
-diff --git a/configs/corstone1000_defconfig b/configs/corstone1000_defconfig
-index dddfa27507..d1dc06c86c 100644
---- a/configs/corstone1000_defconfig
-+++ b/configs/corstone1000_defconfig
-@@ -52,3 +52,5 @@ CONFIG_DM_SERIAL=y
- CONFIG_USB=y
- CONFIG_USB_ISP1760=y
- CONFIG_ERRNO_STR=y
-+CONFIG_EFI_MM_COMM_TEE=y
-+CONFIG_ARM_FFA_TRANSPORT=y
-diff --git a/include/configs/corstone1000.h b/include/configs/corstone1000.h
-index 8e0230c135..b6226fa12a 100644
---- a/include/configs/corstone1000.h
-+++ b/include/configs/corstone1000.h
-@@ -14,6 +14,15 @@
- 
- #include <linux/sizes.h>
- 
-+#define FFA_SHARED_MM_BUFFER_SIZE	SZ_4K /* 4 KB */
-+
-+/*
-+ * shared buffer physical address used for communication between
-+ * u-boot and the MM SP
-+ */
-+#define FFA_SHARED_MM_BUFFER_ADDR	0x02000000UL
-+#define FFA_SHARED_MM_BUFFER_OFFSET	0
-+
- #define V2M_BASE		0x80000000
- 
- #define CONFIG_PL011_CLOCK	50000000
-@@ -22,6 +31,7 @@
- #define PHYS_SDRAM_1		(V2M_BASE)
- #define PHYS_SDRAM_1_SIZE	0x80000000
- 
-+#define CFG_SYS_SDRAM_BASE	PHYS_SDRAM_1
- #define CONFIG_SYS_SDRAM_BASE	PHYS_SDRAM_1
- 
- #define BOOT_TARGET_DEVICES(func) \
--- 
-2.25.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-fwu-introduce-EFI-capsule-update.patch
similarity index 66%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0011-efi-corstone1000-introduce-EFI-capsule-update.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0011-efi-corstone1000-fwu-introduce-EFI-capsule-update.patch
index c526626..d2c440c 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-fwu-introduce-EFI-capsule-update.patch
@@ -1,7 +1,7 @@
-From b9c44c396f9ad9588184272cdc5ed98e19e82c0a Mon Sep 17 00:00:00 2001
+From 90b2741149a538c93aed61522c0d3363351bd578 Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Tue, 29 Nov 2022 15:11:27 +0000
-Subject: [PATCH 11/42] efi: corstone1000: introduce EFI capsule update
+Date: Mon, 17 Jul 2023 15:56:18 +0100
+Subject: [PATCH 11/33] efi: corstone1000: fwu: introduce EFI capsule update
 
 This commit provides capsule update feature for Corstone1000.
 
@@ -12,30 +12,35 @@
 memory after u-boot relocation to the end of DDR.
 
 The capsule buffer is shared between u-boot and the secure world.
-On UpdateCapsule() , capsule data is copied to the buffer
-and a buffer ready event is generated using FF-A transport.
 
-On ExitBootServices() a kernel started event is sent to the
-SE Proxy FW update service. This event is generated on each boot.
+On UpdateCapsule() , capsule data is copied to the buffer and a buffer ready event is generated using FF-A transport.
+
+On efi_init_capsule() in U-Boot, an EFI started event is sent to SE Proxy FW update service. This event is generated on each boot.
+
+Note: The SE proxy SP requires that the interface/event IDs are passed using register w4 for the buffer ready event and the EFI started event.
+
+    interface ID (31:16)
+    event ID (15:0)
 
 Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
 Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
 Upstream-Status: Pending [Not submitted to upstream yet]
 ---
  board/armltd/corstone1000/corstone1000.c |   4 +
  configs/corstone1000_defconfig           |   3 +
- include/configs/corstone1000.h           |  18 ++++
+ include/configs/corstone1000.h           |  24 ++++
  include/efi_loader.h                     |   4 +-
- lib/efi_loader/efi_boottime.c            |  36 +++++++
- lib/efi_loader/efi_capsule.c             | 124 ++++++++++++++++++++++-
- lib/efi_loader/efi_setup.c               |  15 +++
- 7 files changed, 200 insertions(+), 4 deletions(-)
+ lib/efi_loader/efi_boottime.c            |   7 ++
+ lib/efi_loader/efi_capsule.c             | 136 ++++++++++++++++++++++-
+ lib/efi_loader/efi_setup.c               |  64 +++++++++++
+ 7 files changed, 238 insertions(+), 4 deletions(-)
 
 diff --git a/board/armltd/corstone1000/corstone1000.c b/board/armltd/corstone1000/corstone1000.c
-index 4f4b96a095..76816f8f4e 100644
+index 6ec8e6144f..c840290885 100644
 --- a/board/armltd/corstone1000/corstone1000.c
 +++ b/board/armltd/corstone1000/corstone1000.c
-@@ -66,6 +66,10 @@ static struct mm_region corstone1000_mem_map[] = {
+@@ -67,6 +67,10 @@ static struct mm_region corstone1000_mem_map[] = {
  
  struct mm_region *mem_map = corstone1000_mem_map;
  
@@ -47,21 +52,21 @@
  {
  	return 0;
 diff --git a/configs/corstone1000_defconfig b/configs/corstone1000_defconfig
-index d1dc06c86c..06eac3e041 100644
+index ee5481b63c..40ba415ecb 100644
 --- a/configs/corstone1000_defconfig
 +++ b/configs/corstone1000_defconfig
-@@ -54,3 +54,6 @@ CONFIG_USB_ISP1760=y
- CONFIG_ERRNO_STR=y
- CONFIG_EFI_MM_COMM_TEE=y
- CONFIG_ARM_FFA_TRANSPORT=y
+@@ -58,3 +58,6 @@ CONFIG_EFI_MM_COMM_TEE=y
+ CONFIG_FFA_SHARED_MM_BUF_SIZE=4096
+ CONFIG_FFA_SHARED_MM_BUF_OFFSET=0
+ CONFIG_FFA_SHARED_MM_BUF_ADDR=0x02000000
 +CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
 +CONFIG_EFI_CAPSULE_FIRMWARE_FIT=y
 +CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
 diff --git a/include/configs/corstone1000.h b/include/configs/corstone1000.h
-index b6226fa12a..cd30499e3c 100644
+index 3347c11792..8927b09499 100644
 --- a/include/configs/corstone1000.h
 +++ b/include/configs/corstone1000.h
-@@ -14,6 +14,24 @@
+@@ -14,6 +14,30 @@
  
  #include <linux/sizes.h>
  
@@ -73,7 +78,13 @@
 +
 +/* Notification events used with SE Proxy update service */
 +#define CORSTONE1000_BUFFER_READY_EVT		(0x1)
-+#define CORSTONE1000_KERNEL_STARTED_EVT		(0x2)
++#define CORSTONE1000_UBOOT_EFI_STARTED_EVT	(0x2)
++
++#define PREP_SEPROXY_SVC_ID_MASK	GENMASK(31, 16)
++#define PREP_SEPROXY_SVC_ID(x)	 (FIELD_PREP(PREP_SEPROXY_SVC_ID_MASK, (x)))
++
++#define PREP_SEPROXY_EVT_MASK		GENMASK(15, 0)
++#define PREP_SEPROXY_EVT(x)	(FIELD_PREP(PREP_SEPROXY_EVT_MASK, (x)))
 +
 +/* Size in 4KB pages of the EFI capsule buffer */
 +#define CORSTONE1000_CAPSULE_BUFFER_SIZE	(8192) /* 32 MB */
@@ -83,14 +94,14 @@
 +	EFI_GUID(0x3a770ddc, 0x409b, 0x48b2, 0x81, 0x41, \
 +		 0x93, 0xb7, 0xc6, 0x0b, 0x20, 0x9e)
 +
- #define FFA_SHARED_MM_BUFFER_SIZE	SZ_4K /* 4 KB */
+ #define V2M_BASE		0x80000000
  
- /*
+ #define CFG_PL011_CLOCK	50000000
 diff --git a/include/efi_loader.h b/include/efi_loader.h
-index f9e427f090..26981141c2 100644
+index 38d7f66bab..0a613ed51e 100644
 --- a/include/efi_loader.h
 +++ b/include/efi_loader.h
-@@ -1032,11 +1032,11 @@ extern const struct efi_firmware_management_protocol efi_fmp_fit;
+@@ -1036,11 +1036,11 @@ extern const struct efi_firmware_management_protocol efi_fmp_fit;
  extern const struct efi_firmware_management_protocol efi_fmp_raw;
  
  /* Capsule update */
@@ -105,70 +116,37 @@
  		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 fea4eb7a34..faab74474d 100644
+index d5065f296a..a5da77c36c 100644
 --- a/lib/efi_loader/efi_boottime.c
 +++ b/lib/efi_loader/efi_boottime.c
-@@ -2103,6 +2103,33 @@ static void efi_exit_caches(void)
- #endif
- }
+@@ -23,6 +23,13 @@
+ #include <asm/setjmp.h>
+ #include <linux/libfdt_env.h>
  
 +#if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
-+/**
-+ * efi_corstone1000_kernel_started_event - notifies SE Proxy FW update service
-+ *
-+ * This function notifies the SE Proxy update service that the kernel has already started
-+ *
-+ * Return:
-+ *
-+ * 0: on success, otherwise failure
-+ */
-+static int efi_corstone1000_kernel_started_event(void)
-+{
-+	struct ffa_send_direct_data msg = {0};
-+
-+	log_debug("[%s]\n", __func__);
-+
-+	/*
-+	 * setting the kernel started  event arguments
-+	 */
-+	msg.data0 = CORSTONE1000_SEPROXY_UPDATE_SVC_ID; /* x3 */
-+	msg.data2 = CORSTONE1000_KERNEL_STARTED_EVT; /* x5 */
-+
-+	return ffa_bus_ops_get()->sync_send_receive(CORSTONE1000_SEPROXY_PART_ID, &msg, 0);
-+}
-+
++#include <arm_ffa.h>
++#include <dm.h>
++#include <linux/bitfield.h>
++#include <linux/bitops.h>
 +#endif
 +
- /**
-  * efi_exit_boot_services() - stop all boot services
-  * @image_handle: handle of the loaded image
-@@ -2209,6 +2236,15 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle,
- 	/* Recalculate CRC32 */
- 	efi_update_table_header_crc32(&systab.hdr);
+ DECLARE_GLOBAL_DATA_PTR;
  
-+#if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
-+	/* Notifying SE Proxy FW update service */
-+	ffa_ret = efi_corstone1000_kernel_started_event();
-+	if (ffa_ret)
-+		debug("[efi_boottime][ERROR]: Failure to notify SE Proxy FW update service\n");
-+	else
-+		debug("[efi_boottime][INFO]: SE Proxy FW update service notified\n");
-+#endif
-+
- 	/* Give the payload some time to boot */
- 	efi_set_watchdog(0);
- 	schedule();
+ /* Task priority level */
 diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
-index 0997cd248f..9e8ddaac7f 100644
+index 7a6f195cbc..ea084e4ed2 100644
 --- a/lib/efi_loader/efi_capsule.c
 +++ b/lib/efi_loader/efi_capsule.c
-@@ -26,6 +26,14 @@
+@@ -26,6 +26,17 @@
  #include <crypto/pkcs7_parser.h>
  #include <linux/err.h>
  
 +#ifdef CONFIG_TARGET_CORSTONE1000
 +#include <arm_ffa.h>
 +#include <cpu_func.h>
++#include <dm.h>
++#include <linux/bitfield.h>
++#include <linux/bitops.h>
 +
 +void *__efi_runtime_data corstone1000_capsule_buf; /* capsule shared buffer virtual address */
 +efi_guid_t corstone1000_capsule_guid = EFI_CORSTONE1000_CAPSULE_ID_GUID;
@@ -177,7 +155,7 @@
  DECLARE_GLOBAL_DATA_PTR;
  
  const efi_guid_t efi_guid_capsule_report = EFI_CAPSULE_REPORT_GUID;
-@@ -696,6 +704,78 @@ static efi_status_t efi_capsule_update_firmware(
+@@ -709,6 +720,87 @@ static efi_status_t efi_capsule_update_firmware(
  }
  #endif /* CONFIG_EFI_CAPSULE_FIRMWARE_MANAGEMENT */
  
@@ -239,24 +217,33 @@
 +static int __efi_runtime efi_corstone1000_buffer_ready_event(u32 capsule_image_size)
 +{
 +	struct ffa_send_direct_data msg = {0};
++	int ret;
++	struct udevice *dev;
 +
 +	log_debug("[%s]\n", __func__);
 +
-+	/*
-+	 * setting the buffer ready event arguments
-+	 */
-+	msg.data0 = CORSTONE1000_SEPROXY_UPDATE_SVC_ID; /* x3 */
-+	msg.data1 = capsule_image_size; /* x4 */
-+	msg.data2 = CORSTONE1000_BUFFER_READY_EVT; /* x5 */
++	ret = uclass_first_device_err(UCLASS_FFA, &dev);
++	if (ret) {
++		log_err("Cannot find FF-A bus device\n");
++		return ret;
++	}
 +
-+	return ffa_bus_ops_get()->sync_send_receive(NULL, CORSTONE1000_SEPROXY_PART_ID, &msg, 0);
++	/*
++	 * setting the buffer ready event arguments in register w4:
++	 * - capsule update interface ID (31:16)
++	 * - the buffer ready event ID (15:0)
++	 */
++	msg.data1 = PREP_SEPROXY_SVC_ID(CORSTONE1000_SEPROXY_UPDATE_SVC_ID) |
++		PREP_SEPROXY_EVT(CORSTONE1000_BUFFER_READY_EVT); /* w4 */
++
++	return ffa_sync_send_receive(dev, CORSTONE1000_SEPROXY_PART_ID, &msg, 0);
 +}
 +#endif
 +
  /**
   * efi_update_capsule() - process information from operating system
   * @capsule_header_array:	Array of virtual address pointers
-@@ -709,7 +789,7 @@ static efi_status_t efi_capsule_update_firmware(
+@@ -722,7 +814,7 @@ static efi_status_t efi_capsule_update_firmware(
   *
   * Return:			status code
   */
@@ -265,7 +252,7 @@
  		struct efi_capsule_header **capsule_header_array,
  		efi_uintn_t capsule_count,
  		u64 scatter_gather_list)
-@@ -726,6 +806,13 @@ efi_status_t EFIAPI efi_update_capsule(
+@@ -739,6 +831,13 @@ efi_status_t EFIAPI efi_update_capsule(
  		goto out;
  	}
  
@@ -279,7 +266,7 @@
  	ret = EFI_SUCCESS;
  	for (i = 0, capsule = *capsule_header_array; i < capsule_count;
  	     i++, capsule = *(++capsule_header_array)) {
-@@ -738,6 +825,39 @@ efi_status_t EFIAPI efi_update_capsule(
+@@ -751,6 +850,39 @@ efi_status_t EFIAPI efi_update_capsule(
  
  		log_debug("Capsule[%d] (guid:%pUs)\n",
  			  i, &capsule->capsule_guid);
@@ -319,7 +306,7 @@
  		if (!guidcmp(&capsule->capsule_guid,
  			     &efi_guid_firmware_management_capsule_id)) {
  			ret  = efi_capsule_update_firmware(capsule);
-@@ -776,7 +896,7 @@ out:
+@@ -789,7 +921,7 @@ out:
   *
   * Return:			status code
   */
@@ -329,14 +316,19 @@
  		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 5437641135..1ad2fa52d7 100644
+index 58d4e13402..bf90a98b5a 100644
 --- a/lib/efi_loader/efi_setup.c
 +++ b/lib/efi_loader/efi_setup.c
-@@ -16,6 +16,13 @@
+@@ -17,6 +17,18 @@
  
  efi_status_t efi_obj_list_initialized = OBJ_LIST_NOT_INITIALIZED;
  
 +#if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
++#include <linux/bitfield.h>
++#include <linux/bitops.h>
++#include <arm_ffa.h>
++#include <dm.h>
++
 +/**
 + * efi_corstone1000_alloc_capsule_shared_buf - allocate capsule shared buffer
 + */
@@ -346,11 +338,62 @@
  /*
   * Allow unaligned memory access.
   *
-@@ -128,6 +135,14 @@ static efi_status_t efi_init_capsule(void)
+@@ -120,6 +132,42 @@ static efi_status_t efi_init_secure_boot(void)
+ }
+ #endif /* CONFIG_EFI_SECURE_BOOT */
+ 
++#if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
++/**
++ * efi_corstone1000_uboot-efi_started_event - notifies SE Proxy FW update service
++ *
++ * This function notifies the SE Proxy update service that uboot efi has already started
++ *
++ * Return:
++ *
++ * 0: on success, otherwise failure
++ * */
++static int efi_corstone1000_uboot_efi_started_event(void)
++{
++	struct ffa_send_direct_data msg = {0};
++	int ret;
++	struct udevice *dev;
++
++	log_debug("[%s]\n", __func__);
++
++	ret = uclass_first_device_err(UCLASS_FFA, &dev);
++	if (ret) {
++		log_err("Cannot find FF-A bus device\n");
++		return ret;
++	}
++
++	/*
++	 * setting the kernel started  event arguments:
++	 * setting capsule update interface ID(31:16)
++	 * the kernel started event ID(15:0)
++	 */
++	msg.data1 = PREP_SEPROXY_SVC_ID(CORSTONE1000_SEPROXY_UPDATE_SVC_ID) |
++			PREP_SEPROXY_EVT(CORSTONE1000_UBOOT_EFI_STARTED_EVT); /* w4 */
++
++	return ffa_sync_send_receive(dev, CORSTONE1000_SEPROXY_PART_ID, &msg, 0);
++}
++#endif
++
+ /**
+  * efi_init_capsule - initialize capsule update state
+  *
+@@ -129,6 +177,22 @@ static efi_status_t efi_init_capsule(void)
  {
  	efi_status_t ret = EFI_SUCCESS;
  
 +#if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
++	int ffa_ret;
++
++	ffa_ret = efi_corstone1000_uboot_efi_started_event();
++	if (ffa_ret)
++		log_err("Failure to notify SE Proxy FW update service\n");
++	else
++		debug("SE Proxy FW update service notified\n");
++
 +	ret = efi_corstone1000_alloc_capsule_shared_buf();
 +	if (ret != EFI_SUCCESS) {
 +		printf("EFI: Corstone-1000: cannot allocate caspsule shared buffer\n");
@@ -358,9 +401,9 @@
 +	}
 +#endif
 +
- 	if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_UPDATE)) {
- 		ret = efi_set_variable_int(u"CapsuleMax",
- 					   &efi_guid_capsule_report,
+ 	if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) {
+ 		u16 var_name16[12];
+ 
 -- 
 2.25.1
 
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0012-arm-corstone1000-fix-unrecognized-filesystem-type.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0012-arm-corstone1000-fix-unrecognized-filesystem-type.patch
index 6fe10eb..f9fb70b 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0012-arm-corstone1000-fix-unrecognized-filesystem-type.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0012-arm-corstone1000-fix-unrecognized-filesystem-type.patch
@@ -1,7 +1,7 @@
-From ac738fa33edec9ff712dee6d10491cb2eb7cfe3a Mon Sep 17 00:00:00 2001
+From 445dfd4a5d8f31a7efb3f2f15aa677de8b3eb602 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 12/42] arm: corstone1000: fix unrecognized filesystem type
+Subject: [PATCH 12/33] arm: corstone1000: fix unrecognized filesystem type
 
 Some usb sticks are not recognized by usb, just add a
 delay before checking status.
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-efi_capsule-corstone1000-pass-interface-id-and-buffe.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-efi_capsule-corstone1000-pass-interface-id-and-buffe.patch
deleted file mode 100644
index bc03035..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-efi_capsule-corstone1000-pass-interface-id-and-buffe.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From baa961b6050508710e1c6b572f2e93ac5c488201 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 13/42] 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
-w3 and w5.
-
-Now the SE proxy SP requires this arguments to be in register w4.
-
-This change is to pass interface ID(31:16) and event ID(15:0)
-to SE proxy SP to trigger an event to secure enclave about
-firmware update.
-
-Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
-Upstream-Status: Pending [Not submitted to upstream yet]
----
- include/configs/corstone1000.h |  6 ++++++
- lib/efi_loader/efi_capsule.c   | 11 +++++++----
- 2 files changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/include/configs/corstone1000.h b/include/configs/corstone1000.h
-index cd30499e3c..e4c7bcb96f 100644
---- a/include/configs/corstone1000.h
-+++ b/include/configs/corstone1000.h
-@@ -24,6 +24,12 @@
- #define CORSTONE1000_BUFFER_READY_EVT		(0x1)
- #define CORSTONE1000_KERNEL_STARTED_EVT		(0x2)
- 
-+#define PREP_SEPROXY_SVC_ID_MASK	GENMASK(31, 16)
-+#define PREP_SEPROXY_SVC_ID(x)	 (FIELD_PREP(PREP_SEPROXY_SVC_ID_MASK, (x)))
-+
-+#define PREP_SEPROXY_EVT_MASK		GENMASK(15, 0)
-+#define PREP_SEPROXY_EVT(x)	(FIELD_PREP(PREP_SEPROXY_EVT_MASK, (x)))
-+
- /* Size in 4KB pages of the EFI capsule buffer */
- #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 9e8ddaac7f..bd4cc8d272 100644
---- a/lib/efi_loader/efi_capsule.c
-+++ b/lib/efi_loader/efi_capsule.c
-@@ -29,6 +29,8 @@
- #ifdef CONFIG_TARGET_CORSTONE1000
- #include <arm_ffa.h>
- #include <cpu_func.h>
-+#include <linux/bitfield.h>
-+#include <linux/bitops.h>
- 
- void *__efi_runtime_data corstone1000_capsule_buf; /* capsule shared buffer virtual address */
- efi_guid_t corstone1000_capsule_guid = EFI_CORSTONE1000_CAPSULE_ID_GUID;
-@@ -766,11 +768,12 @@ static int __efi_runtime efi_corstone1000_buffer_ready_event(u32 capsule_image_s
- 	log_debug("[%s]\n", __func__);
- 
- 	/*
--	 * setting the buffer ready event arguments
-+	 * setting the buffer ready event arguments in register w4:
-+	 * - capsule update interface ID (31:16)
-+	 * - the buffer ready event ID (15:0)
- 	 */
--	msg.data0 = CORSTONE1000_SEPROXY_UPDATE_SVC_ID; /* x3 */
--	msg.data1 = capsule_image_size; /* x4 */
--	msg.data2 = CORSTONE1000_BUFFER_READY_EVT; /* x5 */
-+	msg.data1 = PREP_SEPROXY_SVC_ID(CORSTONE1000_SEPROXY_UPDATE_SVC_ID) |
-+		PREP_SEPROXY_EVT(CORSTONE1000_BUFFER_READY_EVT); /* w4 */
- 
- 	return ffa_bus_ops_get()->sync_send_receive(NULL, CORSTONE1000_SEPROXY_PART_ID, &msg, 0);
- }
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_loader-corstone1000-remove-guid-check-from-corst.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-efi_loader-corstone1000-remove-guid-check-from-corst.patch
similarity index 83%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_loader-corstone1000-remove-guid-check-from-corst.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-efi_loader-corstone1000-remove-guid-check-from-corst.patch
index e57b944..4ddb35e 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_loader-corstone1000-remove-guid-check-from-corst.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-efi_loader-corstone1000-remove-guid-check-from-corst.patch
@@ -1,7 +1,7 @@
-From 5e09d349ec8af6585bce777acbfd2d218fc2e8d4 Mon Sep 17 00:00:00 2001
+From 68248cd3cc95e0480ee2cbc3ebaba51967889199 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 15/42] efi_loader: corstone1000: remove guid check from
+Subject: [PATCH 13/33] efi_loader: corstone1000: remove guid check from
  corstone1000 config option
 
 Use generic fmp guid and no separte check is required for
@@ -15,10 +15,10 @@
  1 file changed, 1 insertion(+), 15 deletions(-)
 
 diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
-index bd4cc8d272..ef7b358ddb 100644
+index ea084e4ed2..5314f529b4 100644
 --- a/lib/efi_loader/efi_capsule.c
 +++ b/lib/efi_loader/efi_capsule.c
-@@ -830,12 +830,6 @@ efi_status_t __efi_runtime EFIAPI efi_update_capsule(
+@@ -852,12 +852,6 @@ efi_status_t __efi_runtime EFIAPI efi_update_capsule(
  			  i, &capsule->capsule_guid);
  
  #if CONFIG_IS_ENABLED(TARGET_CORSTONE1000)
@@ -31,7 +31,7 @@
  		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");
-@@ -861,15 +855,7 @@ efi_status_t __efi_runtime EFIAPI efi_update_capsule(
+@@ -883,15 +877,7 @@ efi_status_t __efi_runtime EFIAPI efi_update_capsule(
  		goto out;
  #endif
  
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-efi_boottime-corstone1000-pass-interface-id-and-kern.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-efi_boottime-corstone1000-pass-interface-id-and-kern.patch
deleted file mode 100644
index 658e21f..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-efi_boottime-corstone1000-pass-interface-id-and-kern.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From d761d59dd251ae93980f659d253576fc872f2c5f 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 14/42] 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
-w3 and w5.
-
-Now the SE proxy SP requires this arguments to be in register w4.
-
-This change is to pass interface ID(31:16) and kernel started
-event ID(15:0) to SE proxy SP to trigger an event to
-secure enclave just before ExitbootService().
-
-Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
-Upstream-Status: Pending [Not submitted to upstream yet]
----
- lib/efi_loader/efi_boottime.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
-index faab74474d..36a0be7ba1 100644
---- a/lib/efi_loader/efi_boottime.c
-+++ b/lib/efi_loader/efi_boottime.c
-@@ -30,6 +30,11 @@
- #include <arm_ffa.h>
- #endif
- 
-+#if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
-+#include <linux/bitfield.h>
-+#include <linux/bitops.h>
-+#endif
-+
- DECLARE_GLOBAL_DATA_PTR;
- 
- /* Task priority level */
-@@ -2120,10 +2125,12 @@ static int efi_corstone1000_kernel_started_event(void)
- 	log_debug("[%s]\n", __func__);
- 
- 	/*
--	 * setting the kernel started  event arguments
-+	 * setting the kernel started  event arguments:
-+	 * setting capsule update interface ID(31:16)
-+	 * the kernel started event ID(15:0)
- 	 */
--	msg.data0 = CORSTONE1000_SEPROXY_UPDATE_SVC_ID; /* x3 */
--	msg.data2 = CORSTONE1000_KERNEL_STARTED_EVT; /* x5 */
-+	msg.data1 = PREP_SEPROXY_SVC_ID(CORSTONE1000_SEPROXY_UPDATE_SVC_ID) |
-+		PREP_SEPROXY_EVT(CORSTONE1000_KERNEL_STARTED_EVT); /* w4 */
- 
- 	return ffa_bus_ops_get()->sync_send_receive(CORSTONE1000_SEPROXY_PART_ID, &msg, 0);
- }
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch
similarity index 80%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch
index 1b88d7f..c0b3fa8 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch
@@ -1,7 +1,7 @@
-From e3ccad1cf9e905ec15ff772dcf53972fafcf54ee Mon Sep 17 00:00:00 2001
+From bb0eb602d3697384318cac90605259aa7fb21c9b 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 16/42] efi_loader: populate ESRT table if EFI_ESRT config
+Subject: [PATCH 14/33] 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
@@ -15,10 +15,10 @@
  1 file changed, 7 insertions(+)
 
 diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
-index ef7b358ddb..8eb8fc406a 100644
+index 5314f529b4..6a06605ad9 100644
 --- a/lib/efi_loader/efi_capsule.c
 +++ b/lib/efi_loader/efi_capsule.c
-@@ -852,6 +852,13 @@ efi_status_t __efi_runtime EFIAPI efi_update_capsule(
+@@ -874,6 +874,13 @@ efi_status_t __efi_runtime EFIAPI efi_update_capsule(
  			ret = EFI_SUCCESS;
  		}
  
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-efi_firmware-add-get_image_info-for-corstone1000.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_firmware-add-get_image_info-for-corstone1000.patch
similarity index 96%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-efi_firmware-add-get_image_info-for-corstone1000.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_firmware-add-get_image_info-for-corstone1000.patch
index 7087315e..2186330 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-efi_firmware-add-get_image_info-for-corstone1000.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_firmware-add-get_image_info-for-corstone1000.patch
@@ -1,7 +1,7 @@
-From d8f79ab37bae283599e40018055ff9d5648fb647 Mon Sep 17 00:00:00 2001
+From 5e12999d179e84ac52e242d56c57a4d429651124 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 17/42] efi_firmware: add get_image_info for corstone1000
+Subject: [PATCH 15/33] efi_firmware: add get_image_info for corstone1000
 
 This change is to populate get_image_info which eventually
 will be populated in ESRT table
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-efi_loader-fix-null-pointer-exception-with-get_image.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_loader-fix-null-pointer-exception-with-get_image.patch
similarity index 91%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-efi_loader-fix-null-pointer-exception-with-get_image.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_loader-fix-null-pointer-exception-with-get_image.patch
index 24e5b46..b58c1d79 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-efi_loader-fix-null-pointer-exception-with-get_image.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_loader-fix-null-pointer-exception-with-get_image.patch
@@ -1,7 +1,7 @@
-From 3d28467e447f12c5aa276827aa742e7eed1d577a Mon Sep 17 00:00:00 2001
+From 957e88fc52d77e6a3024f06bebfaa713c9e99e59 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 19/42] efi_loader: fix null pointer exception with
+Subject: [PATCH 16/33] efi_loader: fix null pointer exception with
  get_image_info
 
 get_img_info API implemented for corstone1000 target does not
@@ -17,7 +17,7 @@
  1 file changed, 11 insertions(+), 8 deletions(-)
 
 diff --git a/lib/efi_loader/efi_firmware.c b/lib/efi_loader/efi_firmware.c
-index 70568f2290..c883e2ff0a 100644
+index 0a38a96351..c883e2ff0a 100644
 --- a/lib/efi_loader/efi_firmware.c
 +++ b/lib/efi_loader/efi_firmware.c
 @@ -39,26 +39,29 @@ static efi_status_t efi_corstone1000_img_info_get (
@@ -39,7 +39,7 @@
  		*package_version_name = NULL; /* not supported */
  
  	if(image_info == NULL) {
--		log_info("image_info is null\n");
+-		log_warning("image_info is null\n");
 +		log_debug("image_info is null\n");
  		return EFI_BUFFER_TOO_SMALL;
  	}
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-arm-corstone1000-add-mmc-for-fvp.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-arm-corstone1000-add-mmc-for-fvp.patch
similarity index 81%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-arm-corstone1000-add-mmc-for-fvp.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-arm-corstone1000-add-mmc-for-fvp.patch
index 93da253..75fe64c 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-arm-corstone1000-add-mmc-for-fvp.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-arm-corstone1000-add-mmc-for-fvp.patch
@@ -1,7 +1,7 @@
-From d6c183a99a7d232ef5dbf886c49e7fb75b50ecf9 Mon Sep 17 00:00:00 2001
+From 61b5f50718431b5fff57fcaa924238135b11ed3c Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
-Date: Wed, 30 Nov 2022 15:37:22 +0000
-Subject: [PATCH 20/42] arm:corstone1000: add mmc for fvp
+Date: Mon, 17 Jul 2023 16:50:53 +0100
+Subject: [PATCH 17/33] arm:corstone1000: add mmc for fvp
 
 Enable support mmc/sdcard for the corstone1000 FVP.
 
@@ -10,15 +10,15 @@
 Upstream-Status: Pending [Not submitted to upstream yet]
 ---
  board/armltd/corstone1000/corstone1000.c | 28 +++++++++++++++++++-----
- configs/corstone1000_defconfig           |  8 ++++++-
+ configs/corstone1000_defconfig           |  9 ++++++--
  include/configs/corstone1000.h           |  4 +++-
- 3 files changed, 32 insertions(+), 8 deletions(-)
+ 3 files changed, 32 insertions(+), 9 deletions(-)
 
 diff --git a/board/armltd/corstone1000/corstone1000.c b/board/armltd/corstone1000/corstone1000.c
-index 76816f8f4e..d6ca6e8961 100644
+index c840290885..ecfd8366df 100644
 --- a/board/armltd/corstone1000/corstone1000.c
 +++ b/board/armltd/corstone1000/corstone1000.c
-@@ -38,19 +38,35 @@ static struct mm_region corstone1000_mem_map[] = {
+@@ -39,19 +39,35 @@ static struct mm_region corstone1000_mem_map[] = {
  	}, {
  		/* USB */
  		.virt = 0x40200000UL,
@@ -61,14 +61,15 @@
  		/* OCVM */
  		.virt = 0x80000000UL,
 diff --git a/configs/corstone1000_defconfig b/configs/corstone1000_defconfig
-index 06eac3e041..f7c276a10a 100644
+index 40ba415ecb..76158fc37d 100644
 --- a/configs/corstone1000_defconfig
 +++ b/configs/corstone1000_defconfig
-@@ -40,7 +40,13 @@ CONFIG_VERSION_VARIABLE=y
+@@ -40,8 +40,13 @@ CONFIG_VERSION_VARIABLE=y
  CONFIG_NET_RANDOM_ETHADDR=y
  CONFIG_REGMAP=y
  CONFIG_MISC=y
 -# CONFIG_MMC is not set
+-CONFIG_NVMXIP_QSPI=y
 +CONFIG_CLK=y
 +CONFIG_CMD_MMC=y
 +CONFIG_DM_MMC=y
@@ -80,11 +81,11 @@
  CONFIG_PHY_SMSC=y
  CONFIG_SMC911X=y
 diff --git a/include/configs/corstone1000.h b/include/configs/corstone1000.h
-index be13b98d48..a015a1630e 100644
+index 8927b09499..1466507f80 100644
 --- a/include/configs/corstone1000.h
 +++ b/include/configs/corstone1000.h
-@@ -59,7 +59,9 @@
- #define CONFIG_SYS_SDRAM_BASE	PHYS_SDRAM_1
+@@ -49,7 +49,9 @@
+ #define CFG_SYS_SDRAM_BASE	PHYS_SDRAM_1
  
  #define BOOT_TARGET_DEVICES(func) \
 -	func(USB, usb, 0)
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-corstone1000-add-compressed-kernel-support.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-corstone1000-add-compressed-kernel-support.patch
similarity index 87%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-corstone1000-add-compressed-kernel-support.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-corstone1000-add-compressed-kernel-support.patch
index 7797880..0f28cdf 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-corstone1000-add-compressed-kernel-support.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-corstone1000-add-compressed-kernel-support.patch
@@ -1,7 +1,7 @@
-From 155f20028ad5f3ba5d2362ec48abb7804eaade00 Mon Sep 17 00:00:00 2001
+From a5879f1e7d91fc31058ba75b499d77cab080d611 Mon Sep 17 00:00:00 2001
 From: Jon Mason <jon.mason@arm.com>
 Date: Wed, 30 Nov 2022 18:59:59 +0000
-Subject: [PATCH 21/42] corstone1000: add compressed kernel support
+Subject: [PATCH 18/33] corstone1000: add compressed kernel support
 
 The corstone1000 kernel has become too large to fit in the available
 storage.  Swtiching to a compressed kernel avoids the problem, but
@@ -17,10 +17,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configs/corstone1000_defconfig b/configs/corstone1000_defconfig
-index f7c276a10a..1179bf5f3b 100644
+index 76158fc37d..a92668389a 100644
 --- a/configs/corstone1000_defconfig
 +++ b/configs/corstone1000_defconfig
-@@ -15,7 +15,7 @@ CONFIG_FIT=y
+@@ -15,7 +15,7 @@ CONFIG_DISTRO_DEFAULTS=y
  CONFIG_BOOTDELAY=3
  CONFIG_USE_BOOTARGS=y
  CONFIG_BOOTARGS="console=ttyAMA0 loglevel=9 ip=dhcp earlyprintk"
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-efi_loader-send-bootcomplete-message-to-secure-encla.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-efi_loader-send-bootcomplete-message-to-secure-encla.patch
deleted file mode 100644
index 1fbad38..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-efi_loader-send-bootcomplete-message-to-secure-encla.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-From a6fee840a411a6a7b6c276d0a7b1d5445039e6c2 Mon Sep 17 00:00:00 2001
-From: Vishnu Banavath <vishnu.banavath@arm.com>
-Date: Mon, 15 Aug 2022 15:46:18 +0100
-Subject: [PATCH 18/42] 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,
-an event is sent at exitbootservice level. This will create a problem
-when user wants to interrupt at UEFI shell, hence, it is required
-to send an uboot efi initialized event at efi sub-system initialization
-stage.
-
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Upstream-Status: Pending [Not submitted to upstream yet]
----
- include/configs/corstone1000.h |  2 +-
- lib/efi_loader/efi_boottime.c  | 43 ----------------------------------
- lib/efi_loader/efi_firmware.c  |  2 +-
- lib/efi_loader/efi_setup.c     | 39 ++++++++++++++++++++++++++++++
- 4 files changed, 41 insertions(+), 45 deletions(-)
-
-diff --git a/include/configs/corstone1000.h b/include/configs/corstone1000.h
-index e4c7bcb96f..be13b98d48 100644
---- a/include/configs/corstone1000.h
-+++ b/include/configs/corstone1000.h
-@@ -22,7 +22,7 @@
- 
- /* Notification events used with SE Proxy update service */
- #define CORSTONE1000_BUFFER_READY_EVT		(0x1)
--#define CORSTONE1000_KERNEL_STARTED_EVT		(0x2)
-+#define CORSTONE1000_UBOOT_EFI_STARTED_EVT	(0x2)
- 
- #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 36a0be7ba1..fea4eb7a34 100644
---- a/lib/efi_loader/efi_boottime.c
-+++ b/lib/efi_loader/efi_boottime.c
-@@ -30,11 +30,6 @@
- #include <arm_ffa.h>
- #endif
- 
--#if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
--#include <linux/bitfield.h>
--#include <linux/bitops.h>
--#endif
--
- DECLARE_GLOBAL_DATA_PTR;
- 
- /* Task priority level */
-@@ -2108,35 +2103,6 @@ static void efi_exit_caches(void)
- #endif
- }
- 
--#if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
--/**
-- * efi_corstone1000_kernel_started_event - notifies SE Proxy FW update service
-- *
-- * This function notifies the SE Proxy update service that the kernel has already started
-- *
-- * Return:
-- *
-- * 0: on success, otherwise failure
-- */
--static int efi_corstone1000_kernel_started_event(void)
--{
--	struct ffa_send_direct_data msg = {0};
--
--	log_debug("[%s]\n", __func__);
--
--	/*
--	 * setting the kernel started  event arguments:
--	 * setting capsule update interface ID(31:16)
--	 * the kernel started event ID(15:0)
--	 */
--	msg.data1 = PREP_SEPROXY_SVC_ID(CORSTONE1000_SEPROXY_UPDATE_SVC_ID) |
--		PREP_SEPROXY_EVT(CORSTONE1000_KERNEL_STARTED_EVT); /* w4 */
--
--	return ffa_bus_ops_get()->sync_send_receive(CORSTONE1000_SEPROXY_PART_ID, &msg, 0);
--}
--
--#endif
--
- /**
-  * efi_exit_boot_services() - stop all boot services
-  * @image_handle: handle of the loaded image
-@@ -2243,15 +2209,6 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle,
- 	/* Recalculate CRC32 */
- 	efi_update_table_header_crc32(&systab.hdr);
- 
--#if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
--	/* Notifying SE Proxy FW update service */
--	ffa_ret = efi_corstone1000_kernel_started_event();
--	if (ffa_ret)
--		debug("[efi_boottime][ERROR]: Failure to notify SE Proxy FW update service\n");
--	else
--		debug("[efi_boottime][INFO]: SE Proxy FW update service notified\n");
--#endif
--
- 	/* Give the payload some time to boot */
- 	efi_set_watchdog(0);
- 	schedule();
-diff --git a/lib/efi_loader/efi_firmware.c b/lib/efi_loader/efi_firmware.c
-index 0a38a96351..70568f2290 100644
---- a/lib/efi_loader/efi_firmware.c
-+++ b/lib/efi_loader/efi_firmware.c
-@@ -48,7 +48,7 @@ static efi_status_t efi_corstone1000_img_info_get (
- 		*package_version_name = NULL; /* not supported */
- 
- 	if(image_info == NULL) {
--		log_warning("image_info is null\n");
-+		log_info("image_info is null\n");
- 		return EFI_BUFFER_TOO_SMALL;
- 	}
- 
-diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c
-index 1ad2fa52d7..89f988b09c 100644
---- a/lib/efi_loader/efi_setup.c
-+++ b/lib/efi_loader/efi_setup.c
-@@ -17,6 +17,9 @@
- efi_status_t efi_obj_list_initialized = OBJ_LIST_NOT_INITIALIZED;
- 
- #if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
-+#include <linux/bitfield.h>
-+#include <linux/bitops.h>
-+#include <arm_ffa.h>
- /**
-  * efi_corstone1000_alloc_capsule_shared_buf - allocate capsule shared buffer
-  */
-@@ -126,6 +129,34 @@ static efi_status_t efi_init_secure_boot(void)
- }
- #endif /* CONFIG_EFI_SECURE_BOOT */
- 
-+#if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
-+/**
-+ * efi_corstone1000_uboot-efi_started_event - notifies SE Proxy FW update service
-+ *
-+ * This function notifies the SE Proxy update service that uboot efi has already started
-+ *
-+ * Return:
-+ *
-+ * 0: on success, otherwise failure
-+ * */
-+static int efi_corstone1000_uboot_efi_started_event(void)
-+{
-+	struct ffa_send_direct_data msg = {0};
-+
-+	log_debug("[%s]\n", __func__);
-+
-+	/*
-+	 * setting the kernel started  event arguments:
-+	 * setting capsule update interface ID(31:16)
-+	 * the kernel started event ID(15:0)
-+	 */
-+	msg.data1 = PREP_SEPROXY_SVC_ID(CORSTONE1000_SEPROXY_UPDATE_SVC_ID) |
-+			PREP_SEPROXY_EVT(CORSTONE1000_UBOOT_EFI_STARTED_EVT); /* w4 */
-+
-+	return ffa_bus_ops_get()->sync_send_receive(NULL, CORSTONE1000_SEPROXY_PART_ID, &msg, 0);
-+}
-+#endif
-+
- /**
-  * efi_init_capsule - initialize capsule update state
-  *
-@@ -136,6 +167,14 @@ static efi_status_t efi_init_capsule(void)
- 	efi_status_t ret = EFI_SUCCESS;
- 
- #if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
-+	int ffa_ret;
-+
-+	ffa_ret = efi_corstone1000_uboot_efi_started_event();
-+	if (ffa_ret)
-+		debug("[efi_boottime][ERROR]: Failure to notify SE Proxy FW update service\n");
-+	else
-+		debug("[efi_boottime][INFO]: SE Proxy FW update service notified\n");
-+
- 	ret = efi_corstone1000_alloc_capsule_shared_buf();
- 	if (ret != EFI_SUCCESS) {
- 		printf("EFI: Corstone-1000: cannot allocate caspsule shared buffer\n");
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-Introduce-external-sys-driver-to-device-tree.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-Introduce-external-sys-driver-to-device-tree.patch
similarity index 81%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-Introduce-external-sys-driver-to-device-tree.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-Introduce-external-sys-driver-to-device-tree.patch
index c74e17f..a4c6625 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-Introduce-external-sys-driver-to-device-tree.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-Introduce-external-sys-driver-to-device-tree.patch
@@ -1,7 +1,7 @@
-From 984c431cd594c112d71ea1378bc1ac3b72806baa Mon Sep 17 00:00:00 2001
+From 0748658414dd02cec0219841a86c4e7b99bfc171 Mon Sep 17 00:00:00 2001
 From: Emekcan <emekcan.aras@arm.com>
 Date: Wed, 30 Nov 2022 19:02:26 +0000
-Subject: [PATCH 22/42] Introduce external sys driver to device-tree
+Subject: [PATCH 19/33] Introduce external sys driver to device-tree
 
 It adds external sys driver binding to u-boot
 device tree.
@@ -14,10 +14,10 @@
  1 file changed, 7 insertions(+)
 
 diff --git a/arch/arm/dts/corstone1000.dtsi b/arch/arm/dts/corstone1000.dtsi
-index 4e46826f88..2c7185e139 100644
+index 533dfdf8e1..a834d38454 100644
 --- a/arch/arm/dts/corstone1000.dtsi
 +++ b/arch/arm/dts/corstone1000.dtsi
-@@ -160,5 +160,12 @@
+@@ -167,5 +167,12 @@
  			secure-status = "okay";     /* secure-world-only */
  			status = "disabled";
  		};
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-Add-mhu-and-rpmsg-client-to-u-boot-device-tree.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-Add-mhu-and-rpmsg-client-to-u-boot-device-tree.patch
similarity index 92%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-Add-mhu-and-rpmsg-client-to-u-boot-device-tree.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-Add-mhu-and-rpmsg-client-to-u-boot-device-tree.patch
index 5747d78..f3b1503 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-Add-mhu-and-rpmsg-client-to-u-boot-device-tree.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-Add-mhu-and-rpmsg-client-to-u-boot-device-tree.patch
@@ -1,7 +1,7 @@
-From 4167fe9079b64aaaf3eefc53063d242af8d2badd Mon Sep 17 00:00:00 2001
+From 396229d3d29d9cfd5e2567be5427a9066072e32f Mon Sep 17 00:00:00 2001
 From: Emekcan <emekcan.aras@arm.com>
 Date: Mon, 12 Sep 2022 15:47:06 +0100
-Subject: [PATCH 23/42] Add mhu and rpmsg client to u-boot device tree
+Subject: [PATCH 20/33] Add mhu and rpmsg client to u-boot device tree
 
 Adds external system controller and mhu driver to u-boot
 device tree. This enables communication between host and
@@ -15,10 +15,10 @@
  1 file changed, 50 insertions(+)
 
 diff --git a/arch/arm/dts/corstone1000.dtsi b/arch/arm/dts/corstone1000.dtsi
-index 2c7185e139..61e0c33247 100644
+index a834d38454..18c4d1e19a 100644
 --- a/arch/arm/dts/corstone1000.dtsi
 +++ b/arch/arm/dts/corstone1000.dtsi
-@@ -161,6 +161,56 @@
+@@ -168,6 +168,56 @@
  			status = "disabled";
  		};
  
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-arm-corstone1000-esrt-support.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-arm-corstone1000-esrt-support.patch
similarity index 91%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-arm-corstone1000-esrt-support.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-arm-corstone1000-esrt-support.patch
index 9d569be..369613e 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-arm-corstone1000-esrt-support.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-arm-corstone1000-esrt-support.patch
@@ -1,7 +1,7 @@
-From f924535544515cdb350b2979b8c413cf221124b6 Mon Sep 17 00:00:00 2001
+From 0380dee4df6ef11bb08a9c44119b41c58afc562d Mon Sep 17 00:00:00 2001
 From: Satish Kumar <satish.kumar01@arm.com>
 Date: Wed, 30 Nov 2022 19:11:43 +0000
-Subject: [PATCH 24/42] arm/corstone1000: esrt support
+Subject: [PATCH 21/33] arm/corstone1000: esrt support
 
 The implementation is platform specific and would require
 change in future.
@@ -20,10 +20,10 @@
  3 files changed, 143 insertions(+), 9 deletions(-)
 
 diff --git a/include/efi_api.h b/include/efi_api.h
-index 9bd70b0f18..23e427236a 100644
+index 55a4c989fc..f267ab5110 100644
 --- a/include/efi_api.h
 +++ b/include/efi_api.h
-@@ -2030,7 +2030,7 @@ struct efi_firmware_image_descriptor {
+@@ -2086,7 +2086,7 @@ struct efi_firmware_image_descriptor {
  	u32 last_attempt_status;
  	u64 hardware_instance;
  	efi_firmware_image_dep_t *dependencies;
@@ -186,10 +186,10 @@
  	.set_image = efi_firmware_fit_set_image,
  	.check_image = efi_firmware_check_image_unsupported,
 diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c
-index 89f988b09c..08c742edbd 100644
+index bf90a98b5a..d20568c1c8 100644
 --- a/lib/efi_loader/efi_setup.c
 +++ b/lib/efi_loader/efi_setup.c
-@@ -167,14 +167,6 @@ static efi_status_t efi_init_capsule(void)
+@@ -178,14 +178,6 @@ static efi_status_t efi_init_capsule(void)
  	efi_status_t ret = EFI_SUCCESS;
  
  #if IS_ENABLED(CONFIG_TARGET_CORSTONE1000)
@@ -197,14 +197,14 @@
 -
 -	ffa_ret = efi_corstone1000_uboot_efi_started_event();
 -	if (ffa_ret)
--		debug("[efi_boottime][ERROR]: Failure to notify SE Proxy FW update service\n");
+-		log_err("Failure to notify SE Proxy FW update service\n");
 -	else
--		debug("[efi_boottime][INFO]: SE Proxy FW update service notified\n");
+-		debug("SE Proxy FW update service notified\n");
 -
  	ret = efi_corstone1000_alloc_capsule_shared_buf();
  	if (ret != EFI_SUCCESS) {
  		printf("EFI: Corstone-1000: cannot allocate caspsule shared buffer\n");
-@@ -288,6 +280,15 @@ efi_status_t efi_init_obj_list(void)
+@@ -304,6 +296,15 @@ efi_status_t efi_init_obj_list(void)
  	if (ret != EFI_SUCCESS)
  		goto out;
  
@@ -212,9 +212,9 @@
 +		int ffa_ret;
 +		ffa_ret = efi_corstone1000_uboot_efi_started_event();
 +		if (ffa_ret)
-+			debug("[efi_boottime][ERROR]: Failure to notify SE Proxy FW update service\n");
++			log_err("Failure to notify SE Proxy FW update service\n");
 +		else
-+			debug("[efi_boottime][INFO]: SE Proxy FW update service notified\n");
++			debug("SE Proxy FW update service notified\n");
 +#endif
 +
  	/* Initialize variable services */
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0026-corstone1000-enable-distro-booting-command.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-corstone1000-enable-distro-booting-command.patch
similarity index 72%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0026-corstone1000-enable-distro-booting-command.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-corstone1000-enable-distro-booting-command.patch
index 57751b1..6f04081 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0026-corstone1000-enable-distro-booting-command.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-corstone1000-enable-distro-booting-command.patch
@@ -1,26 +1,26 @@
-From 2a281a45b7dfc5c0e78f6256bf0ac122d825ce82 Mon Sep 17 00:00:00 2001
+From b3c9b57d862060b7d112725a567c0ff24184c6e1 Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Mon, 5 Dec 2022 17:02:32 +0000
-Subject: [PATCH 26/42] corstone1000: enable distro booting command
+Subject: [PATCH 22/33] corstone1000: enable distro booting command
 
 enable distro_bootcmd
 
 Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Upstream-Status: Pending [Not submitted to upstream yet]
 Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
+Upstream-Status: Pending [Not submitted to upstream yet]
 ---
  include/configs/corstone1000.h | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/include/configs/corstone1000.h b/include/configs/corstone1000.h
-index a015a1630e..c30a7bfa0c 100644
+index 1466507f80..8622565a87 100644
 --- a/include/configs/corstone1000.h
 +++ b/include/configs/corstone1000.h
-@@ -65,5 +65,6 @@
+@@ -55,5 +55,6 @@
  
  #include <config_distro_bootcmd.h>
  
-+#define CONFIG_EXTRA_ENV_SETTINGS BOOTENV
++#define CFG_EXTRA_ENV_SETTINGS BOOTENV
  
  #endif
 -- 
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0033-corstone1000-add-fwu-metadata-store-info.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-corstone1000-add-fwu-metadata-store-info.patch
similarity index 88%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0033-corstone1000-add-fwu-metadata-store-info.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-corstone1000-add-fwu-metadata-store-info.patch
index d4ed912..6b34796 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0033-corstone1000-add-fwu-metadata-store-info.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-corstone1000-add-fwu-metadata-store-info.patch
@@ -1,7 +1,7 @@
-From e2fb90ab15babd146dd47b7c946674cd5a5260a1 Mon Sep 17 00:00:00 2001
+From 10265c2006291f961cc4fdbbffdec6c5f52bf73b Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Wed, 1 Feb 2023 15:58:07 +0000
-Subject: [PATCH 33/42] corstone1000: add fwu-metadata store info
+Subject: [PATCH 23/33] corstone1000: add fwu-metadata store info
 
 Add fwu-mdata node and handle for the reference
 nvmxip-qspi.
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0034-fwu_metadata-make-sure-structures-are-packed.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-fwu_metadata-make-sure-structures-are-packed.patch
similarity index 91%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0034-fwu_metadata-make-sure-structures-are-packed.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-fwu_metadata-make-sure-structures-are-packed.patch
index fedc1f2..88566a6 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0034-fwu_metadata-make-sure-structures-are-packed.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-fwu_metadata-make-sure-structures-are-packed.patch
@@ -1,7 +1,7 @@
-From ac77679ffcb4b7fac01414c1492d3e1aae13f9be Mon Sep 17 00:00:00 2001
+From 046e54d0152987163355e33fe260419dfcf3b8bb Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Wed, 1 Feb 2023 16:13:24 +0000
-Subject: [PATCH 35/42] fwu_metadata: make sure structures are packed
+Subject: [PATCH 24/33] fwu_metadata: make sure structures are packed
 
 The fwu metadata in the metadata partitions
 should/are packed to guarantee that the info is
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-corstone1000-add-boot-index.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-corstone1000-add-boot-index.patch
new file mode 100644
index 0000000..45ec44f
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-corstone1000-add-boot-index.patch
@@ -0,0 +1,42 @@
+From 92f471d3195e3893f463b11d49f0db62793ca585 Mon Sep 17 00:00:00 2001
+From: Rui Miguel Silva <rui.silva@linaro.org>
+Date: Mon, 17 Jul 2023 17:04:10 +0100
+Subject: [PATCH 25/33] corstone1000: add boot index
+
+it is expected that the firmware that runs before
+u-boot somehow provide the information of the bank
+(index) of it is booting.
+We will need to extend tf-a to pass that info,
+meanwhile just set it to the default bank.
+
+Upstream-Status: Pending
+Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+---
+ board/armltd/corstone1000/corstone1000.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/board/armltd/corstone1000/corstone1000.c b/board/armltd/corstone1000/corstone1000.c
+index ecfd8366df..ba6d024b80 100644
+--- a/board/armltd/corstone1000/corstone1000.c
++++ b/board/armltd/corstone1000/corstone1000.c
+@@ -8,6 +8,7 @@
+ #include <common.h>
+ #include <cpu_func.h>
+ #include <dm.h>
++#include <fwu.h>
+ #include <netdev.h>
+ #include <dm/platform_data/serial_pl01x.h>
+ #include <asm/armv8/mmu.h>
+@@ -107,6 +108,7 @@ int dram_init_banksize(void)
+ 	return 0;
+ }
+ 
+-void reset_cpu(void)
++void fwu_plat_get_bootidx(uint *boot_idx)
+ {
++	*boot_idx = 0;
+ }
+-- 
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-efi_setup-discover-FF-A-bus-before-raising-EFI-start.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-efi_setup-discover-FF-A-bus-before-raising-EFI-start.patch
deleted file mode 100644
index 568d946..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-efi_setup-discover-FF-A-bus-before-raising-EFI-start.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 1f165f5b6e7d82611b55260b7254fee5fbebe539 Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Wed, 30 Nov 2022 19:14:52 +0000
-Subject: [PATCH 25/42] efi_setup: discover FF-A bus before raising EFI started
- event
-
-add FF-A discovery to efi_corstone1000_uboot_efi_started_event()
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Upstream-Status: Pending [Not submitted to upstream yet]
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- lib/efi_loader/efi_setup.c | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c
-index 08c742edbd..65bd626e49 100644
---- a/lib/efi_loader/efi_setup.c
-+++ b/lib/efi_loader/efi_setup.c
-@@ -142,9 +142,16 @@ static efi_status_t efi_init_secure_boot(void)
- static int efi_corstone1000_uboot_efi_started_event(void)
- {
- 	struct ffa_send_direct_data msg = {0};
-+	int ret;
- 
- 	log_debug("[%s]\n", __func__);
- 
-+	ret = ffa_bus_discover(NULL);
-+	if (ret != 0) {
-+		log_err("failure to discover FF-A bus\n");
-+		return ret;
-+	}
-+
- 	/*
- 	 * setting the kernel started  event arguments:
- 	 * setting capsule update interface ID(31:16)
-@@ -284,9 +291,9 @@ efi_status_t efi_init_obj_list(void)
- 		int ffa_ret;
- 		ffa_ret = efi_corstone1000_uboot_efi_started_event();
- 		if (ffa_ret)
--			debug("[efi_boottime][ERROR]: Failure to notify SE Proxy FW update service\n");
-+			log_err("Failure to notify SE Proxy FW update service\n");
- 		else
--			debug("[efi_boottime][INFO]: SE Proxy FW update service notified\n");
-+			debug("SE Proxy FW update service notified\n");
- #endif
- 
- 	/* Initialize variable services */
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0036-corstone1000-adjust-boot-bank-and-kernel-location.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0026-corstone1000-adjust-boot-bank-and-kernel-location.patch
similarity index 89%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0036-corstone1000-adjust-boot-bank-and-kernel-location.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0026-corstone1000-adjust-boot-bank-and-kernel-location.patch
index 277e988..9a889ea 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0036-corstone1000-adjust-boot-bank-and-kernel-location.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0026-corstone1000-adjust-boot-bank-and-kernel-location.patch
@@ -1,7 +1,7 @@
-From 1a54c12aa6eed28a1a4e4f50d1aeb92a31cf6f52 Mon Sep 17 00:00:00 2001
+From 6ea58b2450c72036551e59186888474bcb54a194 Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Wed, 1 Feb 2023 16:17:21 +0000
-Subject: [PATCH 37/42] corstone1000: adjust boot bank and kernel location
+Subject: [PATCH 26/33] corstone1000: adjust boot bank and kernel location
 
 Adjust in the env boot script the address of the
 bootbank with the new gpt layout, and also the
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0037-corstone1000-add-nvmxip-fwu-mdata-and-gpt-options.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0027-corstone1000-add-nvmxip-fwu-mdata-and-gpt-options.patch
similarity index 63%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0037-corstone1000-add-nvmxip-fwu-mdata-and-gpt-options.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0027-corstone1000-add-nvmxip-fwu-mdata-and-gpt-options.patch
index a0f2bb1..621b9d1 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0037-corstone1000-add-nvmxip-fwu-mdata-and-gpt-options.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0027-corstone1000-add-nvmxip-fwu-mdata-and-gpt-options.patch
@@ -1,7 +1,7 @@
-From 5e0b7e40c4702d5494378d3e120fce0136f69a79 Mon Sep 17 00:00:00 2001
+From af1bb3af4ff7bb9486dc9489d27605b8eded45b9 Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
-Date: Fri, 9 Jun 2023 13:28:06 +0100
-Subject: [PATCH 38/42] corstone1000: add nvmxip, fwu-mdata and gpt options
+Date: Mon, 17 Jul 2023 17:33:52 +0100
+Subject: [PATCH 27/33] corstone1000: add nvmxip, fwu-mdata and gpt options
 
 Enable the newest features: nvmxip, fwu-metadata and
 gpt. Commands to print the partition info, gpt info
@@ -10,29 +10,14 @@
 Upstream-Status: Pending
 Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
 ---
- configs/corstone1000_defconfig | 29 +++++++++++++++++++----------
- 1 file changed, 19 insertions(+), 10 deletions(-)
+ configs/corstone1000_defconfig | 21 ++++++++++++++-------
+ 1 file changed, 14 insertions(+), 7 deletions(-)
 
 diff --git a/configs/corstone1000_defconfig b/configs/corstone1000_defconfig
-index 1179bf5f3b..c38113ce95 100644
+index a92668389a..4c75a01818 100644
 --- a/configs/corstone1000_defconfig
 +++ b/configs/corstone1000_defconfig
-@@ -4,18 +4,20 @@ CONFIG_TARGET_CORSTONE1000=y
- CONFIG_TEXT_BASE=0x80000000
- CONFIG_SYS_MALLOC_LEN=0x2000000
- CONFIG_NR_DRAM_BANKS=1
-+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
-+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x83f00000
-+CONFIG_DM_GPIO=y
- CONFIG_DEFAULT_DEVICE_TREE="corstone1000-mps3"
- CONFIG_SYS_PROMPT="corstone1000# "
- CONFIG_IDENT_STRING=" corstone1000 aarch64 "
- CONFIG_SYS_LOAD_ADDR=0x82100000
-+CONFIG_FWU_NUM_IMAGES_PER_BANK=4
- CONFIG_DISTRO_DEFAULTS=y
--CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
--CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x83f00000
- CONFIG_FIT=y
+@@ -15,7 +15,7 @@ CONFIG_DISTRO_DEFAULTS=y
  CONFIG_BOOTDELAY=3
  CONFIG_USE_BOOTARGS=y
  CONFIG_BOOTARGS="console=ttyAMA0 loglevel=9 ip=dhcp earlyprintk"
@@ -41,7 +26,7 @@
  CONFIG_CONSOLE_RECORD=y
  CONFIG_LOGLEVEL=7
  # CONFIG_DISPLAY_CPUINFO is not set
-@@ -23,11 +25,15 @@ CONFIG_LOGLEVEL=7
+@@ -23,11 +23,15 @@ CONFIG_LOGLEVEL=7
  CONFIG_SYS_MAXARGS=64
  CONFIG_SYS_CBSIZE=512
  # CONFIG_CMD_CONSOLE is not set
@@ -57,18 +42,12 @@
  CONFIG_CMD_USB=y
  # CONFIG_CMD_SETEXPR is not set
  # CONFIG_CMD_NFS is not set
-@@ -39,27 +45,30 @@ CONFIG_OF_CONTROL=y
- CONFIG_VERSION_VARIABLE=y
- CONFIG_NET_RANDOM_ETHADDR=y
+@@ -41,12 +45,7 @@ CONFIG_NET_RANDOM_ETHADDR=y
  CONFIG_REGMAP=y
--CONFIG_MISC=y
-+CONFIG_ARM_FFA_TRANSPORT=y
+ CONFIG_MISC=y
  CONFIG_CLK=y
 -CONFIG_CMD_MMC=y
 -CONFIG_DM_MMC=y
-+CONFIG_FWU_MDATA=y
-+CONFIG_FWU_MDATA_GPT_BLK=y
-+CONFIG_MISC=y
  CONFIG_ARM_PL180_MMCI=y
 -CONFIG_MMC_SDHCI_ADMA_HELPERS=y
 -CONFIG_MMC_WRITE=y
@@ -76,25 +55,21 @@
  CONFIG_PHYLIB=y
  CONFIG_PHY_SMSC=y
  CONFIG_SMC911X=y
-+CONFIG_NVMXIP_QSPI=y
- CONFIG_PHY=y
- CONFIG_RAM=y
- CONFIG_DM_RTC=y
- CONFIG_RTC_EMULATION=y
- CONFIG_DM_SERIAL=y
-+CONFIG_SYSRESET=y
- CONFIG_USB=y
- CONFIG_USB_ISP1760=y
- CONFIG_ERRNO_STR=y
- CONFIG_EFI_MM_COMM_TEE=y
- CONFIG_ARM_FFA_TRANSPORT=y
+@@ -65,4 +64,12 @@ CONFIG_FFA_SHARED_MM_BUF_OFFSET=0
+ CONFIG_FFA_SHARED_MM_BUF_ADDR=0x02000000
  CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
-+CONFIG_EFI_CAPSULE_ON_DISK=y
-+CONFIG_EFI_IGNORE_OSINDICATIONS=y
  CONFIG_EFI_CAPSULE_FIRMWARE_FIT=y
 -CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
++CONFIG_FWU_NUM_IMAGES_PER_BANK=4
++CONFIG_FWU_MDATA=y
++CONFIG_FWU_MDATA_GPT_BLK=y
++CONFIG_SYSRESET=y
++CONFIG_EFI_CAPSULE_ON_DISK=y
++CONFIG_EFI_IGNORE_OSINDICATIONS=y
 +CONFIG_FWU_MULTI_BANK_UPDATE=y
 +# CONFIG_TOOLS_MKEFICAPSULE is not set
++CONFIG_DM_GPIO=y
+\ No newline at end of file
 -- 
 2.25.1
 
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0027-drivers-mtd-nvmxip-introduce-NVM-XIP-block-storage-e.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0027-drivers-mtd-nvmxip-introduce-NVM-XIP-block-storage-e.patch
deleted file mode 100644
index 721ee15..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0027-drivers-mtd-nvmxip-introduce-NVM-XIP-block-storage-e.patch
+++ /dev/null
@@ -1,455 +0,0 @@
-From c7567aaf75a66e204d492a8f6e2a3b4bfb8a7e45 Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Fri, 14 Apr 2023 13:23:25 +0100
-Subject: [PATCH 27/42] drivers/mtd/nvmxip: introduce NVM XIP block storage
- emulation
-
-add block storage emulation for NVM XIP flash devices
-
-Some paltforms such as Corstone-1000 need to see NVM XIP raw flash
-as a block storage device with read only capability.
-
-Here NVM flash devices are devices with addressable
-memory (e.g: QSPI NOR flash).
-
-The implementation is generic and can be used by different platforms.
-
-Two drivers are provided as follows.
-
-  nvmxip-blk :
-
-    a generic block driver allowing to read from the XIP flash
-
-  nvmxip Uclass driver :
-
-        When a device is described in the DT and associated with
-        UCLASS_NVMXIP, the Uclass creates a block device and binds it with
-	 the nvmxip-blk.
-
-Platforms can use multiple NVM XIP devices at the same time by defining a
-DT node for each one of them.
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Upstream-Status: Backport [https://github.com/u-boot/u-boot/commit/c9c2c95d4cd27fe0cd41fe13a863899d268f973c]
----
- MAINTAINERS                         |   6 ++
- doc/develop/driver-model/index.rst  |   1 +
- doc/develop/driver-model/nvmxip.rst |  48 +++++++++++
- drivers/block/blk-uclass.c          |   1 +
- drivers/mtd/Kconfig                 |   2 +
- drivers/mtd/Makefile                |   1 +
- drivers/mtd/nvmxip/Kconfig          |  13 +++
- drivers/mtd/nvmxip/Makefile         |   7 ++
- drivers/mtd/nvmxip/nvmxip-uclass.c  |  67 ++++++++++++++++
- drivers/mtd/nvmxip/nvmxip.c         | 119 ++++++++++++++++++++++++++++
- drivers/mtd/nvmxip/nvmxip.h         |  32 ++++++++
- include/dm/uclass-id.h              |   1 +
- 12 files changed, 298 insertions(+)
- create mode 100644 doc/develop/driver-model/nvmxip.rst
- create mode 100644 drivers/mtd/nvmxip/Kconfig
- create mode 100644 drivers/mtd/nvmxip/Makefile
- create mode 100644 drivers/mtd/nvmxip/nvmxip-uclass.c
- create mode 100644 drivers/mtd/nvmxip/nvmxip.c
- create mode 100644 drivers/mtd/nvmxip/nvmxip.h
-
-diff --git a/MAINTAINERS b/MAINTAINERS
-index a2f60a3b93..1dbfab5f43 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
-@@ -1202,6 +1202,12 @@ F:	cmd/nvme.c
- F:	include/nvme.h
- F:	doc/develop/driver-model/nvme.rst
- 
-+NVMXIP
-+M:	Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+S:	Maintained
-+F:	doc/develop/driver-model/nvmxip.rst
-+F:	drivers/mtd/nvmxip/
-+
- NVMEM
- M:	Sean Anderson <seanga2@gmail.com>
- S:	Maintained
-diff --git a/doc/develop/driver-model/index.rst b/doc/develop/driver-model/index.rst
-index 7366ef818c..8e12bbd936 100644
---- a/doc/develop/driver-model/index.rst
-+++ b/doc/develop/driver-model/index.rst
-@@ -20,6 +20,7 @@ subsystems
-    livetree
-    migration
-    nvme
-+   nvmxip
-    of-plat
-    pci-info
-    pmic-framework
-diff --git a/doc/develop/driver-model/nvmxip.rst b/doc/develop/driver-model/nvmxip.rst
-new file mode 100644
-index 0000000000..fe087b13d2
---- /dev/null
-+++ b/doc/develop/driver-model/nvmxip.rst
-@@ -0,0 +1,48 @@
-+.. SPDX-License-Identifier: GPL-2.0+
-+
-+NVM XIP Block Storage Emulation Driver
-+=======================================
-+
-+Summary
-+-------
-+
-+Non-Volatile Memory devices with addressable memory (e.g: QSPI NOR flash) could
-+be used for block storage needs (e.g: parsing a GPT layout in a raw QSPI NOR flash).
-+
-+The NVMXIP Uclass provides this functionality and can be used for any 64-bit platform.
-+
-+The NVMXIP Uclass provides the following drivers:
-+
-+      nvmxip-blk block driver:
-+
-+        A generic block driver allowing to read from the XIP flash.
-+	The driver belongs to UCLASS_BLK.
-+	The driver implemented by drivers/mtd/nvmxip/nvmxip.c
-+
-+      nvmxip Uclass driver:
-+
-+        When a device is described in the DT and associated with UCLASS_NVMXIP,
-+        the Uclass creates a block device and binds it with the nvmxip-blk.
-+	The Uclass driver implemented by drivers/mtd/nvmxip/nvmxip-uclass.c
-+
-+    The implementation is generic and can be used by different platforms.
-+
-+Supported hardware
-+--------------------------------
-+
-+Any 64-bit plaform.
-+
-+Configuration
-+----------------------
-+
-+config NVMXIP
-+	  This option allows the emulation of a block storage device
-+	  on top of a direct access non volatile memory XIP flash devices.
-+	  This support provides the read operation.
-+	  This option provides the block storage driver nvmxip-blk which
-+	  handles the read operation. This driver is HW agnostic and can support
-+	  multiple flash devices at the same time.
-+
-+Contributors
-+------------
-+   * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-diff --git a/drivers/block/blk-uclass.c b/drivers/block/blk-uclass.c
-index c69fc4d518..e8ab576c32 100644
---- a/drivers/block/blk-uclass.c
-+++ b/drivers/block/blk-uclass.c
-@@ -28,6 +28,7 @@ static struct {
- 	{ UCLASS_AHCI, "sata" },
- 	{ UCLASS_HOST, "host" },
- 	{ UCLASS_NVME, "nvme" },
-+	{ UCLASS_NVMXIP, "nvmxip" },
- 	{ UCLASS_EFI_MEDIA, "efi" },
- 	{ UCLASS_EFI_LOADER, "efiloader" },
- 	{ UCLASS_VIRTIO, "virtio" },
-diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
-index fcdb450f77..0537ac64e3 100644
---- a/drivers/mtd/Kconfig
-+++ b/drivers/mtd/Kconfig
-@@ -224,4 +224,6 @@ source "drivers/mtd/spi/Kconfig"
- 
- source "drivers/mtd/ubi/Kconfig"
- 
-+source "drivers/mtd/nvmxip/Kconfig"
-+
- endmenu
-diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
-index 3a78590aaa..c638980ea2 100644
---- a/drivers/mtd/Makefile
-+++ b/drivers/mtd/Makefile
-@@ -25,6 +25,7 @@ obj-y += nand/
- obj-y += onenand/
- obj-y += spi/
- obj-$(CONFIG_MTD_UBI) += ubi/
-+obj-$(CONFIG_NVMXIP) += nvmxip/
- 
- #SPL/TPL build
- else
-diff --git a/drivers/mtd/nvmxip/Kconfig b/drivers/mtd/nvmxip/Kconfig
-new file mode 100644
-index 0000000000..ef53fc3c79
---- /dev/null
-+++ b/drivers/mtd/nvmxip/Kconfig
-@@ -0,0 +1,13 @@
-+# SPDX-License-Identifier: GPL-2.0+
-+#
-+# Copyright 2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
-+# Authors:
-+#   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+
-+config NVMXIP
-+	bool "NVM XIP devices support"
-+	select BLK
-+	help
-+	  This option allows the emulation of a block storage device
-+	  on top of a direct access non volatile memory XIP flash devices.
-+	  This support provides the read operation.
-diff --git a/drivers/mtd/nvmxip/Makefile b/drivers/mtd/nvmxip/Makefile
-new file mode 100644
-index 0000000000..07890982c7
---- /dev/null
-+++ b/drivers/mtd/nvmxip/Makefile
-@@ -0,0 +1,7 @@
-+# SPDX-License-Identifier: GPL-2.0+
-+#
-+# Copyright 2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
-+# Authors:
-+#   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+
-+obj-y += nvmxip-uclass.o nvmxip.o
-diff --git a/drivers/mtd/nvmxip/nvmxip-uclass.c b/drivers/mtd/nvmxip/nvmxip-uclass.c
-new file mode 100644
-index 0000000000..9f96041e3d
---- /dev/null
-+++ b/drivers/mtd/nvmxip/nvmxip-uclass.c
-@@ -0,0 +1,67 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright 2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
-+ *
-+ * Authors:
-+ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#include <common.h>
-+#include <dm.h>
-+#include <log.h>
-+#include <linux/bitops.h>
-+#include "nvmxip.h"
-+
-+/* LBA Macros */
-+
-+#define DEFAULT_LBA_SHIFT 10 /* 1024 bytes per block */
-+#define DEFAULT_LBA_COUNT 1024 /* block count */
-+
-+#define DEFAULT_LBA_SZ BIT(DEFAULT_LBA_SHIFT)
-+
-+/**
-+ * nvmxip_post_bind() - post binding treatments
-+ * @dev:	the NVMXIP device
-+ *
-+ * Create and probe a child block device.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int nvmxip_post_bind(struct udevice *udev)
-+{
-+	int ret;
-+	struct udevice *bdev = NULL;
-+	char bdev_name[NVMXIP_BLKDEV_NAME_SZ + 1];
-+	int devnum;
-+
-+	devnum = uclass_id_count(UCLASS_NVMXIP);
-+	snprintf(bdev_name, NVMXIP_BLKDEV_NAME_SZ, "blk#%d", devnum);
-+
-+	ret = blk_create_devicef(udev, NVMXIP_BLKDRV_NAME, bdev_name, UCLASS_NVMXIP,
-+				 devnum, DEFAULT_LBA_SZ,
-+				 DEFAULT_LBA_COUNT, &bdev);
-+	if (ret) {
-+		log_err("[%s]: failure during creation of the block device %s, error %d\n",
-+			udev->name, bdev_name, ret);
-+		return ret;
-+	}
-+
-+	ret = blk_probe_or_unbind(bdev);
-+	if (ret) {
-+		log_err("[%s]: failure during probing the block device %s, error %d\n",
-+			udev->name, bdev_name, ret);
-+		return ret;
-+	}
-+
-+	log_info("[%s]: the block device %s ready for use\n", udev->name, bdev_name);
-+
-+	return 0;
-+}
-+
-+UCLASS_DRIVER(nvmxip) = {
-+	.name	   = "nvmxip",
-+	.id	   = UCLASS_NVMXIP,
-+	.post_bind = nvmxip_post_bind,
-+};
-diff --git a/drivers/mtd/nvmxip/nvmxip.c b/drivers/mtd/nvmxip/nvmxip.c
-new file mode 100644
-index 0000000000..a359e3b482
---- /dev/null
-+++ b/drivers/mtd/nvmxip/nvmxip.c
-@@ -0,0 +1,119 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright 2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
-+ *
-+ * Authors:
-+ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#include <common.h>
-+#include <dm.h>
-+#include <log.h>
-+#include <mapmem.h>
-+#include <asm/io.h>
-+#include <linux/bitops.h>
-+#include <linux/errno.h>
-+#include "nvmxip.h"
-+
-+/**
-+ * nvmxip_mmio_rawread() - read from the XIP flash
-+ * @address:	address of the data
-+ * @value:	pointer to where storing the value read
-+ *
-+ * Read raw data from the XIP flash.
-+ *
-+ * Return:
-+ *
-+ * Always return 0.
-+ */
-+static int nvmxip_mmio_rawread(const phys_addr_t address, u64 *value)
-+{
-+	*value = readq(address);
-+	return 0;
-+}
-+
-+/**
-+ * nvmxip_blk_read() - block device read operation
-+ * @dev:	the block device
-+ * @blknr:	first block number to read from
-+ * @blkcnt:	number of blocks to read
-+ * @buffer:	destination buffer
-+ *
-+ * Read data from the block storage device.
-+ *
-+ * Return:
-+ *
-+ * number of blocks read on success. Otherwise, failure
-+ */
-+static ulong nvmxip_blk_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt, void *buffer)
-+{
-+	struct nvmxip_plat *plat = dev_get_plat(dev->parent);
-+	struct blk_desc *desc = dev_get_uclass_plat(dev);
-+	/* number of the u64 words to read */
-+	u32 qwords = (blkcnt * desc->blksz) / sizeof(u64);
-+	/* physical address of the first block to read */
-+	phys_addr_t blkaddr = plat->phys_base + blknr * desc->blksz;
-+	u64 *virt_blkaddr;
-+	u64 *pdst = buffer;
-+	uint qdata_idx;
-+
-+	if (!pdst)
-+		return -EINVAL;
-+
-+	log_debug("[%s]: reading from blknr: %lu , blkcnt: %lu\n", dev->name, blknr, blkcnt);
-+
-+	virt_blkaddr = map_sysmem(blkaddr, 0);
-+
-+	/* assumption: the data is virtually contiguous */
-+
-+	for (qdata_idx = 0 ; qdata_idx < qwords ; qdata_idx++)
-+		nvmxip_mmio_rawread((phys_addr_t)(virt_blkaddr + qdata_idx), pdst++);
-+
-+	log_debug("[%s]:     src[0]: 0x%llx , dst[0]: 0x%llx , src[-1]: 0x%llx , dst[-1]: 0x%llx\n",
-+		  dev->name,
-+		  *virt_blkaddr,
-+		  *(u64 *)buffer,
-+		  *(u64 *)((u8 *)virt_blkaddr + desc->blksz * blkcnt - sizeof(u64)),
-+		  *(u64 *)((u8 *)buffer + desc->blksz * blkcnt - sizeof(u64)));
-+
-+	unmap_sysmem(virt_blkaddr);
-+
-+	return blkcnt;
-+}
-+
-+/**
-+ * nvmxip_blk_probe() - block storage device probe
-+ * @dev:	the block storage device
-+ *
-+ * Initialize the block storage descriptor.
-+ *
-+ * Return:
-+ *
-+ * Always return 0.
-+ */
-+static int nvmxip_blk_probe(struct udevice *dev)
-+{
-+	struct nvmxip_plat *plat = dev_get_plat(dev->parent);
-+	struct blk_desc *desc = dev_get_uclass_plat(dev);
-+
-+	desc->lba = plat->lba;
-+	desc->log2blksz = plat->lba_shift;
-+	desc->blksz = BIT(plat->lba_shift);
-+	desc->bdev = dev;
-+
-+	log_debug("[%s]: block storage layout\n    lbas: %lu , log2blksz: %d, blksz: %lu\n",
-+		  dev->name, desc->lba, desc->log2blksz, desc->blksz);
-+
-+	return 0;
-+}
-+
-+static const struct blk_ops nvmxip_blk_ops = {
-+	.read	= nvmxip_blk_read,
-+};
-+
-+U_BOOT_DRIVER(nvmxip_blk) = {
-+	.name	= NVMXIP_BLKDRV_NAME,
-+	.id	= UCLASS_BLK,
-+	.probe	= nvmxip_blk_probe,
-+	.ops	= &nvmxip_blk_ops,
-+};
-diff --git a/drivers/mtd/nvmxip/nvmxip.h b/drivers/mtd/nvmxip/nvmxip.h
-new file mode 100644
-index 0000000000..f4ef37725d
---- /dev/null
-+++ b/drivers/mtd/nvmxip/nvmxip.h
-@@ -0,0 +1,32 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright 2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
-+ *
-+ * Authors:
-+ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#ifndef __DRIVER_NVMXIP_H__
-+#define __DRIVER_NVMXIP_H__
-+
-+#include <blk.h>
-+
-+#define NVMXIP_BLKDRV_NAME    "nvmxip-blk"
-+#define NVMXIP_BLKDEV_NAME_SZ 20
-+
-+/**
-+ * struct nvmxip_plat - the NVMXIP driver plat
-+ *
-+ * @phys_base:	NVM XIP device base address
-+ * @lba_shift:	block size shift count
-+ * @lba:	number of blocks
-+ *
-+ * The NVMXIP information read from the DT.
-+ */
-+struct nvmxip_plat {
-+	phys_addr_t phys_base;
-+	u32 lba_shift;
-+	lbaint_t lba;
-+};
-+
-+#endif /* __DRIVER_NVMXIP_H__ */
-diff --git a/include/dm/uclass-id.h b/include/dm/uclass-id.h
-index fa08a66ac8..f3564a49d9 100644
---- a/include/dm/uclass-id.h
-+++ b/include/dm/uclass-id.h
-@@ -92,6 +92,7 @@ enum uclass_id {
- 	UCLASS_NOP,		/* No-op devices */
- 	UCLASS_NORTHBRIDGE,	/* Intel Northbridge / SDRAM controller */
- 	UCLASS_NVME,		/* NVM Express device */
-+	UCLASS_NVMXIP,		/* NVM XIP devices */
- 	UCLASS_P2SB,		/* (x86) Primary-to-Sideband Bus */
- 	UCLASS_PANEL,		/* Display panel, such as an LCD */
- 	UCLASS_PANEL_BACKLIGHT,	/* Backlight controller for panel */
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0028-drivers-mtd-nvmxip-introduce-QSPI-XIP-driver.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0028-drivers-mtd-nvmxip-introduce-QSPI-XIP-driver.patch
deleted file mode 100644
index aa3db9c..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0028-drivers-mtd-nvmxip-introduce-QSPI-XIP-driver.patch
+++ /dev/null
@@ -1,271 +0,0 @@
-From 4b71ade0e8e5ad3692b1decb5c1d0c9472827535 Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Fri, 14 Apr 2023 13:44:25 +0100
-Subject: [PATCH 28/42] drivers/mtd/nvmxip: introduce QSPI XIP driver
-
-add nvmxip_qspi driver under UCLASS_NVMXIP
-
-The device associated with this driver is the parent of the blk#<id> device
-nvmxip_qspi can be reused by other platforms. If the platform
-has custom settings to apply before using the flash, then the platform
-can provide its own parent driver belonging to UCLASS_NVMXIP and reuse
-nvmxip-blk driver. The custom driver can be implemented like nvmxip_qspi in
-addition to the platform custom settings.
-
-Platforms can use multiple NVM XIP devices at the same time by defining a
-DT node for each one of them.
-
-For more details please refer to doc/develop/driver-model/nvmxip_qspi.rst
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Upstream-Status: Backport [https://github.com/u-boot/u-boot/commit/c9c2c95d4cd27fe0cd41fe13a863899d268f973c]
----
- MAINTAINERS                                   |  1 +
- doc/develop/driver-model/nvmxip.rst           | 45 +++++++++++-
- .../nvmxip/nvmxip_qspi.txt                    | 56 +++++++++++++++
- drivers/mtd/nvmxip/Kconfig                    |  6 ++
- drivers/mtd/nvmxip/Makefile                   |  1 +
- drivers/mtd/nvmxip/nvmxip_qspi.c              | 70 +++++++++++++++++++
- 6 files changed, 178 insertions(+), 1 deletion(-)
- create mode 100644 doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt
- create mode 100644 drivers/mtd/nvmxip/nvmxip_qspi.c
-
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 1dbfab5f43..f81654346e 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
-@@ -1206,6 +1206,7 @@ NVMXIP
- M:	Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
- S:	Maintained
- F:	doc/develop/driver-model/nvmxip.rst
-+F:	doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt
- F:	drivers/mtd/nvmxip/
- 
- NVMEM
-diff --git a/doc/develop/driver-model/nvmxip.rst b/doc/develop/driver-model/nvmxip.rst
-index fe087b13d2..09afdbcccf 100644
---- a/doc/develop/driver-model/nvmxip.rst
-+++ b/doc/develop/driver-model/nvmxip.rst
-@@ -25,7 +25,33 @@ The NVMXIP Uclass provides the following drivers:
-         the Uclass creates a block device and binds it with the nvmxip-blk.
- 	The Uclass driver implemented by drivers/mtd/nvmxip/nvmxip-uclass.c
- 
--    The implementation is generic and can be used by different platforms.
-+      nvmxip_qspi driver :
-+
-+        The driver probed with the DT and is the parent of the blk#<id> device.
-+        nvmxip_qspi can be reused by other platforms. If the platform
-+        has custom settings to apply before using the flash, then the platform
-+        can provide its own parent driver belonging to UCLASS_NVMXIP and reuse
-+        nvmxip-blk. The custom driver can be implemented like nvmxip_qspi in
-+        addition to the platform custom settings.
-+	The nvmxip_qspi driver belongs to UCLASS_NVMXIP.
-+	The driver implemented by drivers/mtd/nvmxip/nvmxip_qspi.c
-+
-+	For example, if we have two NVMXIP devices described in the DT
-+	The devices hierarchy is as follows:
-+
-+::
-+
-+   => dm tree
-+
-+        Class     Index  Probed  Driver                Name
-+    -----------------------------------------------------------
-+    ...
-+     nvmxip        0  [ + ]   nvmxip_qspi           |-- nvmxip-qspi1@08000000
-+     blk           3  [ + ]   nvmxip-blk                    |   `-- nvmxip-qspi1@08000000.blk#1
-+     nvmxip        1  [ + ]   nvmxip_qspi           |-- nvmxip-qspi2@08200000
-+     blk           4  [ + ]   nvmxip-blk                    |   `-- nvmxip-qspi2@08200000.blk#2
-+
-+The implementation is generic and can be used by different platforms.
- 
- Supported hardware
- --------------------------------
-@@ -43,6 +69,23 @@ config NVMXIP
- 	  handles the read operation. This driver is HW agnostic and can support
- 	  multiple flash devices at the same time.
- 
-+config NVMXIP_QSPI
-+	  This option allows the emulation of a block storage device on top of a QSPI XIP flash.
-+	  Any platform that needs to emulate one or multiple QSPI XIP flash devices can turn this
-+	  option on to enable the functionality. NVMXIP config is selected automatically.
-+	  Platforms that need to add custom treatments before accessing to the flash, can
-+	  write their own driver (same as nvmxip_qspi in addition to the custom settings).
-+
-+Device Tree nodes
-+--------------------
-+
-+Multiple QSPI XIP flash devices can be used at the same time by describing them through DT
-+nodes.
-+
-+Please refer to the documentation of the DT binding at:
-+
-+doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt
-+
- Contributors
- ------------
-    * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-diff --git a/doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt b/doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt
-new file mode 100644
-index 0000000000..cc60e9efdc
---- /dev/null
-+++ b/doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt
-@@ -0,0 +1,56 @@
-+Specifying NVMXIP information for devices
-+======================================
-+
-+QSPI XIP flash device nodes
-+---------------------------
-+
-+Each flash device should have its own node.
-+
-+Each node must specify the following fields:
-+
-+1)
-+		compatible = "nvmxip,qspi";
-+
-+This allows to bind the flash device with the nvmxip_qspi driver
-+If a platform has its own driver, please provide your own compatible
-+string.
-+
-+2)
-+		reg = <0x0 0x08000000 0x0 0x00200000>;
-+
-+The start address and size of the flash device. The values give here are an
-+example (when the cell size is 2).
-+
-+When cell size is 1, the reg field looks like this:
-+
-+		reg = <0x08000000 0x00200000>;
-+
-+3)
-+
-+		lba_shift = <9>;
-+
-+The number of bit shifts used to calculate the size in bytes of one block.
-+In this example the block size is 1 << 9 = 2 ^ 9 = 512 bytes
-+
-+4)
-+
-+		lba = <4096>;
-+
-+The number of blocks.
-+
-+Example of multiple flash devices
-+----------------------------------------------------
-+
-+	nvmxip-qspi1@08000000 {
-+		compatible = "nvmxip,qspi";
-+		reg = <0x0 0x08000000 0x0 0x00200000>;
-+		lba_shift = <9>;
-+		lba = <4096>;
-+	};
-+
-+	nvmxip-qspi2@08200000 {
-+		compatible = "nvmxip,qspi";
-+		reg = <0x0 0x08200000 0x0 0x00100000>;
-+		lba_shift = <9>;
-+		lba = <2048>;
-+	};
-diff --git a/drivers/mtd/nvmxip/Kconfig b/drivers/mtd/nvmxip/Kconfig
-index ef53fc3c79..3ef7105026 100644
---- a/drivers/mtd/nvmxip/Kconfig
-+++ b/drivers/mtd/nvmxip/Kconfig
-@@ -11,3 +11,9 @@ config NVMXIP
- 	  This option allows the emulation of a block storage device
- 	  on top of a direct access non volatile memory XIP flash devices.
- 	  This support provides the read operation.
-+
-+config NVMXIP_QSPI
-+	bool "QSPI XIP  support"
-+	select NVMXIP
-+	help
-+	  This option allows the emulation of a block storage device on top of a QSPI XIP flash
-diff --git a/drivers/mtd/nvmxip/Makefile b/drivers/mtd/nvmxip/Makefile
-index 07890982c7..54eacc102e 100644
---- a/drivers/mtd/nvmxip/Makefile
-+++ b/drivers/mtd/nvmxip/Makefile
-@@ -5,3 +5,4 @@
- #   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
- 
- obj-y += nvmxip-uclass.o nvmxip.o
-+obj-$(CONFIG_NVMXIP_QSPI) += nvmxip_qspi.o
-diff --git a/drivers/mtd/nvmxip/nvmxip_qspi.c b/drivers/mtd/nvmxip/nvmxip_qspi.c
-new file mode 100644
-index 0000000000..7221fd1cb4
---- /dev/null
-+++ b/drivers/mtd/nvmxip/nvmxip_qspi.c
-@@ -0,0 +1,70 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright 2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
-+ *
-+ * Authors:
-+ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#include <common.h>
-+#include <dm.h>
-+#include <fdt_support.h>
-+#include <linux/errno.h>
-+#include "nvmxip.h"
-+
-+#include <asm/global_data.h>
-+DECLARE_GLOBAL_DATA_PTR;
-+
-+#define NVMXIP_QSPI_DRV_NAME "nvmxip_qspi"
-+
-+/**
-+ * nvmxip_qspi_of_to_plat() -read from DT
-+ * @dev:	the NVMXIP device
-+ *
-+ * Read from the DT the NVMXIP information.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int nvmxip_qspi_of_to_plat(struct udevice *dev)
-+{
-+	struct nvmxip_plat *plat = dev_get_plat(dev);
-+	int ret;
-+
-+	plat->phys_base = (phys_addr_t)dev_read_addr(dev);
-+	if (plat->phys_base == FDT_ADDR_T_NONE) {
-+		log_err("[%s]: can not get base address from device tree\n", dev->name);
-+		return -EINVAL;
-+	}
-+
-+	ret = dev_read_u32(dev, "lba_shift", &plat->lba_shift);
-+	if (ret) {
-+		log_err("[%s]: can not get lba_shift from device tree\n", dev->name);
-+		return -EINVAL;
-+	}
-+
-+	ret = dev_read_u32(dev, "lba", (u32 *)&plat->lba);
-+	if (ret) {
-+		log_err("[%s]: can not get lba from device tree\n", dev->name);
-+		return -EINVAL;
-+	}
-+
-+	log_debug("[%s]: XIP device base addr: 0x%llx , lba_shift: %d , lbas: %lu\n",
-+		  dev->name, plat->phys_base, plat->lba_shift, plat->lba);
-+
-+	return 0;
-+}
-+
-+static const struct udevice_id nvmxip_qspi_ids[] = {
-+	{ .compatible = "nvmxip,qspi" },
-+	{ /* sentinel */ }
-+};
-+
-+U_BOOT_DRIVER(nvmxip_qspi) = {
-+	.name = NVMXIP_QSPI_DRV_NAME,
-+	.id = UCLASS_NVMXIP,
-+	.of_match = nvmxip_qspi_ids,
-+	.of_to_plat = nvmxip_qspi_of_to_plat,
-+	.plat_auto = sizeof(struct nvmxip_plat),
-+};
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0038-nvmxip-move-header-to-include.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0028-nvmxip-move-header-to-include.patch
similarity index 82%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0038-nvmxip-move-header-to-include.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0028-nvmxip-move-header-to-include.patch
index b745fe9..aac5a1d 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0038-nvmxip-move-header-to-include.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0028-nvmxip-move-header-to-include.patch
@@ -1,7 +1,7 @@
-From d280414229d7bbee368f40be6cde17e4f251dd0f Mon Sep 17 00:00:00 2001
+From 050c2d8577fd98f20c8b96dab3e4c42c8508b6bc Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Fri, 9 Jun 2023 13:31:53 +0100
-Subject: [PATCH 39/42] nvmxip: move header to include
+Subject: [PATCH 28/33] nvmxip: move header to include
 
 Move header to include to allow external code
 to get the internal bdev structures to access
@@ -20,10 +20,10 @@
  rename {drivers/mtd/nvmxip => include}/nvmxip.h (100%)
 
 diff --git a/disk/part.c b/disk/part.c
-index 5ee60a7fb5..593dd0004f 100644
+index 35300df590..f57dce7a29 100644
 --- a/disk/part.c
 +++ b/disk/part.c
-@@ -270,6 +270,9 @@ static void print_part_header(const char *type, struct blk_desc *dev_desc)
+@@ -271,6 +271,9 @@ static void print_part_header(const char *type, struct blk_desc *dev_desc)
  	case UCLASS_NVME:
  		puts ("NVMe");
  		break;
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0039-corstone1000-set-kernel_addr-based-on-boot_idx.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0029-corstone1000-set-kernel_addr-based-on-boot_idx.patch
similarity index 89%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0039-corstone1000-set-kernel_addr-based-on-boot_idx.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0029-corstone1000-set-kernel_addr-based-on-boot_idx.patch
index ba2e5e1..6ad4648 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0039-corstone1000-set-kernel_addr-based-on-boot_idx.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0029-corstone1000-set-kernel_addr-based-on-boot_idx.patch
@@ -1,7 +1,7 @@
-From e7cb997fd59c883572994b504dbc77bc670de8f7 Mon Sep 17 00:00:00 2001
+From c547f3335ddff71a7f4915dc0c99ccbcdbf24b54 Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
-Date: Thu, 23 Feb 2023 10:35:00 +0000
-Subject: [PATCH 40/42] corstone1000: set kernel_addr based on boot_idx
+Date: Tue, 18 Jul 2023 12:14:47 +0100
+Subject: [PATCH 29/33] corstone1000: set kernel_addr based on boot_idx
 
 We need to distinguish between boot banks and from which
 partition to load the kernel+initramfs to memory.
@@ -19,17 +19,19 @@
  3 files changed, 58 insertions(+), 9 deletions(-)
 
 diff --git a/board/armltd/corstone1000/corstone1000.c b/board/armltd/corstone1000/corstone1000.c
-index 0a58ccd99c..b767195ccc 100644
+index ba6d024b80..a045262ebb 100644
 --- a/board/armltd/corstone1000/corstone1000.c
 +++ b/board/armltd/corstone1000/corstone1000.c
-@@ -5,13 +5,23 @@
+@@ -5,15 +5,25 @@
   * Rui Miguel Silva <rui.silva@linaro.org>
   */
  
 +#include <blk.h>
  #include <common.h>
+ #include <cpu_func.h>
  #include <dm.h>
 +#include <env.h>
+ #include <fwu.h>
  #include <netdev.h>
 +#include <nvmxip.h>
 +#include <part.h>
@@ -46,9 +48,9 @@
  static struct mm_region corstone1000_mem_map[] = {
  	{
  		/* CVM */
-@@ -108,5 +118,51 @@ int dram_init_banksize(void)
+@@ -110,5 +120,51 @@ int dram_init_banksize(void)
  
- void fwu_plat_get_bootidx(int *boot_idx)
+ void fwu_plat_get_bootidx(uint *boot_idx)
  {
 -	*boot_idx = 0;
 +	*boot_idx = corstone1000_boot_idx;
@@ -117,10 +119,10 @@
 -	fi;
  kernel_addr_r=0x88200000
 diff --git a/configs/corstone1000_defconfig b/configs/corstone1000_defconfig
-index c38113ce95..20359cb181 100644
+index 4c75a01818..0232131a11 100644
 --- a/configs/corstone1000_defconfig
 +++ b/configs/corstone1000_defconfig
-@@ -22,6 +22,7 @@ CONFIG_CONSOLE_RECORD=y
+@@ -20,6 +20,7 @@ CONFIG_CONSOLE_RECORD=y
  CONFIG_LOGLEVEL=7
  # CONFIG_DISPLAY_CPUINFO is not set
  # CONFIG_DISPLAY_BOARDINFO is not set
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0029-sandbox64-fix-return-unsigned-long-in-readq.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0029-sandbox64-fix-return-unsigned-long-in-readq.patch
deleted file mode 100644
index c90bcc7..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0029-sandbox64-fix-return-unsigned-long-in-readq.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 1b80dfbefd59c8ddff77960552d6c0cc2747758c Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Fri, 16 Dec 2022 17:20:58 +0000
-Subject: [PATCH 29/42] sandbox64: fix: return unsigned long in readq()
-
-make readq return unsigned long
-
-readq should return 64-bit data
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Upstream-Status: Backport [https://github.com/u-boot/u-boot/commit/c9c2c95d4cd27fe0cd41fe13a863899d268f973c]
----
- arch/sandbox/cpu/cpu.c        | 2 +-
- arch/sandbox/include/asm/io.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/sandbox/cpu/cpu.c b/arch/sandbox/cpu/cpu.c
-index 636d3545b9..248d17a85c 100644
---- a/arch/sandbox/cpu/cpu.c
-+++ b/arch/sandbox/cpu/cpu.c
-@@ -230,7 +230,7 @@ phys_addr_t map_to_sysmem(const void *ptr)
- 	return mentry->tag;
- }
- 
--unsigned int sandbox_read(const void *addr, enum sandboxio_size_t size)
-+unsigned long sandbox_read(const void *addr, enum sandboxio_size_t size)
- {
- 	struct sandbox_state *state = state_get_current();
- 
-diff --git a/arch/sandbox/include/asm/io.h b/arch/sandbox/include/asm/io.h
-index ad6c29a4e2..31ab7289b4 100644
---- a/arch/sandbox/include/asm/io.h
-+++ b/arch/sandbox/include/asm/io.h
-@@ -45,7 +45,7 @@ static inline void unmap_sysmem(const void *vaddr)
- /* Map from a pointer to our RAM buffer */
- phys_addr_t map_to_sysmem(const void *ptr);
- 
--unsigned int sandbox_read(const void *addr, enum sandboxio_size_t size);
-+unsigned long sandbox_read(const void *addr, enum sandboxio_size_t size);
- void sandbox_write(void *addr, unsigned int val, enum sandboxio_size_t size);
- 
- #define readb(addr) sandbox_read((const void *)addr, SB_SIZE_8)
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0040-corstone1000-boot-index-from-active.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-corstone1000-boot-index-from-active.patch
similarity index 64%
rename from meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0040-corstone1000-boot-index-from-active.patch
rename to meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-corstone1000-boot-index-from-active.patch
index f0e1494..e59a434 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0040-corstone1000-boot-index-from-active.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-corstone1000-boot-index-from-active.patch
@@ -1,7 +1,7 @@
-From ab07a26290e44fb198403b658b8f1550e959a0cc Mon Sep 17 00:00:00 2001
+From faeeeecba2a7c8c507280ce369e3779f7c63d1e4 Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Mon, 27 Feb 2023 14:40:13 +0000
-Subject: [PATCH 41/42] corstone1000: boot index from active
+Subject: [PATCH 30/33] corstone1000: boot index from active
 
 In our platform, the Secure Enclave is the one who control
 all the boot tries and status, so, every time we get here
@@ -9,17 +9,18 @@
 
 Upstream-Status: Pending
 Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 ---
- board/armltd/corstone1000/corstone1000.c | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
+ board/armltd/corstone1000/corstone1000.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
 
 diff --git a/board/armltd/corstone1000/corstone1000.c b/board/armltd/corstone1000/corstone1000.c
-index b767195ccc..db508ac3cb 100644
+index a045262ebb..53c65506d5 100644
 --- a/board/armltd/corstone1000/corstone1000.c
 +++ b/board/armltd/corstone1000/corstone1000.c
-@@ -118,7 +118,18 @@ int dram_init_banksize(void)
+@@ -120,7 +120,16 @@ int dram_init_banksize(void)
  
- void fwu_plat_get_bootidx(int *boot_idx)
+ void fwu_plat_get_bootidx(uint *boot_idx)
  {
 -	*boot_idx = corstone1000_boot_idx;
 +	int ret;
@@ -31,9 +32,7 @@
 +	 */
 +	ret = fwu_get_active_index(boot_idx);
 +	if (ret < 0)
-+		log_err("corstone1000: failed to read active index\n");
-+
-+	return ret;
++		log_err("corstone1000: failed to read active index err %d\n", ret);
  }
  
  int board_late_init(void)
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-sandbox64-add-support-for-NVMXIP-QSPI.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-sandbox64-add-support-for-NVMXIP-QSPI.patch
deleted file mode 100644
index 941e9d1..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-sandbox64-add-support-for-NVMXIP-QSPI.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-From 25467e433f02f40f5999ed6e6b0d3adb4c9cf16d Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Fri, 9 Jun 2023 13:08:37 +0100
-Subject: [PATCH 30/42] sandbox64: add support for NVMXIP QSPI
-
-enable NVMXIP QSPI for sandbox 64-bit
-
-Adding two NVM XIP QSPI storage devices.
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Reviewed-by: Simon Glass <sjg@chromium.org>
-Upstream-Status: Backport [https://github.com/u-boot/u-boot/commit/c9c2c95d4cd27fe0cd41fe13a863899d268f973c]
-
-Changelog:
-===============
-
-v2:
-
-* address nits
----
- arch/sandbox/dts/sandbox64.dts                  | 13 +++++++++++++
- arch/sandbox/dts/test.dts                       | 14 ++++++++++++++
- configs/sandbox64_defconfig                     |  3 ++-
- doc/develop/driver-model/nvmxip.rst             |  2 +-
- doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt |  6 +++---
- drivers/mtd/nvmxip/nvmxip-uclass.c              |  7 +++++++
- 6 files changed, 40 insertions(+), 5 deletions(-)
-
-diff --git a/arch/sandbox/dts/sandbox64.dts b/arch/sandbox/dts/sandbox64.dts
-index 3eb0457089..c9a2f4b4a4 100644
---- a/arch/sandbox/dts/sandbox64.dts
-+++ b/arch/sandbox/dts/sandbox64.dts
-@@ -89,6 +89,19 @@
- 		cs-gpios = <0>, <&gpio_a 0>;
- 	};
- 
-+	nvmxip-qspi1@08000000 {
-+		compatible = "nvmxip,qspi";
-+		reg = /bits/ 64 <0x08000000 0x00200000>;
-+		lba_shift = <9>;
-+		lba = <4096>;
-+	};
-+
-+	nvmxip-qspi2@08200000 {
-+		compatible = "nvmxip,qspi";
-+		reg = /bits/ 64 <0x08200000 0x00100000>;
-+		lba_shift = <9>;
-+		lba = <2048>;
-+	};
- };
- 
- #include "sandbox.dtsi"
-diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
-index dffe10adbf..c3ba0a225e 100644
---- a/arch/sandbox/dts/test.dts
-+++ b/arch/sandbox/dts/test.dts
-@@ -1745,6 +1745,20 @@
- 		compatible = "u-boot,fwu-mdata-gpt";
- 		fwu-mdata-store = <&mmc0>;
- 	};
-+
-+	nvmxip-qspi1@08000000 {
-+		compatible = "nvmxip,qspi";
-+		reg = <0x08000000 0x00200000>;
-+		lba_shift = <9>;
-+		lba = <4096>;
-+	};
-+
-+	nvmxip-qspi2@08200000 {
-+		compatible = "nvmxip,qspi";
-+		reg = <0x08200000 0x00100000>;
-+		lba_shift = <9>;
-+		lba = <2048>;
-+	};
- };
- 
- #include "sandbox_pmic.dtsi"
-diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig
-index 4b8a1ec42b..2dca176ae3 100644
---- a/configs/sandbox64_defconfig
-+++ b/configs/sandbox64_defconfig
-@@ -260,4 +260,5 @@ CONFIG_UNIT_TEST=y
- CONFIG_UT_TIME=y
- CONFIG_UT_DM=y
- CONFIG_ARM_FFA_TRANSPORT=y
--CONFIG_SANDBOX_FFA=y
-\ No newline at end of file
-+CONFIG_SANDBOX_FFA=y
-+CONFIG_NVMXIP_QSPI=y
-\ No newline at end of file
-diff --git a/doc/develop/driver-model/nvmxip.rst b/doc/develop/driver-model/nvmxip.rst
-index 09afdbcccf..e85dc220b9 100644
---- a/doc/develop/driver-model/nvmxip.rst
-+++ b/doc/develop/driver-model/nvmxip.rst
-@@ -56,7 +56,7 @@ The implementation is generic and can be used by different platforms.
- Supported hardware
- --------------------------------
- 
--Any 64-bit plaform.
-+Any plaform supporting readq().
- 
- Configuration
- ----------------------
-diff --git a/doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt b/doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt
-index cc60e9efdc..882728d541 100644
---- a/doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt
-+++ b/doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt
-@@ -16,7 +16,7 @@ If a platform has its own driver, please provide your own compatible
- string.
- 
- 2)
--		reg = <0x0 0x08000000 0x0 0x00200000>;
-+		reg = /bits/ 64 <0x08000000 0x00200000>;
- 
- The start address and size of the flash device. The values give here are an
- example (when the cell size is 2).
-@@ -43,14 +43,14 @@ Example of multiple flash devices
- 
- 	nvmxip-qspi1@08000000 {
- 		compatible = "nvmxip,qspi";
--		reg = <0x0 0x08000000 0x0 0x00200000>;
-+		reg = /bits/ 64 <0x08000000 0x00200000>;
- 		lba_shift = <9>;
- 		lba = <4096>;
- 	};
- 
- 	nvmxip-qspi2@08200000 {
- 		compatible = "nvmxip,qspi";
--		reg = <0x0 0x08200000 0x0 0x00100000>;
-+		reg = /bits/ 64 <0x08200000 0x00100000>;
- 		lba_shift = <9>;
- 		lba = <2048>;
- 	};
-diff --git a/drivers/mtd/nvmxip/nvmxip-uclass.c b/drivers/mtd/nvmxip/nvmxip-uclass.c
-index 9f96041e3d..6d8eb177b5 100644
---- a/drivers/mtd/nvmxip/nvmxip-uclass.c
-+++ b/drivers/mtd/nvmxip/nvmxip-uclass.c
-@@ -9,6 +9,9 @@
- #include <common.h>
- #include <dm.h>
- #include <log.h>
-+#if CONFIG_IS_ENABLED(SANDBOX64)
-+#include <asm/test.h>
-+#endif
- #include <linux/bitops.h>
- #include "nvmxip.h"
- 
-@@ -36,6 +39,10 @@ static int nvmxip_post_bind(struct udevice *udev)
- 	char bdev_name[NVMXIP_BLKDEV_NAME_SZ + 1];
- 	int devnum;
- 
-+#if CONFIG_IS_ENABLED(SANDBOX64)
-+	sandbox_set_enable_memio(true);
-+#endif
-+
- 	devnum = uclass_id_count(UCLASS_NVMXIP);
- 	snprintf(bdev_name, NVMXIP_BLKDEV_NAME_SZ, "blk#%d", devnum);
- 
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0031-corstone1000-add-NVM-XIP-QSPI-device-tree-node.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0031-corstone1000-add-NVM-XIP-QSPI-device-tree-node.patch
deleted file mode 100644
index 08e9d31..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0031-corstone1000-add-NVM-XIP-QSPI-device-tree-node.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 635848c90343a1b8a268519e3fc78ef7af2e4819 Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Mon, 19 Dec 2022 13:20:19 +0000
-Subject: [PATCH 31/42] corstone1000: add NVM XIP QSPI device tree node
-
-add QSPI flash device node for block storage access
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Upstream-Status: Backport [https://github.com/u-boot/u-boot/commit/c9c2c95d4cd27fe0cd41fe13a863899d268f973c]
----
- arch/arm/dts/corstone1000.dtsi | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm/dts/corstone1000.dtsi b/arch/arm/dts/corstone1000.dtsi
-index 61e0c33247..18c4d1e19a 100644
---- a/arch/arm/dts/corstone1000.dtsi
-+++ b/arch/arm/dts/corstone1000.dtsi
-@@ -1,6 +1,6 @@
- // SPDX-License-Identifier: GPL-2.0 or MIT
- /*
-- * Copyright (c) 2022, Arm Limited. All rights reserved.
-+ * Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
-  * Copyright (c) 2022, Linaro Limited. All rights reserved.
-  *
-  */
-@@ -38,6 +38,13 @@
- 		reg = <0x88200000 0x77e00000>;
- 	};
- 
-+	nvmxip-qspi@08000000 {
-+		compatible = "nvmxip,qspi";
-+		reg = <0x08000000 0x2000000>;
-+		lba_shift = <9>;
-+		lba = <65536>;
-+	};
-+
- 	gic: interrupt-controller@1c000000 {
- 		compatible = "arm,gic-400";
- 		#interrupt-cells = <3>;
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0031-corstone1000-enable-PSCI-reset.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0031-corstone1000-enable-PSCI-reset.patch
new file mode 100644
index 0000000..9ba0205
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0031-corstone1000-enable-PSCI-reset.patch
@@ -0,0 +1,31 @@
+From 0524aa417c4989bf03366f13a2456b3bcb72fb87 Mon Sep 17 00:00:00 2001
+From: Emekcan Aras <emekcan.aras@arm.com>
+Date: Tue, 18 Jul 2023 12:19:17 +0100
+Subject: [PATCH 31/33] corstone1000: enable PSCI reset
+
+Even though corstone1000 does not implement entire PSCI APIs,it relies on
+PSCI reset interface for the system reset. U-boot change the config name, so we
+need to enable it again.
+
+Upstream-Status: Pending [Not submitted to upstream yet]
+Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
+---
+ configs/corstone1000_defconfig | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configs/corstone1000_defconfig b/configs/corstone1000_defconfig
+index 0232131a11..ccd558cfce 100644
+--- a/configs/corstone1000_defconfig
++++ b/configs/corstone1000_defconfig
+@@ -73,4 +73,5 @@ CONFIG_EFI_CAPSULE_ON_DISK=y
+ CONFIG_EFI_IGNORE_OSINDICATIONS=y
+ CONFIG_FWU_MULTI_BANK_UPDATE=y
+ # CONFIG_TOOLS_MKEFICAPSULE is not set
+-CONFIG_DM_GPIO=y
+\ No newline at end of file
++CONFIG_DM_GPIO=y
++CONFIG_SYSRESET_PSCI=y
+\ No newline at end of file
+-- 
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0032-Enable-EFI-set-get-time-services.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0032-Enable-EFI-set-get-time-services.patch
new file mode 100644
index 0000000..acc35f1
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0032-Enable-EFI-set-get-time-services.patch
@@ -0,0 +1,33 @@
+From 0ba2b25a9c1dd9c63615bf6830cfb470f33a31b5 Mon Sep 17 00:00:00 2001
+From: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
+Date: Tue, 18 Jul 2023 12:21:39 +0100
+Subject: [PATCH 32/33] Enable EFI set/get time services
+
+SetTime_Conf and SetTime_Func tests in UEFI SCT test suite of ACS
+fails with unsupported return value. CONFIG_EFI_SET_TIME and
+CONFIG_EFI_GET_TIME config values are added to enable these EFI
+services.
+
+Upstream-Status: Pending [Not submitted to upstream yet]
+Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
+Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
+---
+ configs/corstone1000_defconfig | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configs/corstone1000_defconfig b/configs/corstone1000_defconfig
+index ccd558cfce..a0af413de8 100644
+--- a/configs/corstone1000_defconfig
++++ b/configs/corstone1000_defconfig
+@@ -74,4 +74,6 @@ CONFIG_EFI_IGNORE_OSINDICATIONS=y
+ CONFIG_FWU_MULTI_BANK_UPDATE=y
+ # CONFIG_TOOLS_MKEFICAPSULE is not set
+ CONFIG_DM_GPIO=y
+-CONFIG_SYSRESET_PSCI=y
+\ No newline at end of file
++CONFIG_SYSRESET_PSCI=y
++CONFIG_EFI_SET_TIME=y
++CONFIG_EFI_GET_TIME=y
+-- 
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0032-sandbox64-add-a-test-case-for-UCLASS_NVMXIP.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0032-sandbox64-add-a-test-case-for-UCLASS_NVMXIP.patch
deleted file mode 100644
index 923eac9..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0032-sandbox64-add-a-test-case-for-UCLASS_NVMXIP.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-From 0ecb61da60febc66e589d6fbf439478af1c88283 Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Mon, 12 Jun 2023 17:33:54 +0100
-Subject: [PATCH 32/42] sandbox64: add a test case for UCLASS_NVMXIP
-
-provide a test for NVM XIP devices
-
-The test case allows to make sure of the following:
-
-- The NVM XIP QSPI devices are probed
-- The DT entries are read correctly
-- the data read from the flash by the NVMXIP block driver is correct
-
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Upstream-Status: Backport [https://github.com/u-boot/u-boot/commit/c9c2c95d4cd27fe0cd41fe13a863899d268f973c]
-
-Changelog:
-===============
-
-v2:
-
-* address nits
----
- MAINTAINERS      |   1 +
- test/dm/Makefile |   6 +-
- test/dm/nvmxip.c | 145 +++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 151 insertions(+), 1 deletion(-)
- create mode 100644 test/dm/nvmxip.c
-
-diff --git a/MAINTAINERS b/MAINTAINERS
-index f81654346e..6692ce9974 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
-@@ -1208,6 +1208,7 @@ S:	Maintained
- F:	doc/develop/driver-model/nvmxip.rst
- F:	doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt
- F:	drivers/mtd/nvmxip/
-+F:	test/dm/nvmxip.c
- 
- NVMEM
- M:	Sean Anderson <seanga2@gmail.com>
-diff --git a/test/dm/Makefile b/test/dm/Makefile
-index 85e99e1c12..963fa927f7 100644
---- a/test/dm/Makefile
-+++ b/test/dm/Makefile
-@@ -1,7 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0+
- #
- # Copyright (c) 2013 Google, Inc
--# (C) Copyright 2022 ARM Limited
-+# Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
- 
- obj-$(CONFIG_UT_DM) += test-dm.o
- 
-@@ -18,6 +18,10 @@ obj-$(CONFIG_UT_DM) += test-uclass.o
- obj-$(CONFIG_UT_DM) += core.o
- obj-$(CONFIG_UT_DM) += read.o
- obj-$(CONFIG_UT_DM) += phys2bus.o
-+ifeq ($(CONFIG_NVMXIP_QSPI)$(CONFIG_SANDBOX64),yy)
-+obj-y += nvmxip.o
-+endif
-+
- ifneq ($(CONFIG_SANDBOX),)
- ifeq ($(CONFIG_ACPIGEN),y)
- obj-y += acpi.o
-diff --git a/test/dm/nvmxip.c b/test/dm/nvmxip.c
-new file mode 100644
-index 0000000000..e934748eb5
---- /dev/null
-+++ b/test/dm/nvmxip.c
-@@ -0,0 +1,145 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Functional tests for UCLASS_FFA  class
-+ *
-+ * Copyright 2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
-+ *
-+ * Authors:
-+ *   Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-+ */
-+
-+#include <common.h>
-+#include <blk.h>
-+#include <console.h>
-+#include <dm.h>
-+#include <mapmem.h>
-+#include <dm/test.h>
-+#include <linux/bitops.h>
-+#include <test/test.h>
-+#include <test/ut.h>
-+#include "../../drivers/mtd/nvmxip/nvmxip.h"
-+
-+/* NVMXIP devices described in the device tree */
-+#define SANDBOX_NVMXIP_DEVICES 2
-+
-+/* reference device tree data for the probed devices */
-+static struct nvmxip_plat nvmqspi_refdata[SANDBOX_NVMXIP_DEVICES] = {
-+	{0x08000000, 9, 4096}, {0x08200000, 9, 2048}
-+};
-+
-+#define NVMXIP_BLK_START_PATTERN 0x1122334455667788ULL
-+#define NVMXIP_BLK_END_PATTERN 0xa1a2a3a4a5a6a7a8ULL
-+
-+/**
-+ * dm_nvmxip_flash_sanity() - check flash data
-+ * @uts: test state
-+ * @device_idx:	the NVMXIP device index
-+ * @buffer:	the user buffer where the blocks data is copied to
-+ *
-+ * Mode 1: When buffer is NULL, initialize the flash with pattern data at the start
-+ * and at the end of each block. This pattern data will be used to check data consistency
-+ * when verifying the data read.
-+ * Mode 2: When the user buffer is provided in the argument (not NULL), compare the data
-+ * of the start and the end of each block in the user buffer with the expected pattern data.
-+ * Return an error when the check fails.
-+ *
-+ * Return:
-+ *
-+ * 0 on success. Otherwise, failure
-+ */
-+static int dm_nvmxip_flash_sanity(struct unit_test_state *uts, u8 device_idx, void *buffer)
-+{
-+	int i;
-+	u64 *ptr;
-+	u8 *base;
-+	unsigned long blksz;
-+
-+	blksz = BIT(nvmqspi_refdata[device_idx].lba_shift);
-+
-+	if (!buffer) {
-+		/* Mode 1: point at the flash start address. Pattern data will be written */
-+		base = map_sysmem(nvmqspi_refdata[device_idx].phys_base, 0);
-+	} else {
-+		/* Mode 2: point at the user buffer containing the data read and to be verified */
-+		base = buffer;
-+	}
-+
-+	for (i = 0; i < nvmqspi_refdata[device_idx].lba ; i++) {
-+		ptr = (u64 *)(base + i * blksz);
-+
-+		/* write an 8 bytes pattern at the start of the current block */
-+		if (!buffer)
-+			*ptr = NVMXIP_BLK_START_PATTERN;
-+		else
-+			ut_asserteq_64(NVMXIP_BLK_START_PATTERN, *ptr);
-+
-+		ptr = (u64 *)((u8 *)ptr + blksz - sizeof(u64));
-+
-+		/* write an 8 bytes pattern at the end of the current block */
-+		if (!buffer)
-+			*ptr = NVMXIP_BLK_END_PATTERN;
-+		else
-+			ut_asserteq_64(NVMXIP_BLK_END_PATTERN, *ptr);
-+	}
-+
-+	if (!buffer)
-+		unmap_sysmem(base);
-+
-+	return 0;
-+}
-+
-+/**
-+ * dm_test_nvmxip() - check flash data
-+ * @uts: test state
-+ * Return:
-+ *
-+ * CMD_RET_SUCCESS on success. Otherwise, failure
-+ */
-+static int dm_test_nvmxip(struct unit_test_state *uts)
-+{
-+	struct nvmxip_plat *plat_data = NULL;
-+	struct udevice *dev = NULL, *bdev = NULL;
-+	u8 device_idx;
-+	void *buffer = NULL;
-+	unsigned long flashsz;
-+
-+	/* set the flash content first for both devices */
-+	dm_nvmxip_flash_sanity(uts, 0, NULL);
-+	dm_nvmxip_flash_sanity(uts, 1, NULL);
-+
-+	/* probing all NVM XIP QSPI devices */
-+	for (device_idx = 0, uclass_first_device(UCLASS_NVMXIP, &dev);
-+	     dev;
-+	     uclass_next_device(&dev), device_idx++) {
-+		plat_data = dev_get_plat(dev);
-+
-+		/* device tree entries checks */
-+		ut_assertok(nvmqspi_refdata[device_idx].phys_base != plat_data->phys_base);
-+		ut_assertok(nvmqspi_refdata[device_idx].lba_shift != plat_data->lba_shift);
-+		ut_assertok(nvmqspi_refdata[device_idx].lba != plat_data->lba);
-+
-+		/* before reading all the flash blocks, let's calculate the flash size */
-+		flashsz = plat_data->lba << plat_data->lba_shift;
-+
-+		/* allocate the user buffer where to copy the blocks data to */
-+		buffer = calloc(flashsz, 1);
-+		ut_assertok(!buffer);
-+
-+		/* the block device is the child of the parent device probed with DT */
-+		ut_assertok(device_find_first_child(dev, &bdev));
-+
-+		/* reading all the flash blocks */
-+		ut_asserteq(plat_data->lba, blk_read(bdev, 0, plat_data->lba, buffer));
-+
-+		/* compare the data read from flash with the expected data */
-+		dm_nvmxip_flash_sanity(uts, device_idx, buffer);
-+
-+		free(buffer);
-+	}
-+
-+	ut_assertok(device_idx != SANDBOX_NVMXIP_DEVICES);
-+
-+	return CMD_RET_SUCCESS;
-+}
-+
-+DM_TEST(dm_test_nvmxip, UT_TESTF_SCAN_FDT | UT_TESTF_CONSOLE_REC);
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0033-Increase-the-unzipped-Kernel-size.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0033-Increase-the-unzipped-Kernel-size.patch
new file mode 100644
index 0000000..63c42c7
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0033-Increase-the-unzipped-Kernel-size.patch
@@ -0,0 +1,29 @@
+From df23489adcba1cdcbcb4fefbed0896fc1f408700 Mon Sep 17 00:00:00 2001
+From: Emekcan Aras <emekcan.aras@arm.com>
+Date: Wed, 2 Aug 2023 17:07:05 +0100
+Subject: [PATCH] Increase the unzipped Kernel size
+
+Increases the unzipped kernel size for corstone1000.
+
+Upstream-Status: Pending [Not submitted to upstream yet]
+Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
+---
+ configs/corstone1000_defconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configs/corstone1000_defconfig b/configs/corstone1000_defconfig
+index a0af413de8..54a5bca354 100644
+--- a/configs/corstone1000_defconfig
++++ b/configs/corstone1000_defconfig
+@@ -15,7 +15,7 @@ CONFIG_DISTRO_DEFAULTS=y
+ CONFIG_BOOTDELAY=3
+ CONFIG_USE_BOOTARGS=y
+ CONFIG_BOOTARGS="console=ttyAMA0 loglevel=9 ip=dhcp earlyprintk"
+-CONFIG_BOOTCOMMAND="echo Loading kernel from $kernel_addr to memory ... ; unzip $kernel_addr 0x90000000; loadm 0x90000000 $kernel_addr_r 0xf00000; usb start; usb reset; run distro_bootcmd; bootefi $kernel_addr_r $fdtcontroladdr;"
++CONFIG_BOOTCOMMAND="echo Loading kernel from $kernel_addr to memory ... ; unzip $kernel_addr 0x90000000; loadm 0x90000000 $kernel_addr_r 0xfb0000; usb start; usb reset; run distro_bootcmd; bootefi $kernel_addr_r $fdtcontroladdr;"
+ CONFIG_CONSOLE_RECORD=y
+ CONFIG_LOGLEVEL=7
+ # CONFIG_DISPLAY_CPUINFO is not set
+-- 
+2.17.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0035-corstone1000-add-boot-index.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0035-corstone1000-add-boot-index.patch
deleted file mode 100644
index d956856..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0035-corstone1000-add-boot-index.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 92948559987d02baf9f690d9bbdc96d1179264ef Mon Sep 17 00:00:00 2001
-From: Rui Miguel Silva <rui.silva@linaro.org>
-Date: Wed, 1 Feb 2023 16:15:30 +0000
-Subject: [PATCH 36/42] corstone1000: add boot index
-
-it is expected that the firmware that runs before
-u-boot somehow provide the information of the bank
-(index) of it is booting.
-We will need to extend tf-a to pass that info,
-meanwhile just set it to the default bank.
-
-Upstream-Status: Pending
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- board/armltd/corstone1000/corstone1000.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/board/armltd/corstone1000/corstone1000.c b/board/armltd/corstone1000/corstone1000.c
-index d6ca6e8961..0a58ccd99c 100644
---- a/board/armltd/corstone1000/corstone1000.c
-+++ b/board/armltd/corstone1000/corstone1000.c
-@@ -106,6 +106,7 @@ int dram_init_banksize(void)
- 	return 0;
- }
- 
--void reset_cpu(ulong addr)
-+void fwu_plat_get_bootidx(int *boot_idx)
- {
-+	*boot_idx = 0;
- }
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0041-corstone1000-enable-PSCI-reset.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0041-corstone1000-enable-PSCI-reset.patch
deleted file mode 100644
index cad830f..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0041-corstone1000-enable-PSCI-reset.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 8bf48a56aa014146a8950532906b06e191754daa Mon Sep 17 00:00:00 2001
-From: Emekcan Aras <emekcan.aras@arm.com>
-Date: Wed, 24 May 2023 09:12:11 +0100
-Subject: [PATCH 42/42] corstone1000: enable PSCI reset
-
-Even though corstone1000 does not implement entire PSCI APIs,it relies on
-PSCI reset interface for the system reset. U-boot change the config name, so we
-need to enable it again.
-
-Upstream-Status: Pending [Not submitted to upstream yet]
-Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
----
- configs/corstone1000_defconfig | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/configs/corstone1000_defconfig b/configs/corstone1000_defconfig
-index 20359cb181..19fe1432ae 100644
---- a/configs/corstone1000_defconfig
-+++ b/configs/corstone1000_defconfig
-@@ -62,6 +62,7 @@ CONFIG_DM_RTC=y
- CONFIG_RTC_EMULATION=y
- CONFIG_DM_SERIAL=y
- CONFIG_SYSRESET=y
-+CONFIG_SYSRESET_PSCI=y
- CONFIG_USB=y
- CONFIG_USB_ISP1760=y
- CONFIG_ERRNO_STR=y
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0042-Enable-EFI-set-get-time-services.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0042-Enable-EFI-set-get-time-services.patch
deleted file mode 100644
index 8911abf..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0042-Enable-EFI-set-get-time-services.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 9f326f0db8aa13fde93e2ed79055b920c8598a28 Mon Sep 17 00:00:00 2001
-From: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
-Date: Mon, 12 Jun 2023 15:14:52 +0000
-Subject: [PATCH] Enable EFI set/get time services
-
-SetTime_Conf and SetTime_Func tests in UEFI SCT test suite of ACS
-fails with unsupported return value. CONFIG_EFI_SET_TIME and
-CONFIG_EFI_GET_TIME config values are added to enable these EFI
-services.
-
-Upstream-Status: Pending [Not submitted to upstream yet]
-Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
----
- configs/corstone1000_defconfig | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/configs/corstone1000_defconfig b/configs/corstone1000_defconfig
-index c692cc91bd..f1901dfe8b 100644
---- a/configs/corstone1000_defconfig
-+++ b/configs/corstone1000_defconfig
-@@ -7,6 +7,8 @@ CONFIG_NR_DRAM_BANKS=1
- CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
- CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x83f00000
- CONFIG_DM_GPIO=y
-+CONFIG_EFI_SET_TIME=y
-+CONFIG_EFI_GET_TIME=y
- CONFIG_DEFAULT_DEVICE_TREE="corstone1000-mps3"
- CONFIG_SYS_PROMPT="corstone1000# "
- CONFIG_IDENT_STRING=" corstone1000 aarch64 "
--- 
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0043-corstone1000-fix-compilation-warnings-in-fwu_plat_get_bootidx.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0043-corstone1000-fix-compilation-warnings-in-fwu_plat_get_bootidx.patch
deleted file mode 100644
index e574103..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0043-corstone1000-fix-compilation-warnings-in-fwu_plat_get_bootidx.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From dfebda98ce08d0cab411521ab3d9e832ed1b4608 Mon Sep 17 00:00:00 2001
-From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-Date: Thu, 15 Jun 2023 16:51:49 +0100
-Subject: [PATCH] corstone1000: fix compilation warnings in
- fwu_plat_get_bootidx()
-
-Upstream-Status: Pending [Not submitted to upstream yet]
-Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
----
- board/armltd/corstone1000/corstone1000.c | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/board/armltd/corstone1000/corstone1000.c b/board/armltd/corstone1000/corstone1000.c
-index db508ac3cb..2e1ace5d04 100644
---- a/board/armltd/corstone1000/corstone1000.c
-+++ b/board/armltd/corstone1000/corstone1000.c
-@@ -9,6 +9,7 @@
- #include <common.h>
- #include <dm.h>
- #include <env.h>
-+#include <fwu.h>
- #include <netdev.h>
- #include <nvmxip.h>
- #include <part.h>
-@@ -116,7 +117,7 @@ int dram_init_banksize(void)
- 	return 0;
- }
- 
--void fwu_plat_get_bootidx(int *boot_idx)
-+void fwu_plat_get_bootidx(uint *boot_idx)
- {
- 	int ret;
- 
-@@ -127,9 +128,7 @@ void fwu_plat_get_bootidx(int *boot_idx)
- 	 */
- 	ret = fwu_get_active_index(boot_idx);
- 	if (ret < 0)
--		log_err("corstone1000: failed to read active index\n");
--
--	return ret;
-+		log_err("corstone1000: failed to read active index err %d\n", ret);
- }
- 
- int board_late_init(void)
--- 
-2.25.1
-
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 3d8545f..1d28631 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
@@ -20,7 +20,6 @@
 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>
 ---
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 07ba7a1..6c0d490 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
@@ -18,49 +18,39 @@
 SYSROOT_DIRS:append:corstone1000 = " /boot"
 
 SRC_URI:append:corstone1000 = " \
-        file://0001-arm64-smccc-add-support-for-SMCCCv1.2-x0-x17-registe.patch            \ 
-        file://0002-lib-uuid-introduce-uuid_str_to_le_bin-function.patch		  \ 
-        file://0003-arm_ffa-introduce-Arm-FF-A-low-level-driver.patch			  \ 
-        file://0004-arm_ffa-efi-unmap-RX-TX-buffers.patch				  \ 
-        file://0005-arm_ffa-introduce-armffa-command.patch				  \ 
-        file://0006-arm_ffa-introduce-the-FF-A-Sandbox-driver.patch			  \ 
-        file://0007-arm_ffa-introduce-Sandbox-test-cases-for-UCLASS_FFA.patch		  \ 
-        file://0008-arm_ffa-introduce-armffa-command-Sandbox-test.patch			  \ 
-        file://0009-arm_ffa-efi-introduce-FF-A-MM-communication.patch			  \ 
-        file://0010-arm_ffa-efi-corstone1000-enable-MM-communication.patch		  \ 
-        file://0011-efi-corstone1000-introduce-EFI-capsule-update.patch			  \ 
-        file://0012-arm-corstone1000-fix-unrecognized-filesystem-type.patch		  \ 
-        file://0013-efi_capsule-corstone1000-pass-interface-id-and-buffe.patch		  \ 
-        file://0014-efi_boottime-corstone1000-pass-interface-id-and-kern.patch		  \ 
-        file://0015-efi_loader-corstone1000-remove-guid-check-from-corst.patch		  \ 
-        file://0016-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch		  \ 
-        file://0017-efi_firmware-add-get_image_info-for-corstone1000.patch		  \ 
-        file://0018-efi_loader-send-bootcomplete-message-to-secure-encla.patch		  \ 
-        file://0019-efi_loader-fix-null-pointer-exception-with-get_image.patch		  \ 
-        file://0020-arm-corstone1000-add-mmc-for-fvp.patch				  \ 
-        file://0021-corstone1000-add-compressed-kernel-support.patch			  \ 
-        file://0022-Introduce-external-sys-driver-to-device-tree.patch			  \ 
-        file://0023-Add-mhu-and-rpmsg-client-to-u-boot-device-tree.patch		  \ 
-        file://0024-arm-corstone1000-esrt-support.patch					  \ 
-        file://0025-efi_setup-discover-FF-A-bus-before-raising-EFI-start.patch		  \ 
-        file://0026-corstone1000-enable-distro-booting-command.patch			  \ 
-        file://0027-drivers-mtd-nvmxip-introduce-NVM-XIP-block-storage-e.patch		  \ 
-        file://0028-drivers-mtd-nvmxip-introduce-QSPI-XIP-driver.patch			  \ 
-        file://0029-sandbox64-fix-return-unsigned-long-in-readq.patch			  \ 
-        file://0030-sandbox64-add-support-for-NVMXIP-QSPI.patch				  \ 
-        file://0031-corstone1000-add-NVM-XIP-QSPI-device-tree-node.patch		  \ 
-        file://0032-sandbox64-add-a-test-case-for-UCLASS_NVMXIP.patch			  \ 
-        file://0033-corstone1000-add-fwu-metadata-store-info.patch			  \ 
-        file://0034-fwu_metadata-make-sure-structures-are-packed.patch			  \ 
-        file://0035-corstone1000-add-boot-index.patch					  \ 
-        file://0036-corstone1000-adjust-boot-bank-and-kernel-location.patch		  \ 
-        file://0037-corstone1000-add-nvmxip-fwu-mdata-and-gpt-options.patch		  \ 
-        file://0038-nvmxip-move-header-to-include.patch					  \ 
-        file://0039-corstone1000-set-kernel_addr-based-on-boot_idx.patch		  \ 
-        file://0040-corstone1000-boot-index-from-active.patch				  \ 
-        file://0041-corstone1000-enable-PSCI-reset.patch				  \
-        file://0042-Enable-EFI-set-get-time-services.patch                                \
-        file://0043-corstone1000-fix-compilation-warnings-in-fwu_plat_get_bootidx.patch   \ 
+        file://0001-FF-A-v15-arm64-smccc-add-support-for-SMCCCv1.2-x0-x1.patch    \
+        file://0002-FF-A-v15-lib-uuid-introduce-uuid_str_to_le_bin-funct.patch	  \
+        file://0003-FF-A-v15-lib-uuid-introduce-testcase-for-uuid_str_to.patch	  \
+	file://0004-FF-A-v15-arm_ffa-introduce-Arm-FF-A-support.patch		  \
+	file://0005-FF-A-v15-arm_ffa-introduce-armffa-command.patch		  \
+	file://0006-FF-A-v15-arm_ffa-introduce-sandbox-FF-A-support.patch	  \
+        file://0007-FF-A-v15-arm_ffa-introduce-sandbox-test-cases-for-UC.patch	  \
+        file://0008-FF-A-v15-arm_ffa-introduce-armffa-command-Sandbox-te.patch	  \
+	file://0009-FF-A-v15-arm_ffa-efi-introduce-FF-A-MM-communication.patch	  \
+	file://0010-FF-A-v15-arm_ffa-efi-corstone1000-enable-MM-communic.patch	  \
+	file://0011-efi-corstone1000-fwu-introduce-EFI-capsule-update.patch	  \
+	file://0012-arm-corstone1000-fix-unrecognized-filesystem-type.patch	  \
+	file://0013-efi_loader-corstone1000-remove-guid-check-from-corst.patch	  \
+	file://0014-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch	  \
+	file://0015-efi_firmware-add-get_image_info-for-corstone1000.patch	  \
+	file://0016-efi_loader-fix-null-pointer-exception-with-get_image.patch	  \
+	file://0017-arm-corstone1000-add-mmc-for-fvp.patch			  \
+	file://0018-corstone1000-add-compressed-kernel-support.patch		  \
+	file://0019-Introduce-external-sys-driver-to-device-tree.patch		  \
+	file://0020-Add-mhu-and-rpmsg-client-to-u-boot-device-tree.patch	  \
+	file://0021-arm-corstone1000-esrt-support.patch			  \
+	file://0022-corstone1000-enable-distro-booting-command.patch		  \
+	file://0023-corstone1000-add-fwu-metadata-store-info.patch		  \
+	file://0024-fwu_metadata-make-sure-structures-are-packed.patch		  \
+	file://0025-corstone1000-add-boot-index.patch				  \
+	file://0026-corstone1000-adjust-boot-bank-and-kernel-location.patch	  \
+	file://0027-corstone1000-add-nvmxip-fwu-mdata-and-gpt-options.patch	  \
+	file://0028-nvmxip-move-header-to-include.patch			  \
+	file://0029-corstone1000-set-kernel_addr-based-on-boot_idx.patch	  \
+	file://0030-corstone1000-boot-index-from-active.patch			  \
+	file://0031-corstone1000-enable-PSCI-reset.patch			  \
+	file://0032-Enable-EFI-set-get-time-services.patch			  \
+	file://0033-Increase-the-unzipped-Kernel-size.patch			  \
         "
 
 #
diff --git a/meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware_202211.bb b/meta-arm/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_202211.bb
similarity index 76%
rename from meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware_202211.bb
rename to meta-arm/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_202211.bb
index 386bed4..378f585 100644
--- a/meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware_202211.bb
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_202211.bb
@@ -1,4 +1,4 @@
 SRCREV_edk2           ?= "fff6d81270b57ee786ea18ad74f43149b9f03494"
 SRCREV_edk2-platforms ?= "982212662c71b6c734b7578526071d6b78da3bcc"
 
-require edk2-firmware.inc
+require recipes-bsp/uefi/edk2-firmware.inc
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
index e8f4cc4..ebe4d72 100644
--- 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
@@ -12,7 +12,6 @@
 
 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
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
index 67d9872..ca4405d 100644
--- 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
@@ -9,7 +9,6 @@
 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
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/corstone1000/psa-apitest/0001-corstone1000-port-crypto-config.patch b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/corstone1000/psa-apitest/0001-corstone1000-port-crypto-config.patch
index c728956..072b50b 100644
--- a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/corstone1000/psa-apitest/0001-corstone1000-port-crypto-config.patch
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/corstone1000/psa-apitest/0001-corstone1000-port-crypto-config.patch
@@ -9,7 +9,6 @@
 
 Signed-off-by: Satish Kumar <satish.kumar01@arm.com>
 
-%% original patch: 0002-corstone1000-port-crypto-config.patch
 
 Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
 ---
diff --git a/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/androidclang_r416183b.bb b/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/androidclang_r416183b.bb
deleted file mode 100644
index 963fd60..0000000
--- a/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/androidclang_r416183b.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-# SPDX-License-Identifier: MIT
-#
-# Copyright (c) 2021 Arm Limited
-#
-
-SUMMARY = "Android Clang compiler"
-DESCRIPTION = "Android Clang compiler, version r416183b. This is based on Clang 12.0.5 \
-Intended usage is to build kernel images that match the output of the Android (hermetic) \
-build system"
-
-LICENSE = "MIT"
-
-LIC_FILES_CHKSUM = "file://MODULE_LICENSE_MIT;md5=d41d8cd98f00b204e9800998ecf8427e"
-
-ANDROID_CLANG_VERSION = "clang-r416183b"
-ANDROID_CLANG_HASH = "bd96dfe349c962681f0e5388af874c771ef96670"
-
-COMPATIBLE_HOST = "x86_64.*-linux"
-
-SRC_URI = "https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+archive/${ANDROID_CLANG_HASH}/${ANDROID_CLANG_VERSION}.tar.gz;subdir=${ANDROID_CLANG_VERSION}"
-
-# We need to set the checksum to "ignore" because the tarball is dynamically generated and has a new checksum every time
-# (the contents are the same, but the time stamp differs)
-BB_STRICT_CHECKSUM = "ignore"
-
-S = "${WORKDIR}/${ANDROID_CLANG_VERSION}"
-
-FILES:${PN} = "${libexecdir} ${bindir}"
-
-do_install() {
-    install -d ${D}${libexecdir}/${ANDROID_CLANG_VERSION}/
-
-    cp --no-preserve=ownership -r ${S}/. ${D}${libexecdir}/${ANDROID_CLANG_VERSION}/
-    # Strip bad RPATHs in the embedded python3
-    chrpath -d ${D}${libexecdir}/${ANDROID_CLANG_VERSION}/python3/lib/python*/lib-dynload/*.so
-
-    install -d ${D}${bindir}
-    # Symlink all executables into bindir
-    for f in ${D}${libexecdir}/${ANDROID_CLANG_VERSION}/bin/*; do
-        ln -rs $f ${D}${bindir}/$(basename $f)
-    done
-}
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-INSANE_SKIP:${PN} = "already-stripped libdir staticdev file-rdeps arch dev-so"
-
-INHIBIT_SYSROOT_STRIP = "1"
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/arm-binary-toolchain.inc b/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/arm-binary-toolchain.inc
index 44adfc8..0e039a5 100644
--- a/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/arm-binary-toolchain.inc
+++ b/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/arm-binary-toolchain.inc
@@ -5,11 +5,11 @@
 BINNAME = "${@d.getVar("BPN").strip("gcc-")}"
 
 do_install() {
-    install -d ${D}${bindir} ${D}${libexecdir}/${BPN}/
-    cp -r ${S}/. ${D}${libexecdir}/${BPN}
+    install -d ${D}${bindir} ${D}${libexecdir}/${BP}/
+    cp -r ${S}/. ${D}${libexecdir}/${BP}
 
     # Symlink all executables into bindir
-    for f in ${D}${libexecdir}/${BPN}/bin/*; do
+    for f in ${D}${libexecdir}/${BP}/bin/*; do
         ln -rs $f ${D}${bindir}/$(basename $f)
     done
 }
diff --git a/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_12.2.rel1.bb b/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_12.3.rel1.bb
similarity index 82%
rename from meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_12.2.rel1.bb
rename to meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_12.3.rel1.bb
index db8851e..7d06f29 100644
--- a/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_12.2.rel1.bb
+++ b/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_12.3.rel1.bb
@@ -12,8 +12,8 @@
 LIC_FILES_CHKSUM:x86-64 = "file://share/doc/gcc/Copying.html;md5=7ba3bc8ef145b48e2756a844db2029a3"
 
 SRC_URI = "https://developer.arm.com/-/media/Files/downloads/gnu/${PV}/binrel/arm-gnu-toolchain-${PV}-${HOST_ARCH}-${BINNAME}.tar.xz;name=gcc-${HOST_ARCH}"
-SRC_URI[gcc-aarch64.sha256sum] = "570a9bd42e2067d79d59b0747891681ebec66f30d989d17a05856563fe38f78b"
-SRC_URI[gcc-x86_64.sha256sum] = "62d66e0ad7bd7f2a183d236ee301a5c73c737c886c7944aa4f39415aab528daf"
+SRC_URI[gcc-aarch64.sha256sum] = "76ba68db4390b50f0a16386c6a011ec611a35a517ae40b7be008ca7920cfa59f"
+SRC_URI[gcc-x86_64.sha256sum] = "382c8c786285e415bc0ff4df463e101f76d6f69a894b03f132368147c37f0ba7"
 
 S = "${WORKDIR}/arm-gnu-toolchain-${PV}-${HOST_ARCH}-${BINNAME}"
 
diff --git a/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_12.2.rel1.bb b/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi-11.2_11.2-2022.02.bb
similarity index 62%
copy from meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_12.2.rel1.bb
copy to meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi-11.2_11.2-2022.02.bb
index 48ddd16..7fab1e1 100644
--- a/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_12.2.rel1.bb
+++ b/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi-11.2_11.2-2022.02.bb
@@ -8,14 +8,16 @@
 SUMMARY = "Arm GNU Toolchain - AArch32 bare-metal target (arm-none-eabi)"
 LICENSE = "GPL-3.0-with-GCC-exception & GPL-3.0-only"
 
-LIC_FILES_CHKSUM:aarch64 = "file://share/doc/gcc/Copying.html;md5=0aef214b835259b64f026f4ad00c703e"
-LIC_FILES_CHKSUM:x86-64 = "file://share/doc/gcc/Copying.html;md5=7ba3bc8ef145b48e2756a844db2029a3"
+LIC_FILES_CHKSUM:aarch64 = "file://share/doc/gcc/Copying.html;md5=be4f8b5ff7319cd54f6c52db5d6f36b0"
+LIC_FILES_CHKSUM:x86-64 = "file://share/doc/gcc/Copying.html;md5=1f07179249795891179bb3798bac7887"
 
-SRC_URI = "https://developer.arm.com/-/media/Files/downloads/gnu/${PV}/binrel/arm-gnu-toolchain-${PV}-${HOST_ARCH}-${BINNAME}.tar.xz;name=gcc-${HOST_ARCH}"
-SRC_URI[gcc-aarch64.sha256sum] = "7ee332f7558a984e239e768a13aed86c6c3ac85c90b91d27f4ed38d7ec6b3e8c"
-SRC_URI[gcc-x86_64.sha256sum] = "84be93d0f9e96a15addd490b6e237f588c641c8afdf90e7610a628007fc96867"
+BINNAME = "arm-none-eabi"
 
-S = "${WORKDIR}/arm-gnu-toolchain-${PV}-${HOST_ARCH}-${BINNAME}"
+SRC_URI = "https://developer.arm.com/-/media/Files/downloads/gnu/${PV}/binrel/gcc-arm-${PV}-${HOST_ARCH}-${BINNAME}.tar.xz;name=gcc-${HOST_ARCH}"
+SRC_URI[gcc-aarch64.sha256sum] = "ef1d82e5894e3908cb7ed49c5485b5b95deefa32872f79c2b5f6f5447cabf55f"
+SRC_URI[gcc-x86_64.sha256sum] = "8c5acd5ae567c0100245b0556941c237369f210bceb196edfe5a2e7532c60326"
+
+S = "${WORKDIR}/gcc-arm-${PV}-${HOST_ARCH}-${BINNAME}"
 
 UPSTREAM_CHECK_URI = "https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads"
 UPSTREAM_CHECK_REGEX = "${BPN}-(?P<pver>.+)-${HOST_ARCH}-linux\.tar\.\w+"
diff --git a/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_12.2.rel1.bb b/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_12.3.rel1.bb
similarity index 82%
rename from meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_12.2.rel1.bb
rename to meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_12.3.rel1.bb
index 48ddd16..6c33ec6 100644
--- a/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_12.2.rel1.bb
+++ b/meta-arm/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_12.3.rel1.bb
@@ -12,8 +12,8 @@
 LIC_FILES_CHKSUM:x86-64 = "file://share/doc/gcc/Copying.html;md5=7ba3bc8ef145b48e2756a844db2029a3"
 
 SRC_URI = "https://developer.arm.com/-/media/Files/downloads/gnu/${PV}/binrel/arm-gnu-toolchain-${PV}-${HOST_ARCH}-${BINNAME}.tar.xz;name=gcc-${HOST_ARCH}"
-SRC_URI[gcc-aarch64.sha256sum] = "7ee332f7558a984e239e768a13aed86c6c3ac85c90b91d27f4ed38d7ec6b3e8c"
-SRC_URI[gcc-x86_64.sha256sum] = "84be93d0f9e96a15addd490b6e237f588c641c8afdf90e7610a628007fc96867"
+SRC_URI[gcc-aarch64.sha256sum] = "14c0487d5753f6071d24e568881f7c7e67f80dd83165dec5164b3731394af431"
+SRC_URI[gcc-x86_64.sha256sum] = "12a2815644318ebcceaf84beabb665d0924b6e79e21048452c5331a56332b309"
 
 S = "${WORKDIR}/arm-gnu-toolchain-${PV}-${HOST_ARCH}-${BINNAME}"
 
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/files/rwx.patch b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/files/rwx.patch
deleted file mode 100644
index b279cfe..0000000
--- a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/files/rwx.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 1d548c77d07fc9a83e3e9aa28a23aa19a0177e3b Mon Sep 17 00:00:00 2001
-From: Jon Mason <jon.mason@arm.com>
-Date: Wed, 18 Jan 2023 15:13:37 -0500
-Subject: [PATCH] arm/trusted-firmware-m: disable fatal warnings
-
-Signed-off-by: Jon Mason <jon.mason@arm.com>
-Upstream-Status: Inappropriate
-
----
- toolchain_GNUARM.cmake | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/toolchain_GNUARM.cmake b/toolchain_GNUARM.cmake
-index 7978eaca68..88395f922a 100644
---- a/toolchain_GNUARM.cmake
-+++ b/toolchain_GNUARM.cmake
-@@ -66,7 +66,6 @@ macro(tfm_toolchain_reset_linker_flags)
-         --entry=Reset_Handler
-         --specs=nano.specs
-         LINKER:-check-sections
--        LINKER:-fatal-warnings
-         LINKER:--gc-sections
-         LINKER:--no-wchar-size-warning
-         ${MEMORY_USAGE_FLAG}
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.7.0-src.inc b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.8.0-src.inc
similarity index 80%
rename from meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.7.0-src.inc
rename to meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.8.0-src.inc
index 6a209c3..393ce43 100644
--- a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.7.0-src.inc
+++ b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.8.0-src.inc
@@ -3,7 +3,7 @@
 LICENSE = "BSD-2-Clause & BSD-3-Clause & Apache-2.0"
 
 LIC_FILES_CHKSUM = "file://license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \
-                    file://../tf-m-tests/license.rst;md5=02d06ffb8d9f099ff4961c0cb0183a18 \
+                    file://../tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \
                     file://../mbedtls/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
                     file://../mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8"
 
@@ -22,24 +22,24 @@
             "
 
 # The required dependencies are documented in tf-m/config/config_default.cmake
-# TF-Mv1.7.0
+# TF-Mv1.8.0
 SRCBRANCH_tfm ?= "master"
-SRCREV_tfm = "b725a1346cdb9ec75b1adcdc4c84705881e8fd4e"
-# TF-Mv1.7.0
+SRCREV_tfm = "35ac80c8581d483da7d18cb8bcd20aaed096550c"
+# TF-Mv1.8.0
 SRCBRANCH_tfm-tests ?= "master"
-SRCREV_tfm-tests = "4c4b58041c6c01670266690538a780b4a23d08b8"
-# mbedtls-3.2.1
+SRCREV_tfm-tests = "1273c5bcd3d8ade60d51524797e0b22b6fd7eea1"
+# mbedtls-3.4.0
 SRCBRANCH_mbedtls ?= "master"
-SRCREV_mbedtls = "869298bffeea13b205343361b7a7daf2b210e33d"
-# v1.9.0
+SRCREV_mbedtls = "1873d3bfc2da771672bd8e7e8f41f57e0af77f33"
+# mcuboot v1.10.0
 SRCBRANCH_mcuboot ?= "main"
-SRCREV_mcuboot = "c657cbea75f2bb1faf1fceacf972a0537a8d26dd"
-# qcbor
+SRCREV_mcuboot = "23d28832f02dcdc18687782c6cd8ba99e9b274d2"
+# QCBOR v1.2
 SRCBRANCH_qcbor ?= "master"
 SRCREV_qcbor = "b0e7033268e88c9f27146fa9a1415ef4c19ebaff"
-# TF-Mv1.7.0
+# TF-Mv1.8.0
 SRCBRANCH_tfm-extras ?= "master"
-SRCREV_tfm-extras = "daacaa6df3881e205bc03d75fc8fb688afe9f0f1"
+SRCREV_tfm-extras = "504ae9a9a50981e9dd4d8accec8261a1dba9e965"
 
 SRCREV_FORMAT = "tfm"
 
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_1.7.0.bb b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_1.7.0.bb
deleted file mode 100644
index 504846e..0000000
--- a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_1.7.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.7.0-src.inc
-require recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native.inc
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_1.8.0.bb b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_1.8.0.bb
new file mode 100644
index 0000000..10b141d
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_1.8.0.bb
@@ -0,0 +1,2 @@
+require recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.8.0-src.inc
+require recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native.inc
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m.inc b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m.inc
index 02acfb8..1747c65 100644
--- a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m.inc
+++ b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m.inc
@@ -8,8 +8,6 @@
 HOMEPAGE = "https://git.trustedfirmware.org/trusted-firmware-m.git"
 PROVIDES = "virtual/trusted-firmware-m"
 
-SRC_URI += "file://rwx.patch"
-
 UPSTREAM_CHECK_GITTAGREGEX = "^TF-Mv(?P<pver>\d+(\.\d+)+)$"
 
 # Note to future readers of this recipe: until the CMakeLists don't abuse
@@ -24,10 +22,13 @@
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
+# At present, TF-M needs GCC >10 but <11.3 so use 11.2:
+# https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git/tree/docs/getting_started/tfm_getting_started.rst?h=TF-Mv1.8.0#n214
+#
 # See tools/requirements.txt for Python dependencies
 DEPENDS += "cmake-native \
             ninja-native \
-            gcc-arm-none-eabi-native \
+            gcc-arm-none-eabi-11.2-native \
             python3-cbor2-native \
             python3-click-native \
             python3-cryptography-native \
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.0.bb b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.0.bb
deleted file mode 100644
index 32e6ed3..0000000
--- a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.7.0-src.inc
-require recipes-bsp/trusted-firmware-m/trusted-firmware-m.inc
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.8.0.bb b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.8.0.bb
new file mode 100644
index 0000000..5794c1e
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.8.0.bb
@@ -0,0 +1,2 @@
+require recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.8.0-src.inc
+require recipes-bsp/trusted-firmware-m/trusted-firmware-m.inc
diff --git a/meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware.inc b/meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware.inc
index 4b9eda3..20eea36 100644
--- a/meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware.inc
+++ b/meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware.inc
@@ -18,7 +18,6 @@
 SRC_URI = "\
     ${SRC_URI_EDK2};branch=${SRCBRANCH_edk2_platforms};name=edk2;destsuffix=edk2 \
     ${SRC_URI_EDK2_PLATFORMS};branch=${SRCBRANCH_edk2};name=edk2-platforms;destsuffix=edk2/edk2-platforms \
-    file://default.patch;patchdir=edk2-platforms \
 "
 
 SRCREV_FORMAT         = "edk2_edk2-platforms"
diff --git a/meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware_%.bbappend b/meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware_2023%.bbappend
similarity index 100%
rename from meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware_%.bbappend
rename to meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware_2023%.bbappend
diff --git a/meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware_202302.bb b/meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware_202302.bb
index fa26c3e..02738d3 100644
--- a/meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware_202302.bb
+++ b/meta-arm/meta-arm/recipes-bsp/uefi/edk2-firmware_202302.bb
@@ -1,4 +1,6 @@
 SRCREV_edk2           ?= "f80f052277c88a67c55e107b550f504eeea947d3"
 SRCREV_edk2-platforms ?= "65e001a7f2abedf7799cfb36b057326c1540bd47"
 
+SRC_URI:append = " file://default.patch;patchdir=edk2-platforms"
+
 require edk2-firmware.inc
diff --git a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.20.15.bb b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.22.14.bb
similarity index 62%
rename from meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.20.15.bb
rename to meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.22.14.bb
index 4c62822..606f977 100644
--- a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.20.15.bb
+++ b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.22.14.bb
@@ -3,10 +3,10 @@
 SUMMARY = "Arm Fixed Virtual Platform - Armv-A Base RevC Architecture Envelope Model FVP"
 LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=1a33828e132ba71861c11688dbb0bd16 \
                     file://license_terms/third_party_licenses/third_party_licenses.txt;md5=34a1ba318d745f05e6197def68ea5411 \
-                    file://license_terms/third_party_licenses/arm_license_management_utilities/third_party_licenses.txt;md5=2e53bda6ff2db4c35d69944b93926c9f"
+                    file://license_terms/third_party_licenses/arm_license_management_utilities/third_party_licenses.txt;md5=c09526c02e631abb95ad61528892552d"
 
-SRC_URI[fvp-aarch64.sha256sum] = "e14e6cbd5c3ec8e1e2e79965e994c9235e136480e102f5c43de31162263b6361"
-SRC_URI[fvp-x86_64.sha256sum] = "f9db2076e3a63e2f8eb2ea9ed60f30db04e5f81f535bc7e3ed24e270d857ea6f"
+SRC_URI[fvp-aarch64.sha256sum] = "6964dbe0e297a5a6b5abd290d09e883923b5150e087f285fcfb80077525bfe6e"
+SRC_URI[fvp-x86_64.sha256sum] = "eb0f5ca855fb8b0321e137b82306ac8a6b534a5625366ff10e20b3f68df533a4"
 
 MODEL_CODE = "FVP_Base_RevC-2xAEMvA"
 
diff --git a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.20.15.bb b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.22.14.bb
similarity index 69%
rename from meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.20.15.bb
rename to meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.22.14.bb
index 3f8139c..89c83ea 100644
--- a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.20.15.bb
+++ b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.22.14.bb
@@ -3,8 +3,8 @@
 SUMMARY = "Arm Fixed Virtual Platform - Armv8-R Base Architecture Envelope Model FVP"
 LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=1a33828e132ba71861c11688dbb0bd16 \
                     file://license_terms/third_party_licenses/third_party_licenses.txt;md5=34a1ba318d745f05e6197def68ea5411 \
-                    file://license_terms/third_party_licenses/arm_license_management_utilities/third_party_licenses.txt;md5=2e53bda6ff2db4c35d69944b93926c9f"
+                    file://license_terms/third_party_licenses/arm_license_management_utilities/third_party_licenses.txt;md5=c09526c02e631abb95ad61528892552d"
 
-SRC_URI[fvp-x86_64.sha256sum] = "c252616489b79fffa3bb721255b1c99ff4ee8c38e4beebce4fa05862a3195fe9"
+SRC_URI[fvp-x86_64.sha256sum] = "e819bfbccd91749345e3c7c6db22cbe41e02223118eb6395a4307ca81b175f7a"
 
 MODEL_CODE = "FVP_Base_AEMv8R"
diff --git a/meta-arm/meta-arm/recipes-kernel/linux/files/generic-arm64-kmeta/generic-arm64-preempt-rt-tweaks.cfg b/meta-arm/meta-arm/recipes-kernel/linux/files/generic-arm64-kmeta/generic-arm64-preempt-rt-tweaks.cfg
new file mode 100644
index 0000000..84e0dd7
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-kernel/linux/files/generic-arm64-kmeta/generic-arm64-preempt-rt-tweaks.cfg
@@ -0,0 +1,4 @@
+# These configurations have a dependency on !PREEMPT_RT. Set them to `n` to
+# avoid complain when do_kernel_configcheck.
+CONFIG_LEDS_TRIGGER_CPU=n
+CONFIG_TRANSPARENT_HUGEPAGE=n
diff --git a/meta-arm/meta-arm/recipes-kernel/linux/files/generic-arm64-kmeta/generic-arm64-preempt-rt.scc b/meta-arm/meta-arm/recipes-kernel/linux/files/generic-arm64-kmeta/generic-arm64-preempt-rt.scc
new file mode 100644
index 0000000..ae97c2e
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-kernel/linux/files/generic-arm64-kmeta/generic-arm64-preempt-rt.scc
@@ -0,0 +1,7 @@
+define KMACHINE generic-arm64
+define KTYPE preempt-rt
+define KARCH arm64
+
+kconf hardware generic-arm64-preempt-rt-tweaks.cfg
+include ktypes/preempt-rt/preempt-rt.scc
+include features/bluetooth/bluetooth.scc
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-test/musl-workaround.patch b/meta-arm/meta-arm/recipes-security/optee/optee-test/0001-xtest-regression_1000-remove-unneeded-stat.h-include.patch
similarity index 60%
rename from meta-arm/meta-arm/recipes-security/optee/optee-test/musl-workaround.patch
rename to meta-arm/meta-arm/recipes-security/optee/optee-test/0001-xtest-regression_1000-remove-unneeded-stat.h-include.patch
index eed1bd4..5e075d6 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-test/musl-workaround.patch
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-test/0001-xtest-regression_1000-remove-unneeded-stat.h-include.patch
@@ -1,3 +1,8 @@
+From ddd5ad19732c9a2a9fe236662a8d264c6b2b1a0a Mon Sep 17 00:00:00 2001
+From: Jon Mason <jon.mason@arm.com>
+Date: Sat, 15 Jul 2023 15:08:43 -0400
+Subject: [PATCH] xtest: regression_1000: remove unneeded stat.h include
+
 Hack to work around musl compile error:
  In file included from optee-test/3.17.0-r0/recipe-sysroot/usr/include/sys/stat.h:23,
                   from optee-test/3.17.0-r0/git/host/xtest/regression_1000.c:25:
@@ -7,14 +12,19 @@
 
 stat.h is not needed, since it is not being used in this file.  So removing it.
 
-Upstream-Status: Pending [Not submitted to upstream yet]
+Upstream-Status: Backport [https://github.com/OP-TEE/optee_test/pull/688]
 Signed-off-by: Jon Mason <jon.mason@arm.com>
+Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
+Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
+---
+ host/xtest/regression_1000.c | 1 -
+ 1 file changed, 1 deletion(-)
 
 diff --git a/host/xtest/regression_1000.c b/host/xtest/regression_1000.c
-index 4264884..7f1baca 100644
+index cd11f933ce43..8e338e59da21 100644
 --- a/host/xtest/regression_1000.c
 +++ b/host/xtest/regression_1000.c
-@@ -22,7 +22,6 @@
+@@ -24,7 +24,6 @@
  #include <stdio.h>
  #include <stdlib.h>
  #include <string.h>
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-test_3.22.0.bb b/meta-arm/meta-arm/recipes-security/optee/optee-test_3.22.0.bb
index 3b9632f..5d3f5a8 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-test_3.22.0.bb
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-test_3.22.0.bb
@@ -1,7 +1,7 @@
 require optee-test.inc
 
 SRC_URI += " \
-    file://musl-workaround.patch \
+    file://0001-xtest-regression_1000-remove-unneeded-stat.h-include.patch \
    "
 SRCREV = "a286b57f1721af215ace318d5807e63f40186df6"
 
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb
index f91e682..1d07061 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb
@@ -1,5 +1,4 @@
 SUMMARY = "This is a filesystem client based on the SSH File Transfer Protocol using FUSE"
-AUTHOR = "Miklos Szeredi <miklos@szeredi.hu>"
 HOMEPAGE = "https://github.com/libfuse/sshfs"
 SECTION = "console/network"
 LICENSE = "GPL-2.0-only"
diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.14.1.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.15.1.bb
similarity index 94%
rename from meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.14.1.bb
rename to meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.15.1.bb
index c8a820a..de2996d 100644
--- a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.14.1.bb
+++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.15.1.bb
@@ -11,9 +11,9 @@
                     file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \
                     file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66"
 
-SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \
+SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.gz \
 "
-SRC_URI[sha256sum] = "126919d72b46b3e0eb58a9c6933a2a50c36f2ea69f61fe9e78bdba9f463ffa20"
+SRC_URI[sha256sum] = "13ef77cda531a21c2131f9576042970e98035c0a5f019abf661506efd2d38a4e"
 
 S = "${WORKDIR}/fuse-${PV}"
 
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary/0001-client-Add-missing-type-arguments-for-interfaces-to-.patch b/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary/0001-client-Add-missing-type-arguments-for-interfaces-to-.patch
deleted file mode 100644
index e5f0cb4..0000000
--- a/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary/0001-client-Add-missing-type-arguments-for-interfaces-to-.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 19dddc4b8acaeefc505e1b45f53048901839aede Mon Sep 17 00:00:00 2001
-From: Rico Tzschichholz <ricotz@ubuntu.com>
-Date: Sat, 8 Apr 2023 13:06:50 +0200
-Subject: [PATCH] client: Add missing type-arguments for interfaces to fix build with newer vala
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/geary/-/commit/4a7ca820b1d3d6130fedf254dc5b4cd7efb58f2c]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/client/accounts/accounts-editor-row.vala          | 2 +-
- src/client/accounts/accounts-editor-servers-pane.vala | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/client/accounts/accounts-editor-row.vala b/src/client/accounts/accounts-editor-row.vala
-index 6e7ac2ab..70223d71 100644
---- a/src/client/accounts/accounts-editor-row.vala
-+++ b/src/client/accounts/accounts-editor-row.vala
-@@ -386,7 +386,7 @@ private abstract class Accounts.ServiceRow<PaneType,V> : AccountRow<PaneType,V>
- 
- 
- /** Interface for rows that use a validator for editable values. */
--internal interface Accounts.ValidatingRow : EditorRow {
-+internal interface Accounts.ValidatingRow<PaneType> : EditorRow<PaneType> {
- 
- 
-     /** The row's validator */
-diff --git a/src/client/accounts/accounts-editor-servers-pane.vala b/src/client/accounts/accounts-editor-servers-pane.vala
-index 8bd9bde1..982acd5c 100644
---- a/src/client/accounts/accounts-editor-servers-pane.vala
-+++ b/src/client/accounts/accounts-editor-servers-pane.vala
-@@ -694,7 +694,7 @@ private class Accounts.SaveSentRow :
- 
- 
- private class Accounts.ServiceHostRow :
--    ServiceRow<EditorServersPane,Gtk.Entry>, ValidatingRow {
-+    ServiceRow<EditorServersPane,Gtk.Entry>, ValidatingRow<EditorServersPane> {
- 
- 
-     public Components.Validator validator {
-@@ -848,7 +848,7 @@ private class Accounts.ServiceSecurityRow :
- 
- 
- private class Accounts.ServiceLoginRow :
--    ServiceRow<EditorServersPane,Gtk.Entry>, ValidatingRow {
-+    ServiceRow<EditorServersPane,Gtk.Entry>, ValidatingRow<EditorServersPane> {
- 
- 
-     public Components.Validator validator {
-@@ -972,7 +972,7 @@ private class Accounts.ServiceLoginRow :
- 
- 
- private class Accounts.ServicePasswordRow :
--    ServiceRow<EditorServersPane,Gtk.Entry>, ValidatingRow {
-+    ServiceRow<EditorServersPane,Gtk.Entry>, ValidatingRow<EditorServersPane> {
- 
- 
-     public Components.Validator validator {
--- 
-2.41.0
-
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary/0001-vala-unit-Fix-non-null-build-with-newer-vala.patch b/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary/0001-vala-unit-Fix-non-null-build-with-newer-vala.patch
deleted file mode 100644
index 11ed6ae..0000000
--- a/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary/0001-vala-unit-Fix-non-null-build-with-newer-vala.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-From 116aead44e01e046f83931574980991df66f69c3 Mon Sep 17 00:00:00 2001
-From: Rico Tzschichholz <ricotz@ubuntu.com>
-Date: Fri, 14 Apr 2023 09:42:23 +0200
-Subject: [PATCH] vala-unit: Fix non-null build with newer vala
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/geary/-/commit/10f9c133a2ad515127d65f3bba13a0d91b75f4af]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- .../vala-unit/src/collection-assertions.vala   | 12 ++++++------
- subprojects/vala-unit/src/mock-object.vala     |  6 +++---
- subprojects/vala-unit/src/test-assertions.vala | 18 +++++++++---------
- 3 files changed, 18 insertions(+), 18 deletions(-)
-
-diff --git a/subprojects/vala-unit/src/collection-assertions.vala b/subprojects/vala-unit/src/collection-assertions.vala
-index 3b34acda..29223a0d 100644
---- a/subprojects/vala-unit/src/collection-assertions.vala
-+++ b/subprojects/vala-unit/src/collection-assertions.vala
-@@ -256,7 +256,7 @@ internal class ValaUnit.ArrayCollectionAssertion<E> : GLib.Object,
- 
-     public CollectionAssertions<E> contains(E expected)
-         throws GLib.Error {
--        E boxed_expected = box_value(expected);
-+        E? boxed_expected = box_value(expected);
-         bool found = false;
-         for (int i = 0; i < this.actual.length; i++) {
-             try {
-@@ -281,7 +281,7 @@ internal class ValaUnit.ArrayCollectionAssertion<E> : GLib.Object,
- 
-     public CollectionAssertions<E> not_contains(E expected)
-         throws GLib.Error {
--        E boxed_expected = box_value(expected);
-+        E? boxed_expected = box_value(expected);
-         for (int i = 0; i < this.actual.length; i++) {
-             try {
-                 assert_equal(box_value(this.actual[i]), boxed_expected);
-@@ -312,8 +312,8 @@ internal class ValaUnit.ArrayCollectionAssertion<E> : GLib.Object,
-                 this.context
-             );
-         }
--        E boxed_actual = box_value(this.actual[index]);
--        E boxed_expected = box_value(expected);
-+        E? boxed_actual = box_value(this.actual[index]);
-+        E? boxed_expected = box_value(expected);
-         try {
-             assert_equal(boxed_actual, boxed_expected);
-         } catch (TestError.FAILED err) {
-@@ -453,8 +453,8 @@ internal class ValaUnit.GeeCollectionAssertion<E> :
-         for (int i = 0; i <= index; i++) {
-             iterator.next();
-         }
--        E boxed_actual = box_value(iterator.get());
--        E boxed_expected = box_value(expected);
-+        E? boxed_actual = box_value(iterator.get());
-+        E? boxed_expected = box_value(expected);
-         try {
-             assert_equal(boxed_actual, boxed_expected);
-         } catch (TestError.FAILED err) {
-diff --git a/subprojects/vala-unit/src/mock-object.vala b/subprojects/vala-unit/src/mock-object.vala
-index 766777a4..eb086e10 100644
---- a/subprojects/vala-unit/src/mock-object.vala
-+++ b/subprojects/vala-unit/src/mock-object.vala
-@@ -138,7 +138,7 @@ public interface ValaUnit.MockObject : GLib.Object, TestAssertions {
-         throws GLib.Error {
-         assert_false(this.expected.is_empty, "Unexpected call: %s".printf(name));
- 
--        ExpectedCall expected = this.expected.poll();
-+        ExpectedCall expected = (!) this.expected.poll();
-         assert_equal(name, expected.name, "Unexpected call");
-         if (expected.expected_args != null) {
-             assert_args(args, expected.expected_args, "Call %s".printf(name));
-@@ -229,7 +229,7 @@ public interface ValaUnit.MockObject : GLib.Object, TestAssertions {
-                                           R default_return)
-         throws GLib.Error {
-         check_for_exception(expected);
--        R? return_object = default_return;
-+        R return_object = default_return;
-         if (expected.return_object != null) {
-             return_object = (R) expected.return_object;
-         }
-@@ -243,7 +243,7 @@ public interface ValaUnit.MockObject : GLib.Object, TestAssertions {
-         if (expected.return_object == null) {
-             throw default_error;
-         }
--        return expected.return_object;
-+        return (!) expected.return_object;
-     }
- 
-     private inline void check_for_exception(ExpectedCall expected)
-diff --git a/subprojects/vala-unit/src/test-assertions.vala b/subprojects/vala-unit/src/test-assertions.vala
-index 784dd9fd..e61fdf82 100644
---- a/subprojects/vala-unit/src/test-assertions.vala
-+++ b/subprojects/vala-unit/src/test-assertions.vala
-@@ -21,8 +21,8 @@ namespace ValaUnit {
- 
-     }
- 
--    internal inline void assert_equal<T>(T actual,
--                                         T expected,
-+    internal inline void assert_equal<T>(T? actual,
-+                                         T? expected,
-                                          string? context = null)
-         throws TestError {
-         if ((actual == null && expected != null) ||
-@@ -107,9 +107,9 @@ namespace ValaUnit {
-      *
-      * This will only work when the values are not already boxed.
-      */
--    internal T box_value<T>(T value) {
-+    internal T? box_value<T>(T value) {
-         var type = typeof(T);
--        T boxed = value;
-+        T? boxed = value;
- 
-         if (type == typeof(int) || type.is_enum()) {
-             int actual = (int) value;
-@@ -133,7 +133,7 @@ namespace ValaUnit {
-         return boxed;
-     }
- 
--    internal string to_display_string<T>(T value) {
-+    internal string to_display_string<T>(T? value) {
-         var type = typeof(T);
-         var display = "";
- 
-@@ -191,8 +191,8 @@ namespace ValaUnit {
-         );
-     }
- 
--    private void assert_equal_enum<T>(T actual,
--                                      T expected,
-+    private void assert_equal_enum<T>(T? actual,
-+                                      T? expected,
-                                       string? context)
-         throws TestError {
-         int actual_val = (int) ((int?) actual);
-@@ -342,7 +342,7 @@ public interface ValaUnit.TestAssertions : GLib.Object {
- 
- 
-     /** Asserts a value is null */
--    public void assert_non_null<T>(T actual, string? context = null)
-+    public void assert_non_null<T>(T? actual, string? context = null)
-         throws TestError {
-         if (actual == null) {
-             ValaUnit.assert(
-@@ -353,7 +353,7 @@ public interface ValaUnit.TestAssertions : GLib.Object {
-     }
- 
-     /** Asserts a value is null */
--    public void assert_is_null<T>(T actual, string? context = null)
-+    public void assert_is_null<T>(T? actual, string? context = null)
-         throws TestError {
-         if (actual != null) {
-             ValaUnit.assert(
--- 
-2.41.0
-
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_43.0.bb b/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_44.0.bb
similarity index 88%
rename from meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_43.0.bb
rename to meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_44.0.bb
index 6085d94..a585929 100644
--- a/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_43.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_44.0.bb
@@ -26,7 +26,7 @@
     libstemmer \
     libxml2 \
     sqlite3 \
-    webkitgtk \
+    webkitgtk3 \
 "
 
 RDEPENDS:${PN} = "gnome-keyring"
@@ -36,12 +36,10 @@
 SRC_URI = " \
 	git://github.com/GNOME/geary.git;nobranch=1;protocol=https \
 	file://0001-meson-Use-PKG_CONFIG_SYSROOT_DIR-when-using-pkg-conf.patch \
-	file://0001-client-Add-missing-type-arguments-for-interfaces-to-.patch \
-	file://0001-vala-unit-Fix-non-null-build-with-newer-vala.patch \
 "
 
 S = "${WORKDIR}/git"
-SRCREV = "94d6bec861daffb27efea85a296f347db7a5af6d"
+SRCREV = "b72db2a5e87f2269e6359af434a4fc02fca9e9df"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 REQUIRED_DISTRO_FEATURES = "gobject-introspection-data opengl"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
index 43717a8..edbe30f 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
@@ -37,7 +37,7 @@
 PACKAGECONFIG ?= "oauth"
 
 PACKAGECONFIG[canberra] = "-DENABLE_CANBERRA=ON,-DENABLE_CANBERRA=OFF,libcanberra"
-PACKAGECONFIG[oauth]    = "-DENABLE_OAUTH2_WEBKITGTK=ON -DENABLE_OAUTH2_WEBKITGTK4=OFF,-DENABLE_OAUTH2_WEBKITGTK4=OFF -DENABLE_OAUTH2_WEBKITGTK=OFF,webkitgtk json-glib"
+PACKAGECONFIG[oauth]    = "-DENABLE_OAUTH2_WEBKITGTK=ON -DENABLE_OAUTH2_WEBKITGTK4=OFF,-DENABLE_OAUTH2_WEBKITGTK4=OFF -DENABLE_OAUTH2_WEBKITGTK=OFF,webkitgtk3 json-glib"
 PACKAGECONFIG[goa]    = "-DENABLE_GOA=ON,-DENABLE_GOA=OFF,gnome-online-accounts"
 PACKAGECONFIG[kerberos]    = "-DWITH_KRB5=ON,-DWITH_KRB5=OFF,krb5"
 # BROKEN: due missing pkg-config in openldap eds' cmake finds host-libs when
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.16.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.16.1.bb
similarity index 91%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.16.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.16.1.bb
index 8c4b791..6aa28fc 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.16.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.16.1.bb
@@ -17,7 +17,7 @@
 GIR_MESON_ENABLE_FLAG = 'enabled'
 GIR_MESON_DISABLE_FLAG = 'disabled'
 
-SRC_URI[archive.sha256sum] = "d80ac70b99a7059c8f28ca0bf37305f09daeaecfceb1528d68a435ace9e8ec5d"
+SRC_URI[archive.sha256sum] = "3f1d00c4a650fe7902167648286b32c9ca4ef86e31a5d8ccca0139f12d10d0b3"
 
 PACKAGECONFIG ??= "exiv2 taglib libgsf poppler"
 PACKAGECONFIG[exiv2] = "-Dexiv2=enabled,-Dexiv2=disabled,exiv2"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.48.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.48.0.bb
index ca78fa0..cd14b48 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.48.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.48.0.bb
@@ -14,7 +14,7 @@
 PACKAGECONFIG ?= "goabackend kerberos owncloud lastfm google windows_live"
 
 # goabackend requires webkitgtk to be built with gtk+3 and gcr3
-PACKAGECONFIG[goabackend] = "-Dgoabackend=true,-Dgoabackend=false,gtk+3 gtk+3-native json-glib libxml2 libsoup rest libsecret webkitgtk"
+PACKAGECONFIG[goabackend] = "-Dgoabackend=true,-Dgoabackend=false,gtk+3 gtk+3-native json-glib libxml2 libsoup rest libsecret webkitgtk3"
 PACKAGECONFIG[kerberos] = "-Dkerberos=true, -Dkerberos=false,krb5 gcr3"
 PACKAGECONFIG[exchange] = "-Dexchange=true, -Dexchange=false"
 PACKAGECONFIG[google] = "-Dgoogle=true, -Dgoogle=false"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_44.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_44.4.bb
similarity index 93%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_44.3.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_44.4.bb
index a7807c3..ac35716 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_44.3.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_44.4.bb
@@ -29,7 +29,7 @@
 
 EXTRA_OEMESON += "-Dtests=false -Dsoup2=false"
 
-SRC_URI[archive.sha256sum] = "325abb722cab20b6aa67f158ea2ff2ea899830ca0a883e24594d9def85fd1622"
+SRC_URI[archive.sha256sum] = "8b53767ef6cc54a2db588ef1c5926838b0d67b8d9b21173de5139cd0fbd28095"
 
 PACKAGECONFIG ?= "flatpak"
 PACKAGECONFIG[flatpak] = "-Dflatpak=true,-Dflatpak=false,flatpak ostree"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb
similarity index 75%
rename from meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb
index 6b65af3..389f2fd 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb
@@ -7,4 +7,4 @@
 
 inherit gnomebase gettext gobject-introspection vala
 
-SRC_URI[archive.sha256sum] = "8ec44f32052e896fcdd4926eb814a326e39a5047e251eec7b9056fbd9444b0f1"
+SRC_URI[archive.sha256sum] = "b4e993bd827e4ceb6a770b1b5e8950fce3be9c8b2b0cbeb22fdf992808dd2139"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb
index 200ed0f..51d51ee0 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb
@@ -19,7 +19,7 @@
     libxslt \
     sqlite3 \
     libhandy \
-    webkitgtk \
+    webkitgtk3 \
     yelp-xsl \
 "
 PACKAGECONFIG_SOUP ?= "soup3"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.44.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.44.0.bb
index 8ea24ca..3548cc5 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.44.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.44.0.bb
@@ -20,7 +20,7 @@
 SRC_URI += "file://0001-Harcode-shebang-to-avoid-pointing-to-build-system-s-.patch"
 
 PACKAGECONFIG ?= "webkitgtk"
-PACKAGECONFIG[webkitgtk] = "-Dwebkitgtk=true,-Dwebkitgtk=false,webkitgtk"
+PACKAGECONFIG[webkitgtk] = "-Dwebkitgtk=true,-Dwebkitgtk=false,webkitgtk3"
 
 PACKAGES =+ "${PN}-gdialog"
 FILES:${PN}-gdialog = "${bindir}/gdialog"
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_056.bb b/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_056.bb
index 364beec..db08fff 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_056.bb
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_056.bb
@@ -65,9 +65,7 @@
 # This could be optimized a bit, but let's avoid non-booting systems :)
 RRECOMMENDS:${PN} = " \
                      kernel-modules \
-                     busybox \
                      coreutils \
                     "
 
-# CVE-2010-4176 affects only Fedora
-CVE_CHECK_IGNORE += "CVE-2010-4176"
+CVE_STATUS[CVE-2010-4176] = "not-applicable-platform: Applies only to Fedora"
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
index 88f32c8..5c7e84c 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
@@ -1,6 +1,5 @@
 # the binaries are statically linked against klibc
 SUMMARY = "Kexec tools, statically compiled against klibc"
-AUTHOR = "Eric Biederman"
 HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/"
 SECTION = "kernel/userland"
 LICENSE = "GPL-2.0-only"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.5.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.1.0.bb
similarity index 91%
rename from meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.5.bb
rename to meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.1.0.bb
index 6ad376f..ece1be6 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.5.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.1.0.bb
@@ -12,7 +12,7 @@
         git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master \
 "
 
-SRCREV = "fb44403f1c5571549ac128c21daee9761eb9249c"
+SRCREV = "960d0c1e19feaf310321c906e14bd5410c6be629"
 
 PE = "1"
 
@@ -47,7 +47,7 @@
 
 do_install:append() {
     chrpath -d ${D}${libdir}/libcamera.so
-    chrpath -d ${D}${libdir}/v4l2-compat.so
+    chrpath -d ${D}${libexecdir}/libcamera/v4l2-compat.so
 }
 
 addtask do_recalculate_ipa_signatures_package after do_package before do_packagedata
@@ -63,7 +63,7 @@
     ${S}/src/ipa/ipa-sign-install.sh ${B}/src/ipa-priv-key.pem "${modules}"
 }
 
-FILES:${PN} += " ${libdir}/v4l2-compat.so"
+FILES:${PN} += " ${libexecdir}/libcamera/v4l2-compat.so"
 FILES:${PN}-gst = "${libdir}/gstreamer-1.0"
 
 # libcamera-v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb
new file mode 100644
index 0000000..7f531ef
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Low Complexity Communication Codec (LC3)"
+HOMEPAGE = "https://github.com/google/liblc3"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "git://github.com/google/liblc3.git;protocol=https;branch=main"
+
+S = "${WORKDIR}/git"
+SRCREV = "1a5938ebaca4f13fe79ce074f5dee079783aa29f"
+
+inherit pkgconfig meson
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb
similarity index 91%
rename from meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb
rename to meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb
index aababb6..3fa87d0 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb
@@ -1,3 +1,4 @@
+SUMMARY = "Open Source H.264 Codec"
 DESCRIPTION = "OpenH264 is a codec library which supports H.264 encoding and \
 decoding. It is suitable for use in real time applications such as WebRTC."
 HOMEPAGE = "http://www.openh264.org/"
@@ -11,8 +12,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf"
 
 S = "${WORKDIR}/git"
-SRCREV = "50a1fcf70fafe962c526749991cb4646406933ba"
-BRANCH = "openh264v2.1.1"
+SRCREV = "0a48f4d2e9be2abb4fb01b4c3be83cf44ce91a6e"
+BRANCH = "openh264v${PV}"
 SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH} \
            file://0001-Makefile-Use-cp-options-to-preserve-file-mode.patch \
            "
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb
index 52a672f..9895e89 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb
@@ -1,5 +1,4 @@
 SUMMARY = "Multimedia processing server for Linux"
-AUTHOR = "Wim Taymans <wtaymans@redhat.com>"
 HOMEPAGE = "https://pipewire.org"
 SECTION = "multimedia"
 LICENSE = "LGPL-2.1-only"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.73.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.77.bb
similarity index 98%
rename from meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.73.bb
rename to meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.77.bb
index b27886d..34b3720 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.73.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.77.bb
@@ -13,7 +13,7 @@
 
 DEPENDS = "dbus ncurses"
 
-SRCREV = "44deacbc670ccf6c02d66a48b756a16167d8048f"
+SRCREV = "31cd694602cc37ada3a6d02a5a381f4e3933ecef"
 SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
@@ -101,6 +101,7 @@
 PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc"
 PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac"
 PACKAGECONFIG[bluez-opus] = "-Dbluez5-codec-opus=enabled,-Dbluez5-codec-opus=disabled,libopus"
+PACKAGECONFIG[bluez-lc3] = "-Dbluez5-codec-lc3=enabled,-Dbluez5-codec-lc3=disabled,liblc3"
 # From the pipewire git log:
 # "Some Linux phones doesn't use oFono but ModemManager to control the modem."
 # This packageconfig enables modemmanager specific code in the BlueZ backend.
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.7.bb b/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.7.bb
index 14d809f..c5499ff 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.7.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.7.bb
@@ -6,7 +6,7 @@
 
 PARALLEL_MAKE = ""
 
-DEPENDS = "libpcap libpcre libdnet bison-native"
+DEPENDS = "libpcap libpcre libdnet bison-native libnetfilter-queue"
 
 SRC_URI = "http://fossies.org/linux/misc/daq-${PV}.tar.gz \
            file://disable-run-test-program-while-cross-compiling.patch \
@@ -19,7 +19,7 @@
 #
 # never look to /usr/local lib while cross compiling
 
-EXTRA_OECONF = "--disable-nfq-module --disable-ipq-module --includedir=${includedir} \
+EXTRA_OECONF = "--enable-nfq-module --disable-ipq-module --includedir=${includedir} \
     --with-libpcap-includes=${STAGING_INCDIR} --with-dnet-includes=${STAGING_LIBDIR}"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/daq/files/0001-correct-the-location-of-unistd.h.patch b/meta-openembedded/meta-networking/recipes-connectivity/daq/files/0001-correct-the-location-of-unistd.h.patch
index 38dae20..7587d44 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/daq/files/0001-correct-the-location-of-unistd.h.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/daq/files/0001-correct-the-location-of-unistd.h.patch
@@ -1,14 +1,15 @@
-From 10e7d4e4bfcb70344d18f0d4ce36068475747f25 Mon Sep 17 00:00:00 2001
+From b7d54de51553f6d09906c355bd0dd326890c8fe4 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 29 Mar 2017 15:59:43 -0700
 Subject: [PATCH] correct the location of unistd.h
 
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
 Upstream-Status: Pending
 
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
  os-daq-modules/daq_ipfw.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ os-daq-modules/daq_nfq.c  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/os-daq-modules/daq_ipfw.c b/os-daq-modules/daq_ipfw.c
 index 016beb0..c2a4175 100644
@@ -26,6 +27,22 @@
  
  #include <netinet/in.h>
  #include <sys/socket.h>
+diff --git a/os-daq-modules/daq_nfq.c b/os-daq-modules/daq_nfq.c
+index 33021c0..4de94b6 100644
+--- a/os-daq-modules/daq_nfq.c
++++ b/os-daq-modules/daq_nfq.c
+@@ -24,10 +24,10 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ 
+ #include <sys/types.h>
+ #include <sys/time.h>
+-#include <sys/unistd.h>
+ 
+ #include <netinet/ip.h>
+ 
 -- 
-2.12.1
+2.25.1
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.26.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.26.bb
index 9a2bbab..e38ef2b 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.26.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.26.bb
@@ -43,10 +43,8 @@
 
 UPSTREAM_CHECK_GITTAGREGEX = "release_(?P<pver>\d+(\_\d+)+)"
 
-CVE_CHECK_IGNORE = "\
-    CVE-2002-0318 \
-    CVE-2011-4966 \
-"
+CVE_STATUS[CVE-2002-0318] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS[CVE-2011-4966] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
 
 PARALLEL_MAKE = ""
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.3.bb
index ce094d5..4626e40 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.3.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.3.bb
@@ -57,10 +57,8 @@
 
 CVE_PRODUCT = "mbed_tls"
 
-# Fix merged upstream https://github.com/Mbed-TLS/mbedtls/pull/5310
-CVE_CHECK_IGNORE += "CVE-2021-43666"
-# Fix merged upstream https://github.com/Mbed-TLS/mbedtls/commit/9a4a9c66a48edfe9ece03c7e4a53310adf73a86c
-CVE_CHECK_IGNORE += "CVE-2021-45451"
+CVE_STATUS[CVE-2021-43666] = "backported-patch: Fix merged upstream https://github.com/Mbed-TLS/mbedtls/pull/5310"
+CVE_STATUS[CVE-2021-45451] = "backported-patch: Fix merged upstream https://github.com/Mbed-TLS/mbedtls/commit/9a4a9c66a48edfe9ece03c7e4a53310adf73a86c"
 
 # Strip host paths from autogenerated test files
 do_compile:append() {
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.4.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.4.0.bb
index b8c9662..10fb7de 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.4.0.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.4.0.bb
@@ -58,11 +58,6 @@
 
 CVE_PRODUCT = "mbed_tls"
 
-# Fix merged upstream https://github.com/Mbed-TLS/mbedtls/pull/5310
-CVE_CHECK_IGNORE += "CVE-2021-43666"
-# Fix merged upstream https://github.com/Mbed-TLS/mbedtls/commit/9a4a9c66a48edfe9ece03c7e4a53310adf73a86c
-CVE_CHECK_IGNORE += "CVE-2021-45451"
-
 # Strip host paths from autogenerated test files
 do_compile:append() {
 	sed -i 's+${S}/++g' ${B}/tests/*.c 2>/dev/null || :
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openthread/wpantund_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/openthread/wpantund_git.bb
index a7fcc20..ebb3fc3 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/openthread/wpantund_git.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openthread/wpantund_git.bb
@@ -22,11 +22,8 @@
 
 inherit pkgconfig perlnative autotools
 
-# CVE-2020-8916 has been fixed in commit
-# 3f108441e23e033b936e85be5b6877dd0a1fbf1c which is included in the SRCREV
-# CVE-2021-33889 has been fixed in commit
-# a8f3f761f6753b567d1e5ad22cbe6b0ceb6f2649 which is included in the SRCREV
 # There has not been a wpantund release as of yet that includes these fixes.
 # That means cve-check can not match them. Once a new release comes we can
-# remove the ignore statement.
-CVE_CHECK_IGNORE = "CVE-2020-8916 CVE-2021-33889"
+# remove the statement.
+CVE_STATUS[CVE-2020-8916] = "backported-patch: fixed via 3f108441e23e033b936e85be5b6877dd0a1fbf1c"
+CVE_STATUS[CVE-2021-33889] = "backported-patch: fixed via 3f108441e23e033b936e85be5b6877dd0a1fbf1c"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/restinio/restinio_0.6.13.bb b/meta-openembedded/meta-networking/recipes-connectivity/restinio/restinio_0.6.13.bb
index 03eff43..9239bd8 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/restinio/restinio_0.6.13.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/restinio/restinio_0.6.13.bb
@@ -2,7 +2,6 @@
 DESCRIPTION = "Cross-platform, efficient, customizable, and robust \
                asynchronous HTTP/WebSocket server C++14 library with the \
                right balance between performance and ease of use"
-AUTHOR = "Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>"
 HOMEPAGE = "https://stiffstream.com/en/products/restinio.html"
 SECTION = "libs"
 LICENSE = "BSD-3-Clause"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.5.bb
similarity index 96%
rename from meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.4.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.5.bb
index 66089ed..9d8802f 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.4.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.5.bb
@@ -32,18 +32,13 @@
            file://cmocka-uintptr_t.patch \
            "
 
-SRC_URI[sha256sum] = "6ba7b3503cc59c9ff4f6fcb1b510c2c855fff93e0b366ab891a32a4732e88e53"
+SRC_URI[sha256sum] = "095256ac332e1d9fbf9b7ff7823f92a3233d3ed658ce7fc9b33905c2243f447f"
 
 UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.18(\.\d+)+).tar.gz"
 
 inherit systemd waf-samba cpan-base perlnative update-rc.d perl-version pkgconfig
 
-# CVE-2011-2411 is valnerble only on HP NonStop Servers.
-CVE_CHECK_IGNORE += "CVE-2011-2411" 
-# Patch for CVE-2018-1050 is applied in version 4.5.15, 4.6.13, 4.7.5.
-CVE_CHECK_IGNORE += "CVE-2018-1050"
-# Patch for CVE-2018-1057 is applied in version 4.3.13, 4.4.16.
-CVE_CHECK_IGNORE += "CVE-2018-1057"
+CVE_STATUS[CVE-2011-2411] = "not-applicable-platform: vulnerable only on HP NonStop Servers"
 
 # remove default added RDEPENDS on perl
 RDEPENDS:${PN}:remove = "perl"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
index adc2a72..fe9c038 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
@@ -1,6 +1,5 @@
 SUMMARY = "A client for the Cisco3000 VPN Concentrator"
 HOMEPAGE = "http://www.unix-ag.uni-kl.de/~massar/vpnc/"
-AUTHOR = "Maurice Massar vpnc@unix-ag.uni-kl.de"
 SECTION = "net"
 LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=173b74cb8ac640a9992c03f3bce22a33"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.1.bb b/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.1.bb
index a83dad3..65bf91c 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.1.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.1.bb
@@ -2,7 +2,6 @@
 DESCRIPTION = "This daemon is similar to NetworkManager-dispatcher, but is much \
 more limited in the types of events it supports due to the limited nature of \
 systemd-networkd(8)."
-AUTHOR = "Clayton Craft and others"
 
 LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.19.bb b/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.19.bb
index f9f810a..36c921a 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.19.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.19.bb
@@ -61,6 +61,7 @@
 }
 
 USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM:${PN} = "--system nogroup"
 USERADD_PARAM:${PN} = "--system --home ${localstatedir}/run/radvd/ -M -g nogroup radvd"
 
 pkg_postinst:${PN} () {
diff --git a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.2.0.bb b/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.2.0.bb
index 094dbb1..ee006ef 100644
--- a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.2.0.bb
+++ b/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.2.0.bb
@@ -39,6 +39,7 @@
 CFPROTECTION ?= "-fcf-protection=full"
 CFPROTECTION:riscv64 = ""
 CFPROTECTION:arm = ""
+CFPROTECTION:aarch64 = ""
 
 CFLAGS += "${CFPROTECTION}"
 
diff --git a/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.5.bb b/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.5.bb
index 580c29e..301dd86 100644
--- a/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.5.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.5.bb
@@ -14,3 +14,5 @@
 S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink_1.0.2.bb b/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink_1.0.2.bb
index a43c345..2778185 100644
--- a/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink_1.0.2.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink_1.0.2.bb
@@ -18,3 +18,5 @@
 SRC_URI[sha256sum] = "b064c7c3d426efb4786e60a8e6859b82ee2f2c5e49ffeea640cfe4fe33cbc376"
 
 inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.5.bb b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.6.bb
similarity index 95%
rename from meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.5.bb
rename to meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.6.bb
index 380a330..841a726 100644
--- a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.5.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.6.bb
@@ -7,7 +7,7 @@
            file://0001-configure.ac-Add-serial-tests.patch \
            file://run-ptest \
            "
-SRCREV = "c62bef65fef638452b4ed1893c2451fc253ca7ca"
+SRCREV = "83dd4dc316b4189d16ead54cd30bfc89e5160cfd"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_4.0.1.bb b/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_4.0.2.bb
similarity index 93%
rename from meta-openembedded/meta-networking/recipes-irc/weechat/weechat_4.0.1.bb
rename to meta-openembedded/meta-networking/recipes-irc/weechat/weechat_4.0.2.bb
index 00472e2..8f1e06f 100644
--- a/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_4.0.1.bb
+++ b/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_4.0.2.bb
@@ -10,7 +10,7 @@
            file://0001-use-pkg-config-for-gcrypt-instead.patch \
            "
 
-SRC_URI[sha256sum] = "1b9533123af427922b3d7fabede958dc85392d50881d97d0b7986d8f514556e9"
+SRC_URI[sha256sum] = "0e648ee0d024c8099425ee60d41b272924ec8e19800ee8f1441090708834023c"
 
 inherit cmake pkgconfig
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.12.2.bb b/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.13.1.bb
similarity index 94%
rename from meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.12.2.bb
rename to meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.13.1.bb
index 03db5fc..a799ad1 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.12.2.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.13.1.bb
@@ -13,7 +13,7 @@
 LIC_FILES_CHKSUM = "file://LICENCE;md5=411a48ac3c2e9e0911b8dd9aed26f754"
 
 SRC_URI = "gitsm://github.com/jech/babeld.git;protocol=https;branch=master"
-SRCREV = "a9fba0e19ebde96cdc4edd35c5363f9e8139ab35"
+SRCREV = "3d61ea1e843e2c5f9706c74d1adad4e1d24d44b9"
 
 UPSTREAM_CHECK_GITTAGREGEX = "babeld-(?P<pver>\d+(\.\d+)+)"
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.80.10.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.80.10.bb
index 46f1b70..aff7954 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.80.10.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.80.10.bb
@@ -46,18 +46,16 @@
 
 CVE_PRODUCT = "apple:mdnsresponder"
 
-# CVE-2007-0613 is not applicable as it only affects Apple products
-# i.e. ichat,mdnsresponder, instant message framework and MacOS.
-# Also, https://www.exploit-db.com/exploits/3230 shows the part of code
-# affected by CVE-2007-0613 which is not preset in upstream source code.
-# Hence, CVE-2007-0613 does not affect other Yocto implementations and
-# is not reported for other distros can be marked whitelisted.
-# Links:
-# https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613
-# https://www.incibe-cert.es/en/early-warning/vulnerabilities/cve-2007-0613
-# https://security-tracker.debian.org/tracker/CVE-2007-0613
-# https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613
-CVE_CHECK_IGNORE += "CVE-2007-0613"
+CVE_STATUS[CVE-2007-0613] = "not-applicable-platform: Issue affects Apple products \
+i.e. ichat,mdnsresponder, instant message framework and MacOS. Also, \
+https://www.exploit-db.com/exploits/3230 shows the part of code \
+affected by CVE-2007-0613 which is not preset in upstream source code. \
+Hence, CVE-2007-0613 does not affect other Yocto implementations and \
+is not reported for other distros can be marked whitelisted. \
+Links: https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613 \
+https://www.incibe-cert.es/en/early-warning/vulnerabilities/cve-2007-0613 \
+https://security-tracker.debian.org/tracker/CVE-2007-0613 \
+https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613"
 
 PARALLEL_MAKE = ""
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc b/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc
index aaad0e0..7062d21 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc
+++ b/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc
@@ -13,10 +13,10 @@
 
 SRC_URI = "git://gitosis.stanford.edu/openflow.git;protocol=git;branch=master"
 
-CVE_CHECK_IGNORE = "\
-    CVE-2015-1611 \
-    CVE-2015-1612 \
-"
+CVE_STATUS[CVE-2015-1611] = "not-applicable-config: Not referred to our implementation of openflow"
+CVE_STATUS[CVE-2015-1612] = "not-applicable-config: Not referred to our implementation of openflow"
+CVE_STATUS[CVE-2018-1078] = "cpe-incorrect: This CVE is not for this product but cve-check assumes it is \
+because two CPE collides when checking the NVD database"
 
 DEPENDS = "virtual/libc"
 
@@ -58,7 +58,3 @@
 }
 
 FILES:${PN} += "${nonarch_libdir}/tmpfiles.d"
-
-# This CVE is not for this product but cve-check assumes it is
-# because two CPE collides when checking the NVD database
-CVE_CHECK_IGNORE = "CVE-2018-1078"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb b/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb
index 0b9e05b..c53d1b8 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb
@@ -7,7 +7,6 @@
 are normally attached to each Ethernet device in your computer. \
 Addresses are assigned randomly by each host and, in case of collision, \
 both hosts (are supposed to) renumber."
-AUTHOR = "Anand Kumria <wildfire@progsoc.uts.edu.au>"
 HOMEPAGE = "http://www.progsoc.org/~wildfire/zeroconf/"
 LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4 \
diff --git a/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.20.bb b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.20.bb
index 01e060e..e41dd93 100644
--- a/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.20.bb
+++ b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.20.bb
@@ -71,5 +71,4 @@
 FILES:${PN}-dev += "${libdir}/dovecot/libdovecot*.so"
 FILES:${PN}-dbg += "${libdir}/dovecot/*/.debug"
 
-# CVE-2016-4983 affects only postinstall script on specific distribution
-CVE_CHECK_IGNORE += "CVE-2016-4983"
+CVE_STATUS[CVE-2016-4983] = "not-applicable-platform: Affects only postinstall script on specific distribution."
diff --git a/meta-openembedded/meta-networking/recipes-support/http-parser/http-parser_2.9.4.bb b/meta-openembedded/meta-networking/recipes-support/http-parser/http-parser_2.9.4.bb
index d4f7685..528289b 100644
--- a/meta-openembedded/meta-networking/recipes-support/http-parser/http-parser_2.9.4.bb
+++ b/meta-openembedded/meta-networking/recipes-support/http-parser/http-parser_2.9.4.bb
@@ -6,7 +6,6 @@
               interrupted at anytime. Depending on your architecture, it \
               only requires about 40 bytes of data per message stream (in a \
               web server that is per connection)."
-AUTHOR = "Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>"
 HOMEPAGE = "https://github.com/nodejs/http-parser"
 SECTION = "libs"
 LICENSE = "MIT"
diff --git a/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-netlink_1.2.0.bb b/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-netlink_1.3.0.bb
similarity index 100%
rename from meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-netlink_1.2.0.bb
rename to meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-netlink_1.3.0.bb
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
index 46d0c1b..942b2d4 100644
--- a/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools.inc
+++ b/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools.inc
@@ -5,4 +5,4 @@
 LIC_FILES_CHKSUM = "file://${WORKDIR}/git/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 SRC_URI = "git://github.com/wkz/mdio-tools.git;protocol=https;branch=master"
-SRCREV = "0dbfca13a094d20d736153c63161cf11b9ccf2d3"
+SRCREV = "42c91efa63ef81992cdcc01e698cf3bc7764bbc3"
diff --git a/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools_1.2.0.bb b/meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools_1.3.0.bb
similarity index 100%
rename from meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools_1.2.0.bb
rename to meta-openembedded/meta-networking/recipes-support/mdio-tools/mdio-tools_1.3.0.bb
diff --git a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p17.bb b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p17.bb
index fba4611..e80ea4c 100644
--- a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p17.bb
+++ b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p17.bb
@@ -26,12 +26,11 @@
 
 SRC_URI[sha256sum] = "103dd272e6a66c5b8df07dce5e9a02555fcd6f1397bdfb782237328e89d3a866"
 
-# CVE-2016-9312 is only for windows.
-# CVE-2019-11331 is inherent to RFC 5905 and cannot be fixed without breaking compatibility
-# The other CVEs are not correctly identified because cve-check
-# is not able to check the version correctly (it only checks for 4.2.8 omitting p15 that makes the difference)
-CVE_CHECK_IGNORE += "\
-    CVE-2016-9312 \
+CVE_STATUS[CVE-2016-9312] = "not-applicable-platform: Issue only applies on Windows"
+CVE_STATUS[CVE-2019-11331] = "upstream-wontfix: inherent to RFC 5905 and cannot be fixed without breaking compatibility"
+CVE_STATUS_GROUPS += "CVE_STATUS_NTP"
+CVE_STATUS_NTP[status] = "fixed-version: Yocto CVE check can not handle 'p' in ntp version"
+CVE_STATUS_NTP = " \
     CVE-2015-5146 \
     CVE-2015-5300 \
     CVE-2015-7975 \
@@ -51,7 +50,6 @@
     CVE-2016-7433 \
     CVE-2016-9310 \
     CVE-2016-9311 \
-    CVE-2019-11331 \
 "
 
 
diff --git a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_12.1.5.bb b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_12.1.5.bb
index e12e4be..4873e9d 100644
--- a/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_12.1.5.bb
+++ b/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools_12.1.5.bb
@@ -119,3 +119,5 @@
     if 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
         raise bb.parse.SkipRecipe('Requires meta-filesystems to be present to provide fuse.')
 }
+
+CVE_PRODUCT = "open-vm-tools vmware:tools"
diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.3.bb b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.3.bb
index 76bce7d..a5fc158 100644
--- a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.3.bb
+++ b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.3.bb
@@ -16,8 +16,7 @@
 
 SRC_URI[sha256sum] = "13b207a376d8880507c74ff78aabc3778a9da47c89f1e247dcee3c7237138ff6"
 
-# CVE-2020-7224 and CVE-2020-27569 are for Aviatrix OpenVPN client, not for openvpn.
-CVE_CHECK_IGNORE += "CVE-2020-7224 CVE-2020-27569"
+CVE_STATUS[CVE-2020-27569] = "not-applicable-config: Applies only Aviatrix OpenVPN client, not openvpn"
 
 INITSCRIPT_PACKAGES = "${PN}"
 INITSCRIPT_NAME:${PN} = "openvpn"
diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_46.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_47.0.bb
similarity index 95%
rename from meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_46.0.bb
rename to meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_47.0.bb
index a6927f5..ac41743 100644
--- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_46.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_47.0.bb
@@ -7,7 +7,7 @@
 
 SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=master;protocol=https \
            file://0001-cmake-Allow-SYSTEMCTL_BIN-to-be-overridden-from-envi.patch"
-SRCREV = "f2789cbd394c5839e8942d585a494ab72fd97e39"
+SRCREV = "ccb120cc7b7faceca90cfa55189a1b35b0adc78d"
 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/spice/spice_git.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
index b3e6874..5732f50 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
@@ -30,11 +30,7 @@
 
 S = "${WORKDIR}/git"
 
-CVE_CHECK_IGNORE += "\
-    CVE-2016-0749 \
-    CVE-2016-2150 \
-    CVE-2018-10893 \
-"
+CVE_STATUS[CVE-2018-10893] = "fixed-version: patched already, caused by inaccurate CPE in the NVD database."
 
 inherit autotools gettext python3native python3-dir pkgconfig
 
diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.6.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.7.bb
similarity index 97%
rename from meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.6.bb
rename to meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.7.bb
index f822dce..d7df76a 100644
--- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.6.bb
+++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.7.bb
@@ -17,7 +17,7 @@
 
 UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
 
-SRC_URI[sha256sum] = "0079097a1b17ebc7250a73563f984c13327dac5016b7d53165810fbcca4bd884"
+SRC_URI[sha256sum] = "a79f7b04cbff823e30452abf4bcb86773d8583eb62d5f71f16c09f019f8a8777"
 
 PE = "1"
 
diff --git a/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass
index 69e24cb..d6ea689 100644
--- a/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass
+++ b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass
@@ -8,9 +8,10 @@
 SPARSE_BLOCK_SIZE ??= "4096"
 
 CONVERSIONTYPES += "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_CMD:sparse = " \
+    truncate --no-create --size=%${SPARSE_BLOCK_SIZE} "${IMAGE_NAME}.${type}"; \
+    img2simg -s "${IMAGE_NAME}.${type}" "${IMAGE_NAME}.${type}.sparse" ${SPARSE_BLOCK_SIZE}; \
+ "
+
 CONVERSION_DEPENDS_sparse = "android-tools-native"
diff --git a/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb b/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb
index 90d6880..ac197a6 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb
@@ -1,5 +1,4 @@
 SUMMARY = "Openbox configuration tool"
-AUTHOR = "Siegfried Gevatter"
 HOMEPAGE = "https://launchpad.net/openbox-xdgmenu/"
 SECTION = "x11/wm"
 LICENSE = "GPL-3.0-or-later"
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 550fbc3..0ce58b1 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
@@ -50,11 +50,8 @@
 
 S = "${WORKDIR}/git"
 
-CVE_CHECK_IGNORE += "\
-    CVE-2014-8180 \
-    CVE-2017-18381 \
-    CVE-2017-2665 \
-"
+CVE_STATUS[CVE-2014-8180] = "not-applicable-config: Not affecting our configuration so it can be safely ignored."
+CVE_STATUS[CVE-2017-2665] = "not-applicable-config: Not affecting our configuration so it can be safely ignored."
 
 COMPATIBLE_HOST ?= '(x86_64|i.86|powerpc64|arm|aarch64).*-linux'
 
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_506.bb b/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_506.bb
index 3b6df0b..5a1306b 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_506.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_506.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Filesystem and Disk Benchmarking Tool"
 HOMEPAGE = "http://www.iozone.org/"
-AUTHOR = "Don Capps <don.capps2@verizon.net>, William D. Norcott <wnorcott@us.oracle.com>"
 SECTION = "console/tests"
 LICENSE = "iozone3"
 LIC_FILES_CHKSUM = "file://iozone.c;beginline=37;endline=48;md5=7331260091868dcad0f9edea735b5f4b \
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.13.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.14.bb
similarity index 84%
rename from meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.13.bb
rename to meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.14.bb
index 62a95b3..13f620f 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.13.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.14.bb
@@ -8,7 +8,6 @@
 HOMEPAGE = "http://software.es.net/iperf/"
 SECTION = "console/network"
 BUGTRACKER = "https://github.com/esnet/iperf/issues"
-AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport@lbl.gov>"
 
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=dc6301c8256ceb8f71c9e3c2ae9096b9"
@@ -18,7 +17,7 @@
            file://0001-configure.ac-check-for-CPP-prog.patch \
            "
 
-SRCREV = "f48e7fa92b8932814f3d92f36986d51be9efe6e0"
+SRCREV = "a0be85934144bc04712a6695b14ea6e45c379e1d"
 
 S = "${WORKDIR}/git"
 
@@ -30,5 +29,3 @@
 PACKAGECONFIG[openssl] = "--with-openssl=${RECIPE_SYSROOT}${prefix},--without-openssl,openssl"
 
 CFLAGS += "-D_GNU_SOURCE"
-
-CVE_PRODUCT = "iperf_project:iperf"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/qperf/qperf_0.4.11.bb b/meta-openembedded/meta-oe/recipes-benchmark/qperf/qperf_0.4.11.bb
index 9722323..b32f371 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/qperf/qperf_0.4.11.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/qperf/qperf_0.4.11.bb
@@ -1,7 +1,6 @@
 SUMMARY = "Measure socket and RDMA performance"
 DESCRIPTION = "qperf measures bandwidth and latency between two nodes."
 HOMEPAGE = "https://github.com/linux-rdma/qperf"
-AUTHOR = "Johann George"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
diff --git a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.13.bb b/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_2.5.bb
similarity index 63%
rename from meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.13.bb
rename to meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_2.5.bb
index 1055fa4..492de65 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.13.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_2.5.bb
@@ -1,23 +1,20 @@
 SUMMARY = "NVMe management command line interface"
-AUTHOR = "Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>"
 HOMEPAGE = "https://github.com/linux-nvme/nvme-cli"
 SECTION = "console/utils"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8264535c0c4e9c6c335635c4026a8022"
-DEPENDS = "util-linux"
-PV .= "+git${SRCPV}"
+LICENSE = "GPL-2.0-only & CC0-1.0 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8264535c0c4e9c6c335635c4026a8022 \
+                    file://ccan/licenses/CC0;md5=c17af43b05840255a6fedc5eda9d56cc \
+                    file://ccan/licenses/BSD-MIT;md5=838c366f69b72c5df05c96dff79b35f2"
+DEPENDS = "json-c libnvme"
+SRCREV = "d6c07e0de9be777009ebb9ab7475bee1ae3e0e95"
 
 SRC_URI = "git://github.com/linux-nvme/nvme-cli.git;branch=master;protocol=https"
-SRCREV = "f0e9569df9289d6ee55ba2c23615cc7c73a9b088"
 
 S = "${WORKDIR}/git"
 
-inherit bash-completion systemd
+inherit bash-completion meson pkgconfig systemd
 
-do_install() {
-    oe_runmake install-spec DESTDIR=${D} PREFIX=${prefix} \
-        UDEVDIR=${nonarch_base_libdir}/udev SYSTEMDDIR=${systemd_unitdir}
-}
+EXTRA_OEMESON += "-Dsystemddir=${systemd_unitdir}/system"
 
 pkg_postinst_ontarget:${PN}() {
     ${sbindir}/nvme gen-hostnqn > ${sysconfdir}/nvme/hostnqn
diff --git a/meta-openembedded/meta-oe/recipes-bsp/pcmciautils/pcmciautils_018.bb b/meta-openembedded/meta-oe/recipes-bsp/pcmciautils/pcmciautils_018.bb
index 42dfcd1..52e9b13 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/pcmciautils/pcmciautils_018.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/pcmciautils/pcmciautils_018.bb
@@ -28,11 +28,10 @@
 export udevdir = "`pkg-config --variable=udevdir udev`"
 export udevrulesdir = "`pkg-config --variable=udevdir udev`/rules.d"
 export UDEV = "1"
-LD = "${CC}"
 CFLAGS =+ "-I${S}/src"
 CFLAGS =+ "-DPCMCIAUTILS_VERSION=\\"${PV}\\""
 
-EXTRA_OEMAKE = "-e 'STRIP=echo' 'LIB_OBJS=-lc -lsysfs' 'LEX=flex'"
+EXTRA_OEMAKE = "-e 'STRIP=echo' 'LIB_OBJS=-lc -lsysfs' 'LEX=flex' 'LD=${CC}'"
 
 do_install () {
 	oe_runmake 'DESTDIR=${D}' install
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.6.6.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.6.7.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.6.6.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.6.7.bb
index 85160bc..c3ba96f 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.6.6.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.6.7.bb
@@ -5,7 +5,7 @@
                     file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     "
 
-SRCREV = "536db06723bd3cde8e1f2d52a5cdd65af2433784"
+SRCREV = "266277aeb39dc2db33e577335236f89ed7ca5918"
 
 SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=master"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_2.6.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_2.7.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_2.6.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_2.7.bb
index 64d6232..f4e7089 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_2.6.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_2.7.bb
@@ -8,7 +8,7 @@
 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] = "f7ac93aeef672604f5b5194ca038035ae222925be392c4345873c9742f477797"
+SRC_URI[sha256sum] = "289ff47a76fb854e7789c45c5e3e0f15de4adc5fd2e82e47ab08e3564d8961d9"
 
 inherit autotools manpages pkgconfig python3native systemd
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
index 50096cf..fec0557 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
@@ -9,9 +9,7 @@
 SRC_URI = "git://github.com/rakshasa/libtorrent;branch=master;protocol=https"
 SRCREV = "e60f222241319aaae482789517ad00ae9344bd13"
 
-CVE_CHECK_IGNORE += "\
-    CVE-2009-1760 \
-"
+CVE_STATUS[CVE-2009-1760] = "backported-patch: patched in our product"
 
 PV = "0.13.8+git${SRCPV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.12.bb b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.13.bb
similarity index 71%
rename from meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.12.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.13.bb
index e38d9ed..a4c244d 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.12.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.13.bb
@@ -3,13 +3,13 @@
 HOMEPAGE = "http://sourceforge.net/projects/ser2net/"
 
 LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 DEPENDS = "gensio libyaml"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "6101bdf937716be9b019c721b28b45d21efddd1ec19ac935aad351c55bd6f83d"
+SRC_URI[sha256sum] = "ed8b98448d535111d9a593b067601a8b53e2874814d706b2421a9490a660d265"
 
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net"
 
diff --git a/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb b/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb
index 05fa0c3..03c895f 100644
--- a/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb
+++ b/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb
@@ -25,11 +25,9 @@
 
 RRECOMMENDS:${PN} += "kernel-module-emlog"
 
-# The NVD database doesn't have a CPE for this product,
-# the name of this product is exactly the same as github.com/emlog/emlog
-# but it's not related in any way. The following CVEs are from that project
-# so they can be safely ignored
-CVE_CHECK_IGNORE += "\
+CVE_STATUS_GROUPS += "CVE_STATUS_EMLOG"
+CVE_STATUS_EMLOG[status] = "fixed-version: The name of this product is exactly the same as github.com/emlog/emlog. CVE can be safely ignored."
+CVE_STATUS_EMLOG = " \
     CVE-2019-16868 \
     CVE-2019-17073 \
     CVE-2021-44584 \
diff --git a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc
index 55b9c1a..39269d7 100644
--- a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc
+++ b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc
@@ -2,12 +2,10 @@
 
 # from Cargo.lock
 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.19 \
     crate://crates.io/aho-corasick/1.0.1 \
-    crate://crates.io/aliasable/0.1.3 \
     crate://crates.io/android-tzdata/0.1.1 \
     crate://crates.io/android_system_properties/0.1.5 \
     crate://crates.io/anstream/0.3.2 \
@@ -18,18 +16,18 @@
     crate://crates.io/arrayref/0.3.6 \
     crate://crates.io/arrayvec/0.7.2 \
     crate://crates.io/autocfg/1.1.0 \
-    crate://crates.io/bigdecimal/0.3.0 \
+    crate://crates.io/bigdecimal/0.4.0 \
     crate://crates.io/binary-heap-plus/0.5.0 \
     crate://crates.io/bindgen/0.63.0 \
     crate://crates.io/bitflags/1.3.2 \
     crate://crates.io/blake2b_simd/1.0.1 \
-    crate://crates.io/blake3/1.3.3 \
+    crate://crates.io/blake3/1.4.0 \
     crate://crates.io/block-buffer/0.10.3 \
-    crate://crates.io/bstr/1.5.0 \
+    crate://crates.io/bstr/1.6.0 \
     crate://crates.io/bumpalo/3.11.1 \
     crate://crates.io/bytecount/0.6.3 \
     crate://crates.io/byteorder/1.4.3 \
-    crate://crates.io/cc/1.0.77 \
+    crate://crates.io/cc/1.0.79 \
     crate://crates.io/cexpr/0.6.0 \
     crate://crates.io/cfg-if/1.0.0 \
     crate://crates.io/chrono/0.4.26 \
@@ -39,10 +37,11 @@
     crate://crates.io/clap_complete/4.3.0 \
     crate://crates.io/clap_lex/0.5.0 \
     crate://crates.io/clap_mangen/0.2.9 \
-    crate://crates.io/codespan-reporting/0.11.1 \
     crate://crates.io/colorchoice/1.0.0 \
     crate://crates.io/compare/0.1.0 \
     crate://crates.io/console/0.15.7 \
+    crate://crates.io/const-random/0.1.15 \
+    crate://crates.io/const-random-macro/0.1.15 \
     crate://crates.io/constant_time_eq/0.2.4 \
     crate://crates.io/conv/0.3.3 \
     crate://crates.io/core-foundation-sys/0.8.3 \
@@ -61,25 +60,20 @@
     crate://crates.io/crossterm_winapi/0.9.0 \
     crate://crates.io/crunchy/0.2.2 \
     crate://crates.io/crypto-common/0.1.6 \
-    crate://crates.io/ctor/0.1.26 \
     crate://crates.io/ctrlc/3.4.0 \
     crate://crates.io/custom_derive/0.1.7 \
-    crate://crates.io/cxx/1.0.82 \
-    crate://crates.io/cxx-build/1.0.82 \
-    crate://crates.io/cxxbridge-flags/1.0.82 \
-    crate://crates.io/cxxbridge-macro/1.0.82 \
     crate://crates.io/data-encoding/2.4.0 \
     crate://crates.io/data-encoding-macro/0.1.13 \
     crate://crates.io/data-encoding-macro-internal/0.1.11 \
     crate://crates.io/diff/0.1.13 \
     crate://crates.io/digest/0.10.7 \
-    crate://crates.io/dlv-list/0.3.0 \
+    crate://crates.io/dlv-list/0.5.0 \
     crate://crates.io/dns-lookup/2.0.2 \
     crate://crates.io/dunce/1.0.4 \
     crate://crates.io/either/1.8.0 \
     crate://crates.io/encode_unicode/0.3.6 \
     crate://crates.io/env_logger/0.8.4 \
-    crate://crates.io/errno/0.3.0 \
+    crate://crates.io/errno/0.3.1 \
     crate://crates.io/errno-dragonfly/0.1.2 \
     crate://crates.io/exacl/0.10.0 \
     crate://crates.io/fastrand/1.8.0 \
@@ -90,7 +84,8 @@
     crate://crates.io/fs_extra/1.3.0 \
     crate://crates.io/fsevent-sys/4.1.0 \
     crate://crates.io/fts-sys/0.2.4 \
-    crate://crates.io/fundu/0.5.1 \
+    crate://crates.io/fundu/1.2.0 \
+    crate://crates.io/fundu-core/0.2.0 \
     crate://crates.io/futures/0.3.25 \
     crate://crates.io/futures-channel/0.3.25 \
     crate://crates.io/futures-core/0.3.25 \
@@ -103,25 +98,24 @@
     crate://crates.io/futures-util/0.3.25 \
     crate://crates.io/gcd/2.3.0 \
     crate://crates.io/generic-array/0.14.6 \
-    crate://crates.io/getrandom/0.2.8 \
+    crate://crates.io/getrandom/0.2.9 \
     crate://crates.io/glob/0.3.1 \
     crate://crates.io/half/2.2.1 \
     crate://crates.io/hashbrown/0.12.3 \
-    crate://crates.io/hermit-abi/0.1.19 \
-    crate://crates.io/hermit-abi/0.3.1 \
+    crate://crates.io/hashbrown/0.13.2 \
+    crate://crates.io/hermit-abi/0.3.2 \
     crate://crates.io/hex/0.4.3 \
     crate://crates.io/hex-literal/0.4.1 \
     crate://crates.io/hostname/0.3.1 \
-    crate://crates.io/humantime_to_duration/0.2.1 \
     crate://crates.io/iana-time-zone/0.1.53 \
-    crate://crates.io/iana-time-zone-haiku/0.1.1 \
+    crate://crates.io/iana-time-zone-haiku/0.1.2 \
     crate://crates.io/indicatif/0.17.3 \
     crate://crates.io/inotify/0.9.6 \
     crate://crates.io/inotify-sys/0.1.5 \
     crate://crates.io/instant/0.1.12 \
     crate://crates.io/io-lifetimes/1.0.11 \
     crate://crates.io/is-terminal/0.4.7 \
-    crate://crates.io/itertools/0.10.5 \
+    crate://crates.io/itertools/0.11.0 \
     crate://crates.io/itoa/1.0.4 \
     crate://crates.io/js-sys/0.3.60 \
     crate://crates.io/keccak/0.1.4 \
@@ -129,61 +123,58 @@
     crate://crates.io/kqueue-sys/1.0.3 \
     crate://crates.io/lazy_static/1.4.0 \
     crate://crates.io/lazycell/1.3.0 \
-    crate://crates.io/libc/0.2.144 \
+    crate://crates.io/libc/0.2.147 \
     crate://crates.io/libloading/0.7.4 \
-    crate://crates.io/link-cplusplus/1.0.7 \
+    crate://crates.io/libm/0.2.7 \
     crate://crates.io/linux-raw-sys/0.1.4 \
-    crate://crates.io/linux-raw-sys/0.3.0 \
+    crate://crates.io/linux-raw-sys/0.3.8 \
     crate://crates.io/lock_api/0.4.9 \
     crate://crates.io/log/0.4.17 \
     crate://crates.io/lscolors/0.14.0 \
     crate://crates.io/match_cfg/0.1.0 \
     crate://crates.io/md-5/0.10.5 \
     crate://crates.io/memchr/2.5.0 \
-    crate://crates.io/memmap2/0.6.0 \
+    crate://crates.io/memmap2/0.7.0 \
     crate://crates.io/memoffset/0.8.0 \
     crate://crates.io/minimal-lexical/0.2.1 \
     crate://crates.io/miniz_oxide/0.5.4 \
     crate://crates.io/mio/0.8.6 \
     crate://crates.io/nix/0.26.2 \
     crate://crates.io/nom/7.1.3 \
-    crate://crates.io/notify/6.0.0 \
+    crate://crates.io/notify/6.0.1 \
     crate://crates.io/nu-ansi-term/0.47.0 \
     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.14.0 \
+    crate://crates.io/num_cpus/1.16.0 \
     crate://crates.io/num_threads/0.1.6 \
     crate://crates.io/number_prefix/0.4.0 \
-    crate://crates.io/once_cell/1.17.2 \
+    crate://crates.io/once_cell/1.18.0 \
     crate://crates.io/onig/6.4.0 \
     crate://crates.io/onig_sys/69.8.1 \
-    crate://crates.io/ordered-multimap/0.4.3 \
+    crate://crates.io/ordered-multimap/0.6.0 \
     crate://crates.io/os_display/0.1.3 \
-    crate://crates.io/ouroboros/0.15.6 \
-    crate://crates.io/ouroboros_macro/0.15.6 \
-    crate://crates.io/output_vt100/0.1.3 \
     crate://crates.io/parking_lot/0.12.1 \
     crate://crates.io/parking_lot_core/0.9.7 \
+    crate://crates.io/parse_datetime/0.4.0 \
     crate://crates.io/peeking_take_while/0.1.2 \
-    crate://crates.io/phf/0.11.1 \
-    crate://crates.io/phf_codegen/0.11.1 \
+    crate://crates.io/phf/0.11.2 \
+    crate://crates.io/phf_codegen/0.11.2 \
     crate://crates.io/phf_generator/0.11.1 \
-    crate://crates.io/phf_shared/0.11.1 \
+    crate://crates.io/phf_shared/0.11.2 \
     crate://crates.io/pin-project-lite/0.2.9 \
     crate://crates.io/pin-utils/0.1.0 \
     crate://crates.io/pkg-config/0.3.26 \
-    crate://crates.io/platform-info/2.0.1 \
+    crate://crates.io/platform-info/2.0.2 \
     crate://crates.io/portable-atomic/0.3.15 \
     crate://crates.io/ppv-lite86/0.2.17 \
-    crate://crates.io/pretty_assertions/1.3.0 \
-    crate://crates.io/proc-macro-error/1.0.4 \
-    crate://crates.io/proc-macro-error-attr/1.0.4 \
-    crate://crates.io/proc-macro2/1.0.47 \
+    crate://crates.io/pretty_assertions/1.4.0 \
+    crate://crates.io/proc-macro-hack/0.5.20+deprecated \
+    crate://crates.io/proc-macro2/1.0.63 \
     crate://crates.io/procfs/0.15.1 \
     crate://crates.io/quick-error/2.0.1 \
     crate://crates.io/quickcheck/1.0.3 \
-    crate://crates.io/quote/1.0.21 \
+    crate://crates.io/quote/1.0.29 \
     crate://crates.io/rand/0.8.5 \
     crate://crates.io/rand_chacha/0.3.1 \
     crate://crates.io/rand_core/0.6.4 \
@@ -193,27 +184,28 @@
     crate://crates.io/redox_syscall/0.2.16 \
     crate://crates.io/redox_syscall/0.3.5 \
     crate://crates.io/reference-counted-singleton/0.1.2 \
-    crate://crates.io/regex/1.8.3 \
-    crate://crates.io/regex-automata/0.1.10 \
-    crate://crates.io/regex-syntax/0.7.2 \
-    crate://crates.io/rlimit/0.9.1 \
+    crate://crates.io/regex/1.9.1 \
+    crate://crates.io/regex-automata/0.3.1 \
+    crate://crates.io/regex-syntax/0.7.3 \
+    crate://crates.io/relative-path/1.8.0 \
+    crate://crates.io/rlimit/0.10.0 \
     crate://crates.io/roff/0.2.1 \
-    crate://crates.io/rstest/0.17.0 \
-    crate://crates.io/rstest_macros/0.17.0 \
-    crate://crates.io/rust-ini/0.18.0 \
+    crate://crates.io/rstest/0.18.1 \
+    crate://crates.io/rstest_macros/0.18.1 \
+    crate://crates.io/rust-ini/0.19.0 \
     crate://crates.io/rustc-hash/1.1.0 \
     crate://crates.io/rustc_version/0.4.0 \
     crate://crates.io/rustix/0.36.14 \
-    crate://crates.io/rustix/0.37.7 \
+    crate://crates.io/rustix/0.37.19 \
     crate://crates.io/same-file/1.0.6 \
     crate://crates.io/scopeguard/1.1.0 \
-    crate://crates.io/scratch/1.0.2 \
+    crate://crates.io/self_cell/1.0.1 \
     crate://crates.io/selinux/0.4.0 \
     crate://crates.io/selinux-sys/0.6.2 \
     crate://crates.io/semver/1.0.14 \
     crate://crates.io/serde/1.0.147 \
     crate://crates.io/sha1/0.10.5 \
-    crate://crates.io/sha2/0.10.6 \
+    crate://crates.io/sha2/0.10.7 \
     crate://crates.io/sha3/0.10.8 \
     crate://crates.io/shlex/1.1.0 \
     crate://crates.io/signal-hook/0.3.15 \
@@ -222,16 +214,16 @@
     crate://crates.io/siphasher/0.3.10 \
     crate://crates.io/slab/0.4.7 \
     crate://crates.io/sm3/0.4.2 \
-    crate://crates.io/smallvec/1.10.0 \
+    crate://crates.io/smallvec/1.11.0 \
     crate://crates.io/smawk/0.3.1 \
     crate://crates.io/socket2/0.5.3 \
     crate://crates.io/static_assertions/1.1.0 \
     crate://crates.io/strsim/0.10.0 \
     crate://crates.io/subtle/2.4.1 \
-    crate://crates.io/syn/1.0.103 \
-    crate://crates.io/tempfile/3.5.0 \
+    crate://crates.io/syn/1.0.109 \
+    crate://crates.io/syn/2.0.23 \
+    crate://crates.io/tempfile/3.6.0 \
     crate://crates.io/term_grid/0.1.7 \
-    crate://crates.io/termcolor/1.1.3 \
     crate://crates.io/terminal_size/0.2.6 \
     crate://crates.io/textwrap/0.16.0 \
     crate://crates.io/thiserror/1.0.37 \
@@ -239,6 +231,7 @@
     crate://crates.io/time/0.3.20 \
     crate://crates.io/time-core/0.1.0 \
     crate://crates.io/time-macros/0.2.8 \
+    crate://crates.io/tiny-keccak/2.0.2 \
     crate://crates.io/typenum/1.15.0 \
     crate://crates.io/unicode-ident/1.0.5 \
     crate://crates.io/unicode-linebreak/0.1.4 \
@@ -246,7 +239,6 @@
     crate://crates.io/unicode-width/0.1.10 \
     crate://crates.io/unicode-xid/0.2.4 \
     crate://crates.io/unindent/0.2.1 \
-    crate://crates.io/users/0.11.0 \
     crate://crates.io/utf8parse/0.2.1 \
     crate://crates.io/uuid/1.2.2 \
     crate://crates.io/version_check/0.9.4 \
@@ -287,12 +279,10 @@
     crate://crates.io/zip/0.6.6 \
 "
 
-SRC_URI[Inflector-0.11.4.sha256sum] = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
 SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 SRC_URI[ahash-0.7.6.sha256sum] = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
 SRC_URI[aho-corasick-0.7.19.sha256sum] = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e"
 SRC_URI[aho-corasick-1.0.1.sha256sum] = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
-SRC_URI[aliasable-0.1.3.sha256sum] = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
 SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
 SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
 SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
@@ -303,18 +293,18 @@
 SRC_URI[arrayref-0.3.6.sha256sum] = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
 SRC_URI[arrayvec-0.7.2.sha256sum] = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
 SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-SRC_URI[bigdecimal-0.3.0.sha256sum] = "6aaf33151a6429fe9211d1b276eafdf70cdff28b071e76c0b0e1503221ea3744"
+SRC_URI[bigdecimal-0.4.0.sha256sum] = "5274a6b6e0ee020148397245b973e30163b7bffbc6d473613f850cb99888581e"
 SRC_URI[binary-heap-plus-0.5.0.sha256sum] = "e4551d8382e911ecc0d0f0ffb602777988669be09447d536ff4388d1def11296"
 SRC_URI[bindgen-0.63.0.sha256sum] = "36d860121800b2a9a94f9b5604b332d5cffb234ce17609ea479d723dbc9d3885"
 SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 SRC_URI[blake2b_simd-1.0.1.sha256sum] = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc"
-SRC_URI[blake3-1.3.3.sha256sum] = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef"
+SRC_URI[blake3-1.4.0.sha256sum] = "729b71f35bd3fa1a4c86b85d32c8b9069ea7fe14f7a53cfabb65f62d4265b888"
 SRC_URI[block-buffer-0.10.3.sha256sum] = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
-SRC_URI[bstr-1.5.0.sha256sum] = "a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5"
+SRC_URI[bstr-1.6.0.sha256sum] = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
 SRC_URI[bumpalo-3.11.1.sha256sum] = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
 SRC_URI[bytecount-0.6.3.sha256sum] = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c"
 SRC_URI[byteorder-1.4.3.sha256sum] = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-SRC_URI[cc-1.0.77.sha256sum] = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4"
+SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
 SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
 SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 SRC_URI[chrono-0.4.26.sha256sum] = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
@@ -324,10 +314,11 @@
 SRC_URI[clap_complete-4.3.0.sha256sum] = "a04ddfaacc3bc9e6ea67d024575fafc2a813027cf374b8f24f7bc233c6b6be12"
 SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
 SRC_URI[clap_mangen-0.2.9.sha256sum] = "bb0f09a0ca8f0dd8ac92c546b426f466ef19828185c6d504c80c48c9c2768ed9"
-SRC_URI[codespan-reporting-0.11.1.sha256sum] = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
 SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3"
 SRC_URI[console-0.15.7.sha256sum] = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8"
+SRC_URI[const-random-0.1.15.sha256sum] = "368a7a772ead6ce7e1de82bfb04c485f3db8ec744f72925af5735e29a22cc18e"
+SRC_URI[const-random-macro-0.1.15.sha256sum] = "9d7d6ab3c3a2282db210df5f02c4dab6e0a7057af0fb7ebd4070f30fe05c0ddb"
 SRC_URI[constant_time_eq-0.2.4.sha256sum] = "f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279"
 SRC_URI[conv-0.3.3.sha256sum] = "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299"
 SRC_URI[core-foundation-sys-0.8.3.sha256sum] = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
@@ -346,25 +337,20 @@
 SRC_URI[crossterm_winapi-0.9.0.sha256sum] = "2ae1b35a484aa10e07fe0638d02301c5ad24de82d310ccbd2f3693da5f09bf1c"
 SRC_URI[crunchy-0.2.2.sha256sum] = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
 SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-SRC_URI[ctor-0.1.26.sha256sum] = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
 SRC_URI[ctrlc-3.4.0.sha256sum] = "2a011bbe2c35ce9c1f143b7af6f94f29a167beb4cd1d29e6740ce836f723120e"
 SRC_URI[custom_derive-0.1.7.sha256sum] = "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9"
-SRC_URI[cxx-1.0.82.sha256sum] = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453"
-SRC_URI[cxx-build-1.0.82.sha256sum] = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0"
-SRC_URI[cxxbridge-flags-1.0.82.sha256sum] = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71"
-SRC_URI[cxxbridge-macro-1.0.82.sha256sum] = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470"
 SRC_URI[data-encoding-2.4.0.sha256sum] = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
 SRC_URI[data-encoding-macro-0.1.13.sha256sum] = "c904b33cc60130e1aeea4956ab803d08a3f4a0ca82d64ed757afac3891f2bb99"
 SRC_URI[data-encoding-macro-internal-0.1.11.sha256sum] = "8fdf3fce3ce863539ec1d7fd1b6dcc3c645663376b43ed376bbf887733e4f772"
 SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
 SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-SRC_URI[dlv-list-0.3.0.sha256sum] = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257"
+SRC_URI[dlv-list-0.5.0.sha256sum] = "d529fd73d344663edfd598ccb3f344e46034db51ebd103518eae34338248ad73"
 SRC_URI[dns-lookup-2.0.2.sha256sum] = "8f332aa79f9e9de741ac013237294ef42ce2e9c6394dc7d766725812f1238812"
 SRC_URI[dunce-1.0.4.sha256sum] = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
 SRC_URI[either-1.8.0.sha256sum] = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
 SRC_URI[encode_unicode-0.3.6.sha256sum] = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
 SRC_URI[env_logger-0.8.4.sha256sum] = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
-SRC_URI[errno-0.3.0.sha256sum] = "50d6a0976c999d473fe89ad888d5a284e55366d9dc9038b1ba2aa15128c4afa0"
+SRC_URI[errno-0.3.1.sha256sum] = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
 SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
 SRC_URI[exacl-0.10.0.sha256sum] = "1cfeb22a59deb24c3262c43ffcafd1eb807180f371f9fcc99098d181b5d639be"
 SRC_URI[fastrand-1.8.0.sha256sum] = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
@@ -375,7 +361,8 @@
 SRC_URI[fs_extra-1.3.0.sha256sum] = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
 SRC_URI[fsevent-sys-4.1.0.sha256sum] = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2"
 SRC_URI[fts-sys-0.2.4.sha256sum] = "9a66c0a21e344f20c87b4ca12643cf4f40a7018f132c98d344e989b959f49dd1"
-SRC_URI[fundu-0.5.1.sha256sum] = "2a37cfff04a32112c22c5497b20b0b09100fca406e76afd47b2ba5ab33d7a851"
+SRC_URI[fundu-1.2.0.sha256sum] = "34804ed59f10b3a630c79822ebf7370b562b7281028369e9baa40547c17f8bdc"
+SRC_URI[fundu-core-0.2.0.sha256sum] = "71a99190954ca83bade03ba054799b17a158ea948a6855c6bb8121adb6b49d9f"
 SRC_URI[futures-0.3.25.sha256sum] = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0"
 SRC_URI[futures-channel-0.3.25.sha256sum] = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed"
 SRC_URI[futures-core-0.3.25.sha256sum] = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
@@ -388,25 +375,24 @@
 SRC_URI[futures-util-0.3.25.sha256sum] = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6"
 SRC_URI[gcd-2.3.0.sha256sum] = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a"
 SRC_URI[generic-array-0.14.6.sha256sum] = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
-SRC_URI[getrandom-0.2.8.sha256sum] = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
+SRC_URI[getrandom-0.2.9.sha256sum] = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
 SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 SRC_URI[half-2.2.1.sha256sum] = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0"
 SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-SRC_URI[hermit-abi-0.3.1.sha256sum] = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+SRC_URI[hashbrown-0.13.2.sha256sum] = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
+SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
 SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
 SRC_URI[hex-literal-0.4.1.sha256sum] = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46"
 SRC_URI[hostname-0.3.1.sha256sum] = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
-SRC_URI[humantime_to_duration-0.2.1.sha256sum] = "714764645f21cc70c4c151d7798dd158409641f37ad820bed65224aae403cbed"
 SRC_URI[iana-time-zone-0.1.53.sha256sum] = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765"
-SRC_URI[iana-time-zone-haiku-0.1.1.sha256sum] = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
+SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
 SRC_URI[indicatif-0.17.3.sha256sum] = "cef509aa9bc73864d6756f0d34d35504af3cf0844373afe9b8669a5b8005a729"
 SRC_URI[inotify-0.9.6.sha256sum] = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff"
 SRC_URI[inotify-sys-0.1.5.sha256sum] = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
 SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
 SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
 SRC_URI[is-terminal-0.4.7.sha256sum] = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
-SRC_URI[itertools-0.10.5.sha256sum] = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+SRC_URI[itertools-0.11.0.sha256sum] = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
 SRC_URI[itoa-1.0.4.sha256sum] = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
 SRC_URI[js-sys-0.3.60.sha256sum] = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
 SRC_URI[keccak-0.1.4.sha256sum] = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940"
@@ -414,61 +400,58 @@
 SRC_URI[kqueue-sys-1.0.3.sha256sum] = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587"
 SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
-SRC_URI[libc-0.2.144.sha256sum] = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
+SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
 SRC_URI[libloading-0.7.4.sha256sum] = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
-SRC_URI[link-cplusplus-1.0.7.sha256sum] = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369"
+SRC_URI[libm-0.2.7.sha256sum] = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
 SRC_URI[linux-raw-sys-0.1.4.sha256sum] = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
-SRC_URI[linux-raw-sys-0.3.0.sha256sum] = "cd550e73688e6d578f0ac2119e32b797a327631a42f9433e59d02e139c8df60d"
+SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 SRC_URI[lock_api-0.4.9.sha256sum] = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
 SRC_URI[log-0.4.17.sha256sum] = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
 SRC_URI[lscolors-0.14.0.sha256sum] = "18a9df1d1fb6d9e92fa043e9eb9a3ecf6892c7b542bae5137cd1e419e40aa8bf"
 SRC_URI[match_cfg-0.1.0.sha256sum] = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
 SRC_URI[md-5-0.10.5.sha256sum] = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca"
 SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-SRC_URI[memmap2-0.6.0.sha256sum] = "7f9ff02d2efdc645fca1ee55f45545b996e7da776b5b60c4e170334457551693"
+SRC_URI[memmap2-0.7.0.sha256sum] = "180d4b35be83d33392d1d1bfbd2ae1eca7ff5de1a94d3fc87faaa99a069e7cbd"
 SRC_URI[memoffset-0.8.0.sha256sum] = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
 SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 SRC_URI[miniz_oxide-0.5.4.sha256sum] = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34"
 SRC_URI[mio-0.8.6.sha256sum] = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
 SRC_URI[nix-0.26.2.sha256sum] = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
 SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
-SRC_URI[notify-6.0.0.sha256sum] = "4d9ba6c734de18ca27c8cef5cd7058aa4ac9f63596131e4c7e41e579319032a2"
+SRC_URI[notify-6.0.1.sha256sum] = "5738a2795d57ea20abec2d6d76c6081186709c0024187cd5977265eda6598b51"
 SRC_URI[nu-ansi-term-0.47.0.sha256sum] = "1df031e117bca634c262e9bd3173776844b6c17a90b3741c9163663b4385af76"
 SRC_URI[num-bigint-0.4.3.sha256sum] = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
 SRC_URI[num-integer-0.1.45.sha256sum] = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
 SRC_URI[num-traits-0.2.15.sha256sum] = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
-SRC_URI[num_cpus-1.14.0.sha256sum] = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5"
+SRC_URI[num_cpus-1.16.0.sha256sum] = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 SRC_URI[num_threads-0.1.6.sha256sum] = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
 SRC_URI[number_prefix-0.4.0.sha256sum] = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
-SRC_URI[once_cell-1.17.2.sha256sum] = "9670a07f94779e00908f3e686eab508878ebb390ba6e604d3a284c00e8d0487b"
+SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 SRC_URI[onig-6.4.0.sha256sum] = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f"
 SRC_URI[onig_sys-69.8.1.sha256sum] = "7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7"
-SRC_URI[ordered-multimap-0.4.3.sha256sum] = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a"
+SRC_URI[ordered-multimap-0.6.0.sha256sum] = "4ed8acf08e98e744e5384c8bc63ceb0364e68a6854187221c18df61c4797690e"
 SRC_URI[os_display-0.1.3.sha256sum] = "7a6229bad892b46b0dcfaaeb18ad0d2e56400f5aaea05b768bde96e73676cf75"
-SRC_URI[ouroboros-0.15.6.sha256sum] = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db"
-SRC_URI[ouroboros_macro-0.15.6.sha256sum] = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7"
-SRC_URI[output_vt100-0.1.3.sha256sum] = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66"
 SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 SRC_URI[parking_lot_core-0.9.7.sha256sum] = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+SRC_URI[parse_datetime-0.4.0.sha256sum] = "fecceaede7767a9a98058687a321bc91742eff7670167a34104afb30fc8757df"
 SRC_URI[peeking_take_while-0.1.2.sha256sum] = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
-SRC_URI[phf-0.11.1.sha256sum] = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c"
-SRC_URI[phf_codegen-0.11.1.sha256sum] = "a56ac890c5e3ca598bbdeaa99964edb5b0258a583a9eb6ef4e89fc85d9224770"
+SRC_URI[phf-0.11.2.sha256sum] = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
+SRC_URI[phf_codegen-0.11.2.sha256sum] = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
 SRC_URI[phf_generator-0.11.1.sha256sum] = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf"
-SRC_URI[phf_shared-0.11.1.sha256sum] = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676"
+SRC_URI[phf_shared-0.11.2.sha256sum] = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
 SRC_URI[pin-project-lite-0.2.9.sha256sum] = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
 SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 SRC_URI[pkg-config-0.3.26.sha256sum] = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
-SRC_URI[platform-info-2.0.1.sha256sum] = "827dc4f7a81331d48c8abf11b5ac18673b390d33e9632327e286d940289aefab"
+SRC_URI[platform-info-2.0.2.sha256sum] = "d6259c4860e53bf665016f1b2f46a8859cadfa717581dc9d597ae4069de6300f"
 SRC_URI[portable-atomic-0.3.15.sha256sum] = "15eb2c6e362923af47e13c23ca5afb859e83d54452c55b0b9ac763b8f7c1ac16"
 SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
-SRC_URI[pretty_assertions-1.3.0.sha256sum] = "a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755"
-SRC_URI[proc-macro-error-1.0.4.sha256sum] = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
-SRC_URI[proc-macro-error-attr-1.0.4.sha256sum] = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
-SRC_URI[proc-macro2-1.0.47.sha256sum] = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
+SRC_URI[pretty_assertions-1.4.0.sha256sum] = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
+SRC_URI[proc-macro-hack-0.5.20+deprecated.sha256sum] = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
+SRC_URI[proc-macro2-1.0.63.sha256sum] = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
 SRC_URI[procfs-0.15.1.sha256sum] = "943ca7f9f29bab5844ecd8fdb3992c5969b6622bb9609b9502fef9b4310e3f1f"
 SRC_URI[quick-error-2.0.1.sha256sum] = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
 SRC_URI[quickcheck-1.0.3.sha256sum] = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6"
-SRC_URI[quote-1.0.21.sha256sum] = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+SRC_URI[quote-1.0.29.sha256sum] = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
 SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
@@ -478,27 +461,28 @@
 SRC_URI[redox_syscall-0.2.16.sha256sum] = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
 SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
 SRC_URI[reference-counted-singleton-0.1.2.sha256sum] = "f1bfbf25d7eb88ddcbb1ec3d755d0634da8f7657b2cb8b74089121409ab8228f"
-SRC_URI[regex-1.8.3.sha256sum] = "81ca098a9821bd52d6b24fd8b10bd081f47d39c22778cafaa75a2857a62c6390"
-SRC_URI[regex-automata-0.1.10.sha256sum] = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
-SRC_URI[regex-syntax-0.7.2.sha256sum] = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
-SRC_URI[rlimit-0.9.1.sha256sum] = "f8a29d87a652dc4d43c586328706bb5cdff211f3f39a530f240b53f7221dab8e"
+SRC_URI[regex-1.9.1.sha256sum] = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+SRC_URI[regex-automata-0.3.1.sha256sum] = "e9aaecc05d5c4b5f7da074b9a0d1a0867e71fd36e7fc0482d8bcfe8e8fc56290"
+SRC_URI[regex-syntax-0.7.3.sha256sum] = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846"
+SRC_URI[relative-path-1.8.0.sha256sum] = "4bf2521270932c3c7bed1a59151222bd7643c79310f2916f01925e1e16255698"
+SRC_URI[rlimit-0.10.0.sha256sum] = "9b5b8be0bc0ef630d24f8fa836b3a3463479b2343b29f9a8fa905c71a8c7b69b"
 SRC_URI[roff-0.2.1.sha256sum] = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
-SRC_URI[rstest-0.17.0.sha256sum] = "de1bb486a691878cd320c2f0d319ba91eeaa2e894066d8b5f8f117c000e9d962"
-SRC_URI[rstest_macros-0.17.0.sha256sum] = "290ca1a1c8ca7edb7c3283bd44dc35dd54fdec6253a3912e201ba1072018fca8"
-SRC_URI[rust-ini-0.18.0.sha256sum] = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df"
+SRC_URI[rstest-0.18.1.sha256sum] = "2b96577ca10cb3eade7b337eb46520108a67ca2818a24d0b63f41fd62bc9651c"
+SRC_URI[rstest_macros-0.18.1.sha256sum] = "225e674cf31712b8bb15fdbca3ec0c1b9d825c5a24407ff2b7e005fb6a29ba03"
+SRC_URI[rust-ini-0.19.0.sha256sum] = "7e2a3bcec1f113553ef1c88aae6c020a369d03d55b58de9869a0908930385091"
 SRC_URI[rustc-hash-1.1.0.sha256sum] = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 SRC_URI[rustc_version-0.4.0.sha256sum] = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
 SRC_URI[rustix-0.36.14.sha256sum] = "14e4d67015953998ad0eb82887a0eb0129e18a7e2f3b7b0f6c422fddcd503d62"
-SRC_URI[rustix-0.37.7.sha256sum] = "2aae838e49b3d63e9274e1c01833cc8139d3fec468c3b84688c628f44b1ae11d"
+SRC_URI[rustix-0.37.19.sha256sum] = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d"
 SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
 SRC_URI[scopeguard-1.1.0.sha256sum] = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-SRC_URI[scratch-1.0.2.sha256sum] = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898"
+SRC_URI[self_cell-1.0.1.sha256sum] = "4c309e515543e67811222dbc9e3dd7e1056279b782e1dacffe4242b718734fb6"
 SRC_URI[selinux-0.4.0.sha256sum] = "a00576725d21b588213fbd4af84cd7e4cc4304e8e9bd6c0f5a1498a3e2ca6a51"
 SRC_URI[selinux-sys-0.6.2.sha256sum] = "806d381649bb85347189d2350728817418138d11d738e2482cb644ec7f3c755d"
 SRC_URI[semver-1.0.14.sha256sum] = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4"
 SRC_URI[serde-1.0.147.sha256sum] = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965"
 SRC_URI[sha1-0.10.5.sha256sum] = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
-SRC_URI[sha2-0.10.6.sha256sum] = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
+SRC_URI[sha2-0.10.7.sha256sum] = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
 SRC_URI[sha3-0.10.8.sha256sum] = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
 SRC_URI[shlex-1.1.0.sha256sum] = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
 SRC_URI[signal-hook-0.3.15.sha256sum] = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
@@ -507,16 +491,16 @@
 SRC_URI[siphasher-0.3.10.sha256sum] = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
 SRC_URI[slab-0.4.7.sha256sum] = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
 SRC_URI[sm3-0.4.2.sha256sum] = "ebb9a3b702d0a7e33bc4d85a14456633d2b165c2ad839c5fd9a8417c1ab15860"
-SRC_URI[smallvec-1.10.0.sha256sum] = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+SRC_URI[smallvec-1.11.0.sha256sum] = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
 SRC_URI[smawk-0.3.1.sha256sum] = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043"
 SRC_URI[socket2-0.5.3.sha256sum] = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
 SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 SRC_URI[subtle-2.4.1.sha256sum] = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
-SRC_URI[syn-1.0.103.sha256sum] = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d"
-SRC_URI[tempfile-3.5.0.sha256sum] = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
+SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+SRC_URI[syn-2.0.23.sha256sum] = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737"
+SRC_URI[tempfile-3.6.0.sha256sum] = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
 SRC_URI[term_grid-0.1.7.sha256sum] = "230d3e804faaed5a39b08319efb797783df2fd9671b39b7596490cb486d702cf"
-SRC_URI[termcolor-1.1.3.sha256sum] = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
 SRC_URI[terminal_size-0.2.6.sha256sum] = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237"
 SRC_URI[textwrap-0.16.0.sha256sum] = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
 SRC_URI[thiserror-1.0.37.sha256sum] = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
@@ -524,6 +508,7 @@
 SRC_URI[time-0.3.20.sha256sum] = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
 SRC_URI[time-core-0.1.0.sha256sum] = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
 SRC_URI[time-macros-0.2.8.sha256sum] = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
+SRC_URI[tiny-keccak-2.0.2.sha256sum] = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
 SRC_URI[typenum-1.15.0.sha256sum] = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
 SRC_URI[unicode-ident-1.0.5.sha256sum] = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
 SRC_URI[unicode-linebreak-0.1.4.sha256sum] = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137"
@@ -531,7 +516,6 @@
 SRC_URI[unicode-width-0.1.10.sha256sum] = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
 SRC_URI[unicode-xid-0.2.4.sha256sum] = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
 SRC_URI[unindent-0.2.1.sha256sum] = "5aa30f5ea51ff7edfc797c6d3f9ec8cbd8cfedef5371766b7181d33977f4814f"
-SRC_URI[users-0.11.0.sha256sum] = "24cc0f6d6f267b73e5a2cadf007ba8f9bc39c6a6f9666f8cf25ea809a153b032"
 SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 SRC_URI[uuid-1.2.2.sha256sum] = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c"
 SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
diff --git a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.19.bb b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.20.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.19.bb
rename to meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.20.bb
index f67bf25..0614416 100644
--- a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.19.bb
+++ b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.20.bb
@@ -11,7 +11,7 @@
 # so src/uucore/src/lib/features.rs disables utmpx when targetting musl.
 COMPATIBLE_HOST:libc-musl = "null"
 
-SRCREV = "abfceda12df094a6a2c8f25bd4f446e8dbd38107"
+SRCREV = "8093d81dac0fb87ff3984ba9fe22ab171e630443"
 S = "${WORKDIR}/git"
 
 require ${BPN}-crates.inc
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt/CVE-2019-17362.patch b/meta-openembedded/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt/CVE-2019-17362.patch
new file mode 100644
index 0000000..8b7348a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt/CVE-2019-17362.patch
@@ -0,0 +1,25 @@
+From 25c26a3b7a9ad8192ccc923e15cf62bf0108ef94 Mon Sep 17 00:00:00 2001
+From: werew <werew@ret2libc.com>
+Date: Thu, 3 Oct 2019 19:57:10 +0200
+Subject: [PATCH] Fixes #507
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+Upstream-Status: Backport [https://github.com/libtom/libtomcrypt/commit/64d1153e5a515740ab56f39c46baf4cf6991a9d3]
+
+ src/pk/asn1/der/utf8/der_decode_utf8_string.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/pk/asn1/der/utf8/der_decode_utf8_string.c b/src/pk/asn1/der/utf8/der_decode_utf8_string.c
+index 94555b99f..d3ed82bea 100644
+--- a/src/pk/asn1/der/utf8/der_decode_utf8_string.c
++++ b/src/pk/asn1/der/utf8/der_decode_utf8_string.c
+@@ -65,7 +65,7 @@ int der_decode_utf8_string(const unsigned char *in,  unsigned long inlen,
+       /* count number of bytes */
+       for (z = 0; (tmp & 0x80) && (z <= 4); z++, tmp = (tmp << 1) & 0xFF);
+ 
+-      if (z > 4 || (x + (z - 1) > inlen)) {
++      if (z == 1 || z > 4 || (x + (z - 1) > inlen)) {
+          return CRYPT_INVALID_PACKET;
+       }
+ 
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb b/meta-openembedded/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb
index b144338..5479007 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb
@@ -1,21 +1,41 @@
 SUMMARY = "LibTomCrypt is a public domain open source cryptographic toolkit"
 HOMEPAGE = "https://www.libtom.net/LibTomCrypt"
 SECTION = "libs"
+# Unlicense isn't very accurate for this revision, it was WTFPL in 0.18.0-rc1:
+# https://github.com/libtom/libtomcrypt/commit/77e31fb6a980212e90b9a50f116dc5a7bd91e527
+# then updated to dual license PD and WTFPL also in 0.18.0-rc1:
+# https://github.com/libtom/libtomcrypt/commit/412b2ee1fccc3a0df58f93f372c90d6d0f93bfc9
+# and then updated again to Unlicense after the 0.18.2 tag (it's only in develop branch):
+# https://github.com/libtom/libtomcrypt/commit/3630bee6fc0f73dd9c7923fd43f8ae15a2c0fb70
+# but keep using Unlicense to avoid triggering people with WTFPL license:
+# https://groups.google.com/g/libtom/c/17Z7xkECULM
+# and this comment can be removed next time libtomcrypt is updated
 LICENSE = "Unlicense"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=71baacc459522324ef3e2b9e052e8180"
 
-DEPENDS += "libtool-cross"
+DEPENDS = "libtool-cross"
 
-SRC_URI = "git://github.com/libtom/libtomcrypt.git;protocol=https;branch=master"
+SRC_URI = "git://github.com/libtom/libtomcrypt.git;protocol=https;branch=master \
+   file://CVE-2019-17362.patch \
+"
 
 SRCREV = "7e7eb695d581782f04b24dc444cbfde86af59853"
 
 S = "${WORKDIR}/git"
 
+inherit pkgconfig
+
+PACKAGECONFIG ??= "ltm"
+PACKAGECONFIG[ltm] = ",,libtommath"
+
+CFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'ltm', '-DUSE_LTM -DLTM_DESC', '', d)}"
+
+EXTRA_OEMAKE = "'PREFIX=${prefix}' 'DESTDIR=${D}' 'LIBPATH=${libdir}' 'CFLAGS=${CFLAGS}'"
+
 do_compile() {
     oe_runmake -f makefile.shared
 }
 
 do_install() {
-    oe_runmake -f makefile.shared 'PREFIX=${prefix}' 'DESTDIR=${D}' 'LIBPATH=${libdir}' install
+    oe_runmake -f makefile.shared install
 }
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.31.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
rename to meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.31.bb
index 35242be..b2f1920 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.31.bb
@@ -14,7 +14,7 @@
            file://0001-make-set-soname-on-liblmdb.patch;patchdir=../.. \
            "
 
-SRCREV = "8ad7be2510414b9506ec9f9e24f24d04d9b04a1a"
+SRCREV = "ce201088de95d26fc0da36ba805bf2ddc2ba74ff"
 
 inherit ptest
 
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.2.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.4.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.2.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.4.bb
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index 57930da..2fb0bd7 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -25,7 +25,7 @@
            file://0001-Add-missing-includes-cstdint-and-cstdio.patch \
           "
 SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch"
-SRC_URI[sha256sum] = "1c89dee0caed0f68bc2a1d203eb98a123150e6a179f6ee0f1fc0ba3f08dc71dc"
+SRC_URI[sha256sum] = "ce8dac125568cc5f40da74c17212767c92d8faed81066580b526a485a591127d"
 
 UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
 
@@ -110,6 +110,11 @@
 ARM_INSTRUCTION_SET:armv4 = "arm"
 ARM_INSTRUCTION_SET:armv5 = "arm"
 
+do_compile:prepend:class-target () {
+    # remove the buildpath
+    sed -i -e "s:CMAKE_SYSROOT:CMAKE_SYSROOT_PLACE_HOLDER:g" ${S}/libmariadb/mariadb_config/mariadb_config.c.in
+}
+
 do_configure:append() {
     # handle distros with different values of ${libexecdir}
     libexecdir2=`echo ${libexecdir} | sed -e 's+/usr/++g'`
@@ -140,6 +145,7 @@
             echo "#endif" >>${B}/include/openssl/kssl.h
         fi
     fi
+    install -D ${RECIPE_SYSROOT_NATIVE}/usr/bin/uca-dump ${B}/strings/uca-dump
 }
 
 SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Add-missing-includes-cstdint-and-cstdio.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Add-missing-includes-cstdint-and-cstdio.patch
index 7c37fef..12fbd75 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Add-missing-includes-cstdint-and-cstdio.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Add-missing-includes-cstdint-and-cstdio.patch
@@ -1,4 +1,4 @@
-From 6e376601c990abaa5e261d1311f92acb3b370b8f Mon Sep 17 00:00:00 2001
+From 68100b1f2243304289b9a9a35e8fb0e1bb0cf70f Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 24 Jan 2023 21:40:43 -0800
 Subject: [PATCH] Add missing includes <cstdint> and <cstdio>
@@ -9,17 +9,16 @@
 
 Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
 ---
  .../rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h   | 1 +
  storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h   | 1 +
  .../rocksdb/rocksdb/table/block_based/data_block_hash_index.h    | 1 +
  storage/rocksdb/rocksdb/util/slice.cc                            | 1 +
- storage/rocksdb/rocksdb/util/string_util.h                       | 1 +
- tpool/aio_linux.cc                                               | 1 +
- 6 files changed, 6 insertions(+)
+ 4 files changed, 4 insertions(+)
 
 diff --git a/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h b/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h
-index 963c1d8eb49..73487edd96d 100644
+index 963c1d8e..73487edd 100644
 --- a/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h
 +++ b/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h
 @@ -5,6 +5,7 @@
@@ -31,7 +30,7 @@
  
  struct CompactionIterationStats {
 diff --git a/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h b/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h
-index c7f93b4cfcd..3c2ab80535a 100644
+index c7f93b4c..3c2ab805 100644
 --- a/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h
 +++ b/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h
 @@ -8,6 +8,7 @@
@@ -43,7 +42,7 @@
  #include <vector>
  #include "rocksdb/status.h"
 diff --git a/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h b/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h
-index f356395f329..3215221755d 100644
+index f356395f..32152217 100644
 --- a/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h
 +++ b/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h
 @@ -5,6 +5,7 @@
@@ -55,7 +54,7 @@
  #include <vector>
  
 diff --git a/storage/rocksdb/rocksdb/util/slice.cc b/storage/rocksdb/rocksdb/util/slice.cc
-index 6db11cc947a..c26b6a21a57 100644
+index 6db11cc9..c26b6a21 100644
 --- a/storage/rocksdb/rocksdb/util/slice.cc
 +++ b/storage/rocksdb/rocksdb/util/slice.cc
 @@ -8,6 +8,7 @@
@@ -66,30 +65,6 @@
  #include "rocksdb/slice_transform.h"
  #include "rocksdb/slice.h"
  #include "util/string_util.h"
-diff --git a/storage/rocksdb/rocksdb/util/string_util.h b/storage/rocksdb/rocksdb/util/string_util.h
-index a761be66c52..064d059f08f 100644
---- a/storage/rocksdb/rocksdb/util/string_util.h
-+++ b/storage/rocksdb/rocksdb/util/string_util.h
-@@ -6,6 +6,7 @@
- 
- #pragma once
- 
-+#include <cstdint>
- #include <sstream>
- #include <string>
- #include <unordered_map>
-diff --git a/tpool/aio_linux.cc b/tpool/aio_linux.cc
-index 10234e0e46a..a6adf1af257 100644
---- a/tpool/aio_linux.cc
-+++ b/tpool/aio_linux.cc
-@@ -18,6 +18,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 - 1301 USA*/
- 
- # include <thread>
- # include <atomic>
-+# include <cstdio>
- # include <libaio.h>
- # include <sys/syscall.h>
- 
 -- 
-2.39.1
+2.25.1
 
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.11.2.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.11.4.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.11.2.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.11.4.bb
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.3.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.3.bb
index c4d4124..e1d4989 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.3.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.3.bb
@@ -13,6 +13,4 @@
 
 SRC_URI[sha256sum] = "ffc7d4891f00ffbf5c3f4eab7fbbced8460b8c0ee63c5a5167133b9e6599d932"
 
-CVE_CHECK_IGNORE += "\
-   CVE-2017-8806 \
-"
+CVE_STATUS[CVE-2017-8806] = "not-applicable-config: Ddoesn't apply to out configuration of postgresql so we can safely ignore it."
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 abd140c..9278146 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
@@ -92,7 +92,7 @@
 
     # Setting both variables below causing our makefiles to not work with
     # implicit make rules
-    unset CFLAGS
+    CFLAGS="-ffile-prefix-map=${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
     unset CPPFLAGS
 
     export SRCDIR=${S}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.15.bb b/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.15.bb
index 200f751..8bf7981 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.15.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.15.bb
@@ -1,5 +1,4 @@
 DESCRIPTION = "Ultralightweight JSON parser in ANSI C"
-AUTHOR = "Dave Gamble"
 HOMEPAGE = "https://github.com/DaveGamble/cJSON"
 SECTION = "libs"
 LICENSE = "MIT"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.94.bb b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.94.bb
index 2f92d81..37a21cc 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.94.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.94.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Count blank lines, comment lines, and physical lines of source code \
 in many programming languages."
-AUTHOR = "Al Danial"
 
 LICENSE="GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230611.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230730.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230611.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230730.0.bb
index 1b8d367..fc7d82d 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230611.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230730.0.bb
@@ -14,7 +14,7 @@
 
 inherit autotools-brokensep pkgconfig manpages
 
-SRCREV = "89081ccd2aa6b4d8397a8e6741ea8c1e3f786162"
+SRCREV = "06036801ba3c5cc927c4dfd7be9ae08c8086eede"
 SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb
index 6573916..183554e 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb
@@ -15,8 +15,6 @@
 
 S = "${WORKDIR}/git"
 
-CVE_CHECK_IGNORE += "CVE-2020-35864"
-
 EXTRA_OECMAKE += " \
     -DFLATBUFFERS_BUILD_TESTS=OFF \    
     -DFLATBUFFERS_BUILD_SHAREDLIB=ON \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-fix-CVE-2023-32732.patch b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-fix-CVE-2023-32732.patch
new file mode 100644
index 0000000..ab46897
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-fix-CVE-2023-32732.patch
@@ -0,0 +1,81 @@
+From d39489045b5aa73e27713e3cbacb8832c1140ec8 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Wed, 9 Aug 2023 13:33:45 +0800
+Subject: [PATCH] fix CVE-2023-32732
+
+CVE: CVE-2023-32732
+
+Upstream-Status: Backport [https://github.com/grpc/grpc/pull/32309/commits/6a7850ef4f042ac26559854266dddc79bfbc75b2]
+The original patch is adjusted to fit the current 1.50.1 version.
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ .../ext/transport/chttp2/transport/hpack_parser.cc     | 10 +++++++---
+ src/core/ext/transport/chttp2/transport/internal.h     |  2 --
+ src/core/ext/transport/chttp2/transport/parsing.cc     |  6 ++----
+ 3 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/src/core/ext/transport/chttp2/transport/hpack_parser.cc b/src/core/ext/transport/chttp2/transport/hpack_parser.cc
+index f2e49022dc3..cd459d15238 100644
+--- a/src/core/ext/transport/chttp2/transport/hpack_parser.cc
++++ b/src/core/ext/transport/chttp2/transport/hpack_parser.cc
+@@ -1211,12 +1211,16 @@ class HPackParser::Parser {
+             "). GRPC_ARG_MAX_METADATA_SIZE can be set to increase this limit.",
+             *frame_length_, metadata_size_limit_);
+     if (metadata_buffer_ != nullptr) metadata_buffer_->Clear();
++    // StreamId is used as a signal to skip this stream but keep the connection
++    // alive
+     return input_->MaybeSetErrorAndReturn(
+         [] {
+           return grpc_error_set_int(
+-              GRPC_ERROR_CREATE_FROM_STATIC_STRING(
+-                  "received initial metadata size exceeds limit"),
+-              GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_RESOURCE_EXHAUSTED);
++	      grpc_error_set_int(
++                  GRPC_ERROR_CREATE_FROM_STATIC_STRING(
++                      "received initial metadata size exceeds limit"),
++                  GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_RESOURCE_EXHAUSTED),
++	      GRPC_ERROR_INT_STREAM_ID, 0);
+         },
+         false);
+   }
+diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h
+index 4a2f4261d83..f8b544d9583 100644
+--- a/src/core/ext/transport/chttp2/transport/internal.h
++++ b/src/core/ext/transport/chttp2/transport/internal.h
+@@ -542,8 +542,6 @@ struct grpc_chttp2_stream {
+ 
+   grpc_core::Timestamp deadline = grpc_core::Timestamp::InfFuture();
+ 
+-  /** saw some stream level error */
+-  grpc_error_handle forced_close_error = GRPC_ERROR_NONE;
+   /** how many header frames have we received? */
+   uint8_t header_frames_received = 0;
+   /** number of bytes received - reset at end of parse thread execution */
+diff --git a/src/core/ext/transport/chttp2/transport/parsing.cc b/src/core/ext/transport/chttp2/transport/parsing.cc
+index 980f13543f6..afe6da190b6 100644
+--- a/src/core/ext/transport/chttp2/transport/parsing.cc
++++ b/src/core/ext/transport/chttp2/transport/parsing.cc
+@@ -22,6 +22,7 @@
+ #include <string.h>
+ 
+ #include <string>
++#include <utility>
+ 
+ #include "absl/base/attributes.h"
+ #include "absl/status/status.h"
+@@ -719,10 +720,7 @@ static grpc_error_handle parse_frame_slice(grpc_chttp2_transport* t,
+     }
+     grpc_chttp2_parsing_become_skip_parser(t);
+     if (s) {
+-      s->forced_close_error = err;
+-      grpc_chttp2_add_rst_stream_to_next_write(t, t->incoming_stream_id,
+-                                               GRPC_HTTP2_PROTOCOL_ERROR,
+-                                               &s->stats.outgoing);
++      grpc_chttp2_cancel_stream(t, s, std::exchange(err, absl::OkStatus()));
+     } else {
+       GRPC_ERROR_UNREF(err);
+     }
+-- 
+2.34.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.50.1.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.50.1.bb
index 958992e..45bfcb8 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.50.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.50.1.bb
@@ -26,6 +26,7 @@
            file://0001-Revert-Changed-GRPCPP_ABSEIL_SYNC-to-GPR_ABSEIL_SYNC.patch \
            file://0001-cmake-add-separate-export-for-plugin-targets.patch \
            file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \
+           file://0001-fix-CVE-2023-32732.patch \
            "
 # Fixes build with older compilers 4.8 especially on ubuntu 14.04
 CXXFLAGS:append:class-native = " -Wl,--no-as-needed"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.8.bb b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.8.bb
index 30d17c8..15d43e9 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.8.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.8.bb
@@ -1,7 +1,6 @@
 SUMMARY = "performance analyzer"
 HOMEPAGE = "https://github.com/iipeace/guider"
 BUGTRACKER = "https://github.com/iipeace/guider/issues"
-AUTHOR = "Peace Lee <ipeace5@gmail.com>"
 
 LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack/run-ptest b/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack/run-ptest
new file mode 100755
index 0000000..8bd5fd1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+ctest --force-new-ctest-process | sed -u 's/\*\*\*/   /g' | awk '/Test +#/{gsub(/Passed/,"PASS"); gsub(/Failed/,"FAIL"); gsub(/Skipped/,"SKIP"); print $6": "$4; fflush();}'
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 15f394e..787ace4 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
@@ -11,17 +11,49 @@
 #FORTRAN:forcevariable = ",fortran"
 #RUNTIMETARGET:append:pn-gcc-runtime = " libquadmath"
 
-DEPENDS = "libgfortran"
+DEPENDS = "libgfortran \
+           ${@bb.utils.contains('PTEST_ENABLED', '1', 'rsync-native', '', d)} \
+          "
+RDEPENDS:${PN}-ptest += "cmake"
 
 SRCREV = "32b062a33352e05771dcc01b981ebe961bf2e42f"
-SRC_URI = "git://github.com/Reference-LAPACK/lapack.git;protocol=https;branch=master"
+SRC_URI = "git://github.com/Reference-LAPACK/lapack.git;protocol=https;branch=master \
+           ${@bb.utils.contains('PTEST_ENABLED', '1', 'file://run-ptest', '', d)} \
+          "
 S = "${WORKDIR}/git"
 
 PACKAGECONFIG ?= ""
 PACKAGECONFIG[lapacke] = "-DLAPACKE=ON,-DLAPACKE=OFF"
 
-EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=ON "
+EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=ON \
+                  ${@bb.utils.contains('PTEST_ENABLED', '1', ' -DBUILD_TESTING=ON', '', d)} \
+                "
 OECMAKE_GENERATOR = "Unix Makefiles"
 
-inherit cmake pkgconfig
+inherit cmake pkgconfig ptest
 EXCLUDE_FROM_WORLD = "1"
+
+do_install_ptest () {
+    rsync -a ${B}/TESTING ${D}${PTEST_PATH} \
+          --exclude CMakeFiles \
+          --exclude cmake_install.cmake \
+          --exclude Makefile
+    rsync -a ${B}/BLAS ${D}${PTEST_PATH} \
+          --exclude CMakeFiles \
+          --exclude cmake_install.cmake \
+          --exclude Makefile
+    rsync -a ${B}/LAPACKE ${D}${PTEST_PATH} \
+          --exclude CMakeFiles \
+          --exclude cmake_install.cmake \
+          --exclude Makefile
+    cp -r ${B}/bin ${D}${PTEST_PATH}
+    cp -r ${B}/lapack_testing.py ${D}${PTEST_PATH}
+    cp ${B}/CTestTestfile.cmake ${D}${PTEST_PATH}
+    cp ${S}/TESTING/*.in ${S}/TESTING/runtest.cmake ${D}${PTEST_PATH}/TESTING
+    cp ${S}/BLAS/TESTING/*.in ${D}${PTEST_PATH}/BLAS/TESTING
+    sed -i -e 's#${B}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+    sed -i -e 's#${S}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+    sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+    sed -i -e 's#${PYTHON}#/usr/bin/python3#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+    sed -i -e 's#${WORKDIR}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-18.16/oe-npm-cache b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-18.17/oe-npm-cache
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-18.16/oe-npm-cache
rename to meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-18.17/oe-npm-cache
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_18.16.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_18.17.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_18.16.bb
rename to meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_18.17.bb
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.17.0.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.17.0.bb
index 3adb515..1d49218 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.17.0.bb
@@ -1,7 +1,7 @@
 DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
 HOMEPAGE = "http://nodejs.org"
 LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0be148d0e7298c5c94f7501affafbce5"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bc1f9ebe76be76f163e3b675303ad9cd"
 
 CVE_PRODUCT = "nodejs node.js"
 
@@ -39,7 +39,7 @@
 SRC_URI:append:toolchain-clang:powerpc64le = " \
            file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
            "
-SRC_URI[sha256sum] = "33d81a233e235a509adda4a4f2209008d04591979de6b3f0f67c1c906093f118"
+SRC_URI[sha256sum] = "80c0faadf5ea39c213ccb9aa5c2432977a0f1b5a0b766852abd0de06f2770406"
 
 S = "${WORKDIR}/node-v${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.7.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.8.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.7.bb
rename to meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.8.bb
index 4dc0399..407b1a7 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.7.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.8.bb
@@ -34,9 +34,11 @@
           "
 
 S = "${WORKDIR}/php-${PV}"
-SRC_URI[sha256sum] = "5bfb2a35c67921bdcadd5c90cb290ad7537d24da113a5e8bc2d646b02de7488f"
+SRC_URI[sha256sum] = "995ed4009c7917c962d31837a1a3658f36d4af4f357b673c97ffdbe6403f8517"
 
-CVE_CHECK_IGNORE += "\
+CVE_STATUS_GROUPS += "CVE_STATUS_PHP"
+CVE_STATUS_PHP[status] = "fixed-version: The name of this product is exactly the same as github.com/emlog/emlog. CVE can be safely ignored."
+CVE_STATUS_PHP = " \
     CVE-2007-2728 \
     CVE-2007-3205 \
     CVE-2007-4596 \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb
index c22dcbd..7793971 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb
@@ -12,7 +12,7 @@
 
 S = "${WORKDIR}/git"
 
-LD = "${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"
+CACHED_CONFIGUREVARS = 'LD="${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"'
 
 inherit autotools-brokensep
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.9.bb b/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.11.bb
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.9.bb
rename to meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.11.bb
index f6c2457..66ec979 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.9.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.11.bb
@@ -11,6 +11,6 @@
 inherit pypi setuptools3 python3native
 
 PYPI_PACKAGE = "sip"
-SRC_URI[sha256sum] = "35d51fc10f599d3696abb50f29d068ad04763df7b77808c76b74597660f99b17"
+SRC_URI[sha256sum] = "f0dc3287a0b172e5664931c87847750d47e4fdcda4fe362b514af8edd655b469"
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/smemstat/smemstat_0.02.11.bb b/meta-openembedded/meta-oe/recipes-devtools/smemstat/smemstat_0.02.12.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-devtools/smemstat/smemstat_0.02.11.bb
rename to meta-openembedded/meta-oe/recipes-devtools/smemstat/smemstat_0.02.12.bb
index 21f315b..46dc941 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/smemstat/smemstat_0.02.11.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/smemstat/smemstat_0.02.12.bb
@@ -7,7 +7,7 @@
 DEPENDS = "ncurses"
 
 SRC_URI = "git://github.com/ColinIanKing/smemstat.git;protocol=https;branch=master"
-SRCREV = "9eea7504ab33783d804c4ed9237e299effb68874"
+SRCREV = "72efeb08ccdb22f57054279d25e3c522e8e1d4c3"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb b/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
index ea76d48..dcb59f4 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
@@ -22,9 +22,7 @@
 
 S = "${WORKDIR}/imap-${PV}"
 
-CVE_CHECK_IGNORE += "\
-    CVE-2005-0198 \
-"
+CVE_STATUS[CVE-2005-0198] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
 PACKAGECONFIG[pam] = ",,libpam"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-31975.patch b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-31975.patch
new file mode 100644
index 0000000..ae10e99
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-31975.patch
@@ -0,0 +1,29 @@
+From b2cc5a1693b17ac415df76d0795b15994c106441 Mon Sep 17 00:00:00 2001
+From: Katsuhiko Gondow <gondow@cs.titech.ac.jp>
+Date: Tue, 13 Jun 2023 05:00:47 +0900
+Subject: [PATCH] Fix memory leak in bin-objfmt (#231)
+
+Upstream-Status: Backport [https://github.com/yasm/yasm/commit/b2cc5a1693b17ac415df76d0795b15994c106441]
+
+CVE: CVE-2023-31975
+---
+ modules/objfmts/bin/bin-objfmt.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/modules/objfmts/bin/bin-objfmt.c b/modules/objfmts/bin/bin-objfmt.c
+index 18026750..a38c3422 100644
+--- a/modules/objfmts/bin/bin-objfmt.c
++++ b/modules/objfmts/bin/bin-objfmt.c
+@@ -1680,6 +1680,10 @@ static void
+ bin_section_data_destroy(void *data)
+ {
+     bin_section_data *bsd = (bin_section_data *)data;
++    if (bsd->align)
++        yasm_xfree(bsd->align);
++    if (bsd->valign)
++        yasm_xfree(bsd->valign);
+     if (bsd->start)
+         yasm_expr_destroy(bsd->start);
+     if (bsd->vstart)
+--
+2.40.0
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 3dd382b..19686ff 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
@@ -12,6 +12,7 @@
 SRCREV = "ba463d3c26c0ece2e797b8d6381b161633b5971a"
 SRC_URI = "git://github.com/yasm/yasm.git;branch=master;protocol=https \
            file://0001-Do-not-use-AC_HEADER_STDC.patch \
+           file://CVE-2023-31975.patch \
 "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.43.bb b/meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.50.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.43.bb
rename to meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.50.bb
index 3a99439..5cd20c5 100644
--- a/meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.43.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.50.bb
@@ -15,7 +15,7 @@
            file://run-ptest \
            file://ptest.out.expected \
            "
-SRC_URI[sha256sum] = "f524f794188a10defc4df673d8cf0b3739f93e58e93aff0cdb8a99fbdcca2ffb"
+SRC_URI[sha256sum] = "806271fa5bf31de0600315e8720004a8f529954480e991ca84a9868dc1cae97e"
 
 UPSTREAM_CHECK_URI = "https://github.com/mellowcandle/bitwise/releases"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/cmatrix/cmatrix_2.0.bb b/meta-openembedded/meta-oe/recipes-extended/cmatrix/cmatrix_2.0.bb
index a743e72..6b6acf1 100644
--- a/meta-openembedded/meta-oe/recipes-extended/cmatrix/cmatrix_2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/cmatrix/cmatrix_2.0.bb
@@ -1,5 +1,4 @@
 SUMMARY = "Terminal based 'The Matrix' screen implementation"
-AUTHOR = "Abishek V Ashok"
 
 LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/504.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/504.patch
new file mode 100644
index 0000000..3290d11
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/504.patch
@@ -0,0 +1,34 @@
+Bug: https://bugs.debian.org/1041124
+From 3f8bc3343983697531d52918fb6cdba19593f3a8 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Sat, 15 Jul 2023 11:31:55 +0200
+Subject: [PATCH] Update CMakeLists.txt: set required std version to gnu++14
+
+New googletest 1.13.0 defaults to gnu++14, so makes this package FTBFS when building testsuite with this error:
+
+In file included from /usr/include/gtest/gtest-message.h:57,
+                 from /usr/include/gtest/gtest-assertion-result.h:46,
+                 from /usr/include/gtest/gtest.h:64,
+                 from /build/1st/dlt-daemon-2.18.9/tests/gtest_dlt_user.cpp:27:
+/usr/include/gtest/internal/gtest-port.h:270:2: error: #error C++ versions less than C++14 are not supported.
+  270 | #error C++ versions less than C++14 are not supported.
+      |  ^~~~~
+
+Thanks Adrian Bunk <bunk@debian.org> for the report and the fix!
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 014fc3bb..b2e056db 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -213,7 +213,7 @@ endif()
+ 
+ add_compile_options(
+     $<$<COMPILE_LANGUAGE:C>:-std=gnu99>
+-    $<$<COMPILE_LANGUAGE:CXX>:-std=gnu++11>
++    $<$<COMPILE_LANGUAGE:CXX>:-std=gnu++14>
+     -Wall
+     -Wextra
+     # -pedantic
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.9.bb b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.9.bb
index 9a7b38b..2d6d187 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.9.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.9.bb
@@ -19,6 +19,7 @@
            file://0004-Modify-systemd-config-directory.patch \
            file://481.patch \
            file://482.patch \
+           file://504.patch \
            "
 SRCREV = "9a2312d3512a27620d41b9a325338b6e7b3d42de"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.18.bb b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.18.bb
index 069fdf7..97c354a 100644
--- a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.18.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.18.bb
@@ -1,7 +1,6 @@
 SUMMARY = "haveged - A simple entropy daemon"
 DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers."
 
-AUTHOR = "Gary Wuertz"
 HOMEPAGE = "https://www.issihosts.com/haveged/index.html"
 
 LICENSE = "GPL-3.0-only"
diff --git a/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_1.1.0.bb b/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_1.2.0.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_1.1.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_1.2.0.bb
index b3814af..d081242 100644
--- a/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_1.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_1.2.0.bb
@@ -8,7 +8,7 @@
     git://github.com/redis/hiredis;protocol=https;branch=master \
     file://run-ptest \
     "
-SRCREV = "c14775b4e48334e0262c9f168887578f4a368b5d"
+SRCREV = "60e5075d4ac77424809f855ba3e398df7aacefe8"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/lastlog2/files/0001-remove-lto-to-fix-link-error-of-clang.patch b/meta-openembedded/meta-oe/recipes-extended/lastlog2/files/0001-remove-lto-to-fix-link-error-of-clang.patch
new file mode 100644
index 0000000..71c3de9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/lastlog2/files/0001-remove-lto-to-fix-link-error-of-clang.patch
@@ -0,0 +1,31 @@
+From 692523d2f8bf0ce893a781761154db4277f0fceb Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@fujitsu.com>
+Date: Wed, 19 Jul 2023 07:11:15 +0000
+Subject: remove lto to fix link error of clang
+
+error message:
+| tests/tst-y2038-64bit-time_t.p/tst-y2038-64bit-time_t.c.o: file not recognized: file format not recognized
+| clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
+
+Upstream-Status: Pending
+
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+---
+ meson.build | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index c521577..13d993b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -26,7 +26,6 @@ add_project_arguments(['-D_GNU_SOURCE=1',
+                        '-DPROJECT_VERSION="@0@"'.format(meson.project_version()) ], language : 'c')
+ 
+ possible_cc_flags = [
+-                  '-flto=auto',
+                   '-ffat-lto-objects',
+ 		  '-fstack-protector-strong',
+ 		  '-funwind-tables',
+-- 
+2.34.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/lastlog2/lastlog2_1.1.0.bb b/meta-openembedded/meta-oe/recipes-extended/lastlog2/lastlog2_1.1.0.bb
new file mode 100644
index 0000000..757af00
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/lastlog2/lastlog2_1.1.0.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Y2038 safe version of lastlog"
+HOMEPAGE = "https://github.com/thkukuk/lastlog2"
+DESCRIPTION = "lastlog reports the last login of a given user or of all users who did ever login on a system."
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=020090a00b69dd2af9ab82eb0003ea2c"
+SECTION = "libs"
+
+SRCREV = "585153a577788c590370d20e40263b61238dfab3"
+
+SRC_URI = "git://github.com/thkukuk/lastlog2.git;branch=main;protocol=https \
+           file://0001-remove-lto-to-fix-link-error-of-clang.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig systemd features_check
+
+DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} sqlite3 "
+REQUIRED_DISTRO_FEATURES = "pam"
+
+SYSTEMD_SERVICE:${PN} = "lastlog2-import.service"
+
+EXTRA_OEMESON = " -Dpamlibdir=${libdir}"
+
+do_install:append () {
+      if [ -d ${D}${prefix}/lib/systemd -a ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then
+          # Fix makefile hardcoded path assumptions for systemd (assumes $prefix)
+          # without usrmerge distro feature enabled
+          install -d `dirname ${D}${systemd_unitdir}`
+          mv ${D}${prefix}/lib/systemd `dirname ${D}${systemd_unitdir}`
+      fi
+}
+
+FILES:${PN} += " ${systemd_system_unitdir} "
+FILES:${PN} += " ${libdir} "
+FILES:${PN} += " ${nonarch_libdir}/tmpfiles.d/* "
diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb
index 1a74dc8..f636990 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb
@@ -14,7 +14,9 @@
 S = "${WORKDIR}/git"
 PR = "r1"
 
-CVE_CHECK_IGNORE += "\
+CVE_STATUS_GROUPS += "CVE_STATUS_LIBLIST"
+CVE_STATUS_LIBLIST[status] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS_LIBLIST = " \
     CVE-2017-5834 \
     CVE-2017-5835 \
     CVE-2017-5836 \
diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb
index db09260..3a10b40 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb
@@ -15,7 +15,9 @@
 
 S = "${WORKDIR}/git"
 
-CVE_CHECK_IGNORE += "\
+CVE_STATUS_GROUPS += "CVE_STATUS_LIBLIST"
+CVE_STATUS_LIBLIST[status] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS_LIBLIST = " \
     CVE-2017-5834 \
     CVE-2017-5835 \
     CVE-2017-5836 \
diff --git a/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_2.0.7.bb b/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_2.0.8.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-extended/libqb/libqb_2.0.7.bb
rename to meta-openembedded/meta-oe/recipes-extended/libqb/libqb_2.0.8.bb
index 9123e0a..3db9e2e 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_2.0.7.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_2.0.8.bb
@@ -9,7 +9,7 @@
 
 inherit autotools pkgconfig
 
-SRCREV = "06c8641de2e1fef1fc6026709fb2109fbbb79d79"
+SRCREV = "002171bbcf4bc4728da56c1538afd9e9d814ecaf"
 SRC_URI = "git://github.com/ClusterLabs/${BPN}.git;branch=main;protocol=https \
           "
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.10.0.bb b/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.10.0.bb
index e8aa7fd..b500f26 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.10.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.10.0.bb
@@ -23,7 +23,4 @@
 
 SRC_URI[sha256sum] = "cd2a7ac9f1fb5bfa6218272d9929955dc7237515bba6e14b5ad0e1d1e2212b43"
 
-# Patch for CVE-2017-12858 is applied in version 1.2.0.
-CVE_CHECK_IGNORE += "CVE-2017-12858"
-
 BBCLASSEXTEND += "native"
diff --git a/meta-openembedded/meta-oe/recipes-extended/md5deep/md5deep_git.bb b/meta-openembedded/meta-oe/recipes-extended/md5deep/md5deep_git.bb
index 3cbe785..b1a38cf 100644
--- a/meta-openembedded/meta-oe/recipes-extended/md5deep/md5deep_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/md5deep/md5deep_git.bb
@@ -1,6 +1,5 @@
 SUMMARY = "md5deep and hashdeep to compute and audit hashsets of amounts of files."
 DESCRIPTION = "md5deep is a set of programs to compute MD5, SHA-1, SHA-256, Tiger, or Whirlpool message digests on an arbitrary number of files. This package also includes hashdeep which is also able to audit hashsets."
-AUTHOR = "Jesse Kornblum, Simson L. Garfinkel"
 HOMEPAGE = "http://md5deep.sourceforge.net"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=9190f660105b9a56cdb272309bfd5491"
diff --git a/meta-openembedded/meta-oe/recipes-extended/networking/mstpd/bridge-stp b/meta-openembedded/meta-oe/recipes-extended/networking/mstpd/bridge-stp
new file mode 100644
index 0000000..59c5786
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/networking/mstpd/bridge-stp
@@ -0,0 +1,18 @@
+#!/bin/sh
+if [ "$#" -lt 2 ]; then
+  echo "Missing args: bridge-stp <bridge> <start|stop>" >&2
+  exit 1
+fi
+case "$2" in
+  start)
+    /usr/sbin/mstpctl addbridge "$1"
+    exit
+    ;;
+  stop)
+    /usr/sbin/mstpctl delbridge "$1"
+    exit
+    ;;
+  *)
+    echo "Invalid operation: $2" >&2
+    exit 1
+esac
diff --git a/meta-openembedded/meta-oe/recipes-extended/networking/mstpd/mstpd.service b/meta-openembedded/meta-oe/recipes-extended/networking/mstpd/mstpd.service
new file mode 100644
index 0000000..645db89
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/networking/mstpd/mstpd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Multiple Spanning Tree Protocol Daemon
+Before=network-pre.target
+Wants=network-pre.target
+[Service]
+Restart=always
+Type=simple
+ExecStart=/usr/sbin/mstpd -d -v 2
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-oe/recipes-extended/networking/mstpd_git.bb b/meta-openembedded/meta-oe/recipes-extended/networking/mstpd_git.bb
new file mode 100644
index 0000000..e2565d6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/networking/mstpd_git.bb
@@ -0,0 +1,32 @@
+PR = "r1"
+PV = "0.1+git${SRCPV}"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4325afd396febcb659c36b49533135d4"
+
+SRC_URI = "git://github.com/mstpd/mstpd;branch=master;protocol=https"
+SRCREV = "181c453fc1a00573e19f14960dcc54ad84beea7c"
+S = "${WORKDIR}/git"
+
+SRC_URI:append = " \
+  file://bridge-stp \
+  file://mstpd.service \
+"
+
+inherit autotools pkgconfig systemd
+
+PACKAGES =+ "${PN}-mstpd"
+FILES:${PN}-mstpd = "${sbindir}/mstpd ${sbindir}/mstpctl ${sbindir}/bridge-stp"
+
+SYSTEMD_PACKAGES = "${PN}-mstpd"
+SYSTEMD_SERVICE:${PN}-mstpd = "mstpd.service"
+
+do_install:append() {
+  rm -rf ${D}${libexecdir} ${D}${libdir}/NetworkManager
+  rmdir ${D}${libdir} || true
+
+  install -d -m 0755 ${D}/${sbindir}
+  install -m 0755 ${WORKDIR}/bridge-stp ${D}/${sbindir}
+
+  install -d -m 0755 ${D}${systemd_system_unitdir}
+  install -m 0644 ${WORKDIR}/mstpd.service ${D}${systemd_system_unitdir}/
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Link-with-libm-for-floor-function.patch b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Link-with-libm-for-floor-function.patch
new file mode 100644
index 0000000..2f47261
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Link-with-libm-for-floor-function.patch
@@ -0,0 +1,71 @@
+From 09101da4efaa5584b7f3f3f3bfa5dbb4d1e26948 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 24 Jul 2023 22:09:21 -0700
+Subject: [PATCH] Link with libm for floor() function
+
+LLD linker finds this missing symbol
+
+arm-yoe-linux-gnueabi-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: floor
+>>> referenced by src/lib/libwsman.so.1.0.0
+
+Upstream-Status: Submitted [https://github.com/Openwsman/openwsman/pull/195]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt         | 10 ++++++++++
+ configure.ac           |  3 ++-
+ src/lib/CMakeLists.txt |  4 ++++
+ 3 files changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6e54c66b..507ee633 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -297,6 +297,16 @@ ELSE(HAVE_LIBDL)
+  SET(HAVE_LIBDL 0)
+ ENDIF(HAVE_LIBDL)
+ 
++# m
++
++FIND_LIBRARY( HAVE_LIBM "m" )
++IF(HAVE_LIBM)
++ SET(M_LIBRARIES ${HAVE_LIBM})
++ SET(HAVE_LIBM 1)
++ELSE(HAVE_LIBM)
++ SET(HAVE_LIBM 0)
++ENDIF(HAVE_LIBM)
++
+ # crypt
+ 
+ FIND_LIBRARY( HAVE_LIBCRYPT "crypt" )
+diff --git a/configure.ac b/configure.ac
+index 125564da..010fa0b6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -128,7 +128,8 @@ daemon  \
+ va_copy \
+ memmove \
+ bcopy \
+-gmtime_r
++gmtime_r \
++floor
+ )
+ AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket))
+ AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname))
+diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
+index 5c51781f..496fd672 100644
+--- a/src/lib/CMakeLists.txt
++++ b/src/lib/CMakeLists.txt
+@@ -36,6 +36,10 @@ if( HAVE_LIBDL )
+ TARGET_LINK_LIBRARIES(wsman ${DL_LIBRARIES})
+ endif( HAVE_LIBDL )
+ 
++if( HAVE_LIBM )
++TARGET_LINK_LIBRARIES(wsman ${M_LIBRARIES})
++endif( HAVE_LIBM )
++
+ IF( ENABLE_EVENTING_SUPPORT )
+ TARGET_LINK_LIBRARIES( wsman ${WSMAN_CLIENT_PKG} )
+ ENDIF( ENABLE_EVENTING_SUPPORT )
+-- 
+2.41.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.7.2.bb b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.7.2.bb
index 39a9c52..1c68b5f 100644
--- a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.7.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.7.2.bb
@@ -21,6 +21,7 @@
            file://libssl-is-required-if-eventint-supported.patch \
            file://openwsmand.service \
            file://0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch \
+           file://0001-Link-with-libm-for-floor-function.patch \
            "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.3.9.bb b/meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.3.10.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.3.9.bb
rename to meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.3.10.bb
index a8a9386..2df5e09 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.3.9.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.3.10.bb
@@ -8,7 +8,7 @@
 
 SRC_URI = "git://github.com/sewenew/redis-plus-plus;branch=master;protocol=https \
            file://0001-CMakeLists.txt-fix-substitution-for-static-libs.patch"
-SRCREV = "0c4ba0370e46c3d0d443c0368d02195faa791219"
+SRCREV = "8b9ce389099608cf9bae617d79d257d2cc05e12f"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/0001-src-Do-not-reset-FINAL_LIBS.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/0001-src-Do-not-reset-FINAL_LIBS.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/0001-src-Do-not-reset-FINAL_LIBS.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/0001-src-Do-not-reset-FINAL_LIBS.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/0006-Define-correct-gregs-for-RISCV32.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/0006-Define-correct-gregs-for-RISCV32.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/0006-Define-correct-gregs-for-RISCV32.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/0006-Define-correct-gregs-for-RISCV32.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/GNU_SOURCE-7.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/GNU_SOURCE-7.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/GNU_SOURCE-7.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/GNU_SOURCE-7.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/hiredis-use-default-CC-if-it-is-set.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/hiredis-use-default-CC-if-it-is-set.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/hiredis-use-default-CC-if-it-is-set.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/hiredis-use-default-CC-if-it-is-set.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/init-redis-server b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/init-redis-server
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/init-redis-server
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/init-redis-server
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/lua-update-Makefile-to-use-environment-build-setting.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/lua-update-Makefile-to-use-environment-build-setting.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/lua-update-Makefile-to-use-environment-build-setting.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/lua-update-Makefile-to-use-environment-build-setting.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/oe-use-libc-malloc.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/oe-use-libc-malloc.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/oe-use-libc-malloc.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/oe-use-libc-malloc.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/redis.conf b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/redis.conf
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/redis.conf
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/redis.conf
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/redis.service b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/redis.service
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.11/redis.service
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/redis.service
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.12.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.13.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.12.bb
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.13.bb
index 3ed6867..640831c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.12.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.13.bb
@@ -17,7 +17,7 @@
            file://GNU_SOURCE.patch \
            file://0006-Define-correct-gregs-for-RISCV32.patch \
            "
-SRC_URI[sha256sum] = "75352eef41e97e84bfa94292cbac79e5add5345fc79787df5cbdff703353fb1b"
+SRC_URI[sha256sum] = "89ff27c80d420456a721ccfb3beb7cc628d883c53059803513749e13214a23d1"
 
 inherit autotools-brokensep update-rc.d systemd useradd
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.11.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.12.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.11.bb
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.12.bb
index 0fdbfe9..321b90d 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.11.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.12.bb
@@ -17,7 +17,7 @@
            file://GNU_SOURCE-7.patch \
            file://0006-Define-correct-gregs-for-RISCV32.patch \
            "
-SRC_URI[sha256sum] = "ce250d1fba042c613de38a15d40889b78f7cb6d5461a27e35017ba39b07221e3"
+SRC_URI[sha256sum] = "9dd83d5b278bb2bf0e39bfeb75c3e8170024edbaf11ba13b7037b2945cf48ab7"
 
 inherit autotools-brokensep update-rc.d systemd useradd
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/files/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch b/meta-openembedded/meta-oe/recipes-extended/rsyslog/files/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch
new file mode 100644
index 0000000..10e2b56
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/files/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch
@@ -0,0 +1,34 @@
+From 6d575d98565ce3119a14359eecb11ccdff92a303 Mon Sep 17 00:00:00 2001
+From: Yash Shinde <53660251+Yashinde145@users.noreply.github.com>
+Date: Thu, 29 Jun 2023 18:10:15 +0530
+Subject: [PATCH] Fix function inline errors in debug optimization (-Og)
+
+Compiler does not inline any functions when using debug optimization (-Og).
+Hence, remove -Winline flag when compiling with debug optimization.
+
+Signed-off-by: Nicolas Marguet <nicolas.marguet@windriver.com>
+---
+Upstream-Status: Backport [https://github.com/rsyslog/librelp/commit/6d575d9]
+
+ configure.ac | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 21c1fde..1204c4e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -230,6 +230,12 @@ if test "$enable_debug" = "no"; then
+         AC_DEFINE(NDEBUG, 1, [Defined if debug mode is disabled.])
+ fi
+
++#Compiler does not inline any functions when not optimizing(-Og).
++#Hence, remove -Winline flag when DEBUG is enabled.
++#ifdef DEBUG
++WARN_CFLAGS="$(echo "$WARN_CFLAGS" | sed s/-Winline//g)"
++#endif
++
+ # valgrind
+ AC_ARG_ENABLE(valgrind,
+         [AS_HELP_STRING([--enable-valgrind],[Enable valgrind tests@<:@default=yes@:>@])],
+--
+2.39.0
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb
index e7b79ad..bac5abb 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb
@@ -7,6 +7,7 @@
 DEPENDS = "gmp nettle libidn zlib gnutls openssl"
 
 SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https;branch=stable \
+           file://0001-Fix-function-inline-errors-in-debug-optimization-Og.patch \
 "
 
 SRCREV = "b421f56d9ee31a966058d23bd23c966221c91396"
@@ -14,7 +15,3 @@
 S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig
-
-DEBUG_OPTIMIZATION:append = " -Wno-error=inline"
-
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2302.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2306.0.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2302.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2306.0.bb
index 39d9516..c639e81 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2302.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2306.0.bb
@@ -17,7 +17,7 @@
                     file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\
 "
 
-SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \
+SRC_URI = "https://www.rsyslog.com/files/download/rsyslog/${BPN}-${PV}.tar.gz \
            file://initscript \
            file://rsyslog.conf \
            file://rsyslog.logrotate \
@@ -31,7 +31,7 @@
     file://0001-Include-sys-time-h.patch \
 "
 
-SRC_URI[sha256sum] = "25415f85b662615ce3c83077d53758029e8743cb5929044bfd3564e3d626a3b9"
+SRC_URI[sha256sum] = "f6283efaadc609540a56e6bec88a362c966e77f29fe48e6b734bd6c1123e0be5"
 
 UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
diff --git a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.5.bb b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.5.bb
index c2a17d0..962d195 100644
--- a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.5.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.5.bb
@@ -21,9 +21,7 @@
 
 S = "${WORKDIR}/git"
 
-CVE_CHECK_IGNORE += "\
-    CVE-2012-5638 \
-"
+CVE_STATUS[CVE-2012-5638] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
 
 DEPENDS = "libaio util-linux"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
index a52f364..2a7cf22 100644
--- a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
@@ -34,9 +34,7 @@
 SRC_URI[md5sum] = "28021cdabc73690a94f4f9d57254ce30"
 SRC_URI[sha256sum] = "634a67b2f7ac3b386a79160eb44413d618e33e4e7fc74ae68b0240484af149dd"
 
-CVE_CHECK_IGNORE += "\
-    CVE-2012-3381 \
-"
+CVE_STATUS[CVE-2012-3381] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
 
 inherit autotools
 inherit systemd
diff --git a/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb b/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb
index 6dc5c0c..53030f2 100644
--- a/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Instant terminal sharing"
 DESCRIPTION = "Tmate is a fork of tmux. It provides an instant pairing solution."
-AUTHOR = "Marius Kriegerowski <marius.kriegerowski@gmail.com>"
 HOMEPAGE = "https://tmate.io/"
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://COPYING;md5=f7d9aab84ec6567139a4755c48d147fb"
diff --git a/meta-openembedded/meta-oe/recipes-extended/wtmpdb/files/0001-remove-lto-to-fix-link-error-of-clang.patch b/meta-openembedded/meta-oe/recipes-extended/wtmpdb/files/0001-remove-lto-to-fix-link-error-of-clang.patch
new file mode 100644
index 0000000..ef188e7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/wtmpdb/files/0001-remove-lto-to-fix-link-error-of-clang.patch
@@ -0,0 +1,31 @@
+From 9840939789dec9153150e8f9ae34de4171a5c15e Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@fujitsu.com>
+Date: Wed, 19 Jul 2023 07:31:32 +0000
+Subject: [PATCH] remove lto to fix link error of clang
+
+error message:
+| tests/tst-dlopen.p/tst-dlopen.c.o: file not recognized: file format not recognized
+| clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
+
+Upstream-Status: Pending
+
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+---
+ meson.build | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 6fe8045..166a15b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -28,7 +28,6 @@ add_project_arguments(['-D_GNU_SOURCE=1',
+                        '-D_TIME_BITS=64'], language : 'c')
+ 
+ possible_cc_flags = [
+-                  '-flto=auto',
+                   '-ffat-lto-objects',
+ 		  '-fstack-protector-strong',
+ 		  '-funwind-tables',
+-- 
+2.34.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.7.1.bb b/meta-openembedded/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.7.1.bb
new file mode 100644
index 0000000..cffae2d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.7.1.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Y2038 safe version of wtmp"
+HOMEPAGE = "https://github.com/thkukuk/wtmpdb"
+DESCRIPTION = "last reports the login and logout times of users and when the machine got rebooted."
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=020090a00b69dd2af9ab82eb0003ea2c"
+SECTION = "libs"
+
+SRCREV = "502b19a41c7a3b1b5e70969b18088683825f71f8"
+
+SRC_URI = "git://github.com/thkukuk/wtmpdb.git;branch=main;protocol=https \
+           file://0001-remove-lto-to-fix-link-error-of-clang.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig systemd features_check
+
+DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} sqlite3 "
+REQUIRED_DISTRO_FEATURES = "pam"
+
+SYSTEMD_SERVICE:${PN} = "wtmpdb-update-boot.service wtmpdb-rotate.service"
+
+EXTRA_OEMESON = " -Dpamlibdir=${libdir}"
+
+do_install:append () {
+      if [ -d ${D}${prefix}/lib/systemd -a ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then
+          # Fix makefile hardcoded path assumptions for systemd (assumes $prefix)
+          # without usrmerge distro feature enabled
+          install -d `dirname ${D}${systemd_unitdir}`
+          mv ${D}${prefix}/lib/systemd `dirname ${D}${systemd_unitdir}`
+      fi
+}
+
+FILES:${PN} += " ${systemd_system_unitdir} "
+FILES:${PN} += " ${libdir} "
+FILES:${PN} += " ${nonarch_libdir}/tmpfiles.d/* "
diff --git a/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb
index 39b6a2b..91653e2 100644
--- a/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb
@@ -74,7 +74,7 @@
 PACKAGECONFIG[mspack] = "-DwxUSE_LIBMSPACK=ON,-DwxUSE_LIBMSPACK=OFF,libmspack"
 PACKAGECONFIG[opengl] = "-DwxUSE_OPENGL=ON,-DwxUSE_OPENGL=OFF,libglu"
 PACKAGECONFIG[sdl_audio] = "-DwxUSE_LIBSDL=ON,-DwxUSE_LIBSDL=OFF,libsdl2"
-PACKAGECONFIG[webkit] = "-DwxUSE_WEBVIEW_WEBKIT=ON,-DwxUSE_WEBVIEW_WEBKIT=OFF,webkitgtk,,,no_gui"
+PACKAGECONFIG[webkit] = "-DwxUSE_WEBVIEW_WEBKIT=ON,-DwxUSE_WEBVIEW_WEBKIT=OFF,webkitgtk3,,,no_gui"
 PACKAGECONFIG[curl] = "-DwxUSE_WEBREQUEST_CURL=ON,-DwxUSE_WEBREQUEST_CURL=OFF,curl"
 
 # Support LFS unconditionally
diff --git a/poky/meta/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch b/meta-openembedded/meta-oe/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
similarity index 100%
rename from poky/meta/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
rename to meta-openembedded/meta-oe/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
diff --git a/poky/meta/recipes-gnome/gcr/gcr3_3.41.1.bb b/meta-openembedded/meta-oe/recipes-gnome/gcr/gcr3_3.41.1.bb
similarity index 100%
rename from poky/meta/recipes-gnome/gcr/gcr3_3.41.1.bb
rename to meta-openembedded/meta-oe/recipes-gnome/gcr/gcr3_3.41.1.bb
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_git.bb b/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_git.bb
index ebf88cd..65c9041 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_git.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_git.bb
@@ -2,7 +2,6 @@
 DESCRIPTION = "The fbida project contains a few applications for viewing and editing images, \
                with the main focus being photos."
 HOMEPAGE = "https://www.kraxel.org/blog/linux/fbida/"
-AUTHOR = "Gerd Hoffmann"
 SECTION = "utils"
 
 LICENSE = "GPL-2.0-only"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.10.bb b/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.10.bb
index 0f0e618..ec18f11 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.10.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.10.bb
@@ -1,5 +1,4 @@
 SUMMARY = "X11 image viewer aimed mostly at console users"
-AUTHOR = "Tom Gilbert & Daniel Friesel"
 HOMEPAGE = "https://feh.finalrewind.org/"
 SECTION = "x11/utils"
 LICENSE = "MIT"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb
index 7ab15c9..ccc1140 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb
@@ -29,10 +29,6 @@
 "
 SRC_URI[sha256sum] = "d593695fdaa8a19297523b679ad13d3ef2027b0b7f14cc2bc23e77969ed81565"
 
-CVE_CHECK_IGNORE += "\
-    CVE-2014-9157 \
-"
-
 PACKAGECONFIG ??= "librsvg"
 PACKAGECONFIG[librsvg] = "--with-librsvg,--without-librsvg,librsvg"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.33.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.33.bb
index 27dff82..85da5bf 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.33.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.33.bb
@@ -6,9 +6,7 @@
 SRC_URI = "git://github.com/jasper-software/jasper.git;protocol=https;branch=master"
 SRCREV = "fe00207dc10db1d7cc6f2757961c5c6bdfd10973"
 
-CVE_CHECK_IGNORE += "\
-    CVE-2015-8751 \
-"
+CVE_STATUS[CVE-2015-8751] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
index 50c5015..814e6cd 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
@@ -81,5 +81,4 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-#CVE-2019-14906 is a RHEL specific vulnerability.
-CVE_CHECK_IGNORE += "CVE-2019-14906"
+CVE_STATUS[CVE-2019-14906] = "not-applicable-platform: Applies on RHEL only"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl_git.bb b/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl_git.bb
index 9e820d0..139aa47 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl_git.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl_git.bb
@@ -9,7 +9,6 @@
 
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8ce0a84e5276f01364119c873b712c4f"
-AUTHOR = "Philippe Coval <philippe.coval.ext@huawei.com>"
 
 DEPENDS += "lvgl"
 DEPENDS += "lv-drivers"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.8.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb
rename to meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.8.bb
index 860ee7a..6103a02 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.8.bb
@@ -9,7 +9,7 @@
 LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
 
 SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v8.3"
-SRCREV = "2b56e04205481daa6575bd5f7ab5df59d11676eb"
+SRCREV = "e6d7be00bfa5e1df450c7b713003a9effa03c614"
 
 inherit cmake
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openbox/obconf_git.bb b/meta-openembedded/meta-oe/recipes-graphics/openbox/obconf_git.bb
index 053af5a..efffd96 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/openbox/obconf_git.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/openbox/obconf_git.bb
@@ -1,5 +1,4 @@
 SUMMARY = "Openbox configuration tool"
-AUTHOR = "Dana Jansens & Tim Riley & Javeed Shaikh"
 HOMEPAGE = "http://openbox.org/wiki/ObConf:About"
 SECTION = "x11/wm"
 LICENSE = "GPL-2.0-or-later"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb
index 225619e..039816e 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb
@@ -1,5 +1,4 @@
 SUMMARY = "C library for encoding data in a QR Code symbol"
-AUTHOR = "Kentaro Fukuchi"
 HOMEPAGE = "http://fukuchi.org/works/qrencode/"
 SECTION = "libs"
 LICENSE = "LGPL-2.1-only"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.1.bb b/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.1.bb
index 7140a72..4d9d4d3 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.1.bb
@@ -5,7 +5,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2a6f86d002ae9ae1eb1ccc466289f146"
 
-DEPENDS = "webkitgtk gtk+3 glib-2.0 gcr3"
+DEPENDS = "webkitgtk3 gtk+3 glib-2.0 gcr3"
 
 REQUIRED_DISTRO_FEATURES = "x11 opengl"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb b/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb
index 7eddf1d..65cafab 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb
@@ -2,7 +2,6 @@
 DESCRIPTION = "Terminus Font is a clean, fixed width bitmap font, designed for \
                long (8 and more hours per day) work with computers."
 HOMEPAGE = "http://terminus-font.sourceforge.net/"
-AUTHOR = "Dimitar Zhekov"
 SECTION = "fonts"
 
 LICENSE = "OFL-1.1"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_5.3.1.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_5.3.2.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_5.3.1.bb
rename to meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_5.3.2.bb
index 8e54a27..db66e89 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_5.3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_5.3.2.bb
@@ -5,7 +5,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRCREV = "71af4542990adae6d9f31d6657068bc0139c6ec4"
+SRCREV = "489f101c7e2276c00490f3ab70e9e7926fc6b481"
 SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git;branch=main;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.22.bb b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.22.bb
index cb25632..01da03a 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.22.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.22.bb
@@ -5,7 +5,6 @@
 space interface to touchscreen functionality."
 HOMEPAGE = "http://tslib.org/"
 
-AUTHOR = "Martin Kepplinger <martink@posteo.de>"
 SECTION = "base"
 LICENSE = "LGPL-2.0-or-later & GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "\
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
index 945a5f3..5a403f0 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
@@ -3,7 +3,6 @@
 SUMMARY = "Sazanami Gothic/Mincho Japanese TrueType fonts"
 SUMMARY:ttf-sazanami-gothic = "Sazanami Gothic Japanese TrueType font"
 SUMMARY:ttf-sazanami-mincho = "Sazanami Mincho Japanese TrueType font"
-AUTHOR = "Electronic Font Open Laboratory (/efont/)"
 HOMEPAGE = "http://sourceforge.jp/projects/efont/"
 LICENSE = "PD"
 LIC_FILES_CHKSUM = "file://README;md5=97d739900be6e852830f55aa3c07d4a0"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb
index 3dad368..461e3de 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb
@@ -1,7 +1,6 @@
 require ttf.inc
 
 SUMMARY = "Thai Linux Working Group Fonts"
-AUTHOR = "Thai Linux Working Group"
 HOMEPAGE = "http://linux.thai.net/projects/fonts-tlwg"
 LICENSE = "GPL-2.0-only & TLWG"
 LIC_FILES_CHKSUM = "file://../fonts-tlwg-${PV}/COPYING;md5=3d20cd7eadf4afd5460c0adb32e387fd"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20200720.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20200720.bb
index 6b79eb9..4cc5afd 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20200720.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20200720.bb
@@ -1,7 +1,6 @@
 require ttf.inc
 
 SUMMARY = "Japanese TrueType fonts from Vine Linux"
-AUTHOR = "Contributor: noonov <noonov@gmail.com>"
 HOMEPAGE = "http://vlgothic.dicey.org/"
 
 LICENSE = "ttf-mplus & BSD-3-Clause"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb
index bc14feb..21897a7 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb
@@ -1,7 +1,6 @@
 require ttf.inc
 
 SUMMARY = "WenQuanYi Zen Hei - A Hei-Ti Style Chinese font"
-AUTHOR = "Qianqian Fang and The WenQuanYi Project Contributors"
 HOMEPAGE = "http://wenq.org/"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=cf540fc7d35b5777e36051280b3a911c"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.6.bb b/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.6.bb
index f3602f1..e80aebc 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.6.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.6.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Remove idle cursor image from screen."
 DESCRIPTION = "This is a rewrite of the popular tool unclutter, but using the x11-xfixes extension."
-AUTHOR = "Ingo Bürk"
 
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b25d2c4cca175f44120d1b8e67cb358d"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
index 5f7c0be..92b3ac5 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
@@ -2,7 +2,6 @@
 HOMEPAGE = "http://www.karlrunge.com/x11vnc/"
 
 SECTION = "x11/utils"
-AUTHOR = "Karl Runge"
 LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://src/x11vnc.h;endline=31;md5=e871a2ad004776794b616822dcab6314"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_383.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_384.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_383.bb
rename to meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_384.bb
index cac0003..ae046b1 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_383.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_384.bb
@@ -8,7 +8,7 @@
            file://0001-Add-configure-time-check-for-setsid.patch \
           "
 
-SRC_URI[sha256sum] = "a06613bcda508c2a1bff6d4230895da74a798799a2e39a23bac82089d7b9a998"
+SRC_URI[sha256sum] = "31ef870740ceae020c3c4b4a9601c7f47bfd46672c1aaf2d213a565d64cbc373"
 
 PACKAGECONFIG ?= ""
 PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb b/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb
index 40fccbd..9e46215 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Yet Another Dialog"
 DESCRIPTION = "Program allowing you to display GTK+ dialog boxes from command line or shell scripts."
-AUTHOR = "Victor Ananjevsky"
 
 LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.24.bb b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.24.bb
index 245f872..a755e39 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.24.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.24.bb
@@ -143,6 +143,7 @@
 RDEPENDS:python3-pygps = " \
     python3-core \
     python3-io \
+    python3-pyserial \
     python3-threading \
     python3-terminal \
     gpsd \
diff --git a/meta-openembedded/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb b/meta-openembedded/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb
index 3277fb1..d85ef20 100644
--- a/meta-openembedded/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb
+++ b/meta-openembedded/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb
@@ -74,6 +74,7 @@
 }
 
 USERADD_PACKAGES = "${PN}-bin"
+GROUPADD_PARAM:${PN}-bin = "--system mail"
 USERADD_PARAM:${PN}-bin = "--system --home=/var/spool/mail -g mail cyrus"
 
 SYSTEMD_PACKAGES = "${PN}-bin"
@@ -95,6 +96,3 @@
 FILES:${PN}-staticdev += "${libdir}/sasl2/*.a"
 
 INSANE_SKIP:${PN} += "dev-so"
-
-# CVE-2020-8032 affects only openSUSE
-CVE_CHECK_IGNORE += "CVE-2020-8032"
diff --git a/meta-openembedded/meta-oe/recipes-support/anthy/anthy_9100h.bb b/meta-openembedded/meta-oe/recipes-support/anthy/anthy_9100h.bb
index 2a6cfb5..f2bf52c 100644
--- a/meta-openembedded/meta-oe/recipes-support/anthy/anthy_9100h.bb
+++ b/meta-openembedded/meta-oe/recipes-support/anthy/anthy_9100h.bb
@@ -1,5 +1,4 @@
 DESCRIPTION="Anthy is a system for Japanese input method. It converts Hiragana text to Kana Kanji mixed text."
-AUTHOR = "Anthy Developers <anthy-dev@lists.sourceforge.jp>"
 HOMEPAGE = "http://anthy.sourceforge.jp"
 
 LICENSE = "LGPL-2.1-only & GPL-2.0-only"
diff --git a/meta-openembedded/meta-oe/recipes-support/asio/asio_1.28.0.bb b/meta-openembedded/meta-oe/recipes-support/asio/asio_1.28.0.bb
index ae72126..8407440 100644
--- a/meta-openembedded/meta-oe/recipes-support/asio/asio_1.28.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/asio/asio_1.28.0.bb
@@ -2,7 +2,6 @@
 DESCRIPTION = "Asio is a cross-platform C++ library for network and low-level \
         I/O programming that provides developers with a consistent asynchronous \
         model using a modern C++ approach."
-AUTHOR = "Christopher M. Kohlhoff (chris at kohlhoff dot com)"
 HOMEPAGE = "http://think-async.com/Asio"
 SECTION = "libs"
 LICENSE = "BSL-1.0"
diff --git a/meta-openembedded/meta-oe/recipes-support/atop/atop_2.4.0.bb b/meta-openembedded/meta-oe/recipes-support/atop/atop_2.4.0.bb
index b1d2abd..bb1f536 100644
--- a/meta-openembedded/meta-oe/recipes-support/atop/atop_2.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/atop/atop_2.4.0.bb
@@ -24,9 +24,7 @@
 SRC_URI[md5sum] = "1077da884ed94f2bc3c81ac3ab970436"
 SRC_URI[sha256sum] = "be1c010a77086b7d98376fce96514afcd73c3f20a8d1fe01520899ff69a73d69"
 
-CVE_CHECK_IGNORE += "\
-    CVE-2011-3618 \
-"
+CVE_STATUS[CVE-2011-3618] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
 
 do_compile() {
     oe_runmake all
diff --git a/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb b/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb
index a06122a..18dc885 100644
--- a/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb
@@ -1,6 +1,5 @@
 SUMMARY = "[Boost::ext].SML (State Machine Language)"
 DESCRIPTION = "Your scalable C++14 one header only State Machine Library with no dependencies"
-AUTHOR = "Krzysztof Jusiak"
 HOMEPAGE = "https://github.com/boost-ext/sml"
 BUGTRACKER = "https://github.com/boost-ext/sml/issues"
 SECTION = "libs"
diff --git a/meta-openembedded/meta-oe/recipes-support/c-periphery/c-periphery_2.4.1.bb b/meta-openembedded/meta-oe/recipes-support/c-periphery/c-periphery_2.4.2.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-support/c-periphery/c-periphery_2.4.1.bb
rename to meta-openembedded/meta-oe/recipes-support/c-periphery/c-periphery_2.4.2.bb
index 3379ba1..8e38517 100644
--- a/meta-openembedded/meta-oe/recipes-support/c-periphery/c-periphery_2.4.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/c-periphery/c-periphery_2.4.2.bb
@@ -9,7 +9,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=be30d45bdc453f70a494c149c2168289"
 
 SRC_URI = "git://github.com/vsergeev/c-periphery;protocol=https;branch=master"
-SRCREV = "6c5302cf8255c9bb75e535c566a8f1d94cfded5d"
+SRCREV = "91f9678d2a35a3af3c633f20165bdde8bea32209"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.1.0.bb b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.1.0.bb
index 2b74ad8..d3c6b42 100644
--- a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.1.0.bb
@@ -1,5 +1,4 @@
 DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
-AUTHOR = "Sameer Agarwal and Keir Mierle and Others"
 HOMEPAGE = "http://ceres-solver.org/"
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bb761279816b72be19d7ce646e4e2a14"
diff --git a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.11.bb b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.11.bb
index 7f80a30..17547ca 100644
--- a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.11.bb
+++ b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.11.bb
@@ -1,5 +1,4 @@
 DESCRIPTION = "USB Device Firmware Upgrade utility"
-AUTHOR = "Harald Welte <laforge@openmoko.org>"
 HOMEPAGE = "http://dfu-util.sourceforge.net"
 SECTION = "devel"
 LICENSE = "GPL-2.0-only"
diff --git a/meta-openembedded/meta-oe/recipes-support/edid-decode/edid-decode_git.bb b/meta-openembedded/meta-oe/recipes-support/edid-decode/edid-decode_git.bb
index 91570b6..c1f5121 100644
--- a/meta-openembedded/meta-oe/recipes-support/edid-decode/edid-decode_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/edid-decode/edid-decode_git.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Decode EDID data in human-readable format"
 DESCRIPTION = "edid-decode decodes EDID monitor description data in human-readable format."
-AUTHOR = "Hans Verkuil <hverkuil-cisco@xs4all.nl>"
 HOMEPAGE = "https://hverkuil.home.xs4all.nl/edid-decode/edid-decode.html"
 
 SECTION = "console/utils"
diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_28.2.bb b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_28.2.bb
index df210ef..d440265 100644
--- a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_28.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_28.2.bb
@@ -11,9 +11,7 @@
 
 SRC_URI[sha256sum] = "ee21182233ef3232dc97b486af2d86e14042dbb65bbc535df562c3a858232488"
 
-CVE_CHECK_IGNORE = "\
-    CVE-2007-6109 \
-"
+CVE_STATUS[CVE-2007-6109] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
 
 PACKAGECONFIG[gnutls] = "--with-gnutls=yes,--with-gnutls=no,gnutls"
 PACKAGECONFIG[kerberos] = "--with-kerberos=yes,--with-kerberos=no,krb5"
diff --git a/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.2.bb b/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.3.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.2.bb
rename to meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.3.bb
index 31cd077..599c490 100644
--- a/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.3.bb
@@ -3,7 +3,7 @@
 HOMEPAGE = "https://naios.github.io/function2"
 LICENSE = "BSL-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-SRCREV = "2d3a878ef19dd5d2fb188898513610fac0a48621"
+SRCREV = "9e303865d14f1204f09379e37bbeb30c4375139a"
 PV .= "+git${SRCPV}"
 
 SRC_URI += "gitsm://github.com/Naios/function2;branch=master;protocol=https"
diff --git a/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_0.14.0.bb b/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_0.14.0.bb
index 91e5b55..c7a487b 100644
--- a/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_0.14.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_0.14.0.bb
@@ -1,5 +1,4 @@
 SUMMARY = "A Simple library for communicating with USB and Bluetooth HID devices"
-AUTHOR = "Alan Ott"
 HOMEPAGE = "http://www.signal11.us/oss/hidapi/"
 SECTION = "libs"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/inih/libinih_56.bb b/meta-openembedded/meta-oe/recipes-support/inih/libinih_57.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-support/inih/libinih_56.bb
rename to meta-openembedded/meta-oe/recipes-support/inih/libinih_57.bb
index 89d68c6..08957e1 100644
--- a/meta-openembedded/meta-oe/recipes-support/inih/libinih_56.bb
+++ b/meta-openembedded/meta-oe/recipes-support/inih/libinih_57.bb
@@ -9,6 +9,6 @@
 SRC_URI = "git://github.com/benhoyt/inih.git;protocol=https;branch=master"
 
 S = "${WORKDIR}/git"
-SRCREV = "5e1d9e2625842dddb3f9c086a50f22e4f45dfc2b"
+SRCREV = "9cecf0643da0846e77f64d10a126d9f48b9e05e8"
 
 inherit meson pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb b/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb
index 281de52..8a0ae17 100644
--- a/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb
@@ -1,5 +1,4 @@
 SUMMARY = "Command line tools and C library providing a simple interface to inotify"
-AUTHOR = "Rohan McGovern <rohan@mcgovern.id.au>"
 HOMEPAGE = "http://wiki.github.com/rvoicilas/inotify-tools"
 SECTION = "console/devel"
 LICENSE = "GPL-2.0-only"
diff --git a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.8.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.9.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.8.bb
rename to meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.9.bb
index 0afe8a6..dfc7b42 100644
--- a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.8.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.9.bb
@@ -9,7 +9,7 @@
 S = "${WORKDIR}/git"
 B = "${S}"
 
-SRCREV = "12b8e6bff611eecb0343ee8a765151e7d9d3547b"
+SRCREV = "2fa27aa3acccc70b9f6c3bf2e569e3d33a381e83"
 SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master;protocol=https"
 
 inherit gettext autotools pkgconfig python3native
diff --git a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
index 1cae76b..28305c9 100644
--- a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
@@ -1,5 +1,4 @@
 DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms."
-AUTHOR = "Benoît Jacob and Gaël Guennebaud and others"
 HOMEPAGE = "http://eigen.tuxfamily.org/"
 LICENSE = "MPL-2.0 & Apache-2.0 & BSD-3-Clause & GPL-3.0-only & LGPL-2.1-only & MINPACK"
 LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad \
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
index cb19bc5..0eda47b 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
@@ -1,5 +1,4 @@
 SUMMARY = "C library and tools for interacting with the linux GPIO character device"
-AUTHOR = "Bartosz Golaszewski <brgl@bgdev.pl>"
 RECIPE_MAINTAINER = "Bartosz Golaszewski <brgl@bgdev.pl>"
 
 inherit autotools pkgconfig ptest
diff --git a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
index 7907dcf..ecbd2c8 100644
--- a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
@@ -4,8 +4,8 @@
 LICENSE = "LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7c13b3376cea0ce68d2d2da0a1b3a72c"
 
-SRCREV = "c4498c27761d04d4ac631ec59c1613bfed079da5"
-PV = "0.24"
+SRCREV = "eee8cba6f42177a094ebe16759606a719676fda7"
+PV = "0.25"
 
 SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https;branch=master"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
diff --git a/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb b/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
index 06536ca..4d4a5ff 100644
--- a/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
@@ -2,7 +2,6 @@
 
 SUMMARY = "Mimetic Library for multi-part parsing"
 DESCRIPTION = "Email library (MIME) written in C++ designed to be easy to use and integrate but yet fast and efficient."
-AUTHOR = "Stefano Barbato <stefano@codesink.org>"
 HOMEPAGE = "http://www.codesink.org/mimetic_mime_library.html"
 BUGTRACKER = "https://github.com/LadislavSopko/mimetic/issues"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libnvme/libnvme_1.5.bb b/meta-openembedded/meta-oe/recipes-support/libnvme/libnvme_1.5.bb
new file mode 100644
index 0000000..4b6f1e3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libnvme/libnvme_1.5.bb
@@ -0,0 +1,22 @@
+SUMMARY = "libnvme development C library"
+DESCRIPTION = "\
+libnvme provides type definitions for NVMe specification structures, \
+enumerations, and bit fields, helper functions to construct, dispatch, \
+and decode commands and payloads, and utilities to connect, scan, and \
+manage nvme devices on a Linux system."
+HOMEPAGE = "https://github.com/linux-nvme/${BPN}"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only & CC0-1.0 & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+                    file://ccan/licenses/CC0;md5=c17af43b05840255a6fedc5eda9d56cc \
+                    file://ccan/licenses/BSD-MIT;md5=838c366f69b72c5df05c96dff79b35f2"
+DEPENDS = "json-c"
+SRCREV = "4fea83db8328ea788ea8f1001e8ce1cb80ef5fae"
+
+SRC_URI = "git://github.com/linux-nvme/libnvme;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON += "-Dkeyutils=disabled -Dopenssl=disabled -Dpython=disabled"
diff --git a/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.4.bb b/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.4.bb
index cb30f4c..3cad665 100644
--- a/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.4.bb
@@ -1,5 +1,4 @@
 SUMMARY = "Remote delta-compression library."
-AUTHOR = "Martin Pool, Andrew Tridgell, Donovan Baarda, Adam Schubert"
 
 LICENSE = "LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
diff --git a/meta-openembedded/meta-oe/recipes-support/libtommath/libtommath_1.2.0.bb b/meta-openembedded/meta-oe/recipes-support/libtommath/libtommath_1.2.0.bb
new file mode 100644
index 0000000..1efccdd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libtommath/libtommath_1.2.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "LibTomMath is a number theoretic multiple-precision integer library"
+HOMEPAGE = "https://www.libtom.net/LibTomMath"
+SECTION = "libs"
+LICENSE = "Unlicense"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=23e7e0a32e53a2b1d35f5fd9ef053402"
+
+DEPENDS = "libtool-cross"
+
+SRC_URI = "git://github.com/libtom/libtommath.git;protocol=https;branch=master"
+
+SRCREV = "6ca6898bf37f583c4cc9943441cd60dd69f4b8f2"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "'PREFIX=${prefix}' 'DESTDIR=${D}' 'LIBPATH=${libdir}' 'CFLAGS=${CFLAGS}'"
+
+do_compile() {
+    oe_runmake -f makefile.shared
+}
+
+do_install() {
+    oe_runmake -f makefile.shared install
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.74.bb b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.74.bb
index 38407a7..ea5abe0 100644
--- a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.74.bb
+++ b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.74.bb
@@ -283,12 +283,8 @@
 
 CVE_PRODUCT += "network_security_services"
 
-# CVE-2006-5201 affects only Sun Solaris
-CVE_CHECK_IGNORE += "CVE-2006-5201"
+CVE_STATUS_GROUPS += "CVE_STATUS_NSS"
+CVE_STATUS_NSS[status] = "not-applicable-config: This only affect the legacy db (libnssdbm), only compiled with --enable-legacy-db"
+CVE_STATUS_NSS = "CVE-2017-11695 CVE-2017-11696 CVE-2017-11697 CVE-2017-11698"
 
-# CVES CVE-2017-11695 CVE-2017-11696 CVE-2017-11697 CVE-2017-11698 only affect
-# the legacy db (libnssdbm), only compiled with --enable-legacy-db.
-CVE_CHECK_IGNORE += "CVE-2017-11695 CVE-2017-11696 CVE-2017-11697 CVE-2017-11698"
-
-# vulnerability was introduced in 3.77 and fixed in 3.87
-CVE_CHECK_IGNORE += "CVE-2022-3479"
+CVE_STATUS[CVE-2022-3479] = "not-applicable-config: vulnerability was introduced in 3.77 and fixed in 3.87"
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.13.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.13.bb
index b117677..7dc926c 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.13.bb
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.13.bb
@@ -233,6 +233,3 @@
 }
 
 BBCLASSEXTEND = "native"
-
-# CVE-2015-3276 has no target code.
-CVE_CHECK_IGNORE += "CVE-2015-3276"
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
index 3d8a457..ae251b5 100644
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
@@ -15,10 +15,8 @@
 
 SRC_URI[sha256sum] = "19654ad276b149646371fbdac21bc7620742f2975f7399fed0ffc1a18fbaf603"
 
-CVE_CHECK_IGNORE += "\
-    CVE-2010-1624 \
-    CVE-2011-3594 \
-"
+CVE_STATUS[CVE-2010-1624] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS[CVE-2011-3594] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
 
 PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/run-ptest b/meta-openembedded/meta-oe/recipes-support/poco/poco/run-ptest
index c9896ea..521cc08 100644
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco/run-ptest
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco/run-ptest
@@ -3,6 +3,6 @@
   oldpath=`pwd` >/dev/null
   cd bin
   echo Testing $runner
-  ./$runner-testrunner -all
+  ./$runner -ignore $oldpath/cppignore.lnx -all
   cd $oldpath >/dev/null
 done < testrunners
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.4.bb b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.4.bb
index 51bd561..47dac1a 100644
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.4.bb
@@ -72,17 +72,14 @@
     poco_libdir = d.expand('${libdir}')
     pn = d.getVar("PN")
     packages = []
-    testrunners = []
 
     def hook(f, pkg, file_regex, output_pattern, modulename):
         packages.append(pkg)
-        testrunners.append(modulename)
 
     do_split_packages(d, poco_libdir, r'^libPoco(.*)\.so\..*$',
                     'poco-%s', 'Poco %s component', extra_depends='', prepend=True, hook=hook)
 
     d.setVar("RRECOMMENDS:%s" % pn, " ".join(packages))
-    d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners))
 }
 
 do_install_ptest () {
@@ -90,7 +87,11 @@
        cp -f ${B}/lib/libCppUnit.so* ${D}${libdir}
        cp -rf ${B}/*/testsuite/data ${D}${PTEST_PATH}/bin/
        find "${D}${PTEST_PATH}" -executable -exec chrpath -d {} \;
-       echo "${POCO_TESTRUNNERS}" > "${D}${PTEST_PATH}/testrunners"
+       rm -f ${D}${PTEST_PATH}/testrunners
+       for f in ${D}${PTEST_PATH}/bin/*-testrunner; do
+            echo `basename $f` >> ${D}${PTEST_PATH}/testrunners
+       done
+       install -Dm 0644 ${S}/cppignore.lnx ${D}${PTEST_PATH}/cppignore.lnx
 }
 
 PACKAGES_DYNAMIC = "poco-.*"
diff --git a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19/0001-Find-jack.patch b/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19/0001-Find-jack.patch
deleted file mode 100644
index d6c6300..0000000
--- a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19/0001-Find-jack.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 8ec1b100afda5b3e31f9d44af04b04b16dfff2e4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Tue, 18 May 2021 00:15:46 +0200
-Subject: [PATCH] Find jack with pkgconfig
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 122fe93..ab7d7f5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -274,7 +274,8 @@ ELSE()
- 
-   ELSEIF(UNIX)
- 
--    FIND_PACKAGE(Jack)
-+    find_package(PkgConfig REQUIRED)
-+    pkg_check_modules (JACK jack)
-     IF(JACK_FOUND)
-       OPTION(PA_USE_JACK "Enable support for Jack" ON)
-     ELSE()
--- 
-2.31.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19/0001-cmake-Use-GNUInstallDirs.patch b/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19/0001-cmake-Use-GNUInstallDirs.patch
deleted file mode 100644
index 892399d..0000000
--- a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19/0001-cmake-Use-GNUInstallDirs.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From ced7af0420c1df0ac02f0c25e7c3534431ebd7fd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 4 Jul 2021 17:09:49 -0700
-Subject: [PATCH] cmake: Use GNUInstallDirs
-
-Helps install cmakefiles in right libdir
-
-Upstream-Status: Submitted [https://github.com/PortAudio/portaudio/pull/610]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- CMakeLists.txt | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -6,6 +6,8 @@
- 
- CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
- 
-+include(GNUInstallDirs)
-+
- # Check if the user is building PortAudio stand-alone or as part of a larger
- # project. If this is part of a larger project (i.e. the CMakeLists.txt has
- # been imported by some other CMakeLists.txt), we don't want to trump over
-@@ -452,18 +454,18 @@ IF(NOT PA_OUTPUT_OSX_FRAMEWORK AND NOT P
-   CONFIGURE_FILE(cmake_support/portaudio-2.0.pc.in ${CMAKE_CURRENT_BINARY_DIR}/portaudio-2.0.pc @ONLY)
-   INSTALL(FILES README.md DESTINATION share/doc/portaudio)
-   INSTALL(FILES LICENSE.txt DESTINATION share/doc/portaudio)
--  INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/portaudio-2.0.pc DESTINATION lib/pkgconfig)
-+  INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/portaudio-2.0.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-   INSTALL(FILES ${PA_PUBLIC_INCLUDES} DESTINATION include)
-   INSTALL(TARGETS ${PA_TARGETS}
-     EXPORT portaudio-targets
--    RUNTIME DESTINATION bin
--    LIBRARY DESTINATION lib
--    ARCHIVE DESTINATION lib)
--  INSTALL(EXPORT portaudio-targets FILE "portaudioTargets.cmake" DESTINATION "lib/cmake/portaudio")
-+    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-+    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+  INSTALL(EXPORT portaudio-targets FILE "portaudioTargets.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/portaudio")
-   EXPORT(TARGETS ${PA_TARGETS} FILE "${PROJECT_BINARY_DIR}/cmake/portaudio/portaudioTargets.cmake")
-   INSTALL(FILES "${CMAKE_BINARY_DIR}/cmake/portaudio/portaudioConfig.cmake"
-                 "${CMAKE_BINARY_DIR}/cmake/portaudio/portaudioConfigVersion.cmake"
--    DESTINATION "lib/cmake/portaudio")
-+    DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/portaudio")
- 
-   IF (NOT TARGET uninstall)
-     CONFIGURE_FILE(
diff --git a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb b/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb
index f34912e..c49a259 100644
--- a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb
@@ -3,18 +3,17 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26107732c2ab637c5710446fcfaf02df"
 
-PV = "v190700"
+PV .= "+git${SRCPV}"
 
-SRC_URI = " \
-    git://github.com/PortAudio/portaudio.git;branch=master;protocol=https \
-    file://0001-Find-jack.patch \
-    file://0001-cmake-Use-GNUInstallDirs.patch \
-"
-SRCREV = "147dd722548358763a8b649b3e4b41dfffbcfbb6"
+SRC_URI = "git://github.com/PortAudio/portaudio.git;branch=master;protocol=https"
+SRCREV = "929e2e8f7af281c5eb4fa07758930d542ec43d97"
+
 S = "${WORKDIR}/git"
 
 inherit cmake pkgconfig
 
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON"
+
 PACKAGECONFIG ??= "alsa jack"
 PACKAGECONFIG[alsa] = ",,alsa-lib"
 PACKAGECONFIG[jack] = ",,jack"
@@ -28,6 +27,3 @@
         done
     fi
 }
-
-FILES_SOLIBSDEV = ""
-FILES:${PN} += "${libdir}/libportaudio.so"
diff --git a/meta-openembedded/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb b/meta-openembedded/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb
index 2405839..b61fb02 100644
--- a/meta-openembedded/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb
@@ -1,7 +1,6 @@
 SUMMARY = "Tool to display and modify PXA registers at runtime"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://pxaregs.c;endline=12;md5=668d061b7637acc68cb8071c9be372e6"
-AUTHOR = "Holger Schurig <hs4233@mail.mn-solutions.de>"
 HOMEPAGE = "http://www.mn-logistik.de/unsupported/pxa250/"
 
 SRC_URI = "file://pxaregs.c \
diff --git a/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb b/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb
index 1aa492c..28da51a 100644
--- a/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb
@@ -3,7 +3,6 @@
                EDID information from the monitor, and parse-edid, which turns \
 	       the raw binary information into a xorg.conf-compatible monitor \
 	       section."
-AUTHOR = "Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>"
 HOMEPAGE = "http://www.polypux.org/projects/read-edid/"
 SECTION = "console/utils"
 LICENSE = "read-edid"
diff --git a/meta-openembedded/meta-oe/recipes-support/reboot-mode/reboot-mode_git.bb b/meta-openembedded/meta-oe/recipes-support/reboot-mode/reboot-mode_git.bb
index 4c34368..c038966 100644
--- a/meta-openembedded/meta-oe/recipes-support/reboot-mode/reboot-mode_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/reboot-mode/reboot-mode_git.bb
@@ -1,5 +1,4 @@
 SUMMARY = "Reboot the device to a specific mode."
-AUTHOR = "Daniele Debernardi <drebrez@gmail.com>"
 
 LICENSE = "GPL-3.0-or-later"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
diff --git a/meta-openembedded/meta-oe/recipes-support/serial-utils/pty-forward-native.bb b/meta-openembedded/meta-oe/recipes-support/serial-utils/pty-forward-native.bb
index 71588ab..2fe61e6 100644
--- a/meta-openembedded/meta-oe/recipes-support/serial-utils/pty-forward-native.bb
+++ b/meta-openembedded/meta-oe/recipes-support/serial-utils/pty-forward-native.bb
@@ -1,5 +1,4 @@
 SUMMARY = "Receive a forwarded serial from serial-forward and provide a PTY"
-AUTHOR = "Holger 'Zecke' Freyther"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
 SECTION = "console/network"
diff --git a/meta-openembedded/meta-oe/recipes-support/serial-utils/serial-forward_git.bb b/meta-openembedded/meta-oe/recipes-support/serial-utils/serial-forward_git.bb
index fe5cfc0..84bb25e 100644
--- a/meta-openembedded/meta-oe/recipes-support/serial-utils/serial-forward_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/serial-utils/serial-forward_git.bb
@@ -1,5 +1,4 @@
 SUMMARY = "Forward a serial using TCP/IP"
-AUTHOR = "Holger 'Zecke' Freyther'"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
 SECTION = "console/devel"
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 c190d7e..1e3d6be 100644
--- a/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb
@@ -1,6 +1,5 @@
 DESCRIPTION = "This package contains some simple command line tools to help using Linux spidev devices"
 HOMEPAGE = "https://github.com/cpb-/spi-tools"
-AUTHOR = "Christophe BLAESS"
 LICENSE="GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8c16666ae6c159876a0ba63099614381"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch
deleted file mode 100644
index 37ef3a9..0000000
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Initial support for kernel 6.4
-https://www.virtualbox.org/changeset/99666/vbox
-
-Upstream-Status: Backport [https://gitweb.gentoo.org/repo/gentoo.git/tree/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch]
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
-
---- a/src/VBox/Additions/linux/sharedfolders/regops.c
-+++ b/src/VBox/Additions/linux/sharedfolders/regops.c
-@@ -75,4 +75,11 @@
- #if RTLNX_VER_MAX(2,5,12)
- # define PageUptodate(a_pPage) Page_Uptodate(a_pPage)
-+#endif
-+
-+/** Starting from 6.4.0, iter_iov() macro should be used in order to access to iov field.  */
-+#if RTLNX_VER_MIN(6,4,0)
-+# define VBOX_ITER_IOV(_iter) iter_iov(_iter)
-+#else
-+# define VBOX_ITER_IOV(_iter) iter->iov
- #endif
- 
-@@ -2400,5 +2407,5 @@
-     if (iter_is_iovec(iter) || (VBSF_GET_ITER_TYPE(iter) & ITER_KVEC)) {
- # endif
--        const struct iovec *pCurIov    = iter->iov;
-+        const struct iovec *pCurIov    = VBOX_ITER_IOV(iter);
-         size_t              cLeft      = iter->nr_segs;
-         size_t              cPagesSpan = 0;
-
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch
deleted file mode 100644
index 20c8fbd..0000000
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Initial support for kernel 6.4
-https://www.virtualbox.org/changeset/99667/vbox
-
-
-Upstream-Status: Backport [https://gitweb.gentoo.org/repo/gentoo.git/tree/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch]
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
-
---- a/src/VBox/Additions/linux/sharedfolders/regops.c
-+++ b/src/VBox/Additions/linux/sharedfolders/regops.c
-@@ -77,11 +77,4 @@
- #endif
- 
--/** Starting from 6.4.0, iter_iov() macro should be used in order to access to iov field.  */
--#if RTLNX_VER_MIN(6,4,0)
--# define VBOX_ITER_IOV(_iter) iter_iov(_iter)
--#else
--# define VBOX_ITER_IOV(_iter) iter->iov
--#endif
--
- 
- /*********************************************************************************************************************************
-@@ -94,4 +87,12 @@
- #else
- # define VBSF_GET_ITER_TYPE(a_pIter) ((a_pIter)->type)
-+#endif
-+
-+/** Starting from 6.4.0, iter_iov() macro should be used in order to access to iov field
-+ * of struct iov_iter. */
-+#if RTLNX_VER_MIN(6,4,0)
-+# define VBSF_GET_ITER_IOV(_iter) iter_iov(_iter)
-+#else
-+# define VBSF_GET_ITER_IOV(_iter) iter->iov
- #endif
- 
-@@ -2407,5 +2408,5 @@
-     if (iter_is_iovec(iter) || (VBSF_GET_ITER_TYPE(iter) & ITER_KVEC)) {
- # endif
--        const struct iovec *pCurIov    = VBOX_ITER_IOV(iter);
-+        const struct iovec *pCurIov    = VBSF_GET_ITER_IOV(iter);
-         size_t              cLeft      = iter->nr_segs;
-         size_t              cPagesSpan = 0;
-
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.8.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.10.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.8.bb
rename to meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.10.bb
index 233323bf..f193636 100644
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.8.bb
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.10.bb
@@ -13,11 +13,9 @@
 
 SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
     file://Makefile.utils \
-    file://virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch \
-    file://virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch \
 "
 
-SRC_URI[sha256sum] = "c305fbe480f507eac7c36893ead66dffaacda944f19c3813a4533e9c39bae237"
+SRC_URI[sha256sum] = "0b1e6d8b7f87d017c7fae37f80586acff04f799ffc1d51e995954d6415dee371"
 
 S ?= "${WORKDIR}/vbox_module"
 S:task-patch = "${WORKDIR}/${VBOX_NAME}"
diff --git a/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
new file mode 100644
index 0000000..8ae39f1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
@@ -0,0 +1,29 @@
+From 10cfdcc905915d8814c609008a069102f2bc7e39 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 27 Oct 2015 16:02:19 +0200
+Subject: [PATCH] FindGObjectIntrospection.cmake: prefix variables obtained
+ from pkg-config with PKG_CONFIG_SYSROOT_DIR
+
+See discussion at https://bugs.webkit.org/show_bug.cgi?id=232933 for
+reasons why this is not approproiate for upstream submission.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Source/cmake/FindGI.cmake | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/Source/cmake/FindGI.cmake b/Source/cmake/FindGI.cmake
+index af039cbb..b3e810cd 100644
+--- a/Source/cmake/FindGI.cmake
++++ b/Source/cmake/FindGI.cmake
+@@ -72,6 +72,9 @@ if (PKG_CONFIG_FOUND)
+     endif ()
+ endif ()
+ 
++set(_GI_SCANNER_EXE "$ENV{PKG_CONFIG_SYSROOT_DIR}${_GI_SCANNER_EXE}")
++set(_GI_COMPILER_EXE "$ENV{PKG_CONFIG_SYSROOT_DIR}${_GI_COMPILER_EXE}")
++
+ find_program(GI_SCANNER_EXE NAMES ${_GI_SCANNER_EXE} g-ir-scanner)
+ find_program(GI_COMPILER_EXE NAMES ${_GI_COMPILER_EXE} g-ir-compiler)
+ 
diff --git a/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3/0d3344e17d258106617b0e6d783d073b188a2548.patch b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3/0d3344e17d258106617b0e6d783d073b188a2548.patch
new file mode 100644
index 0000000..34e0ff9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3/0d3344e17d258106617b0e6d783d073b188a2548.patch
@@ -0,0 +1,310 @@
+From 647c93de99a0f71f478d76a4cc7714eba7ba1447 Mon Sep 17 00:00:00 2001
+From: Adrian Perez de Castro <aperez@igalia.com>
+Date: Thu, 2 Jun 2022 11:19:06 +0300
+Subject: [PATCH] FELightningNEON.cpp fails to build, NEON fast path seems
+ unused https://bugs.webkit.org/show_bug.cgi?id=241182
+
+Reviewed by NOBODY (OOPS!).
+
+Move the NEON fast path for the SVG lighting filter effects into
+FELightingSoftwareApplier, and arrange to actually use them by
+forwarding calls to applyPlatformGeneric() into applyPlatformNeon().
+
+Some changes were needed to adapt platformApplyNeon() to the current
+state of filters after r286140. This was not detected because the code
+bitrotted due to it being guarded with CPU(ARM_TRADITIONAL), which does
+not get used much these days: CPU(ARM_THUMB2) is more common. It should
+be possible to use the NEON fast paths also in Thumb mode, but that is
+left for a follow-up fix.
+
+* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:
+(WebCore::FELightingSoftwareApplier::platformApplyNeonWorker):
+(WebCore::FELightingSoftwareApplier::getPowerCoefficients):
+(WebCore::FELighting::platformApplyNeonWorker): Deleted.
+(WebCore::FELighting::getPowerCoefficients): Deleted.
+* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h:
+(WebCore::FELightingSoftwareApplier::applyPlatformNeon):
+(WebCore::FELighting::platformApplyNeon): Deleted.
+* Source/WebCore/platform/graphics/filters/DistantLightSource.h:
+* Source/WebCore/platform/graphics/filters/FELighting.h:
+* Source/WebCore/platform/graphics/filters/PointLightSource.h:
+* Source/WebCore/platform/graphics/filters/SpotLightSource.h:
+* Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h:
+
+Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/1233]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../cpu/arm/filters/FELightingNEON.cpp        |  4 +-
+ .../graphics/cpu/arm/filters/FELightingNEON.h | 52 +++++++++----------
+ .../graphics/filters/DistantLightSource.h     |  4 ++
+ .../platform/graphics/filters/FELighting.h    |  7 ---
+ .../graphics/filters/PointLightSource.h       |  4 ++
+ .../graphics/filters/SpotLightSource.h        |  4 ++
+ .../software/FELightingSoftwareApplier.h      | 16 ++++++
+ 7 files changed, 56 insertions(+), 35 deletions(-)
+
+diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
+index f6ff8c20..42a97ffc 100644
+--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
++++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
+@@ -49,7 +49,7 @@ short* feLightingConstantsForNeon()
+     return s_FELightingConstantsForNeon;
+ }
+ 
+-void FELighting::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters)
++void FELightingSoftwareApplier::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters)
+ {
+     neonDrawLighting(parameters);
+ }
+@@ -464,7 +464,7 @@ TOSTRING(neonDrawLighting) ":" NL
+     "b .lightStrengthCalculated" NL
+ ); // NOLINT
+ 
+-int FELighting::getPowerCoefficients(float exponent)
++int FELightingSoftwareApplier::getPowerCoefficients(float exponent)
+ {
+     // Calling a powf function from the assembly code would require to save
+     // and reload a lot of NEON registers. Since the base is in range [0..1]
+diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
+index b17c603d..e4629cda 100644
+--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
++++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
+@@ -24,14 +24,15 @@
+  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#ifndef FELightingNEON_h
+-#define FELightingNEON_h
++#pragma once
+ 
+ #if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE)
+ 
+-#include "FELighting.h"
++#include "FELightingSoftwareApplier.h"
++#include "ImageBuffer.h"
+ #include "PointLightSource.h"
+ #include "SpotLightSource.h"
++#include <wtf/ObjectIdentifier.h>
+ #include <wtf/ParallelJobs.h>
+ 
+ namespace WebCore {
+@@ -93,14 +94,14 @@ extern "C" {
+ void neonDrawLighting(FELightingPaintingDataForNeon*);
+ }
+ 
+-inline void FELighting::platformApplyNeon(const LightingData& data, const LightSource::PaintingData& paintingData)
++inline void FELightingSoftwareApplier::applyPlatformNeon(const FELightingSoftwareApplier::LightingData& data, const LightSource::PaintingData& paintingData)
+ {
+-    alignas(16) FELightingFloatArgumentsForNeon floatArguments;
+-    FELightingPaintingDataForNeon neonData = {
++    WebCore::FELightingFloatArgumentsForNeon alignas(16) floatArguments;
++    WebCore::FELightingPaintingDataForNeon neonData = {
+         data.pixels->data(),
+         1,
+-        data.widthDecreasedByOne - 1,
+-        data.heightDecreasedByOne - 1,
++        data.width - 2,
++        data.height - 2,
+         0,
+         0,
+         0,
+@@ -111,23 +112,23 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
+     // Set light source arguments.
+     floatArguments.constOne = 1;
+ 
+-    auto color = m_lightingColor.toColorTypeLossy<SRGBA<uint8_t>>().resolved();
++    auto color = data.lightingColor.toColorTypeLossy<SRGBA<uint8_t>>().resolved();
+ 
+     floatArguments.colorRed = color.red;
+     floatArguments.colorGreen = color.green;
+     floatArguments.colorBlue = color.blue;
+     floatArguments.padding4 = 0;
+ 
+-    if (m_lightSource->type() == LS_POINT) {
++    if (data.lightSource->type() == LS_POINT) {
+         neonData.flags |= FLAG_POINT_LIGHT;
+-        PointLightSource& pointLightSource = static_cast<PointLightSource&>(m_lightSource.get());
++        const auto& pointLightSource = *static_cast<const PointLightSource*>(data.lightSource);
+         floatArguments.lightX = pointLightSource.position().x();
+         floatArguments.lightY = pointLightSource.position().y();
+         floatArguments.lightZ = pointLightSource.position().z();
+         floatArguments.padding2 = 0;
+-    } else if (m_lightSource->type() == LS_SPOT) {
++    } else if (data.lightSource->type() == LS_SPOT) {
+         neonData.flags |= FLAG_SPOT_LIGHT;
+-        SpotLightSource& spotLightSource = static_cast<SpotLightSource&>(m_lightSource.get());
++        const auto& spotLightSource = *static_cast<const SpotLightSource*>(data.lightSource);
+         floatArguments.lightX = spotLightSource.position().x();
+         floatArguments.lightY = spotLightSource.position().y();
+         floatArguments.lightZ = spotLightSource.position().z();
+@@ -145,7 +146,7 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
+         if (spotLightSource.specularExponent() == 1)
+             neonData.flags |= FLAG_CONE_EXPONENT_IS_1;
+     } else {
+-        ASSERT(m_lightSource->type() == LS_DISTANT);
++        ASSERT(data.lightSource->type() == LS_DISTANT);
+         floatArguments.lightX = paintingData.initialLightingData.lightVector.x();
+         floatArguments.lightY = paintingData.initialLightingData.lightVector.y();
+         floatArguments.lightZ = paintingData.initialLightingData.lightVector.z();
+@@ -155,38 +156,39 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
+     // Set lighting arguments.
+     floatArguments.surfaceScale = data.surfaceScale;
+     floatArguments.minusSurfaceScaleDividedByFour = -data.surfaceScale / 4;
+-    if (m_lightingType == FELighting::DiffuseLighting)
+-        floatArguments.diffuseConstant = m_diffuseConstant;
++    if (data.filterType == FilterEffect::Type::FEDiffuseLighting)
++        floatArguments.diffuseConstant = data.diffuseConstant;
+     else {
+         neonData.flags |= FLAG_SPECULAR_LIGHT;
+-        floatArguments.diffuseConstant = m_specularConstant;
+-        neonData.specularExponent = getPowerCoefficients(m_specularExponent);
+-        if (m_specularExponent == 1)
++        floatArguments.diffuseConstant = data.specularConstant;
++        neonData.specularExponent = getPowerCoefficients(data.specularExponent);
++        if (data.specularExponent == 1)
+             neonData.flags |= FLAG_SPECULAR_EXPONENT_IS_1;
+     }
+     if (floatArguments.diffuseConstant == 1)
+         neonData.flags |= FLAG_DIFFUSE_CONST_IS_1;
+ 
+-    int optimalThreadNumber = ((data.widthDecreasedByOne - 1) * (data.heightDecreasedByOne - 1)) / s_minimalRectDimension;
++    static constexpr int minimalRectDimension = 100 * 100; // Empirical data limit for parallel jobs
++    int optimalThreadNumber = ((data.width - 2) * (data.height - 2)) / minimalRectDimension;
+     if (optimalThreadNumber > 1) {
+         // Initialize parallel jobs
+-        ParallelJobs<FELightingPaintingDataForNeon> parallelJobs(&WebCore::FELighting::platformApplyNeonWorker, optimalThreadNumber);
++        ParallelJobs<FELightingPaintingDataForNeon> parallelJobs(&FELightingSoftwareApplier::platformApplyNeonWorker, optimalThreadNumber);
+ 
+         // Fill the parameter array
+         int job = parallelJobs.numberOfJobs();
+         if (job > 1) {
+             int yStart = 1;
+-            int yStep = (data.heightDecreasedByOne - 1) / job;
++            int yStep = (data.height - 2) / job;
+             for (--job; job >= 0; --job) {
+                 FELightingPaintingDataForNeon& params = parallelJobs.parameter(job);
+                 params = neonData;
+                 params.yStart = yStart;
+-                params.pixels += (yStart - 1) * (data.widthDecreasedByOne + 1) * 4;
++                params.pixels += (yStart - 1) * data.width * 4;
+                 if (job > 0) {
+                     params.absoluteHeight = yStep;
+                     yStart += yStep;
+                 } else
+-                    params.absoluteHeight = data.heightDecreasedByOne - yStart;
++                    params.absoluteHeight = (data.height - 1) - yStart;
+             }
+             parallelJobs.execute();
+             return;
+@@ -199,5 +201,3 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
+ } // namespace WebCore
+ 
+ #endif // CPU(ARM_NEON) && COMPILER(GCC_COMPATIBLE)
+-
+-#endif // FELightingNEON_h
+diff --git a/Source/WebCore/platform/graphics/filters/DistantLightSource.h b/Source/WebCore/platform/graphics/filters/DistantLightSource.h
+index 70c6512f..b032c82e 100644
+--- a/Source/WebCore/platform/graphics/filters/DistantLightSource.h
++++ b/Source/WebCore/platform/graphics/filters/DistantLightSource.h
+@@ -26,6 +26,10 @@
+ #include <wtf/ArgumentCoder.h>
+ #include <wtf/Ref.h>
+ 
++namespace WTF {
++class TextStream;
++} // namespace WTF
++
+ namespace WebCore {
+ 
+ class DistantLightSource : public LightSource {
+diff --git a/Source/WebCore/platform/graphics/filters/FELighting.h b/Source/WebCore/platform/graphics/filters/FELighting.h
+index 53beb596..e78a9354 100644
+--- a/Source/WebCore/platform/graphics/filters/FELighting.h
++++ b/Source/WebCore/platform/graphics/filters/FELighting.h
+@@ -35,8 +35,6 @@
+ 
+ namespace WebCore {
+ 
+-struct FELightingPaintingDataForNeon;
+-
+ class FELighting : public FilterEffect {
+ public:
+     const Color& lightingColor() const { return m_lightingColor; }
+@@ -64,11 +62,6 @@ protected:
+ 
+     std::unique_ptr<FilterEffectApplier> createSoftwareApplier() const override;
+ 
+-#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE)
+-    static int getPowerCoefficients(float exponent);
+-    inline void platformApplyNeon(const LightingData&, const LightSource::PaintingData&);
+-#endif
+-
+     Color m_lightingColor;
+     float m_surfaceScale;
+     float m_diffuseConstant;
+diff --git a/Source/WebCore/platform/graphics/filters/PointLightSource.h b/Source/WebCore/platform/graphics/filters/PointLightSource.h
+index 3a5723f0..675d63f5 100644
+--- a/Source/WebCore/platform/graphics/filters/PointLightSource.h
++++ b/Source/WebCore/platform/graphics/filters/PointLightSource.h
+@@ -26,6 +26,10 @@
+ #include "LightSource.h"
+ #include <wtf/Ref.h>
+ 
++namespace WTF {
++class TextStream;
++} // namespace WTF
++
+ namespace WebCore {
+ 
+ class PointLightSource : public LightSource {
+diff --git a/Source/WebCore/platform/graphics/filters/SpotLightSource.h b/Source/WebCore/platform/graphics/filters/SpotLightSource.h
+index 684626f7..dea58389 100644
+--- a/Source/WebCore/platform/graphics/filters/SpotLightSource.h
++++ b/Source/WebCore/platform/graphics/filters/SpotLightSource.h
+@@ -26,6 +26,10 @@
+ #include "LightSource.h"
+ #include <wtf/Ref.h>
+ 
++namespace WTF {
++class TextStream;
++} // namespace WTF
++
+ namespace WebCore {
+ 
+ class SpotLightSource : public LightSource {
+diff --git a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h
+index c974d921..e2896660 100644
+--- a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h
++++ b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h
+@@ -36,6 +36,7 @@
+ namespace WebCore {
+ 
+ class FELighting;
++struct FELightingPaintingDataForNeon;
+ 
+ class FELightingSoftwareApplier final : public FilterEffectConcreteApplier<FELighting> {
+     WTF_MAKE_FAST_ALLOCATED;
+@@ -132,8 +133,23 @@ private:
+ 
+     static void applyPlatformGenericPaint(const LightingData&, const LightSource::PaintingData&, int startY, int endY);
+     static void applyPlatformGenericWorker(ApplyParameters*);
++
++#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE)
++    static int getPowerCoefficients(float exponent);
++    static void platformApplyNeonWorker(FELightingPaintingDataForNeon*);
++    inline static void applyPlatformNeon(const LightingData&, const LightSource::PaintingData&);
++
++    inline static void applyPlatformGeneric(const LightingData& data, const LightSource::PaintingData& paintingData)
++    {
++        applyPlatformNeon(data, paintingData);
++    }
++#else
+     static void applyPlatformGeneric(const LightingData&, const LightSource::PaintingData&);
++#endif
++
+     static void applyPlatform(const LightingData&);
+ };
+ 
+ } // namespace WebCore
++
++#include "FELightingNEON.h"
diff --git a/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3/check-GST_GL_HAVE_PLATFORM_GLX.patch b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3/check-GST_GL_HAVE_PLATFORM_GLX.patch
new file mode 100644
index 0000000..ae99810
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3/check-GST_GL_HAVE_PLATFORM_GLX.patch
@@ -0,0 +1,33 @@
+Add additional check on GST_GL_HAVE_PLATFORM_GLX before using gst_gl_display_x11_new_with_display
+
+This ensures that there is a compile time check for glx support in gstreamer as
+runtime check is not enough because gst_gl_display_x11_new_with_display() API comes from
+gst/gl/x11/gstgldisplay_x11.h which is only included when GST_GL_HAVE_PLATFORM_GLX is defined
+therefore make this check consistent to fix build with some platforms which use pvr gl drivers
+where this problem appear at compile time.
+
+
+/mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/webkitgtk/2.40.2-r0/webkitgtk-2.40.2/Source/WebCore/platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp:68:31: error: use of undeclared identifier 'gst_gl_display_x11_new_with_display'; did you mean 'gst_gl_display_egl_new_with_egl_display'?
+   68 |         return GST_GL_DISPLAY(gst_gl_display_x11_new_with_display(downcast<PlatformDisplayX11>(sharedDisplay).native()));
+      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+      |                               gst_gl_display_egl_new_with_egl_display
+
+This issue is 2.40 specific since GLX support is removed [1] from trunk upstream, therefore
+this patch wont be needed when upgrading to 2.42+
+
+[1] https://github.com/WebKit/WebKit/commit/320560f9e53ddcd53954059bd005e0c75eb91abf
+
+Upstream-Status: Inappropriate [GLX support is gone in 2.41+]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/Source/WebCore/platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp	2023-02-20 01:22:18.917743700 -0800
++++ b/Source/WebCore/platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp	2023-07-08 08:45:09.739177065 -0700
+@@ -63,7 +63,7 @@
+     if (glPlatform == GST_GL_PLATFORM_EGL)
+         return GST_GL_DISPLAY(gst_gl_display_egl_new_with_egl_display(sharedDisplay.eglDisplay()));
+ #endif
+-#if USE(GLX)
++#if USE(GLX) && GST_GL_HAVE_PLATFORM_GLX
+     if (is<PlatformDisplayX11>(sharedDisplay) && glPlatform == GST_GL_PLATFORM_GLX)
+         return GST_GL_DISPLAY(gst_gl_display_x11_new_with_display(downcast<PlatformDisplayX11>(sharedDisplay).native()));
+ #endif
diff --git a/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3/reproducibility.patch b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3/reproducibility.patch
new file mode 100644
index 0000000..e866a1a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3/reproducibility.patch
@@ -0,0 +1,22 @@
+Injection a year based on the current date isn't reproducible. Hack this
+to a specific year for now for reproducibilty and to avoid autobuilder failures.
+
+The correct fix would be to use SOURCE_DATE_EPOCH from the environment and
+then this could be submitted upstream, sadly my ruby isn't up to that.
+
+Upstream-Status: Pending [could be reworked]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: webkitgtk-2.34.2/Source/JavaScriptCore/generator/GeneratedFile.rb
+===================================================================
+--- webkitgtk-2.34.2.orig/Source/JavaScriptCore/generator/GeneratedFile.rb
++++ webkitgtk-2.34.2/Source/JavaScriptCore/generator/GeneratedFile.rb
+@@ -25,7 +25,7 @@ require 'date'
+ require 'digest'
+ 
+ $LICENSE = <<-EOF
+-Copyright (C) #{Date.today.year} Apple Inc. All rights reserved.
++Copyright (C) 2021 Apple Inc. All rights reserved.
+ 
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.40.2.bb b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.40.5.bb
similarity index 90%
copy from poky/meta/recipes-sato/webkit/webkitgtk_2.40.2.bb
copy to meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.40.5.bb
index 8bef0b1..7218dbb 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.40.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.40.5.bb
@@ -9,18 +9,18 @@
                     file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
                     "
 
-SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
+SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \
            file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
            file://reproducibility.patch \
            file://0d3344e17d258106617b0e6d783d073b188a2548.patch \
-           file://4977290ab4ab35258a6da9b13795c9b0f7894bf4.patch \
-           file://0001-Source-JavaScriptCore-CMakeLists.txt-ensure-reproduc.patch \
            file://check-GST_GL_HAVE_PLATFORM_GLX.patch \
            "
-SRC_URI[sha256sum] = "96898870d994da406ee7a632816dcde9a3bb395ee5f344fcb3f3b8cc8a77e000"
+SRC_URI[sha256sum] = "7de051a263668621d91a61a5eb1c3771d1a7cec900043d4afef06c326c16037f"
 
 inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen
 
+S = "${WORKDIR}/webkitgtk-${PV}"
+
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}"
 
@@ -76,14 +76,15 @@
 PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd"
 PACKAGECONFIG[avif] = "-DUSE_AVIF_LOG=ON,-DUSE_AVIF=OFF,libavif"
 PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad"
+PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette"
+PACKAGECONFIG[webrtc] = "-DENABLE_WEB_RTC=ON,-DENABLE_WEB_RTC=OFF"
+PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,,bubblewrap xdg-dbus-proxy"
 
 EXTRA_OECMAKE = " \
 		-DPORT=GTK \
 		${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
 		${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \
 		-DENABLE_MINIBROWSER=ON \
-                -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
-                -DENABLE_GAMEPAD=OFF \
 		"
 
 # Javascript JIT is not supported on ARC
@@ -149,8 +150,9 @@
 GI_DATA_ENABLED:libc-musl:armv7a = "False"
 GI_DATA_ENABLED:libc-musl:armv7ve = "False"
 
-# Can't be built with ccache
-CCACHE_DISABLE = "1"
+do_install:append() {
+	mv ${D}${bindir}/WebKitWebDriver ${D}${bindir}/WebKitWebDriver3
+}
 
 PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess"
 src_package_preprocess () {
@@ -161,6 +163,5 @@
             ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \
             ${B}/WebCore/DerivedSources/*.cpp \
             ${B}/WebKitGTK/DerivedSources/webkit/*.cpp
-
 }
 
diff --git a/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp/0001-Fix-CMake-export-files-1077.patch b/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp/0001-Fix-CMake-export-files-1077.patch
new file mode 100644
index 0000000..b6c4a3b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp/0001-Fix-CMake-export-files-1077.patch
@@ -0,0 +1,117 @@
+From 3d436f6cfc2dfe52fc1533c01f57c25ae7ffac9c Mon Sep 17 00:00:00 2001
+From: Felix Schwitzer <flx107809@gmail.com>
+Date: Fri, 1 Apr 2022 05:26:47 +0200
+Subject: [PATCH] Fix CMake export files (#1077)
+
+After configuring the file `yaml-cpp-config.cmake.in`, the result ends up with
+empty variables.  (see also the discussion in #774).
+
+Rework this file and the call to `configure_package_config_file` according the
+cmake documentation
+(https://cmake.org/cmake/help/v3.22/module/CMakePackageConfigHelpers.html?highlight=configure_package_config#command:configure_package_config_file)
+to overcome this issue and allow a simple `find_package` after install.
+
+As there was some discussion about the place where to install the
+`yaml-cpp-config.cmake` file, e.g. #1055, factor out the install location into
+an extra variable to make it easier changing this location in the future.
+
+Also untabify CMakeLists.txt in some places to align with the other code parts in this file.
+
+Upstream-Status: Accepted [https://github.com/jbeder/yaml-cpp/pull/1077]
+
+Signed-off-by: Jasper Orschulko <jasper@fancydomain.eu> 
+---
+ CMakeLists.txt           | 29 ++++++++++++++++++-----------
+ yaml-cpp-config.cmake.in | 10 ++++++----
+ 2 files changed, 24 insertions(+), 15 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b230b9e..983d1a4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -127,10 +127,16 @@ set_target_properties(yaml-cpp PROPERTIES
+   PROJECT_LABEL "yaml-cpp ${yaml-cpp-label-postfix}"
+   DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
+ 
++# FIXME(felix2012): A more common place for the cmake export would be
++# `CMAKE_INSTALL_LIBDIR`, as e.g. done in ubuntu or in this project for GTest
++set(CONFIG_EXPORT_DIR "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
++set(EXPORT_TARGETS yaml-cpp)
+ configure_package_config_file(
+   "${PROJECT_SOURCE_DIR}/yaml-cpp-config.cmake.in"
+   "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
+-  INSTALL_DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
++  INSTALL_DESTINATION "${CONFIG_EXPORT_DIR}"
++  PATH_VARS CMAKE_INSTALL_INCLUDEDIR CONFIG_EXPORT_DIR)
++unset(EXPORT_TARGETS)
+ 
+ write_basic_package_version_file(
+   "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
+@@ -139,30 +145,31 @@ write_basic_package_version_file(
+ configure_file(yaml-cpp.pc.in yaml-cpp.pc @ONLY)
+ 
+ if (YAML_CPP_INSTALL)
+-	install(TARGETS yaml-cpp
++  install(TARGETS yaml-cpp
+     EXPORT yaml-cpp-targets
+     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+     ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+-	install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
++  install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
+     DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+-		FILES_MATCHING PATTERN "*.h")
++                FILES_MATCHING PATTERN "*.h")
+   install(EXPORT yaml-cpp-targets
+-    DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
+-	install(FILES
+-		"${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
+-		"${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
+-    DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
++    DESTINATION "${CONFIG_EXPORT_DIR}")
++  install(FILES
++      "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
++      "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
++    DESTINATION "${CONFIG_EXPORT_DIR}")
+   install(FILES "${PROJECT_BINARY_DIR}/yaml-cpp.pc"
+     DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig)
+ endif()
++unset(CONFIG_EXPORT_DIR)
+ 
+ if(YAML_CPP_BUILD_TESTS)
+-	add_subdirectory(test)
++  add_subdirectory(test)
+ endif()
+ 
+ if(YAML_CPP_BUILD_TOOLS)
+-	add_subdirectory(util)
++  add_subdirectory(util)
+ endif()
+ 
+ if (YAML_CPP_CLANG_FORMAT_EXE)
+diff --git a/yaml-cpp-config.cmake.in b/yaml-cpp-config.cmake.in
+index 7b41e3f..a7ace3d 100644
+--- a/yaml-cpp-config.cmake.in
++++ b/yaml-cpp-config.cmake.in
+@@ -3,12 +3,14 @@
+ #  YAML_CPP_INCLUDE_DIR - include directory
+ #  YAML_CPP_LIBRARIES    - libraries to link against
+ 
+-# Compute paths
+-get_filename_component(YAML_CPP_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+-set(YAML_CPP_INCLUDE_DIR "@CONFIG_INCLUDE_DIRS@")
++@PACKAGE_INIT@
++
++set_and_check(YAML_CPP_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
+ 
+ # Our library dependencies (contains definitions for IMPORTED targets)
+-include("${YAML_CPP_CMAKE_DIR}/yaml-cpp-targets.cmake")
++include(@PACKAGE_CONFIG_EXPORT_DIR@/yaml-cpp-targets.cmake)
+ 
+ # These are IMPORTED targets created by yaml-cpp-targets.cmake
+ set(YAML_CPP_LIBRARIES "@EXPORT_TARGETS@")
++
++check_required_components(@EXPORT_TARGETS@)
+-- 
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.7.0.bb b/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.7.0.bb
index d3984ab..e04d470 100644
--- a/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.7.0.bb
@@ -8,6 +8,7 @@
 # yaml-cpp releases are stored as archive files in github.
 # download the exact revision of release
 SRC_URI = "git://github.com/jbeder/yaml-cpp.git;branch=master;protocol=https"
+SRC_URI += "file://0001-Fix-CMake-export-files-1077.patch"
 SRCREV = "0579ae3d976091d7d664aa9d2527e0d0cff25763"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.3.1.bb b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.3.1.bb
index 9bf3809..2961e44 100644
--- a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.3.1.bb
@@ -1,5 +1,4 @@
 DESCRIPTION = "A file format designed for highly efficient deltas while maintaining good compression"
-AUTHOR = "Jonathan Dieter"
 
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=daf6e68539f564601a5a5869c31e5242"
diff --git a/meta-openembedded/meta-oe/recipes-test/bats/bats_1.9.0.bb b/meta-openembedded/meta-oe/recipes-test/bats/bats_1.10.0.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-test/bats/bats_1.9.0.bb
rename to meta-openembedded/meta-oe/recipes-test/bats/bats_1.10.0.bb
index 015bc42..d2a93e1 100644
--- a/meta-openembedded/meta-oe/recipes-test/bats/bats_1.9.0.bb
+++ b/meta-openembedded/meta-oe/recipes-test/bats/bats_1.10.0.bb
@@ -1,7 +1,6 @@
 SUMMARY = "Bash Automated Testing System"
 DESCRIPTION = "Bats is a TAP-compliant testing framework for Bash. It \
 provides a simple way to verify that the UNIX programs you write behave as expected."
-AUTHOR = "Sam Stephenson & bats-core organization"
 HOMEPAGE = "https://github.com/bats-core/bats-core"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.md;md5=2970203aedf9e829edb96a137a4fe81b"
@@ -10,8 +9,8 @@
   git://github.com/bats-core/bats-core.git;branch=master;protocol=https \
   "
 
-# v1.9.0
-SRCREV = "6636e2c2ef5ffe361535cb45fc61682c5ef46b71"
+# v1.10.0
+SRCREV = "f7defb94362f2053a3e73d13086a167448ea9133"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.7.bb b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.7.bb
index ed50f65..1dd082f 100644
--- a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.7.bb
+++ b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.7.bb
@@ -1,6 +1,5 @@
 DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
 TDD and BDD - using C++11, C++14, C++17 and later."
-AUTHOR = "Phil Nash, Martin Horenovsky and others"
 HOMEPAGE = "https://github.com/catchorg/Catch2"
 LICENSE = "BSL-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
diff --git a/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.35.bb b/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.35.bb
index 51af999..52f684c 100644
--- a/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.35.bb
+++ b/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.35.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Simple tool for input event debugging"
 HOMEPAGE = "http://people.freedesktop.org/~whot/evtest/"
-AUTHOR = "Vojtech Pavlik <vojtech@suse.cz>"
 SECTION = "console/utils"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
diff --git a/meta-openembedded/meta-perl/conf/include/ptest-packagelists-meta-perl.inc b/meta-openembedded/meta-perl/conf/include/ptest-packagelists-meta-perl.inc
index 1a8c759..e27981d 100644
--- a/meta-openembedded/meta-perl/conf/include/ptest-packagelists-meta-perl.inc
+++ b/meta-openembedded/meta-perl/conf/include/ptest-packagelists-meta-perl.inc
@@ -13,6 +13,7 @@
     libextutils-config-perl \
     libhtml-tagset-perl \
     libmozilla-ca-perl \
+    libmodule-build-tiny-perl \
     libstrictures-perl \
     libterm-readkey-perl \
     libtest-nowarnings-perl \
diff --git a/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.4.2.bb b/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.4.3.bb
similarity index 96%
rename from meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.4.2.bb
rename to meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.4.3.bb
index 1ad32b2..c13bd94 100644
--- a/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.4.2.bb
+++ b/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.4.3.bb
@@ -14,7 +14,7 @@
 SRC_URI = "${DEBIAN_MIRROR}/main/l/${BPN}/${BPN}_${PV}.tar.xz \
            file://99_logcheck \
 "
-SRC_URI[sha256sum] = "0c651deb31dc201f1584ecea292b259932bae6e3e8cef846db3109e89a7f217e"
+SRC_URI[sha256sum] = "ad83ae80bd780bdae5eefd40ad59a3e97b85ad3a4962aa7c00d98ed3bdffcdd0"
 
 inherit useradd
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-bzip2-perl_2.204.bb b/meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-bzip2-perl_2.206.bb
similarity index 89%
rename from meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-bzip2-perl_2.204.bb
rename to meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-bzip2-perl_2.206.bb
index 1dc077d..2bd98e7 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-bzip2-perl_2.204.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-bzip2-perl_2.206.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "${CPAN_MIRROR}/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "ee7b490e67e7e2a7a0e8c1e1aa29a9610066149f46b836921149ad1813f70c69"
+SRC_URI[sha256sum] = "212b81db1c0ae822d19928619a603bd108cb5d5c4700fc67dc7cb169e0cc6525"
 
 DEPENDS += "bzip2"
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-lzma-perl_2.204.bb b/meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-lzma-perl_2.206.bb
similarity index 90%
rename from meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-lzma-perl_2.204.bb
rename to meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-lzma-perl_2.206.bb
index c4b6a4b..cdabdb1 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-lzma-perl_2.204.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-lzma-perl_2.206.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "${CPAN_MIRROR}/authors/id/P/PM/PMQS/Compress-Raw-Lzma-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "b226d0648da3e7309387cd8d9cf629353593fd08bac29533f2559659ef7aac1a"
+SRC_URI[sha256sum] = "e01a7040b84bdc67592d13eec0c788590e1f696d1d4f07c7097bd72a4f886eb4"
 
 DEPENDS += "xz"
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-zlib-perl_2.204.bb b/meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-zlib-perl_2.206.bb
similarity index 89%
rename from meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-zlib-perl_2.204.bb
rename to meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-zlib-perl_2.206.bb
index e0aa2e9..47fe8e0 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-zlib-perl_2.204.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libcompress/libcompress-raw-zlib-perl_2.206.bb
@@ -10,7 +10,7 @@
 
 SRC_URI = "${CPAN_MIRROR}/authors/id/P/PM/PMQS/Compress-Raw-Zlib-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "f161f4297efadbed79c8b096a75951784fc5ccd3170bd32866a19e5c6876d13f"
+SRC_URI[sha256sum] = "46785a6a383a1c843895b7f9f25d5d759e7c305159f9d1e04a3604eb74c77374"
 
 DEPENDS += "zlib"
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-locale-perl_1.05.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-locale-perl_1.05.bb
index ae193db..8c31f29 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-locale-perl_1.05.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-locale-perl_1.05.bb
@@ -1,5 +1,4 @@
 SUMMARY = "Encode::Locale - Determine the locale encoding"
-AUTHOR = "Gisle Aas <gisle@activestate.com>"
 HOMEPAGE = "https://metacpan.org/module/Encode::Locale"
 SECTION = "libs"
 LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb
index 79934e2..fd47543 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb
@@ -8,7 +8,6 @@
 Perl's strings and the rest of the system.  Perl strings are sequences \
 of characters."
 
-AUTHOR = "Dan Kogai <dankogai+cpan@gmail.com>"
 HOMEPAGE = "https://metacpan.org/release/Encode"
 SECTION = "lib"
 LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libio/libio-compress-lzma-perl_2.204.bb b/meta-openembedded/meta-perl/recipes-perl/libio/libio-compress-lzma-perl_2.206.bb
similarity index 88%
rename from meta-openembedded/meta-perl/recipes-perl/libio/libio-compress-lzma-perl_2.204.bb
rename to meta-openembedded/meta-perl/recipes-perl/libio/libio-compress-lzma-perl_2.206.bb
index 13c17b9..1959df5 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libio/libio-compress-lzma-perl_2.204.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libio/libio-compress-lzma-perl_2.206.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "${CPAN_MIRROR}/authors/id/P/PM/PMQS/IO-Compress-Lzma-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "1e7a4c4f4e665434df59246b19d168b08af2f1aeebaa08937bd69ad3e5e319c8"
+SRC_URI[sha256sum] = "6c600f9bbb1a2d834b1decd0bd5863dcea52e0ac17de101b5085e0e3cb27285c"
 
 S = "${WORKDIR}/IO-Compress-Lzma-${PV}"
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libio/libio-compress-perl_2.204.bb b/meta-openembedded/meta-perl/recipes-perl/libio/libio-compress-perl_2.206.bb
similarity index 92%
rename from meta-openembedded/meta-perl/recipes-perl/libio/libio-compress-perl_2.204.bb
rename to meta-openembedded/meta-perl/recipes-perl/libio/libio-compress-perl_2.206.bb
index 8d4aec7..c58e3fa 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libio/libio-compress-perl_2.204.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libio/libio-compress-perl_2.206.bb
@@ -18,7 +18,7 @@
 
 SRC_URI = "${CPAN_MIRROR}/authors/id/P/PM/PMQS/IO-Compress-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "617784cb8543778681341b18fc67b74735e8b494f32f00814dd22f68ac6af018"
+SRC_URI[sha256sum] = "7d3062b9a494f757e8d0614f220d83f22731bbda1aeb5f7cff0e72a83f433d35"
 
 S = "${WORKDIR}/IO-Compress-${PV}"
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.045.bb b/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.045.bb
deleted file mode 100644
index 17ee50d..0000000
--- a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.045.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "Module::Build::Tiny - A tiny replacement for Module::Build"
-DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \
-Makefile.PL file to drive distribution configuration, build, test and \
-installation. Traditionally, Build.PL uses Module::Build as the underlying \
-build system. This module provides a simple, lightweight, drop-in replacement. \
-Whereas Module::Build has over 6,700 lines of code; this module has less than \
-120, yet supports the features needed by most distributions."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~leont/Module-Build-Tiny/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6374136f6774db2f51cc116f5efbf705"
-
-DEPENDS = "libextutils-config-perl-native libextutils-helpers-perl-native libextutils-installpaths-perl-native"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-Tiny-${PV}.tar.gz"
-SRC_URI[sha256sum] = "d20692eee246d0b329b7f7659f36286b14ae0696fe91078a64b7078f8876d300"
-
-S = "${WORKDIR}/Module-Build-Tiny-${PV}"
-
-inherit cpan_build
-
-do_install () {
-        cpan_build_do_install
-}
-
-RDEPENDS:${PN} = " libextutils-config-perl \
-                   libextutils-helpers-perl \
-                   libextutils-installpaths-perl \
-                   perl-module-xsloader \
-                   perl-module-file-spec \
-                   perl-module-io-handle \
-                   perl-module-tap-harness-env \
-                   perl-module-ipc-open3 \
-                   perl-module-file-path \
-                   perl-module-cpan \
-                   perl-module-extutils-cbuilder \
-                   perl-module-getopt-long \
-                   perl-module-extutils-makemaker \
-                   perl-module-exporter \
-                   perl-module-carp \
-                   perl-module-test-more \
-                   perl-module-text-parsewords \
-                   perl-module-load \
-                   perl-module-file-temp \
-                   perl-module-data-dumper \
-                   perl-module-extutils-parsexs \
-                   perl-module-pod-man \
-                   perl-module-json-pp \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.046.bb b/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.046.bb
new file mode 100644
index 0000000..1e23d87
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.046.bb
@@ -0,0 +1,65 @@
+SUMMARY = "Module::Build::Tiny - A tiny replacement for Module::Build"
+DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \
+Makefile.PL file to drive distribution configuration, build, test and \
+installation. Traditionally, Build.PL uses Module::Build as the underlying \
+build system. This module provides a simple, lightweight, drop-in replacement. \
+Whereas Module::Build has over 6,700 lines of code; this module has less than \
+120, yet supports the features needed by most distributions."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~leont/Module-Build-Tiny/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=147a7b891d1584d3d33e478b1f2327c5"
+
+DEPENDS = "libextutils-config-perl-native libextutils-helpers-perl-native libextutils-installpaths-perl-native"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-Tiny-${PV}.tar.gz"
+SRC_URI[sha256sum] = "be193027e2debb4c9926434aaf1aa46c9fc7bf4db83dcc347eb6e359ee878289"
+
+S = "${WORKDIR}/Module-Build-Tiny-${PV}"
+
+inherit cpan_build ptest-perl
+
+RDEPENDS:${PN} += " \
+    libextutils-config-perl \
+    libextutils-helpers-perl \
+    libextutils-installpaths-perl \
+    perl-module-carp \
+    perl-module-cpan \
+    perl-module-data-dumper \
+    perl-module-encode-encoding \
+    perl-module-exporter \
+    perl-module-extutils-cbuilder \
+    perl-module-extutils-cbuilder-base \
+    perl-module-extutils-install \
+    perl-module-extutils-makemaker \
+    perl-module-extutils-parsexs \
+    perl-module-file-path \
+    perl-module-file-spec \
+    perl-module-file-temp \
+    perl-module-getopt-long \
+    perl-module-io-handle \
+    perl-module-ipc-cmd \
+    perl-module-json-pp \
+    perl-module-load \
+    perl-module-metadata \
+    perl-module-parse-cpan-meta \
+    perl-module-perl-ostype \
+    perl-module-pod-man \
+    perl-module-tap-harness-env \
+    perl-module-test-more \
+    perl-module-text-parsewords \
+    perl-module-xsloader \
+"
+
+RDEPENDS:${PN}-ptest += " \
+    packagegroup-core-buildessential \
+    perl-dev \
+    perl-module-blib \
+    perl-module-ipc-open2 \
+"
+
+INSANE_SKIP:${PN}-ptest += "dev-deps"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.2.bb b/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.2.bb
index 6f3d5ba..3be2e92 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.2.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.2.bb
@@ -10,7 +10,6 @@
 Optionally it instantiates those classes for you."
 SECTION = "libs"
 
-AUTHOR = "Simon Wistow <simon@thegestalt.org>"
 HOMEPAGE = "https://github.com/simonwistow/Module-Pluggable"
 
 LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
diff --git a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
index b23d24c..9500f80 100644
--- a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
+++ b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
@@ -446,6 +446,7 @@
     python3-unidiff \
     python3-uritemplate \
     python3-vcversioner \
+    python3-versioneer \
     python3-versiontools \
     python3-visitor \
     python3-waitress \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb
index 71e932b..9407586 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb
@@ -1,5 +1,4 @@
 SUMMARY = "Python interface for Remember The Milk API"
-AUTHOR = "Sridhar Ratnakumar / srid"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a53cbc7cb75660694e138ba973c148df"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.8.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.8.5.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.8.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.8.5.bb
index 926801d..d04279e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.8.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.8.5.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=748073912af33aa59430d3702aa32d41"
 
-SRC_URI[sha256sum] = "bf2e1a9162c1e441bf805a1fd166e249d574ca04e03b34f97e2928769e91ab5c"
+SRC_URI[sha256sum] = "b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"
 
 PYPI_PACKAGE = "aiohttp"
 inherit python_setuptools_build_meta pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncio-glib_0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncio-glib_0.1.bb
index 02ace02..01dfe51 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncio-glib_0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncio-glib_0.1.bb
@@ -1,5 +1,4 @@
 SUMMARY = "An implementation of the Python 3 asyncio event loop on top of GLib"
-AUTHOR = "James Henstridge"
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.5.0.bb
similarity index 75%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.9.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.5.0.bb
index 20ed189..bcd959c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.9.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.5.0.bb
@@ -4,8 +4,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE.md;md5=92622b5a8e216099be741d78328bae5d"
 
-SRC_URI[sha256sum] = "2f4190d333e81e10b2a4e156150ddb3596f5f11da67e9d51ba39057aa7a17f7e"
+SRC_URI[sha256sum] = "a505558316010d2d10d487226f79c1157204af00fa462fdcf948e347011dd491"
 
 RDEPENDS:${PN} += "python3-profile python3-logging"
 
-inherit pypi setuptools3
+inherit pypi python_poetry_core
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-backcall_0.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-backcall_0.2.0.bb
index 434ab57c..d1ac486 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-backcall_0.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-backcall_0.2.0.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Specifications for callback functions passed in to an API"
 HOMEPAGE = "https://github.com/takluyver/backcall"
-AUTHOR = "Thomas Kluyver <thomas@kluyver.me.uk>"
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=40e56b724d016484a7f790ec826d3ffc"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.12.2.bb
similarity index 61%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.11.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.12.2.bb
index 3037ea8..7eb2d7c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.11.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.12.2.bb
@@ -1,11 +1,11 @@
 SUMMARY = "Screen-scraping library"
 HOMEPAGE = " https://www.crummy.com/software/BeautifulSoup/bs4"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=15a76c7c51ecfc5c094d04f3ccd41a09"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=96e0034f7c9443910c486773aa1ed9ac"
 
-SRC_URI[sha256sum] = "ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693"
+SRC_URI[sha256sum] = "492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"
 
-inherit pypi setuptools3
+inherit pypi python_hatchling
 
 RDEPENDS:${PN} = "\
     ${PYTHON_PN}-html5lib \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-binwalk_2.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-binwalk_2.3.4.bb
similarity index 91%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-binwalk_2.3.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-binwalk_2.3.4.bb
index 1a55a3e..0b7d97f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-binwalk_2.3.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-binwalk_2.3.4.bb
@@ -8,7 +8,7 @@
 
 SRC_URI = "git://github.com/ReFirmLabs/binwalk;protocol=https;branch=master"
 
-SRCREV = "fa0c0bd59b8588814756942fe4cb5452e76c1dcd"
+SRCREV = "cddfede795971045d99422bd7a9676c8803ec5ee"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.7.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.0.bb
similarity index 77%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.7.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.0.bb
index b274800..19d9f9e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.7.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "PSF-2.0"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d"
 
-SRC_URI[sha256sum] = "3807f9323c308bc3f9b58cbe5d04dc28f34ac32d852999334da96b42f64b5356"
+SRC_URI[sha256sum] = "cd69a926a3363e25e94a64408303283c59085be96d71524bdbe6bfc8da2e34e0"
 
 inherit setuptools3 pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_3.1.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_3.1.9.bb
deleted file mode 100644
index 94dbae2..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_3.1.9.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Simple construction, analysis and modification of binary data."
-HOMEPAGE = "https://github.com/scott-griffiths/bitstring"
-AUTHOR = "Scott Griffiths <dr.scottgriffiths@gmail.com>"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f7f2fd3f1cd52b5ccd39d76fb3568d3f"
-
-SRC_URI[sha256sum] = "a5848a3f63111785224dca8bb4c0a75b62ecdef56a042c8d6be74b16f7e860e7"
-
-PYPI_PACKAGE = "bitstring"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} = "\
-    ${PYTHON_PN}-core \
-    ${PYTHON_PN}-numbers \
-    ${PYTHON_PN}-mmap \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.0.2.bb
new file mode 100644
index 0000000..b2ad991
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.0.2.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Simple construction, analysis and modification of binary data."
+HOMEPAGE = "https://github.com/scott-griffiths/bitstring"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=661f450e2c0aef39b4b15597333444a7"
+
+SRC_URI[sha256sum] = "a391db8828ac4485dd5ce72c80b27ebac3e7b989631359959e310cd9729723b2"
+
+PYPI_PACKAGE = "bitstring"
+
+inherit pypi python_poetry_core
+
+RDEPENDS:${PN} = "\
+    ${PYTHON_PN}-core \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-mmap \
+    ${PYTHON_PN}-numbers \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.6.2.bb
similarity index 65%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.5.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.6.2.bb
index dae1e39..b0728e6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.6.2.bb
@@ -2,12 +2,16 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=42cd19c88fc13d1307a4efd64ee90e4e"
 
-SRC_URI[sha256sum] = "923e5e2f69c155f2cc42dafbbd70e16e3fde24d2d4aa2ab72fbe386238892462"
+SRC_URI[sha256sum] = "4afd3de66ef3a9f8067559fb7a1cbe555c17dcbe15971b05d1b625c3e7abe213"
 
-inherit pypi setuptools3 ptest
+inherit pypi python_setuptools_build_meta ptest
 
 SRC_URI += "file://run-ptest"
 
+RDEPENDS:${PN} += "\
+        ${PYTHON_PN}-asyncio \
+"
+
 RDEPENDS:${PN}-ptest += " \
 	${PYTHON_PN}-pytest \
 "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.2.0.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.2.0.bb
index 27bd625..0c2810c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.2.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0974a390827087287db39928f7c524b5"
 
-SRC_URI[sha256sum] = "34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"
+SRC_URI[sha256sum] = "3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click/0001-tests-Fix-test_bytes_args.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-click/0001-tests-Fix-test_bytes_args.patch
deleted file mode 100644
index e69a37c..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-click/0001-tests-Fix-test_bytes_args.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From da83bd7ca0959027086115f23534957b0917aaa5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 27 Apr 2023 22:21:24 -0700
-Subject: [PATCH] tests: Fix test_bytes_args
-
-sys.stdin.encoding is readonly therefore use Mocking to wrap it.
-Sourced from - Alpine
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- tests/test_arguments.py | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/tests/test_arguments.py b/tests/test_arguments.py
-index 735df4b..3395c55 100644
---- a/tests/test_arguments.py
-+++ b/tests/test_arguments.py
-@@ -1,4 +1,5 @@
- import sys
-+from unittest import mock
- 
- import pytest
- 
-@@ -86,9 +87,12 @@ def test_bytes_args(runner, monkeypatch):
-         ), "UTF-8 encoded argument should be implicitly converted to Unicode"
- 
-     # Simulate empty locale environment variables
--    monkeypatch.setattr(sys.stdin, "encoding", "utf-8")
-     monkeypatch.setattr(sys, "getfilesystemencoding", lambda: "utf-8")
-     monkeypatch.setattr(sys, "getdefaultencoding", lambda: "utf-8")
-+    # sys.stdin.encoding is readonly, needs some extra effort to patch.
-+    stdin = mock.Mock(wraps=sys.stdin)
-+    stdin.encoding = "utf-8"
-+    monkeypatch.setattr(sys, "stdin", stdin)
- 
-     runner.invoke(
-         from_bytes,
--- 
-2.40.1
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.6.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.6.bb
index 9b8ea94..4858c9e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.6.bb
@@ -8,14 +8,11 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=1fa98232fd645608937a0fdc82e999b8"
 
-SRC_URI[sha256sum] = "7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"
+SRC_URI[sha256sum] = "48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"
 
 inherit pypi setuptools3 ptest
 
-SRC_URI += " \
-	file://0001-tests-Fix-test_bytes_args.patch \
-	file://run-ptest \
-"
+SRC_URI += "file://run-ptest"
 
 RDEPENDS:${PN}-ptest += " \
 	${PYTHON_PN}-pytest \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.26.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.0.bb
similarity index 90%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.26.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.0.bb
index c66c777..8111675 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.26.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.0.bb
@@ -11,7 +11,7 @@
 PYPI_ARCHIVE_NAME_PREFIX = "pypi-"
 
 inherit pypi python_setuptools_build_meta
-SRC_URI[sha256sum] = "d45b30b9ce7280829888c78650177ab525df2b6785e1a5b3d82b4c147d828c0e"
+SRC_URI[sha256sum] = "d03f0a76a2b96805044ad1178b92aeeb5f695caa6776a32522bb5c430a55b4e8"
 
 SRC_URI += " \
 	file://CMakeLists.txt \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.5.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.7.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.5.5.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.7.bb
index 7d3a5fb..2eab701 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.5.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.7.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=da746463714cc35999ed9a42339f2943"
 
-SRC_URI[sha256sum] = "363d80a6d35614bd446e2f2b1b216f3b33741d03ac6d0a92803306f40e555b58"
+SRC_URI[sha256sum] = "e7067471884de5478c58a511e529f0f9bd1c66bfef1dea90935438d6c23306d1"
 
 PYPI_PACKAGE = "ConfigArgParse"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.2.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.2.bb
index b63e71e..fa8549c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.2.bb
@@ -5,7 +5,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d422ebce3e9c6447563bd410e9b22f2e"
 
-SRC_URI[sha256sum] = "fc33909397481c90de3cec831bfb88d97e220dc91939d996920202f184b4648e"
+SRC_URI[sha256sum] = "31d4b0455d72d914645f803d917daf4f314d115c70de0578d3820deb8b101f66"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.7.bb
similarity index 64%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.7.bb
index bec4643..b6b7881 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.7.bb
@@ -1,9 +1,9 @@
 SUMMARY = "Serialize all of python"
 HOMEPAGE = "https://pypi.org/project/dill/"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=61f24e44fc855bde43ed5a1524a37bc4"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=19de1f406e29e68f579e7e82e0758ce3"
 
-SRC_URI[sha256sum] = "e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373"
+SRC_URI[sha256sum] = "cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.2.bb
deleted file mode 100644
index da65eb9..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require python-django.inc
-inherit setuptools3
-
-SRC_URI[sha256sum] = "2a6b6fbff5b59dd07bef10bcb019bee2ea97a30b2a656d51346596724324badf"
-
-RDEPENDS:${PN} += "\
-    ${PYTHON_PN}-sqlparse \
-    ${PYTHON_PN}-asgiref \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.3.bb
new file mode 100644
index 0000000..4e31927
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.3.bb
@@ -0,0 +1,9 @@
+require python-django.inc
+inherit setuptools3
+
+SRC_URI[sha256sum] = "45a747e1c5b3d6df1b141b1481e193b033fd1fdbda3ff52677dc81afdaacbaed"
+
+RDEPENDS:${PN} += "\
+    ${PYTHON_PN}-sqlparse \
+    ${PYTHON_PN}-asgiref \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.1.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.3.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.1.bb
index 3d1dc8d..6233527 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5af50906b5929837f667dfe31052bd34"
 
-SRC_URI[sha256sum] = "224e32b03eb46be70e12ef6d64e0be123a64e621ab4c0822ff6d450d52a540b9"
+SRC_URI[sha256sum] = "c33971c79af5be968bb897e95c2448e11a645ee84d93b265ce0b7aabe5dfdca8"
 
 inherit pypi python_poetry_core ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.5.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.5.bb
index 60c54f0..7b6aad7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.5.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5dbb7fb7d72da3921202dd7b995d3ecf"
 
-SRC_URI[sha256sum] = "f991c42ff66fa06e219141ccf65890261e6635b448e7d4c2d8b62dc5bf1de9e8"
+SRC_URI[sha256sum] = "c2d6dc524b29ef751ecfc416b0627668119d8812441c555d7471da41d4bacb8d"
 
 PYPI_PACKAGE = "elementpath"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.5.1.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.4.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.5.1.bb
index b20a641..d972488 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.5.1.bb
@@ -17,4 +17,4 @@
 	python3-asyncio \
 "
 
-SRC_URI[sha256sum] = "eb3663ecb300195926b526386f712dff84cd092c818fb7b62eeeda9160120c29"
+SRC_URI[sha256sum] = "b167a1b208fcdce5dbe96a61a6ca22391cfa6715d796c22de93e3adf9c07ae0c"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.2.0.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.1.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.2.0.bb
index 896800a..ce2dcb0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.2.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=6749008d847c14b9718949c2e24d5c0a"
 
-SRC_URI[sha256sum] = "7cccfb0b0749431d0d001e327e9a7289bf07308316a73850ae3895020e5682f4"
+SRC_URI[sha256sum] = "7f1a9e10400ee332432a778c321f446abaedb8f538df550e7c9964f446f7e265"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-execnet_1.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-execnet_2.0.2.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-execnet_1.9.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-execnet_2.0.2.bb
index ea17e84..a934d1c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-execnet_1.9.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-execnet_2.0.2.bb
@@ -8,14 +8,14 @@
 
 DEPENDS += "\
     python3-pip-native \
-    python3-setuptools-scm-native \
+    python3-hatch-vcs-native \
 "
 
 SRC_URI += "file://run-ptest \
            "
-SRC_URI[sha256sum] = "8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5"
+SRC_URI[sha256sum] = "cc59bc4423742fd71ad227122eb0dd44db51efb3dc4095b45ac9a08c770096af"
 
-inherit ptest pypi setuptools3
+inherit ptest pypi python_hatchling
 
 do_install_ptest() {
     install -d ${D}${PTEST_PATH}/tests
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.16.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.18.0.bb
similarity index 94%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.16.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.18.0.bb
index 689fe51..e0be7b6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.16.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.18.0.bb
@@ -6,7 +6,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=18950e8362b69c0c617b42b8bd8e7532"
 
-SRCREV = "4f11540d2e8f7c0aeae1230cdbc65a99f1b277c4"
+SRCREV = "756540088687cda351390f687b92e602feaa7dc6"
 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-socketio_5.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.5.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.5.bb
index 4dae0d1..34919d2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.5.bb
@@ -9,7 +9,7 @@
 
 PYPI_PACKAGE = "Flask-SocketIO"
 
-SRC_URI[sha256sum] = "1cbd379c9bf68ac37bcc4750d01708922fa6365d13a5447d3f8893792879410c"
+SRC_URI[sha256sum] = "5f01158d10db71aa78c969b631ce3b9148b47ab0de1995158f9577f85b004d25"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-flask \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.3.2.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.2.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.3.2.bb
index 90c56c7..c4c1ff7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.2.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.3.2.bb
@@ -6,18 +6,19 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75"
 
-SRC_URI[sha256sum] = "7eb373984bf1c770023fce9db164ed0c3353cd0b53f130f4693da0ca756a2e6d"
+SRC_URI[sha256sum] = "8c2f9abd47a9e8df7f0c3f091ce9497d011dc3b31effcf4c85a6e2b50f4114ef"
 
 PYPI_PACKAGE = "Flask"
 
-inherit pypi setuptools3
+inherit pypi python_setuptools_build_meta
 
 CLEANBROKEN = "1"
 
 RDEPENDS:${PN} = " \
-    ${PYTHON_PN}-werkzeug \
-    ${PYTHON_PN}-jinja2 \
-    ${PYTHON_PN}-itsdangerous \
+    ${PYTHON_PN}-blinker \
     ${PYTHON_PN}-click \
+    ${PYTHON_PN}-itsdangerous \
+    ${PYTHON_PN}-jinja2 \
     ${PYTHON_PN}-profile \
+    ${PYTHON_PN}-werkzeug \
 "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.4.0.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.3.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.4.0.bb
index 0cd23ab..340b0e3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.3.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-frozenlist_1.4.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=cf056e8e7a0a5477451af18b7b5aa98c"
 
-SRC_URI[sha256sum] = "58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a"
+SRC_URI[sha256sum] = "09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_22.10.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_23.7.0.bb
similarity index 92%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_22.10.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_23.7.0.bb
index b9bf913..a82abcc 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_22.10.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_23.7.0.bb
@@ -13,7 +13,7 @@
 
 SRC_URI += "file://0001-_setuputils.py-Do-not-add-sys_inc_dir.patch"
 
-SRC_URI[sha256sum] = "1ca01da176ee37b3527a2702f7d40dbc9ffb8cfc7be5a03bfa4f9eec45e55c46"
+SRC_URI[sha256sum] = "d0d3630674c1b344b256a298ab1ff43220f840b12af768131b5d74e485924237"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.5.1.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.5.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.5.1.bb
index b97c4f3..7510625 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.5.1.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5dabe659eadd6d97325b1582e41cfc11"
 
 PYPI_PACKAGE = "python-gnupg"
-SRC_URI[sha256sum] = "70758e387fc0e0c4badbcb394f61acbe68b34970a8fed7e0f7c89469fe17912a"
+SRC_URI[sha256sum] = "5674bad4e93876c0b0d3197e314d7f942d39018bf31e2b833f6788a6813c3fb8"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.11.1.bb
index 8ac34e6..de2bd3d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.11.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.11.1.bb
@@ -1,6 +1,5 @@
 DESCRIPTION = "Google API client core library"
 HOMEPAGE = "https://github.com/googleapis/python-api-core"
-AUTHOR = "Google LLC"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.92.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.95.0.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.92.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.95.0.bb
index 4d617ec..c862583 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.92.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.95.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "f38a6e106a7417719715506d36f0a233ec253335e422bda311352866a86c4187"
+SRC_URI[sha256sum] = "d2731ede12f79e53fbe11fdb913dfe986440b44c0a28431c78a8ec275f4c1541"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.21.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.22.0.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.21.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.22.0.bb
index ab32ec4..23def6c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.21.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.22.0.bb
@@ -1,12 +1,11 @@
 DESCRIPTION = "Google Authentication Library"
 HOMEPAGE = "https://github.com/googleapis/google-auth-library-python"
-AUTHOR = "Google Cloud Platform"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "b28e8048e57727e7cf0e5bd8e7276b212aef476654a09511354aa82753b45c66"
+SRC_URI[sha256sum] = "164cba9af4e6e4e40c3a4f90a1a6c12ee56f14c0b4868d1ca91b32826ab334ce"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-asyncio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.59.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.59.1.bb
index 802a434..a6b3d4e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.59.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.59.1.bb
@@ -1,6 +1,5 @@
 DESCRIPTION = "Common protobufs used in Google APIs"
 HOMEPAGE = "https://github.com/googleapis/python-api-common-protos"
-AUTHOR = "Google LLC"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb
index f833e69..ea8c185 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb
@@ -1,5 +1,4 @@
 SUMMARY = "Python bindings for libgpiod."
-AUTHOR = "Bartosz Golaszewski <brgl@bgdev.pl>"
 
 LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0"
 # The actual license files live in the upstream libgpiod from which the pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenstalk_2.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenstalk_2.0.2.bb
similarity index 65%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-greenstalk_2.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-greenstalk_2.0.2.bb
index 841b84d..33eb62d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenstalk_2.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenstalk_2.0.2.bb
@@ -3,9 +3,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8f98432ba1fce3933c556430fd47298f"
 
-SRC_URI[sha256sum] = "0020970abdb6f400586938573cbbec80410e83805d61e46cf76ea3ed71129257"
+SRC_URI[sha256sum] = "3ebde5fc9ecf986f96f6779fd6d15a53f33d432c52a2e28012e100a99ee154a4"
 
 RDEPENDS:${PN} += "python3-io python3-core"
 
-inherit pypi
-inherit setuptools3
+inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.56.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.56.2.bb
similarity index 94%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.56.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.56.2.bb
index fc871ad..c34391d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.56.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.56.2.bb
@@ -14,7 +14,7 @@
                                 file://0001-direct_mmap-Use-off_t-on-linux.patch;patchdir=third_party/abseil-cpp \
                                 file://0001-zlib-Include-unistd.h-for-open-close-C-APIs.patch \
 "
-SRC_URI[sha256sum] = "4c08ee21b3d10315b8dc26f6c13917b20ed574cdbed2d2d80c53d5508fdcc0f2"
+SRC_URI[sha256sum] = "0ff789ae7d8ddd76d2ac02e7d13bfef6fc4928ac01e1dcaa182be51b6bcc0aaa"
 
 RDEPENDS:${PN} = "${PYTHON_PN}-protobuf \
                   ${PYTHON_PN}-setuptools \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_21.2.0.bb
similarity index 71%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_21.2.0.bb
index f381b9d..d765c8f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_21.2.0.bb
@@ -1,9 +1,9 @@
 SUMMARY = "WSGI HTTP Server for UNIX"
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f75f3fb94cdeab1d607e2adaa6077752"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=302423eeae97079c633da81b6a5fe35e"
 
-SRC_URI[sha256sum] = "e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8"
+SRC_URI[sha256sum] = "88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033"
 
 inherit pypi setuptools3 ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.7.0.bb
similarity index 70%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.4.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.7.0.bb
index 7bb03b7..81654af 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.7.0.bb
@@ -5,12 +5,13 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE;md5=4ecc42519e84f6f3e23529464df7bd1d"
 
-SRC_URI[sha256sum] = "efb2584565cc86b7ea87a977a15066de34cdedaf341b11c851cfcfd2b964779c"
+SRC_URI[sha256sum] = "7ca0e43e870981fa684acb5b062deb307218193bca1a01f2b2676479df849b3a"
 
-inherit pypi python_setuptools_build_meta
+inherit pypi python_hatchling
 
 DEPENDS += "\
     ${PYTHON_PN}-setuptools-scm-native \
+    ${PYTHON_PN}-hatch-vcs-native \
 "
 
 RDEPENDS:${PN} += "\
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb
index 15fb92e..9e35c7b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb
@@ -1,5 +1,4 @@
 SUMMARY = "An adapter to Linux kernel support for inotify directory-watching."
-AUTHOR = "Dustin Oprea"
 HOMEPAGE = "https://pypi.org/project/inotify/"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://setup.py;md5=79b7ec72aa0d446a552d3cceb5799e41;beginline=28;endline=28"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-iperf_0.1.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-iperf_0.1.11.bb
index 9a8e6f7..58af7b7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-iperf_0.1.11.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-iperf_0.1.11.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Python wrapper around iperf3"
 HOMEPAGE = "https://github.com/thiezn/iperf3-python"
-AUTHOR = "Mathijs Mortimer <mathijs@mortimer.nl>"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f7d0900b3d30647cdda002c9549ca40f"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython-genutils_0.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython-genutils_0.2.0.bb
index 2a28cf9..8725150 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython-genutils_0.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython-genutils_0.2.0.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Vestigial utilities from IPython"
 HOMEPAGE = "http://ipython.org"
-AUTHOR = "IPython Development Team <ipython-dev@scipy.org>"
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING.md;md5=f7c3032c3ac398265224533a0a333a35"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.14.0.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.12.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.14.0.bb
index 0cfc80e..dece1d7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.12.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.14.0.bb
@@ -1,12 +1,11 @@
 SUMMARY = "IPython: Productive Interactive Computing"
 HOMEPAGE = "https://ipython.org"
-AUTHOR = "The IPython Development Team <ipython-dev@python.org>"
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f"
 
 PYPI_PACKAGE = "ipython"
 
-SRC_URI[sha256sum] = "a950236df04ad75b5bc7f816f9af3d74dc118fd42f2ff7e80e8e60ca1f182e2d"
+SRC_URI[sha256sum] = "1d197b907b6ba441b692c48cf2a3a2de280dc0ac91a3405b39349a50272ca0a1"
 
 RDEPENDS:${PN} = "\
     ${PYTHON_PN}-setuptools \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jedi_0.18.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jedi_0.19.0.bb
similarity index 75%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-jedi_0.18.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-jedi_0.19.0.bb
index 41063d2..58e8cc1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jedi_0.18.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jedi_0.19.0.bb
@@ -1,12 +1,11 @@
 SUMMARY = "An autocompletion tool for Python that can be used for text editors."
 HOMEPAGE = "https://github.com/davidhalter/jedi"
-AUTHOR = "David Halter <davidhalter88@gmail.com>"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5ed06eebfcb244cd66ebf6cef9c23ab4"
 
 PYPI_PACKAGE = "jedi"
 
-SRC_URI[sha256sum] = "bae794c30d07f6d910d32a7048af09b5a39ed740918da923c6b780790ebac612"
+SRC_URI[sha256sum] = "bcf9894f1753969cbac8022a8c2eaee06bfa3724e4192470aaffe7eb6272b0c4"
 
 RDEPENDS:${PN} = " \
 	${PYTHON_PN}-parso \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.32.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.33.bb
similarity index 65%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.32.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.33.bb
index 2a653cc..3d6deb2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.32.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.33.bb
@@ -1,11 +1,11 @@
 SUMMARY  = "Appling JSON patches in Python 2.6+ and 3.x"
 HOMEPAGE = "https://github.com/stefankoegl/python-json-patch"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=32b15c843b7a329130f4e266a281ebb3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4f81c84f9a053e31fe9402a2a4e78864"
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2"
+SRC_URI[sha256sum] = "9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"
 
 RDEPENDS:${PN} += " \
     ${PYTHON_PN}-json \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/CVE-2020-25657.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/CVE-2020-25657.patch
deleted file mode 100644
index 38ecd7a..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/CVE-2020-25657.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-Backport patch to fix CVE-2020-25657.
-
-Upstream-Status: Backport [https://gitlab.com/m2crypto/m2crypto/-/commit/84c53958]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 84c53958def0f510e92119fca14d74f94215827a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= <mcepl@cepl.eu>
-Date: Tue, 28 Jun 2022 21:17:01 +0200
-Subject: [PATCH] Mitigate the Bleichenbacher timing attacks in the RSA
- decryption API (CVE-2020-25657)
-
-Fixes #282
----
- src/SWIG/_m2crypto_wrap.c | 20 ++++++++++++--------
- src/SWIG/_rsa.i           | 20 ++++++++++++--------
- tests/test_rsa.py         | 15 +++++++--------
- 3 files changed, 31 insertions(+), 24 deletions(-)
-
-diff --git a/src/SWIG/_m2crypto_wrap.c b/src/SWIG/_m2crypto_wrap.c
-index aba9eb6d..a9f30da9 100644
---- a/src/SWIG/_m2crypto_wrap.c
-+++ b/src/SWIG/_m2crypto_wrap.c
-@@ -7040,9 +7040,10 @@ PyObject *rsa_private_encrypt(RSA *rsa, PyObject *from, int padding) {
-     tlen = RSA_private_encrypt(flen, (unsigned char *)fbuf,
-         (unsigned char *)tbuf, rsa, padding);
-     if (tlen == -1) {
--        m2_PyErr_Msg(_rsa_err);
-+        ERR_clear_error();
-+        PyErr_Clear();
-         PyMem_Free(tbuf);
--        return NULL;
-+        Py_RETURN_NONE;
-     }
- 
-     ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen);
-@@ -7070,9 +7071,10 @@ PyObject *rsa_public_decrypt(RSA *rsa, PyObject *from, int padding) {
-     tlen = RSA_public_decrypt(flen, (unsigned char *)fbuf,
-         (unsigned char *)tbuf, rsa, padding);
-     if (tlen == -1) {
--        m2_PyErr_Msg(_rsa_err);
-+        ERR_clear_error();
-+        PyErr_Clear();
-         PyMem_Free(tbuf);
--        return NULL;
-+        Py_RETURN_NONE;
-     }
- 
-     ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen);
-@@ -7097,9 +7099,10 @@ PyObject *rsa_public_encrypt(RSA *rsa, PyObject *from, int padding) {
-     tlen = RSA_public_encrypt(flen, (unsigned char *)fbuf,
-         (unsigned char *)tbuf, rsa, padding);
-     if (tlen == -1) {
--        m2_PyErr_Msg(_rsa_err);
-+        ERR_clear_error();
-+        PyErr_Clear();
-         PyMem_Free(tbuf);
--        return NULL;
-+        Py_RETURN_NONE;
-     }
- 
-     ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen);
-@@ -7124,9 +7127,10 @@ PyObject *rsa_private_decrypt(RSA *rsa, PyObject *from, int padding) {
-     tlen = RSA_private_decrypt(flen, (unsigned char *)fbuf,
-         (unsigned char *)tbuf, rsa, padding);
-     if (tlen == -1) {
--        m2_PyErr_Msg(_rsa_err);
-+        ERR_clear_error();
-+        PyErr_Clear();
-         PyMem_Free(tbuf);
--        return NULL;
-+        Py_RETURN_NONE;
-     }
-     ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen);
- 
-diff --git a/src/SWIG/_rsa.i b/src/SWIG/_rsa.i
-index bc714e01..1377b8be 100644
---- a/src/SWIG/_rsa.i
-+++ b/src/SWIG/_rsa.i
-@@ -239,9 +239,10 @@ PyObject *rsa_private_encrypt(RSA *rsa, PyObject *from, int padding) {
-     tlen = RSA_private_encrypt(flen, (unsigned char *)fbuf,
-         (unsigned char *)tbuf, rsa, padding);
-     if (tlen == -1) {
--        m2_PyErr_Msg(_rsa_err);
-+        ERR_clear_error();
-+        PyErr_Clear();
-         PyMem_Free(tbuf);
--        return NULL;
-+        Py_RETURN_NONE;
-     }
- 
-     ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen);
-@@ -269,9 +270,10 @@ PyObject *rsa_public_decrypt(RSA *rsa, PyObject *from, int padding) {
-     tlen = RSA_public_decrypt(flen, (unsigned char *)fbuf,
-         (unsigned char *)tbuf, rsa, padding);
-     if (tlen == -1) {
--        m2_PyErr_Msg(_rsa_err);
-+        ERR_clear_error();
-+        PyErr_Clear();
-         PyMem_Free(tbuf);
--        return NULL;
-+        Py_RETURN_NONE;
-     }
- 
-     ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen);
-@@ -296,9 +298,10 @@ PyObject *rsa_public_encrypt(RSA *rsa, PyObject *from, int padding) {
-     tlen = RSA_public_encrypt(flen, (unsigned char *)fbuf,
-         (unsigned char *)tbuf, rsa, padding);
-     if (tlen == -1) {
--        m2_PyErr_Msg(_rsa_err);
-+        ERR_clear_error();
-+        PyErr_Clear();
-         PyMem_Free(tbuf);
--        return NULL;
-+        Py_RETURN_NONE;
-     }
- 
-     ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen);
-@@ -323,9 +326,10 @@ PyObject *rsa_private_decrypt(RSA *rsa, PyObject *from, int padding) {
-     tlen = RSA_private_decrypt(flen, (unsigned char *)fbuf,
-         (unsigned char *)tbuf, rsa, padding);
-     if (tlen == -1) {
--        m2_PyErr_Msg(_rsa_err);
-+        ERR_clear_error();
-+        PyErr_Clear();
-         PyMem_Free(tbuf);
--        return NULL;
-+        Py_RETURN_NONE;
-     }
-     ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen);
- 
-diff --git a/tests/test_rsa.py b/tests/test_rsa.py
-index 7bb3af75..5e75d681 100644
---- a/tests/test_rsa.py
-+++ b/tests/test_rsa.py
-@@ -109,8 +109,9 @@ class RSATestCase(unittest.TestCase):
-         # The other paddings.
-         for padding in self.s_padding_nok:
-             p = getattr(RSA, padding)
--            with self.assertRaises(RSA.RSAError):
--                priv.private_encrypt(self.data, p)
-+            # Exception disabled as a part of mitigation against CVE-2020-25657
-+            # with self.assertRaises(RSA.RSAError):
-+            priv.private_encrypt(self.data, p)
-         # Type-check the data to be encrypted.
-         with self.assertRaises(TypeError):
-             priv.private_encrypt(self.gen_callback, RSA.pkcs1_padding)
-@@ -127,10 +128,12 @@ class RSATestCase(unittest.TestCase):
-             self.assertEqual(ptxt, self.data)
- 
-         # no_padding
--        with six.assertRaisesRegex(self, RSA.RSAError, 'data too small'):
--            priv.public_encrypt(self.data, RSA.no_padding)
-+        # Exception disabled as a part of mitigation against CVE-2020-25657
-+        # with six.assertRaisesRegex(self, RSA.RSAError, 'data too small'):
-+        priv.public_encrypt(self.data, RSA.no_padding)
- 
-         # Type-check the data to be encrypted.
-+        # Exception disabled as a part of mitigation against CVE-2020-25657
-         with self.assertRaises(TypeError):
-             priv.public_encrypt(self.gen_callback, RSA.pkcs1_padding)
- 
-@@ -146,10 +149,6 @@ class RSATestCase(unittest.TestCase):
-                          b'\000\000\000\003\001\000\001')  # aka 65537 aka 0xf4
-         with self.assertRaises(RSA.RSAError):
-             setattr(rsa, 'e', '\000\000\000\003\001\000\001')
--        with self.assertRaises(RSA.RSAError):
--            rsa.private_encrypt(1)
--        with self.assertRaises(RSA.RSAError):
--            rsa.private_decrypt(1)
-         assert rsa.check_key()
- 
-     def test_loadpub_bad(self):
--- 
-GitLab
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.38.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.38.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb
index 40e3bfb..ac62773 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.38.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb
@@ -10,9 +10,8 @@
             file://cross-compile-platform.patch \
             file://avoid-host-contamination.patch \
             file://0001-setup.py-address-openssl-3.x-build-issue.patch \
-            file://CVE-2020-25657.patch \
             "
-SRC_URI[sha256sum] = "99f2260a30901c949a8dc6d5f82cd5312ffb8abc92e76633baf231bbbcb2decb"
+SRC_URI[sha256sum] = "24c0f471358b8b19ad4c8aa9da12e868030b65c1fdb3279d006df60c9501338a"
 
 PYPI_PACKAGE = "M2Crypto"
 inherit pypi siteinfo setuptools3
@@ -45,4 +44,9 @@
 
 export STAGING_DIR
 
+do_install:append() {
+    rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/M2Crypto/SSL/__pycache__/*.cpython-*.pyc
+    rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/M2Crypto/__pycache__/*.cpython-*.pyc
+}
+
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.19.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.20.1.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.19.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.20.1.bb
index 91f6462..f0ca630 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.19.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.20.1.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Simplified object serialization in python"
 DESCRIPTION = "Marshmallow is an ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from native Python datatypes."
-AUTHOR = "Marius Kriegerowski <mk@quakesaver.net>"
 HOMEPAGE = "https://github.com/marshmallow-code/marshmallow"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "\
@@ -9,7 +8,7 @@
 
 SRC_URI = "git://github.com/marshmallow-code/marshmallow.git;protocol=https;branch=dev"
 
-SRCREV = "78edf5582ee325bba99f097cb7167ef73b6f84d8"
+SRCREV = "dda9a8014dfe1bcb35e21307cfd5a8e19615a284"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib/0001-removed-RandomNumberGenerator-class-included-random-.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib/0001-removed-RandomNumberGenerator-class-included-random-.patch
deleted file mode 100644
index 1f9b8cd..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib/0001-removed-RandomNumberGenerator-class-included-random-.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 3eb9987b02cc10b93e09219ddc86aa6be5f10177 Mon Sep 17 00:00:00 2001
-From: tybeller <ty.c.beller@gmail.com>
-Date: Fri, 30 Sep 2022 16:13:41 -0400
-Subject: [PATCH] removed RandomNumberGenerator class, included <random>,
- replaced random_shuffle with shuffle and used mersenne twister engine to
- generate uniform random bit generator for the shuffle.
-
-Upstream-Status: Backport [https://github.com/matplotlib/matplotlib/commit/601d92a8850]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/tri/_tri.cpp | 20 ++++----------------
- 1 file changed, 4 insertions(+), 16 deletions(-)
-
-diff --git a/src/tri/_tri.cpp b/src/tri/_tri.cpp
-index b7a87783de..6e639eea44 100644
---- a/src/tri/_tri.cpp
-+++ b/src/tri/_tri.cpp
-@@ -12,6 +12,7 @@
- 
- #include <algorithm>
- #include <set>
-+#include <random>
- 
- 
- TriEdge::TriEdge()
-@@ -1465,8 +1466,8 @@ TrapezoidMapTriFinder::initialize()
-     _tree->assert_valid(false);
- 
-     // Randomly shuffle all edges other than first 2.
--    RandomNumberGenerator rng(1234);
--    std::random_shuffle(_edges.begin()+2, _edges.end(), rng);
-+    std::mt19937 rng(1234);
-+    std::shuffle(_edges.begin()+2, _edges.end(), rng);
- 
-     // Add edges, one at a time, to tree.
-     size_t nedges = _edges.size();
-@@ -2055,17 +2056,4 @@ TrapezoidMapTriFinder::Trapezoid::set_upper_right(Trapezoid* upper_right_)
-     upper_right = upper_right_;
-     if (upper_right != 0)
-         upper_right->upper_left = this;
--}
--
--
--
--RandomNumberGenerator::RandomNumberGenerator(unsigned long seed)
--    : _m(21870), _a(1291), _c(4621), _seed(seed % _m)
--{}
--
--unsigned long
--RandomNumberGenerator::operator()(unsigned long max_value)
--{
--    _seed = (_seed*_a + _c) % _m;
--    return (_seed*max_value) / _m;
--}
-+}
-\ No newline at end of file
--- 
-2.39.0
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib/matplotlib-disable-download.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib/matplotlib-disable-download.patch
index 899cac6..aea8f62 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib/matplotlib-disable-download.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib/matplotlib-disable-download.patch
@@ -4,19 +4,17 @@
 
 Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
 
+Update patch to fit on 3.7.2.
+
+Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+
+diff --git a/setup.py b/setup.py
+index 0bea13fa6f..f39d8fc871 100644
 --- a/setup.py
 +++ b/setup.py
-@@ -303,7 +303,6 @@ setup(  # Finally, pass this all along t
-     setup_requires=[
-         "certifi>=2020.06.20",
-         "numpy>=1.19",
--        "setuptools_scm>=7",
-     ],
-     install_requires=[
-         "contourpy>=1.0.1",
-@@ -315,13 +314,7 @@ setup(  # Finally, pass this all along t
+@@ -327,13 +327,7 @@ setup(  # Finally, pass this all along to setuptools to do the heavy lifting.
          "pillow>=6.2.0",
-         "pyparsing>=2.2.1",
+         "pyparsing>=2.3.1,<3.1",
          "python-dateutil>=2.7",
 -    ] + (
 -        # Installing from a git checkout that is not producing a wheel.
@@ -26,12 +24,14 @@
 -        ) else []
 -    ),
 +    ],
-     use_scm_version={
-         "version_scheme": "release-branch-semver",
-         "local_scheme": "node-and-date",
+     extras_require={
+         ':python_version<"3.10"': [
+             "importlib-resources>=3.2.0",
+diff --git a/setupext.py b/setupext.py
+index a898d642d6..474172ff8f 100644
 --- a/setupext.py
 +++ b/setupext.py
-@@ -65,40 +65,7 @@ def get_from_cache_or_download(url, sha)
+@@ -66,40 +66,7 @@ def get_from_cache_or_download(url, sha):
      BytesIO
          The file loaded into memory.
      """
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb
similarity index 90%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.6.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb
index fa0a78d..72c3691 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.6.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb
@@ -7,7 +7,7 @@
 SECTION = "devel/python"
 LICENSE = "PSF-2.0"
 LIC_FILES_CHKSUM = "\
-    file://setup.py;beginline=283;endline=283;md5=20e7ab4d2b2b1395a0e4ab800181eb96 \
+    file://setup.py;beginline=293;endline=293;md5=20e7ab4d2b2b1395a0e4ab800181eb96 \
     file://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74 \
 "
 
@@ -20,15 +20,16 @@
     python3-pytz-native \
     python3-certifi-native \
     python3-setuptools-scm-native \
+    python3-pybind11-native \
 "
-SRC_URI[sha256sum] = "1f4d69707b1677560cd952544ee4962f68ff07952fb9069ff8c12b56353cb8c9"
+SRC_URI[sha256sum] = "a8cdb91dddb04436bd2f098b8fdf4b81352e68cf4d2c6756fcc414791076569b"
 
 inherit pypi setuptools3 pkgconfig
 
 # Stop the component from attempting to download when it detects a missing
 # dependency
 SRC_URI += "file://matplotlib-disable-download.patch \
-            file://0001-removed-RandomNumberGenerator-class-included-random-.patch"
+"
 
 # This python module requires a full copy of freetype-2.6.1
 SRC_URI += "https://downloads.sourceforge.net/project/freetype/freetype2/2.6.1/freetype-2.6.1.tar.gz;name=freetype;subdir=matplotlib-${PV}/build"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mock_5.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mock_5.1.0.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-mock_5.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-mock_5.1.0.bb
index 6b511d8..d9ecb9d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mock_5.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mock_5.1.0.bb
@@ -16,4 +16,4 @@
     python3-unittest \
 "
 
-SRC_URI[sha256sum] = "06f18d7d65b44428202b145a9a36e99c2ee00d1eb992df0caf881d4664377891"
+SRC_URI[sha256sum] = "5e96aad5ccda4718e0a229ed94b2024df75cc2d55575ba5762d31f5767b8767d"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb
deleted file mode 100644
index 0cb1b85..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-DESCRIPTION = "A python module for handling realtime sensor data from OBD-II vehicle ports"HOMEPAGE = "https://github.com/brendan-w/python-OBD"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://README.md;md5=58ba896fa086c96ad23317cebfeab277"
-
-SRC_URI[md5sum] = "305efcb6c650db7b9583532355ebeb7c"
-SRC_URI[sha256sum] = "8b81ea5896157b6e861af12e173c10b001cb6cca6ebb04db2c01d326812ad77b"
-
-inherit setuptools3 pypi
-
-RDEPENDS:${PN} += "${PYTHON_PN}-pyserial ${PYTHON_PN}-pint ${PYTHON_PN}-setuptools ${PYTHON_PN}-packaging"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.2.bb
new file mode 100644
index 0000000..d78642a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.2.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "A python module for handling realtime sensor data from OBD-II vehicle ports"HOMEPAGE = "https://github.com/brendan-w/python-OBD"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://README.md;md5=176d0f9ad45c10895296260d426fa862"
+
+SRC_URI[sha256sum] = "20d38c9ded3daad1e8affab3ff367a70788d4f29ac77ab7aacddc6a6d2a43d61"
+
+inherit setuptools3 pypi
+
+RDEPENDS:${PN} += "${PYTHON_PN}-pyserial ${PYTHON_PN}-pint ${PYTHON_PN}-setuptools ${PYTHON_PN}-packaging"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb
similarity index 77%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.5.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb
index 129c314..87a173c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.5.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb
@@ -4,14 +4,16 @@
 the Python programming language."
 HOMEPAGE = "http://pandas.pydata.org/"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c1cc9ab35a8b2aabf933cd6d245b5db3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cb819092901ddb13a7d0a4f5e05f098a"
 
-SRC_URI[sha256sum] = "74a3fd7e5a7ec052f183273dc7b0acd3a863edf7520f5d3a1765c04ffdb3b0b1"
+SRC_URI[sha256sum] = "c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c"
 
 inherit pypi setuptools3
 
 DEPENDS += " \
-    ${PYTHON_PN}-numpy-native ${PYTHON_PN}-cython-native \
+    ${PYTHON_PN}-cython-native \
+    ${PYTHON_PN}-numpy-native \
+    ${PYTHON_PN}-versioneer-native \
 "
 
 PACKAGESPLITFUNCS =+ "fix_cythonized_sources"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.19.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.19.1.bb
similarity index 63%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.19.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.19.1.bb
index 94c1b53..9dc7f79 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.19.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.19.1.bb
@@ -3,9 +3,18 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8ab458ad281b60e6f1b39b3feafbfc05"
 
-SRC_URI[sha256sum] = "9ff82852bcb65d139813e2a5197627a94966245c897796760a3a2a8eb66f020b"
+SRC_URI[sha256sum] = "cc3a47236ff05da377617ddefa867b7ba983819c664e1afe46249e5b469be464"
 
-inherit pypi setuptools3 ptest
+SRC_URI += " \
+    git://github.com/r1chardj0n3s/parse.git;branch=master;protocol=https \
+    file://run-ptest \
+"
+
+SRCREV ?= "72776522285d516032faa0f80c4ee6a8964075e8"
+
+S = "${WORKDIR}/git"
+
+inherit python_setuptools_build_meta ptest
 
 RDEPENDS:${PN} += "\
     python3-datetime \
@@ -13,10 +22,6 @@
     python3-numbers \
 "
 
-SRC_URI += " \
-    file://run-ptest \
-"
-
 RDEPENDS:${PN}-ptest += " \
     python3-pytest \
 "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parso_0.8.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-parso_0.8.3.bb
index e14f28a..ce3471d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-parso_0.8.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-parso_0.8.3.bb
@@ -1,6 +1,5 @@
 SUMMARY = "A Python Parser"
 HOMEPAGE = "https://github.com/davidhalter/parso"
-AUTHOR = "David Halter <davidhalter88@gmail.com>"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cbaa2675b2424d771451332a7a69503f"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.7.1.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.6.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.7.1.bb
index 095f906..d9576ed 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.7.1.bb
@@ -1,8 +1,8 @@
 SUMMARY = "A module wrapper for os.path"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=141643e11c48898150daa83802dbc65f"
 
-SRC_URI[sha256sum] = "bea3816e1d54f4e33aac78d2031a0b0ed2f95e69db85b45d51f17df97071da69"
+SRC_URI[sha256sum] = "2b477f5887033f3cbea1cfd8553ee6a6a498eb2540a19f4aa082822aadcea30a"
 
 SRC_URI += "\
     file://run-ptest \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pickleshare_0.7.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pickleshare_0.7.5.bb
index 8260913..bb16c78 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pickleshare_0.7.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pickleshare_0.7.5.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Tiny 'shelve'-like database with concurrency support"
 HOMEPAGE = "https://github.com/pickleshare/pickleshare"
-AUTHOR = "Ville Vainio <vivainio@gmail.com>"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=905c08218089ffebea3a64c82fc4d7d0"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.9.1.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.8.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.9.1.bb
index 52fe07a..c52d9d2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.9.1.bb
@@ -7,7 +7,7 @@
     file://run-ptest \
 "
 
-SRC_URI[sha256sum] = "b0cabcb11063d21a0b261d557acb0a9d2126350e63b70cdf7db6347baea456dc"
+SRC_URI[sha256sum] = "1b42b450ad933e981d56e59f1b97495428c9bd60698baab9f3eb3d00d5822421"
 
 inherit pypi python_hatchling ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.4.1.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.4.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.4.1.bb
index 942f120..a340ba7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.4.1.bb
@@ -7,7 +7,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "deb16389e844dbf9aeb654261fce5febd720e4786c6690efbb9dc11608226840"
+SRC_URI[sha256sum] = "9dcbf1808898f440aed304a5e9f0742a2859eca3b0ac7f1f58e50502852a8ef9"
 
 RDEPENDS:${PN} = "\
     ${PYTHON_PN}-sortedcontainers \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.4.bb
similarity index 91%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.4.bb
index 84fa9f8..8474a43 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.4.bb
@@ -7,7 +7,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "7a92beb30600332a52cdadbedb40d33fd7c8a0d7f549c440347bc606fb3fe34b"
+SRC_URI[sha256sum] = "ccd9430c0719dce806b93f89c91de7977304729e55377f872a92465d548329a9"
 
 # 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-pyaudio/0001-Remove-absolute-paths-into-build-machine-system-dirs.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio/0001-Remove-absolute-paths-into-build-machine-system-dirs.patch
new file mode 100644
index 0000000..a71902a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio/0001-Remove-absolute-paths-into-build-machine-system-dirs.patch
@@ -0,0 +1,28 @@
+From d94518b558c1812aecb87d8ef19d75c2df1b98a5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 26 Jul 2023 19:54:19 -0700
+Subject: [PATCH] Remove absolute paths into build machine system dirs
+
+This ensures that it does not add /usr/include and /usr/local/include/
+into cflags
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ setup.py | 2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/setup.py
++++ b/setup.py
+@@ -111,11 +111,6 @@ def setup_extension():
+         # the standard portaudio cmake settings. For details, see:
+         # https://devblogs.microsoft.com/cppblog/vcpkg-updates-static-linking-is-now-available/
+         extra_compile_args += ["/MT"]
+-    else:
+-        # GNU/Linux and other posix-like OSes will dynamically link to
+-        # portaudio, installed by the package manager.
+-        include_dirs += ['/usr/local/include', '/usr/include']
+-        external_libraries_path += ['/usr/local/lib', '/usr/lib']
+ 
+     return Extension(
+         'pyaudio._portaudio',
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.11.bb
deleted file mode 100644
index 802ca35..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.11.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "PyAudio provides Python bindings for PortAudio, the cross-platform audio I/O library"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://README;md5=288793c2b9b05bd67abbd2a8f5d144f7"
-
-PYPI_PACKAGE = "PyAudio"
-
-SRC_URI[md5sum] = "7e4c88139284033f67b4336c74eda3b8"
-SRC_URI[sha256sum] = "93bfde30e0b64e63a46f2fd77e85c41fd51182a4a3413d9edfaf9ffaa26efb74"
-
-inherit pypi setuptools3
-
-DEPENDS += "portaudio-v19"
-
-RDEPENDS:${PN} += "portaudio-v19"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.13.bb
new file mode 100644
index 0000000..1f0b5cf
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.13.bb
@@ -0,0 +1,17 @@
+SUMMARY = "PyAudio provides Python bindings for PortAudio, the cross-platform audio I/O library"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7c3152b432b96d6dc4a1cb35397da9ec"
+
+PYPI_PACKAGE = "PyAudio"
+
+SRC_URI[md5sum] = "41199ffd2abbdaf1ce6b88cf8af48cc5"
+SRC_URI[sha256sum] = "26bccc81e4243d1c0ff5487e6b481de6329fcd65c79365c267cef38f363a2b56"
+
+inherit pypi setuptools3
+
+SRC_URI += "file://0001-Remove-absolute-paths-into-build-machine-system-dirs.patch"
+
+DEPENDS += "portaudio-v19"
+
+RDEPENDS:${PN} += "portaudio-v19"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.10.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.11.1.bb
similarity index 92%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.10.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.11.1.bb
index bb60498..d51dd90 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.10.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.11.1.bb
@@ -7,7 +7,7 @@
 
 SRC_URI = "git://github.com/pybind/pybind11.git;branch=stable;protocol=https"
 
-SRCREV = "0bd8896a4010f2d91b2340570c24fa08606ec406"
+SRCREV = "8a099e44b3d5f85b20f05828d919d2332a8de841"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfanotify_0.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfanotify_0.2.0.bb
index d887901..7c16750 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfanotify_0.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfanotify_0.2.0.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Python wrapper for Linux fanotify."
 HOMEPAGE = "https://github.com/baskiton/pyfanotify"
-AUTHOR = "Alexander Baskikh"
 SECTION = "devel/python"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=636a36c9df04efcfacf839b8866d9a37"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.172.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.173.bb
similarity index 92%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.172.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.173.bb
index 59ddac3..10cc52a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.172.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.173.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
 
 SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main"
-SRCREV = "7d1d8b6f38f210b28934a206f9c1470542e9da7e"
+SRCREV = "ccae32ae716c143bea09954e860238e193bc78c6"
 S = "${WORKDIR}/git"
 
 inherit python_poetry_core
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.4.1.bb
similarity index 90%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.3.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.4.1.bb
index 2b7dfd7..ecc5678 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.4.1.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=430604f78bee72425da231d42eac9cee"
 DEPENDS += "python3-six-native"
 
-SRC_URI[sha256sum] = "33f427f39189567600ea1f8f6ebd7e5f26caf50ef330798792679fcae80ef339"
+SRC_URI[sha256sum] = "2a95a311669f6734f94535332984474e4b4815de1500c74e6b94432a8bd9820a"
 S = "${WORKDIR}/pymodbus-${PV}"
 
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.4.1.bb
similarity index 90%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.4.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.4.1.bb
index a9bf31d..b89706a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.4.1.bb
@@ -8,7 +8,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "a1b5d286fee4b9b5a0312faede02f2ce2f56ac695685af1d25f428abdac9a22c"
+SRC_URI[sha256sum] = "a4df87dbbd03ac6372d24f2a8054b4dc33de497d5227b50ec649f436ad574284"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.6.1.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.5.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.6.1.bb
index d5eaa4f..c63e75c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.6.1.bb
@@ -13,11 +13,11 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=78bc2e6e87c8c61272937b879e6dc2f8"
 
-SRC_URI[sha256sum] = "9fd9be5b57224e68b5a5b88f7126f15b6c8667573f62a0a39faf14d6fdd13909"
+SRC_URI[sha256sum] = "171aea69b8efde61210e512166d8764e7765a9c7678b768052174b01f349f247"
 
 DEPENDS += "${PYTHON_PN}-six-native"
 
 PYPI_PACKAGE = "pyperf"
-inherit pypi setuptools3
+inherit pypi python_setuptools_build_meta
 
 RDEPENDS:${PN} += "${PYTHON_PN}-misc ${PYTHON_PN}-statistics"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_6.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_6.3.2.bb
similarity index 63%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_6.2.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_6.3.2.bb
index 282d407..1b4bb5a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_6.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_6.3.2.bb
@@ -1,10 +1,10 @@
 SUMMARY = "RDFLib is a pure Python package for working with RDF"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=bcae79bd3c84b857f42a98a7ccf6ad47"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=37d489c0cefe52a17e1d5007e196464a"
 
-SRC_URI[sha256sum] = "62dc3c86d1712db0f55785baf8047f63731fa59b2682be03219cb89262065942"
+SRC_URI[sha256sum] = "72af591ff704f4caacea7ecc0c5a9056b8553e0489dd4f35a9bc52dbd41522e0"
 
-inherit pypi setuptools3
+inherit pypi python_poetry_core
 
 RDEPENDS:${PN} += " \
     ${PYTHON_PN}-isodate \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_1.0.0.bb
index 466e01d..2534c1c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_1.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_1.0.0.bb
@@ -1,6 +1,5 @@
 DESCRIPTION = "A utility belt for advanced users of python-requests."
 HOMEPAGE = "https://toolbelt.readthedocs.org"
-AUTHOR = "Ian Cordasco, Cory Benfield"
 
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=6f14302a4b4099009ab38b4dde5f1075"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_6.1.1.bb
similarity index 91%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_6.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_6.1.1.bb
index 154b011..7fd2f2e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_6.1.1.bb
@@ -13,7 +13,7 @@
 
 PYPI_PACKAGE_EXT = "zip"
 
-SRC_URI[sha256sum] = "a94e0b3c4f8ae08c0a4dc7bff6fa8a51730565103f8c682a2d8391da9a4697f5"
+SRC_URI[sha256sum] = "3fa18f2596a4df2418c4b59abf43248327c15ed38ad8665f6a9a9c75c95d7789"
 
 RDEPENDS:${PN} += " \
     ${PYTHON_PN}-shell \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rsa_4.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rsa_4.9.bb
index ed5018f..0a1e359 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-rsa_4.9.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rsa_4.9.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Pure-Python RSA implementation"
 SECTION = "devel/python"
-AUTHOR = "Sybren A. Stuvel"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c403f6882d4f97a9cd927df987d55634"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-semver/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver/run-ptest
index 43c03b5..cd2bc85 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-semver/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO test_semver.py --disable-warnings| sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/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}}'
+pytest -o log_cli=true -o log_cli_level=INFO tests/test_semver.py --disable-warnings| sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/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-semver_2.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_2.13.0.bb
deleted file mode 100644
index b47bcae..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_2.13.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "Python module for Semantic Versioning"
-HOMEPAGE = "https://github.com/k-bx/python-semver"
-BUGTRACKER = "https://github.com/k-bx/python-semver/issues"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709"
-
-SRC_URI[md5sum] = "e98b5fb283ea84daa5195087de83ebf1"
-SRC_URI[sha256sum] = "fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f"
-
-inherit pypi setuptools3 ptest
-
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI += " \
-        file://run-ptest \
-"
-
-RDEPENDS:${PN}-ptest += " \
-        ${PYTHON_PN}-pytest \
-"
-
-do_install_ptest() {
-        cp -f ${S}/test_semver.py ${D}${PTEST_PATH}/
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_3.0.1.bb
new file mode 100644
index 0000000..2d85d78
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_3.0.1.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Python module for Semantic Versioning"
+HOMEPAGE = "https://github.com/python-semver/python-semver"
+BUGTRACKER = "https://github.com/python-semver/python-semver"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d9da679db3bdce30a1b4328d5c474f98"
+
+SRC_URI[md5sum] = "b7502c12ce325ffffeab694fed52f6f5"
+SRC_URI[sha256sum] = "9ec78c5447883c67b97f98c3b6212796708191d22e4ad30f4570f840171cbce1"
+
+inherit pypi python_setuptools_build_meta ptest
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+        file://run-ptest \
+"
+
+DEPENDS += " python3-setuptools-scm-native"
+
+RDEPENDS:${PN}-ptest += " \
+        ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+        cp -rf ${S}/tests ${D}${PTEST_PATH}/
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-service-identity_21.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-service-identity_21.1.0.bb
index 2d4145e..c3c26dd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-service-identity_21.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-service-identity_21.1.0.bb
@@ -1,6 +1,5 @@
 DESCRIPTION = "The tools for verifying whether a certificate is valid for the intended purposes."
 HOMEPAGE = "https://pypi.org/project/service-identity"
-AUTHOR = "Hynek Schlawack"
 
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8a0f079f4e6a215d6bd6f9d97cab4d5f"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.4.bb
similarity index 73%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.4.bb
index 317f648..fa9f97a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.4.bb
@@ -3,14 +3,16 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5317094292296f03405f59ae5f6544b6"
 
-SRC_URI[sha256sum] = "e4045b6c732d9ce75d571c79f5ac2234edd9ae4f5fa9d59b09705082bdca18c7"
+SRC_URI[sha256sum] = "a18920f0839991bc9dfddb6dcc006c360b1064ba96257359f0ea356e9fa75a60"
 
 PYPI_PACKAGE = "sh"
 
-inherit pypi setuptools3
+inherit pypi python_poetry_core
 
 RDEPENDS:${PN} += " \
+    ${PYTHON_PN}-asyncio \
     ${PYTHON_PN}-codecs \
+    ${PYTHON_PN}-compression \
     ${PYTHON_PN}-core \
     ${PYTHON_PN}-io \
     ${PYTHON_PN}-logging \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.1.bb
similarity index 68%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.1.bb
index 1853596..e6f3148 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-SRC_URI[sha256sum] = "c2d21cadddecfd97dd62a8b66b6f88bd56272627b9b71272e9dda6f868ee8715"
+SRC_URI[sha256sum] = "40b045e6225f3544080558e4bd604d116d4cffceea80cb84307579d914e4e498"
 
 inherit pypi python_setuptools_build_meta
 
@@ -17,5 +17,5 @@
 "
 
 do_install:append() {
-    install -D -m 0644 ${S}/src/snagrecover/80-snagboot.rules ${D}${sysconfdir}/udev/rules.d/80-snagboot.rules
+    install -D -m 0644 ${S}/src/snagrecover/50-snagboot.rules ${D}${sysconfdir}/udev/rules.d/50-snagboot.rules
 }
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/0001-sqlparse-change-shebang-to-python3.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/0001-sqlparse-change-shebang-to-python3.patch
index 9412134..0c9f29a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/0001-sqlparse-change-shebang-to-python3.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/0001-sqlparse-change-shebang-to-python3.patch
@@ -1,4 +1,4 @@
-From 7fd00ab8c1b663052d57e735b6b956d5c92fbaed Mon Sep 17 00:00:00 2001
+From f236a30dc8528b6f114201580f1efdcc1c447d43 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Mon, 9 Mar 2020 13:10:37 +0800
 Subject: [PATCH] sqlparse: change shebang to python3
@@ -12,80 +12,10 @@
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
 ---
- 0001-sqlparse-change-shebang-to-python3.patch | 51 +++++++++++++++++++
- setup.py                                      |  2 +-
- sqlparse/__main__.py                          |  2 +-
- sqlparse/cli.py                               |  2 +-
- 4 files changed, 54 insertions(+), 3 deletions(-)
- create mode 100644 0001-sqlparse-change-shebang-to-python3.patch
+ sqlparse/__main__.py | 2 +-
+ sqlparse/cli.py      | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/0001-sqlparse-change-shebang-to-python3.patch b/0001-sqlparse-change-shebang-to-python3.patch
-new file mode 100644
-index 0000000..ad6c50f
---- /dev/null
-+++ b/0001-sqlparse-change-shebang-to-python3.patch
-@@ -0,0 +1,51 @@
-+From 10c9d3341d64d697f678a64ae707f6bda21565bb Mon Sep 17 00:00:00 2001
-+From: Changqing Li <changqing.li@windriver.com>
-+Date: Mon, 9 Mar 2020 13:10:37 +0800
-+Subject: [PATCH] sqlparse: change shebang to python3
-+
-+Upstream-Status: Pending
-+
-+Don't send upstream since upstream still support python2,
-+we can only make this change after python2 is offcially
-+dropped.
-+
-+Signed-off-by: Changqing Li <changqing.li@windriver.com>
-+---
-+ setup.py             | 2 +-
-+ sqlparse/__main__.py | 2 +-
-+ sqlparse/cli.py      | 2 +-
-+ 3 files changed, 3 insertions(+), 3 deletions(-)
-+
-+diff --git a/setup.py b/setup.py
-+index 345d0ce..ce3abc3 100644
-+--- a/setup.py
-++++ b/setup.py
-+@@ -1,4 +1,4 @@
-+-#!/usr/bin/env python
-++#!/usr/bin/env python3
-+ # -*- coding: utf-8 -*-
-+ #
-+ # Copyright (C) 2009-2018 the sqlparse authors and contributors
-+diff --git a/sqlparse/__main__.py b/sqlparse/__main__.py
-+index 867d75d..dd0c074 100644
-+--- a/sqlparse/__main__.py
-++++ b/sqlparse/__main__.py
-+@@ -1,4 +1,4 @@
-+-#!/usr/bin/env python
-++#!/usr/bin/env python3
-+ # -*- coding: utf-8 -*-
-+ #
-+ # Copyright (C) 2009-2018 the sqlparse authors and contributors
-+diff --git a/sqlparse/cli.py b/sqlparse/cli.py
-+index 25555a5..8bf050a 100755
-+--- a/sqlparse/cli.py
-++++ b/sqlparse/cli.py
-+@@ -1,4 +1,4 @@
-+-#!/usr/bin/env python
-++#!/usr/bin/env python3
-+ # -*- coding: utf-8 -*-
-+ #
-+ # Copyright (C) 2009-2018 the sqlparse authors and contributors
-+-- 
-+2.7.4
-+
-diff --git a/setup.py b/setup.py
-index ede0aff..dc6a323 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- #
- # Copyright (C) 2009-2020 the sqlparse authors and contributors
- # <see AUTHORS file>
 diff --git a/sqlparse/__main__.py b/sqlparse/__main__.py
 index 2bf2513..6a3a115 100644
 --- a/sqlparse/__main__.py
@@ -107,5 +37,5 @@
  # Copyright (C) 2009-2020 the sqlparse authors and contributors
  # <see AUTHORS file>
 -- 
-2.17.1
+2.41.0
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/CVE-2023-30608.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/CVE-2023-30608.patch
deleted file mode 100644
index f5526c5..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/CVE-2023-30608.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From c457abd5f097dd13fb21543381e7cfafe7d31cfb Mon Sep 17 00:00:00 2001
-From: Andi Albrecht <albrecht.andi@gmail.com>
-Date: Mon, 20 Mar 2023 08:33:46 +0100
-Subject: [PATCH] Remove unnecessary parts in regex for bad escaping.
-
-The regex tried to deal with situations where escaping in the
-SQL to be parsed was suspicious.
-
-Upstream-Status: Backport
-CVE: CVE-2023-30608
-
-Reference to upstream patch:
-https://github.com/andialbrecht/sqlparse/commit/c457abd5f097dd13fb21543381e7cfafe7d31cfb
-
-[AZ: drop changes to CHANGELOG file and adjust context whitespaces]
-Signed-off-by: Adrian Zaharia <Adrian.Zaharia@windriver.com>
-
-Adjust indentation in keywords.py.
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
----
- sqlparse/keywords.py | 4 ++--
- tests/test_split.py  | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
---- sqlparse-0.4.3.orig/sqlparse/keywords.py
-+++ sqlparse-0.4.3/sqlparse/keywords.py
-@@ -72,9 +72,9 @@ SQL_REGEX = {
-         (r'(?![_A-ZÀ-Ü])-?(\d+(\.\d*)|\.\d+)(?![_A-ZÀ-Ü])',
-          tokens.Number.Float),
-         (r'(?![_A-ZÀ-Ü])-?\d+(?![_A-ZÀ-Ü])', tokens.Number.Integer),
--        (r"'(''|\\\\|\\'|[^'])*'", tokens.String.Single),
-+        (r"'(''|\\'|[^'])*'", tokens.String.Single),
-         # not a real string literal in ANSI SQL:
--        (r'"(""|\\\\|\\"|[^"])*"', tokens.String.Symbol),
-+        (r'"(""|\\"|[^"])*"', tokens.String.Symbol),
-         (r'(""|".*?[^\\]")', tokens.String.Symbol),
-         # sqlite names can be escaped with [square brackets]. left bracket
-         # cannot be preceded by word character or a right bracket --
---- sqlparse-0.4.3.orig/tests/test_split.py
-+++ sqlparse-0.4.3/tests/test_split.py
-@@ -18,8 +18,8 @@ def test_split_semicolon():
- 
- 
- def test_split_backslash():
--    stmts = sqlparse.parse(r"select '\\'; select '\''; select '\\\'';")
--    assert len(stmts) == 3
-+    stmts = sqlparse.parse("select '\'; select '\'';")
-+    assert len(stmts) == 2
- 
- 
- @pytest.mark.parametrize('fn', ['function.sql',
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.4.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.4.bb
index a402f99..e4ac403 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.4.bb
@@ -5,16 +5,15 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2b136f573f5386001ea3b7b9016222fc"
 
 SRC_URI += "file://0001-sqlparse-change-shebang-to-python3.patch \
-            file://CVE-2023-30608.patch \
             file://run-ptest \
 	    "
 
-SRC_URI[sha256sum] = "69ca804846bb114d2ec380e4360a8a340db83f0ccf3afceeb1404df028f57268"
+SRC_URI[sha256sum] = "d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c"
 
 export BUILD_SYS
 export HOST_SYS
 
-inherit pypi ptest setuptools3
+inherit pypi ptest python_flit_core
 
 RDEPENDS:${PN}-ptest += " \
     ${PYTHON_PN}-pytest \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-telnetlib3_2.0.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-telnetlib3_2.0.4.bb
new file mode 100644
index 0000000..c7e650d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-telnetlib3_2.0.4.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Telnet server and client library based on asyncio"
+HOMEPAGE = "https://github.com/jquast/telnetlib3"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fc2166986ad8169d334a342e0d8db8e0"
+
+SRC_URI[md5sum] = "2dfac7e10ed63c408da50ea712415f87"
+SRC_URI[sha256sum] = "dbcbc16456a0e03a62431be7cfefff00515ab2f4ce2afbaf0d3a0e51a98c948d"
+
+PYPI_PACKAGE = "telnetlib3"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} = "\
+    ${PYTHON_PN}-asyncio \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.11.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.12.1.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.11.8.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.12.1.bb
index 5ec7e6e..e86a3c7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.11.8.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.12.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=31aac0dbc1babd278d5386dadb7f8e82"
 
-SRC_URI[sha256sum] = "9330fc7faa1db67b541b28e62018c17d20be733177d290a13b24c62d1614e0c3"
+SRC_URI[sha256sum] = "38e1ff8edb991273ec9f6181244a6a391ac30e9f5098e7535640ea6be97a7c86"
 
 inherit pypi python_poetry_core ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.6.4.bb
similarity index 92%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.6.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.6.4.bb
index ed8fc38..a8215a9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.6.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.6.4.bb
@@ -6,7 +6,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=11610a9d8fd95649cf8159be12b98cb7"
 
-SRC_URI[sha256sum] = "9e2c5091a117d03b583c57c4c40aecd068099c17d40520e7b165e85c19334534"
+SRC_URI[sha256sum] = "5e2ad8845764706170d3dcaac171704513cc8a725655219acb62fe4380bdadda"
 
 BBCLASSEXTEND = "native nativesdk"
 inherit pypi python_hatchling
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.9.0.bb
index ee4ac64..fc25271 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.9.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.9.0.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Traitlets Python config system"
 HOMEPAGE = "http://ipython.org"
-AUTHOR = "IPython Development Team <ipython-dev@scipy.org>"
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING.md;md5=f17a3ba4cd59794dd6e005c8e150aef0"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_0.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_0.9.0.bb
index 6f31aea..6622f62 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_0.9.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_0.9.0.bb
@@ -1,6 +1,5 @@
 DESCRIPTION = "A utility provides a fake certificate authority (CA)"
 HOMEPAGE = "https://pypi.org/project/trustme"
-AUTHOR = "Nathaniel J. Smith"
 
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d5a7af1a4b73e57431e25d15a2da745a"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-txdbus_1.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-txdbus_1.1.2.bb
index a117f17..d579ca0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-txdbus_1.1.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-txdbus_1.1.2.bb
@@ -1,5 +1,4 @@
 SUMMARY = "A native Python implementation of the DBus protocol for Twisted applications."
-AUTHOR = "Tom Cocagne"
 HOMEPAGE = "https://pypi.org/project/txdbus/"
 SECTION = "devel/python"
 LICENSE = "MIT"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.0.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.0.bb
index ca17e2b..f64c70a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f0e423eea5c91e7aa21bdb70184b3e53"
 
-SRC_URI[sha256sum] = "194fb3dbcb06ea9caf7088f3befee014de57961689f9c859ac5239b1ef61d987"
+SRC_URI[sha256sum] = "b05a54bb0276eefd28880df42e004a71e699c8081fcb9d0536b2ceb01019f60c"
 
 inherit pypi python_setuptools_build_meta ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.10.bb
index 7db7c80..539366c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.10.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.10.bb
@@ -4,7 +4,6 @@
 extracting, and recreating UEFI firmware volumes. This includes parsing \
 modules for BIOS, OptionROM, Intel ME and other formats too."
 HOMEPAGE = "https://github.com/theopolis/uefi-firmware-parser"
-AUTHOR = "Teddy Reed <teddy@prosauce.org>"
 LICENSE = "BSD-2-Clause & BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://setup.py;md5=90fa5bae1547550f1c1993f651eda955"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate_4.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate_4.1.1.bb
index eaf8bda..3c41b1e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate_4.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate_4.1.1.bb
@@ -2,7 +2,6 @@
 # https://git.yoctoproject.org/cgit/cgit.cgi/meta-cloud-services/tree/meta-openstack/recipes-devtools/python/python3-uritemplate_3.0.0.bb?h=master
 
 SUMMARY = "Simple python library to deal with URI Templates."
-AUTHOR = "Ian Cordasco"
 LICENSE = "Apache-2.0 | BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0f6d769bdcfacac3c1a1ffa568937fe0"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-versioneer_0.29.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-versioneer_0.29.bb
new file mode 100644
index 0000000..bdfbfd1
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-versioneer_0.29.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Easy VCS-based management of project version strings"
+HOMEPAGE = "https://github.com/python-versioneer/python-versioneer"
+SECTION = "devel/python"
+
+LICENSE = "Unlicense"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f4c62131f879a8445e16a7f265aea635"
+
+SRC_URI[sha256sum] = "5ab283b9857211d61b53318b7c792cf68e798e765ee17c27ade9f6c924235731"
+
+inherit pypi python_setuptools_build_meta
+
+RDEPENDS:${PN} += "\
+    python3-json \
+    python3-netclient \
+    python3-tomllib \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.23.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.2.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.23.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.2.bb
index 53771e2..52a99cc 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.23.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.2.bb
@@ -6,7 +6,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0ce089158cf60a8ab6abb452b6405538"
 
-SRC_URI[sha256sum] = "8ff19a38c1021c742148edc4f81cb43d7f8c6816d2ede2ab72af5b84c749ade1"
+SRC_URI[sha256sum] = "fd8a78f46f6b99a67b7ec5cf73f92357891a7b3a40fd97637c27f854aae3b9e0"
 
 BBCLASSEXTEND = "native nativesdk"
 inherit pypi python_hatchling
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.7.0.bb
similarity index 73%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.3.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.7.0.bb
index 088bfd5..c842639 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.7.0.bb
@@ -2,9 +2,9 @@
 HOMEPAGE = "https://github.com/ethereum/web3.py"
 SECTION = "devel/python"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dc2732bdc5e50382737979791cbb3b7"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=373fede350846fdffd23648fba504635"
 
-SRC_URI[sha256sum] = "d13f17d18eaacd87f7d233b4b2c70d1579b39573628b71ec996adfcd4dac9cab"
+SRC_URI[sha256sum] = "dc05e4130ed2e1e67a18a6f012cd3095440f37c0b8334038071d5510176debb5"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.3.6.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.2.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.3.6.bb
index 5565fb4..11441fc 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.2.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.3.6.bb
@@ -12,9 +12,9 @@
 
 PYPI_PACKAGE = "Werkzeug"
 
-SRC_URI[sha256sum] = "2e1ccc9417d4da358b9de6f174e3ac094391ea1d4fbef2d667865d819dfd0afe"
+SRC_URI[sha256sum] = "98c774df2f91b05550078891dee5f0eb0cb797a522c757a2452b9cee5b202330"
 
-inherit pypi setuptools3
+inherit pypi python_setuptools_build_meta
 
 CLEANBROKEN = "1"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict_0.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict_0.13.0.bb
index aadf8b7..a1f3957 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict_0.13.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict_0.13.0.bb
@@ -1,5 +1,4 @@
 SUMMARY = "Makes working with XML feel like you are working with JSON"
-AUTHOR = "Martin Blech"
 HOMEPAGE = "https://github.com/martinblech/xmltodict"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=01441d50dc74476db58a41ac10cb9fa2"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.70.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.71.4.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.70.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.71.4.bb
index 63be3fe..ce92c64 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.70.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.71.4.bb
@@ -3,7 +3,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=6517bdc8f2416f27ab725d4702f7aac3"
 
-SRC_URI[sha256sum] = "f95ef3643612b1a874cc3b4216d9cb895a0337bf602901f760c3c6027a38d64a"
+SRC_URI[sha256sum] = "b988425f6bd0d4f11f05fa258a6c49d9f9956777e9af00ca98c4ed3f743bd677"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.0.bb b/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.0.bb
deleted file mode 100644
index a20b019..0000000
--- a/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Send file to trash natively under Mac OS X, Windows and Linux"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a02659c2d5f4cc626e4dcf6504b865eb"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d"
-
-PYPI_PACKAGE = "Send2Trash"
-
-RDEPENDS:${PN} += "python3-datetime"
diff --git a/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.2.bb b/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.2.bb
new file mode 100644
index 0000000..eac89e6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/send2trash/python3-send2trash_1.8.2.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Send file to trash natively under Mac OS X, Windows and Linux"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a02659c2d5f4cc626e4dcf6504b865eb"
+
+inherit pypi python_setuptools_build_meta
+
+SRC_URI[sha256sum] = "c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312"
+
+PYPI_PACKAGE = "Send2Trash"
+
+RDEPENDS:${PN} += "\
+    python3-io \
+    python3-datetime \
+"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb
index 7100ef4..3dc4ca8 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb
+++ b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb
@@ -75,3 +75,5 @@
     if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
         raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
 }
+
+CVE_PRODUCT += "cherokee_web_server"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.24.0.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.24.0.bb
deleted file mode 100644
index 2e865e4..0000000
--- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.24.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require nginx.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=175abb631c799f54573dc481454c8632"
-
-SRC_URI[sha256sum] = "77a2541637b92a621e3ee76776c8b7b40cf6d707e69ba53a940283e30ff2f55d"
-
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.1.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.1.bb
new file mode 100644
index 0000000..702eac3
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.1.bb
@@ -0,0 +1,6 @@
+require nginx.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=79ad2eb837299421c4435dedc8897b3d"
+
+SRC_URI[sha256sum] = "f09071ac46e0ea3adc0008ef0baca229fc6b4be4533baef9bbbfba7de29a8602"
+
diff --git a/meta-raspberrypi/conf/machine/include/rpi-base.inc b/meta-raspberrypi/conf/machine/include/rpi-base.inc
index b486633..895fcfe 100644
--- a/meta-raspberrypi/conf/machine/include/rpi-base.inc
+++ b/meta-raspberrypi/conf/machine/include/rpi-base.inc
@@ -18,6 +18,7 @@
     overlays/overlay_map.dtb \
     overlays/at86rf233.dtbo \
     overlays/disable-bt.dtbo \
+    overlays/disable-wifi.dtbo \
     overlays/dwc2.dtbo \
     overlays/gpio-ir.dtbo \
     overlays/gpio-ir-tx.dtbo \
@@ -112,9 +113,6 @@
 # This variable is referred to by recipes fetching / generating the files.
 BOOTFILES_DIR_NAME ?= "bootfiles"
 
-# Set Raspberrypi splash image
-SPLASH ?= "psplash-raspberrypi"
-
 def make_dtb_boot_files(d):
     # Generate IMAGE_BOOT_FILES entries for device tree files listed in
     # KERNEL_DEVICETREE.
diff --git a/meta-raspberrypi/recipes-multimedia/libcamera-apps/rpi-libcamera-apps/0001-utils-version.py-use-usr-bin-env-in-shebang.patch b/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps/0001-utils-version.py-use-usr-bin-env-in-shebang.patch
similarity index 100%
rename from meta-raspberrypi/recipes-multimedia/libcamera-apps/rpi-libcamera-apps/0001-utils-version.py-use-usr-bin-env-in-shebang.patch
rename to meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps/0001-utils-version.py-use-usr-bin-env-in-shebang.patch
diff --git a/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps_git.bb b/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps_git.bb
new file mode 100644
index 0000000..9880c07
--- /dev/null
+++ b/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps_git.bb
@@ -0,0 +1,40 @@
+SUMMARY = "A suite of libcamera-based apps"
+DESCRIPTION = "This is a small suite of libcamera-based apps that aim to \
+copy the functionality of the existing \"raspicam\" apps."
+HOMEPAGE = "https://github.com/raspberrypi/libcamera-apps"
+SECTION = "console/utils"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://license.txt;md5=a0013d1b383d72ba4bdc5b750e7d1d77"
+
+SRC_URI = "\
+    git://github.com/raspberrypi/libcamera-apps.git;protocol=https;branch=main \
+    file://0001-utils-version.py-use-usr-bin-env-in-shebang.patch \
+"
+PV = "1.2.1+git${SRCPV}"
+SRCREV = "1c1d1c1a2a86d70cf873edc8bb72d174f037973a"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "libcamera libexif jpeg tiff libpng boost"
+
+PACKAGECONFIG ??= "drm"
+PACKAGECONFIG[libav] = "-Denable_libav=true, -Denable_libav=false, libav"
+PACKAGECONFIG[drm] = "-Denable_drm=true, -Denable_drm=false, libdrm"
+PACKAGECONFIG[egl] = "-Denable_egl=true, -Denable_egl=false, virtual/egl"
+PACKAGECONFIG[qt] = "-Denable_qt=true, -Denable_qt=false, qtbase"
+PACKAGECONFIG[opencv] = "-Denable_opencv=true, -Denable_opencv=false, opencv"
+PACKAGECONFIG[tflite] = "-Denable_tflite=true, -Denable_tflite=false, tensorflow-lite"
+
+inherit meson pkgconfig
+
+NEON_FLAGS = ""
+NEON_FLAGS:aarch64 = "-Dneon_flags=arm64"
+NEON_FLAGS:arm:raspberrypi3 = "-Dneon_flags=armv8-neon"
+NEON_FLAGS:arm:raspberrypi4 = "-Dneon_flags=armv8-neon"
+EXTRA_OEMESON += "${NEON_FLAGS}"
+
+# QA Issue: /usr/bin/camera-bug-report contained in package libcamera-apps requires /usr/bin/python3
+do_install:append() {
+    rm -v ${D}/${bindir}/camera-bug-report
+}
diff --git a/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera/libcamera_%.bbappend b/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera/libcamera_%.bbappend
index efa1f80..541c49c 100644
--- a/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera/libcamera_%.bbappend
+++ b/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera/libcamera_%.bbappend
@@ -1,2 +1,2 @@
-PACKAGECONFIG[raspberrypi] = "-Dpipelines=raspberrypi -Dipas=raspberrypi -Dcpp_args=-Wno-unaligned-access"
+PACKAGECONFIG[raspberrypi] = "-Dpipelines=rpi/vc4 -Dipas=rpi/vc4 -Dcpp_args=-Wno-unaligned-access"
 PACKAGECONFIG:append:rpi = " raspberrypi"
diff --git a/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0009-demux-dash-include-cstdint-needed-for-uint64_t.patch b/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0009-demux-dash-include-cstdint-needed-for-uint64_t.patch
new file mode 100644
index 0000000..c526535
--- /dev/null
+++ b/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0009-demux-dash-include-cstdint-needed-for-uint64_t.patch
@@ -0,0 +1,30 @@
+From 6fca76ebd76bf8fce9b111e31bda64015cdc770f Mon Sep 17 00:00:00 2001
+From: Johannes Kauffmann <johanneskauffmann@hotmail.com>
+Date: Mon, 11 Jul 2022 19:35:57 +0000
+Subject: [PATCH] demux: dash: include cstdint, needed for uint64_t
+
+Fixes #27077.
+
+Upstream-Status: Backport
+
+https://github.com/videolan/vlc/commit/6fca76ebd76bf8fce9b111e31bda64015cdc770f
+
+---
+ modules/demux/dash/mpd/TemplatedUri.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/demux/dash/mpd/TemplatedUri.hpp b/modules/demux/dash/mpd/TemplatedUri.hpp
+index 1eeb70cbb6..7f7264a9c8 100644
+--- a/modules/demux/dash/mpd/TemplatedUri.hpp
++++ b/modules/demux/dash/mpd/TemplatedUri.hpp
+@@ -21,6 +21,7 @@
+ #ifndef TEMPLATEDURI_HPP
+ #define TEMPLATEDURI_HPP
+ 
++#include <cstdint>
+ #include <string>
+ 
+ namespace dash
+-- 
+2.34.1
+
diff --git a/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/rpidistro-vlc_3.0.17.bb b/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/rpidistro-vlc_3.0.17.bb
index 8b8ac4a..2250774 100644
--- a/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/rpidistro-vlc_3.0.17.bb
+++ b/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/rpidistro-vlc_3.0.17.bb
@@ -15,6 +15,7 @@
     file://0006-mmal_chain.patch \
     file://0007-armv6.patch \
     file://0008-configure-Disable-incompatible-function-pointer-type.patch \
+    file://0009-demux-dash-include-cstdint-needed-for-uint64_t.patch \
     file://2001-fix-luaL-checkint.patch \
     file://2002-use-vorbisidec.patch \
     file://3001-configure.ac-setup-for-OE-usage.patch \
diff --git a/meta-raspberrypi/kas-poky-rpi.yml b/meta-raspberrypi/kas-poky-rpi.yml
index 2ab4770..ce59eca 100644
--- a/meta-raspberrypi/kas-poky-rpi.yml
+++ b/meta-raspberrypi/kas-poky-rpi.yml
@@ -55,7 +55,7 @@
         STOPTASKS,${DL_DIR},1G,100K \
         STOPTASKS,${SSTATE_DIR},1G,100K \
         STOPTASKS,/tmp,100M,100K \
-        ABORT,${TMPDIR},100M,1K \
-        ABORT,${DL_DIR},100M,1K \
-        ABORT,${SSTATE_DIR},100M,1K \
-        ABORT,/tmp,10M,1K"
+        HALT,${TMPDIR},100M,1K \
+        HALT,${DL_DIR},100M,1K \
+        HALT,${SSTATE_DIR},100M,1K \
+        HALT,/tmp,10M,1K"
diff --git a/meta-raspberrypi/recipes-multimedia/libcamera-apps/rpi-libcamera-apps_git.bb b/meta-raspberrypi/recipes-multimedia/libcamera-apps/rpi-libcamera-apps_git.bb
deleted file mode 100644
index 062ded9..0000000
--- a/meta-raspberrypi/recipes-multimedia/libcamera-apps/rpi-libcamera-apps_git.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "A suite of libcamera-based apps for the Raspberry Pi"
-DESCRIPTION = "This is a small suite of libcamera-based apps that aim to \
-copy the functionality of the existing \"raspicam\" apps."
-HOMEPAGE = "https://github.com/raspberrypi/libcamera-apps"
-SECTION = "console/utils"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://license.txt;md5=a0013d1b383d72ba4bdc5b750e7d1d77"
-
-SRC_URI = "\
-    git://github.com/raspberrypi/libcamera-apps.git;protocol=https;branch=main \
-    file://0001-utils-version.py-use-usr-bin-env-in-shebang.patch \
-"
-PV = "1.1.2+git${SRCPV}"
-SRCREV = "12098520a3dec36ba796655baac7efece457f8d8"
-
-S = "${WORKDIR}/git"
-
-COMPATIBLE_MACHINE = "^rpi$"
-
-DEPENDS = "libcamera libexif jpeg tiff libpng boost"
-
-inherit cmake pkgconfig
-
-EXTRA_OECMAKE = "\
-    -DCMAKE_BUILD_TYPE=Release \
-    -DBoost_INCLUDE_DIR=${STAGING_INCDIR} \
-    -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR} \
-"
-
-LIBCAMERA_ARCH = "${TARGET_ARCH}"
-LIBCAMERA_ARCH:aarch64 = "arm64"
-LIBCAMERA_ARCH:arm = "armv8-neon"
-EXTRA_OECMAKE += "-DENABLE_COMPILE_FLAGS_FOR_TARGET=${LIBCAMERA_ARCH}"
-
-PACKAGECONFIG[x11] = "-DENABLE_X11=1,-DENABLE_X11=0"
-PACKAGECONFIG[qt] = "-DENABLE_QT=1,-DENABLE_QT=0"
-PACKAGECONFIG[opencv] = "-DENABLE_OPENCV=1,-DENABLE_OPENCV=0"
-PACKAGECONFIG[tensorflow-lite] = "-DENABLE_TFLITE=1,-DENABLE_TFLITE=0"
-
-do_install:append() {
-    # Requires python3-core which not all systems may have
-    rm -v ${D}/${bindir}/camera-bug-report
-}
diff --git a/meta-security/conf/layer.conf b/meta-security/conf/layer.conf
index 334a945..a436f97 100644
--- a/meta-security/conf/layer.conf
+++ b/meta-security/conf/layer.conf
@@ -26,6 +26,6 @@
 # Setting SKIP_META_SECURITY_SANITY_CHECK to "1" would skip the bbappend files check.
 INHERIT += "sanity-meta-security"
 
-QB_KERNEL_CMDLINE_APPEND = " ${@bb.utils.contains('DISTRO_FEATURES', 'apparmor', 'apparmor=1 security=apparmor', '', d)}"
-
 addpylib ${LAYERDIR}/lib oeqa
+
+WARN_QA:append:security = " patch-status missing-metadata"
diff --git a/meta-security/dynamic-layers/meta-perl/recipes-security/bastille/bastille_3.2.1.bb b/meta-security/dynamic-layers/meta-perl/recipes-security/bastille/bastille_3.2.1.bb
index e7852d9..f2ef335 100644
--- a/meta-security/dynamic-layers/meta-perl/recipes-security/bastille/bastille_3.2.1.bb
+++ b/meta-security/dynamic-layers/meta-perl/recipes-security/bastille/bastille_3.2.1.bb
@@ -138,7 +138,7 @@
 	install -m 0644 OSMap/OSX.bastille    ${D}${datadir}/Bastille/OSMap
 	install -m 0644 OSMap/OSX.system    ${D}${datadir}/Bastille/OSMap
 
-	install -m 0777 ${WORKDIR}/config ${D}${sysconfdir}/Bastille/config
+	install -m 0644 ${WORKDIR}/config ${D}${sysconfdir}/Bastille/config
 
 	for file in `cat Modules.txt` ; do
 		install -m 0644 Questions/$file.txt ${D}${datadir}/Bastille/Questions
diff --git a/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-flask-script_2.0.6.bb b/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-flask-script_2.0.6.bb
new file mode 100644
index 0000000..377ad02
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-flask-script_2.0.6.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Scripting support for flask"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e686048adb69341fc8a08caeda528b41"
+
+SRC_URI[md5sum] = "3fbd91fe13cebedfb2431331f6eabb68"
+SRC_URI[sha256sum] = "6425963d91054cfcc185807141c7314a9c5ad46325911bd24dcb489bd0161c65"
+
+PYPI_PACKAGE = "Flask-Script"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "\
+    ${PYTHON_PN}-flask \
+    "
diff --git a/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-json2html_1.3.0.bb b/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-json2html_1.3.0.bb
new file mode 100644
index 0000000..638c56f
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-json2html_1.3.0.bb
@@ -0,0 +1,9 @@
+DESCRIPTION="Python wrapper to convert JSON into a human readable HTML Table representation."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8065590663ea0c10aa131841ea806767"
+
+SRC_URI[sha256sum] = "8951a53662ae9cfd812685facdba693fc950ffc1c1fd1a8a2d3cf4c34600689c"
+
+PYPI_PACKAGE = "json2html"
+
+inherit pypi setuptools3
diff --git a/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-segno_1.5.2.bb b/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-segno_1.5.2.bb
new file mode 100644
index 0000000..f8a6552
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-segno_1.5.2.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "QR Code and Micro QR Code generator for Python 2 and Python 3"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8e8db3765a57bcb968140e0a353c1a35"
+
+SRC_URI[sha256sum] = "983424b296e62189d70fc73460cd946cf56dcbe82b9bda18c066fc1b24371cdc"
+
+#PYPI_PACKAGE = "Flask-Script"
+
+inherit pypi setuptools3
diff --git a/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-xmldiff_2.6.3.bb b/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-xmldiff_2.6.3.bb
new file mode 100644
index 0000000..517ed87
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-xmldiff_2.6.3.bb
@@ -0,0 +1,9 @@
+DESCRIPTION="Creates diffs of XML files"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=0d0e9e3949e163c3edd1e097b8b0ed62"
+
+SRC_URI[sha256sum] = "19b030b3fa37d1f0b5c5ad9ada9059884c3bf2c751c5dd8f1eb4ed49cfe3fc60"
+
+PYPI_PACKAGE = "xmldiff"
+
+inherit pypi setuptools3
diff --git a/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-yamlpath_3.8.0.bb b/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-yamlpath_3.8.0.bb
new file mode 100644
index 0000000..5d88951
--- /dev/null
+++ b/meta-security/dynamic-layers/meta-python/recipes-devtools/python/python3-yamlpath_3.8.0.bb
@@ -0,0 +1,9 @@
+DESCRIPTION="YAML Path and Command-Line Tools"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5abda174c5040dd12ed2b225e3a096f0"
+
+SRC_URI[sha256sum] = "81d5b8baba60c255b519ccd31a691f9bc064223ff196709d41119bde81bba49e"
+
+PYPI_PACKAGE = "yamlpath"
+
+inherit pypi setuptools3
diff --git a/meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.8.1.bb b/meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.8.1.bb
index 8bb88f1..aa7bafa 100644
--- a/meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.8.1.bb
+++ b/meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.8.1.bb
@@ -21,8 +21,7 @@
 
 FILES:${PN} += " ${prefix}/etc/privacyidea/* ${prefix}/lib/privacyidea/*"
 
-RDEPENDS:${PN} += " bash perl freeradius-mysql freeradius-utils"
-
+RDEPENDS:${PN} = " bash perl freeradius-mysql freeradius-utils"
 RDEPENDS:${PN} += "python3 python3-alembic python3-babel python3-bcrypt"
 RDEPENDS:${PN} += "python3-beautifulsoup4 python3-cbor2 python3-certifi python3-cffi python3-chardet"
 RDEPENDS:${PN} += "python3-click python3-configobj python3-croniter python3-cryptography python3-defusedxml"
@@ -34,5 +33,5 @@
 RDEPENDS:${PN} += "python3-pyasn1 python3-pyasn1-modules python3-pycparser python3-pyjwt python3-pymysql"
 RDEPENDS:${PN} += "python3-pyopenssl python3-pyrad python3-dateutil python3-editor python3-gnupg"
 RDEPENDS:${PN} += "python3-pytz python3-pyyaml python3-qrcode python3-redis python3-requests python3-rsa"
-RDEPENDS:${PN} += "python3-six python3-smpplib python3-soupsieve python3-soupsieve "
-RDEPENDS:${PN} += "python3-sqlalchemy python3-sqlsoup python3-urllib3 python3-werkzeug"
+RDEPENDS:${PN} += "python3-smpplib python3-soupsieve python3-segno python3-importlib-metadata"
+RDEPENDS:${PN} += "python3-sqlalchemy python3-urllib3 python3-werkzeug"
diff --git a/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/0001-sssctl-add-error-analyzer.patch b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/0001-sssctl-add-error-analyzer.patch
new file mode 100644
index 0000000..6880405
--- /dev/null
+++ b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/0001-sssctl-add-error-analyzer.patch
@@ -0,0 +1,318 @@
+Backport patch to fix interpreter of sss_analyze.
+
+Upstream-Status: Backport [https://github.com/SSSD/sssd/commit/ed3726c]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From ed3726c37fe07aab788404bfa2f9003db15f4210 Mon Sep 17 00:00:00 2001
+From: roy214 <abroy@redhat.com>
+Date: Tue, 25 Apr 2023 20:01:24 +0530
+Subject: [PATCH] sssctl: add error analyzer
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Also removing unused variable and import.
+
+Reviewed-by: Justin Stephenson <jstephen@redhat.com>
+Reviewed-by: Tomáš Halman <thalman@redhat.com>
+---
+ src/tools/analyzer/Makefile.am        |  2 +
+ src/tools/analyzer/modules/error.py   | 61 +++++++++++++++++++++++++++
+ src/tools/analyzer/modules/request.py | 54 +++++-------------------
+ src/tools/analyzer/sss_analyze        |  2 +-
+ src/tools/analyzer/sss_analyze.py     |  3 ++
+ src/tools/analyzer/util.py            | 44 +++++++++++++++++++
+ 6 files changed, 121 insertions(+), 45 deletions(-)
+ create mode 100644 src/tools/analyzer/modules/error.py
+ create mode 100644 src/tools/analyzer/util.py
+
+diff --git a/src/tools/analyzer/Makefile.am b/src/tools/analyzer/Makefile.am
+index b40043d043..7692af8528 100644
+--- a/src/tools/analyzer/Makefile.am
++++ b/src/tools/analyzer/Makefile.am
+@@ -13,10 +13,12 @@ dist_pkgpython_DATA = \
+     source_reader.py \
+     parser.py \
+     sss_analyze.py \
++    util.py \
+     $(NULL)
+ 
+ modulesdir = $(pkgpythondir)/modules
+ dist_modules_DATA = \
+     modules/__init__.py \
+     modules/request.py \
++    modules/error.py \
+     $(NULL)
+diff --git a/src/tools/analyzer/modules/error.py b/src/tools/analyzer/modules/error.py
+new file mode 100644
+index 0000000000..71173670c5
+--- /dev/null
++++ b/src/tools/analyzer/modules/error.py
+@@ -0,0 +1,61 @@
++from sssd import util
++from sssd.parser import SubparsersAction
++from sssd import sss_analyze
++
++class ErrorAnalyzer:
++    """
++    An error analyzer module, list if there is any error reported by sssd_be
++    """
++    module_parser = None
++    print_opts = []
++
++    def print_module_help(self, args):
++        """
++        Print the module parser help output
++
++        Args:
++            args (Namespace): argparse parsed arguments
++        """
++        self.module_parser.print_help()
++
++    def setup_args(self, parser_grp, cli):
++        """
++        Setup module parser, subcommands, and options
++
++        Args:
++            parser_grp (argparse.Action): Parser group to nest
++               module and subcommands under
++        """
++        desc = "Analyze error check module"
++        self.module_parser = parser_grp.add_parser('error',
++                                                   description=desc,
++                                                   help='Error checker')
++
++        subparser = self.module_parser.add_subparsers(title=None,
++                                                      dest='subparser',
++                                                      action=SubparsersAction,
++                                                      metavar='COMMANDS')
++
++        subcmd_grp = subparser.add_parser_group('Operation Modes')
++        cli.add_subcommand(subcmd_grp, 'list', 'Print error messages found in backend',
++                           self.print_error, self.print_opts)
++
++        self.module_parser.set_defaults(func=self.print_module_help)
++
++        return self.module_parser
++
++    def print_error(self, args):
++        err = 0
++        utl = util.Utils()
++        source = utl.load(args)
++        component = source.Component.BE
++        source.set_component(component, False)
++        patterns = ['sdap_async_sys_connect request failed', 'terminated by own WATCHDOG',
++            'ldap_sasl_interactive_bind_s failed', 'Communication with KDC timed out', 'SSSD is offline', 'Backend is offline',
++            'tsig verify failure', 'ldap_install_tls failed', 's2n exop request failed']
++        for line in utl.matched_line(source, patterns):
++            err +=1
++            print(line)
++        if err > 0:
++            print("For possible solutions please refer to https://sssd.io/troubleshooting/errors.html")
++        return
+diff --git a/src/tools/analyzer/modules/request.py b/src/tools/analyzer/modules/request.py
+index d661dddb84..e4d5f060c7 100644
+--- a/src/tools/analyzer/modules/request.py
++++ b/src/tools/analyzer/modules/request.py
+@@ -1,6 +1,6 @@
+ import re
+ import logging
+-
++from sssd import util
+ from sssd.parser import SubparsersAction
+ from sssd.parser import Option
+ 
+@@ -38,7 +38,6 @@ def print_module_help(self, args):
+     def setup_args(self, parser_grp, cli):
+         """
+         Setup module parser, subcommands, and options
+-
+         Args:
+             parser_grp (argparse.Action): Parser group to nest
+                module and subcommands under
+@@ -63,42 +62,6 @@ def setup_args(self, parser_grp, cli):
+ 
+         return self.module_parser
+ 
+-    def load(self, args):
+-        """
+-        Load the appropriate source reader.
+-
+-        Args:
+-            args (Namespace): argparse parsed arguments
+-
+-        Returns:
+-            Instantiated source object
+-        """
+-        if args.source == "journald":
+-            from sssd.source_journald import Journald
+-            source = Journald()
+-        else:
+-            from sssd.source_files import Files
+-            source = Files(args.logdir)
+-        return source
+-
+-    def matched_line(self, source, patterns):
+-        """
+-        Yield lines which match any number of patterns (OR) in
+-        provided patterns list.
+-
+-        Args:
+-            source (Reader): source Reader object
+-        Yields:
+-            lines matching the provided pattern(s)
+-        """
+-        for line in source:
+-            for pattern in patterns:
+-                re_obj = re.compile(pattern)
+-                if re_obj.search(line):
+-                    if line.startswith('   *  '):
+-                        continue
+-                    yield line
+-
+     def get_linked_ids(self, source, pattern, regex):
+         """
+         Retrieve list of associated REQ_TRACE ids. Filter
+@@ -114,8 +77,9 @@ def get_linked_ids(self, source, pattern, regex):
+         Returns:
+             List of linked ids discovered
+         """
++        utl = util.Utils()
+         linked_ids = []
+-        for match in self.matched_line(source, pattern):
++        for match in utl.matched_line(source, pattern):
+             id_re = re.compile(regex)
+             match = id_re.search(match)
+             if match:
+@@ -250,7 +214,8 @@ def list_requests(self, args):
+         Args:
+             args (Namespace):  populated argparse namespace
+         """
+-        source = self.load(args)
++        utl = util.Utils()
++        source = utl.load(args)
+         component = source.Component.NSS
+         resp = "nss"
+         # Log messages matching the following regex patterns contain
+@@ -266,7 +231,7 @@ def list_requests(self, args):
+         if args.verbose:
+             self.print_formatted_verbose(source)
+         else:
+-            for line in self.matched_line(source, patterns):
++            for line in utl.matched_line(source, patterns):
+                 if type(source).__name__ == 'Journald':
+                     print(line)
+                 else:
+@@ -279,7 +244,8 @@ def track_request(self, args):
+         Args:
+             args (Namespace):  populated argparse namespace
+         """
+-        source = self.load(args)
++        utl = util.Utils()
++        source = utl.load(args)
+         cid = args.cid
+         resp_results = False
+         be_results = False
+@@ -294,7 +260,7 @@ def track_request(self, args):
+         logger.info(f"******** Checking {resp} responder for Client ID"
+                     f" {cid} *******")
+         source.set_component(component, args.child)
+-        for match in self.matched_line(source, pattern):
++        for match in utl.matched_line(source, pattern):
+             resp_results = self.consume_line(match, source, args.merge)
+ 
+         logger.info(f"********* Checking Backend for Client ID {cid} ********")
+@@ -307,7 +273,7 @@ def track_request(self, args):
+         pattern.clear()
+         [pattern.append(f'\\{id}') for id in be_ids]
+ 
+-        for match in self.matched_line(source, pattern):
++        for match in utl.matched_line(source, pattern):
+             be_results = self.consume_line(match, source, args.merge)
+ 
+         if args.merge:
+diff --git a/src/tools/analyzer/sss_analyze b/src/tools/analyzer/sss_analyze
+index 3f1beaf38b..6d4b5b30c6 100755
+--- a/src/tools/analyzer/sss_analyze
++++ b/src/tools/analyzer/sss_analyze
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ 
+ from sssd import sss_analyze
+ 
+diff --git a/src/tools/analyzer/sss_analyze.py b/src/tools/analyzer/sss_analyze.py
+index 18b998f380..dafc84fc03 100644
+--- a/src/tools/analyzer/sss_analyze.py
++++ b/src/tools/analyzer/sss_analyze.py
+@@ -1,6 +1,7 @@
+ import argparse
+ 
+ from sssd.modules import request
++from sssd.modules import error
+ from sssd.parser import SubparsersAction
+ 
+ 
+@@ -55,9 +56,11 @@ def load_modules(self, parser, parser_grp):
+         """
+         # Currently only the 'request' module exists
+         req = request.RequestAnalyzer()
++        err = error.ErrorAnalyzer()
+         cli = Analyzer()
+ 
+         req.setup_args(parser_grp, cli)
++        err.setup_args(parser_grp, cli)
+ 
+     def setup_args(self):
+         """
+diff --git a/src/tools/analyzer/util.py b/src/tools/analyzer/util.py
+new file mode 100644
+index 0000000000..2a8d153a71
+--- /dev/null
++++ b/src/tools/analyzer/util.py
+@@ -0,0 +1,44 @@
++import re
++import logging
++
++from sssd.source_files import Files
++from sssd.source_journald import Journald
++
++logger = logging.getLogger()
++
++
++class Utils:
++
++    def load(self, args):
++        """
++        Load the appropriate source reader.
++
++        Args:
++            args (Namespace): argparse parsed arguments
++
++        Returns:
++            Instantiated source object
++        """
++        if args.source == "journald":
++            source = Journald()
++        else:
++            source = Files(args.logdir)
++        return source
++
++    def matched_line(self, source, patterns):
++        """
++        Yield lines which match any number of patterns (OR) in
++        provided patterns list.
++
++        Args:
++            source (Reader): source Reader object
++        Yields:
++            lines matching the provided pattern(s)
++        """
++        for line in source:
++            for pattern in patterns:
++                re_obj = re.compile(pattern)
++                if re_obj.search(line):
++                    if line.startswith('   *  '):
++                        continue
++                    yield line
diff --git a/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/sssd_2.7.4.bb b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/sssd_2.9.1.bb
similarity index 95%
rename from meta-security/dynamic-layers/networking-layer/recipes-security/sssd/sssd_2.7.4.bb
rename to meta-security/dynamic-layers/networking-layer/recipes-security/sssd/sssd_2.9.1.bb
index 78d29c3..9fa9d3b 100644
--- a/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/sssd_2.7.4.bb
+++ b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/sssd_2.9.1.bb
@@ -16,7 +16,7 @@
 DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'nss', '', \
                bb.utils.contains('PACKAGECONFIG', 'crypto', '', 'nss', d), d)}"
 
-SRC_URI = "https://github.com/SSSD/sssd/releases/download/${PV}/sssd-${PV}.tar.gz \
+SRC_URI = "https://github.com/SSSD/sssd/releases/download/${PV}/${BP}.tar.gz \
            file://sssd.conf \
            file://volatiles.99_sssd \
            file://no_gen.patch \
@@ -24,9 +24,10 @@
            file://drop_ntpdate_chk.patch \
            file://fix-ldblibdir.patch \
            file://musl_fixup.patch \
+           file://0001-sssctl-add-error-analyzer.patch \
            "
 
-SRC_URI[sha256sum] = "10ef90c63fdbfda905145077679035bd5ad16b24daad13160de8d0ff82ea9950"
+SRC_URI[sha256sum] = "97703d38159994a869aad1c852de4582c76f189cf044f51e15ba26e1e4b75298"
 
 UPSTREAM_CHECK_URI = "https://github.com/SSSD/${BPN}/releases"
 
@@ -58,7 +59,7 @@
 PACKAGECONFIG[selinux] = "--with-selinux, --with-selinux=no --with-semanage=no, libselinux"
 PACKAGECONFIG[ssh] = "--with-ssh, --with-ssh=no, "
 PACKAGECONFIG[sudo] = "--with-sudo, --with-sudo=no, "
-PACKAGECONFIG[systemd] = "--with-initscript=systemd,--with-initscript=sysv"
+PACKAGECONFIG[systemd] = "--with-initscript=systemd,--with-initscript=sysv,,python3-systemd"
 
 EXTRA_OECONF += " \
     --disable-cifs-idmap-plugin \
@@ -146,6 +147,7 @@
 
 FILES:${PN} += "${base_libdir}/security/pam_sss*.so  \
                 ${nonarch_libdir}/tmpfiles.d \
+                ${datadir}/dbus-1/system.d/*.conf \
                 ${datadir}/dbus-1/system-services/*.service \
                 ${libdir}/krb5/* \
                 ${libdir}/ldb/* \
diff --git a/meta-security/meta-hardening/conf/layer.conf b/meta-security/meta-hardening/conf/layer.conf
index 1dbc537..4bc1cac 100644
--- a/meta-security/meta-hardening/conf/layer.conf
+++ b/meta-security/meta-hardening/conf/layer.conf
@@ -11,3 +11,5 @@
 LAYERSERIES_COMPAT_harden-layer = "mickledore"
 
 LAYERDEPENDS_harden-layer = "core openembedded-layer"
+
+WARN_QA:append:harden-layer = " patch-status missing-metadata"
diff --git a/meta-security/meta-integrity/conf/layer.conf b/meta-security/meta-integrity/conf/layer.conf
index 0622a5f..7a9c1d1 100644
--- a/meta-security/meta-integrity/conf/layer.conf
+++ b/meta-security/meta-integrity/conf/layer.conf
@@ -35,3 +35,5 @@
 "
 
 addpylib ${LAYERDIR}/lib oeqa
+
+WARN_QA:append:integrity = " patch-status missing-metadata"
diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg b/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg
deleted file mode 100644
index d7d80a6..0000000
--- a/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg
+++ /dev/null
@@ -1,45 +0,0 @@
-CONFIG_KEYS=y
-CONFIG_ASYMMETRIC_KEY_TYPE=y
-CONFIG_SYSTEM_TRUSTED_KEYRING=y
-CONFIG_SYSTEM_TRUSTED_KEYS="${IMA_EVM_ROOT_CA}"
-CONFIG_SECONDARY_TRUSTED_KEYRING=y
-CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
-CONFIG_X509_CERTIFICATE_PARSER=y
-CONFIG_PKCS8_PRIVATE_KEY_PARSER=y
-CONFIG_CRYPTO_ECDSA=y
-CONFIG_SECURITY=y
-CONFIG_SECURITYFS=y
-CONFIG_INTEGRITY=y
-CONFIG_INTEGRITY_SIGNATURE=y
-CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
-CONFIG_INTEGRITY_TRUSTED_KEYRING=y
-CONFIG_IMA=y
-CONFIG_IMA_MEASURE_PCR_IDX=10
-CONFIG_IMA_LSM_RULES=y
-# CONFIG_IMA_TEMPLATE is not set
-# CONFIG_IMA_NG_TEMPLATE is not set
-CONFIG_IMA_SIG_TEMPLATE=y
-CONFIG_IMA_DEFAULT_TEMPLATE="ima-sig"
-# CONFIG_IMA_DEFAULT_HASH_SHA1 is not set
-CONFIG_IMA_DEFAULT_HASH_SHA256=y
-# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set
-CONFIG_IMA_DEFAULT_HASH="sha256"
-CONFIG_IMA_WRITE_POLICY=y
-CONFIG_IMA_READ_POLICY=y
-CONFIG_IMA_APPRAISE=y
-CONFIG_IMA_ARCH_POLICY=y
-CONFIG_IMA_APPRAISE_BUILD_POLICY=y
-CONFIG_IMA_APPRAISE_REQUIRE_POLICY_SIGS=y
-# CONFIG_IMA_APPRAISE_BOOTPARAM is not set
-# CONFIG_IMA_APPRAISE_MODSIG is not set
-CONFIG_IMA_TRUSTED_KEYRING=y
-CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y
-# CONFIG_IMA_BLACKLIST_KEYRING is not set
-# CONFIG_IMA_LOAD_X509 is not set
-CONFIG_IMA_APPRAISE_SIGNED_INIT=y
-CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y
-CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y
-CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT=y
-# CONFIG_IMA_DISABLE_HTABLE is not set
-CONFIG_EVM=y
-# CONFIG_EVM_LOAD_X509 is not set
diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.scc b/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.scc
deleted file mode 100644
index 6eb84b0..0000000
--- a/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.scc
+++ /dev/null
@@ -1,4 +0,0 @@
-define KFEATURE_DESCRIPTION "Enable IMA"
-
-kconf non-hardware ima.cfg
-
diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux_ima.inc b/meta-security/meta-integrity/recipes-kernel/linux/linux_ima.inc
index 7016800..415476a 100644
--- a/meta-security/meta-integrity/recipes-kernel/linux/linux_ima.inc
+++ b/meta-security/meta-integrity/recipes-kernel/linux/linux_ima.inc
@@ -1,8 +1,3 @@
-FILESEXTRAPATHS:append := "${THISDIR}/linux:"
-
-SRC_URI += " \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'file://ima.scc', '', d)} \
-"
 
 do_configure:append() {
     if [ "${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'yes', '', d)}" = "yes" ] && [ -f .config ] ; then
@@ -11,5 +6,6 @@
 }
 
 KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'modsign', ' features/ima/modsign.scc', '', d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ima', ' features/ima/ima.scc', '', d)}"
 
 inherit ${@bb.utils.contains('DISTRO_FEATURES', 'modsign', 'kernel-modsign', '', d)}
diff --git a/meta-security/meta-parsec/conf/layer.conf b/meta-security/meta-parsec/conf/layer.conf
index 7d272a2..b162289 100644
--- a/meta-security/meta-parsec/conf/layer.conf
+++ b/meta-security/meta-parsec/conf/layer.conf
@@ -14,3 +14,5 @@
 BBLAYERS_LAYERINDEX_NAME_parsec-layer = "meta-parsec"
 
 addpylib ${LAYERDIR}/lib oeqa
+
+WARN_QA:append:parsec-layer = " patch-status missing-metadata"
diff --git a/meta-security/meta-tpm/conf/layer.conf b/meta-security/meta-tpm/conf/layer.conf
index 3b199f7..1f27031 100644
--- a/meta-security/meta-tpm/conf/layer.conf
+++ b/meta-security/meta-tpm/conf/layer.conf
@@ -26,3 +26,5 @@
 "
 
 addpylib ${LAYERDIR}/lib oeqa
+
+WARN_QA:append:tmp-layer = " patch-status missing-metadata"
diff --git a/meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb b/meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb
index fb0105e..b986097 100644
--- a/meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb
+++ b/meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb
@@ -20,4 +20,8 @@
     libtss2 \
     tpm2-abrmd \
     tpm2-pkcs11 \
+    tpm2-openssl \
+    tpm2-tss-engine \
+    tpm2-tss-engine-engines \
+    python3-tpm2-pytss \
     "
diff --git a/meta-security/meta-tpm/recipes-kernel/linux/linux-yocto-rt_%.bbappend b/meta-security/meta-tpm/recipes-kernel/linux/linux-yocto-rt_%.bbappend
new file mode 100644
index 0000000..e8027ff
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-kernel/linux/linux-yocto-rt_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains_any('DISTRO_FEATURES', 'tpm tpm2', 'linux-yocto_tpm.inc', '', d)}
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pytss/python3-tpm2-pytss_2.1.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-pytss/python3-tpm2-pytss_2.1.0.bb
new file mode 100644
index 0000000..c98d4ab
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-pytss/python3-tpm2-pytss_2.1.0.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "TPM2 TSS Python bindings for Enhanced System API (ESYS), Feature API (FAPI), Marshaling (MU), TCTI Loader (TCTILdr), TCTIs, policy, and RC Decoding (rcdecode) libraries"
+HOMEPAGE = "https://github.com/tpm2-software/tpm2-pytss"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da"
+
+SRC_URI[sha256sum] = "5b5b4b1456fdc1aeef3d2c3970beaa078c8f7f2648c97a69bcf60c5a2f95c897"
+
+PYPI_PACKAGE = "tpm2-pytss"
+
+DEPENDS = "python3-pkgconfig-native python3-pycparser-native python3-asn1crypto-native"
+DEPENDS:append = " python3-cryptography-native tpm2-tss" 
+
+inherit autotools pkgconfig pypi setuptools3_legacy
+
+RDEPENDS:${PN} = "libtss2"
diff --git a/meta-security/recipes-compliance/openscap/files/0003-CMakeLists.txt-make-2-variables-configurable.patch b/meta-security/recipes-compliance/openscap/files/0003-CMakeLists.txt-make-2-variables-configurable.patch
new file mode 100644
index 0000000..953b0d9
--- /dev/null
+++ b/meta-security/recipes-compliance/openscap/files/0003-CMakeLists.txt-make-2-variables-configurable.patch
@@ -0,0 +1,37 @@
+From f99c3f1f516a84d33794f8e3da59adea1a12ef54 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Tue, 20 Jun 2023 22:42:51 +0800
+Subject: [PATCH] CMakeLists.txt: make 2 variables configurable
+
+Variables PREFERRED_PYTHON_PATH and PYTHON3_PATH are set with
+${PYTHON_EXECUTABLE}. For cross compile, ${PYTHON_EXECUTABLE} may point
+to other path rather than standard dir such as /usr/bin. Then the
+generated library file contains such path which should NOT. Update to
+make variables PREFERRED_PYTHON_PATH and PYTHON3_PATH configurable to
+avoid such issue.
+
+Upstream-Status: Submitted [https://github.com/OpenSCAP/openscap/pull/1990]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5db014e77..74628cdd4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -125,8 +125,8 @@ endif()
+ find_package(PythonInterp 3)
+ find_package(PythonLibs 3)
+ 
+-set(PREFERRED_PYTHON_PATH "${PYTHON_EXECUTABLE}")
+-set(PYTHON3_PATH "${PYTHON_EXECUTABLE}")
++set(PREFERRED_PYTHON_PATH "${PYTHON_EXECUTABLE}" CACHE PATH "Path to preferred Python")
++set(PYTHON3_PATH "${PYTHON_EXECUTABLE}" CACHE PATH "Path to Python3")
+ 
+ find_package(RPM)
+ if(RPM_FOUND)
+-- 
+2.34.1
+
diff --git a/meta-security/recipes-compliance/openscap/openscap_1.3.8.bb b/meta-security/recipes-compliance/openscap/openscap_1.3.8.bb
index ecc347c..5abd5a6 100644
--- a/meta-security/recipes-compliance/openscap/openscap_1.3.8.bb
+++ b/meta-security/recipes-compliance/openscap/openscap_1.3.8.bb
@@ -12,6 +12,7 @@
 #Jun 22th, 2023
 SRCREV = "a81c66d9bc36612dd1ca83a8c959a59e172eb4b9"
 SRC_URI = "git://github.com/OpenSCAP/openscap.git;branch=maint-1.3;protocol=https \
+           file://0003-CMakeLists.txt-make-2-variables-configurable.patch \
            "
 
 S = "${WORKDIR}/git"
@@ -35,7 +36,9 @@
                   -DENABLE_PROBES_WINDOWS=OFF -DENABLE_VALGRIND=OFF \
                   -DENABLE_SCE=ON -DENABLE_MITRE=OFF -DENABLE_TESTS=OFF \
                   -DCMAKE_SKIP_INSTALL_RPATH=ON -DCMAKE_SKIP_RPATH=ON \
-                 "
+                  -DPREFERRED_PYTHON_PATH=${bindir}/python3 \
+                  -DPYTHON3_PATH=${bindir}/python3 \
+                  "
 
 STAGING_OSCAP_DIR = "${TMPDIR}/work-shared/${MACHINE}/oscap-source"
 STAGING_OSCAP_BUILDDIR = "${TMPDIR}/work-shared/openscap/oscap-build-artifacts"
diff --git a/meta-security/recipes-compliance/scap-security-guide/files/0001-scap-security-guide-add-Poky-support.patch b/meta-security/recipes-compliance/scap-security-guide/files/0001-scap-security-guide-add-Poky-support.patch
deleted file mode 100644
index 355f954..0000000
--- a/meta-security/recipes-compliance/scap-security-guide/files/0001-scap-security-guide-add-Poky-support.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 23a224203a73688567f500380644e5cf30c8ed99 Mon Sep 17 00:00:00 2001
-From: Armin Kuster <akuster808@gmail.com>
-Date: Thu, 22 Jun 2023 06:19:26 -0400
-Subject: [PATCH] scap-security-guide: add Poky support
-
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-Upstream-Status: Pending
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
----
- products/openembedded/product.yml             |  7 +++-
- .../openembedded/transforms/constants.xslt    |  4 +--
- shared/checks/oval/installed_OS_is_poky.xml   | 33 +++++++++++++++++++
- 3 files changed, 41 insertions(+), 3 deletions(-)
- create mode 100644 shared/checks/oval/installed_OS_is_poky.xml
-
-diff --git a/products/openembedded/product.yml b/products/openembedded/product.yml
-index 9f2f12d737..a495e197c0 100644
---- a/products/openembedded/product.yml
-+++ b/products/openembedded/product.yml
-@@ -14,6 +14,11 @@ init_system: "systemd"
- cpes_root: "../../shared/applicability"
- cpes:
-   - openembedded:
--      name: "cpe:/o:openembedded"
-+      name: "cpe:/o:openembedded:nodistro:"
-       title: "OpenEmbedded nodistro"
-       check_id: installed_OS_is_openembedded
-+
-+  - poky:
-+      name: "cpe:/o:openembedded:poky:"
-+      title: "OpenEmbedded Poky reference distribution"
-+      check_id: installed_OS_is_poky
-diff --git a/products/openembedded/transforms/constants.xslt b/products/openembedded/transforms/constants.xslt
-index 85e812a7c1..8901def2f9 100644
---- a/products/openembedded/transforms/constants.xslt
-+++ b/products/openembedded/transforms/constants.xslt
-@@ -2,8 +2,8 @@
- 
- <xsl:include href="../../../shared/transforms/shared_constants.xslt"/>
- 
--<xsl:variable name="product_long_name">OpenEmbedded nodistro</xsl:variable>
--<xsl:variable name="product_short_name">OE nodistro</xsl:variable>
-+<xsl:variable name="product_long_name">OpenEmbedded based distribution</xsl:variable>
-+<xsl:variable name="product_short_name">OE distros</xsl:variable>
- <xsl:variable name="product_stig_id_name">empty</xsl:variable>
- <xsl:variable name="prod_type">openembedded</xsl:variable>
- 
-diff --git a/shared/checks/oval/installed_OS_is_poky.xml b/shared/checks/oval/installed_OS_is_poky.xml
-new file mode 100644
-index 0000000000..9c41acd786
---- /dev/null
-+++ b/shared/checks/oval/installed_OS_is_poky.xml
-@@ -0,0 +1,33 @@
-+<def-group>
-+  <definition class="inventory" id="installed_OS_is_poky" version="1">
-+    <metadata>
-+      <title>Poky</title>
-+      <affected family="unix">
-+        <platform>multi_platform_all</platform>
-+      </affected>
-+      <description>The operating system installed is a Poky referenece based System</description>
-+    </metadata>
-+    <criteria comment="System is Poky reference distribution" operator="AND">
-+      <extend_definition comment="Installed OS is part of the Unix family" definition_ref="installed_OS_is_part_of_Unix_family" />
-+      <criterion comment="Poky based distro" test_ref="test_os_release_poky" />
-+      <criterion comment="Poky referenece distribution is installed" test_ref="test_poky" />
-+    </criteria>
-+  </definition>
-+
-+  <unix:file_test check="all" check_existence="all_exist" comment="/etc/os-release exists" id="test_os_release_poky" version="1">
-+    <unix:object object_ref="obj_os_release_poky" />
-+  </unix:file_test>
-+  <unix:file_object comment="check /etc/os-release file" id="obj_os_release_poky" version="1">
-+    <unix:filepath>/etc/os-release</unix:filepath>
-+  </unix:file_object>
-+
-+  <ind:textfilecontent54_test check="all" check_existence="at_least_one_exists" comment="Check OpenEmbedded" id="test_poky" version="1">
-+    <ind:object object_ref="obj_poky" />
-+  </ind:textfilecontent54_test>
-+  <ind:textfilecontent54_object id="obj_poky" version="1" comment="Check Poky">
-+    <ind:filepath>/etc/os-release</ind:filepath>
-+    <ind:pattern operation="pattern match">^ID=poky$</ind:pattern>
-+    <ind:instance datatype="int">1</ind:instance>
-+  </ind:textfilecontent54_object>
-+
-+</def-group>
--- 
-2.34.1
-
diff --git a/meta-security/recipes-compliance/scap-security-guide/files/0001-scap-security-guide-add-openembedded-distro-support.patch b/meta-security/recipes-compliance/scap-security-guide/files/0001-scap-security-guide-add-openembedded-distro-support.patch
new file mode 100644
index 0000000..0db2b12
--- /dev/null
+++ b/meta-security/recipes-compliance/scap-security-guide/files/0001-scap-security-guide-add-openembedded-distro-support.patch
@@ -0,0 +1,388 @@
+From 826dd5b109f79270819703a23cc8066895d68042 Mon Sep 17 00:00:00 2001
+From: Armin Kuster <akuster808@gmail.com>
+Date: Wed, 14 Jun 2023 07:46:55 -0400
+Subject: [PATCH 1/2] scap-security-guide: add openembedded distro support
+
+includes a standard profile for out-of-the-box checks
+
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Upstream-Status: Pending
+https://github.com/ComplianceAsCode/content/pull/10793
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+---
+ CMakeLists.txt                                |   5 +
+ build_product                                 |   1 +
+ products/openembedded/CMakeLists.txt          |   6 +
+ products/openembedded/product.yml             |  19 ++
+ .../openembedded/profiles/standard.profile    | 166 ++++++++++++++++++
+ .../openembedded/transforms/constants.xslt    |  10 ++
+ .../oval/installed_OS_is_openembedded.xml     |  33 ++++
+ .../oval/sysctl_kernel_ipv6_disable.xml       |   1 +
+ ssg/constants.py                              |   5 +-
+ 9 files changed, 245 insertions(+), 1 deletion(-)
+ create mode 100644 products/openembedded/CMakeLists.txt
+ create mode 100644 products/openembedded/product.yml
+ create mode 100644 products/openembedded/profiles/standard.profile
+ create mode 100644 products/openembedded/transforms/constants.xslt
+ create mode 100644 shared/checks/oval/installed_OS_is_openembedded.xml
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6b1ac00ff9..e4191f2cef 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -97,6 +97,7 @@ option(SSG_PRODUCT_UBUNTU1804 "If enabled, the Ubuntu 18.04 SCAP content will be
+ option(SSG_PRODUCT_UBUNTU2004 "If enabled, the Ubuntu 20.04 SCAP content will be built" ${SSG_PRODUCT_DEFAULT})
+ option(SSG_PRODUCT_UBUNTU2204 "If enabled, the Ubuntu 22.04 SCAP content will be built" ${SSG_PRODUCT_DEFAULT})
+ option(SSG_PRODUCT_UOS20 "If enabled, the Uos 20 SCAP content will be built" ${SSG_PRODUCT_DEFAULT})
++option(SSG_PRODUCT_OE "If enabled, the OpenEmbedded SCAP content will be built" ${SSG_PRODUCT_DEFAULT})
+ 
+ 
+ option(SSG_CENTOS_DERIVATIVES_ENABLED "If enabled, CentOS derivative content will be built from the RHEL content" TRUE)
+@@ -291,6 +292,7 @@ message(STATUS "Ubuntu 18.04: ${SSG_PRODUCT_UBUNTU1804}")
+ message(STATUS "Ubuntu 20.04: ${SSG_PRODUCT_UBUNTU2004}")
+ message(STATUS "Ubuntu 22.04: ${SSG_PRODUCT_UBUNTU2204}")
+ message(STATUS "Uos 20: ${SSG_PRODUCT_UOS20}")
++message(STATUS "OpenEmbedded: ${SSG_PRODUCT_OE}")
+ 
+ 
+ message(STATUS " ")
+@@ -409,6 +411,9 @@ endif()
+ if(SSG_PRODUCT_UOS20)
+     add_subdirectory("products/uos20" "uos20")
+ endif()
++if (SSG_PRODUCT_OE)
++    add_subdirectory("products/openembedded" "openembedded")
++endif()
+ 
+ # ZIP only contains source datastreams and kickstarts, people who
+ # want sources to build from should get the tarball instead.
+diff --git a/build_product b/build_product
+index fc793cbe70..7bdc03edfe 100755
+--- a/build_product
++++ b/build_product
+@@ -333,6 +333,7 @@ all_cmake_products=(
+ 	UBUNTU2204
+ 	UOS20
+ 	MACOS1015
++	OPENEMBEDDED
+ )
+ 
+ DEFAULT_OVAL_MAJOR_VERSION=5
+diff --git a/products/openembedded/CMakeLists.txt b/products/openembedded/CMakeLists.txt
+new file mode 100644
+index 0000000000..1981adf53e
+--- /dev/null
++++ b/products/openembedded/CMakeLists.txt
+@@ -0,0 +1,6 @@
++# Sometimes our users will try to do: "cd openembedded; cmake ." That needs to error in a nice way.
++if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
++    message(FATAL_ERROR "cmake has to be used on the root CMakeLists.txt, see the Building ComplianceAsCode section in the Developer Guide!")
++endif()
++
++ssg_build_product("openembedded")
+diff --git a/products/openembedded/product.yml b/products/openembedded/product.yml
+new file mode 100644
+index 0000000000..debf6870ef
+--- /dev/null
++++ b/products/openembedded/product.yml
+@@ -0,0 +1,19 @@
++product: openembedded
++full_name: OpemEmbedded 
++type: platform
++
++benchmark_id: OPENEMBEDDED
++benchmark_root: "../../linux_os/guide"
++
++profiles_root: "./profiles"
++
++pkg_manager: "dnf"
++
++init_system: "systemd"
++
++cpes_root: "../../shared/applicability"
++cpes:
++  - openembedded:
++      name: "cpe:/o:openembedded:nodistro:"
++      title: "OpenEmbedded nodistro"
++      check_id: installed_OS_is_openembedded
+diff --git a/products/openembedded/profiles/standard.profile b/products/openembedded/profiles/standard.profile
+new file mode 100644
+index 0000000000..fcb9e0e5c2
+--- /dev/null
++++ b/products/openembedded/profiles/standard.profile
+@@ -0,0 +1,166 @@
++documentation_complete: true
++
++title: 'Sample Security Profile for OpenEmbedded Distros'
++
++description: |-
++    This profile is an sample for use in documentation and example content.
++    The selected rules are standard and should pass quickly on most systems.
++
++selections:
++    - file_owner_etc_passwd
++    - file_groupowner_etc_passwd
++    - service_crond_enabled
++    - file_groupowner_crontab
++    - file_owner_crontab
++    - file_permissions_crontab
++    - file_groupowner_cron_hourly
++    - file_owner_cron_hourly
++    - file_permissions_cron_hourly
++    - file_groupowner_cron_daily
++    - file_owner_cron_daily
++    - file_permissions_cron_daily
++    - file_groupowner_cron_weekly
++    - file_owner_cron_weekly
++    - file_permissions_cron_weekly
++    - file_groupowner_cron_monthly
++    - file_owner_cron_monthly
++    - file_permissions_cron_monthly
++    - file_groupowner_cron_d
++    - file_owner_cron_d
++    - file_permissions_cron_d
++    - file_groupowner_cron_allow
++    - file_owner_cron_allow
++    - file_cron_deny_not_exist
++    - file_groupowner_at_allow
++    - file_owner_at_allow
++    - file_at_deny_not_exist
++    - file_permissions_at_allow
++    - file_permissions_cron_allow
++    - file_groupowner_sshd_config
++    - file_owner_sshd_config
++    - file_permissions_sshd_config
++    - file_permissions_sshd_private_key
++    - file_permissions_sshd_pub_key
++    - sshd_set_loglevel_verbose
++    - sshd_set_loglevel_info
++    - sshd_max_auth_tries_value=4
++    - sshd_set_max_auth_tries
++    - sshd_disable_rhosts
++    - disable_host_auth
++    - sshd_disable_root_login
++    - sshd_disable_empty_passwords
++    - sshd_do_not_permit_user_env
++    - sshd_idle_timeout_value=15_minutes
++    - sshd_set_idle_timeout
++    - sshd_set_keepalive
++    - var_sshd_set_keepalive=0
++    - sshd_set_login_grace_time
++    - var_sshd_set_login_grace_time=60
++    - sshd_enable_warning_banner
++    - sshd_enable_pam
++    - sshd_set_maxstartups
++    - var_sshd_set_maxstartups=10:30:60
++    - sshd_set_max_sessions
++    - var_sshd_max_sessions=10
++    - accounts_password_pam_minclass
++    - accounts_password_pam_minlen
++    - accounts_password_pam_retry
++    - var_password_pam_minclass=4
++    - var_password_pam_minlen=14
++    - locking_out_password_attempts
++    - accounts_password_pam_pwhistory_remember_password_auth
++    - accounts_password_pam_pwhistory_remember_system_auth
++    - var_password_pam_remember_control_flag=required
++    - var_password_pam_remember=5
++    - set_password_hashing_algorithm_systemauth
++    - var_accounts_maximum_age_login_defs=365
++    - accounts_password_set_max_life_existing
++    - var_accounts_minimum_age_login_defs=7
++    - accounts_password_set_min_life_existing
++    - var_accounts_password_warn_age_login_defs=7
++    - account_disable_post_pw_expiration
++    - var_account_disable_post_pw_expiration=30
++    - no_shelllogin_for_systemaccounts
++    - accounts_tmout
++    - var_accounts_tmout=15_min
++    - accounts_root_gid_zero
++    - accounts_umask_etc_bashrc
++    - use_pam_wheel_for_su
++    - sshd_allow_only_protocol2
++    - journald_forward_to_syslog
++    - journald_compress
++    - journald_storage
++    - service_auditd_enabled
++    - service_httpd_disabled
++    - service_vsftpd_disabled
++    - service_named_disabled
++    - service_nfs_disabled
++    - service_rpcbind_disabled
++    - service_slapd_disabled
++    - service_dhcpd_disabled
++    - service_cups_disabled
++    - service_ypserv_disabled
++    - service_rsyncd_disabled
++    - service_avahi-daemon_disabled
++    - service_snmpd_disabled
++    - service_squid_disabled
++    - service_smb_disabled
++    - service_dovecot_disabled
++    - banner_etc_motd
++    - login_banner_text=cis_banners
++    - banner_etc_issue
++    - login_banner_text=cis_banners
++    - file_groupowner_etc_motd
++    - file_owner_etc_motd
++    - file_permissions_etc_motd
++    - file_groupowner_etc_issue
++    - file_owner_etc_issue
++    - file_permissions_etc_issue
++    - ensure_gpgcheck_globally_activated
++    - package_aide_installed
++    - aide_periodic_cron_checking
++    - grub2_password
++    - file_groupowner_grub2_cfg
++    - file_owner_grub2_cfg
++    - file_permissions_grub2_cfg
++    - require_singleuser_auth
++    - require_emergency_target_auth
++    - disable_users_coredumps
++    - configure_crypto_policy
++    - var_system_crypto_policy=default_policy
++    - dir_perms_world_writable_sticky_bits
++    - file_permissions_etc_passwd
++    - file_owner_etc_shadow
++    - file_groupowner_etc_shadow
++    - file_groupowner_etc_group
++    - file_owner_etc_group
++    - file_permissions_etc_group
++    - file_groupowner_etc_gshadow
++    - file_owner_etc_gshadow
++    - file_groupowner_backup_etc_passwd
++    - file_owner_backup_etc_passwd
++    - file_permissions_backup_etc_passwd
++    - file_groupowner_backup_etc_shadow
++    - file_owner_backup_etc_shadow
++    - file_permissions_backup_etc_shadow
++    - file_groupowner_backup_etc_group
++    - file_owner_backup_etc_group
++    - file_permissions_backup_etc_group
++    - file_groupowner_backup_etc_gshadow
++    - file_owner_backup_etc_gshadow
++    - file_permissions_unauthorized_world_writable
++    - file_permissions_ungroupowned
++    - accounts_root_path_dirs_no_write
++    - root_path_no_dot
++    - accounts_no_uid_except_zero
++    - file_ownership_home_directories
++    - file_groupownership_home_directories
++    - no_netrc_files
++    - no_rsh_trust_files
++    - account_unique_id
++    - group_unique_id
++    - group_unique_name
++    - wireless_disable_interfaces
++    - package_firewalld_installed
++    - service_firewalld_enabled
++    - package_iptables_installed
+diff --git a/products/openembedded/transforms/constants.xslt b/products/openembedded/transforms/constants.xslt
+new file mode 100644
+index 0000000000..152571e8bb
+--- /dev/null
++++ b/products/openembedded/transforms/constants.xslt
+@@ -0,0 +1,10 @@
++<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
++
++<xsl:include href="../../../shared/transforms/shared_constants.xslt"/>
++
++<xsl:variable name="product_long_name">OpenEmbedded</xsl:variable>
++<xsl:variable name="product_short_name">openembedded</xsl:variable>
++<xsl:variable name="product_stig_id_name">empty</xsl:variable>
++<xsl:variable name="prod_type">openembedded</xsl:variable>
++
++</xsl:stylesheet>
+diff --git a/shared/checks/oval/installed_OS_is_openembedded.xml b/shared/checks/oval/installed_OS_is_openembedded.xml
+new file mode 100644
+index 0000000000..11ebdca913
+--- /dev/null
++++ b/shared/checks/oval/installed_OS_is_openembedded.xml
+@@ -0,0 +1,33 @@
++<def-group>
++  <definition class="inventory" id="installed_OS_is_openembedded" version="1">
++    <metadata>
++      <title>OpenEmbedded</title>
++      <affected family="unix">
++        <platform>multi_platform_all</platform>
++      </affected>
++      <description>The operating system installed is an OpenEmbedded based system</description>
++    </metadata>
++    <criteria comment="System is OpenEmbedded based" operator="AND">
++      <extend_definition comment="Installed OS is part of the Unix family" definition_ref="installed_OS_is_part_of_Unix_family" />
++      <criterion comment="OpenEmbedded distro" test_ref="test_os_openembedded" />
++      <criterion comment="OpenEmbedded is installed" test_ref="test_openembedded" />
++    </criteria>
++  </definition>
++
++  <unix:file_test check="all" check_existence="all_exist" comment="/etc/os-release exists" id="test_os_openembedded" version="1">
++    <unix:object object_ref="obj_os_openembedded" />
++  </unix:file_test>
++  <unix:file_object comment="check /etc/os-release file" id="obj_os_openembedded" version="1">
++    <unix:filepath>/etc/os-release</unix:filepath>
++  </unix:file_object>
++
++  <ind:textfilecontent54_test check="all" check_existence="at_least_one_exists" comment="Check OpenEmbedded" id="test_openembedded" version="1">
++    <ind:object object_ref="obj_openembedded" />
++  </ind:textfilecontent54_test>
++  <ind:textfilecontent54_object id="obj_openembedded" version="1" comment="Check OpenEmbedded">
++    <ind:filepath>/etc/os-release</ind:filepath>
++    <ind:pattern operation="pattern match">^ID=nodistro$</ind:pattern>
++    <ind:instance datatype="int">1</ind:instance>
++  </ind:textfilecontent54_object>
++
++</def-group>
+diff --git a/shared/checks/oval/sysctl_kernel_ipv6_disable.xml b/shared/checks/oval/sysctl_kernel_ipv6_disable.xml
+index affb9770cb..4f22df262c 100644
+--- a/shared/checks/oval/sysctl_kernel_ipv6_disable.xml
++++ b/shared/checks/oval/sysctl_kernel_ipv6_disable.xml
+@@ -8,6 +8,7 @@
+ 	<platform>multi_platform_debian</platform>
+ 	<platform>multi_platform_example</platform>
+ 	<platform>multi_platform_fedora</platform>
++	<platform>multi_platform_openembedded</platform>
+ 	<platform>multi_platform_opensuse</platform>
+ 	<platform>multi_platform_ol</platform>
+ 	<platform>multi_platform_rhcos</platform>
+diff --git a/ssg/constants.py b/ssg/constants.py
+index f66ba008fa..630fbdfcb9 100644
+--- a/ssg/constants.py
++++ b/ssg/constants.py
+@@ -219,6 +219,7 @@ FULL_NAME_TO_PRODUCT_MAPPING = {
+     "Ubuntu 20.04": "ubuntu2004",
+     "Ubuntu 22.04": "ubuntu2204",
+     "UnionTech OS Server 20": "uos20",
++    "OpenEmbedded": "openembedded",
+     "Not Applicable" : "example"
+ }
+ 
+@@ -267,7 +268,7 @@ REFERENCES = dict(
+ 
+ MULTI_PLATFORM_LIST = ["rhel", "fedora", "rhv", "debian", "ubuntu",
+                        "opensuse", "sle", "ol", "ocp", "rhcos",
+-                       "example", "eks", "alinux", "uos", "anolis"]
++                       "example", "eks", "alinux", "uos", "anolis", "openembedded"]
+ 
+ MULTI_PLATFORM_MAPPING = {
+     "multi_platform_alinux": ["alinux2", "alinux3"],
+@@ -285,6 +286,7 @@ MULTI_PLATFORM_MAPPING = {
+     "multi_platform_sle": ["sle12", "sle15"],
+     "multi_platform_ubuntu": ["ubuntu1604", "ubuntu1804", "ubuntu2004", "ubuntu2204"],
+     "multi_platform_uos": ["uos20"],
++    "multi_platform_openembedded": ["openembedded"],
+ }
+ 
+ RHEL_CENTOS_CPE_MAPPING = {
+@@ -454,6 +456,7 @@ MAKEFILE_ID_TO_PRODUCT_MAP = {
+     'ocp': 'Red Hat OpenShift Container Platform',
+     'rhcos': 'Red Hat Enterprise Linux CoreOS',
+     'eks': 'Amazon Elastic Kubernetes Service',
++    'openembedded': 'OpenEmbedded',
+ }
+ 
+ # References that can not be used with product-qualifiers
+-- 
+2.34.1
+
diff --git a/meta-security/recipes-compliance/scap-security-guide/files/0001-scap-security-guide-add-openembedded.patch b/meta-security/recipes-compliance/scap-security-guide/files/0001-scap-security-guide-add-openembedded.patch
deleted file mode 100644
index f003f72..0000000
--- a/meta-security/recipes-compliance/scap-security-guide/files/0001-scap-security-guide-add-openembedded.patch
+++ /dev/null
@@ -1,231 +0,0 @@
-From f6287d146762b8360bd7099f4724a58eedba7d2a Mon Sep 17 00:00:00 2001
-From: Armin Kuster <akuster808@gmail.com>
-Date: Wed, 14 Jun 2023 07:46:55 -0400
-Subject: [PATCH] scap-security-guide: add openembedded
-
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-Upstream-Status: Pending
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
----
- CMakeLists.txt                                |  5 +++
- build_product                                 |  1 +
- products/openembedded/CMakeLists.txt          |  6 ++++
- products/openembedded/product.yml             | 19 +++++++++++
- .../openembedded/profiles/standard.profile    | 12 +++++++
- .../openembedded/transforms/constants.xslt    | 10 ++++++
- .../oval/installed_OS_is_openembedded.xml     | 33 +++++++++++++++++++
- .../oval/sysctl_kernel_ipv6_disable.xml       |  1 +
- ssg/constants.py                              |  5 ++-
- 9 files changed, 91 insertions(+), 1 deletion(-)
- create mode 100644 products/openembedded/CMakeLists.txt
- create mode 100644 products/openembedded/product.yml
- create mode 100644 products/openembedded/profiles/standard.profile
- create mode 100644 products/openembedded/transforms/constants.xslt
- create mode 100644 shared/checks/oval/installed_OS_is_openembedded.xml
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 85ec289644..09ac96784e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -95,6 +95,7 @@ option(SSG_PRODUCT_UBUNTU1804 "If enabled, the Ubuntu 18.04 SCAP content will be
- option(SSG_PRODUCT_UBUNTU2004 "If enabled, the Ubuntu 20.04 SCAP content will be built" ${SSG_PRODUCT_DEFAULT})
- option(SSG_PRODUCT_UBUNTU2204 "If enabled, the Ubuntu 22.04 SCAP content will be built" ${SSG_PRODUCT_DEFAULT})
- option(SSG_PRODUCT_UOS20 "If enabled, the Uos 20 SCAP content will be built" ${SSG_PRODUCT_DEFAULT})
-+option(SSG_PRODUCT_OE "If enabled, the OpenEmbedded SCAP content will be built" ${SSG_PRODUCT_DEFAULT})
- 
- 
- option(SSG_CENTOS_DERIVATIVES_ENABLED "If enabled, CentOS derivative content will be built from the RHEL content" TRUE)
-@@ -289,6 +290,7 @@ message(STATUS "Ubuntu 18.04: ${SSG_PRODUCT_UBUNTU1804}")
- message(STATUS "Ubuntu 20.04: ${SSG_PRODUCT_UBUNTU2004}")
- message(STATUS "Ubuntu 22.04: ${SSG_PRODUCT_UBUNTU2204}")
- message(STATUS "Uos 20: ${SSG_PRODUCT_UOS20}")
-+message(STATUS "OpenEmbedded nodistro: ${SSG_PRODUCT_OE}")
- 
- 
- 
-@@ -410,6 +412,9 @@ endif()
- if (SSG_PRODUCT_UOS20)
-     add_subdirectory("products/uos20" "uos20")
- endif()
-+if (SSG_PRODUCT_OE)
-+    add_subdirectory("products/openembedded" "openembedded")
-+endif()
- 
- # ZIP only contains source datastreams and kickstarts, people who
- # want sources to build from should get the tarball instead.
-diff --git a/build_product b/build_product
-index fc793cbe70..197d925b7e 100755
---- a/build_product
-+++ b/build_product
-@@ -333,6 +333,7 @@ all_cmake_products=(
- 	UBUNTU2204
- 	UOS20
- 	MACOS1015
-+    OPENEMBEDDED
- )
- 
- DEFAULT_OVAL_MAJOR_VERSION=5
-diff --git a/products/openembedded/CMakeLists.txt b/products/openembedded/CMakeLists.txt
-new file mode 100644
-index 0000000000..1981adf53e
---- /dev/null
-+++ b/products/openembedded/CMakeLists.txt
-@@ -0,0 +1,6 @@
-+# Sometimes our users will try to do: "cd openembedded; cmake ." That needs to error in a nice way.
-+if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
-+    message(FATAL_ERROR "cmake has to be used on the root CMakeLists.txt, see the Building ComplianceAsCode section in the Developer Guide!")
-+endif()
-+
-+ssg_build_product("openembedded")
-diff --git a/products/openembedded/product.yml b/products/openembedded/product.yml
-new file mode 100644
-index 0000000000..9f2f12d737
---- /dev/null
-+++ b/products/openembedded/product.yml
-@@ -0,0 +1,19 @@
-+product: openembedded
-+full_name: OpemEmbedded 
-+type: platform
-+
-+benchmark_id: OPENEMBEDDED
-+benchmark_root: "../../linux_os/guide"
-+
-+profiles_root: "./profiles"
-+
-+pkg_manager: "dnf"
-+
-+init_system: "systemd"
-+
-+cpes_root: "../../shared/applicability"
-+cpes:
-+  - openembedded:
-+      name: "cpe:/o:openembedded"
-+      title: "OpenEmbedded nodistro"
-+      check_id: installed_OS_is_openembedded
-diff --git a/products/openembedded/profiles/standard.profile b/products/openembedded/profiles/standard.profile
-new file mode 100644
-index 0000000000..44339d716c
---- /dev/null
-+++ b/products/openembedded/profiles/standard.profile
-@@ -0,0 +1,12 @@
-+documentation_complete: true
-+
-+title: 'Sample Security Profile for OpenEmbedded Distros'
-+
-+description: |-
-+    This profile is an sample for use in documentation and example content.
-+    The selected rules are standard and should pass quickly on most systems.
-+
-+selections:
-+    - file_owner_etc_passwd
-+    - file_groupowner_etc_passwd
-+    - file_permissions_etc_passwd
-diff --git a/products/openembedded/transforms/constants.xslt b/products/openembedded/transforms/constants.xslt
-new file mode 100644
-index 0000000000..85e812a7c1
---- /dev/null
-+++ b/products/openembedded/transforms/constants.xslt
-@@ -0,0 +1,10 @@
-+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-+
-+<xsl:include href="../../../shared/transforms/shared_constants.xslt"/>
-+
-+<xsl:variable name="product_long_name">OpenEmbedded nodistro</xsl:variable>
-+<xsl:variable name="product_short_name">OE nodistro</xsl:variable>
-+<xsl:variable name="product_stig_id_name">empty</xsl:variable>
-+<xsl:variable name="prod_type">openembedded</xsl:variable>
-+
-+</xsl:stylesheet>
-diff --git a/shared/checks/oval/installed_OS_is_openembedded.xml b/shared/checks/oval/installed_OS_is_openembedded.xml
-new file mode 100644
-index 0000000000..17c2873686
---- /dev/null
-+++ b/shared/checks/oval/installed_OS_is_openembedded.xml
-@@ -0,0 +1,33 @@
-+<def-group>
-+  <definition class="inventory" id="installed_OS_is_openembedded" version="1">
-+    <metadata>
-+      <title>OpenEmbedded</title>
-+      <affected family="unix">
-+        <platform>multi_platform_all</platform>
-+      </affected>
-+      <description>The operating system installed is an OpenEmbedded System</description>
-+    </metadata>
-+    <criteria comment="System is OpenEmbedded" operator="AND">
-+      <extend_definition comment="Installed OS is part of the Unix family" definition_ref="installed_OS_is_part_of_Unix_family" />
-+      <criterion comment="OpenEmbedded distro" test_ref="test_os_release" />
-+      <criterion comment="OpenEmbedded is installed" test_ref="test_openembedded" />
-+    </criteria>
-+  </definition>
-+
-+  <unix:file_test check="all" check_existence="all_exist" comment="/etc/os-release exists" id="test_os_release" version="1">
-+    <unix:object object_ref="obj_os_release" />
-+  </unix:file_test>
-+  <unix:file_object comment="check /etc/os-release file" id="obj_os_release" version="1">
-+    <unix:filepath>/etc/os-release</unix:filepath>
-+  </unix:file_object>
-+
-+  <ind:textfilecontent54_test check="all" check_existence="at_least_one_exists" comment="Check OpenEmbedded" id="test_openembedded" version="1">
-+    <ind:object object_ref="obj_openembedded" />
-+  </ind:textfilecontent54_test>
-+  <ind:textfilecontent54_object id="obj_openembedded" version="1" comment="Check OpenEmbedded">
-+    <ind:filepath>/etc/os-release</ind:filepath>
-+    <ind:pattern operation="pattern match">^ID=nodistro$</ind:pattern>
-+    <ind:instance datatype="int">1</ind:instance>
-+  </ind:textfilecontent54_object>
-+
-+</def-group>
-diff --git a/shared/checks/oval/sysctl_kernel_ipv6_disable.xml b/shared/checks/oval/sysctl_kernel_ipv6_disable.xml
-index affb9770cb..4f22df262c 100644
---- a/shared/checks/oval/sysctl_kernel_ipv6_disable.xml
-+++ b/shared/checks/oval/sysctl_kernel_ipv6_disable.xml
-@@ -8,6 +8,7 @@
- 	<platform>multi_platform_debian</platform>
- 	<platform>multi_platform_example</platform>
- 	<platform>multi_platform_fedora</platform>
-+	<platform>multi_platform_openembedded</platform>
- 	<platform>multi_platform_opensuse</platform>
- 	<platform>multi_platform_ol</platform>
- 	<platform>multi_platform_rhcos</platform>
-diff --git a/ssg/constants.py b/ssg/constants.py
-index f66ba008fa..630fbdfcb9 100644
---- a/ssg/constants.py
-+++ b/ssg/constants.py
-@@ -219,6 +219,7 @@ FULL_NAME_TO_PRODUCT_MAPPING = {
-     "Ubuntu 20.04": "ubuntu2004",
-     "Ubuntu 22.04": "ubuntu2204",
-     "UnionTech OS Server 20": "uos20",
-+    "OpenEmbedded": "openembedded",
-     "Not Applicable" : "example"
- }
- 
-@@ -267,7 +268,7 @@ REFERENCES = dict(
- 
- MULTI_PLATFORM_LIST = ["rhel", "fedora", "rhv", "debian", "ubuntu",
-                        "opensuse", "sle", "ol", "ocp", "rhcos",
--                       "example", "eks", "alinux", "uos", "anolis"]
-+                       "example", "eks", "alinux", "uos", "anolis", "openembedded"]
- 
- MULTI_PLATFORM_MAPPING = {
-     "multi_platform_alinux": ["alinux2", "alinux3"],
-@@ -285,6 +286,7 @@ MULTI_PLATFORM_MAPPING = {
-     "multi_platform_sle": ["sle12", "sle15"],
-     "multi_platform_ubuntu": ["ubuntu1604", "ubuntu1804", "ubuntu2004", "ubuntu2204"],
-     "multi_platform_uos": ["uos20"],
-+    "multi_platform_openembedded": ["openembedded"],
- }
- 
- RHEL_CENTOS_CPE_MAPPING = {
-@@ -454,6 +456,7 @@ MAKEFILE_ID_TO_PRODUCT_MAP = {
-     'ocp': 'Red Hat OpenShift Container Platform',
-     'rhcos': 'Red Hat Enterprise Linux CoreOS',
-     'eks': 'Amazon Elastic Kubernetes Service',
-+    'openembedded': 'OpenEmbedded',
- }
- 
- # References that can not be used with product-qualifiers
--- 
-2.34.1
-
diff --git a/meta-security/recipes-compliance/scap-security-guide/files/0001-standard.profile-expand-checks.patch b/meta-security/recipes-compliance/scap-security-guide/files/0001-standard.profile-expand-checks.patch
deleted file mode 100644
index 061c5f0..0000000
--- a/meta-security/recipes-compliance/scap-security-guide/files/0001-standard.profile-expand-checks.patch
+++ /dev/null
@@ -1,231 +0,0 @@
-From 7af2da3bbe1d5b4cba89c6dae9ea267717b865ea Mon Sep 17 00:00:00 2001
-From: Armin Kuster <akuster808@gmail.com>
-Date: Wed, 21 Jun 2023 07:46:38 -0400
-Subject: [PATCH] standard.profile: expand checks
-
-Upstream-Status: Pending
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-Upstream-status: Pending
----
- .../openembedded/profiles/standard.profile    | 206 ++++++++++++++++++
- 1 file changed, 206 insertions(+)
-
-diff --git a/products/openembedded/profiles/standard.profile b/products/openembedded/profiles/standard.profile
-index 44339d716c..877d1a3971 100644
---- a/products/openembedded/profiles/standard.profile
-+++ b/products/openembedded/profiles/standard.profile
-@@ -9,4 +9,210 @@ description: |-
- selections:
-     - file_owner_etc_passwd
-     - file_groupowner_etc_passwd
-+    - service_crond_enabled
-+    - file_groupowner_crontab
-+    - file_owner_crontab
-+    - file_permissions_crontab
-+    - file_groupowner_cron_hourly
-+    - file_owner_cron_hourly
-+    - file_permissions_cron_hourly
-+    - file_groupowner_cron_daily
-+    - file_owner_cron_daily
-+    - file_permissions_cron_daily
-+    - file_groupowner_cron_weekly
-+    - file_owner_cron_weekly
-+    - file_permissions_cron_weekly
-+    - file_groupowner_cron_monthly
-+    - file_owner_cron_monthly
-+    - file_permissions_cron_monthly
-+    - file_groupowner_cron_d
-+    - file_owner_cron_d
-+    - file_permissions_cron_d
-+    - file_groupowner_cron_allow
-+    - file_owner_cron_allow
-+    - file_cron_deny_not_exist
-+    - file_groupowner_at_allow
-+    - file_owner_at_allow
-+    - file_at_deny_not_exist
-+    - file_permissions_at_allow
-+    - file_permissions_cron_allow
-+    - file_groupowner_sshd_config
-+    - file_owner_sshd_config
-+    - file_permissions_sshd_config
-+    - file_permissions_sshd_private_key
-+    - file_permissions_sshd_pub_key
-+    - sshd_set_loglevel_verbose
-+    - sshd_set_loglevel_info
-+    - sshd_max_auth_tries_value=4
-+    - sshd_set_max_auth_tries
-+    - sshd_disable_rhosts
-+    - disable_host_auth
-+    - sshd_disable_root_login
-+    - sshd_disable_empty_passwords
-+    - sshd_do_not_permit_user_env
-+    - sshd_idle_timeout_value=15_minutes
-+    - sshd_set_idle_timeout
-+    - sshd_set_keepalive
-+    - var_sshd_set_keepalive=0
-+    - sshd_set_login_grace_time
-+    - var_sshd_set_login_grace_time=60
-+    - sshd_enable_warning_banner
-+    - sshd_enable_pam
-+    - sshd_set_maxstartups
-+    - var_sshd_set_maxstartups=10:30:60
-+    - sshd_set_max_sessions
-+    - var_sshd_max_sessions=10
-+    - accounts_password_pam_minclass
-+    - accounts_password_pam_minlen
-+    - accounts_password_pam_retry
-+    - var_password_pam_minclass=4
-+    - var_password_pam_minlen=14
-+    - locking_out_password_attempts
-+    - accounts_password_pam_pwhistory_remember_password_auth
-+    - accounts_password_pam_pwhistory_remember_system_auth
-+    - var_password_pam_remember_control_flag=required
-+    - var_password_pam_remember=5
-+    - set_password_hashing_algorithm_systemauth
-+    - accounts_maximum_age_login_defs
-+    - var_accounts_maximum_age_login_defs=365
-+    - accounts_password_set_max_life_existing
-+    - accounts_minimum_age_login_defs
-+    - var_accounts_minimum_age_login_defs=7
-+    - accounts_password_set_min_life_existing
-+    - accounts_password_warn_age_login_defs
-+    - var_accounts_password_warn_age_login_defs=7
-+    - account_disable_post_pw_expiration
-+    - var_account_disable_post_pw_expiration=30
-+    - no_shelllogin_for_systemaccounts
-+    - accounts_tmout
-+    - var_accounts_tmout=15_min
-+    - accounts_root_gid_zero
-+    - accounts_umask_etc_bashrc
-+    - accounts_umask_etc_login_defs
-+    - use_pam_wheel_for_su
-+    - sshd_allow_only_protocol2
-+    - journald_forward_to_syslog
-+    - journald_compress
-+    - journald_storage
-+    - service_auditd_enabled
-+    - service_httpd_disabled
-+    - service_vsftpd_disabled
-+    - service_named_disabled
-+    - service_nfs_disabled
-+    - service_rpcbind_disabled
-+    - service_slapd_disabled
-+    - service_dhcpd_disabled
-+    - service_cups_disabled
-+    - service_ypserv_disabled
-+    - service_rsyncd_disabled
-+    - service_avahi-daemon_disabled
-+    - service_snmpd_disabled
-+    - service_squid_disabled
-+    - service_smb_disabled
-+    - service_dovecot_disabled
-+    - banner_etc_motd
-+    - login_banner_text=cis_banners
-+    - banner_etc_issue
-+    - login_banner_text=cis_banners
-+    - file_groupowner_etc_motd
-+    - file_owner_etc_motd
-+    - file_permissions_etc_motd
-+    - file_groupowner_etc_issue
-+    - file_owner_etc_issue
-+    - file_permissions_etc_issue
-+    - ensure_gpgcheck_globally_activated
-+    - package_aide_installed
-+    - aide_periodic_cron_checking
-+    - grub2_password
-+    - file_groupowner_grub2_cfg
-+    - file_owner_grub2_cfg
-+    - file_permissions_grub2_cfg
-+    - require_singleuser_auth
-+    - require_emergency_target_auth
-+    - disable_users_coredumps
-+    - coredump_disable_backtraces
-+    - coredump_disable_storage
-+    - configure_crypto_policy
-+    - var_system_crypto_policy=default_policy
-+    - dir_perms_world_writable_sticky_bits
-     - file_permissions_etc_passwd
-+    - file_owner_etc_shadow
-+    - file_groupowner_etc_shadow
-+    - file_groupowner_etc_group
-+    - file_owner_etc_group
-+    - file_permissions_etc_group
-+    - file_groupowner_etc_gshadow
-+    - file_owner_etc_gshadow
-+    - file_groupowner_backup_etc_passwd
-+    - file_owner_backup_etc_passwd
-+    - file_permissions_backup_etc_passwd
-+    - file_groupowner_backup_etc_shadow
-+    - file_owner_backup_etc_shadow
-+    - file_permissions_backup_etc_shadow
-+    - file_groupowner_backup_etc_group
-+    - file_owner_backup_etc_group
-+    - file_permissions_backup_etc_group
-+    - file_groupowner_backup_etc_gshadow
-+    - file_owner_backup_etc_gshadow
-+    - file_permissions_backup_etc_gshadow
-+    - file_permissions_unauthorized_world_writable
-+    - file_permissions_ungroupowned
-+    - accounts_root_path_dirs_no_write
-+    - root_path_no_dot
-+    - accounts_no_uid_except_zero
-+    - file_ownership_home_directories
-+    - file_groupownership_home_directories
-+    - no_netrc_files
-+    - no_rsh_trust_files
-+    - account_unique_id
-+    - group_unique_id
-+    - group_unique_name
-+    - kernel_module_sctp_disabled
-+    - kernel_module_dccp_disabled
-+    - wireless_disable_interfaces
-+    - sysctl_net_ipv4_ip_forward
-+    - sysctl_net_ipv6_conf_all_forwarding
-+    - sysctl_net_ipv6_conf_all_forwarding_value=disabled
-+    - sysctl_net_ipv4_conf_all_send_redirects
-+    - sysctl_net_ipv4_conf_default_send_redirects
-+    - sysctl_net_ipv4_conf_all_accept_source_route
-+    - sysctl_net_ipv4_conf_all_accept_source_route_value=disabled
-+    - sysctl_net_ipv4_conf_default_accept_source_route
-+    - sysctl_net_ipv4_conf_default_accept_source_route_value=disabled
-+    - sysctl_net_ipv6_conf_all_accept_source_route
-+    - sysctl_net_ipv6_conf_all_accept_source_route_value=disabled
-+    - sysctl_net_ipv6_conf_default_accept_source_route
-+    - sysctl_net_ipv6_conf_default_accept_source_route_value=disabled
-+    - sysctl_net_ipv4_conf_all_accept_redirects
-+    - sysctl_net_ipv4_conf_all_accept_redirects_value=disabled
-+    - sysctl_net_ipv4_conf_default_accept_redirects
-+    - sysctl_net_ipv4_conf_default_accept_redirects_value=disabled
-+    - sysctl_net_ipv6_conf_all_accept_redirects
-+    - sysctl_net_ipv6_conf_all_accept_redirects_value=disabled
-+    - sysctl_net_ipv6_conf_default_accept_redirects
-+    - sysctl_net_ipv6_conf_default_accept_redirects_value=disabled
-+    - sysctl_net_ipv4_conf_all_secure_redirects
-+    - sysctl_net_ipv4_conf_all_secure_redirects_value=disabled
-+    - sysctl_net_ipv4_conf_default_secure_redirects
-+    - sysctl_net_ipv4_conf_default_secure_redirects_value=disabled
-+    - sysctl_net_ipv4_conf_all_log_martians
-+    - sysctl_net_ipv4_conf_all_log_martians_value=enabled
-+    - sysctl_net_ipv4_conf_default_log_martians
-+    - sysctl_net_ipv4_conf_default_log_martians_value=enabled
-+    - sysctl_net_ipv4_icmp_echo_ignore_broadcasts
-+    - sysctl_net_ipv4_icmp_echo_ignore_broadcasts_value=enabled
-+    - sysctl_net_ipv4_icmp_ignore_bogus_error_responses
-+    - sysctl_net_ipv4_icmp_ignore_bogus_error_responses_value=enabled
-+    - sysctl_net_ipv4_conf_all_rp_filter
-+    - sysctl_net_ipv4_conf_all_rp_filter_value=enabled
-+    - sysctl_net_ipv4_conf_default_rp_filter
-+    - sysctl_net_ipv4_conf_default_rp_filter_value=enabled
-+    - sysctl_net_ipv4_tcp_syncookies
-+    - sysctl_net_ipv4_tcp_syncookies_value=enabled
-+    - sysctl_net_ipv6_conf_all_accept_ra
-+    - sysctl_net_ipv6_conf_all_accept_ra_value=disabled
-+    - sysctl_net_ipv6_conf_default_accept_ra
-+    - sysctl_net_ipv6_conf_default_accept_ra_value=disabled
-+    - package_firewalld_installed
-+    - service_firewalld_enabled
-+    - package_iptables_installed
--- 
-2.34.1
-
diff --git a/meta-security/recipes-compliance/scap-security-guide/files/0002-scap-security-guide-Add-Poky-support.patch b/meta-security/recipes-compliance/scap-security-guide/files/0002-scap-security-guide-Add-Poky-support.patch
new file mode 100644
index 0000000..1639264
--- /dev/null
+++ b/meta-security/recipes-compliance/scap-security-guide/files/0002-scap-security-guide-Add-Poky-support.patch
@@ -0,0 +1,74 @@
+From 2be977a60c944a54594d5786b2d8869ed72a9a06 Mon Sep 17 00:00:00 2001
+From: Armin Kuster <akuster808@gmail.com>
+Date: Wed, 5 Jul 2023 12:57:52 -0400
+Subject: [PATCH 2/2] scap-security-guide: Add Poky support
+
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Upstream-Status: Pending
+Waiting to see if OE changes get merged.
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+
+---
+ products/openembedded/product.yml           |  6 ++++
+ shared/checks/oval/installed_OS_is_poky.xml | 33 +++++++++++++++++++++
+ 2 files changed, 39 insertions(+)
+ create mode 100644 shared/checks/oval/installed_OS_is_poky.xml
+
+diff --git a/products/openembedded/product.yml b/products/openembedded/product.yml
+index debf6870ef..d63479d5d3 100644
+--- a/products/openembedded/product.yml
++++ b/products/openembedded/product.yml
+@@ -17,3 +17,9 @@ cpes:
+       name: "cpe:/o:openembedded:nodistro:"
+       title: "OpenEmbedded nodistro"
+       check_id: installed_OS_is_openembedded
++
++  - poky:
++      name: "cpe:/o:openembedded:poky:"
++      title: "OpenEmbedded Poky reference distribution"
++      check_id: installed_OS_is_poky
++
+diff --git a/shared/checks/oval/installed_OS_is_poky.xml b/shared/checks/oval/installed_OS_is_poky.xml
+new file mode 100644
+index 0000000000..b8805cf31b
+--- /dev/null
++++ b/shared/checks/oval/installed_OS_is_poky.xml
+@@ -0,0 +1,33 @@
++<def-group>
++  <definition class="inventory" id="installed_OS_is_poky" version="1">
++    <metadata>
++      <title>Poky</title>
++      <affected family="unix">
++        <platform>multi_platform_all</platform>
++      </affected>
++      <description>The operating system installed is a Poky based System</description>
++    </metadata>
++    <criteria comment="System is Poky based distribution" operator="AND">
++      <extend_definition comment="Installed OS is part of the Unix family" definition_ref="installed_OS_is_part_of_Unix_family" />
++      <criterion comment="Poky based distro" test_ref="test_os_poky" />
++      <criterion comment="Poky based distribution is installed" test_ref="test_poky" />
++    </criteria>
++  </definition>
++
++  <unix:file_test check="all" check_existence="all_exist" comment="/etc/os-release exists" id="test_os_poky" version="1">
++    <unix:object object_ref="obj_os_poky" />
++  </unix:file_test>
++  <unix:file_object comment="check /etc/os-release file" id="obj_os_poky" version="1">
++    <unix:filepath>/etc/os-release</unix:filepath>
++  </unix:file_object>
++
++  <ind:textfilecontent54_test check="all" check_existence="at_least_one_exists" comment="Check OpenEmbedded" id="test_poky" version="1">
++    <ind:object object_ref="obj_poky" />
++  </ind:textfilecontent54_test>
++  <ind:textfilecontent54_object id="obj_poky" version="1" comment="Check Poky">
++    <ind:filepath>/etc/os-release</ind:filepath>
++    <ind:pattern operation="pattern match">^ID=poky$</ind:pattern>
++    <ind:instance datatype="int">1</ind:instance>
++  </ind:textfilecontent54_object>
++
++</def-group>
+-- 
+2.34.1
+
diff --git a/meta-security/recipes-compliance/scap-security-guide/files/run-ptest b/meta-security/recipes-compliance/scap-security-guide/files/run-ptest
new file mode 100644
index 0000000..e8d270f
--- /dev/null
+++ b/meta-security/recipes-compliance/scap-security-guide/files/run-ptest
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+export PYTHONPATH="/usr/lib/scap-security-guide/ptest/git:$PYTHONPATH"
+
+cd git/build
+
+ctest --output-on-failure -E unique-stigids
diff --git a/meta-security/recipes-compliance/scap-security-guide/scap-security-guide_0.1.67.bb b/meta-security/recipes-compliance/scap-security-guide/scap-security-guide_0.1.67.bb
index 31ab96e..988e48b 100644
--- a/meta-security/recipes-compliance/scap-security-guide/scap-security-guide_0.1.67.bb
+++ b/meta-security/recipes-compliance/scap-security-guide/scap-security-guide_0.1.67.bb
@@ -6,12 +6,12 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=9bfa86579213cb4c6adaffface6b2820"
 LICENSE = "BSD-3-Clause"
 
-SRCREV = "dad85502ce8da722a6afc391346c41cee61e90a9"
+SRCREV = "3a1012bc9ec2b01b3b71c6feefd3cff0f52bd64d"
 SRC_URI = "git://github.com/ComplianceAsCode/content.git;branch=master;protocol=https \
-           file://0001-scap-security-guide-add-openembedded.patch \
-           file://0001-standard.profile-expand-checks.patch \
-           file://0001-scap-security-guide-add-Poky-support.patch \
            file://run_eval.sh \
+           file://run-ptest \
+           file://0001-scap-security-guide-add-openembedded-distro-support.patch \
+           file://0002-scap-security-guide-Add-Poky-support.patch \
            "
 
 
@@ -20,7 +20,7 @@
 S = "${WORKDIR}/git"
 B = "${S}/build"
 
-inherit cmake pkgconfig python3native python3targetconfig
+inherit cmake pkgconfig python3native python3targetconfig ptest
 
 OECMAKE_GENERATOR = "Unix Makefiles"
 
@@ -38,8 +38,52 @@
     install  ${WORKDIR}/run_eval.sh ${D}${datadir}/openscap/.
 }
 
+do_compile_ptest() {
+    cd ${S}/build
+    cmake ../
+    make 
+}
+
+do_install_ptest() {
+
+    # remove host & work dir from tests
+    for x in $(find ${S}/build -type f) ;
+    do
+       sed -e 's#${HOSTTOOLS_DIR}/##g' \
+           -e 's#${RECIPE_SYSROOT_NATIVE}##g' \
+           -e 's#${WORKDIR}#${PTEST_PATH}#g' \
+           -e 's#/.*/xmllint#/usr/bin/xmllint#g' \
+           -e 's#/.*/oscap#/usr/bin/oscap#g' \
+           -e 's#/python3-native##g' \
+           -i ${x}
+    done
+
+    for x in $(find ${S}/build-scripts -type f) ;
+    do
+       sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' ${x}
+    done
+
+    for x in $(find ${S}/tests -type f) ;
+    do
+       sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' ${x}
+    done
+
+    for x in $(find ${S}/utils -type f) ;
+    do
+       sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' ${x}
+    done
+
+    PDIRS="apple_os build controls products shared components applications linux_os ocp-resources tests utils ssg build-scripts"
+    t=${D}/${PTEST_PATH}/git
+    for d in ${PDIRS}; do
+        install -d ${t}/$d
+        cp -fr ${S}/$d/* ${t}/$d/.
+    done
+}
+
 FILES:${PN} += "${datadir}/xml ${datadir}/openscap"
 
 RDEPENDS:${PN} = "openscap"
+RDEPENDS:${PN}-ptest = "cmake grep sed bash git python3 python3-modules python3-mypy python3-pyyaml python3-yamlpath python3-xmldiff python3-json2html python3-pandas python3-openpyxl python3-pytest libxml2-utils libxslt-bin"
 
 COMPATIBLE_HOST:libc-musl = "null"
diff --git a/meta-security/recipes-core/images/dm-verity-image-initramfs.bb b/meta-security/recipes-core/images/dm-verity-image-initramfs.bb
index 187aeae..78f7b49 100644
--- a/meta-security/recipes-core/images/dm-verity-image-initramfs.bb
+++ b/meta-security/recipes-core/images/dm-verity-image-initramfs.bb
@@ -19,7 +19,14 @@
 IMAGE_LINGUAS = ""
 
 # Can we somehow inspect reverse dependencies to avoid these variables?
-do_image[depends] += "${DM_VERITY_IMAGE}:do_image_${DM_VERITY_IMAGE_TYPE}"
+python __anonymous() {
+    verity_image = d.getVar('DM_VERITY_IMAGE')
+    verity_type = d.getVar('DM_VERITY_IMAGE_TYPE')
+
+    if verity_image and verity_type:
+        dep = ' %s:do_image_%s' % (verity_image, verity_type.replace('-', '_'))
+        d.appendVarFlag('do_image', 'depends', dep)
+}
 
 # Ensure dm-verity.env is updated also when rebuilding DM_VERITY_IMAGE
 do_image[nostamp] = "1"
diff --git a/meta-security/recipes-core/images/security-build-image.bb b/meta-security/recipes-core/images/security-build-image.bb
index 411cd20..9c82049 100644
--- a/meta-security/recipes-core/images/security-build-image.bb
+++ b/meta-security/recipes-core/images/security-build-image.bb
@@ -18,3 +18,8 @@
 export IMAGE_BASENAME = "security-build-image"
 
 IMAGE_ROOTFS_EXTRA_SPACE = "5242880"
+
+QB_KERNEL_CMDLINE_APPEND = " ${@bb.utils.contains('DISTRO_FEATURES', 'apparmor', 'apparmor=1 security=apparmor', '', d)}"
+
+# We need more mem to run many apps in this layer
+QB_MEM = "-m 2048"
diff --git a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
index 494745b..3ef77e5 100644
--- a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
+++ b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
@@ -40,7 +40,6 @@
     pinentry \
     softhsm \
     sshguard \
-    firejail \
     ${@bb.utils.contains_any("TUNE_FEATURES", "riscv32 ", "", " libseccomp",d)} \
     ${@bb.utils.contains("DISTRO_FEATURES", "pam", "google-authenticator-libpam", "",d)} \
     ${@bb.utils.contains("DISTRO_FEATURES", "pax", "pax-utils packctl", "",d)} \
@@ -48,9 +47,8 @@
 
 have_krill =  "${@bb.utils.contains("DISTRO_FEATURES", "pam", "krill", "",d)}"
 RDEPENDS:packagegroup-security-utils:append:x86 = " chipsec ${have_krill}"
-RDEPENDS:packagegroup-security-utils:append:x86-64 = " chipsec ${have_krill}"
-RDEPENDS:packagegroup-security-utils:append:aarch64 = " ${have_krill}"
-RDEPENDS:packagegroup-security-utils:remove:mipsarch = "firejail"
+RDEPENDS:packagegroup-security-utils:append:x86-64 = " firejail chipsec ${have_krill}"
+RDEPENDS:packagegroup-security-utils:append:aarch64 = " firejail ${have_krill}"
 RDEPENDS:packagegroup-security-utils:remove:libc-musl = "krill"
 
 SUMMARY:packagegroup-security-scanners = "Security scanners"
diff --git a/meta-security/recipes-ids/ossec/ossec-hids_3.7.0.bb b/meta-security/recipes-ids/ossec/ossec-hids_3.7.0.bb
index 55c10fa..829715b 100644
--- a/meta-security/recipes-ids/ossec/ossec-hids_3.7.0.bb
+++ b/meta-security/recipes-ids/ossec/ossec-hids_3.7.0.bb
@@ -17,11 +17,19 @@
 
 S = "${WORKDIR}/git"
 
+
+OSSEC_DIR="/var/ossec"
 OSSEC_UID ?= "ossec"
 OSSEC_RUID ?= "ossecr"
 OSSEC_GID ?= "ossec"
 OSSEC_EMAIL ?= "ossecm"
 
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM:${PN} = "--system ${OSSEC_UID}"
+USERADD_PARAM:${PN} = "--system -g ${OSSEC_GID} --home-dir  \
+                       ${OSSEC_DIR} --no-create-home  \
+                       --shell /sbin/nologin ${BPN}"
+
 do_configure[noexec] = "1"
 
 do_compile() {
@@ -45,78 +53,75 @@
 }
 
 pkg_postinst_ontarget:${PN} () {
-    DIR="/var/ossec"
-
-    usermod -g ossec -G ossec -a root
 
     # Default for all directories
-    chmod -R 550 ${DIR}
-    chown -R root:${OSSEC_GID} ${DIR}
+    chmod -R 550 ${OSSEC_DIR}
+    chown -R root:${OSSEC_GID} ${OSSEC_DIR}
 
     # To the ossec queue (default for agentd to read)
-    chown -R ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/queue/ossec
-    chmod -R 770 ${DIR}/queue/ossec
+    chown -R ${OSSEC_UUID}:${OSSEC_GID} ${OSSEC_DIR}/queue/ossec
+    chmod -R 770 ${OSSEC_DIR}/queue/ossec
 
     # For the logging user
-    chown -R ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/logs
-    chmod -R 750 ${DIR}/logs
-    chmod -R 775 ${DIR}/queue/rids
-    touch ${DIR}/logs/ossec.log
-    chown ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/logs/ossec.log
-    chmod 664 ${DIR}/logs/ossec.log
+    chown -R ${OSSEC_UUID}:${OSSEC_GID} ${OSSEC_DIR}/logs
+    chmod -R 750 ${OSSEC_DIR}/logs
+    chmod -R 775 ${OSSEC_DIR}/queue/rids
+    touch ${OSSEC_DIR}/logs/ossec.log
+    chown ${OSSEC_UUID}:${OSSEC_GID} ${OSSEC_DIR}/logs/ossec.log
+    chmod 664 ${OSSEC_DIR}/logs/ossec.log
 
-    chown -R ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/queue/diff
-    chmod -R 750 ${DIR}/queue/diff
-        chmod 740 ${DIR}/queue/diff/* > /dev/null 2>&1 || true
+    chown -R ${OSSEC_UUID}:${OSSEC_GID} ${OSSEC_DIR}/queue/diff
+    chmod -R 750 ${OSSEC_DIR}/queue/diff
+    chmod 740 ${OSSEC_DIR}/queue/diff/* > /dev/null 2>&1 || true
 
 	# For the etc dir
-	chmod 550 ${DIR}/etc
-	chown -R root:${OSSEC_GID} ${DIR}/etc
+	chmod 550 ${OSSEC_DIR}/etc
+	chown -R root:${OSSEC_GID} ${OSSEC_DIR}/etc
 	if [ -f /etc/localtime ]; then
-	    cp -pL /etc/localtime ${DIR}/etc/;
-	    chmod 555 ${DIR}/etc/localtime
-	    chown root:${OSSEC_GID} ${DIR}/etc/localtime
+	    cp -pL /etc/localtime ${OSSEC_DIR}/etc/;
+	    chmod 555 ${OSSEC_DIR}/etc/localtime
+	    chown root:${OSSEC_GID} ${OSSEC_DIR}/etc/localtime
 	fi
 
 	if [ -f /etc/TIMEZONE ]; then
-	    cp -p /etc/TIMEZONE ${DIR}/etc/;
-	    chmod 555 ${DIR}/etc/TIMEZONE
+	    cp -p /etc/TIMEZONE ${OSSEC_DIR}/etc/;
+	    chmod 555 ${OSSEC_DIR}/etc/TIMEZONE
 	fi
 
 	# More files
-	chown root:${OSSEC_GID} ${DIR}/etc/internal_options.conf
-	chown root:${OSSEC_GID} ${DIR}/etc/local_internal_options.conf >/dev/null 2>&1 || true
-	chown root:${OSSEC_GID} ${DIR}/etc/client.keys >/dev/null 2>&1 || true
-	chown root:${OSSEC_GID} ${DIR}/agentless/*
-	chown ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/.ssh
-	chown root:${OSSEC_GID} ${DIR}/etc/shared/*
+	chown root:${OSSEC_GID} ${OSSEC_DIR}/etc/internal_options.conf
+	chown root:${OSSEC_GID} ${OSSEC_DIR}/etc/local_internal_options.conf >/dev/null 2>&1 || true
+	chown root:${OSSEC_GID} ${OSSEC_DIR}/etc/client.keys >/dev/null 2>&1 || true
+	chown root:${OSSEC_GID} ${OSSEC_DIR}/agentless/*
+	chown ${OSSEC_UUID}:${OSSEC_GID} ${OSSEC_DIR}/.ssh
+	chown root:${OSSEC_GID} ${OSSEC_DIR}/etc/shared/*
 
-	chmod 550 ${DIR}/etc
-	chmod 440 ${DIR}/etc/internal_options.conf
-	chmod 660 ${DIR}/etc/local_internal_options.conf >/dev/null 2>&1 || true
-	chmod 440 ${DIR}/etc/client.keys >/dev/null 2>&1 || true
-	chmod 550 ${DIR}/agentless/*
-	chmod 700 ${DIR}/.ssh
-	chmod 770 ${DIR}/etc/shared
-	chmod 660 ${DIR}/etc/shared/*
+	chmod 550 ${OSSEC_DIR}/etc
+	chmod 440 ${OSSEC_DIR}/etc/internal_options.conf
+	chmod 660 ${OSSEC_DIR}/etc/local_internal_options.conf >/dev/null 2>&1 || true
+	chmod 440 ${OSSEC_DIR}/etc/client.keys >/dev/null 2>&1 || true
+	chmod 550 ${OSSEC_DIR}/agentless/*
+	chmod 700 ${OSSEC_DIR}/.ssh
+	chmod 770 ${OSSEC_DIR}/etc/shared
+	chmod 660 ${OSSEC_DIR}/etc/shared/*
 
 	# For the /var/run
-	chmod 770 ${DIR}/var/run
-	chown root:${OSSEC_GID} ${DIR}/var/run
+	chmod 770 ${OSSEC_DIR}/var/run
+	chown root:${OSSEC_GID} ${OSSEC_DIR}/var/run
 
 	# For util.sh 
-	chown root:${OSSEC_GID} ${DIR}/bin/util.sh
-	chmod +x ${DIR}/bin/util.sh
+	chown root:${OSSEC_GID} ${OSSEC_DIR}/bin/util.sh
+	chmod +x ${OSSEC_DIR}/bin/util.sh
 
 	# For binaries and active response
-        chmod 755 ${DIR}/active-response/bin/*
-        chown root:${OSSEC_GID} ${DIR}/active-response/bin/*
-        chown root:${OSSEC_GID} ${DIR}/bin/*
-        chmod 550 ${DIR}/bin/*
+        chmod 755 ${OSSEC_DIR}/active-response/bin/*
+        chown root:${OSSEC_GID} ${OSSEC_DIR}/active-response/bin/*
+        chown root:${OSSEC_GID} ${OSSEC_DIR}/bin/*
+        chmod 550 ${OSSEC_DIR}/bin/*
 
 	# For ossec.conf
-        chown root:${OSSEC_GID} ${DIR}/etc/ossec.conf
-        chmod 660 ${DIR}/etc/ossec.conf
+        chown root:${OSSEC_GID} ${OSSEC_DIR}/etc/ossec.conf
+        chmod 660 ${OSSEC_DIR}/etc/ossec.conf
 
 	# Debconf
 	. /usr/share/debconf/confmodule
@@ -126,23 +131,23 @@
 	db_get ossec-hids-agent/server-ip
 	SERVER_IP=$RET
 
-	sed -i "s/<server-ip>[^<]\+<\/server-ip>/<server-ip>${SERVER_IP}<\/server-ip>/" ${DIR}/etc/ossec.conf
+	sed -i "s/<server-ip>[^<]\+<\/server-ip>/<server-ip>${SERVER_IP}<\/server-ip>/" ${OSSEC_DIR}/etc/ossec.conf
 	db_stop
 
         # ossec-init.conf
-        if [ -e ${DIR}/etc/ossec-init.conf ] && [ -d /etc/ ]; then
+        if [ -e ${OSSEC_DIR}/etc/ossec-init.conf ] && [ -d /etc/ ]; then
             if [ -e /etc/ossec-init.conf ]; then
                 rm -f /etc/ossec-init.conf
             fi
-            ln -s ${DIR}/etc/ossec-init.conf /etc/ossec-init.conf
+            ln -s ${OSSEC_DIR}/etc/ossec-init.conf /etc/ossec-init.conf
         fi
 
         # init.d/ossec file
-        if [ -x ${DIR}/etc/init.d/ossec ] && [ -d /etc/init.d/ ]; then
+        if [ -x ${OSSEC_DIR}/etc/init.d/ossec ] && [ -d /etc/init.d/ ]; then
             if [ -e /etc/init.d/ossec ]; then
                 rm -f /etc/init.d/ossec
             fi
-            ln -s ${DIR}/etc/init.d/ossec /etc/init.d/ossec
+            ln -s ${OSSEC_DIR}/etc/init.d/ossec /etc/init.d/ossec
         fi
 
 	# Service
diff --git a/meta-security/recipes-kernel/linux/linux-yocto-rt_%.bbappend b/meta-security/recipes-kernel/linux/linux-yocto-rt_%.bbappend
new file mode 100644
index 0000000..79dfeac
--- /dev/null
+++ b/meta-security/recipes-kernel/linux/linux-yocto-rt_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('DISTRO_FEATURES', 'security', 'linux-yocto_security.inc', '', d)}
diff --git a/meta-security/recipes-scanners/clamav/clamav_0.104.4.bb b/meta-security/recipes-scanners/clamav/clamav_0.104.4.bb
index 68a7d1f..102f267 100644
--- a/meta-security/recipes-scanners/clamav/clamav_0.104.4.bb
+++ b/meta-security/recipes-scanners/clamav/clamav_0.104.4.bb
@@ -13,7 +13,7 @@
 # July 30th, 2022
 SRCREV = "563ba93052f3b7b46fb8725a65ee6299a9c332cf"
 
-SRC_URI = "git://github.com/vrtadmin/clamav-devel;branch=rel/0.104;protocol=https \
+SRC_URI = "git://github.com/Cisco-Talos/clamav;branch=rel/0.104;protocol=https \
     file://clamd.conf \
     file://freshclam.conf \
     file://volatiles.03_clamav \
diff --git a/meta-security/recipes-security/Firejail/firejail_0.9.72.bb b/meta-security/recipes-security/Firejail/firejail_0.9.72.bb
index 12a3105..5713f46 100644
--- a/meta-security/recipes-security/Firejail/firejail_0.9.72.bb
+++ b/meta-security/recipes-security/Firejail/firejail_0.9.72.bb
@@ -59,6 +59,7 @@
     ${libdir}/${BPN}/fseccomp memory-deny-write-execute ${libdir}/${BPN}/seccomp.mdwx
 }
 
-COMPATIBLE_MACHINE:mips64 = "(!.*mips64).*"
+COMPATIBLE_MACHINE:x86_64 = "x86_64"
+COMPATIBLE_MACHINE:arm64 = "arch64"
 
 RDEPENDS:${PN} = "bash"
diff --git a/meta-security/recipes-security/glome/glome_git.bb b/meta-security/recipes-security/glome/glome_git.bb
index 12d6d5f..8787ddc 100644
--- a/meta-security/recipes-security/glome/glome_git.bb
+++ b/meta-security/recipes-security/glome/glome_git.bb
@@ -12,7 +12,7 @@
 
 S = "${WORKDIR}/git"
 SRC_URI = "git://github.com/google/glome.git;branch=master;protocol=https"
-SRCREV = "978ad9fb165f1e382c875f2ce08a1fc4f2ddcf1b"
+SRCREV = "48d28f82bd51ae4bccc84fbbee93c375b026596b"
 
 FILES:${PN} += "${libdir}/security"
 
diff --git a/meta-security/recipes-security/sshguard/sshguard_2.4.2.bb b/meta-security/recipes-security/sshguard/sshguard_2.4.3.bb
similarity index 79%
rename from meta-security/recipes-security/sshguard/sshguard_2.4.2.bb
rename to meta-security/recipes-security/sshguard/sshguard_2.4.3.bb
index bd7f979..37b414e 100644
--- a/meta-security/recipes-security/sshguard/sshguard_2.4.2.bb
+++ b/meta-security/recipes-security/sshguard/sshguard_2.4.3.bb
@@ -6,6 +6,6 @@
 
 SRC_URI="https://sourceforge.net/projects/sshguard/files/sshguard/${PV}/sshguard-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "2770b776e5ea70a9bedfec4fd84d57400afa927f0f7522870d2dcbbe1ace37e8"
+SRC_URI[sha256sum] = "64029deff6de90fdeefb1f497d414f0e4045076693a91da1a70eb7595e97efeb"
 
 inherit autotools-brokensep
diff --git a/poky/bitbake/contrib/vim/indent/bitbake.vim b/poky/bitbake/contrib/vim/indent/bitbake.vim
index 1381034..7ee9d69 100644
--- a/poky/bitbake/contrib/vim/indent/bitbake.vim
+++ b/poky/bitbake/contrib/vim/indent/bitbake.vim
@@ -40,7 +40,7 @@
 
 let s:maxoff = 50	" maximum number of lines to look backwards for ()
 
-function GetPythonIndent(lnum)
+function! GetBBPythonIndent(lnum)
 
   " If this line is explicitly joined: If the previous line was also joined,
   " line it up with that one, otherwise add two 'shiftwidth'
@@ -257,7 +257,7 @@
 setlocal indentkeys+=0\"
 
 
-function BitbakeIndent(lnum)
+function! BitbakeIndent(lnum)
     if !has('syntax_items')
         return -1
     endif
@@ -315,7 +315,7 @@
     endif
 
     if index(["bbPyDefRegion", "bbPyFuncRegion"], name) != -1
-        let ret = GetPythonIndent(a:lnum)
+        let ret = GetBBPythonIndent(a:lnum)
         " Should normally always be indented by at least one shiftwidth; but allow
         " return of -1 (defer to autoindent) or -2 (force indent to 0)
         if ret == 0
diff --git a/poky/bitbake/lib/bb/data_smart.py b/poky/bitbake/lib/bb/data_smart.py
index c597dba..0128a5b 100644
--- a/poky/bitbake/lib/bb/data_smart.py
+++ b/poky/bitbake/lib/bb/data_smart.py
@@ -16,7 +16,10 @@
 #
 # Based on functions from the base bb module, Copyright 2003 Holger Schurig
 
-import copy, re, sys, traceback
+import builtins
+import copy
+import re
+import sys
 from collections.abc import MutableMapping
 import logging
 import hashlib
@@ -150,19 +153,21 @@
             value = utils.better_eval(codeobj, DataContext(self.d), {'d' : self.d})
             return str(value)
 
-
 class DataContext(dict):
+    excluded = set([i for i in dir(builtins) if not i.startswith('_')] + ['oe'])
+
     def __init__(self, metadata, **kwargs):
         self.metadata = metadata
         dict.__init__(self, **kwargs)
         self['d'] = metadata
+        self.context = set(bb.utils.get_context())
 
     def __missing__(self, key):
-        # Skip commonly accessed invalid variables
-        if key in ['bb', 'oe', 'int', 'bool', 'time', 'str', 'os']:
+        if key in self.excluded or key in self.context:
             raise KeyError(key)
+
         value = self.metadata.getVar(key)
-        if value is None or self.metadata.getVarFlag(key, 'func', False):
+        if value is None:
             raise KeyError(key)
         else:
             return value
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index 770021d..2428a26 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -388,7 +388,7 @@
             if s:
                 if not '=' in s:
                     raise MalformedUrl(url, "The URL: '%s' is invalid: parameter %s does not specify a value (missing '=')" % (url, s))
-                s1, s2 = s.split('=')
+                s1, s2 = s.split('=', 1)
                 p[s1] = s2
 
     return type, host, urllib.parse.unquote(path), user, pswd, p
@@ -1402,6 +1402,9 @@
         Is localpath something that can be represented by a checksum?
         """
 
+        # We cannot compute checksums for None
+        if urldata.localpath is None:
+            return False
         # We cannot compute checksums for directories
         if os.path.isdir(urldata.localpath):
             return False
diff --git a/poky/bitbake/lib/bb/fetch2/gitsm.py b/poky/bitbake/lib/bb/fetch2/gitsm.py
index f8e239b..47225b9 100644
--- a/poky/bitbake/lib/bb/fetch2/gitsm.py
+++ b/poky/bitbake/lib/bb/fetch2/gitsm.py
@@ -123,6 +123,12 @@
             url += ";name=%s" % module
             url += ";subpath=%s" % module
             url += ";nobranch=1"
+            # Note that adding "user=" here to give credentials to the
+            # submodule is not supported. Since using SRC_URI to give git://
+            # URL a password is not supported, one have to use one of the
+            # recommended way (eg. ~/.netrc or SSH config) which does specify
+            # the user (See comment in git.py).
+            # So, we will not take patches adding "user=" support here.
 
             ld = d.createCopy()
             # Not necessary to set SRC_URI, since we're passing the URI to
diff --git a/poky/bitbake/lib/bb/fetch2/npmsw.py b/poky/bitbake/lib/bb/fetch2/npmsw.py
index 971ccc9..4ff2c8f 100644
--- a/poky/bitbake/lib/bb/fetch2/npmsw.py
+++ b/poky/bitbake/lib/bb/fetch2/npmsw.py
@@ -225,13 +225,15 @@
     @staticmethod
     def _foreach_proxy_method(ud, handle):
         returns = []
-        for proxy_url in ud.proxy.urls:
-            proxy_ud = ud.proxy.ud[proxy_url]
-            proxy_d = ud.proxy.d
-            proxy_ud.setup_localpath(proxy_d)
-            lf = lockfile(proxy_ud.lockfile)
-            returns.append(handle(proxy_ud.method, proxy_ud, proxy_d))
-            unlockfile(lf)
+        #Check if there are dependencies before try to fetch them
+        if len(ud.deps) > 0:
+            for proxy_url in ud.proxy.urls:
+                proxy_ud = ud.proxy.ud[proxy_url]
+                proxy_d = ud.proxy.d
+                proxy_ud.setup_localpath(proxy_d)
+                lf = lockfile(proxy_ud.lockfile)
+                returns.append(handle(proxy_ud.method, proxy_ud, proxy_d))
+                unlockfile(lf)
         return returns
 
     def verify_donestamp(self, ud, d):
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index 4d4fa6d..f62faed 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -860,11 +860,10 @@
                 process.queue_signals = True
                 self._send(obj)
                 process.queue_signals = False
-                try:
-                    for sig in process.signal_received.pop():
-                        process.handle_sig(sig, None)
-                except IndexError:
-                    pass
+
+                while len(process.signal_received) > 0:
+                    sig = process.signal_received.pop()
+                    process.handle_sig(sig, None)
         else:
             self._send(obj)
 
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index c4ff9d8..d0a5556 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -182,6 +182,11 @@
     def exit(self):
         return
 
+def build_pnid(mc, pn, taskname):
+    if mc:
+        return "mc:" + mc + ":" + pn + ":" + taskname
+    return pn + ":" + taskname
+
 class SignatureGeneratorBasic(SignatureGenerator):
     """
     """
@@ -309,15 +314,19 @@
         recipename = dataCaches[mc].pkg_fn[mcfn]
 
         self.tidtopn[tid] = recipename
+        # save hashfn for deps into siginfo?
+        for dep in deps:
+            (depmc, _, deptask, depmcfn) = bb.runqueue.split_tid_mcfn(dep)
+            dep_pn = dataCaches[depmc].pkg_fn[depmcfn]
 
-        for dep in sorted(deps, key=clean_basepath):
-            (depmc, _, _, depmcfn) = bb.runqueue.split_tid_mcfn(dep)
-            depname = dataCaches[depmc].pkg_fn[depmcfn]
-            if not self.rundep_check(mcfn, recipename, task, dep, depname, dataCaches):
+            if not self.rundep_check(mcfn, recipename, task, dep, dep_pn, dataCaches):
                 continue
+
             if dep not in self.taskhash:
                 bb.fatal("%s is not in taskhash, caller isn't calling in dependency order?" % dep)
-            self.runtaskdeps[tid].append(dep)
+
+            dep_pnid = build_pnid(depmc, dep_pn, deptask)
+            self.runtaskdeps[tid].append((dep_pnid, dep))
 
         if task in dataCaches[mc].file_checksums[mcfn]:
             if self.checksum_cache:
@@ -348,8 +357,8 @@
     def get_taskhash(self, tid, deps, dataCaches):
 
         data = self.basehash[tid]
-        for dep in self.runtaskdeps[tid]:
-            data += self.get_unihash(dep)
+        for dep in sorted(self.runtaskdeps[tid]):
+            data += self.get_unihash(dep[1])
 
         for (f, cs) in self.file_checksum_values[tid]:
             if cs:
@@ -414,7 +423,7 @@
             data['varvals'][dep] = self.datacaches[mc].siggen_varvals[mcfn][dep]
 
         if runtime and tid in self.taskhash:
-            data['runtaskdeps'] = self.runtaskdeps[tid]
+            data['runtaskdeps'] = [dep[0] for dep in sorted(self.runtaskdeps[tid])]
             data['file_checksum_values'] = []
             for f,cs in self.file_checksum_values[tid]:
                 if "/./" in f:
@@ -422,8 +431,8 @@
                 else:
                     data['file_checksum_values'].append((os.path.basename(f), cs))
             data['runtaskhashes'] = {}
-            for dep in data['runtaskdeps']:
-                data['runtaskhashes'][dep] = self.get_unihash(dep)
+            for dep in self.runtaskdeps[tid]:
+                data['runtaskhashes'][dep[0]] = self.get_unihash(dep[1])
             data['taskhash'] = self.taskhash[tid]
             data['unihash'] = self.get_unihash(tid)
 
@@ -793,39 +802,6 @@
             ret.append(item)
     return '[%s]' % (', '.join(ret))
 
-def clean_basepath(basepath):
-    basepath, dir, recipe_task = basepath.rsplit("/", 2)
-    cleaned = dir + '/' + recipe_task
-
-    if basepath[0] == '/':
-        return cleaned
-
-    if basepath.startswith("mc:") and basepath.count(':') >= 2:
-        mc, mc_name, basepath = basepath.split(":", 2)
-        mc_suffix = ':mc:' + mc_name
-    else:
-        mc_suffix = ''
-
-    # mc stuff now removed from basepath. Whatever was next, if present will be the first
-    # suffix. ':/', recipe path start, marks the end of this. Something like
-    # 'virtual:a[:b[:c]]:/path...' (b and c being optional)
-    if basepath[0] != '/':
-        cleaned += ':' + basepath.split(':/', 1)[0]
-
-    return cleaned + mc_suffix
-
-def clean_basepaths(a):
-    b = {}
-    for x in a:
-        b[clean_basepath(x)] = a[x]
-    return b
-
-def clean_basepaths_list(a):
-    b = []
-    for x in a:
-        b.append(clean_basepath(x))
-    return b
-
 # Handled renamed fields
 def handle_renames(data):
     if 'basewhitelist' in data:
@@ -994,11 +970,11 @@
                 a = a_data['runtaskdeps'][idx]
                 b = b_data['runtaskdeps'][idx]
                 if a_data['runtaskhashes'][a] != b_data['runtaskhashes'][b] and not collapsed:
-                    changed.append("%s with hash %s\n changed to\n%s with hash %s" % (clean_basepath(a), a_data['runtaskhashes'][a], clean_basepath(b), b_data['runtaskhashes'][b]))
+                    changed.append("%s with hash %s\n changed to\n%s with hash %s" % (a, a_data['runtaskhashes'][a], b, b_data['runtaskhashes'][b]))
 
         if changed:
-            clean_a = clean_basepaths_list(a_data['runtaskdeps'])
-            clean_b = clean_basepaths_list(b_data['runtaskdeps'])
+            clean_a = a_data['runtaskdeps']
+            clean_b = b_data['runtaskdeps']
             if clean_a != clean_b:
                 output.append(color_format("{color_title}runtaskdeps changed:{color_default}\n%s") % list_inline_diff(clean_a, clean_b, colors))
             else:
@@ -1007,8 +983,8 @@
 
 
     if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data:
-        a = clean_basepaths(a_data['runtaskhashes'])
-        b = clean_basepaths(b_data['runtaskhashes'])
+        a = a_data['runtaskhashes']
+        b = b_data['runtaskhashes']
         changed, added, removed = dict_diff(a, b)
         if added:
             for dep in sorted(added):
diff --git a/poky/bitbake/lib/bb/tests/codeparser.py b/poky/bitbake/lib/bb/tests/codeparser.py
index 7f5d59c..a64c614 100644
--- a/poky/bitbake/lib/bb/tests/codeparser.py
+++ b/poky/bitbake/lib/bb/tests/codeparser.py
@@ -44,6 +44,7 @@
     def parseExpression(self, exp):
         parsedvar = self.d.expandWithRefs(exp, None)
         self.references = parsedvar.references
+        self.execs = parsedvar.execs
 
     def test_simple_reference(self):
         self.setEmptyVars(["FOO"])
@@ -61,6 +62,11 @@
         self.parseExpression("${@d.getVar('BAR') + 'foo'}")
         self.assertReferences(set(["BAR"]))
 
+    def test_python_exec_reference(self):
+        self.parseExpression("${@eval('3 * 5')}")
+        self.assertReferences(set())
+        self.assertExecs(set(["eval"]))
+
 class ShellReferenceTest(ReferenceTest):
 
     def parseExpression(self, exp):
diff --git a/poky/bitbake/lib/bb/tests/data.py b/poky/bitbake/lib/bb/tests/data.py
index 8c043b7..98e430c 100644
--- a/poky/bitbake/lib/bb/tests/data.py
+++ b/poky/bitbake/lib/bb/tests/data.py
@@ -77,6 +77,18 @@
         val = self.d.expand("${@d.getVar('foo') + ' ${bar}'}")
         self.assertEqual(str(val), "value_of_foo value_of_bar")
 
+    def test_python_snippet_function_reference(self):
+        self.d.setVar("TESTVAL", "testvalue")
+        self.d.setVar("testfunc", 'd.getVar("TESTVAL")')
+        context = bb.utils.get_context()
+        context["testfunc"] = lambda d: d.getVar("TESTVAL")
+        val = self.d.expand("${@testfunc(d)}")
+        self.assertEqual(str(val), "testvalue")
+
+    def test_python_snippet_builtin_metadata(self):
+        self.d.setVar("eval", "INVALID")
+        self.d.expand("${@eval('3')}")
+
     def test_python_unexpanded(self):
         self.d.setVar("bar", "${unsetvar}")
         val = self.d.expand("${@d.getVar('foo') + ' ${bar}'}")
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 2059376..c5d15e9 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -1342,6 +1342,7 @@
        "cvs://anoncvs:anonymous@cvs.handhelds.org/cvs;tag=V0-99-81;module=familiar/dist/ipkg" : ('cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', 'anonymous', collections.OrderedDict([('tag', 'V0-99-81'), ('module', 'familiar/dist/ipkg')])),
        "git://git.openembedded.org/bitbake;branch=@foo;protocol=https" : ('git', 'git.openembedded.org', '/bitbake', '', '', {'branch': '@foo', 'protocol' : 'https'}),
        "file://somelocation;someparam=1": ('file', '', 'somelocation', '', '', {'someparam': '1'}),
+       "https://somesite.com/somerepo.git;user=anyUser:idtoken=1234" : ('https', 'somesite.com', '/somerepo.git', '', '', {'user': 'anyUser:idtoken=1234'}),
        r'git://s.o-me_ONE:!#$%^&*()-_={}[]\|:?,.<>~`@git.openembedded.org/bitbake;branch=main;protocol=https': ('git', 'git.openembedded.org', '/bitbake', 's.o-me_ONE', r'!#$%^&*()-_={}[]\|:?,.<>~`', {'branch': 'main', 'protocol' : 'https'}),
     }
     # we require a pathname to encodeurl but users can still pass such urls to 
diff --git a/poky/bitbake/lib/bb/tests/siggen.py b/poky/bitbake/lib/bb/tests/siggen.py
index c21ab4e..0dc67e6 100644
--- a/poky/bitbake/lib/bb/tests/siggen.py
+++ b/poky/bitbake/lib/bb/tests/siggen.py
@@ -17,75 +17,12 @@
 
 class SiggenTest(unittest.TestCase):
 
-    def test_clean_basepath_simple_target_basepath(self):
-        basepath = '/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask'
-        expected_cleaned = 'helloworld/helloworld_1.2.3.bb:do_sometask'
+    def test_build_pnid(self):
+        tests = {
+            ('', 'helloworld', 'do_sometask') : 'helloworld:do_sometask',
+            ('XX', 'helloworld', 'do_sometask') : 'mc:XX:helloworld:do_sometask',
+        }
 
-        actual_cleaned = bb.siggen.clean_basepath(basepath)
+        for t in tests:
+            self.assertEqual(bb.siggen.build_pnid(*t), tests[t])
 
-        self.assertEqual(actual_cleaned, expected_cleaned)
-
-    def test_clean_basepath_basic_virtual_basepath(self):
-        basepath = 'virtual:something:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask'
-        expected_cleaned = 'helloworld/helloworld_1.2.3.bb:do_sometask:virtual:something'
-
-        actual_cleaned = bb.siggen.clean_basepath(basepath)
-
-        self.assertEqual(actual_cleaned, expected_cleaned)
-
-    def test_clean_basepath_mc_basepath(self):
-        basepath = 'mc:somemachine:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask'
-        expected_cleaned = 'helloworld/helloworld_1.2.3.bb:do_sometask:mc:somemachine'
-
-        actual_cleaned = bb.siggen.clean_basepath(basepath)
-
-        self.assertEqual(actual_cleaned, expected_cleaned)
-
-    def test_clean_basepath_virtual_long_prefix_basepath(self):
-        basepath = 'virtual:something:A:B:C:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask'
-        expected_cleaned = 'helloworld/helloworld_1.2.3.bb:do_sometask:virtual:something:A:B:C'
-
-        actual_cleaned = bb.siggen.clean_basepath(basepath)
-
-        self.assertEqual(actual_cleaned, expected_cleaned)
-
-    def test_clean_basepath_mc_virtual_basepath(self):
-        basepath = 'mc:somemachine:virtual:something:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask'
-        expected_cleaned = 'helloworld/helloworld_1.2.3.bb:do_sometask:virtual:something:mc:somemachine'
-
-        actual_cleaned = bb.siggen.clean_basepath(basepath)
-
-        self.assertEqual(actual_cleaned, expected_cleaned)
-
-    def test_clean_basepath_mc_virtual_long_prefix_basepath(self):
-        basepath = 'mc:X:virtual:something:C:B:A:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask'
-        expected_cleaned = 'helloworld/helloworld_1.2.3.bb:do_sometask:virtual:something:C:B:A:mc:X'
-
-        actual_cleaned = bb.siggen.clean_basepath(basepath)
-
-        self.assertEqual(actual_cleaned, expected_cleaned)
-
-
-    # def test_clean_basepath_performance(self):
-    #     input_basepaths = [
-    #         'mc:X:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
-    #         'mc:X:virtual:something:C:B:A:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
-    #         'virtual:something:C:B:A:/different/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
-    #         'virtual:something:A:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
-    #         '/this/is/most/common/input/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
-    #         '/and/should/be/tested/with/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
-    #         '/more/weight/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
-    #     ]
-
-    #     time_start = time.time()
-
-    #     i = 2000000
-    #     while i >= 0:
-    #         for basepath in input_basepaths:
-    #             bb.siggen.clean_basepath(basepath)
-    #         i -= 1
-
-    #     elapsed = time.time() - time_start
-    #     print('{} ({}s)'.format(self.id(), round(elapsed, 3)))
-
-    #     self.assertTrue(False)
diff --git a/poky/documentation/dev-manual/new-recipe.rst b/poky/documentation/dev-manual/new-recipe.rst
index 1be04a7..af39077 100644
--- a/poky/documentation/dev-manual/new-recipe.rst
+++ b/poky/documentation/dev-manual/new-recipe.rst
@@ -1253,8 +1253,7 @@
 
    S = "${WORKDIR}/git"
 
-   # Fixed in r118, which is larger than the current version.
-   CVE_CHECK_IGNORE += "CVE-2014-4715"
+   CVE_STATUS[CVE-2014-4715] = "fixed-version: Fixed in r118, which is larger than the current version"
 
    EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' CFLAGS='${CFLAGS}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir} BUILD_STATIC=no"
 
diff --git a/poky/documentation/dev-manual/vulnerabilities.rst b/poky/documentation/dev-manual/vulnerabilities.rst
index 0ee3ec5..6d87d02 100644
--- a/poky/documentation/dev-manual/vulnerabilities.rst
+++ b/poky/documentation/dev-manual/vulnerabilities.rst
@@ -130,7 +130,8 @@
 =================================
 
 If a CVE security issue impacts a software component, it can be fixed by updating to a newer
-version of the software component or by applying a patch. For Poky and OE-Core master branches, updating
+version of the software component, by applying a patch or by marking it as patched via
+:term:`CVE_STATUS` variable flag. For Poky and OE-Core master branches, updating
 to a newer software component release with fixes is the best option, but patches can be applied
 if releases are not yet available.
 
@@ -158,7 +159,8 @@
 in the generated reports.
 
 If analysis shows that the CVE issue does not impact the recipe due to configuration, platform,
-version or other reasons, the CVE can be marked as ``Ignored`` using the :term:`CVE_CHECK_IGNORE` variable.
+version or other reasons, the CVE can be marked as ``Ignored`` by using
+the :term:`CVE_STATUS` variable flag with appropriate reason which is mapped to ``Ignored``.
 As mentioned previously, if data in the CVE database is wrong, it is recommend to fix those
 issues in the CVE database directly.
 
@@ -175,6 +177,8 @@
 Don't forget that if multiple CVE IDs are found in the filename, only the last
 one is considered. Then, the code looks for ``CVE: CVE-ID`` lines in the patch
 file. The found CVE IDs are also considered as patched.
+Additionally ``CVE_STATUS`` variable flags are parsed for reasons mapped to ``Patched``
+and these are also considered as patched.
 
 Then, the code looks up all the CVE IDs in the NIST database for all the
 products defined in :term:`CVE_PRODUCT`. Then, for each found CVE:
@@ -182,8 +186,9 @@
 -  If the package name (:term:`PN`) is part of
    :term:`CVE_CHECK_SKIP_RECIPE`, it is considered as ``Patched``.
 
--  If the CVE ID is part of :term:`CVE_CHECK_IGNORE`, it is
-   set as ``Ignored``.
+-  If the CVE ID has status ``CVE_STATUS[<CVE ID>] = "ignored"`` or if it's set to
+   any reason which is mapped to status ``Ignored`` via ``CVE_CHECK_STATUSMAP``,
+   it is  set as ``Ignored``.
 
 -  If the CVE ID is part of the patched CVE for the recipe, it is
    already considered as ``Patched``.
diff --git a/poky/documentation/migration-guides/release-4.0.rst b/poky/documentation/migration-guides/release-4.0.rst
index 05c2705..1f08c88 100644
--- a/poky/documentation/migration-guides/release-4.0.rst
+++ b/poky/documentation/migration-guides/release-4.0.rst
@@ -17,3 +17,4 @@
    release-notes-4.0.8
    release-notes-4.0.9
    release-notes-4.0.10
+   release-notes-4.0.11
diff --git a/poky/documentation/migration-guides/release-4.2.rst b/poky/documentation/migration-guides/release-4.2.rst
index 2757f89..981600a 100644
--- a/poky/documentation/migration-guides/release-4.2.rst
+++ b/poky/documentation/migration-guides/release-4.2.rst
@@ -8,3 +8,4 @@
    migration-4.2
    release-notes-4.2
    release-notes-4.2.1
+   release-notes-4.2.2
diff --git a/poky/documentation/migration-guides/release-notes-4.0.11.rst b/poky/documentation/migration-guides/release-notes-4.0.11.rst
new file mode 100644
index 0000000..8a15884
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-4.0.11.rst
@@ -0,0 +1,214 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Release notes for Yocto-4.0.11 (Kirkstone)
+------------------------------------------
+
+Security Fixes in Yocto-4.0.11
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  cups: Fix :cve:`2023-32324`
+-  curl: Fix :cve:`2023-28319`, :cve:`2023-28320`, :cve:`2023-28321` and :cve:`2023-28322`
+-  git: Ignore :cve:`2023-25815`
+-  go: Fix :cve:`2023-24539` and :cve:`2023-24540`
+-  nasm: Fix :cve:`2022-46457`
+-  openssh: Fix :cve:`2023-28531`
+-  openssl: Fix :cve:`2023-1255` and :cve:`2023-2650`
+-  perl: Fix :cve:`2023-31484`
+-  python3-requests: Fix for :cve:`2023-32681`
+-  sysstat: Fix :cve:`2023-33204`
+-  vim: Fix :cve:`2023-2426`
+-  webkitgtk: fix :cve:`2022-42867`, :cve:`2022-46691`, :cve:`2022-46699` and :cve:`2022-46700`
+
+
+Fixes in Yocto-4.0.11
+~~~~~~~~~~~~~~~~~~~~~
+
+-  Revert "docs: conf.py: fix cve extlinks caption for sphinx <4.0"
+-  Revert "ipk: Decode byte data to string in manifest handling"
+-  avahi: fix D-Bus introspection
+-  build-appliance-image: Update to kirkstone head revision
+-  conf.py: add macro for Mitre CVE links
+-  conf: add nice level to the hash config ignred variables
+-  cpio: Fix wrong CRC with ASCII CRC for large files
+-  cve-update-nvd2-native: added the missing http import
+-  cve-update-nvd2-native: new CVE database fetcher
+-  dhcpcd: use git instead of tarballs
+-  e2fsprogs: fix ptest bug for second running
+-  gcc-runtime: Use static dummy libstdc++
+-  glibc: stable 2.35 branch updates (cbceb903c4d7)
+-  go.bbclass: don't use test to check output from ls
+-  gstreamer1.0: Upgrade to 1.20.6
+-  iso-codes: Upgrade to 4.15.0
+-  kernel-devicetree: allow specification of dtb directory
+-  kernel-devicetree: make shell scripts posix compliant
+-  kernel-devicetree: recursively search for dtbs
+-  kernel: don't force PAHOLE=false
+-  kmscube: Correct :term:`DEPENDS` to avoid overwrite
+-  lib/terminal.py: Add urxvt terminal
+-  license.bbclass: Include :term:`LICENSE` in the output when it fails to parse
+-  linux-yocto/5.10: Upgrade to v5.10.180
+-  linux-yocto/5.15: Upgrade to v5.15.113
+-  llvm: backport a fix for build with gcc-13
+-  maintainers.inc: Fix email address typo
+-  maintainers.inc: Move repo to unassigned
+-  migration-guides: add release notes for 4.0.10
+-  migration-guides: use new cve_mitre macro
+-  nghttp2: Deleted the entries for -client and -server, and removed a dependency on them from the main package.
+-  oeqa/selftest/cases/devtool.py: skip all tests require folder a git repo
+-  openssh: Remove BSD-4-clause contents completely from codebase
+-  openssl: Upgrade to 3.0.9
+-  overview-manual: concepts.rst: Fix a typo
+-  p11-kit: add native to :term:`BBCLASSEXTEND`
+-  package: enable recursion on file globs
+-  package_manager/ipk: fix config path generation in _create_custom_config()
+-  piglit: Add :term:`PACKAGECONFIG` for glx and opencl
+-  piglit: Add missing glslang dependencies
+-  piglit: Fix build time dependency
+-  poky.conf: bump version for 4.0.11
+-  profile-manual: fix blktrace remote usage instructions
+-  quilt: Fix merge.test race condition
+-  ref-manual: add clarification for :term:`SRCREV`
+-  selftest/reproducible: Allow native/cross reuse in test
+-  staging.bbclass: do not add extend_recipe_sysroot to prefuncs of prepare_recipe_sysroot
+-  systemd-networkd: backport fix for rm unmanaged wifi
+-  systemd-systemctl: fix instance template WantedBy symlink construction
+-  systemd-systemctl: support instance expansion in WantedBy
+-  uninative: Upgrade to 3.10 to support gcc 13
+-  uninative: Upgrade to 4.0 to include latest gcc 13.1.1
+-  vim: Upgrade to 9.0.1527
+-  waffle: Upgrade to 1.7.2
+-  weston: add xwayland to :term:`DEPENDS` for :term:`PACKAGECONFIG` xwayland
+
+
+Known Issues in Yocto-4.0.11
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- N/A
+
+
+Contributors to Yocto-4.0.11
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  Alexander Kanavin
+-  Andrew Jeffery
+-  Archana Polampalli
+-  Bhabu Bindu
+-  Bruce Ashfield
+-  C. Andy Martin
+-  Chen Qi
+-  Daniel Ammann
+-  Deepthi Hemraj
+-  Ed Beroset
+-  Eero Aaltonen
+-  Enrico Jörns
+-  Hannu Lounento
+-  Hitendra Prajapati
+-  Ian Ray
+-  Jan Luebbe
+-  Jan Vermaete
+-  Khem Raj
+-  Lee Chee Yang
+-  Lei Maohui
+-  Lorenzo Arena
+-  Marek Vasut
+-  Marta Rybczynska
+-  Martin Jansa
+-  Martin Siegumfeldt
+-  Michael Halstead
+-  Michael Opdenacker
+-  Ming Liu
+-  Narpat Mali
+-  Omkar Patil
+-  Pablo Saavedra
+-  Pavel Zhukov
+-  Peter Kjellerstedt
+-  Peter Marko
+-  Qiu Tingting
+-  Quentin Schulz
+-  Randolph Sapp
+-  Randy MacLeod
+-  Ranjitsinh Rathod
+-  Richard Purdie
+-  Riyaz Khan
+-  Sakib Sajal
+-  Sanjay Chitroda
+-  Soumya Sambu
+-  Steve Sakoman
+-  Thomas Roos
+-  Tom Hochstein
+-  Vivek Kumbhar
+-  Wang Mingyu
+-  Yogita Urade
+-  Zoltan Boszormenyi
+
+
+Repositories / Downloads for Yocto-4.0.11
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+-  Repository Location: :yocto_git:`/poky`
+-  Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
+-  Tag:  :yocto_git:`yocto-4.0.11 </poky/log/?h=yocto-4.0.11>`
+-  Git Revision: :yocto_git:`fc697fe87412b9b179ae3a68d266ace85bb1fcc6 </poky/commit/?id=fc697fe87412b9b179ae3a68d266ace85bb1fcc6>`
+-  Release Artefact: poky-fc697fe87412b9b179ae3a68d266ace85bb1fcc6
+-  sha: d42ab1b76b9d8ab164d86dc0882c908658f6b5be0742b13a71531068f6a5ee98
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.11/poky-fc697fe87412b9b179ae3a68d266ace85bb1fcc6.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/poky-fc697fe87412b9b179ae3a68d266ace85bb1fcc6.tar.bz2
+
+openembedded-core
+
+-  Repository Location: :oe_git:`/openembedded-core`
+-  Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
+-  Tag:  :oe_git:`yocto-4.0.11 </openembedded-core/log/?h=yocto-4.0.11>`
+-  Git Revision: :oe_git:`7949e786cf8e50f716ff1f1c4797136637205e0c </openembedded-core/commit/?id=7949e786cf8e50f716ff1f1c4797136637205e0c>`
+-  Release Artefact: oecore-7949e786cf8e50f716ff1f1c4797136637205e0c
+-  sha: 3bda3f7d15961bad5490faf3194709528591a97564b5eae3da7345b63be20334
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.11/oecore-7949e786cf8e50f716ff1f1c4797136637205e0c.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/oecore-7949e786cf8e50f716ff1f1c4797136637205e0c.tar.bz2
+
+meta-mingw
+
+-  Repository Location: :yocto_git:`/meta-mingw`
+-  Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
+-  Tag:  :yocto_git:`yocto-4.0.11 </meta-mingw/log/?h=yocto-4.0.11>`
+-  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.11/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
+
+meta-gplv2
+
+-  Repository Location: :yocto_git:`/meta-gplv2`
+-  Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
+-  Tag:  :yocto_git:`yocto-4.0.11 </meta-gplv2/log/?h=yocto-4.0.11>`
+-  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.11/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
+
+bitbake
+
+-  Repository Location: :oe_git:`/bitbake`
+-  Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
+-  Tag:  :oe_git:`yocto-4.0.11 </bitbake/log/?h=yocto-4.0.11>`
+-  Git Revision: :oe_git:`0c6f86b60cfba67c20733516957c0a654eb2b44c </bitbake/commit/?id=0c6f86b60cfba67c20733516957c0a654eb2b44c>`
+-  Release Artefact: bitbake-0c6f86b60cfba67c20733516957c0a654eb2b44c
+-  sha: 4caa94ee4d644017b0cc51b702e330191677f7d179018cbcec8b1793949ebc74
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.11/bitbake-0c6f86b60cfba67c20733516957c0a654eb2b44c.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/bitbake-0c6f86b60cfba67c20733516957c0a654eb2b44c.tar.bz2
+
+yocto-docs
+
+-  Repository Location: :yocto_git:`/yocto-docs`
+-  Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
+-  Tag: :yocto_git:`yocto-4.0.11 </yocto-docs/log/?h=yocto-4.0.11>`
+-  Git Revision: :yocto_git:`6d16d2bde0aa32276a035ee49703e6eea7c7b29a </yocto-docs/commit/?id=6d16d2bde0aa32276a035ee49703e6eea7c7b29a>`
+
diff --git a/poky/documentation/migration-guides/release-notes-4.2.2.rst b/poky/documentation/migration-guides/release-notes-4.2.2.rst
new file mode 100644
index 0000000..74f2d0e
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-4.2.2.rst
@@ -0,0 +1,330 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Release notes for Yocto-4.2.2 (Mickledore)
+------------------------------------------
+
+Security Fixes in Yocto-4.2.2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  binutils: Fix :cve:`2023-1972`
+-  cups: Fix :cve:`2023-32324`
+-  curl: Fix :cve:`2023-28319`, :cve:`2023-28320`, :cve:`2023-28321` and :cve:`2023-28322`
+-  dbus: Fix :cve:`2023-34969`
+-  git: Fix :cve:`2023-25652` and :cve:`2023-29007`
+-  git: Ignore :cve:`2023-25815`
+-  libwebp: Fix :cve:`2023-1999`
+-  libxml2: Fix :cve:`2023-28484` and :cve:`2023-29469`
+-  libxpm: Fix :cve:`2022-44617`
+-  ninja: Ignore :cve:`2021-4336`
+-  openssl: Fix :cve:`2023-0464`, :cve:`2023-0465`, :cve:`2023-0466`, :cve:`2023-1255` and :cve:`2023-2650`
+-  perl: Fix :cve:`2023-31484` and :cve:`2023-31486`
+-  sysstat: Fix :cve:`2023-33204`
+-  tiff: Fix :cve_mitre:`2023-25434`, :cve:`2023-26965` and :cve:`2023-2731`
+-  vim: Fix :cve:`2023-2426`
+
+
+Fixes in Yocto-4.2.2
+~~~~~~~~~~~~~~~~~~~~
+
+-  apr: Upgrade to 1.7.4
+-  avahi: fix D-Bus introspection
+-  babeltrace2: Always use BFD linker when building tests with ld-is-lld distro feature
+-  babeltrace2: Upgrade to 2.0.5
+-  baremetal-helloworld: Update :term:`SRCREV` to fix entry addresses for ARM architectures
+-  bind: Upgrade to 9.18.15
+-  binutils: move packaging of gprofng static lib into common .inc
+-  binutils: package static libs from gprofng
+-  binutils: stable 2.40 branch updates (7343182dd1)
+-  bitbake.conf: add unzstd in :term:`HOSTTOOLS`
+-  bitbake: runqueue: Fix deferred task/multiconfig race issue
+-  bno_plot.py, btt_plot.py: Ask for python3 specifically
+-  build-appliance-image: Update to mickledore head revision
+-  busybox: Upgrade to 1.36.1
+-  cmake.bbclass: do not search host paths for find_program()
+-  conf: add nice level to the hash config ignred variables
+-  connman: fix warning by specifying runstatedir at configure time
+-  cpio: Run ptests under ptest user
+-  dbus: Upgrade to 1.14.8
+-  devtool: Fix the wrong variable in srcuri_entry
+-  dnf: only write the log lock to root for native dnf
+-  docs: bsp-guide: bsp: fix typo
+-  dpkg: Upgrade to v1.21.22
+-  e2fsprogs: Fix error SRCDIR when using usrmerge :term:`DISTRO_FEATURES`
+-  e2fsprogs: fix ptest bug for second running
+-  ell: Upgrade to 0.57
+-  expect: Add ptest support
+-  fribidi: Upgrade to 1.0.13
+-  gawk: Upgrade to 5.2.2
+-  gcc : upgrade to v12.3
+-  gdb: fix crashes when debugging threads with Arm Pointer Authentication enabled
+-  gdb: Upgrade to 13.2
+-  git: Upgrade to 2.39.3
+-  glib-networking: use correct error code in ptest
+-  glibc: Pass linker choice via compiler flags
+-  glibc: stable 2.37 branch updates.
+-  gnupg: Upgrade to 2.4.2
+-  go.bbclass: don't use test to check output from ls
+-  go: Upgrade to 1.20.5
+-  go: Use -no-pie to build target cgo
+-  gobject-introspection: remove obsolete :term:`DEPENDS`
+-  grub: submit determinism.patch upstream
+-  gstreamer1.0: Upgrade to 1.22.3
+-  gtk4: Upgrade to 4.10.4
+-  image-live.bbclass: respect :term:`IMAGE_MACHINE_SUFFIX`
+-  image_types: Fix reproducible builds for initramfs and UKI img
+-  inetutils: remove unused patch files
+-  ipk: Revert Decode byte data to string in manifest handling
+-  iso-codes: Upgrade to 4.15.0
+-  kernel: don't force PAHOLE=false
+-  kmod: remove unused ptest.patch
+-  kmscube: Correct :term:`DEPENDS` to avoid overwrite
+-  layer.conf: Add missing dependency exclusion
+-  lib/terminal.py: Add urxvt terminal
+-  libbsd: Add correct license for all packages
+-  libdnf: Upgrade to 0.70.1
+-  libgcrypt: Upgrade to 1.10.2
+-  libgloss: remove unused patch file
+-  libmicrohttpd: Upgrade to 0.9.77
+-  libmodule-build-perl: Upgrade to 0.4234
+-  libx11: remove unused patch and :term:`FILESEXTRAPATHS`
+-  libx11: Upgrade to 1.8.5
+-  libxfixes: Upgrade to v6.0.1
+-  libxft: Upgrade to 2.3.8
+-  libxi: Upgrade to v1.8.1
+-  libxml2: Do not use lld linker when building with tests on rv64
+-  libxml2: Upgrade to 2.10.4
+-  libxpm: Upgrade to 3.5.16
+-  linux-firmware: Upgrade to 20230515
+-  linux-yocto/5.15: cfg: fix DECNET configuration warning
+-  linux-yocto/5.15: Upgrade to v5.15.118
+-  linux-yocto/6.1: fix intermittent x86 boot hangs
+-  linux-yocto/6.1: Upgrade to v6.1.35
+-  linux-yocto: move build / debug dependencies to .inc
+-  logrotate: Do not create logrotate.status file
+-  maintainers.inc: correct Carlos Rafael Giani's email address
+-  maintainers.inc: correct unassigned entries
+-  maintainers.inc: unassign Adrian Bunk from wireless-regdb
+-  maintainers.inc: unassign Alistair Francis from opensbi
+-  maintainers.inc: unassign Andreas Müller from itstool entry
+-  maintainers.inc: unassign Chase Qi from libc-test
+-  maintainers.inc: unassign Oleksandr Kravchuk from python3 and all other items
+-  maintainers.inc: unassign Pascal Bach from cmake entry
+-  maintainers.inc: unassign Ricardo Neri from ovmf
+-  maintainers.inc: update version for gcc-source
+-  maintainers.inc: unassign Richard Weinberger from erofs-utils entry
+-  meta: depend on autoconf-archive-native, not autoconf-archive
+-  meta: lib: oe: npm_registry: Add more safe caracters
+-  migration-guides: add release notes for 4.2.1
+-  minicom: remove unused patch files
+-  mobile-broadband-provider-info: Upgrade to 20230416
+-  musl: Correct :term:`SRC_URI`
+-  oeqa/selftest/bbtests: add non-existent prefile/postfile tests
+-  oeqa/selftest/cases/devtool.py: skip all tests require folder a git repo
+-  oeqa: adding selftest-hello and use it to speed up tests
+-  openssh: Remove BSD-4-clause contents completely from codebase
+-  openssl: fix building on riscv32
+-  openssl: Upgrade to 3.1.1
+-  overview-manual: concepts.rst: Fix a typo
+-  parted: Add missing libuuid to linker cmdline for libparted-fs-resize.so
+-  perf: Make built-in libtraceevent plugins cohabit with external libtraceevent
+-  piglit: Add missing glslang dependencies
+-  piglit: Fix c++11-narrowing warnings in tests
+-  pkgconf: Upgrade to 1.9.5
+-  pm-utils: fix multilib conflictions
+-  poky.conf: bump version for 4.2.2 release
+-  populate_sdk_base.bbclass: respect :term:`MLPREFIX` for ptest-pkgs's ptest-runner
+-  profile-manual: fix blktrace remote usage instructions
+-  psmisc: Set :term:`ALTERNATIVE` for pstree to resolve conflict with busybox
+-  ptest-runner: Ensure data writes don't race
+-  ptest-runner: Pull in "runner: Remove threads and mutexes" fix
+-  ptest-runner: Pull in sync fix to improve log warnings
+-  python3-bcrypt: Use BFD linker when building tests
+-  python3-numpy: remove NPY_INLINE, use inline instead
+-  qemu: a pending patch was submitted and accepted upstream
+-  qemu: remove unused qemu-7.0.0-glibc-2.36.patch
+-  qemurunner.py: fix error message about qmp
+-  qemurunner: avoid leaking server_socket
+-  ref-manual: add clarification for :term:`SRCREV`
+-  ref-manual: classes.rst: fix typo
+-  rootfs-postcommands.bbclass: add post func remove_unused_dnf_log_lock
+-  rpcsvc-proto: Upgrade to 1.4.4
+-  rpm: drop unused 0001-Rip-out-partial-support-for-unused-MD2-and-RIPEMD160.patch
+-  rpm: Upgrade to 4.18.1
+-  rpm: write macros under libdir
+-  runqemu-gen-tapdevs: Refactoring
+-  runqemu-ifupdown/get-tapdevs: Add support for ip tuntap
+-  scripts/runqemu: allocate unfsd ports in a way that doesn't race or clash with unrelated processes
+-  scripts/runqemu: split lock dir creation into a reusable function
+-  scripts: fix buildstats diff/summary hard bound to host python3
+-  sdk.py: error out when moving file fails
+-  sdk.py: fix moving dnf contents
+-  selftest/license: Exclude from world
+-  selftest/reproducible: Allow native/cross reuse in test
+-  serf: Upgrade to 1.3.10
+-  staging.bbclass: do not add extend_recipe_sysroot to prefuncs of prepare_recipe_sysroot
+-  strace: Disable failing test
+-  strace: Merge two similar patches
+-  strace: Update patches/tests with upstream fixes
+-  sysfsutils: fetch a supported fork from github
+-  systemd-systemctl: support instance expansion in WantedBy
+-  systemd: Drop a backport
+-  tiff: Remove unused patch from tiff
+-  uninative: Upgrade to 3.10 to support gcc 13
+-  uninative: Upgrade to 4.0 to include latest gcc 13.1.1
+-  unzip: fix configure check for cross compilation
+-  unzip: remove hardcoded LARGE_FILE_SUPPORT
+-  useradd-example: package typo correction
+-  useradd-staticids.bbclass: improve error message
+-  v86d: Improve kernel dependency
+-  vim: Upgrade to 9.0.1527
+-  weston-init: add profile to point users to global socket
+-  weston-init: add the weston user to the wayland group
+-  weston-init: add weston user to the render group
+-  weston-init: fix the mixed indentation
+-  weston-init: guard against systemd configs
+-  weston-init: make sure the render group exists
+-  wget: Upgrade to 1.21.4
+-  wireless-regdb: Upgrade to 2023.05.03
+-  xdpyinfo: Upgrade to 1.3.4
+-  xf86-video-intel: Use the HTTPS protocol to fetch the Git repositories
+-  xinput: upgrade to v1.6.4
+-  xwininfo: upgrade to v1.1.6
+-  xz: Upgrade to 5.4.3
+-  yocto-bsps: update to v5.15.106
+-  zip: fix configure check by using _Static_assert
+-  zip: remove unnecessary LARGE_FILE_SUPPORT CLFAGS
+
+
+Known Issues in Yocto-4.2.2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- N/A
+
+
+Contributors to Yocto-4.2.2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  Alberto Planas
+-  Alejandro Hernandez Samaniego
+-  Alexander Kanavin
+-  Andrej Valek
+-  Andrew Jeffery
+-  Anuj Mittal
+-  Archana Polampalli
+-  BELOUARGA Mohamed
+-  Bruce Ashfield
+-  Changqing Li
+-  Charlie Wu
+-  Chen Qi
+-  Chi Xu
+-  Daniel Ammann
+-  Deepthi Hemraj
+-  Denys Dmytriyenko
+-  Dmitry Baryshkov
+-  Ed Beroset
+-  Eero Aaltonen
+-  Fabien Mahot
+-  Frieder Paape
+-  Frieder Schrempf
+-  Hannu Lounento
+-  Ian Ray
+-  Jermain Horsman
+-  Jörg Sommer
+-  Kai Kang
+-  Khem Raj
+-  Lee Chee Yang
+-  Lorenzo Arena
+-  Marc Ferland
+-  Markus Volk
+-  Martin Jansa
+-  Michael Halstead
+-  Mikko Rapeli
+-  Mingli Yu
+-  Natasha Bailey
+-  Nikhil R
+-  Pablo Saavedra
+-  Paul Gortmaker
+-  Pavel Zhukov
+-  Peter Kjellerstedt
+-  Qiu Tingting
+-  Quentin Schulz
+-  Randolph Sapp
+-  Randy MacLeod
+-  Ranjitsinh Rathod
+-  Richard Purdie
+-  Riyaz Khan
+-  Ross Burton
+-  Sakib Sajal
+-  Sanjay Chitroda
+-  Siddharth Doshi
+-  Soumya Sambu
+-  Steve Sakoman
+-  Sudip Mukherjee
+-  Sundeep KOKKONDA
+-  Thomas Roos
+-  Tim Orling
+-  Tom Hochstein
+-  Trevor Gamblin
+-  Ulrich Ölmann
+-  Wang Mingyu
+-  Xiangyu Chen
+
+
+Repositories / Downloads for Yocto-4.2.2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+-  Repository Location: :yocto_git:`/poky`
+-  Branch: :yocto_git:`mickledore </poky/log/?h=mickledore>`
+-  Tag:  :yocto_git:`yocto-4.2.2 </poky/log/?h=yocto-4.2.2>`
+-  Git Revision: :yocto_git:`6e17b3e644ca15b8b4afd071ccaa6f172a0e681a </poky/commit/?id=6e17b3e644ca15b8b4afd071ccaa6f172a0e681a>`
+-  Release Artefact: poky-6e17b3e644ca15b8b4afd071ccaa6f172a0e681a
+-  sha: c0b4dadcf00b97d866dd4cc2f162474da2c3e3289badaa42a978bff1d479af99
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.2.2/poky-6e17b3e644ca15b8b4afd071ccaa6f172a0e681a.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.2.2/poky-6e17b3e644ca15b8b4afd071ccaa6f172a0e681a.tar.bz2
+
+openembedded-core
+
+-  Repository Location: :oe_git:`/openembedded-core`
+-  Branch: :oe_git:`mickledore </openembedded-core/log/?h=mickledore>`
+-  Tag:  :oe_git:`yocto-4.2.2 </openembedded-core/log/?h=yocto-4.2.2>`
+-  Git Revision: :oe_git:`3ef283e02b0b91daf64c3a589e1f6bb68d4f5aa1 </openembedded-core/commit/?id=3ef283e02b0b91daf64c3a589e1f6bb68d4f5aa1>`
+-  Release Artefact: oecore-3ef283e02b0b91daf64c3a589e1f6bb68d4f5aa1
+-  sha: d2fd127f46e626fa4456c193af3dbd25d4b2565db59bc23be69a3b2dd4febed5
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.2.2/oecore-3ef283e02b0b91daf64c3a589e1f6bb68d4f5aa1.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.2.2/oecore-3ef283e02b0b91daf64c3a589e1f6bb68d4f5aa1.tar.bz2
+
+meta-mingw
+
+-  Repository Location: :yocto_git:`/meta-mingw`
+-  Branch: :yocto_git:`mickledore </meta-mingw/log/?h=mickledore>`
+-  Tag:  :yocto_git:`yocto-4.2.2 </meta-mingw/log/?h=yocto-4.2.2>`
+-  Git Revision: :yocto_git:`4608d0bb7e47c52b8f6e9be259bfb1716fda9fd6 </meta-mingw/commit/?id=4608d0bb7e47c52b8f6e9be259bfb1716fda9fd6>`
+-  Release Artefact: meta-mingw-4608d0bb7e47c52b8f6e9be259bfb1716fda9fd6
+-  sha: fcbae0dedb363477492b86b8f997e06f995793285535b24dc66038845483eeef
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.2.2/meta-mingw-4608d0bb7e47c52b8f6e9be259bfb1716fda9fd6.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.2.2/meta-mingw-4608d0bb7e47c52b8f6e9be259bfb1716fda9fd6.tar.bz2
+
+bitbake
+
+-  Repository Location: :oe_git:`/bitbake`
+-  Branch: :oe_git:`2.4 </bitbake/log/?h=2.4>`
+-  Tag:  :oe_git:`yocto-4.2.2 </bitbake/log/?h=yocto-4.2.2>`
+-  Git Revision: :oe_git:`08033b63ae442c774bd3fce62844eac23e6882d7 </bitbake/commit/?id=08033b63ae442c774bd3fce62844eac23e6882d7>`
+-  Release Artefact: bitbake-08033b63ae442c774bd3fce62844eac23e6882d7
+-  sha: 1d070c133bfb6502ac04befbf082cbfda7582c8b1c48296a788384352e5061fd
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.2.2/bitbake-08033b63ae442c774bd3fce62844eac23e6882d7.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.2.2/bitbake-08033b63ae442c774bd3fce62844eac23e6882d7.tar.bz2
+
+yocto-docs
+
+-  Repository Location: :yocto_git:`/yocto-docs`
+-  Branch: :yocto_git:`mickledore </yocto-docs/log/?h=mickledore>`
+-  Tag: :yocto_git:`yocto-4.2.2 </yocto-docs/log/?h=yocto-4.2.2>`
+-  Git Revision: :yocto_git:`54d849d259a332389beea159d789f8fa92871475 </yocto-docs/commit/?id=54d849d259a332389beea159d789f8fa92871475>`
+
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst
index e555a80..a7819d5 100644
--- a/poky/documentation/ref-manual/classes.rst
+++ b/poky/documentation/ref-manual/classes.rst
@@ -517,10 +517,10 @@
 ``CVE-ID.patch``, e.g. ``CVE-2019-20633.patch``, in the :term:`SRC_URI` and using
 CVE metadata of format ``CVE: CVE-ID`` in the commit message of the patch file.
 
-If the recipe lists the ``CVE-ID`` in :term:`CVE_CHECK_IGNORE` variable, then the CVE state is reported
-as ``Ignored``. Multiple CVEs can be listed separated by spaces. Example::
+If the recipe adds ``CVE-ID`` as flag of the :term:`CVE_STATUS` variable with status
+mapped to ``Ignored``, then the CVE state is reported as ``Ignored``::
 
-   CVE_CHECK_IGNORE += "CVE-2020-29509 CVE-2020-29511"
+   CVE_STATUS[CVE-2020-15523] = "not-applicable-platform: Issue only applies on Windows"
 
 If CVE check reports that a recipe contains false positives or false negatives, these may be
 fixed in recipes by adjusting the CVE product name using :term:`CVE_PRODUCT` and :term:`CVE_VERSION` variables.
@@ -1599,8 +1599,8 @@
 device trees.
 
 To create a FIT image, it is required that :term:`KERNEL_CLASSES`
-is set to include ":ref:`ref-classes-kernel-fitimage`" and :term:`KERNEL_IMAGETYPE`
-is set to "fitImage".
+is set to include ":ref:`ref-classes-kernel-fitimage`" and one of :term:`KERNEL_IMAGETYPE`,
+:term:`KERNEL_ALT_IMAGETYPE` or :term:`KERNEL_IMAGETYPES` to include "fitImage".
 
 The options for the device tree compiler passed to ``mkimage -D``
 when creating the FIT image are specified using the
@@ -1623,9 +1623,9 @@
 :ref:`ref-classes-kernel-fitimage` and the RAM disk in FIT is optional.
 The address where the RAM disk image is to be loaded by U-Boot
 is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by
-:term:`UBOOT_RD_ENTRYPOINT`. The ramdisk is added to FIT image when
-:term:`INITRAMFS_IMAGE` is specified and that :term:`INITRAMFS_IMAGE_BUNDLE`
-is set to 0.
+:term:`UBOOT_RD_ENTRYPOINT`. The ramdisk is added to the FIT image when
+:term:`INITRAMFS_IMAGE` is specified and requires that :term:`INITRAMFS_IMAGE_BUNDLE`
+is not set to 1.
 
 Only a single :term:`Initramfs` bundle can be added to the FIT image created by
 :ref:`ref-classes-kernel-fitimage` and the :term:`Initramfs` bundle in FIT is optional.
@@ -1633,7 +1633,7 @@
 in the same binary (example: zImage-initramfs-:term:`MACHINE`.bin).
 When the kernel is copied to RAM and executed, it unpacks the :term:`Initramfs` root filesystem.
 The :term:`Initramfs` bundle can be enabled when :term:`INITRAMFS_IMAGE`
-is specified and that :term:`INITRAMFS_IMAGE_BUNDLE` is set to 1.
+is specified and requires that :term:`INITRAMFS_IMAGE_BUNDLE` is set to 1.
 The address where the :term:`Initramfs` bundle is to be loaded by U-boot is specified
 by :term:`UBOOT_LOADADDRESS` and the entrypoint by :term:`UBOOT_ENTRYPOINT`.
 
@@ -1644,14 +1644,14 @@
 U-boot :ref:`ref-tasks-install` task to copy the script to sysroot.
 So the script can be included in the FIT image by the :ref:`ref-classes-kernel-fitimage`
 class. At run-time, U-boot CONFIG_BOOTCOMMAND define can be configured to
-load the boot script from the FIT image and executes it.
+load the boot script from the FIT image and execute it.
 
-The FIT image generated by :ref:`ref-classes-kernel-fitimage` class is signed when the
+The FIT image generated by the :ref:`ref-classes-kernel-fitimage` class is signed when the
 variables :term:`UBOOT_SIGN_ENABLE`, :term:`UBOOT_MKIMAGE_DTCOPTS`,
 :term:`UBOOT_SIGN_KEYDIR` and :term:`UBOOT_SIGN_KEYNAME` are set
 appropriately. The default values used for :term:`FIT_HASH_ALG` and
 :term:`FIT_SIGN_ALG` in :ref:`ref-classes-kernel-fitimage` are "sha256" and
-"rsa2048" respectively. The keys for signing fitImage can be generated using
+"rsa2048" respectively. The keys for signing the FIT image can be generated using
 the :ref:`ref-classes-kernel-fitimage` class when both :term:`FIT_GENERATE_KEYS` and
 :term:`UBOOT_SIGN_ENABLE` are set to "1".
 
diff --git a/poky/documentation/ref-manual/images.rst b/poky/documentation/ref-manual/images.rst
index d3aeb08..0f6d6bd 100644
--- a/poky/documentation/ref-manual/images.rst
+++ b/poky/documentation/ref-manual/images.rst
@@ -14,15 +14,17 @@
    Building an image without GNU General Public License Version 3
    (GPLv3), GNU Lesser General Public License Version 3 (LGPLv3), and
    the GNU Affero General Public License Version 3 (AGPL-3.0) components
-   is only supported for minimal and base images. Furthermore, if you
-   are going to build an image using non-GPLv3 and similarly licensed
-   components, you must make the following changes in the ``local.conf``
-   file before using the BitBake command to build the minimal or base
-   image:
+   is only tested for core-image-minimal image. Furthermore, if you would like to
+   build an image and verify that it does not include GPLv3 and similarly licensed
+   components, you must make the following changes in the image recipe
+   file before using the BitBake command to build the image:
 
-   #. Comment out the :term:`EXTRA_IMAGE_FEATURES` line
+       INCOMPATIBLE_LICENSE = "GPL-3.0* LGPL-3.0*"
 
-   #. Set :term:`INCOMPATIBLE_LICENSE` to "GPL-3.0* LGPL-3.0* AGPL-3.0*"
+   Alternatively, you can adjust ``local.conf`` file, repeating and adjusting the line
+   for all images where the license restriction must apply:
+
+       INCOMPATIBLE_LICENSE:pn-your-image-name = "GPL-3.0* LGPL-3.0*"
 
 From within the ``poky`` Git repository, you can use the following
 command to display the list of directories within the :term:`Source Directory`
diff --git a/poky/documentation/ref-manual/release-process.rst b/poky/documentation/ref-manual/release-process.rst
index 50e7d39..c861fea 100644
--- a/poky/documentation/ref-manual/release-process.rst
+++ b/poky/documentation/ref-manual/release-process.rst
@@ -96,22 +96,21 @@
 some specific ones are now supported for a longer period by the Yocto
 Project, and are called Long Term Support (:term:`LTS`) releases.
 
-This started with version 3.1 ("Dunfell"), released in April 2020, that
-the project committed to supporting until the next :term:`LTS` release was out.
-This next :term:`LTS` release, version 4.0 ("Kirkstone"), was released in May 2022
-and offered with two years of support too.
-
-However, as an experiment, support for "Dunfell" was extended to four years, until
-April 2024, therefore offering more stability to projects and leaving more time
-to upgrade to the latest :term:`LTS` release. The project hasn't made any commitment to
-extending "Kirkstone" support too, as this will also depend on available funding
-for such an effort.
-
 When significant issues are found, :term:`LTS` releases allow to publish
 fixes not only for the current stable release, but also to the
 :term:`LTS` releases that are still supported. Older stable releases which
 have reached their End of Life (EOL) won't receive such updates.
 
+This started with version 3.1 ("Dunfell"), released in April 2020, which
+the project initially committed to supporting for two years, but this duration
+was later extended to four years. Similarly, the following :term:`LTS` release,
+version 4.0 ("Kirkstone"), was released two years later in May 2022 and the
+project committed to supporting it for four years too.
+
+Therefore, a new :term:`LTS` release is made every two years and is supported
+for four years. This offers more stability to project users and leaves more
+time to upgrade to the following :term:`LTS` release.
+
 See :yocto_wiki:`/Stable_Release_and_LTS` for details about the management
 of stable and :term:`LTS` releases.
 
diff --git a/poky/documentation/ref-manual/svg/releases.svg b/poky/documentation/ref-manual/svg/releases.svg
index d41edc1..e7d5c6d 100644
--- a/poky/documentation/ref-manual/svg/releases.svg
+++ b/poky/documentation/ref-manual/svg/releases.svg
@@ -2,9 +2,9 @@
 <svg
    version="1.1"
    id="svg2"
-   width="1175.0006"
-   height="568.85858"
-   viewBox="0 0 1175.0006 568.85856"
+   width="2040.0006"
+   height="624.30518"
+   viewBox="0 0 2040.0006 624.30515"
    sodipodi:docname="releases.svg"
    inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
@@ -14,6 +14,8 @@
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:cc="http://creativecommons.org/ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
+  <title
+     id="title8568">Yocto Project Release Timeline</title>
   <metadata
      id="metadata8">
     <rdf:RDF>
@@ -22,7 +24,30 @@
         <dc:format>image/svg+xml</dc:format>
         <dc:type
            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <cc:license
+           rdf:resource="http://artlibre.org/licence/lal" />
+        <dc:title>Yocto Project Release Timeline</dc:title>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>The Yocto Project</dc:title>
+          </cc:Agent>
+        </dc:creator>
       </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Notice" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Attribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#ShareAlike" />
+      </cc:License>
     </rdf:RDF>
   </metadata>
   <defs
@@ -383,9 +408,9 @@
      inkscape:window-height="1016"
      id="namedview4"
      showgrid="true"
-     inkscape:zoom="2.0466562"
-     inkscape:cx="450.4909"
-     inkscape:cy="286.56498"
+     inkscape:zoom="0.51166405"
+     inkscape:cx="-43.974166"
+     inkscape:cy="311.72798"
      inkscape:window-x="1994"
      inkscape:window-y="27"
      inkscape:window-maximized="1"
@@ -401,29 +426,65 @@
     <inkscape:grid
        type="xygrid"
        id="grid1257"
-       originx="-289.99935"
-       originy="269.99997" />
+       originx="-289.99936"
+       originy="325" />
   </sodipodi:namedview>
   <g
      inkscape:groupmode="layer"
      inkscape:label="Image"
      id="g10"
-     transform="translate(-289.99935,270)">
+     transform="translate(-289.99936,325.00004)">
     <path
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 1080,220.00002 V -240 v 0 0"
+       d="m 1080,220.00003 v -515.00007 0 0"
        id="path207708" />
     <path
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 1200,220.00002 V -240 v 0 0"
+       d="m 1200,220.00003 v -515.00007 0 0"
        id="path207708-4" />
     <path
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 1320,220.00002 V -240 v 0 0"
+       d="m 1320,220.00003 v -515.00007 0 0"
        id="path207708-4-3" />
     <path
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 960,220.00002 V -240 v 0 0"
+       d="m 1440,219.99998 v -515.00002 0 0"
+       id="path207708-4-3-6" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 1560,219.99998 v -515.00001 0 0"
+       id="path207708-4-3-6-2" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 1680,219.99998 v -515.00002 0 0"
+       id="path207708-4-3-6-2-8" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 1800,219.99998 v -515.00002 0 0"
+       id="path207708-4-3-6-2-8-4" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 1920,219.99998 v -515.00002 0 0"
+       id="path207708-4-3-6-2-8-4-3" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 2040,219.99997 v -460.00002 0 0"
+       id="path207708-4-3-6-2-8-4-3-8" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 2040,219.99998 v -515.00002 0 0"
+       id="path207708-4-3-6-2-8-4-3-8-0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 2159.954,219.99997 v -514.99999 0 0"
+       id="path207708-4-3-6-2-8-4-3-8-4" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 2280,219.99997 v -514.99999 0 0"
+       id="path207708-4-3-6-2-8-4-3-8-4-0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 960,220.00003 v -515.00007 0 0"
        id="path207708-9" />
     <path
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
@@ -431,23 +492,23 @@
        id="path207708-9-6" />
     <path
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 840,220.00002 V -240 v 0 0"
+       d="m 840,220.00002 v -515.00004 0 0"
        id="path207708-9-6-2" />
     <path
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 720,220.00002 V -240 v 0 0"
+       d="m 720,220.00003 v -515.00007 0 0"
        id="path207708-9-6-2-5" />
     <path
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 600,220.00002 V -240 v 0 0"
+       d="m 600,220.00003 v -515.00007 0 0"
        id="path207708-9-6-2-5-9" />
     <path
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 480,220.00002 V -240 v 0 0"
+       d="m 480,220.00003 v -515.00007 0 0"
        id="path207708-9-6-2-5-9-0" />
     <path
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 360,220.00002 V -240 v 0 0"
+       d="m 360,220.00003 v -515.00007 0 0"
        id="path207708-9-6-2-5-9-0-5" />
     <text
        xml:space="preserve"
@@ -482,7 +543,7 @@
     <rect
        style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
        id="rect917-0-0"
-       width="960.00006"
+       width="980"
        height="45.000004"
        x="360"
        y="154.99997"
@@ -524,7 +585,7 @@
          id="tspan957-2-8-6">Gatesgarth</tspan><tspan
          sodipodi:role="line"
          x="534.10651"
-         y="136.9464"
+         y="136.94638"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
          id="tspan10317-2">3.2</tspan></text>
     <rect
@@ -586,7 +647,7 @@
     <rect
        style="opacity:1;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
        id="rect917-0-0-4-4-9-4-5"
-       width="140.00002"
+       width="140.00003"
        height="45.000004"
        x="1100"
        y="-175.00003"
@@ -607,36 +668,63 @@
          y="-137.50214"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
          id="tspan10317-2-9-1-4">4.2</tspan></text>
+    <g
+       id="g32107">
+      <rect
+         style="opacity:0.75;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
+         id="rect917-0-0-4-4-9-4-5-3"
+         width="140.00014"
+         height="45.000004"
+         x="1199.9999"
+         y="-229.99998"
+         ry="2.2558987" />
+      <text
+         xml:space="preserve"
+         style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1247.2329"
+         y="-210.32925"
+         id="text1185-3-55-4-0-0-0-1-1"><tspan
+           sodipodi:role="line"
+           x="1247.2329"
+           y="-210.32925"
+           style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
+           id="tspan957-2-8-6-3-9-7-4">Nanbield</tspan><tspan
+           sodipodi:role="line"
+           x="1247.2329"
+           y="-192.33258"
+           style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
+           id="tspan10317-2-9-1-4-6">4.3</tspan></text>
+    </g>
     <rect
        style="opacity:0.75;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
-       id="rect917-0-0-4-4-9-4-5-3"
-       width="140.00014"
+       id="rect917-0-0-4-4-9-4-5-3-9"
+       width="979.99994"
        height="45.000004"
-       x="1199.9999"
-       y="-229.99998"
+       x="1320"
+       y="-285.00003"
        ry="2.2558987" />
     <text
        xml:space="preserve"
        style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="1247.2329"
-       y="-210.32925"
-       id="text1185-3-55-4-0-0-0-1-1"><tspan
+       x="1373.233"
+       y="-265.32928"
+       id="text1185-3-55-4-0-0-0-1-1-6"><tspan
          sodipodi:role="line"
-         x="1247.2329"
-         y="-210.32925"
+         x="1373.233"
+         y="-265.32928"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
-         id="tspan957-2-8-6-3-9-7-4">Nanbield</tspan><tspan
+         id="tspan957-2-8-6-3-9-7-4-2">Scarthgap</tspan><tspan
          sodipodi:role="line"
-         x="1247.2329"
-         y="-192.33258"
+         x="1373.233"
+         y="-247.33261"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
-         id="tspan10317-2-9-1-4-6">4.3</tspan></text>
+         id="tspan10317-2-9-1-4-6-5">4.4</tspan></text>
     <rect
        style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
        id="rect917-0-0-4-4-9-9"
-       width="480.00006"
+       width="960.00012"
        height="45.000004"
-       x="860"
+       x="859.99994"
        y="-64.999992"
        ry="2.2558987" />
     <text
@@ -673,7 +761,7 @@
          id="tspan10317-2-9-8">3.3</tspan></text>
     <g
        id="g1125-0"
-       transform="matrix(0.42240595,0,0,0.41654472,354.16682,-355.15199)"
+       transform="matrix(0.42240595,0,0,0.41654472,354.53445,-399.96314)"
        style="stroke:none;stroke-width:2.38399">
       <rect
          style="opacity:1;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.76797;stroke-opacity:1"
@@ -777,6 +865,38 @@
          id="tspan49906">2023</tspan></text>
     <text
        xml:space="preserve"
+       style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1439.3904"
+       y="249.86044"
+       id="text1185-9-7-1-1-89"><tspan
+         sodipodi:role="line"
+         x="1439.3904"
+         y="249.86044"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan31345-7">Oct.</tspan><tspan
+         sodipodi:role="line"
+         x="1439.3904"
+         y="267.85712"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan49906-76">2024</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1679.3094"
+       y="250.58356"
+       id="text1185-9-7-1-1-89-6"><tspan
+         sodipodi:role="line"
+         x="1679.3094"
+         y="250.58356"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan31345-7-8">Oct.</tspan><tspan
+         sodipodi:role="line"
+         x="1679.3094"
+         y="268.58023"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan49906-76-0">2025</tspan></text>
+    <text
+       xml:space="preserve"
        style="font-weight:bold;font-size:6.66667px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        x="849.49744"
        y="61.106953"
@@ -799,64 +919,64 @@
     <text
        xml:space="preserve"
        style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="972.71832"
-       y="260.21216"
+       x="959.52008"
+       y="250.67822"
        id="text1185-9-7-1-1-0-7"><tspan
          sodipodi:role="line"
-         x="972.71832"
-         y="260.21216"
+         x="959.52008"
+         y="250.67822"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
          id="tspan31345-42-7">Oct.</tspan><tspan
          sodipodi:role="line"
-         x="972.71832"
-         y="278.20883"
+         x="959.52008"
+         y="268.6749"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
          id="tspan49906-9-6">2022</tspan></text>
     <text
        xml:space="preserve"
        style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="721.13617"
+       x="719.13617"
        y="250.21216"
        id="text1185-9-7-1-1-2"><tspan
          sodipodi:role="line"
-         x="721.13617"
+         x="719.13617"
          y="250.21216"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
          id="tspan31345-1">Oct.</tspan><tspan
          sodipodi:role="line"
-         x="721.13617"
+         x="719.13617"
          y="268.20883"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
          id="tspan49906-5">2021</tspan></text>
     <text
        xml:space="preserve"
        style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="485.04486"
+       x="478.82367"
        y="250.21216"
        id="text1185-9-7-1-1-80"><tspan
          sodipodi:role="line"
-         x="485.04486"
+         x="478.82367"
          y="250.21216"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
          id="tspan31345-5">Oct.</tspan><tspan
          sodipodi:role="line"
-         x="485.04486"
+         x="478.82367"
          y="268.20883"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
          id="tspan49906-6">2020</tspan></text>
     <text
        xml:space="preserve"
        style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="360.96921"
+       x="361.81961"
        y="250.07544"
        id="text1185-9-7-1-1-8"><tspan
          sodipodi:role="line"
-         x="360.96921"
+         x="361.81961"
          y="250.07544"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
          id="tspan31345-4">Apr.</tspan><tspan
          sodipodi:role="line"
-         x="360.96921"
+         x="361.81961"
          y="268.07211"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
          id="tspan49906-7">2020</tspan></text>
@@ -879,22 +999,54 @@
     <text
        xml:space="preserve"
        style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="1317.4003"
+       x="1321.8608"
        y="250.07544"
        id="text1185-9-7-1-1-8-1-0"><tspan
          sodipodi:role="line"
-         x="1317.4003"
+         x="1321.8608"
          y="250.07544"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
          id="tspan31345-4-0-4">Apr.</tspan><tspan
          sodipodi:role="line"
-         x="1317.4003"
+         x="1321.8608"
          y="268.07211"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
          id="tspan49906-7-3-8">2024</tspan></text>
     <text
        xml:space="preserve"
        style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1561.8163"
+       y="249.66977"
+       id="text1185-9-7-1-1-8-1-0-4"><tspan
+         sodipodi:role="line"
+         x="1561.8163"
+         y="249.66977"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan31345-4-0-4-81">Apr.</tspan><tspan
+         sodipodi:role="line"
+         x="1561.8163"
+         y="267.66644"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan49906-7-3-8-2">2025</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1802.1477"
+       y="250.26334"
+       id="text1185-9-7-1-1-8-1-0-4-2"><tspan
+         sodipodi:role="line"
+         x="1802.1477"
+         y="250.26334"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan31345-4-0-4-81-5">Apr.</tspan><tspan
+         sodipodi:role="line"
+         x="1802.1477"
+         y="268.26001"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan49906-7-3-8-2-8">2026</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        x="1081.4458"
        y="250.07544"
        id="text1185-9-7-1-1-8-1-0-2"><tspan
@@ -911,16 +1063,16 @@
     <text
        xml:space="preserve"
        style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="604.18005"
+       x="602.51526"
        y="250.07544"
        id="text1185-9-7-1-1-8-1-7"><tspan
          sodipodi:role="line"
-         x="604.18005"
+         x="602.51526"
          y="250.07544"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
          id="tspan31345-4-0-5">Apr.</tspan><tspan
          sodipodi:role="line"
-         x="604.18005"
+         x="602.51526"
          y="268.07211"
          style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
          id="tspan49906-7-3-6">2021</tspan></text>
@@ -937,7 +1089,7 @@
     <path
        id="path29430"
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 319.99935,219.99912 H 1435 Z" />
+       d="M 319.99936,219.99912 H 2300 Z" />
     <path
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        d="m 360,219.99997 v 10.00004 0"
@@ -1178,42 +1330,201 @@
        inkscape:transform-center-y="-0.085282837" />
     <path
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="m 1200,220.00002 v 9.99999 0"
-       id="path29548-5-1-3-6-3-1-0" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        d="m 1320,219.99996 v 10 0"
        id="path29548-5-1-3-6-3-1-0-8" />
+    <g
+       id="g1267">
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1200,220.00002 v 9.99999 0"
+         id="path29548-5-1-3-6-3-1-0" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1220,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1240,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1260,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1280,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1299.7216,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0"
+         inkscape:transform-center-x="-14.78205"
+         inkscape:transform-center-y="-0.085282837" />
+    </g>
+    <g
+       id="g1267-4"
+       transform="translate(240,-4e-5)">
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1200,220.00002 v 9.99999 0"
+         id="path29548-5-1-3-6-3-1-0-3" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1220,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1240,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1260,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1280,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1299.7216,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2"
+         inkscape:transform-center-x="-14.78205"
+         inkscape:transform-center-y="-0.085282837" />
+    </g>
+    <g
+       id="g1267-4-5"
+       transform="translate(480,-5e-5)">
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1200,220.00002 v 9.99999 0"
+         id="path29548-5-1-3-6-3-1-0-3-4" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1220,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1240,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1260,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1280,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1299.7216,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6"
+         inkscape:transform-center-x="-14.78205"
+         inkscape:transform-center-y="-0.085282837" />
+    </g>
+    <g
+       id="g1267-4-5-22"
+       transform="translate(600,-4e-5)">
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1200,220.00002 v 9.99999 0"
+         id="path29548-5-1-3-6-3-1-0-3-4-0" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1220,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-55"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1240,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-2"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1260,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-90"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1280,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-2"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1299.7216,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-8"
+         inkscape:transform-center-x="-14.78205"
+         inkscape:transform-center-y="-0.085282837" />
+    </g>
+    <g
+       id="g1267-4-5-9"
+       transform="translate(360,-4e-5)">
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1200,220.00002 v 9.99999 0"
+         id="path29548-5-1-3-6-3-1-0-3-4-2" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1220,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-2"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1240,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-4"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1260,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-7"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1280,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-7"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1299.7216,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-5"
+         inkscape:transform-center-x="-14.78205"
+         inkscape:transform-center-y="-0.085282837" />
+    </g>
     <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="m 1220,219.99997 v 5.00004 0"
-       id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5"
-       inkscape:transform-center-x="14.782001"
-       inkscape:transform-center-y="-0.085282837" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="m 1240,219.99997 v 5.00004 0"
-       id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5"
-       inkscape:transform-center-x="14.782001"
-       inkscape:transform-center-y="-0.085282837" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="m 1260,219.99997 v 5.00004 0"
-       id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2"
-       inkscape:transform-center-x="14.782001"
-       inkscape:transform-center-y="-0.085282837" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="m 1280,219.99997 v 5.00004 0"
-       id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9"
-       inkscape:transform-center-x="14.782001"
-       inkscape:transform-center-y="-0.085282837" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="m 1299.7216,219.99997 v 5.00004 0"
-       id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0"
-       inkscape:transform-center-x="-14.78205"
-       inkscape:transform-center-y="-0.085282837" />
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 1800,219.99997 v 9.99999 0"
+       id="path29548-5-1-3-6-3-1-0-3-4-2-0" />
     <path
        style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        d="m 1340,219.99997 v 5.00004 0"
@@ -1244,6 +1555,188 @@
        id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-9"
        inkscape:transform-center-x="-14.78205"
        inkscape:transform-center-y="-0.085282837" />
+    <text
+       xml:space="preserve"
+       style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1919.3904"
+       y="249.86044"
+       id="text1185-9-7-1-1-89-62"><tspan
+         sodipodi:role="line"
+         x="1919.3904"
+         y="249.86044"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan31345-7-6">Oct.</tspan><tspan
+         sodipodi:role="line"
+         x="1919.3904"
+         y="267.85712"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan49906-76-7">2026</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="2159.3093"
+       y="250.58356"
+       id="text1185-9-7-1-1-89-6-5"><tspan
+         sodipodi:role="line"
+         x="2159.3093"
+         y="250.58356"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan31345-7-8-6">Oct.</tspan><tspan
+         sodipodi:role="line"
+         x="2159.3093"
+         y="268.58023"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan49906-76-0-9">2027</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="2041.8163"
+       y="249.66977"
+       id="text1185-9-7-1-1-8-1-0-4-8"><tspan
+         sodipodi:role="line"
+         x="2041.8163"
+         y="249.66977"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan31345-4-0-4-81-7">Apr.</tspan><tspan
+         sodipodi:role="line"
+         x="2041.8163"
+         y="267.66644"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan49906-7-3-8-2-2">2027</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="2282.1477"
+       y="250.26334"
+       id="text1185-9-7-1-1-8-1-0-4-2-8"><tspan
+         sodipodi:role="line"
+         x="2282.1477"
+         y="250.26334"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan31345-4-0-4-81-5-2">Apr.</tspan><tspan
+         sodipodi:role="line"
+         x="2282.1477"
+         y="268.26001"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
+         id="tspan49906-7-3-8-2-8-9">2028</tspan></text>
+    <g
+       id="g1267-4-9"
+       transform="translate(720,-3e-5)">
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1200,220.00002 v 9.99999 0"
+         id="path29548-5-1-3-6-3-1-0-3-6" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1220,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-02"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1240,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-7"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1260,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-6"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1280,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-1"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1299.7216,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-3"
+         inkscape:transform-center-x="-14.78205"
+         inkscape:transform-center-y="-0.085282837" />
+    </g>
+    <g
+       id="g1267-4-5-2"
+       transform="translate(960,-4e-5)">
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1200,220.00002 v 9.99999 0"
+         id="path29548-5-1-3-6-3-1-0-3-4-1" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1220,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-5"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1240,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-9"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1260,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-9"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1280,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-1"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1299.7216,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-4"
+         inkscape:transform-center-x="-14.78205"
+         inkscape:transform-center-y="-0.085282837" />
+    </g>
+    <g
+       id="g1267-4-5-9-9"
+       transform="translate(840,-3e-5)">
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1200,220.00002 v 9.99999 0"
+         id="path29548-5-1-3-6-3-1-0-3-4-2-1" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1220,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-2-0"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1240,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-4-7"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1260,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-7-5"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1280,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-7-8"
+         inkscape:transform-center-x="14.782001"
+         inkscape:transform-center-y="-0.085282837" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1299.7216,219.99997 v 5.00004 0"
+         id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-5-7"
+         inkscape:transform-center-x="-14.78205"
+         inkscape:transform-center-y="-0.085282837" />
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 2280,219.99998 v 9.99999 0"
+       id="path29548-5-1-3-6-3-1-0-3-4-2-0-0" />
   </g>
   <style
      type="text/css"
diff --git a/poky/documentation/ref-manual/terms.rst b/poky/documentation/ref-manual/terms.rst
index b5d5f1d..31ddeae 100644
--- a/poky/documentation/ref-manual/terms.rst
+++ b/poky/documentation/ref-manual/terms.rst
@@ -276,7 +276,7 @@
    :term:`LTS`
       This term means "Long Term Support", and in the context of the Yocto
       Project, it corresponds to selected stable releases for which bug and
-      security fixes are provided for at least two years. See
+      security fixes are provided for at least four years. See
       the :ref:`ref-long-term-support-releases` section for details.
 
    :term:`Metadata`
diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst
index ac5b97a..44e2dd0 100644
--- a/poky/documentation/ref-manual/variables.rst
+++ b/poky/documentation/ref-manual/variables.rst
@@ -1653,11 +1653,7 @@
          and kernel module recipes).
 
    :term:`CVE_CHECK_IGNORE`
-      The list of CVE IDs which are ignored. Here is
-      an example from the :oe_layerindex:`Python3 recipe</layerindex/recipe/23823>`::
-
-         # This is windows only issue.
-         CVE_CHECK_IGNORE += "CVE-2020-15523"
+      This variable is deprecated and should be replaced by :term:`CVE_STATUS`.
 
    :term:`CVE_CHECK_SHOW_WARNINGS`
       Specifies whether or not the :ref:`ref-classes-cve-check`
@@ -1698,6 +1694,34 @@
 
          CVE_PRODUCT = "vendor:package"
 
+   :term:`CVE_STATUS`
+      The CVE ID which is patched or should be ignored. Here is
+      an example from the :oe_layerindex:`Python3 recipe</layerindex/recipe/23823>`::
+
+         CVE_STATUS[CVE-2020-15523] = "not-applicable-platform: Issue only applies on Windows"
+
+      It has the format "reason: description" and the description is optional.
+      The Reason is mapped to the final CVE state by mapping via
+      :term:`CVE_CHECK_STATUSMAP`
+
+   :term:`CVE_STATUS_GROUPS`
+      If there are many CVEs with the same status and reason, they can by simplified by using this
+      variable instead of many similar lines with :term:`CVE_STATUS`::
+
+         CVE_STATUS_GROUPS = "CVE_STATUS_WIN CVE_STATUS_PATCHED"
+
+         CVE_STATUS_WIN = "CVE-1234-0001 CVE-1234-0002"
+         CVE_STATUS_WIN[status] = "not-applicable-platform: Issue only applies on Windows"
+         CVE_STATUS_PATCHED = "CVE-1234-0003 CVE-1234-0004"
+         CVE_STATUS_PATCHED[status] = "fixed-version: Fixed externally"
+
+   :term:`CVE_CHECK_STATUSMAP`
+      Mapping variable for all possible reasons of :term:`CVE_STATUS`:
+      ``Patched``, ``Unpatched`` and ``Ignored``.
+      See :ref:`ref-classes-cve-check` or ``meta/conf/cve-check-map.conf`` for more details::
+
+         CVE_CHECK_STATUSMAP[cpe-incorrect] = "Ignored"
+
    :term:`CVE_VERSION`
       In a recipe, defines the version used to match the recipe version
       against the version in the `NIST CVE database <https://nvd.nist.gov/>`__
@@ -3905,9 +3929,18 @@
    :term:`INCOMPATIBLE_LICENSE`
       Specifies a space-separated list of license names (as they would
       appear in :term:`LICENSE`) that should be excluded
-      from the build. Recipes that provide no alternatives to listed
+      from the build (if set globally), or from an image (if set locally
+      in an image recipe). 
+
+      When the variable is set globally, recipes that provide no alternatives to listed
       incompatible licenses are not built. Packages that are individually
-      licensed with the specified incompatible licenses will be deleted.
+      licensed with the specified incompatible licenses will be deleted. 
+      Most of the time this does not allow a feasible build (because it becomes impossible
+      to satisfy build time dependencies), so the recommended way to
+      implement license restrictions is to set the variable in specific
+      image recipes where the restrictions must apply. That way there 
+      are no build time restrictions, but the license check is still
+      performed when the image's filesystem is assembled from packages.
 
       There is some support for wildcards in this variable's value,
       however it is restricted to specific licenses. Currently only
diff --git a/poky/documentation/sdk-manual/appendix-obtain.rst b/poky/documentation/sdk-manual/appendix-obtain.rst
index ba84450..f40ea6d 100644
--- a/poky/documentation/sdk-manual/appendix-obtain.rst
+++ b/poky/documentation/sdk-manual/appendix-obtain.rst
@@ -140,9 +140,10 @@
       message similar to the following::
 
          The extensible SDK can currently only be built for the same
-         architecture as the machine being built on --- :term:`SDK_ARCH`
-         is set to ``i686`` (likely via setting :term:`SDKMACHINE`) which is
-         different from the architecture of the build machine (``x86_64``).
+         architecture as the machine being built on - SDK_ARCH
+         is set to i686 (likely via setting SDKMACHINE) which is
+         different from the architecture of the build machine (x86_64).
+         Unable to continue.
 
 
 #. *Build the SDK Installer:* To build the SDK installer for a standard
diff --git a/poky/meta-poky/conf/distro/poky-tiny.conf b/poky/meta-poky/conf/distro/poky-tiny.conf
index f65d2da..728d161 100644
--- a/poky/meta-poky/conf/distro/poky-tiny.conf
+++ b/poky/meta-poky/conf/distro/poky-tiny.conf
@@ -122,3 +122,7 @@
 
 # Disable python usage in opkg-utils since it won't build with tiny config
 PACKAGECONFIG:remove:pn-opkg-utils = "python"
+
+# If shadow-base is brought into the image, logins will fail because it
+# doesn't have the heuristics to work when CONFIG_MULTIUSER is unset.
+PACKAGE_EXCLUDE:poky-tiny = "shadow-base"
diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf
index c72df16..8dfd581 100644
--- a/poky/meta-poky/conf/distro/poky.conf
+++ b/poky/meta-poky/conf/distro/poky.conf
@@ -38,14 +38,16 @@
             ubuntu-18.04 \n \
             ubuntu-20.04 \n \
             ubuntu-22.04 \n \
-            fedora-36 \n \
+            ubuntu-22.10 \n \
             fedora-37 \n \
+            fedora-38 \n \
+            centosstream-8 \n \
             debian-11 \n \
             debian-12 \n \
             opensuseleap-15.3 \n \
             opensuseleap-15.4 \n \
-            almalinux-8.7 \n \
-            almalinux-9.1 \n \
+            almalinux-8.8 \n \
+            almalinux-9.2 \n \
             "
 # add poky sanity bbclass
 INHERIT += "poky-sanity"
diff --git a/poky/meta-selftest/recipes-test/binutils/binutils_%.bbappend b/poky/meta-selftest/recipes-test/binutils/binutils_%.bbappend
new file mode 100644
index 0000000..2057209
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/binutils/binutils_%.bbappend
@@ -0,0 +1,2 @@
+# This bbappend is used to alter the recipe using the test_recipe.inc file created by tests.
+include test_recipe.inc
diff --git a/poky/meta/classes-global/insane.bbclass b/poky/meta/classes-global/insane.bbclass
index 114781c..960dfc8 100644
--- a/poky/meta/classes-global/insane.bbclass
+++ b/poky/meta/classes-global/insane.bbclass
@@ -50,6 +50,7 @@
 # Add usrmerge QA check based on distro feature
 ERROR_QA:append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}"
 ERROR_QA:append:layer-core = " patch-status"
+WARN_QA:append:layer-core = " missing-metadata missing-maintainer"
 
 FAKEROOT_QA = "host-user-contaminated"
 FAKEROOT_QA[doc] = "QA tests which need to run under fakeroot. If any \
@@ -1469,6 +1470,44 @@
     unpack_check_src_uri(d.getVar('PN'), d)
 }
 
+python do_recipe_qa() {
+    def test_missing_metadata(d):
+        fn = d.getVar("FILE")
+        pn = d.getVar('BPN')
+        srcfile = d.getVar('SRC_URI').split()
+        # Check that SUMMARY is not the same as the default from bitbake.conf
+        if d.getVar('SUMMARY') == d.expand("${PN} version ${PV}-${PR}"):
+            oe.qa.handle_error("missing-metadata", "Recipe {} in {} does not contain a SUMMARY. Please add an entry.".format(pn, fn), d)
+        if not d.getVar('HOMEPAGE'):
+            if srcfile and srcfile[0].startswith('file') or not d.getVar('SRC_URI'):
+                # We are only interested in recipes SRC_URI fetched from external sources
+                pass
+            else:
+                oe.qa.handle_error("missing-metadata", "Recipe {} in {} does not contain a HOMEPAGE. Please add an entry.".format(pn, fn), d)
+
+    def test_missing_maintainer(d):
+        fn = d.getVar("FILE")
+        pn = d.getVar("PN")
+        if pn.endswith("-native") or pn.startswith("nativesdk-") or "packagegroup-" in pn or "core-image-ptest-" in pn:
+            return
+        if not d.getVar('RECIPE_MAINTAINER'):
+            oe.qa.handle_error("missing-maintainer", "Recipe {} in {} does not have an assigned maintainer. Please add an entry into meta/conf/distro/include/maintainers.inc.".format(pn, fn), d)
+
+    test_missing_metadata(d)
+    test_missing_maintainer(d)
+    oe.qa.exit_if_errors(d)
+}
+
+addtask do_recipe_qa before do_fetch do_package_qa do_build
+
+SSTATETASKS += "do_recipe_qa"
+do_recipe_qa[sstate-inputdirs] = ""
+do_recipe_qa[sstate-outputdirs] = ""
+python do_recipe_qa_setscene () {
+    sstate_setscene(d)
+}
+addtask do_recipe_qa_setscene
+
 # Check for patch fuzz
 do_patch[postfuncs] += "do_qa_patch "
 
diff --git a/poky/meta/classes-recipe/cargo.bbclass b/poky/meta/classes-recipe/cargo.bbclass
index 3ef0bbb..8c0b92d 100644
--- a/poky/meta/classes-recipe/cargo.bbclass
+++ b/poky/meta/classes-recipe/cargo.bbclass
@@ -39,7 +39,12 @@
 
 RUSTFLAGS ??= ""
 BUILD_MODE = "${@['--release', ''][d.getVar('DEBUG_BUILD') == '1']}"
-CARGO_BUILD_FLAGS = "-v --offline --target ${RUST_HOST_SYS} ${BUILD_MODE} --manifest-path=${MANIFEST_PATH}"
+# --frozen flag will prevent network access (which is required since only
+# the do_fetch step is authorized to access network)
+# and will require an up to date Cargo.lock file.
+# This force the package being built to already ship a Cargo.lock, in the end
+# this is what we want, at least, for reproducibility of the build.
+CARGO_BUILD_FLAGS = "-v --frozen --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.
diff --git a/poky/meta/classes-recipe/cargo_common.bbclass b/poky/meta/classes-recipe/cargo_common.bbclass
index db54826..b732a1b 100644
--- a/poky/meta/classes-recipe/cargo_common.bbclass
+++ b/poky/meta/classes-recipe/cargo_common.bbclass
@@ -117,6 +117,8 @@
 }
 
 python cargo_common_do_patch_paths() {
+    import shutil
+
     cargo_config = os.path.join(d.getVar("CARGO_HOME"), "config")
     if not os.path.exists(cargo_config):
         return
@@ -146,6 +148,45 @@
             print('\n[patch."%s"]' % k, file=config)
             for name in v:
                 print(name, file=config)
+
+    if not patches:
+        return
+
+    # Cargo.lock file is needed for to be sure that artifacts
+    # downloaded by the fetch steps are those expected by the
+    # project and that the possible patches are correctly applied.
+    # Moreover since we do not want any modification
+    # of this file (for reproducibility purpose), we prevent it by
+    # using --frozen flag (in CARGO_BUILD_FLAGS) and raise a clear error
+    # here is better than letting cargo tell (in case the file is missing)
+    # "Cargo.lock should be modified but --frozen was given"
+
+    manifest_path = d.getVar("MANIFEST_PATH", True)
+    lockfile = os.path.join(os.path.dirname(manifest_path), "Cargo.lock")
+    if not os.path.exists(lockfile):
+        bb.fatal(f"{lockfile} file doesn't exist")
+
+    # There are patched files and so Cargo.lock should be modified but we use
+    # --frozen so let's handle that modifications here.
+    #
+    # Note that a "better" (more elegant ?) would have been to use cargo update for
+    # patched packages:
+    #  cargo update --offline -p package_1 -p package_2
+    # But this is not possible since it requires that cargo local git db
+    # to be populated and this is not the case as we fetch git repo ourself.
+
+    lockfile_orig = lockfile + ".orig"
+    if not os.path.exists(lockfile_orig):
+        shutil.copy(lockfile, lockfile_orig)
+
+    newlines = []
+    with open(lockfile_orig, "r") as f:
+        for line in f.readlines():
+            if not line.startswith("source = \"git"):
+                newlines.append(line)
+
+    with open(lockfile, "w") as f:
+        f.writelines(newlines)
 }
 do_configure[postfuncs] += "cargo_common_do_patch_paths"
 
diff --git a/poky/meta/classes-recipe/kernel-arch.bbclass b/poky/meta/classes-recipe/kernel-arch.bbclass
index df4884b..b0db99f 100644
--- a/poky/meta/classes-recipe/kernel-arch.bbclass
+++ b/poky/meta/classes-recipe/kernel-arch.bbclass
@@ -79,11 +79,3 @@
 KERNEL_OBJCOPY = "${CCACHE}${HOST_PREFIX}objcopy ${HOST_OBJCOPY_KERNEL_ARCH}"
 KERNEL_STRIP = "${CCACHE}${HOST_PREFIX}strip ${HOST_STRIP_KERNEL_ARCH}"
 TOOLCHAIN ?= "gcc"
-
-# 6.3+ requires the variable LOCALVERSION to be set to not get a "+" in
-# the local version. Having it empty means nothing will be added, and any
-# value will be appended to the local kernel version. This replaces the
-# use of .scmversion file for setting a localversion without using
-# the CONFIG_LOCALVERSION option.
-KERNEL_LOCALVERSION ??= ""
-export LOCALVERSION ?= "${KERNEL_LOCALVERSION}"
diff --git a/poky/meta/classes-recipe/kernel-fitimage.bbclass b/poky/meta/classes-recipe/kernel-fitimage.bbclass
index f1c46a4..13e8947 100644
--- a/poky/meta/classes-recipe/kernel-fitimage.bbclass
+++ b/poky/meta/classes-recipe/kernel-fitimage.bbclass
@@ -427,6 +427,9 @@
 		dtb_image_sect=$dtb_image
 	fi
 
+	dtb_path="${EXTERNAL_KERNEL_DEVICETREE}/${dtb_image_sect}"
+	compatible_line="compatible = \"$(fdtget "$dtb_path" / compatible | sed 's/ /", "/g')\";"
+
 	dtb_image=$(echo $dtb_image | tr '/' '_')
 	dtb_image_sect=$(echo "${dtb_image_sect}" | tr '/' '_')
 
@@ -487,6 +490,7 @@
                 $default_line
                 $conf_node {
                         description = "$default_flag $conf_desc";
+                        $compatible_line
                         $kernel_line
                         $fdt_line
                         $ramdisk_line
diff --git a/poky/meta/classes-recipe/kernel.bbclass b/poky/meta/classes-recipe/kernel.bbclass
index 6241fca..bb5995b 100644
--- a/poky/meta/classes-recipe/kernel.bbclass
+++ b/poky/meta/classes-recipe/kernel.bbclass
@@ -551,6 +551,7 @@
 	#
 
 	echo "${KERNEL_VERSION}" > $kerneldir/${KERNEL_PACKAGE_NAME}-abiversion
+	echo "${KERNEL_LOCALVERSION}" > $kerneldir/${KERNEL_PACKAGE_NAME}-localversion
 
 	# Copy files required for module builds
 	cp System.map $kerneldir/System.map-${KERNEL_VERSION}
@@ -640,6 +641,19 @@
 check_oldest_kernel[vardepsexclude] += "OLDEST_KERNEL KERNEL_VERSION"
 do_configure[prefuncs] += "check_oldest_kernel"
 
+KERNEL_LOCALVERSION ??= ""
+
+# 6.3+ requires the variable LOCALVERSION to be set to not get a "+" in
+# the local version. Having it empty means nothing will be added, and any
+# value will be appended to the local kernel version. This replaces the
+# use of .scmversion file for setting a localversion without using
+# the CONFIG_LOCALVERSION option.
+#
+# Note: This class saves the value of localversion to a file
+# so other recipes like make-mod-scripts can restore it via the
+# helper function get_kernellocalversion_file
+export LOCALVERSION="${KERNEL_LOCALVERSION}"
+
 kernel_do_configure() {
 	# fixes extra + in /lib/modules/2.6.37+
 	# $ scripts/setlocalversion . => +
diff --git a/poky/meta/classes-recipe/kernelsrc.bbclass b/poky/meta/classes-recipe/kernelsrc.bbclass
index a32882a..ecb02dc 100644
--- a/poky/meta/classes-recipe/kernelsrc.bbclass
+++ b/poky/meta/classes-recipe/kernelsrc.bbclass
@@ -11,6 +11,7 @@
 do_patch[noexec] = "1"
 do_package[depends] += "virtual/kernel:do_populate_sysroot"
 KERNEL_VERSION = "${@get_kernelversion_file("${STAGING_KERNEL_BUILDDIR}")}"
+LOCAL_VERSION = "${@get_kernellocalversion_file("${STAGING_KERNEL_BUILDDIR}")}"
 
 inherit linux-kernel-base
 
diff --git a/poky/meta/classes-recipe/linux-kernel-base.bbclass b/poky/meta/classes-recipe/linux-kernel-base.bbclass
index 65cc48f..e2187a7 100644
--- a/poky/meta/classes-recipe/linux-kernel-base.bbclass
+++ b/poky/meta/classes-recipe/linux-kernel-base.bbclass
@@ -39,6 +39,17 @@
     except IOError:
         return None
 
+def get_kernellocalversion_file(p):
+    fn = p + '/kernel-localversion'
+
+    try:
+        with open(fn, 'r') as f:
+            return f.readlines()[0].strip()
+    except IOError:
+        return ""
+
+    return ""
+
 def linux_module_packages(s, d):
     suffix = ""
     return " ".join(map(lambda s: "kernel-module-%s%s" % (s.lower().replace('_', '-').replace('@', '+'), suffix), s.split()))
diff --git a/poky/meta/classes-recipe/module-base.bbclass b/poky/meta/classes-recipe/module-base.bbclass
index 094b563..2a22588 100644
--- a/poky/meta/classes-recipe/module-base.bbclass
+++ b/poky/meta/classes-recipe/module-base.bbclass
@@ -20,6 +20,7 @@
 export KBUILD_OUTPUT = "${STAGING_KERNEL_BUILDDIR}"
 
 export KERNEL_VERSION = "${@oe.utils.read_file('${STAGING_KERNEL_BUILDDIR}/kernel-abiversion')}"
+export LOCALVERSION = "${@oe.utils.read_file('${STAGING_KERNEL_BUILDDIR}/kernel-localversion')}"
 KERNEL_OBJECT_SUFFIX = ".ko"
 
 # kernel modules are generally machine specific
diff --git a/poky/meta/classes-recipe/ptest-cargo.bbclass b/poky/meta/classes-recipe/ptest-cargo.bbclass
index 5d53abe..ff57be8 100644
--- a/poky/meta/classes-recipe/ptest-cargo.bbclass
+++ b/poky/meta/classes-recipe/ptest-cargo.bbclass
@@ -16,6 +16,8 @@
     cargo_build_flags = d.getVar("CARGO_BUILD_FLAGS", True)
     rust_flags = d.getVar("RUSTFLAGS", True)
     manifest_path = d.getVar("MANIFEST_PATH", True)
+    project_manifest_path = os.path.normpath(manifest_path)
+    manifest_dir = os.path.dirname(manifest_path)
 
     env = os.environ.copy()
     env['RUSTFLAGS'] = rust_flags
@@ -46,13 +48,15 @@
             pass
         else:
             try:
-                # Filter the test packages coming from the current manifest
+                # Filter the test packages coming from the current project:
+                #    - test binaries from the root manifest
+                #    - test binaries from sub manifest of the current project if any
                 current_manifest_path = os.path.normpath(data['manifest_path'])
-                project_manifest_path = os.path.normpath(manifest_path)
-                if current_manifest_path == project_manifest_path:
+                common_path = os.path.commonpath([current_manifest_path, project_manifest_path])
+                if common_path in [manifest_dir, current_manifest_path]:
                     if (data['target']['test'] or data['target']['doctest']) and data['executable']:
                         test_bins.append(data['executable'])
-            except KeyError as e:
+            except (KeyError, ValueError) as e:
                 # skip lines that do not meet the requirements
                 pass
 
diff --git a/poky/meta/classes-recipe/python_setuptools3_rust.bbclass b/poky/meta/classes-recipe/python_setuptools3_rust.bbclass
index d6ce2ed..d3d7590 100644
--- a/poky/meta/classes-recipe/python_setuptools3_rust.bbclass
+++ b/poky/meta/classes-recipe/python_setuptools3_rust.bbclass
@@ -4,14 +4,14 @@
 # SPDX-License-Identifier: MIT
 #
 
-inherit python_pyo3 setuptools3
+inherit python_pyo3 python_setuptools_build_meta
 
 DEPENDS += "python3-setuptools-rust-native"
 
 python_setuptools3_rust_do_configure() {
     python_pyo3_do_configure
     cargo_common_do_configure
-    setuptools3_do_configure
+    python_pep517_do_configure
 }
 
 EXPORT_FUNCTIONS do_configure
diff --git a/poky/meta/classes-recipe/qemuboot.bbclass b/poky/meta/classes-recipe/qemuboot.bbclass
index 4448714..e30b380 100644
--- a/poky/meta/classes-recipe/qemuboot.bbclass
+++ b/poky/meta/classes-recipe/qemuboot.bbclass
@@ -102,7 +102,7 @@
 QB_OPT_APPEND ?= ""
 QB_NETWORK_DEVICE ?= "-device virtio-net-pci,netdev=net0,mac=@MAC@"
 QB_CMDLINE_IP_SLIRP ?= "ip=dhcp"
-QB_CMDLINE_IP_TAP ?= "ip=192.168.7.@CLIENT@::192.168.7.@GATEWAY@:255.255.255.0::eth0:off:8.8.8.8"
+QB_CMDLINE_IP_TAP ?= "ip=192.168.7.@CLIENT@::192.168.7.@GATEWAY@:255.255.255.0::eth0:off:8.8.8.8 net.ifnames=0"
 QB_ROOTFS_EXTRA_OPT ?= ""
 QB_GRAPHICS ?= ""
 QB_NFSROOTFS_EXTRA_OPT ?= ""
@@ -143,7 +143,7 @@
         # contains all tools required by runqemu
         if k == 'STAGING_BINDIR_NATIVE':
             val = os.path.join(d.getVar('BASE_WORKDIR'), d.getVar('BUILD_SYS'),
-                               'qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin/')
+                               'qemu-helper-native/1.0/recipe-sysroot-native/usr/bin/')
         else:
             val = d.getVar(k)
         if val is None:
diff --git a/poky/meta/classes/externalsrc.bbclass b/poky/meta/classes/externalsrc.bbclass
index b00fdba..aedd78a 100644
--- a/poky/meta/classes/externalsrc.bbclass
+++ b/poky/meta/classes/externalsrc.bbclass
@@ -75,6 +75,8 @@
 
         # Dummy value because the default function can't be called with blank SRC_URI
         d.setVar('SRCPV', '999')
+        # sstate is never going to work for external source trees, disable it
+        d.setVar('SSTATE_SKIP_CREATION', '1')
 
         if d.getVar('CONFIGUREOPT_DEPTRACK') == '--disable-dependency-tracking':
             d.setVar('CONFIGUREOPT_DEPTRACK', '')
@@ -82,10 +84,7 @@
         tasks = filter(lambda k: d.getVarFlag(k, "task"), d.keys())
 
         for task in tasks:
-            if task.endswith("_setscene"):
-                # sstate is never going to work for external source trees, disable it
-                bb.build.deltask(task, d)
-            elif os.path.realpath(d.getVar('S')) == os.path.realpath(d.getVar('B')):
+            if os.path.realpath(d.getVar('S')) == os.path.realpath(d.getVar('B')):
                 # Since configure will likely touch ${S}, ensure only we lock so one task has access at a time
                 d.appendVarFlag(task, "lockfiles", " ${S}/singletask.lock")
 
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 475d652..599bbc4 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -402,10 +402,10 @@
 LOG_DIR = "${TMPDIR}/log"
 
 STAMPS_DIR ?= "${TMPDIR}/stamps"
-STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
+STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${PV}"
 STAMPCLEAN = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/*-*"
 BASE_WORKDIR ?= "${TMPDIR}/work"
-WORKDIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
+WORKDIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${PV}"
 T = "${WORKDIR}/temp"
 D = "${WORKDIR}/image"
 S = "${WORKDIR}/${BP}"
diff --git a/poky/meta/conf/distro/include/cve-extra-exclusions.inc b/poky/meta/conf/distro/include/cve-extra-exclusions.inc
index 61fb08d..9d4422b 100644
--- a/poky/meta/conf/distro/include/cve-extra-exclusions.inc
+++ b/poky/meta/conf/distro/include/cve-extra-exclusions.inc
@@ -122,6 +122,6 @@
 
 # nasm:nasm-native https://nvd.nist.gov/vuln/detail/CVE-2020-18974
 CVE_STATUS[CVE-2020-18974] = "upstream-wontfix: \
-It is a fuzzing related buffer overflow. It is of low impact since most devices
-wouldn't expose an assembler. The upstream is inactive and there is little to be
+It is a fuzzing related buffer overflow. It is of low impact since most devices \
+wouldn't expose an assembler. The upstream is inactive and there is little to be \
 done about the bug, ignore from an OE perspective."
diff --git a/poky/meta/conf/distro/include/init-manager-systemd.inc b/poky/meta/conf/distro/include/init-manager-systemd.inc
index 7867d90..595d1f2 100644
--- a/poky/meta/conf/distro/include/init-manager-systemd.inc
+++ b/poky/meta/conf/distro/include/init-manager-systemd.inc
@@ -1,5 +1,5 @@
 # Use systemd for system initialization
-DISTRO_FEATURES:append = " systemd"
+DISTRO_FEATURES:append = " systemd usrmerge"
 DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
 VIRTUAL-RUNTIME_init_manager ??= "systemd"
 VIRTUAL-RUNTIME_initscripts ??= "systemd-compat-units"
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 6e82e94..202e573 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -82,7 +82,7 @@
 RECIPE_MAINTAINER:pn-buildtools-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER:pn-buildtools-docs-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER:pn-buildtools-make-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER:pn-busybox = "Andrej Valek <andrej.valek@siemens.com>"
+RECIPE_MAINTAINER:pn-busybox = "Andrej Valek <andrej.v@skyrain.eu>"
 RECIPE_MAINTAINER:pn-busybox-inittab = "Denys Dmytriyenko <denis@denix.org>"
 RECIPE_MAINTAINER:pn-bzip2 = "Denys Dmytriyenko <denis@denix.org>"
 RECIPE_MAINTAINER:pn-ca-certificates = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -187,9 +187,8 @@
 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-13.1.1 = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gcc-source-13.2.0 = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER:pn-gcr3 = "Markus Volk <f_l_k@t-online.de>"
 RECIPE_MAINTAINER:pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-gdb-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
@@ -305,6 +304,7 @@
 RECIPE_MAINTAINER:pn-less = "Yi Zhao <yi.zhao@windriver.com>"
 RECIPE_MAINTAINER:pn-liba52 = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-libacpi = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libadwaita = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-libaio = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-libarchive = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
 RECIPE_MAINTAINER:pn-libassuan = "Unassigned <unassigned@yoctoproject.org>"
@@ -614,6 +614,7 @@
 RECIPE_MAINTAINER:pn-python3-dbus = "Zang Ruochen <zangruochen@loongson.cn>"
 RECIPE_MAINTAINER:pn-python3-dbusmock = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-python3-docutils = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-python3-dtc = "Trevor Gamblin <tgamblin@baylibre.com>"
 RECIPE_MAINTAINER:pn-python3-dtschema = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-dtschema-wrapper = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-editables = "Ross Burton <ross.burton@arm.com>"
@@ -733,7 +734,6 @@
 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-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-rxvt-unicode = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-sato-screenshot = "Ross Burton <ross.burton@arm.com>"
diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc
index 6250cf0..bbbef5b 100644
--- a/poky/meta/conf/distro/include/ptest-packagelists.inc
+++ b/poky/meta/conf/distro/include/ptest-packagelists.inc
@@ -75,6 +75,7 @@
     slang \
     wayland \
     zlib \
+    libexif \
 "
 PTESTS_FAST:append:libc-glibc = " glibc-tests"
 PTESTS_PROBLEMS:remove:libc-glibc = "glibc-tests"
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index 18daf44..1c4a22a 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -18,7 +18,7 @@
 
 GCCVERSION ?= "13.%"
 SDKGCCVERSION ?= "${GCCVERSION}"
-BINUVERSION ?= "2.40%"
+BINUVERSION ?= "2.41%"
 GDBVERSION ?= "13.%"
 GLIBCVERSION ?= "2.37"
 LINUXLIBCVERSION ?= "6.4%"
diff --git a/poky/meta/conf/distro/include/yocto-uninative.inc b/poky/meta/conf/distro/include/yocto-uninative.inc
index ad4816a..b3bd779 100644
--- a/poky/meta/conf/distro/include/yocto-uninative.inc
+++ b/poky/meta/conf/distro/include/yocto-uninative.inc
@@ -7,9 +7,9 @@
 #
 
 UNINATIVE_MAXGLIBCVERSION = "2.37"
-UNINATIVE_VERSION = "4.0"
+UNINATIVE_VERSION = "4.1"
 
 UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/"
-UNINATIVE_CHECKSUM[aarch64] ?= "7baa8418a302df52e00916193b0a04f318356d9d2670c9a2bce3e966efefd738"
-UNINATIVE_CHECKSUM[i686] ?= "83114d36883d43a521e280742b9849bf85d039b2f83d8e21d480659babe75ee8"
-UNINATIVE_CHECKSUM[x86_64] ?= "fd75b2a1a67a10f6b7d65afb7d0f3e71a63b0038e428f34dfe420bb37716558a"
+UNINATIVE_CHECKSUM[aarch64] ?= "b6ff9171aa7d3828bc81197822e804725908856bbd488bf412121cc0deddcb60"
+UNINATIVE_CHECKSUM[i686] ?= "6354fd2e09af1f111bad5e34ce7af4f9ad7cd266188af7eeceaeb982afd5354b"
+UNINATIVE_CHECKSUM[x86_64] ?= "f83eca543170adfd2432b135ca655922a4303622d73cc4b13e92b973cdf49e3a"
diff --git a/poky/meta/conf/multilib.conf b/poky/meta/conf/multilib.conf
index 7f3b946..ef3605a 100644
--- a/poky/meta/conf/multilib.conf
+++ b/poky/meta/conf/multilib.conf
@@ -2,6 +2,7 @@
 baselib = "${@d.getVar('BASE_LIB:tune-' + (d.getVar('DEFAULTTUNE') or 'INVALID')) or d.getVar('BASELIB')}"
 
 MULTILIB_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
+MULTILIB_VARIANTS[vardeps] += "MULTILIBS"
 MULTILIB_SAVE_VARNAME = "DEFAULTTUNE TARGET_ARCH TARGET_SYS TARGET_VENDOR"
 
 MULTILIBS ??= "multilib:lib32"
diff --git a/poky/meta/lib/oe/package.py b/poky/meta/lib/oe/package.py
index 70040f0..9d70925 100644
--- a/poky/meta/lib/oe/package.py
+++ b/poky/meta/lib/oe/package.py
@@ -613,7 +613,7 @@
         conf_list[i] = conf_list[i][1:]
 
     os.chdir(cwd)
-    return conf_list
+    return sorted(conf_list)
 
 def legitimize_package_name(s):
     """
diff --git a/poky/meta/lib/oe/recipeutils.py b/poky/meta/lib/oe/recipeutils.py
index b04992c..5a902c2 100644
--- a/poky/meta/lib/oe/recipeutils.py
+++ b/poky/meta/lib/oe/recipeutils.py
@@ -24,7 +24,7 @@
 from bb.utils import vercmp_string
 
 # Help us to find places to insert values
-recipe_progression = ['SUMMARY', 'DESCRIPTION', 'AUTHOR', 'HOMEPAGE', 'BUGTRACKER', 'SECTION', 'LICENSE', 'LICENSE_FLAGS', 'LIC_FILES_CHKSUM', 'PROVIDES', 'DEPENDS', 'PR', 'PV', 'SRCREV', 'SRCPV', 'SRC_URI', 'S', 'do_fetch()', 'do_unpack()', 'do_patch()', 'EXTRA_OECONF', 'EXTRA_OECMAKE', 'EXTRA_OESCONS', 'do_configure()', 'EXTRA_OEMAKE', 'do_compile()', 'do_install()', 'do_populate_sysroot()', 'INITSCRIPT', 'USERADD', 'GROUPADD', 'PACKAGES', 'FILES', 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RPROVIDES', 'RREPLACES', 'RCONFLICTS', 'ALLOW_EMPTY', 'populate_packages()', 'do_package()', 'do_deploy()', 'BBCLASSEXTEND']
+recipe_progression = ['SUMMARY', 'DESCRIPTION', 'HOMEPAGE', 'BUGTRACKER', 'SECTION', 'LICENSE', 'LICENSE_FLAGS', 'LIC_FILES_CHKSUM', 'PROVIDES', 'DEPENDS', 'PR', 'PV', 'SRCREV', 'SRCPV', 'SRC_URI', 'S', 'do_fetch()', 'do_unpack()', 'do_patch()', 'EXTRA_OECONF', 'EXTRA_OECMAKE', 'EXTRA_OESCONS', 'do_configure()', 'EXTRA_OEMAKE', 'do_compile()', 'do_install()', 'do_populate_sysroot()', 'INITSCRIPT', 'USERADD', 'GROUPADD', 'PACKAGES', 'FILES', 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RPROVIDES', 'RREPLACES', 'RCONFLICTS', 'ALLOW_EMPTY', 'populate_packages()', 'do_package()', 'do_deploy()', 'BBCLASSEXTEND']
 # Variables that sometimes are a bit long but shouldn't be wrapped
 nowrap_vars = ['SUMMARY', 'HOMEPAGE', 'BUGTRACKER', r'SRC_URI\[(.+\.)?md5sum\]', r'SRC_URI\[(.+\.)?sha256sum\]']
 list_vars = ['SRC_URI', 'LIC_FILES_CHKSUM']
diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py
index f943df1..633a0fd 100644
--- a/poky/meta/lib/oe/sstatesig.py
+++ b/poky/meta/lib/oe/sstatesig.py
@@ -215,6 +215,9 @@
     def dump_lockedsigs(self, sigfile, taskfilter=None):
         types = {}
         for tid in self.runtaskdeps:
+            # Bitbake changed this to a tuple in newer versions
+            if isinstance(tid, tuple):
+                tid = tid[1]
             if taskfilter:
                 if not tid in taskfilter:
                     continue
@@ -321,11 +324,12 @@
     if not taskname:
         # We have to derive pn and taskname
         key = pn
-        splitit = key.split('.bb:')
-        taskname = splitit[1]
-        pn = os.path.basename(splitit[0]).split('_')[0]
-        if key.startswith('virtual:native:'):
-            pn = pn + '-native'
+        if key.startswith("mc:"):
+           # mc:<mc>:<pn>:<task>
+           _, _, pn, taskname = key.split(':', 3)
+        else:
+           # <pn>:<task>
+           pn, taskname = key.split(':', 1)
 
     hashfiles = {}
     filedates = {}
diff --git a/poky/meta/lib/oeqa/core/target/ssh.py b/poky/meta/lib/oeqa/core/target/ssh.py
index e650302..f22836d 100644
--- a/poky/meta/lib/oeqa/core/target/ssh.py
+++ b/poky/meta/lib/oeqa/core/target/ssh.py
@@ -253,6 +253,9 @@
                 except InterruptedError:
                     logger.debug('InterruptedError')
                     continue
+                except BlockingIOError:
+                    logger.debug('BlockingIOError')
+                    continue
 
             process.stdout.close()
 
@@ -270,6 +273,7 @@
                             " running time: %d seconds." % (timeout, endtime))
                 logger.debug('Received data from SSH call:\n%s ' % lastline)
                 output += lastline
+                process.wait()
 
         else:
             output_raw = process.communicate()[0]
@@ -287,6 +291,7 @@
                 except OSError:
                     logger.debug('OSError')
                     pass
+                process.wait()
 
     options = {
         "stdout": subprocess.PIPE,
@@ -313,6 +318,8 @@
         # whilst running and ensure we don't leave a process behind.
         if process.poll() is None:
             process.kill()
+        if process.returncode == None:
+            process.wait()
         logger.debug('Something went wrong, killing SSH process')
         raise
 
diff --git a/poky/meta/lib/oeqa/runtime/cases/ltp.py b/poky/meta/lib/oeqa/runtime/cases/ltp.py
index 29c26d7..c7e7943 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ltp.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ltp.py
@@ -71,9 +71,14 @@
             cmd = '/opt/ltp/runltp -f %s -q -r /opt/ltp -l /opt/ltp/results/%s -I 1 -d /opt/ltp' % (ltp_group, ltp_group)
 
             starttime = time.time()
-            (status, output) = self.target.run(cmd)
+            (status, output) = self.target.run(cmd, timeout=1200)
             endtime = time.time()
 
+            # status of 1 is 'just' tests failing. 255 likely was a command output timeout 
+            if status and status != 1:
+                msg = 'Command %s returned exit code %s' % (cmd, status)
+                self.target.logger.warning(msg)
+
             # Write the console log to disk for convenience
             with open(os.path.join(self.ltptest_log_dir, "%s-raw.log" % ltp_group), 'w') as f:
                 f.write(output)
diff --git a/poky/meta/lib/oeqa/runtime/cases/rust.py b/poky/meta/lib/oeqa/runtime/cases/rust.py
index c9c60e16..9bf0312 100644
--- a/poky/meta/lib/oeqa/runtime/cases/rust.py
+++ b/poky/meta/lib/oeqa/runtime/cases/rust.py
@@ -48,15 +48,3 @@
         status, output = self.target.run('cargo run --manifest-path=/tmp/hello/Cargo.toml')
         msg = 'running compiled file failed, output: %s' % output
         self.assertEqual(status, 0, msg=msg)
-
-class RustHelloworldTest(OERuntimeTestCase):
-    @OETestDepends(['ssh.SSHTest.test_ssh'])
-    @OEHasPackage(['rust-hello-world'])
-    def test_rusthelloworld(self):
-        cmd = "rust-hello-world"
-        status, output = self.target.run(cmd)
-        msg = 'Exit status was not 0. Output: %s' % output
-        self.assertEqual(status, 0, msg=msg)
-
-        msg = 'Incorrect output: %s' % output
-        self.assertEqual(output, "Hello, world!", msg=msg)
diff --git a/poky/meta/lib/oeqa/selftest/cases/binutils.py b/poky/meta/lib/oeqa/selftest/cases/binutils.py
index bf6fdca..1688eab 100644
--- a/poky/meta/lib/oeqa/selftest/cases/binutils.py
+++ b/poky/meta/lib/oeqa/selftest/cases/binutils.py
@@ -4,6 +4,7 @@
 # SPDX-License-Identifier: MIT
 #
 import os
+import time
 from oeqa.core.decorator import OETestTag
 from oeqa.core.case import OEPTestResultTestCase
 from oeqa.selftest.case import OESelftestTestCase
@@ -36,15 +37,19 @@
         bb_vars = get_bb_vars(["B", "TARGET_SYS", "T"], recipe)
         builddir, target_sys, tdir = bb_vars["B"], bb_vars["TARGET_SYS"], bb_vars["T"]
 
+        start_time = time.time()
+
         bitbake("{0} -c check".format(recipe))
 
+        end_time = time.time()
+
         sumspath = os.path.join(builddir, suite, "{0}.sum".format(suite))
         if not os.path.exists(sumspath):
             sumspath = os.path.join(builddir, suite, "testsuite", "{0}.sum".format(suite))
         logpath = os.path.splitext(sumspath)[0] + ".log"
 
         ptestsuite = "binutils-{}".format(suite) if suite != "binutils" else suite
-        self.ptest_section(ptestsuite, logfile = logpath)
+        self.ptest_section(ptestsuite, duration = int(end_time - start_time), logfile = logpath)
         with open(sumspath, "r") as f:
             for test, result in parse_values(f):
                 self.ptest_result(ptestsuite, test, result)
diff --git a/poky/meta/lib/oeqa/selftest/cases/distrodata.py b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
index 111bd3c..ad952c0 100644
--- a/poky/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -39,42 +39,6 @@
 """ + "\n".join(regressed_successes)
         self.assertTrue(len(regressed_failures) == 0 and len(regressed_successes) == 0, msg)
 
-    def test_missing_homepg(self):
-        """
-        Summary:     Test for oe-core recipes that don't have a HOMEPAGE or DESCRIPTION
-        Expected:    All oe-core recipes should have a DESCRIPTION entry
-        Expected:    All oe-core recipes should have a HOMEPAGE entry except for recipes that are not fetched from external sources.
-        Product:     oe-core
-        """
-        with bb.tinfoil.Tinfoil() as tinfoil:
-            tinfoil.prepare(config_only=False)
-            no_description = []
-            no_homepage = []
-            for fn in tinfoil.all_recipe_files(variants=False):
-                if not '/meta/recipes-' in fn:
-                    # We are only interested in OE-Core
-                    continue
-                rd = tinfoil.parse_recipe_file(fn, appends=False)
-                pn = rd.getVar('BPN')
-                srcfile = rd.getVar('SRC_URI').split()
-                #Since DESCRIPTION defaults to SUMMARY if not set, we are only interested in recipes without DESCRIPTION or SUMMARY
-                if not (rd.getVar('SUMMARY') or rd.getVar('DESCRIPTION')):
-                    no_description.append((pn, fn))
-                if not rd.getVar('HOMEPAGE'):
-                    if srcfile and srcfile[0].startswith('file') or not rd.getVar('SRC_URI'):
-                        # We are only interested in recipes SRC_URI fetched from external sources
-                        continue
-                    no_homepage.append((pn, fn))
-        if no_homepage:
-            self.fail("""
-The following recipes do not have a HOMEPAGE. Please add an entry for HOMEPAGE in the recipe.
-""" + "\n".join(['%s (%s)' % i for i in no_homepage]))
-
-        if no_description:
-            self.fail("""
-The following recipes do not have a DESCRIPTION. Please add an entry for DESCRIPTION in the recipe.
-""" + "\n".join(['%s (%s)' % i for i in no_description]))
-
     def test_maintainers(self):
         """
         Summary:     Test that oe-core recipes have a maintainer and entries in maintainers list have a recipe
diff --git a/poky/meta/lib/oeqa/selftest/cases/gcc.py b/poky/meta/lib/oeqa/selftest/cases/gcc.py
index 6b9022e..8936017 100644
--- a/poky/meta/lib/oeqa/selftest/cases/gcc.py
+++ b/poky/meta/lib/oeqa/selftest/cases/gcc.py
@@ -4,6 +4,7 @@
 # SPDX-License-Identifier: MIT
 #
 import os
+import time
 from oeqa.core.decorator import OETestTag
 from oeqa.core.case import OEPTestResultTestCase
 from oeqa.selftest.case import OESelftestTestCase
@@ -43,8 +44,13 @@
         self.write_config("\n".join(features))
 
         recipe = "gcc-runtime"
+
+        start_time = time.time()
+
         bitbake("{} -c check".format(recipe))
 
+        end_time = time.time()
+
         bb_vars = get_bb_vars(["B", "TARGET_SYS"], recipe)
         builddir, target_sys = bb_vars["B"], bb_vars["TARGET_SYS"]
 
@@ -58,7 +64,7 @@
 
             ptestsuite = "gcc-{}".format(suite) if suite != "gcc" else suite
             ptestsuite = ptestsuite + "-user" if ssh is None else ptestsuite
-            self.ptest_section(ptestsuite, logfile = logpath)
+            self.ptest_section(ptestsuite, duration = int(end_time - start_time), logfile = logpath)
             with open(sumspath, "r") as f:
                 for test, result in parse_values(f):
                     self.ptest_result(ptestsuite, test, result)
diff --git a/poky/meta/lib/oeqa/selftest/cases/glibc.py b/poky/meta/lib/oeqa/selftest/cases/glibc.py
index 4ec4b85..bd56b2f 100644
--- a/poky/meta/lib/oeqa/selftest/cases/glibc.py
+++ b/poky/meta/lib/oeqa/selftest/cases/glibc.py
@@ -4,6 +4,7 @@
 # SPDX-License-Identifier: MIT
 #
 import os
+import time
 import contextlib
 from oeqa.core.decorator import OETestTag
 from oeqa.core.case import OEPTestResultTestCase
@@ -31,12 +32,16 @@
             features.append('EGLIBCPARALLELISM:task-check:pn-glibc-testsuite = "PARALLELMFLAGS="-j1""')
         self.write_config("\n".join(features))
 
+        start_time = time.time()
+
         bitbake("glibc-testsuite -c check")
 
+        end_time = time.time()
+
         builddir = get_bb_var("B", "glibc-testsuite")
 
         ptestsuite = "glibc-user" if ssh is None else "glibc"
-        self.ptest_section(ptestsuite)
+        self.ptest_section(ptestsuite, duration = int(end_time - start_time))
         with open(os.path.join(builddir, "tests.sum"), "r",  errors='replace') as f:
             for test, result in parse_values(f):
                 self.ptest_result(ptestsuite, test, result)
@@ -45,7 +50,7 @@
         with contextlib.ExitStack() as s:
             # use the base work dir, as the nfs mount, since the recipe directory may not exist
             tmpdir = get_bb_var("BASE_WORKDIR")
-            nfsport, mountport = s.enter_context(unfs_server(tmpdir))
+            nfsport, mountport = s.enter_context(unfs_server(tmpdir, udp = False))
 
             # build core-image-minimal with required packages
             default_installed_packages = [
@@ -65,7 +70,7 @@
             bitbake("core-image-minimal")
 
             # start runqemu
-            qemu = s.enter_context(runqemu("core-image-minimal", runqemuparams = "nographic"))
+            qemu = s.enter_context(runqemu("core-image-minimal", runqemuparams = "nographic", qemuparams = "-m 1024"))
 
             # validate that SSH is working
             status, _ = qemu.run("uname")
@@ -74,7 +79,7 @@
             # setup nfs mount
             if qemu.run("mkdir -p \"{0}\"".format(tmpdir))[0] != 0:
                 raise Exception("Failed to setup NFS mount directory on target")
-            mountcmd = "mount -o noac,nfsvers=3,port={0},udp,mountport={1} \"{2}:{3}\" \"{3}\"".format(nfsport, mountport, qemu.server_ip, tmpdir)
+            mountcmd = "mount -o noac,nfsvers=3,port={0},mountport={1} \"{2}:{3}\" \"{3}\"".format(nfsport, mountport, qemu.server_ip, tmpdir)
             status, output = qemu.run(mountcmd)
             if status != 0:
                 raise Exception("Failed to setup NFS mount on target ({})".format(repr(output)))
diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
index 0292c88..a5e069d 100644
--- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -250,7 +250,7 @@
 DISTRO_FEATURES:append = " pam opengl wayland"
 
 # Switch to systemd
-DISTRO_FEATURES:append = " systemd"
+DISTRO_FEATURES:append = " systemd usrmerge"
 VIRTUAL-RUNTIME_init_manager = "systemd"
 VIRTUAL-RUNTIME_initscripts = ""
 VIRTUAL-RUNTIME_syslog = ""
diff --git a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
index b4f0663..4031ded 100644
--- a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
+++ b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
@@ -58,7 +58,7 @@
 
         config = """
 IMAGE_INSTALL:append = " overlayfs-user"
-DISTRO_FEATURES:append = " systemd overlayfs"
+DISTRO_FEATURES:append = " systemd overlayfs usrmerge"
 """
 
         self.write_config(config)
@@ -79,7 +79,7 @@
 
         config = """
 IMAGE_INSTALL:append = " overlayfs-user"
-DISTRO_FEATURES += "systemd overlayfs"
+DISTRO_FEATURES += "systemd overlayfs usrmerge"
 OVERLAYFS_QA_SKIP[mnt-overlay] = "mount-configured"
 """
 
@@ -97,7 +97,7 @@
 
         config = """
 IMAGE_INSTALL:append = " overlayfs-user"
-DISTRO_FEATURES:append = " systemd overlayfs"
+DISTRO_FEATURES:append = " systemd overlayfs usrmerge"
 """
 
         self.write_config(config)
@@ -115,7 +115,7 @@
 
         config = """
 IMAGE_INSTALL:append = " overlayfs-user"
-DISTRO_FEATURES:append = " systemd overlayfs"
+DISTRO_FEATURES:append = " systemd overlayfs usrmerge"
 """
 
         wrong_machine_config = """
diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
index 0f7e6eb..4c6ed4e 100644
--- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -212,10 +212,9 @@
 
         config = textwrap.dedent('''\
             PACKAGE_CLASSES = "{package_classes}"
-            INHIBIT_PACKAGE_STRIP = "1"
             TMPDIR = "{tmpdir}"
             LICENSE_FLAGS_ACCEPTED = "commercial"
-            DISTRO_FEATURES:append = ' systemd pam'
+            DISTRO_FEATURES:append = ' pam'
             USERADDEXTENSION = "useradd-staticids"
             USERADD_ERROR_DYNAMIC = "skip"
             USERADD_UID_TABLES += "files/static-passwd"
diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
index 81b8d05..463679d 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -294,7 +294,7 @@
                 features += 'IMAGE_FEATURES += "package-management empty-root-password"\n'
                 features += 'PACKAGE_CLASSES = "%s"\n' % classes
                 if init_manager == "systemd":
-                    features += 'DISTRO_FEATURES:append = " systemd"\n'
+                    features += 'DISTRO_FEATURES:append = " systemd usrmerge"\n'
                     features += 'VIRTUAL-RUNTIME_init_manager = "systemd"\n'
                     features += 'DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"\n'
                     features += 'VIRTUAL-RUNTIME_initscripts = ""\n'
diff --git a/poky/meta/lib/oeqa/selftest/cases/rust.py b/poky/meta/lib/oeqa/selftest/cases/rust.py
index 7a0fd70..7d14814 100644
--- a/poky/meta/lib/oeqa/selftest/cases/rust.py
+++ b/poky/meta/lib/oeqa/selftest/cases/rust.py
@@ -1,6 +1,7 @@
 # SPDX-License-Identifier: MIT
 import os
 import subprocess
+import time
 from oeqa.core.decorator import OETestTag
 from oeqa.core.case import OEPTestResultTestCase
 from oeqa.selftest.case import OESelftestTestCase
@@ -40,6 +41,7 @@
     def test_rust(self, *args, **kwargs):
         # build remote-test-server before image build
         recipe = "rust"
+        start_time = time.time()
         bitbake("{} -c test_compile".format(recipe))
         builddir = get_bb_var("RUSTSRC", "rust")
         # build core-image-minimal with required packages
@@ -49,6 +51,221 @@
         features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
         self.write_config("\n".join(features))
         bitbake("core-image-minimal")
+
+        # Exclude the test folders that error out while building
+        # TODO: Fix the errors and include them for testing
+        # no-fail-fast: Run all tests regardless of failure.
+        # bless: First runs rustfmt to format the codebase,
+        # then runs tidy checks.
+        exclude_list =  [
+                            'compiler/rustc',
+                            'compiler/rustc_interface/src/tests.rs',
+                            'library/panic_abort',
+                            'library/panic_unwind',
+                            'library/test/src/stats/tests.rs',
+                            'src/bootstrap/builder/tests.rs',
+                            'src/doc/rustc',
+                            'src/doc/rustdoc',
+                            'src/doc/unstable-book',
+                            'src/librustdoc',
+                            'src/rustdoc-json-types',
+                            'src/tools/compiletest/src/common.rs',
+                            'src/tools/lint-docs',
+                            'src/tools/rust-analyzer',
+                            'src/tools/rustdoc-themes',
+                            'src/tools/tidy',
+                            'tests/assembly/asm/aarch64-outline-atomics.rs',
+                            'tests/codegen/abi-main-signature-32bit-c-int.rs',
+                            'tests/codegen/abi-repr-ext.rs',
+                            'tests/codegen/abi-x86-interrupt.rs',
+                            'tests/codegen/branch-protection.rs',
+                            'tests/codegen/catch-unwind.rs',
+                            'tests/codegen/cf-protection.rs',
+                            'tests/codegen/enum-bounds-check-derived-idx.rs',
+                            'tests/codegen/force-unwind-tables.rs',
+                            'tests/codegen/intrinsic-no-unnamed-attr.rs',
+                            'tests/codegen/issues/issue-103840.rs',
+                            'tests/codegen/issues/issue-47278.rs',
+                            'tests/codegen/issues/issue-73827-bounds-check-index-in-subexpr.rs',
+                            'tests/codegen/lifetime_start_end.rs',
+                            'tests/codegen/local-generics-in-exe-internalized.rs',
+                            'tests/codegen/match-unoptimized.rs',
+                            'tests/codegen/noalias-rwlockreadguard.rs',
+                            'tests/codegen/non-terminate/nonempty-infinite-loop.rs',
+                            'tests/codegen/noreturn-uninhabited.rs',
+                            'tests/codegen/repr-transparent-aggregates-3.rs',
+                            'tests/codegen/sse42-implies-crc32.rs',
+                            'tests/codegen/thread-local.rs',
+                            'tests/codegen/uninit-consts.rs',
+                            'tests/pretty/raw-str-nonexpr.rs',
+                            'tests/run-make',
+                            'tests/run-make/cdylib-fewer-symbols/foo.rs',
+                            'tests/run-make/doctests-keep-binaries/t.rs',
+                            'tests/run-make-fulldeps',
+                            'tests/run-make/issue-22131/foo.rs',
+                            'tests/run-make/issue-36710/Makefile',
+                            'tests/run-make/issue-47551',
+                            'tests/run-make/pgo-branch-weights',
+                            'tests/run-make/pgo-gen',
+                            'tests/run-make/pgo-gen-lto',
+                            'tests/run-make/pgo-indirect-call-promotion',
+                            'tests/run-make/pgo-use',
+                            'tests/run-make/pointer-auth-link-with-c/Makefile',
+                            'tests/run-make/profile',
+                            'tests/run-make/static-pie',
+                            'tests/run-make/sysroot-crates-are-unstable',
+                            'tests/run-make/target-specs',
+                            'tests/rustdoc',
+                            'tests/rustdoc/async-move-doctest.rs',
+                            'tests/rustdoc/async-trait.rs',
+                            'tests/rustdoc/auto-traits.rs',
+                            'tests/rustdoc/check-source-code-urls-to-def.rs',
+                            'tests/rustdoc/comment-in-doctest.rs',
+                            'tests/rustdoc/const-generics/const-generics-docs.rs',
+                            'tests/rustdoc/cross-crate-hidden-assoc-trait-items.rs',
+                            'tests/rustdoc/cross-crate-hidden-impl-parameter.rs',
+                            'tests/rustdoc/cross-crate-links.rs',
+                            'tests/rustdoc/cross-crate-primitive-doc.rs',
+                            'tests/rustdoc/doctest-manual-crate-name.rs',
+                            'tests/rustdoc/edition-doctest.rs',
+                            'tests/rustdoc/edition-flag.rs',
+                            'tests/rustdoc/elided-lifetime.rs',
+                            'tests/rustdoc/external-macro-src.rs',
+                            'tests/rustdoc/extern-html-root-url.rs',
+                            'tests/rustdoc/extern-impl-trait.rs',
+                            'tests/rustdoc/hide-unstable-trait.rs',
+                            'tests/rustdoc/inline_cross/add-docs.rs',
+                            'tests/rustdoc/inline_cross/default-trait-method.rs',
+                            'tests/rustdoc/inline_cross/dyn_trait.rs',
+                            'tests/rustdoc/inline_cross/impl_trait.rs',
+                            'tests/rustdoc/inline_cross/issue-24183.rs',
+                            'tests/rustdoc/inline_cross/macros.rs',
+                            'tests/rustdoc/inline_cross/trait-vis.rs',
+                            'tests/rustdoc/inline_cross/use_crate.rs',
+                            'tests/rustdoc/intra-doc-crate/self.rs',
+                            'tests/rustdoc/intra-doc/cross-crate/additional_doc.rs',
+                            'tests/rustdoc/intra-doc/cross-crate/basic.rs',
+                            'tests/rustdoc/intra-doc/cross-crate/crate.rs',
+                            'tests/rustdoc/intra-doc/cross-crate/hidden.rs',
+                            'tests/rustdoc/intra-doc/cross-crate/macro.rs',
+                            'tests/rustdoc/intra-doc/cross-crate/module.rs',
+                            'tests/rustdoc/intra-doc/cross-crate/submodule-inner.rs',
+                            'tests/rustdoc/intra-doc/cross-crate/submodule-outer.rs',
+                            'tests/rustdoc/intra-doc/cross-crate/traits.rs',
+                            'tests/rustdoc/intra-doc/extern-builtin-type-impl.rs',
+                            'tests/rustdoc/intra-doc/extern-crate-only-used-in-link.rs',
+                            'tests/rustdoc/intra-doc/extern-crate.rs',
+                            'tests/rustdoc/intra-doc/extern-inherent-impl.rs',
+                            'tests/rustdoc/intra-doc/extern-reference-link.rs',
+                            'tests/rustdoc/intra-doc/issue-103463.rs',
+                            'tests/rustdoc/intra-doc/issue-104145.rs',
+                            'tests/rustdoc/intra-doc/issue-66159.rs',
+                            'tests/rustdoc/intra-doc/pub-use.rs',
+                            'tests/rustdoc/intra-doc/reexport-additional-docs.rs',
+                            'tests/rustdoc/issue-18199.rs',
+                            'tests/rustdoc/issue-23106.rs',
+                            'tests/rustdoc/issue-23744.rs',
+                            'tests/rustdoc/issue-25944.rs',
+                            'tests/rustdoc/issue-30252.rs',
+                            'tests/rustdoc/issue-38129.rs',
+                            'tests/rustdoc/issue-40936.rs',
+                            'tests/rustdoc/issue-43153.rs',
+                            'tests/rustdoc/issue-46727.rs',
+                            'tests/rustdoc/issue-48377.rs',
+                            'tests/rustdoc/issue-48414.rs',
+                            'tests/rustdoc/issue-53689.rs',
+                            'tests/rustdoc/issue-54478-demo-allocator.rs',
+                            'tests/rustdoc/issue-57180.rs',
+                            'tests/rustdoc/issue-61592.rs',
+                            'tests/rustdoc/issue-73061-cross-crate-opaque-assoc-type.rs',
+                            'tests/rustdoc/issue-75588.rs',
+                            'tests/rustdoc/issue-85454.rs',
+                            'tests/rustdoc/issue-86620.rs',
+                            'tests/rustdoc-json',
+                            'tests/rustdoc-js-std',
+                            'tests/rustdoc/macro_pub_in_module.rs',
+                            'tests/rustdoc/masked.rs',
+                            'tests/rustdoc/normalize-assoc-item.rs',
+                            'tests/rustdoc/no-stack-overflow-25295.rs',
+                            'tests/rustdoc/primitive-reexport.rs',
+                            'tests/rustdoc/process-termination.rs',
+                            'tests/rustdoc/pub-extern-crate.rs',
+                            'tests/rustdoc/pub-use-extern-macros.rs',
+                            'tests/rustdoc/reexport-check.rs',
+                            'tests/rustdoc/reexport-dep-foreign-fn.rs',
+                            'tests/rustdoc/reexport-doc.rs',
+                            'tests/rustdoc/reexports-priv.rs',
+                            'tests/rustdoc/reexports.rs',
+                            'tests/rustdoc/rustc,-incoherent-impls.rs',
+                            'tests/rustdoc/test_option_check/bar.rs',
+                            'tests/rustdoc/test_option_check/test.rs',
+                            'tests/rustdoc/trait-alias-mention.rs',
+                            'tests/rustdoc/trait-visibility.rs',
+                            'tests/rustdoc-ui/cfg-test.rs',
+                            'tests/rustdoc-ui/check-cfg-test.rs',
+                            'tests/rustdoc-ui/display-output.rs',
+                            'tests/rustdoc-ui/doc-comment-multi-line-attr.rs',
+                            'tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs',
+                            'tests/rustdoc-ui/doc-test-doctest-feature.rs',
+                            'tests/rustdoc-ui/doctest-multiline-crate-attribute.rs',
+                            'tests/rustdoc-ui/doctest-output.rs',
+                            'tests/rustdoc-ui/doc-test-rustdoc-feature.rs',
+                            'tests/rustdoc-ui/failed-doctest-compile-fail.rs',
+                            'tests/rustdoc-ui/issue-80992.rs',
+                            'tests/rustdoc-ui/issue-91134.rs',
+                            'tests/rustdoc-ui/nocapture-fail.rs',
+                            'tests/rustdoc-ui/nocapture.rs',
+                            'tests/rustdoc-ui/no-run-flag.rs',
+                            'tests/rustdoc-ui/run-directory.rs',
+                            'tests/rustdoc-ui/test-no_std.rs',
+                            'tests/rustdoc-ui/test-type.rs',
+                            'tests/rustdoc/unit-return.rs',
+                            'tests/ui/abi/stack-probes-lto.rs',
+                            'tests/ui/abi/stack-probes.rs',
+                            'tests/ui/array-slice-vec/subslice-patterns-const-eval-match.rs',
+                            'tests/ui/asm/x86_64/sym.rs',
+                            'tests/ui/associated-type-bounds/fn-apit.rs',
+                            'tests/ui/associated-type-bounds/fn-dyn-apit.rs',
+                            'tests/ui/associated-type-bounds/fn-wrap-apit.rs',
+                            'tests/ui/debuginfo/debuginfo-emit-llvm-ir-and-split-debuginfo.rs',
+                            'tests/ui/drop/dynamic-drop.rs',
+                            'tests/ui/empty_global_asm.rs',
+                            'tests/ui-fulldeps/deriving-encodable-decodable-box.rs',
+                            'tests/ui-fulldeps/deriving-encodable-decodable-cell-refcell.rs',
+                            'tests/ui-fulldeps/deriving-global.rs',
+                            'tests/ui-fulldeps/deriving-hygiene.rs',
+                            'tests/ui-fulldeps/dropck_tarena_sound_drop.rs',
+                            'tests/ui-fulldeps/empty-struct-braces-derive.rs',
+                            'tests/ui-fulldeps/internal-lints/bad_opt_access.rs',
+                            'tests/ui-fulldeps/internal-lints/bad_opt_access.stderr',
+                            'tests/ui-fulldeps/internal-lints/default_hash_types.rs',
+                            'tests/ui-fulldeps/internal-lints/diagnostics.rs',
+                            'tests/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs',
+                            'tests/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs',
+                            'tests/ui-fulldeps/internal-lints/query_stability.rs',
+                            'tests/ui-fulldeps/internal-lints/rustc_pass_by_value.rs',
+                            'tests/ui-fulldeps/internal-lints/ty_tykind_usage.rs',
+                            'tests/ui-fulldeps/issue-14021.rs',
+                            'tests/ui-fulldeps/lint-group-denied-lint-allowed.rs',
+                            'tests/ui-fulldeps/lint-group-forbid-always-trumps-cli.rs',
+                            'tests/ui-fulldeps/lint-pass-macros.rs',
+                            'tests/ui-fulldeps/regions-mock-tcx.rs',
+                            'tests/ui-fulldeps/rustc_encodable_hygiene.rs',
+                            'tests/ui-fulldeps/session-diagnostic/enforce_slug_naming.rs',
+                            'tests/ui/functions-closures/fn-help-with-err.rs',
+                            'tests/ui/linkage-attr/issue-10755.rs',
+                            'tests/ui/macros/restricted-shadowing-legacy.rs',
+                            'tests/ui/process/nofile-limit.rs',
+                            'tests/ui/process/process-panic-after-fork.rs',
+                            'tests/ui/process/process-sigpipe.rs',
+                            'tests/ui/simd/target-feature-mixup.rs',
+                            'tests/ui/structs-enums/multiple-reprs.rs'
+                        ]
+
+        exclude_fail_tests = " ".join([" --exclude " + item for item in exclude_list])
+        # Add exclude_fail_tests with other test arguments
+        testargs =  exclude_fail_tests + " --doc --no-fail-fast --bless"
+
         # wrap the execution with a qemu instance.
         # Tests are run with 512 tasks in parallel to execute all tests very quickly
         with runqemu("core-image-minimal", runqemuparams = "nographic", qemuparams = "-m 512") as qemu:
@@ -65,13 +282,6 @@
             rustlibpath = get_bb_var("WORKDIR", "rust")
             tmpdir = get_bb_var("TMPDIR", "rust")
 
-            # Exclude the test folders that error out while building
-            # TODO: Fix the errors and include them for testing
-            # no-fail-fast: Run all tests regardless of failure.
-            # bless: First runs rustfmt to format the codebase,
-            # then runs tidy checks.
-            testargs = "--exclude tests/rustdoc --exclude src/tools/rust-analyzer  --exclude tests/rustdoc-json  --exclude tests/run-make-fulldeps --exclude src/tools/tidy --exclude src/tools/rustdoc-themes --exclude src/rustdoc-json-types --exclude src/librustdoc --exclude src/doc/unstable-book --exclude src/doc/rustdoc --exclude src/doc/rustc --exclude compiler/rustc --exclude library/panic_abort --exclude library/panic_unwind --exclude src/tools/lint-docs  --exclude tests/rustdoc-js-std --doc --no-fail-fast --bless"
-
             # Set path for target-poky-linux-gcc, RUST_TARGET_PATH and hosttools.
             cmd = " export PATH=%s/recipe-sysroot-native/usr/bin:$PATH;" % rustlibpath
             cmd = cmd + " export TARGET_VENDOR=\"-poky\";"
@@ -81,9 +291,10 @@
             cmd = cmd + " export TEST_DEVICE_ADDR=\"%s:12345\";" % qemu.ip
             cmd = cmd + " cd %s; python3 src/bootstrap/bootstrap.py test %s --target %s > summary.txt 2>&1;" % (builddir, testargs, targetsys)
             runCmd(cmd)
+            end_time = time.time()
 
             ptestsuite = "rust"
-            self.ptest_section(ptestsuite, logfile = builddir + "/summary.txt")
+            self.ptest_section(ptestsuite, duration = int(end_time - start_time), logfile = builddir + "/summary.txt")
             filename = builddir + "/summary.txt"
             test_results = parse_results(filename)
             for test in test_results:
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
index febafdb..3fa3038 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -691,3 +691,86 @@
         self.maxDiff = None
         self.assertCountEqual(files1, files2)
 
+class SStateFindSiginfo(SStateBase):
+    def test_sstate_compare_sigfiles_and_find_siginfo(self):
+        """
+        Test the functionality of the find_siginfo: basic function and callback in compare_sigfiles
+        """
+        self.write_config("""
+TMPDIR = \"${TOPDIR}/tmp-sstates-findsiginfo\"
+TCLIBCAPPEND = \"\"
+MACHINE = \"qemux86-64\"
+require conf/multilib.conf
+MULTILIBS = "multilib:lib32"
+DEFAULTTUNE:virtclass-multilib-lib32 = "x86"
+BB_SIGNATURE_HANDLER = "OEBasicHash"
+""")
+        self.track_for_cleanup(self.topdir + "/tmp-sstates-findsiginfo")
+
+        pns = ["binutils", "binutils-native", "lib32-binutils"]
+        target_configs = [
+"""
+TMPVAL1 = "tmpval1"
+TMPVAL2 = "tmpval2"
+do_tmptask1() {
+    echo ${TMPVAL1}
+}
+do_tmptask2() {
+    echo ${TMPVAL2}
+}
+addtask do_tmptask1
+addtask tmptask2 before do_tmptask1
+""",
+"""
+TMPVAL3 = "tmpval3"
+TMPVAL4 = "tmpval4"
+do_tmptask1() {
+    echo ${TMPVAL3}
+}
+do_tmptask2() {
+    echo ${TMPVAL4}
+}
+addtask do_tmptask1
+addtask tmptask2 before do_tmptask1
+"""
+        ]
+
+        for target_config in target_configs:
+            self.write_recipeinc("binutils", target_config)
+            for pn in pns:
+                bitbake("%s -c do_tmptask1 -S none" % pn)
+            self.delete_recipeinc("binutils")
+
+        with bb.tinfoil.Tinfoil() as tinfoil:
+            tinfoil.prepare(config_only=True)
+
+            def find_siginfo(pn, taskname, sigs=None):
+                result = None
+                tinfoil.set_event_mask(["bb.event.FindSigInfoResult",
+                                "bb.command.CommandCompleted"])
+                ret = tinfoil.run_command("findSigInfo", pn, taskname, sigs)
+                if ret:
+                    while True:
+                        event = tinfoil.wait_event(1)
+                        if event:
+                            if isinstance(event, bb.command.CommandCompleted):
+                                break
+                            elif isinstance(event, bb.event.FindSigInfoResult):
+                                result = event.result
+                return result
+
+            def recursecb(key, hash1, hash2):
+                nonlocal recursecb_count
+                recursecb_count += 1
+                hashes = [hash1, hash2]
+                hashfiles = find_siginfo(key, None, hashes)
+                self.assertCountEqual(hashes, hashfiles)
+                bb.siggen.compare_sigfiles(hashfiles[hash1], hashfiles[hash2], recursecb)
+
+            for pn in pns:
+                recursecb_count = 0
+                filedates = find_siginfo(pn, "do_tmptask1")
+                self.assertGreaterEqual(len(filedates), 2)
+                latestfiles = sorted(filedates.keys(), key=lambda f: filedates[f])[-2:]
+                bb.siggen.compare_sigfiles(latestfiles[-2], latestfiles[-1], recursecb)
+                self.assertEqual(recursecb_count,1)
diff --git a/poky/meta/lib/oeqa/utils/nfs.py b/poky/meta/lib/oeqa/utils/nfs.py
index b66ed42..903469b 100644
--- a/poky/meta/lib/oeqa/utils/nfs.py
+++ b/poky/meta/lib/oeqa/utils/nfs.py
@@ -12,7 +12,7 @@
 from oeqa.utils.network import get_free_port
 
 @contextlib.contextmanager
-def unfs_server(directory, logger = None):
+def unfs_server(directory, logger = None, udp = True):
     unfs_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "unfs3-native")
     if not os.path.exists(os.path.join(unfs_sysroot, "usr", "bin", "unfsd")):
         # build native tool
@@ -26,7 +26,7 @@
             exports.write("{0} (rw,no_root_squash,no_all_squash,insecure)\n".format(directory).encode())
 
         # find some ports for the server
-        nfsport, mountport = get_free_port(udp = True), get_free_port(udp = True)
+        nfsport, mountport = get_free_port(udp), get_free_port(udp)
 
         nenv = dict(os.environ)
         nenv['PATH'] = "{0}/sbin:{0}/usr/sbin:{0}/usr/bin:".format(unfs_sysroot) + nenv.get('PATH', '')
diff --git a/poky/meta/recipes-bsp/efivar/efivar_38.bb b/poky/meta/recipes-bsp/efivar/efivar_38.bb
index 87a1e66..411e951 100644
--- a/poky/meta/recipes-bsp/efivar/efivar_38.bb
+++ b/poky/meta/recipes-bsp/efivar/efivar_38.bb
@@ -19,10 +19,6 @@
 
 export CCLD_FOR_BUILD = "${BUILD_CCLD}"
 
-# Upstream uses --add-needed in gcc.specs which gold doesn't support, so
-# enforce BFD.
-LDFLAGS += "-fuse-ld=bfd"
-
 do_compile() {
     oe_runmake ERRORS= HOST_CFLAGS="${BUILD_CFLAGS}" HOST_LDFLAGS="${BUILD_LDFLAGS}"
 }
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi/0001-riscv64-adjust-type-definitions.patch b/poky/meta/recipes-bsp/gnu-efi/gnu-efi/0001-riscv64-adjust-type-definitions.patch
new file mode 100644
index 0000000..3475606
--- /dev/null
+++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi/0001-riscv64-adjust-type-definitions.patch
@@ -0,0 +1,34 @@
+From 1de509497826faa0ad84b82f5e2c3d21ee613459 Mon Sep 17 00:00:00 2001
+From: Moody Liu <mooodyhunter@outlook.com>
+Date: Sat, 13 May 2023 17:39:16 +0100
+Subject: [PATCH] riscv64: adjust type definitions
+
+CHAR8 needs to be defined while BOOLEAN should be removed
+here to prevent typedef conflicts
+
+Upstream-Status: Backport [https://sourceforge.net/p/gnu-efi/code/ci/1de509497826faa0ad84b82f5e2c3d21ee613459/]
+Signed-off-by: Moody Liu <mooodyhunter@outlook.com>
+---
+ inc/riscv64/efibind.h | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/inc/riscv64/efibind.h b/inc/riscv64/efibind.h
+index 4fdf81d..d8b4f39 100644
+--- a/inc/riscv64/efibind.h
++++ b/inc/riscv64/efibind.h
+@@ -32,11 +32,9 @@ typedef uint16_t                UINT16;
+ typedef int16_t                 INT16;
+ typedef uint8_t                 UINT8;
+ typedef int8_t                  INT8;
++typedef char                    CHAR8;
+ typedef wchar_t                 CHAR16;
+ #define WCHAR                   CHAR16
+-#ifndef BOOLEAN
+-typedef uint8_t                 BOOLEAN;
+-#endif
+ #undef VOID
+ typedef void                    VOID;
+ typedef int64_t                 INTN;
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi/0001-riscv64-ignore-unknown-relocs.patch b/poky/meta/recipes-bsp/gnu-efi/gnu-efi/0001-riscv64-ignore-unknown-relocs.patch
new file mode 100644
index 0000000..5b3c152
--- /dev/null
+++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi/0001-riscv64-ignore-unknown-relocs.patch
@@ -0,0 +1,32 @@
+From 708f66acfec9a86f237726d45095cbd380fd83ca Mon Sep 17 00:00:00 2001
+From: Callum Farmer <gmbr3@opensuse.org>
+Date: Wed, 21 Jun 2023 11:32:28 +0100
+Subject: [PATCH] riscv64: ignore unknown relocs
+
+Sometimes ld emits relocs such as R_RISCV_64 for unwind symbols
+these don't need to be handled yet so just can be skipped otherwise
+the binary will never load
+
+Upstream-Status: Backport [https://sourceforge.net/p/gnu-efi/code/ci/708f66acfec9a86f237726d45095cbd380fd83ca/]
+Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
+---
+ gnuefi/reloc_riscv64.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/gnuefi/reloc_riscv64.c b/gnuefi/reloc_riscv64.c
+index 0b02d83..e429602 100644
+--- a/gnuefi/reloc_riscv64.c
++++ b/gnuefi/reloc_riscv64.c
+@@ -81,8 +81,7 @@ EFI_STATUS EFIAPI _relocate(long ldbase, Elf_Dyn *dyn)
+ 			*addr = ldbase + rel->r_addend;
+ 			break;
+ 		default:
+-			/* Panic */
+-			while (1) ;
++				break;
+ 		}
+ 		rel = (Elf_Rela *)((char *)rel + relent);
+ 		relsz -= relent;
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.17.bb
similarity index 89%
rename from poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb
rename to poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.17.bb
index 5ae6f39..d37d638 100644
--- a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb
+++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.17.bb
@@ -15,9 +15,11 @@
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/files/${BP}.tar.bz2 \
            file://parallel-make-archives.patch \
            file://gnu-efi-3.0.9-fix-clang-build.patch \
+           file://0001-riscv64-adjust-type-definitions.patch \
+           file://0001-riscv64-ignore-unknown-relocs.patch \
            "
 
-SRC_URI[sha256sum] = "931a257b9c5c1ba65ff519f18373c438a26825f2db7866b163e96d1b168f20ea"
+SRC_URI[sha256sum] = "7807e903349343a7a142ebb934703a2872235e89688cf586c032b0a1087bcaf4"
 
 COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*|riscv64.*)-linux"
 COMPATIBLE_HOST:armv4 = 'null'
@@ -34,6 +36,10 @@
         return "ia32"
     return tarch
 
+do_compile:prepend() {
+    unset LDFLAGS
+}
+
 EXTRA_OEMAKE = "'ARCH=${@gnu_efi_arch(d)}' 'CC=${CC}' 'AS=${AS}' 'LD=${LD}' 'AR=${AR}' \
                 'RANLIB=${RANLIB}' 'OBJCOPY=${OBJCOPY}' 'PREFIX=${prefix}' 'LIBDIR=${libdir}' \
                 "
@@ -46,7 +52,7 @@
         oe_runmake install INSTALLROOT="${D}"
 }
 
-FILES:${PN} += "${libdir}/*.lds"
+FILES:${PN} += "${libdir}/*.lds ${libdir}/gnuefi/apps"
 
 # 64-bit binaries are expected for EFI when targeting X32
 INSANE_SKIP:${PN}-dev:append:linux-gnux32 = " arch"
diff --git a/poky/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb b/poky/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb
index dcc09f2..2c3ade9 100644
--- a/poky/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb
+++ b/poky/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb
@@ -17,7 +17,7 @@
 
 PACKAGECONFIG[manpages] = "--enable-doc, --disable-doc, libxslt-native xmlto-native"
 
-RDEPENDS:${PN} = "grep bash"
+RDEPENDS:${PN} = "bash"
 
 EXTRA_OECONF = "--libdir=${nonarch_libdir}"
 
diff --git a/poky/meta/recipes-bsp/setserial/setserial_2.17.bb b/poky/meta/recipes-bsp/setserial/setserial_2.17.bb
index e46aeb9..8e4bb62 100644
--- a/poky/meta/recipes-bsp/setserial/setserial_2.17.bb
+++ b/poky/meta/recipes-bsp/setserial/setserial_2.17.bb
@@ -1,7 +1,6 @@
 SUMMARY = "Controls the configuration of serial ports"
 DESCRIPTION = "setserial is a program designed to set and/or report the configuration information associated with a serial port"
 HOMEPAGE = "http://setserial.sourceforge.net"
-AUTHOR = "Theodore Ts'o <tytso@mit.edu>"
 SECTION = "console/utils"
 
 LICENSE = "GPL-2.0-only"
diff --git a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
index d1c6f7f..7b0f490 100644
--- a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -5,7 +5,6 @@
 IPv4 Link-Local Addresses" (IETF RFC3927), a protocol for automatic IP address \
 configuration from the link-local 169.254.0.0/16 range without the need for a central \
 server.'
-AUTHOR = "Lennart Poettering <lennart@poettering.net>"
 HOMEPAGE = "http://avahi.org"
 BUGTRACKER = "https://github.com/lathiat/avahi/issues"
 SECTION = "network"
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.16/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind/0001-avoid-start-failure-with-bind-user.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.16/0001-avoid-start-failure-with-bind-user.patch
rename to poky/meta/recipes-connectivity/bind/bind/0001-avoid-start-failure-with-bind-user.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.16/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind/0001-named-lwresd-V-and-start-log-hide-build-options.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.16/0001-named-lwresd-V-and-start-log-hide-build-options.patch
rename to poky/meta/recipes-connectivity/bind/bind/0001-named-lwresd-V-and-start-log-hide-build-options.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.16/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.16/bind-ensure-searching-for-json-headers-searches-sysr.patch
rename to poky/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.16/bind9 b/poky/meta/recipes-connectivity/bind/bind/bind9
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.16/bind9
rename to poky/meta/recipes-connectivity/bind/bind/bind9
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.16/conf.patch b/poky/meta/recipes-connectivity/bind/bind/conf.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.16/conf.patch
rename to poky/meta/recipes-connectivity/bind/bind/conf.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.16/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind/generate-rndc-key.sh
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.16/generate-rndc-key.sh
rename to poky/meta/recipes-connectivity/bind/bind/generate-rndc-key.sh
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.16/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.16/init.d-add-support-for-read-only-rootfs.patch
rename to poky/meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.16/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.16/make-etc-initd-bind-stop-work.patch
rename to poky/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.16/named.service b/poky/meta/recipes-connectivity/bind/bind/named.service
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.16/named.service
rename to poky/meta/recipes-connectivity/bind/bind/named.service
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.18.16.bb b/poky/meta/recipes-connectivity/bind/bind_9.18.17.bb
similarity index 95%
rename from poky/meta/recipes-connectivity/bind/bind_9.18.16.bb
rename to poky/meta/recipes-connectivity/bind/bind_9.18.17.bb
index d9b62bb..9e7973e 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.18.16.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.18.17.bb
@@ -4,7 +4,7 @@
 SECTION = "console/network"
 
 LICENSE = "MPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=d8cf7bd9c4fd5471a588e7e66e672408"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=c7a0b6d9a1b692a5da9af9d503671f43"
 
 DEPENDS = "openssl libcap zlib libuv"
 
@@ -20,7 +20,7 @@
            file://0001-avoid-start-failure-with-bind-user.patch \
            "
 
-SRC_URI[sha256sum] = "c88234fe07ee75c3c8a9e59152fee64b714643de8e22cf98da3db4d0b57e0775"
+SRC_URI[sha256sum] = "bde1c5017b81d1d79c69eb8f537f2e5032fd3623acdd5ee830d4f74bc2483458"
 
 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_5.68.bb b/poky/meta/recipes-connectivity/bluez5/bluez5_5.68.bb
index f8405ed..7c7ad75 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5_5.68.bb
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5_5.68.bb
@@ -2,8 +2,7 @@
 
 SRC_URI[sha256sum] = "fc505e6445cb579a55cacee6821fe70d633921522043d322b696de0a175ff933"
 
-CVE_STATUS[CVE-2022-3563] = "cpe-incorrect: This issues have kernel fixes rather than bluez fixes"
-CVE_STATUS[CVE-2022-3637] = "cpe-incorrect: This issues have kernel fixes rather than bluez fixes"
+CVE_STATUS[CVE-2020-24490] = "cpe-incorrect: This issue has kernel fixes rather than bluez fixes"
 
 # noinst programs in Makefile.tools that are conditional on READLINE
 # support
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-bridge-mdb.c-include-limits.h.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-bridge-mdb.c-include-limits.h.patch
new file mode 100644
index 0000000..f9a0e35
--- /dev/null
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-bridge-mdb.c-include-limits.h.patch
@@ -0,0 +1,41 @@
+From b13f04c0c685b6d2474aa7d97e191531f327bc45 Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin <tgamblin@baylibre.com>
+Date: Thu, 20 Jul 2023 14:32:23 -0400
+Subject: [PATCH] bridge/mdb.c: include limits.h
+
+Upstream-Status: Submitted
+(https://lore.kernel.org/netdev/20230720203726.2316251-1-tgamblin@baylibre.com/)
+
+While building iproute2 6.4.0 with musl using Yocto Project, errors such
+as the following were encountered:
+
+| mdb.c: In function 'mdb_parse_vni':
+| mdb.c:666:47: error: 'ULONG_MAX' undeclared (first use in this function)
+|   666 |         if ((endptr && *endptr) || vni_num == ULONG_MAX)
+|       |                                               ^~~~~~~~~
+| mdb.c:666:47: note: 'ULONG_MAX' is defined in header '<limits.h>'; did you forget to '#include <limits.h>'?
+
+Include limits.h in bridge/mdb.c to fix this issue. This change is based
+on one in Alpine Linux, but the author there had no plans to submit:
+https://git.alpinelinux.org/aports/commit/main/iproute2/include.patch?id=bd46efb8a8da54948639cebcfa5b37bd608f1069
+
+Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+---
+ bridge/mdb.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/bridge/mdb.c b/bridge/mdb.c
+index fbb4f704..18793458 100644
+--- a/bridge/mdb.c
++++ b/bridge/mdb.c
+@@ -15,6 +15,7 @@
+ #include <string.h>
+ #include <arpa/inet.h>
+ #include <netdb.h>
++#include <limits.h>
+ 
+ #include "libnetlink.h"
+ #include "utils.h"
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_6.3.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_6.4.0.bb
similarity index 95%
rename from poky/meta/recipes-connectivity/iproute2/iproute2_6.3.0.bb
rename to poky/meta/recipes-connectivity/iproute2/iproute2_6.4.0.bb
index 892fa85..32e2f81 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2_6.3.0.bb
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2_6.4.0.bb
@@ -13,9 +13,10 @@
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
            file://0001-libc-compat.h-add-musl-workaround.patch \
+           file://0001-bridge-mdb.c-include-limits.h.patch \
            "
 
-SRC_URI[sha256sum] = "dfb2a98db96e7a653cffc6693335a1a466e29a34b6ac528be48f35e1d2766732"
+SRC_URI[sha256sum] = "4c51b8decbc7e4da159ffb066f590cfb93dbf9af7ff86b1647ce42b7c179a272"
 
 inherit update-alternatives bash-completion pkgconfig
 
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Replace-statfs64-with-statfs.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Replace-statfs64-with-statfs.patch
deleted file mode 100644
index 40ceff9..0000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Replace-statfs64-with-statfs.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-From e89652b853ca7de671093ae44305fa3435e13d3d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 15 Dec 2022 13:29:43 -0800
-Subject: [PATCH] Replace statfs64 with statfs
-
-autoconf AC_SYS_LARGEFILE is used by configure to add needed defines
-when needed for enabling 64bit off_t, therefore replacing statfs64 with
-statfs should be functionally same. Additionally this helps compiling
-with latest musl where 64bit LFS functions like statfs64 and friends are
-now moved under _LARGEFILE64_SOURCE feature test macro, this works on
-glibc systems because _GNU_SOURCE macros also enables
-_LARGEFILE64_SOURCE indirectly. This is not case with musl and this
-latest issue is exposed.
-
-Upstream-Status: Submitted [https://lore.kernel.org/linux-nfs/20221215213605.4061853-1-raj.khem@gmail.com/T/#u]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- support/export/cache.c      | 14 +++++++-------
- support/include/nfsd_path.h |  6 +++---
- support/misc/nfsd_path.c    | 24 ++++++++++++------------
- utils/exportfs/exportfs.c   |  4 ++--
- 4 files changed, 24 insertions(+), 24 deletions(-)
-
-diff --git a/support/export/cache.c b/support/export/cache.c
-index a5823e9..2497d4f 100644
---- a/support/export/cache.c
-+++ b/support/export/cache.c
-@@ -346,27 +346,27 @@ static int uuid_by_path(char *path, int type, size_t uuidlen, char *uuid)
- 
- 	/* Possible sources of uuid are
- 	 * - blkid uuid
--	 * - statfs64 uuid
-+	 * - statfs uuid
- 	 *
--	 * On some filesystems (e.g. vfat) the statfs64 uuid is simply an
-+	 * On some filesystems (e.g. vfat) the statfs uuid is simply an
- 	 * encoding of the device that the filesystem is mounted from, so
- 	 * it we be very bad to use that (as device numbers change).  blkid
- 	 * must be preferred.
--	 * On other filesystems (e.g. btrfs) the statfs64 uuid contains
-+	 * On other filesystems (e.g. btrfs) the statfs uuid contains
- 	 * important info that the blkid uuid cannot contain:  This happens
- 	 * when multiple subvolumes are exported (they have the same
--	 * blkid uuid but different statfs64 uuids).
-+	 * blkid uuid but different statfs uuids).
- 	 * We rely on get_uuid_blkdev *knowing* which is which and not returning
--	 * a uuid for filesystems where the statfs64 uuid is better.
-+	 * a uuid for filesystems where the statfs uuid is better.
- 	 *
- 	 */
--	struct statfs64 st;
-+	struct statfs st;
- 	char fsid_val[17];
- 	const char *blkid_val = NULL;
- 	const char *val;
- 	int rc;
- 
--	rc = nfsd_path_statfs64(path, &st);
-+	rc = nfsd_path_statfs(path, &st);
- 
- 	if (type == 0 && rc == 0) {
- 		const unsigned long *bad;
-diff --git a/support/include/nfsd_path.h b/support/include/nfsd_path.h
-index 3b73aad..aa1e1dd 100644
---- a/support/include/nfsd_path.h
-+++ b/support/include/nfsd_path.h
-@@ -7,7 +7,7 @@
- #include <sys/stat.h>
- 
- struct file_handle;
--struct statfs64;
-+struct statfs;
- 
- void 		nfsd_path_init(void);
- 
-@@ -18,8 +18,8 @@ char *		nfsd_path_prepend_dir(const char *dir, const char *pathname);
- int 		nfsd_path_stat(const char *pathname, struct stat *statbuf);
- int 		nfsd_path_lstat(const char *pathname, struct stat *statbuf);
- 
--int		nfsd_path_statfs64(const char *pathname,
--				   struct statfs64 *statbuf);
-+int		nfsd_path_statfs(const char *pathname,
-+				   struct statfs *statbuf);
- 
- char *		nfsd_realpath(const char *path, char *resolved_path);
- 
-diff --git a/support/misc/nfsd_path.c b/support/misc/nfsd_path.c
-index 65e53c1..c3dea4f 100644
---- a/support/misc/nfsd_path.c
-+++ b/support/misc/nfsd_path.c
-@@ -184,46 +184,46 @@ nfsd_path_lstat(const char *pathname, struct stat *statbuf)
- 	return nfsd_run_stat(nfsd_wq, nfsd_lstatfunc, pathname, statbuf);
- }
- 
--struct nfsd_statfs64_data {
-+struct nfsd_statfs_data {
- 	const char *pathname;
--	struct statfs64 *statbuf;
-+	struct statfs *statbuf;
- 	int ret;
- 	int err;
- };
- 
- static void
--nfsd_statfs64func(void *data)
-+nfsd_statfsfunc(void *data)
- {
--	struct nfsd_statfs64_data *d = data;
-+	struct nfsd_statfs_data *d = data;
- 
--	d->ret = statfs64(d->pathname, d->statbuf);
-+	d->ret = statfs(d->pathname, d->statbuf);
- 	if (d->ret < 0)
- 		d->err = errno;
- }
- 
- static int
--nfsd_run_statfs64(struct xthread_workqueue *wq,
-+nfsd_run_statfs(struct xthread_workqueue *wq,
- 		  const char *pathname,
--		  struct statfs64 *statbuf)
-+		  struct statfs *statbuf)
- {
--	struct nfsd_statfs64_data data = {
-+	struct nfsd_statfs_data data = {
- 		pathname,
- 		statbuf,
- 		0,
- 		0
- 	};
--	xthread_work_run_sync(wq, nfsd_statfs64func, &data);
-+	xthread_work_run_sync(wq, nfsd_statfsfunc, &data);
- 	if (data.ret < 0)
- 		errno = data.err;
- 	return data.ret;
- }
- 
- int
--nfsd_path_statfs64(const char *pathname, struct statfs64 *statbuf)
-+nfsd_path_statfs(const char *pathname, struct statfs *statbuf)
- {
- 	if (!nfsd_wq)
--		return statfs64(pathname, statbuf);
--	return nfsd_run_statfs64(nfsd_wq, pathname, statbuf);
-+		return statfs(pathname, statbuf);
-+	return nfsd_run_statfs(nfsd_wq, pathname, statbuf);
- }
- 
- struct nfsd_realpath_data {
-diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
-index 0897b22..6d79a5b 100644
---- a/utils/exportfs/exportfs.c
-+++ b/utils/exportfs/exportfs.c
-@@ -513,7 +513,7 @@ validate_export(nfs_export *exp)
- 	 */
- 	struct stat stb;
- 	char *path = exportent_realpath(&exp->m_export);
--	struct statfs64 stf;
-+	struct statfs stf;
- 	int fs_has_fsid = 0;
- 
- 	if (stat(path, &stb) < 0) {
-@@ -528,7 +528,7 @@ validate_export(nfs_export *exp)
- 	if (!can_test())
- 		return;
- 
--	if (!statfs64(path, &stf) &&
-+	if (!statfs(path, &stf) &&
- 	    (stf.f_fsid.__val[0] || stf.f_fsid.__val[1]))
- 		fs_has_fsid = 1;
- 
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch
new file mode 100644
index 0000000..5afc714
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch
@@ -0,0 +1,80 @@
+From b62a3fe424026b73ec6b1934483b16863c7dff23 Mon Sep 17 00:00:00 2001
+From: Wiktor Jaskulski <wjaskulski@adva.com>
+Date: Thu, 11 May 2023 15:28:23 -0400
+Subject: [PATCH] configure.ac: libevent and libsqlite3 checked when nfsv4 is
+ disabled
+
+Upstream-Status: Backport
+(http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=bc4a5deef9f820c55fdac3c0070364c17cd91cca)
+
+Signed-off-by: Steve Dickson <steved@redhat.com>
+Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+---
+ configure.ac | 38 +++++++++++++++-----------------------
+ 1 file changed, 15 insertions(+), 23 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4ade528d..519cacbf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -335,42 +335,34 @@ AC_CHECK_HEADER(rpc/rpc.h, ,
+                 AC_MSG_ERROR([Header file rpc/rpc.h not found - maybe try building with --enable-tirpc]))
+ CPPFLAGS="${nfsutils_save_CPPFLAGS}"
+ 
++dnl check for libevent libraries and headers
++AC_LIBEVENT
++
++dnl Check for sqlite3
++AC_SQLITE3_VERS
++
++case $libsqlite3_cv_is_recent in
++yes) ;;
++unknown)
++   dnl do not fail when cross-compiling
++   AC_MSG_WARN([assuming sqlite is at least v3.3]) ;;
++*)
++   AC_MSG_ERROR([nfsdcld requires sqlite-devel]) ;;
++esac
++
+ if test "$enable_nfsv4" = yes; then
+-  dnl check for libevent libraries and headers
+-  AC_LIBEVENT
+ 
+   dnl check for the keyutils libraries and headers
+   AC_KEYUTILS
+ 
+-  dnl Check for sqlite3
+-  AC_SQLITE3_VERS
+-
+   if test "$enable_nfsdcld" = "yes"; then
+ 	AC_CHECK_HEADERS([libgen.h sys/inotify.h], ,
+ 		AC_MSG_ERROR([Cannot find header needed for nfsdcld]))
+-
+-    case $libsqlite3_cv_is_recent in
+-    yes) ;;
+-    unknown)
+-      dnl do not fail when cross-compiling
+-      AC_MSG_WARN([assuming sqlite is at least v3.3]) ;;
+-    *)
+-      AC_MSG_ERROR([nfsdcld requires sqlite-devel]) ;;
+-    esac
+   fi
+ 
+   if test "$enable_nfsdcltrack" = "yes"; then
+ 	AC_CHECK_HEADERS([libgen.h sys/inotify.h], ,
+ 		AC_MSG_ERROR([Cannot find header needed for nfsdcltrack]))
+-
+-    case $libsqlite3_cv_is_recent in
+-    yes) ;;
+-    unknown)
+-      dnl do not fail when cross-compiling
+-      AC_MSG_WARN([assuming sqlite is at least v3.3]) ;;
+-    *)
+-      AC_MSG_ERROR([nfsdcltrack requires sqlite-devel]) ;;
+-    esac
+   fi
+ 
+ else
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-locktest-Makefile.am-Do-not-use-build-flags.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-locktest-Makefile.am-Do-not-use-build-flags.patch
new file mode 100644
index 0000000..351407d
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-locktest-Makefile.am-Do-not-use-build-flags.patch
@@ -0,0 +1,36 @@
+From 9efa7a0d37665d9bb0f46d2407883a5ab42c2b84 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 24 Jul 2023 20:39:16 -0700
+Subject: [PATCH] locktest: Makefile.am: Do not use build flags
+
+Using CFLAGS_FOR_BUILD etc. here means it is using wrong flags
+when thse flags are speficied different than target flags which
+is common when cross-building. It can pass wrong paths to linker
+and it would find incompatible libraries during link since they
+are from host system and target maybe not same as build host.
+
+Fixes subtle errors like
+| aarch64-yoe-linux-ld.lld: error: /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/nfs-utils/2.6.3-r0/recipe-sysroot-native/usr/lib/libsqlite3.so is incompatible with elf64-littleaarch64
+
+Upstream-Status: Submitted [https://marc.info/?l=linux-nfs&m=169025681008001&w=2]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/locktest/Makefile.am | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/tools/locktest/Makefile.am b/tools/locktest/Makefile.am
+index e8914655..2fd36971 100644
+--- a/tools/locktest/Makefile.am
++++ b/tools/locktest/Makefile.am
+@@ -2,8 +2,5 @@
+ 
+ noinst_PROGRAMS = testlk
+ testlk_SOURCES = testlk.c
+-testlk_CFLAGS=$(CFLAGS_FOR_BUILD)
+-testlk_CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
+-testlk_LDFLAGS=$(LDFLAGS_FOR_BUILD)
+ 
+ MAINTAINERCLEANFILES = Makefile.in
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-tools-locktest-Use-intmax_t-to-print-off_t.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-tools-locktest-Use-intmax_t-to-print-off_t.patch
new file mode 100644
index 0000000..7d903e0
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-tools-locktest-Use-intmax_t-to-print-off_t.patch
@@ -0,0 +1,53 @@
+From e2e9251dbeb452f5382179023d8ae18b511167a1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 25 Jul 2023 23:47:08 -0700
+Subject: [PATCH] tools/locktest: Use intmax_t to print off_t
+
+off_t could be 64bit on 32bit architectures which means using %z printf
+modifier is not enough to print it and compiler will complain about
+format mismatch
+
+Fixes
+| testlk.c:84:66: error: format '%zd' expects argument of type 'signed size_t', but argument 4 has type '__off64_t' {aka 'long long int'} [-Werror=format=]
+|    84 |                         printf("%s: conflicting lock by %d on (%zd;%zd)\n",
+|       |                                                                ~~^
+|       |                                                                  |
+|       |                                                                  int
+|       |                                                                %lld
+|    85 |                                 fname, fl.l_pid, fl.l_start, fl.l_len);
+|       |                                                  ~~~~~~~~~~
+|       |                                                    |
+|       |                                                    __off64_t {aka long long int}
+
+Upstream-Status: Submitted [https://marc.info/?l=linux-nfs&m=169035457128067&w=2]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/locktest/testlk.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/tools/locktest/testlk.c b/tools/locktest/testlk.c
+index ea51f788..9d4c88c4 100644
+--- a/tools/locktest/testlk.c
++++ b/tools/locktest/testlk.c
+@@ -2,6 +2,7 @@
+ #include <config.h>
+ #endif
+ 
++#include <stdint.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <unistd.h>
+@@ -81,8 +82,8 @@ main(int argc, char **argv)
+ 		if (fl.l_type == F_UNLCK) {
+ 			printf("%s: no conflicting lock\n", fname);
+ 		} else {
+-			printf("%s: conflicting lock by %d on (%zd;%zd)\n",
+-				fname, fl.l_pid, fl.l_start, fl.l_len);
++			printf("%s: conflicting lock by %d on (%jd;%jd)\n",
++				fname, fl.l_pid, (intmax_t)fl.l_start, (intmax_t)fl.l_len);
+ 		}
+ 		return 0;
+ 	}
+-- 
+2.41.0
+
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
deleted file mode 100644
index 13a21e5..0000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-mountd-Check-for-return-of-stat-function.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 793bc46..0000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-Fix-function-prototypes.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-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.2.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.3.bb
similarity index 93%
rename from poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.2.bb
rename to poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.3.bb
index 21df180..e703395 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.2.bb
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.3.bb
@@ -30,11 +30,11 @@
            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 \
-           file://0001-Replace-statfs64-with-statfs.patch \
+           file://0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch \
+	   file://0001-locktest-Makefile.am-Do-not-use-build-flags.patch \
+	   file://0001-tools-locktest-Use-intmax_t-to-print-off_t.patch \
            "
-SRC_URI[sha256sum] = "5200873e81c4d610e2462fc262fe18135f2dbe78b7979f95accd159ae64d5011"
+SRC_URI[sha256sum] = "38d89e853a71d3c560ff026af3d969d75e24f782ff68324e76261fe0344459e1"
 
 # Only kernel-module-nfsd is required here (but can be built-in)  - the nfsd module will
 # pull in the remainder of the dependencies.
@@ -62,6 +62,8 @@
                 --with-rpcgen=${HOSTTOOLS_DIR}/rpcgen \
                "
 
+LDFLAGS:append = " -lsqlite3 -levent"
+
 PACKAGECONFIG ??= "tcp-wrappers \
     ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
 "
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/ssh_config b/poky/meta/recipes-connectivity/openssh/openssh/ssh_config
index ca70f37..cb2774a 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh/ssh_config
+++ b/poky/meta/recipes-connectivity/openssh/openssh/ssh_config
@@ -19,11 +19,9 @@
 
 Include /etc/ssh/ssh_config.d/*.conf
 
-Host *
-  ForwardAgent yes
-  ForwardX11 yes
-#   RhostsRSAAuthentication no
-#   RSAAuthentication yes
+# Host *
+#   ForwardAgent no
+#   ForwardX11 no
 #   PasswordAuthentication yes
 #   HostbasedAuthentication no
 #   GSSAPIAuthentication no
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_9.3p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_9.3p2.bb
similarity index 98%
rename from poky/meta/recipes-connectivity/openssh/openssh_9.3p1.bb
rename to poky/meta/recipes-connectivity/openssh/openssh_9.3p2.bb
index 3edc123..5fb2dcc 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh_9.3p1.bb
+++ b/poky/meta/recipes-connectivity/openssh/openssh_9.3p2.bb
@@ -26,7 +26,7 @@
            file://add-test-support-for-busybox.patch \
            file://7280401bdd77ca54be6867a154cc01e0d72612e0.patch \
            "
-SRC_URI[sha256sum] = "e9baba7701a76a51f3d85a62c383a3c9dcd97fa900b859bc7db114c1868af8a8"
+SRC_URI[sha256sum] = "200ebe147f6cb3f101fd0cdf9e02442af7ddca298dffd9f456878e7ccac676e8"
 
 CVE_STATUS[CVE-2007-2768] = "not-applicable-config: This CVE is specific to OpenSSH with the pam opie which we don't build/use here."
 
diff --git a/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb b/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
index 3f1b75d..09a0ab7 100644
--- a/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
+++ b/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
@@ -7,7 +7,6 @@
 SECTION = "console/network"
 LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
-AUTHOR = "Thomas Hood"
 HOMEPAGE = "http://packages.debian.org/resolvconf"
 RDEPENDS:${PN} = "bash sed util-linux-flock"
 
diff --git a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
index ff83567..0d38657 100644
--- a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
+++ b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Miscellaneous files for the base system"
 DESCRIPTION = "The base-files package creates the basic system directory structure and provides a small set of key configuration files for the system."
 SECTION = "base"
-PR = "r89"
+PR = "r90"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://licenses/GPL-2;md5=94d55d512a9ba36caa9b7df079bae19f"
 # Removed all license related tasks in this recipe as license.bbclass 
diff --git a/poky/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-Add-the-sgx-group.patch b/poky/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-Add-the-sgx-group.patch
new file mode 100644
index 0000000..e1340e1
--- /dev/null
+++ b/poky/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-Add-the-sgx-group.patch
@@ -0,0 +1,30 @@
+From 9e57771d138ac423d5139b984b8c869122ce4976 Mon Sep 17 00:00:00 2001
+From: Alex Kiernan <alexk@zuma.ai>
+Date: Fri, 28 Jul 2023 10:28:57 +0100
+Subject: [PATCH] base-passwd: Add the sgx group
+
+To avoid errors from eudev/udev we need an sgx group, but if we add it
+via groupadd that causes shadow login to be brought into an image, which
+causes images which have CONFIG_MULTIUSER unset to fail with `setgid:
+Function not implemented` as shadow's login doesn't implement the
+heuristics which busybox has to handle this kernel configuration.
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+---
+ group.master | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/group.master b/group.master
+index d34d2b832d43..e54fd1d2c6dc 100644
+--- a/group.master
++++ b/group.master
+@@ -34,6 +34,7 @@ video:*:44:
+ sasl:*:45:
+ plugdev:*:46:
+ kvm:*:47:
++sgx:*:48:
+ staff:*:50:
+ games:*:60:
+ shutdown:*:70:
diff --git a/poky/meta/recipes-core/base-passwd/base-passwd_3.6.1.bb b/poky/meta/recipes-core/base-passwd/base-passwd_3.6.1.bb
index 204016b..44bcfb0 100644
--- a/poky/meta/recipes-core/base-passwd/base-passwd_3.6.1.bb
+++ b/poky/meta/recipes-core/base-passwd/base-passwd_3.6.1.bb
@@ -13,6 +13,7 @@
            file://0005-Add-kvm-group.patch \
            file://0006-Make-it-possible-to-configure-whether-to-use-SELinux.patch \
            file://0007-Add-wheel-group.patch \
+           file://0001-base-passwd-Add-the-sgx-group.patch \
            "
 
 SRC_URI[sha256sum] = "6ff369be59d586ba63c0c5fcb00f75f9953fe49db88bc6c6428f2c92866f79af"
diff --git a/poky/meta/recipes-core/gettext/gettext-0.21.1/autoconf-2.73.patch b/poky/meta/recipes-core/gettext/gettext-0.21.1/autoconf-2.73.patch
new file mode 100644
index 0000000..ae5b249
--- /dev/null
+++ b/poky/meta/recipes-core/gettext/gettext-0.21.1/autoconf-2.73.patch
@@ -0,0 +1,50 @@
+The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
+than the full code:
+
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
+
+Just tweak the exiting code to work with 2.73. The next gettext upgrade should
+update to new gnulib
+
+Upstream-Status: Inappropriate
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: gettext-0.21.1/gettext-runtime/gnulib-m4/largefile.m4
+===================================================================
+--- gettext-0.21.1.orig/gettext-runtime/gnulib-m4/largefile.m4
++++ gettext-0.21.1/gettext-runtime/gnulib-m4/largefile.m4
+@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # with _TIME_BITS.  Also, work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+ 
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
+Index: gettext-0.21.1/gettext-tools/gnulib-m4/largefile.m4
+===================================================================
+--- gettext-0.21.1.orig/gettext-tools/gnulib-m4/largefile.m4
++++ gettext-0.21.1/gettext-tools/gnulib-m4/largefile.m4
+@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # with _TIME_BITS.  Also, work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+ 
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
+Index: gettext-0.21.1/libtextstyle/gnulib-m4/largefile.m4
+===================================================================
+--- gettext-0.21.1.orig/libtextstyle/gnulib-m4/largefile.m4
++++ gettext-0.21.1/libtextstyle/gnulib-m4/largefile.m4
+@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # with _TIME_BITS.  Also, work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+ 
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/Makefile.in.in b/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/Makefile.in.in
deleted file mode 100644
index 6b25f0d..0000000
--- a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/Makefile.in.in
+++ /dev/null
@@ -1,510 +0,0 @@
-# Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-2000 Ulrich Drepper <drepper@gnu.ai.mit.edu>
-# Copyright (C) 2000-2020 Free Software Foundation, Inc.
-#
-# Copying and distribution of this file, with or without modification,
-# are permitted in any medium without royalty provided the copyright
-# notice and this notice are preserved.  This file is offered as-is,
-# without any warranty.
-#
-# Origin: gettext-0.21
-GETTEXT_MACRO_VERSION = 0.20
-
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-
-SED = @SED@
-SHELL = /bin/sh
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-datarootdir = @datarootdir@
-datadir = @datadir@
-localedir = @localedir@
-gettextsrcdir = $(datadir)/gettext/po
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-
-# We use $(mkdir_p).
-# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
-# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
-# @install_sh@ does not start with $(SHELL), so we add it.
-# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
-# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
-# versions, $(mkinstalldirs) and $(install_sh) are unused.
-mkinstalldirs = $(SHELL) @install_sh@ -d
-install_sh = $(SHELL) @install_sh@
-MKDIR_P = @MKDIR_P@
-mkdir_p = @mkdir_p@
-
-# When building gettext-tools, we prefer to use the built programs
-# rather than installed programs.  However, we can't do that when we
-# are cross compiling.
-CROSS_COMPILING = @CROSS_COMPILING@
-
-GMSGFMT_ = @GMSGFMT@
-GMSGFMT_no = @GMSGFMT@
-GMSGFMT_yes = @GMSGFMT_015@
-GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
-XGETTEXT_ = @XGETTEXT@
-XGETTEXT_no = @XGETTEXT@
-XGETTEXT_yes = @XGETTEXT_015@
-XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
-MSGMERGE = @MSGMERGE@
-MSGMERGE_UPDATE = @MSGMERGE@ --update
-MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@
-MSGINIT = msginit
-MSGCONV = msgconv
-MSGFILTER = msgfilter
-
-POFILES = @POFILES@
-GMOFILES = @GMOFILES@
-UPDATEPOFILES = @UPDATEPOFILES@
-DUMMYPOFILES = @DUMMYPOFILES@
-DISTFILES.common = Makefile.in.in remove-potcdate.sin \
-$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
-$(POFILES) $(GMOFILES) \
-$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
-
-POTFILES = \
-
-CATALOGS = @CATALOGS@
-
-POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot
-POFILESDEPS_yes = $(POFILESDEPS_)
-POFILESDEPS_no =
-POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT))
-
-DISTFILESDEPS_ = update-po
-DISTFILESDEPS_yes = $(DISTFILESDEPS_)
-DISTFILESDEPS_no =
-DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
-
-# Makevars gets inserted here. (Don't remove this line!)
-
-all: all-@USE_NLS@
-
-
-.SUFFIXES:
-.SUFFIXES: .po .gmo .sed .sin .nop .po-create .po-update
-
-# The .pot file, stamp-po, .po files, and .gmo files appear in release tarballs.
-# The GNU Coding Standards say in
-# <https://www.gnu.org/prep/standards/html_node/Makefile-Basics.html>:
-#   "GNU distributions usually contain some files which are not source files
-#    ... . Since these files normally appear in the source directory, they
-#    should always appear in the source directory, not in the build directory.
-#    So Makefile rules to update them should put the updated files in the
-#    source directory."
-# Therefore we put these files in the source directory, not the build directory.
-
-# During .po -> .gmo conversion, take into account the most recent changes to
-# the .pot file. This eliminates the need to update the .po files when the
-# .pot file has changed, which would be troublesome if the .po files are put
-# under version control.
-$(GMOFILES): $(srcdir)/$(DOMAIN).pot
-.po.gmo:
-	@lang=`echo $* | sed -e 's,.*/,,'`; \
-	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-	echo "$${cdcmd}rm -f $${lang}.gmo && $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.1po && rm -f $${lang}.1po"; \
-	cd $(srcdir) && \
-	rm -f $${lang}.gmo && \
-	$(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && \
-	$(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.1po && \
-	mv t-$${lang}.gmo $${lang}.gmo && \
-	rm -f $${lang}.1po
-
-.sin.sed:
-	sed -e '/^#/d' $< > t-$@
-	mv t-$@ $@
-
-
-all-yes: $(srcdir)/stamp-po
-all-no:
-
-# Ensure that the gettext macros and this Makefile.in.in are in sync.
-CHECK_MACRO_VERSION = \
-	test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
-	  || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
-	       exit 1; \
-	     }
-
-# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
-# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
-# we don't want to bother translators with empty POT files). We assume that
-# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
-# In this case, $(srcdir)/stamp-po is a nop (i.e. a phony target).
-
-# $(srcdir)/stamp-po is a timestamp denoting the last time at which the CATALOGS
-# have been loosely updated. Its purpose is that when a developer or translator
-# checks out the package from a version control system, and the $(DOMAIN).pot
-# file is not under version control, "make" will update the $(DOMAIN).pot and
-# the $(CATALOGS), but subsequent invocations of "make" will do nothing. This
-# timestamp would not be necessary if updating the $(CATALOGS) would always
-# touch them; however, the rule for $(POFILES) has been designed to not touch
-# files that don't need to be changed.
-$(srcdir)/stamp-po: $(srcdir)/$(DOMAIN).pot
-	@$(CHECK_MACRO_VERSION)
-	test ! -f $(srcdir)/$(DOMAIN).pot || \
-	  test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
-	@test ! -f $(srcdir)/$(DOMAIN).pot || { \
-	  echo "touch $(srcdir)/stamp-po" && \
-	  echo timestamp > $(srcdir)/stamp-poT && \
-	  mv $(srcdir)/stamp-poT $(srcdir)/stamp-po; \
-	}
-
-# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
-# otherwise packages like GCC can not be built if only parts of the source
-# have been downloaded.
-
-# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
-# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
-# The determination of whether the package xyz is a GNU one is based on the
-# heuristic whether some file in the top level directory mentions "GNU xyz".
-# If GNU 'find' is available, we avoid grepping through monster files.
-$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
-	package_gnu="$(PACKAGE_GNU)"; \
-	test -n "$$package_gnu" || { \
-	  if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
-	         LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f -size -10000000c -exec grep -i 'GNU @PACKAGE@' /dev/null '{}' ';' 2>/dev/null; \
-	       else \
-	         LC_ALL=C grep -i 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
-	       fi; \
-	     } | grep -v 'libtool:' >/dev/null; then \
-	     package_gnu=yes; \
-	   else \
-	     package_gnu=no; \
-	   fi; \
-	}; \
-	if test "$$package_gnu" = "yes"; then \
-	  package_prefix='GNU '; \
-	else \
-	  package_prefix=''; \
-	fi; \
-	if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
-	  msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
-	else \
-	  msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
-	fi; \
-	case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
-	  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
-	    $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
-	      --add-comments=TRANSLATORS: \
-	      --files-from=$(srcdir)/POTFILES.in \
-	      --copyright-holder='$(COPYRIGHT_HOLDER)' \
-	      --msgid-bugs-address="$$msgid_bugs_address" \
-	      $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
-	    ;; \
-	  *) \
-	    $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
-	      --add-comments=TRANSLATORS: \
-	      --files-from=$(srcdir)/POTFILES.in \
-	      --copyright-holder='$(COPYRIGHT_HOLDER)' \
-	      --package-name="$${package_prefix}@PACKAGE@" \
-	      --package-version='@VERSION@' \
-	      --msgid-bugs-address="$$msgid_bugs_address" \
-	      $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
-	    ;; \
-	esac
-	test ! -f $(DOMAIN).po || { \
-	  if test -f $(srcdir)/$(DOMAIN).pot-header; then \
-	    sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
-	    cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po && \
-	    rm -f $(DOMAIN).1po \
-	    || exit 1; \
-	  fi; \
-	  if test -f $(srcdir)/$(DOMAIN).pot; then \
-	    sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
-	    sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
-	    if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
-	      rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
-	    else \
-	      rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
-	      mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
-	    fi; \
-	  else \
-	    mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
-	  fi; \
-	}
-
-# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
-# every "make" invocation, only create it when it is missing.
-# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
-$(srcdir)/$(DOMAIN).pot:
-	$(MAKE) $(DOMAIN).pot-update
-
-# This target rebuilds a PO file if $(DOMAIN).pot has changed.
-# Note that a PO file is not touched if it doesn't need to be changed.
-$(POFILES): $(POFILESDEPS)
-	@test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot
-	@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
-	if test -f "$(srcdir)/$${lang}.po"; then \
-	  test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-	  echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \
-	  cd $(srcdir) \
-	    && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
-	           '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
-	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
-	           0.1[6-7] | 0.1[6-7].*) \
-	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \
-	           *) \
-	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \
-	         esac; \
-	       }; \
-	else \
-	  $(MAKE) $${lang}.po-create; \
-	fi
-
-
-install: install-exec install-data
-install-exec:
-install-data: install-data-@USE_NLS@
-	if test "$(PACKAGE)" = "gettext-tools"; then \
-	  $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
-	  for file in $(DISTFILES.common) Makevars.template; do \
-	    $(INSTALL_DATA) $(srcdir)/$$file \
-			    $(DESTDIR)$(gettextsrcdir)/$$file; \
-	  done; \
-	  for file in Makevars; do \
-	    rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
-	  done; \
-	else \
-	  : ; \
-	fi
-install-data-no: all
-install-data-yes: all
-	@catalogs='$(CATALOGS)'; \
-	for cat in $$catalogs; do \
-	  cat=`basename $$cat`; \
-	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
-	  dir=$(localedir)/$$lang/LC_MESSAGES; \
-	  $(mkdir_p) $(DESTDIR)$$dir; \
-	  if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
-	  $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
-	  echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
-	  for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
-	    if test -n "$$lc"; then \
-	      if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
-	        link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
-	        mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
-	        mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
-	        (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
-	         for file in *; do \
-	           if test -f $$file; then \
-	             ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
-	           fi; \
-	         done); \
-	        rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
-	      else \
-	        if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
-	          :; \
-	        else \
-	          rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
-	          mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
-	        fi; \
-	      fi; \
-	      rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
-	      ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
-	      ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
-	      cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
-	      echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
-	    fi; \
-	  done; \
-	done
-
-install-strip: install
-
-installdirs: installdirs-exec installdirs-data
-installdirs-exec:
-installdirs-data: installdirs-data-@USE_NLS@
-	if test "$(PACKAGE)" = "gettext-tools"; then \
-	  $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
-	else \
-	  : ; \
-	fi
-installdirs-data-no:
-installdirs-data-yes:
-	@catalogs='$(CATALOGS)'; \
-	for cat in $$catalogs; do \
-	  cat=`basename $$cat`; \
-	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
-	  dir=$(localedir)/$$lang/LC_MESSAGES; \
-	  $(mkdir_p) $(DESTDIR)$$dir; \
-	  for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
-	    if test -n "$$lc"; then \
-	      if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
-	        link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
-	        mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
-	        mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
-	        (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
-	         for file in *; do \
-	           if test -f $$file; then \
-	             ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
-	           fi; \
-	         done); \
-	        rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
-	      else \
-	        if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
-	          :; \
-	        else \
-	          rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
-	          mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
-	        fi; \
-	      fi; \
-	    fi; \
-	  done; \
-	done
-
-# Define this as empty until I found a useful application.
-installcheck:
-
-uninstall: uninstall-exec uninstall-data
-uninstall-exec:
-uninstall-data: uninstall-data-@USE_NLS@
-	if test "$(PACKAGE)" = "gettext-tools"; then \
-	  for file in $(DISTFILES.common) Makevars.template; do \
-	    rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
-	  done; \
-	else \
-	  : ; \
-	fi
-uninstall-data-no:
-uninstall-data-yes:
-	catalogs='$(CATALOGS)'; \
-	for cat in $$catalogs; do \
-	  cat=`basename $$cat`; \
-	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
-	  for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
-	    rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
-	  done; \
-	done
-
-check: all
-
-info dvi ps pdf html tags TAGS ctags CTAGS ID:
-
-install-dvi install-ps install-pdf install-html:
-
-mostlyclean:
-	rm -f remove-potcdate.sed
-	rm -f $(srcdir)/stamp-poT
-	rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
-	rm -fr *.o
-
-clean: mostlyclean
-
-distclean: clean
-	rm -f Makefile Makefile.in POTFILES
-
-maintainer-clean: distclean
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-	rm -f $(srcdir)/$(DOMAIN).pot $(srcdir)/stamp-po $(GMOFILES)
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-dist distdir:
-	test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
-	@$(MAKE) dist2
-# This is a separate target because 'update-po' must be executed before.
-dist2: $(srcdir)/stamp-po $(DISTFILES)
-	@dists="$(DISTFILES)"; \
-	if test "$(PACKAGE)" = "gettext-tools"; then \
-	  dists="$$dists Makevars.template"; \
-	fi; \
-	if test -f $(srcdir)/$(DOMAIN).pot; then \
-	  dists="$$dists $(DOMAIN).pot stamp-po"; \
-	else \
-	  case $(XGETTEXT) in \
-	    :) echo "Warning: Creating a tarball without '$(DOMAIN).pot', because a suitable 'xgettext' program was not found in PATH." 1>&2;; \
-	    *) echo "Warning: Creating a tarball without '$(DOMAIN).pot', because 'xgettext' found no strings to extract. Check the contents of the POTFILES.in file and the XGETTEXT_OPTIONS in the Makevars file." 1>&2;; \
-	  esac; \
-	fi; \
-	if test -f $(srcdir)/ChangeLog; then \
-	  dists="$$dists ChangeLog"; \
-	fi; \
-	for i in 0 1 2 3 4 5 6 7 8 9; do \
-	  if test -f $(srcdir)/ChangeLog.$$i; then \
-	    dists="$$dists ChangeLog.$$i"; \
-	  fi; \
-	done; \
-	if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
-	for file in $$dists; do \
-	  if test -f $$file; then \
-	    cp -p $$file $(distdir) || exit 1; \
-	  else \
-	    cp -p $(srcdir)/$$file $(distdir) || exit 1; \
-	  fi; \
-	done
-
-update-po: Makefile
-	$(MAKE) $(DOMAIN).pot-update
-	test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
-	$(MAKE) update-gmo
-
-# General rule for creating PO files.
-
-.nop.po-create:
-	@lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
-	echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
-	exit 1
-
-# General rule for updating PO files.
-
-.nop.po-update:
-	@lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
-	if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
-	tmpdir=`pwd`; \
-	echo "$$lang:"; \
-	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-	echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
-	cd $(srcdir); \
-	if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
-	       '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
-	         $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
-	       0.1[6-7] | 0.1[6-7].*) \
-	         $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
-	       *) \
-	         $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
-	     esac; \
-	   }; then \
-	  if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
-	    rm -f $$tmpdir/$$lang.new.po; \
-	  else \
-	    if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
-	      :; \
-	    else \
-	      echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
-	      exit 1; \
-	    fi; \
-	  fi; \
-	else \
-	  echo "msgmerge for $$lang.po failed!" 1>&2; \
-	  rm -f $$tmpdir/$$lang.new.po; \
-	fi
-
-$(DUMMYPOFILES):
-
-update-gmo: Makefile $(GMOFILES)
-	@:
-
-# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
-# because execution permission bits may not work on the current file system.
-# Use @SHELL@, which is the shell determined by autoconf for the use by its
-# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
-Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
-	cd $(top_builddir) \
-	  && @SHELL@ ./config.status $(subdir)/$@.in po-directories
-
-force:
-
-# Tell versions [3.59,3.63) of GNU make not to export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/gettext.m4 b/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/gettext.m4
deleted file mode 100644
index f449240..0000000
--- a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/gettext.m4
+++ /dev/null
@@ -1,386 +0,0 @@
-# gettext.m4 serial 72 (gettext-0.21.1)
-dnl Copyright (C) 1995-2014, 2016, 2018-2020 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Lesser General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Lesser General Public License, and the rest of the GNU
-dnl gettext package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
-
-dnl Macro to add for using GNU gettext.
-
-dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
-dnl INTLSYMBOL must be one of 'external', 'use-libtool'.
-dnl    INTLSYMBOL should be 'external' for packages other than GNU gettext, and
-dnl    'use-libtool' for the packages 'gettext-runtime' and 'gettext-tools'.
-dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
-dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
-dnl    depending on --{enable,disable}-{shared,static} and on the presence of
-dnl    AM-DISABLE-SHARED).
-dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
-dnl    implementations (in libc or libintl) without the ngettext() function
-dnl    will be ignored.  If NEEDSYMBOL is specified and is
-dnl    'need-formatstring-macros', then GNU gettext implementations that don't
-dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
-dnl INTLDIR is used to find the intl libraries.  If empty,
-dnl    the value '$(top_builddir)/intl/' is used.
-dnl
-dnl The result of the configuration is one of three cases:
-dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
-dnl    and used.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 2) GNU gettext has been found in the system's C library.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 3) No internationalization, always use English msgid.
-dnl    Catalog format: none
-dnl    Catalog extension: none
-dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
-dnl The use of .gmo is historical (it was needed to avoid overwriting the
-dnl GNU format catalogs when building on a platform with an X/Open gettext),
-dnl but we keep it in order not to force irrelevant filename changes on the
-dnl maintainers.
-dnl
-AC_DEFUN([AM_GNU_GETTEXT],
-[
-  dnl Argument checking.
-  m4_if([$1], [], , [m4_if([$1], [external], , [m4_if([$1], [use-libtool], ,
-    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
-])])])])
-  m4_if(m4_if([$1], [], [old])[]m4_if([$1], [no-libtool], [old]), [old],
-    [errprint([ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported.
-])])
-  m4_if([$2], [], , [m4_if([$2], [need-ngettext], , [m4_if([$2], [need-formatstring-macros], ,
-    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
-])])])])
-  define([gt_included_intl],
-    m4_if([$1], [external], [no], [yes]))
-  gt_NEEDS_INIT
-  AM_GNU_GETTEXT_NEED([$2])
-
-  AC_REQUIRE([AM_PO_SUBDIRS])dnl
-  m4_if(gt_included_intl, yes, [
-    AC_REQUIRE([AM_INTL_SUBDIR])dnl
-  ])
-
-  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-
-  dnl Sometimes libintl requires libiconv, so first search for libiconv.
-  dnl Ideally we would do this search only after the
-  dnl      if test "$USE_NLS" = "yes"; then
-  dnl        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
-  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
-  dnl the configure script would need to contain the same shell code
-  dnl again, outside any 'if'. There are two solutions:
-  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
-  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
-  dnl Since AC_PROVIDE_IFELSE is not documented, we avoid it.
-  m4_if(gt_included_intl, yes, , [
-    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-  ])
-
-  dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
-  gt_INTL_MACOSX
-
-  dnl Set USE_NLS.
-  AC_REQUIRE([AM_NLS])
-
-  m4_if(gt_included_intl, yes, [
-    BUILD_INCLUDED_LIBINTL=no
-    USE_INCLUDED_LIBINTL=no
-  ])
-  LIBINTL=
-  LTLIBINTL=
-  POSUB=
-
-  dnl Add a version number to the cache macros.
-  case " $gt_needs " in
-    *" need-formatstring-macros "*) gt_api_version=3 ;;
-    *" need-ngettext "*) gt_api_version=2 ;;
-    *) gt_api_version=1 ;;
-  esac
-  gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
-  gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
-
-  dnl If we use NLS figure out what method
-  if test "$USE_NLS" = "yes"; then
-    gt_use_preinstalled_gnugettext=no
-    m4_if(gt_included_intl, yes, [
-      AC_MSG_CHECKING([whether included gettext is requested])
-      AC_ARG_WITH([included-gettext],
-        [  --with-included-gettext use the GNU gettext library included here],
-        nls_cv_force_use_gnu_gettext=$withval,
-        nls_cv_force_use_gnu_gettext=no)
-      AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
-
-      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-    ])
-        dnl User does not insist on using GNU NLS library.  Figure out what
-        dnl to use.  If GNU gettext is available we use this.  Else we have
-        dnl to fall back to GNU NLS library.
-
-        if test $gt_api_version -ge 3; then
-          gt_revision_test_code='
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-'
-        else
-          gt_revision_test_code=
-        fi
-        if test $gt_api_version -ge 2; then
-          gt_expression_test_code=' + * ngettext ("", "", 0)'
-        else
-          gt_expression_test_code=
-        fi
-
-        AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
-         [AC_LINK_IFELSE(
-            [AC_LANG_PROGRAM(
-               [[
-#include <libintl.h>
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)
-#else
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
-#endif
-$gt_revision_test_code
-               ]],
-               [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
-               ]])],
-            [eval "$gt_func_gnugettext_libc=yes"],
-            [eval "$gt_func_gnugettext_libc=no"])])
-
-        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
-          dnl Sometimes libintl requires libiconv, so first search for libiconv.
-          m4_if(gt_included_intl, yes, , [
-            AM_ICONV_LINK
-          ])
-          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
-          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
-          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
-          dnl even if libiconv doesn't exist.
-          AC_LIB_LINKFLAGS_BODY([intl])
-          AC_CACHE_CHECK([for GNU gettext in libintl],
-            [$gt_func_gnugettext_libintl],
-           [gt_save_CPPFLAGS="$CPPFLAGS"
-            CPPFLAGS="$CPPFLAGS $INCINTL"
-            gt_save_LIBS="$LIBS"
-            LIBS="$LIBS $LIBINTL"
-            dnl Now see whether libintl exists and does not depend on libiconv.
-            AC_LINK_IFELSE(
-              [AC_LANG_PROGRAM(
-                 [[
-#include <libintl.h>
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
-#else
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
-#endif
-$gt_revision_test_code
-                 ]],
-                 [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
-                 ]])],
-              [eval "$gt_func_gnugettext_libintl=yes"],
-              [eval "$gt_func_gnugettext_libintl=no"])
-            dnl Now see whether libintl exists and depends on libiconv.
-            if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
-              LIBS="$LIBS $LIBICONV"
-              AC_LINK_IFELSE(
-                [AC_LANG_PROGRAM(
-                   [[
-#include <libintl.h>
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
-#else
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
-#endif
-$gt_revision_test_code
-                   ]],
-                   [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
-                   ]])],
-                [LIBINTL="$LIBINTL $LIBICONV"
-                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
-                 eval "$gt_func_gnugettext_libintl=yes"
-                ])
-            fi
-            CPPFLAGS="$gt_save_CPPFLAGS"
-            LIBS="$gt_save_LIBS"])
-        fi
-
-        dnl If an already present or preinstalled GNU gettext() is found,
-        dnl use it.  But if this macro is used in GNU gettext, and GNU
-        dnl gettext is already preinstalled in libintl, we update this
-        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
-        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
-           || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
-                && test "$PACKAGE" != gettext-runtime \
-                && test "$PACKAGE" != gettext-tools; }; then
-          gt_use_preinstalled_gnugettext=yes
-        else
-          dnl Reset the values set by searching for libintl.
-          LIBINTL=
-          LTLIBINTL=
-          INCINTL=
-        fi
-
-    m4_if(gt_included_intl, yes, [
-        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
-          dnl GNU gettext is not found in the C library.
-          dnl Fall back on included GNU gettext library.
-          nls_cv_use_gnu_gettext=yes
-        fi
-      fi
-
-      if test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Mark actions used to generate GNU NLS library.
-        BUILD_INCLUDED_LIBINTL=yes
-        USE_INCLUDED_LIBINTL=yes
-        LIBINTL="m4_if([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LIBICONV $LIBTHREAD"
-        LTLIBINTL="m4_if([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LTLIBICONV $LTLIBTHREAD"
-        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
-      fi
-
-      CATOBJEXT=
-      if test "$gt_use_preinstalled_gnugettext" = "yes" \
-         || test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Mark actions to use GNU gettext tools.
-        CATOBJEXT=.gmo
-      fi
-    ])
-
-    if test -n "$INTL_MACOSX_LIBS"; then
-      if test "$gt_use_preinstalled_gnugettext" = "yes" \
-         || test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Some extra flags are needed during linking.
-        LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
-        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
-      fi
-    fi
-
-    if test "$gt_use_preinstalled_gnugettext" = "yes" \
-       || test "$nls_cv_use_gnu_gettext" = "yes"; then
-      AC_DEFINE([ENABLE_NLS], [1],
-        [Define to 1 if translation of program messages to the user's native language
-   is requested.])
-    else
-      USE_NLS=no
-    fi
-  fi
-
-  AC_MSG_CHECKING([whether to use NLS])
-  AC_MSG_RESULT([$USE_NLS])
-  if test "$USE_NLS" = "yes"; then
-    AC_MSG_CHECKING([where the gettext function comes from])
-    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
-        gt_source="external libintl"
-      else
-        gt_source="libc"
-      fi
-    else
-      gt_source="included intl directory"
-    fi
-    AC_MSG_RESULT([$gt_source])
-  fi
-
-  if test "$USE_NLS" = "yes"; then
-
-    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
-        AC_MSG_CHECKING([how to link with libintl])
-        AC_MSG_RESULT([$LIBINTL])
-        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
-      fi
-
-      dnl For backward compatibility. Some packages may be using this.
-      AC_DEFINE([HAVE_GETTEXT], [1],
-       [Define if the GNU gettext() function is already present or preinstalled.])
-      AC_DEFINE([HAVE_DCGETTEXT], [1],
-       [Define if the GNU dcgettext() function is already present or preinstalled.])
-    fi
-
-    dnl We need to process the po/ directory.
-    POSUB=po
-  fi
-
-  m4_if(gt_included_intl, yes, [
-    dnl In GNU gettext we have to set BUILD_INCLUDED_LIBINTL to 'yes'
-    dnl because some of the testsuite requires it.
-    BUILD_INCLUDED_LIBINTL=yes
-
-    dnl Make all variables we use known to autoconf.
-    AC_SUBST([BUILD_INCLUDED_LIBINTL])
-    AC_SUBST([USE_INCLUDED_LIBINTL])
-    AC_SUBST([CATOBJEXT])
-  ])
-
-  dnl For backward compatibility. Some Makefiles may be using this.
-  INTLLIBS="$LIBINTL"
-  AC_SUBST([INTLLIBS])
-
-  dnl Make all documented variables known to autoconf.
-  AC_SUBST([LIBINTL])
-  AC_SUBST([LTLIBINTL])
-  AC_SUBST([POSUB])
-])
-
-
-dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
-m4_define([gt_NEEDS_INIT],
-[
-  m4_divert_text([DEFAULTS], [gt_needs=])
-  m4_define([gt_NEEDS_INIT], [])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
-AC_DEFUN([AM_GNU_GETTEXT_NEED],
-[
-  m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
-AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
-
-
-dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version])
-AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], [])
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/host-cpu-c-abi.m4 b/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/host-cpu-c-abi.m4
deleted file mode 100644
index b922324..0000000
--- a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/host-cpu-c-abi.m4
+++ /dev/null
@@ -1,678 +0,0 @@
-# host-cpu-c-abi.m4 serial 15
-dnl Copyright (C) 2002-2022 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible and Sam Steingold.
-
-dnl Sets the HOST_CPU variable to the canonical name of the CPU.
-dnl Sets the HOST_CPU_C_ABI variable to the canonical name of the CPU with its
-dnl C language ABI (application binary interface).
-dnl Also defines __${HOST_CPU}__ and __${HOST_CPU_C_ABI}__ as C macros in
-dnl config.h.
-dnl
-dnl This canonical name can be used to select a particular assembly language
-dnl source file that will interoperate with C code on the given host.
-dnl
-dnl For example:
-dnl * 'i386' and 'sparc' are different canonical names, because code for i386
-dnl   will not run on SPARC CPUs and vice versa. They have different
-dnl   instruction sets.
-dnl * 'sparc' and 'sparc64' are different canonical names, because code for
-dnl   'sparc' and code for 'sparc64' cannot be linked together: 'sparc' code
-dnl   contains 32-bit instructions, whereas 'sparc64' code contains 64-bit
-dnl   instructions. A process on a SPARC CPU can be in 32-bit mode or in 64-bit
-dnl   mode, but not both.
-dnl * 'mips' and 'mipsn32' are different canonical names, because they use
-dnl   different argument passing and return conventions for C functions, and
-dnl   although the instruction set of 'mips' is a large subset of the
-dnl   instruction set of 'mipsn32'.
-dnl * 'mipsn32' and 'mips64' are different canonical names, because they use
-dnl   different sizes for the C types like 'int' and 'void *', and although
-dnl   the instruction sets of 'mipsn32' and 'mips64' are the same.
-dnl * The same canonical name is used for different endiannesses. You can
-dnl   determine the endianness through preprocessor symbols:
-dnl   - 'arm': test __ARMEL__.
-dnl   - 'mips', 'mipsn32', 'mips64': test _MIPSEB vs. _MIPSEL.
-dnl   - 'powerpc64': test _BIG_ENDIAN vs. _LITTLE_ENDIAN.
-dnl * The same name 'i386' is used for CPUs of type i386, i486, i586
-dnl   (Pentium), AMD K7, Pentium II, Pentium IV, etc., because
-dnl   - Instructions that do not exist on all of these CPUs (cmpxchg,
-dnl     MMX, SSE, SSE2, 3DNow! etc.) are not frequently used. If your
-dnl     assembly language source files use such instructions, you will
-dnl     need to make the distinction.
-dnl   - Speed of execution of the common instruction set is reasonable across
-dnl     the entire family of CPUs. If you have assembly language source files
-dnl     that are optimized for particular CPU types (like GNU gmp has), you
-dnl     will need to make the distinction.
-dnl   See <https://en.wikipedia.org/wiki/X86_instruction_listings>.
-AC_DEFUN([gl_HOST_CPU_C_ABI],
-[
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([gl_C_ASM])
-  AC_CACHE_CHECK([host CPU and C ABI], [gl_cv_host_cpu_c_abi],
-    [case "$host_cpu" in
-
-changequote(,)dnl
-       i[34567]86 )
-changequote([,])dnl
-         gl_cv_host_cpu_c_abi=i386
-         ;;
-
-       x86_64 )
-         # On x86_64 systems, the C compiler may be generating code in one of
-         # these ABIs:
-         # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.
-         # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64
-         #   with native Windows (mingw, MSVC).
-         # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.
-         # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
-         AC_COMPILE_IFELSE(
-           [AC_LANG_SOURCE(
-              [[#if (defined __x86_64__ || defined __amd64__ \
-                     || defined _M_X64 || defined _M_AMD64)
-                 int ok;
-                #else
-                 error fail
-                #endif
-              ]])],
-           [AC_COMPILE_IFELSE(
-              [AC_LANG_SOURCE(
-                 [[#if defined __ILP32__ || defined _ILP32
-                    int ok;
-                   #else
-                    error fail
-                   #endif
-                 ]])],
-              [gl_cv_host_cpu_c_abi=x86_64-x32],
-              [gl_cv_host_cpu_c_abi=x86_64])],
-           [gl_cv_host_cpu_c_abi=i386])
-         ;;
-
-changequote(,)dnl
-       alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] )
-changequote([,])dnl
-         gl_cv_host_cpu_c_abi=alpha
-         ;;
-
-       arm* | aarch64 )
-         # Assume arm with EABI.
-         # On arm64 systems, the C compiler may be generating code in one of
-         # these ABIs:
-         # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
-         # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.
-         # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.
-         AC_COMPILE_IFELSE(
-           [AC_LANG_SOURCE(
-              [[#ifdef __aarch64__
-                 int ok;
-                #else
-                 error fail
-                #endif
-              ]])],
-           [AC_COMPILE_IFELSE(
-              [AC_LANG_SOURCE(
-                [[#if defined __ILP32__ || defined _ILP32
-                   int ok;
-                  #else
-                   error fail
-                  #endif
-                ]])],
-              [gl_cv_host_cpu_c_abi=arm64-ilp32],
-              [gl_cv_host_cpu_c_abi=arm64])],
-           [# Don't distinguish little-endian and big-endian arm, since they
-            # don't require different machine code for simple operations and
-            # since the user can distinguish them through the preprocessor
-            # defines __ARMEL__ vs. __ARMEB__.
-            # But distinguish arm which passes floating-point arguments and
-            # return values in integer registers (r0, r1, ...) - this is
-            # gcc -mfloat-abi=soft or gcc -mfloat-abi=softfp - from arm which
-            # passes them in float registers (s0, s1, ...) and double registers
-            # (d0, d1, ...) - this is gcc -mfloat-abi=hard. GCC 4.6 or newer
-            # sets the preprocessor defines __ARM_PCS (for the first case) and
-            # __ARM_PCS_VFP (for the second case), but older GCC does not.
-            echo 'double ddd; void func (double dd) { ddd = dd; }' > conftest.c
-            # Look for a reference to the register d0 in the .s file.
-            AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1
-            if LC_ALL=C grep 'd0,' conftest.$gl_asmext >/dev/null; then
-              gl_cv_host_cpu_c_abi=armhf
-            else
-              gl_cv_host_cpu_c_abi=arm
-            fi
-            rm -f conftest*
-           ])
-         ;;
-
-       hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
-         # On hppa, the C compiler may be generating 32-bit code or 64-bit
-         # code. In the latter case, it defines _LP64 and __LP64__.
-         AC_COMPILE_IFELSE(
-           [AC_LANG_SOURCE(
-              [[#ifdef __LP64__
-                 int ok;
-                #else
-                 error fail
-                #endif
-              ]])],
-           [gl_cv_host_cpu_c_abi=hppa64],
-           [gl_cv_host_cpu_c_abi=hppa])
-         ;;
-
-       ia64* )
-         # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
-         # 32-bit code. In the latter case, it defines _ILP32.
-         AC_COMPILE_IFELSE(
-           [AC_LANG_SOURCE(
-              [[#ifdef _ILP32
-                 int ok;
-                #else
-                 error fail
-                #endif
-              ]])],
-           [gl_cv_host_cpu_c_abi=ia64-ilp32],
-           [gl_cv_host_cpu_c_abi=ia64])
-         ;;
-
-       mips* )
-         # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
-         # at 32.
-         AC_COMPILE_IFELSE(
-           [AC_LANG_SOURCE(
-              [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
-                 int ok;
-                #else
-                 error fail
-                #endif
-              ]])],
-           [gl_cv_host_cpu_c_abi=mips64],
-           [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but
-            # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIN32.
-            # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but
-            # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIO32.
-            AC_COMPILE_IFELSE(
-              [AC_LANG_SOURCE(
-                 [[#if (_MIPS_SIM == _ABIN32)
-                    int ok;
-                   #else
-                    error fail
-                   #endif
-                 ]])],
-              [gl_cv_host_cpu_c_abi=mipsn32],
-              [gl_cv_host_cpu_c_abi=mips])])
-         ;;
-
-       powerpc* )
-         # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.
-         # No need to distinguish them here; the caller may distinguish
-         # them based on the OS.
-         # On powerpc64 systems, the C compiler may still be generating
-         # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
-         # be generating 64-bit code.
-         AC_COMPILE_IFELSE(
-           [AC_LANG_SOURCE(
-              [[#if defined __powerpc64__ || defined __LP64__
-                 int ok;
-                #else
-                 error fail
-                #endif
-              ]])],
-           [# On powerpc64, there are two ABIs on Linux: The AIX compatible
-            # one and the ELFv2 one. The latter defines _CALL_ELF=2.
-            AC_COMPILE_IFELSE(
-              [AC_LANG_SOURCE(
-                 [[#if defined _CALL_ELF && _CALL_ELF == 2
-                    int ok;
-                   #else
-                    error fail
-                   #endif
-                 ]])],
-              [gl_cv_host_cpu_c_abi=powerpc64-elfv2],
-              [gl_cv_host_cpu_c_abi=powerpc64])
-           ],
-           [gl_cv_host_cpu_c_abi=powerpc])
-         ;;
-
-       rs6000 )
-         gl_cv_host_cpu_c_abi=powerpc
-         ;;
-
-       riscv32 | riscv64 )
-         # There are 2 architectures (with variants): rv32* and rv64*.
-         AC_COMPILE_IFELSE(
-           [AC_LANG_SOURCE(
-              [[#if __riscv_xlen == 64
-                  int ok;
-                #else
-                  error fail
-                #endif
-              ]])],
-           [cpu=riscv64],
-           [cpu=riscv32])
-         # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
-         # Size of 'long' and 'void *':
-         AC_COMPILE_IFELSE(
-           [AC_LANG_SOURCE(
-              [[#if defined __LP64__
-                  int ok;
-                #else
-                  error fail
-                #endif
-              ]])],
-           [main_abi=lp64],
-           [main_abi=ilp32])
-         # Float ABIs:
-         # __riscv_float_abi_double:
-         #   'float' and 'double' are passed in floating-point registers.
-         # __riscv_float_abi_single:
-         #   'float' are passed in floating-point registers.
-         # __riscv_float_abi_soft:
-         #   No values are passed in floating-point registers.
-         AC_COMPILE_IFELSE(
-           [AC_LANG_SOURCE(
-              [[#if defined __riscv_float_abi_double
-                  int ok;
-                #else
-                  error fail
-                #endif
-              ]])],
-           [float_abi=d],
-           [AC_COMPILE_IFELSE(
-              [AC_LANG_SOURCE(
-                 [[#if defined __riscv_float_abi_single
-                     int ok;
-                   #else
-                     error fail
-                   #endif
-                 ]])],
-              [float_abi=f],
-              [float_abi=''])
-           ])
-         gl_cv_host_cpu_c_abi="${cpu}-${main_abi}${float_abi}"
-         ;;
-
-       s390* )
-         # On s390x, the C compiler may be generating 64-bit (= s390x) code
-         # or 31-bit (= s390) code.
-         AC_COMPILE_IFELSE(
-           [AC_LANG_SOURCE(
-              [[#if defined __LP64__ || defined __s390x__
-                  int ok;
-                #else
-                  error fail
-                #endif
-              ]])],
-           [gl_cv_host_cpu_c_abi=s390x],
-           [gl_cv_host_cpu_c_abi=s390])
-         ;;
-
-       sparc | sparc64 )
-         # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
-         # C compiler still generates 32-bit code.
-         AC_COMPILE_IFELSE(
-           [AC_LANG_SOURCE(
-              [[#if defined __sparcv9 || defined __arch64__
-                 int ok;
-                #else
-                 error fail
-                #endif
-              ]])],
-           [gl_cv_host_cpu_c_abi=sparc64],
-           [gl_cv_host_cpu_c_abi=sparc])
-         ;;
-
-       *)
-         gl_cv_host_cpu_c_abi="$host_cpu"
-         ;;
-     esac
-    ])
-
-  dnl In most cases, $HOST_CPU and $HOST_CPU_C_ABI are the same.
-  HOST_CPU=`echo "$gl_cv_host_cpu_c_abi" | sed -e 's/-.*//'`
-  HOST_CPU_C_ABI="$gl_cv_host_cpu_c_abi"
-  AC_SUBST([HOST_CPU])
-  AC_SUBST([HOST_CPU_C_ABI])
-
-  # This was
-  #   AC_DEFINE_UNQUOTED([__${HOST_CPU}__])
-  #   AC_DEFINE_UNQUOTED([__${HOST_CPU_C_ABI}__])
-  # earlier, but KAI C++ 3.2d doesn't like this.
-  sed -e 's/-/_/g' >> confdefs.h <<EOF
-#ifndef __${HOST_CPU}__
-#define __${HOST_CPU}__ 1
-#endif
-#ifndef __${HOST_CPU_C_ABI}__
-#define __${HOST_CPU_C_ABI}__ 1
-#endif
-EOF
-  AH_TOP([/* CPU and C ABI indicator */
-#ifndef __i386__
-#undef __i386__
-#endif
-#ifndef __x86_64_x32__
-#undef __x86_64_x32__
-#endif
-#ifndef __x86_64__
-#undef __x86_64__
-#endif
-#ifndef __alpha__
-#undef __alpha__
-#endif
-#ifndef __arm__
-#undef __arm__
-#endif
-#ifndef __armhf__
-#undef __armhf__
-#endif
-#ifndef __arm64_ilp32__
-#undef __arm64_ilp32__
-#endif
-#ifndef __arm64__
-#undef __arm64__
-#endif
-#ifndef __hppa__
-#undef __hppa__
-#endif
-#ifndef __hppa64__
-#undef __hppa64__
-#endif
-#ifndef __ia64_ilp32__
-#undef __ia64_ilp32__
-#endif
-#ifndef __ia64__
-#undef __ia64__
-#endif
-#ifndef __loongarch64__
-#undef __loongarch64__
-#endif
-#ifndef __m68k__
-#undef __m68k__
-#endif
-#ifndef __mips__
-#undef __mips__
-#endif
-#ifndef __mipsn32__
-#undef __mipsn32__
-#endif
-#ifndef __mips64__
-#undef __mips64__
-#endif
-#ifndef __powerpc__
-#undef __powerpc__
-#endif
-#ifndef __powerpc64__
-#undef __powerpc64__
-#endif
-#ifndef __powerpc64_elfv2__
-#undef __powerpc64_elfv2__
-#endif
-#ifndef __riscv32__
-#undef __riscv32__
-#endif
-#ifndef __riscv64__
-#undef __riscv64__
-#endif
-#ifndef __riscv32_ilp32__
-#undef __riscv32_ilp32__
-#endif
-#ifndef __riscv32_ilp32f__
-#undef __riscv32_ilp32f__
-#endif
-#ifndef __riscv32_ilp32d__
-#undef __riscv32_ilp32d__
-#endif
-#ifndef __riscv64_ilp32__
-#undef __riscv64_ilp32__
-#endif
-#ifndef __riscv64_ilp32f__
-#undef __riscv64_ilp32f__
-#endif
-#ifndef __riscv64_ilp32d__
-#undef __riscv64_ilp32d__
-#endif
-#ifndef __riscv64_lp64__
-#undef __riscv64_lp64__
-#endif
-#ifndef __riscv64_lp64f__
-#undef __riscv64_lp64f__
-#endif
-#ifndef __riscv64_lp64d__
-#undef __riscv64_lp64d__
-#endif
-#ifndef __s390__
-#undef __s390__
-#endif
-#ifndef __s390x__
-#undef __s390x__
-#endif
-#ifndef __sh__
-#undef __sh__
-#endif
-#ifndef __sparc__
-#undef __sparc__
-#endif
-#ifndef __sparc64__
-#undef __sparc64__
-#endif
-])
-
-])
-
-
-dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI
-dnl (application binary interface) is a 32-bit one, to 'no' if it is a 64-bit
-dnl one, or to 'unknown' if unknown.
-dnl This is a simplified variant of gl_HOST_CPU_C_ABI.
-AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT],
-[
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_CACHE_CHECK([32-bit host C ABI], [gl_cv_host_cpu_c_abi_32bit],
-    [if test -n "$gl_cv_host_cpu_c_abi"; then
-       case "$gl_cv_host_cpu_c_abi" in
-         i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
-           gl_cv_host_cpu_c_abi_32bit=yes ;;
-         x86_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
-           gl_cv_host_cpu_c_abi_32bit=no ;;
-         *)
-           gl_cv_host_cpu_c_abi_32bit=unknown ;;
-       esac
-     else
-       case "$host_cpu" in
-
-         # CPUs that only support a 32-bit ABI.
-         arc \
-         | bfin \
-         | cris* \
-         | csky \
-         | epiphany \
-         | ft32 \
-         | h8300 \
-         | m68k \
-         | microblaze | microblazeel \
-         | nds32 | nds32le | nds32be \
-         | nios2 | nios2eb | nios2el \
-         | or1k* \
-         | or32 \
-         | sh | sh[1234] | sh[1234]e[lb] \
-         | tic6x \
-         | xtensa* )
-           gl_cv_host_cpu_c_abi_32bit=yes
-           ;;
-
-         # CPUs that only support a 64-bit ABI.
-changequote(,)dnl
-         alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
-         | mmix )
-changequote([,])dnl
-           gl_cv_host_cpu_c_abi_32bit=no
-           ;;
-
-changequote(,)dnl
-         i[34567]86 )
-changequote([,])dnl
-           gl_cv_host_cpu_c_abi_32bit=yes
-           ;;
-
-         x86_64 )
-           # On x86_64 systems, the C compiler may be generating code in one of
-           # these ABIs:
-           # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.
-           # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64
-           #   with native Windows (mingw, MSVC).
-           # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.
-           # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
-           AC_COMPILE_IFELSE(
-             [AC_LANG_SOURCE(
-                [[#if (defined __x86_64__ || defined __amd64__ \
-                       || defined _M_X64 || defined _M_AMD64) \
-                      && !(defined __ILP32__ || defined _ILP32)
-                   int ok;
-                  #else
-                   error fail
-                  #endif
-                ]])],
-             [gl_cv_host_cpu_c_abi_32bit=no],
-             [gl_cv_host_cpu_c_abi_32bit=yes])
-           ;;
-
-         arm* | aarch64 )
-           # Assume arm with EABI.
-           # On arm64 systems, the C compiler may be generating code in one of
-           # these ABIs:
-           # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
-           # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.
-           # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.
-           AC_COMPILE_IFELSE(
-             [AC_LANG_SOURCE(
-                [[#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32)
-                   int ok;
-                  #else
-                   error fail
-                  #endif
-                ]])],
-             [gl_cv_host_cpu_c_abi_32bit=no],
-             [gl_cv_host_cpu_c_abi_32bit=yes])
-           ;;
-
-         hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
-           # On hppa, the C compiler may be generating 32-bit code or 64-bit
-           # code. In the latter case, it defines _LP64 and __LP64__.
-           AC_COMPILE_IFELSE(
-             [AC_LANG_SOURCE(
-                [[#ifdef __LP64__
-                   int ok;
-                  #else
-                   error fail
-                  #endif
-                ]])],
-             [gl_cv_host_cpu_c_abi_32bit=no],
-             [gl_cv_host_cpu_c_abi_32bit=yes])
-           ;;
-
-         ia64* )
-           # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
-           # 32-bit code. In the latter case, it defines _ILP32.
-           AC_COMPILE_IFELSE(
-             [AC_LANG_SOURCE(
-                [[#ifdef _ILP32
-                   int ok;
-                  #else
-                   error fail
-                  #endif
-                ]])],
-             [gl_cv_host_cpu_c_abi_32bit=yes],
-             [gl_cv_host_cpu_c_abi_32bit=no])
-           ;;
-
-         mips* )
-           # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
-           # at 32.
-           AC_COMPILE_IFELSE(
-             [AC_LANG_SOURCE(
-                [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
-                   int ok;
-                  #else
-                   error fail
-                  #endif
-                ]])],
-             [gl_cv_host_cpu_c_abi_32bit=no],
-             [gl_cv_host_cpu_c_abi_32bit=yes])
-           ;;
-
-         powerpc* )
-           # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.
-           # No need to distinguish them here; the caller may distinguish
-           # them based on the OS.
-           # On powerpc64 systems, the C compiler may still be generating
-           # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
-           # be generating 64-bit code.
-           AC_COMPILE_IFELSE(
-             [AC_LANG_SOURCE(
-                [[#if defined __powerpc64__ || defined __LP64__
-                   int ok;
-                  #else
-                   error fail
-                  #endif
-                ]])],
-             [gl_cv_host_cpu_c_abi_32bit=no],
-             [gl_cv_host_cpu_c_abi_32bit=yes])
-           ;;
-
-         rs6000 )
-           gl_cv_host_cpu_c_abi_32bit=yes
-           ;;
-
-         riscv32 | riscv64 )
-           # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
-           # Size of 'long' and 'void *':
-           AC_COMPILE_IFELSE(
-             [AC_LANG_SOURCE(
-                [[#if defined __LP64__
-                    int ok;
-                  #else
-                    error fail
-                  #endif
-                ]])],
-             [gl_cv_host_cpu_c_abi_32bit=no],
-             [gl_cv_host_cpu_c_abi_32bit=yes])
-           ;;
-
-         s390* )
-           # On s390x, the C compiler may be generating 64-bit (= s390x) code
-           # or 31-bit (= s390) code.
-           AC_COMPILE_IFELSE(
-             [AC_LANG_SOURCE(
-                [[#if defined __LP64__ || defined __s390x__
-                    int ok;
-                  #else
-                    error fail
-                  #endif
-                ]])],
-             [gl_cv_host_cpu_c_abi_32bit=no],
-             [gl_cv_host_cpu_c_abi_32bit=yes])
-           ;;
-
-         sparc | sparc64 )
-           # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
-           # C compiler still generates 32-bit code.
-           AC_COMPILE_IFELSE(
-             [AC_LANG_SOURCE(
-                [[#if defined __sparcv9 || defined __arch64__
-                   int ok;
-                  #else
-                   error fail
-                  #endif
-                ]])],
-             [gl_cv_host_cpu_c_abi_32bit=no],
-             [gl_cv_host_cpu_c_abi_32bit=yes])
-           ;;
-
-         *)
-           gl_cv_host_cpu_c_abi_32bit=unknown
-           ;;
-       esac
-     fi
-    ])
-
-  HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit"
-])
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/iconv.m4 b/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/iconv.m4
deleted file mode 100644
index 0005795..0000000
--- a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/iconv.m4
+++ /dev/null
@@ -1,283 +0,0 @@
-# iconv.m4 serial 24
-dnl Copyright (C) 2000-2002, 2007-2014, 2016-2022 Free Software Foundation,
-dnl Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_PREREQ([2.64])
-
-dnl Note: AM_ICONV is documented in the GNU gettext manual
-dnl <https://www.gnu.org/software/gettext/manual/html_node/AM_005fICONV.html>.
-dnl Don't make changes that are incompatible with that documentation!
-
-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-[
-  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([iconv])
-])
-
-AC_DEFUN([AM_ICONV_LINK],
-[
-  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
-  dnl those with the standalone portable GNU libiconv installed).
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-
-  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed libiconv and not disabled its use
-  dnl via --without-libiconv-prefix, he wants to use it. The first
-  dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
-  am_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
-  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
-    am_cv_func_iconv="no, consider installing GNU libiconv"
-    am_cv_lib_iconv=no
-    AC_LINK_IFELSE(
-      [AC_LANG_PROGRAM(
-         [[
-#include <stdlib.h>
-#include <iconv.h>
-         ]],
-         [[iconv_t cd = iconv_open("","");
-           iconv(cd,NULL,NULL,NULL,NULL);
-           iconv_close(cd);]])],
-      [am_cv_func_iconv=yes])
-    if test "$am_cv_func_iconv" != yes; then
-      am_save_LIBS="$LIBS"
-      LIBS="$LIBS $LIBICONV"
-      AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[
-#include <stdlib.h>
-#include <iconv.h>
-           ]],
-           [[iconv_t cd = iconv_open("","");
-             iconv(cd,NULL,NULL,NULL,NULL);
-             iconv_close(cd);]])],
-        [am_cv_lib_iconv=yes]
-        [am_cv_func_iconv=yes])
-      LIBS="$am_save_LIBS"
-    fi
-  ])
-  if test "$am_cv_func_iconv" = yes; then
-    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
-      dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
-      dnl Solaris 10.
-      am_save_LIBS="$LIBS"
-      if test $am_cv_lib_iconv = yes; then
-        LIBS="$LIBS $LIBICONV"
-      fi
-      am_cv_func_iconv_works=no
-      for ac_iconv_const in '' 'const'; do
-        AC_RUN_IFELSE(
-          [AC_LANG_PROGRAM(
-             [[
-#include <iconv.h>
-#include <string.h>
-
-#ifndef ICONV_CONST
-# define ICONV_CONST $ac_iconv_const
-#endif
-             ]],
-             [[int result = 0;
-  /* Test against AIX 5.1...7.2 bug: Failures are not distinguishable from
-     successful returns.  This is even documented in
-     <https://www.ibm.com/support/knowledgecenter/ssw_aix_72/i_bostechref/iconv.html> */
-  {
-    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
-    if (cd_utf8_to_88591 != (iconv_t)(-1))
-      {
-        static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
-        char buf[10];
-        ICONV_CONST char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_utf8_to_88591,
-                            &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res == 0)
-          result |= 1;
-        iconv_close (cd_utf8_to_88591);
-      }
-  }
-  /* Test against Solaris 10 bug: Failures are not distinguishable from
-     successful returns.  */
-  {
-    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
-    if (cd_ascii_to_88591 != (iconv_t)(-1))
-      {
-        static ICONV_CONST char input[] = "\263";
-        char buf[10];
-        ICONV_CONST char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_ascii_to_88591,
-                            &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res == 0)
-          result |= 2;
-        iconv_close (cd_ascii_to_88591);
-      }
-  }
-  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
-  {
-    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
-    if (cd_88591_to_utf8 != (iconv_t)(-1))
-      {
-        static ICONV_CONST char input[] = "\304";
-        static char buf[2] = { (char)0xDE, (char)0xAD };
-        ICONV_CONST char *inptr = input;
-        size_t inbytesleft = 1;
-        char *outptr = buf;
-        size_t outbytesleft = 1;
-        size_t res = iconv (cd_88591_to_utf8,
-                            &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
-          result |= 4;
-        iconv_close (cd_88591_to_utf8);
-      }
-  }
-#if 0 /* This bug could be worked around by the caller.  */
-  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
-  {
-    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
-    if (cd_88591_to_utf8 != (iconv_t)(-1))
-      {
-        static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-        char buf[50];
-        ICONV_CONST char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_88591_to_utf8,
-                            &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if ((int)res > 0)
-          result |= 8;
-        iconv_close (cd_88591_to_utf8);
-      }
-  }
-#endif
-  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
-     provided.  */
-  {
-    /* Try standardized names.  */
-    iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP");
-    /* Try IRIX, OSF/1 names.  */
-    iconv_t cd2 = iconv_open ("UTF-8", "eucJP");
-    /* Try AIX names.  */
-    iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP");
-    /* Try HP-UX names.  */
-    iconv_t cd4 = iconv_open ("utf8", "eucJP");
-    if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1)
-        && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1))
-      result |= 16;
-    if (cd1 != (iconv_t)(-1))
-      iconv_close (cd1);
-    if (cd2 != (iconv_t)(-1))
-      iconv_close (cd2);
-    if (cd3 != (iconv_t)(-1))
-      iconv_close (cd3);
-    if (cd4 != (iconv_t)(-1))
-      iconv_close (cd4);
-  }
-  return result;
-]])],
-          [am_cv_func_iconv_works=yes], ,
-          [case "$host_os" in
-             aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
-             *)            am_cv_func_iconv_works="guessing yes" ;;
-           esac])
-        test "$am_cv_func_iconv_works" = no || break
-      done
-      LIBS="$am_save_LIBS"
-    ])
-    case "$am_cv_func_iconv_works" in
-      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
-      *)   am_func_iconv=yes ;;
-    esac
-  else
-    am_func_iconv=no am_cv_lib_iconv=no
-  fi
-  if test "$am_func_iconv" = yes; then
-    AC_DEFINE([HAVE_ICONV], [1],
-      [Define if you have the iconv() function and it works.])
-  fi
-  if test "$am_cv_lib_iconv" = yes; then
-    AC_MSG_CHECKING([how to link with libiconv])
-    AC_MSG_RESULT([$LIBICONV])
-  else
-    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
-    dnl either.
-    CPPFLAGS="$am_save_CPPFLAGS"
-    LIBICONV=
-    LTLIBICONV=
-  fi
-  AC_SUBST([LIBICONV])
-  AC_SUBST([LTLIBICONV])
-])
-
-dnl Define AM_ICONV using AC_DEFUN_ONCE, in order to avoid warnings like
-dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
-dnl This is tricky because of the way 'aclocal' is implemented:
-dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
-dnl   Otherwise aclocal's initial scan pass would miss the macro definition.
-dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
-dnl   Otherwise aclocal would emit many "Use of uninitialized value $1"
-dnl   warnings.
-AC_DEFUN_ONCE([AM_ICONV],
-[
-  AM_ICONV_LINK
-  if test "$am_cv_func_iconv" = yes; then
-    AC_CACHE_CHECK([whether iconv is compatible with its POSIX signature],
-      [gl_cv_iconv_nonconst],
-      [AC_COMPILE_IFELSE(
-         [AC_LANG_PROGRAM(
-            [[
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-            ]],
-            [[]])],
-         [gl_cv_iconv_nonconst=yes],
-         [gl_cv_iconv_nonconst=no])
-      ])
-  else
-    dnl When compiling GNU libiconv on a system that does not have iconv yet,
-    dnl pick the POSIX compliant declaration without 'const'.
-    gl_cv_iconv_nonconst=yes
-  fi
-  if test $gl_cv_iconv_nonconst = yes; then
-    iconv_arg1=""
-  else
-    iconv_arg1="const"
-  fi
-  AC_DEFINE_UNQUOTED([ICONV_CONST], [$iconv_arg1],
-    [Define as const if the declaration of iconv() needs const.])
-  dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
-  m4_ifdef([gl_ICONV_H_DEFAULTS],
-    [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
-     if test $gl_cv_iconv_nonconst != yes; then
-       ICONV_CONST="const"
-     fi
-    ])
-])
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/intlmacosx.m4 b/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/intlmacosx.m4
deleted file mode 100644
index ecc88d6..0000000
--- a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/intlmacosx.m4
+++ /dev/null
@@ -1,65 +0,0 @@
-# intlmacosx.m4 serial 8 (gettext-0.20.2)
-dnl Copyright (C) 2004-2014, 2016, 2019-2022 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Lesser General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Lesser General Public License, and the rest of the GNU
-dnl gettext package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Checks for special options needed on Mac OS X.
-dnl Defines INTL_MACOSX_LIBS.
-AC_DEFUN([gt_INTL_MACOSX],
-[
-  dnl Check for API introduced in Mac OS X 10.4.
-  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
-    [gt_cv_func_CFPreferencesCopyAppValue],
-    [gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     AC_LINK_IFELSE(
-       [AC_LANG_PROGRAM(
-          [[#include <CoreFoundation/CFPreferences.h>]],
-          [[CFPreferencesCopyAppValue(NULL, NULL)]])],
-       [gt_cv_func_CFPreferencesCopyAppValue=yes],
-       [gt_cv_func_CFPreferencesCopyAppValue=no])
-     LIBS="$gt_save_LIBS"])
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
-    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
-      [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
-  fi
-  dnl Don't check for the API introduced in Mac OS X 10.5, CFLocaleCopyCurrent,
-  dnl because in macOS 10.13.4 it has the following behaviour:
-  dnl When two or more languages are specified in the
-  dnl "System Preferences > Language & Region > Preferred Languages" panel,
-  dnl it returns en_CC where CC is the territory (even when English is not among
-  dnl the preferred languages!).  What we want instead is what
-  dnl CFLocaleCopyCurrent returned in earlier macOS releases and what
-  dnl CFPreferencesCopyAppValue still returns, namely ll_CC where ll is the
-  dnl first among the preferred languages and CC is the territory.
-  AC_CACHE_CHECK([for CFLocaleCopyPreferredLanguages], [gt_cv_func_CFLocaleCopyPreferredLanguages],
-    [gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     AC_LINK_IFELSE(
-       [AC_LANG_PROGRAM(
-          [[#include <CoreFoundation/CFLocale.h>]],
-          [[CFLocaleCopyPreferredLanguages();]])],
-       [gt_cv_func_CFLocaleCopyPreferredLanguages=yes],
-       [gt_cv_func_CFLocaleCopyPreferredLanguages=no])
-     LIBS="$gt_save_LIBS"])
-  if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
-    AC_DEFINE([HAVE_CFLOCALECOPYPREFERREDLANGUAGES], [1],
-      [Define to 1 if you have the Mac OS X function CFLocaleCopyPreferredLanguages in the CoreFoundation framework.])
-  fi
-  INTL_MACOSX_LIBS=
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes \
-     || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
-    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
-  fi
-  AC_SUBST([INTL_MACOSX_LIBS])
-])
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/lib-ld.m4 b/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/lib-ld.m4
deleted file mode 100644
index 934207a..0000000
--- a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/lib-ld.m4
+++ /dev/null
@@ -1,168 +0,0 @@
-# lib-ld.m4 serial 10
-dnl Copyright (C) 1996-2003, 2009-2022 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Subroutines of libtool.m4,
-dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
-dnl collision with libtool.m4.
-
-dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
-AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes
-  ;;
-*)
-  acl_cv_prog_gnu_ld=no
-  ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
-
-dnl From libtool-2.4. Sets the variable LD.
-AC_DEFUN([AC_LIB_PROG_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-
-AC_ARG_WITH([gnu-ld],
-    [AS_HELP_STRING([--with-gnu-ld],
-        [assume the C compiler uses GNU ld [default=no]])],
-    [test "$withval" = no || with_gnu_ld=yes],
-    [with_gnu_ld=no])dnl
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
-  # contains only /bin. Note that ksh looks also at the FPATH variable,
-  # so we have to set that as well for the test.
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-           || PATH_SEPARATOR=';'
-       }
-fi
-
-if test -n "$LD"; then
-  AC_MSG_CHECKING([for ld])
-elif test "$GCC" = yes; then
-  AC_MSG_CHECKING([for ld used by $CC])
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-if test -n "$LD"; then
-  # Let the user override the test with a path.
-  :
-else
-  AC_CACHE_VAL([acl_cv_path_LD],
-  [
-    acl_cv_path_LD= # Final result of this test
-    ac_prog=ld # Program to search in $PATH
-    if test "$GCC" = yes; then
-      # Check if gcc -print-prog-name=ld gives a path.
-      case $host in
-        *-*-mingw*)
-          # gcc leaves a trailing carriage return which upsets mingw
-          acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-        *)
-          acl_output=`($CC -print-prog-name=ld) 2>&5` ;;
-      esac
-      case $acl_output in
-        # Accept absolute paths.
-        [[\\/]]* | ?:[[\\/]]*)
-          re_direlt='/[[^/]][[^/]]*/\.\./'
-          # Canonicalize the pathname of ld
-          acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'`
-          while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do
-            acl_output=`echo $acl_output | sed "s%$re_direlt%/%"`
-          done
-          # Got the pathname. No search in PATH is needed.
-          acl_cv_path_LD="$acl_output"
-          ac_prog=
-          ;;
-        "")
-          # If it fails, then pretend we aren't using GCC.
-          ;;
-        *)
-          # If it is relative, then search for the first ld in PATH.
-          with_gnu_ld=unknown
-          ;;
-      esac
-    fi
-    if test -n "$ac_prog"; then
-      # Search for $ac_prog in $PATH.
-      acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-      for ac_dir in $PATH; do
-        IFS="$acl_save_ifs"
-        test -z "$ac_dir" && ac_dir=.
-        if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-          acl_cv_path_LD="$ac_dir/$ac_prog"
-          # Check to see if the program is GNU ld.  I'd rather use --version,
-          # but apparently some variants of GNU ld only accept -v.
-          # Break only if it was the GNU/non-GNU ld that we prefer.
-          case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
-            *GNU* | *'with BFD'*)
-              test "$with_gnu_ld" != no && break
-              ;;
-            *)
-              test "$with_gnu_ld" != yes && break
-              ;;
-          esac
-        fi
-      done
-      IFS="$acl_save_ifs"
-    fi
-    case $host in
-      *-*-aix*)
-        AC_COMPILE_IFELSE(
-          [AC_LANG_SOURCE(
-             [[#if defined __powerpc64__ || defined __LP64__
-                int ok;
-               #else
-                error fail
-               #endif
-             ]])],
-          [# The compiler produces 64-bit code. Add option '-b64' so that the
-           # linker groks 64-bit object files.
-           case "$acl_cv_path_LD " in
-             *" -b64 "*) ;;
-             *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;;
-           esac
-          ], [])
-        ;;
-      sparc64-*-netbsd*)
-        AC_COMPILE_IFELSE(
-          [AC_LANG_SOURCE(
-             [[#if defined __sparcv9 || defined __arch64__
-                int ok;
-               #else
-                error fail
-               #endif
-             ]])],
-          [],
-          [# The compiler produces 32-bit code. Add option '-m elf32_sparc'
-           # so that the linker groks 32-bit object files.
-           case "$acl_cv_path_LD " in
-             *" -m elf32_sparc "*) ;;
-             *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;;
-           esac
-          ])
-        ;;
-    esac
-  ])
-  LD="$acl_cv_path_LD"
-fi
-if test -n "$LD"; then
-  AC_MSG_RESULT([$LD])
-else
-  AC_MSG_RESULT([no])
-  AC_MSG_ERROR([no acceptable ld found in \$PATH])
-fi
-AC_LIB_PROG_LD_GNU
-])
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/lib-link.m4 b/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/lib-link.m4
deleted file mode 100644
index 3b75bcd..0000000
--- a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/lib-link.m4
+++ /dev/null
@@ -1,813 +0,0 @@
-# lib-link.m4 serial 33
-dnl Copyright (C) 2001-2022 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_PREREQ([2.61])
-
-dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
-dnl augments the CPPFLAGS variable.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  pushdef([Name],[m4_translit([$1],[./+-], [____])])
-  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
-                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
-  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
-    AC_LIB_LINKFLAGS_BODY([$1], [$2])
-    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
-    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
-    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
-    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
-  ])
-  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
-  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
-  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
-  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  AC_SUBST([LIB]NAME[_PREFIX])
-  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
-  dnl results of this search when this library appears as a dependency.
-  HAVE_LIB[]NAME=yes
-  popdef([NAME])
-  popdef([Name])
-])
-
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
-dnl searches for libname and the libraries corresponding to explicit and
-dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. The missing-message
-dnl defaults to 'no' and may contain additional hints for the user.
-dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
-dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
-dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
-dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  pushdef([Name],[m4_translit([$1],[./+-], [____])])
-  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
-                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
-
-  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([$1], [$2])
-
-  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed lib[]Name and not disabled its use
-  dnl via --without-lib[]Name-prefix, he wants to use it.
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-
-  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
-    ac_save_LIBS="$LIBS"
-    dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
-    dnl because these -l options might require -L options that are present in
-    dnl LIBS. -l options benefit only from the -L options listed before it.
-    dnl Otherwise, add it to the front of LIBS, because it may be a static
-    dnl library that depends on another static library that is present in LIBS.
-    dnl Static libraries benefit only from the static libraries listed after
-    dnl it.
-    case " $LIB[]NAME" in
-      *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
-      *)       LIBS="$LIB[]NAME $LIBS" ;;
-    esac
-    AC_LINK_IFELSE(
-      [AC_LANG_PROGRAM([[$3]], [[$4]])],
-      [ac_cv_lib[]Name=yes],
-      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
-    LIBS="$ac_save_LIBS"
-  ])
-  if test "$ac_cv_lib[]Name" = yes; then
-    HAVE_LIB[]NAME=yes
-    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
-    AC_MSG_CHECKING([how to link with lib[]$1])
-    AC_MSG_RESULT([$LIB[]NAME])
-  else
-    HAVE_LIB[]NAME=no
-    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
-    dnl $INC[]NAME either.
-    CPPFLAGS="$ac_save_CPPFLAGS"
-    LIB[]NAME=
-    LTLIB[]NAME=
-    LIB[]NAME[]_PREFIX=
-  fi
-  AC_SUBST([HAVE_LIB]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  AC_SUBST([LIB]NAME[_PREFIX])
-  popdef([NAME])
-  popdef([Name])
-])
-
-dnl Determine the platform dependent parameters needed to use rpath:
-dnl   acl_libext,
-dnl   acl_shlibext,
-dnl   acl_libname_spec,
-dnl   acl_library_names_spec,
-dnl   acl_hardcode_libdir_flag_spec,
-dnl   acl_hardcode_libdir_separator,
-dnl   acl_hardcode_direct,
-dnl   acl_hardcode_minus_L.
-AC_DEFUN([AC_LIB_RPATH],
-[
-  dnl Complain if config.rpath is missing.
-  AC_REQUIRE_AUX_FILE([config.rpath])
-  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
-  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
-  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
-  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
-  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
-    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-    . ./conftest.sh
-    rm -f ./conftest.sh
-    acl_cv_rpath=done
-  ])
-  wl="$acl_cv_wl"
-  acl_libext="$acl_cv_libext"
-  acl_shlibext="$acl_cv_shlibext"
-  acl_libname_spec="$acl_cv_libname_spec"
-  acl_library_names_spec="$acl_cv_library_names_spec"
-  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  acl_hardcode_direct="$acl_cv_hardcode_direct"
-  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
-  dnl Determine whether the user wants rpath handling at all.
-  AC_ARG_ENABLE([rpath],
-    [  --disable-rpath         do not hardcode runtime library paths],
-    :, enable_rpath=yes)
-])
-
-dnl AC_LIB_FROMPACKAGE(name, package)
-dnl declares that libname comes from the given package. The configure file
-dnl will then not have a --with-libname-prefix option but a
-dnl --with-package-prefix option. Several libraries can come from the same
-dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
-dnl macro call that searches for libname.
-AC_DEFUN([AC_LIB_FROMPACKAGE],
-[
-  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
-                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
-  define([acl_frompackage_]NAME, [$2])
-  popdef([NAME])
-  pushdef([PACK],[$2])
-  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
-                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
-  define([acl_libsinpackage_]PACKUP,
-    m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
-  popdef([PACKUP])
-  popdef([PACK])
-])
-
-dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
-dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
-dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
-                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
-  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
-  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
-                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
-  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-    eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
-    eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
-  ])
-  AC_ARG_WITH(PACK[-prefix],
-[[  --with-]]PACK[[-prefix[=DIR]  search for ]]PACKLIBS[[ in DIR/include and DIR/lib
-  --without-]]PACK[[-prefix     don't search for ]]PACKLIBS[[ in includedir and libdir]],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-          eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
-          eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-        additional_libdir2="$withval/$acl_libdirstem2"
-        additional_libdir3="$withval/$acl_libdirstem3"
-      fi
-    fi
-])
-  if test "X$additional_libdir2" = "X$additional_libdir"; then
-    additional_libdir2=
-  fi
-  if test "X$additional_libdir3" = "X$additional_libdir"; then
-    additional_libdir3=
-  fi
-  dnl Search the library and its dependencies in $additional_libdir and
-  dnl $LDFLAGS. Using breadth-first-seach.
-  LIB[]NAME=
-  LTLIB[]NAME=
-  INC[]NAME=
-  LIB[]NAME[]_PREFIX=
-  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
-  dnl computed. So it has to be reset here.
-  HAVE_LIB[]NAME=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='$1 $2'
-  while test -n "$names_next_round"; do
-    names_this_round="$names_next_round"
-    names_next_round=
-    for name in $names_this_round; do
-      already_handled=
-      for n in $names_already_handled; do
-        if test "$n" = "$name"; then
-          already_handled=yes
-          break
-        fi
-      done
-      if test -z "$already_handled"; then
-        names_already_handled="$names_already_handled $name"
-        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
-        dnl or AC_LIB_HAVE_LINKFLAGS call.
-        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
-        eval value=\"\$HAVE_LIB$uppername\"
-        if test -n "$value"; then
-          if test "$value" = yes; then
-            eval value=\"\$LIB$uppername\"
-            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
-          else
-            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
-            dnl that this library doesn't exist. So just drop it.
-            :
-          fi
-        else
-          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
-          dnl and the already constructed $LIBNAME/$LTLIBNAME.
-          found_dir=
-          found_la=
-          found_so=
-          found_a=
-          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
-          if test -n "$acl_shlibext"; then
-            shrext=".$acl_shlibext"             # typically: shrext=.so
-          else
-            shrext=
-          fi
-          if test $use_additional = yes; then
-            for additional_libdir_variable in additional_libdir additional_libdir2 additional_libdir3; do
-              if test "X$found_dir" = "X"; then
-                eval dir=\$$additional_libdir_variable
-                if test -n "$dir"; then
-                  dnl The same code as in the loop below:
-                  dnl First look for a shared library.
-                  if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then
-                      found_dir="$dir"
-                      found_so="$dir/$libname$shrext"
-                    else
-                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                        ver=`(cd "$dir" && \
-                              for f in "$libname$shrext".*; do echo "$f"; done \
-                              | sed -e "s,^$libname$shrext\\\\.,," \
-                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                              | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then
-                          found_dir="$dir"
-                          found_so="$dir/$libname$shrext.$ver"
-                        fi
-                      else
-                        eval library_names=\"$acl_library_names_spec\"
-                        for f in $library_names; do
-                          if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then
-                            found_dir="$dir"
-                            found_so="$dir/$f"
-                            break
-                          fi
-                        done
-                      fi
-                    fi
-                  fi
-                  dnl Then look for a static library.
-                  if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then
-                      found_dir="$dir"
-                      found_a="$dir/$libname.$acl_libext"
-                    fi
-                  fi
-                  if test "X$found_dir" != "X"; then
-                    if test -f "$dir/$libname.la"; then
-                      found_la="$dir/$libname.la"
-                    fi
-                  fi
-                fi
-              fi
-            done
-          fi
-          if test "X$found_dir" = "X"; then
-            for x in $LDFLAGS $LTLIB[]NAME; do
-              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-              case "$x" in
-                -L*)
-                  dir=`echo "X$x" | sed -e 's/^X-L//'`
-                  dnl First look for a shared library.
-                  if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then
-                      found_dir="$dir"
-                      found_so="$dir/$libname$shrext"
-                    else
-                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                        ver=`(cd "$dir" && \
-                              for f in "$libname$shrext".*; do echo "$f"; done \
-                              | sed -e "s,^$libname$shrext\\\\.,," \
-                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                              | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then
-                          found_dir="$dir"
-                          found_so="$dir/$libname$shrext.$ver"
-                        fi
-                      else
-                        eval library_names=\"$acl_library_names_spec\"
-                        for f in $library_names; do
-                          if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then
-                            found_dir="$dir"
-                            found_so="$dir/$f"
-                            break
-                          fi
-                        done
-                      fi
-                    fi
-                  fi
-                  dnl Then look for a static library.
-                  if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then
-                      found_dir="$dir"
-                      found_a="$dir/$libname.$acl_libext"
-                    fi
-                  fi
-                  if test "X$found_dir" != "X"; then
-                    if test -f "$dir/$libname.la"; then
-                      found_la="$dir/$libname.la"
-                    fi
-                  fi
-                  ;;
-              esac
-              if test "X$found_dir" != "X"; then
-                break
-              fi
-            done
-          fi
-          if test "X$found_dir" != "X"; then
-            dnl Found the library.
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
-            if test "X$found_so" != "X"; then
-              dnl Linking with a shared library. We attempt to hardcode its
-              dnl directory into the executable's runpath, unless it's the
-              dnl standard /usr/lib.
-              if test "$enable_rpath" = no \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem2" \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem3"; then
-                dnl No hardcoding is needed.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-              else
-                dnl Use an explicit option to hardcode DIR into the resulting
-                dnl binary.
-                dnl Potentially add DIR to ltrpathdirs.
-                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                haveit=
-                for x in $ltrpathdirs; do
-                  if test "X$x" = "X$found_dir"; then
-                    haveit=yes
-                    break
-                  fi
-                done
-                if test -z "$haveit"; then
-                  ltrpathdirs="$ltrpathdirs $found_dir"
-                fi
-                dnl The hardcoding into $LIBNAME is system dependent.
-                if test "$acl_hardcode_direct" = yes; then
-                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
-                  dnl resulting binary.
-                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                else
-                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-                    dnl Use an explicit option to hardcode DIR into the resulting
-                    dnl binary.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    dnl Potentially add DIR to rpathdirs.
-                    dnl The rpathdirs will be appended to $LIBNAME at the end.
-                    haveit=
-                    for x in $rpathdirs; do
-                      if test "X$x" = "X$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      rpathdirs="$rpathdirs $found_dir"
-                    fi
-                  else
-                    dnl Rely on "-L$found_dir".
-                    dnl But don't add it if it's already contained in the LDFLAGS
-                    dnl or the already constructed $LIBNAME
-                    haveit=
-                    for x in $LDFLAGS $LIB[]NAME; do
-                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
-                    fi
-                    if test "$acl_hardcode_minus_L" != no; then
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    else
-                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
-                      dnl here, because this doesn't fit in flags passed to the
-                      dnl compiler. So give up. No hardcoding. This affects only
-                      dnl very old systems.
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                dnl Linking with a static library.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
-              else
-                dnl We shouldn't come here, but anyway it's good to have a
-                dnl fallback.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
-              fi
-            fi
-            dnl Assume the include files are nearby.
-            additional_includedir=
-            case "$found_dir" in
-              */$acl_libdirstem | */$acl_libdirstem/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                if test "$name" = '$1'; then
-                  LIB[]NAME[]_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-              */$acl_libdirstem2 | */$acl_libdirstem2/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
-                if test "$name" = '$1'; then
-                  LIB[]NAME[]_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-              */$acl_libdirstem3 | */$acl_libdirstem3/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem3/"'*$,,'`
-                if test "$name" = '$1'; then
-                  LIB[]NAME[]_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-            esac
-            if test "X$additional_includedir" != "X"; then
-              dnl Potentially add $additional_includedir to $INCNAME.
-              dnl But don't add it
-              dnl   1. if it's the standard /usr/include,
-              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
-              dnl   3. if it's already present in $CPPFLAGS or the already
-              dnl      constructed $INCNAME,
-              dnl   4. if it doesn't exist as a directory.
-              if test "X$additional_includedir" != "X/usr/include"; then
-                haveit=
-                if test "X$additional_includedir" = "X/usr/local/include"; then
-                  if test -n "$GCC"; then
-                    case $host_os in
-                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                    esac
-                  fi
-                fi
-                if test -z "$haveit"; then
-                  for x in $CPPFLAGS $INC[]NAME; do
-                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                    if test "X$x" = "X-I$additional_includedir"; then
-                      haveit=yes
-                      break
-                    fi
-                  done
-                  if test -z "$haveit"; then
-                    if test -d "$additional_includedir"; then
-                      dnl Really add $additional_includedir to $INCNAME.
-                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
-                    fi
-                  fi
-                fi
-              fi
-            fi
-            dnl Look for dependencies.
-            if test -n "$found_la"; then
-              dnl Read the .la file. It defines the variables
-              dnl dlname, library_names, old_library, dependency_libs, current,
-              dnl age, revision, installed, dlopen, dlpreopen, libdir.
-              save_libdir="$libdir"
-              case "$found_la" in
-                */* | *\\*) . "$found_la" ;;
-                *) . "./$found_la" ;;
-              esac
-              libdir="$save_libdir"
-              dnl We use only dependency_libs.
-              for dep in $dependency_libs; do
-                case "$dep" in
-                  -L*)
-                    dependency_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                    dnl Potentially add $dependency_libdir to $LIBNAME and $LTLIBNAME.
-                    dnl But don't add it
-                    dnl   1. if it's the standard /usr/lib,
-                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
-                    dnl   3. if it's already present in $LDFLAGS or the already
-                    dnl      constructed $LIBNAME,
-                    dnl   4. if it doesn't exist as a directory.
-                    if test "X$dependency_libdir" != "X/usr/$acl_libdirstem" \
-                       && test "X$dependency_libdir" != "X/usr/$acl_libdirstem2" \
-                       && test "X$dependency_libdir" != "X/usr/$acl_libdirstem3"; then
-                      haveit=
-                      if test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem" \
-                         || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem2" \
-                         || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem3"; then
-                        if test -n "$GCC"; then
-                          case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                          esac
-                        fi
-                      fi
-                      if test -z "$haveit"; then
-                        haveit=
-                        for x in $LDFLAGS $LIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$dependency_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$dependency_libdir"; then
-                            dnl Really add $dependency_libdir to $LIBNAME.
-                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$dependency_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$dependency_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$dependency_libdir"; then
-                            dnl Really add $dependency_libdir to $LTLIBNAME.
-                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$dependency_libdir"
-                          fi
-                        fi
-                      fi
-                    fi
-                    ;;
-                  -R*)
-                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
-                    if test "$enable_rpath" != no; then
-                      dnl Potentially add DIR to rpathdirs.
-                      dnl The rpathdirs will be appended to $LIBNAME at the end.
-                      haveit=
-                      for x in $rpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        rpathdirs="$rpathdirs $dir"
-                      fi
-                      dnl Potentially add DIR to ltrpathdirs.
-                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                      haveit=
-                      for x in $ltrpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        ltrpathdirs="$ltrpathdirs $dir"
-                      fi
-                    fi
-                    ;;
-                  -l*)
-                    dnl Handle this in the next round.
-                    dnl But on GNU systems, ignore -lc options, because
-                    dnl   - linking with libc is the default anyway,
-                    dnl   - linking with libc.a may produce an error
-                    dnl     "/usr/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality in `/usr/lib/libc.a(strcmp.o)' can not be used when making an executable; recompile with -fPIE and relink with -pie"
-                    dnl     or may produce an executable that always crashes, see
-                    dnl     <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
-                    dep=`echo "X$dep" | sed -e 's/^X-l//'`
-                    if test "X$dep" != Xc \
-                       || case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) false ;;
-                            *)                          true ;;
-                          esac; then
-                      names_next_round="$names_next_round $dep"
-                    fi
-                    ;;
-                  *.la)
-                    dnl Handle this in the next round. Throw away the .la's
-                    dnl directory; it is already contained in a preceding -L
-                    dnl option.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-                    ;;
-                  *)
-                    dnl Most likely an immediate library name.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
-                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-            dnl Didn't find the library; assume it is in the system directories
-            dnl known to the linker and runtime loader. (All the system
-            dnl directories known to the linker should also be known to the
-            dnl runtime loader, otherwise the system is severely misconfigured.)
-            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
-          fi
-        fi
-      fi
-    done
-  done
-  if test "X$rpathdirs" != "X"; then
-    if test -n "$acl_hardcode_libdir_separator"; then
-      dnl Weird platform: only the last -rpath option counts, the user must
-      dnl pass all path elements in one option. We can arrange that for a
-      dnl single library, but not when more than one $LIBNAMEs are used.
-      alldirs=
-      for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
-      done
-      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
-      acl_save_libdir="$libdir"
-      libdir="$alldirs"
-      eval flag=\"$acl_hardcode_libdir_flag_spec\"
-      libdir="$acl_save_libdir"
-      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-    else
-      dnl The -rpath options are cumulative.
-      for found_dir in $rpathdirs; do
-        acl_save_libdir="$libdir"
-        libdir="$found_dir"
-        eval flag=\"$acl_hardcode_libdir_flag_spec\"
-        libdir="$acl_save_libdir"
-        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-      done
-    fi
-  fi
-  if test "X$ltrpathdirs" != "X"; then
-    dnl When using libtool, the option that works for both libraries and
-    dnl executables is -R. The -R options are cumulative.
-    for found_dir in $ltrpathdirs; do
-      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
-    done
-  fi
-  popdef([PACKLIBS])
-  popdef([PACKUP])
-  popdef([PACK])
-  popdef([NAME])
-])
-
-dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
-dnl unless already present in VAR.
-dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
-dnl contains two or three consecutive elements that belong together.
-AC_DEFUN([AC_LIB_APPENDTOVAR],
-[
-  for element in [$2]; do
-    haveit=
-    for x in $[$1]; do
-      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      [$1]="${[$1]}${[$1]:+ }$element"
-    fi
-  done
-])
-
-dnl For those cases where a variable contains several -L and -l options
-dnl referring to unknown libraries and directories, this macro determines the
-dnl necessary additional linker options for the runtime path.
-dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
-dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
-dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
-dnl otherwise linking without libtool is assumed.
-AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
-[
-  AC_REQUIRE([AC_LIB_RPATH])
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  $1=
-  if test "$enable_rpath" != no; then
-    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-      dnl Use an explicit option to hardcode directories into the resulting
-      dnl binary.
-      rpathdirs=
-      next=
-      for opt in $2; do
-        if test -n "$next"; then
-          dir="$next"
-          dnl No need to hardcode the standard /usr/lib.
-          if test "X$dir" != "X/usr/$acl_libdirstem" \
-             && test "X$dir" != "X/usr/$acl_libdirstem2" \
-             && test "X$dir" != "X/usr/$acl_libdirstem3"; then
-            rpathdirs="$rpathdirs $dir"
-          fi
-          next=
-        else
-          case $opt in
-            -L) next=yes ;;
-            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
-                 dnl No need to hardcode the standard /usr/lib.
-                 if test "X$dir" != "X/usr/$acl_libdirstem" \
-                    && test "X$dir" != "X/usr/$acl_libdirstem2" \
-                    && test "X$dir" != "X/usr/$acl_libdirstem3"; then
-                   rpathdirs="$rpathdirs $dir"
-                 fi
-                 next= ;;
-            *) next= ;;
-          esac
-        fi
-      done
-      if test "X$rpathdirs" != "X"; then
-        if test -n ""$3""; then
-          dnl libtool is used for linking. Use -R options.
-          for dir in $rpathdirs; do
-            $1="${$1}${$1:+ }-R$dir"
-          done
-        else
-          dnl The linker is used for linking directly.
-          if test -n "$acl_hardcode_libdir_separator"; then
-            dnl Weird platform: only the last -rpath option counts, the user
-            dnl must pass all path elements in one option.
-            alldirs=
-            for dir in $rpathdirs; do
-              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
-            done
-            acl_save_libdir="$libdir"
-            libdir="$alldirs"
-            eval flag=\"$acl_hardcode_libdir_flag_spec\"
-            libdir="$acl_save_libdir"
-            $1="$flag"
-          else
-            dnl The -rpath options are cumulative.
-            for dir in $rpathdirs; do
-              acl_save_libdir="$libdir"
-              libdir="$dir"
-              eval flag=\"$acl_hardcode_libdir_flag_spec\"
-              libdir="$acl_save_libdir"
-              $1="${$1}${$1:+ }$flag"
-            done
-          fi
-        fi
-      fi
-    fi
-  fi
-  AC_SUBST([$1])
-])
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/lib-prefix.m4 b/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/lib-prefix.m4
deleted file mode 100644
index 999f712..0000000
--- a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/lib-prefix.m4
+++ /dev/null
@@ -1,323 +0,0 @@
-# lib-prefix.m4 serial 20
-dnl Copyright (C) 2001-2005, 2008-2022 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-dnl to access previously installed libraries. The basic assumption is that
-dnl a user will want packages to use other packages he previously installed
-dnl with the same --prefix option.
-dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-dnl libraries, but is otherwise very convenient.
-AC_DEFUN([AC_LIB_PREFIX],
-[
-  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-  ])
-  AC_ARG_WITH([lib-prefix],
-[[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
-  --without-lib-prefix    don't search for libraries in includedir and libdir]],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-      fi
-    fi
-])
-  if test $use_additional = yes; then
-    dnl Potentially add $additional_includedir to $CPPFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/include,
-    dnl   2. if it's already present in $CPPFLAGS,
-    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_includedir" != "X/usr/include"; then
-      haveit=
-      for x in $CPPFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-I$additional_includedir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_includedir" = "X/usr/local/include"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_includedir"; then
-            dnl Really add $additional_includedir to $CPPFLAGS.
-            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
-          fi
-        fi
-      fi
-    fi
-    dnl Potentially add $additional_libdir to $LDFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/lib,
-    dnl   2. if it's already present in $LDFLAGS,
-    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
-      haveit=
-      for x in $LDFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-L$additional_libdir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux*) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_libdir"; then
-            dnl Really add $additional_libdir to $LDFLAGS.
-            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
-          fi
-        fi
-      fi
-    fi
-  fi
-])
-
-dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
-dnl acl_final_exec_prefix, containing the values to which $prefix and
-dnl $exec_prefix will expand at the end of the configure script.
-AC_DEFUN([AC_LIB_PREPARE_PREFIX],
-[
-  dnl Unfortunately, prefix and exec_prefix get only finally determined
-  dnl at the end of configure.
-  if test "X$prefix" = "XNONE"; then
-    acl_final_prefix="$ac_default_prefix"
-  else
-    acl_final_prefix="$prefix"
-  fi
-  if test "X$exec_prefix" = "XNONE"; then
-    acl_final_exec_prefix='${prefix}'
-  else
-    acl_final_exec_prefix="$exec_prefix"
-  fi
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
-  prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
-dnl variables prefix and exec_prefix bound to the values they will have
-dnl at the end of the configure script.
-AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
-[
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  $1
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_PREPARE_MULTILIB creates
-dnl - a function acl_is_expected_elfclass, that tests whether standard input
-dn;   has a 32-bit or 64-bit ELF header, depending on the host CPU ABI,
-dnl - 3 variables acl_libdirstem, acl_libdirstem2, acl_libdirstem3, containing
-dnl   the basename of the libdir to try in turn, either "lib" or "lib64" or
-dnl   "lib/64" or "lib32" or "lib/sparcv9" or "lib/amd64" or similar.
-AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
-[
-  dnl There is no formal standard regarding lib, lib32, and lib64.
-  dnl On most glibc systems, the current practice is that on a system supporting
-  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
-  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. However, on
-  dnl Arch Linux based distributions, it's the opposite: 32-bit libraries go
-  dnl under $prefix/lib32 and 64-bit libraries go under $prefix/lib.
-  dnl We determine the compiler's default mode by looking at the compiler's
-  dnl library search path. If at least one of its elements ends in /lib64 or
-  dnl points to a directory whose absolute pathname ends in /lib64, we use that
-  dnl for 64-bit ABIs. Similarly for 32-bit ABIs. Otherwise we use the default,
-  dnl namely "lib".
-  dnl On Solaris systems, the current practice is that on a system supporting
-  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
-  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
-  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT])
-
-  AC_CACHE_CHECK([for ELF binary format], [gl_cv_elf],
-    [AC_EGREP_CPP([Extensible Linking Format],
-       [#if defined __ELF__ || (defined __linux__ && defined __EDG__)
-        Extensible Linking Format
-        #endif
-       ],
-       [gl_cv_elf=yes],
-       [gl_cv_elf=no])
-    ])
-  if test $gl_cv_elf = yes; then
-    # Extract the ELF class of a file (5th byte) in decimal.
-    # Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header
-    if od -A x < /dev/null >/dev/null 2>/dev/null; then
-      # Use POSIX od.
-      func_elfclass ()
-      {
-        od -A n -t d1 -j 4 -N 1
-      }
-    else
-      # Use BSD hexdump.
-      func_elfclass ()
-      {
-        dd bs=1 count=1 skip=4 2>/dev/null | hexdump -e '1/1 "%3d "'
-        echo
-      }
-    fi
-    # Use 'expr', not 'test', to compare the values of func_elfclass, because on
-    # Solaris 11 OpenIndiana and Solaris 11 OmniOS, the result is 001 or 002,
-    # not 1 or 2.
-changequote(,)dnl
-    case $HOST_CPU_C_ABI_32BIT in
-      yes)
-        # 32-bit ABI.
-        acl_is_expected_elfclass ()
-        {
-          expr "`func_elfclass | sed -e 's/[ 	]//g'`" = 1 > /dev/null
-        }
-        ;;
-      no)
-        # 64-bit ABI.
-        acl_is_expected_elfclass ()
-        {
-          expr "`func_elfclass | sed -e 's/[ 	]//g'`" = 2 > /dev/null
-        }
-        ;;
-      *)
-        # Unknown.
-        acl_is_expected_elfclass ()
-        {
-          :
-        }
-        ;;
-    esac
-changequote([,])dnl
-  else
-    acl_is_expected_elfclass ()
-    {
-      :
-    }
-  fi
-
-  dnl Allow the user to override the result by setting acl_cv_libdirstems.
-  AC_CACHE_CHECK([for the common suffixes of directories in the library search path],
-    [acl_cv_libdirstems],
-    [dnl Try 'lib' first, because that's the default for libdir in GNU, see
-     dnl <https://www.gnu.org/prep/standards/html_node/Directory-Variables.html>.
-     acl_libdirstem=lib
-     acl_libdirstem2=
-     acl_libdirstem3=
-     case "$host_os" in
-       solaris*)
-         dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
-         dnl <https://docs.oracle.com/cd/E19253-01/816-5138/dev-env/index.html>.
-         dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
-         dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
-         dnl symlink is missing, so we set acl_libdirstem2 too.
-         if test $HOST_CPU_C_ABI_32BIT = no; then
-           acl_libdirstem2=lib/64
-           case "$host_cpu" in
-             sparc*)        acl_libdirstem3=lib/sparcv9 ;;
-             i*86 | x86_64) acl_libdirstem3=lib/amd64 ;;
-           esac
-         fi
-         ;;
-       *)
-         dnl If $CC generates code for a 32-bit ABI, the libraries are
-         dnl surely under $prefix/lib or $prefix/lib32, not $prefix/lib64.
-         dnl Similarly, if $CC generates code for a 64-bit ABI, the libraries
-         dnl are surely under $prefix/lib or $prefix/lib64, not $prefix/lib32.
-         dnl Find the compiler's search path. However, non-system compilers
-         dnl sometimes have odd library search paths. But we can't simply invoke
-         dnl '/usr/bin/gcc -print-search-dirs' because that would not take into
-         dnl account the -m32/-m31 or -m64 options from the $CC or $CFLAGS.
-         searchpath=`(LC_ALL=C $CC $CPPFLAGS $CFLAGS -print-search-dirs) 2>/dev/null \
-                     | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-         if test $HOST_CPU_C_ABI_32BIT != no; then
-           # 32-bit or unknown ABI.
-           if test -d /usr/lib32; then
-             acl_libdirstem2=lib32
-           fi
-         fi
-         if test $HOST_CPU_C_ABI_32BIT != yes; then
-           # 64-bit or unknown ABI.
-           if test -d /usr/lib64; then
-             acl_libdirstem3=lib64
-           fi
-         fi
-         if test -n "$searchpath"; then
-           acl_save_IFS="${IFS= 	}"; IFS=":"
-           for searchdir in $searchpath; do
-             if test -d "$searchdir"; then
-               case "$searchdir" in
-                 */lib32/ | */lib32 ) acl_libdirstem2=lib32 ;;
-                 */lib64/ | */lib64 ) acl_libdirstem3=lib64 ;;
-                 */../ | */.. )
-                   # Better ignore directories of this form. They are misleading.
-                   ;;
-                 *) searchdir=`cd "$searchdir" && pwd`
-                    case "$searchdir" in
-                      */lib32 ) acl_libdirstem2=lib32 ;;
-                      */lib64 ) acl_libdirstem3=lib64 ;;
-                    esac ;;
-               esac
-             fi
-           done
-           IFS="$acl_save_IFS"
-           if test $HOST_CPU_C_ABI_32BIT = yes; then
-             # 32-bit ABI.
-             acl_libdirstem3=
-           fi
-           if test $HOST_CPU_C_ABI_32BIT = no; then
-             # 64-bit ABI.
-             acl_libdirstem2=
-           fi
-         fi
-         ;;
-     esac
-     test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-     test -n "$acl_libdirstem3" || acl_libdirstem3="$acl_libdirstem"
-     acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2,$acl_libdirstem3"
-    ])
-  dnl Decompose acl_cv_libdirstems into acl_libdirstem, acl_libdirstem2, and
-  dnl acl_libdirstem3.
-changequote(,)dnl
-  acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'`
-  acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,//' -e 's/,.*//'`
-  acl_libdirstem3=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,[^,]*,//' -e 's/,.*//'`
-changequote([,])dnl
-])
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/nls.m4 b/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/nls.m4
deleted file mode 100644
index 7c11c90..0000000
--- a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/nls.m4
+++ /dev/null
@@ -1,32 +0,0 @@
-# nls.m4 serial 6 (gettext-0.20.2)
-dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019-2022 Free
-dnl Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Lesser General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Lesser General Public License, and the rest of the GNU
-dnl gettext package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ([2.50])
-
-AC_DEFUN([AM_NLS],
-[
-  AC_MSG_CHECKING([whether NLS is requested])
-  dnl Default is enabled NLS
-  AC_ARG_ENABLE([nls],
-    [  --disable-nls           do not use Native Language Support],
-    USE_NLS=$enableval, USE_NLS=yes)
-  AC_MSG_RESULT([$USE_NLS])
-  AC_SUBST([USE_NLS])
-])
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/po.m4 b/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/po.m4
deleted file mode 100644
index 2f14f8e..0000000
--- a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/po.m4
+++ /dev/null
@@ -1,454 +0,0 @@
-# po.m4 serial 32 (gettext-0.21.1)
-dnl Copyright (C) 1995-2014, 2016, 2018-2022 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Lesser General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Lesser General Public License, and the rest of the GNU
-dnl gettext package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ([2.60])
-
-dnl Checks for all prerequisites of the po subdirectory.
-AC_DEFUN([AM_PO_SUBDIRS],
-[
-  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-  AC_REQUIRE([AC_PROG_INSTALL])dnl
-  AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-  AC_REQUIRE([AC_PROG_SED])dnl
-  AC_REQUIRE([AM_NLS])dnl
-
-  dnl Release version of the gettext macros. This is used to ensure that
-  dnl the gettext macros and po/Makefile.in.in are in sync.
-  AC_SUBST([GETTEXT_MACRO_VERSION], [0.20])
-
-  dnl Perform the following tests also if --disable-nls has been given,
-  dnl because they are needed for "make dist" to work.
-
-  dnl Search for GNU msgfmt in the PATH.
-  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
-  dnl The second test excludes FreeBSD msgfmt.
-  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-    [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
-     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-    :)
-  AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
-
-  dnl Test whether it is GNU msgfmt >= 0.15.
-changequote(,)dnl
-  case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
-    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
-    *) GMSGFMT_015=$GMSGFMT ;;
-  esac
-changequote([,])dnl
-  AC_SUBST([GMSGFMT_015])
-
-  dnl Search for GNU xgettext 0.12 or newer in the PATH.
-  dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
-  dnl The second test excludes FreeBSD xgettext.
-  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-    [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
-     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-    :)
-  dnl Remove leftover from FreeBSD xgettext call.
-  rm -f messages.po
-
-  dnl Test whether it is GNU xgettext >= 0.15.
-changequote(,)dnl
-  case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
-    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
-    *) XGETTEXT_015=$XGETTEXT ;;
-  esac
-changequote([,])dnl
-  AC_SUBST([XGETTEXT_015])
-
-  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
-  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
-    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
-
-  dnl Test whether it is GNU msgmerge >= 0.20.
-  if LC_ALL=C $MSGMERGE --help | grep ' --for-msgfmt ' >/dev/null; then
-    MSGMERGE_FOR_MSGFMT_OPTION='--for-msgfmt'
-  else
-    dnl Test whether it is GNU msgmerge >= 0.12.
-    if LC_ALL=C $MSGMERGE --help | grep ' --no-fuzzy-matching ' >/dev/null; then
-      MSGMERGE_FOR_MSGFMT_OPTION='--no-fuzzy-matching --no-location --quiet'
-    else
-      dnl With these old versions, $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) is
-      dnl slow. But this is not a big problem, as such old gettext versions are
-      dnl hardly in use any more.
-      MSGMERGE_FOR_MSGFMT_OPTION='--no-location --quiet'
-    fi
-  fi
-  AC_SUBST([MSGMERGE_FOR_MSGFMT_OPTION])
-
-  dnl Support for AM_XGETTEXT_OPTION.
-  test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
-  AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
-
-  AC_CONFIG_COMMANDS([po-directories], [[
-    for ac_file in $CONFIG_FILES; do
-      # Support "outfile[:infile[:infile...]]"
-      case "$ac_file" in
-        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-      esac
-      # PO directories have a Makefile.in generated from Makefile.in.in.
-      case "$ac_file" in */Makefile.in)
-        # Adjust a relative srcdir.
-        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-        ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
-        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-        # In autoconf-2.13 it is called $ac_given_srcdir.
-        # In autoconf-2.50 it is called $srcdir.
-        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-        case "$ac_given_srcdir" in
-          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-          /*) top_srcdir="$ac_given_srcdir" ;;
-          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-        esac
-        # Treat a directory as a PO directory if and only if it has a
-        # POTFILES.in file. This allows packages to have multiple PO
-        # directories under different names or in different locations.
-        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-          rm -f "$ac_dir/POTFILES"
-          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-          gt_tab=`printf '\t'`
-          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
-          POMAKEFILEDEPS="POTFILES.in"
-          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
-          # on $ac_dir but don't depend on user-specified configuration
-          # parameters.
-          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-            # The LINGUAS file contains the set of available languages.
-            if test -n "$OBSOLETE_ALL_LINGUAS"; then
-              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
-            fi
-            ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
-          else
-            # The set of available languages was given in configure.in.
-            ALL_LINGUAS=$OBSOLETE_ALL_LINGUAS
-          fi
-          # Compute POFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
-          # Compute UPDATEPOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
-          # Compute DUMMYPOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
-          # Compute GMOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
-          case "$ac_given_srcdir" in
-            .) srcdirpre= ;;
-            *) srcdirpre='$(srcdir)/' ;;
-          esac
-          POFILES=
-          UPDATEPOFILES=
-          DUMMYPOFILES=
-          GMOFILES=
-          for lang in $ALL_LINGUAS; do
-            POFILES="$POFILES $srcdirpre$lang.po"
-            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
-            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
-            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-          done
-          # CATALOGS depends on both $ac_dir and the user's LINGUAS
-          # environment variable.
-          INST_LINGUAS=
-          if test -n "$ALL_LINGUAS"; then
-            for presentlang in $ALL_LINGUAS; do
-              useit=no
-              if test "%UNSET%" != "$LINGUAS"; then
-                desiredlanguages="$LINGUAS"
-              else
-                desiredlanguages="$ALL_LINGUAS"
-              fi
-              for desiredlang in $desiredlanguages; do
-                # Use the presentlang catalog if desiredlang is
-                #   a. equal to presentlang, or
-                #   b. a variant of presentlang (because in this case,
-                #      presentlang can be used as a fallback for messages
-                #      which are not translated in the desiredlang catalog).
-                case "$desiredlang" in
-                  "$presentlang" | "$presentlang"_* | "$presentlang".* | "$presentlang"@*)
-                    useit=yes
-                    ;;
-                esac
-              done
-              if test $useit = yes; then
-                INST_LINGUAS="$INST_LINGUAS $presentlang"
-              fi
-            done
-          fi
-          CATALOGS=
-          if test -n "$INST_LINGUAS"; then
-            for lang in $INST_LINGUAS; do
-              CATALOGS="$CATALOGS $lang.gmo"
-            done
-          fi
-          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
-          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
-          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
-            if test -f "$f"; then
-              case "$f" in
-                *.orig | *.bak | *~) ;;
-                *) cat "$f" >> "$ac_dir/Makefile" ;;
-              esac
-            fi
-          done
-        fi
-        ;;
-      esac
-    done]],
-   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
-    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS.
-    OBSOLETE_ALL_LINGUAS="$ALL_LINGUAS"
-    # Capture the value of LINGUAS because we need it to compute CATALOGS.
-    LINGUAS="${LINGUAS-%UNSET%}"
-   ])
-])
-
-dnl Postprocesses a Makefile in a directory containing PO files.
-AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
-[
-  # When this code is run, in config.status, two variables have already been
-  # set:
-  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
-  # - LINGUAS is the value of the environment variable LINGUAS at configure
-  #   time.
-
-changequote(,)dnl
-  # Adjust a relative srcdir.
-  ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-  ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
-  ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-  # In autoconf-2.13 it is called $ac_given_srcdir.
-  # In autoconf-2.50 it is called $srcdir.
-  test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-  case "$ac_given_srcdir" in
-    .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-    /*) top_srcdir="$ac_given_srcdir" ;;
-    *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-  esac
-
-  # Find a way to echo strings without interpreting backslash.
-  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
-    gt_echo='echo'
-  else
-    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
-      gt_echo='printf %s\n'
-    else
-      echo_func () {
-        cat <<EOT
-$*
-EOT
-      }
-      gt_echo='echo_func'
-    fi
-  fi
-
-  # A sed script that extracts the value of VARIABLE from a Makefile.
-  tab=`printf '\t'`
-  sed_x_variable='
-# Test if the hold space is empty.
-x
-s/P/P/
-x
-ta
-# Yes it was empty. Look if we have the expected variable definition.
-/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
-  # Seen the first line of the variable definition.
-  s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
-  ba
-}
-bd
-:a
-# Here we are processing a line from the variable definition.
-# Remove comment, more precisely replace it with a space.
-s/#.*$/ /
-# See if the line ends in a backslash.
-tb
-:b
-s/\\$//
-# Print the line, without the trailing backslash.
-p
-tc
-# There was no trailing backslash. The end of the variable definition is
-# reached. Clear the hold space.
-s/^.*$//
-x
-bd
-:c
-# A trailing backslash means that the variable definition continues in the
-# next line. Put a nonempty string into the hold space to indicate this.
-s/^.*$/P/
-x
-:d
-'
-changequote([,])dnl
-
-  # Set POTFILES to the value of the Makefile variable POTFILES.
-  sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
-  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
-  # Compute POTFILES_DEPS as
-  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-  POTFILES_DEPS=
-  for file in $POTFILES; do
-    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
-  done
-  POMAKEFILEDEPS=""
-
-  if test -n "$OBSOLETE_ALL_LINGUAS"; then
-    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
-  fi
-  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-    # The LINGUAS file contains the set of available languages.
-    ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
-  else
-    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
-    sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
-    ALL_LINGUAS=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
-  fi
-  # Compute POFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
-  # Compute UPDATEPOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
-  # Compute DUMMYPOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
-  # Compute GMOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
-  # Compute PROPERTIESFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).properties)
-  # Compute CLASSFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).class)
-  # Compute QMFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
-  # Compute MSGFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
-  # Compute RESOURCESDLLFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
-  case "$ac_given_srcdir" in
-    .) srcdirpre= ;;
-    *) srcdirpre='$(srcdir)/' ;;
-  esac
-  POFILES=
-  UPDATEPOFILES=
-  DUMMYPOFILES=
-  GMOFILES=
-  PROPERTIESFILES=
-  CLASSFILES=
-  QMFILES=
-  MSGFILES=
-  RESOURCESDLLFILES=
-  for lang in $ALL_LINGUAS; do
-    POFILES="$POFILES $srcdirpre$lang.po"
-    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
-    DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
-    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-    PROPERTIESFILES="$PROPERTIESFILES \$(srcdir)/\$(DOMAIN)_$lang.properties"
-    CLASSFILES="$CLASSFILES \$(srcdir)/\$(DOMAIN)_$lang.class"
-    QMFILES="$QMFILES $srcdirpre$lang.qm"
-    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
-    frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-    RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
-  done
-  # CATALOGS depends on both $ac_dir and the user's LINGUAS
-  # environment variable.
-  INST_LINGUAS=
-  if test -n "$ALL_LINGUAS"; then
-    for presentlang in $ALL_LINGUAS; do
-      useit=no
-      if test "%UNSET%" != "$LINGUAS"; then
-        desiredlanguages="$LINGUAS"
-      else
-        desiredlanguages="$ALL_LINGUAS"
-      fi
-      for desiredlang in $desiredlanguages; do
-        # Use the presentlang catalog if desiredlang is
-        #   a. equal to presentlang, or
-        #   b. a variant of presentlang (because in this case,
-        #      presentlang can be used as a fallback for messages
-        #      which are not translated in the desiredlang catalog).
-        case "$desiredlang" in
-          "$presentlang" | "$presentlang"_* | "$presentlang".* | "$presentlang"@*)
-            useit=yes
-            ;;
-        esac
-      done
-      if test $useit = yes; then
-        INST_LINGUAS="$INST_LINGUAS $presentlang"
-      fi
-    done
-  fi
-  CATALOGS=
-  JAVACATALOGS=
-  QTCATALOGS=
-  TCLCATALOGS=
-  CSHARPCATALOGS=
-  if test -n "$INST_LINGUAS"; then
-    for lang in $INST_LINGUAS; do
-      CATALOGS="$CATALOGS $lang.gmo"
-      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
-      QTCATALOGS="$QTCATALOGS $lang.qm"
-      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
-      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-      CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
-    done
-  fi
-
-  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
-  tab=`printf '\t'`
-  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
-    # Add dependencies that cannot be formulated as a simple suffix rule.
-    for lang in $ALL_LINGUAS; do
-      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-      cat >> "$ac_file.tmp" <<EOF
-$frobbedlang.msg: $lang.po
-${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
-${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
-    done
-  fi
-  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
-    # Add dependencies that cannot be formulated as a simple suffix rule.
-    for lang in $ALL_LINGUAS; do
-      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-      cat >> "$ac_file.tmp" <<EOF
-$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
-${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
-${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
-    done
-  fi
-  if test -n "$POMAKEFILEDEPS"; then
-    cat >> "$ac_file.tmp" <<EOF
-Makefile: $POMAKEFILEDEPS
-EOF
-  fi
-  mv "$ac_file.tmp" "$ac_file"
-])
-
-dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
-AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
-[
-  XGETTEXT_EXTRA_OPTIONS=
-])
-
-dnl Registers an option to be passed to xgettext in the po subdirectory.
-AC_DEFUN([AM_XGETTEXT_OPTION],
-[
-  AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
-  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
-])
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/progtest.m4 b/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/progtest.m4
deleted file mode 100644
index 4a5b0b4..0000000
--- a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/aclocal/progtest.m4
+++ /dev/null
@@ -1,91 +0,0 @@
-# progtest.m4 serial 9 (gettext-0.21.1)
-dnl Copyright (C) 1996-2003, 2005, 2008-2022 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Lesser General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Lesser General Public License, and the rest of the GNU
-dnl gettext package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-AC_PREREQ([2.53])
-
-# Search path for a program which passes the given test.
-
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-[
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
-  # contains only /bin. Note that ksh looks also at the FPATH variable,
-  # so we have to set that as well for the test.
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
-           || PATH_SEPARATOR=';'
-       }
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  ac_executable_p="test -x"
-else
-  ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL([ac_cv_path_$1],
-[case "[$]$1" in
-  [[\\/]]* | ?:[[\\/]]*)
-    ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
-    ;;
-  *)
-    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in m4_if([$5], , $PATH, [$5]); do
-      IFS="$ac_save_IFS"
-      test -z "$ac_dir" && ac_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
-          echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
-          if [$3]; then
-            ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
-            break 2
-          fi
-        fi
-      done
-    done
-    IFS="$ac_save_IFS"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-m4_if([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
-    ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test m4_if([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
-  AC_MSG_RESULT([$][$1])
-else
-  AC_MSG_RESULT([no])
-fi
-AC_SUBST([$1])dnl
-])
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/config.rpath b/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/config.rpath
deleted file mode 100755
index 1e1ab67..0000000
--- a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/config.rpath
+++ /dev/null
@@ -1,684 +0,0 @@
-#! /bin/sh
-# Output a system dependent set of variables, describing how to set the
-# run time search path of shared libraries in an executable.
-#
-#   Copyright 1996-2022 Free Software Foundation, Inc.
-#   Taken from GNU libtool, 2001
-#   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-#   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.
-#
-# The first argument passed to this file is the canonical host specification,
-#    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or
-#    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
-# should be set by the caller.
-#
-# The set of defined variables is at the end of this script.
-
-# Known limitations:
-# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
-#   than 256 bytes, otherwise the compiler driver will dump core. The only
-#   known workaround is to choose shorter directory names for the build
-#   directory and/or the installation directory.
-
-# All known linkers require a '.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-shrext=.so
-
-host="$1"
-host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-# Code taken from libtool.m4's _LT_CC_BASENAME.
-
-for cc_temp in $CC""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
-
-# Code taken from libtool.m4's _LT_COMPILER_PIC.
-
-wl=
-if test "$GCC" = yes; then
-  wl='-Wl,'
-else
-  case "$host_os" in
-    aix*)
-      wl='-Wl,'
-      ;;
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      ;;
-    hpux9* | hpux10* | hpux11*)
-      wl='-Wl,'
-      ;;
-    irix5* | irix6* | nonstopux*)
-      wl='-Wl,'
-      ;;
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-        ecc*)
-          wl='-Wl,'
-          ;;
-        icc* | ifort*)
-          wl='-Wl,'
-          ;;
-        lf95*)
-          wl='-Wl,'
-          ;;
-        nagfor*)
-          wl='-Wl,-Wl,,'
-          ;;
-        pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-          wl='-Wl,'
-          ;;
-        ccc*)
-          wl='-Wl,'
-          ;;
-        xl* | bgxl* | bgf* | mpixl*)
-          wl='-Wl,'
-          ;;
-        como)
-          wl='-lopt='
-          ;;
-        *)
-          case `$CC -V 2>&1 | sed 5q` in
-            *Sun\ F* | *Sun*Fortran*)
-              wl=
-              ;;
-            *Sun\ C*)
-              wl='-Wl,'
-              ;;
-          esac
-          ;;
-      esac
-      ;;
-    newsos6)
-      ;;
-    *nto* | *qnx*)
-      ;;
-    osf3* | osf4* | osf5*)
-      wl='-Wl,'
-      ;;
-    rdos*)
-      ;;
-    solaris*)
-      case $cc_basename in
-        f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-          wl='-Qoption ld '
-          ;;
-        *)
-          wl='-Wl,'
-          ;;
-      esac
-      ;;
-    sunos4*)
-      wl='-Qoption ld '
-      ;;
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      wl='-Wl,'
-      ;;
-    sysv4*MP*)
-      ;;
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      wl='-Wl,'
-      ;;
-    unicos*)
-      wl='-Wl,'
-      ;;
-    uts4*)
-      ;;
-  esac
-fi
-
-# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
-
-hardcode_libdir_flag_spec=
-hardcode_libdir_separator=
-hardcode_direct=no
-hardcode_minus_L=no
-
-case "$host_os" in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-esac
-
-ld_shlibs=yes
-if test "$with_gnu_ld" = yes; then
-  # Set some defaults for GNU ld with shared library support. These
-  # are reset later if shared libraries are not supported. Putting them
-  # here allows them to be overridden if necessary.
-  # Unlike libtool, we use -rpath here, not --rpath, since the documented
-  # option of GNU ld is called -rpath, not --rpath.
-  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-  case "$host_os" in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-        ld_shlibs=no
-      fi
-      ;;
-    amigaos*)
-      case "$host_cpu" in
-        powerpc)
-          ;;
-        m68k)
-          hardcode_libdir_flag_spec='-L$libdir'
-          hardcode_minus_L=yes
-          ;;
-      esac
-      ;;
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        :
-      else
-        ld_shlibs=no
-      fi
-      ;;
-    cygwin* | mingw* | pw32* | cegcc*)
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        :
-      else
-        ld_shlibs=no
-      fi
-      ;;
-    haiku*)
-      ;;
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      ;;
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        :
-      else
-        ld_shlibs=no
-      fi
-      ;;
-    netbsd*)
-      ;;
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-        ld_shlibs=no
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        :
-      else
-        ld_shlibs=no
-      fi
-      ;;
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-          ld_shlibs=no
-          ;;
-        *)
-          if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-            hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-          else
-            ld_shlibs=no
-          fi
-          ;;
-      esac
-      ;;
-    sunos4*)
-      hardcode_direct=yes
-      ;;
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        :
-      else
-        ld_shlibs=no
-      fi
-      ;;
-  esac
-  if test "$ld_shlibs" = no; then
-    hardcode_libdir_flag_spec=
-  fi
-else
-  case "$host_os" in
-    aix3*)
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes; then
-        # Neither direct hardcoding nor static linking is supported with a
-        # broken collect2.
-        hardcode_direct=unsupported
-      fi
-      ;;
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-        # On IA64, the linker does run time linking by default, so we don't
-        # have to do anything special.
-        aix_use_runtimelinking=no
-      else
-        aix_use_runtimelinking=no
-        # Test if we are trying to use run time linking or normal
-        # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-        # need to do runtime linking.
-        case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-          for ld_flag in $LDFLAGS; do
-            if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-              aix_use_runtimelinking=yes
-              break
-            fi
-          done
-          ;;
-        esac
-      fi
-      hardcode_direct=yes
-      hardcode_libdir_separator=':'
-      if test "$GCC" = yes; then
-        case $host_os in aix4.[012]|aix4.[012].*)
-          collect2name=`${CC} -print-prog-name=collect2`
-          if test -f "$collect2name" && \
-            strings "$collect2name" | grep resolve_lib_name >/dev/null
-          then
-            # We have reworked collect2
-            :
-          else
-            # We have old collect2
-            hardcode_direct=unsupported
-            hardcode_minus_L=yes
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_libdir_separator=
-          fi
-          ;;
-        esac
-      fi
-      # Begin _LT_AC_SYS_LIBPATH_AIX.
-      echo 'int main () { return 0; }' > conftest.c
-      ${CC} ${LDFLAGS} conftest.c -o conftest
-      aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-      if test -z "$aix_libpath"; then
-        aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-      fi
-      if test -z "$aix_libpath"; then
-        aix_libpath="/usr/lib:/lib"
-      fi
-      rm -f conftest.c conftest
-      # End _LT_AC_SYS_LIBPATH_AIX.
-      if test "$aix_use_runtimelinking" = yes; then
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-      else
-        if test "$host_cpu" = ia64; then
-          hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-        else
-          hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        fi
-      fi
-      ;;
-    amigaos*)
-      case "$host_cpu" in
-        powerpc)
-          ;;
-        m68k)
-          hardcode_libdir_flag_spec='-L$libdir'
-          hardcode_minus_L=yes
-          ;;
-      esac
-      ;;
-    bsdi[45]*)
-      ;;
-    cygwin* | mingw* | pw32* | cegcc*)
-      # 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=' '
-      libext=lib
-      ;;
-    darwin* | rhapsody*)
-      hardcode_direct=no
-      if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then
-        :
-      else
-        ld_shlibs=no
-      fi
-      ;;
-    dgux*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      ;;
-    freebsd2.[01]*)
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      ;;
-    freebsd* | dragonfly* | midnightbsd*)
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      ;;
-    hpux9*)
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      ;;
-    hpux10*)
-      if test "$with_gnu_ld" = no; then
-        hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-        hardcode_libdir_separator=:
-        hardcode_direct=yes
-        # hardcode_minus_L: Not really in the search PATH,
-        # but as the default location of the library.
-        hardcode_minus_L=yes
-      fi
-      ;;
-    hpux11*)
-      if test "$with_gnu_ld" = no; then
-        hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-        hardcode_libdir_separator=:
-        case $host_cpu in
-          hppa*64*|ia64*)
-            hardcode_direct=no
-            ;;
-          *)
-            hardcode_direct=yes
-            # hardcode_minus_L: Not really in the search PATH,
-            # but as the default location of the library.
-            hardcode_minus_L=yes
-            ;;
-        esac
-      fi
-      ;;
-    irix5* | irix6* | nonstopux*)
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-    netbsd*)
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      ;;
-    newsos6)
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-    *nto* | *qnx*)
-      ;;
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-        hardcode_direct=yes
-        if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-          hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-        else
-          case "$host_os" in
-            openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-              hardcode_libdir_flag_spec='-R$libdir'
-              ;;
-            *)
-              hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-              ;;
-          esac
-        fi
-      else
-        ld_shlibs=no
-      fi
-      ;;
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      ;;
-    osf3*)
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-    osf4* | osf5*)
-      if test "$GCC" = yes; then
-        hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-        # Both cc and cxx compiler support -rpath directly
-        hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      hardcode_libdir_separator=:
-      ;;
-    solaris*)
-      hardcode_libdir_flag_spec='-R$libdir'
-      ;;
-    sunos4*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      ;;
-    sysv4)
-      case $host_vendor in
-        sni)
-          hardcode_direct=yes # is this really true???
-          ;;
-        siemens)
-          hardcode_direct=no
-          ;;
-        motorola)
-          hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-          ;;
-      esac
-      ;;
-    sysv4.3*)
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-        ld_shlibs=yes
-      fi
-      ;;
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      ;;
-    sysv5* | sco3.2v5* | sco5v6*)
-      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      hardcode_libdir_separator=':'
-      ;;
-    uts4*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      ;;
-    *)
-      ld_shlibs=no
-      ;;
-  esac
-fi
-
-# Check dynamic linker characteristics
-# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
-# Unlike libtool.m4, here we don't care about _all_ names of the library, but
-# only about the one the linker finds when passed -lNAME. This is the last
-# element of library_names_spec in libtool.m4, or possibly two of them if the
-# linker has special search rules.
-library_names_spec=      # the last element of library_names_spec in libtool.m4
-libname_spec='lib$name'
-case "$host_os" in
-  aix3*)
-    library_names_spec='$libname.a'
-    ;;
-  aix[4-9]*)
-    library_names_spec='$libname$shrext'
-    ;;
-  amigaos*)
-    case "$host_cpu" in
-      powerpc*)
-        library_names_spec='$libname$shrext' ;;
-      m68k)
-        library_names_spec='$libname.a' ;;
-    esac
-    ;;
-  beos*)
-    library_names_spec='$libname$shrext'
-    ;;
-  bsdi[45]*)
-    library_names_spec='$libname$shrext'
-    ;;
-  cygwin* | mingw* | pw32* | cegcc*)
-    shrext=.dll
-    library_names_spec='$libname.dll.a $libname.lib'
-    ;;
-  darwin* | rhapsody*)
-    shrext=.dylib
-    library_names_spec='$libname$shrext'
-    ;;
-  dgux*)
-    library_names_spec='$libname$shrext'
-    ;;
-  freebsd[23].*)
-    library_names_spec='$libname$shrext$versuffix'
-    ;;
-  freebsd* | dragonfly* | midnightbsd*)
-    library_names_spec='$libname$shrext'
-    ;;
-  gnu*)
-    library_names_spec='$libname$shrext'
-    ;;
-  haiku*)
-    library_names_spec='$libname$shrext'
-    ;;
-  hpux9* | hpux10* | hpux11*)
-    case $host_cpu in
-      ia64*)
-        shrext=.so
-        ;;
-      hppa*64*)
-        shrext=.sl
-        ;;
-      *)
-        shrext=.sl
-        ;;
-    esac
-    library_names_spec='$libname$shrext'
-    ;;
-  interix[3-9]*)
-    library_names_spec='$libname$shrext'
-    ;;
-  irix5* | irix6* | nonstopux*)
-    library_names_spec='$libname$shrext'
-    case "$host_os" in
-      irix5* | nonstopux*)
-        libsuff= shlibsuff=
-        ;;
-      *)
-        case $LD in
-          *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
-          *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
-          *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
-          *) libsuff= shlibsuff= ;;
-        esac
-        ;;
-    esac
-    ;;
-  linux*oldld* | linux*aout* | linux*coff*)
-    ;;
-  linux* | k*bsd*-gnu | kopensolaris*-gnu)
-    library_names_spec='$libname$shrext'
-    ;;
-  knetbsd*-gnu)
-    library_names_spec='$libname$shrext'
-    ;;
-  netbsd*)
-    library_names_spec='$libname$shrext'
-    ;;
-  newsos6)
-    library_names_spec='$libname$shrext'
-    ;;
-  *nto* | *qnx*)
-    library_names_spec='$libname$shrext'
-    ;;
-  openbsd*)
-    library_names_spec='$libname$shrext$versuffix'
-    ;;
-  os2*)
-    libname_spec='$name'
-    shrext=.dll
-    library_names_spec='$libname.a'
-    ;;
-  osf3* | osf4* | osf5*)
-    library_names_spec='$libname$shrext'
-    ;;
-  rdos*)
-    ;;
-  solaris*)
-    library_names_spec='$libname$shrext'
-    ;;
-  sunos4*)
-    library_names_spec='$libname$shrext$versuffix'
-    ;;
-  sysv4 | sysv4.3*)
-    library_names_spec='$libname$shrext'
-    ;;
-  sysv4*MP*)
-    library_names_spec='$libname$shrext'
-    ;;
-  sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-    library_names_spec='$libname$shrext'
-    ;;
-  tpf*)
-    library_names_spec='$libname$shrext'
-    ;;
-  uts4*)
-    library_names_spec='$libname$shrext'
-    ;;
-esac
-
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
-shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
-escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-
-LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
-
-# How to pass a linker flag through the compiler.
-wl="$escaped_wl"
-
-# Static library suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally "so").
-shlibext="$shlibext"
-
-# Format of library name prefix.
-libname_spec="$escaped_libname_spec"
-
-# Library names that the linker finds when passed -lNAME.
-library_names_spec="$escaped_library_names_spec"
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator="$hardcode_libdir_separator"
-
-# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct="$hardcode_direct"
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L="$hardcode_minus_L"
-
-EOF
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/remove-potcdate.sin b/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/remove-potcdate.sin
deleted file mode 100644
index 8c70dfb..0000000
--- a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/remove-potcdate.sin
+++ /dev/null
@@ -1,25 +0,0 @@
-# Sed script that removes the POT-Creation-Date line in the header entry
-# from a POT file.
-#
-# Copyright (C) 2002 Free Software Foundation, Inc.
-# Copying and distribution of this file, with or without modification,
-# are permitted in any medium without royalty provided the copyright
-# notice and this notice are preserved.  This file is offered as-is,
-# without any warranty.
-#
-# The distinction between the first and the following occurrences of the
-# pattern is achieved by looking at the hold space.
-/^"POT-Creation-Date: .*"$/{
-x
-# Test if the hold space is empty.
-s/P/P/
-ta
-# Yes it was empty. First occurrence. Remove the line.
-g
-d
-bb
-:a
-# The hold space was nonempty. Following occurrences. Do nothing.
-x
-:b
-}
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-native_0.21.1.bb b/poky/meta/recipes-core/gettext/gettext-minimal-native_0.21.1.bb
index 7a4dcbe..db1bbb7 100644
--- a/poky/meta/recipes-core/gettext/gettext-minimal-native_0.21.1.bb
+++ b/poky/meta/recipes-core/gettext/gettext-minimal-native_0.21.1.bb
@@ -3,10 +3,9 @@
 autoconf/automake. This provides a significant build time speedup by \
 the removal of gettext-native from most dependency chains (now only \
 needed for gettext for the target)."
-SRC_URI = "file://aclocal/ \
-           file://config.rpath \
-           file://Makefile.in.in \
-           file://remove-potcdate.sin \
+
+require gettext-sources.inc
+SRC_URI += " \
            file://COPYING \
 "
 
@@ -14,17 +13,34 @@
 INHIBIT_AUTOTOOLS_DEPS = "1"
 
 LICENSE = "FSF-Unlimited"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4bd090a20bfcd1a18f1f79837b5e3e91"
+LIC_FILES_CHKSUM = "file://../COPYING;md5=4bd090a20bfcd1a18f1f79837b5e3e91"
 
 inherit native
 
-S = "${WORKDIR}"
+S = "${WORKDIR}/gettext-${PV}"
+
+python get_aclocal_files() {
+    fpath = oe.path.join(d.getVar("S"), "/gettext-tools/m4/Makefile.am")
+    with open(fpath) as f:
+        content = f.read()
+        for l in content.replace("\\\n","").split("\n"):
+            if l.startswith("aclocal_DATA"):
+                aclocal_files = l.split("=")[1]
+                with open(oe.path.join(d.getVar("WORKDIR"),"aclocal-files"),'w') as outf:
+                    outf.write(aclocal_files)
+                break
+        else:
+            bb.error("Could not obtain list of installed aclocal files from {}".format(fpath))
+}
+do_install[prefuncs] += "get_aclocal_files"
 
 do_install () {
 	install -d ${D}${datadir}/aclocal/
-	cp ${WORKDIR}/aclocal/*.m4 ${D}${datadir}/aclocal/
+	for i in `cat ${WORKDIR}/aclocal-files`; do
+		cp ${S}/gettext-tools/m4/$i ${D}${datadir}/aclocal/
+	done
 	install -d ${D}${datadir}/gettext/po/
-	cp ${WORKDIR}/config.rpath ${D}${datadir}/gettext/
-	cp ${WORKDIR}/Makefile.in.in ${D}${datadir}/gettext/po/
-	cp ${WORKDIR}/remove-potcdate.sin ${D}${datadir}/gettext/po/
+	cp ${S}/build-aux/config.rpath ${D}${datadir}/gettext/
+	cp ${S}/gettext-runtime/po/Makefile.in.in ${D}${datadir}/gettext/po/
+	cp ${S}/gettext-runtime/po/remove-potcdate.sin ${D}${datadir}/gettext/po/
 }
diff --git a/poky/meta/recipes-core/gettext/gettext-sources.inc b/poky/meta/recipes-core/gettext/gettext-sources.inc
new file mode 100644
index 0000000..da2860f
--- /dev/null
+++ b/poky/meta/recipes-core/gettext/gettext-sources.inc
@@ -0,0 +1,4 @@
+HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
+SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
+           "
+SRC_URI[sha256sum] = "e8c3650e1d8cee875c4f355642382c1df83058bd5a11ee8555c0cf276d646d45"
diff --git a/poky/meta/recipes-core/gettext/gettext_0.21.1.bb b/poky/meta/recipes-core/gettext/gettext_0.21.1.bb
index b80ea92..a3eb3bb 100644
--- a/poky/meta/recipes-core/gettext/gettext_0.21.1.bb
+++ b/poky/meta/recipes-core/gettext/gettext_0.21.1.bb
@@ -3,7 +3,6 @@
 These tools include a set of conventions about how programs should be written to support message catalogs, a directory and file \
 naming organization for the message catalogs themselves, a runtime library supporting the retrieval of translated messages, and \
 a few stand-alone programs to massage in various ways the sets of translatable and already translated strings."
-HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
 SECTION = "libs"
 LICENSE = "GPL-3.0-or-later & LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e"
@@ -22,15 +21,17 @@
 PROVIDES = "virtual/libintl virtual/gettext"
 PROVIDES:class-native = "virtual/gettext-native"
 RCONFLICTS:${PN} = "proxy-libintl"
-SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
+
+require gettext-sources.inc
+SRC_URI += " \
            file://parallel.patch \
            file://use-pkgconfig.patch \
            file://run-ptest \
            file://serial-tests-config.patch \
            file://0001-tests-autopoint-3-unset-MAKEFLAGS.patch \
            file://0001-init-env.in-do-not-add-C-CXX-parameters.patch \
+           file://autoconf-2.73.patch \
            "
-SRC_URI[sha256sum] = "e8c3650e1d8cee875c4f355642382c1df83058bd5a11ee8555c0cf276d646d45"
 
 inherit autotools texinfo pkgconfig ptest
 
diff --git a/poky/meta/recipes-core/glibc/glibc-locale.inc b/poky/meta/recipes-core/glibc/glibc-locale.inc
index 760de94..289f58d 100644
--- a/poky/meta/recipes-core/glibc/glibc-locale.inc
+++ b/poky/meta/recipes-core/glibc/glibc-locale.inc
@@ -37,22 +37,22 @@
 # Create a glibc-binaries package
 ALLOW_EMPTY:${BPN}-binaries = "1"
 PACKAGES += "${BPN}-binaries"
-RRECOMMENDS:${BPN}-binaries =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-binary") != -1])}"
+RRECOMMENDS:${BPN}-binaries =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-binary-") != -1])}"
 
 # Create a glibc-charmaps package
 ALLOW_EMPTY:${BPN}-charmaps = "1"
 PACKAGES += "${BPN}-charmaps"
-RRECOMMENDS:${BPN}-charmaps =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-charmap") != -1])}"
+RRECOMMENDS:${BPN}-charmaps =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-charmap-") != -1])}"
 
 # Create a glibc-gconvs package
 ALLOW_EMPTY:${BPN}-gconvs = "1"
 PACKAGES += "${BPN}-gconvs"
-RRECOMMENDS:${BPN}-gconvs =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-gconv") != -1])}"
+RRECOMMENDS:${BPN}-gconvs =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-gconv-") != -1])}"
 
 # Create a glibc-localedatas package
 ALLOW_EMPTY:${BPN}-localedatas = "1"
 PACKAGES += "${BPN}-localedatas"
-RRECOMMENDS:${BPN}-localedatas =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-localedata") != -1])}"
+RRECOMMENDS:${BPN}-localedatas =  "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-localedata-") != -1])}"
 
 DESCRIPTION:localedef = "glibc: compile locale definition files"
 
diff --git a/poky/meta/recipes-core/glibc/glibc/check-test-wrapper b/poky/meta/recipes-core/glibc/glibc/check-test-wrapper
index 6ec9b9b..5cc993f 100644
--- a/poky/meta/recipes-core/glibc/glibc/check-test-wrapper
+++ b/poky/meta/recipes-core/glibc/glibc/check-test-wrapper
@@ -58,7 +58,7 @@
     user = os.environ.get("SSH_HOST_USER", None)
     port = os.environ.get("SSH_HOST_PORT", None)
 
-    command = ["ssh", "-o", "UserKnownHostsFile=/dev/null", "-o", "StrictHostKeyChecking=no"]
+    command = ["ssh", "-o", "UserKnownHostsFile=/dev/null", "-o", "StrictHostKeyChecking=no", "-o", "LogLevel=quiet"]
     if port:
         command += ["-p", str(port)]
     if not host:
diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index 4ece229..b078b19 100644
--- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -26,7 +26,7 @@
 
 REQUIRED_DISTRO_FEATURES += "xattr"
 
-SRCREV ?= "679b7b6700ec1355a5b15a51c90a7ee339bee97c"
+SRCREV ?= "02d38e9ce479262d848c4f873ee1e57141eb7eea"
 SRC_URI = "git://git.yoctoproject.org/poky;branch=master \
            file://Yocto_Build_Appliance.vmx \
            file://Yocto_Build_Appliance.vmxf \
diff --git a/poky/meta/recipes-core/images/core-image-minimal-initramfs.bb b/poky/meta/recipes-core/images/core-image-minimal-initramfs.bb
index 0b51187..1c08c7f 100644
--- a/poky/meta/recipes-core/images/core-image-minimal-initramfs.bb
+++ b/poky/meta/recipes-core/images/core-image-minimal-initramfs.bb
@@ -1,4 +1,5 @@
 # Simple initramfs image. Mostly used for live images.
+SUMMARY = "Small image capable of booting a device."
 DESCRIPTION = "Small image capable of booting a device. The kernel includes \
 the Minimal RAM-based Initial Root Filesystem (initramfs), which finds the \
 first 'init' program more efficiently."
diff --git a/poky/meta/recipes-core/images/core-image-tiny-initramfs.bb b/poky/meta/recipes-core/images/core-image-tiny-initramfs.bb
index a1883de..96b56a2 100644
--- a/poky/meta/recipes-core/images/core-image-tiny-initramfs.bb
+++ b/poky/meta/recipes-core/images/core-image-tiny-initramfs.bb
@@ -1,4 +1,5 @@
 # Simple initramfs image artifact generation for tiny images.
+SUMMARY = "Tiny image capable of booting a device."
 DESCRIPTION = "Tiny image capable of booting a device. The kernel includes \
 the Minimal RAM-based Initial Root Filesystem (initramfs), which finds the \
 first 'init' program more efficiently. core-image-tiny-initramfs doesn't \
diff --git a/poky/meta/recipes-core/kbd/kbd_2.6.0.bb b/poky/meta/recipes-core/kbd/kbd_2.6.1.bb
similarity index 94%
rename from poky/meta/recipes-core/kbd/kbd_2.6.0.bb
rename to poky/meta/recipes-core/kbd/kbd_2.6.1.bb
index 9a3e0a7..112039b 100644
--- a/poky/meta/recipes-core/kbd/kbd_2.6.0.bb
+++ b/poky/meta/recipes-core/kbd/kbd_2.6.1.bb
@@ -16,7 +16,7 @@
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/${BP}.tar.xz \
            "
 
-SRC_URI[sha256sum] = "9c159433db5df8ef31d86b42f5b09d32311bdda2ed35107fb1926243da60b28a"
+SRC_URI[sha256sum] = "2eb6c6c972be9589bab733275bf020beb5f644d5f9439737920e701af6cf3485"
 
 EXTRA_OECONF = "--disable-tests"
 PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
diff --git a/poky/meta/recipes-core/meta/buildtools-extended-tarball.bb b/poky/meta/recipes-core/meta/buildtools-extended-tarball.bb
index 83e3fdd..633f8e6 100644
--- a/poky/meta/recipes-core/meta/buildtools-extended-tarball.bb
+++ b/poky/meta/recipes-core/meta/buildtools-extended-tarball.bb
@@ -28,21 +28,13 @@
     nativesdk-libtool \
     nativesdk-pkgconfig \
     nativesdk-glibc-utils \
-    nativesdk-glibc-gconv-ibm850 \
-    nativesdk-glibc-gconv-iso8859-1 \
-    nativesdk-glibc-gconv-utf-16 \
-    nativesdk-glibc-gconv-cp1250 \
-    nativesdk-glibc-gconv-cp1251 \
-    nativesdk-glibc-gconv-cp1252 \
-    nativesdk-glibc-gconv-euc-jp \
-    nativesdk-glibc-gconv-libjis \
+    nativesdk-glibc-gconvs \
     nativesdk-libxcrypt-dev \
     nativesdk-parted \
     nativesdk-dosfstools \
     nativesdk-gptfdisk \
     "
-# gconv-cp1250, cp1251 and euc-jp needed for iconv to work in vim builds
-# also copied list from uninative
+# gconvs needed for iconv to work in vim builds
 
 TOOLCHAIN_OUTPUTNAME = "${SDK_ARCH}-buildtools-extended-nativesdk-standalone-${DISTRO_VERSION}"
 
diff --git a/poky/meta/recipes-core/meta/uninative-tarball.bb b/poky/meta/recipes-core/meta/uninative-tarball.bb
index 4aecf39..7eebcaf 100644
--- a/poky/meta/recipes-core/meta/uninative-tarball.bb
+++ b/poky/meta/recipes-core/meta/uninative-tarball.bb
@@ -3,18 +3,10 @@
 
 TOOLCHAIN_TARGET_TASK = ""
 
-# ibm850 - mcopy from mtools
-# iso8859-1 - guile
-# utf-16, cp1252 - binutils-windres
 TOOLCHAIN_HOST_TASK = "\
     nativesdk-glibc \
     nativesdk-glibc-dbg \
-    nativesdk-glibc-gconv-ibm850 \
-    nativesdk-glibc-gconv-iso8859-1 \
-    nativesdk-glibc-gconv-utf-16 \
-    nativesdk-glibc-gconv-cp1252 \
-    nativesdk-glibc-gconv-euc-jp \
-    nativesdk-glibc-gconv-libjis \
+    nativesdk-glibc-gconvs \
     nativesdk-patchelf \
     nativesdk-libxcrypt \
     nativesdk-libxcrypt-compat \
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index b4c2b1f..297c558 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 = "718f363bc2067b6487900eddc9180c84e7739f80"
+SRCREV = "83b858f83b658bd34eca5d8ad4d145f673ae7e5e"
 
 BASEVER = "1.2.4"
 
@@ -12,11 +12,13 @@
 
 # mirror is at git://github.com/kraj/musl.git
 
-SRC_URI = "git://git.musl-libc.org/git/musl;branch=master;protocol=https \
+SRC_URI = "git://git.musl-libc.org/git/musl.git;branch=master;protocol=https \
            file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \
            file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \
           "
 
+MIRRORS += "git://git.musl-libc.org/git/musl.git git://github.com/kraj/musl.git"
+
 S = "${WORKDIR}/git"
 
 PROVIDES += "virtual/libc virtual/libiconv virtual/libintl virtual/crypt"
diff --git a/poky/meta/recipes-core/ncurses/files/0001-Fix-CVE-2023-29491.patch b/poky/meta/recipes-core/ncurses/files/0001-Fix-CVE-2023-29491.patch
new file mode 100644
index 0000000..1232c8c
--- /dev/null
+++ b/poky/meta/recipes-core/ncurses/files/0001-Fix-CVE-2023-29491.patch
@@ -0,0 +1,462 @@
+From 3d54a41f12e9aa059f06e66e72d872f2283395b6 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Sun, 30 Jul 2023 21:14:00 -0700
+Subject: [PATCH] Fix CVE-2023-29491
+
+CVE: CVE-2023-29491
+
+Upstream-Status: Backport [http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff;h=eb51b1ea1f75a0ec17c9c5937cb28df1e8eeec56]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ ncurses/tinfo/lib_tgoto.c  |  10 +++-
+ ncurses/tinfo/lib_tparm.c  | 116 ++++++++++++++++++++++++++++++++-----
+ ncurses/tinfo/read_entry.c |   3 +
+ progs/tic.c                |   6 ++
+ progs/tparm_type.c         |   9 +++
+ progs/tparm_type.h         |   2 +
+ progs/tput.c               |  61 ++++++++++++++++---
+ 7 files changed, 185 insertions(+), 22 deletions(-)
+
+diff --git a/ncurses/tinfo/lib_tgoto.c b/ncurses/tinfo/lib_tgoto.c
+index 9cf5e100..c50ed4df 100644
+--- a/ncurses/tinfo/lib_tgoto.c
++++ b/ncurses/tinfo/lib_tgoto.c
+@@ -207,6 +207,14 @@ tgoto(const char *string, int x, int y)
+ 	result = tgoto_internal(string, x, y);
+     else
+ #endif
+-	result = TIPARM_2(string, y, x);
++    if ((result = TIPARM_2(string, y, x)) == NULL) {
++	/*
++	 * Because termcap did not provide a more general solution such as
++	 * tparm(), it was necessary to handle single-parameter capabilities
++	 * using tgoto().  The internal _nc_tiparm() function returns a NULL
++	 * for that case; retry for the single-parameter case.
++	 */
++	result = TIPARM_1(string, y);
++    }
+     returnPtr(result);
+ }
+diff --git a/ncurses/tinfo/lib_tparm.c b/ncurses/tinfo/lib_tparm.c
+index d9bdfd8f..a10a3877 100644
+--- a/ncurses/tinfo/lib_tparm.c
++++ b/ncurses/tinfo/lib_tparm.c
+@@ -1086,6 +1086,64 @@ tparam_internal(TPARM_STATE *tps, const char *string, TPARM_DATA *data)
+     return (TPS(out_buff));
+ }
+ 
++#ifdef CUR
++/*
++ * Only a few standard capabilities accept string parameters.  The others that
++ * are parameterized accept only numeric parameters.
++ */
++static bool
++check_string_caps(TPARM_DATA *data, const char *string)
++{
++    bool result = FALSE;
++
++#define CHECK_CAP(name) (VALID_STRING(name) && !strcmp(name, string))
++
++    /*
++     * Disallow string parameters unless we can check them against a terminal
++     * description.
++     */
++    if (cur_term != NULL) {
++	int want_type = 0;
++
++	if (CHECK_CAP(pkey_key))
++	    want_type = 2;	/* function key #1, type string #2 */
++	else if (CHECK_CAP(pkey_local))
++	    want_type = 2;	/* function key #1, execute string #2 */
++	else if (CHECK_CAP(pkey_xmit))
++	    want_type = 2;	/* function key #1, transmit string #2 */
++	else if (CHECK_CAP(plab_norm))
++	    want_type = 2;	/* label #1, show string #2 */
++	else if (CHECK_CAP(pkey_plab))
++	    want_type = 6;	/* function key #1, type string #2, show string #3 */
++#if NCURSES_XNAMES
++	else {
++	    char *check;
++
++	    check = tigetstr("Cs");
++	    if (CHECK_CAP(check))
++		want_type = 1;	/* style #1 */
++
++	    check = tigetstr("Ms");
++	    if (CHECK_CAP(check))
++		want_type = 3;	/* storage unit #1, content #2 */
++	}
++#endif
++
++	if (want_type == data->tparm_type) {
++	    result = TRUE;
++	} else {
++	    T(("unexpected string-parameter"));
++	}
++    }
++    return result;
++}
++
++#define ValidCap() (myData.tparm_type == 0 || \
++		    check_string_caps(&myData, string))
++#else
++#define ValidCap() 1
++#endif
++
+ #if NCURSES_TPARM_VARARGS
+ 
+ NCURSES_EXPORT(char *)
+@@ -1100,7 +1158,7 @@ tparm(const char *string, ...)
+     tps->tname = "tparm";
+ #endif /* TRACE */
+ 
+-    if (tparm_setup(cur_term, string, &myData) == OK) {
++    if (tparm_setup(cur_term, string, &myData) == OK && ValidCap()) {
+ 	va_list ap;
+ 
+ 	va_start(ap, string);
+@@ -1135,7 +1193,7 @@ tparm(const char *string,
+     tps->tname = "tparm";
+ #endif /* TRACE */
+ 
+-    if (tparm_setup(cur_term, string, &myData) == OK) {
++    if (tparm_setup(cur_term, string, &myData) == OK && ValidCap()) {
+ 
+ 	myData.param[0] = a1;
+ 	myData.param[1] = a2;
+@@ -1166,7 +1224,7 @@ tiparm(const char *string, ...)
+     tps->tname = "tiparm";
+ #endif /* TRACE */
+ 
+-    if (tparm_setup(cur_term, string, &myData) == OK) {
++    if (tparm_setup(cur_term, string, &myData) == OK && ValidCap()) {
+ 	va_list ap;
+ 
+ 	va_start(ap, string);
+@@ -1179,7 +1237,25 @@ tiparm(const char *string, ...)
+ }
+ 
+ /*
+- * The internal-use flavor ensures that the parameters are numbers, not strings
++ * The internal-use flavor ensures that parameters are numbers, not strings.
++ * In addition to ensuring that they are numbers, it ensures that the parameter
++ * count is consistent with intended usage.
++ *
++ * Unlike the general-purpose tparm/tiparm, these internal calls are fairly
++ * well defined:
++ *
++ * expected == 0 - not applicable
++ * expected == 1 - set color, or vertical/horizontal addressing
++ * expected == 2 - cursor addressing
++ * expected == 4 - initialize color or color pair
++ * expected == 9 - set attributes
++ *
++ * Only for the last case (set attributes) should a parameter be optional.
++ * Also, a capability which calls for more parameters than expected should be
++ * ignored.
++ *
++ * Return a null if the parameter-checks fail.  Otherwise, return a pointer to
++ * the formatted capability string.
+  */
+ NCURSES_EXPORT(char *)
+ _nc_tiparm(int expected, const char *string, ...)
+@@ -1189,22 +1265,36 @@ _nc_tiparm(int expected, const char *string, ...)
+     char *result = NULL;
+ 
+     _nc_tparm_err = 0;
++    T((T_CALLED("_nc_tiparm(%d, %s, ...)"), expected, _nc_visbuf(string)));
+ #ifdef TRACE
+     tps->tname = "_nc_tiparm";
+ #endif /* TRACE */
+ 
+-    if (tparm_setup(cur_term, string, &myData) == OK
+-	&& myData.num_actual <= expected
+-	&& myData.tparm_type == 0) {
+-	va_list ap;
++    if (tparm_setup(cur_term, string, &myData) == OK && ValidCap()) {
++	if (myData.num_actual == 0) {
++	    T(("missing parameter%s, expected %s%d",
++	       expected > 1 ? "s" : "",
++	       expected == 9 ? "up to " : "",
++	       expected));
++	} else if (myData.num_actual > expected) {
++	    T(("too many parameters, have %d, expected %d",
++	       myData.num_actual,
++	       expected));
++	} else if (expected != 9 && myData.num_actual != expected) {
++	    T(("expected %d parameters, have %d",
++	       myData.num_actual,
++	       expected));
++	} else {
++	    va_list ap;
+ 
+-	va_start(ap, string);
+-	tparm_copy_valist(&myData, FALSE, ap);
+-	va_end(ap);
++	    va_start(ap, string);
++	    tparm_copy_valist(&myData, FALSE, ap);
++	    va_end(ap);
+ 
+-	result = tparam_internal(tps, string, &myData);
++	    result = tparam_internal(tps, string, &myData);
++	}
+     }
+-    return result;
++    returnPtr(result);
+ }
+ 
+ /*
+diff --git a/ncurses/tinfo/read_entry.c b/ncurses/tinfo/read_entry.c
+index 2b1875ed..341337d2 100644
+--- a/ncurses/tinfo/read_entry.c
++++ b/ncurses/tinfo/read_entry.c
+@@ -323,6 +323,9 @@ _nc_read_termtype(TERMTYPE2 *ptr, char *buffer, int limit)
+ 	|| bool_count < 0
+ 	|| num_count < 0
+ 	|| str_count < 0
++	|| bool_count > BOOLCOUNT
++	|| num_count > NUMCOUNT
++	|| str_count > STRCOUNT
+ 	|| str_size < 0) {
+ 	returnDB(TGETENT_NO);
+     }
+diff --git a/progs/tic.c b/progs/tic.c
+index 93a0b491..888927e2 100644
+--- a/progs/tic.c
++++ b/progs/tic.c
+@@ -2270,9 +2270,15 @@ check_1_infotocap(const char *name, NCURSES_CONST char *value, int count)
+ 
+     _nc_reset_tparm(NULL);
+     switch (actual) {
++    case Str:
++	result = TPARM_1(value, strings[1]);
++	break;
+     case Num_Str:
+ 	result = TPARM_2(value, numbers[1], strings[2]);
+ 	break;
++    case Str_Str:
++	result = TPARM_2(value, strings[1], strings[2]);
++	break;
+     case Num_Str_Str:
+ 	result = TPARM_3(value, numbers[1], strings[2], strings[3]);
+ 	break;
+diff --git a/progs/tparm_type.c b/progs/tparm_type.c
+index 3da4a077..644aa62a 100644
+--- a/progs/tparm_type.c
++++ b/progs/tparm_type.c
+@@ -47,6 +47,7 @@ tparm_type(const char *name)
+     	{code, {longname} }, \
+ 	{code, {ti} }, \
+ 	{code, {tc} }
++#define XD(code, onlyname) TD(code, onlyname, onlyname, onlyname)
+     TParams result = Numbers;
+     /* *INDENT-OFF* */
+     static const struct {
+@@ -58,6 +59,10 @@ tparm_type(const char *name)
+ 	TD(Num_Str,	"pkey_xmit",	"pfx",		"px"),
+ 	TD(Num_Str,	"plab_norm",	"pln",		"pn"),
+ 	TD(Num_Str_Str, "pkey_plab",	"pfxl",		"xl"),
++#if NCURSES_XNAMES
++	XD(Str,		"Cs"),
++	XD(Str_Str,	"Ms"),
++#endif
+     };
+     /* *INDENT-ON* */
+ 
+@@ -80,12 +85,16 @@ guess_tparm_type(int nparam, char **p_is_s)
+     case 1:
+ 	if (!p_is_s[0])
+ 	    result = Numbers;
++	if (p_is_s[0])
++	    result = Str;
+ 	break;
+     case 2:
+ 	if (!p_is_s[0] && !p_is_s[1])
+ 	    result = Numbers;
+ 	if (!p_is_s[0] && p_is_s[1])
+ 	    result = Num_Str;
++	if (p_is_s[0] && p_is_s[1])
++	    result = Str_Str;
+ 	break;
+     case 3:
+ 	if (!p_is_s[0] && !p_is_s[1] && !p_is_s[2])
+diff --git a/progs/tparm_type.h b/progs/tparm_type.h
+index 7c102a30..af5bcf0f 100644
+--- a/progs/tparm_type.h
++++ b/progs/tparm_type.h
+@@ -45,8 +45,10 @@
+ typedef enum {
+     Other = -1
+     ,Numbers = 0
++    ,Str
+     ,Num_Str
+     ,Num_Str_Str
++    ,Str_Str
+ } TParams;
+ 
+ extern TParams tparm_type(const char *name);
+diff --git a/progs/tput.c b/progs/tput.c
+index 4cd0c5ba..41508b72 100644
+--- a/progs/tput.c
++++ b/progs/tput.c
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2021,2022 Thomas E. Dickey                                *
++ * Copyright 2018-2022,2023 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+@@ -47,12 +47,15 @@
+ #include <transform.h>
+ #include <tty_settings.h>
+ 
+-MODULE_ID("$Id: tput.c,v 1.99 2022/02/26 23:19:31 tom Exp $")
++MODULE_ID("$Id: tput.c,v 1.102 2023/04/08 16:26:36 tom Exp $")
+ 
+ #define PUTS(s)		fputs(s, stdout)
+ 
+ const char *_nc_progname = "tput";
+ 
++static bool opt_v = FALSE;	/* quiet, do not show warnings */
++static bool opt_x = FALSE;	/* clear scrollback if possible */
++
+ static bool is_init = FALSE;
+ static bool is_reset = FALSE;
+ static bool is_clear = FALSE;
+@@ -81,6 +84,7 @@ usage(const char *optstring)
+ 	KEEP("  -S <<       read commands from standard input")
+ 	KEEP("  -T TERM     use this instead of $TERM")
+ 	KEEP("  -V          print curses-version")
++	KEEP("  -v          verbose, show warnings")
+ 	KEEP("  -x          do not try to clear scrollback")
+ 	KEEP("")
+ 	KEEP("Commands:")
+@@ -148,7 +152,7 @@ exit_code(int token, int value)
+  * Returns nonzero on error.
+  */
+ static int
+-tput_cmd(int fd, TTY * settings, bool opt_x, int argc, char **argv, int *used)
++tput_cmd(int fd, TTY * settings, int argc, char **argv, int *used)
+ {
+     NCURSES_CONST char *name;
+     char *s;
+@@ -231,7 +235,9 @@ tput_cmd(int fd, TTY * settings, bool opt_x, int argc, char **argv, int *used)
+     } else if (VALID_STRING(s)) {
+ 	if (argc > 1) {
+ 	    int k;
++	    int narg;
+ 	    int analyzed;
++	    int provided;
+ 	    int popcount;
+ 	    long numbers[1 + NUM_PARM];
+ 	    char *strings[1 + NUM_PARM];
+@@ -271,14 +277,45 @@ tput_cmd(int fd, TTY * settings, bool opt_x, int argc, char **argv, int *used)
+ 
+ 	    popcount = 0;
+ 	    _nc_reset_tparm(NULL);
++	    /*
++	     * Count the number of numeric parameters which are provided.
++	     */
++	    provided = 0;
++	    for (narg = 1; narg < argc; ++narg) {
++		char *ending = NULL;
++		long check = strtol(argv[narg], &ending, 10);
++		if (check < 0 || ending == argv[narg] || *ending != '\0')
++		    break;
++		provided = narg;
++	    }
+ 	    switch (paramType) {
++	    case Str:
++		s = TPARM_1(s, strings[1]);
++		analyzed = 1;
++		if (provided == 0 && argc >= 1)
++		    provided++;
++		break;
++	    case Str_Str:
++		s = TPARM_2(s, strings[1], strings[2]);
++		analyzed = 2;
++		if (provided == 0 && argc >= 1)
++		    provided++;
++		if (provided == 1 && argc >= 2)
++		    provided++;
++		break;
+ 	    case Num_Str:
+ 		s = TPARM_2(s, numbers[1], strings[2]);
+ 		analyzed = 2;
++		if (provided == 1 && argc >= 2)
++		    provided++;
+ 		break;
+ 	    case Num_Str_Str:
+ 		s = TPARM_3(s, numbers[1], strings[2], strings[3]);
+ 		analyzed = 3;
++		if (provided == 1 && argc >= 2)
++		    provided++;
++		if (provided == 2 && argc >= 3)
++		    provided++;
+ 		break;
+ 	    case Numbers:
+ 		analyzed = _nc_tparm_analyze(NULL, s, p_is_s, &popcount);
+@@ -316,7 +353,13 @@ tput_cmd(int fd, TTY * settings, bool opt_x, int argc, char **argv, int *used)
+ 	    if (analyzed < popcount) {
+ 		analyzed = popcount;
+ 	    }
+-	    *used += analyzed;
++	    if (opt_v && (analyzed != provided)) {
++		fprintf(stderr, "%s: %s parameters for \"%s\"\n",
++			_nc_progname,
++			(analyzed < provided ? "extra" : "missing"),
++			argv[0]);
++	    }
++	    *used += provided;
+ 	}
+ 
+ 	/* use putp() in order to perform padding */
+@@ -339,7 +382,6 @@ main(int argc, char **argv)
+     int used;
+     TTY old_settings;
+     TTY tty_settings;
+-    bool opt_x = FALSE;		/* clear scrollback if possible */
+     bool is_alias;
+     bool need_tty;
+ 
+@@ -348,7 +390,7 @@ main(int argc, char **argv)
+ 
+     term = getenv("TERM");
+ 
+-    while ((c = getopt(argc, argv, is_alias ? "T:Vx" : "ST:Vx")) != -1) {
++    while ((c = getopt(argc, argv, is_alias ? "T:Vvx" : "ST:Vvx")) != -1) {
+ 	switch (c) {
+ 	case 'S':
+ 	    cmdline = FALSE;
+@@ -361,6 +403,9 @@ main(int argc, char **argv)
+ 	case 'V':
+ 	    puts(curses_version());
+ 	    ExitProgram(EXIT_SUCCESS);
++	case 'v':		/* verbose */
++	    opt_v = TRUE;
++	    break;
+ 	case 'x':		/* do not try to clear scrollback */
+ 	    opt_x = TRUE;
+ 	    break;
+@@ -404,7 +449,7 @@ main(int argc, char **argv)
+ 	    usage(NULL);
+ 	while (argc > 0) {
+ 	    tty_settings = old_settings;
+-	    code = tput_cmd(fd, &tty_settings, opt_x, argc, argv, &used);
++	    code = tput_cmd(fd, &tty_settings, argc, argv, &used);
+ 	    if (code != 0)
+ 		break;
+ 	    argc -= used;
+@@ -439,7 +484,7 @@ main(int argc, char **argv)
+ 	while (argnum > 0) {
+ 	    int code;
+ 	    tty_settings = old_settings;
+-	    code = tput_cmd(fd, &tty_settings, opt_x, argnum, argnow, &used);
++	    code = tput_cmd(fd, &tty_settings, argnum, argnow, &used);
+ 	    if (code != 0) {
+ 		if (result == 0)
+ 		    result = ErrSystem(0);	/* will return value >4 */
+-- 
+2.40.0
+
diff --git a/poky/meta/recipes-core/ncurses/ncurses_6.4.bb b/poky/meta/recipes-core/ncurses/ncurses_6.4.bb
index 1eb1567..388cd8d 100644
--- a/poky/meta/recipes-core/ncurses/ncurses_6.4.bb
+++ b/poky/meta/recipes-core/ncurses/ncurses_6.4.bb
@@ -4,6 +4,7 @@
            file://0002-configure-reproducible.patch \
            file://0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch \
            file://exit_prototype.patch \
+           file://0001-Fix-CVE-2023-29491.patch \
            "
 # commit id corresponds to the revision in package version
 SRCREV = "79b9071f2be20a24c7be031655a5638f6032f29f"
diff --git a/poky/meta/recipes-core/ovmf/ovmf-shell-image.bb b/poky/meta/recipes-core/ovmf/ovmf-shell-image.bb
index 50c4517..4d7958e 100644
--- a/poky/meta/recipes-core/ovmf/ovmf-shell-image.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf-shell-image.bb
@@ -1,4 +1,4 @@
-DESCRIPTION = "boot image with UEFI shell and tools"
+SUMMARY = "boot image with UEFI shell and tools"
 COMPATIBLE_HOST:class-target='(i.86|x86_64).*'
 
 # For this image recipe, only the wic format with a
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
index e05e329..1fee1c9 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
@@ -25,8 +25,6 @@
 GOTOOLS:powerpc ?= ""
 GOTOOLS:riscv32 ?= ""
 
-RUSTTOOLS ?= "rust-hello-world"
-
 GSTEXAMPLES ?= "gst-examples"
 GSTEXAMPLES:riscv64 = ""
 
@@ -59,5 +57,4 @@
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', "${X11GLTOOLS}", "", d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', '3g', "${3GTOOLS}", "", d)} \
     ${GOTOOLS} \
-    ${RUSTTOOLS} \
     "
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_253.3.bb b/poky/meta/recipes-core/systemd/systemd-boot_254.bb
similarity index 77%
rename from poky/meta/recipes-core/systemd/systemd-boot_253.3.bb
rename to poky/meta/recipes-core/systemd/systemd-boot_254.bb
index b67706b..5d69cf8 100644
--- a/poky/meta/recipes-core/systemd/systemd-boot_253.3.bb
+++ b/poky/meta/recipes-core/systemd/systemd-boot_254.bb
@@ -3,29 +3,28 @@
 
 require conf/image-uefi.conf
 
-DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native python3-jinja2-native"
+DEPENDS = "intltool-native libcap util-linux gperf-native python3-jinja2-native python3-pyelftools-native"
 
 inherit meson pkgconfig gettext
 inherit deploy
 
 LDFLAGS:prepend = "${@ " ".join(d.getVar('LD').split()[1:])} "
 
-do_write_config[vardeps] += "CC OBJCOPY"
+EFI_LD = "bfd"
+LDFLAGS:append = " -fuse-ld=${EFI_LD}"
+
+do_write_config[vardeps] += "CC OBJCOPY EFI_LD"
 do_write_config:append() {
     cat >${WORKDIR}/meson-${PN}.cross <<EOF
 [binaries]
-efi_cc = ${@meson_array('CC', d)}
+c = ${@meson_array('CC', d)}
 objcopy = ${@meson_array('OBJCOPY', d)}
+c_ld = ${@meson_array('EFI_LD', d)}
 EOF
 }
 
-EFI_LD = "bfd"
-
 EXTRA_OEMESON += "-Defi=true \
-                  -Dgnu-efi=true \
-                  -Defi-includedir=${STAGING_INCDIR}/efi \
-                  -Defi-libdir=${STAGING_LIBDIR} \
-                  -Defi-ld=${EFI_LD} \
+                  -Dbootloader=true \
                   -Dman=false \
                   --cross-file ${WORKDIR}/meson-${PN}.cross \
                   "
@@ -54,9 +53,7 @@
 COMPATIBLE_HOST:x86-x32 = "null"
 
 do_compile() {
-	ninja \
-		src/boot/efi/${SYSTEMD_BOOT_IMAGE_PREFIX}${SYSTEMD_BOOT_IMAGE} \
-		src/boot/efi/linux${EFI_ARCH}.efi.stub
+	ninja systemd-boot
 }
 
 do_install() {
@@ -67,6 +64,7 @@
 do_deploy () {
 	install ${B}/src/boot/efi/systemd-boot*.efi ${DEPLOYDIR}
 	install ${B}/src/boot/efi/linux*.efi.stub ${DEPLOYDIR}
+	install ${B}/src/boot/efi/addon*.efi.stub ${DEPLOYDIR}
 }
 
 addtask deploy before do_build after do_compile
diff --git a/poky/meta/recipes-core/systemd/systemd-compat-units.bb b/poky/meta/recipes-core/systemd/systemd-compat-units.bb
index 55ebf99..75b1045 100644
--- a/poky/meta/recipes-core/systemd/systemd-compat-units.bb
+++ b/poky/meta/recipes-core/systemd/systemd-compat-units.bb
@@ -14,7 +14,8 @@
 
 ALLOW_EMPTY:${PN} = "1"
 
-REQUIRED_DISTRO_FEATURES = "systemd"
+REQUIRED_DISTRO_FEATURES += "systemd"
+REQUIRED_DISTRO_FEATURES += "usrmerge"
 
 SYSTEMD_DISABLED_SYSV_SERVICES = " \
   busybox-udhcpc \
diff --git a/poky/meta/recipes-core/systemd/systemd-conf_1.0.bb b/poky/meta/recipes-core/systemd/systemd-conf_1.0.bb
index 61ce793..2355936 100644
--- a/poky/meta/recipes-core/systemd/systemd-conf_1.0.bb
+++ b/poky/meta/recipes-core/systemd/systemd-conf_1.0.bb
@@ -5,6 +5,9 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
+inherit features_check
+REQUIRED_DISTRO_FEATURES += "usrmerge"
+
 PE = "1"
 
 PACKAGECONFIG ??= "dhcp-ethernet"
diff --git a/poky/meta/recipes-core/systemd/systemd-machine-units_1.0.bb b/poky/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
index 12f27d6..7e59e86 100644
--- a/poky/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
+++ b/poky/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
@@ -7,7 +7,8 @@
 
 PR = "r19"
 
-inherit systemd
+inherit systemd features_check
+REQUIRED_DISTRO_FEATURES += "usrmerge"
 SYSTEMD_SERVICE:${PN} = ""
 
 ALLOW_EMPTY:${PN} = "1"
diff --git a/poky/meta/recipes-core/systemd/systemd-serialgetty.bb b/poky/meta/recipes-core/systemd/systemd-serialgetty.bb
index fd888bb..c2c67e6 100644
--- a/poky/meta/recipes-core/systemd/systemd-serialgetty.bb
+++ b/poky/meta/recipes-core/systemd/systemd-serialgetty.bb
@@ -14,7 +14,8 @@
 
 # As this package is tied to systemd, only build it when we're also building systemd.
 inherit features_check
-REQUIRED_DISTRO_FEATURES = "systemd"
+REQUIRED_DISTRO_FEATURES += "systemd"
+REQUIRED_DISTRO_FEATURES += "usrmerge"
 
 do_install() {
 	if [ ! -z "${SERIAL_CONSOLES}" ] ; then
diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc
index d50f2c9..e5686fb 100644
--- a/poky/meta/recipes-core/systemd/systemd.inc
+++ b/poky/meta/recipes-core/systemd/systemd.inc
@@ -14,10 +14,10 @@
 LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
                     file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
 
-SRCREV = "ed18c2ab79e8b94182d5dcf31d58457763f3e3e1"
-SRCBRANCH = "v253-stable"
+SRCREV = "994c7978608a0bd9b317f4f74ff266dd50a3e74e"
+SRCBRANCH = "v254-stable"
 SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \
-           file://0026-src-boot-efi-efi-string.c-define-wchar_t-from-__WCHA.patch \
+           file://0001-elf2efi-Fix-header-size-calculation.patch \
            "
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-elf2efi-Fix-header-size-calculation.patch b/poky/meta/recipes-core/systemd/systemd/0001-elf2efi-Fix-header-size-calculation.patch
new file mode 100644
index 0000000..0e8924d
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-elf2efi-Fix-header-size-calculation.patch
@@ -0,0 +1,70 @@
+From d082d6502fa86e08dda858933838dde0406b824f Mon Sep 17 00:00:00 2001
+From: Jan Janssen <medhefgo@web.de>
+Date: Sun, 30 Jul 2023 20:59:04 +0200
+Subject: [PATCH] elf2efi: Fix header size calculation
+
+The PE header size calculation failed to take the PE magic and coff
+header size into account, which will lead to header truncation if we are
+writing only 5 sections.
+
+Upstream-Status: Backport [https://github.com/systemd/systemd/commit/ee91e06a5841c30bc7306260528ef407e0ebbab3]
+
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+---
+ tools/elf2efi.py | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/tools/elf2efi.py b/tools/elf2efi.py
+index e233c8e3ab..2e478940f5 100755
+--- a/tools/elf2efi.py
++++ b/tools/elf2efi.py
+@@ -210,6 +210,7 @@ FILE_ALIGNMENT = 512
+ 
+ # Nobody cares about DOS headers, so put the PE header right after.
+ PE_OFFSET = 64
++PE_MAGIC = b"PE\0\0"
+ 
+ 
+ def align_to(x: int, align: int) -> int:
+@@ -304,7 +305,10 @@ def copy_sections(elf: ELFFile, opt: PeOptionalHeader) -> typing.List[PeSection]
+ 
+ 
+ def apply_elf_relative_relocation(
+-    reloc: ElfRelocation, image_base: int, sections: typing.List[PeSection], addend_size: int
++    reloc: ElfRelocation,
++    image_base: int,
++    sections: typing.List[PeSection],
++    addend_size: int,
+ ):
+     # fmt: off
+     [target] = [
+@@ -439,7 +443,7 @@ def write_pe(
+     file.seek(0x3C, io.SEEK_SET)
+     file.write(PE_OFFSET.to_bytes(2, byteorder="little"))
+     file.seek(PE_OFFSET, io.SEEK_SET)
+-    file.write(b"PE\0\0")
++    file.write(PE_MAGIC)
+     file.write(coff)
+     file.write(opt)
+ 
+@@ -453,6 +457,8 @@ def write_pe(
+         file.write(pe_s)
+         offset = align_to(offset + len(pe_s.data), FILE_ALIGNMENT)
+ 
++    assert file.tell() <= opt.SizeOfHeaders
++
+     for pe_s in sections:
+         file.seek(pe_s.PointerToRawData, io.SEEK_SET)
+         file.write(pe_s.data)
+@@ -515,6 +521,8 @@ def elf2efi(args: argparse.Namespace):
+ 
+     opt.SizeOfHeaders = align_to(
+         PE_OFFSET
++        + len(PE_MAGIC)
++        + sizeof(PeCoffHeader)
+         + coff.SizeOfOptionalHeader
+         + sizeof(PeSection) * max(coff.NumberOfSections, args.minimum_sections),
+         FILE_ALIGNMENT,
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/poky/meta/recipes-core/systemd/systemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch
index 43611e6..085f1e9 100644
--- a/poky/meta/recipes-core/systemd/systemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch
@@ -19,40 +19,36 @@
 [rebased for systemd 243]
 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
 ---
- units/meson.build                       | 6 ++----
+ units/meson.build                       | 2 --
  units/proc-sys-fs-binfmt_misc.automount | 3 +++
  units/systemd-binfmt.service.in         | 4 ++++
- 3 files changed, 9 insertions(+), 4 deletions(-)
+ 3 files changed, 7 insertions(+), 2 deletions(-)
 
 diff --git a/units/meson.build b/units/meson.build
 index c7939a10f8..219570ab19 100644
 --- a/units/meson.build
 +++ b/units/meson.build
-@@ -62,8 +62,7 @@ units = [
-         ['poweroff.target',                     '',
-          (with_runlevels ? 'runlevel0.target' : '')],
-         ['printer.target',                      ''],
--        ['proc-sys-fs-binfmt_misc.automount',   'ENABLE_BINFMT',
--         'sysinit.target.wants/'],
-+        ['proc-sys-fs-binfmt_misc.automount',   'ENABLE_BINFMT'],
-         ['proc-sys-fs-binfmt_misc.mount',       'ENABLE_BINFMT'],
-         ['reboot.target',                       '',
-          'ctrl-alt-del.target' + (with_runlevels ? ' runlevel6.target' : '')],
-@@ -185,8 +184,7 @@ in_units = [
-         ['rescue.service',                       ''],
-         ['serial-getty@.service',                ''],
-         ['systemd-backlight@.service',           'ENABLE_BACKLIGHT'],
--        ['systemd-binfmt.service',               'ENABLE_BINFMT',
--         'sysinit.target.wants/'],
-+        ['systemd-binfmt.service',               'ENABLE_BINFMT'],
-         ['systemd-bless-boot.service',           'HAVE_GNU_EFI HAVE_BLKID'],
-         ['systemd-boot-check-no-failures.service', ''],
-         ['systemd-coredump@.service',            'ENABLE_COREDUMP'],
+@@ -149,7 +149,6 @@ units = [
+         {
+           'file' : 'proc-sys-fs-binfmt_misc.automount',
+           'conditions' : ['ENABLE_BINFMT'],
+-          'symlinks' : ['sysinit.target.wants/'],
+         },
+         {
+           'file' : 'proc-sys-fs-binfmt_misc.mount',
+@@ -246,7 +245,6 @@ units = [
+         {
+           'file' : 'systemd-binfmt.service.in',
+           'conditions' : ['ENABLE_BINFMT'],
+-          'symlinks' : ['sysinit.target.wants/'],
+         },
+         {
+           'file' : 'systemd-bless-boot.service.in',
 diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount
 index 6b1bbdc91e..5ec5b8670a 100644
 --- a/units/proc-sys-fs-binfmt_misc.automount
 +++ b/units/proc-sys-fs-binfmt_misc.automount
-@@ -19,3 +19,6 @@ ConditionPathIsReadWrite=/proc/sys/
+@@ -22,3 +22,6 @@ Before=shutdown.target
  
  [Automount]
  Where=/proc/sys/fs/binfmt_misc
diff --git a/poky/meta/recipes-core/systemd/systemd/0003-errno-util-Make-STRERROR-portable-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0003-errno-util-Make-STRERROR-portable-for-musl.patch
index e9e69cb..fcc56a2 100644
--- a/poky/meta/recipes-core/systemd/systemd/0003-errno-util-Make-STRERROR-portable-for-musl.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0003-errno-util-Make-STRERROR-portable-for-musl.patch
@@ -11,8 +11,8 @@
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
- src/basic/errno-util.h | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
+ src/basic/errno-util.h | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
 
 diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h
 index 091f99c590..eb5c1f9961 100644
@@ -23,9 +23,8 @@
   *
   * Note that we use the GNU variant of strerror_r() here. */
 -#define STRERROR(errnum) strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN)
--
 +static inline const char * STRERROR(int errnum);
-+
+ 
 +static inline const char * STRERROR(int errnum) {
 +#ifdef __GLIBC__
 +        return strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN);
diff --git a/poky/meta/recipes-core/systemd/systemd/0004-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch b/poky/meta/recipes-core/systemd/systemd/0004-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch
index aa1f3c2..98914ae 100644
--- a/poky/meta/recipes-core/systemd/systemd/0004-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0004-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch
@@ -44,7 +44,7 @@
 index 1af3a36d1d..def502b717 100644
 --- a/src/libsystemd/sd-path/sd-path.c
 +++ b/src/libsystemd/sd-path/sd-path.c
-@@ -362,19 +362,19 @@ static int get_path(uint64_t type, char **buffer, const char **ret) {
+@@ -365,19 +365,19 @@ static int get_path(uint64_t type, char **buffer, const char **ret) {
                  return 0;
  
          case SD_PATH_SYSUSERS:
diff --git a/poky/meta/recipes-core/systemd/systemd/0010-add-fallback-parse_printf_format-implementation.patch b/poky/meta/recipes-core/systemd/systemd/0010-add-fallback-parse_printf_format-implementation.patch
index 2090d81..4143ab4 100644
--- a/poky/meta/recipes-core/systemd/systemd/0010-add-fallback-parse_printf_format-implementation.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0010-add-fallback-parse_printf_format-implementation.patch
@@ -23,7 +23,7 @@
 
 --- a/meson.build
 +++ b/meson.build
-@@ -755,6 +755,7 @@ endif
+@@ -781,6 +781,7 @@ endif
  foreach header : ['crypt.h',
                    'linux/memfd.h',
                    'linux/vm_sockets.h',
@@ -33,7 +33,7 @@
                    'valgrind/memcheck.h',
 --- a/src/basic/meson.build
 +++ b/src/basic/meson.build
-@@ -173,6 +173,11 @@ endforeach
+@@ -179,6 +179,11 @@ endforeach
  
  basic_sources += generated_gperf_headers
  
@@ -407,7 +407,7 @@
  #include <stddef.h>
  #include <sys/un.h>
  #include <unistd.h>
-@@ -25,6 +24,7 @@
+@@ -27,6 +26,7 @@
  #include "stdio-util.h"
  #include "string-util.h"
  #include "tmpfile-util.h"
diff --git a/poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-strndupa.patch
index bd5f6a6..ec451cd 100644
--- a/poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-strndupa.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -17,6 +17,7 @@
 [rebased for systemd 244]
 [Rebased for v247]
 Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+[Rebased for v254]
 ---
  meson.build                                |  1 +
  src/backlight/backlight.c                  |  1 +
@@ -74,7 +75,7 @@
 index fb96143c37..739b2f7f72 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -574,6 +574,7 @@ foreach ident : ['secure_getenv', '__secure_getenv']
+@@ -595,6 +595,7 @@ foreach ident : ['secure_getenv', '__secure_getenv']
  endforeach
  
  foreach ident : [
@@ -98,7 +99,7 @@
 index feda596939..11b4375ed5 100644
 --- a/src/basic/cgroup-util.c
 +++ b/src/basic/cgroup-util.c
-@@ -37,6 +37,7 @@
+@@ -38,6 +38,7 @@
  #include "unit-name.h"
  #include "user-util.h"
  #include "xattr-util.h"
@@ -122,14 +123,14 @@
 index fc5793139e..515218fca8 100644
 --- a/src/basic/log.c
 +++ b/src/basic/log.c
-@@ -39,6 +39,7 @@
+@@ -40,6 +40,7 @@
  #include "terminal-util.h"
  #include "time-util.h"
  #include "utf8.h"
 +#include "missing_stdlib.h"
  
  #define SNDBUF_SIZE (8*1024*1024)
- #define IOVEC_MAX 128U
+ #define IOVEC_MAX 256U
 diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
 index 8c76f93eb2..9068bfb4f0 100644
 --- a/src/basic/missing_stdlib.h
@@ -166,7 +167,7 @@
 index bc74fbef8f..cdb609bb84 100644
 --- a/src/basic/mountpoint-util.c
 +++ b/src/basic/mountpoint-util.c
-@@ -13,6 +13,7 @@
+@@ -18,6 +18,7 @@
  #include "missing_stat.h"
  #include "missing_syscall.h"
  #include "mkdir.h"
@@ -214,14 +215,14 @@
 index eea70d8606..ae3abd8402 100644
 --- a/src/basic/proc-cmdline.c
 +++ b/src/basic/proc-cmdline.c
-@@ -15,6 +15,7 @@
- #include "special.h"
+@@ -16,6 +16,7 @@
  #include "string-util.h"
+ #include "strv.h"
  #include "virt.h"
 +#include "missing_stdlib.h"
  
- int proc_cmdline(char **ret) {
-         const char *e;
+ int proc_cmdline_filter_pid1_args(char **argv, char ***ret) {
+         enum {
 diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
 index bcba5a5208..64a95dd866 100644
 --- a/src/basic/procfs-util.c
@@ -238,7 +239,7 @@
 index b700f364ef..48a26bcec9 100644
 --- a/src/basic/time-util.c
 +++ b/src/basic/time-util.c
-@@ -26,6 +26,7 @@
+@@ -27,6 +27,7 @@
  #include "string-util.h"
  #include "strv.h"
  #include "time-util.h"
@@ -262,7 +263,7 @@
 index b5484eda78..54ed62c790 100644
 --- a/src/core/dbus-cgroup.c
 +++ b/src/core/dbus-cgroup.c
-@@ -21,6 +21,7 @@
+@@ -23,6 +23,7 @@
  #include "parse-util.h"
  #include "path-util.h"
  #include "percent-util.h"
@@ -274,7 +275,7 @@
 index f514b8fd12..4febd0d496 100644
 --- a/src/core/dbus-execute.c
 +++ b/src/core/dbus-execute.c
-@@ -45,6 +45,7 @@
+@@ -48,6 +48,7 @@
  #include "unit-printf.h"
  #include "user-util.h"
  #include "utf8.h"
@@ -298,7 +299,7 @@
 index 853e87450f..8ef76de9ab 100644
 --- a/src/core/execute.c
 +++ b/src/core/execute.c
-@@ -105,6 +105,7 @@
+@@ -113,6 +113,7 @@
  #include "unit-serialize.h"
  #include "user-util.h"
  #include "utmp-wtmp.h"
@@ -310,9 +311,9 @@
 index e843743777..e149807492 100644
 --- a/src/core/kmod-setup.c
 +++ b/src/core/kmod-setup.c
-@@ -12,6 +12,7 @@
- #include "recurse-dir.h"
+@@ -13,6 +13,7 @@
  #include "string-util.h"
+ #include "strv.h"
  #include "virt.h"
 +#include "missing_stdlib.h"
  
@@ -322,7 +323,7 @@
 index 9ad3c3d995..b112d64919 100644
 --- a/src/core/service.c
 +++ b/src/core/service.c
-@@ -42,6 +42,7 @@
+@@ -45,6 +45,7 @@
  #include "unit-name.h"
  #include "unit.h"
  #include "utf8.h"
@@ -346,7 +347,7 @@
 index efc553b698..acea922311 100644
 --- a/src/fstab-generator/fstab-generator.c
 +++ b/src/fstab-generator/fstab-generator.c
-@@ -33,6 +33,7 @@
+@@ -37,6 +37,7 @@
  #include "unit-name.h"
  #include "virt.h"
  #include "volatile-util.h"
@@ -358,7 +359,7 @@
 index 7df264fb53..9463a0e9fb 100644
 --- a/src/journal-remote/journal-remote-main.c
 +++ b/src/journal-remote/journal-remote-main.c
-@@ -25,6 +25,7 @@
+@@ -26,6 +26,7 @@
  #include "stat-util.h"
  #include "string-table.h"
  #include "strv.h"
@@ -370,7 +371,7 @@
 index da0fac548e..c1c043e0e0 100644
 --- a/src/journal/journalctl.c
 +++ b/src/journal/journalctl.c
-@@ -72,6 +72,7 @@
+@@ -77,6 +77,7 @@
  #include "unit-name.h"
  #include "user-util.h"
  #include "varlink.h"
@@ -406,7 +407,7 @@
 index 64037e4fe0..9b9ce0aaa9 100644
 --- a/src/libsystemd/sd-bus/bus-socket.c
 +++ b/src/libsystemd/sd-bus/bus-socket.c
-@@ -27,6 +27,7 @@
+@@ -28,6 +28,7 @@
  #include "string-util.h"
  #include "user-util.h"
  #include "utf8.h"
@@ -418,7 +419,7 @@
 index f6a5e4aa06..b36faa79a3 100644
 --- a/src/libsystemd/sd-bus/sd-bus.c
 +++ b/src/libsystemd/sd-bus/sd-bus.c
-@@ -44,6 +44,7 @@
+@@ -46,6 +46,7 @@
  #include "string-util.h"
  #include "strv.h"
  #include "user-util.h"
@@ -442,10 +443,10 @@
 index 9947947ef2..8dc6f93159 100644
 --- a/src/libsystemd/sd-journal/sd-journal.c
 +++ b/src/libsystemd/sd-journal/sd-journal.c
-@@ -41,6 +41,7 @@
- #include "string-util.h"
+@@ -44,6 +44,7 @@
  #include "strv.h"
  #include "syslog-util.h"
+ #include "uid-alloc-range.h"
 +#include "missing_stdlib.h"
  
  #define JOURNAL_FILES_RECHECK_USEC (2 * USEC_PER_SEC)
@@ -454,7 +455,7 @@
 index ba2fca32c6..e1f9caa13b 100644
 --- a/src/login/pam_systemd.c
 +++ b/src/login/pam_systemd.c
-@@ -32,6 +32,7 @@
+@@ -34,6 +34,7 @@
  #include "locale-util.h"
  #include "login-util.h"
  #include "macro.h"
@@ -466,7 +467,7 @@
 index 1090934bfc..69a77f66e2 100644
 --- a/src/network/generator/network-generator.c
 +++ b/src/network/generator/network-generator.c
-@@ -13,6 +13,7 @@
+@@ -14,6 +14,7 @@
  #include "string-table.h"
  #include "string-util.h"
  #include "strv.h"
@@ -502,7 +503,7 @@
 index 7811833fac..c6414da91c 100644
 --- a/src/portable/portable.c
 +++ b/src/portable/portable.c
-@@ -39,6 +39,7 @@
+@@ -40,6 +40,7 @@
  #include "strv.h"
  #include "tmpfile-util.h"
  #include "user-util.h"
@@ -550,7 +551,7 @@
 index 1e95e36678..640ee031d5 100644
 --- a/src/shared/bus-unit-util.c
 +++ b/src/shared/bus-unit-util.c
-@@ -50,6 +50,7 @@
+@@ -51,6 +51,7 @@
  #include "unit-def.h"
  #include "user-util.h"
  #include "utf8.h"
@@ -562,7 +563,7 @@
 index d09ec5148d..f38a8f7cc1 100644
 --- a/src/shared/bus-util.c
 +++ b/src/shared/bus-util.c
-@@ -21,6 +21,7 @@
+@@ -24,6 +24,7 @@
  #include "path-util.h"
  #include "socket-util.h"
  #include "stdio-util.h"
@@ -586,9 +587,9 @@
 index d9eabec886..534c6cf7e3 100644
 --- a/src/shared/journal-importer.c
 +++ b/src/shared/journal-importer.c
-@@ -15,6 +15,7 @@
- #include "parse-util.h"
+@@ -16,6 +16,7 @@
  #include "string-util.h"
+ #include "strv.h"
  #include "unaligned.h"
 +#include "missing_stdlib.h"
  
@@ -622,7 +623,7 @@
 index 821049e667..08a5bdae3d 100644
 --- a/src/socket-proxy/socket-proxyd.c
 +++ b/src/socket-proxy/socket-proxyd.c
-@@ -26,6 +26,7 @@
+@@ -27,6 +27,7 @@
  #include "set.h"
  #include "socket-util.h"
  #include "string-util.h"
@@ -646,7 +647,7 @@
 index 8e4d57ee72..6b4555b4d5 100644
 --- a/src/udev/udev-builtin-path_id.c
 +++ b/src/udev/udev-builtin-path_id.c
-@@ -22,6 +22,7 @@
+@@ -24,6 +24,7 @@
  #include "sysexits.h"
  #include "udev-builtin.h"
  #include "udev-util.h"
@@ -670,13 +671,13 @@
 index 5bd09a64d1..0ce79f815c 100644
 --- a/src/udev/udev-rules.c
 +++ b/src/udev/udev-rules.c
-@@ -34,6 +34,7 @@
+@@ -35,6 +35,7 @@
  #include "udev-util.h"
  #include "user-util.h"
  #include "virt.h"
 +#include "missing_stdlib.h"
  
- #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
+ #define RULES_DIRS ((const char* const*) CONF_PATHS_STRV("udev/rules.d"))
  
 -- 
 2.39.2
diff --git a/poky/meta/recipes-core/systemd/systemd/0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/poky/meta/recipes-core/systemd/systemd/0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
index b86cc42..0d69e8e 100644
--- a/poky/meta/recipes-core/systemd/systemd/0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
@@ -130,7 +130,7 @@
  /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
   * them in the file system. This is intended to be used to create
   * properly owned directories beneath /tmp, /var/tmp, /run, which are
-@@ -2194,7 +2200,9 @@ finish:
+@@ -2355,7 +2361,9 @@ finish:
  
  static int glob_item(Item *i, action_t action) {
          _cleanup_globfree_ glob_t g = {
@@ -140,7 +140,7 @@
          };
          int r = 0, k;
  
-@@ -2214,7 +2222,9 @@ static int glob_item(Item *i, action_t action) {
+@@ -2375,7 +2383,9 @@ static int glob_item(Item *i, action_t action) {
  
  static int glob_item_recursively(Item *i, fdaction_t action) {
          _cleanup_globfree_ glob_t g = {
diff --git a/poky/meta/recipes-core/systemd/systemd/0014-Use-uintmax_t-for-handling-rlim_t.patch b/poky/meta/recipes-core/systemd/systemd/0014-Use-uintmax_t-for-handling-rlim_t.patch
index f586d3f..1d50faa 100644
--- a/poky/meta/recipes-core/systemd/systemd/0014-Use-uintmax_t-for-handling-rlim_t.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0014-Use-uintmax_t-for-handling-rlim_t.patch
@@ -89,7 +89,7 @@
 index 8ef76de9ab..ea1c203e43 100644
 --- a/src/core/execute.c
 +++ b/src/core/execute.c
-@@ -6034,9 +6034,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
+@@ -6667,9 +6667,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
          for (unsigned i = 0; i < RLIM_NLIMITS; i++)
                  if (c->rlimit[i]) {
                          fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
diff --git a/poky/meta/recipes-core/systemd/systemd/0015-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/poky/meta/recipes-core/systemd/systemd/0015-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
deleted file mode 100644
index afc80b9..0000000
--- a/poky/meta/recipes-core/systemd/systemd/0015-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 96088895149746dd2ee8e8c2e4b97972ccf44696 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Wed, 28 Feb 2018 21:25:22 -0800
-Subject: [PATCH] test-sizeof.c: Disable tests for missing typedefs in musl
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/test/test-sizeof.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
-index 55bd81e22f..6cf92bffde 100644
---- a/src/test/test-sizeof.c
-+++ b/src/test/test-sizeof.c
-@@ -55,8 +55,10 @@ int main(void) {
-         info(unsigned);
-         info(unsigned long);
-         info(unsigned long long);
-+#ifdef __GLIBC__
-         info(__syscall_ulong_t);
-         info(__syscall_slong_t);
-+#endif
-         info(intmax_t);
-         info(uintmax_t);
- 
-@@ -76,7 +78,9 @@ int main(void) {
-         info(ssize_t);
-         info(time_t);
-         info(usec_t);
-+#ifdef __GLIBC__
-         info(__time_t);
-+#endif
-         info(pid_t);
-         info(uid_t);
-         info(gid_t);
--- 
-2.39.2
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/poky/meta/recipes-core/systemd/systemd/0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
index 2f84d3d..543fba7 100644
--- a/poky/meta/recipes-core/systemd/systemd/0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
@@ -34,7 +34,7 @@
 index 932d003f19..33215dbf5f 100644
 --- a/src/basic/fs-util.h
 +++ b/src/basic/fs-util.h
-@@ -50,8 +50,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
+@@ -49,8 +49,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
  int fd_warn_permissions(const char *path, int fd);
  int stat_warn_permissions(const char *path, const struct stat *st);
  
@@ -67,16 +67,16 @@
 index be6dd1654a..2726dc946a 100644
 --- a/src/shared/base-filesystem.c
 +++ b/src/shared/base-filesystem.c
-@@ -131,7 +131,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
-                 return log_error_errno(errno, "Failed to open root file system: %m");
+@@ -145,7 +145,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
+         /* The "root" parameter is decoration only – it's only used as part of log messages */
  
          for (size_t i = 0; i < ELEMENTSOF(table); i++) {
 -                if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0)
 +                if (faccessat(fd, table[i].dir, F_OK, 0) >= 0)
                          continue;
  
-                 if (table[i].target) {
-@@ -139,7 +139,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
+                 if (table[i].target) { /* Create as symlink? */
+@@ -153,7 +153,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
  
                          /* check if one of the targets exists */
                          NULSTR_FOREACH(s, table[i].target) {
@@ -85,7 +85,7 @@
                                          continue;
  
                                  /* check if a specific file exists at the target path */
-@@ -150,7 +150,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
+@@ -164,7 +164,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
                                          if (!p)
                                                  return log_oom();
  
diff --git a/poky/meta/recipes-core/systemd/systemd/0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/poky/meta/recipes-core/systemd/systemd/0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
index 401a9a9..8162bc2 100644
--- a/poky/meta/recipes-core/systemd/systemd/0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -27,7 +27,7 @@
 index 0747c14c1c..8d0c5aae92 100644
 --- a/src/basic/process-util.c
 +++ b/src/basic/process-util.c
-@@ -1405,7 +1405,7 @@ int set_oom_score_adjust(int value) {
+@@ -1516,7 +1516,7 @@ int set_oom_score_adjust(int value) {
          xsprintf(t, "%i", value);
  
          return write_string_file("/proc/self/oom_score_adj", t,
diff --git a/poky/meta/recipes-core/systemd/systemd/0019-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/poky/meta/recipes-core/systemd/systemd/0019-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
index 48b8eda..f6d908f 100644
--- a/poky/meta/recipes-core/systemd/systemd/0019-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0019-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
@@ -58,7 +58,7 @@
 index 136ebcb153..8a75ba4ecd 100644
 --- a/src/libsystemd/sd-journal/journal-send.c
 +++ b/src/libsystemd/sd-journal/journal-send.c
-@@ -381,7 +381,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
+@@ -360,7 +360,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
                  char* j;
  
                  errno = 0;
diff --git a/poky/meta/recipes-core/systemd/systemd/0021-do-not-disable-buffer-in-writing-files.patch b/poky/meta/recipes-core/systemd/systemd/0021-do-not-disable-buffer-in-writing-files.patch
index 46267a5..ef6b534 100644
--- a/poky/meta/recipes-core/systemd/systemd/0021-do-not-disable-buffer-in-writing-files.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0021-do-not-disable-buffer-in-writing-files.patch
@@ -18,34 +18,35 @@
 Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
 [rebased for systemd 243]
 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+[rebased for systemd 254]
 ---
- src/basic/cgroup-util.c                 | 12 ++++++------
- src/basic/namespace-util.c              |  4 ++--
- src/basic/procfs-util.c                 |  4 ++--
- src/basic/sysctl-util.c                 |  2 +-
- src/binfmt/binfmt.c                     |  6 +++---
- src/core/cgroup.c                       |  2 +-
- src/core/main.c                         |  2 +-
- src/core/smack-setup.c                  |  8 ++++----
- src/hibernate-resume/hibernate-resume.c |  2 +-
- src/home/homework.c                     |  2 +-
- src/libsystemd/sd-device/sd-device.c    |  2 +-
- src/nspawn/nspawn-cgroup.c              |  2 +-
- src/nspawn/nspawn.c                     |  6 +++---
- src/shared/binfmt-util.c                |  2 +-
- src/shared/cgroup-setup.c               |  4 ++--
- src/shared/coredump-util.c              |  2 +-
- src/shared/smack-util.c                 |  2 +-
- src/sleep/sleep.c                       |  8 ++++----
- src/udev/udev-rules.c                   |  1 -
- src/vconsole/vconsole-setup.c           |  2 +-
- 20 files changed, 37 insertions(+), 38 deletions(-)
+ src/basic/cgroup-util.c              | 12 ++++++------
+ src/basic/namespace-util.c           |  4 ++--
+ src/basic/procfs-util.c              |  4 ++--
+ src/basic/sysctl-util.c              |  2 +-
+ src/binfmt/binfmt.c                  |  6 +++---
+ src/core/cgroup.c                    |  2 +-
+ src/core/main.c                      |  2 +-
+ src/core/smack-setup.c               |  8 ++++----
+ src/home/homework.c                  |  2 +-
+ src/libsystemd/sd-device/sd-device.c |  2 +-
+ src/nspawn/nspawn-cgroup.c           |  2 +-
+ src/nspawn/nspawn.c                  |  6 +++---
+ src/shared/binfmt-util.c             |  2 +-
+ src/shared/cgroup-setup.c            |  4 ++--
+ src/shared/coredump-util.c           |  2 +-
+ src/shared/sleep-util.c              |  4 ++--
+ src/shared/smack-util.c              |  2 +-
+ src/sleep/sleep.c                    |  4 ++--
+ src/udev/udev-rules.c                |  1 -
+ src/vconsole/vconsole-setup.c        |  2 +-
+ 20 files changed, 36 insertions(+), 37 deletions(-)
 
 diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
 index 11b4375ed5..7d81a6007f 100644
 --- a/src/basic/cgroup-util.c
 +++ b/src/basic/cgroup-util.c
-@@ -399,7 +399,7 @@ int cg_kill_kernel_sigkill(const char *controller, const char *path) {
+@@ -400,7 +400,7 @@ int cg_kill_kernel_sigkill(const char *controller, const char *path) {
          if (r < 0)
                  return r;
  
@@ -54,7 +55,7 @@
          if (r < 0)
                  return r;
  
-@@ -805,7 +805,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+@@ -806,7 +806,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
  
          sc = strstrip(contents);
          if (isempty(sc)) {
@@ -63,7 +64,7 @@
                  if (r < 0)
                          return r;
          } else if (!path_equal(sc, agent))
-@@ -823,7 +823,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+@@ -824,7 +824,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
  
          sc = strstrip(contents);
          if (streq(sc, "0")) {
@@ -72,7 +73,7 @@
                  if (r < 0)
                          return r;
  
-@@ -850,7 +850,7 @@ int cg_uninstall_release_agent(const char *controller) {
+@@ -851,7 +851,7 @@ int cg_uninstall_release_agent(const char *controller) {
          if (r < 0)
                  return r;
  
@@ -81,7 +82,7 @@
          if (r < 0)
                  return r;
  
-@@ -860,7 +860,7 @@ int cg_uninstall_release_agent(const char *controller) {
+@@ -861,7 +861,7 @@ int cg_uninstall_release_agent(const char *controller) {
          if (r < 0)
                  return r;
  
@@ -90,7 +91,7 @@
          if (r < 0)
                  return r;
  
-@@ -1752,7 +1752,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
+@@ -1764,7 +1764,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
          if (r < 0)
                  return r;
  
@@ -103,7 +104,7 @@
 index f5c0e04cec..272b920022 100644
 --- a/src/basic/namespace-util.c
 +++ b/src/basic/namespace-util.c
-@@ -220,12 +220,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) {
+@@ -227,12 +227,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) {
                  freeze();
  
          xsprintf(path, "/proc/" PID_FMT "/uid_map", pid);
@@ -186,7 +187,7 @@
 index 4cac3f6a89..bebe2cd120 100644
 --- a/src/core/cgroup.c
 +++ b/src/core/cgroup.c
-@@ -4267,7 +4267,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) {
+@@ -4349,7 +4349,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) {
                          u->freezer_state = FREEZER_THAWING;
          }
  
@@ -199,7 +200,7 @@
 index c0b8126d96..fe676320ba 100644
 --- a/src/core/main.c
 +++ b/src/core/main.c
-@@ -1716,7 +1716,7 @@ static void initialize_core_pattern(bool skip_setup) {
+@@ -1737,7 +1737,7 @@ static void initialize_core_pattern(bool skip_setup) {
          if (getpid_cached() != 1)
                  return;
  
@@ -234,19 +235,6 @@
          if (r < 0)
                  log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
  #endif
-diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
-index 9a9df5d22f..75ddec881a 100644
---- a/src/hibernate-resume/hibernate-resume.c
-+++ b/src/hibernate-resume/hibernate-resume.c
-@@ -40,7 +40,7 @@ int main(int argc, char *argv[]) {
-                 return EXIT_FAILURE;
-         }
- 
--        r = write_string_file("/sys/power/resume", FORMAT_DEVNUM(st.st_rdev), WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file("/sys/power/resume", FORMAT_DEVNUM(st.st_rdev), 0);
-         if (r < 0) {
-                 log_error_errno(r, "Failed to write '" DEVNUM_FORMAT_STR "' to /sys/power/resume: %m", DEVNUM_FORMAT_VAL(st.st_rdev));
-                 return EXIT_FAILURE;
 diff --git a/src/home/homework.c b/src/home/homework.c
 index 28907386a4..f9e45349a7 100644
 --- a/src/home/homework.c
@@ -264,7 +252,7 @@
 index 8c65ee3469..153edab081 100644
 --- a/src/libsystemd/sd-device/sd-device.c
 +++ b/src/libsystemd/sd-device/sd-device.c
-@@ -2481,7 +2481,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
+@@ -2515,7 +2515,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
          if (!value)
                  return -ENOMEM;
  
@@ -290,7 +278,7 @@
 index 36d336dfc8..8c5c69596b 100644
 --- a/src/nspawn/nspawn.c
 +++ b/src/nspawn/nspawn.c
-@@ -2771,7 +2771,7 @@ static int reset_audit_loginuid(void) {
+@@ -2774,7 +2774,7 @@ static int reset_audit_loginuid(void) {
          if (streq(p, "4294967295"))
                  return 0;
  
@@ -299,7 +287,7 @@
          if (r < 0) {
                  log_error_errno(r,
                                  "Failed to reset audit login UID. This probably means that your kernel is too\n"
-@@ -4211,7 +4211,7 @@ static int setup_uid_map(
+@@ -4214,7 +4214,7 @@ static int setup_uid_map(
                  return log_oom();
  
          xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
@@ -308,7 +296,7 @@
          if (r < 0)
                  return log_error_errno(r, "Failed to write UID map: %m");
  
-@@ -4221,7 +4221,7 @@ static int setup_uid_map(
+@@ -4224,7 +4224,7 @@ static int setup_uid_map(
                  return log_oom();
  
          xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid);
@@ -334,7 +322,7 @@
 index 2ea83f05d3..8626bb184c 100644
 --- a/src/shared/cgroup-setup.c
 +++ b/src/shared/cgroup-setup.c
-@@ -350,7 +350,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
+@@ -351,7 +351,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
  
          xsprintf(c, PID_FMT "\n", pid);
  
@@ -343,7 +331,7 @@
          if (r == -EOPNOTSUPP && cg_is_threaded(controller, path) > 0)
                  /* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */
                  return -EUCLEAN;
-@@ -887,7 +887,7 @@ int cg_enable_everywhere(
+@@ -964,7 +964,7 @@ int cg_enable_everywhere(
                                          return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p);
                          }
  
@@ -356,8 +344,8 @@
 index 3d2f179049..c1b6c170ac 100644
 --- a/src/shared/coredump-util.c
 +++ b/src/shared/coredump-util.c
-@@ -71,7 +71,7 @@ int set_coredump_filter(uint64_t value) {
-         sprintf(t, "0x%"PRIx64, value);
+@@ -163,7 +163,7 @@ int set_coredump_filter(uint64_t value) {
+         xsprintf(t, "0x%"PRIx64, value);
  
          return write_string_file("/proc/self/coredump_filter", t,
 -                                 WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER);
@@ -365,11 +353,33 @@
  }
  
  /* Turn off core dumps but only if we're running outside of a container. */
+diff --git a/src/shared/sleep-util.c b/src/shared/sleep-util.c
+index d7277399fb..d06d636fcc 100644
+--- a/src/shared/sleep-util.c
++++ b/src/shared/sleep-util.c
+@@ -1044,7 +1044,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
+ 
+         /* We write the offset first since it's safer. Note that this file is only available in 4.17+, so
+          * fail gracefully if it doesn't exist and we're only overwriting it with 0. */
+-        r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER);
++        r = write_string_file("/sys/power/resume_offset", offset_str, 0);
+         if (r == -ENOENT) {
+                 if (offset != 0)
+                         return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
+@@ -1060,7 +1060,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
+                 log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.",
+                           offset_str, device);
+ 
+-        r = write_string_file("/sys/power/resume", devno_str, WRITE_STRING_FILE_DISABLE_BUFFER);
++        r = write_string_file("/sys/power/resume", devno_str, 0);
+         if (r < 0)
+                 return log_error_errno(r,
+                                        "Failed to write device '%s' (%s) to /sys/power/resume: %m",
 diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c
 index b3b5c905ad..bbfa1973fd 100644
 --- a/src/shared/smack-util.c
 +++ b/src/shared/smack-util.c
-@@ -115,7 +115,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) {
+@@ -113,7 +113,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) {
                  return 0;
  
          p = procfs_file_alloca(pid, "attr/current");
@@ -382,25 +392,7 @@
 index 765dd4974f..cd6afb001b 100644
 --- a/src/sleep/sleep.c
 +++ b/src/sleep/sleep.c
-@@ -50,7 +50,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca
-         assert(hibernate_location->swap);
- 
-         xsprintf(resume_str, "%u:%u", major(hibernate_location->devno), minor(hibernate_location->devno));
--        r = write_string_file("/sys/power/resume", resume_str, WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file("/sys/power/resume", resume_str, 0);
-         if (r < 0)
-                 return log_debug_errno(r, "Failed to write partition device to /sys/power/resume for '%s': '%s': %m",
-                                        hibernate_location->swap->device, resume_str);
-@@ -77,7 +77,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca
-         }
- 
-         xsprintf(offset_str, "%" PRIu64, hibernate_location->offset);
--        r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file("/sys/power/resume_offset", offset_str, 0);
-         if (r < 0)
-                 return log_debug_errno(r, "Failed to write swap file offset to /sys/power/resume_offset for '%s': '%s': %m",
-                                        hibernate_location->swap->device, offset_str);
-@@ -93,7 +93,7 @@ static int write_mode(char **modes) {
+@@ -139,7 +139,7 @@ static int write_mode(char **modes) {
          STRV_FOREACH(mode, modes) {
                  int k;
  
@@ -409,7 +401,7 @@
                  if (k >= 0)
                          return 0;
  
-@@ -114,7 +114,7 @@ static int write_state(FILE **f, char **states) {
+@@ -160,7 +160,7 @@ static int write_state(FILE **f, char **states) {
          STRV_FOREACH(state, states) {
                  int k;
  
@@ -422,8 +414,8 @@
 index 0ce79f815c..28aab475d0 100644
 --- a/src/udev/udev-rules.c
 +++ b/src/udev/udev-rules.c
-@@ -2357,7 +2357,6 @@ static int udev_rule_apply_token_to_event(
-                 log_rule_debug(dev, rules, "ATTR '%s' writing '%s'", buf, value);
+@@ -2634,7 +2634,6 @@ static int udev_rule_apply_token_to_event(
+                 log_event_debug(dev, token, "ATTR '%s' writing '%s'", buf, value);
                  r = write_string_file(buf, value,
                                        WRITE_STRING_FILE_VERIFY_ON_FAILURE |
 -                                      WRITE_STRING_FILE_DISABLE_BUFFER |
@@ -434,7 +426,7 @@
 index 7d3e9db73f..2d4a0c4c9d 100644
 --- a/src/vconsole/vconsole-setup.c
 +++ b/src/vconsole/vconsole-setup.c
-@@ -108,7 +108,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
+@@ -259,7 +259,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
  static int toggle_utf8_sysfs(bool utf8) {
          int r;
  
diff --git a/poky/meta/recipes-core/systemd/systemd/0022-Handle-__cpu_mask-usage.patch b/poky/meta/recipes-core/systemd/systemd/0022-Handle-__cpu_mask-usage.patch
index 61545f5..341543a 100644
--- a/poky/meta/recipes-core/systemd/systemd/0022-Handle-__cpu_mask-usage.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0022-Handle-__cpu_mask-usage.patch
@@ -46,8 +46,8 @@
 -#include <sched.h>
  #include <stdio.h>
  #include <string.h>
- #include <sys/types.h>
-@@ -10,6 +9,7 @@
+ #include <sys/resource.h>
+@@ -11,6 +10,7 @@
  #include <float.h>
  
  #include "time-util.h"
diff --git a/poky/meta/recipes-core/systemd/systemd/0023-Handle-missing-gshadow.patch b/poky/meta/recipes-core/systemd/systemd/0023-Handle-missing-gshadow.patch
index 7da8798..19ee3ff 100644
--- a/poky/meta/recipes-core/systemd/systemd/0023-Handle-missing-gshadow.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0023-Handle-missing-gshadow.patch
@@ -20,7 +20,7 @@
 index 88b8fc2f8f..a819d41bac 100644
 --- a/src/shared/user-record-nss.c
 +++ b/src/shared/user-record-nss.c
-@@ -331,8 +331,10 @@ int nss_group_to_group_record(
+@@ -329,8 +329,10 @@ int nss_group_to_group_record(
          if (isempty(grp->gr_name))
                  return -EINVAL;
  
@@ -31,7 +31,7 @@
  
          g = group_record_new();
          if (!g)
-@@ -348,6 +350,7 @@ int nss_group_to_group_record(
+@@ -346,6 +348,7 @@ int nss_group_to_group_record(
  
          g->gid = grp->gr_gid;
  
@@ -39,7 +39,7 @@
          if (sgrp) {
                  if (looks_like_hashed_password(utf8_only(sgrp->sg_passwd))) {
                          g->hashed_password = strv_new(sgrp->sg_passwd);
-@@ -363,6 +366,7 @@ int nss_group_to_group_record(
+@@ -361,6 +364,7 @@ int nss_group_to_group_record(
                  if (r < 0)
                          return r;
          }
@@ -47,7 +47,7 @@
  
          r = json_build(&g->json, JSON_BUILD_OBJECT(
                                         JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)),
-@@ -388,6 +392,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
+@@ -387,6 +391,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
          assert(ret_sgrp);
          assert(ret_buffer);
  
@@ -55,7 +55,7 @@
          for (;;) {
                  _cleanup_free_ char *buf = NULL;
                  struct sgrp sgrp, *result;
-@@ -416,6 +421,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
+@@ -415,6 +420,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
                  buflen *= 2;
                  buf = mfree(buf);
          }
@@ -65,7 +65,7 @@
  }
  
  int nss_group_record_by_name(
-@@ -427,7 +435,9 @@ int nss_group_record_by_name(
+@@ -426,7 +434,9 @@ int nss_group_record_by_name(
          struct group grp, *result;
          bool incomplete = false;
          size_t buflen = 4096;
@@ -75,7 +75,7 @@
          int r;
  
          assert(name);
-@@ -457,6 +467,7 @@ int nss_group_record_by_name(
+@@ -455,6 +465,7 @@ int nss_group_record_by_name(
                  buf = mfree(buf);
          }
  
@@ -83,7 +83,7 @@
          if (with_shadow) {
                  r = nss_sgrp_for_group(result, &sgrp, &sbuf);
                  if (r < 0) {
-@@ -468,6 +479,9 @@ int nss_group_record_by_name(
+@@ -466,6 +477,9 @@ int nss_group_record_by_name(
                  incomplete = true;
  
          r = nss_group_to_group_record(result, sresult, ret);
@@ -93,7 +93,7 @@
          if (r < 0)
                  return r;
  
-@@ -484,7 +498,9 @@ int nss_group_record_by_gid(
+@@ -483,7 +497,9 @@ int nss_group_record_by_gid(
          struct group grp, *result;
          bool incomplete = false;
          size_t buflen = 4096;
@@ -102,8 +102,8 @@
 +#endif
          int r;
  
-         assert(ret);
-@@ -512,6 +528,7 @@ int nss_group_record_by_gid(
+         for (;;) {
+@@ -509,6 +525,7 @@ int nss_group_record_by_gid(
                  buf = mfree(buf);
          }
  
@@ -111,7 +111,7 @@
          if (with_shadow) {
                  r = nss_sgrp_for_group(result, &sgrp, &sbuf);
                  if (r < 0) {
-@@ -523,6 +540,9 @@ int nss_group_record_by_gid(
+@@ -520,6 +537,9 @@ int nss_group_record_by_gid(
                  incomplete = true;
  
          r = nss_group_to_group_record(result, sresult, ret);
@@ -141,7 +141,7 @@
 index a77eff4407..955e361d3a 100644
 --- a/src/shared/userdb.c
 +++ b/src/shared/userdb.c
-@@ -1044,13 +1044,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
+@@ -1038,13 +1038,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
                  if (gr) {
                          _cleanup_free_ char *buffer = NULL;
                          bool incomplete = false;
@@ -158,7 +158,7 @@
                          if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) {
                                  r = nss_sgrp_for_group(gr, &sgrp, &buffer);
                                  if (r < 0) {
-@@ -1063,6 +1065,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
+@@ -1057,6 +1059,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
                          }
  
                          r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);
diff --git a/poky/meta/recipes-core/systemd/systemd/0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
index 15ff6eb..d64cec1 100644
--- a/poky/meta/recipes-core/systemd/systemd/0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
@@ -36,7 +36,7 @@
 index 2726dc946a..484f63e0b4 100644
 --- a/src/shared/base-filesystem.c
 +++ b/src/shared/base-filesystem.c
-@@ -19,6 +19,7 @@
+@@ -20,6 +20,7 @@
  #include "string-util.h"
  #include "umask-util.h"
  #include "user-util.h"
diff --git a/poky/meta/recipes-core/systemd/systemd/0025-include-sys-file.h-for-LOCK_EX.patch b/poky/meta/recipes-core/systemd/systemd/0025-include-sys-file.h-for-LOCK_EX.patch
new file mode 100644
index 0000000..7827cc1
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0025-include-sys-file.h-for-LOCK_EX.patch
@@ -0,0 +1,29 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Aug 2023 10:33:48 -0700
+Subject: [PATCH] include sys/file.h for LOCK_EX
+
+Fixes
+| ../git/src/basic/user-util.c:708:30: error: use of undeclared identifier 'LOCK_EX'; did you mean 'LOCK_BSD'?
+|   708 |         r = unposix_lock(fd, LOCK_EX);
+|       |                              ^~~~~~~
+|       |                              LOCK_BSD
+
+Upstream-Status: Backport [https://github.com/systemd/systemd/pull/28647]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/basic/user-util.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/basic/user-util.c b/src/basic/user-util.c
+index fe61a09005..5c39847733 100644
+--- a/src/basic/user-util.c
++++ b/src/basic/user-util.c
+@@ -6,6 +6,7 @@
+ #include <stdint.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <sys/file.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <utmp.h>
diff --git a/poky/meta/recipes-core/systemd/systemd/0026-src-boot-efi-efi-string.c-define-wchar_t-from-__WCHA.patch b/poky/meta/recipes-core/systemd/systemd/0026-src-boot-efi-efi-string.c-define-wchar_t-from-__WCHA.patch
deleted file mode 100644
index c7e2280..0000000
--- a/poky/meta/recipes-core/systemd/systemd/0026-src-boot-efi-efi-string.c-define-wchar_t-from-__WCHA.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 34072f456b4fe880fbb2f18760b64a1a6c1eebb8 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Mon, 6 Mar 2023 15:24:49 +0100
-Subject: [PATCH] src/boot/efi/efi-string.c: define wchar_t from __WCHAR_TYPE__
-
-systemd-boot relies on wchar_t being 16 bit, and breaks at build time otherwise.
-
-To set wchar_t to 16 bit it is passing -fshort-wchar to gcc; this has the
-desired effect on glibc (which sets wchar_t from __WCHAR_TYPE__) but not on
-musl (which hardcodes it to 32 bit).
-
-This patch ensures wchar_t is set from the compiler flags on all systems; note
-that systemd-boot is not actually using functions from musl or other libc, just their headers.
-
-Meanwhile upstream has refactored the code to not rely on libc headers at all;
-however this will not be backported to v253 and we need a different fix.
-
-Upstream-Status: Inappropriate [fixed differently in trunk according to https://github.com/systemd/systemd/pull/26689]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- src/boot/efi/efi-string.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/boot/efi/efi-string.c b/src/boot/efi/efi-string.c
-index 22923d60f6..5d09d4281f 100644
---- a/src/boot/efi/efi-string.c
-+++ b/src/boot/efi/efi-string.c
-@@ -2,7 +2,13 @@
- 
- #include <stdbool.h>
- #include <stdint.h>
-+
-+#if SD_BOOT
-+typedef __WCHAR_TYPE__ wchar_t;
-+#define __DEFINED_wchar_t
-+#else
- #include <wchar.h>
-+#endif
- 
- #include "efi-string.h"
- 
--- 
-2.39.2
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0026-test-test-sizeof-Include-sys-timex.h-for-struct-time.patch b/poky/meta/recipes-core/systemd/systemd/0026-test-test-sizeof-Include-sys-timex.h-for-struct-time.patch
new file mode 100644
index 0000000..f2130c8
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0026-test-test-sizeof-Include-sys-timex.h-for-struct-time.patch
@@ -0,0 +1,28 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Aug 2023 12:14:56 -0700
+Subject: [PATCH] test/test-sizeof: Include sys/timex.h for struct timex
+
+Fixes
+
+../git/src/test/test-sizeof.c:64:41: error: incomplete definition of type 'struct timex'
+   64 |         check(typeof(((struct timex *)0)->freq), SIZEOF_TIMEX_MEMBER);
+      |                      ~~~~~~~~~~~~~~~~~~~^
+
+Upstream-Status: Backport [https://github.com/systemd/systemd/pull/28651]
+---
+ src/test/test-sizeof.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
+index 9d969cf8f1..b65c0bd370 100644
+--- a/src/test/test-sizeof.c
++++ b/src/test/test-sizeof.c
+@@ -4,6 +4,7 @@
+ #include <string.h>
+ #include <sys/resource.h>
+ #include <sys/socket.h>
++#include <sys/timex.h>
+ #include <sys/types.h>
+ 
+ #define __STDC_WANT_IEC_60559_TYPES_EXT__
diff --git a/poky/meta/recipes-core/systemd/systemd/0027-include-missing-sys-file.h-for-LOCK_EX.patch b/poky/meta/recipes-core/systemd/systemd/0027-include-missing-sys-file.h-for-LOCK_EX.patch
new file mode 100644
index 0000000..1901480
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0027-include-missing-sys-file.h-for-LOCK_EX.patch
@@ -0,0 +1,98 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Aug 2023 12:18:24 -0700
+Subject: [PATCH] include missing sys/file.h for LOCK_EX
+
+Upstream-Status: Backport [https://github.com/systemd/systemd/pull/28651]
+---
+ src/core/execute.c            | 1 +
+ src/shared/btrfs-util.c       | 1 +
+ src/shared/copy.c             | 1 +
+ src/test/test-btrfs.c         | 1 +
+ src/test/test-fs-util.c       | 1 +
+ src/test/test-lock-util.c     | 1 +
+ src/vconsole/vconsole-setup.c | 1 +
+ 7 files changed, 7 insertions(+)
+
+diff --git a/src/core/execute.c b/src/core/execute.c
+index 5b2ae861ff..2ebf19ffaa 100644
+--- a/src/core/execute.c
++++ b/src/core/execute.c
+@@ -4,6 +4,7 @@
+ #include <fcntl.h>
+ #include <poll.h>
+ #include <sys/eventfd.h>
++#include <sys/file.h>
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+ #include <sys/mount.h>
+diff --git a/src/shared/btrfs-util.c b/src/shared/btrfs-util.c
+index 5128b308ab..3ded95ea82 100644
+--- a/src/shared/btrfs-util.c
++++ b/src/shared/btrfs-util.c
+@@ -10,6 +10,7 @@
+ #include <stddef.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <sys/file.h>
+ #include <sys/ioctl.h>
+ #include <sys/sysmacros.h>
+ #include <unistd.h>
+diff --git a/src/shared/copy.c b/src/shared/copy.c
+index 241a2d112b..7e47dc002c 100644
+--- a/src/shared/copy.c
++++ b/src/shared/copy.c
+@@ -6,6 +6,7 @@
+ #include <stddef.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <sys/file.h>
+ #include <sys/ioctl.h>
+ #include <sys/sendfile.h>
+ #include <sys/xattr.h>
+diff --git a/src/test/test-btrfs.c b/src/test/test-btrfs.c
+index 95b7ef25d8..ba09563058 100644
+--- a/src/test/test-btrfs.c
++++ b/src/test/test-btrfs.c
+@@ -1,6 +1,7 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ 
+ #include <fcntl.h>
++#include <sys/file.h>
+ 
+ #include "btrfs-util.h"
+ #include "fd-util.h"
+diff --git a/src/test/test-fs-util.c b/src/test/test-fs-util.c
+index 1beba916a4..5de1eea0d4 100644
+--- a/src/test/test-fs-util.c
++++ b/src/test/test-fs-util.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ 
++#include <sys/file.h>
+ #include <unistd.h>
+ 
+ #include "alloc-util.h"
+diff --git a/src/test/test-lock-util.c b/src/test/test-lock-util.c
+index a9a1b438ff..28fc54a5d6 100644
+--- a/src/test/test-lock-util.c
++++ b/src/test/test-lock-util.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ 
++#include <sys/file.h>
+ #include <unistd.h>
+ 
+ #include "fd-util.h"
+diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
+index d57d8b4001..86348d08c1 100644
+--- a/src/vconsole/vconsole-setup.c
++++ b/src/vconsole/vconsole-setup.c
+@@ -11,6 +11,7 @@
+ #include <linux/vt.h>
+ #include <stdbool.h>
+ #include <stdlib.h>
++#include <sys/file.h>
+ #include <sys/ioctl.h>
+ #include <sysexits.h>
+ #include <termios.h>
diff --git a/poky/meta/recipes-core/systemd/systemd/0028-sd-event-Make-malloc_trim-conditional-on-glibc.patch b/poky/meta/recipes-core/systemd/systemd/0028-sd-event-Make-malloc_trim-conditional-on-glibc.patch
new file mode 100644
index 0000000..c9ec000
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0028-sd-event-Make-malloc_trim-conditional-on-glibc.patch
@@ -0,0 +1,39 @@
+From 148645ba8b62f04c7c5ff5907378663f97880f22 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Aug 2023 12:06:27 -0700
+Subject: [PATCH 1/4] sd-event: Make malloc_trim() conditional on glibc
+
+musl does not have this API
+
+Upstream-Status: Inappropriate [musl-specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libsystemd/sd-event/sd-event.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c
+index aba458185b..48c94a7672 100644
+--- a/src/libsystemd/sd-event/sd-event.c
++++ b/src/libsystemd/sd-event/sd-event.c
+@@ -1874,7 +1874,7 @@ _public_ int sd_event_add_exit(
+ }
+
+ _public_ int sd_event_trim_memory(void) {
+-        int r;
++        int r = 0;
+
+         /* A default implementation of a memory pressure callback. Simply releases our own allocation caches
+          * and glibc's. This is automatically used when people call sd_event_add_memory_pressure() with a
+@@ -1888,7 +1888,9 @@ _public_ int sd_event_trim_memory(void) {
+
+         usec_t before_timestamp = now(CLOCK_MONOTONIC);
+         hashmap_trim_pools();
++#ifdef __GLIBC__
+         r = malloc_trim(0);
++#endif
+         usec_t after_timestamp = now(CLOCK_MONOTONIC);
+
+         if (r > 0)
+--
+2.41.0
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0029-shared-Do-not-use-malloc_info-on-musl.patch b/poky/meta/recipes-core/systemd/systemd/0029-shared-Do-not-use-malloc_info-on-musl.patch
new file mode 100644
index 0000000..8e38655
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0029-shared-Do-not-use-malloc_info-on-musl.patch
@@ -0,0 +1,50 @@
+From 9430646e72ea5d260ade300038a6d976fecf7da5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Aug 2023 12:20:40 -0700
+Subject: [PATCH 4/4] shared: Do not use malloc_info on musl
+
+Upstream-Status: Inappropriate [musl-specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/shared/bus-util.c      | 5 +++--
+ src/shared/common-signal.c | 4 ++--
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+--- a/src/shared/bus-util.c
++++ b/src/shared/bus-util.c
+@@ -617,15 +617,16 @@ static int method_dump_memory_state_by_f
+         _cleanup_close_ int fd = -EBADF;
+         size_t dump_size;
+         FILE *f;
+-        int r;
++        int r = 0;
+ 
+         assert(message);
+ 
+         f = memstream_init(&m);
+         if (!f)
+                 return -ENOMEM;
+-
++#ifdef __GLIBC__
+         r = RET_NERRNO(malloc_info(/* options= */ 0, f));
++#endif
+         if (r < 0)
+                 return r;
+ 
+--- a/src/shared/common-signal.c
++++ b/src/shared/common-signal.c
+@@ -65,12 +65,12 @@ int sigrtmin18_handler(sd_event_source *
+                         log_oom();
+                         break;
+                 }
+-
++#ifdef __GLIBC__
+                 if (malloc_info(0, f) < 0) {
+                         log_error_errno(errno, "Failed to invoke malloc_info(): %m");
+                         break;
+                 }
+-
++#endif
+                 (void) memstream_dump(LOG_INFO, &m);
+                 break;
+         }
diff --git a/poky/meta/recipes-core/systemd/systemd/27253.patch b/poky/meta/recipes-core/systemd/systemd/27253.patch
deleted file mode 100644
index 6c556fe..0000000
--- a/poky/meta/recipes-core/systemd/systemd/27253.patch
+++ /dev/null
@@ -1,313 +0,0 @@
-From 924937cbc0bf692bc6e5b3a0bd3c18347d9521e9 Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Thu, 13 Apr 2023 16:40:36 +0900
-Subject: [PATCH 1/7] timesync: drop unnecessary initialization
-
-Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/27253]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/timesync/timesyncd-manager.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/src/timesync/timesyncd-manager.c
-+++ b/src/timesync/timesyncd-manager.c
-@@ -410,7 +410,7 @@ static int manager_receive_response(sd_e
-                 .msg_name = &server_addr,
-                 .msg_namelen = sizeof(server_addr),
-         };
--        struct timespec *recv_time = NULL;
-+        struct timespec *recv_time;
-         triple_timestamp dts;
-         ssize_t len;
-         double origin, receive, trans, dest, delay, offset, root_distance;
-@@ -445,7 +445,7 @@ static int manager_receive_response(sd_e
-                 return 0;
-         }
- 
--        recv_time = CMSG_FIND_DATA(&msghdr, SOL_SOCKET, SCM_TIMESTAMPNS, struct timespec);
-+        recv_time = CMSG_FIND_AND_COPY_DATA(&msghdr, SOL_SOCKET, SCM_TIMESTAMPNS, struct timespec);
-         if (!recv_time)
-                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Packet timestamp missing.");
- 
---- a/src/basic/socket-util.h
-+++ b/src/basic/socket-util.h
-@@ -183,17 +183,22 @@ int flush_accept(int fd);
-  * riscv32. */
- #define CMSG_TYPED_DATA(cmsg, type)                                     \
-         ({                                                              \
--                struct cmsghdr *_cmsg = cmsg;                           \
--                assert_cc(__alignof__(type) <= __alignof__(struct cmsghdr)); \
-+                struct cmsghdr *_cmsg = (cmsg);                         \
-+                assert_cc(alignof(type) <= alignof(struct cmsghdr));    \
-                 _cmsg ? CAST_ALIGN_PTR(type, CMSG_DATA(_cmsg)) : (type*) NULL; \
-         })
- 
- struct cmsghdr* cmsg_find(struct msghdr *mh, int level, int type, socklen_t length);
-+void* cmsg_find_and_copy_data(struct msghdr *mh, int level, int type, void *buf, size_t buf_len);
- 
- /* Type-safe, dereferencing version of cmsg_find() */
- #define CMSG_FIND_DATA(mh, level, type, ctype)                          \
-         CMSG_TYPED_DATA(cmsg_find(mh, level, type, CMSG_LEN(sizeof(ctype))), ctype)
- 
-+/* Type-safe version of cmsg_find_and_copy_data() */
-+#define CMSG_FIND_AND_COPY_DATA(mh, level, type, ctype)             \
-+        (ctype*) cmsg_find_and_copy_data(mh, level, type, &(ctype){}, sizeof(ctype))
-+
- /* Resolves to a type that can carry cmsghdr structures. Make sure things are properly aligned, i.e. the type
-  * itself is placed properly in memory and the size is also aligned to what's appropriate for "cmsghdr"
-  * structures. */
---- a/src/boot/efi/pe.c
-+++ b/src/boot/efi/pe.c
-@@ -197,7 +197,7 @@ static uint32_t get_compatibility_entry_
-                 uint32_t entry_point;
-         } _packed_ LinuxPeCompat1;
- 
--        while (size >= sizeof(LinuxPeCompat1) && addr % __alignof__(LinuxPeCompat1) == 0) {
-+        while (size >= sizeof(LinuxPeCompat1) && addr % alignof(LinuxPeCompat1) == 0) {
-                 LinuxPeCompat1 *compat = (LinuxPeCompat1 *) ((uint8_t *) dos + addr);
- 
-                 if (compat->type == 0 || compat->size == 0 || compat->size > size)
---- a/src/fundamental/macro-fundamental.h
-+++ b/src/fundamental/macro-fundamental.h
-@@ -6,12 +6,13 @@
- #endif
- 
- #include <limits.h>
-+#include <stdalign.h>
- #include <stdbool.h>
- #include <stddef.h>
- #include <stdint.h>
- 
- #define _align_(x) __attribute__((__aligned__(x)))
--#define _alignas_(x) __attribute__((__aligned__(__alignof__(x))))
-+#define _alignas_(x) __attribute__((__aligned__(alignof(x))))
- #define _alignptr_ __attribute__((__aligned__(sizeof(void *))))
- #define _cleanup_(x) __attribute__((__cleanup__(x)))
- #define _const_ __attribute__((__const__))
-@@ -346,9 +347,9 @@ static inline size_t ALIGN_TO(size_t l,
- #endif
- 
- /* Checks if the specified pointer is aligned as appropriate for the specific type */
--#define IS_ALIGNED16(p) (((uintptr_t) p) % __alignof__(uint16_t) == 0)
--#define IS_ALIGNED32(p) (((uintptr_t) p) % __alignof__(uint32_t) == 0)
--#define IS_ALIGNED64(p) (((uintptr_t) p) % __alignof__(uint64_t) == 0)
-+#define IS_ALIGNED16(p) (((uintptr_t) p) % alignof(uint16_t) == 0)
-+#define IS_ALIGNED32(p) (((uintptr_t) p) % alignof(uint32_t) == 0)
-+#define IS_ALIGNED64(p) (((uintptr_t) p) % alignof(uint64_t) == 0)
- 
- /* Same as ALIGN_TO but callable in constant contexts. */
- #define CONST_ALIGN_TO(l, ali)                                         \
-@@ -366,7 +367,7 @@ static inline size_t ALIGN_TO(size_t l,
- #define CAST_ALIGN_PTR(t, p)                                    \
-         ({                                                      \
-                 const void *_p = (p);                           \
--                assert(((uintptr_t) _p) % __alignof__(t) == 0); \
-+                assert(((uintptr_t) _p) % alignof(t) == 0); \
-                 (t *) _p;                                       \
-         })
- 
---- a/src/network/networkd-nexthop.c
-+++ b/src/network/networkd-nexthop.c
-@@ -894,7 +894,7 @@ int manager_rtnl_process_nexthop(sd_netl
-                         return 0;
-                 }
- 
--                assert((uintptr_t) group % __alignof__(struct nexthop_grp) == 0);
-+                assert((uintptr_t) group % alignof(struct nexthop_grp) == 0);
- 
-                 n_group = raw_group_size / sizeof(struct nexthop_grp);
-                 for (size_t i = 0; i < n_group; i++) {
---- a/src/test/test-sizeof.c
-+++ b/src/test/test-sizeof.c
-@@ -17,16 +17,16 @@
- DISABLE_WARNING_TYPE_LIMITS;
- 
- #define info_no_sign(t)                                                 \
--        printf("%s → %zu bits, %zu byte alignment\n", STRINGIFY(t),     \
-+        printf("%s → %zu bits, %zu byte alignment\n", STRINGIFY(t),    \
-                sizeof(t)*CHAR_BIT,                                      \
--               __alignof__(t))
-+               alignof(t))
- 
- #define info(t)                                                         \
--        printf("%s → %zu bits%s, %zu byte alignment\n", STRINGIFY(t),   \
-+        printf("%s → %zu bits%s, %zu byte alignment\n", STRINGIFY(t),  \
-                sizeof(t)*CHAR_BIT,                                      \
-                strstr(STRINGIFY(t), "signed") ? "" :                    \
-                (t)-1 < (t)0 ? ", signed" : ", unsigned",                \
--               __alignof__(t))
-+               alignof(t))
- 
- enum Enum {
-         enum_value,
-@@ -44,7 +44,7 @@ enum BigEnum2 {
- int main(void) {
-         int (*function_pointer)(void);
- 
--        info_no_sign(function_pointer);
-+        info_no_sign(typeof(function_pointer));
-         info_no_sign(void*);
-         info(char*);
- 
---- a/src/basic/socket-util.c
-+++ b/src/basic/socket-util.c
-@@ -1171,6 +1171,18 @@ struct cmsghdr* cmsg_find(struct msghdr
-         return NULL;
- }
- 
-+void* cmsg_find_and_copy_data(struct msghdr *mh, int level, int type, void *buf, size_t buf_len) {
-+        struct cmsghdr *cmsg;
-+
-+        assert(mh);
-+
-+        cmsg = cmsg_find(mh, level, type, buf_len == SIZE_MAX ? (socklen_t) -1 : CMSG_LEN(buf_len));
-+        if (!cmsg)
-+                return NULL;
-+
-+        return memcpy_safe(buf, CMSG_DATA(cmsg), buf_len == SIZE_MAX ? cmsg->cmsg_len : buf_len);
-+}
-+
- int socket_ioctl_fd(void) {
-         int fd;
- 
---- a/src/journal/journald-server.c
-+++ b/src/journal/journald-server.c
-@@ -1385,7 +1385,7 @@ int server_process_datagram(
-         size_t label_len = 0, m;
-         Server *s = ASSERT_PTR(userdata);
-         struct ucred *ucred = NULL;
--        struct timeval *tv = NULL;
-+        struct timeval tv_buf, *tv = NULL;
-         struct cmsghdr *cmsg;
-         char *label = NULL;
-         struct iovec iovec;
-@@ -1461,10 +1461,10 @@ int server_process_datagram(
-                         label = CMSG_TYPED_DATA(cmsg, char);
-                         label_len = cmsg->cmsg_len - CMSG_LEN(0);
-                 } else if (cmsg->cmsg_level == SOL_SOCKET &&
--                           cmsg->cmsg_type == SO_TIMESTAMP &&
-+                           cmsg->cmsg_type == SCM_TIMESTAMP &&
-                            cmsg->cmsg_len == CMSG_LEN(sizeof(struct timeval))) {
-                         assert(!tv);
--                        tv = CMSG_TYPED_DATA(cmsg, struct timeval);
-+                        tv = memcpy(&tv_buf, CMSG_DATA(cmsg), sizeof(struct timeval));
-                 } else if (cmsg->cmsg_level == SOL_SOCKET &&
-                          cmsg->cmsg_type == SCM_RIGHTS) {
-                         assert(!fds);
---- a/src/libsystemd-network/icmp6-util.c
-+++ b/src/libsystemd-network/icmp6-util.c
-@@ -199,9 +199,11 @@ int icmp6_receive(int fd, void *buffer,
-                 }
- 
-                 if (cmsg->cmsg_level == SOL_SOCKET &&
--                    cmsg->cmsg_type == SO_TIMESTAMP &&
--                    cmsg->cmsg_len == CMSG_LEN(sizeof(struct timeval)))
--                        triple_timestamp_from_realtime(&t, timeval_load(CMSG_TYPED_DATA(cmsg, struct timeval)));
-+                    cmsg->cmsg_type == SCM_TIMESTAMP &&
-+                    cmsg->cmsg_len == CMSG_LEN(sizeof(struct timeval))) {
-+                        struct timeval *tv = memcpy(&(struct timeval) {}, CMSG_DATA(cmsg), sizeof(struct timeval));
-+                        triple_timestamp_from_realtime(&t, timeval_load(tv));
-+                }
-         }
- 
-         if (!triple_timestamp_is_set(&t))
---- a/src/libsystemd-network/sd-dhcp6-client.c
-+++ b/src/libsystemd-network/sd-dhcp6-client.c
-@@ -1276,7 +1276,6 @@ static int client_receive_message(
-                 .msg_control = &control,
-                 .msg_controllen = sizeof(control),
-         };
--        struct cmsghdr *cmsg;
-         triple_timestamp t = {};
-         _cleanup_free_ DHCP6Message *message = NULL;
-         struct in6_addr *server_address = NULL;
-@@ -1320,12 +1319,9 @@ static int client_receive_message(
-                 server_address = &sa.in6.sin6_addr;
-         }
- 
--        CMSG_FOREACH(cmsg, &msg) {
--                if (cmsg->cmsg_level == SOL_SOCKET &&
--                    cmsg->cmsg_type == SO_TIMESTAMP &&
--                    cmsg->cmsg_len == CMSG_LEN(sizeof(struct timeval)))
--                        triple_timestamp_from_realtime(&t, timeval_load(CMSG_TYPED_DATA(cmsg, struct timeval)));
--        }
-+        struct timeval *tv = CMSG_FIND_AND_COPY_DATA(&msg, SOL_SOCKET, SCM_TIMESTAMP, struct timeval);
-+        if (tv)
-+                triple_timestamp_from_realtime(&t, timeval_load(tv));
- 
-         if (client->transaction_id != (message->transaction_id & htobe32(0x00ffffff)))
-                 return 0;
---- a/src/libsystemd-network/sd-dhcp-server.c
-+++ b/src/libsystemd-network/sd-dhcp-server.c
-@@ -407,7 +407,7 @@ static int dhcp_server_send_udp(sd_dhcp_
-                    rather than binding the socket. This will be mostly useful
-                    when we gain support for arbitrary number of server addresses
-                  */
--                pktinfo = (struct in_pktinfo*) CMSG_DATA(cmsg);
-+                pktinfo = CMSG_TYPED_DATA(cmsg, struct in_pktinfo);
-                 assert(pktinfo);
- 
-                 pktinfo->ipi_ifindex = server->ifindex;
-@@ -1270,7 +1270,6 @@ static int server_receive_message(sd_eve
-                 .msg_control = &control,
-                 .msg_controllen = sizeof(control),
-         };
--        struct cmsghdr *cmsg;
-         ssize_t datagram_size, len;
-         int r;
- 
-@@ -1306,19 +1305,10 @@ static int server_receive_message(sd_eve
-         if ((size_t) len < sizeof(DHCPMessage))
-                 return 0;
- 
--        CMSG_FOREACH(cmsg, &msg)
--                if (cmsg->cmsg_level == IPPROTO_IP &&
--                    cmsg->cmsg_type == IP_PKTINFO &&
--                    cmsg->cmsg_len == CMSG_LEN(sizeof(struct in_pktinfo))) {
--                        struct in_pktinfo *info = CMSG_TYPED_DATA(cmsg, struct in_pktinfo);
--
--                        /* TODO figure out if this can be done as a filter on
--                         * the socket, like for IPv6 */
--                        if (server->ifindex != info->ipi_ifindex)
--                                return 0;
--
--                        break;
--                }
-+        /* TODO figure out if this can be done as a filter on the socket, like for IPv6 */
-+        struct in_pktinfo *info = CMSG_FIND_DATA(&msg, IPPROTO_IP, IP_PKTINFO, struct in_pktinfo);
-+        if (info && info->ipi_ifindex != server->ifindex)
-+                return 0;
- 
-         if (sd_dhcp_server_is_in_relay_mode(server)) {
-                 r = dhcp_server_relay_message(server, message, len - sizeof(DHCPMessage), buflen);
---- a/src/libsystemd/sd-daemon/sd-daemon.c
-+++ b/src/libsystemd/sd-daemon/sd-daemon.c
-@@ -567,7 +567,7 @@ _public_ int sd_pid_notify_with_fds(
-                         cmsg->cmsg_type = SCM_CREDENTIALS;
-                         cmsg->cmsg_len = CMSG_LEN(sizeof(struct ucred));
- 
--                        ucred = (struct ucred*) CMSG_DATA(cmsg);
-+                        ucred = CMSG_TYPED_DATA(cmsg, struct ucred);
-                         ucred->pid = pid != 0 ? pid : getpid_cached();
-                         ucred->uid = getuid();
-                         ucred->gid = getgid();
---- a/src/resolve/resolved-manager.c
-+++ b/src/resolve/resolved-manager.c
-@@ -984,7 +984,7 @@ static int manager_ipv4_send(
-                 cmsg->cmsg_level = IPPROTO_IP;
-                 cmsg->cmsg_type = IP_PKTINFO;
- 
--                pi = (struct in_pktinfo*) CMSG_DATA(cmsg);
-+                pi = CMSG_TYPED_DATA(cmsg, struct in_pktinfo);
-                 pi->ipi_ifindex = ifindex;
- 
-                 if (source)
-@@ -1040,7 +1040,7 @@ static int manager_ipv6_send(
-                 cmsg->cmsg_level = IPPROTO_IPV6;
-                 cmsg->cmsg_type = IPV6_PKTINFO;
- 
--                pi = (struct in6_pktinfo*) CMSG_DATA(cmsg);
-+                pi = CMSG_TYPED_DATA(cmsg, struct in6_pktinfo);
-                 pi->ipi6_ifindex = ifindex;
- 
-                 if (source)
diff --git a/poky/meta/recipes-core/systemd/systemd/27254.patch b/poky/meta/recipes-core/systemd/systemd/27254.patch
deleted file mode 100644
index 3928088..0000000
--- a/poky/meta/recipes-core/systemd/systemd/27254.patch
+++ /dev/null
@@ -1,345 +0,0 @@
-From 79dec6f5cc0b72d43dfb0469fa68b5cd023fbaf9 Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Thu, 13 Apr 2023 10:21:31 +0200
-Subject: [PATCH 1/3] socket-util: tighten aignment check for CMSG_TYPED_DATA()
-
-Apparently CMSG_DATA() alignment is very much undefined. Which is quite
-an ABI fuck-up, but we need to deal with this. CMSG_TYPED_DATA() already
-checks alignment of the specified pointer. Let's also check matching
-alignment of the underlying structures, which we already can do at
-compile-time.
-
-See: #27241
-
-(This does not fix #27241, but should catch such errors already at
-compile-time instead of runtime)
-
-Upstream-Status: Backport [https://github.com/systemd/systemd/pull/27254]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/basic/socket-util.h | 7 +++++++
- 1 file changed, 7 insertions(+)
-
---- a/src/basic/socket-util.h
-+++ b/src/basic/socket-util.h
-@@ -175,9 +175,16 @@ int flush_accept(int fd);
- #define CMSG_FOREACH(cmsg, mh)                                          \
-         for ((cmsg) = CMSG_FIRSTHDR(mh); (cmsg); (cmsg) = CMSG_NXTHDR((mh), (cmsg)))
- 
-+/* Returns the cmsghdr's data pointer, but safely cast to the specified type. Does two alignment checks: one
-+ * at compile time, that the requested type has a smaller or same alignment as 'struct cmsghdr', and one
-+ * during runtime, that the actual pointer matches the alignment too. This is supposed to catch cases such as
-+ * 'struct timeval' is embedded into 'struct cmsghdr' on architectures where the alignment of the former is 8
-+ * bytes (because of a 64bit time_t), but of the latter is 4 bytes (because size_t is 32bit), such as
-+ * riscv32. */
- #define CMSG_TYPED_DATA(cmsg, type)                                     \
-         ({                                                              \
-                 struct cmsghdr *_cmsg = cmsg;                           \
-+                assert_cc(__alignof__(type) <= __alignof__(struct cmsghdr)); \
-                 _cmsg ? CAST_ALIGN_PTR(type, CMSG_DATA(_cmsg)) : (type*) NULL; \
-         })
- 
---- a/src/basic/socket-util.c
-+++ b/src/basic/socket-util.c
-@@ -1047,7 +1047,7 @@ ssize_t receive_one_fd_iov(
-         }
- 
-         if (found)
--                *ret_fd = *(int*) CMSG_DATA(found);
-+                *ret_fd = *CMSG_TYPED_DATA(found, int);
-         else
-                 *ret_fd = -EBADF;
- 
---- a/src/core/manager.c
-+++ b/src/core/manager.c
-@@ -2503,7 +2503,7 @@ static int manager_dispatch_notify_fd(sd
-                 if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) {
- 
-                         assert(!fd_array);
--                        fd_array = (int*) CMSG_DATA(cmsg);
-+                        fd_array = CMSG_TYPED_DATA(cmsg, int);
-                         n_fds = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int);
- 
-                 } else if (cmsg->cmsg_level == SOL_SOCKET &&
-@@ -2511,7 +2511,7 @@ static int manager_dispatch_notify_fd(sd
-                            cmsg->cmsg_len == CMSG_LEN(sizeof(struct ucred))) {
- 
-                         assert(!ucred);
--                        ucred = (struct ucred*) CMSG_DATA(cmsg);
-+                        ucred = CMSG_TYPED_DATA(cmsg, struct ucred);
-                 }
-         }
- 
---- a/src/coredump/coredump.c
-+++ b/src/coredump/coredump.c
-@@ -1163,7 +1163,7 @@ static int process_socket(int fd) {
-                         }
- 
-                         assert(input_fd < 0);
--                        input_fd = *(int*) CMSG_DATA(found);
-+                        input_fd = *CMSG_TYPED_DATA(found, int);
-                         break;
-                 } else
-                         cmsg_close_all(&mh);
---- a/src/home/homed-manager.c
-+++ b/src/home/homed-manager.c
-@@ -1086,7 +1086,7 @@ static ssize_t read_datagram(
-                     cmsg->cmsg_type == SCM_CREDENTIALS &&
-                     cmsg->cmsg_len == CMSG_LEN(sizeof(struct ucred))) {
-                         assert(!sender);
--                        sender = (struct ucred*) CMSG_DATA(cmsg);
-+                        sender = CMSG_TYPED_DATA(cmsg, struct ucred);
-                 }
- 
-                 if (cmsg->cmsg_level == SOL_SOCKET &&
-@@ -1098,7 +1098,7 @@ static ssize_t read_datagram(
-                         }
- 
-                         assert(passed_fd < 0);
--                        passed_fd = *(int*) CMSG_DATA(cmsg);
-+                        passed_fd = *CMSG_TYPED_DATA(cmsg, int);
-                 }
-         }
- 
---- a/src/journal/journald-server.c
-+++ b/src/journal/journald-server.c
-@@ -1454,21 +1454,21 @@ int server_process_datagram(
-                     cmsg->cmsg_type == SCM_CREDENTIALS &&
-                     cmsg->cmsg_len == CMSG_LEN(sizeof(struct ucred))) {
-                         assert(!ucred);
--                        ucred = (struct ucred*) CMSG_DATA(cmsg);
-+                        ucred = CMSG_TYPED_DATA(cmsg, struct ucred);
-                 } else if (cmsg->cmsg_level == SOL_SOCKET &&
-                          cmsg->cmsg_type == SCM_SECURITY) {
-                         assert(!label);
--                        label = (char*) CMSG_DATA(cmsg);
-+                        label = CMSG_TYPED_DATA(cmsg, char);
-                         label_len = cmsg->cmsg_len - CMSG_LEN(0);
-                 } else if (cmsg->cmsg_level == SOL_SOCKET &&
-                            cmsg->cmsg_type == SO_TIMESTAMP &&
-                            cmsg->cmsg_len == CMSG_LEN(sizeof(struct timeval))) {
-                         assert(!tv);
--                        tv = (struct timeval*) CMSG_DATA(cmsg);
-+                        tv = CMSG_TYPED_DATA(cmsg, struct timeval);
-                 } else if (cmsg->cmsg_level == SOL_SOCKET &&
-                          cmsg->cmsg_type == SCM_RIGHTS) {
-                         assert(!fds);
--                        fds = (int*) CMSG_DATA(cmsg);
-+                        fds = CMSG_TYPED_DATA(cmsg, int);
-                         n_fds = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int);
-                 }
- 
---- a/src/libsystemd-network/icmp6-util.c
-+++ b/src/libsystemd-network/icmp6-util.c
-@@ -192,7 +192,7 @@ int icmp6_receive(int fd, void *buffer,
-                 if (cmsg->cmsg_level == SOL_IPV6 &&
-                     cmsg->cmsg_type == IPV6_HOPLIMIT &&
-                     cmsg->cmsg_len == CMSG_LEN(sizeof(int))) {
--                        int hops = *(int*) CMSG_DATA(cmsg);
-+                        int hops = *CMSG_TYPED_DATA(cmsg, int);
- 
-                         if (hops != 255)
-                                 return -EMULTIHOP;
-@@ -201,7 +201,7 @@ int icmp6_receive(int fd, void *buffer,
-                 if (cmsg->cmsg_level == SOL_SOCKET &&
-                     cmsg->cmsg_type == SO_TIMESTAMP &&
-                     cmsg->cmsg_len == CMSG_LEN(sizeof(struct timeval)))
--                        triple_timestamp_from_realtime(&t, timeval_load((struct timeval*) CMSG_DATA(cmsg)));
-+                        triple_timestamp_from_realtime(&t, timeval_load(CMSG_TYPED_DATA(cmsg, struct timeval)));
-         }
- 
-         if (!triple_timestamp_is_set(&t))
---- a/src/libsystemd-network/sd-dhcp-client.c
-+++ b/src/libsystemd-network/sd-dhcp-client.c
-@@ -1981,7 +1981,7 @@ static int client_receive_message_raw(
- 
-         cmsg = cmsg_find(&msg, SOL_PACKET, PACKET_AUXDATA, CMSG_LEN(sizeof(struct tpacket_auxdata)));
-         if (cmsg) {
--                struct tpacket_auxdata *aux = (struct tpacket_auxdata*) CMSG_DATA(cmsg);
-+                struct tpacket_auxdata *aux = CMSG_TYPED_DATA(cmsg, struct tpacket_auxdata);
-                 checksum = !(aux->tp_status & TP_STATUS_CSUMNOTREADY);
-         }
- 
---- a/src/libsystemd-network/sd-dhcp-server.c
-+++ b/src/libsystemd-network/sd-dhcp-server.c
-@@ -1310,7 +1310,7 @@ static int server_receive_message(sd_eve
-                 if (cmsg->cmsg_level == IPPROTO_IP &&
-                     cmsg->cmsg_type == IP_PKTINFO &&
-                     cmsg->cmsg_len == CMSG_LEN(sizeof(struct in_pktinfo))) {
--                        struct in_pktinfo *info = (struct in_pktinfo*)CMSG_DATA(cmsg);
-+                        struct in_pktinfo *info = CMSG_TYPED_DATA(cmsg, struct in_pktinfo);
- 
-                         /* TODO figure out if this can be done as a filter on
-                          * the socket, like for IPv6 */
---- a/src/libsystemd/sd-bus/bus-socket.c
-+++ b/src/libsystemd/sd-bus/bus-socket.c
-@@ -604,7 +604,7 @@ static int bus_socket_read_auth(sd_bus *
-                                  * protocol? Somebody is playing games with
-                                  * us. Close them all, and fail */
-                                 j = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int);
--                                close_many((int*) CMSG_DATA(cmsg), j);
-+                                close_many(CMSG_TYPED_DATA(cmsg, int), j);
-                                 return -EIO;
-                         } else
-                                 log_debug("Got unexpected auxiliary data with level=%d and type=%d",
-@@ -1270,18 +1270,18 @@ int bus_socket_read_message(sd_bus *bus)
-                                          * isn't actually enabled? Close them,
-                                          * and fail */
- 
--                                        close_many((int*) CMSG_DATA(cmsg), n);
-+                                        close_many(CMSG_TYPED_DATA(cmsg, int), n);
-                                         return -EIO;
-                                 }
- 
-                                 f = reallocarray(bus->fds, bus->n_fds + n, sizeof(int));
-                                 if (!f) {
--                                        close_many((int*) CMSG_DATA(cmsg), n);
-+                                        close_many(CMSG_TYPED_DATA(cmsg, int), n);
-                                         return -ENOMEM;
-                                 }
- 
-                                 for (i = 0; i < n; i++)
--                                        f[bus->n_fds++] = fd_move_above_stdio(((int*) CMSG_DATA(cmsg))[i]);
-+                                        f[bus->n_fds++] = fd_move_above_stdio(CMSG_TYPED_DATA(cmsg, int)[i]);
-                                 bus->fds = f;
-                         } else
-                                 log_debug("Got unexpected auxiliary data with level=%d and type=%d",
---- a/src/resolve/resolved-dns-stream.c
-+++ b/src/resolve/resolved-dns-stream.c
-@@ -147,7 +147,7 @@ static int dns_stream_identify(DnsStream
-                         switch (cmsg->cmsg_type) {
- 
-                         case IPV6_PKTINFO: {
--                                struct in6_pktinfo *i = (struct in6_pktinfo*) CMSG_DATA(cmsg);
-+                                struct in6_pktinfo *i = CMSG_TYPED_DATA(cmsg, struct in6_pktinfo);
- 
-                                 if (s->ifindex <= 0)
-                                         s->ifindex = i->ipi6_ifindex;
-@@ -155,7 +155,7 @@ static int dns_stream_identify(DnsStream
-                         }
- 
-                         case IPV6_HOPLIMIT:
--                                s->ttl = *(int *) CMSG_DATA(cmsg);
-+                                s->ttl = *CMSG_TYPED_DATA(cmsg, int);
-                                 break;
-                         }
- 
-@@ -165,7 +165,7 @@ static int dns_stream_identify(DnsStream
-                         switch (cmsg->cmsg_type) {
- 
-                         case IP_PKTINFO: {
--                                struct in_pktinfo *i = (struct in_pktinfo*) CMSG_DATA(cmsg);
-+                                struct in_pktinfo *i = CMSG_TYPED_DATA(cmsg, struct in_pktinfo);
- 
-                                 if (s->ifindex <= 0)
-                                         s->ifindex = i->ipi_ifindex;
-@@ -173,7 +173,7 @@ static int dns_stream_identify(DnsStream
-                         }
- 
-                         case IP_TTL:
--                                s->ttl = *(int *) CMSG_DATA(cmsg);
-+                                s->ttl = *CMSG_TYPED_DATA(cmsg, int);
-                                 break;
-                         }
-                 }
---- a/src/resolve/resolved-manager.c
-+++ b/src/resolve/resolved-manager.c
-@@ -801,7 +801,7 @@ int manager_recv(Manager *m, int fd, Dns
-                         switch (cmsg->cmsg_type) {
- 
-                         case IPV6_PKTINFO: {
--                                struct in6_pktinfo *i = (struct in6_pktinfo*) CMSG_DATA(cmsg);
-+                                struct in6_pktinfo *i = CMSG_TYPED_DATA(cmsg, struct in6_pktinfo);
- 
-                                 if (p->ifindex <= 0)
-                                         p->ifindex = i->ipi6_ifindex;
-@@ -811,11 +811,11 @@ int manager_recv(Manager *m, int fd, Dns
-                         }
- 
-                         case IPV6_HOPLIMIT:
--                                p->ttl = *(int *) CMSG_DATA(cmsg);
-+                                p->ttl = *CMSG_TYPED_DATA(cmsg, int);
-                                 break;
- 
-                         case IPV6_RECVFRAGSIZE:
--                                p->fragsize = *(int *) CMSG_DATA(cmsg);
-+                                p->fragsize = *CMSG_TYPED_DATA(cmsg, int);
-                                 break;
-                         }
-                 } else if (cmsg->cmsg_level == IPPROTO_IP) {
-@@ -824,7 +824,7 @@ int manager_recv(Manager *m, int fd, Dns
-                         switch (cmsg->cmsg_type) {
- 
-                         case IP_PKTINFO: {
--                                struct in_pktinfo *i = (struct in_pktinfo*) CMSG_DATA(cmsg);
-+                                struct in_pktinfo *i = CMSG_TYPED_DATA(cmsg, struct in_pktinfo);
- 
-                                 if (p->ifindex <= 0)
-                                         p->ifindex = i->ipi_ifindex;
-@@ -834,11 +834,11 @@ int manager_recv(Manager *m, int fd, Dns
-                         }
- 
-                         case IP_TTL:
--                                p->ttl = *(int *) CMSG_DATA(cmsg);
-+                                p->ttl = *CMSG_TYPED_DATA(cmsg, int);
-                                 break;
- 
-                         case IP_RECVFRAGSIZE:
--                                p->fragsize = *(int *) CMSG_DATA(cmsg);
-+                                p->fragsize = *CMSG_TYPED_DATA(cmsg, int);
-                                 break;
-                         }
-                 }
---- a/src/libsystemd/sd-device/device-monitor.c
-+++ b/src/libsystemd/sd-device/device-monitor.c
-@@ -503,7 +503,6 @@ int device_monitor_receive_device(sd_dev
-                 .msg_name = &snl,
-                 .msg_namelen = sizeof(snl),
-         };
--        struct cmsghdr *cmsg;
-         struct ucred *cred;
-         size_t offset;
-         ssize_t n;
-@@ -559,12 +558,11 @@ int device_monitor_receive_device(sd_dev
-                                                  snl.nl.nl_pid);
-         }
- 
--        cmsg = CMSG_FIRSTHDR(&smsg);
--        if (!cmsg || cmsg->cmsg_type != SCM_CREDENTIALS)
-+        cred = CMSG_FIND_DATA(&smsg, SOL_SOCKET, SCM_CREDENTIALS, struct ucred);
-+        if (!cred)
-                 return log_monitor_errno(m, SYNTHETIC_ERRNO(EAGAIN),
-                                          "No sender credentials received, ignoring message.");
- 
--        cred = (struct ucred*) CMSG_DATA(cmsg);
-         if (!check_sender_uid(m, cred->uid))
-                 return log_monitor_errno(m, SYNTHETIC_ERRNO(EAGAIN),
-                                          "Sender uid="UID_FMT", message ignored.", cred->uid);
---- a/src/udev/udev-ctrl.c
-+++ b/src/udev/udev-ctrl.c
-@@ -161,7 +161,6 @@ static int udev_ctrl_connection_event_ha
-                 .msg_control = &control,
-                 .msg_controllen = sizeof(control),
-         };
--        struct cmsghdr *cmsg;
-         struct ucred *cred;
-         ssize_t size;
- 
-@@ -185,15 +184,12 @@ static int udev_ctrl_connection_event_ha
- 
-         cmsg_close_all(&smsg);
- 
--        cmsg = CMSG_FIRSTHDR(&smsg);
--
--        if (!cmsg || cmsg->cmsg_type != SCM_CREDENTIALS) {
-+        cred = CMSG_FIND_DATA(&smsg, SOL_SOCKET, SCM_CREDENTIALS, struct ucred);
-+        if (!cred) {
-                 log_error("No sender credentials received, ignoring message");
-                 return 0;
-         }
- 
--        cred = (struct ucred *) CMSG_DATA(cmsg);
--
-         if (cred->uid != 0) {
-                 log_error("Invalid sender uid "UID_FMT", ignoring message", cred->uid);
-                 return 0;
diff --git a/poky/meta/recipes-core/systemd/systemd_253.3.bb b/poky/meta/recipes-core/systemd/systemd_254.bb
similarity index 96%
rename from poky/meta/recipes-core/systemd/systemd_253.3.bb
rename to poky/meta/recipes-core/systemd/systemd_254.bb
index cf0e17f..f48f8c0 100644
--- a/poky/meta/recipes-core/systemd/systemd_253.3.bb
+++ b/poky/meta/recipes-core/systemd/systemd_254.bb
@@ -10,9 +10,13 @@
 
 inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check
 
+# unmerged-usr support is deprecated upstream, taints the system and will be
+# removed in the near future. Fail the build if it is not enabled.
+REQUIRED_DISTRO_FEATURES += "usrmerge"
+
 # As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
 # that we don't build both udev and systemd in world builds.
-REQUIRED_DISTRO_FEATURES = "systemd"
+REQUIRED_DISTRO_FEATURES += "systemd"
 
 SRC_URI += " \
            file://touchscreen.rules \
@@ -26,8 +30,6 @@
            file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
            file://0008-implment-systemd-sysv-install-for-OE.patch \
            file://0004-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch \
-           file://27254.patch \
-           file://27253.patch \
            "
 
 # patches needed by musl
@@ -39,7 +41,6 @@
                file://0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
                file://0013-add-missing-FTW_-macros-for-musl.patch \
                file://0014-Use-uintmax_t-for-handling-rlim_t.patch \
-               file://0015-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
                file://0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
                file://0017-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
                file://0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
@@ -53,6 +54,11 @@
                file://0001-Adjust-for-musl-headers.patch \
                file://0006-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch \
                file://0003-errno-util-Make-STRERROR-portable-for-musl.patch \
+               file://0025-include-sys-file.h-for-LOCK_EX.patch \
+               file://0026-test-test-sizeof-Include-sys-timex.h-for-struct-time.patch \
+               file://0027-include-missing-sys-file.h-for-LOCK_EX.patch \
+               file://0028-sd-event-Make-malloc_trim-conditional-on-glibc.patch \
+               file://0029-shared-Do-not-use-malloc_info-on-musl.patch \
                "
 
 PAM_PLUGINS = " \
@@ -140,8 +146,7 @@
 PACKAGECONFIG[default-compression-xz] = "-Dxz=true -Ddefault-compression=xz,,xz"
 PACKAGECONFIG[default-compression-zstd] = "-Dzstd=true -Ddefault-compression=zstd,,zstd"
 PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus"
-PACKAGECONFIG[efi] = "-Defi=true,-Defi=false"
-PACKAGECONFIG[gnu-efi] = "-Dgnu-efi=true -Defi-libdir=${STAGING_LIBDIR} -Defi-includedir=${STAGING_INCDIR}/efi,-Dgnu-efi=false,gnu-efi"
+PACKAGECONFIG[efi] = "-Defi=true -Dbootloader=true,-Defi=false -Dbootloader=false,python3-pyelftools"
 PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils"
 PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false"
 PACKAGECONFIG[repart] = "-Drepart=true,-Drepart=false"
@@ -158,6 +163,7 @@
 PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false,glib-2.0"
 # Update NAT firewall rules
 PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables"
+PACKAGECONFIG[journal-color] = ",,,less"
 PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl"
 PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod"
 PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig"
@@ -240,7 +246,9 @@
                   -Dsystem-gid-max=999 \
                   "
 
-# Hardcode target binary paths to avoid using paths from sysroot
+# Hardcode target binary paths to avoid using paths from sysroot or worse
+# it pokes for these binaries on build host and encodes that distro assumption
+# into target
 EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \
                   -Dkmod-path=${base_bindir}/kmod \
                   -Dmount-path=${base_bindir}/mount \
@@ -248,7 +256,9 @@
                   -Dquotaon-path=${sbindir}/quotaon \
                   -Dsulogin-path=${base_sbindir}/sulogin \
                   -Dnologin-path=${base_sbindir}/nologin \
-                  -Dumount-path=${base_bindir}/umount"
+                  -Dumount-path=${base_bindir}/umount \
+                  -Dloadkeys-path=${bindir}/loadkeys \
+                  -Dsetfont-path=${bindir}/setfont"
 
 # The 60 seconds is watchdog's default vaule.
 WATCHDOG_TIMEOUT ??= "60"
@@ -424,7 +434,7 @@
                     ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
 "
 GROUPADD_PARAM:${PN} = "-r systemd-journal;"
-GROUPADD_PARAM:udev = "-r render;-r sgx;"
+GROUPADD_PARAM:udev = "-r render"
 GROUPADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}"
 USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}"
 USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}"
@@ -552,6 +562,7 @@
                         ${bindir}/systemd-stdio-bridge \
                         ${base_bindir}/systemd-ask-password \
                         ${base_bindir}/systemd-tty-ask-password-agent \
+                        ${base_sbindir}/mount.ddi \
                         ${systemd_system_unitdir}/initrd.target.wants/systemd-pcrphase-initrd.path \
                         ${systemd_system_unitdir}/systemd-ask-password-console.path \
                         ${systemd_system_unitdir}/systemd-ask-password-console.service \
@@ -622,6 +633,8 @@
                 ${datadir}/polkit-1 \
                 ${datadir}/${BPN} \
                 ${datadir}/factory \
+                ${sysconfdir}/credstore/ \
+                ${sysconfdir}/credstore.encrypted/ \
                 ${sysconfdir}/dbus-1/ \
                 ${sysconfdir}/modules-load.d/ \
                 ${sysconfdir}/pam.d/ \
@@ -650,6 +663,7 @@
                 ${bindir}/bootctl \
                 ${bindir}/oomctl \
                 ${bindir}/userdbctl \
+                ${exec_prefix}/lib/credstore \
                 ${exec_prefix}/lib/tmpfiles.d/*.conf \
                 ${exec_prefix}/lib/systemd \
                 ${exec_prefix}/lib/modules-load.d \
@@ -675,7 +689,7 @@
 
 FILES:${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
 
-RDEPENDS:${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck"
+RDEPENDS:${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck util-linux-swaponoff"
 RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}"
 RDEPENDS:${PN} += "volatile-binds"
 
@@ -685,6 +699,7 @@
                       kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 kernel-module-sch-fq-codel \
                       os-release \
                       systemd-conf \
+                      ${@bb.utils.contains('PACKAGECONFIG', 'logind', 'pam-plugin-umask', '', d)} \
 "
 
 INSANE_SKIP:${PN} += "dev-so libdir"
@@ -708,6 +723,7 @@
                ${rootlibexecdir}/udev/dmi_memory_id \
                ${rootlibexecdir}/udev/fido_id \
                ${rootlibexecdir}/udev/findkeyboards \
+               ${rootlibexecdir}/udev/iocost \
                ${rootlibexecdir}/udev/keyboard-force-release.sh \
                ${rootlibexecdir}/udev/keymap \
                ${rootlibexecdir}/udev/mtd_probe \
@@ -719,6 +735,7 @@
                ${rootlibexecdir}/udev/rules.d/60-autosuspend-chromiumos.rules \
                ${rootlibexecdir}/udev/rules.d/60-block.rules \
                ${rootlibexecdir}/udev/rules.d/60-cdrom_id.rules \
+               ${rootlibexecdir}/udev/rules.d/60-dmi-id.rules \
                ${rootlibexecdir}/udev/rules.d/60-drm.rules \
                ${rootlibexecdir}/udev/rules.d/60-evdev.rules \
                ${rootlibexecdir}/udev/rules.d/60-fido-id.rules \
@@ -746,6 +763,7 @@
                ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \
                ${rootlibexecdir}/udev/rules.d/81-net-dhcp.rules \
                ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \
+               ${rootlibexecdir}/udev/rules.d/90-iocost.rules \
                ${rootlibexecdir}/udev/rules.d/README \
                ${sysconfdir}/udev \
                ${sysconfdir}/init.d/systemd-udevd \
diff --git a/poky/meta/recipes-core/udev/eudev_3.2.12.bb b/poky/meta/recipes-core/udev/eudev_3.2.12.bb
index 4268bcc..572ccec 100644
--- a/poky/meta/recipes-core/udev/eudev_3.2.12.bb
+++ b/poky/meta/recipes-core/udev/eudev_3.2.12.bb
@@ -18,7 +18,7 @@
 
 GITHUB_BASE_URI = "https://github.com/eudev-project/eudev/releases"
 
-inherit autotools update-rc.d qemu pkgconfig features_check manpages github-releases useradd
+inherit autotools update-rc.d qemu pkgconfig features_check manpages github-releases
 
 CONFLICT_DISTRO_FEATURES = "systemd"
 
@@ -85,6 +85,3 @@
 pkg_prerm:${PN}-hwdb () {
 	rm -f $D${sysconfdir}/udev/hwdb.bin
 }
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM:${PN} = "-r sgx"
diff --git a/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.38.1.bb b/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.39.1.bb
similarity index 100%
rename from poky/meta/recipes-core/util-linux/util-linux-libuuid_2.38.1.bb
rename to poky/meta/recipes-core/util-linux/util-linux-libuuid_2.39.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 3868b1c..99ce2a2 100644
--- a/poky/meta/recipes-core/util-linux/util-linux.inc
+++ b/poky/meta/recipes-core/util-linux/util-linux.inc
@@ -6,13 +6,13 @@
 
 SECTION = "base"
 
-LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & BSD-3-Clause & BSD-4-Clause"
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause"
 LICENSE:${PN}-libblkid = "LGPL-2.1-or-later"
 LICENSE:${PN}-libfdisk = "LGPL-2.1-or-later"
 LICENSE:${PN}-libmount = "LGPL-2.1-or-later"
 LICENSE:${PN}-libsmartcols = "LGPL-2.1-or-later"
 
-LIC_FILES_CHKSUM = "file://README.licensing;md5=0fd5c050c6187d2bf0a4492b7f4e33da \
+LIC_FILES_CHKSUM = "file://README.licensing;md5=12ae7768a65ec8f2e44d930df9cb43fa \
                     file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://Documentation/licenses/COPYING.GPL-2.0-or-later;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://Documentation/licenses/COPYING.LGPL-2.1-or-later;md5=4fbd65380cdd255951079008b364516c \
@@ -23,7 +23,7 @@
                     file://libblkid/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
                     file://libfdisk/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
                     file://libsmartcols/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
-"
+                    "
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/util-linux:"
 MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
@@ -35,8 +35,6 @@
            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] = "60492a19b44e6cf9a3ddff68325b333b8b52b6c59ce3ebd6a0ecaa4c5117e84f"
+SRC_URI[sha256sum] = "890ae8ff810247bd19e274df76e8371d202cda01ad277681b0ea88eeaa00286b"
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
deleted file mode 100644
index 19f57f1..0000000
--- a/poky/meta/recipes-core/util-linux/util-linux/0001-check-for-sys-pidfd.h.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-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
deleted file mode 100644
index 00611fe..0000000
--- a/poky/meta/recipes-core/util-linux/util-linux/0001-configure.ac-Improve-check-for-magic.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-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/run-ptest b/poky/meta/recipes-core/util-linux/util-linux/run-ptest
index 097107c..7b6b1d1 100644
--- a/poky/meta/recipes-core/util-linux/util-linux/run-ptest
+++ b/poky/meta/recipes-core/util-linux/util-linux/run-ptest
@@ -16,7 +16,15 @@
 # losetup tests will be skipped and/or fail otherwise
 modprobe loop
 
-./tests/run.sh --use-system-commands --parsable --show-diff | sed -u '{
+# required for mount/fallback test to pass
+# systemd does this by default, but ptest images do not use it
+# see https://man7.org/linux/man-pages/man7/mount_namespaces.7.html
+# for a long description of mount namespaces in Linux
+mount --make-shared /
+
+# lsfd/option-inet has races in the test script:
+# https://github.com/util-linux/util-linux/issues/2399
+./tests/run.sh --use-system-commands --parsable --show-diff --exclude=lsfd/option-inet | sed -u '{
       s/^\(.*\):\(.*\) \.\.\. OK$/PASS: \1:\2/                              
       s/^\(.*\):\(.*\) \.\.\. FAILED \(.*\)$/FAIL: \1:\2 \3/                
       s/^\(.*\):\(.*\) \.\.\. SKIPPED \(.*\)$/SKIP: \1:\2 \3/               
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.38.1.bb b/poky/meta/recipes-core/util-linux/util-linux_2.39.1.bb
similarity index 100%
rename from poky/meta/recipes-core/util-linux/util-linux_2.38.1.bb
rename to poky/meta/recipes-core/util-linux/util-linux_2.39.1.bb
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch b/poky/meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch
deleted file mode 100644
index 4f15bf9..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 7a3bbca81b803ba116b83c82de378e840cc35f81 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Thu, 1 Sep 2022 16:19:50 -0500
-Subject: [PATCH] Port to compilers that moan about K&R func decls
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* lib/autoconf/c.m4 (AC_LANG_CALL, AC_LANG_FUNC_LINK_TRY):
-Use '(void)' rather than '()' in function prototypes, as the latter
-provokes fatal errors in some compilers nowadays.
-* lib/autoconf/functions.m4 (AC_FUNC_STRTOD):
-* tests/fortran.at (AC_F77_DUMMY_MAIN usage):
-* tests/semantics.at (AC_CHECK_DECLS):
-Don’t use () in a function decl.
-
-Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- doc/autoconf.texi         | 7 +++----
- lib/autoconf/c.m4         | 6 +++---
- lib/autoconf/functions.m4 | 3 ---
- tests/fortran.at          | 8 ++++----
- tests/semantics.at        | 2 +-
- 5 files changed, 11 insertions(+), 15 deletions(-)
-
---- a/doc/autoconf.texi
-+++ b/doc/autoconf.texi
-@@ -5465,9 +5465,7 @@ the @samp{#undef malloc}):
- #include <config.h>
- #undef malloc
- 
--#include <sys/types.h>
--
--void *malloc ();
-+#include <stdlib.h>
- 
- /* Allocate an N-byte block of memory from the heap.
-    If N is zero, allocate a 1-byte block.  */
-@@ -8295,7 +8293,7 @@ needed:
- #  ifdef __cplusplus
-      extern "C"
- #  endif
--   int F77_DUMMY_MAIN () @{ return 1; @}
-+   int F77_DUMMY_MAIN (void) @{ return 1; @}
- #endif
- @end example
- 
---- 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.  */
---- a/lib/autoconf/functions.m4
-+++ b/lib/autoconf/functions.m4
-@@ -1601,9 +1601,6 @@ AC_DEFUN([AC_FUNC_STRTOD],
- AC_CACHE_CHECK(for working strtod, ac_cv_func_strtod,
- [AC_RUN_IFELSE([AC_LANG_SOURCE([[
- ]AC_INCLUDES_DEFAULT[
--#ifndef strtod
--double strtod ();
--#endif
- int
- main (void)
- {
---- a/tests/fortran.at
-+++ b/tests/fortran.at
-@@ -233,7 +233,7 @@ void FOOBAR_F77 (double *x, double *y);
- #  ifdef __cplusplus
-      extern "C"
- #  endif
--   int F77_DUMMY_MAIN () { return 1; }
-+   int F77_DUMMY_MAIN (void) { return 1; }
- #endif
- 
- int main(int argc, char *argv[])
-@@ -315,7 +315,7 @@ void FOOBAR_FC(double *x, double *y);
- #  ifdef __cplusplus
-      extern "C"
- #  endif
--   int FC_DUMMY_MAIN () { return 1; }
-+   int FC_DUMMY_MAIN (void) { return 1; }
- #endif
- 
- int main (int argc, char *argv[])
-@@ -561,7 +561,7 @@ void @foobar@ (int *x);
- #  ifdef __cplusplus
-      extern "C"
- #  endif
--   int F77_DUMMY_MAIN () { return 1; }
-+   int F77_DUMMY_MAIN (void) { return 1; }
- #endif
- 
- int main(int argc, char *argv[])
-@@ -637,7 +637,7 @@ void @foobar@ (int *x);
- #  ifdef __cplusplus
-      extern "C"
- #  endif
--   int FC_DUMMY_MAIN () { return 1; }
-+   int FC_DUMMY_MAIN (void) { return 1; }
- #endif
- 
- int main(int argc, char *argv[])
---- a/tests/semantics.at
-+++ b/tests/semantics.at
-@@ -207,7 +207,7 @@ AT_CHECK_MACRO([AC_CHECK_DECLS],
- 		 [[extern int yes;
- 		   enum { myenum };
- 		   extern struct mystruct_s { int x[20]; } mystruct;
--		   extern int myfunc();
-+		   extern int myfunc (int);
- 		   #define mymacro1(arg) arg
- 		   #define mymacro2]])
-   # Ensure we can detect missing declarations of functions whose
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0001-mention-prototypes-more-prominently-in-NEWS.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0001-mention-prototypes-more-prominently-in-NEWS.patch
new file mode 100644
index 0000000..3faf6f0
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0001-mention-prototypes-more-prominently-in-NEWS.patch
@@ -0,0 +1,36 @@
+From 5ffc09fca39de051537fbebd7c6c33d5255a520f Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Mon, 27 Mar 2023 18:10:36 -0700
+Subject: [PATCH 01/29] mention prototypes more prominently in NEWS
+
+* NEWS: Mention the function prototype issue early.
+(From a suggestion by Zack Weinberg.)
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ NEWS | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/NEWS b/NEWS
+index cf01ee210..d64648c6f 100644
+--- a/NEWS
++++ b/NEWS
+@@ -4,6 +4,14 @@ GNU Autoconf NEWS - User visible changes.
+ 
+ ** Backward incompatibilities
+ 
++*** AC_CHECK_FUNC and similar macros now use function prototypes.
++  AC_CHECK_FUNC and and similar macros now use C declarations with
++  function prototypes, a feature introduced in C89.  The new approach
++  should work better with C23, which removed the non-prototyped K&R
++  style that AC_CHECK_FUNC previously used.  However, this change
++  means Autoconf no longer supports pre-1989 C compilers, as they do
++  not support function prototypes.
++
+ *** Autoconf now requires perl 5.10 (2007) or later.
+   Generated 'configure' scripts continue to run without perl.
+ 
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0002-build-run-make-fetch-which-updated-these.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0002-build-run-make-fetch-which-updated-these.patch
new file mode 100644
index 0000000..35f324c
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0002-build-run-make-fetch-which-updated-these.patch
@@ -0,0 +1,123 @@
+From e2220ed33e69d8bc6504e3f6279894afe33a99a5 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Wed, 29 Mar 2023 12:59:09 -0700
+Subject: [PATCH 02/29] build: run "make fetch", which updated these:
+
+* build-aux/texinfo.tex: Update from texinfo.
+* lib/Autom4te/FileUtils.pm: Update from automake.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ build-aux/texinfo.tex     | 50 +++++++++++++++++++++------------------
+ lib/Autom4te/FileUtils.pm |  5 +++-
+ 2 files changed, 31 insertions(+), 24 deletions(-)
+
+diff --git a/build-aux/texinfo.tex b/build-aux/texinfo.tex
+index d25161109..55a002d27 100644
+--- a/build-aux/texinfo.tex
++++ b/build-aux/texinfo.tex
+@@ -3,7 +3,7 @@
+ % Load plain if necessary, i.e., if running under initex.
+ \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
+ %
+-\def\texinfoversion{2023-03-21.06}
++\def\texinfoversion{2023-03-27.21}
+ %
+ % Copyright 1985, 1986, 1988, 1990-2023 Free Software Foundation, Inc.
+ %
+@@ -1102,27 +1102,33 @@ where each line of input produces a line of output.}
+ 
+ % Output page labels information.
+ % See PDF reference v.1.7 p.594, section 8.3.1.
++% Page label ranges must be increasing.
+ \ifpdf
+ \def\pagelabels{%
+   \def\title{0 << /P (T-) /S /D >>}%
+-  \edef\roman{\the\romancount << /S /r >>}%
+-  \edef\arabic{\the\arabiccount << /S /D >>}%
+   %
+-  % Page label ranges must be increasing.  Remove any duplicates.
+-  % (There is a slight chance of this being wrong if e.g. there is
+-  % a @contents but no @titlepage, etc.)
+-  %
+-  \ifnum\romancount=0 \def\roman{}\fi
+-  \ifnum\arabiccount=0 \def\title{}%
+-  \else
+-    \ifnum\romancount=\arabiccount \def\roman{}\fi
+-  \fi
+-  %
+-  \ifnum\romancount<\arabiccount
+-    \pdfcatalog{/PageLabels << /Nums [\title \roman \arabic ] >> }\relax
++  % support @contents at very end of document
++  \ifnum\contentsendcount=\pagecount
++    \ifnum\arabiccount<\romancount
++      \pdfcatalog{/PageLabels << /Nums
++                  [\title
++                   \the\arabiccount << /S /D >>
++                   \the\romancount << /S /r >>
++                  ] >> }\relax
++    \fi
++  % no contents in document
++  \else\ifnum\contentsendcount=0
++    \pdfcatalog{/PageLabels << /Nums
++                [\title
++                 \the\arabiccount << /S /D >>
++                ] >> }\relax
+   \else
+-    \pdfcatalog{/PageLabels << /Nums [\title \arabic \roman ] >> }\relax
+-  \fi
++    \pdfcatalog{/PageLabels << /Nums
++                [\title
++                 \the\romancount << /S /r >>
++                 \the\contentsendcount << /S /D >>
++                ] >> }\relax
++  \fi\fi
+ }
+ \else
+   \let\pagelabels\relax
+@@ -1131,6 +1137,8 @@ where each line of input produces a line of output.}
+ \newcount\pagecount \pagecount=0
+ \newcount\romancount \romancount=0
+ \newcount\arabiccount \arabiccount=0
++\newcount\contentsendcount \contentsendcount=0
++
+ \ifpdf
+   \let\ptxadvancepageno\advancepageno
+   \def\advancepageno{%
+@@ -6809,12 +6817,8 @@ might help (with 'rm \jobname.?? \jobname.??s')%
+ % Get ready to use Arabic numerals again
+ \def\contentsendroman{%
+   \lastnegativepageno = \pageno
+-  \global\pageno = \savepageno
+-  %
+-  % If \romancount > \arabiccount, the contents are at the end of the
+-  % document.  Otherwise, advance where the Arabic numerals start for
+-  % the page numbers.
+-  \ifnum\romancount>\arabiccount\else\global\arabiccount=\pagecount\fi
++  \global\pageno=1
++  \contentsendcount = \pagecount
+ }
+ 
+ % Typeset the label for a chapter or appendix for the short contents.
+diff --git a/lib/Autom4te/FileUtils.pm b/lib/Autom4te/FileUtils.pm
+index ab58b9de4..2468fe6d8 100644
+--- a/lib/Autom4te/FileUtils.pm
++++ b/lib/Autom4te/FileUtils.pm
+@@ -39,9 +39,12 @@ use strict;
+ use warnings FATAL => 'all';
+ 
+ use Exporter;
+-use Time::HiRes qw(stat);
+ use IO::File;
+ 
++# use sub-second resolution timestamps if available,
++# carry on with one-second resolution timestamps if that is all we have
++BEGIN { eval { require Time::HiRes; import Time::HiRes qw(stat) } }
++
+ use Autom4te::Channels;
+ use Autom4te::ChannelDefs;
+ 
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0003-NEWS-Tighten-up-wording.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0003-NEWS-Tighten-up-wording.patch
new file mode 100644
index 0000000..76c37a0
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0003-NEWS-Tighten-up-wording.patch
@@ -0,0 +1,29 @@
+From e05aa447945c0d72ad924fd89a28830cf1a0f8d3 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 31 Mar 2023 10:37:57 -0700
+Subject: [PATCH 03/29] * NEWS: Tighten up wording.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ NEWS | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index d64648c6f..884e46f45 100644
+--- a/NEWS
++++ b/NEWS
+@@ -5,9 +5,7 @@ GNU Autoconf NEWS - User visible changes.
+ ** Backward incompatibilities
+ 
+ *** AC_CHECK_FUNC and similar macros now use function prototypes.
+-  AC_CHECK_FUNC and and similar macros now use C declarations with
+-  function prototypes, a feature introduced in C89.  The new approach
+-  should work better with C23, which removed the non-prototyped K&R
++  This should work better with C23, which removed the non-prototyped K&R
+   style that AC_CHECK_FUNC previously used.  However, this change
+   means Autoconf no longer supports pre-1989 C compilers, as they do
+   not support function prototypes.
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch
new file mode 100644
index 0000000..1b30d99
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch
@@ -0,0 +1,82 @@
+From 232cab527897bcdf4d55492d41af73d31905bda5 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 31 Mar 2023 10:46:20 -0700
+Subject: [PATCH 04/29] Cater to programs misusing AC_EGREP_HEADER
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Problem reported by Frederic Berat in:
+https://lists.gnu.org/archive/html/autoconf/2022-11/msg00127.html
+* lib/autoconf/programs.m4 (AC_PROG_EGREP): Also set
+EGREP_TRADITIONAL and ac_cv_path_EGREP_TRADITIONAL.
+* tests/c.at (AC_PROG_EGREP and AC_EGREP_HEADER):
+New test, taken from Frederic Berat’s email in:
+https://lists.gnu.org/r/autoconf/2023-03/msg00043.html
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/programs.m4 | 10 ++++++++++
+ tests/c.at               | 24 ++++++++++++++++++++++++
+ 2 files changed, 34 insertions(+)
+
+diff --git a/lib/autoconf/programs.m4 b/lib/autoconf/programs.m4
+index 1b7460c85..62ba6b8b6 100644
+--- a/lib/autoconf/programs.m4
++++ b/lib/autoconf/programs.m4
+@@ -371,6 +371,16 @@ AC_CACHE_CHECK([for egrep], ac_cv_path_EGREP,
+    fi])
+  EGREP="$ac_cv_path_EGREP"
+  AC_SUBST([EGREP])
++ dnl
++ dnl Also set EGREP_TRADITIONAL even though unnecessary here,
++ dnl for wrong but too-common code with the following pattern:
++ dnl   AC_PROG_EGREP
++ dnl   if false; then
++ dnl      AC_EGREP_HEADER([printf], [stdio.h], [has_printf=yes])
++ dnl   fi
++ dnl   AC_EGREP_HEADER([malloc], [stdlib.h], [has_malloc=yes])
++ EGREP_TRADITIONAL=$EGREP
++ ac_cv_path_EGREP_TRADITIONAL=$EGREP
+ ])# AC_PROG_EGREP
+ 
+ # _AC_PROG_EGREP_TRADITIONAL
+diff --git a/tests/c.at b/tests/c.at
+index c37f43b10..fad54760f 100644
+--- a/tests/c.at
++++ b/tests/c.at
+@@ -232,6 +232,30 @@ AT_CHECK_DEFINES(
+ AT_CLEANUP
+ 
+ 
++## ----------------------------------- ##
++## AC_PROG_EGREP and AC_EGREP_HEADER.  ##
++## ----------------------------------- ##
++
++AT_SETUP([AC_PROG_EGREP and AC_EGREP_HEADER])
++
++_AT_CHECK_AC_MACRO(
++[[AC_PROG_CPP
++  AC_PROG_EGREP
++
++  # Although this code is incorrect (it should use AS_IF),
++  # it follows a too-common real world pattern.
++  # For now, test for it; we may remove this test later.
++  if false; then
++    AC_EGREP_HEADER([^], [limits.h])
++  fi
++
++  AC_EGREP_HEADER([$], [limits.h], [],
++    [AC_MSG_ERROR([[egrep-related macros do not tolerate misuse of 'if']])])
++]])
++
++AT_CLEANUP
++
++
+ ## ------------------------------------ ##
+ ## AC_NO_EXECUTABLES (working linker).  ##
+ ## ------------------------------------ ##
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0006-Fix-timing-bug-on-high-speed-builds.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0006-Fix-timing-bug-on-high-speed-builds.patch
new file mode 100644
index 0000000..53fb40b
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0006-Fix-timing-bug-on-high-speed-builds.patch
@@ -0,0 +1,75 @@
+From 713d9822bbfb2923115065efaefed34a0113f8a1 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Sat, 1 Apr 2023 16:44:03 -0700
+Subject: [PATCH 06/29] Fix timing bug on high-speed builds
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Problem reported by Bogdan via Jacob Bachmeyer in:
+https://lists.gnu.org/r/autoconf/2023-04/msg00002.html
+* bin/autom4te.in: If a file timestamp equals a dependency’s
+timestamp, consider the file to be out of date.  Although this may
+result in extra work, it fixes some rare timing bugs.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ bin/autom4te.in | 12 +++++-------
+ 1 file changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/bin/autom4te.in b/bin/autom4te.in
+index 4b61f0a82..71d7e6a62 100644
+--- a/bin/autom4te.in
++++ b/bin/autom4te.in
+@@ -910,10 +910,8 @@ sub up_to_date ($)
+   return 0
+     if ! -f $tfile || ! -f $ofile;
+ 
+-  # The youngest of the cache files must be older than the oldest of
++  # The younger of the cache files must be older than the oldest of
+   # the dependencies.
+-  # FIXME: These timestamps have only 1-second resolution.
+-  # Time::HiRes fixes this, but assumes Perl 5.8 or later.
+   my $tmtime = mtime ($tfile);
+   my $omtime = mtime ($ofile);
+   my ($file, $mtime) = ($tmtime < $omtime
+@@ -926,7 +924,7 @@ sub up_to_date ($)
+   # We depend at least upon the arguments.
+   foreach my $dep (@ARGV)
+     {
+-      if ($mtime < mtime ($dep))
++      if ($mtime <= mtime ($dep))
+ 	{
+ 	  verb "up_to_date ($file): outdated: $dep";
+ 	  return 0;
+@@ -949,7 +947,7 @@ sub up_to_date ($)
+       # timestamp of that missing file was newer).
+       return 0
+ 	if ! $dep;
+-      if ($mtime < mtime ($dep))
++      if ($mtime <= mtime ($dep))
+ 	{
+ 	  verb "up_to_date ($file): outdated: $dep";
+ 	  return 0;
+@@ -1038,7 +1036,7 @@ $icache_file = new Autom4te::XFile $icache, O_RDWR|O_CREAT;
+ $icache_file->lock (LOCK_EX)
+   if ($flock_implemented eq "yes");
+ 
+-# Read the cache index if available and older than autom4te itself.
++# Read the cache index if available and younger than autom4te itself.
+ # If autom4te is younger, then some structures such as C4che might
+ # have changed, which would corrupt its processing.
+ Autom4te::C4che->load ($icache_file)
+@@ -1105,7 +1103,7 @@ else
+     # Actual M4 expansion, if the user wants it, or if $output is old
+     # (STDOUT is pretty old).
+     handle_output ($req, $output)
+-      if $force || mtime ($output) < mtime ($ocache . $req->id);
++      if $force || mtime ($output) <= mtime ($ocache . $req->id);
+   }
+ 
+ # If we ran up to here, the cache is valid.
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0007-Support-underquoted-callers-better.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0007-Support-underquoted-callers-better.patch
new file mode 100644
index 0000000..f9f9345
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0007-Support-underquoted-callers-better.patch
@@ -0,0 +1,57 @@
+From 794182506c3c5814d48b2fc4d832770f608ce0ef Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Sat, 1 Apr 2023 20:25:13 -0700
+Subject: [PATCH 07/29] Support underquoted callers better
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Problem reported bh Khem Raj for mcpp 2.7.2 (2008) in:
+https://lists.gnu.org/r/autoconf/2023-04/msg00001.html
+* lib/autoconf/programs.m4 (_AC_PATH_PROG_FLAVOR_GNU):
+Add two ‘@%:@(’s to cater to underquoted callers.
+* lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Use quadrigraph instead of
+‘#’, for underquoted callers.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/programs.m4 | 5 +++--
+ lib/m4sugar/m4sh.m4      | 2 +-
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/lib/autoconf/programs.m4 b/lib/autoconf/programs.m4
+index 62ba6b8b6..d06d18c44 100644
+--- a/lib/autoconf/programs.m4
++++ b/lib/autoconf/programs.m4
+@@ -543,11 +543,12 @@ dnl   # for best performing tool in a list breaks down.
+ # ----------------------------------------------------------------
+ m4_define([_AC_PATH_PROG_FLAVOR_GNU],
+ [# Check for GNU $1
+-case `"$1" --version 2>&1` in
++case `"$1" --version 2>&1` in @%:@(
+ *GNU*)
+   $2;;
+ m4_ifval([$3],
+-[*)
++[@%:@(
++*)
+   $3;;
+ ])esac
+ ])# _AC_PATH_PROG_FLAVOR_GNU
+diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4
+index ab5ca7db7..368487fa0 100644
+--- a/lib/m4sugar/m4sh.m4
++++ b/lib/m4sugar/m4sh.m4
+@@ -1389,7 +1389,7 @@ m4_if([$1], m4_translit([[$1]], [:;]),
+ for as_dir in $as_dummy])
+ do
+   IFS=$as_save_IFS
+-  case $as_dir in #(((
++  case $as_dir in @%:@(((
+     '') as_dir=./ ;;
+     */) ;;
+     *) as_dir=$as_dir/ ;;
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0008-New-script-for-building-inside-Guix-containers.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0008-New-script-for-building-inside-Guix-containers.patch
new file mode 100644
index 0000000..cec7dcd
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0008-New-script-for-building-inside-Guix-containers.patch
@@ -0,0 +1,54 @@
+From 8babe5f2ccb73cc574933743b381557a4db02424 Mon Sep 17 00:00:00 2001
+From: Zack Weinberg <zackw@panix.com>
+Date: Thu, 30 Mar 2023 10:50:36 -0400
+Subject: [PATCH 08/29] New script for building inside Guix containers.
+
+build-aux/test-build-guix, goes with the top level manifest.scm.
+See the top of the file for usage instructions.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ build-aux/test-build-guix | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+ create mode 100755 build-aux/test-build-guix
+
+diff --git a/build-aux/test-build-guix b/build-aux/test-build-guix
+new file mode 100755
+index 000000000..4470af9b7
+--- /dev/null
++++ b/build-aux/test-build-guix
+@@ -0,0 +1,30 @@
++#! /bin/sh
++
++# From a pristine Git checkout, run
++#  guix shell --container --manifest=manifest.scm -- build-aux/test-build-guix
++# to perform a complete bootstrap and test build of Autoconf.
++
++set -ex
++
++# Guix bug? /bin/sh is usually *not* the shell specified in the manifest.
++SHELL="$(command -v sh)"
++export SHELL
++if [ "$(realpath /bin/sh)" != "$(realpath "$SHELL")" ]; then
++    (
++        cd /bin
++        rm sh
++        ln -s "$SHELL" sh
++    )
++    exec "$SHELL" "$0" "$@"
++fi
++
++./bootstrap
++if [ -d _build ]; then
++    rm -rf _build/*
++else
++    mkdir _build
++fi
++cd _build
++../configure
++make all info pdf dvi
++make distcheck
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch
new file mode 100644
index 0000000..c1c60dc
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch
@@ -0,0 +1,82 @@
+From dcf9bb7e3b12f3bd74edff60e80b53e668159579 Mon Sep 17 00:00:00 2001
+From: Zack Weinberg <zackw@panix.com>
+Date: Sun, 2 Apr 2023 10:27:08 -0400
+Subject: [PATCH 09/29] AC_XENIX_DIR: Rewrite using AC_CANONICAL_HOST.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+AC_XENIX_DIR is an obsolete macro, defined as AC_HEADER_DIRENT plus
+code to make absolutely sure configure scripts that depended on a
+shell variable internal to the original (2.13 era) definition of
+AC_XENIX_DIR are not broken by autoupdate.  (That variable had the
+temptingly public-sounding name “XENIX.”)  This compatibility code
+uses AC_EGREP_CPP, which is itself discouraged for use in new
+configure scripts.
+
+(N.B. codesearch.debian.net does not find any uses whatsoever of
+this macro, nor any code in an .ac or .m4 file that depends on the
+XENIX variable.)
+
+Change the compatibility code to use AC_CANONICAL_HOST instead,
+and clarify which pieces of the code inserted by autoupdate are
+probably still necessary.
+
+* lib/autoconf/specific.m4 (AC_XENIX_DIR): Set XENIX variable
+  based on value of host_os. Clarify what manual cleanup is
+  recommended after autoupdate replaces this obsolete macro.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/specific.m4 | 26 +++++++++++---------------
+ 1 file changed, 11 insertions(+), 15 deletions(-)
+
+diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
+index 1b3ee661b..a2dc5d488 100644
+--- a/lib/autoconf/specific.m4
++++ b/lib/autoconf/specific.m4
+@@ -754,9 +754,9 @@ dnl it should only be defined when necessary.
+ ## Checks for UNIX variants.  ##
+ ## -------------------------- ##
+ 
+-
+-# These are kludges which should be replaced by a single POSIX check.
+-# They aren't cached, to discourage their use.
++# These macros are all obsolete, from the early days of Autoconf,
++# before the invention of AC_CANONICAL_SYSTEM.  Autoupdate will
++# replace each with inline code for a more modern feature check.
+ 
+ # AC_AIX
+ # ------
+@@ -776,19 +776,15 @@ AU_DEFUN([AC_ISC_POSIX], [AC_SEARCH_LIBS([strerror], [cposix])])
+ # AC_XENIX_DIR
+ # ------------
+ AU_DEFUN([AC_XENIX_DIR],
+-[AC_MSG_CHECKING([for Xenix])
+-AC_EGREP_CPP([yes],
+-[#if defined M_XENIX && ! defined M_UNIX
+-  yes
+-@%:@endif],
+-	     [AC_MSG_RESULT([yes]); XENIX=yes],
+-	     [AC_MSG_RESULT([no]); XENIX=])
+-
+-AC_HEADER_DIRENT[]dnl
++[AC_HEADER_DIRENT
++# Autoupdate added the next two lines to ensure that your configure
++# script's behavior did not change.  They are safe to remove unless
++# you have code that depends on the XENIX shell variable.
++AC_CANONICAL_HOST
++AS_CASE([$host_os], [xenix*], [XENIX=yes], [XENIX=no])
++# End of code added by autoupdate
+ ],
+-[You shouldn't need to depend upon XENIX.  Remove the
+-'AC_MSG_CHECKING', 'AC_EGREP_CPP', and this warning if this part
+-of the test is useless.])
++[Check for code depending on the XENIX shell variable.])
+ 
+ 
+ # AC_DYNIX_SEQ
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch
new file mode 100644
index 0000000..4932271
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch
@@ -0,0 +1,77 @@
+From 51d98495d1aac00970d791f064e83ca762bf81c7 Mon Sep 17 00:00:00 2001
+From: Zack Weinberg <zackw@panix.com>
+Date: Sun, 2 Apr 2023 10:43:51 -0400
+Subject: [PATCH 10/29] AC_TYPE_UID_T: Rewrite using AC_CHECK_TYPE.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+AC_TYPE_UID_T uses AC_EGREP_HEADER to search sys/types.h for
+occurrences of the string ‘uid_t’ and, if found, assumes both
+uid_t and gid_t are available.  This would be better done using
+a pair of AC_CHECK_TYPE operations.
+
+I also converted two uses of old-style AC_CHECK_TYPE, immediately
+below, to new-style.  (There are probably other old-style uses in
+this file, I only did the ones I happened to see.)
+
+* lib/autoconf/types.m4 (AC_TYPE_UID_T): Check for uid_t and gid_t,
+  separately, using AC_CHECK_TYPE, instead of grepping sys/types.h.
+  (AC_TYPE_SIZE_T, AC_TYPE_SSIZE_T): Use new-style AC_CHECK_TYPE.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/types.m4 | 30 +++++++++++++++++-------------
+ 1 file changed, 17 insertions(+), 13 deletions(-)
+
+diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4
+index ebac0cf6d..ef2456135 100644
+--- a/lib/autoconf/types.m4
++++ b/lib/autoconf/types.m4
+@@ -589,25 +589,29 @@ AC_DEFUN([AC_TYPE_MBSTATE_T],
+ 
+ # AC_TYPE_UID_T
+ # -------------
+-# FIXME: Rewrite using AC_CHECK_TYPE.
+ AN_IDENTIFIER([gid_t], [AC_TYPE_UID_T])
+ AN_IDENTIFIER([uid_t], [AC_TYPE_UID_T])
+ AC_DEFUN([AC_TYPE_UID_T],
+-[AC_CACHE_CHECK(for uid_t in sys/types.h, ac_cv_type_uid_t,
+-[AC_EGREP_HEADER(uid_t, sys/types.h,
+-  ac_cv_type_uid_t=yes, ac_cv_type_uid_t=no)])
+-if test $ac_cv_type_uid_t = no; then
+-  AC_DEFINE(uid_t, int, [Define to 'int' if <sys/types.h> doesn't define.])
+-  AC_DEFINE(gid_t, int, [Define to 'int' if <sys/types.h> doesn't define.])
+-fi
+-])
+-
+-
++[AC_CHECK_TYPE([uid_t], [],
++  [AC_DEFINE([uid_t], [int],
++    [Define as 'int' if <sys/types.h> doesn't define.])])
++AC_CHECK_TYPE([gid_t], [],
++  [AC_DEFINE([gid_t], [int],
++    [Define as 'int' if <sys/types.h> doesn't define.])])])
++
++# This should be obsoleted, size_t is in C90.
+ AN_IDENTIFIER([size_t], [AC_TYPE_SIZE_T])
+-AC_DEFUN([AC_TYPE_SIZE_T], [AC_CHECK_TYPE(size_t, unsigned int)])
++AC_DEFUN([AC_TYPE_SIZE_T],
++[AC_CHECK_TYPE([size_t], [],
++  [AC_DEFINE([size_t], [unsigned int],
++    [Define as 'unsigned int' if <stddef.h> doesn't define.])])])
+ 
+ AN_IDENTIFIER([ssize_t], [AC_TYPE_SSIZE_T])
+-AC_DEFUN([AC_TYPE_SSIZE_T], [AC_CHECK_TYPE(ssize_t, int)])
++AC_DEFUN([AC_TYPE_SSIZE_T],
++[AC_CHECK_TYPE([ssize_t], [],
++  [AC_DEFINE([ssize_t], [int],
++    [Define as 'int' if <sys/types.h> doesn't define.])])])
++
+ 
+ AN_IDENTIFIER([pid_t], [AC_TYPE_PID_T])
+ AC_DEFUN([AC_TYPE_PID_T],
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch
new file mode 100644
index 0000000..9c1f435
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch
@@ -0,0 +1,180 @@
+From daaca7f74f94d6a7a51d571156d5fbaba5ef9a87 Mon Sep 17 00:00:00 2001
+From: Zack Weinberg <zackw@panix.com>
+Date: Sun, 2 Apr 2023 21:03:30 -0400
+Subject: [PATCH 11/29] Make AC_PROG_GCC_TRADITIONAL a compatibility alias for
+ AC_PROG_CC.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This macro is one of the last remaining internal uses of AC_EGREP_CPP.
+It has only ever done anything useful with GCC, and GCC dropped
+support for ‘traditional’ compilation in version 3.3 (released 2003)
+so I do not think it is worth trying to preserve.
+
+* lib/autoconf/c.m4 (AC_PROG_GCC_TRADITIONAL): Make into a
+  compatibility alias for AC_PROG_CC, similar to AC_PROG_CC_STDC.
+* lib/autoconf/general.m4 (AC_EGREP_CPP): Remove stale comment.
+* doc/autoconf.texi, NEWS: Document this change.
+* tests/mktests.pl: Exclude AC_PROG_GCC_TRADITIONAL from
+  autoupdate tests.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ NEWS                    |  7 +++++++
+ doc/autoconf.texi       | 29 ++++++++++++++---------------
+ lib/autoconf/c.m4       | 30 ++++++------------------------
+ lib/autoconf/general.m4 |  2 --
+ tests/mktests.pl        |  2 +-
+ 5 files changed, 28 insertions(+), 42 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index 6a106f155..53c57ff59 100644
+--- a/NEWS
++++ b/NEWS
+@@ -81,6 +81,13 @@ GNU Autoconf NEWS - User visible changes.
+   with plain apostrophes instead of the older GNU style `like this'
+   with grave accent and apostrophe.
+ 
++*** AC_PROG_GCC_TRADITIONAL no longer does anything.
++
++  This macro has had no useful effect since GCC dropped support for
++  traditional-mode compilation in version 3.3 (released in 2003), and
++  the systems that needed it are also long obsolete.  It is now a
++  compatibility synonym for AC_PROG_CC.
++
+ ** Notable bug fixes
+ 
+ *** Autoconf caches now use finer-grained timestamps.
+diff --git a/doc/autoconf.texi b/doc/autoconf.texi
+index 8db64d8bb..037c8055f 100644
+--- a/doc/autoconf.texi
++++ b/doc/autoconf.texi
+@@ -7764,20 +7764,6 @@ This macro is obsolescent, as current C compilers support prototypes.
+ New programs need not use this macro.
+ @end defmac
+ 
+-@anchor{AC_PROG_GCC_TRADITIONAL}
+-@defmac AC_PROG_GCC_TRADITIONAL
+-@acindex{PROG_GCC_TRADITIONAL}
+-@ovindex CC
+-Add @option{-traditional} to output variable @code{CC} if using a
+-GNU C compiler and @code{ioctl} does not work properly without
+-@option{-traditional}.  That usually happens when the fixed header files
+-have not been installed on an old system.
+-
+-This macro is obsolescent, since current versions of the GNU C
+-compiler fix the header files automatically when installed.
+-@end defmac
+-
+-
+ @node C++ Compiler
+ @subsection C++ Compiler Characteristics
+ 
+@@ -23986,7 +23972,8 @@ These days portable programs should use @code{waitpid}, not
+ 
+ @defmac AC_GCC_TRADITIONAL
+ @acindex{GCC_TRADITIONAL}
+-Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}).
++Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}),
++which is itself obsolete.
+ @end defmac
+ 
+ @defmac AC_GETGROUPS_T
+@@ -24369,6 +24356,18 @@ Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}).
+ Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}).
+ @end defmac
+ 
++@anchor{AC_PROG_GCC_TRADITIONAL}
++@defmac AC_PROG_GCC_TRADITIONAL
++@acindex{PROG_GCC_TRADITIONAL}
++Used to put GCC into ``traditional'' (pre-ISO C) compilation mode,
++on systems with headers that did not work correctly with a
++standard-compliant compiler.  GCC has not supported traditional
++compilation in many years, and all of the systems that required this are
++long obsolete themselves.  This macro is now a compatibility synonym for
++@code{AC_PROG_CC} (@pxref{AC_PROG_CC}).
++
++@end defmac
++
+ @defmac AC_PROGRAMS_CHECK
+ @acindex{PROGRAMS_CHECK}
+ Replaced by @code{AC_CHECK_PROGS} (@pxref{AC_CHECK_PROGS}).
+diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
+index fef6c516d..33648b5b9 100644
+--- a/lib/autoconf/c.m4
++++ b/lib/autoconf/c.m4
+@@ -551,30 +551,6 @@ fi[]dnl
+ ])# _AC_PROG_CC_G
+ 
+ 
+-# AC_PROG_GCC_TRADITIONAL
+-# -----------------------
+-AC_DEFUN([AC_PROG_GCC_TRADITIONAL],
+-[AC_REQUIRE([AC_PROG_CC])dnl
+-if test $ac_cv_c_compiler_gnu = yes; then
+-    AC_CACHE_CHECK(whether $CC needs -traditional,
+-      ac_cv_prog_gcc_traditional,
+-[  ac_pattern="Autoconf.*'x'"
+-  AC_EGREP_CPP($ac_pattern, [#include <sgtty.h>
+-Autoconf TIOCGETP],
+-  ac_cv_prog_gcc_traditional=yes, ac_cv_prog_gcc_traditional=no)
+-
+-  if test $ac_cv_prog_gcc_traditional = no; then
+-    AC_EGREP_CPP($ac_pattern, [#include <termio.h>
+-Autoconf TCGETA],
+-    ac_cv_prog_gcc_traditional=yes)
+-  fi])
+-  if test $ac_cv_prog_gcc_traditional = yes; then
+-    CC="$CC -traditional"
+-  fi
+-fi
+-])# AC_PROG_GCC_TRADITIONAL
+-
+-
+ # AC_PROG_CC_C_O
+ # --------------
+ AC_DEFUN([AC_PROG_CC_C_O],
+@@ -1675,6 +1651,12 @@ AU_DEFUN([AC_PROG_CC_STDC],
+   [$0 is obsolete; use AC_PROG_CC]
+ )
+ 
++# AC_PROG_GCC_TRADITIONAL
++# -----------------------
++AU_DEFUN([AC_PROG_GCC_TRADITIONAL],
++  [AC_REQUIRE([AC_PROG_CC])],
++  [$0 is obsolete; use AC_PROG_CC]
++)
+ 
+ # AC_C_BACKSLASH_A
+ # ----------------
+diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4
+index ecda0a51c..47d896d54 100644
+--- a/lib/autoconf/general.m4
++++ b/lib/autoconf/general.m4
+@@ -2766,8 +2766,6 @@ AU_DEFUN([AC_TRY_CPP],
+ # AC_EGREP_CPP(PATTERN, PROGRAM,
+ #              [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+ # ------------------------------------------------------
+-# Because this macro is used by AC_PROG_GCC_TRADITIONAL, which must
+-# come early, it is not included in AC_BEFORE checks.
+ AC_DEFUN([AC_EGREP_CPP],
+ [AC_LANG_PREPROC_REQUIRE()dnl
+ AC_REQUIRE([_AC_PROG_EGREP_TRADITIONAL])dnl
+diff --git a/tests/mktests.pl b/tests/mktests.pl
+index effed0bca..81f63586c 100644
+--- a/tests/mktests.pl
++++ b/tests/mktests.pl
+@@ -112,7 +112,7 @@ my @ac_exclude_list = (
+ # Check all AU_DEFUN'ed macros with AT_CHECK_AU_MACRO, except these.
+ my @au_exclude_list = (
+   # Empty.
+-  qr/^AC_(C_CROSS|PROG_CC_(C[89]9|STDC))$/,
++  qr/^AC_(C_CROSS|PROG_(CC_(C[89]9|STDC)|GCC_TRADITIONAL))$/,
+ 
+   # Use AC_REQUIRE.
+   qr/^AC_(CYGWIN|MINGW32|EMXOS2)$/,
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch
new file mode 100644
index 0000000..4d28101
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch
@@ -0,0 +1,328 @@
+From b5891a57b586ef6ff78bb752d62915b78cd58d7e Mon Sep 17 00:00:00 2001
+From: Zack Weinberg <zackw@panix.com>
+Date: Sun, 2 Apr 2023 15:07:58 -0400
+Subject: [PATCH 12/29] Overhaul AC_TYPE_GETGROUPS and AC_FUNC_GETGROUPS.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+AC_TYPE_GETGROUPS is the last remaining use of AC_EGREP_HEADER in
+stock Autoconf macros.  It uses it only when cross compiling, as a
+fallback from an AC_RUN_IFELSE check, testing for a bug in system
+headers from the late 1980s or early 1990s, where gid_t *existed*
+but the second argument to getgroups needed to be an array of int,
+and this didn’t cause a compile error (i.e. the system headers
+declare getgroups with no prototype or an incorrect prototype).
+AC_FUNC_GETGROUPS also uses AC_RUN_IFELSE to test for obscure
+problems specific to long-obsolete Unixes.
+
+The downsides of AC_RUN_IFELSE and AC_EGREP_HEADER seem more severe
+than the chances of someone compiling a current-generation program,
+that uses getgroups, on an OS old enough to have one of the really
+nasty bugs.  Accordingly, this patch changes AC_FUNC_GETGROUPS to use
+a host_os-based *blacklist* both in native and cross compilation.
+This is limited to the two host_os values for which either our old
+code, or Gnulib, documented a serious bug: ultrix* and nextstep*.
+Currently it does not try to pin down the exact version ranges subject
+to the bugs — that would require research by someone with access to
+the full history of these OSes.
+
+An incorrect guess by this blacklist can be overridden by setting
+ac_cv_func_getgroups_works in config.site.  AC_TYPE_GETGROUPS, for its
+part, now does a series of regular old AC_COMPILE_IFELSE checks to
+probe the prototype of getgroups, and considers that good enough.
+
+While I was in there I noticed that AC_FUNC_GETGROUPS does not
+AC_SUBST a documented output variable, and that the name of this
+variable is misspelled in the manual.
+
+* lib/autoconf/functions.m4 (AC_FUNC_GETGROUPS): Use AC_SEARCH_LIBS
+  to probe for getgroups.  Use an AC_CANONICAL_HOST-based blacklist
+  for bug detection, not AC_RUN_IFELSE.  AC_SUBST the GETGROUPS_LIB
+  output variable.
+* lib/autoconf/types.m4 (AC_TYPE_GETGROUPS): Check only the prototype
+  of getgroups, using AC_COMPILE_IFELSE; do not use either AC_RUN_IFELSE
+  or AC_EGREP_HEADER.
+* doc/autoconf.texi: Update to match. Correct misspelling of
+  GETGROUPS_LIB.
+* tests.local.at (_AT_CHECK_ENV): Allow GETGROUPS_LIB output variable.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ NEWS                      | 11 +++++
+ doc/autoconf.texi         | 25 ++++++----
+ lib/autoconf/functions.m4 | 61 ++++++++++++------------
+ lib/autoconf/types.m4     | 97 ++++++++++++++++++++++++---------------
+ tests/local.at            |  2 +-
+ 5 files changed, 120 insertions(+), 76 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index 53c57ff59..8e4ecc1bf 100644
+--- a/NEWS
++++ b/NEWS
+@@ -38,6 +38,17 @@ GNU Autoconf NEWS - User visible changes.
+   This matters only for uses that, contrary to the documentation
+   and despite warnings, use m4_divert with numbered diversions.
+ 
++*** AC_FUNC_GETGROUPS and AC_TYPE_GETGROUPS no longer run test programs.
++  These macros were testing for OS bugs that we believe are at least
++  twenty years in the past.  Most operating systems are now trusted to
++  provide an accurate prototype for getgroups in unistd.h, and to
++  implement it as specified in POSIX.
++
++  AC_FUNC_GETGROUPS still includes a short blacklist of OSes with
++  known, severe bugs in getgroups.  It can be overridden using
++  config.site.  If you encounter a mistake in this blacklist
++  please report it to bug-autoconf.
++
+ ** New features
+ 
+ *** New macro AC_SYS_YEAR2038.
+diff --git a/doc/autoconf.texi b/doc/autoconf.texi
+index 037c8055f..5d5f613e6 100644
+--- a/doc/autoconf.texi
++++ b/doc/autoconf.texi
+@@ -5257,17 +5257,26 @@ and also contains workarounds for other portability problems of
+ @defmac AC_FUNC_GETGROUPS
+ @acindex{FUNC_GETGROUPS}
+ @cvindex HAVE_GETGROUPS
+-@ovindex GETGROUPS_LIBS
++@ovindex GETGROUPS_LIB
+ @c @fuindex getgroups
+ @prindex @code{getgroups}
+ @caindex func_getgroups_works
+-If the @code{getgroups} function is available and works,
+-define @code{HAVE_GETGROUPS}.  Set @code{GETGROUPS_LIBS} to any libraries
+-needed to get that function.  This macro runs @code{AC_TYPE_GETGROUPS}.
+-
+-This macro is obsolescent. New programs need not use this macro.  But
+-they may want to use the Gnulib module @code{getgroups}, which provides
+-workarounds to other portability problems of this function.
++Perform all the checks performed by @code{AC_TYPE_GETGROUPS}
++(@pxref{AC_TYPE_GETGROUPS}).
++Then, if the @code{getgroups} function is available
++and known to work correctly, define @code{HAVE_GETGROUPS}.
++Set the output variable @code{GETGROUPS_LIB} to any libraries
++needed to get that function.
++
++This macro relies on a list of systems with known, serious bugs in
++@code{getgroups}.  If this list mis-identifies your system's
++@code{getgroups} as buggy, or as not buggy, you can override it by
++setting the cache variable @code{ac_cv_func_getgroups_works} in a
++@file{config.site} file (@pxref{Site Defaults}).  Please also report the
++error to @email{bug-autoconf@@gnu.org, the Autoconf Bugs mailing list}.
++
++The Gnulib module @code{getgroups} provides workarounds for additional,
++less severe portability problems with this function.
+ @end defmac
+ 
+ @anchor{AC_FUNC_GETLOADAVG}
+diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
+index 655d6ba8f..74512e97d 100644
+--- a/lib/autoconf/functions.m4
++++ b/lib/autoconf/functions.m4
+@@ -698,47 +698,46 @@ AS_IF([test "$ac_cv_func_fseeko_ftello" = "need _LARGEFILE_SOURCE"],
+ # When cross-compiling, assume getgroups is broken.
+ AN_FUNCTION([getgroups], [AC_FUNC_GETGROUPS])
+ AC_DEFUN([AC_FUNC_GETGROUPS],
+-[AC_REQUIRE([AC_TYPE_GETGROUPS])dnl
+-AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+-AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
+-AC_CHECK_FUNC(getgroups)
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_TYPE_GETGROUPS])dnl
+ 
+-# If we don't yet have getgroups, see if it's in -lbsd.
++# On older systems getgroups might be in -lbsd.
+ # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1.
+ ac_save_LIBS=$LIBS
+-if test $ac_cv_func_getgroups = no; then
+-  AC_CHECK_LIB(bsd, getgroups, [GETGROUPS_LIB=-lbsd])
+-fi
+-
+-# Run the program to test the functionality of the system-supplied
+-# getgroups function only if there is such a function.
++LIBS=
++GETGROUPS_LIB=
++AC_SEARCH_LIBS([getgroups], [bsd],
++  [test "$ac_res" = "none required" || GETGROUPS_LIB="$ac_res"
++   ac_cv_func_getgroups=yes],
++  [ac_cv_func_getgroups=no])
++LIBS=$ac_save_LIBS
++AC_SUBST([GETGROUPS_LIB])
++
++# Known severe bugs in getgroups on particular systems.
++#  - On Ultrix 4.3 and NextSTEP 3.2, getgroups (0, 0) is reported to
++#    fail, rather than returning the number of supplementary groups as
++#    it ought to.  We do not know the exact range of releases affected
++#    in either case.
++# We currently reject all versions of the systems with known bugs, and
++# no other systems.  Please send corrections to bug-autoconf@gnu.org.
+ if test $ac_cv_func_getgroups = yes; then
++  # This AC_CACHE_CHECK exists so that one may override an incorrect
++  # guess by setting ac_cv_func_getgroups_works in a config.site file.
+   AC_CACHE_CHECK([for working getgroups], ac_cv_func_getgroups_works,
+-   [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
+-      [[/* On Ultrix 4.3, getgroups (0, 0) always fails.  */
+-       return getgroups (0, 0) == -1;]])],
+-		  [ac_cv_func_getgroups_works=yes],
+-		  [ac_cv_func_getgroups_works=no],
+-		  [case "$host_os" in # ((
+-			     # Guess yes on glibc systems.
+-		     *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;;
+-			     # If we don't know, assume the worst.
+-		     *)      ac_cv_func_getgroups_works="guessing no" ;;
+-		   esac])
+-   ])
++   [AS_CASE([$host_os],
++     [ultrix* | nextstep*],
++      [ac_cv_func_getgroups_works=no # getgroups(0,0) fails
++],
++      [ac_cv_func_getgroups_works=yes])])
+ else
+   ac_cv_func_getgroups_works=no
+ fi
+-case "$ac_cv_func_getgroups_works" in
+-  *yes)
+-    AC_DEFINE(HAVE_GETGROUPS, 1,
+-	      [Define to 1 if your system has a working 'getgroups' function.])
+-    ;;
+-esac
+-LIBS=$ac_save_LIBS
++if test $ac_cv_func_getgroups_works = yes; then
++  AC_DEFINE(HAVE_GETGROUPS, 1,
++            [Define to 1 if your system has a working 'getgroups' function.])
++fi
+ ])# AC_FUNC_GETGROUPS
+ 
+-
+ # _AC_LIBOBJ_GETLOADAVG
+ # ---------------------
+ # Set up the AC_LIBOBJ replacement of 'getloadavg'.
+diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4
+index ef2456135..af3872b2f 100644
+--- a/lib/autoconf/types.m4
++++ b/lib/autoconf/types.m4
+@@ -258,44 +258,69 @@ AN_IDENTIFIER([ptrdiff_t], [AC_CHECK_TYPES])
+ # AC_TYPE_GETGROUPS
+ # -----------------
+ AC_DEFUN([AC_TYPE_GETGROUPS],
++dnl We now unconditionally assume that if <unistd.h> has a prototype for
++dnl getgroups, it is accurate; and that if <unistd.h> does _not_ declare
++dnl getgroups with a prototype, the second argument is an array of int.
++dnl (Older versions of Autoconf made these assumptions only when cross
++dnl compiling.)  See AC_FUNC_GETGROUPS, over in functions.m4, for why
++dnl this uses AC_COMPILE_IFELSE rather than AC_LINK_IFELSE.
+ [AC_REQUIRE([AC_TYPE_UID_T])dnl
+-AC_CACHE_CHECK(type of array argument to getgroups, ac_cv_type_getgroups,
+-[AC_RUN_IFELSE([AC_LANG_SOURCE(
+-[[/* Thanks to Mike Rendell for this test.  */
+-]AC_INCLUDES_DEFAULT[
+-#define NGID 256
+-#undef MAX
+-#define MAX(x, y) ((x) > (y) ? (x) : (y))
+-
+-int
+-main (void)
+-{
+-  gid_t gidset[NGID];
+-  int i, n;
+-  union { gid_t gval; long int lval; }  val;
+-
+-  val.lval = -1;
+-  for (i = 0; i < NGID; i++)
+-    gidset[i] = val.gval;
+-  n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1,
+-		 gidset);
+-  /* Exit non-zero if getgroups seems to require an array of ints.  This
+-     happens when gid_t is short int but getgroups modifies an array
+-     of ints.  */
+-  return n > 0 && gidset[n] != val.gval;
+-}]])],
+-	       [ac_cv_type_getgroups=gid_t],
+-	       [ac_cv_type_getgroups=int],
+-	       [ac_cv_type_getgroups=cross])
+-if test $ac_cv_type_getgroups = cross; then
+-  dnl When we can't run the test program (we are cross compiling), presume
+-  dnl that <unistd.h> has either an accurate prototype for getgroups or none.
+-  dnl Old systems without prototypes probably use int.
+-  AC_EGREP_HEADER([getgroups.*int.*gid_t], unistd.h,
+-		  ac_cv_type_getgroups=gid_t, ac_cv_type_getgroups=int)
+-fi])
++AC_CACHE_CHECK([type of array argument to getgroups], ac_cv_type_getgroups,
++[# If AC_TYPE_UID_T says there isn't any gid_t typedef, then we can skip
++# everything below.
++AS_IF([test $ac_cv_type_gid_t = no],
++  [ac_cv_type_getgroups=int],
++  [# Test programs below rely on strict type checking of extern declarations:
++  # 'extern int getgroups(int, int *); extern int getgroups(int, pid_t *);'
++  # is valid in C89 if and only if pid_t is a typedef for int.  Unlike
++  # anything involving either an assignment or a function call, compilers
++  # tend to make this kind of type mismatch a hard error, not just an
++  # "incompatible pointer types" warning.
++  AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
++[AC_INCLUDES_DEFAULT
++[extern int getgroups(int, gid_t *);]],
++[[return !(getgroups(0, 0) >= 0);]])],
++    [ac_getgroups_gidarray=yes],
++    [ac_getgroups_gidarray=no])
++  AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
++[AC_INCLUDES_DEFAULT
++[extern int getgroups(int, int *);]],
++[[return !(getgroups(0, 0) >= 0);]])],
++    [ac_getgroups_intarray=yes],
++    [ac_getgroups_intarray=no])
++
++  AS_CASE([int:$ac_getgroups_intarray,gid:$ac_getgroups_gidarray],
++    [int:yes,gid:no], [ac_cv_type_getgroups=int],
++    [int:no,gid:yes], [ac_cv_type_getgroups=gid_t],
++    [int:yes,gid:yes], [
++      # Both programs compiled - this means *either* that getgroups
++      # was declared with no prototype, in which case we should use int,
++      # or that it was declared prototyped but gid_t is a typedef for int,
++      # in which case we should use gid_t.  Distinguish the two cases
++      # by testing if the compiler catches a blatantly incorrect function
++      # signature for getgroups.
++      AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
++[AC_INCLUDES_DEFAULT
++[extern int getgroups(int, float);]],
++[[return !(getgroups(0, 0) >= 0);]])], [
++        # Compiler did not catch incorrect argument list;
++        # getgroups is unprototyped.
++        ac_cv_type_getgroups=int
++      ], [
++        # Compiler caught incorrect argument list;
++        # gid_t is a typedef for int.
++        ac_cv_type_getgroups=gid_t
++      ])
++    ], [
++      # Both programs failed to compile - this probably means getgroups
++      # wasn't declared at all.  Use 'int', as this is probably a very
++      # old system where the type _would have been_ int.
++      ac_cv_type_getgroups=int
++    ])
++  ])
++])dnl AC_CACHE_CHECK
+ AC_DEFINE_UNQUOTED(GETGROUPS_T, $ac_cv_type_getgroups,
+-		   [Define to the type of elements in the array set by
++		   [Define to the type of elements in the array argument to
+ 		    'getgroups'. Usually this is either 'int' or 'gid_t'.])
+ ])# AC_TYPE_GETGROUPS
+ 
+diff --git a/tests/local.at b/tests/local.at
+index 64a9fb264..db49f84a9 100644
+--- a/tests/local.at
++++ b/tests/local.at
+@@ -401,7 +401,7 @@ if test -f state-env.before && test -f state-env.after; then
+       [interpval|PATH_SEPARATOR],
+       [GFC|F77_DUMMY_MAIN|f77_(case|underscore)],
+       [FC(_DUMMY_MAIN|FLAGS|LIBS|FLAGS_[fF]|_MODEXT|_MODINC|_MODOUT|_DEFINE)?],
+-      [ALLOCA|GETLOADAVG_LIBS|KMEM_GROUP|NEED_SETGID|POW_LIB],
++      [ALLOCA|GETGROUPS_LIB|GETLOADAVG_LIBS|KMEM_GROUP|NEED_SETGID|POW_LIB],
+       [AWK|LEX|LEXLIB|LEX_OUTPUT_ROOT|LN_S|M4|MKDIR_P|AR|RANLIB|SET_MAKE|YACC],
+       [EGREP_TRADITIONAL],
+       [GREP|[EF]GREP|SED],
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch
new file mode 100644
index 0000000..2dadd83
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch
@@ -0,0 +1,84 @@
+From a7dc6d83c7d12b8409c512c3c10ad29f01e6c164 Mon Sep 17 00:00:00 2001
+From: Zack Weinberg <zackw@panix.com>
+Date: Sun, 2 Apr 2023 21:54:31 -0400
+Subject: [PATCH 13/29] Fold AC_C_STRINGIZE into AC_PROG_CC.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Another of the last few uses of AC_EGREP_CPP is to check for the ISO C
+“stringification” operator.  As this is a feature of C89, let’s fold
+the test into the extensive C89 tests we already have, and make
+AC_C_STRINGIZE just lean on AC_PROG_CC, in the same way
+AC_C_PROTOTYPES does.
+
+* lib/autoconf/c.m4 (_AC_C_C89_TEST_GLOBALS): Add test of preprocessor
+  stringification and token pasting.
+  (AC_C_STRINGIZE): Just check ac_prog_cc_stdc.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/c.m4 | 31 ++++++++++++++++++++-----------
+ 1 file changed, 20 insertions(+), 11 deletions(-)
+
+diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
+index 33648b5b9..c8c6a665c 100644
+--- a/lib/autoconf/c.m4
++++ b/lib/autoconf/c.m4
+@@ -1143,6 +1143,21 @@ static char *f (char * (*g) (char **, int), char **p, ...)
+   return s;
+ }
+ 
++/* C89 style stringification. */
++#define noexpand_stringify(a) #a
++const char *stringified = noexpand_stringify(arbitrary+token=sequence);
++
++/* C89 style token pasting.  Exercises some of the corner cases that
++   e.g. old MSVC gets wrong, but not very hard. */
++#define noexpand_concat(a,b) a##b
++#define expand_concat(a,b) noexpand_concat(a,b)
++extern int vA;
++extern int vbee;
++#define aye A
++#define bee B
++int *pvA = &expand_concat(v,aye);
++int *pvbee = &noexpand_concat(v,bee);
++
+ /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+    function prototypes and stuff, but not \xHH hex character constants.
+    These do not provoke an error unfortunately, instead are silently treated
+@@ -2112,16 +2127,10 @@ fi
+ # --------------
+ # Checks if '#' can be used to glue strings together at the CPP level.
+ # Defines HAVE_STRINGIZE if positive.
++# Obsolete - new code should assume C89 compliance.
+ AC_DEFUN([AC_C_STRINGIZE],
+-[AC_CACHE_CHECK([for preprocessor stringizing operator],
+-		[ac_cv_c_stringize],
+-[AC_EGREP_CPP([@%:@teststring],
+-	      [@%:@define x(y) #y
+-
+-char *s = x(teststring);],
+-	      [ac_cv_c_stringize=no],
+-	      [ac_cv_c_stringize=yes])])
+-if test $ac_cv_c_stringize = yes; then
++[AC_REQUIRE([AC_PROG_CC])
++if test "$ac_prog_cc_stdc" != no; then
+   AC_DEFINE(HAVE_STRINGIZE, 1,
+ 	    [Define to 1 if cpp supports the ANSI @%:@ stringizing operator.])
+ fi
+@@ -2130,8 +2139,8 @@ fi
+ 
+ # AC_C_PROTOTYPES
+ # ---------------
+-# Check if the C compiler supports prototypes, included if it needs
+-# options.
++# Check if the C compiler supports prototypes.
++# Obsolete - new code should assume C89 compliance.
+ AC_DEFUN([AC_C_PROTOTYPES],
+ [AC_REQUIRE([AC_PROG_CC])dnl
+ if test "$ac_prog_cc_stdc" != no; then
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch
new file mode 100644
index 0000000..85e9a45
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch
@@ -0,0 +1,116 @@
+From e25dfa75e18295d28de67747b4ff9d65f65c4f06 Mon Sep 17 00:00:00 2001
+From: Zack Weinberg <zackw@panix.com>
+Date: Sun, 2 Apr 2023 22:17:55 -0400
+Subject: [PATCH 14/29] Remove the last few internal uses of AC_EGREP_CPP.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Most of the remaining uses were converted to AC_COMPILE_IFELSE.
+The use in AC_FUNC_LOADAVG becomes an AC_PREPROC_IFELSE because
+we can’t be sure getloadavg.c can be _compiled_ at this point in
+the build.  The use in AC_C_VARARRAYS could be either _PREPROC_ or
+_COMPILE_; we use _COMPILE_ because, _PREPROC_ is never used, then
+we don’t have to do the “checking how to run the C preprocessor” test.
+
+* lib/autoconf/c.m4 (AC_C_VARARRAYS): Use AC_COMPILE_IFELSE instead of
+  AC_EGREP_CPP.
+* lib/autoconf/headers.m4 (_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H)
+  (_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL_H): Likewise.
+* lib/autoconf/functions.m4 (AC_FUNC_GETLOADAVG): Use AC_PREPROC_IFELSE
+  instead of AC_EGREP_CPP.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/c.m4         |  8 ++++----
+ lib/autoconf/functions.m4 | 10 +++++-----
+ lib/autoconf/headers.m4   | 24 ++++++++++--------------
+ 3 files changed, 19 insertions(+), 23 deletions(-)
+
+diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
+index c8c6a665c..b8350c339 100644
+--- a/lib/autoconf/c.m4
++++ b/lib/autoconf/c.m4
+@@ -2197,11 +2197,11 @@ AC_DEFUN([AC_C_VARARRAYS],
+ [
+   AC_CACHE_CHECK([for variable-length arrays],
+     ac_cv_c_vararrays,
+-    [AC_EGREP_CPP([defined],
+-       [#ifdef __STDC_NO_VLA__
+-	defined
++    [AC_COMPILE_IFELSE([AC_LANG_SOURCE(
++[[	#ifndef __STDC_NO_VLA__
++	#error __STDC_NO_VLA__ not defined
+ 	#endif
+-       ],
++]])],
+        [ac_cv_c_vararrays='no: __STDC_NO_VLA__ is defined'],
+        [AC_COMPILE_IFELSE(
+ 	  [AC_LANG_PROGRAM(
+diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
+index 74512e97d..499e4c024 100644
+--- a/lib/autoconf/functions.m4
++++ b/lib/autoconf/functions.m4
+@@ -842,11 +842,11 @@ AC_CHECK_FUNCS(getloadavg, [],
+ # Some definitions of getloadavg require that the program be installed setgid.
+ AC_CACHE_CHECK(whether getloadavg requires setgid,
+ 	       ac_cv_func_getloadavg_setgid,
+-[AC_EGREP_CPP([Yowza Am I SETGID yet],
+-[#include "$srcdir/$ac_config_libobj_dir/getloadavg.c"
+-#ifdef LDAV_PRIVILEGED
+-Yowza Am I SETGID yet
+-@%:@endif],
++[AC_PREPROC_IFELSE([AC_LANG_SOURCE(
++[[#include "$srcdir/$ac_config_libobj_dir/getloadavg.c"
++#ifndef LDAV_PRIVILEGED
++#error setgid not needed
++@%:@endif]])],
+ 	      ac_cv_func_getloadavg_setgid=yes,
+ 	      ac_cv_func_getloadavg_setgid=no)])
+ if test $ac_cv_func_getloadavg_setgid = yes; then
+diff --git a/lib/autoconf/headers.m4 b/lib/autoconf/headers.m4
+index 7f70e8fd4..19c124cc3 100644
+--- a/lib/autoconf/headers.m4
++++ b/lib/autoconf/headers.m4
+@@ -721,13 +721,11 @@ you to include it and time.h simultaneously.])
+ m4_define([_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
+ [AC_CACHE_CHECK([whether termios.h defines TIOCGWINSZ],
+ 		ac_cv_sys_tiocgwinsz_in_termios_h,
+-[AC_EGREP_CPP([yes],
+-	      [#include <sys/types.h>
+-#include <termios.h>
+-#ifdef TIOCGWINSZ
+-  yes
+-#endif
+-],
++[AC_COMPILE_IFELSE([AC_LANG_SOURCE(
++[AC_INCLUDES_DEFAULT
++[#include <termios.h>
++const int tiocgwinsz = TIOCGWINSZ;
++]])],
+ 		ac_cv_sys_tiocgwinsz_in_termios_h=yes,
+ 		ac_cv_sys_tiocgwinsz_in_termios_h=no)])
+ ])# _AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H
+@@ -738,13 +736,11 @@ m4_define([_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
+ m4_define([_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL],
+ [AC_CACHE_CHECK([whether sys/ioctl.h defines TIOCGWINSZ],
+ 		ac_cv_sys_tiocgwinsz_in_sys_ioctl_h,
+-[AC_EGREP_CPP([yes],
+-	      [#include <sys/types.h>
+-#include <sys/ioctl.h>
+-#ifdef TIOCGWINSZ
+-  yes
+-#endif
+-],
++[AC_COMPILE_IFELSE([AC_LANG_SOURCE(
++[AC_INCLUDES_DEFAULT
++[#include <sys/ioctl.h>
++const int tiocgwinsz = TIOCGWINSZ;
++]])],
+ 		ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=yes,
+ 		ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=no)])
+ ])# _AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0015-Support-circa-early-2022-Gnulib.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0015-Support-circa-early-2022-Gnulib.patch
new file mode 100644
index 0000000..36d1a94
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0015-Support-circa-early-2022-Gnulib.patch
@@ -0,0 +1,32 @@
+From 1982523c6f052a2b361035a9d5d9737510ed0738 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Mon, 3 Apr 2023 09:12:40 -0700
+Subject: [PATCH 15/29] Support circa early 2022 Gnulib
+
+Problem reported by Frederic Berat in:
+https://lists.gnu.org/r/bug-rcs/2023-04/msg00001.html
+* lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
+Bring back for compatibility with post-2.71, pre-2.73 Gnulib.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/specific.m4 | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
+index a2dc5d488..5dc006959 100644
+--- a/lib/autoconf/specific.m4
++++ b/lib/autoconf/specific.m4
+@@ -277,6 +277,8 @@ m4_define([_AC_SYS_LARGEFILE_TEST_CODE],
+ 		       && LARGE_OFF_T % 2147483647 == 1)
+ 		      ? 1 : -1]];[]dnl
+ ])
++# Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it.
++m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], [_AC_SYS_LARGEFILE_TEST_CODE])
+ 
+ # _AC_SYS_LARGEFILE_OPTIONS
+ # -------------------------
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0016-Improve-year2038-largefile-option-processing.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0016-Improve-year2038-largefile-option-processing.patch
new file mode 100644
index 0000000..e96faf2
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0016-Improve-year2038-largefile-option-processing.patch
@@ -0,0 +1,121 @@
+From a1e82aff0fd842b0f09e2cd166560dfda725ba13 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Sun, 9 Apr 2023 11:41:57 -0700
+Subject: [PATCH 16/29] Improve year2038, largefile option processing
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* lib/autoconf/specific.m4 (_AC_SYS_YEAR2038_PROBE)
+(_AC_SYS_YEAR2038_ENABLE, _AC_SYS_YEAR2038_OPT_IN)
+(AC_SYS_YEAR2038, _AC_SYS_LARGEFILE_PROBE)
+(_AC_SYS_LARGEFILE_ENABLE): Do not use enable_largefile to record
+whether largefile is required, as ‘./configure
+--disable-largefile’ sets enable_largefile=no even if largefile is
+required and this disables largefile.  Instead, use a separate
+shell variable ac_largefile_required and test it as well.
+Similarly for enable_year2038.
+(_AC_SYS_LARGEFILE_ENABLE): Omit --disable-largefile help string
+if year2038 is required, since largefile is a prereq for year2038.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/specific.m4 | 35 ++++++++++++++++++++++-------------
+ 1 file changed, 22 insertions(+), 13 deletions(-)
+
+diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
+index 5dc006959..1a3f4a65c 100644
+--- a/lib/autoconf/specific.m4
++++ b/lib/autoconf/specific.m4
+@@ -155,10 +155,10 @@ AS_CASE([$ac_cv_sys_year2038_opts],
+   ["none needed"], [],
+   ["support not detected"],
+     [ac_have_year2038=no
+-     AS_CASE([$enable_year2038],
+-      [required],
++     AS_CASE([$ac_year2038_required,$enable_year2038],
++      [yes,*],
+         [AC_MSG_FAILURE([support for timestamps after Jan 2038 is required])],
+-      [yes],
++      [*,yes],
+         [# If we're not cross compiling and 'touch' works with a large
+         # timestamp, then we can presume the system supports wider time_t
+         # *somehow* and we just weren't able to detect it.  One common
+@@ -209,10 +209,12 @@ AS_CASE([$ac_cv_sys_year2038_opts],
+ m4_define([_AC_SYS_YEAR2038_ENABLE],
+ [m4_divert_text([DEFAULTS],
+   m4_provide_if([AC_SYS_YEAR2038_REQUIRED],
+-    [enable_year2038=required],
++    [ac_year2038_required=yes],
++    [ac_year2038_required=no]))dnl
++m4_divert_text([DEFAULTS],
+   m4_provide_if([AC_SYS_YEAR2038],
+     [enable_year2038=yes],
+-    [enable_year2038=no])))]dnl
++    [enable_year2038=no]))]dnl
+ [m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [],
+ [AC_ARG_ENABLE([year2038],
+   m4_provide_if([AC_SYS_YEAR2038],
+@@ -231,7 +233,8 @@ m4_define([_AC_SYS_YEAR2038_ENABLE],
+ # documented macro.
+ AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN],
+ [m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
+-  AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
++  AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no],
++    [_AC_SYS_YEAR2038_PROBE])
+   AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
+ ])])
+ 
+@@ -244,7 +247,8 @@ AC_DEFUN([AC_SYS_YEAR2038],
+ [m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [],
+   [AC_REQUIRE([AC_SYS_LARGEFILE])])]dnl
+ [m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
+-  AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
++  AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no],
++    [_AC_SYS_YEAR2038_PROBE])
+   AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
+ ])])
+ 
+@@ -326,7 +330,7 @@ AS_CASE([$ac_cv_sys_largefile_opts],
+   ["none needed"], [],
+   ["support not detected"],
+     [ac_have_largefile=no
+-     AS_IF([test $enable_largefile = required],
++     AS_IF([test $ac_largefile_required,$ac_year2038_required != no,no],
+        [AC_MSG_FAILURE([support for large files is required])])],
+ 
+   ["-D_FILE_OFFSET_BITS=64"],
+@@ -358,11 +362,15 @@ _AC_SYS_YEAR2038_OPT_IN
+ m4_define([_AC_SYS_LARGEFILE_ENABLE],
+ [m4_divert_text([DEFAULTS],
+   m4_provide_if([AC_SYS_LARGEFILE_REQUIRED],
+-    [enable_largefile=required],
+-    [enable_largefile=yes]))]dnl
++    [ac_largefile_required=yes],
++    [ac_largefile_required=no]))dnl
++m4_divert_text([DEFAULTS],
++  [enable_largefile=yes])]dnl
+ [m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [],
+-[AC_ARG_ENABLE([largefile],
+-  [AS_HELP_STRING([--disable-largefile], [omit support for large files])])])])
++   [m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [],
++      [AC_ARG_ENABLE([largefile],
++         [AS_HELP_STRING([--disable-largefile],
++	    [omit support for large files])])])])])
+ 
+ # AC_SYS_LARGEFILE
+ # ----------------
+@@ -377,7 +385,8 @@ m4_define([_AC_SYS_LARGEFILE_ENABLE],
+ # large files; see also AC_SYS_LARGEFILE_REQUIRED.
+ AC_DEFUN([AC_SYS_LARGEFILE],
+ [m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl
+-  AS_IF([test "$enable_largefile" != no], [_AC_SYS_LARGEFILE_PROBE])
++  AS_IF([test "$ac_largefile_required,$enable_largefile,$ac_year2038_required" != no,no,no],
++    [_AC_SYS_LARGEFILE_PROBE])
+   AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE])
+ ])])
+ 
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch
new file mode 100644
index 0000000..f62fe1c
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch
@@ -0,0 +1,30 @@
+From 0cc3c4ca8e6c550bf590ae45a916982b6ec50203 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Fri, 14 Apr 2023 16:18:35 +0200
+Subject: [PATCH 17/29] AC_SYS_YEAR2038: Fix configure failure on 32-bit mingw.
+
+* lib/autoconf/specific.m4 (_AC_SYS_YEAR2038_PROBE): Use the same option
+spelling as in _AC_SYS_YEAR2038_OPTIONS.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/specific.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
+index 1a3f4a65c..3bf1a0ed1 100644
+--- a/lib/autoconf/specific.m4
++++ b/lib/autoconf/specific.m4
+@@ -182,7 +182,7 @@ AS_CASE([$ac_cv_sys_year2038_opts],
+     [AC_DEFINE([_TIME_BITS], [64],
+       [Number of bits in time_t, on hosts where this is settable.])],
+ 
+-  ["-D__MINGW_USE_VC2005_COMPAT=1"],
++  ["-D__MINGW_USE_VC2005_COMPAT"],
+     [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1],
+       [Define to 1 on platforms where this makes time_t a 64-bit type.])],
+ 
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0018-Document-limitation-of-BusyBox-tr.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0018-Document-limitation-of-BusyBox-tr.patch
new file mode 100644
index 0000000..478c4e4
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0018-Document-limitation-of-BusyBox-tr.patch
@@ -0,0 +1,45 @@
+From e704a13c9644f4f4b9a9dd4e215ee7a1707f5850 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Fri, 3 Mar 2023 14:32:13 +0100
+Subject: [PATCH 18/29] Document limitation of BusyBox tr.
+
+BusyBox 1.35.0 tr, which is shipped with Alpine Linux 3.17, does not support
+the POSIX [x*n] syntax.
+
+* doc/autoconf.texi (Limitations of Usual Tools): Document limitation of 'tr'
+from BusyBox.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ doc/autoconf.texi | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/doc/autoconf.texi b/doc/autoconf.texi
+index 5d5f613e6..b3c708e87 100644
+--- a/doc/autoconf.texi
++++ b/doc/autoconf.texi
+@@ -20368,6 +20368,20 @@ $ @kbd{echo abc | coreutils/tr bc d}
+ add
+ @end example
+ 
++On platforms with the BusyBox tools, @command{tr} does not support the
++@code{[@var{x}*@var{n}]} option syntax.
++
++@example
++$ @kbd{echo abc | tr 'abcd' '[A*4]'}
++[A*
++$ @kbd{echo abc | coreutils/tr 'abcd' '[A*4]'}
++AAA
++$ @kbd{echo xyz | tr 'a-z' '[A*]'}
++]]]
++$ @kbd{echo xyz | coreutils/tr 'a-z' '[A*]'}
++AAA
++@end example
++
+ Posix requires @command{tr} to operate on binary files.  But at least
+ Solaris @command{/usr/ucb/tr} and @command{/usr/bin/tr} silently discard
+ @code{NUL} in the input prior to doing any translation.  When using
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch
new file mode 100644
index 0000000..db9307e
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch
@@ -0,0 +1,48 @@
+From 2277f2c15744ad1cc5cd1ecc50a43108e50530a2 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Wed, 19 Apr 2023 14:17:24 -0700
+Subject: [PATCH 19/29] AC_SYS_YEAR2038_REQUIRED: Fix configure failure with
+ MSVC.
+
+* lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_PROBE): Distinguish the results
+"support not detected" and "supported through gnulib". If the result is
+"supported through gnulib", don't fail.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/specific.m4 | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
+index 3bf1a0ed1..f411695fe 100644
+--- a/lib/autoconf/specific.m4
++++ b/lib/autoconf/specific.m4
+@@ -323,11 +323,24 @@ AC_DEFUN([_AC_SYS_LARGEFILE_PROBE],
+     test $ac_opt_found = no || break
+   done
+   CC="$ac_save_CC"
++  dnl Gnulib implements large file support for native Windows, based on the
++  dnl variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE.
++  m4_ifdef([gl_LARGEFILE], [
++    AC_REQUIRE([AC_CANONICAL_HOST])
++    if test $ac_opt_found != yes; then
++      AS_CASE([$host_os],
++        [mingw*],
++          [ac_cv_sys_largefile_opts="supported through gnulib"
++           ac_opt_found=yes]
++      )
++    fi
++  ])
+   test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"])
+ 
+ ac_have_largefile=yes
+ AS_CASE([$ac_cv_sys_largefile_opts],
+   ["none needed"], [],
++  ["supported through gnulib"], [],
+   ["support not detected"],
+     [ac_have_largefile=no
+      AS_IF([test $ac_largefile_required,$ac_year2038_required != no,no],
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0020-Tone-down-year-2038-changes.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0020-Tone-down-year-2038-changes.patch
new file mode 100644
index 0000000..cbd89cc
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0020-Tone-down-year-2038-changes.patch
@@ -0,0 +1,405 @@
+From 9c0183724614517a67d0955065171465bab7154a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Wed, 26 Apr 2023 18:21:48 -0700
+Subject: [PATCH 20/29] Tone down year-2038 changes
+
+New macro AC_SYS_YEAR2038_RECOMMENDED replaces new macro
+AC_SYS_YEAR2038_REQUIRED, and gives the builder an out of
+specifying --disable-year2038.  Remove new macro
+AC_SYS_LARGEFILE_REQUIRED, which was added only for symmetry and
+does not seem to have a great need.
+* NEWS, doc/autoconf.texi: Document this.
+* lib/autoconf/specific.m4:
+Be more specific about mid-January 2038 than just Jan 2038.
+(_AC_SYS_YEAR2038_PROBE): Ignore IF-NOT-DETECTED arg.
+If support is not detected, merely set ac_have_year2038=no instead
+of erroring out.  All callers changed.
+(_AC_SYS_YEAR2038_OPT_IN): Remove.  All callers removed.
+(AC_SYS_YEAR2038): Simplify by requiring AC_SYS_LARGEFILE
+and then testing the result.
+(AC_SYS_YEAR2038_REQUIRED, AC_SYS_LARGEFILE_REQUIRED): Remove.
+(AC_SYS_YEAR2038_RECOMMENDED): New macro.
+(_AC_SYS_LARGEFILE_PROBE): If support is not detected, merely set
+ac_have_largefile=no instead of erroring out.  All callers changed.
+Take on the burden of invoking year2038 probe as needed.
+(AC_SYS_LARGEFILE): Simplify.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ NEWS                     |  18 ++--
+ doc/autoconf.texi        |  34 +++-----
+ lib/autoconf/specific.m4 | 177 +++++++++++----------------------------
+ 3 files changed, 69 insertions(+), 160 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index 8e4ecc1bf..a48a00858 100644
+--- a/NEWS
++++ b/NEWS
+@@ -51,7 +51,7 @@ GNU Autoconf NEWS - User visible changes.
+ 
+ ** New features
+ 
+-*** New macro AC_SYS_YEAR2038.
++*** New macros AC_SYS_YEAR2038 and AC_SYS_YEAR2038_RECOMMENDED.
+   This causes 'configure' to widen time_t if possible on systems where
+   time_t by default cannot represent file and other timestamps after
+   January 2038.  Widening is possible only on 32-bit GNU/Linux x86 and
+@@ -67,18 +67,14 @@ GNU Autoconf NEWS - User visible changes.
+   This is similar to longstanding consistency requirements with
+   --enable-largefile and --disable-largefile.
+ 
++  AC_SYS_YEAR2038_RECOMMENDED acts like AC_SYS_YEAR2038 except that
++  'configure' fails if the target lacks support for post-2038
++  timestamps and --disable-year2038 is not given.
++
+ *** AC_SYS_LARGEFILE now optionally arranges to widen time_t.
+   It now acts like AC_SYS_YEAR2038, except 'configure' defaults to
+-  --disable-year2038 unless AC_SYS_YEAR2038 is also present.
+-  As with AC_SYS_YEAR2038, application and library builders should
+-  configure consistently.
+-
+-*** New macros AC_SYS_LARGEFILE_REQUIRED and AC_SYS_YEAR2038_REQUIRED.
+-  These act like AC_SYS_LARGEFILE and AC_SYS_YEAR2038 respectively,
+-  except that 'configure' fails if the target lacks support
+-  for large files and for post-2038 timestamps, respectively.
+-  As with AC_SYS_YEAR2038, application and library builders should
+-  configure consistently.
++  --disable-year2038 unless either AC_SYS_YEAR2038 or
++  AC_SYS_YEAR2038_RECOMMENDED is also present.
+ 
+ *** AC_USE_SYSTEM_EXTENSIONS now enables C23 Annex F extensions
+   by defining __STDC_WANT_IEC_60559_EXT__.
+diff --git a/doc/autoconf.texi b/doc/autoconf.texi
+index b3c708e87..0f3047b31 100644
+--- a/doc/autoconf.texi
++++ b/doc/autoconf.texi
+@@ -8808,18 +8808,20 @@ if possible.  These types may include @code{blkcnt_t}, @code{dev_t},
+ 
+ Also, arrange for a @command{configure} option @code{--enable-year2038}
+ to request widening the type @code{time_t} as needed to represent file
+-wand other timestamps after January 2038.  This widening is possible
++wand other timestamps after mid-January 2038.  This widening is possible
+ only on 32-bit GNU/Linux x86 and ARM systems with glibc 2.34 or later.
+ If year-2038 support is requested but @command{configure} fails to find a way
+ to widen @code{time_t} and inspection of the system suggests that
+ this feature is available somehow, @command{configure} will error out.
+ If you want the default to be @code{--enable-year2038}, you can use
+-@code{AC_SYS_YEAR2038} instead of @code{AC_SYS_LARGEFILE}.
++@code{AC_SYS_YEAR2038} or @code{AC_SYS_YEAR2038_RECOMMENDED}
++instead of @code{AC_SYS_LARGEFILE}.
+ In other words, older packages that have long used @code{AC_SYS_LARGEFILE}
+ can have year-2038 support on 32-bit GNU/Linux x86 and ARM systems either by
+ regenerating @file{configure} with current Autoconf and configuring with
+-@option{--enable-year2038}, or by using @code{AC_SYS_YEAR2038} and
+-configuring without @option{--disable-year2038}.
++@option{--enable-year2038}, or by using @code{AC_SYS_YEAR2038} or
++@code{AC_SYS_YEAR2038_RECOMMENDED} and configuring without
++@option{--disable-year2038}.
+ A future version of Autoconf might change the @code{AC_SYS_LARGEFILE}
+ default to @code{--enable-year2038}; if and when that happens,
+ @code{AC_SYS_LARGEFILE} and @code{AC_SYS_YEAR2038} will become equivalent.
+@@ -8886,19 +8888,6 @@ library, enabling or disabling the application's large-file support may
+ break binary compatibility with that library.
+ @end defmac
+ 
+-@defmac AC_SYS_LARGEFILE_REQUIRED
+-@acindex{SYS_LARGEFILE_REQUIRED}
+-This macro has the same effect as @code{AC_SYS_LARGEFILE},
+-but also declares that the program being configured
+-requires support for large files.
+-If a large @code{off_t} is unavailable,
+-@command{configure} will error out.
+-The @option{--disable-largefile} option will not be available.
+-
+-Large-file and year-2038 support for applications and libraries should
+-be configured compatibly.  @xref{AC_SYS_LARGEFILE}.
+-@end defmac
+-
+ @anchor{AC_SYS_LONG_FILE_NAMES}
+ @defmac AC_SYS_LONG_FILE_NAMES
+ @acindex{SYS_LONG_FILE_NAMES}
+@@ -8927,14 +8916,13 @@ applications and libraries should be configured compatibly.
+ @xref{AC_SYS_LARGEFILE}.
+ @end defmac
+ 
+-@defmac AC_SYS_YEAR2038_REQUIRED
+-@acindex{SYS_YEAR2038_REQUIRED}
++@defmac AC_SYS_YEAR2038_RECOMMENDED
++@acindex{SYS_YEAR2038_RECOMMENDED}
+ This macro has the same effect as @code{AC_SYS_YEAR2038},
+ but also declares that the program being configured
+-requires support for timestamps after mid-January of 2038.
+-If a large @code{time_t} is unavailable,
+-@command{configure} will unconditionally error out.
+-The @option{--disable-year2038} option will not be available.
++should support timestamps after mid-January 2038.
++If a large @code{time_t} is unavailable, @command{configure} will error
++out unless the @option{--disable-year2038} option is specified.
+ 
+ Year-2038 support for applications and libraries should be configured
+ compatibly.  @xref{AC_SYS_YEAR2038}.
+diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
+index f411695fe..88e0479e8 100644
+--- a/lib/autoconf/specific.m4
++++ b/lib/autoconf/specific.m4
+@@ -115,8 +115,8 @@ m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize(
+                                       dnl 32-bit MinGW (misconfiguration)
+ ))
+ 
+-# _AC_SYS_YEAR2038_PROBE([IF-NOT-DETECTED])
+-# -----------------------------------------
++# _AC_SYS_YEAR2038_PROBE
++# ----------------------
+ # Subroutine of AC_SYS_YEAR2038.  Probe for time_t that can represent
+ # time points more than 2**31 - 1 seconds after the epoch (dates after
+ # 2038-01-18, see above) and set the cache variable ac_cv_sys_year2038_opts
+@@ -129,13 +129,10 @@ m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize(
+ # AC_TRY_RUN.  Note also that some systems only support large time_t
+ # together with large off_t.
+ #
+-# If support is not detected, the behavior depends on which of the
+-# top-level AC_SYS_YEAR2038 macros was used (see below).
+-#
+ # If you change this macro you may also need to change
+ # _AC_SYS_YEAR2038_OPTIONS.
+ AC_DEFUN([_AC_SYS_YEAR2038_PROBE],
+-[AC_CACHE_CHECK([for $CC option to enable timestamps after Jan 2038],
++[AC_CACHE_CHECK([for $CC option for timestamps after 2038],
+   [ac_cv_sys_year2038_opts],
+   [ac_save_CPPFLAGS="$CPPFLAGS"
+   ac_opt_found=no
+@@ -154,29 +151,7 @@ ac_have_year2038=yes
+ AS_CASE([$ac_cv_sys_year2038_opts],
+   ["none needed"], [],
+   ["support not detected"],
+-    [ac_have_year2038=no
+-     AS_CASE([$ac_year2038_required,$enable_year2038],
+-      [yes,*],
+-        [AC_MSG_FAILURE([support for timestamps after Jan 2038 is required])],
+-      [*,yes],
+-        [# If we're not cross compiling and 'touch' works with a large
+-        # timestamp, then we can presume the system supports wider time_t
+-        # *somehow* and we just weren't able to detect it.  One common
+-        # case that we deliberately *don't* probe for is a system that
+-        # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
+-        # wide time_t.  (It would be inappropriate for us to override an
+-        # intentional use of -m32.)  Error out, demanding use of
+-        # --disable-year2038 if this is intentional.
+-        AS_IF([test $cross_compiling = no],
+-          [AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null],
+-            [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`],
+-              [*'Feb  7  2106'* | *'Feb  7 17:10'*],
+-              [AC_MSG_FAILURE(m4_text_wrap(
+-      [this system appears to support timestamps after January 2038,
+-       but no mechanism for enabling wide 'time_t' was detected.
+-       Did you mean to build a 64-bit binary? (e.g. 'CC="${CC} -m64"'.)
+-       To proceed with 32-bit time_t, configure with '--disable-year2038'.],
+-      [], [], [55]))])])])])],
++    [ac_have_year2038=no],
+ 
+   ["-D_TIME_BITS=64"],
+     [AC_DEFINE([_TIME_BITS], [64],
+@@ -189,7 +164,7 @@ AS_CASE([$ac_cv_sys_year2038_opts],
+   ["-U_USE_32_BIT_TIME_T"*],
+     [AC_MSG_FAILURE(m4_text_wrap(
+       [the 'time_t' type is currently forced to be 32-bit.
+-       It will stop working after January 2038.
++       It will stop working after mid-January 2038.
+        Remove _USE_32BIT_TIME_T from the compiler flags.],
+       [], [], [55]))],
+ 
+@@ -199,44 +174,23 @@ AS_CASE([$ac_cv_sys_year2038_opts],
+ 
+ # _AC_SYS_YEAR2038_ENABLE
+ # -----------------------
+-# Subroutine of AC_SYS_YEAR2038 and _AC_SYS_YEAR2038_OPT_IN.
+ # Depending on which of the YEAR2038 macros was used, add either an
+-# --enable-year2038, or a --disable-year2038, or no option at all to
+-# the configure script.  Note that this is expanded very late and
++# --enable-year2038 or a --disable-year2038 to
++# the configure script.  This is expanded very late and
+ # therefore there cannot be any code in the AC_ARG_ENABLE.  The
+ # default value for 'enable_year2038' is emitted unconditionally
+ # because the generated code always looks at this variable.
+ m4_define([_AC_SYS_YEAR2038_ENABLE],
+ [m4_divert_text([DEFAULTS],
+-  m4_provide_if([AC_SYS_YEAR2038_REQUIRED],
+-    [ac_year2038_required=yes],
+-    [ac_year2038_required=no]))dnl
+-m4_divert_text([DEFAULTS],
+   m4_provide_if([AC_SYS_YEAR2038],
+     [enable_year2038=yes],
+     [enable_year2038=no]))]dnl
+-[m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [],
+ [AC_ARG_ENABLE([year2038],
+   m4_provide_if([AC_SYS_YEAR2038],
+     [AS_HELP_STRING([--disable-year2038],
+-      [omit support for dates after Jan 2038])],
++      [don't support timestamps after 2038])],
+     [AS_HELP_STRING([--enable-year2038],
+-      [include support for dates after Jan 2038])]))])])
+-
+-# _AC_SYS_YEAR2038_OPT_IN
+-# -----------------------
+-# If the --enable-year2038 option is given to configure, attempt to
+-# detect and activate support for large time_t on 32-bit systems.
+-# This macro is automatically invoked by AC_SYS_LARGEFILE when large
+-# *file* support is detected.  It does not AC_REQUIRE AC_SYS_LARGEFILE
+-# to avoid a dependency loop, and is therefore unsafe to expose as a
+-# documented macro.
+-AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN],
+-[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
+-  AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no],
+-    [_AC_SYS_YEAR2038_PROBE])
+-  AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
+-])])
++      [support timestamps after 2038])]))])
+ 
+ # AC_SYS_YEAR2038
+ # ---------------
+@@ -244,28 +198,39 @@ AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN],
+ # On systems where time_t is not always 64 bits, this probe can be
+ # skipped by passing the --disable-year2038 option to configure.
+ AC_DEFUN([AC_SYS_YEAR2038],
+-[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [],
+-  [AC_REQUIRE([AC_SYS_LARGEFILE])])]dnl
+-[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
+-  AS_IF([test "$ac_year2038_required,$enable_year2038" != no,no],
+-    [_AC_SYS_YEAR2038_PROBE])
+-  AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
+-])])
+-
+-# AC_SYS_YEAR2038_REQUIRED
+-# ------------------------
+-# Same as AC_SYS_YEAR2038, but declares that this program *requires*
+-# support for large time_t.  If we cannot find any way to make time_t
+-# capable of representing values larger than 2**31 - 1, configure will
+-# error out.  Furthermore, no --enable-year2038 nor --disable-year2038
+-# option will be available.
+-AC_DEFUN([AC_SYS_YEAR2038_REQUIRED],
+-[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [],
+-  [AC_REQUIRE([AC_SYS_LARGEFILE])])]dnl
+-[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
+-  _AC_SYS_YEAR2038_PROBE
+-  AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
+-])])
++[AC_REQUIRE([AC_SYS_LARGEFILE])dnl
++AS_IF([test "$enable_year2038,$ac_have_year2038,$cross_compiling" = yes,no,no],
++ [# If we're not cross compiling and 'touch' works with a large
++  # timestamp, then we can presume the system supports wider time_t
++  # *somehow* and we just weren't able to detect it.  One common
++  # case that we deliberately *don't* probe for is a system that
++  # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
++  # wide time_t.  (It would be inappropriate for us to override an
++  # intentional use of -m32.)  Error out, demanding use of
++  # --disable-year2038 if this is intentional.
++  AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null],
++    [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`],
++       [*'Feb  7  2106'* | *'Feb  7 17:10'*],
++       [AC_MSG_FAILURE(m4_text_wrap(
++	  [this system appears to support timestamps after mid-January 2038,
++	   but no mechanism for enabling wide 'time_t' was detected.
++	   Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.)
++	   To proceed with 32-bit time_t, configure with '--disable-year2038'.],
++	  [], [], [55]))])])])])
++
++# AC_SYS_YEAR2038_RECOMMENDED
++# ---------------------------
++# Same as AC_SYS_YEAR2038, but recommend support for large time_t.
++# If we cannot find any way to make time_t capable of representing
++# values larger than 2**31 - 1, error out unless --disable-year2038 is given.
++AC_DEFUN([AC_SYS_YEAR2038_RECOMMENDED],
++[AC_REQUIRE([AC_SYS_YEAR2038])dnl
++AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no],
++   [AC_MSG_FAILURE(m4_text_wrap(
++      [could not enable timestamps after mid-January 2038.
++       Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.)
++       To proceed with 32-bit time_t, configure with '--disable-year2038'.],
++      [], [], [55]))])])
+ 
+ # _AC_SYS_LARGEFILE_TEST_CODE
+ # ---------------------------
+@@ -342,9 +307,7 @@ AS_CASE([$ac_cv_sys_largefile_opts],
+   ["none needed"], [],
+   ["supported through gnulib"], [],
+   ["support not detected"],
+-    [ac_have_largefile=no
+-     AS_IF([test $ac_largefile_required,$ac_year2038_required != no,no],
+-       [AC_MSG_FAILURE([support for large files is required])])],
++    [ac_have_largefile=no],
+ 
+   ["-D_FILE_OFFSET_BITS=64"],
+     [AC_DEFINE([_FILE_OFFSET_BITS], [64],
+@@ -360,30 +323,9 @@ AS_CASE([$ac_cv_sys_largefile_opts],
+   [AC_MSG_ERROR(
+     [internal error: bad value for \$ac_cv_sys_largefile_opts])])
+ 
+-_AC_SYS_YEAR2038_OPT_IN
+-])
+-
+-# _AC_SYS_LARGEFILE_ENABLE
+-# ------------------------
+-# Subroutine of AC_SYS_LARGEFILE.  If AC_SYS_LARGEFILE_REQUIRED was
+-# not used at any point in this configure script, add a
+-# --disable-largefile option to the configure script.  Note that this
+-# is expanded very late and therefore there cannot be any code in the
+-# AC_ARG_ENABLE.  The default value for 'enable_largefile' is emitted
+-# unconditionally because the generated shell code always looks at
+-# this variable.
+-m4_define([_AC_SYS_LARGEFILE_ENABLE],
+-[m4_divert_text([DEFAULTS],
+-  m4_provide_if([AC_SYS_LARGEFILE_REQUIRED],
+-    [ac_largefile_required=yes],
+-    [ac_largefile_required=no]))dnl
+-m4_divert_text([DEFAULTS],
+-  [enable_largefile=yes])]dnl
+-[m4_provide_if([AC_SYS_LARGEFILE_REQUIRED], [],
+-   [m4_provide_if([AC_SYS_YEAR2038_REQUIRED], [],
+-      [AC_ARG_ENABLE([largefile],
+-         [AS_HELP_STRING([--disable-largefile],
+-	    [omit support for large files])])])])])
++AS_IF([test "$enable_year2038" != no],
++  [_AC_SYS_YEAR2038_PROBE])
++AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])])
+ 
+ # AC_SYS_LARGEFILE
+ # ----------------
+@@ -394,29 +336,12 @@ m4_divert_text([DEFAULTS],
+ # Additionally, on Linux file systems with 64-bit inodes a file that happens
+ # to have a 64-bit inode number cannot be accessed by 32-bit applications on
+ # Linux x86/x86_64.  This can occur with file systems such as XFS and NFS.
+-# This macro allows configuration to continue if the system doesn't support
+-# large files; see also AC_SYS_LARGEFILE_REQUIRED.
+ AC_DEFUN([AC_SYS_LARGEFILE],
+-[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl
+-  AS_IF([test "$ac_largefile_required,$enable_largefile,$ac_year2038_required" != no,no,no],
+-    [_AC_SYS_LARGEFILE_PROBE])
+-  AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE])
+-])])
+-
+-# AC_SYS_LARGEFILE_REQUIRED
+-# -------------------------
+-# Same as AC_SYS_LARGEFILE, but declares that this program *requires*
+-# support for large files.  If we cannot find a combination of compiler
+-# options and #defines that makes 'off_t' capable of representing 2**63 - 1,
+-# 'configure' will error out.  Furthermore, 'configure' will not offer a
+-# --disable-largefile command line option.
+-# If both AC_SYS_LARGEFILE and AC_SYS_LARGEFILE_REQUIRED are used in the
+-# same configure script -- in either order -- AC_SYS_LARGEFILE_REQUIRED wins.
+-AC_DEFUN([AC_SYS_LARGEFILE_REQUIRED],
+-[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl
+-  _AC_SYS_LARGEFILE_PROBE
+-  AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE])
+-])])
++[AC_ARG_ENABLE([largefile],
++   [AS_HELP_STRING([--disable-largefile],
++      [omit support for large files])])dnl
++AS_IF([test "$enable_largefile,$enable_year2038" != no,no],
++  [_AC_SYS_LARGEFILE_PROBE])])
+ 
+ # AC_SYS_LONG_FILE_NAMES
+ # ----------------------
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch
new file mode 100644
index 0000000..56bcbb6
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch
@@ -0,0 +1,98 @@
+From 028526149ee804617a302ccef22cc6adbda681b0 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Wed, 10 May 2023 17:20:49 -0700
+Subject: [PATCH 21/29] Port AC_FUNC_MMAP to more-modern systems
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* lib/autoconf/functions.m4 (AC_FUNC_MMAP): Don’t call
+getpagesize, as it’s tricky to configure, modern POSIX doesn’t
+require it, and calling it without including <unistd.h> provokes a
+compile-time error on modern systems.  Instead, rework the test
+to not need getpagesize.  Add a FIXME comment for unnecessary
+tests; I don't want to remove them now as we're too close to
+a release.  Remove long-obsolete comment about GNU grep.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/functions.m4 | 44 +++++----------------------------------
+ 1 file changed, 5 insertions(+), 39 deletions(-)
+
+diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
+index 499e4c024..5a0f01856 100644
+--- a/lib/autoconf/functions.m4
++++ b/lib/autoconf/functions.m4
+@@ -1283,6 +1283,7 @@ AU_ALIAS([AM_FUNC_MKTIME], [AC_FUNC_MKTIME])
+ AN_FUNCTION([mmap], [AC_FUNC_MMAP])
+ AC_DEFUN([AC_FUNC_MMAP],
+ [AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
++dnl FIXME: Remove the unnecessary checks for unistd.h, sys/param.h, getpagesize.
+ AC_CHECK_HEADERS_ONCE([unistd.h sys/param.h])
+ AC_CHECK_FUNCS_ONCE([getpagesize])
+ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped],
+@@ -1305,48 +1306,11 @@ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped],
+    VM page cache was not coherent with the file system buffer cache
+    like early versions of FreeBSD and possibly contemporary NetBSD.)
+    For shared mappings, we should conversely verify that changes get
+-   propagated back to all the places they're supposed to be.
+-
+-   Grep wants private fixed already mapped.
+-   The main things grep needs to know about mmap are:
+-   * does it exist and is it safe to write into the mmap'd area
+-   * how to use it (BSD variants)  */
++   propagated back to all the places they're supposed to be.  */
+ 
+ #include <fcntl.h>
+ #include <sys/mman.h>
+ 
+-/* This mess was copied from the GNU getpagesize.h.  */
+-#ifndef HAVE_GETPAGESIZE
+-# ifdef _SC_PAGESIZE
+-#  define getpagesize() sysconf(_SC_PAGESIZE)
+-# else /* no _SC_PAGESIZE */
+-#  ifdef HAVE_SYS_PARAM_H
+-#   include <sys/param.h>
+-#   ifdef EXEC_PAGESIZE
+-#    define getpagesize() EXEC_PAGESIZE
+-#   else /* no EXEC_PAGESIZE */
+-#    ifdef NBPG
+-#     define getpagesize() NBPG * CLSIZE
+-#     ifndef CLSIZE
+-#      define CLSIZE 1
+-#     endif /* no CLSIZE */
+-#    else /* no NBPG */
+-#     ifdef NBPC
+-#      define getpagesize() NBPC
+-#     else /* no NBPC */
+-#      ifdef PAGESIZE
+-#       define getpagesize() PAGESIZE
+-#      endif /* PAGESIZE */
+-#     endif /* no NBPC */
+-#    endif /* no NBPG */
+-#   endif /* no EXEC_PAGESIZE */
+-#  else /* no HAVE_SYS_PARAM_H */
+-#   define getpagesize() 8192	/* punt totally */
+-#  endif /* no HAVE_SYS_PARAM_H */
+-# endif /* no _SC_PAGESIZE */
+-
+-#endif /* no HAVE_GETPAGESIZE */
+-
+ int
+ main (void)
+ {
+@@ -1355,7 +1319,9 @@ main (void)
+   int i, pagesize;
+   int fd, fd2;
+ 
+-  pagesize = getpagesize ();
++  /* The "page size" need not equal the system page size,
++     and need not even be a power of 2.  */
++  pagesize = 8192;
+ 
+   /* First, make a file with some known garbage in it. */
+   data = (char *) malloc (pagesize);
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0022-Fix-port-of-AC_FUNC_MMAP.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0022-Fix-port-of-AC_FUNC_MMAP.patch
new file mode 100644
index 0000000..1b168c7
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0022-Fix-port-of-AC_FUNC_MMAP.patch
@@ -0,0 +1,91 @@
+From 33c26d2700f927432c756ccf7a4fc89403d35b95 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Wed, 10 May 2023 22:57:27 -0700
+Subject: [PATCH 22/29] Fix port of AC_FUNC_MMAP
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Problem reported by Matt Turner in:
+https://lists.gnu.org/r/bug-autoconf/2023-05/msg00005.html
+* lib/autoconf/functions.m4 (AC_FUNC_MMAP): Go back to getting the
+page size, since the zero-fill test needs this after all.
+However, prefer sysconf (_SC_PAGESIZE) or sysconf (_SC_PAGE_SIZE)
+to getpagesize (), and use ‘long’ not ‘int’ to store the page size.
+Also, declare getpagesize if it is used as a function.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/functions.m4 | 41 ++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 36 insertions(+), 5 deletions(-)
+
+diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
+index 5a0f01856..3d6e4aca8 100644
+--- a/lib/autoconf/functions.m4
++++ b/lib/autoconf/functions.m4
+@@ -1283,7 +1283,6 @@ AU_ALIAS([AM_FUNC_MKTIME], [AC_FUNC_MKTIME])
+ AN_FUNCTION([mmap], [AC_FUNC_MMAP])
+ AC_DEFUN([AC_FUNC_MMAP],
+ [AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
+-dnl FIXME: Remove the unnecessary checks for unistd.h, sys/param.h, getpagesize.
+ AC_CHECK_HEADERS_ONCE([unistd.h sys/param.h])
+ AC_CHECK_FUNCS_ONCE([getpagesize])
+ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped],
+@@ -1311,17 +1310,49 @@ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped],
+ #include <fcntl.h>
+ #include <sys/mman.h>
+ 
++#ifndef getpagesize
++# ifdef _SC_PAGESIZE
++#  define getpagesize() sysconf (_SC_PAGESIZE)
++# elif defined _SC_PAGE_SIZE
++#  define getpagesize() sysconf (_SC_PAGE_SIZE)
++# elif HAVE_GETPAGESIZE
++int getpagesize ();
++# else
++#  ifdef HAVE_SYS_PARAM_H
++#   include <sys/param.h>
++#   ifdef EXEC_PAGESIZE
++#    define getpagesize() EXEC_PAGESIZE
++#   else /* no EXEC_PAGESIZE */
++#    ifdef NBPG
++#     define getpagesize() NBPG * CLSIZE
++#     ifndef CLSIZE
++#      define CLSIZE 1
++#     endif /* no CLSIZE */
++#    else /* no NBPG */
++#     ifdef NBPC
++#      define getpagesize() NBPC
++#     else /* no NBPC */
++#      ifdef PAGESIZE
++#       define getpagesize() PAGESIZE
++#      endif /* PAGESIZE */
++#     endif /* no NBPC */
++#    endif /* no NBPG */
++#   endif /* no EXEC_PAGESIZE */
++#  else /* no HAVE_SYS_PARAM_H */
++#   define getpagesize() 8192	/* punt totally */
++#  endif /* no HAVE_SYS_PARAM_H */
++# endif
++#endif
++
+ int
+ main (void)
+ {
+   char *data, *data2, *data3;
+   const char *cdata2;
+-  int i, pagesize;
++  long i, pagesize;
+   int fd, fd2;
+ 
+-  /* The "page size" need not equal the system page size,
+-     and need not even be a power of 2.  */
+-  pagesize = 8192;
++  pagesize = getpagesize ();
+ 
+   /* First, make a file with some known garbage in it. */
+   data = (char *) malloc (pagesize);
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch
new file mode 100644
index 0000000..9fb33c3
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch
@@ -0,0 +1,38 @@
+From ccc0d640c4d829504568330f9674408af5092ffc Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Sat, 13 May 2023 09:56:33 -0700
+Subject: [PATCH 23/29] Improve AC_SYS_YEAR2038_RECOMMENDED diagnostic
+
+* lib/autoconf/specific.m4 (AC_SYS_YEAR2038_RECOMMENDED):
+Do not recommend gcc -m64, as that likely will not work.
+Problem reported by Bruno Haible in:
+https://lists.gnu.org/r/bug-gnulib/2023-05/msg00060.html
+Instead, mention that 32-bit time_t is not recommended
+for this package, before telling the builder how
+to configure with 32-bit time_t anyway.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/specific.m4 | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
+index 88e0479e8..91f20bf0d 100644
+--- a/lib/autoconf/specific.m4
++++ b/lib/autoconf/specific.m4
+@@ -228,8 +228,9 @@ AC_DEFUN([AC_SYS_YEAR2038_RECOMMENDED],
+ AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no],
+    [AC_MSG_FAILURE(m4_text_wrap(
+       [could not enable timestamps after mid-January 2038.
+-       Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.)
+-       To proceed with 32-bit time_t, configure with '--disable-year2038'.],
++       This package recommends support for these later timestamps.
++       However, to proceed with signed 32-bit time_t even though it
++       will fail then, configure with '--disable-year2038'.],
+       [], [], [55]))])])
+ 
+ # _AC_SYS_LARGEFILE_TEST_CODE
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0024-Improve-AC_FUNC_MMAP-comments.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0024-Improve-AC_FUNC_MMAP-comments.patch
new file mode 100644
index 0000000..2644c57
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0024-Improve-AC_FUNC_MMAP-comments.patch
@@ -0,0 +1,29 @@
+From 8e7281d7bebb5e389befe6e9a5afbb7b2ae13ae0 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Wed, 17 May 2023 11:50:27 -0700
+Subject: [PATCH 24/29] Improve AC_FUNC_MMAP comments
+
+* lib/autoconf/functions.m4 (AC_FUNC_MMAP): Add comment.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/functions.m4 | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
+index 3d6e4aca8..54d04cc38 100644
+--- a/lib/autoconf/functions.m4
++++ b/lib/autoconf/functions.m4
+@@ -1311,6 +1311,8 @@ AC_CACHE_CHECK([for working mmap], [ac_cv_func_mmap_fixed_mapped],
+ #include <sys/mman.h>
+ 
+ #ifndef getpagesize
++/* Prefer sysconf to the legacy getpagesize function, as getpagesize has
++   been removed from POSIX and is limited to page sizes that fit in 'int'.  */
+ # ifdef _SC_PAGESIZE
+ #  define getpagesize() sysconf (_SC_PAGESIZE)
+ # elif defined _SC_PAGE_SIZE
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch
new file mode 100644
index 0000000..b7affed
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch
@@ -0,0 +1,62 @@
+From 103514e40da5f20aebf83a3446452ccebe5172bb Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Mon, 19 Jun 2023 14:04:29 -0700
+Subject: [PATCH 25/29] Fix AC_SYS_LARGEFILE on GNU/Linux alpha, s390x
+
+Problem reported by Matoro <https://bugs.gnu.org/64123>.
+* lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_TEST_CODE):
+New overridable macro FTYPE, to test types other than off_t.
+(_AC_SYS_LARGEFILE_TEST_CODE): Test ino_t for
+-D_FILE_OFFSETBITS=64 too, if no flags are needed for off_t.
+Needed for GNU/Linux on alpha and s390x.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/autoconf/specific.m4 | 21 +++++++++++++++------
+ 1 file changed, 15 insertions(+), 6 deletions(-)
+
+diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
+index 91f20bf0d..9d5974548 100644
+--- a/lib/autoconf/specific.m4
++++ b/lib/autoconf/specific.m4
+@@ -238,13 +238,16 @@ AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no],
+ # C code used to probe for large file support.
+ m4_define([_AC_SYS_LARGEFILE_TEST_CODE],
+ [@%:@include <sys/types.h>
+- /* Check that off_t can represent 2**63 - 1 correctly.
+-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
++@%:@ifndef FTYPE
++@%:@ define FTYPE off_t
++@%:@endif
++ /* Check that FTYPE can represent 2**63 - 1 correctly.
++    We can't simply define LARGE_FTYPE to be 9223372036854775807,
+     since some C++ compilers masquerading as C compilers
+     incorrectly reject 9223372036854775807.  */
+-@%:@define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
+-  int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
+-		       && LARGE_OFF_T % 2147483647 == 1)
++@%:@define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31))
++  int FTYPE_is_large[[(LARGE_FTYPE % 2147483629 == 721
++		       && LARGE_FTYPE % 2147483647 == 1)
+ 		      ? 1 : -1]];[]dnl
+ ])
+ # Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it.
+@@ -284,7 +287,13 @@ AC_DEFUN([_AC_SYS_LARGEFILE_PROBE],
+     AS_IF([test x"$ac_opt" != x"none needed"],
+       [CC="$ac_save_CC $ac_opt"])
+     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])],
+-      [ac_cv_sys_largefile_opts="$ac_opt"
++     [AS_IF([test x"$ac_opt" = x"none needed"],
++	[# GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t.
++	 CC="$CC -DFTYPE=ino_t"
++	 AC_COMPILE_IFELSE([], [],
++	   [CC="$CC -D_FILE_OFFSET_BITS=64"
++	    AC_COMPILE_IFELSE([], [ac_opt='-D_FILE_OFFSET_BITS=64'])])])
++      ac_cv_sys_largefile_opts=$ac_opt
+       ac_opt_found=yes])
+     test $ac_opt_found = no || break
+   done
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0026-Modernize-INSTALL.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0026-Modernize-INSTALL.patch
new file mode 100644
index 0000000..8d25396
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0026-Modernize-INSTALL.patch
@@ -0,0 +1,270 @@
+From a7421b411b4359b97528c8f4e9dd8abe82235813 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Tue, 20 Jun 2023 13:23:19 -0700
+Subject: [PATCH 26/29] Modernize INSTALL
+
+Problem reported for gettext bootstrap by Julien Palard in:
+https://savannah.gnu.org/bugs/?62196
+* doc/install.texi: Give a brief info as to how to bootstrap,
+on packages built from Git rather from a distribution tarball.
+Remove aging details about c99, macOS, X, HP-UX, OSF/1, Solaris,
+Haiku, sun4.  Improve documentation for enable/disable and
+with/without options.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ doc/install.texi | 157 +++++++++++++++++++++--------------------------
+ 1 file changed, 70 insertions(+), 87 deletions(-)
+
+diff --git a/doc/install.texi b/doc/install.texi
+index e06689613..cec245fd0 100644
+--- a/doc/install.texi
++++ b/doc/install.texi
+@@ -18,9 +18,21 @@ warranty of any kind.
+ @node Basic Installation
+ @section Basic Installation
+ 
+-Briefly, the shell command
+-@samp{./configure@tie{}&& make@tie{}&& make@tie{}install}
+-should configure, build, and install this package.  The following
++Briefly, the following shell commands:
++
++@example
++test -f configure || ./bootstrap
++./configure
++make
++make install
++@end example
++
++@noindent
++should configure, build, and install this package.
++The @command{./bootstrap} line is intended for developers;
++you can omit it when building from a distribution tarball.
++
++The following
+ more-detailed instructions are generic; see the @file{README} file for
+ instructions specific to this package.
+ @ifclear autoconf
+@@ -32,6 +44,17 @@ More recommendations for GNU packages can be found in
+ @ref{Makefile Conventions, , Makefile Conventions, standards,
+ GNU Coding Standards}.
+ 
++If the @command{bootstrap} shell script exists, it attempts to build the
++@command{configure} shell script and related files, perhaps by
++downloading other software components from the network, and by using
++developer tools that are less commonly installed.  Because the output of
++@command{bootstrap} is system-independent, it is normally run by a
++package developer so that its output can be put into the distribution
++tarball and ordinary builders and users need not run @command{bootstrap}.
++Some packages have commands like @command{./autopull.sh} and
++@command {./autogen.sh} that you can run instead of @command{./bootstrap},
++for more fine-grained control over bootstrapping.
++
+ The @command{configure} shell script attempts to guess correct values
+ for various system-dependent variables used during compilation.  It uses
+ those values to create a @file{Makefile} in each directory of the
+@@ -63,8 +86,15 @@ The simplest way to compile this package is:
+ 
+ @enumerate
+ @item
+-@command{cd} to the directory containing the package's source code and type
+-@samp{./configure} to configure the package for your system.
++@command{cd} to the directory containing the package's source code.
++
++@item
++If this is a developer checkout and file @samp{configure} does not yet exist,
++type @samp{./bootstrap} to create it.
++You may need special developer tools and network access to bootstrap.
++
++@item
++Type @samp{./configure} to configure the package for your system.
+ 
+ Running @command{configure} might take a while.  While running, it prints some
+ messages telling which features it is checking for.
+@@ -124,7 +154,7 @@ parameters by setting variables in the command line or in the environment.
+ Here is an example:
+ 
+ @example
+-./configure CC=c99 CFLAGS=-g LIBS=-lposix
++./configure CC=gcc CFLAGS=-g LIBS=-lposix
+ @end example
+ 
+ @xref{Defining Variables}, for more details.
+@@ -148,21 +178,10 @@ architecture at a time in the source code directory.  After you have
+ installed the package for one architecture, use @samp{make distclean}
+ before reconfiguring for another architecture.
+ 
+-On MacOS X 10.5 and later systems, you can create libraries and
+-executables that work on multiple system types---known as @dfn{fat} or
+-@dfn{universal} binaries---by specifying multiple @option{-arch} options
+-to the compiler but only a single @option{-arch} option to the
+-preprocessor.  Like this:
+-
+-@example
+-./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+-            CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+-            CPP="gcc -E" CXXCPP="g++ -E"
+-@end example
+-
+-This is not guaranteed to produce working output in all cases, you may
+-have to build one architecture at a time and combine the results
+-using the @command{lipo} tool if you have problems.
++Some platforms, notably macOS, support ``fat'' or ``universal'' binaries,
++where a single binary can execute on different architectures.
++On these platforms you can configure and compile just once,
++with options specific to that platform.
+ 
+ @node Installation Names
+ @section Installation Names
+@@ -227,20 +246,16 @@ an extra prefix or suffix on their names by giving @command{configure}
+ the option @option{--program-prefix=@var{PREFIX}} or
+ @option{--program-suffix=@var{SUFFIX}}.
+ 
+-Some packages pay attention to @option{--enable-@var{feature}} options
++Some packages pay attention to @option{--enable-@var{feature}}
++and @option{--disable-@var{feature}} options
+ to @command{configure}, where @var{feature} indicates an optional part
+ of the package.  They may also pay attention to
+-@option{--with-@var{package}} options, where @var{package} is something
+-like @samp{gnu-as} or @samp{x} (for the X Window System).  The
+-@file{README} should mention any @option{--enable-} and @option{--with-}
++@option{--with-@var{package}} and @option{--without-@var{package}} options,
++where @var{package} is something like @samp{gnu-ld}.
++@samp{./configure --help} should mention the
++@option{--enable-...} and @option{--with-...}
+ options that the package recognizes.
+ 
+-For packages that use the X Window System, @command{configure} can
+-usually find the X include and library files automatically, but if it
+-doesn't, you can use the @command{configure} options
+-@option{--x-includes=@var{dir}} and @option{--x-libraries=@var{dir}} to
+-specify their locations.
+-
+ Some packages offer the ability to configure how verbose the execution
+ of @command{make} will be.  For these packages, running
+ @samp{./configure --enable-silent-rules} sets the default to minimal
+@@ -248,53 +263,6 @@ output, which can be overridden with @code{make V=1}; while running
+ @samp{./configure --disable-silent-rules} sets the default to verbose,
+ which can be overridden with @code{make V=0}.
+ 
+-@node Particular Systems
+-@section Particular systems
+-
+-On HP-UX, the default C compiler is not ANSI C compatible.  If GNU CC is
+-not installed, it is recommended to use the following options in order to
+-use an ANSI C compiler:
+-
+-@example
+-./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+-@end example
+-
+-@noindent
+-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+-
+-HP-UX @command{make} updates targets which have the same timestamps as
+-their prerequisites, which makes it generally unusable when shipped
+-generated files such as @command{configure} are involved.  Use GNU
+-@command{make} instead.
+-
+-On OSF/1 a.k.a.@: Tru64, some versions of the default C compiler cannot
+-parse its @code{<wchar.h>} header file.  The option @option{-nodtk} can be
+-used as a workaround.  If GNU CC is not installed, it is therefore
+-recommended to try
+-
+-@example
+-./configure CC="cc"
+-@end example
+-
+-@noindent
+-and if that doesn't work, try
+-
+-@example
+-./configure CC="cc -nodtk"
+-@end example
+-
+-On Solaris, don't put @code{/usr/ucb} early in your @env{PATH}.  This
+-directory contains several dysfunctional programs; working variants
+-of these programs are available in @code{/usr/bin}.  So, if you need
+-@code{/usr/ucb} in your @env{PATH}, put it @emph{after} @code{/usr/bin}.
+-
+-On Haiku, software installed for all users goes in @file{/boot/common},
+-not @file{/usr/local}.  It is recommended to use the following options:
+-
+-@example
+-./configure --prefix=/boot/common
+-@end example
+-
+ @node System Type
+ @section Specifying the System Type
+ 
+@@ -304,7 +272,8 @@ will run on.  Usually, assuming the package is built to be run on the
+ @emph{same} architectures, @command{configure} can figure that out, but
+ if it prints a message saying it cannot guess the machine type, give it
+ the @option{--build=@var{type}} option.  @var{type} can either be a
+-short name for the system type, such as @samp{sun4}, or a canonical name
++short name like @samp{mingw64} for the system type, or a canonical name
++like @samp{x86_64-pc-linux-gnu}
+ which has the form:
+ 
+ @example
+@@ -319,6 +288,7 @@ where @var{system} can have one of these forms:
+ @var{kernel}-@var{os}
+ @end example
+ 
++@noindent
+ See the file @file{config.sub} for the possible values of each field.
+ If @file{config.sub} isn't included in this package, then this package
+ doesn't need to know the machine type.
+@@ -405,13 +375,6 @@ traditionally @file{config.cache}.  @var{file} defaults to
+ @itemx -C
+ Alias for @option{--cache-file=config.cache}.
+ 
+-@item --quiet
+-@itemx --silent
+-@itemx -q
+-Do not print messages saying which checks are being made.  To suppress
+-all normal output, redirect it to @file{/dev/null} (any error messages
+-will still be shown).
+-
+ @item --srcdir=@var{dir}
+ Look for the package's source code in directory @var{dir}.  Usually
+ @command{configure} can determine that directory automatically.
+@@ -421,13 +384,33 @@ Use @var{dir} as the installation prefix.  @ref{Installation Names}
+ for more details, including other options available for fine-tuning
+ the installation locations.
+ 
++@item --build=@var{type}
++Build for architecture @var{type}.  @ref{Specifying the System Type}
++for more details, including other system type options.
++
++@item --enable-@var{feature}
++@itemx --disable-@var{feature}
++Enable or disable the optional @var{feature}.  @xref{Optional Features}.
++
++@item --with-@var{package}
++@itemx --without-@var{package}
++Use or omit @var{package} when building.  @xref{Optional Features}.
++
++@item --quiet
++@itemx --silent
++@itemx -q
++Do not print messages saying which checks are being made.  To suppress
++all normal output, redirect it to @file{/dev/null} (any error messages
++will still be shown).
++
+ @item --no-create
+ @itemx -n
+ Run the configure checks, but stop before creating any output files.
+ @end table
+ 
+ @noindent
+-@command{configure} also accepts some other, not widely useful, options.
++@command{configure} also recognizes several environment variables,
++and accepts some other, less widely useful, options.
+ Run @samp{configure --help} for more details.
+ 
+ @c Local Variables:
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0027-doc-fix-broken-cross-refs.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0027-doc-fix-broken-cross-refs.patch
new file mode 100644
index 0000000..7ab5074
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0027-doc-fix-broken-cross-refs.patch
@@ -0,0 +1,58 @@
+From eaea61e4485cdecf989fa777ff4e166c945a6eea Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Tue, 20 Jun 2023 13:39:15 -0700
+Subject: [PATCH 27/29] doc: fix broken cross-refs
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ doc/autoconf.texi | 5 +----
+ doc/install.texi  | 2 +-
+ 2 files changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/doc/autoconf.texi b/doc/autoconf.texi
+index 0f3047b31..7817fc1b5 100644
+--- a/doc/autoconf.texi
++++ b/doc/autoconf.texi
+@@ -604,7 +604,6 @@ Running @command{configure} Scripts
+ * Multiple Architectures::      Compiling for multiple architectures at once
+ * Installation Names::          Installing in different directories
+ * Optional Features::           Selecting optional features
+-* Particular Systems::          Particular systems
+ * System Type::                 Specifying the system type
+ * Sharing Defaults::            Setting site-wide defaults for @command{configure}
+ * Defining Variables::          Specifying the compiler etc.
+@@ -23304,7 +23303,6 @@ may use comes with Autoconf.
+ * Multiple Architectures::      Compiling for multiple architectures at once
+ * Installation Names::          Installing in different directories
+ * Optional Features::           Selecting optional features
+-* Particular Systems::          Particular systems
+ * System Type::                 Specifying the system type
+ * Sharing Defaults::            Setting site-wide defaults for @command{configure}
+ * Defining Variables::          Specifying the compiler etc.
+@@ -26990,8 +26988,7 @@ for simple differences.
+ @item
+ Most tests which produce their result in a substituted variable allow to
+ override the test by setting the variable on the @command{configure}
+-command line (@pxref{Compilers and Options}, @pxref{Defining Variables},
+-@pxref{Particular Systems}).
++command line (@pxref{Compilers and Options}, @pxref{Defining Variables}).
+ 
+ @item
+ Many tests store their result in a cache variable (@pxref{Caching
+diff --git a/doc/install.texi b/doc/install.texi
+index cec245fd0..6d9788fa9 100644
+--- a/doc/install.texi
++++ b/doc/install.texi
+@@ -385,7 +385,7 @@ for more details, including other options available for fine-tuning
+ the installation locations.
+ 
+ @item --build=@var{type}
+-Build for architecture @var{type}.  @ref{Specifying the System Type}
++Build for architecture @var{type}.  @ref{System Type}.
+ for more details, including other system type options.
+ 
+ @item --enable-@var{feature}
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch
new file mode 100644
index 0000000..95ad80d
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch
@@ -0,0 +1,224 @@
+From 328f9b88ef896e8e31818c50d9ec2ade5c892ea4 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Fri, 23 Jun 2023 17:37:35 +0200
+Subject: [PATCH 28/29] INSTALL: Clarify --build, --host, --target, and the
+ system types.
+
+* doc/install.texi (Compilers and Options): Add another reference.
+(System Types): Renamed from System Type. Explain how to canonicalize
+and how to validate a system type. Don't explain --build, --host,
+--target here.
+(Building for a different system type): New section.
+(Troubleshooting the Build Type): New section.
+(Configuring a Compiler): New section.
+(configure Invocation): Mention the --host option, not the --build
+option, since --build is so rarely needed.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ doc/autoconf.texi |   6 +--
+ doc/install.texi  | 132 +++++++++++++++++++++++++++++++++++++---------
+ 2 files changed, 111 insertions(+), 27 deletions(-)
+
+diff --git a/doc/autoconf.texi b/doc/autoconf.texi
+index 7817fc1b5..043f7fb21 100644
+--- a/doc/autoconf.texi
++++ b/doc/autoconf.texi
+@@ -604,7 +604,7 @@ Running @command{configure} Scripts
+ * Multiple Architectures::      Compiling for multiple architectures at once
+ * Installation Names::          Installing in different directories
+ * Optional Features::           Selecting optional features
+-* System Type::                 Specifying the system type
++* System Types::                Specifying a system type
+ * Sharing Defaults::            Setting site-wide defaults for @command{configure}
+ * Defining Variables::          Specifying the compiler etc.
+ * configure Invocation::        Changing how @command{configure} runs
+@@ -22383,7 +22383,7 @@ system it's running on.  To do so it runs a script called
+ command or symbols predefined by the C preprocessor.
+ 
+ Alternately, the user can specify the system type with command line
+-arguments to @command{configure} (@pxref{System Type}.  Doing so is
++arguments to @command{configure} (@pxref{System Types}.  Doing so is
+ necessary when
+ cross-compiling.  In the most complex case of cross-compiling, three
+ system types are involved.  The options to specify them are:
+@@ -23303,7 +23303,7 @@ may use comes with Autoconf.
+ * Multiple Architectures::      Compiling for multiple architectures at once
+ * Installation Names::          Installing in different directories
+ * Optional Features::           Selecting optional features
+-* System Type::                 Specifying the system type
++* System Types::                Specifying a system type
+ * Sharing Defaults::            Setting site-wide defaults for @command{configure}
+ * Defining Variables::          Specifying the compiler etc.
+ * configure Invocation::        Changing how @command{configure} runs
+diff --git a/doc/install.texi b/doc/install.texi
+index 6d9788fa9..a3ef17828 100644
+--- a/doc/install.texi
++++ b/doc/install.texi
+@@ -157,8 +157,16 @@ Here is an example:
+ ./configure CC=gcc CFLAGS=-g LIBS=-lposix
+ @end example
+ 
+-@xref{Defining Variables}, for more details.
+-
++See
++@ref{Defining Variables} and
++@ifset autoconf
++@ref{Preset Output Variables}
++@end ifset
++@ifclear autoconf
++@ref{Preset Output Variables,,, autoconf, Autoconf}
++@c (@url{https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/html_node/Preset-Output-Variables.html})
++@end ifclear
++for more details.
+ 
+ @node Multiple Architectures
+ @section Compiling For Multiple Architectures
+@@ -263,18 +271,17 @@ output, which can be overridden with @code{make V=1}; while running
+ @samp{./configure --disable-silent-rules} sets the default to verbose,
+ which can be overridden with @code{make V=0}.
+ 
+-@node System Type
+-@section Specifying the System Type
++@node System Types
++@section Specifying a System Type
+ 
+-There may be some features @command{configure} cannot figure out
+-automatically, but needs to determine by the type of machine the package
+-will run on.  Usually, assuming the package is built to be run on the
+-@emph{same} architectures, @command{configure} can figure that out, but
+-if it prints a message saying it cannot guess the machine type, give it
+-the @option{--build=@var{type}} option.  @var{type} can either be a
+-short name like @samp{mingw64} for the system type, or a canonical name
+-like @samp{x86_64-pc-linux-gnu}
+-which has the form:
++The following sections go into details regarding situations where you
++may have to specify a system type, either through the option
++@option{--host=@var{type}}, or through the option
++@option{--build=@var{type}}, or -- in the case of compilers -- through
++@option{--target=@var{type}}.
++
++A system type @var{type} can either be a short name like @samp{mingw64},
++or a canonical name like @samp{x86_64-pc-linux-gnu} which has the form:
+ 
+ @example
+ @var{cpu}-@var{company}-@var{system}
+@@ -291,16 +298,93 @@ where @var{system} can have one of these forms:
+ @noindent
+ See the file @file{config.sub} for the possible values of each field.
+ If @file{config.sub} isn't included in this package, then this package
+-doesn't need to know the machine type.
++doesn't need to know any machine type.
++
++The file @file{config.sub} is a program that validates and canonicalizes
++a system type.
++It can do canonicalization, as in
++
++@example
++$ sh config.sub x86_64-linux
++x86_64-pc-linux-gnu
++$ sh config.sub arm64-linux
++aarch64-unknown-linux-gnu
++@end example
++
++@noindent
++It also validates the parts.  For example, this interaction tells you
++that ``crusoe'' is not a valid cpu architecture name:
+ 
+-If you are @emph{building} compiler tools for cross-compiling, you
+-should use the option @option{--target=@var{type}} to select the type of
+-system they will produce code for.
++@example
++$ sh config.sub crusoe-linux
++Invalid configuration `crusoe-linux': machine `crusoe-unknown' not recognized
++@end example
++
++@node Building for a different system type
++@section Creating binaries for a different system type
++
++When you want to create binaries that will run on a different machine
++type than the one you are building on, you need to specify both
++@itemize @bullet
++@item
++a @option{--host=@var{type}} option, specifying the machine type on
++which the binaries shall run,
++@item
++compiler variables (@code{CC} for the C compiler, @code{CXX} for the C++
++compiler, and so on), pointing to compilers that generate object code
++for that machine type.
++@end itemize
++
++For example, to create binaries intended to run on a 64-bit ARM
++processor:
++@example
++./configure --host=aarch64-linux-gnu \
++            CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++
++@end example
+ 
+-If you want to @emph{use} a cross compiler, that generates code for a
+-platform different from the build platform, you should specify the
+-@dfn{host} platform (i.e., that on which the generated programs will
+-eventually be run) with @option{--host=@var{type}}.
++If you do this on a machine that can execute such binaries (e.g.@: by
++virtue of the @code{qemu-aarch64} program, system libraries for that
++architecture under @code{$QEMU_LD_PREFIX}, and a Linux
++@code{binfmt_misc} configuration), the build behaves like a native
++build.
++If not, the build is a cross-build, in the sense that @code{configure}
++will make cross-compilation guesses instead of running test programs,
++and ``make check'' will not work.
++
++@node Troubleshooting the Build Type
++@section Fixing a ``cannot guess build type'' error
++
++In rare cases, it may happen that @code{configure} fails with the error
++message ``cannot guess build type''.
++This error means that the files @file{config.guess} and
++@file{config.sub} don't recognize the type of the system on which you
++are building.
++In this case, first fetch the newest versions of these files, from
++@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess}
++and
++@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub},
++respectively, and use these as drop-in replacement for the files
++@file{config.guess} and @file{config.sub} that were shipped with this
++package.
++
++If this resolves the problem, feel free to report the solution to the
++maintainers of this package.
++
++Otherwise, it means that your system is not yet supported by
++@file{config.guess} and @file{config.sub}.
++As a workaround, you can use a configure option
++@option{--build=@var{type}}, where @var{type} comes closest to your
++system type.
++Also, you're welcome to file a report to
++@email{config-patches@@gnu.org}.
++
++@node Configuring a Compiler
++@section Configuration options specific to a compiler
++
++If you are building a compiler, and this compiler should generate code
++for a system type that is different from the one on which the compiler
++binaries shall run on, use the option @option{--target=@var{type}} to
++select the type of system for which the compiler should produce code.
+ 
+ @node Sharing Defaults
+ @section Sharing Defaults
+@@ -384,9 +468,9 @@ Use @var{dir} as the installation prefix.  @ref{Installation Names}
+ for more details, including other options available for fine-tuning
+ the installation locations.
+ 
+-@item --build=@var{type}
+-Build for architecture @var{type}.  @ref{System Type}.
+-for more details, including other system type options.
++@item --host=@var{type}
++Build binaries for architecture @var{type}.  @ref{System Types} and
++@ref{Building for a different system type} for more details.
+ 
+ @item --enable-@var{feature}
+ @itemx --disable-@var{feature}
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/backports/0029-Shorten-and-improve-INSTALL.patch b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0029-Shorten-and-improve-INSTALL.patch
new file mode 100644
index 0000000..9129ab7
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/backports/0029-Shorten-and-improve-INSTALL.patch
@@ -0,0 +1,366 @@
+From d8ca8b323873e5cd9d969a062f70b31db450ba53 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Sat, 24 Jun 2023 14:39:34 -0700
+Subject: [PATCH 29/29] Shorten and improve INSTALL
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Rewrite install.texi so that INSTALL is shorter and hopefully
+more useful for new installers.
+* doc/install.texi: When not building the Autoconf manual, put
+copyright notice at the end, and omit external references as they
+do not work in INSTALL.
+Avoid long URLs as they do not work well in INSTALL or
+in info files.  Be more consistent (though not entirely
+consistent) about “system” vs “architecture”.
+(System Types, Building for a different system type)
+(Troubleshooting the Build Type): Coalesce into a single section
+and rewrite for clarity and brevity.  Mention build-aux.  Do not
+mention --target here as it’s too rare to make the cut.
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ doc/install.texi | 224 +++++++++++++++++------------------------------
+ 1 file changed, 82 insertions(+), 142 deletions(-)
+
+diff --git a/doc/install.texi b/doc/install.texi
+index a3ef17828..6c3a9c21c 100644
+--- a/doc/install.texi
++++ b/doc/install.texi
+@@ -2,23 +2,13 @@
+ @c the INSTALL file.
+ 
+ @ifclear autoconf
+-
+ @unnumbered Installation Instructions
+-
+-Copyright @copyright{} 1994--1996, 1999--2002, 2004--2017, 2020--2023
+-Free Software Foundation, Inc.
+-
+-Copying and distribution of this file, with or without modification, are
+-permitted in any medium without royalty provided the copyright notice
+-and this notice are preserved.  This file is offered as-is, without
+-warranty of any kind.
+-
+ @end ifclear
+ 
+ @node Basic Installation
+ @section Basic Installation
+ 
+-Briefly, the following shell commands:
++The following shell commands:
+ 
+ @example
+ test -f configure || ./bootstrap
+@@ -41,8 +31,13 @@ of the features documented below.  The lack of an optional feature in a
+ given package is not necessarily a bug.
+ @end ifclear
+ More recommendations for GNU packages can be found in
++@ifset autoconf
+ @ref{Makefile Conventions, , Makefile Conventions, standards,
+ GNU Coding Standards}.
++@end ifset
++@ifclear autoconf
++the GNU Coding Standards.
++@end ifclear
+ 
+ If the @command{bootstrap} shell script exists, it attempts to build the
+ @command{configure} shell script and related files, perhaps by
+@@ -61,8 +56,8 @@ those values to create a @file{Makefile} in each directory of the
+ package.  It may also create one or more @file{.h} files containing
+ system-dependent definitions.  Finally, it creates a shell script
+ @file{config.status} that you can run in the future to recreate the
+-current configuration, and a file @file{config.log} containing compiler
+-output (useful mainly for debugging @command{configure}).
++current configuration, and a file @file{config.log} containing
++output useful for debugging @command{configure}.
+ 
+ It can also use an optional file (typically called @file{config.cache}
+ and enabled with @option{--cache-file=config.cache} or simply
+@@ -77,10 +72,9 @@ they can be considered for the next release.  If you are using the
+ cache, and at some point @file{config.cache} contains results you don't
+ want to keep, you may remove or edit it.
+ 
+-The file @file{configure.ac} (or @file{configure.in}) is used to create
+-@file{configure} by a program called @command{autoconf}.  You need
+-@file{configure.ac} if you want to change it or regenerate
+-@file{configure} using a newer version of @command{autoconf}.
++The @command{autoconf} program generates @file{configure} from the file
++@file{configure.ac}.  Normally you should edit @file{configure.ac}
++instead of editing @file{configure} directly.
+ 
+ The simplest way to compile this package is:
+ 
+@@ -95,8 +89,7 @@ You may need special developer tools and network access to bootstrap.
+ 
+ @item
+ Type @samp{./configure} to configure the package for your system.
+-
+-Running @command{configure} might take a while.  While running, it prints some
++This might take a while.  While running, @command{configure} prints
+ messages telling which features it is checking for.
+ 
+ @item
+@@ -125,21 +118,11 @@ code directory by typing @samp{make clean}.  To also remove the files
+ that @command{configure} created (so you can compile the package for a
+ different kind of computer), type @samp{make distclean}.  There is also
+ a @samp{make maintainer-clean} target, but that is intended mainly for
+-the package's developers.  If you use it, you may have to get all sorts
+-of other programs in order to regenerate files that came with the
+-distribution.
++the package's developers.  If you use it, you may have to bootstrap again.
+ 
+ @item
+-Often, you can also type @samp{make uninstall} to remove the installed
+-files again.  In practice, not all packages have tested that
+-uninstallation works correctly, even though it is required by the
+-GNU Coding Standards.
+-
+-@item
+-Some packages, particularly those that use Automake, provide @samp{make
+-distcheck}, which can by used by developers to test that all other
+-targets like @samp{make install} and @samp{make uninstall} work
+-correctly.  This target is generally not run by end users.
++If the package follows the GNU Coding Standards,
++you can type @samp{make uninstall} to remove the installed files.
+ @end enumerate
+ 
+ @node Compilers and Options
+@@ -158,21 +141,17 @@ Here is an example:
+ @end example
+ 
+ See
+-@ref{Defining Variables} and
++@ref{Defining Variables}
+ @ifset autoconf
+-@ref{Preset Output Variables}
++and @ref{Preset Output Variables}
+ @end ifset
+-@ifclear autoconf
+-@ref{Preset Output Variables,,, autoconf, Autoconf}
+-@c (@url{https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/html_node/Preset-Output-Variables.html})
+-@end ifclear
+ for more details.
+ 
+ @node Multiple Architectures
+ @section Compiling For Multiple Architectures
+ 
+ You can compile the package for more than one kind of computer at the
+-same time, by placing the object files for each architecture in their
++same time, by placing the object files for each system in their
+ own directory.  To do this, you can use GNU @command{make}.
+ @command{cd} to the directory where you want the object files and
+ executables to go and run the @command{configure} script.
+@@ -182,9 +161,9 @@ known as a @dfn{VPATH} build.
+ 
+ With a non-GNU @command{make},
+ it is safer to compile the package for one
+-architecture at a time in the source code directory.  After you have
+-installed the package for one architecture, use @samp{make distclean}
+-before reconfiguring for another architecture.
++system at a time in the source code directory.  After you have
++installed the package for one system, use @samp{make distclean}
++before reconfiguring for another system.
+ 
+ Some platforms, notably macOS, support ``fat'' or ``universal'' binaries,
+ where a single binary can execute on different architectures.
+@@ -274,117 +253,65 @@ which can be overridden with @code{make V=0}.
+ @node System Types
+ @section Specifying a System Type
+ 
+-The following sections go into details regarding situations where you
+-may have to specify a system type, either through the option
+-@option{--host=@var{type}}, or through the option
+-@option{--build=@var{type}}, or -- in the case of compilers -- through
+-@option{--target=@var{type}}.
+-
+-A system type @var{type} can either be a short name like @samp{mingw64},
+-or a canonical name like @samp{x86_64-pc-linux-gnu} which has the form:
+-
+-@example
+-@var{cpu}-@var{company}-@var{system}
+-@end example
+-
+-@noindent
+-where @var{system} can have one of these forms:
++By default @command{configure} builds for the current system.
++To create binaries that can run on a different system type,
++specify a @option{--host=@var{type}} option along with compiler
++variables that specify how to generate object code for @var{type}.
++For example, to create binaries intended to run on a 64-bit ARM
++processor:
+ 
+ @example
+-@var{os}
+-@var{kernel}-@var{os}
++./configure --host=aarch64-linux-gnu \
++   CC=aarch64-linux-gnu-gcc \
++   CXX=aarch64-linux-gnu-g++
+ @end example
+ 
+ @noindent
+-See the file @file{config.sub} for the possible values of each field.
+-If @file{config.sub} isn't included in this package, then this package
+-doesn't need to know any machine type.
+-
+-The file @file{config.sub} is a program that validates and canonicalizes
+-a system type.
+-It can do canonicalization, as in
++If done on a machine that can execute these binaries
++(e.g., via @command{qemu-aarch64}, @env{$QEMU_LD_PREFIX}, and Linux's
++@code{binfmt_misc} capability), the build behaves like a native build.
++Otherwise it is a cross-build: @code{configure}
++will make cross-compilation guesses instead of running test programs,
++and @code{make check} will not work.
++
++A system type can either be a short name like @samp{mingw64},
++or a canonical name like @samp{x86_64-pc-linux-gnu}.
++Canonical names have the form @var{cpu}-@var{company}-@var{system}
++where @var{system} is either @var{os} or @var{kernel}-@var{os}.
++To canonicalize and validate a system type,
++you can run the command @file{config.sub},
++which is often squirreled away in a subdirectory like @file{build-aux}.
++For example:
+ 
+ @example
+-$ sh config.sub x86_64-linux
+-x86_64-pc-linux-gnu
+-$ sh config.sub arm64-linux
++$ build-aux/config.sub arm64-linux
+ aarch64-unknown-linux-gnu
++$ build-aux/config.sub riscv-lnx
++Invalid configuration 'riscv-lnx': OS 'lnx' not recognized
+ @end example
+ 
+ @noindent
+-It also validates the parts.  For example, this interaction tells you
+-that ``crusoe'' is not a valid cpu architecture name:
+-
+-@example
+-$ sh config.sub crusoe-linux
+-Invalid configuration `crusoe-linux': machine `crusoe-unknown' not recognized
+-@end example
+-
+-@node Building for a different system type
+-@section Creating binaries for a different system type
+-
+-When you want to create binaries that will run on a different machine
+-type than the one you are building on, you need to specify both
+-@itemize @bullet
+-@item
+-a @option{--host=@var{type}} option, specifying the machine type on
+-which the binaries shall run,
+-@item
+-compiler variables (@code{CC} for the C compiler, @code{CXX} for the C++
+-compiler, and so on), pointing to compilers that generate object code
+-for that machine type.
+-@end itemize
+-
+-For example, to create binaries intended to run on a 64-bit ARM
+-processor:
+-@example
+-./configure --host=aarch64-linux-gnu \
+-            CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++
+-@end example
+-
+-If you do this on a machine that can execute such binaries (e.g.@: by
+-virtue of the @code{qemu-aarch64} program, system libraries for that
+-architecture under @code{$QEMU_LD_PREFIX}, and a Linux
+-@code{binfmt_misc} configuration), the build behaves like a native
+-build.
+-If not, the build is a cross-build, in the sense that @code{configure}
+-will make cross-compilation guesses instead of running test programs,
+-and ``make check'' will not work.
+-
+-@node Troubleshooting the Build Type
+-@section Fixing a ``cannot guess build type'' error
+-
+-In rare cases, it may happen that @code{configure} fails with the error
+-message ``cannot guess build type''.
+-This error means that the files @file{config.guess} and
+-@file{config.sub} don't recognize the type of the system on which you
+-are building.
+-In this case, first fetch the newest versions of these files, from
+-@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess}
+-and
+-@url{https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub},
+-respectively, and use these as drop-in replacement for the files
+-@file{config.guess} and @file{config.sub} that were shipped with this
+-package.
+-
+-If this resolves the problem, feel free to report the solution to the
+-maintainers of this package.
+-
+-Otherwise, it means that your system is not yet supported by
+-@file{config.guess} and @file{config.sub}.
+-As a workaround, you can use a configure option
+-@option{--build=@var{type}}, where @var{type} comes closest to your
+-system type.
+-Also, you're welcome to file a report to
++You can look at the @file{config.sub} file to see which types are recognized.
++If the file is absent, this package does not need the system type.
++
++If @command{configure} fails with the diagnostic ``cannot guess build type''.
++@file{config.sub} did not recognize your system's type.
++In this case, first fetch the newest versions of these files
++from the @url{https://savannah.gnu.org/projects/config, GNU config package}.
++If that fixes things, please report it to the
++maintainers of the package containing @command{configure}.
++Otherwise, you can try the configure option
++@option{--build=@var{type}} where @var{type} comes close to your
++system type; also, please report the problem to
+ @email{config-patches@@gnu.org}.
+ 
+-@node Configuring a Compiler
+-@section Configuration options specific to a compiler
+-
+-If you are building a compiler, and this compiler should generate code
+-for a system type that is different from the one on which the compiler
+-binaries shall run on, use the option @option{--target=@var{type}} to
+-select the type of system for which the compiler should produce code.
++For more details about configuring system types, see
++@ifset autoconf
++@ref{Manual Configuration}.
++@end ifset
++@ifclear autoconf
++the Autoconf documentation.
++@end ifclear
+ 
+ @node Sharing Defaults
+ @section Sharing Defaults
+@@ -469,8 +396,8 @@ for more details, including other options available for fine-tuning
+ the installation locations.
+ 
+ @item --host=@var{type}
+-Build binaries for architecture @var{type}.  @ref{System Types} and
+-@ref{Building for a different system type} for more details.
++Build binaries for system @var{type}.
++@xref{System Types}.
+ 
+ @item --enable-@var{feature}
+ @itemx --disable-@var{feature}
+@@ -497,6 +424,19 @@ Run the configure checks, but stop before creating any output files.
+ and accepts some other, less widely useful, options.
+ Run @samp{configure --help} for more details.
+ 
++@ifclear autoconf
++@node Copyright notice
++@section Copyright notice
++
++Copyright @copyright{} 1994--1996, 1999--2002, 2004--2017, 2020--2023
++Free Software Foundation, Inc.
++
++Copying and distribution of this file, with or without modification, are
++permitted in any medium without royalty provided the copyright notice
++and this notice are preserved.  This file is offered as-is, without
++warranty of any kind.
++@end ifclear
++
+ @c Local Variables:
+ @c fill-column: 72
+ @c ispell-local-dictionary: "american"
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf_2.71.bb b/poky/meta/recipes-devtools/autoconf/autoconf_2.71.bb
deleted file mode 100644
index 97c241a..0000000
--- a/poky/meta/recipes-devtools/autoconf/autoconf_2.71.bb
+++ /dev/null
@@ -1,82 +0,0 @@
-SUMMARY = "A GNU tool that produce shell scripts to automatically configure software"
-DESCRIPTION = "Autoconf is an extensible package of M4 macros that produce shell scripts to automatically \ 
-configure software source code packages. Autoconf creates a configuration script for a package from a template \
-file that lists the operating system features that the package can use, in the form of M4 macro calls."
-LICENSE = "GPL-3.0-or-later"
-HOMEPAGE = "http://www.gnu.org/software/autoconf/"
-SECTION = "devel"
-DEPENDS = "m4-native autoconf-native automake-native gnu-config-native help2man-native"
-DEPENDS:remove:class-native = "autoconf-native automake-native help2man-native"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=cc3f3a7596cb558bbd9eb7fbaa3ef16c \
-		    file://COPYINGv3;md5=1ebbd3e34237af26da5dc08a4e440464"
-
-SRC_URI = "${GNU_MIRROR}/autoconf/${BP}.tar.gz \
-           file://program_prefix.patch \
-           file://autoreconf-exclude.patch \
-           file://remove-usr-local-lib-from-m4.patch \
-           file://preferbash.patch \
-           file://autotest-automake-result-format.patch \
-           file://man-host-perl.patch \
-           file://0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch \
-           "
-SRC_URI:append:class-native = " file://no-man.patch"
-
-SRC_URI[sha256sum] = "431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c"
-
-RDEPENDS:${PN} = "m4 gnu-config \
-		  perl \
-		  perl-module-bytes \
-		  perl-module-carp \
-		  perl-module-constant \
-		  perl-module-data-dumper \
-		  perl-module-errno \
-		  perl-module-exporter \
-		  perl-module-file-basename \
-		  perl-module-file-compare \
-		  perl-module-file-copy \
-		  perl-module-file-find \
-		  perl-module-file-glob \
-		  perl-module-file-path \
-		  perl-module-file-spec \
-		  perl-module-file-spec-unix \
-		  perl-module-file-stat \
-                  perl-module-file-temp \
-		  perl-module-getopt-long \
-		  perl-module-io-file \
-                  perl-module-list-util \
-		  perl-module-overloading \
-		  perl-module-posix \
-                  perl-module-scalar-util \
-		  perl-module-symbol \
-		  perl-module-thread-queue \
-		  perl-module-threads \
-		 "
-RDEPENDS:${PN}:class-native = "m4-native gnu-config-native hostperl-runtime-native"
-
-inherit autotools texinfo
-
-PERL = "${USRBINPATH}/perl"
-PERL:class-native = "/usr/bin/env perl"
-PERL:class-nativesdk = "/usr/bin/env perl"
-
-CACHED_CONFIGUREVARS += "ac_cv_path_PERL='${PERL}'"
-
-EXTRA_OECONF += "ac_cv_path_M4=m4 ac_cv_prog_TEST_EMACS=no"
-
-# As autoconf installs its own config.* files, ensure that they're always up to date.
-update_gnu_config() {
-	install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/build-aux
-	install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/build-aux
-}
-do_configure[prefuncs] += "update_gnu_config"
-
-do_configure:class-native() {
-	oe_runconf
-}
-
-do_install:append() {
-    rm -rf ${D}${datadir}/emacs
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf_2.72c.bb b/poky/meta/recipes-devtools/autoconf/autoconf_2.72c.bb
new file mode 100644
index 0000000..76130d5
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf/autoconf_2.72c.bb
@@ -0,0 +1,114 @@
+SUMMARY = "A GNU tool that produce shell scripts to automatically configure software"
+DESCRIPTION = "Autoconf is an extensible package of M4 macros that produce shell scripts to automatically \ 
+configure software source code packages. Autoconf creates a configuration script for a package from a template \
+file that lists the operating system features that the package can use, in the form of M4 macro calls."
+LICENSE = "GPL-3.0-or-later"
+HOMEPAGE = "http://www.gnu.org/software/autoconf/"
+SECTION = "devel"
+DEPENDS = "m4-native autoconf-native automake-native gnu-config-native help2man-native"
+DEPENDS:remove:class-native = "autoconf-native automake-native help2man-native"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=cc3f3a7596cb558bbd9eb7fbaa3ef16c \
+		    file://COPYINGv3;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+SRC_URI = " \
+           https://alpha.gnu.org/gnu/autoconf/autoconf-2.72c.tar.gz \
+           file://program_prefix.patch \
+           file://autoreconf-exclude.patch \
+           file://remove-usr-local-lib-from-m4.patch \
+           file://preferbash.patch \
+           file://autotest-automake-result-format.patch \
+           file://man-host-perl.patch \
+	   ${BACKPORTS} \
+"
+SRC_URI:append:class-native = " file://no-man.patch"
+
+BACKPORTS = "\
+           file://backports/0001-mention-prototypes-more-prominently-in-NEWS.patch \
+           file://backports/0002-build-run-make-fetch-which-updated-these.patch \
+           file://backports/0003-NEWS-Tighten-up-wording.patch \
+           file://backports/0004-Cater-to-programs-misusing-AC_EGREP_HEADER.patch \
+           file://backports/0006-Fix-timing-bug-on-high-speed-builds.patch \
+           file://backports/0007-Support-underquoted-callers-better.patch \
+           file://backports/0008-New-script-for-building-inside-Guix-containers.patch \
+           file://backports/0009-AC_XENIX_DIR-Rewrite-using-AC_CANONICAL_HOST.patch \
+           file://backports/0010-AC_TYPE_UID_T-Rewrite-using-AC_CHECK_TYPE.patch \
+           file://backports/0011-Make-AC_PROG_GCC_TRADITIONAL-a-compatibility-alias-f.patch \
+           file://backports/0012-Overhaul-AC_TYPE_GETGROUPS-and-AC_FUNC_GETGROUPS.patch \
+           file://backports/0013-Fold-AC_C_STRINGIZE-into-AC_PROG_CC.patch \
+           file://backports/0014-Remove-the-last-few-internal-uses-of-AC_EGREP_CPP.patch \
+           file://backports/0015-Support-circa-early-2022-Gnulib.patch \
+           file://backports/0016-Improve-year2038-largefile-option-processing.patch \
+           file://backports/0017-AC_SYS_YEAR2038-Fix-configure-failure-on-32-bit-ming.patch \
+           file://backports/0018-Document-limitation-of-BusyBox-tr.patch \
+           file://backports/0019-AC_SYS_YEAR2038_REQUIRED-Fix-configure-failure-with-.patch \
+           file://backports/0020-Tone-down-year-2038-changes.patch \
+           file://backports/0021-Port-AC_FUNC_MMAP-to-more-modern-systems.patch \
+           file://backports/0022-Fix-port-of-AC_FUNC_MMAP.patch \
+           file://backports/0023-Improve-AC_SYS_YEAR2038_RECOMMENDED-diagnostic.patch \
+           file://backports/0024-Improve-AC_FUNC_MMAP-comments.patch \
+           file://backports/0025-Fix-AC_SYS_LARGEFILE-on-GNU-Linux-alpha-s390x.patch \
+           file://backports/0026-Modernize-INSTALL.patch \
+           file://backports/0027-doc-fix-broken-cross-refs.patch \
+           file://backports/0028-INSTALL-Clarify-build-host-target-and-the-system-typ.patch \
+           file://backports/0029-Shorten-and-improve-INSTALL.patch \
+"
+
+SRC_URI[sha256sum] = "21b64169c820c6cdf27fc981ca9c2fb615546e5dead92bccf8d92d0784cdd364"
+
+RDEPENDS:${PN} = "m4 gnu-config \
+		  perl \
+		  perl-module-bytes \
+		  perl-module-carp \
+		  perl-module-constant \
+		  perl-module-data-dumper \
+		  perl-module-errno \
+		  perl-module-exporter \
+		  perl-module-file-basename \
+		  perl-module-file-compare \
+		  perl-module-file-copy \
+		  perl-module-file-find \
+		  perl-module-file-glob \
+		  perl-module-file-path \
+		  perl-module-file-spec \
+		  perl-module-file-spec-unix \
+		  perl-module-file-stat \
+                  perl-module-file-temp \
+		  perl-module-getopt-long \
+		  perl-module-io-file \
+                  perl-module-list-util \
+		  perl-module-overloading \
+		  perl-module-posix \
+                  perl-module-scalar-util \
+		  perl-module-symbol \
+		  perl-module-thread-queue \
+		  perl-module-threads \
+		 "
+RDEPENDS:${PN}:class-native = "m4-native gnu-config-native hostperl-runtime-native"
+
+inherit autotools texinfo
+
+PERL = "${USRBINPATH}/perl"
+PERL:class-native = "/usr/bin/env perl"
+PERL:class-nativesdk = "/usr/bin/env perl"
+
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='${PERL}'"
+
+EXTRA_OECONF += "ac_cv_path_M4=m4 ac_cv_prog_TEST_EMACS=no"
+
+# As autoconf installs its own config.* files, ensure that they're always up to date.
+update_gnu_config() {
+	install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/build-aux
+	install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/build-aux
+}
+do_configure[prefuncs] += "update_gnu_config"
+
+do_configure:class-native() {
+	oe_runconf
+}
+
+do_install:append() {
+    rm -rf ${D}${datadir}/emacs
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.40.inc b/poky/meta/recipes-devtools/binutils/binutils-2.41.inc
similarity index 79%
rename from poky/meta/recipes-devtools/binutils/binutils-2.40.inc
rename to poky/meta/recipes-devtools/binutils/binutils-2.41.inc
index dea68ee..7ab2926 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-2.40.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.41.inc
@@ -10,15 +10,15 @@
     file://bfd/COPYING;md5=d32239bcb673463ab874e80d47fae504\
     "
 
-# When upgrading to 2.41, please make sure there is no trailing .0, so
+# When upgrading to 2.42, please make sure there is no trailing .0, so
 # that upstream version check can work correctly.
-PV = "2.40"
-CVE_VERSION = "2.40"
-SRCBRANCH ?= "binutils-2_40-branch"
+PV = "2.41"
+CVE_VERSION = "2.41"
+SRCBRANCH ?= "binutils-2_41-branch"
 
 UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
 
-SRCREV ?= "4671be001eb5a899ecac3e2686a92934000f8262"
+SRCREV ?= "fd3cc73ee4a84df3ace3c0e470250a957e7d3468"
 BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${SRCBRANCH};protocol=https"
 SRC_URI = "\
      ${BINUTILS_GIT_URI} \
@@ -32,9 +32,7 @@
      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 \
      file://0013-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \
-     file://0015-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch \
-     file://0016-CVE-2023-25586.patch \
-     file://fix-time64.patch \
-     file://0001-Fix-an-illegal-memory-access-when-an-accessing-a-zer.patch \
+     file://0014-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch \
+     file://0015-gprofng-Fix-build-with-64bit-file-offset-on-32bit-ma.patch \
 "
 S  = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.40.bb b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.41.bb
similarity index 100%
rename from poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.40.bb
rename to poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.41.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.40.bb b/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.41.bb
similarity index 100%
rename from poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.40.bb
rename to poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.41.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross_2.40.bb b/poky/meta/recipes-devtools/binutils/binutils-cross_2.41.bb
similarity index 100%
rename from poky/meta/recipes-devtools/binutils/binutils-cross_2.40.bb
rename to poky/meta/recipes-devtools/binutils/binutils-cross_2.41.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.40.bb b/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.41.bb
similarity index 100%
rename from poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.40.bb
rename to poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.41.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0001-Fix-an-illegal-memory-access-when-an-accessing-a-zer.patch b/poky/meta/recipes-devtools/binutils/binutils/0001-Fix-an-illegal-memory-access-when-an-accessing-a-zer.patch
deleted file mode 100644
index 31157ca..0000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0001-Fix-an-illegal-memory-access-when-an-accessing-a-zer.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Thu, 30 Mar 2023 10:10:09 +0100
-Subject: [PATCH] Fix an illegal memory access when an accessing a
- zer0-lengthverdef table.
-
-  PR 30285
-  * elf.c (_bfd_elf_slurp_version_tables): Fail if no version definitions are allocated.
-
-CVE: CVE-2023-1972
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- bfd/ChangeLog | 6 ++++++
- bfd/elf.c     | 5 +++++
- 2 files changed, 11 insertions(+)
-
-diff --git a/bfd/elf.c b/bfd/elf.c
-index 027d0143735..185028cbd97 100644
---- a/bfd/elf.c
-+++ b/bfd/elf.c
-@@ -9030,6 +9030,9 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
- 	  bfd_set_error (bfd_error_file_too_big);
- 	  goto error_return_verdef;
- 	}
-+
-+      if (amt == 0)
-+	goto error_return_verdef;
-       elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
-       if (elf_tdata (abfd)->verdef == NULL)
- 	goto error_return_verdef;
-@@ -9133,6 +9136,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
- 	  bfd_set_error (bfd_error_file_too_big);
- 	  goto error_return;
- 	}
-+      if (amt == 0)
-+	goto error_return;
-       elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
-       if (elf_tdata (abfd)->verdef == NULL)
- 	goto error_return;
--- 
-2.34.1
-
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 ca24983..ef7e1c4 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 4bdab425bdd7dc52c95bfd62e035c1b9abe9595e Mon Sep 17 00:00:00 2001
+From 95e23fba624c90d0e62c1adaf2bcc4f3cd3175c0 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
@@ -21,10 +21,10 @@
  3 files changed, 6 insertions(+), 3 deletions(-)
 
 diff --git a/gold/layout.cc b/gold/layout.cc
-index 899d4af0707..7c31b1bef6e 100644
+index b94855f8662..51f2d74d79d 100644
 --- a/gold/layout.cc
 +++ b/gold/layout.cc
-@@ -5083,7 +5083,7 @@ Layout::create_interp(const Target* target)
+@@ -5102,7 +5102,7 @@ Layout::create_interp(const Target* target)
        gold_assert(interp != NULL);
      }
  
@@ -59,7 +59,7 @@
  DATA_ALIGNMENT=${DATA_ALIGNMENT_}
  RELOCATING=" "
 diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
-index 5d3b0d31b1b..2163909cd56 100644
+index 1e3c5aa8504..b8d1977b3f0 100644
 --- a/ld/scripttempl/elf.sc
 +++ b/ld/scripttempl/elf.sc
 @@ -148,8 +148,8 @@ if test -z "$DATA_SEGMENT_ALIGN"; then
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 663dc4a..3ea6923 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 c79005d4d9991593557766ad569f48c26482399f Mon Sep 17 00:00:00 2001
+From 2b3017e7dab4d929d3ab664c5e6f94226b0a6d31 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 f46116f..ace279b 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 70da8b91026c5381d430194910fc15e3b6c5ec7f Mon Sep 17 00:00:00 2001
+From c00ead7264dc1335cb43222cb742b95614666be8 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 @@
  5 files changed, 7 insertions(+), 3 deletions(-)
 
 diff --git a/ld/Makefile.am b/ld/Makefile.am
-index b3195b4be68..fc6460317a7 100644
+index c3adbb0ccad..ce0f7e7f85d 100644
 --- a/ld/Makefile.am
 +++ b/ld/Makefile.am
 @@ -42,7 +42,8 @@ ZLIBINC = @zlibinc@
@@ -43,7 +43,7 @@
  NO_WERROR = @NO_WERROR@
  AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS)
 diff --git a/ld/Makefile.in b/ld/Makefile.in
-index fe422569228..4a4c851b44a 100644
+index d1a56026437..9d86aed12c6 100644
 --- a/ld/Makefile.in
 +++ b/ld/Makefile.in
 @@ -566,7 +566,8 @@ ZLIB = @zlibdir@ -lz
@@ -57,7 +57,7 @@
  AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS)
  
 diff --git a/ld/ldelf.c b/ld/ldelf.c
-index eff6693e052..95787012b89 100644
+index f9a6819366f..1519f8ac4e5 100644
 --- a/ld/ldelf.c
 +++ b/ld/ldelf.c
 @@ -936,7 +936,7 @@ ldelf_check_ld_so_conf (const struct bfd_link_needed_list *l, int force,
@@ -65,15 +65,15 @@
        info.path = NULL;
        info.len = info.alloc = 0;
 -      tmppath = concat (ld_sysroot, prefix, "/etc/ld.so.conf",
-+      tmppath = concat (ld_sysconfdir, "/etc/ld.so.conf",
++      tmppath = concat (ld_sysconfdir, "/ld.so.conf",
  			(const char *) NULL);
        if (!ldelf_parse_ld_so_conf (&info, tmppath))
  	{
 diff --git a/ld/ldmain.c b/ld/ldmain.c
-index 9290a189b0d..ceaca2d85d0 100644
+index 06ac2c64fa8..5c38e8cd313 100644
 --- a/ld/ldmain.c
 +++ b/ld/ldmain.c
-@@ -70,6 +70,7 @@ char *program_name;
+@@ -69,6 +69,7 @@ char *program_name;
  
  /* The prefix for system library directories.  */
  const char *ld_sysroot;
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 e7d2593..0747e40 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 fa477bb947fa17543f4550bc0e7e715c8355649c Mon Sep 17 00:00:00 2001
+From d2d1281b0b76f96c64a2043772c52c85f58994d5 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,7 +12,7 @@
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/ld/Makefile.am b/ld/Makefile.am
-index fc6460317a7..1b875904b8d 100644
+index ce0f7e7f85d..2e36ab4efc4 100644
 --- a/ld/Makefile.am
 +++ b/ld/Makefile.am
 @@ -51,7 +51,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS)
@@ -25,7 +25,7 @@
  EMUL = @EMUL@
  EMULATION_OFILES = @EMULATION_OFILES@
 diff --git a/ld/Makefile.in b/ld/Makefile.in
-index 4a4c851b44a..08dcd7b75fc 100644
+index 9d86aed12c6..c21c554e432 100644
 --- a/ld/Makefile.in
 +++ b/ld/Makefile.in
 @@ -574,7 +574,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS)
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0005-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 7242f48..9fe8b73 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0005-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 7912f5a918e612950feb04d845934f26160e85da Mon Sep 17 00:00:00 2001
+From 5564cdf1433255a00acb427fb5b0656b772b2651 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/0006-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 87bbe9f..9b09ec0 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0006-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 725ca09ee1041f64589f26ba815ef11da687c608 Mon Sep 17 00:00:00 2001
+From 41b09c6a9d78a31db0f3c70d27c05475292bde7e 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
@@ -59,8 +59,8 @@
  ld/ldfile.c     | 17 +++++++++++++++++
  ld/ldlex.h      |  2 ++
  ld/ldmain.c     |  6 ++++--
- ld/lexsup.c     | 16 ++++++++++++++++
- 9 files changed, 88 insertions(+), 2 deletions(-)
+ ld/lexsup.c     | 15 +++++++++++++++
+ 9 files changed, 87 insertions(+), 2 deletions(-)
 
 diff --git a/ld/config.in b/ld/config.in
 index ad0dc6a106c..d21edaddce7 100644
@@ -77,7 +77,7 @@
  #undef EXTRA_SHLIB_EXTENSION
  
 diff --git a/ld/configure b/ld/configure
-index 995708089fd..6406a42c442 100755
+index 1503936432f..29896853a90 100755
 --- a/ld/configure
 +++ b/ld/configure
 @@ -839,6 +839,7 @@ with_lib_path
@@ -139,7 +139,7 @@
  dnl "install_as_default" is set to false if gold is the default linker.
  dnl "installed_linker" is the installed BFD linker name.
 diff --git a/ld/ld.h b/ld/ld.h
-index 05649ff61b8..1818c227473 100644
+index a0f8a15c7a9..e3db345f3a5 100644
 --- a/ld/ld.h
 +++ b/ld/ld.h
 @@ -163,6 +163,14 @@ typedef struct
@@ -158,10 +158,10 @@
    enum endian_enum endian;
  
 diff --git a/ld/ld.texi b/ld/ld.texi
-index db3a9f09b45..77037399cb9 100644
+index aa8b1aa86eb..9bc4bc28823 100644
 --- a/ld/ld.texi
 +++ b/ld/ld.texi
-@@ -2960,6 +2960,18 @@ creation of the metadata note, if one had been enabled by an earlier
+@@ -3059,6 +3059,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.
@@ -181,10 +181,10 @@
  
  @c man end
 diff --git a/ld/ldfile.c b/ld/ldfile.c
-index b8fd4e5d8e0..1f1d8e23bc9 100644
+index df7c9cbd65e..0c965593225 100644
 --- a/ld/ldfile.c
 +++ b/ld/ldfile.c
-@@ -117,6 +117,23 @@ ldfile_add_library_path (const char *name, bool cmdline)
+@@ -327,6 +327,23 @@ ldfile_add_library_path (const char *name, bool cmdline)
      new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL);
    else
      new_dirs->name = xstrdup (name);
@@ -209,23 +209,23 @@
  
  /* Try to open a BFD for a lang_input_statement.  */
 diff --git a/ld/ldlex.h b/ld/ldlex.h
-index 0538f0a06a1..f94a71875d8 100644
+index 87cac02141d..d1a478fb827 100644
 --- a/ld/ldlex.h
 +++ b/ld/ldlex.h
-@@ -170,6 +170,8 @@ enum option_values
-   OPTION_NO_WARN_EXECSTACK,
-   OPTION_WARN_RWX_SEGMENTS,
-   OPTION_NO_WARN_RWX_SEGMENTS,
+@@ -147,6 +147,8 @@ enum option_values
+   OPTION_PLUGIN,
+   OPTION_PLUGIN_OPT,
+ #endif /* BFD_SUPPORTS_PLUGINS */
 +  OPTION_NO_POISON_SYSTEM_DIRECTORIES,
 +  OPTION_ERROR_POISON_SYSTEM_DIRECTORIES,
- };
- 
- /* The initial parser states.  */
+   OPTION_DEFAULT_SCRIPT,
+   OPTION_PRINT_OUTPUT_FORMAT,
+   OPTION_PRINT_SYSROOT,
 diff --git a/ld/ldmain.c b/ld/ldmain.c
-index ceaca2d85d0..62e7b4e5341 100644
+index 5c38e8cd313..04eed320aca 100644
 --- a/ld/ldmain.c
 +++ b/ld/ldmain.c
-@@ -322,6 +322,8 @@ main (int argc, char **argv)
+@@ -326,6 +326,8 @@ main (int argc, char **argv)
    command_line.warn_mismatch = true;
    command_line.warn_search_mismatch = true;
    command_line.check_section_addresses = -1;
@@ -234,7 +234,7 @@
  
    /* We initialize DEMANGLING based on the environment variable
       COLLECT_NO_DEMANGLE.  The gcc collect2 program will demangle the
-@@ -1454,7 +1456,7 @@ undefined_symbol (struct bfd_link_info *info,
+@@ -1458,7 +1460,7 @@ undefined_symbol (struct bfd_link_info *info,
        argv[1] = "undefined-symbol";
        argv[2] = (char *) name;
        argv[3] = NULL;
@@ -243,7 +243,7 @@
        if (verbose)
  	einfo (_("%P: About to run error handling script '%s' with arguments: '%s' '%s'\n"),
  	       argv[0], argv[1], argv[2]);
-@@ -1475,7 +1477,7 @@ undefined_symbol (struct bfd_link_info *info,
+@@ -1479,7 +1481,7 @@ undefined_symbol (struct bfd_link_info *info,
  	 carry on to issue the normal error message.  */
      }
  #endif /* SUPPORT_ERROR_HANDLING_SCRIPT */
@@ -253,10 +253,10 @@
      {
        if (error_count < MAX_ERRORS_IN_A_ROW)
 diff --git a/ld/lexsup.c b/ld/lexsup.c
-index a1c6140100d..d47ba4f977d 100644
+index fe8722313fe..1df7af3ccaa 100644
 --- a/ld/lexsup.c
 +++ b/ld/lexsup.c
-@@ -613,6 +613,14 @@ static const struct ld_option ld_options[] =
+@@ -629,6 +629,14 @@ static const struct ld_option ld_options[] =
  		   "                                <method> is: share-unconflicted (default),\n"
  		   "                                             share-duplicated"),
      TWO_DASHES },
@@ -271,18 +271,17 @@
  };
  
  #define OPTION_COUNT ARRAY_SIZE (ld_options)
-@@ -1737,6 +1745,14 @@ parse_args (unsigned argc, char **argv)
- 	  config.print_map_discarded = true;
- 	  break;
+@@ -1787,6 +1795,13 @@ parse_args (unsigned argc, char **argv)
  
+ 	case OPTION_PRINT_MAP_LOCALS:
+ 	  config.print_map_locals = true;
++
 +	case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
 +	  command_line.poison_system_directories = false;
 +	  break;
 +
 +	case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
 +	  command_line.error_poison_system_directories = true;
-+	  break;
-+
- 	case OPTION_DEPENDENCY_FILE:
- 	  config.dependency_file = optarg;
  	  break;
+ 
+ 	case OPTION_DEPENDENCY_FILE:
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0007-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 fdd1f77..d399790 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0007-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 4e9d4ace8a340399aeaa8332e2cfbfcc7d2d14d7 Mon Sep 17 00:00:00 2001
+From 7f04e82ac2ded9a7f68dba9fabf1251d680bd0b9 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
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0008-Use-libtool-2.4.patch b/poky/meta/recipes-devtools/binutils/binutils/0008-Use-libtool-2.4.patch
index 0be871f..432c431 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0008-Use-libtool-2.4.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0008-Use-libtool-2.4.patch
@@ -1,4 +1,4 @@
-From a66b1806350a9bed7b188c7d115991f6cdee51a9 Mon Sep 17 00:00:00 2001
+From 8fc55f06d8950607f22e81f51c67dd4e6b4f6742 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
@@ -27,11 +27,12 @@
  gprofng/src/Makefile.in             |    2 +
  ld/Makefile.in                      |    3 +
  ld/configure                        | 1704 ++++++++++++----
- libbacktrace/Makefile.in            |    3 +
- libbacktrace/configure              | 1331 +++++++++---
+ libbacktrace/Makefile.in            |  108 +-
+ libbacktrace/aclocal.m4             |   73 +-
+ libbacktrace/configure              | 1441 +++++++++----
  libctf/Makefile.in                  |    2 +
  libctf/configure                    | 1330 +++++++++---
- libsframe/Makefile.in               |  249 ++-
+ libsframe/Makefile.in               |  344 ++--
  libsframe/aclocal.m4                |  220 +-
  libsframe/configure                 | 1553 ++++++++++----
  libtool.m4                          | 1093 ++++++----
@@ -41,17 +42,15 @@
  lt~obsolete.m4                      |    2 +-
  opcodes/Makefile.in                 |    3 +
  opcodes/configure                   | 1331 +++++++++---
- sim/Makefile.in                     |    3 +
- sim/configure                       | 1331 +++++++++---
  zlib/Makefile.in                    |    3 +
  zlib/configure                      | 1331 +++++++++---
- 36 files changed, 16896 insertions(+), 6289 deletions(-)
+ 35 files changed, 16108 insertions(+), 6126 deletions(-)
 
 diff --git a/bfd/Makefile.in b/bfd/Makefile.in
-index 80aed657643..106ec256a79 100644
+index 4edfedee924..ed7257f2e96 100644
 --- a/bfd/Makefile.in
 +++ b/bfd/Makefile.in
-@@ -347,6 +347,7 @@ DATADIRNAME = @DATADIRNAME@
+@@ -334,6 +334,7 @@ DATADIRNAME = @DATADIRNAME@
  DEBUGDIR = @DEBUGDIR@
  DEFS = @DEFS@
  DEPDIR = @DEPDIR@
@@ -59,7 +58,7 @@
  DSYMUTIL = @DSYMUTIL@
  DUMPBIN = @DUMPBIN@
  ECHO_C = @ECHO_C@
-@@ -381,6 +382,7 @@ LN_S = @LN_S@
+@@ -368,6 +369,7 @@ LN_S = @LN_S@
  LTLIBOBJS = @LTLIBOBJS@
  MAINT = @MAINT@
  MAKEINFO = @MAKEINFO@
@@ -67,7 +66,7 @@
  MKDIR_P = @MKDIR_P@
  MKINSTALLDIRS = @MKINSTALLDIRS@
  MSGFMT = @MSGFMT@
-@@ -427,6 +429,7 @@ abs_builddir = @abs_builddir@
+@@ -414,6 +416,7 @@ abs_builddir = @abs_builddir@
  abs_srcdir = @abs_srcdir@
  abs_top_builddir = @abs_top_builddir@
  abs_top_srcdir = @abs_top_srcdir@
@@ -76,7 +75,7 @@
  ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
  all_backends = @all_backends@
 diff --git a/bfd/configure b/bfd/configure
-index 60ea6becab2..84dcdf167ba 100755
+index abc24a93028..f4c8ea4e54b 100755
 --- a/bfd/configure
 +++ b/bfd/configure
 @@ -706,6 +706,9 @@ OTOOL
@@ -1400,7 +1399,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -13482,7 +14132,7 @@ SHARED_LDFLAGS=
+@@ -13707,7 +14357,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
@@ -1409,7 +1408,7 @@
    fi
  fi
  
-@@ -16129,13 +16779,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -16326,13 +16976,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"`'
@@ -1430,7 +1429,7 @@
  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"`'
-@@ -16150,14 +16807,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -16347,14 +17004,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"`'
@@ -1449,7 +1448,7 @@
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -16190,12 +16850,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -16387,12 +17047,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"`'
@@ -1463,7 +1462,7 @@
  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"`'
-@@ -16250,8 +16910,13 @@ reload_flag \
+@@ -16447,8 +17107,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -1477,7 +1476,7 @@
  STRIP \
  RANLIB \
  CC \
-@@ -16261,12 +16926,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -16458,12 +17123,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 \
@@ -1493,7 +1492,7 @@
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -16282,7 +16949,6 @@ no_undefined_flag \
+@@ -16479,7 +17146,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -1501,7 +1500,7 @@
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -16318,6 +16984,7 @@ module_cmds \
+@@ -16515,6 +17181,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -1509,7 +1508,7 @@
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -17086,7 +17753,8 @@ $as_echo X"$file" |
+@@ -17283,7 +17950,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,
@@ -1519,7 +1518,7 @@
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -17189,19 +17857,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -17386,19 +18054,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -1563,7 +1562,7 @@
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -17231,6 +17922,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -17428,6 +18119,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
  
@@ -1576,7 +1575,7 @@
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -17240,6 +17937,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -17437,6 +18134,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -1586,7 +1585,7 @@
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -17354,12 +18054,12 @@ with_gcc=$GCC
+@@ -17551,12 +18251,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -1602,7 +1601,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -17446,9 +18146,6 @@ inherit_rpath=$inherit_rpath
+@@ -17643,9 +18343,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -1612,7 +1611,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -17464,6 +18161,9 @@ include_expsyms=$lt_include_expsyms
+@@ -17661,6 +18358,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -1622,7 +1621,7 @@
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -17496,210 +18196,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -17693,210 +18393,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?
@@ -1997,10 +1996,10 @@
    chmod +x "$ofile"
  
 diff --git a/bfd/configure.ac b/bfd/configure.ac
-index 015fd011893..58f73ec709c 100644
+index f044616f4d9..c2b2ab1ec68 100644
 --- a/bfd/configure.ac
 +++ b/bfd/configure.ac
-@@ -272,7 +272,7 @@ changequote(,)dnl
+@@ -274,7 +274,7 @@ changequote(,)dnl
    x=`sed -n -e 's/^[ 	]*PICFLAG[ 	]*=[ 	]*//p' < ../libiberty/Makefile | sed -n '$p'`
  changequote([,])dnl
    if test -n "$x"; then
@@ -2010,7 +2009,7 @@
  fi
  
 diff --git a/binutils/Makefile.in b/binutils/Makefile.in
-index 27315addc0f..5ddd5a42a7d 100644
+index 2de46be1b30..70a04f1c538 100644
 --- a/binutils/Makefile.in
 +++ b/binutils/Makefile.in
 @@ -493,6 +493,7 @@ DEBUGINFOD_LIBS = @DEBUGINFOD_LIBS@
@@ -2038,7 +2037,7 @@
  ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
  am__include = @am__include@
 diff --git a/binutils/configure b/binutils/configure
-index c7bd42049c3..06285371350 100755
+index 4cd196ab74b..dca6f77919d 100755
 --- a/binutils/configure
 +++ b/binutils/configure
 @@ -700,8 +700,11 @@ OTOOL
@@ -3361,7 +3360,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -15549,13 +16199,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -15555,13 +16205,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"`'
@@ -3382,7 +3381,7 @@
  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"`'
-@@ -15570,14 +16227,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -15576,14 +16233,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"`'
@@ -3401,7 +3400,7 @@
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -15610,12 +16270,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -15616,12 +16276,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"`'
@@ -3415,7 +3414,7 @@
  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"`'
-@@ -15670,8 +16330,13 @@ reload_flag \
+@@ -15676,8 +16336,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -3429,7 +3428,7 @@
  STRIP \
  RANLIB \
  CC \
-@@ -15681,12 +16346,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -15687,12 +16352,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 \
@@ -3445,7 +3444,7 @@
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -15702,7 +16369,6 @@ no_undefined_flag \
+@@ -15708,7 +16375,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -3453,7 +3452,7 @@
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -15738,6 +16404,7 @@ module_cmds \
+@@ -15744,6 +16410,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -3461,7 +3460,7 @@
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -16503,7 +17170,8 @@ $as_echo X"$file" |
+@@ -16509,7 +17176,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,
@@ -3471,7 +3470,7 @@
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -16606,19 +17274,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -16612,19 +17280,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -3515,7 +3514,7 @@
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -16648,6 +17339,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -16654,6 +17345,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
  
@@ -3528,7 +3527,7 @@
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -16657,6 +17354,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -16663,6 +17360,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -3538,7 +3537,7 @@
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -16771,12 +17471,12 @@ with_gcc=$GCC
+@@ -16777,12 +17477,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -3554,7 +3553,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -16863,9 +17563,6 @@ inherit_rpath=$inherit_rpath
+@@ -16869,9 +17569,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -3564,7 +3563,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -16881,6 +17578,9 @@ include_expsyms=$lt_include_expsyms
+@@ -16887,6 +17584,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -3574,7 +3573,7 @@
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -16913,210 +17613,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -16919,210 +17619,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?
@@ -3949,7 +3948,7 @@
    chmod +x "$ofile"
  
 diff --git a/gas/Makefile.in b/gas/Makefile.in
-index 8319181b472..3425e414c1c 100644
+index 427f42dfa3a..ec6615d34e3 100644
 --- a/gas/Makefile.in
 +++ b/gas/Makefile.in
 @@ -377,6 +377,7 @@ CYGPATH_W = @CYGPATH_W@
@@ -3977,7 +3976,7 @@
  ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
  am__include = @am__include@
 diff --git a/gas/configure b/gas/configure
-index 3c0c3e27d3b..11baafb9db6 100755
+index db1b80fc907..4bdd9705d8d 100755
 --- a/gas/configure
 +++ b/gas/configure
 @@ -686,8 +686,11 @@ OTOOL
@@ -5300,7 +5299,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -15133,13 +15783,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -15132,13 +15782,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"`'
@@ -5321,7 +5320,7 @@
  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"`'
-@@ -15154,14 +15811,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -15153,14 +15810,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"`'
@@ -5340,7 +5339,7 @@
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -15194,12 +15854,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -15193,12 +15853,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"`'
@@ -5354,7 +5353,7 @@
  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"`'
-@@ -15254,8 +15914,13 @@ reload_flag \
+@@ -15253,8 +15913,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -5368,7 +5367,7 @@
  STRIP \
  RANLIB \
  CC \
-@@ -15265,12 +15930,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -15264,12 +15929,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 \
@@ -5384,7 +5383,7 @@
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -15286,7 +15953,6 @@ no_undefined_flag \
+@@ -15285,7 +15952,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -5392,7 +5391,7 @@
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -15322,6 +15988,7 @@ module_cmds \
+@@ -15321,6 +15987,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -5400,7 +5399,7 @@
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -16094,7 +16761,8 @@ $as_echo X"$file" |
+@@ -16093,7 +16760,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,
@@ -5410,7 +5409,7 @@
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -16197,19 +16865,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -16196,19 +16864,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -5454,7 +5453,7 @@
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -16239,6 +16930,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -16238,6 +16929,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
  
@@ -5467,7 +5466,7 @@
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -16248,6 +16945,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -16247,6 +16944,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -5477,7 +5476,7 @@
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -16362,12 +17062,12 @@ with_gcc=$GCC
+@@ -16361,12 +17061,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -5493,7 +5492,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -16454,9 +17154,6 @@ inherit_rpath=$inherit_rpath
+@@ -16453,9 +17153,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -5503,7 +5502,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -16472,6 +17169,9 @@ include_expsyms=$lt_include_expsyms
+@@ -16471,6 +17168,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -5513,7 +5512,7 @@
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -16504,210 +17204,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -16503,210 +17203,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?
@@ -5916,7 +5915,7 @@
  ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
  am__include = @am__include@
 diff --git a/gprof/configure b/gprof/configure
-index c5a081c88aa..a1b06379df4 100755
+index 98ba6d7f5b3..113505b963c 100755
 --- a/gprof/configure
 +++ b/gprof/configure
 @@ -663,8 +663,11 @@ OTOOL
@@ -7830,7 +7829,7 @@
    chmod +x "$ofile"
  
 diff --git a/gprofng/Makefile.in b/gprofng/Makefile.in
-index a2854950e34..4d307543d81 100644
+index 06b563cb8ef..b6ae509fd6c 100644
 --- a/gprofng/Makefile.in
 +++ b/gprofng/Makefile.in
 @@ -253,6 +253,7 @@ CXXFLAGS = @CXXFLAGS@
@@ -7850,10 +7849,10 @@
  NM = @NM@
  NMEDIT = @NMEDIT@
 diff --git a/gprofng/configure b/gprofng/configure
-index 3ad87139280..e4593cbb838 100755
+index 69eb806a17d..9e97e334544 100755
 --- a/gprofng/configure
 +++ b/gprofng/configure
-@@ -674,6 +674,8 @@ OTOOL
+@@ -672,6 +672,8 @@ OTOOL
  LIPO
  NMEDIT
  DSYMUTIL
@@ -7862,7 +7861,7 @@
  OBJDUMP
  LN_S
  NM
-@@ -804,6 +806,7 @@ enable_static
+@@ -802,6 +804,7 @@ enable_static
  with_pic
  enable_fast_install
  with_gnu_ld
@@ -7870,7 +7869,7 @@
  enable_libtool_lock
  enable_werror_always
  enable_gprofng_tools
-@@ -1467,6 +1470,8 @@ Optional Packages:
+@@ -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]
@@ -7879,7 +7878,7 @@
    --with-jdk=PATH         specify prefix directory for installed JDK.
    --with-system-zlib      use installed libz
  
-@@ -6158,8 +6163,8 @@ esac
+@@ -6156,8 +6161,8 @@ esac
  
  
  
@@ -7890,7 +7889,7 @@
  
  
  
-@@ -6199,7 +6204,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -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.
@@ -7899,7 +7898,7 @@
     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
-@@ -6892,8 +6897,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -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"
@@ -7910,7 +7909,7 @@
      && eval 'test $(( 1 + 1 )) -eq 2 \
      && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
    && xsi_shell=yes
-@@ -6942,6 +6947,80 @@ esac
+@@ -6940,6 +6945,80 @@ esac
  
  
  
@@ -7991,7 +7990,7 @@
  { $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 :
-@@ -6958,6 +7037,11 @@ case $reload_flag in
+@@ -6956,6 +7035,11 @@ case $reload_flag in
  esac
  reload_cmds='$LD$reload_flag -o $output$reload_objs'
  case $host_os in
@@ -8003,7 +8002,7 @@
    darwin*)
      if test "$GCC" = yes; then
        reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -7126,7 +7210,8 @@ mingw* | pw32*)
+@@ -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
@@ -8013,7 +8012,7 @@
      lt_cv_file_magic_cmd='$OBJDUMP -f'
    fi
    ;;
-@@ -7280,6 +7365,21 @@ esac
+@@ -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; }
@@ -8035,7 +8034,7 @@
  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
-@@ -7295,6 +7395,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -7293,6 +7393,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
  
  
  
@@ -8193,7 +8192,7 @@
  plugin_option=
  plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
  for plugin in $plugin_names; do
-@@ -7309,8 +7560,10 @@ for plugin in $plugin_names; do
+@@ -7307,8 +7558,10 @@ for plugin in $plugin_names; do
  done
  
  if test -n "$ac_tool_prefix"; then
@@ -8206,7 +8205,7 @@
  { $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 :
-@@ -7326,7 +7579,7 @@ do
+@@ -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
@@ -8215,7 +8214,7 @@
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -7346,11 +7599,15 @@ $as_echo "no" >&6; }
+@@ -7344,11 +7597,15 @@ $as_echo "no" >&6; }
  fi
  
  
@@ -8234,7 +8233,7 @@
  { $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 :
-@@ -7366,7 +7623,7 @@ do
+@@ -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
@@ -8243,7 +8242,7 @@
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -7385,6 +7642,10 @@ else
+@@ -7383,6 +7640,10 @@ else
  $as_echo "no" >&6; }
  fi
  
@@ -8254,7 +8253,7 @@
    if test "x$ac_ct_AR" = x; then
      AR="false"
    else
-@@ -7396,29 +7657,81 @@ ac_tool_warned=yes ;;
+@@ -7394,29 +7655,81 @@ ac_tool_warned=yes ;;
  esac
      AR=$ac_ct_AR
    fi
@@ -8351,7 +8350,7 @@
  
  
  
-@@ -7765,8 +8078,8 @@ esac
+@@ -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
@@ -8362,7 +8361,7 @@
  
  # Handle CRLF in mingw tool chain
  opt_cr=
-@@ -7802,6 +8115,7 @@ for ac_symprfx in "" "_"; do
+@@ -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
@@ -8370,7 +8369,7 @@
  
    # Check to see that the pipe works correctly.
    pipe_works=no
-@@ -7843,6 +8157,18 @@ _LT_EOF
+@@ -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
@@ -8389,7 +8388,7 @@
  #ifdef __cplusplus
  extern "C" {
  #endif
-@@ -7854,7 +8180,7 @@ _LT_EOF
+@@ -7852,7 +8178,7 @@ _LT_EOF
  	  cat <<_LT_EOF >> conftest.$ac_ext
  
  /* The mapping between symbol names and symbols.  */
@@ -8398,7 +8397,7 @@
    const char *name;
    void       *address;
  }
-@@ -7880,8 +8206,8 @@ static const void *lt_preloaded_setup() {
+@@ -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
@@ -8409,7 +8408,7 @@
  	  LIBS="conftstm.$ac_objext"
  	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
  	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7891,8 +8217,8 @@ _LT_EOF
+@@ -7889,8 +8215,8 @@ _LT_EOF
    test $ac_status = 0; } && test -s conftest${ac_exeext}; then
  	    pipe_works=yes
  	  fi
@@ -8420,7 +8419,7 @@
  	else
  	  echo "cannot find nm_test_func in $nlist" >&5
  	fi
-@@ -7929,6 +8255,13 @@ else
+@@ -7927,6 +8253,13 @@ else
  $as_echo "ok" >&6; }
  fi
  
@@ -8434,7 +8433,7 @@
  
  
  
-@@ -7948,6 +8281,48 @@ fi
+@@ -7946,6 +8279,48 @@ fi
  
  
  
@@ -8483,7 +8482,7 @@
  
  
  # Check whether --enable-libtool-lock was given.
-@@ -8156,6 +8531,123 @@ esac
+@@ -8154,6 +8529,123 @@ esac
  
  need_locks="$enable_libtool_lock"
  
@@ -8607,7 +8606,7 @@
  
    case $host_os in
      rhapsody* | darwin*)
-@@ -8719,6 +9211,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
@@ -8616,7 +8615,7 @@
        cat > conftest.c << _LT_EOF
  int main() { return 0;}
  _LT_EOF
-@@ -8787,6 +9281,16 @@ done
+@@ -8785,6 +9279,16 @@ done
  
  
  
@@ -8633,7 +8632,7 @@
  
  
  # Set options
-@@ -9272,8 +9776,6 @@ fi
+@@ -9270,8 +9774,6 @@ fi
  lt_prog_compiler_pic=
  lt_prog_compiler_static=
  
@@ -8642,7 +8641,7 @@
  
    if test "$GCC" = yes; then
      lt_prog_compiler_wl='-Wl,'
-@@ -9439,6 +9941,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'
  	;;
@@ -8655,7 +8654,7 @@
        pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
          # Portland Group compilers (*not* the Pentium gcc compiler,
  	# which looks to be a dead project)
-@@ -9501,7 +10009,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
@@ -8664,7 +8663,7 @@
  	lt_prog_compiler_wl='-Qoption ld ';;
        *)
  	lt_prog_compiler_wl='-Wl,';;
-@@ -9558,13 +10066,17 @@ case $host_os in
+@@ -9556,13 +10064,17 @@ case $host_os in
      lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
      ;;
  esac
@@ -8688,7 +8687,7 @@
  
  #
  # Check to make sure the PIC flag actually works.
-@@ -9625,6 +10137,11 @@ fi
+@@ -9623,6 +10135,11 @@ fi
  
  
  
@@ -8700,7 +8699,7 @@
  #
  # Check to make sure the static flag actually works.
  #
-@@ -9975,7 +10492,8 @@ _LT_EOF
+@@ -9973,7 +10490,8 @@ _LT_EOF
        allow_undefined_flag=unsupported
        always_export_symbols=no
        enable_shared_with_static_runtimes=yes
@@ -8710,7 +8709,7 @@
  
        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'
-@@ -10074,12 +10592,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'
@@ -8725,7 +8724,7 @@
  	  fi
  	  ;;
  	esac
-@@ -10093,8 +10611,8 @@ _LT_EOF
+@@ -10091,8 +10609,8 @@ _LT_EOF
  	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
  	wlarc=
        else
@@ -8736,7 +8735,7 @@
        fi
        ;;
  
-@@ -10112,8 +10630,8 @@ _LT_EOF
+@@ -10110,8 +10628,8 @@ _LT_EOF
  
  _LT_EOF
        elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -8747,7 +8746,7 @@
        else
  	ld_shlibs=no
        fi
-@@ -10159,8 +10677,8 @@ _LT_EOF
+@@ -10157,8 +10675,8 @@ _LT_EOF
  
      *)
        if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -8758,7 +8757,7 @@
        else
  	ld_shlibs=no
        fi
-@@ -10290,7 +10808,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.
@@ -8773,7 +8772,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -10303,22 +10827,29 @@ main ()
+@@ -10301,22 +10825,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -8816,7 +8815,7 @@
  
          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"
-@@ -10330,7 +10861,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.
@@ -8831,7 +8830,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -10343,22 +10880,29 @@ main ()
+@@ -10341,22 +10878,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -8874,7 +8873,7 @@
  
  	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
  	  # Warning - without using the other run time loading flags,
-@@ -10403,20 +10947,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.
@@ -8952,7 +8951,7 @@
        ;;
  
      darwin* | rhapsody*)
-@@ -10477,7 +11064,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*)
@@ -8961,7 +8960,7 @@
        hardcode_libdir_flag_spec='-R$libdir'
        hardcode_direct=yes
        hardcode_shlibpath_var=no
-@@ -10485,7 +11072,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10483,7 +11070,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
      hpux9*)
        if test "$GCC" = yes; then
@@ -8970,7 +8969,7 @@
        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
-@@ -10501,7 +11088,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/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
@@ -8979,7 +8978,7 @@
        else
  	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
        fi
-@@ -10525,10 +11112,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; 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*)
@@ -8992,7 +8991,7 @@
  	  ;;
  	esac
        else
-@@ -10607,23 +11194,36 @@ fi
+@@ -10605,23 +11192,36 @@ fi
  
      irix5* | irix6* | nonstopux*)
        if test "$GCC" = yes; then
@@ -9037,7 +9036,7 @@
        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'
-@@ -10708,7 +11308,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -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}\*'
@@ -9046,7 +9045,7 @@
  	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
        else
  	allow_undefined_flag=' -expect_unresolved \*'
-@@ -10727,9 +11327,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10725,9 +11325,9 @@ rm -f core conftest.err conftest.$ac_objext \
        no_undefined_flag=' -z defs'
        if test "$GCC" = yes; then
  	wlarc='${wl}'
@@ -9058,7 +9057,7 @@
        else
  	case `$CC -V 2>&1` in
  	*"Compilers 5.0"*)
-@@ -11305,8 +11905,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -11303,8 +11903,9 @@ cygwin* | mingw* | pw32* | cegcc*)
    need_version=no
    need_lib_prefix=no
  
@@ -9070,7 +9069,7 @@
      library_names_spec='$libname.dll.a'
      # DLL is installed to $(libdir)/../bin by postinstall_cmds
      postinstall_cmds='base_file=`basename \${file}`~
-@@ -11339,13 +11940,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -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
@@ -9143,16 +9142,16 @@
    # FIXME: first we should search . and the directory the executable is in
    shlibpath_var=PATH
    ;;
-@@ -12223,7 +12882,7 @@ else
+@@ -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 12226 "configure"
+-#line 12224 "configure"
 +#line $LINENO "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -12267,10 +12926,10 @@ else
+@@ -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))
@@ -9165,16 +9164,16 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12329,7 +12988,7 @@ else
+@@ -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 12332 "configure"
+-#line 12330 "configure"
 +#line $LINENO "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -12373,10 +13032,10 @@ else
+@@ -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))
@@ -9187,7 +9186,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12768,6 +13427,7 @@ $RM -r conftest*
+@@ -12766,6 +13425,7 @@ $RM -r conftest*
  
    # Allow CC to be a program name with arguments.
    lt_save_CC=$CC
@@ -9195,7 +9194,7 @@
    lt_save_LD=$LD
    lt_save_GCC=$GCC
    GCC=$GXX
-@@ -12785,6 +13445,7 @@ $RM -r conftest*
+@@ -12783,6 +13443,7 @@ $RM -r conftest*
    fi
    test -z "${LDCXX+set}" || LD=$LDCXX
    CC=${CXX-"c++"}
@@ -9203,7 +9202,7 @@
    compiler=$CC
    compiler_CXX=$CC
    for cc_temp in $compiler""; do
-@@ -13067,7 +13728,13 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+@@ -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.
@@ -9218,7 +9217,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -13080,22 +13747,29 @@ main ()
+@@ -13078,22 +13745,29 @@ main ()
  _ACEOF
  if ac_fn_cxx_try_link "$LINENO"; then :
  
@@ -9261,7 +9260,7 @@
  
            hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
  
-@@ -13108,7 +13782,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -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.
@@ -9276,7 +9275,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -13121,22 +13801,29 @@ main ()
+@@ -13119,22 +13799,29 @@ main ()
  _ACEOF
  if ac_fn_cxx_try_link "$LINENO"; then :
  
@@ -9319,7 +9318,7 @@
  
  	    hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
  	    # Warning - without using the other run time loading flags,
-@@ -13179,29 +13866,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13177,29 +13864,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          ;;
  
        cygwin* | mingw* | pw32* | cegcc*)
@@ -9418,7 +9417,7 @@
        darwin* | rhapsody*)
  
  
-@@ -13307,7 +14040,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13305,7 +14038,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
              ;;
            *)
              if test "$GXX" = yes; then
@@ -9427,7 +9426,7 @@
              else
                # FIXME: insert proper C++ library support
                ld_shlibs_CXX=no
-@@ -13378,10 +14111,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -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*)
@@ -9440,7 +9439,7 @@
  	            ;;
  	        esac
  	      fi
-@@ -13422,9 +14155,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; 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
@@ -9452,7 +9451,7 @@
  	      fi
  	    fi
  	    link_all_deplibs_CXX=yes
-@@ -13494,20 +14227,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -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~
@@ -9477,7 +9476,7 @@
  	      ;;
  	    *) # 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'
-@@ -13702,7 +14435,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -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'
  		  ;;
  	        *)
@@ -9486,7 +9485,7 @@
  		  ;;
  	      esac
  
-@@ -13748,7 +14481,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13746,7 +14479,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
        solaris*)
          case $cc_basename in
@@ -9495,7 +9494,7 @@
  	    # Sun C++ 4.2, 5.x and Centerline C++
              archive_cmds_need_lc_CXX=yes
  	    no_undefined_flag_CXX=' -zdefs'
-@@ -13789,9 +14522,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -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
@@ -9507,7 +9506,7 @@
  
  	        # Commands to make compiler produce verbose output that lists
  	        # what "hidden" libraries, object files and flags are used when
-@@ -13926,6 +14659,13 @@ private:
+@@ -13924,6 +14657,13 @@ private:
  };
  _LT_EOF
  
@@ -9521,7 +9520,7 @@
  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
    (eval $ac_compile) 2>&5
    ac_status=$?
-@@ -13939,7 +14679,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+@@ -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
@@ -9530,7 +9529,7 @@
  
      -L* | -R* | -l*)
         # Some compilers place space between "-{L,R}" and the path.
-@@ -13948,13 +14688,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+@@ -13946,13 +14686,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
            test $p = "-R"; then
  	 prev=$p
  	 continue
@@ -9557,7 +9556,7 @@
  	   # 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.
-@@ -13974,8 +14723,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+@@ -13972,8 +14721,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  	   postdeps_CXX="${postdeps_CXX} ${prev}${p}"
  	 fi
         fi
@@ -9568,7 +9567,7 @@
      *.$objext)
         # This assumes that the test object file only shows up
         # once in the compiler output.
-@@ -14011,6 +14762,7 @@ else
+@@ -14009,6 +14760,7 @@ else
  fi
  
  $RM -f confest.$objext
@@ -9576,7 +9575,7 @@
  
  # PORTME: override above test on systems where it is broken
  case $host_os in
-@@ -14046,7 +14798,7 @@ linux*)
+@@ -14044,7 +14796,7 @@ linux*)
  
  solaris*)
    case $cc_basename in
@@ -9585,7 +9584,7 @@
      # The more standards-conforming stlport4 library is
      # incompatible with the Cstd library. Avoid specifying
      # it if it's in CXXFLAGS. Ignore libCrun as
-@@ -14111,8 +14863,6 @@ fi
+@@ -14109,8 +14861,6 @@ fi
  lt_prog_compiler_pic_CXX=
  lt_prog_compiler_static_CXX=
  
@@ -9594,7 +9593,7 @@
  
    # C++ specific cases for pic, static, wl, etc.
    if test "$GXX" = yes; then
-@@ -14217,6 +14967,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -14215,6 +14965,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  	  ;;
  	esac
  	;;
@@ -9606,7 +9605,7 @@
        dgux*)
  	case $cc_basename in
  	  ec++*)
-@@ -14369,7 +15124,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -14367,7 +15122,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  	;;
        solaris*)
  	case $cc_basename in
@@ -9615,7 +9614,7 @@
  	    # Sun C++ 4.2, 5.x and Centerline C++
  	    lt_prog_compiler_pic_CXX='-KPIC'
  	    lt_prog_compiler_static_CXX='-Bstatic'
-@@ -14434,10 +15189,17 @@ case $host_os in
+@@ -14432,10 +15187,17 @@ case $host_os in
      lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
      ;;
  esac
@@ -9636,7 +9635,7 @@
  
  #
  # Check to make sure the PIC flag actually works.
-@@ -14495,6 +15257,8 @@ fi
+@@ -14493,6 +15255,8 @@ fi
  
  
  
@@ -9645,7 +9644,7 @@
  #
  # Check to make sure the static flag actually works.
  #
-@@ -14672,6 +15436,7 @@ fi
+@@ -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'
@@ -9653,7 +9652,7 @@
    case $host_os in
    aix[4-9]*)
      # If we're using GNU nm, then we don't want the "-C" option.
-@@ -14686,15 +15451,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+@@ -14684,15 +15449,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
      ;;
    pw32*)
      export_symbols_cmds_CXX="$ltdll_cmds"
@@ -9679,7 +9678,7 @@
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
  $as_echo "$ld_shlibs_CXX" >&6; }
-@@ -14957,8 +15727,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -14955,8 +15725,9 @@ cygwin* | mingw* | pw32* | cegcc*)
    need_version=no
    need_lib_prefix=no
  
@@ -9691,7 +9690,7 @@
      library_names_spec='$libname.dll.a'
      # DLL is installed to $(libdir)/../bin by postinstall_cmds
      postinstall_cmds='base_file=`basename \${file}`~
-@@ -14990,13 +15761,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -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
@@ -9764,7 +9763,7 @@
    # FIXME: first we should search . and the directory the executable is in
    shlibpath_var=PATH
    ;;
-@@ -15536,6 +16365,7 @@ fi
+@@ -15534,6 +16363,7 @@ fi
    fi # test -n "$compiler"
  
    CC=$lt_save_CC
@@ -9772,7 +9771,7 @@
    LDCXX=$LD
    LD=$lt_save_LD
    GCC=$lt_save_GCC
-@@ -17751,13 +18581,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -17737,13 +18567,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"`'
@@ -9793,7 +9792,7 @@
  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"`'
-@@ -17772,14 +18609,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -17758,14 +18595,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"`'
@@ -9812,7 +9811,7 @@
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -17812,12 +18652,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -17798,12 +18638,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"`'
@@ -9826,7 +9825,7 @@
  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"`'
-@@ -17856,8 +18696,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote
+@@ -17842,8 +18682,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"`'
@@ -9836,7 +9835,7 @@
  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"`'
-@@ -17884,12 +18724,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_
+@@ -17870,12 +18710,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"`'
@@ -9850,7 +9849,7 @@
  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"`'
-@@ -17927,8 +18767,13 @@ reload_flag \
+@@ -17913,8 +18753,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -9864,7 +9863,7 @@
  STRIP \
  RANLIB \
  CC \
-@@ -17938,12 +18783,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -17924,12 +18769,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 \
@@ -9880,7 +9879,7 @@
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -17959,7 +18806,6 @@ no_undefined_flag \
+@@ -17945,7 +18792,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -9888,7 +9887,7 @@
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -17981,8 +18827,8 @@ LD_CXX \
+@@ -17967,8 +18813,8 @@ LD_CXX \
  reload_flag_CXX \
  compiler_CXX \
  lt_prog_compiler_no_builtin_flag_CXX \
@@ -9898,7 +9897,7 @@
  lt_prog_compiler_static_CXX \
  lt_cv_prog_compiler_c_o_CXX \
  export_dynamic_flag_spec_CXX \
-@@ -17994,7 +18840,6 @@ no_undefined_flag_CXX \
+@@ -17980,7 +18826,6 @@ no_undefined_flag_CXX \
  hardcode_libdir_flag_spec_CXX \
  hardcode_libdir_flag_spec_ld_CXX \
  hardcode_libdir_separator_CXX \
@@ -9906,7 +9905,7 @@
  exclude_expsyms_CXX \
  include_expsyms_CXX \
  file_list_spec_CXX \
-@@ -18028,6 +18873,7 @@ module_cmds \
+@@ -18014,6 +18859,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -9914,7 +9913,7 @@
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -18042,7 +18888,8 @@ archive_expsym_cmds_CXX \
+@@ -18028,7 +18874,8 @@ archive_expsym_cmds_CXX \
  module_cmds_CXX \
  module_expsym_cmds_CXX \
  export_symbols_cmds_CXX \
@@ -9924,7 +9923,7 @@
      case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
      *[\\\\\\\`\\"\\\$]*)
        eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-@@ -18799,7 +19646,8 @@ $as_echo X"$file" |
+@@ -18785,7 +19632,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,
@@ -9934,7 +9933,7 @@
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -18902,19 +19750,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -18888,19 +19736,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -9978,7 +9977,7 @@
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -18944,6 +19815,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -18930,6 +19801,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
  
@@ -9991,7 +9990,7 @@
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -18953,6 +19830,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -18939,6 +19816,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -10001,7 +10000,7 @@
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -19067,12 +19947,12 @@ with_gcc=$GCC
+@@ -19053,12 +19933,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -10017,7 +10016,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -19159,9 +20039,6 @@ inherit_rpath=$inherit_rpath
+@@ -19145,9 +20025,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -10027,7 +10026,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -19177,6 +20054,9 @@ include_expsyms=$lt_include_expsyms
+@@ -19163,6 +20040,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -10037,7 +10036,7 @@
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -19223,210 +20103,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -19209,210 +20089,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?
@@ -10411,7 +10410,7 @@
      (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
    chmod +x "$ofile"
  
-@@ -19454,12 +20293,12 @@ with_gcc=$GCC_CXX
+@@ -19440,12 +20279,12 @@ with_gcc=$GCC_CXX
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
  
@@ -10427,7 +10426,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static_CXX
  
-@@ -19546,9 +20385,6 @@ inherit_rpath=$inherit_rpath_CXX
+@@ -19532,9 +20371,6 @@ inherit_rpath=$inherit_rpath_CXX
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs_CXX
  
@@ -10437,7 +10436,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols_CXX
  
-@@ -19564,6 +20400,9 @@ include_expsyms=$lt_include_expsyms_CXX
+@@ -19550,6 +20386,9 @@ include_expsyms=$lt_include_expsyms_CXX
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds_CXX
  
@@ -10448,10 +10447,10 @@
  file_list_spec=$lt_file_list_spec_CXX
  
 diff --git a/gprofng/doc/Makefile.in b/gprofng/doc/Makefile.in
-index 3cd2068cbf6..c5d431236aa 100644
+index 78f8ae11fc7..48058763422 100644
 --- a/gprofng/doc/Makefile.in
 +++ b/gprofng/doc/Makefile.in
-@@ -240,6 +240,7 @@ CXXFLAGS = @CXXFLAGS@
+@@ -238,6 +238,7 @@ CXXFLAGS = @CXXFLAGS@
  CYGPATH_W = @CYGPATH_W@
  DEFS = @DEFS@
  DEPDIR = @DEPDIR@
@@ -10459,7 +10458,7 @@
  DSYMUTIL = @DSYMUTIL@
  DUMPBIN = @DUMPBIN@
  ECHO_C = @ECHO_C@
-@@ -275,6 +276,7 @@ LN_S = @LN_S@
+@@ -273,6 +274,7 @@ LN_S = @LN_S@
  LTLIBOBJS = @LTLIBOBJS@
  MAINT = @MAINT@
  MAKEINFO = @MAKEINFO@
@@ -10468,10 +10467,10 @@
  NM = @NM@
  NMEDIT = @NMEDIT@
 diff --git a/gprofng/gp-display-html/Makefile.in b/gprofng/gp-display-html/Makefile.in
-index 42886f7c645..b7e31ded46a 100644
+index 21cc1c6623b..e989804603e 100644
 --- a/gprofng/gp-display-html/Makefile.in
 +++ b/gprofng/gp-display-html/Makefile.in
-@@ -200,6 +200,7 @@ CXXFLAGS = @CXXFLAGS@
+@@ -197,6 +197,7 @@ CXXFLAGS = @CXXFLAGS@
  CYGPATH_W = @CYGPATH_W@
  DEFS = @DEFS@
  DEPDIR = @DEPDIR@
@@ -10479,7 +10478,7 @@
  DSYMUTIL = @DSYMUTIL@
  DUMPBIN = @DUMPBIN@
  ECHO_C = @ECHO_C@
-@@ -235,6 +236,7 @@ LN_S = @LN_S@
+@@ -232,6 +233,7 @@ LN_S = @LN_S@
  LTLIBOBJS = @LTLIBOBJS@
  MAINT = @MAINT@
  MAKEINFO = @MAKEINFO@
@@ -10488,7 +10487,7 @@
  NM = @NM@
  NMEDIT = @NMEDIT@
 diff --git a/gprofng/libcollector/Makefile.in b/gprofng/libcollector/Makefile.in
-index eef61ba85f7..0eb1521b704 100644
+index dc76a76bd67..763b08822f2 100644
 --- a/gprofng/libcollector/Makefile.in
 +++ b/gprofng/libcollector/Makefile.in
 @@ -316,6 +316,7 @@ CXXFLAGS = @CXXFLAGS@
@@ -10499,7 +10498,7 @@
  DSYMUTIL = @DSYMUTIL@
  DUMPBIN = @DUMPBIN@
  ECHO_C = @ECHO_C@
-@@ -342,6 +343,7 @@ LN_S = @LN_S@
+@@ -341,6 +342,7 @@ LN_S = @LN_S@
  LTLIBOBJS = @LTLIBOBJS@
  MAINT = @MAINT@
  MAKEINFO = @MAKEINFO@
@@ -10508,10 +10507,10 @@
  NM = @NM@
  NMEDIT = @NMEDIT@
 diff --git a/gprofng/libcollector/configure b/gprofng/libcollector/configure
-index 079a0b71ec3..a28289cfe9d 100755
+index 865ddb3d91d..31533528ee2 100755
 --- a/gprofng/libcollector/configure
 +++ b/gprofng/libcollector/configure
-@@ -641,6 +641,8 @@ OTOOL
+@@ -640,6 +640,8 @@ OTOOL
  LIPO
  NMEDIT
  DSYMUTIL
@@ -10520,7 +10519,7 @@
  OBJDUMP
  LN_S
  NM
-@@ -770,6 +772,7 @@ enable_static
+@@ -769,6 +771,7 @@ enable_static
  with_pic
  enable_fast_install
  with_gnu_ld
@@ -10528,7 +10527,7 @@
  enable_libtool_lock
  '
        ac_precious_vars='build_alias
-@@ -1425,6 +1428,8 @@ Optional Packages:
+@@ -1424,6 +1427,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]
@@ -10537,7 +10536,7 @@
  
  Some influential environment variables:
    CC          C compiler command
-@@ -5969,8 +5974,8 @@ esac
+@@ -5968,8 +5973,8 @@ esac
  
  
  
@@ -10548,7 +10547,7 @@
  
  
  
-@@ -6010,7 +6015,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -6009,7 +6014,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.
@@ -10557,7 +10556,7 @@
     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;
+@@ -6702,8 +6707,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"
@@ -10568,7 +10567,7 @@
      && eval 'test $(( 1 + 1 )) -eq 2 \
      && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
    && xsi_shell=yes
-@@ -6753,6 +6758,80 @@ esac
+@@ -6752,6 +6757,80 @@ esac
  
  
  
@@ -10649,7 +10648,7 @@
  { $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
+@@ -6768,6 +6847,11 @@ case $reload_flag in
  esac
  reload_cmds='$LD$reload_flag -o $output$reload_objs'
  case $host_os in
@@ -10661,7 +10660,7 @@
    darwin*)
      if test "$GCC" = yes; then
        reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6937,7 +7021,8 @@ mingw* | pw32*)
+@@ -6936,7 +7020,8 @@ mingw* | pw32*)
      lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
      lt_cv_file_magic_cmd='func_win32_libid'
    else
@@ -10671,7 +10670,7 @@
      lt_cv_file_magic_cmd='$OBJDUMP -f'
    fi
    ;;
-@@ -7091,6 +7176,21 @@ esac
+@@ -7090,6 +7175,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; }
@@ -10693,7 +10692,7 @@
  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
+@@ -7105,6 +7205,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
  
  
  
@@ -10851,7 +10850,7 @@
  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
+@@ -7119,8 +7370,10 @@ for plugin in $plugin_names; do
  done
  
  if test -n "$ac_tool_prefix"; then
@@ -10864,7 +10863,7 @@
  { $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
+@@ -7136,7 +7389,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
@@ -10873,7 +10872,7 @@
      $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; }
+@@ -7156,11 +7409,15 @@ $as_echo "no" >&6; }
  fi
  
  
@@ -10892,7 +10891,7 @@
  { $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
+@@ -7176,7 +7433,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
@@ -10901,7 +10900,7 @@
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -7196,6 +7453,10 @@ else
+@@ -7195,6 +7452,10 @@ else
  $as_echo "no" >&6; }
  fi
  
@@ -10912,7 +10911,7 @@
    if test "x$ac_ct_AR" = x; then
      AR="false"
    else
-@@ -7207,29 +7468,81 @@ ac_tool_warned=yes ;;
+@@ -7206,29 +7467,81 @@ ac_tool_warned=yes ;;
  esac
      AR=$ac_ct_AR
    fi
@@ -11009,7 +11008,7 @@
  
  
  
-@@ -7576,8 +7889,8 @@ esac
+@@ -7575,8 +7888,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
@@ -11020,7 +11019,7 @@
  
  # Handle CRLF in mingw tool chain
  opt_cr=
-@@ -7613,6 +7926,7 @@ for ac_symprfx in "" "_"; do
+@@ -7612,6 +7925,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
@@ -11028,7 +11027,7 @@
  
    # Check to see that the pipe works correctly.
    pipe_works=no
-@@ -7654,6 +7968,18 @@ _LT_EOF
+@@ -7653,6 +7967,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
@@ -11047,7 +11046,7 @@
  #ifdef __cplusplus
  extern "C" {
  #endif
-@@ -7665,7 +7991,7 @@ _LT_EOF
+@@ -7664,7 +7990,7 @@ _LT_EOF
  	  cat <<_LT_EOF >> conftest.$ac_ext
  
  /* The mapping between symbol names and symbols.  */
@@ -11056,7 +11055,7 @@
    const char *name;
    void       *address;
  }
-@@ -7691,8 +8017,8 @@ static const void *lt_preloaded_setup() {
+@@ -7690,8 +8016,8 @@ static const void *lt_preloaded_setup() {
  _LT_EOF
  	  # Now try linking the two files.
  	  mv conftest.$ac_objext conftstm.$ac_objext
@@ -11067,7 +11066,7 @@
  	  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
+@@ -7701,8 +8027,8 @@ _LT_EOF
    test $ac_status = 0; } && test -s conftest${ac_exeext}; then
  	    pipe_works=yes
  	  fi
@@ -11078,7 +11077,7 @@
  	else
  	  echo "cannot find nm_test_func in $nlist" >&5
  	fi
-@@ -7740,6 +8066,13 @@ else
+@@ -7739,6 +8065,13 @@ else
  $as_echo "ok" >&6; }
  fi
  
@@ -11092,7 +11091,7 @@
  
  
  
-@@ -7759,6 +8092,48 @@ fi
+@@ -7758,6 +8091,48 @@ fi
  
  
  
@@ -11141,7 +11140,7 @@
  
  
  # Check whether --enable-libtool-lock was given.
-@@ -7967,6 +8342,123 @@ esac
+@@ -7966,6 +8341,123 @@ esac
  
  need_locks="$enable_libtool_lock"
  
@@ -11265,7 +11264,7 @@
  
    case $host_os in
      rhapsody* | darwin*)
-@@ -8530,6 +9022,8 @@ _LT_EOF
+@@ -8529,6 +9021,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
@@ -11274,7 +11273,7 @@
        cat > conftest.c << _LT_EOF
  int main() { return 0;}
  _LT_EOF
-@@ -8598,6 +9092,16 @@ done
+@@ -8597,6 +9091,16 @@ done
  
  
  
@@ -11291,7 +11290,7 @@
  
  
  # Set options
-@@ -9113,8 +9617,6 @@ fi
+@@ -9112,8 +9616,6 @@ fi
  lt_prog_compiler_pic=
  lt_prog_compiler_static=
  
@@ -11300,7 +11299,7 @@
  
    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; }
+@@ -9279,6 +9781,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  	lt_prog_compiler_pic='--shared'
  	lt_prog_compiler_static='--static'
  	;;
@@ -11313,7 +11312,7 @@
        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; }
+@@ -9341,7 +9849,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
@@ -11322,7 +11321,7 @@
  	lt_prog_compiler_wl='-Qoption ld ';;
        *)
  	lt_prog_compiler_wl='-Wl,';;
-@@ -9399,13 +9907,17 @@ case $host_os in
+@@ -9398,13 +9906,17 @@ case $host_os in
      lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
      ;;
  esac
@@ -11346,7 +11345,7 @@
  
  #
  # Check to make sure the PIC flag actually works.
-@@ -9466,6 +9978,11 @@ fi
+@@ -9465,6 +9977,11 @@ fi
  
  
  
@@ -11358,7 +11357,7 @@
  #
  # Check to make sure the static flag actually works.
  #
-@@ -9816,7 +10333,8 @@ _LT_EOF
+@@ -9815,7 +10332,8 @@ _LT_EOF
        allow_undefined_flag=unsupported
        always_export_symbols=no
        enable_shared_with_static_runtimes=yes
@@ -11368,7 +11367,7 @@
  
        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
+@@ -9914,12 +10432,12 @@ _LT_EOF
  	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
  	  hardcode_libdir_flag_spec=
  	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -11383,7 +11382,7 @@
  	  fi
  	  ;;
  	esac
-@@ -9934,8 +10452,8 @@ _LT_EOF
+@@ -9933,8 +10451,8 @@ _LT_EOF
  	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
  	wlarc=
        else
@@ -11394,7 +11393,7 @@
        fi
        ;;
  
-@@ -9953,8 +10471,8 @@ _LT_EOF
+@@ -9952,8 +10470,8 @@ _LT_EOF
  
  _LT_EOF
        elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -11405,7 +11404,7 @@
        else
  	ld_shlibs=no
        fi
-@@ -10000,8 +10518,8 @@ _LT_EOF
+@@ -9999,8 +10517,8 @@ _LT_EOF
  
      *)
        if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -11416,7 +11415,7 @@
        else
  	ld_shlibs=no
        fi
-@@ -10131,7 +10649,13 @@ _LT_EOF
+@@ -10130,7 +10648,13 @@ _LT_EOF
  	allow_undefined_flag='-berok'
          # Determine the default libpath from the value encoded in an
          # empty executable.
@@ -11431,7 +11430,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -10144,22 +10668,29 @@ main ()
+@@ -10143,22 +10667,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -11474,7 +11473,7 @@
  
          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
+@@ -10170,7 +10701,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.
@@ -11489,7 +11488,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -10184,22 +10721,29 @@ main ()
+@@ -10183,22 +10720,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -11532,7 +11531,7 @@
  
  	 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
+@@ -10242,21 +10786,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
@@ -11612,7 +11611,7 @@
        ;;
  
      darwin* | rhapsody*)
-@@ -10318,7 +10905,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10317,7 +10904,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*)
@@ -11621,7 +11620,7 @@
        hardcode_libdir_flag_spec='-R$libdir'
        hardcode_direct=yes
        hardcode_shlibpath_var=no
-@@ -10326,7 +10913,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10325,7 +10912,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
      hpux9*)
        if test "$GCC" = yes; then
@@ -11630,7 +11629,7 @@
        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
-@@ -10342,7 +10929,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10341,7 +10928,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
      hpux10*)
        if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -11639,7 +11638,7 @@
        else
  	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
        fi
-@@ -10366,10 +10953,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10365,10 +10952,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*)
@@ -11652,7 +11651,7 @@
  	  ;;
  	esac
        else
-@@ -10448,23 +11035,36 @@ fi
+@@ -10447,23 +11034,36 @@ fi
  
      irix5* | irix6* | nonstopux*)
        if test "$GCC" = yes; then
@@ -11697,7 +11696,7 @@
        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'
-@@ -10549,7 +11149,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10548,7 +11148,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}\*'
@@ -11706,7 +11705,7 @@
  	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
        else
  	allow_undefined_flag=' -expect_unresolved \*'
-@@ -10568,9 +11168,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10567,9 +11167,9 @@ rm -f core conftest.err conftest.$ac_objext \
        no_undefined_flag=' -z defs'
        if test "$GCC" = yes; then
  	wlarc='${wl}'
@@ -11718,7 +11717,7 @@
        else
  	case `$CC -V 2>&1` in
  	*"Compilers 5.0"*)
-@@ -11146,8 +11746,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -11145,8 +11745,9 @@ cygwin* | mingw* | pw32* | cegcc*)
    need_version=no
    need_lib_prefix=no
  
@@ -11730,7 +11729,7 @@
      library_names_spec='$libname.dll.a'
      # DLL is installed to $(libdir)/../bin by postinstall_cmds
      postinstall_cmds='base_file=`basename \${file}`~
-@@ -11180,13 +11781,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -11179,13 +11780,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
@@ -11803,16 +11802,16 @@
    # FIXME: first we should search . and the directory the executable is in
    shlibpath_var=PATH
    ;;
-@@ -12064,7 +12723,7 @@ else
+@@ -12063,7 +12722,7 @@ else
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
--#line 12067 "configure"
+-#line 12066 "configure"
 +#line $LINENO "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -12108,10 +12767,10 @@ else
+@@ -12107,10 +12766,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))
@@ -11825,16 +11824,16 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12170,7 +12829,7 @@ else
+@@ -12169,7 +12828,7 @@ else
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
--#line 12173 "configure"
+-#line 12172 "configure"
 +#line $LINENO "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -12214,10 +12873,10 @@ else
+@@ -12213,10 +12872,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))
@@ -11847,7 +11846,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12609,6 +13268,7 @@ $RM -r conftest*
+@@ -12608,6 +13267,7 @@ $RM -r conftest*
  
    # Allow CC to be a program name with arguments.
    lt_save_CC=$CC
@@ -11855,7 +11854,7 @@
    lt_save_LD=$LD
    lt_save_GCC=$GCC
    GCC=$GXX
-@@ -12626,6 +13286,7 @@ $RM -r conftest*
+@@ -12625,6 +13285,7 @@ $RM -r conftest*
    fi
    test -z "${LDCXX+set}" || LD=$LDCXX
    CC=${CXX-"c++"}
@@ -11863,7 +11862,7 @@
    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
+@@ -12907,7 +13568,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.
@@ -11878,7 +11877,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -12921,22 +13588,29 @@ main ()
+@@ -12920,22 +13587,29 @@ main ()
  _ACEOF
  if ac_fn_cxx_try_link "$LINENO"; then :
  
@@ -11921,7 +11920,7 @@
  
            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
+@@ -12948,7 +13622,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.
@@ -11936,7 +11935,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -12962,22 +13642,29 @@ main ()
+@@ -12961,22 +13641,29 @@ main ()
  _ACEOF
  if ac_fn_cxx_try_link "$LINENO"; then :
  
@@ -11979,7 +11978,7 @@
  
  	    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
+@@ -13019,29 +13706,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          ;;
  
        cygwin* | mingw* | pw32* | cegcc*)
@@ -12078,7 +12077,7 @@
        darwin* | rhapsody*)
  
  
-@@ -13148,7 +13881,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13147,7 +13880,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
              ;;
            *)
              if test "$GXX" = yes; then
@@ -12087,7 +12086,7 @@
              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
+@@ -13218,10 +13951,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*)
@@ -12100,7 +12099,7 @@
  	            ;;
  	        esac
  	      fi
-@@ -13263,9 +13996,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13262,9 +13995,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
@@ -12112,7 +12111,7 @@
  	      fi
  	    fi
  	    link_all_deplibs_CXX=yes
-@@ -13335,20 +14068,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13334,20 +14067,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~
@@ -12137,7 +12136,7 @@
  	      ;;
  	    *) # 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
+@@ -13542,7 +14275,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'
  		  ;;
  	        *)
@@ -12146,7 +12145,7 @@
  		  ;;
  	      esac
  
-@@ -13589,7 +14322,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13588,7 +14321,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
        solaris*)
          case $cc_basename in
@@ -12155,7 +12154,7 @@
  	    # 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
+@@ -13629,9 +14362,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
@@ -12167,7 +12166,7 @@
  
  	        # Commands to make compiler produce verbose output that lists
  	        # what "hidden" libraries, object files and flags are used when
-@@ -13767,6 +14500,13 @@ private:
+@@ -13766,6 +14499,13 @@ private:
  };
  _LT_EOF
  
@@ -12181,7 +12180,7 @@
  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
+@@ -13779,7 +14519,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
@@ -12190,7 +12189,7 @@
  
      -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
+@@ -13788,13 +14528,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
            test $p = "-R"; then
  	 prev=$p
  	 continue
@@ -12217,7 +12216,7 @@
  	   # 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
+@@ -13814,8 +14563,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  	   postdeps_CXX="${postdeps_CXX} ${prev}${p}"
  	 fi
         fi
@@ -12228,7 +12227,7 @@
      *.$objext)
         # This assumes that the test object file only shows up
         # once in the compiler output.
-@@ -13852,6 +14603,7 @@ else
+@@ -13851,6 +14602,7 @@ else
  fi
  
  $RM -f confest.$objext
@@ -12236,7 +12235,7 @@
  
  # PORTME: override above test on systems where it is broken
  case $host_os in
-@@ -13887,7 +14639,7 @@ linux*)
+@@ -13886,7 +14638,7 @@ linux*)
  
  solaris*)
    case $cc_basename in
@@ -12245,7 +12244,7 @@
      # 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
+@@ -13951,8 +14703,6 @@ fi
  lt_prog_compiler_pic_CXX=
  lt_prog_compiler_static_CXX=
  
@@ -12254,7 +12253,7 @@
  
    # 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; }
+@@ -14057,6 +14807,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  	  ;;
  	esac
  	;;
@@ -12266,7 +12265,7 @@
        dgux*)
  	case $cc_basename in
  	  ec++*)
-@@ -14210,7 +14965,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -14209,7 +14964,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  	;;
        solaris*)
  	case $cc_basename in
@@ -12275,7 +12274,7 @@
  	    # 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
+@@ -14274,10 +15029,17 @@ case $host_os in
      lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
      ;;
  esac
@@ -12296,7 +12295,7 @@
  
  #
  # Check to make sure the PIC flag actually works.
-@@ -14336,6 +15098,8 @@ fi
+@@ -14335,6 +15097,8 @@ fi
  
  
  
@@ -12305,7 +12304,7 @@
  #
  # Check to make sure the static flag actually works.
  #
-@@ -14513,6 +15277,7 @@ fi
+@@ -14512,6 +15276,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'
@@ -12313,7 +12312,7 @@
    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
+@@ -14526,15 +15291,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
      ;;
    pw32*)
      export_symbols_cmds_CXX="$ltdll_cmds"
@@ -12339,7 +12338,7 @@
  
  { $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*)
+@@ -14797,8 +15567,9 @@ cygwin* | mingw* | pw32* | cegcc*)
    need_version=no
    need_lib_prefix=no
  
@@ -12351,7 +12350,7 @@
      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*)
+@@ -14830,13 +15601,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
@@ -12424,7 +12423,7 @@
    # FIXME: first we should search . and the directory the executable is in
    shlibpath_var=PATH
    ;;
-@@ -15377,6 +16206,7 @@ fi
+@@ -15376,6 +16205,7 @@ fi
    fi # test -n "$compiler"
  
    CC=$lt_save_CC
@@ -12432,7 +12431,7 @@
    LDCXX=$LD
    LD=$lt_save_LD
    GCC=$lt_save_GCC
-@@ -16321,13 +17151,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -16303,13 +17133,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"`'
@@ -12453,7 +12452,7 @@
  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"`'
-@@ -16342,14 +17179,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -16324,14 +17161,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"`'
@@ -12472,7 +12471,7 @@
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -16382,12 +17222,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -16364,12 +17204,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"`'
@@ -12486,7 +12485,7 @@
  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"`'
-@@ -16426,8 +17266,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote
+@@ -16408,8 +17248,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"`'
@@ -12496,7 +12495,7 @@
  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_
+@@ -16436,12 +17276,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"`'
@@ -12510,7 +12509,7 @@
  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 \
+@@ -16479,8 +17319,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -12524,7 +12523,7 @@
  STRIP \
  RANLIB \
  CC \
-@@ -16508,12 +17353,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -16490,12 +17335,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 \
@@ -12540,7 +12539,7 @@
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -16529,7 +17376,6 @@ no_undefined_flag \
+@@ -16511,7 +17358,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -12548,7 +12547,7 @@
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -16551,8 +17397,8 @@ LD_CXX \
+@@ -16533,8 +17379,8 @@ LD_CXX \
  reload_flag_CXX \
  compiler_CXX \
  lt_prog_compiler_no_builtin_flag_CXX \
@@ -12558,7 +12557,7 @@
  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 \
+@@ -16546,7 +17392,6 @@ no_undefined_flag_CXX \
  hardcode_libdir_flag_spec_CXX \
  hardcode_libdir_flag_spec_ld_CXX \
  hardcode_libdir_separator_CXX \
@@ -12566,7 +12565,7 @@
  exclude_expsyms_CXX \
  include_expsyms_CXX \
  file_list_spec_CXX \
-@@ -16598,6 +17443,7 @@ module_cmds \
+@@ -16580,6 +17425,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -12574,7 +12573,7 @@
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -16612,7 +17458,8 @@ archive_expsym_cmds_CXX \
+@@ -16594,7 +17440,8 @@ archive_expsym_cmds_CXX \
  module_cmds_CXX \
  module_expsym_cmds_CXX \
  export_symbols_cmds_CXX \
@@ -12584,7 +12583,7 @@
      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" |
+@@ -17348,7 +18195,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,
@@ -12594,7 +12593,7 @@
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -17469,19 +18317,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -17451,19 +18299,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -12638,7 +12637,7 @@
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -17511,6 +18382,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -17493,6 +18364,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
  
@@ -12651,7 +12650,7 @@
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -17520,6 +18397,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -17502,6 +18379,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -12661,7 +12660,7 @@
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -17634,12 +18514,12 @@ with_gcc=$GCC
+@@ -17616,12 +18496,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -12677,7 +12676,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -17726,9 +18606,6 @@ inherit_rpath=$inherit_rpath
+@@ -17708,9 +18588,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -12687,7 +12686,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -17744,6 +18621,9 @@ include_expsyms=$lt_include_expsyms
+@@ -17726,6 +18603,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -12697,7 +12696,7 @@
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -17790,210 +18670,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -17772,210 +18652,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?
@@ -13071,7 +13070,7 @@
      (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
    chmod +x "$ofile"
  
-@@ -18021,12 +18860,12 @@ with_gcc=$GCC_CXX
+@@ -18003,12 +18842,12 @@ with_gcc=$GCC_CXX
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
  
@@ -13087,7 +13086,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static_CXX
  
-@@ -18113,9 +18952,6 @@ inherit_rpath=$inherit_rpath_CXX
+@@ -18095,9 +18934,6 @@ inherit_rpath=$inherit_rpath_CXX
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs_CXX
  
@@ -13097,7 +13096,7 @@
  # 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
+@@ -18113,6 +18949,9 @@ include_expsyms=$lt_include_expsyms_CXX
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds_CXX
  
@@ -13108,10 +13107,10 @@
  file_list_spec=$lt_file_list_spec_CXX
  
 diff --git a/gprofng/src/Makefile.in b/gprofng/src/Makefile.in
-index 605fa4f6fd4..313c4ceb4ca 100644
+index b881268b0d9..cfc98458e79 100644
 --- a/gprofng/src/Makefile.in
 +++ b/gprofng/src/Makefile.in
-@@ -324,6 +324,7 @@ CXXFLAGS = @CXXFLAGS@
+@@ -321,6 +321,7 @@ CXXFLAGS = @CXXFLAGS@
  CYGPATH_W = @CYGPATH_W@
  DEFS = @DEFS@
  DEPDIR = @DEPDIR@
@@ -13119,7 +13118,7 @@
  DSYMUTIL = @DSYMUTIL@
  DUMPBIN = @DUMPBIN@
  ECHO_C = @ECHO_C@
-@@ -359,6 +360,7 @@ LN_S = @LN_S@
+@@ -356,6 +357,7 @@ LN_S = @LN_S@
  LTLIBOBJS = @LTLIBOBJS@
  MAINT = @MAINT@
  MAKEINFO = @MAKEINFO@
@@ -13128,7 +13127,7 @@
  NM = @NM@
  NMEDIT = @NMEDIT@
 diff --git a/ld/Makefile.in b/ld/Makefile.in
-index 08dcd7b75fc..17c58dd2fd0 100644
+index c21c554e432..729e1f47e85 100644
 --- a/ld/Makefile.in
 +++ b/ld/Makefile.in
 @@ -384,6 +384,7 @@ CYGPATH_W = @CYGPATH_W@
@@ -13156,7 +13155,7 @@
  ac_ct_CXX = @ac_ct_CXX@
  ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 diff --git a/ld/configure b/ld/configure
-index 6406a42c442..21ab5b06709 100755
+index 29896853a90..9e93585f94e 100755
 --- a/ld/configure
 +++ b/ld/configure
 @@ -700,8 +700,11 @@ OTOOL
@@ -15762,18 +15761,150 @@
  file_list_spec=$lt_file_list_spec_CXX
  
 diff --git a/libbacktrace/Makefile.in b/libbacktrace/Makefile.in
-index 0a61880ba67..5889b0477cd 100644
+index 0a61880ba67..500756cd023 100644
 --- a/libbacktrace/Makefile.in
 +++ b/libbacktrace/Makefile.in
-@@ -827,6 +827,7 @@ CPP = @CPP@
+@@ -1,7 +1,7 @@
+-# Makefile.in generated by automake 1.15.1 from Makefile.am.
++# Makefile.in generated by automake 1.16.5 from Makefile.am.
+ # @configure_input@
+ 
+-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
++# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+ 
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -189,6 +189,35 @@ CONFIG_HEADER = config.h
+ CONFIG_CLEAN_FILES = backtrace-supported.h \
+ 	install-debuginfo-for-buildid.sh
+ CONFIG_CLEAN_VPATH_FILES =
++@NATIVE_TRUE@am__EXEEXT_1 = allocfail$(EXEEXT)
++@HAVE_ELF_TRUE@@HAVE_OBJCOPY_DEBUGLINK_TRUE@@NATIVE_TRUE@am__EXEEXT_2 = b2test$(EXEEXT)
++@HAVE_DWZ_TRUE@@HAVE_ELF_TRUE@@HAVE_OBJCOPY_DEBUGLINK_TRUE@@NATIVE_TRUE@am__EXEEXT_3 = b3test$(EXEEXT)
++@NATIVE_TRUE@am__EXEEXT_4 = test_elf_32$(EXEEXT) test_elf_64$(EXEEXT) \
++@NATIVE_TRUE@	test_macho$(EXEEXT) test_xcoff_32$(EXEEXT) \
++@NATIVE_TRUE@	test_xcoff_64$(EXEEXT) test_pecoff$(EXEEXT) \
++@NATIVE_TRUE@	test_unknown$(EXEEXT) unittest$(EXEEXT) \
++@NATIVE_TRUE@	unittest_alloc$(EXEEXT) btest$(EXEEXT)
++@HAVE_ELF_TRUE@@NATIVE_TRUE@am__EXEEXT_5 = btest_lto$(EXEEXT)
++@NATIVE_TRUE@am__EXEEXT_6 = btest_alloc$(EXEEXT) stest$(EXEEXT) \
++@NATIVE_TRUE@	stest_alloc$(EXEEXT)
++@HAVE_ELF_TRUE@@NATIVE_TRUE@am__EXEEXT_7 = ztest$(EXEEXT) \
++@HAVE_ELF_TRUE@@NATIVE_TRUE@	ztest_alloc$(EXEEXT)
++@NATIVE_TRUE@am__EXEEXT_8 = edtest$(EXEEXT) edtest_alloc$(EXEEXT)
++@HAVE_PTHREAD_TRUE@@NATIVE_TRUE@am__EXEEXT_9 = ttest$(EXEEXT) \
++@HAVE_PTHREAD_TRUE@@NATIVE_TRUE@	ttest_alloc$(EXEEXT)
++@HAVE_COMPRESSED_DEBUG_TRUE@@NATIVE_TRUE@am__EXEEXT_10 =  \
++@HAVE_COMPRESSED_DEBUG_TRUE@@NATIVE_TRUE@	ctestg$(EXEEXT) \
++@HAVE_COMPRESSED_DEBUG_TRUE@@NATIVE_TRUE@	ctesta$(EXEEXT) \
++@HAVE_COMPRESSED_DEBUG_TRUE@@NATIVE_TRUE@	ctestg_alloc$(EXEEXT) \
++@HAVE_COMPRESSED_DEBUG_TRUE@@NATIVE_TRUE@	ctesta_alloc$(EXEEXT)
++@HAVE_DWARF5_TRUE@@NATIVE_TRUE@am__EXEEXT_11 = dwarf5$(EXEEXT) \
++@HAVE_DWARF5_TRUE@@NATIVE_TRUE@	dwarf5_alloc$(EXEEXT)
++@NATIVE_TRUE@am__EXEEXT_12 = mtest$(EXEEXT)
++@HAVE_ELF_TRUE@am__EXEEXT_13 = xztest$(EXEEXT) xztest_alloc$(EXEEXT)
++am__EXEEXT_14 = $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) \
++	$(am__EXEEXT_7) $(am__EXEEXT_8) $(am__EXEEXT_9) \
++	$(am__EXEEXT_10) $(am__EXEEXT_11) $(am__EXEEXT_12) \
++	$(am__EXEEXT_13)
+ LTLIBRARIES = $(noinst_LTLIBRARIES)
+ am__DEPENDENCIES_1 =
+ am_libbacktrace_la_OBJECTS = atomic.lo dwarf.lo fileline.lo posix.lo \
+@@ -220,35 +249,6 @@ libbacktrace_instrumented_alloc_la_OBJECTS =  \
+ libbacktrace_noformat_la_OBJECTS =  \
+ 	$(am_libbacktrace_noformat_la_OBJECTS)
+ @NATIVE_TRUE@am_libbacktrace_noformat_la_rpath =
+-@NATIVE_TRUE@am__EXEEXT_1 = allocfail$(EXEEXT)
+-@HAVE_ELF_TRUE@@HAVE_OBJCOPY_DEBUGLINK_TRUE@@NATIVE_TRUE@am__EXEEXT_2 = b2test$(EXEEXT)
+-@HAVE_DWZ_TRUE@@HAVE_ELF_TRUE@@HAVE_OBJCOPY_DEBUGLINK_TRUE@@NATIVE_TRUE@am__EXEEXT_3 = b3test$(EXEEXT)
+-@NATIVE_TRUE@am__EXEEXT_4 = test_elf_32$(EXEEXT) test_elf_64$(EXEEXT) \
+-@NATIVE_TRUE@	test_macho$(EXEEXT) test_xcoff_32$(EXEEXT) \
+-@NATIVE_TRUE@	test_xcoff_64$(EXEEXT) test_pecoff$(EXEEXT) \
+-@NATIVE_TRUE@	test_unknown$(EXEEXT) unittest$(EXEEXT) \
+-@NATIVE_TRUE@	unittest_alloc$(EXEEXT) btest$(EXEEXT)
+-@HAVE_ELF_TRUE@@NATIVE_TRUE@am__EXEEXT_5 = btest_lto$(EXEEXT)
+-@NATIVE_TRUE@am__EXEEXT_6 = btest_alloc$(EXEEXT) stest$(EXEEXT) \
+-@NATIVE_TRUE@	stest_alloc$(EXEEXT)
+-@HAVE_ELF_TRUE@@NATIVE_TRUE@am__EXEEXT_7 = ztest$(EXEEXT) \
+-@HAVE_ELF_TRUE@@NATIVE_TRUE@	ztest_alloc$(EXEEXT)
+-@NATIVE_TRUE@am__EXEEXT_8 = edtest$(EXEEXT) edtest_alloc$(EXEEXT)
+-@HAVE_PTHREAD_TRUE@@NATIVE_TRUE@am__EXEEXT_9 = ttest$(EXEEXT) \
+-@HAVE_PTHREAD_TRUE@@NATIVE_TRUE@	ttest_alloc$(EXEEXT)
+-@HAVE_COMPRESSED_DEBUG_TRUE@@NATIVE_TRUE@am__EXEEXT_10 =  \
+-@HAVE_COMPRESSED_DEBUG_TRUE@@NATIVE_TRUE@	ctestg$(EXEEXT) \
+-@HAVE_COMPRESSED_DEBUG_TRUE@@NATIVE_TRUE@	ctesta$(EXEEXT) \
+-@HAVE_COMPRESSED_DEBUG_TRUE@@NATIVE_TRUE@	ctestg_alloc$(EXEEXT) \
+-@HAVE_COMPRESSED_DEBUG_TRUE@@NATIVE_TRUE@	ctesta_alloc$(EXEEXT)
+-@HAVE_DWARF5_TRUE@@NATIVE_TRUE@am__EXEEXT_11 = dwarf5$(EXEEXT) \
+-@HAVE_DWARF5_TRUE@@NATIVE_TRUE@	dwarf5_alloc$(EXEEXT)
+-@NATIVE_TRUE@am__EXEEXT_12 = mtest$(EXEEXT)
+-@HAVE_ELF_TRUE@am__EXEEXT_13 = xztest$(EXEEXT) xztest_alloc$(EXEEXT)
+-am__EXEEXT_14 = $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) \
+-	$(am__EXEEXT_7) $(am__EXEEXT_8) $(am__EXEEXT_9) \
+-	$(am__EXEEXT_10) $(am__EXEEXT_11) $(am__EXEEXT_12) \
+-	$(am__EXEEXT_13)
+ @NATIVE_TRUE@am_allocfail_OBJECTS = allocfail-allocfail.$(OBJEXT) \
+ @NATIVE_TRUE@	allocfail-testlib.$(OBJEXT)
+ allocfail_OBJECTS = $(am_allocfail_OBJECTS)
+@@ -536,7 +536,7 @@ am__v_at_0 = @
+ am__v_at_1 = 
+ DEFAULT_INCLUDES = -I.@am__isrc@
+ depcomp =
+-am__depfiles_maybe =
++am__maybe_remake_depfiles =
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+@@ -579,8 +579,8 @@ am__can_run_installinfo = \
+     n|no|NO) false;; \
+     *) (install-info --version) >/dev/null 2>&1;; \
+   esac
+-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+-	$(LISP)config.h.in
++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
++	config.h.in
+ # Read a list of newline-separated strings from the standard input,
+ # and print each of them once, without duplicates.  Input order is
+ # *not* preserved.
+@@ -597,9 +597,6 @@ 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 check recheck
+ am__tty_colors_dummy = \
+   mgn= red= grn= lgn= blu= brg= std=; \
+@@ -783,6 +780,7 @@ am__set_TESTS_bases = \
+   bases='$(TEST_LOGS)'; \
+   bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+   bases=`echo $$bases`
++AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)'
+ RECHECK_LOGS = $(TEST_LOGS)
+ TEST_SUITE_LOG = test-suite.log
+ TEST_EXTENSIONS = @EXEEXT@ .test
+@@ -825,8 +823,11 @@ CLOCK_GETTIME_LINK = @CLOCK_GETTIME_LINK@
+ COMM = @COMM@
+ CPP = @CPP@
  CPPFLAGS = @CPPFLAGS@
++CSCOPE = @CSCOPE@
++CTAGS = @CTAGS@
  CYGPATH_W = @CYGPATH_W@
  DEFS = @DEFS@
 +DLLTOOL = @DLLTOOL@
  DSYMUTIL = @DSYMUTIL@
  DUMPBIN = @DUMPBIN@
  DWZ = @DWZ@
-@@ -854,6 +855,7 @@ LN_S = @LN_S@
+@@ -834,6 +835,7 @@ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
++ETAGS = @ETAGS@
+ EXEEXT = @EXEEXT@
+ EXTRA_FLAGS = @EXTRA_FLAGS@
+ FGREP = @FGREP@
+@@ -854,6 +856,7 @@ LN_S = @LN_S@
  LTLIBOBJS = @LTLIBOBJS@
  MAINT = @MAINT@
  MAKEINFO = @MAKEINFO@
@@ -15781,7 +15912,7 @@
  MKDIR_P = @MKDIR_P@
  NM = @NM@
  NMEDIT = @NMEDIT@
-@@ -886,6 +888,7 @@ abs_builddir = @abs_builddir@
+@@ -886,6 +889,7 @@ abs_builddir = @abs_builddir@
  abs_srcdir = @abs_srcdir@
  abs_top_builddir = @abs_top_builddir@
  abs_top_srcdir = @abs_top_srcdir@
@@ -15789,8 +15920,331 @@
  ac_ct_CC = @ac_ct_CC@
  ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
  am__leading_dot = @am__leading_dot@
+@@ -1178,8 +1182,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ 	    echo ' $(SHELL) ./config.status'; \
+ 	    $(SHELL) ./config.status;; \
+ 	  *) \
+-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+-	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
++	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
++	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
+ 	esac;
+ $(top_srcdir)/../multilib.am $(am__empty):
+ 
+@@ -1211,6 +1215,15 @@ backtrace-supported.h: $(top_builddir)/config.status $(srcdir)/backtrace-support
+ install-debuginfo-for-buildid.sh: $(top_builddir)/config.status $(srcdir)/install-debuginfo-for-buildid.sh.in
+ 	cd $(top_builddir) && $(SHELL) ./config.status $@
+ 
++clean-checkPROGRAMS:
++	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
++	echo " rm -f" $$list; \
++	rm -f $$list || exit $$?; \
++	test -n "$(EXEEXT)" || exit 0; \
++	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
++	echo " rm -f" $$list; \
++	rm -f $$list
++
+ clean-checkLTLIBRARIES:
+ 	-test -z "$(check_LTLIBRARIES)" || rm -f $(check_LTLIBRARIES)
+ 	@list='$(check_LTLIBRARIES)'; \
+@@ -1248,15 +1261,6 @@ libbacktrace_instrumented_alloc.la: $(libbacktrace_instrumented_alloc_la_OBJECTS
+ libbacktrace_noformat.la: $(libbacktrace_noformat_la_OBJECTS) $(libbacktrace_noformat_la_DEPENDENCIES) $(EXTRA_libbacktrace_noformat_la_DEPENDENCIES) 
+ 	$(AM_V_CCLD)$(LINK) $(am_libbacktrace_noformat_la_rpath) $(libbacktrace_noformat_la_OBJECTS) $(libbacktrace_noformat_la_LIBADD) $(LIBS)
+ 
+-clean-checkPROGRAMS:
+-	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+-	echo " rm -f" $$list; \
+-	rm -f $$list || exit $$?; \
+-	test -n "$(EXEEXT)" || exit 0; \
+-	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+-	echo " rm -f" $$list; \
+-	rm -f $$list
+-
+ allocfail$(EXEEXT): $(allocfail_OBJECTS) $(allocfail_DEPENDENCIES) $(EXTRA_allocfail_DEPENDENCIES) 
+ 	@rm -f allocfail$(EXEEXT)
+ 	$(AM_V_CCLD)$(allocfail_LINK) $(allocfail_OBJECTS) $(allocfail_LDADD) $(LIBS)
+@@ -1959,7 +1963,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
+ 	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
+ 	fi;								\
+ 	echo "$${col}$$br$${std}"; 					\
+-	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
++	echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}";	\
+ 	echo "$${col}$$br$${std}"; 					\
+ 	create_testsuite_report --maybe-color;				\
+ 	echo "$$col$$br$$std";						\
+@@ -1972,7 +1976,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
+ 	fi;								\
+ 	$$success || exit 1
+ 
+-check-TESTS:
++check-TESTS: $(check_PROGRAMS) $(check_LTLIBRARIES) $(check_DATA)
+ 	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+ 	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+ 	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+@@ -1982,7 +1986,7 @@ check-TESTS:
+ 	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+ 	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+ 	exit $$?;
+-recheck: all $(check_LTLIBRARIES) $(check_PROGRAMS) $(check_DATA)
++recheck: all $(check_PROGRAMS) $(check_LTLIBRARIES) $(check_DATA)
+ 	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ 	@set +e; $(am__set_TESTS_bases); \
+ 	bases=`for i in $$bases; do echo $$i; done \
+@@ -2260,7 +2264,7 @@ xztest_alloc.log: xztest_alloc$(EXEEXT)
+ @am__EXEEXT_TRUE@	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+ @am__EXEEXT_TRUE@	"$$tst" $(AM_TESTS_FD_REDIRECT)
+ check-am: all-am
+-	$(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS) \
++	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_LTLIBRARIES) \
+ 	  $(check_DATA)
+ 	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+ check: check-am
+diff --git a/libbacktrace/aclocal.m4 b/libbacktrace/aclocal.m4
+index 528e6173930..d88a5ec84f2 100644
+--- a/libbacktrace/aclocal.m4
++++ b/libbacktrace/aclocal.m4
+@@ -1,6 +1,6 @@
+-# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
++# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
+ 
+-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
++# Copyright (C) 1996-2021 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-2017 Free Software Foundation, Inc.
++# Copyright (C) 2002-2021 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.15'
++[am__api_version='1.16'
+ 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.15.1], [],
++m4_if([$1], [1.16.5], [],
+       [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.15.1])dnl
++[AM_AUTOMAKE_VERSION([1.16.5])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-2017 Free Software Foundation, Inc.
++# Copyright (C) 2001-2021 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-2017 Free Software Foundation, Inc.
++# Copyright (C) 1997-2021 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -143,7 +143,7 @@ fi])])
+ 
+ # Do all the work for Automake.                             -*- Autoconf -*-
+ 
+-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
++# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -171,6 +171,10 @@ 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
+@@ -207,7 +211,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_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
++  m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([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
+@@ -230,8 +234,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:
+-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
++# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
++# <https://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.
+@@ -259,6 +263,20 @@ 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
+@@ -298,7 +316,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: <http://www.gnu.org/software/coreutils/>.
++that behaves properly: <https://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
+@@ -340,7 +358,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-2017 Free Software Foundation, Inc.
++# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -364,7 +382,7 @@ AC_SUBST([install_sh])])
+ # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+ # From Jim Meyering
+ 
+-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
++# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -399,7 +417,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ 
+ # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+ 
+-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
++# Copyright (C) 1997-2021 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -420,12 +438,7 @@ 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
+-  case $am_aux_dir in
+-  *\ * | *\	*)
+-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+-  *)
+-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+-  esac
++  MISSING="\${SHELL} '$am_aux_dir/missing'"
+ fi
+ # Use eval to expand $SHELL
+ if eval "$MISSING --is-lightweight"; then
+@@ -438,7 +451,7 @@ fi
+ 
+ # Helper functions for option handling.                     -*- Autoconf -*-
+ 
+-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
++# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -467,7 +480,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
+ AC_DEFUN([_AM_IF_OPTION],
+ [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+ 
+-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
++# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -514,7 +527,7 @@ AC_LANG_POP([C])])
+ # For backward compatibility.
+ AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+ 
+-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
++# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -533,7 +546,7 @@ AC_DEFUN([AM_RUN_LOG],
+ 
+ # Check to make sure that the build environment is sane.    -*- Autoconf -*-
+ 
+-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
++# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -614,7 +627,7 @@ AC_CONFIG_COMMANDS_PRE(
+ rm -f conftest.file
+ ])
+ 
+-# Copyright (C) 2009-2017 Free Software Foundation, Inc.
++# Copyright (C) 2009-2021 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -674,7 +687,7 @@ AC_SUBST([AM_BACKSLASH])dnl
+ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+ ])
+ 
+-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
++# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -702,7 +715,7 @@ fi
+ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+ AC_SUBST([INSTALL_STRIP_PROGRAM])])
+ 
+-# Copyright (C) 2006-2017 Free Software Foundation, Inc.
++# Copyright (C) 2006-2021 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -721,7 +734,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+ 
+ # Check how to create a tarball.                            -*- Autoconf -*-
+ 
+-# Copyright (C) 2004-2017 Free Software Foundation, Inc.
++# Copyright (C) 2004-2021 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/libbacktrace/configure b/libbacktrace/configure
-index 406b67b8cbc..b648da40aab 100755
+index 406b67b8cbc..51f0a264cb7 100755
 --- a/libbacktrace/configure
 +++ b/libbacktrace/configure
 @@ -680,7 +680,10 @@ OTOOL
@@ -15804,7 +16258,17 @@
  OBJDUMP
  LN_S
  NM
-@@ -798,6 +801,7 @@ enable_static
+@@ -701,6 +704,9 @@ AM_BACKSLASH
+ AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V
+ AM_V
++CSCOPE
++ETAGS
++CTAGS
+ am__untar
+ am__tar
+ AMTAR
+@@ -798,6 +804,7 @@ enable_static
  with_pic
  enable_fast_install
  with_gnu_ld
@@ -15812,7 +16276,7 @@
  enable_libtool_lock
  enable_largefile
  enable_cet
-@@ -1458,6 +1462,8 @@ Optional Packages:
+@@ -1458,6 +1465,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]
@@ -15821,7 +16285,71 @@
    --with-system-libunwind use installed libunwind
  
  Some influential environment variables:
-@@ -5446,8 +5452,8 @@ esac
+@@ -4047,7 +4056,7 @@ libtool_VERSION=1:0:0
+ # -Wall: Issue all automake warnings.
+ # -Wno-portability: Don't warn about constructs supported by GNU make.
+ #    (because GCC requires GNU make anyhow).
+-am__api_version='1.15'
++am__api_version='1.16'
+ 
+ # Find a good install program.  We prefer a C program (faster),
+ # so one script is as good as another.  But avoid the broken or
+@@ -4220,12 +4229,7 @@ ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+ 
+ if test x"${MISSING+set}" != xset; then
+-  case $am_aux_dir in
+-  *\ * | *\	*)
+-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+-  *)
+-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+-  esac
++  MISSING="\${SHELL} '$am_aux_dir/missing'"
+ fi
+ # Use eval to expand $SHELL
+ if eval "$MISSING --is-lightweight"; then
+@@ -4551,8 +4555,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:
+-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
++# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
++# <https://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
+@@ -4571,6 +4575,20 @@ 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
+@@ -4603,7 +4621,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: <http://www.gnu.org/software/coreutils/>.
++that behaves properly: <https://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
+@@ -5446,8 +5464,8 @@ esac
  
  
  
@@ -15832,7 +16360,7 @@
  
  
  
-@@ -5487,7 +5493,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -5487,7 +5505,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.
@@ -15841,7 +16369,7 @@
     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
-@@ -6180,8 +6186,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -6180,8 +6198,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"
@@ -15852,7 +16380,7 @@
      && eval 'test $(( 1 + 1 )) -eq 2 \
      && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
    && xsi_shell=yes
-@@ -6230,6 +6236,80 @@ esac
+@@ -6230,6 +6248,80 @@ esac
  
  
  
@@ -15933,7 +16461,7 @@
  { $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 :
-@@ -6246,6 +6326,11 @@ case $reload_flag in
+@@ -6246,6 +6338,11 @@ case $reload_flag in
  esac
  reload_cmds='$LD$reload_flag -o $output$reload_objs'
  case $host_os in
@@ -15945,7 +16473,7 @@
    darwin*)
      if test "$GCC" = yes; then
        reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6414,7 +6499,8 @@ mingw* | pw32*)
+@@ -6414,7 +6511,8 @@ mingw* | pw32*)
      lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
      lt_cv_file_magic_cmd='func_win32_libid'
    else
@@ -15955,7 +16483,7 @@
      lt_cv_file_magic_cmd='$OBJDUMP -f'
    fi
    ;;
-@@ -6568,6 +6654,21 @@ esac
+@@ -6568,6 +6666,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; }
@@ -15977,7 +16505,7 @@
  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
-@@ -6583,6 +6684,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6583,6 +6696,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
  
  
  
@@ -16135,7 +16663,7 @@
  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
+@@ -6597,8 +6861,10 @@ for plugin in $plugin_names; do
  done
  
  if test -n "$ac_tool_prefix"; then
@@ -16148,7 +16676,7 @@
  { $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 :
-@@ -6614,7 +6868,7 @@ do
+@@ -6614,7 +6880,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
@@ -16157,7 +16685,7 @@
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -6634,11 +6888,15 @@ $as_echo "no" >&6; }
+@@ -6634,11 +6900,15 @@ $as_echo "no" >&6; }
  fi
  
  
@@ -16176,7 +16704,7 @@
  { $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 :
-@@ -6654,7 +6912,7 @@ do
+@@ -6654,7 +6924,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
@@ -16185,7 +16713,7 @@
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -6673,6 +6931,10 @@ else
+@@ -6673,6 +6943,10 @@ else
  $as_echo "no" >&6; }
  fi
  
@@ -16196,7 +16724,7 @@
    if test "x$ac_ct_AR" = x; then
      AR="false"
    else
-@@ -6684,25 +6946,19 @@ ac_tool_warned=yes ;;
+@@ -6684,31 +6958,83 @@ ac_tool_warned=yes ;;
  esac
      AR=$ac_ct_AR
    fi
@@ -16228,10 +16756,14 @@
 +  rm -f conftest.*
 +: ${AR=ar}
 +: ${AR_FLAGS=cru}
++
++
++
++
++
  
  
  
-@@ -6714,6 +6970,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
  
  
  
@@ -16288,15 +16820,10 @@
 +fi
 +
 +
-+
-+
-+
-+
-+
- 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
-@@ -7053,8 +7367,8 @@ esac
+ 
+ 
+ 
+@@ -7053,8 +7379,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
@@ -16307,7 +16834,7 @@
  
  # Handle CRLF in mingw tool chain
  opt_cr=
-@@ -7090,6 +7404,7 @@ for ac_symprfx in "" "_"; do
+@@ -7090,6 +7416,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
@@ -16315,7 +16842,7 @@
  
    # Check to see that the pipe works correctly.
    pipe_works=no
-@@ -7131,6 +7446,18 @@ _LT_EOF
+@@ -7131,6 +7458,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
@@ -16334,7 +16861,7 @@
  #ifdef __cplusplus
  extern "C" {
  #endif
-@@ -7142,7 +7469,7 @@ _LT_EOF
+@@ -7142,7 +7481,7 @@ _LT_EOF
  	  cat <<_LT_EOF >> conftest.$ac_ext
  
  /* The mapping between symbol names and symbols.  */
@@ -16343,7 +16870,7 @@
    const char *name;
    void       *address;
  }
-@@ -7168,8 +7495,8 @@ static const void *lt_preloaded_setup() {
+@@ -7168,8 +7507,8 @@ static const void *lt_preloaded_setup() {
  _LT_EOF
  	  # Now try linking the two files.
  	  mv conftest.$ac_objext conftstm.$ac_objext
@@ -16354,7 +16881,7 @@
  	  LIBS="conftstm.$ac_objext"
  	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
  	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7179,8 +7506,8 @@ _LT_EOF
+@@ -7179,8 +7518,8 @@ _LT_EOF
    test $ac_status = 0; } && test -s conftest${ac_exeext}; then
  	    pipe_works=yes
  	  fi
@@ -16365,7 +16892,7 @@
  	else
  	  echo "cannot find nm_test_func in $nlist" >&5
  	fi
-@@ -7217,6 +7544,18 @@ else
+@@ -7217,6 +7556,18 @@ else
  $as_echo "ok" >&6; }
  fi
  
@@ -16384,7 +16911,7 @@
  
  
  
-@@ -7233,6 +7572,43 @@ fi
+@@ -7233,6 +7584,43 @@ fi
  
  
  
@@ -16428,10 +16955,56 @@
  
  
  
-@@ -7444,6 +7820,123 @@ esac
- 
- need_locks="$enable_libtool_lock"
- 
+@@ -7399,50 +7787,167 @@ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+   lt_cv_cc_needs_belf=yes
+ else
+-  lt_cv_cc_needs_belf=no
++  lt_cv_cc_needs_belf=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++    conftest$ac_exeext conftest.$ac_ext
++     ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++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"
++  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
@@ -16507,8 +17080,21 @@
 +else
 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 +$as_echo "no" >&6; }
-+fi
-+
+ fi
+-rm -f core conftest.err conftest.$ac_objext \
+-    conftest$ac_exeext conftest.$ac_ext
+-     ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ 
+-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"
 +  if test "x$ac_ct_MANIFEST_TOOL" = x; then
 +    MANIFEST_TOOL=":"
 +  else
@@ -16519,7 +17105,28 @@
 +ac_tool_warned=yes ;;
 +esac
 +    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-+  fi
+   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
 +else
 +  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
 +fi
@@ -16536,7 +17143,10 @@
 +  cat conftest.err >&5
 +  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
 +    lt_cv_path_mainfest_tool=yes
-+  fi
+   fi
+-  rm -rf conftest*
+-  ;;
+-esac
 +  rm -f conftest*
 +fi
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
@@ -16547,12 +17157,12 @@
 +
 +
 +
-+
-+
+ 
+-need_locks="$enable_libtool_lock"
+ 
  
    case $host_os in
-     rhapsody* | darwin*)
-@@ -8007,6 +8500,8 @@ _LT_EOF
+@@ -8007,6 +8512,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
@@ -16561,7 +17171,7 @@
        cat > conftest.c << _LT_EOF
  int main() { return 0;}
  _LT_EOF
-@@ -8589,8 +9084,6 @@ fi
+@@ -8589,8 +9096,6 @@ fi
  lt_prog_compiler_pic=
  lt_prog_compiler_static=
  
@@ -16570,7 +17180,7 @@
  
    if test "$GCC" = yes; then
      lt_prog_compiler_wl='-Wl,'
-@@ -8756,6 +9249,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8756,6 +9261,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  	lt_prog_compiler_pic='--shared'
  	lt_prog_compiler_static='--static'
  	;;
@@ -16583,7 +17193,7 @@
        pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
          # Portland Group compilers (*not* the Pentium gcc compiler,
  	# which looks to be a dead project)
-@@ -8818,7 +9317,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8818,7 +9329,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
@@ -16592,7 +17202,7 @@
  	lt_prog_compiler_wl='-Qoption ld ';;
        *)
  	lt_prog_compiler_wl='-Wl,';;
-@@ -8875,13 +9374,17 @@ case $host_os in
+@@ -8875,13 +9386,17 @@ case $host_os in
      lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
      ;;
  esac
@@ -16616,7 +17226,7 @@
  
  #
  # Check to make sure the PIC flag actually works.
-@@ -8942,6 +9445,11 @@ fi
+@@ -8942,6 +9457,11 @@ fi
  
  
  
@@ -16628,7 +17238,7 @@
  #
  # Check to make sure the static flag actually works.
  #
-@@ -9292,7 +9800,8 @@ _LT_EOF
+@@ -9292,7 +9812,8 @@ _LT_EOF
        allow_undefined_flag=unsupported
        always_export_symbols=no
        enable_shared_with_static_runtimes=yes
@@ -16638,7 +17248,7 @@
  
        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'
-@@ -9391,12 +9900,12 @@ _LT_EOF
+@@ -9391,12 +9912,12 @@ _LT_EOF
  	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
  	  hardcode_libdir_flag_spec=
  	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -16653,7 +17263,7 @@
  	  fi
  	  ;;
  	esac
-@@ -9410,8 +9919,8 @@ _LT_EOF
+@@ -9410,8 +9931,8 @@ _LT_EOF
  	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
  	wlarc=
        else
@@ -16664,7 +17274,7 @@
        fi
        ;;
  
-@@ -9429,8 +9938,8 @@ _LT_EOF
+@@ -9429,8 +9950,8 @@ _LT_EOF
  
  _LT_EOF
        elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -16675,7 +17285,7 @@
        else
  	ld_shlibs=no
        fi
-@@ -9476,8 +9985,8 @@ _LT_EOF
+@@ -9476,8 +9997,8 @@ _LT_EOF
  
      *)
        if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -16686,7 +17296,7 @@
        else
  	ld_shlibs=no
        fi
-@@ -9607,7 +10116,13 @@ _LT_EOF
+@@ -9607,7 +10128,13 @@ _LT_EOF
  	allow_undefined_flag='-berok'
          # Determine the default libpath from the value encoded in an
          # empty executable.
@@ -16701,7 +17311,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -9620,22 +10135,29 @@ main ()
+@@ -9620,22 +10147,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -16744,7 +17354,7 @@
  
          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"
-@@ -9647,7 +10169,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9647,7 +10181,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.
@@ -16759,7 +17369,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -9660,22 +10188,29 @@ main ()
+@@ -9660,22 +10200,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -16802,7 +17412,7 @@
  
  	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
  	  # Warning - without using the other run time loading flags,
-@@ -9720,20 +10255,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9720,20 +10267,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.
@@ -16880,7 +17490,7 @@
        ;;
  
      darwin* | rhapsody*)
-@@ -9794,7 +10372,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9794,7 +10384,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*)
@@ -16889,7 +17499,7 @@
        hardcode_libdir_flag_spec='-R$libdir'
        hardcode_direct=yes
        hardcode_shlibpath_var=no
-@@ -9802,7 +10380,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9802,7 +10392,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
      hpux9*)
        if test "$GCC" = yes; then
@@ -16898,7 +17508,7 @@
        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
-@@ -9818,7 +10396,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9818,7 +10408,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
      hpux10*)
        if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -16907,7 +17517,7 @@
        else
  	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
        fi
-@@ -9842,10 +10420,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9842,10 +10432,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*)
@@ -16920,7 +17530,7 @@
  	  ;;
  	esac
        else
-@@ -9924,23 +10502,36 @@ fi
+@@ -9924,23 +10514,36 @@ fi
  
      irix5* | irix6* | nonstopux*)
        if test "$GCC" = yes; then
@@ -16965,7 +17575,7 @@
        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'
-@@ -10025,7 +10616,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10025,7 +10628,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}\*'
@@ -16974,7 +17584,7 @@
  	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
        else
  	allow_undefined_flag=' -expect_unresolved \*'
-@@ -10044,9 +10635,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10044,9 +10647,9 @@ rm -f core conftest.err conftest.$ac_objext \
        no_undefined_flag=' -z defs'
        if test "$GCC" = yes; then
  	wlarc='${wl}'
@@ -16986,7 +17596,7 @@
        else
  	case `$CC -V 2>&1` in
  	*"Compilers 5.0"*)
-@@ -10622,8 +11213,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10622,8 +11225,9 @@ cygwin* | mingw* | pw32* | cegcc*)
    need_version=no
    need_lib_prefix=no
  
@@ -16998,7 +17608,7 @@
      library_names_spec='$libname.dll.a'
      # DLL is installed to $(libdir)/../bin by postinstall_cmds
      postinstall_cmds='base_file=`basename \${file}`~
-@@ -10656,13 +11248,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10656,13 +11260,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
@@ -17071,7 +17681,7 @@
    # FIXME: first we should search . and the directory the executable is in
    shlibpath_var=PATH
    ;;
-@@ -11540,7 +12190,7 @@ else
+@@ -11540,7 +12202,7 @@ else
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
@@ -17080,7 +17690,7 @@
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -11584,10 +12234,10 @@ else
+@@ -11584,10 +12246,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))
@@ -17093,7 +17703,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11646,7 +12296,7 @@ else
+@@ -11646,7 +12308,7 @@ else
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
@@ -17102,7 +17712,7 @@
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -11690,10 +12340,10 @@ else
+@@ -11690,10 +12352,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))
@@ -17115,7 +17725,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -14979,13 +15629,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -14979,13 +15641,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"`'
@@ -17136,7 +17746,7 @@
  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"`'
-@@ -15000,14 +15657,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -15000,14 +15669,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"`'
@@ -17155,7 +17765,7 @@
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -15040,12 +15700,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -15040,12 +15712,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"`'
@@ -17169,7 +17779,7 @@
  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"`'
-@@ -15100,8 +15760,13 @@ reload_flag \
+@@ -15100,8 +15772,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -17183,7 +17793,7 @@
  STRIP \
  RANLIB \
  CC \
-@@ -15111,12 +15776,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -15111,12 +15788,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 \
@@ -17199,7 +17809,7 @@
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -15132,7 +15799,6 @@ no_undefined_flag \
+@@ -15132,7 +15811,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -17207,7 +17817,7 @@
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -15168,6 +15834,7 @@ module_cmds \
+@@ -15168,6 +15846,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -17215,7 +17825,7 @@
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -15866,7 +16533,8 @@ esac ;;
+@@ -15866,7 +16545,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,
@@ -17225,7 +17835,7 @@
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -15969,19 +16637,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -15969,19 +16649,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -17269,7 +17879,7 @@
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -16011,6 +16702,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -16011,6 +16714,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
  
@@ -17282,7 +17892,7 @@
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -16020,6 +16717,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -16020,6 +16729,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -17292,7 +17902,7 @@
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -16134,12 +16834,12 @@ with_gcc=$GCC
+@@ -16134,12 +16846,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -17308,7 +17918,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -16226,9 +16926,6 @@ inherit_rpath=$inherit_rpath
+@@ -16226,9 +16938,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -17318,7 +17928,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -16244,6 +16941,9 @@ include_expsyms=$lt_include_expsyms
+@@ -16244,6 +16953,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -17328,7 +17938,7 @@
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -16276,210 +16976,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -16276,210 +16988,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?
@@ -17703,10 +18313,10 @@
    chmod +x "$ofile"
  
 diff --git a/libctf/Makefile.in b/libctf/Makefile.in
-index f2b852e3fae..63e3b2e05ea 100644
+index 3d2696bcc47..3bad01c3c9b 100644
 --- a/libctf/Makefile.in
 +++ b/libctf/Makefile.in
-@@ -393,6 +393,7 @@ CYGPATH_W = @CYGPATH_W@
+@@ -392,6 +392,7 @@ CYGPATH_W = @CYGPATH_W@
  DATADIRNAME = @DATADIRNAME@
  DEFS = @DEFS@
  DEPDIR = @DEPDIR@
@@ -17723,10 +18333,10 @@
  NM = @NM@
  NMEDIT = @NMEDIT@
 diff --git a/libctf/configure b/libctf/configure
-index b347b292195..d6d6e341887 100755
+index a0e40f49a80..42bc002c2b9 100755
 --- a/libctf/configure
 +++ b/libctf/configure
-@@ -669,6 +669,8 @@ OTOOL
+@@ -668,6 +668,8 @@ OTOOL
  LIPO
  NMEDIT
  DSYMUTIL
@@ -17735,7 +18345,7 @@
  OBJDUMP
  LN_S
  NM
-@@ -800,6 +802,7 @@ enable_static
+@@ -799,6 +801,7 @@ enable_static
  with_pic
  enable_fast_install
  with_gnu_ld
@@ -17743,7 +18353,7 @@
  enable_libtool_lock
  enable_largefile
  enable_werror_always
-@@ -1463,6 +1466,8 @@ Optional Packages:
+@@ -1462,6 +1465,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]
@@ -17752,7 +18362,7 @@
    --with-system-zlib      use installed libz
  
  Some influential environment variables:
-@@ -5568,8 +5573,8 @@ esac
+@@ -5567,8 +5572,8 @@ esac
  
  
  
@@ -17763,7 +18373,7 @@
  
  
  
-@@ -5609,7 +5614,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -5608,7 +5613,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.
@@ -17772,7 +18382,7 @@
     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
-@@ -6302,8 +6307,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -6301,8 +6306,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"
@@ -17783,7 +18393,7 @@
      && eval 'test $(( 1 + 1 )) -eq 2 \
      && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
    && xsi_shell=yes
-@@ -6352,6 +6357,80 @@ esac
+@@ -6351,6 +6356,80 @@ esac
  
  
  
@@ -17864,7 +18474,7 @@
  { $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 :
-@@ -6368,6 +6447,11 @@ case $reload_flag in
+@@ -6367,6 +6446,11 @@ case $reload_flag in
  esac
  reload_cmds='$LD$reload_flag -o $output$reload_objs'
  case $host_os in
@@ -17876,7 +18486,7 @@
    darwin*)
      if test "$GCC" = yes; then
        reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6536,7 +6620,8 @@ mingw* | pw32*)
+@@ -6535,7 +6619,8 @@ mingw* | pw32*)
      lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
      lt_cv_file_magic_cmd='func_win32_libid'
    else
@@ -17886,7 +18496,7 @@
      lt_cv_file_magic_cmd='$OBJDUMP -f'
    fi
    ;;
-@@ -6690,6 +6775,21 @@ esac
+@@ -6689,6 +6774,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; }
@@ -17908,7 +18518,7 @@
  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
-@@ -6705,6 +6805,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6704,6 +6804,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
  
  
  
@@ -18066,7 +18676,7 @@
  plugin_option=
  plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
  for plugin in $plugin_names; do
-@@ -6719,8 +6970,10 @@ for plugin in $plugin_names; do
+@@ -6718,8 +6969,10 @@ for plugin in $plugin_names; do
  done
  
  if test -n "$ac_tool_prefix"; then
@@ -18079,7 +18689,7 @@
  { $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 :
-@@ -6736,7 +6989,7 @@ do
+@@ -6735,7 +6988,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
@@ -18088,7 +18698,7 @@
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -6756,11 +7009,15 @@ $as_echo "no" >&6; }
+@@ -6755,11 +7008,15 @@ $as_echo "no" >&6; }
  fi
  
  
@@ -18107,7 +18717,7 @@
  { $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 :
-@@ -6776,7 +7033,7 @@ do
+@@ -6775,7 +7032,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
@@ -18116,7 +18726,7 @@
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -6795,6 +7052,10 @@ else
+@@ -6794,6 +7051,10 @@ else
  $as_echo "no" >&6; }
  fi
  
@@ -18127,7 +18737,7 @@
    if test "x$ac_ct_AR" = x; then
      AR="false"
    else
-@@ -6806,25 +7067,19 @@ ac_tool_warned=yes ;;
+@@ -6805,25 +7066,19 @@ ac_tool_warned=yes ;;
  esac
      AR=$ac_ct_AR
    fi
@@ -18162,7 +18772,7 @@
  
  
  
-@@ -6836,6 +7091,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -6835,6 +7090,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
  
  
  
@@ -18227,7 +18837,7 @@
  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
-@@ -7175,8 +7488,8 @@ esac
+@@ -7174,8 +7487,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
@@ -18238,7 +18848,7 @@
  
  # Handle CRLF in mingw tool chain
  opt_cr=
-@@ -7212,6 +7525,7 @@ for ac_symprfx in "" "_"; do
+@@ -7211,6 +7524,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
@@ -18246,7 +18856,7 @@
  
    # Check to see that the pipe works correctly.
    pipe_works=no
-@@ -7253,6 +7567,18 @@ _LT_EOF
+@@ -7252,6 +7566,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
@@ -18265,7 +18875,7 @@
  #ifdef __cplusplus
  extern "C" {
  #endif
-@@ -7264,7 +7590,7 @@ _LT_EOF
+@@ -7263,7 +7589,7 @@ _LT_EOF
  	  cat <<_LT_EOF >> conftest.$ac_ext
  
  /* The mapping between symbol names and symbols.  */
@@ -18274,7 +18884,7 @@
    const char *name;
    void       *address;
  }
-@@ -7290,8 +7616,8 @@ static const void *lt_preloaded_setup() {
+@@ -7289,8 +7615,8 @@ static const void *lt_preloaded_setup() {
  _LT_EOF
  	  # Now try linking the two files.
  	  mv conftest.$ac_objext conftstm.$ac_objext
@@ -18285,7 +18895,7 @@
  	  LIBS="conftstm.$ac_objext"
  	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
  	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7301,8 +7627,8 @@ _LT_EOF
+@@ -7300,8 +7626,8 @@ _LT_EOF
    test $ac_status = 0; } && test -s conftest${ac_exeext}; then
  	    pipe_works=yes
  	  fi
@@ -18296,7 +18906,7 @@
  	else
  	  echo "cannot find nm_test_func in $nlist" >&5
  	fi
-@@ -7339,6 +7665,17 @@ else
+@@ -7338,6 +7664,17 @@ else
  $as_echo "ok" >&6; }
  fi
  
@@ -18314,7 +18924,7 @@
  
  
  
-@@ -7355,6 +7692,44 @@ fi
+@@ -7354,6 +7691,44 @@ fi
  
  
  
@@ -18359,7 +18969,7 @@
  
  
  
-@@ -7566,6 +7941,123 @@ esac
+@@ -7565,6 +7940,123 @@ esac
  
  need_locks="$enable_libtool_lock"
  
@@ -18483,7 +19093,7 @@
  
    case $host_os in
      rhapsody* | darwin*)
-@@ -8129,6 +8621,8 @@ _LT_EOF
+@@ -8128,6 +8620,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
@@ -18492,7 +19102,7 @@
        cat > conftest.c << _LT_EOF
  int main() { return 0;}
  _LT_EOF
-@@ -8681,8 +9175,6 @@ fi
+@@ -8680,8 +9174,6 @@ fi
  lt_prog_compiler_pic=
  lt_prog_compiler_static=
  
@@ -18501,7 +19111,7 @@
  
    if test "$GCC" = yes; then
      lt_prog_compiler_wl='-Wl,'
-@@ -8848,6 +9340,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8847,6 +9339,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  	lt_prog_compiler_pic='--shared'
  	lt_prog_compiler_static='--static'
  	;;
@@ -18514,7 +19124,7 @@
        pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
          # Portland Group compilers (*not* the Pentium gcc compiler,
  	# which looks to be a dead project)
-@@ -8910,7 +9408,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8909,7 +9407,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
@@ -18523,7 +19133,7 @@
  	lt_prog_compiler_wl='-Qoption ld ';;
        *)
  	lt_prog_compiler_wl='-Wl,';;
-@@ -8967,13 +9465,17 @@ case $host_os in
+@@ -8966,13 +9464,17 @@ case $host_os in
      lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
      ;;
  esac
@@ -18547,7 +19157,7 @@
  
  #
  # Check to make sure the PIC flag actually works.
-@@ -9034,6 +9536,11 @@ fi
+@@ -9033,6 +9535,11 @@ fi
  
  
  
@@ -18559,7 +19169,7 @@
  #
  # Check to make sure the static flag actually works.
  #
-@@ -9384,7 +9891,8 @@ _LT_EOF
+@@ -9383,7 +9890,8 @@ _LT_EOF
        allow_undefined_flag=unsupported
        always_export_symbols=no
        enable_shared_with_static_runtimes=yes
@@ -18569,7 +19179,7 @@
  
        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'
-@@ -9483,12 +9991,12 @@ _LT_EOF
+@@ -9482,12 +9990,12 @@ _LT_EOF
  	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
  	  hardcode_libdir_flag_spec=
  	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -18584,7 +19194,7 @@
  	  fi
  	  ;;
  	esac
-@@ -9502,8 +10010,8 @@ _LT_EOF
+@@ -9501,8 +10009,8 @@ _LT_EOF
  	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
  	wlarc=
        else
@@ -18595,7 +19205,7 @@
        fi
        ;;
  
-@@ -9521,8 +10029,8 @@ _LT_EOF
+@@ -9520,8 +10028,8 @@ _LT_EOF
  
  _LT_EOF
        elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -18606,7 +19216,7 @@
        else
  	ld_shlibs=no
        fi
-@@ -9568,8 +10076,8 @@ _LT_EOF
+@@ -9567,8 +10075,8 @@ _LT_EOF
  
      *)
        if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -18617,7 +19227,7 @@
        else
  	ld_shlibs=no
        fi
-@@ -9699,7 +10207,13 @@ _LT_EOF
+@@ -9698,7 +10206,13 @@ _LT_EOF
  	allow_undefined_flag='-berok'
          # Determine the default libpath from the value encoded in an
          # empty executable.
@@ -18632,7 +19242,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -9712,22 +10226,29 @@ main ()
+@@ -9711,22 +10225,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -18675,7 +19285,7 @@
  
          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"
-@@ -9739,7 +10260,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9738,7 +10259,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.
@@ -18690,7 +19300,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -9752,22 +10279,29 @@ main ()
+@@ -9751,22 +10278,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -18733,7 +19343,7 @@
  
  	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
  	  # Warning - without using the other run time loading flags,
-@@ -9812,20 +10346,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9811,20 +10345,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.
@@ -18811,7 +19421,7 @@
        ;;
  
      darwin* | rhapsody*)
-@@ -9886,7 +10463,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9885,7 +10462,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*)
@@ -18820,7 +19430,7 @@
        hardcode_libdir_flag_spec='-R$libdir'
        hardcode_direct=yes
        hardcode_shlibpath_var=no
-@@ -9894,7 +10471,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9893,7 +10470,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
      hpux9*)
        if test "$GCC" = yes; then
@@ -18829,7 +19439,7 @@
        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
-@@ -9910,7 +10487,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9909,7 +10486,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
      hpux10*)
        if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -18838,7 +19448,7 @@
        else
  	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
        fi
-@@ -9934,10 +10511,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9933,10 +10510,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*)
@@ -18851,7 +19461,7 @@
  	  ;;
  	esac
        else
-@@ -10016,23 +10593,36 @@ fi
+@@ -10015,23 +10592,36 @@ fi
  
      irix5* | irix6* | nonstopux*)
        if test "$GCC" = yes; then
@@ -18896,7 +19506,7 @@
        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'
-@@ -10117,7 +10707,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10116,7 +10706,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}\*'
@@ -18905,7 +19515,7 @@
  	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
        else
  	allow_undefined_flag=' -expect_unresolved \*'
-@@ -10136,9 +10726,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10135,9 +10725,9 @@ rm -f core conftest.err conftest.$ac_objext \
        no_undefined_flag=' -z defs'
        if test "$GCC" = yes; then
  	wlarc='${wl}'
@@ -18917,7 +19527,7 @@
        else
  	case `$CC -V 2>&1` in
  	*"Compilers 5.0"*)
-@@ -10714,8 +11304,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10713,8 +11303,9 @@ cygwin* | mingw* | pw32* | cegcc*)
    need_version=no
    need_lib_prefix=no
  
@@ -18929,7 +19539,7 @@
      library_names_spec='$libname.dll.a'
      # DLL is installed to $(libdir)/../bin by postinstall_cmds
      postinstall_cmds='base_file=`basename \${file}`~
-@@ -10748,13 +11339,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10747,13 +11338,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
@@ -19002,16 +19612,16 @@
    # FIXME: first we should search . and the directory the executable is in
    shlibpath_var=PATH
    ;;
-@@ -11632,7 +12281,7 @@ else
+@@ -11631,7 +12280,7 @@ else
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
--#line 11635 "configure"
+-#line 11634 "configure"
 +#line $LINENO "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -11676,10 +12325,10 @@ else
+@@ -11675,10 +12324,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))
@@ -19024,16 +19634,16 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11738,7 +12387,7 @@ else
+@@ -11737,7 +12386,7 @@ else
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
--#line 11741 "configure"
+-#line 11740 "configure"
 +#line $LINENO "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -11782,10 +12431,10 @@ else
+@@ -11781,10 +12430,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))
@@ -19046,7 +19656,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -15832,13 +16481,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -15825,13 +16474,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"`'
@@ -19067,7 +19677,7 @@
  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"`'
-@@ -15853,14 +16509,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -15846,14 +16502,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"`'
@@ -19086,7 +19696,7 @@
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -15893,12 +16552,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -15886,12 +16545,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"`'
@@ -19100,7 +19710,7 @@
  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"`'
-@@ -15953,8 +16612,13 @@ reload_flag \
+@@ -15946,8 +16605,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -19114,7 +19724,7 @@
  STRIP \
  RANLIB \
  CC \
-@@ -15964,12 +16628,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -15957,12 +16621,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 \
@@ -19130,7 +19740,7 @@
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -15985,7 +16651,6 @@ no_undefined_flag \
+@@ -15978,7 +16644,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -19138,7 +19748,7 @@
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -16021,6 +16686,7 @@ module_cmds \
+@@ -16014,6 +16679,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -19146,7 +19756,7 @@
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -16778,7 +17444,8 @@ $as_echo X"$file" |
+@@ -16771,7 +17437,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,
@@ -19156,7 +19766,7 @@
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -16881,19 +17548,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -16874,19 +17541,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -19200,7 +19810,7 @@
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -16923,6 +17613,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -16916,6 +17606,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
  
@@ -19213,7 +19823,7 @@
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -16932,6 +17628,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -16925,6 +17621,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -19223,7 +19833,7 @@
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -17046,12 +17745,12 @@ with_gcc=$GCC
+@@ -17039,12 +17738,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -19239,7 +19849,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -17138,9 +17837,6 @@ inherit_rpath=$inherit_rpath
+@@ -17131,9 +17830,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -19249,7 +19859,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -17156,6 +17852,9 @@ include_expsyms=$lt_include_expsyms
+@@ -17149,6 +17845,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -19259,7 +19869,7 @@
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -17188,210 +17887,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -17181,210 +17880,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?
@@ -19634,7 +20244,7 @@
    chmod +x "$ofile"
  
 diff --git a/libsframe/Makefile.in b/libsframe/Makefile.in
-index 107b82ccfdc..4a4459bf5eb 100644
+index 08c780caa4a..7ea9c94c2af 100644
 --- a/libsframe/Makefile.in
 +++ b/libsframe/Makefile.in
 @@ -1,7 +1,7 @@
@@ -19647,25 +20257,31 @@
  
  # This Makefile.in is free software; the Free Software Foundation
  # gives unlimited permission to copy and/or distribute it,
-@@ -139,6 +139,10 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+@@ -142,6 +142,13 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
  CONFIG_HEADER = config.h
  CONFIG_CLEAN_FILES =
  CONFIG_CLEAN_VPATH_FILES =
 +@HAVE_COMPAT_DEJAGNU_TRUE@am__EXEEXT_1 = testsuite/libsframe.decode/be-flipping$(EXEEXT) \
 +@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.decode/frecnt-1$(EXEEXT) \
 +@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.decode/frecnt-2$(EXEEXT) \
-+@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.encode/encode-1$(EXEEXT)
++@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.encode/encode-1$(EXEEXT) \
++@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.find/findfre-1$(EXEEXT) \
++@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.find/findfunc-1$(EXEEXT) \
++@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.find/plt-findfre-1$(EXEEXT)
  am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
  am__vpath_adj = case $$p in \
      $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-@@ -179,27 +183,27 @@ am__v_lt_0 = --silent
- am__v_lt_1 = 
+@@ -185,45 +192,44 @@ libsframe_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ 	$(libsframe_la_LDFLAGS) $(LDFLAGS) -o $@
  @INSTALL_LIBBFD_FALSE@am_libsframe_la_rpath =
  @INSTALL_LIBBFD_TRUE@am_libsframe_la_rpath = -rpath $(libdir)
 -@HAVE_COMPAT_DEJAGNU_TRUE@am__EXEEXT_1 = testsuite/libsframe.decode/be-flipping$(EXEEXT) \
 -@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.decode/frecnt-1$(EXEEXT) \
 -@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.decode/frecnt-2$(EXEEXT) \
--@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.encode/encode-1$(EXEEXT)
+-@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.encode/encode-1$(EXEEXT) \
+-@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.find/findfre-1$(EXEEXT) \
+-@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.find/findfunc-1$(EXEEXT) \
+-@HAVE_COMPAT_DEJAGNU_TRUE@	testsuite/libsframe.find/plt-findfre-1$(EXEEXT)
  am__dirstamp = $(am__leading_dot)dirstamp
 -am_testsuite_libsframe_decode_be_flipping_OBJECTS = testsuite/libsframe.decode/testsuite_libsframe_decode_be_flipping-be-flipping.$(OBJEXT)
 +am_testsuite_libsframe_decode_be_flipping_OBJECTS =  \
@@ -19694,7 +20310,27 @@
  testsuite_libsframe_encode_encode_1_OBJECTS =  \
  	$(am_testsuite_libsframe_encode_encode_1_OBJECTS)
  testsuite_libsframe_encode_encode_1_DEPENDENCIES =  \
-@@ -218,7 +222,14 @@ am__v_at_0 = @
+ 	${top_builddir}/libsframe.la
+-am_testsuite_libsframe_find_findfre_1_OBJECTS = testsuite/libsframe.find/testsuite_libsframe_find_findfre_1-findfre-1.$(OBJEXT)
++am_testsuite_libsframe_find_findfre_1_OBJECTS =  \
++	testsuite/libsframe.find/findfre_1-findfre-1.$(OBJEXT)
+ testsuite_libsframe_find_findfre_1_OBJECTS =  \
+ 	$(am_testsuite_libsframe_find_findfre_1_OBJECTS)
+ testsuite_libsframe_find_findfre_1_DEPENDENCIES =  \
+ 	${top_builddir}/libsframe.la
+-am_testsuite_libsframe_find_findfunc_1_OBJECTS = testsuite/libsframe.find/testsuite_libsframe_find_findfunc_1-findfunc-1.$(OBJEXT)
++am_testsuite_libsframe_find_findfunc_1_OBJECTS =  \
++	testsuite/libsframe.find/findfunc_1-findfunc-1.$(OBJEXT)
+ testsuite_libsframe_find_findfunc_1_OBJECTS =  \
+ 	$(am_testsuite_libsframe_find_findfunc_1_OBJECTS)
+ testsuite_libsframe_find_findfunc_1_DEPENDENCIES =  \
+ 	${top_builddir}/libsframe.la
+-am_testsuite_libsframe_find_plt_findfre_1_OBJECTS = testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.$(OBJEXT)
++am_testsuite_libsframe_find_plt_findfre_1_OBJECTS = testsuite/libsframe.find/plt_findfre_1-plt-findfre-1.$(OBJEXT)
+ testsuite_libsframe_find_plt_findfre_1_OBJECTS =  \
+ 	$(am_testsuite_libsframe_find_plt_findfre_1_OBJECTS)
+ testsuite_libsframe_find_plt_findfre_1_DEPENDENCIES =  \
+@@ -242,7 +248,17 @@ am__v_at_0 = @
  am__v_at_1 = 
  DEFAULT_INCLUDES = -I.@am__isrc@
  depcomp = $(SHELL) $(top_srcdir)/../depcomp
@@ -19706,11 +20342,14 @@
 +	testsuite/libsframe.decode/$(DEPDIR)/be_flipping-be-flipping.Po \
 +	testsuite/libsframe.decode/$(DEPDIR)/frecnt_1-frecnt-1.Po \
 +	testsuite/libsframe.decode/$(DEPDIR)/frecnt_2-frecnt-2.Po \
-+	testsuite/libsframe.encode/$(DEPDIR)/encode_1-encode-1.Po
++	testsuite/libsframe.encode/$(DEPDIR)/encode_1-encode-1.Po \
++	testsuite/libsframe.find/$(DEPDIR)/findfre_1-findfre-1.Po \
++	testsuite/libsframe.find/$(DEPDIR)/findfunc_1-findfunc-1.Po \
++	testsuite/libsframe.find/$(DEPDIR)/plt_findfre_1-plt-findfre-1.Po
  am__mv = mv -f
  COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
  	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@@ -295,8 +306,8 @@ am__can_run_installinfo = \
+@@ -325,8 +341,8 @@ am__can_run_installinfo = \
    esac
  am__include_HEADERS_DIST = $(INCDIR)/sframe.h $(INCDIR)/sframe-api.h
  HEADERS = $(include_HEADERS)
@@ -19721,7 +20360,7 @@
  # Read a list of newline-separated strings from the standard input,
  # and print each of them once, without duplicates.  Input order is
  # *not* preserved.
-@@ -313,9 +324,6 @@ am__define_uniq_tagged_files = \
+@@ -343,9 +359,6 @@ 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)`
@@ -19731,7 +20370,7 @@
  AM_RECURSIVE_TARGETS = cscope
  DEJATOOL = $(PACKAGE)
  RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
-@@ -341,6 +349,8 @@ am__post_remove_distdir = $(am__remove_distdir)
+@@ -372,6 +385,8 @@ am__post_remove_distdir = $(am__remove_distdir)
  DIST_ARCHIVES = $(distdir).tar.gz
  GZIP_ENV = --best
  DIST_TARGETS = dist-gzip
@@ -19740,7 +20379,7 @@
  distuninstallcheck_listfiles = find . -type f -print
  am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
    | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
-@@ -359,15 +369,19 @@ CFLAGS = @CFLAGS@
+@@ -390,15 +405,19 @@ CFLAGS = @CFLAGS@
  COMPAT_DEJAGNU = @COMPAT_DEJAGNU@
  CPP = @CPP@
  CPPFLAGS = @CPPFLAGS@
@@ -19760,7 +20399,7 @@
  EXEEXT = @EXEEXT@
  FGREP = @FGREP@
  GREP = @GREP@
-@@ -386,6 +400,7 @@ LN_S = @LN_S@
+@@ -417,6 +436,7 @@ LN_S = @LN_S@
  LTLIBOBJS = @LTLIBOBJS@
  MAINT = @MAINT@
  MAKEINFO = @MAKEINFO@
@@ -19768,7 +20407,7 @@
  MKDIR_P = @MKDIR_P@
  NM = @NM@
  NMEDIT = @NMEDIT@
-@@ -541,8 +556,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+@@ -589,8 +609,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
  	    echo ' $(SHELL) ./config.status'; \
  	    $(SHELL) ./config.status;; \
  	  *) \
@@ -19777,9 +20416,9 @@
 +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
 +	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
  	esac;
- $(srcdir)/doc/local.mk $(srcdir)/testsuite/local.mk $(srcdir)/testsuite/libsframe.decode/local.mk $(srcdir)/testsuite/libsframe.encode/local.mk $(am__empty):
+ $(srcdir)/doc/local.mk $(srcdir)/testsuite/local.mk $(srcdir)/testsuite/libsframe.decode/local.mk $(srcdir)/testsuite/libsframe.encode/local.mk $(srcdir)/testsuite/libsframe.find/local.mk $(am__empty):
  
-@@ -570,6 +585,15 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+@@ -618,6 +638,15 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
  distclean-hdr:
  	-rm -f config.h stamp-h1
  
@@ -19795,10 +20434,10 @@
  install-libLTLIBRARIES: $(lib_LTLIBRARIES)
  	@$(NORMAL_INSTALL)
  	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-@@ -618,36 +642,27 @@ clean-noinstLTLIBRARIES:
+@@ -666,36 +695,27 @@ clean-noinstLTLIBRARIES:
  
  libsframe.la: $(libsframe_la_OBJECTS) $(libsframe_la_DEPENDENCIES) $(EXTRA_libsframe_la_DEPENDENCIES) 
- 	$(AM_V_CCLD)$(LINK) $(am_libsframe_la_rpath) $(libsframe_la_OBJECTS) $(libsframe_la_LIBADD) $(LIBS)
+ 	$(AM_V_CCLD)$(libsframe_la_LINK) $(am_libsframe_la_rpath) $(libsframe_la_OBJECTS) $(libsframe_la_LIBADD) $(LIBS)
 -
 -clean-checkPROGRAMS:
 -	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
@@ -19835,7 +20474,7 @@
  	testsuite/libsframe.decode/$(am__dirstamp) \
  	testsuite/libsframe.decode/$(DEPDIR)/$(am__dirstamp)
  
-@@ -660,7 +675,7 @@ testsuite/libsframe.encode/$(am__dirstamp):
+@@ -708,7 +728,7 @@ testsuite/libsframe.encode/$(am__dirstamp):
  testsuite/libsframe.encode/$(DEPDIR)/$(am__dirstamp):
  	@$(MKDIR_P) testsuite/libsframe.encode/$(DEPDIR)
  	@: > testsuite/libsframe.encode/$(DEPDIR)/$(am__dirstamp)
@@ -19844,7 +20483,32 @@
  	testsuite/libsframe.encode/$(am__dirstamp) \
  	testsuite/libsframe.encode/$(DEPDIR)/$(am__dirstamp)
  
-@@ -676,13 +691,19 @@ mostlyclean-compile:
+@@ -721,21 +741,21 @@ testsuite/libsframe.find/$(am__dirstamp):
+ testsuite/libsframe.find/$(DEPDIR)/$(am__dirstamp):
+ 	@$(MKDIR_P) testsuite/libsframe.find/$(DEPDIR)
+ 	@: > testsuite/libsframe.find/$(DEPDIR)/$(am__dirstamp)
+-testsuite/libsframe.find/testsuite_libsframe_find_findfre_1-findfre-1.$(OBJEXT):  \
++testsuite/libsframe.find/findfre_1-findfre-1.$(OBJEXT):  \
+ 	testsuite/libsframe.find/$(am__dirstamp) \
+ 	testsuite/libsframe.find/$(DEPDIR)/$(am__dirstamp)
+ 
+ testsuite/libsframe.find/findfre-1$(EXEEXT): $(testsuite_libsframe_find_findfre_1_OBJECTS) $(testsuite_libsframe_find_findfre_1_DEPENDENCIES) $(EXTRA_testsuite_libsframe_find_findfre_1_DEPENDENCIES) testsuite/libsframe.find/$(am__dirstamp)
+ 	@rm -f testsuite/libsframe.find/findfre-1$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(testsuite_libsframe_find_findfre_1_OBJECTS) $(testsuite_libsframe_find_findfre_1_LDADD) $(LIBS)
+-testsuite/libsframe.find/testsuite_libsframe_find_findfunc_1-findfunc-1.$(OBJEXT):  \
++testsuite/libsframe.find/findfunc_1-findfunc-1.$(OBJEXT):  \
+ 	testsuite/libsframe.find/$(am__dirstamp) \
+ 	testsuite/libsframe.find/$(DEPDIR)/$(am__dirstamp)
+ 
+ testsuite/libsframe.find/findfunc-1$(EXEEXT): $(testsuite_libsframe_find_findfunc_1_OBJECTS) $(testsuite_libsframe_find_findfunc_1_DEPENDENCIES) $(EXTRA_testsuite_libsframe_find_findfunc_1_DEPENDENCIES) testsuite/libsframe.find/$(am__dirstamp)
+ 	@rm -f testsuite/libsframe.find/findfunc-1$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(testsuite_libsframe_find_findfunc_1_OBJECTS) $(testsuite_libsframe_find_findfunc_1_LDADD) $(LIBS)
+-testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.$(OBJEXT):  \
++testsuite/libsframe.find/plt_findfre_1-plt-findfre-1.$(OBJEXT):  \
+ 	testsuite/libsframe.find/$(am__dirstamp) \
+ 	testsuite/libsframe.find/$(DEPDIR)/$(am__dirstamp)
+ 
+@@ -752,16 +772,22 @@ mostlyclean-compile:
  distclean-compile:
  	-rm -f *.tab.c
  
@@ -19855,6 +20519,9 @@
 -@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.decode/$(DEPDIR)/testsuite_libsframe_decode_frecnt_1-frecnt-1.Po@am__quote@
 -@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.decode/$(DEPDIR)/testsuite_libsframe_decode_frecnt_2-frecnt-2.Po@am__quote@
 -@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.encode/$(DEPDIR)/testsuite_libsframe_encode_encode_1-encode-1.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfre_1-findfre-1.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfunc_1-findfunc-1.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.Po@am__quote@
 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsframe_la-sframe-dump.Plo@am__quote@ # am--include-marker
 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsframe_la-sframe-error.Plo@am__quote@ # am--include-marker
 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsframe_la-sframe.Plo@am__quote@ # am--include-marker
@@ -19862,6 +20529,9 @@
 +@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.decode/$(DEPDIR)/frecnt_1-frecnt-1.Po@am__quote@ # am--include-marker
 +@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.decode/$(DEPDIR)/frecnt_2-frecnt-2.Po@am__quote@ # am--include-marker
 +@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.encode/$(DEPDIR)/encode_1-encode-1.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.find/$(DEPDIR)/findfre_1-findfre-1.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.find/$(DEPDIR)/findfunc_1-findfunc-1.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.find/$(DEPDIR)/plt_findfre_1-plt-findfre-1.Po@am__quote@ # am--include-marker
 +
 +$(am__depfiles_remade):
 +	@$(MKDIR_P) $(@D)
@@ -19871,7 +20541,7 @@
  
  .c.o:
  @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@@ -729,61 +750,61 @@ libsframe_la-sframe-error.lo: sframe-error.c
+@@ -808,103 +834,103 @@ libsframe_la-sframe-error.lo: sframe-error.c
  @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsframe_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsframe_la-sframe-error.lo `test -f 'sframe-error.c' || echo '$(srcdir)/'`sframe-error.c
  
@@ -19971,9 +20641,81 @@
 -@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_encode_encode_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.encode/testsuite_libsframe_encode_encode_1-encode-1.obj `if test -f 'testsuite/libsframe.encode/encode-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.encode/encode-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.encode/encode-1.c'; fi`
 +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_encode_encode_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.encode/encode_1-encode-1.obj `if test -f 'testsuite/libsframe.encode/encode-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.encode/encode-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.encode/encode-1.c'; fi`
  
+-testsuite/libsframe.find/testsuite_libsframe_find_findfre_1-findfre-1.o: testsuite/libsframe.find/findfre-1.c
+-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/testsuite_libsframe_find_findfre_1-findfre-1.o -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfre_1-findfre-1.Tpo -c -o testsuite/libsframe.find/testsuite_libsframe_find_findfre_1-findfre-1.o `test -f 'testsuite/libsframe.find/findfre-1.c' || echo '$(srcdir)/'`testsuite/libsframe.find/findfre-1.c
+-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfre_1-findfre-1.Tpo testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfre_1-findfre-1.Po
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='testsuite/libsframe.find/findfre-1.c' object='testsuite/libsframe.find/testsuite_libsframe_find_findfre_1-findfre-1.o' libtool=no @AMDEPBACKSLASH@
++testsuite/libsframe.find/findfre_1-findfre-1.o: testsuite/libsframe.find/findfre-1.c
++@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/findfre_1-findfre-1.o -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/findfre_1-findfre-1.Tpo -c -o testsuite/libsframe.find/findfre_1-findfre-1.o `test -f 'testsuite/libsframe.find/findfre-1.c' || echo '$(srcdir)/'`testsuite/libsframe.find/findfre-1.c
++@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/findfre_1-findfre-1.Tpo testsuite/libsframe.find/$(DEPDIR)/findfre_1-findfre-1.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='testsuite/libsframe.find/findfre-1.c' object='testsuite/libsframe.find/findfre_1-findfre-1.o' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/testsuite_libsframe_find_findfre_1-findfre-1.o `test -f 'testsuite/libsframe.find/findfre-1.c' || echo '$(srcdir)/'`testsuite/libsframe.find/findfre-1.c
++@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/findfre_1-findfre-1.o `test -f 'testsuite/libsframe.find/findfre-1.c' || echo '$(srcdir)/'`testsuite/libsframe.find/findfre-1.c
+ 
+-testsuite/libsframe.find/testsuite_libsframe_find_findfre_1-findfre-1.obj: testsuite/libsframe.find/findfre-1.c
+-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/testsuite_libsframe_find_findfre_1-findfre-1.obj -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfre_1-findfre-1.Tpo -c -o testsuite/libsframe.find/testsuite_libsframe_find_findfre_1-findfre-1.obj `if test -f 'testsuite/libsframe.find/findfre-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/findfre-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/findfre-1.c'; fi`
+-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfre_1-findfre-1.Tpo testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfre_1-findfre-1.Po
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='testsuite/libsframe.find/findfre-1.c' object='testsuite/libsframe.find/testsuite_libsframe_find_findfre_1-findfre-1.obj' libtool=no @AMDEPBACKSLASH@
++testsuite/libsframe.find/findfre_1-findfre-1.obj: testsuite/libsframe.find/findfre-1.c
++@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/findfre_1-findfre-1.obj -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/findfre_1-findfre-1.Tpo -c -o testsuite/libsframe.find/findfre_1-findfre-1.obj `if test -f 'testsuite/libsframe.find/findfre-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/findfre-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/findfre-1.c'; fi`
++@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/findfre_1-findfre-1.Tpo testsuite/libsframe.find/$(DEPDIR)/findfre_1-findfre-1.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='testsuite/libsframe.find/findfre-1.c' object='testsuite/libsframe.find/findfre_1-findfre-1.obj' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/testsuite_libsframe_find_findfre_1-findfre-1.obj `if test -f 'testsuite/libsframe.find/findfre-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/findfre-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/findfre-1.c'; fi`
++@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/findfre_1-findfre-1.obj `if test -f 'testsuite/libsframe.find/findfre-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/findfre-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/findfre-1.c'; fi`
+ 
+-testsuite/libsframe.find/testsuite_libsframe_find_findfunc_1-findfunc-1.o: testsuite/libsframe.find/findfunc-1.c
+-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfunc_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/testsuite_libsframe_find_findfunc_1-findfunc-1.o -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfunc_1-findfunc-1.Tpo -c -o testsuite/libsframe.find/testsuite_libsframe_find_findfunc_1-findfunc-1.o `test -f 'testsuite/libsframe.find/findfunc-1.c' || echo '$(srcdir)/'`testsuite/libsframe.find/findfunc-1.c
+-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfunc_1-findfunc-1.Tpo testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfunc_1-findfunc-1.Po
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='testsuite/libsframe.find/findfunc-1.c' object='testsuite/libsframe.find/testsuite_libsframe_find_findfunc_1-findfunc-1.o' libtool=no @AMDEPBACKSLASH@
++testsuite/libsframe.find/findfunc_1-findfunc-1.o: testsuite/libsframe.find/findfunc-1.c
++@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfunc_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/findfunc_1-findfunc-1.o -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/findfunc_1-findfunc-1.Tpo -c -o testsuite/libsframe.find/findfunc_1-findfunc-1.o `test -f 'testsuite/libsframe.find/findfunc-1.c' || echo '$(srcdir)/'`testsuite/libsframe.find/findfunc-1.c
++@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/findfunc_1-findfunc-1.Tpo testsuite/libsframe.find/$(DEPDIR)/findfunc_1-findfunc-1.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='testsuite/libsframe.find/findfunc-1.c' object='testsuite/libsframe.find/findfunc_1-findfunc-1.o' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfunc_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/testsuite_libsframe_find_findfunc_1-findfunc-1.o `test -f 'testsuite/libsframe.find/findfunc-1.c' || echo '$(srcdir)/'`testsuite/libsframe.find/findfunc-1.c
++@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfunc_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/findfunc_1-findfunc-1.o `test -f 'testsuite/libsframe.find/findfunc-1.c' || echo '$(srcdir)/'`testsuite/libsframe.find/findfunc-1.c
+ 
+-testsuite/libsframe.find/testsuite_libsframe_find_findfunc_1-findfunc-1.obj: testsuite/libsframe.find/findfunc-1.c
+-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfunc_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/testsuite_libsframe_find_findfunc_1-findfunc-1.obj -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfunc_1-findfunc-1.Tpo -c -o testsuite/libsframe.find/testsuite_libsframe_find_findfunc_1-findfunc-1.obj `if test -f 'testsuite/libsframe.find/findfunc-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/findfunc-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/findfunc-1.c'; fi`
+-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfunc_1-findfunc-1.Tpo testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfunc_1-findfunc-1.Po
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='testsuite/libsframe.find/findfunc-1.c' object='testsuite/libsframe.find/testsuite_libsframe_find_findfunc_1-findfunc-1.obj' libtool=no @AMDEPBACKSLASH@
++testsuite/libsframe.find/findfunc_1-findfunc-1.obj: testsuite/libsframe.find/findfunc-1.c
++@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfunc_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/findfunc_1-findfunc-1.obj -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/findfunc_1-findfunc-1.Tpo -c -o testsuite/libsframe.find/findfunc_1-findfunc-1.obj `if test -f 'testsuite/libsframe.find/findfunc-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/findfunc-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/findfunc-1.c'; fi`
++@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/findfunc_1-findfunc-1.Tpo testsuite/libsframe.find/$(DEPDIR)/findfunc_1-findfunc-1.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='testsuite/libsframe.find/findfunc-1.c' object='testsuite/libsframe.find/findfunc_1-findfunc-1.obj' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfunc_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/testsuite_libsframe_find_findfunc_1-findfunc-1.obj `if test -f 'testsuite/libsframe.find/findfunc-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/findfunc-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/findfunc-1.c'; fi`
++@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_findfunc_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/findfunc_1-findfunc-1.obj `if test -f 'testsuite/libsframe.find/findfunc-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/findfunc-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/findfunc-1.c'; fi`
+ 
+-testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.o: testsuite/libsframe.find/plt-findfre-1.c
+-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_plt_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.o -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.Tpo -c -o testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.o `test -f 'testsuite/libsframe.find/plt-findfre-1.c' || echo '$(srcdir)/'`testsuite/libsframe.find/plt-findfre-1.c
+-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.Tpo testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.Po
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='testsuite/libsframe.find/plt-findfre-1.c' object='testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.o' libtool=no @AMDEPBACKSLASH@
++testsuite/libsframe.find/plt_findfre_1-plt-findfre-1.o: testsuite/libsframe.find/plt-findfre-1.c
++@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_plt_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/plt_findfre_1-plt-findfre-1.o -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/plt_findfre_1-plt-findfre-1.Tpo -c -o testsuite/libsframe.find/plt_findfre_1-plt-findfre-1.o `test -f 'testsuite/libsframe.find/plt-findfre-1.c' || echo '$(srcdir)/'`testsuite/libsframe.find/plt-findfre-1.c
++@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/plt_findfre_1-plt-findfre-1.Tpo testsuite/libsframe.find/$(DEPDIR)/plt_findfre_1-plt-findfre-1.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='testsuite/libsframe.find/plt-findfre-1.c' object='testsuite/libsframe.find/plt_findfre_1-plt-findfre-1.o' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_plt_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.o `test -f 'testsuite/libsframe.find/plt-findfre-1.c' || echo '$(srcdir)/'`testsuite/libsframe.find/plt-findfre-1.c
++@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_plt_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/plt_findfre_1-plt-findfre-1.o `test -f 'testsuite/libsframe.find/plt-findfre-1.c' || echo '$(srcdir)/'`testsuite/libsframe.find/plt-findfre-1.c
+ 
+-testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.obj: testsuite/libsframe.find/plt-findfre-1.c
+-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_plt_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.obj -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.Tpo -c -o testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.obj `if test -f 'testsuite/libsframe.find/plt-findfre-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/plt-findfre-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/plt-findfre-1.c'; fi`
+-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.Tpo testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.Po
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='testsuite/libsframe.find/plt-findfre-1.c' object='testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.obj' libtool=no @AMDEPBACKSLASH@
++testsuite/libsframe.find/plt_findfre_1-plt-findfre-1.obj: testsuite/libsframe.find/plt-findfre-1.c
++@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_plt_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/plt_findfre_1-plt-findfre-1.obj -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/plt_findfre_1-plt-findfre-1.Tpo -c -o testsuite/libsframe.find/plt_findfre_1-plt-findfre-1.obj `if test -f 'testsuite/libsframe.find/plt-findfre-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/plt-findfre-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/plt-findfre-1.c'; fi`
++@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/plt_findfre_1-plt-findfre-1.Tpo testsuite/libsframe.find/$(DEPDIR)/plt_findfre_1-plt-findfre-1.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='testsuite/libsframe.find/plt-findfre-1.c' object='testsuite/libsframe.find/plt_findfre_1-plt-findfre-1.obj' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_plt_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.obj `if test -f 'testsuite/libsframe.find/plt-findfre-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/plt-findfre-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/plt-findfre-1.c'; fi`
++@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_plt_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/plt_findfre_1-plt-findfre-1.obj `if test -f 'testsuite/libsframe.find/plt-findfre-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/plt-findfre-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/plt-findfre-1.c'; fi`
+ 
  mostlyclean-libtool:
  	-rm -f *.lo
-@@ -1020,7 +1041,7 @@ site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
+@@ -1142,7 +1168,7 @@ site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
  	@echo '# Do not edit here.  If you wish to override these values' >>site.tmp
  	@echo '# edit the last section' >>site.tmp
  	@echo 'set srcdir "$(srcdir)"' >>site.tmp
@@ -19982,7 +20724,7 @@
  	@echo 'set build_alias "$(build_alias)"' >>site.tmp
  	@echo 'set build_triplet $(build_triplet)' >>site.tmp
  	@echo 'set host_alias "$(host_alias)"' >>site.tmp
-@@ -1044,8 +1065,10 @@ distclean-DEJAGNU:
+@@ -1166,8 +1192,10 @@ distclean-DEJAGNU:
  	-l='$(DEJATOOL)'; for tool in $$l; do \
  	  rm -f $$tool.sum $$tool.log; \
  	done
@@ -19994,7 +20736,7 @@
  	$(am__remove_distdir)
  	test -d "$(distdir)" || mkdir "$(distdir)"
  	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-@@ -1103,6 +1126,10 @@ dist-xz: distdir
+@@ -1225,6 +1253,10 @@ dist-xz: distdir
  	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
  	$(am__post_remove_distdir)
  
@@ -20005,7 +20747,7 @@
  dist-tarZ: distdir
  	@echo WARNING: "Support for distribution archives compressed with" \
  		       "legacy program 'compress' is deprecated." >&2
-@@ -1145,6 +1172,8 @@ distcheck: dist
+@@ -1267,6 +1299,8 @@ distcheck: dist
  	  eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
  	*.zip*) \
  	  unzip $(distdir).zip ;;\
@@ -20014,7 +20756,7 @@
  	esac
  	chmod -R a-w $(distdir)
  	chmod u+w $(distdir)
-@@ -1160,7 +1189,7 @@ distcheck: dist
+@@ -1282,7 +1316,7 @@ distcheck: dist
  	    $(DISTCHECK_CONFIGURE_FLAGS) \
  	    --srcdir=../.. --prefix="$$dc_install_base" \
  	  && $(MAKE) $(AM_MAKEFLAGS) \
@@ -20023,7 +20765,7 @@
  	  && $(MAKE) $(AM_MAKEFLAGS) check \
  	  && $(MAKE) $(AM_MAKEFLAGS) install \
  	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-@@ -1216,6 +1245,8 @@ check-am: all-am
+@@ -1338,6 +1372,8 @@ check-am: all-am
  	$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
  check: check-am
  all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(HEADERS) config.h
@@ -20032,11 +20774,11 @@
  installdirs:
  	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(includedir)"; do \
  	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-@@ -1266,7 +1297,13 @@ clean-am: clean-aminfo clean-checkPROGRAMS clean-generic \
+@@ -1390,7 +1426,16 @@ clean-am: clean-aminfo clean-checkPROGRAMS clean-generic \
  
  distclean: distclean-am
  	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
--	-rm -rf ./$(DEPDIR) testsuite/libsframe.decode/$(DEPDIR) testsuite/libsframe.encode/$(DEPDIR)
+-	-rm -rf ./$(DEPDIR) testsuite/libsframe.decode/$(DEPDIR) testsuite/libsframe.encode/$(DEPDIR) testsuite/libsframe.find/$(DEPDIR)
 +		-rm -f ./$(DEPDIR)/libsframe_la-sframe-dump.Plo
 +	-rm -f ./$(DEPDIR)/libsframe_la-sframe-error.Plo
 +	-rm -f ./$(DEPDIR)/libsframe_la-sframe.Plo
@@ -20044,14 +20786,17 @@
 +	-rm -f testsuite/libsframe.decode/$(DEPDIR)/frecnt_1-frecnt-1.Po
 +	-rm -f testsuite/libsframe.decode/$(DEPDIR)/frecnt_2-frecnt-2.Po
 +	-rm -f testsuite/libsframe.encode/$(DEPDIR)/encode_1-encode-1.Po
++	-rm -f testsuite/libsframe.find/$(DEPDIR)/findfre_1-findfre-1.Po
++	-rm -f testsuite/libsframe.find/$(DEPDIR)/findfunc_1-findfunc-1.Po
++	-rm -f testsuite/libsframe.find/$(DEPDIR)/plt_findfre_1-plt-findfre-1.Po
  	-rm -f Makefile
  distclean-am: clean-am distclean-DEJAGNU distclean-compile \
  	distclean-generic distclean-hdr distclean-libtool \
-@@ -1406,7 +1443,13 @@ installcheck-am:
+@@ -1530,7 +1575,16 @@ installcheck-am:
  maintainer-clean: maintainer-clean-am
  	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
  	-rm -rf $(top_srcdir)/autom4te.cache
--	-rm -rf ./$(DEPDIR) testsuite/libsframe.decode/$(DEPDIR) testsuite/libsframe.encode/$(DEPDIR)
+-	-rm -rf ./$(DEPDIR) testsuite/libsframe.decode/$(DEPDIR) testsuite/libsframe.encode/$(DEPDIR) testsuite/libsframe.find/$(DEPDIR)
 +		-rm -f ./$(DEPDIR)/libsframe_la-sframe-dump.Plo
 +	-rm -f ./$(DEPDIR)/libsframe_la-sframe-error.Plo
 +	-rm -f ./$(DEPDIR)/libsframe_la-sframe.Plo
@@ -20059,10 +20804,13 @@
 +	-rm -f testsuite/libsframe.decode/$(DEPDIR)/frecnt_1-frecnt-1.Po
 +	-rm -f testsuite/libsframe.decode/$(DEPDIR)/frecnt_2-frecnt-2.Po
 +	-rm -f testsuite/libsframe.encode/$(DEPDIR)/encode_1-encode-1.Po
++	-rm -f testsuite/libsframe.find/$(DEPDIR)/findfre_1-findfre-1.Po
++	-rm -f testsuite/libsframe.find/$(DEPDIR)/findfunc_1-findfunc-1.Po
++	-rm -f testsuite/libsframe.find/$(DEPDIR)/plt_findfre_1-plt-findfre-1.Po
  	-rm -f Makefile
  maintainer-clean-am: distclean-am maintainer-clean-aminfo \
  	maintainer-clean-generic
-@@ -1430,28 +1473,28 @@ uninstall-am: uninstall-dvi-am uninstall-html-am \
+@@ -1554,28 +1608,28 @@ uninstall-am: uninstall-dvi-am uninstall-html-am \
  
  .MAKE: all check-am install-am install-strip
  
@@ -20561,10 +21309,10 @@
  # This file is free software; the Free Software Foundation
  # gives unlimited permission to copy and/or distribute it,
 diff --git a/libsframe/configure b/libsframe/configure
-index 7bbed5d8ccf..795e7802110 100755
+index f7ad9c5e29a..78e875956ae 100755
 --- a/libsframe/configure
 +++ b/libsframe/configure
-@@ -654,6 +654,8 @@ OTOOL
+@@ -658,6 +658,8 @@ OTOOL
  LIPO
  NMEDIT
  DSYMUTIL
@@ -20573,7 +21321,7 @@
  OBJDUMP
  LN_S
  NM
-@@ -678,6 +680,9 @@ AM_BACKSLASH
+@@ -682,6 +684,9 @@ AM_BACKSLASH
  AM_DEFAULT_VERBOSITY
  AM_DEFAULT_V
  AM_V
@@ -20583,7 +21331,7 @@
  am__fastdepCC_FALSE
  am__fastdepCC_TRUE
  CCDEPMODE
-@@ -685,7 +690,6 @@ am__nodep
+@@ -689,7 +694,6 @@ am__nodep
  AMDEPBACKSLASH
  AMDEP_FALSE
  AMDEP_TRUE
@@ -20591,7 +21339,7 @@
  am__include
  DEPDIR
  am__untar
-@@ -758,7 +762,8 @@ PACKAGE_VERSION
+@@ -762,7 +766,8 @@ PACKAGE_VERSION
  PACKAGE_TARNAME
  PACKAGE_NAME
  PATH_SEPARATOR
@@ -20601,7 +21349,7 @@
  ac_subst_files=''
  ac_user_opts='
  enable_option_checking
-@@ -769,6 +774,7 @@ enable_static
+@@ -773,6 +778,7 @@ enable_static
  with_pic
  enable_fast_install
  with_gnu_ld
@@ -20609,7 +21357,7 @@
  enable_libtool_lock
  enable_largefile
  enable_maintainer_mode
-@@ -1424,6 +1430,8 @@ Optional Packages:
+@@ -1428,6 +1434,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]
@@ -20618,7 +21366,7 @@
  
  Some influential environment variables:
    CC          C compiler command
-@@ -3606,7 +3614,7 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+@@ -3610,7 +3618,7 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
    $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
  
  
@@ -20627,7 +21375,7 @@
  
  # Find a good install program.  We prefer a C program (faster),
  # so one script is as good as another.  But avoid the broken or
-@@ -3779,12 +3787,7 @@ ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+@@ -3783,12 +3791,7 @@ ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
  program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
  
  if test x"${MISSING+set}" != xset; then
@@ -20641,7 +21389,7 @@
  fi
  # Use eval to expand $SHELL
  if eval "$MISSING --is-lightweight"; then
-@@ -4032,45 +4035,45 @@ DEPDIR="${am__leading_dot}deps"
+@@ -4036,45 +4039,45 @@ DEPDIR="${am__leading_dot}deps"
  
  ac_config_commands="$ac_config_commands depfiles"
  
@@ -20720,7 +21468,7 @@
  
  # Check whether --enable-dependency-tracking was given.
  if test "${enable_dependency_tracking+set}" = set; then :
-@@ -4182,8 +4185,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+@@ -4186,8 +4189,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:
@@ -20731,7 +21479,7 @@
  mkdir_p='$(MKDIR_P)'
  
  # We need awk for the "check" target (and possibly the TAP driver).  The
-@@ -4330,6 +4333,20 @@ else
+@@ -4334,6 +4337,20 @@ else
  fi
  
  
@@ -20752,7 +21500,7 @@
  
  # 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
-@@ -4362,7 +4379,7 @@ END
+@@ -4366,7 +4383,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
@@ -20761,7 +21509,7 @@
  
  If you want to complete the configuration process using your problematic
  'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-@@ -5308,8 +5325,8 @@ esac
+@@ -5351,8 +5368,8 @@ esac
  
  
  
@@ -20772,7 +21520,7 @@
  
  
  
-@@ -5420,7 +5437,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -5463,7 +5480,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.
@@ -20781,7 +21529,7 @@
     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
-@@ -6113,8 +6130,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -6156,8 +6173,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"
@@ -20792,7 +21540,7 @@
      && eval 'test $(( 1 + 1 )) -eq 2 \
      && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
    && xsi_shell=yes
-@@ -6163,6 +6180,80 @@ esac
+@@ -6206,6 +6223,80 @@ esac
  
  
  
@@ -20873,7 +21621,7 @@
  { $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 :
-@@ -6179,6 +6270,11 @@ case $reload_flag in
+@@ -6222,6 +6313,11 @@ case $reload_flag in
  esac
  reload_cmds='$LD$reload_flag -o $output$reload_objs'
  case $host_os in
@@ -20885,7 +21633,7 @@
    darwin*)
      if test "$GCC" = yes; then
        reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6347,7 +6443,8 @@ mingw* | pw32*)
+@@ -6390,7 +6486,8 @@ mingw* | pw32*)
      lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
      lt_cv_file_magic_cmd='func_win32_libid'
    else
@@ -20895,7 +21643,7 @@
      lt_cv_file_magic_cmd='$OBJDUMP -f'
    fi
    ;;
-@@ -6501,6 +6598,21 @@ esac
+@@ -6544,6 +6641,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; }
@@ -20917,7 +21665,7 @@
  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
-@@ -6516,6 +6628,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6559,6 +6671,157 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
  
  
  
@@ -21075,7 +21823,7 @@
  plugin_option=
  plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll"
  for plugin in $plugin_names; do
-@@ -6530,8 +6793,10 @@ for plugin in $plugin_names; do
+@@ -6573,8 +6836,10 @@ for plugin in $plugin_names; do
  done
  
  if test -n "$ac_tool_prefix"; then
@@ -21088,7 +21836,7 @@
  { $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 :
-@@ -6547,7 +6812,7 @@ do
+@@ -6590,7 +6855,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
@@ -21097,7 +21845,7 @@
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -6567,11 +6832,15 @@ $as_echo "no" >&6; }
+@@ -6610,11 +6875,15 @@ $as_echo "no" >&6; }
  fi
  
  
@@ -21116,7 +21864,7 @@
  { $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 :
-@@ -6587,7 +6856,7 @@ do
+@@ -6630,7 +6899,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
@@ -21125,7 +21873,7 @@
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -6606,6 +6875,10 @@ else
+@@ -6649,6 +6918,10 @@ else
  $as_echo "no" >&6; }
  fi
  
@@ -21136,7 +21884,7 @@
    if test "x$ac_ct_AR" = x; then
      AR="false"
    else
-@@ -6617,29 +6890,81 @@ ac_tool_warned=yes ;;
+@@ -6660,29 +6933,81 @@ ac_tool_warned=yes ;;
  esac
      AR=$ac_ct_AR
    fi
@@ -21233,7 +21981,7 @@
  
  
  
-@@ -6986,8 +7311,8 @@ esac
+@@ -7029,8 +7354,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
@@ -21244,7 +21992,7 @@
  
  # Handle CRLF in mingw tool chain
  opt_cr=
-@@ -7023,6 +7348,7 @@ for ac_symprfx in "" "_"; do
+@@ -7066,6 +7391,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
@@ -21252,7 +22000,7 @@
  
    # Check to see that the pipe works correctly.
    pipe_works=no
-@@ -7064,6 +7390,18 @@ _LT_EOF
+@@ -7107,6 +7433,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
@@ -21271,7 +22019,7 @@
  #ifdef __cplusplus
  extern "C" {
  #endif
-@@ -7075,7 +7413,7 @@ _LT_EOF
+@@ -7118,7 +7456,7 @@ _LT_EOF
  	  cat <<_LT_EOF >> conftest.$ac_ext
  
  /* The mapping between symbol names and symbols.  */
@@ -21280,7 +22028,7 @@
    const char *name;
    void       *address;
  }
-@@ -7101,8 +7439,8 @@ static const void *lt_preloaded_setup() {
+@@ -7144,8 +7482,8 @@ static const void *lt_preloaded_setup() {
  _LT_EOF
  	  # Now try linking the two files.
  	  mv conftest.$ac_objext conftstm.$ac_objext
@@ -21291,7 +22039,7 @@
  	  LIBS="conftstm.$ac_objext"
  	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
  	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7112,8 +7450,8 @@ _LT_EOF
+@@ -7155,8 +7493,8 @@ _LT_EOF
    test $ac_status = 0; } && test -s conftest${ac_exeext}; then
  	    pipe_works=yes
  	  fi
@@ -21302,7 +22050,7 @@
  	else
  	  echo "cannot find nm_test_func in $nlist" >&5
  	fi
-@@ -7150,6 +7488,16 @@ else
+@@ -7193,6 +7531,16 @@ else
  $as_echo "ok" >&6; }
  fi
  
@@ -21319,7 +22067,7 @@
  
  
  
-@@ -7166,6 +7514,45 @@ fi
+@@ -7209,6 +7557,45 @@ fi
  
  
  
@@ -21365,7 +22113,7 @@
  
  
  
-@@ -7371,11 +7758,128 @@ sparc*-*solaris*)
+@@ -7414,11 +7801,128 @@ sparc*-*solaris*)
        ;;
      esac
    fi
@@ -21497,7 +22245,7 @@
  
  
    case $host_os in
-@@ -7940,6 +8444,8 @@ _LT_EOF
+@@ -7983,6 +8487,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
@@ -21506,7 +22254,7 @@
        cat > conftest.c << _LT_EOF
  int main() { return 0;}
  _LT_EOF
-@@ -8492,8 +8998,6 @@ fi
+@@ -8535,8 +9041,6 @@ fi
  lt_prog_compiler_pic=
  lt_prog_compiler_static=
  
@@ -21515,7 +22263,7 @@
  
    if test "$GCC" = yes; then
      lt_prog_compiler_wl='-Wl,'
-@@ -8659,6 +9163,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8702,6 +9206,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  	lt_prog_compiler_pic='--shared'
  	lt_prog_compiler_static='--static'
  	;;
@@ -21528,7 +22276,7 @@
        pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
          # Portland Group compilers (*not* the Pentium gcc compiler,
  	# which looks to be a dead project)
-@@ -8721,7 +9231,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8764,7 +9274,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
@@ -21537,7 +22285,7 @@
  	lt_prog_compiler_wl='-Qoption ld ';;
        *)
  	lt_prog_compiler_wl='-Wl,';;
-@@ -8778,13 +9288,17 @@ case $host_os in
+@@ -8821,13 +9331,17 @@ case $host_os in
      lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
      ;;
  esac
@@ -21561,7 +22309,7 @@
  
  #
  # Check to make sure the PIC flag actually works.
-@@ -8845,6 +9359,11 @@ fi
+@@ -8888,6 +9402,11 @@ fi
  
  
  
@@ -21573,7 +22321,7 @@
  #
  # Check to make sure the static flag actually works.
  #
-@@ -9195,7 +9714,8 @@ _LT_EOF
+@@ -9238,7 +9757,8 @@ _LT_EOF
        allow_undefined_flag=unsupported
        always_export_symbols=no
        enable_shared_with_static_runtimes=yes
@@ -21583,7 +22331,7 @@
  
        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,12 +9814,12 @@ _LT_EOF
+@@ -9337,12 +9857,12 @@ _LT_EOF
  	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
  	  hardcode_libdir_flag_spec=
  	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -21598,7 +22346,7 @@
  	  fi
  	  ;;
  	esac
-@@ -9313,8 +9833,8 @@ _LT_EOF
+@@ -9356,8 +9876,8 @@ _LT_EOF
  	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
  	wlarc=
        else
@@ -21609,7 +22357,7 @@
        fi
        ;;
  
-@@ -9332,8 +9852,8 @@ _LT_EOF
+@@ -9375,8 +9895,8 @@ _LT_EOF
  
  _LT_EOF
        elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -21620,7 +22368,7 @@
        else
  	ld_shlibs=no
        fi
-@@ -9379,8 +9899,8 @@ _LT_EOF
+@@ -9422,8 +9942,8 @@ _LT_EOF
  
      *)
        if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -21631,7 +22379,7 @@
        else
  	ld_shlibs=no
        fi
-@@ -9510,7 +10030,13 @@ _LT_EOF
+@@ -9553,7 +10073,13 @@ _LT_EOF
  	allow_undefined_flag='-berok'
          # Determine the default libpath from the value encoded in an
          # empty executable.
@@ -21646,7 +22394,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -9523,22 +10049,29 @@ main ()
+@@ -9566,22 +10092,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -21689,7 +22437,7 @@
  
          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"
-@@ -9550,7 +10083,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9593,7 +10126,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.
@@ -21704,7 +22452,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -9563,22 +10102,29 @@ main ()
+@@ -9606,22 +10145,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -21747,7 +22495,7 @@
  
  	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
  	  # Warning - without using the other run time loading flags,
-@@ -9623,20 +10169,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9666,20 +10212,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.
@@ -21825,7 +22573,7 @@
        ;;
  
      darwin* | rhapsody*)
-@@ -9697,7 +10286,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9740,7 +10329,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*)
@@ -21834,7 +22582,7 @@
        hardcode_libdir_flag_spec='-R$libdir'
        hardcode_direct=yes
        hardcode_shlibpath_var=no
-@@ -9705,7 +10294,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9748,7 +10337,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
      hpux9*)
        if test "$GCC" = yes; then
@@ -21843,7 +22591,7 @@
        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
-@@ -9721,7 +10310,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9764,7 +10353,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
      hpux10*)
        if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -21852,7 +22600,7 @@
        else
  	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
        fi
-@@ -9745,10 +10334,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9788,10 +10377,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*)
@@ -21865,7 +22613,7 @@
  	  ;;
  	esac
        else
-@@ -9827,23 +10416,36 @@ fi
+@@ -9870,23 +10459,36 @@ fi
  
      irix5* | irix6* | nonstopux*)
        if test "$GCC" = yes; then
@@ -21910,7 +22658,7 @@
        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'
-@@ -9928,7 +10530,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9971,7 +10573,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}\*'
@@ -21919,7 +22667,7 @@
  	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
        else
  	allow_undefined_flag=' -expect_unresolved \*'
-@@ -9947,9 +10549,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9990,9 +10592,9 @@ rm -f core conftest.err conftest.$ac_objext \
        no_undefined_flag=' -z defs'
        if test "$GCC" = yes; then
  	wlarc='${wl}'
@@ -21931,7 +22679,7 @@
        else
  	case `$CC -V 2>&1` in
  	*"Compilers 5.0"*)
-@@ -10525,8 +11127,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10568,8 +11170,9 @@ cygwin* | mingw* | pw32* | cegcc*)
    need_version=no
    need_lib_prefix=no
  
@@ -21943,7 +22691,7 @@
      library_names_spec='$libname.dll.a'
      # DLL is installed to $(libdir)/../bin by postinstall_cmds
      postinstall_cmds='base_file=`basename \${file}`~
-@@ -10559,13 +11162,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10602,13 +11205,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
@@ -22016,16 +22764,16 @@
    # FIXME: first we should search . and the directory the executable is in
    shlibpath_var=PATH
    ;;
-@@ -11443,7 +12104,7 @@ else
+@@ -11486,7 +12147,7 @@ else
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
--#line 11446 "configure"
+-#line 11489 "configure"
 +#line $LINENO "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -11487,10 +12148,10 @@ else
+@@ -11530,10 +12191,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))
@@ -22038,16 +22786,16 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11549,7 +12210,7 @@ else
+@@ -11592,7 +12253,7 @@ else
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
--#line 11552 "configure"
+-#line 11595 "configure"
 +#line $LINENO "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -11593,10 +12254,10 @@ else
+@@ -11636,10 +12297,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))
@@ -22060,7 +22808,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -13361,7 +14022,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+@@ -13459,7 +14120,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  #
  # INIT-COMMANDS
  #
@@ -22069,7 +22817,7 @@
  
  
  # The HP-UX ksh and POSIX shell print the target directory to stdout
-@@ -13399,13 +14060,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -13497,13 +14158,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"`'
@@ -22090,7 +22838,7 @@
  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"`'
-@@ -13420,14 +14088,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -13518,14 +14186,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"`'
@@ -22109,7 +22857,7 @@
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -13460,12 +14131,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -13558,12 +14229,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"`'
@@ -22123,7 +22871,7 @@
  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"`'
-@@ -13520,8 +14191,13 @@ reload_flag \
+@@ -13618,8 +14289,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -22137,7 +22885,7 @@
  STRIP \
  RANLIB \
  CC \
-@@ -13531,12 +14207,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -13629,12 +14305,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 \
@@ -22153,7 +22901,7 @@
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -13552,7 +14230,6 @@ no_undefined_flag \
+@@ -13650,7 +14328,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -22161,7 +22909,7 @@
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -13588,6 +14265,7 @@ module_cmds \
+@@ -13686,6 +14363,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -22169,7 +22917,7 @@
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -14234,29 +14912,35 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
+@@ -14332,29 +15010,35 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
    # 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.
@@ -22224,7 +22972,7 @@
      sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
  	    s//\1/
  	    q
-@@ -14274,53 +14958,50 @@ $as_echo X"$mf" |
+@@ -14372,53 +15056,50 @@ $as_echo X"$mf" |
  	    q
  	  }
  	  s/.*/./; q'`
@@ -22311,7 +23059,7 @@
  }
   ;;
      "libtool":C)
-@@ -14344,7 +15025,8 @@ $as_echo X"$file" |
+@@ -14442,7 +15123,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,
@@ -22321,7 +23069,7 @@
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -14447,19 +15129,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -14545,19 +15227,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -22365,7 +23113,7 @@
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -14489,6 +15194,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -14587,6 +15292,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
  
@@ -22378,7 +23126,7 @@
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -14498,6 +15209,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -14596,6 +15307,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -22388,7 +23136,7 @@
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -14612,12 +15326,12 @@ with_gcc=$GCC
+@@ -14710,12 +15424,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -22404,7 +23152,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -14704,9 +15418,6 @@ inherit_rpath=$inherit_rpath
+@@ -14802,9 +15516,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -22414,7 +23162,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -14722,6 +15433,9 @@ include_expsyms=$lt_include_expsyms
+@@ -14820,6 +15531,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -22424,7 +23172,7 @@
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -14754,210 +15468,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -14852,210 +15566,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?
@@ -29878,7 +30626,7 @@
  # These exist entirely to fool aclocal when bootstrapping libtool.
  #
 diff --git a/opcodes/Makefile.in b/opcodes/Makefile.in
-index c1eca5a42ed..7cab295b26d 100644
+index 2db307e8d7c..aa6e3e1b429 100644
 --- a/opcodes/Makefile.in
 +++ b/opcodes/Makefile.in
 @@ -292,6 +292,7 @@ CYGPATH_W = @CYGPATH_W@
@@ -29906,7 +30654,7 @@
  ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
  am__include = @am__include@
 diff --git a/opcodes/configure b/opcodes/configure
-index d2364991ee8..f9a46eec7a3 100755
+index fc4109a1a47..6c42352868c 100755
 --- a/opcodes/configure
 +++ b/opcodes/configure
 @@ -682,6 +682,9 @@ OTOOL
@@ -31817,1945 +32565,6 @@
      (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
    chmod +x "$ofile"
  
-diff --git a/sim/Makefile.in b/sim/Makefile.in
-index 65085cada9c..c216f21920f 100644
---- a/sim/Makefile.in
-+++ b/sim/Makefile.in
-@@ -1029,6 +1029,7 @@ CYGPATH_W = @CYGPATH_W@
- C_DIALECT = @C_DIALECT@
- DEFS = @DEFS@
- DEPDIR = @DEPDIR@
-+DLLTOOL = @DLLTOOL@
- DSYMUTIL = @DSYMUTIL@
- DTC = @DTC@
- DUMPBIN = @DUMPBIN@
-@@ -1089,6 +1090,7 @@ LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
- MAINT = @MAINT@
- MAKEINFO = @MAKEINFO@
-+MANIFEST_TOOL = @MANIFEST_TOOL@
- MKDIR_P = @MKDIR_P@
- NM = @NM@
- NMEDIT = @NMEDIT@
-@@ -1150,6 +1152,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/sim/configure b/sim/configure
-index c31ff71c805..1936741abe2 100755
---- a/sim/configure
-+++ b/sim/configure
-@@ -887,8 +887,11 @@ OTOOL
- LIPO
- NMEDIT
- DSYMUTIL
-+MANIFEST_TOOL
- AWK
- STRIP
-+ac_ct_AR
-+DLLTOOL
- OBJDUMP
- LN_S
- NM
-@@ -991,6 +994,7 @@ enable_static
- with_pic
- enable_fast_install
- with_gnu_ld
-+with_libtool_sysroot
- enable_libtool_lock
- enable_maintainer_mode
- enable_dependency_tracking
-@@ -1809,6 +1813,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
-@@ -5642,8 +5648,8 @@ esac
- 
- 
- 
--macro_version='2.2.7a'
--macro_revision='1.3134'
-+macro_version='2.4'
-+macro_revision='1.3293'
- 
- 
- 
-@@ -5683,7 +5689,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
-@@ -6376,8 +6382,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
-@@ -6426,6 +6432,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 :
-@@ -6442,6 +6522,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'
-@@ -6610,7 +6695,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
-   ;;
-@@ -6764,6 +6850,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
-@@ -6779,6 +6880,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
-@@ -6793,8 +7045,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 :
-@@ -6810,7 +7064,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
-@@ -6830,11 +7084,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 :
-@@ -6850,7 +7108,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
-@@ -6869,6 +7127,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
-@@ -6880,29 +7142,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
- 
- 
- 
-@@ -7291,8 +7605,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=
-@@ -7328,6 +7642,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
-@@ -7369,6 +7684,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
-@@ -7380,7 +7707,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;
- }
-@@ -7406,8 +7733,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
-@@ -7417,8 +7744,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
-@@ -7455,6 +7782,14 @@ 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
-+
-+
- 
- 
- 
-@@ -7473,6 +7808,47 @@ 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; }
-+
-+
- 
- 
- 
-@@ -7682,6 +8058,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*)
-@@ -8245,6 +8738,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
-@@ -9499,8 +9994,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,'
-@@ -9666,6 +10159,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)
-@@ -9728,7 +10227,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,';;
-@@ -9785,13 +10284,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.
-@@ -9852,6 +10355,11 @@ fi
- 
- 
- 
-+
-+
-+
-+
-+
- #
- # Check to make sure the static flag actually works.
- #
-@@ -10202,7 +10710,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'
-@@ -10301,12 +10810,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
-@@ -10320,8 +10829,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
-       ;;
- 
-@@ -10339,8 +10848,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
-@@ -10386,8 +10895,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
-@@ -10517,7 +11026,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
-@@ -10530,22 +11045,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"
-@@ -10557,7 +11079,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
-@@ -10570,22 +11098,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,
-@@ -10630,20 +11165,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*)
-@@ -10704,7 +11282,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
-@@ -10712,7 +11290,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
-@@ -10728,7 +11306,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
-@@ -10752,10 +11330,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
-@@ -10834,23 +11412,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'
-@@ -10935,7 +11526,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 \*'
-@@ -10954,9 +11545,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"*)
-@@ -11532,8 +12123,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}`~
-@@ -11566,13 +12158,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
-   ;;
-@@ -12450,7 +13100,7 @@ else
-   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-   lt_status=$lt_dlunknown
-   cat > conftest.$ac_ext <<_LT_EOF
--#line 12453 "configure"
-+#line $LINENO "configure"
- #include "confdefs.h"
- 
- #if HAVE_DLFCN_H
-@@ -12494,10 +13144,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);
-@@ -12556,7 +13206,7 @@ else
-   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-   lt_status=$lt_dlunknown
-   cat > conftest.$ac_ext <<_LT_EOF
--#line 12559 "configure"
-+#line $LINENO "configure"
- #include "confdefs.h"
- 
- #if HAVE_DLFCN_H
-@@ -12600,10 +13250,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);
-@@ -17596,13 +18246,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"`'
-@@ -17617,14 +18274,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"`'
-@@ -17657,12 +18317,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"`'
-@@ -17717,8 +18377,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 \
-@@ -17728,12 +18393,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 \
-@@ -17749,7 +18416,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 \
-@@ -17785,6 +18451,7 @@ module_cmds \
- module_expsym_cmds \
- export_symbols_cmds \
- prelink_cmds \
-+postlink_cmds \
- postinstall_cmds \
- postuninstall_cmds \
- finish_cmds \
-@@ -18610,7 +19277,8 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
- # 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.
-@@ -18713,19 +19381,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
- 
-@@ -18755,6 +19446,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
- 
-@@ -18764,6 +19461,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
- 
-@@ -18878,12 +19578,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
- 
-@@ -18970,9 +19670,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
- 
-@@ -18988,6 +19685,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
- 
-@@ -19020,210 +19720,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/zlib/Makefile.in b/zlib/Makefile.in
 index 855c23eea23..0605835c14f 100644
 --- a/zlib/Makefile.in
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0009-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 afd694d..acd8271 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0009-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 ff2754e302d06df51f8dd8ef877afb65eb30fcab Mon Sep 17 00:00:00 2001
+From 73d1af65ccfed87662342274d9ec33900786beb3 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/0010-sync-with-OE-libtool-changes.patch b/poky/meta/recipes-devtools/binutils/binutils/0010-sync-with-OE-libtool-changes.patch
index cc0fb55..faf5f2c 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0010-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 039b4afd7d3b5a599aebee97410809276a622ccd Mon Sep 17 00:00:00 2001
+From da9dc36e90c6cf7d3d3bf6f4e337261a93d63428 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/0011-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 b921dd1..05c7317 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0011-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 4eb24605fb2012c0f02883d1f560d5d852c0705e Mon Sep 17 00:00:00 2001
+From f6105e5202180627e9690884d483fd5b7dc28652 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
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0012-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 f69071a..20eb943 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0012-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,4 +1,4 @@
-From 9613e47bfdea18d2764eec130676e3e0b40c676f Mon Sep 17 00:00:00 2001
+From 13cbec5bc5c75dd4c3e1d5f3ca80e5b64f7116d1 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 10 Mar 2022 21:21:33 -0800
 Subject: [PATCH] Only generate an RPATH entry if LD_RUN_PATH is not empty
@@ -14,7 +14,7 @@
  1 file changed, 5 insertions(+)
 
 diff --git a/ld/ldelf.c b/ld/ldelf.c
-index 95787012b89..bc29909386f 100644
+index 1519f8ac4e5..2a7c76dc29c 100644
 --- a/ld/ldelf.c
 +++ b/ld/ldelf.c
 @@ -1127,6 +1127,9 @@ ldelf_handle_dt_needed (struct elf_link_hash_table *htab,
@@ -27,7 +27,7 @@
  		  if (path
  		      && ldelf_search_needed (path, &n, force,
  					      is_linux, elfsize))
-@@ -1801,6 +1804,8 @@ ldelf_before_allocation (char *audit, char *depaudit,
+@@ -1802,6 +1805,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-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch b/poky/meta/recipes-devtools/binutils/binutils/0013-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch
index 9cdc7e2..a6892e8 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0013-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0013-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch
@@ -1,4 +1,4 @@
-From 8af01d85c4e5a5558d770291b7df86acfd59827c Mon Sep 17 00:00:00 2001
+From 9d451ca9ca6bf34b43a089033565ae7570db2065 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sun, 15 Jan 2023 00:16:25 -0800
 Subject: [PATCH] Define alignof using _Alignof when using C11 or newer
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0015-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch b/poky/meta/recipes-devtools/binutils/binutils/0014-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch
similarity index 81%
rename from poky/meta/recipes-devtools/binutils/binutils/0015-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch
rename to poky/meta/recipes-devtools/binutils/binutils/0014-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch
index f57f65c..818d646 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0015-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0014-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch
@@ -1,4 +1,4 @@
-From 9599d7d48913fca4c2bf0d0012f9655353ca6f6c Mon Sep 17 00:00:00 2001
+From f0c39effd46d4dec0813276b1903d6deddcd82dc Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Jan 2023 19:35:07 -0800
 Subject: [PATCH] Remove duplicate pe-dll.o entry deom targ_extra_ofiles
@@ -14,14 +14,14 @@
 Cc: Jedidiah Thompson <wej22007@outlook.com>
 Cc: Zac Walker <zac.walker@linaro.org>
 ---
- ld/configure.tgt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ ld/configure.tgt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/ld/configure.tgt b/ld/configure.tgt
-index de04a44b812..f80c84ab13c 100644
+index c62b9581d9b..e78644d04e2 100644
 --- a/ld/configure.tgt
 +++ b/ld/configure.tgt
-@@ -1056,7 +1056,7 @@ x86_64-*-cygwin)	targ_emul=i386pep ;
+@@ -1055,7 +1055,7 @@ x86_64-*-cygwin)	targ_emul=i386pep ;
  			;;
  x86_64-*-mingw*)	targ_emul=i386pep ;
  			targ_extra_emuls=i386pe
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0015-gprofng-Fix-build-with-64bit-file-offset-on-32bit-ma.patch b/poky/meta/recipes-devtools/binutils/binutils/0015-gprofng-Fix-build-with-64bit-file-offset-on-32bit-ma.patch
new file mode 100644
index 0000000..3bb0838
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0015-gprofng-Fix-build-with-64bit-file-offset-on-32bit-ma.patch
@@ -0,0 +1,55 @@
+From 15936ae7cdfd6814654eff367b5cfb2565ea6af8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 31 Jul 2023 15:23:38 -0700
+Subject: [PATCH] gprofng: Fix build with 64bit file offset on 32bit machines
+
+gprofng/ChangeLog
+2023-07-31  Khem Raj <raj.khem@gmail.com>
+
+* libcollector/iotrace.c: Define open64, fgetpos64, and fsetpos64
+  only when __USE_LARGEFILE64 and __USE_FILE_OFFSET64 are not
+  defined.
+
+Upstream-Status: Submitted [https://sourceware.org/pipermail/binutils/2023-July/128741.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gprofng/libcollector/iotrace.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/gprofng/libcollector/iotrace.c b/gprofng/libcollector/iotrace.c
+index c0ea7497b09..81c844048d9 100644
+--- a/gprofng/libcollector/iotrace.c
++++ b/gprofng/libcollector/iotrace.c
+@@ -1030,8 +1030,9 @@ gprofng_open64 (int(real_open64) (const char *, int, ...),
+   }
+ 
+ DCL_FUNC_VER (DCL_OPEN64, open64_2_2, open64@GLIBC_2.2)
++#if !defined(__USE_LARGEFILE64)
+ DCL_OPEN64 (open64)
+-
++#endif
+ 
+ #define F_ERROR_ARG     0
+ #define F_INT_ARG       1
+@@ -2989,8 +2990,9 @@ DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_17, fgetpos64@GLIBC_2.17)
+ DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_2_5, fgetpos64@GLIBC_2.2.5)
+ DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_2, fgetpos64@GLIBC_2.2)
+ DCL_FUNC_VER (DCL_FGETPOS64, fgetpos64_2_1, fgetpos64@GLIBC_2.1)
++#if !defined(__USE_LARGEFILE64)
+ DCL_FGETPOS64 (fgetpos64)
+-
++#endif
+ /*------------------------------------------------------------- fsetpos */
+ static int
+ gprofng_fsetpos (int(real_fsetpos) (FILE *, const fpos_t *),
+@@ -3087,8 +3089,9 @@ DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_17, fsetpos64@GLIBC_2.17)
+ DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_2_5, fsetpos64@GLIBC_2.2.5)
+ DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_2, fsetpos64@GLIBC_2.2)
+ DCL_FUNC_VER (DCL_FSETPOS64, fsetpos64_2_1, fsetpos64@GLIBC_2.1)
++#if !defined(__USE_LARGEFILE64)
+ DCL_FSETPOS64 (fsetpos64)
+-
++#endif
+ /*------------------------------------------------------------- fsync */
+ int
+ fsync (int fildes)
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0016-CVE-2023-25586.patch b/poky/meta/recipes-devtools/binutils/binutils/0016-CVE-2023-25586.patch
deleted file mode 100644
index 43e36ca..0000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0016-CVE-2023-25586.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 5830876a0cca17bef3b2d54908928e72cca53502 Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Tue, 6 Dec 2022 08:37:52 +1030
-Subject: [PATCH] PR29855, ch_type in bfd_init_section_decompress_status can be
- uninitialized
-
-	PR 29855
-	* compress.c (bfd_init_section_decompress_status): Set ch_type
-	to zero for zlib-gnu case.
-
-Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5830876a0cca17bef3b2d54908928e72cca53502]
-
-CVE: CVE-2023-25586
-
-Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
----
- bfd/compress.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/bfd/compress.c b/bfd/compress.c
-index 3d8c1d769f1..6b083468ca8 100644
---- a/bfd/compress.c
-+++ b/bfd/compress.c
-@@ -1012,7 +1012,7 @@ bfd_init_section_decompress_status (bfd *abfd, sec_ptr sec)
-	  return false;
-	}
-       uncompressed_size = bfd_getb64 (header + 4);
--      ch_type = ch_none;
-+      ch_type = 0;
-     }
-   else if (!bfd_check_compression_header (abfd, header, sec,
-					  &ch_type,
---
-2.31.1
diff --git a/poky/meta/recipes-devtools/binutils/binutils/fix-time64.patch b/poky/meta/recipes-devtools/binutils/binutils/fix-time64.patch
deleted file mode 100644
index 0bfc977..0000000
--- a/poky/meta/recipes-devtools/binutils/binutils/fix-time64.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From f6f19a39ecfe962cb8a05522c27f513308687a74 Mon Sep 17 00:00:00 2001
-From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
-Date: Thu, 16 Feb 2023 19:00:47 -0800
-Subject: [PATCH] gprofng: PR30036 Build failure on aarch64 w/ glibc: symbol
- `pwrite64' is already defined
-
-gprofng/ChangeLog
-2023-02-16  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
-
-	PR gprofng/30036
-	* libcollector/iotrace.c: Define creat64 and pwrite64 only when
-	__USE_LARGEFILE64 and __USE_FILE_OFFSET64 are not defined.
-	* libcollector/mmaptrace.c: Likewise for mmap64.
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=f6f19a39ecfe962cb8a05522c27f513308687a74]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- gprofng/libcollector/iotrace.c   | 15 ++++++++-------
- gprofng/libcollector/mmaptrace.c |  2 +-
- 2 files changed, 9 insertions(+), 8 deletions(-)
-
-diff --git a/gprofng/libcollector/iotrace.c b/gprofng/libcollector/iotrace.c
-index af90cc31f1a..d8439b02b3a 100644
---- a/gprofng/libcollector/iotrace.c
-+++ b/gprofng/libcollector/iotrace.c
-@@ -1441,7 +1441,7 @@ creat (const char *path, mode_t mode)
- }
- 
- /*------------------------------------------------------------- creat64 */
--#if WSIZE(32)
-+#if WSIZE(32) && !defined(__USE_LARGEFILE64)
- int
- creat64 (const char *path, mode_t mode)
- {
-@@ -2476,7 +2476,7 @@ __collector_pwrite_2_1 (int fildes, const void *buf, size_t nbyte, off_t offset)
-   return ret;
- }
- 
--#else
-+#endif
- ssize_t
- pwrite (int fildes, const void *buf, size_t nbyte, off_t offset)
- {
-@@ -2497,11 +2497,10 @@ pwrite (int fildes, const void *buf, size_t nbyte, off_t offset)
-   POP_REENTRANCE (guard);
-   return ret;
- }
--#endif
- 
- /*------------------------------------------------------------- pwrite64 */
--#if WSIZE(32)
--#if !defined(__MUSL_LIBC) && ARCH(Intel)
-+#if WSIZE(32) && ARCH(Intel)
-+#if !defined(__MUSL_LIBC)
- // map interposed symbol versions
- 
- SYMVER_ATTRIBUTE (__collector_pwrite64_2_2, pwrite64@GLIBC_2.2)
-@@ -2547,8 +2546,9 @@ __collector_pwrite64_2_1 (int fildes, const void *buf, size_t nbyte, off64_t off
-   POP_REENTRANCE (guard);
-   return ret;
- }
-+#endif
- 
--#else
-+#if !defined(__USE_FILE_OFFSET64)
- ssize_t
- pwrite64 (int fildes, const void *buf, size_t nbyte, off64_t offset)
- {
-@@ -2570,7 +2570,8 @@ pwrite64 (int fildes, const void *buf, size_t nbyte, off64_t offset)
-   return ret;
- }
- #endif
--#endif /* SIZE(32) */
-+
-+#endif /* SIZE(32)  && ARCH(Intel) */
- 
- /*------------------------------------------------------------- fgets */
- char*
-diff --git a/gprofng/libcollector/mmaptrace.c b/gprofng/libcollector/mmaptrace.c
-index 61613c21560..221b4e2d176 100644
---- a/gprofng/libcollector/mmaptrace.c
-+++ b/gprofng/libcollector/mmaptrace.c
-@@ -1494,7 +1494,7 @@ mmap (void *start, size_t length, int prot, int flags, int fd, off_t offset)
- }
- 
- /*------------------------------------------------------------- mmap64 */
--#if WSIZE(32)       /* mmap64 only defined for non-64-bit */
-+#if WSIZE(32) && !defined(__USE_FILE_OFFSET64)
- 
- void *
- mmap64 (void *start, size_t length, int prot, int flags, int fd, off64_t offset)
--- 
-2.31.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils_2.40.bb b/poky/meta/recipes-devtools/binutils/binutils_2.41.bb
similarity index 100%
rename from poky/meta/recipes-devtools/binutils/binutils_2.40.bb
rename to poky/meta/recipes-devtools/binutils/binutils_2.41.bb
diff --git a/poky/meta/recipes-devtools/bison/bison/autoconf-2.73.patch b/poky/meta/recipes-devtools/bison/bison/autoconf-2.73.patch
new file mode 100644
index 0000000..8360d39
--- /dev/null
+++ b/poky/meta/recipes-devtools/bison/bison/autoconf-2.73.patch
@@ -0,0 +1,24 @@
+The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
+than the full code:
+
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
+
+Just tweak the exiting code to work with 2.73. The next bison upgrade should
+update to new gnulib
+
+Upstream-Status: Inappropriate
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: findutils-4.9.0/gl/m4/largefile.m4
+===================================================================
+--- findutils-4.9.0.orig/m4/largefile.m4
++++ findutils-4.9.0/m4/largefile.m4
+@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # with _TIME_BITS.  Also, work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+ 
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
diff --git a/poky/meta/recipes-devtools/bison/bison_3.8.2.bb b/poky/meta/recipes-devtools/bison/bison_3.8.2.bb
index c95f321..da138e3 100644
--- a/poky/meta/recipes-devtools/bison/bison_3.8.2.bb
+++ b/poky/meta/recipes-devtools/bison/bison_3.8.2.bb
@@ -10,6 +10,7 @@
 DEPENDS = "bison-native flex-native"
 
 SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \
+           file://autoconf-2.73.patch \
            file://add-with-bisonlocaledir.patch \
            "
 SRC_URI[sha256sum] = "9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2"
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 d93152c..cce2f57 100644
--- a/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
+++ b/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
@@ -83,7 +83,6 @@
 
 SUMMARY = "Booting sequence and CPU,I/O usage monitor"
 DESCRIPTION = "Monitors where the system spends its time at start, creating a graph of all processes, disk utilization, and wait time."
-AUTHOR = "Wonhong Kwon <wonhong.kwon@lge.com>"
 HOMEPAGE = "https://github.com/mmeeks/bootchart"
 LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=44ac4678311254db62edf8fd39cb8124"
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c/time64fix.patch b/poky/meta/recipes-devtools/createrepo-c/createrepo-c/time64fix.patch
new file mode 100644
index 0000000..a63801c
--- /dev/null
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c/time64fix.patch
@@ -0,0 +1,69 @@
+From 89e1c9415fb8438310036d5810cdb7da75ee3a7f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 26 Jul 2023 12:27:14 -0700
+Subject: [PATCH] Adjust printf formats for 64bit time_t on 32bit systems
+
+Fixes format specifier mismatch warnings as well while here
+
+e.g.
+warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'time_t'
+
+Upstream-Status: Submitted [https://github.com/rpm-software-management/createrepo_c/pull/376]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/createrepo_c.c    | 4 ++--
+ src/misc.c            | 4 ++--
+ src/xml_dump_repomd.c | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/createrepo_c.c b/src/createrepo_c.c
+index 8681419..0f9048a 100644
+--- a/src/createrepo_c.c
++++ b/src/createrepo_c.c
+@@ -582,9 +582,9 @@ duplicates_warning(const char *nevra, GArray *locations, CmdDupNevra option)
+   for (size_t i=0; i<locations->len; i++) {
+       struct DuplicateLocation location = g_array_index(locations, struct
+                                                         DuplicateLocation, i);
+-      g_warning("    Sourced from location: \'%s\', build timestamp: %ld%s",
++      g_warning("    Sourced from location: \'%s\', build timestamp: %jd%s",
+                 location.location,
+-                location.pkg->time_build,
++                (intmax_t) location.pkg->time_build,
+                 location.pkg->skip_dump ? skip_reason : "");
+ 
+   }
+diff --git a/src/misc.c b/src/misc.c
+index 8511ca2..7866c7b 100644
+--- a/src/misc.c
++++ b/src/misc.c
+@@ -1512,11 +1512,11 @@ cr_append_pid_and_datetime(const char *str, const char *suffix)
+     gettimeofday(&tv, NULL);
+     timeinfo = localtime (&(tv.tv_sec));
+     strftime(datetime, 80, "%Y%m%d%H%M%S", timeinfo);
+-    gchar *result = g_strdup_printf("%s%jd.%s.%ld%s",
++    gchar *result = g_strdup_printf("%s%jd.%s.%jd%s",
+                                     str ? str : "",
+                                     (intmax_t) getpid(),
+                                     datetime,
+-                                    tv.tv_usec,
++                                    (intmax_t) tv.tv_usec,
+                                     suffix ? suffix : "");
+     return result;
+ }
+diff --git a/src/xml_dump_repomd.c b/src/xml_dump_repomd.c
+index 33b0e09..9d24249 100644
+--- a/src/xml_dump_repomd.c
++++ b/src/xml_dump_repomd.c
+@@ -143,7 +143,7 @@ cr_xml_dump_repomd_body(xmlNodePtr root, cr_Repomd *repomd)
+                            BAD_CAST repomd->revision);
+     } else {
+         // Use the current time if no revision was explicitly specified
+-        gchar *rev = g_strdup_printf("%ld", time(NULL));
++        gchar *rev = g_strdup_printf("%jd", (intmax_t) time(NULL));
+         xmlNewChild(root, NULL, BAD_CAST "revision", BAD_CAST rev);
+         g_free(rev);
+     }
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.21.1.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.21.1.bb
index 5080131..57f23b8 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.21.1.bb
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.21.1.bb
@@ -8,6 +8,7 @@
            file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
            file://0001-include-rpm-rpmstring.h.patch \
            file://0001-src-cmd_parser.c-add-a-missing-parameter-name.patch \
+           file://time64fix.patch \
            "
 
 SRCREV = "0652d7303ce236e596c83c29ccc9bee7868fce6e"
diff --git a/poky/meta/recipes-devtools/file/file_5.44.bb b/poky/meta/recipes-devtools/file/file_5.44.bb
index 3090d34..3ce2664 100644
--- a/poky/meta/recipes-devtools/file/file_5.44.bb
+++ b/poky/meta/recipes-devtools/file/file_5.44.bb
@@ -45,9 +45,10 @@
 }
 
 do_install:append:class-nativesdk() {
+	create_wrapper ${D}/${bindir}/file MAGIC=${datadir}/misc/magic.mgc
 	mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
 	cat <<- EOF > ${D}${SDKPATHNATIVE}/environment-setup.d/file.sh
-		export MAGIC="$OECORE_NATIVE_SYSROOT${datadir}/misc/magic.mgc"
+		export MAGIC="${datadir}/misc/magic.mgc"
 	EOF
 }
 
diff --git a/poky/meta/recipes-devtools/gcc/gcc-13.1.inc b/poky/meta/recipes-devtools/gcc/gcc-13.2.inc
similarity index 91%
rename from poky/meta/recipes-devtools/gcc/gcc-13.1.inc
rename to poky/meta/recipes-devtools/gcc/gcc-13.2.inc
index e94753e..7329562 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-13.1.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-13.2.inc
@@ -2,11 +2,11 @@
 
 # Third digit in PV should be incremented after a minor release
 
-PV = "13.1.1"
+PV = "13.2.0"
 
 # BINV should be incremented to a revision after a minor gcc release
 
-BINV = "13.1.1"
+BINV = "13.2.0"
 
 FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
 
@@ -30,14 +30,14 @@
 #SOURCEDIR ?= "official-gcc-${@'${RELEASE}'[0:7]}"
 
 # from snapshot
-RELEASE ?= "13-20230520"
-SOURCEDIR ?= "gcc-${RELEASE}"
-BASEURI ?= "https://gcc.gnu.org/pub/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.xz"
+#RELEASE ?= "13-20230520"
+#SOURCEDIR ?= "gcc-${RELEASE}"
+#BASEURI ?= "https://gcc.gnu.org/pub/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.xz"
 
 # official release
-#RELEASE ?= "${PV}"
-#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
-#SOURCEDIR ?= "gcc-${PV}"
+RELEASE ?= "${PV}"
+BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
+SOURCEDIR ?= "gcc-${PV}"
 
 SRC_URI = "${BASEURI} \
            file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
@@ -65,7 +65,7 @@
            file://0023-Fix-install-path-of-linux64.h.patch \
            file://0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch \
 "
-SRC_URI[sha256sum] = "b8716f92e468086fca5aea8873f7405f1cd7d309ad0719f0a90c57b3483e448c"
+SRC_URI[sha256sum] = "e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da"
 
 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_13.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_13.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gcc/gcc-cross-canadian_13.1.bb
rename to poky/meta/recipes-devtools/gcc/gcc-cross-canadian_13.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross_13.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross_13.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gcc/gcc-cross_13.1.bb
rename to poky/meta/recipes-devtools/gcc/gcc-cross_13.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc b/poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc
index bd65b1f..7eaad23 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc
@@ -10,3 +10,5 @@
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils gettext-native ${NATIVEDEPS}"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+gcc_multilib_setup[vardepsexclude] = "MULTILIB_VARIANTS"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_13.1.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_13.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gcc/gcc-crosssdk_13.1.bb
rename to poky/meta/recipes-devtools/gcc/gcc-crosssdk_13.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_13.1.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_13.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gcc/gcc-runtime_13.1.bb
rename to poky/meta/recipes-devtools/gcc/gcc-runtime_13.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_13.1.bb b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_13.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gcc/gcc-sanitizers_13.1.bb
rename to poky/meta/recipes-devtools/gcc/gcc-sanitizers_13.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-source_13.1.bb b/poky/meta/recipes-devtools/gcc/gcc-source_13.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gcc/gcc-source_13.1.bb
rename to poky/meta/recipes-devtools/gcc/gcc-source_13.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
index 0f13404..5c75698 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
@@ -1,4 +1,4 @@
-From 3875ab692a7d7ee796a6d5d2ece6daa3db81d5c4 Mon Sep 17 00:00:00 2001
+From 553564bdcabdcc5d4cc4de73c7eb94c505ef51f5 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 29 Mar 2013 08:37:11 +0400
 Subject: [PATCH] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
@@ -12,10 +12,10 @@
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/configure b/configure
-index 85883099410..044315af1da 100755
+index 117a7ef23f2..535265253fd 100755
 --- a/configure
 +++ b/configure
-@@ -10183,7 +10183,7 @@ fi
+@@ -10195,7 +10195,7 @@ fi
  # for target_alias and gcc doesn't manage it consistently.
  target_configargs="--cache-file=./config.cache ${target_configargs}"
  
@@ -25,10 +25,10 @@
   *" newlib "*)
    case " $target_configargs " in
 diff --git a/configure.ac b/configure.ac
-index 2b612dce6e9..f26fffd4f62 100644
+index b3e9bbd2aa5..5ac8d6490f6 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -3339,7 +3339,7 @@ fi
+@@ -3351,7 +3351,7 @@ fi
  # for target_alias and gcc doesn't manage it consistently.
  target_configargs="--cache-file=./config.cache ${target_configargs}"
  
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch
index 6fa5494..4923000 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch
@@ -1,4 +1,4 @@
-From e09aa9c3565585390328dd514cc286c20b74e76a Mon Sep 17 00:00:00 2001
+From 52676b5934ba127c3af39fc484c8236c8fa60b96 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 8 Mar 2021 16:04:20 -0800
 Subject: [PATCH] gcc: poison-system-directories
@@ -11,7 +11,7 @@
 Instead, we add the two missing items to the current scan.  If the user
 wants this to be a failure, they can add "-Werror=poison-system-directories".
 
-Upstream-Status: Pending
+Upstream-Status: Inappropriate [OE configuration]
 Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
@@ -132,7 +132,7 @@
  AC_SUBST(subdirs)
  AC_SUBST(srcdir)
 diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index c9482886c5a..f302c637908 100644
+index de40f62e219..d6f203c8b71 100644
 --- a/gcc/doc/invoke.texi
 +++ b/gcc/doc/invoke.texi
 @@ -384,6 +384,7 @@ Objective-C and Objective-C++ Dialects}.
@@ -143,7 +143,7 @@
  -Wno-pragmas  -Wno-prio-ctor-dtor  -Wredundant-decls
  -Wrestrict  -Wno-return-local-addr  -Wreturn-type
  -Wno-scalar-storage-order  -Wsequence-point
-@@ -8422,6 +8423,14 @@ made up of data only and thus requires no special treatment.  But, for
+@@ -8426,6 +8427,14 @@ made up of data only and thus requires no special treatment.  But, for
  most targets, it is made up of code and thus requires the stack to be
  made executable in order for the program to work properly.
  
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch
index d547d7e..3b3eec2 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch
@@ -1,4 +1,4 @@
-From 86664e09670efa5a8662ef59590e01707f8e0cc3 Mon Sep 17 00:00:00 2001
+From febfac59d0e8a864370d0b4018b4e497ceec156d Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 29 Mar 2013 09:10:06 +0400
 Subject: [PATCH] 64-bit multilib hack
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch b/poky/meta/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch
index d749ff1..7e33bf1 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch
@@ -1,4 +1,4 @@
-From 2a1336d2e2ba08747acd7368264fc5813a37b049 Mon Sep 17 00:00:00 2001
+From 6fbf920ccde6efc2d0caafde996d9e5738a1ba37 Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Thu, 28 Oct 2021 11:33:40 +0100
 Subject: [PATCH] Pass CXXFLAGS_FOR_BUILD in a couple of places to avoid these
@@ -13,7 +13,7 @@
     * Makefile.in: Regenerate.
     * Makefile.tpl: Add missing CXXFLAGS_FOR_BUILD overrides
 
-Upstream-Status: Pending [should be submittable]
+Upstream-Status: Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2023-February/612560.html]
 
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/poky/meta/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
index 2eba38e..db2fea3 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
@@ -1,4 +1,4 @@
-From 6cce395992a1b573e6795fdad2f9086db921e924 Mon Sep 17 00:00:00 2001
+From 2cedf13819c0cc929660072d8a972f5e422f9701 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 29 Mar 2013 09:17:25 +0400
 Subject: [PATCH] Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}
@@ -26,7 +26,7 @@
  4 files changed, 7 insertions(+), 7 deletions(-)
 
 diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index ad9a5d94cd0..fe636af3f63 100644
+index 775aaa1b3c4..04f28984b34 100644
 --- a/gcc/Makefile.in
 +++ b/gcc/Makefile.in
 @@ -561,7 +561,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch b/poky/meta/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch
index 3887aa3..704c44c 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch
@@ -1,4 +1,4 @@
-From 223ff12852a8c8974f6e542ee3a8b276639d2452 Mon Sep 17 00:00:00 2001
+From f0b4d02a3a3dca1d67fd7add15ed63c2cd572bb9 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 29 Mar 2013 09:22:00 +0400
 Subject: [PATCH] cpp: honor sysroot.
@@ -17,7 +17,7 @@
 
 RP 2012/04/13
 
-Upstream-Status: Pending
+Upstream-Status: Inappropriate [embedded specific]
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/poky/meta/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
index e3af0bf..079142c 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
@@ -1,4 +1,4 @@
-From ba2e308f7993099708ef3d8cbf2db5f134f08941 Mon Sep 17 00:00:00 2001
+From aacfd6e14dd583b1fdc65691def61c5e1bc89708 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 29 Mar 2013 09:24:50 +0400
 Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
@@ -35,6 +35,8 @@
  gcc/config/sparc/linux64.h         |  4 ++--
  18 files changed, 53 insertions(+), 58 deletions(-)
 
+diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
+index 4277f03da2a..e4c92c03291 100644
 --- a/gcc/config/aarch64/aarch64-linux.h
 +++ b/gcc/config/aarch64/aarch64-linux.h
 @@ -21,10 +21,10 @@
@@ -50,9 +52,11 @@
  
  #undef  ASAN_CC1_SPEC
  #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
+diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
+index 03f783f2ad1..4fa02668aa7 100644
 --- a/gcc/config/alpha/linux-elf.h
 +++ b/gcc/config/alpha/linux-elf.h
-@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3.
+@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3.  If not see
  #define EXTRA_SPECS \
  { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
  
@@ -63,6 +67,8 @@
  #if DEFAULT_LIBC == LIBC_UCLIBC
  #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
  #elif DEFAULT_LIBC == LIBC_GLIBC
+diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
+index a119875599d..dce7f59eeea 100644
 --- a/gcc/config/arm/linux-eabi.h
 +++ b/gcc/config/arm/linux-eabi.h
 @@ -62,8 +62,8 @@
@@ -85,6 +91,8 @@
  
  /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
     use the GNU/Linux version, not the generic BPABI version.  */
+diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
+index 7b7b7cbbe14..98ef2267117 100644
 --- a/gcc/config/arm/linux-elf.h
 +++ b/gcc/config/arm/linux-elf.h
 @@ -60,7 +60,7 @@
@@ -96,9 +104,11 @@
  
  #define LINUX_TARGET_LINK_SPEC  "%{h*} \
     %{static:-Bstatic} \
+diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
+index bbb7cc7115e..7d9272040ee 100644
 --- a/gcc/config/i386/linux.h
 +++ b/gcc/config/i386/linux.h
-@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.
+@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
  <http://www.gnu.org/licenses/>.  */
  
  #define GNU_USER_LINK_EMULATION "elf_i386"
@@ -108,9 +118,11 @@
  #undef MUSL_DYNAMIC_LINKER
 -#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
 +#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-i386.so.1"
+diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
+index 2bd9f48e271..dbbe7ca5440 100644
 --- a/gcc/config/i386/linux64.h
 +++ b/gcc/config/i386/linux64.h
-@@ -27,13 +27,13 @@ see the files COPYING3 and COPYING.RUNTI
+@@ -27,13 +27,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
  #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
  
@@ -130,9 +142,11 @@
  #undef MUSL_DYNAMIC_LINKERX32
 -#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
 +#define MUSL_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-musl-x32.so.1"
+diff --git a/gcc/config/linux.h b/gcc/config/linux.h
+index e3aca79cccc..6491c6b84f5 100644
 --- a/gcc/config/linux.h
 +++ b/gcc/config/linux.h
-@@ -86,10 +86,10 @@ see the files COPYING3 and COPYING.RUNTI
+@@ -86,10 +86,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
     GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
     supporting both 32-bit and 64-bit compilation.  */
@@ -147,9 +161,11 @@
  #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
  #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
  #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
+diff --git a/gcc/config/loongarch/gnu-user.h b/gcc/config/loongarch/gnu-user.h
+index aecaa02a199..62f88f7f9a2 100644
 --- a/gcc/config/loongarch/gnu-user.h
 +++ b/gcc/config/loongarch/gnu-user.h
-@@ -31,11 +31,11 @@ along with GCC; see the file COPYING3.
+@@ -31,11 +31,11 @@ along with GCC; see the file COPYING3.  If not see
  
  #undef GLIBC_DYNAMIC_LINKER
  #define GLIBC_DYNAMIC_LINKER \
@@ -163,6 +179,8 @@
  
  #undef GNU_USER_TARGET_LINK_SPEC
  #define GNU_USER_TARGET_LINK_SPEC \
+diff --git a/gcc/config/microblaze/linux.h b/gcc/config/microblaze/linux.h
+index e2e2c421c52..6f26480e3b5 100644
 --- a/gcc/config/microblaze/linux.h
 +++ b/gcc/config/microblaze/linux.h
 @@ -28,7 +28,7 @@
@@ -183,9 +201,11 @@
  
  #undef  SUBTARGET_EXTRA_SPECS
  #define SUBTARGET_EXTRA_SPECS \
+diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
+index 5add34ea134..34692b433b8 100644
 --- a/gcc/config/mips/linux.h
 +++ b/gcc/config/mips/linux.h
-@@ -22,29 +22,29 @@ along with GCC; see the file COPYING3.
+@@ -22,29 +22,29 @@ along with GCC; see the file COPYING3.  If not see
  #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
  
  #define GLIBC_DYNAMIC_LINKER32 \
@@ -224,6 +244,8 @@
  
  #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
  #define GNU_USER_DYNAMIC_LINKERN32 \
+diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
+index 2ce097ebbce..1d45d7b4962 100644
 --- a/gcc/config/nios2/linux.h
 +++ b/gcc/config/nios2/linux.h
 @@ -29,10 +29,10 @@
@@ -239,9 +261,11 @@
  
  #undef LINK_SPEC
  #define LINK_SPEC LINK_SPEC_ENDIAN \
+diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
+index 3e625e0f867..dc3afc97e27 100644
 --- a/gcc/config/riscv/linux.h
 +++ b/gcc/config/riscv/linux.h
-@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.
+@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
      GNU_USER_TARGET_OS_CPP_BUILTINS();				\
    } while (0)
  
@@ -250,7 +274,7 @@
  
  #define MUSL_ABI_SUFFIX \
    "%{mabi=ilp32:-sf}" \
-@@ -33,7 +33,7 @@ along with GCC; see the file COPYING3.
+@@ -33,7 +33,7 @@ along with GCC; see the file COPYING3.  If not see
    "%{mabi=lp64d:}"
  
  #undef MUSL_DYNAMIC_LINKER
@@ -259,6 +283,8 @@
  
  #define ICACHE_FLUSH_FUNC "__riscv_flush_icache"
  
+diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
+index 9e457033d11..2ddab7c99c1 100644
 --- a/gcc/config/rs6000/linux64.h
 +++ b/gcc/config/rs6000/linux64.h
 @@ -339,24 +339,19 @@ extern int dot_symbols;
@@ -291,6 +317,8 @@
  
  #undef  DEFAULT_ASM_ENDIAN
  #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
+diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
+index ae932fc22f0..26db003cb3a 100644
 --- a/gcc/config/rs6000/sysv4.h
 +++ b/gcc/config/rs6000/sysv4.h
 @@ -771,10 +771,10 @@ GNU_USER_TARGET_CC1_SPEC
@@ -306,9 +334,11 @@
  
  #ifndef GNU_USER_DYNAMIC_LINKER
  #define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
+diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
+index 02aa1edaff8..fab268d61f4 100644
 --- a/gcc/config/s390/linux.h
 +++ b/gcc/config/s390/linux.h
-@@ -72,13 +72,13 @@ along with GCC; see the file COPYING3.
+@@ -72,13 +72,13 @@ along with GCC; see the file COPYING3.  If not see
  #define MULTILIB_DEFAULTS { "m31" }
  #endif
  
@@ -326,9 +356,11 @@
  
  #undef  LINK_SPEC
  #define LINK_SPEC \
+diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
+index 29f5902b98b..83d1e53e6e2 100644
 --- a/gcc/config/sh/linux.h
 +++ b/gcc/config/sh/linux.h
-@@ -61,10 +61,10 @@ along with GCC; see the file COPYING3.
+@@ -61,10 +61,10 @@ along with GCC; see the file COPYING3.  If not see
  
  #undef MUSL_DYNAMIC_LINKER
  #define MUSL_DYNAMIC_LINKER \
@@ -341,9 +373,11 @@
  
  #undef SUBTARGET_LINK_EMUL_SUFFIX
  #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
+diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
+index 0e33b3cac2c..84f29adbb35 100644
 --- a/gcc/config/sparc/linux.h
 +++ b/gcc/config/sparc/linux.h
-@@ -78,7 +78,7 @@ extern const char *host_detect_local_cpu
+@@ -78,7 +78,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
     When the -shared link option is used a final link is not being
     done.  */
  
@@ -352,9 +386,11 @@
  
  #undef  LINK_SPEC
  #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
+diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
+index f1cc0a19e49..94bc2032803 100644
 --- a/gcc/config/sparc/linux64.h
 +++ b/gcc/config/sparc/linux64.h
-@@ -78,8 +78,8 @@ along with GCC; see the file COPYING3.
+@@ -78,8 +78,8 @@ along with GCC; see the file COPYING3.  If not see
     When the -shared link option is used a final link is not being
     done.  */
  
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0008-libtool.patch b/poky/meta/recipes-devtools/gcc/gcc/0008-libtool.patch
index 72248e6..5b44dc8 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0008-libtool.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0008-libtool.patch
@@ -1,4 +1,4 @@
-From 5ce9e36a87974ce5c1c1adb6e4390350233d8770 Mon Sep 17 00:00:00 2001
+From 7608e93ab97e8c33e3b14323d0cabc651926e403 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 29 Mar 2013 09:29:11 +0400
 Subject: [PATCH] libtool
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/poky/meta/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
index 871a634..86542bd 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
@@ -1,4 +1,4 @@
-From 37c7471aa476dfc591a7123e39e38ef8b049f5c0 Mon Sep 17 00:00:00 2001
+From 4b0efc18e0d91967a3db11d9ef0595a5a76ad67a Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 29 Mar 2013 09:30:32 +0400
 Subject: [PATCH] gcc: armv4: pass fix-v4bx to linker to support EABI.
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/poky/meta/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch
index a88abc2..bc39430 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch
@@ -1,4 +1,4 @@
-From 2be15956b4051680aa8da9df97ef032ac8616fb1 Mon Sep 17 00:00:00 2001
+From b015460586e2ea8a35a11d1a607728707bdf6509 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 29 Mar 2013 09:33:04 +0400
 Subject: [PATCH] Use the multilib config files from ${B} instead of using the
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch b/poky/meta/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch
index f52e21e..974aca5 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch
@@ -1,4 +1,4 @@
-From 710d1325474e708e6b34eebe09f3f130420af293 Mon Sep 17 00:00:00 2001
+From b7ce05b2d969b311c6061bda32c3117c76bf7e0c Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 31 Jan 2023 22:03:38 -0800
 Subject: [PATCH] aarch64: Fix include paths when S != B
@@ -28,7 +28,7 @@
  1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
-index 155cace6afe..07d68958908 100644
+index 73b09e20508..10ea3672f20 100644
 --- a/gcc/config/aarch64/aarch64.h
 +++ b/gcc/config/aarch64/aarch64.h
 @@ -161,8 +161,8 @@
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/poky/meta/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
index b05be59..cf5efcd 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
@@ -1,4 +1,4 @@
-From e8e8a0ab572cfceb9758f99599c0db4c962e49c0 Mon Sep 17 00:00:00 2001
+From 39ab6fe76f2788b2c989d29c9016f1fe53cb736e Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 20 Feb 2015 09:39:38 +0000
 Subject: [PATCH] Avoid using libdir from .la which usually points to a host
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch
index b9a3f05..e2343a3 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch
@@ -1,4 +1,4 @@
-From 93ad7cf3ff92771451c2994cab45e34a0c8574a0 Mon Sep 17 00:00:00 2001
+From 531b9df680c4380797e8e7705a8e7f8ed17ebe68 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 20 Feb 2015 10:25:11 +0000
 Subject: [PATCH] Ensure target gcc headers can be included
@@ -13,7 +13,7 @@
 
 Extend target gcc headers search to musl too
 
-Upstream-Status: Pending
+Upstream-Status: Inappropriate [embedded specific]
 
 Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
@@ -25,7 +25,7 @@
  4 files changed, 22 insertions(+)
 
 diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index fe636af3f63..065ce7e9a5b 100644
+index 04f28984b34..8ef996c0f4d 100644
 --- a/gcc/Makefile.in
 +++ b/gcc/Makefile.in
 @@ -640,6 +640,7 @@ libexecdir = @libexecdir@
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/poky/meta/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch
index 5de0e3e..30224d7 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch
@@ -1,4 +1,4 @@
-From e0775b77b8d10066e27ab89d15441b39024a29fd Mon Sep 17 00:00:00 2001
+From 793201cebfeb129f6f263e64310b30a0ffa48895 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 3 Mar 2015 08:21:19 +0000
 Subject: [PATCH] Don't search host directory during "relink" if $inst_prefix
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/poky/meta/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch
index f1eee4a..33c601a 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch
@@ -1,4 +1,4 @@
-From 7776c630e2560bacff7d1e9b04e7916ed4c05d00 Mon Sep 17 00:00:00 2001
+From 5de63874335c1c673dd132f6aca00dc13f1eac51 Mon Sep 17 00:00:00 2001
 From: Robert Yang <liezhi.yang@windriver.com>
 Date: Sun, 5 Jul 2015 20:25:18 -0700
 Subject: [PATCH] libcc1: fix libcc1's install path and rpath
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch
index e05fd4e..bdffcae 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch
@@ -1,4 +1,4 @@
-From 4f9c952ad5fa68260d6a40570b0fdb7359c85057 Mon Sep 17 00:00:00 2001
+From bbc75b93bff66891fa7ffb3af5c6ad53df1fff68 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 7 Dec 2015 23:39:54 +0000
 Subject: [PATCH] handle sysroot support for nativesdk-gcc
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/poky/meta/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch
index d0aeeb2..8a11049 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch
@@ -1,7 +1,8 @@
-From 0058f8a2233d9e96e39d09f4d994da3c96f9e030 Mon Sep 17 00:00:00 2001
+From 7e095089452b6e895ec40981752e9f902f0ad889 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 7 Dec 2015 23:41:45 +0000
-Subject: [PATCH] Search target sysroot gcc version specific dirs with multilib.
+Subject: [PATCH] Search target sysroot gcc version specific dirs with
+ multilib.
 
 We install the gcc libraries (such as crtbegin.p) into
 <sysroot><libdir>/<target-sys>/5.2.0/
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
index 9545e76..9bc77b4 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
@@ -1,4 +1,4 @@
-From 0a194b74f0f171b46527ff447c27fbf32406333d Mon Sep 17 00:00:00 2001
+From bf92b290556b7050df0a001cc7ae43cf79990456 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 27 Jun 2017 18:10:54 -0700
 Subject: [PATCH] Add ssp_nonshared to link commandline for musl targets
@@ -13,7 +13,7 @@
 we do not need any library helper on glibc based systems
 but musl needs the libssp_noshared from gcc
 
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2023-April/615317.html]
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch b/poky/meta/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch
index 409dff3..f785688 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch
@@ -1,4 +1,4 @@
-From 0b83874fd8e767248adffd616bcd07aa438b6905 Mon Sep 17 00:00:00 2001
+From 587ac4a59ea56da18a9989c31a75124e974cb37c Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 6 Jun 2018 12:10:22 -0700
 Subject: [PATCH] Re-introduce spe commandline options
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/poky/meta/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
index 205fdb6..b86edab 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
@@ -1,4 +1,4 @@
-From d8b6f60d1206a67c640096bac3b348828914163c Mon Sep 17 00:00:00 2001
+From 8c4c59521720f8c1b1e38e38896b47fcb1bf00ac Mon Sep 17 00:00:00 2001
 From: Szabolcs Nagy <nsz@port70.net>
 Date: Sat, 24 Oct 2015 20:09:53 +0000
 Subject: [PATCH] libgcc_s: Use alias for __cpu_indicator_init instead of
@@ -29,7 +29,7 @@
 	* config/i386/i386-expand.c (ix86_expand_builtin): Make __builtin_cpu_init
 	call __cpu_indicator_init_local instead of __cpu_indicator_init.
 
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2023-February/612559.html]
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch b/poky/meta/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch
index 43df7fc..b670759 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch
@@ -1,4 +1,4 @@
-From 18f400d6c91b800361af633b6b93a9e5881bbb0f Mon Sep 17 00:00:00 2001
+From f15b19d8e058c983c49c4566c1879fdaf5b1ab54 Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Tue, 10 Mar 2020 08:26:53 -0700
 Subject: [PATCH] gentypes/genmodes: Do not use __LINE__ for maintaining
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch b/poky/meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch
index cb8969b..0ea8aac 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch
@@ -1,4 +1,4 @@
-From c3870d073eb9e5d82f9d3067d0fa15038b69713a Mon Sep 17 00:00:00 2001
+From 939a899b862f7a25e52b74d1587fc75fc65779c0 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 13 May 2020 15:10:38 -0700
 Subject: [PATCH] libatomic: Do not enforce march on aarch64
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch b/poky/meta/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch
index 11f42c5..cd962d8 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch
@@ -1,4 +1,4 @@
-From 7bd6e631e4a5273f5ecc41a5a48830a1342e5926 Mon Sep 17 00:00:00 2001
+From 696d696381dd99ec2bddb1170f96f98da36eb418 Mon Sep 17 00:00:00 2001
 From: Andrei Gherzan <andrei.gherzan@huawei.com>
 Date: Wed, 22 Dec 2021 12:49:25 +0100
 Subject: [PATCH] Fix install path of linux64.h
@@ -17,10 +17,10 @@
  1 file changed, 2 insertions(+)
 
 diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 065ce7e9a5b..d4c723968aa 100644
+index 8ef996c0f4d..21daf380e34 100644
 --- a/gcc/Makefile.in
 +++ b/gcc/Makefile.in
-@@ -3738,6 +3738,8 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
+@@ -3731,6 +3731,8 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
  	  "$(srcdir)"/config/* | "$(srcdir)"/common/config/* \
  	  | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \
  	    base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch b/poky/meta/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch
index ad82690..04d940a 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch
@@ -1,4 +1,4 @@
-From 4623d87d779853a2862ee92a15a41fded81eddb8 Mon Sep 17 00:00:00 2001
+From 9487b1d6136ea09cce4792d59d0170c712575550 Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Sat, 20 Aug 2022 09:04:14 -0700
 Subject: [PATCH] Avoid hardcoded build paths into ppc libgcc
diff --git a/poky/meta/recipes-devtools/gcc/gcc_13.1.bb b/poky/meta/recipes-devtools/gcc/gcc_13.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gcc/gcc_13.1.bb
rename to poky/meta/recipes-devtools/gcc/gcc_13.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial_13.1.bb b/poky/meta/recipes-devtools/gcc/libgcc-initial_13.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gcc/libgcc-initial_13.1.bb
rename to poky/meta/recipes-devtools/gcc/libgcc-initial_13.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgcc_13.1.bb b/poky/meta/recipes-devtools/gcc/libgcc_13.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gcc/libgcc_13.1.bb
rename to poky/meta/recipes-devtools/gcc/libgcc_13.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgfortran_13.1.bb b/poky/meta/recipes-devtools/gcc/libgfortran_13.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gcc/libgfortran_13.1.bb
rename to poky/meta/recipes-devtools/gcc/libgfortran_13.2.bb
diff --git a/poky/meta/recipes-devtools/git/git_2.39.3.bb b/poky/meta/recipes-devtools/git/git_2.41.0.bb
similarity index 97%
rename from poky/meta/recipes-devtools/git/git_2.39.3.bb
rename to poky/meta/recipes-devtools/git/git_2.41.0.bb
index 3393550..b84be24 100644
--- a/poky/meta/recipes-devtools/git/git_2.39.3.bb
+++ b/poky/meta/recipes-devtools/git/git_2.41.0.bb
@@ -117,7 +117,6 @@
 
 PERLTOOLS = " \
     ${bindir}/git-cvsserver \
-    ${libexecdir}/git-core/git-add--interactive \
     ${libexecdir}/git-core/git-archimport \
     ${libexecdir}/git-core/git-cvsexportcommit \
     ${libexecdir}/git-core/git-cvsimport \
@@ -161,4 +160,4 @@
                  "
 EXTRA_OEMAKE += "NO_GETTEXT=1"
 
-SRC_URI[tarball.sha256sum] = "2f9aa93c548941cc5aff641cedc24add15b912ad8c9b36ff5a41b1a9dcad783e"
+SRC_URI[tarball.sha256sum] = "c4a6a3dd1827895a80cbd824e14d94811796ae54037549e0da93f7b84cb45b9f"
diff --git a/poky/meta/recipes-devtools/go/go-1.20.6.inc b/poky/meta/recipes-devtools/go/go-1.20.7.inc
similarity index 89%
rename from poky/meta/recipes-devtools/go/go-1.20.6.inc
rename to poky/meta/recipes-devtools/go/go-1.20.7.inc
index 551171b..f797436 100644
--- a/poky/meta/recipes-devtools/go/go-1.20.6.inc
+++ b/poky/meta/recipes-devtools/go/go-1.20.7.inc
@@ -15,4 +15,4 @@
     file://0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
 "
-SRC_URI[main.sha256sum] = "62ee5bc6fb55b8bae8f705e0cb8df86d6453626b4ecf93279e2867092e0b7f70"
+SRC_URI[main.sha256sum] = "2c5ee9c9ec1e733b0dbbc2bdfed3f62306e51d8172bf38f4f4e542b27520f597"
diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.20.6.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.20.7.bb
similarity index 78%
rename from poky/meta/recipes-devtools/go/go-binary-native_1.20.6.bb
rename to poky/meta/recipes-devtools/go/go-binary-native_1.20.7.bb
index 5b2f8f4..3decde1 100644
--- a/poky/meta/recipes-devtools/go/go-binary-native_1.20.6.bb
+++ b/poky/meta/recipes-devtools/go/go-binary-native_1.20.7.bb
@@ -9,9 +9,9 @@
 
 # Checksums available at https://go.dev/dl/
 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] = "b945ae2bb5db01a0fb4786afde64e6fbab50b67f6fa0eb6cfa4924f16a7ff1eb"
-SRC_URI[go_linux_arm64.sha256sum] = "4e15ab37556e979181a1a1cc60f6d796932223a0f5351d7c83768b356f84429b"
-SRC_URI[go_linux_ppc64le.sha256sum] = "a1b91a42a40bba54bfd5c96c23d72250e0c424038d0d2b5c7950b828b4905822"
+SRC_URI[go_linux_amd64.sha256sum] = "f0a87f1bcae91c4b69f8dc2bc6d7e6bfcd7524fceec130af525058c0c17b1b44"
+SRC_URI[go_linux_arm64.sha256sum] = "44781ae3b153c3b07651d93b6bc554e835a36e2d72a696281c1e4dad9efffe43"
+SRC_URI[go_linux_ppc64le.sha256sum] = "6318a1db307c12b8afe68808bd6fae4fba1e558a85b958216096869ed506dcb3"
 
 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.20.6.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.20.7.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-cross-canadian_1.20.6.bb
rename to poky/meta/recipes-devtools/go/go-cross-canadian_1.20.7.bb
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.20.6.bb b/poky/meta/recipes-devtools/go/go-cross_1.20.7.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-cross_1.20.6.bb
rename to poky/meta/recipes-devtools/go/go-cross_1.20.7.bb
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.20.6.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.20.7.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-crosssdk_1.20.6.bb
rename to poky/meta/recipes-devtools/go/go-crosssdk_1.20.7.bb
diff --git a/poky/meta/recipes-devtools/go/go-native_1.20.6.bb b/poky/meta/recipes-devtools/go/go-native_1.20.7.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-native_1.20.6.bb
rename to poky/meta/recipes-devtools/go/go-native_1.20.7.bb
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.20.6.bb b/poky/meta/recipes-devtools/go/go-runtime_1.20.7.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-runtime_1.20.6.bb
rename to poky/meta/recipes-devtools/go/go-runtime_1.20.7.bb
diff --git a/poky/meta/recipes-devtools/go/go_1.20.6.bb b/poky/meta/recipes-devtools/go/go_1.20.7.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go_1.20.6.bb
rename to poky/meta/recipes-devtools/go/go_1.20.7.bb
diff --git a/poky/meta/recipes-devtools/jquery/jquery_3.6.3.bb b/poky/meta/recipes-devtools/jquery/jquery_3.7.0.bb
similarity index 74%
rename from poky/meta/recipes-devtools/jquery/jquery_3.6.3.bb
rename to poky/meta/recipes-devtools/jquery/jquery_3.7.0.bb
index db4745a..eceed9c 100644
--- a/poky/meta/recipes-devtools/jquery/jquery_3.6.3.bb
+++ b/poky/meta/recipes-devtools/jquery/jquery_3.7.0.bb
@@ -3,7 +3,7 @@
 DESCRIPTION = "${SUMMARY}"
 LICENSE = "MIT"
 SECTION = "devel"
-LIC_FILES_CHKSUM = "file://${S}/${BP}.js;beginline=8;endline=10;md5=9c7c6e9ab275fc1e0d99cb7180ecd14c"
+LIC_FILES_CHKSUM = "file://${S}/${BP}.js;beginline=5;endline=7;md5=9c7c6e9ab275fc1e0d99cb7180ecd14c"
 
 # unpack items to ${S} so the archiver can see them
 #
@@ -13,9 +13,9 @@
     https://code.jquery.com/${BP}.min.map;name=map;subdir=${BP} \
     "
 
-SRC_URI[js.sha256sum] = "9d02ee01919145c20b03ee9d3013af7118793dedf5d2c0696a773af90066c953"
-SRC_URI[min.sha256sum] = "a6f3f0faea4b3d48e03176341bef0ed3151ffbf226d4c6635f1c6039c0500575"
-SRC_URI[map.sha256sum] = "156b740931ade6c1a98d99713eeb186f93847ffc56057e973becab4d037ed53a"
+SRC_URI[js.sha256sum] = "265a924c42de4784cba8fd0e1bd77133bc833ea5f5a31fc77e08922c18fcfa43"
+SRC_URI[min.sha256sum] = "d8f9afbf492e4c139e9d2bcb9ba6ef7c14921eb509fb703bc7a3f911b774eff8"
+SRC_URI[map.sha256sum] = "cae47e834ee977975a48c851b165cc52ea916cc968ba7d280b1293f573cd1a48"
 
 UPSTREAM_CHECK_REGEX = "jquery-(?P<pver>\d+(\.\d+)+)\.js"
 
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/0001-Set-interpreter-only-when-necessary.patch b/poky/meta/recipes-devtools/patchelf/patchelf/0001-Set-interpreter-only-when-necessary.patch
new file mode 100644
index 0000000..9a8216b
--- /dev/null
+++ b/poky/meta/recipes-devtools/patchelf/patchelf/0001-Set-interpreter-only-when-necessary.patch
@@ -0,0 +1,31 @@
+From f5df94952e87eaa390e5c845bc48fdb3dbc31cc2 Mon Sep 17 00:00:00 2001
+From: Yuta Hayama <hayama@lineo.co.jp>
+Date: Fri, 21 Jul 2023 10:47:02 +0900
+Subject: [PATCH] Set interpreter only when necessary
+
+If the given interpreter is already set, nothing needs to be done.
+As with modifySoname(), it skips unnecessary processing.
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+Upstream-Status: Submitted [https://github.com/NixOS/patchelf/pull/508]
+
+ src/patchelf.cc | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/patchelf.cc b/src/patchelf.cc
+index 86429c4..e562c49 100644
+--- a/src/patchelf.cc
++++ b/src/patchelf.cc
+@@ -1460,6 +1460,11 @@ void ElfFile<ElfFileParamNames>::modifySoname(sonameMode op, const std::string &
+ template<ElfFileParams>
+ void ElfFile<ElfFileParamNames>::setInterpreter(const std::string & newInterpreter)
+ {
++    if (getInterpreter() == newInterpreter) {
++        debug("given interpreter is already set\n");
++        return;
++    }
++
+     std::string & section = replaceSection(".interp", newInterpreter.size() + 1);
+     setSubstr(section, 0, newInterpreter + '\0');
+     changed = true;
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/0002-align-startOffset-with-p_align-instead-of-pagesize-f.patch b/poky/meta/recipes-devtools/patchelf/patchelf/0002-align-startOffset-with-p_align-instead-of-pagesize-f.patch
new file mode 100644
index 0000000..7906f0f
--- /dev/null
+++ b/poky/meta/recipes-devtools/patchelf/patchelf/0002-align-startOffset-with-p_align-instead-of-pagesize-f.patch
@@ -0,0 +1,42 @@
+From 1198329b922f3cdddc3e87a7c81d7730b646c088 Mon Sep 17 00:00:00 2001
+From: Yuta Hayama <hayama@lineo.co.jp>
+Date: Fri, 28 Jul 2023 16:22:31 +0900
+Subject: [PATCH] align startOffset with p_align instead of pagesize for
+ compatibility
+
+According to the ELF specification, the alignment of loadable process segments
+should satisfy (p_vaddr mod pagesize) == (p_offset mod pagesize). However,
+glibc earlier than 2.35 incorrectly requires that the LOAD segment be (p_vaddr
+mod p_align) == (p_offset mod p_align), and will output the error message
+"ELF load command address/offset not properly aligned" if this is not met.
+
+Since there are many systems that use glibc earlier than 2.35, it is preferable
+that newly added LOAD segments satisfy (p_vaddr mod p_align) == (p_offset mod
+p_align) for compatibility.
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+Upstream-Status: Submitted [https://github.com/NixOS/patchelf/pull/510]
+
+ src/patchelf.cc | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/src/patchelf.cc b/src/patchelf.cc
+index 82b4b46..6edb81a 100644
+--- a/src/patchelf.cc
++++ b/src/patchelf.cc
+@@ -843,7 +843,13 @@ void ElfFile<ElfFileParamNames>::rewriteSectionsLibrary()
+         neededSpace += headerTableSpace;
+     debug("needed space is %d\n", neededSpace);
+ 
+-    Elf_Off startOffset = roundUp(fileContents->size(), getPageSize());
++    /* glibc earlier than 2.35 requires that the LOAD segment satisfies
++       (p_vaddr mod p_align) == (p_offset mod p_align).
++       The ELF specification requires that loadable process segments satisfy
++       (p_vaddr mod pagesize) == (p_offset mod pagesize), so glibc is probably
++       wrong, but here startOffset is calculated according to p_align for
++       compatibility. */
++    Elf_Off startOffset = roundUp(fileContents->size(), alignStartPage);
+ 
+     // In older version of binutils (2.30), readelf would check if the dynamic
+     // section segment is strictly smaller than the file (and not same size).
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/0003-make-LOAD-segment-extensions-based-on-p_align-instea.patch b/poky/meta/recipes-devtools/patchelf/patchelf/0003-make-LOAD-segment-extensions-based-on-p_align-instea.patch
new file mode 100644
index 0000000..37eaf99
--- /dev/null
+++ b/poky/meta/recipes-devtools/patchelf/patchelf/0003-make-LOAD-segment-extensions-based-on-p_align-instea.patch
@@ -0,0 +1,32 @@
+From 299ad5766921d593e11a42a8e4dec55b4b350876 Mon Sep 17 00:00:00 2001
+From: Yuta Hayama <hayama@lineo.co.jp>
+Date: Mon, 31 Jul 2023 11:58:49 +0900
+Subject: [PATCH] make LOAD segment extensions based on p_align instead of
+ pagesize
+
+Since the p_align of the LOAD segment is no longer pagesize, the actual p_align
+value is used to calculate for the LOAD segment extension.
+
+If calculated with pagesize, new LOAD segment may be added even though the
+existing LOAD segment can be extended.
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+Upstream-Status: Submitted [https://github.com/NixOS/patchelf/pull/510]
+
+ src/patchelf.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/patchelf.cc b/src/patchelf.cc
+index 6edb81a..86429c4 100644
+--- a/src/patchelf.cc
++++ b/src/patchelf.cc
+@@ -885,7 +885,7 @@ void ElfFile<ElfFileParamNames>::rewriteSectionsLibrary()
+         rdi(lastSeg.p_type) == PT_LOAD &&
+         rdi(lastSeg.p_flags) == (PF_R | PF_W) &&
+         rdi(lastSeg.p_align) == alignStartPage) {
+-        auto segEnd = roundUp(rdi(lastSeg.p_offset) + rdi(lastSeg.p_memsz), getPageSize());
++        auto segEnd = roundUp(rdi(lastSeg.p_offset) + rdi(lastSeg.p_memsz), alignStartPage);
+         if (segEnd == startOffset) {
+             auto newSz = startOffset + neededSpace - rdi(lastSeg.p_offset);
+             wri(lastSeg.p_filesz, wri(lastSeg.p_memsz, newSz));
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf_0.18.0.bb b/poky/meta/recipes-devtools/patchelf/patchelf_0.18.0.bb
index e8bc2ff..dece342 100644
--- a/poky/meta/recipes-devtools/patchelf/patchelf_0.18.0.bb
+++ b/poky/meta/recipes-devtools/patchelf/patchelf_0.18.0.bb
@@ -4,7 +4,11 @@
 
 LICENSE = "GPL-3.0-only"
 
-SRC_URI = "git://github.com/NixOS/patchelf;protocol=https;branch=master"
+SRC_URI = "git://github.com/NixOS/patchelf;protocol=https;branch=master \
+    file://0001-Set-interpreter-only-when-necessary.patch \
+    file://0002-align-startOffset-with-p_align-instead-of-pagesize-f.patch \
+    file://0003-make-LOAD-segment-extensions-based-on-p_align-instea.patch \
+"
 SRCREV = "99c24238981b7b1084313aca8f5c493bb46f302c"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/python/python3-certifi_2023.5.7.bb b/poky/meta/recipes-devtools/python/python3-certifi_2023.7.22.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-certifi_2023.5.7.bb
rename to poky/meta/recipes-devtools/python/python3-certifi_2023.7.22.bb
index 924b05c..c4e1e7b 100644
--- a/poky/meta/recipes-devtools/python/python3-certifi_2023.5.7.bb
+++ b/poky/meta/recipes-devtools/python/python3-certifi_2023.7.22.bb
@@ -7,7 +7,7 @@
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3c2b7404369c587c3559afb604fce2f2"
 
-SRC_URI[sha256sum] = "0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"
+SRC_URI[sha256sum] = "539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"
 
 inherit pypi setuptools3
 
diff --git a/poky/meta/recipes-devtools/python/python3-chardet_5.1.0.bb b/poky/meta/recipes-devtools/python/python3-chardet_5.2.0.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-chardet_5.1.0.bb
rename to poky/meta/recipes-devtools/python/python3-chardet_5.2.0.bb
index 9b2644e..cea7ebc 100644
--- a/poky/meta/recipes-devtools/python/python3-chardet_5.1.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-chardet_5.2.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
 
-SRC_URI[sha256sum] = "0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5"
+SRC_URI[sha256sum] = "1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"
 
 # setup.py of chardet needs this.
 DEPENDS += "${PYTHON_PN}-pytest-runner-native"
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography-vectors_41.0.2.bb b/poky/meta/recipes-devtools/python/python3-cryptography-vectors_41.0.3.bb
similarity index 90%
rename from poky/meta/recipes-devtools/python/python3-cryptography-vectors_41.0.2.bb
rename to poky/meta/recipes-devtools/python/python3-cryptography-vectors_41.0.3.bb
index 52f2c35..1b499e0 100644
--- a/poky/meta/recipes-devtools/python/python3-cryptography-vectors_41.0.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-cryptography-vectors_41.0.3.bb
@@ -9,7 +9,7 @@
 # NOTE: Make sure to keep this recipe at the same version as python3-cryptography
 #       Upgrade both recipes at the same time
 
-SRC_URI[sha256sum] = "028dff94a8522ca818b11295ff12df55f348f33a193c0597ddfe8239e53d1582"
+SRC_URI[sha256sum] = "80de0452c4b34f56f5518e81ebd75b6b905f5728aaed521d42e41f4ebc8a43fb"
 
 PYPI_PACKAGE = "cryptography_vectors"
 
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography_41.0.2.bb b/poky/meta/recipes-devtools/python/python3-cryptography_41.0.3.bb
similarity index 95%
rename from poky/meta/recipes-devtools/python/python3-cryptography_41.0.2.bb
rename to poky/meta/recipes-devtools/python/python3-cryptography_41.0.3.bb
index 20d6c97..b6ea660 100644
--- a/poky/meta/recipes-devtools/python/python3-cryptography_41.0.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-cryptography_41.0.3.bb
@@ -8,7 +8,7 @@
                    "
 LDSHARED += "-pthread"
 
-SRC_URI[sha256sum] = "7d230bf856164de164ecb615ccc14c7fc6de6906ddd5b491f3af90d3514c925c"
+SRC_URI[sha256sum] = "6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34"
 
 SRC_URI += "file://0001-pyproject.toml-remove-benchmark-disable-option.patch \
             file://0001-Fix-include-directory-when-cross-compiling-9129.patch \
diff --git a/poky/meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch b/poky/meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch
new file mode 100644
index 0000000..a2df482
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch
@@ -0,0 +1,132 @@
+From 4d4703e0199fb3556c37694e4d951785abca22fd Mon Sep 17 00:00:00 2001
+From: Bruce Ashfield <bruce.ashfield@gmail.com>
+Date: Wed, 19 Jan 2022 12:46:42 -0500
+Subject: [PATCH] Revert "libfdt: overlay: make overlay_get_target() public"
+
+This reverts commit 45f3d1a095dd3440578d5c6313eba555a791f3fb.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+---
+ libfdt/fdt_overlay.c | 29 ++++++++++++++++++++++-------
+ libfdt/libfdt.h      | 18 ------------------
+ libfdt/version.lds   |  1 -
+ 3 files changed, 22 insertions(+), 26 deletions(-)
+
+diff --git a/libfdt/fdt_overlay.c b/libfdt/fdt_overlay.c
+index 5c0c398..d217e79 100644
+--- a/libfdt/fdt_overlay.c
++++ b/libfdt/fdt_overlay.c
+@@ -40,22 +40,37 @@ static uint32_t overlay_get_target_phandle(const void *fdto, int fragment)
+ 	return fdt32_to_cpu(*val);
+ }
+ 
+-int fdt_overlay_target_offset(const void *fdt, const void *fdto,
+-			      int fragment_offset, char const **pathp)
++/**
++ * overlay_get_target - retrieves the offset of a fragment's target
++ * @fdt: Base device tree blob
++ * @fdto: Device tree overlay blob
++ * @fragment: node offset of the fragment in the overlay
++ * @pathp: pointer which receives the path of the target (or NULL)
++ *
++ * overlay_get_target() retrieves the target offset in the base
++ * device tree of a fragment, no matter how the actual targeting is
++ * done (through a phandle or a path)
++ *
++ * returns:
++ *      the targeted node offset in the base device tree
++ *      Negative error code on error
++ */
++static int overlay_get_target(const void *fdt, const void *fdto,
++			      int fragment, char const **pathp)
+ {
+ 	uint32_t phandle;
+ 	const char *path = NULL;
+ 	int path_len = 0, ret;
+ 
+ 	/* Try first to do a phandle based lookup */
+-	phandle = overlay_get_target_phandle(fdto, fragment_offset);
++	phandle = overlay_get_target_phandle(fdto, fragment);
+ 	if (phandle == (uint32_t)-1)
+ 		return -FDT_ERR_BADPHANDLE;
+ 
+ 	/* no phandle, try path */
+ 	if (!phandle) {
+ 		/* And then a path based lookup */
+-		path = fdt_getprop(fdto, fragment_offset, "target-path", &path_len);
++		path = fdt_getprop(fdto, fragment, "target-path", &path_len);
+ 		if (path)
+ 			ret = fdt_path_offset(fdt, path);
+ 		else
+@@ -621,7 +636,7 @@ static int overlay_merge(void *fdt, void *fdto)
+ 		if (overlay < 0)
+ 			return overlay;
+ 
+-		target = fdt_overlay_target_offset(fdt, fdto, fragment, NULL);
++		target = overlay_get_target(fdt, fdto, fragment, NULL);
+ 		if (target < 0)
+ 			return target;
+ 
+@@ -764,7 +779,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
+ 			return -FDT_ERR_BADOVERLAY;
+ 
+ 		/* get the target of the fragment */
+-		ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
++		ret = overlay_get_target(fdt, fdto, fragment, &target_path);
+ 		if (ret < 0)
+ 			return ret;
+ 		target = ret;
+@@ -786,7 +801,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
+ 
+ 		if (!target_path) {
+ 			/* again in case setprop_placeholder changed it */
+-			ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
++			ret = overlay_get_target(fdt, fdto, fragment, &target_path);
+ 			if (ret < 0)
+ 				return ret;
+ 			target = ret;
+diff --git a/libfdt/libfdt.h b/libfdt/libfdt.h
+index a7f432c..7f117e8 100644
+--- a/libfdt/libfdt.h
++++ b/libfdt/libfdt.h
+@@ -2116,24 +2116,6 @@ int fdt_del_node(void *fdt, int nodeoffset);
+  */
+ int fdt_overlay_apply(void *fdt, void *fdto);
+ 
+-/**
+- * fdt_overlay_target_offset - retrieves the offset of a fragment's target
+- * @fdt: Base device tree blob
+- * @fdto: Device tree overlay blob
+- * @fragment_offset: node offset of the fragment in the overlay
+- * @pathp: pointer which receives the path of the target (or NULL)
+- *
+- * fdt_overlay_target_offset() retrieves the target offset in the base
+- * device tree of a fragment, no matter how the actual targeting is
+- * done (through a phandle or a path)
+- *
+- * returns:
+- *      the targeted node offset in the base device tree
+- *      Negative error code on error
+- */
+-int fdt_overlay_target_offset(const void *fdt, const void *fdto,
+-			      int fragment_offset, char const **pathp);
+-
+ /**********************************************************************/
+ /* Debugging / informational functions                                */
+ /**********************************************************************/
+diff --git a/libfdt/version.lds b/libfdt/version.lds
+index cbce5d4..7ab85f1 100644
+--- a/libfdt/version.lds
++++ b/libfdt/version.lds
+@@ -77,7 +77,6 @@ LIBFDT_1.2 {
+ 		fdt_appendprop_addrrange;
+ 		fdt_setprop_inplace_namelen_partial;
+ 		fdt_create_with_flags;
+-		fdt_overlay_target_offset;
+ 	local:
+ 		*;
+ };
+-- 
+2.19.1
+
diff --git a/poky/meta/recipes-devtools/python/python3-dtc_1.6.1.bb b/poky/meta/recipes-devtools/python/python3-dtc_1.6.1.bb
new file mode 100644
index 0000000..a868bd0
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-dtc_1.6.1.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Python Library for the Device Tree Compiler"
+HOMEPAGE = "https://devicetree.org/"
+DESCRIPTION = "A python library for the Device Tree Compiler, a tool used to manipulate Device Tree files which contain a data structure for describing hardware."
+SECTION = "bootloader"
+LICENSE = "GPL-2.0-only | BSD-2-Clause"
+
+DEPENDS = "flex-native bison-native swig-native python3-setuptools-scm-native libyaml dtc"
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git;branch=master \
+           file://0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch \
+          "
+
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+LIC_FILES_CHKSUM = "file://pylibfdt/libfdt.i;beginline=1;endline=6;md5=afda088c974174a29108c8d80b5dce90"
+
+SRCREV = "c001fc01a43e7a06447c06ea3d50bd60641322b8"
+
+PV = "1.6.1+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+PYPA_WHEEL = "${S}/dist/libfdt-1.6.2*.whl"
+
+inherit setuptools3 pkgconfig
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-dtschema_2023.4.bb b/poky/meta/recipes-devtools/python/python3-dtschema_2023.6.1.bb
similarity index 61%
rename from poky/meta/recipes-devtools/python/python3-dtschema_2023.4.bb
rename to poky/meta/recipes-devtools/python/python3-dtschema_2023.6.1.bb
index f87563f..0c2c156 100644
--- a/poky/meta/recipes-devtools/python/python3-dtschema_2023.4.bb
+++ b/poky/meta/recipes-devtools/python/python3-dtschema_2023.6.1.bb
@@ -7,9 +7,14 @@
 
 PYPI_PACKAGE = "dtschema"
 
-SRC_URI[sha256sum] = "6daefb8f54403b4d82961b3346571200571747ab01950fd36c1f69950fa7a8cf"
+SRC_URI[sha256sum] = "d9dc11cea6a46ae2ee5ac4a5a1c7da7cb3704417cb390881820460f7c61eb784"
 
 DEPENDS += "python3-setuptools-scm-native"
-RDEPENDS:${PN} += "python3-ruamel-yaml python3-jsonschema python3-rfc3987"
+RDEPENDS:${PN} += "\
+        python3-dtc \
+        python3-jsonschema \
+        python3-rfc3987 \
+        python3-ruamel-yaml \
+        "
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.81.2.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.82.0.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-hypothesis_6.81.2.bb
rename to poky/meta/recipes-devtools/python/python3-hypothesis_6.82.0.bb
index 93bf638..0aeeae1 100644
--- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.81.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.82.0.bb
@@ -13,7 +13,7 @@
     file://test_rle.py \
     "
 
-SRC_URI[sha256sum] = "e35165a73064370d30d476d7218f600d2bf861ff218192c9e994cb36aa190ae7"
+SRC_URI[sha256sum] = "ffece8e40a34329e7112f7408f2c45fe587761978fdbc6f4f91bf0d683a7d4d9"
 
 RDEPENDS:${PN} += " \
     python3-attrs \
diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools_9.1.0.bb b/poky/meta/recipes-devtools/python/python3-more-itertools_10.0.0.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-more-itertools_9.1.0.bb
rename to poky/meta/recipes-devtools/python/python3-more-itertools_10.0.0.bb
index 8c33b71..e07d4b7 100644
--- a/poky/meta/recipes-devtools/python/python3-more-itertools_9.1.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-more-itertools_10.0.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5"
 
-SRC_URI[sha256sum] = "cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d"
+SRC_URI[sha256sum] = "cd65437d7c4b615ab81c0640c0480bc29a550ea032891977681efd28344d51e1"
 
 inherit pypi python_flit_core ptest
 
diff --git a/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.bb b/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.1.bb
similarity index 81%
rename from poky/meta/recipes-devtools/python/python3-pyyaml_6.0.bb
rename to poky/meta/recipes-devtools/python/python3-pyyaml_6.0.1.bb
index d142a0f..4ab8f03 100644
--- a/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.1.bb
@@ -9,7 +9,7 @@
 
 inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"
+SRC_URI[sha256sum] = "bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-datetime \
diff --git a/poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.17.32.bb b/poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.17.32.bb
index b745f34..4b5e77e 100644
--- a/poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.17.32.bb
+++ b/poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.17.32.bb
@@ -1,6 +1,5 @@
 SUMMARY = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order."
 HOMEPAGE = "https://pypi.org/project/ruamel.yaml/"
-AUTHOR = "Anthon van der Neut"
 
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5f41db57c3a8d3584b450d35985ad1"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinx_7.0.1.bb b/poky/meta/recipes-devtools/python/python3-sphinx_7.1.1.bb
similarity index 88%
rename from poky/meta/recipes-devtools/python/python3-sphinx_7.0.1.bb
rename to poky/meta/recipes-devtools/python/python3-sphinx_7.1.1.bb
index 10e01a2..fa616cd 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinx_7.0.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinx_7.1.1.bb
@@ -4,13 +4,10 @@
 LICENSE = "BSD-2-Clause & MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5eb6ac1b115a1ed24a12d9f15b633993"
 
-PYPI_PACKAGE = "Sphinx"
-
-SRC_URI[sha256sum] = "61e025f788c5977d9412587e733733a289e2b9fdc2fef8868ddfbfc4ccfe881d"
+SRC_URI[sha256sum] = "59b8e391f0768a96cd233e8300fe7f0a8dc2f64f83dc2a54336a9a84f428ff4e"
 
 inherit python_flit_core pypi
 
- 
 do_install:append () {
 	# The cache format of "{None, 'en', 'ja'}" doesn't seem to be consistent (dict ordering?)
 	rm ${D}${libdir}/${PYTHON_DIR}/site-packages/sphinx/writers/__pycache__/*latex*
diff --git a/poky/meta/recipes-devtools/python/python3-urllib3_2.0.3.bb b/poky/meta/recipes-devtools/python/python3-urllib3_2.0.4.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-urllib3_2.0.3.bb
rename to poky/meta/recipes-devtools/python/python3-urllib3_2.0.4.bb
index 64b21db..0abd2ad 100644
--- a/poky/meta/recipes-devtools/python/python3-urllib3_2.0.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-urllib3_2.0.4.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=52d273a3054ced561275d4d15260ecda"
 
-SRC_URI[sha256sum] = "bee28b5e56addb8226c96f7f13ac28cb4c301dd5ea8a6ca179c0b9835e032825"
+SRC_URI[sha256sum] = "8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11"
 
 inherit pypi python_hatchling
 
diff --git a/poky/meta/recipes-devtools/python/python3-wheel_0.40.0.bb b/poky/meta/recipes-devtools/python/python3-wheel_0.41.0.bb
similarity index 85%
rename from poky/meta/recipes-devtools/python/python3-wheel_0.40.0.bb
rename to poky/meta/recipes-devtools/python/python3-wheel_0.41.0.bb
index 2b8111d..2d87425 100644
--- a/poky/meta/recipes-devtools/python/python3-wheel_0.40.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-wheel_0.41.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7ffb0db04527cfe380e4f2726bd05ebf"
 
-SRC_URI[sha256sum] = "cd1196f3faee2b31968d626e1731c94f99cbdb67cf5a46e4f5656cbee7738873"
+SRC_URI[sha256sum] = "55a0f0a5a84869bce5ba775abfd9c462e3a6b1b7b7ec69d72c0b83d673a5114d"
 
 inherit python_flit_core pypi
 
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch b/poky/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch
index 61dd4a5..a7d3726 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch
@@ -1,4 +1,4 @@
-From 01e02fb4720ecbbc44c694ee1b7fb6d5d95b5fe2 Mon Sep 17 00:00:00 2001
+From 0c8002d12149fdfbbcd9a9215876d474f157eb9c Mon Sep 17 00:00:00 2001
 From: Yi Fan Yu <yifan.yu@windriver.com>
 Date: Thu, 1 Apr 2021 13:08:37 -0700
 Subject: [PATCH] Skip failing tests due to load variability on YP AB
@@ -11,16 +11,22 @@
 
 Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
 
+Skip two additional tests due to suspected load variability failures.
+
+[YOCTO #15131]
+[YOCTO #15177]
+
+Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
 ---
- Lib/test/_test_multiprocessing.py | 2 ++
- Lib/test/test_time.py             | 1 +
- 2 files changed, 3 insertions(+)
+ Lib/test/_test_multiprocessing.py | 3 +++
+ Lib/test/test_time.py             | 2 ++
+ 2 files changed, 5 insertions(+)
 
 diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
-index 599c3f2..23328be 100644
+index b50a154320..b8b2c4204d 100644
 --- a/Lib/test/_test_multiprocessing.py
 +++ b/Lib/test/_test_multiprocessing.py
-@@ -618,6 +618,7 @@ class _TestProcess(BaseTestCase):
+@@ -618,6 +618,7 @@ def test_close(self):
  
          close_queue(q)
  
@@ -28,7 +34,15 @@
      def test_many_processes(self):
          if self.TYPE == 'threads':
              self.skipTest('test not appropriate for {}'.format(self.TYPE))
-@@ -4890,6 +4891,7 @@ class TestWait(unittest.TestCase):
+@@ -2003,6 +2004,7 @@ def _test_timeout_f(cls, barrier, results):
+         except threading.BrokenBarrierError:
+             results.append(True)
+ 
++    @unittest.skip('timing related test, dependent on load')
+     def test_timeout(self):
+         """
+         Test wait(timeout)
+@@ -4890,6 +4892,7 @@ def signal_and_sleep(cls, sem, period):
          sem.release()
          time.sleep(period)
  
@@ -37,10 +51,10 @@
          from multiprocessing.connection import wait
  
 diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py
-index 884b142..542e980 100644
+index 884b14231f..8f0638c0d7 100644
 --- a/Lib/test/test_time.py
 +++ b/Lib/test/test_time.py
-@@ -492,6 +492,7 @@ class TimeTestCase(unittest.TestCase):
+@@ -492,6 +492,7 @@ def test_perf_counter(self):
      @unittest.skipIf(
          support.is_wasi, "process_time not available on WASI"
      )
@@ -48,3 +62,14 @@
      def test_process_time(self):
          # process_time() should not include time spend during a sleep
          start = time.process_time()
+@@ -505,6 +506,7 @@ def test_process_time(self):
+         self.assertTrue(info.monotonic)
+         self.assertFalse(info.adjustable)
+ 
++    @unittest.skip('timing related test, dependent on load')
+     def test_thread_time(self):
+         if not hasattr(time, 'thread_time'):
+             if sys.platform.startswith(('linux', 'win')):
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-devtools/rust/files/bootstrap_fail.patch b/poky/meta/recipes-devtools/rust/files/bootstrap_fail.patch
new file mode 100644
index 0000000..1f44b6e
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/files/bootstrap_fail.patch
@@ -0,0 +1,127 @@
+rust: Fix BOOTSTRAP_CARGO failure during Rust Oe-selftest
+
+BOOTSTRAP_CARGO command fails due to codegen flags like `-Cpanic` were
+prevented from being reflected in the current target configuration which
+leads to Rust build(rust version 1.70) failure in Oe-selftest.
+
+Upstream-Status: Backport [https://github.com/rust-lang/rust/commit/9dffb52738e0b2ccd15af36d4607a709b21e020c]
+
+Signed-off-by: Yash Shinde <yashinde145@gmail.com>
+---
+diff --git a/src/tools/compiletest/src/common.rs b/src/tools/compiletest/src/common.rs
+--- a/src/tools/compiletest/src/common.rs
++++ b/src/tools/compiletest/src/common.rs
+@@ -431,7 +431,6 @@
+             .unwrap()
+         };
+
+-        let mut current = None;
+         let mut all_targets = HashSet::new();
+         let mut all_archs = HashSet::new();
+         let mut all_oses = HashSet::new();
+@@ -452,14 +451,11 @@
+             }
+             all_pointer_widths.insert(format!("{}bit", cfg.pointer_width));
+
+-            if target == config.target {
+-                current = Some(cfg);
+-            }
+             all_targets.insert(target.into());
+         }
+
+         Self {
+-            current: current.expect("current target not found"),
++            current: Self::get_current_target_config(config),
+             all_targets,
+             all_archs,
+             all_oses,
+@@ -471,6 +467,89 @@
+         }
+     }
+
++    fn get_current_target_config(config: &Config) -> TargetCfg {
++        let mut arch = None;
++        let mut os = None;
++        let mut env = None;
++        let mut abi = None;
++        let mut families = Vec::new();
++        let mut pointer_width = None;
++        let mut endian = None;
++        let mut panic = None;
++
++        for config in
++            rustc_output(config, &["--print=cfg", "--target", &config.target]).trim().lines()
++        {
++            let (name, value) = config
++                .split_once("=\"")
++                .map(|(name, value)| {
++                    (
++                        name,
++                        Some(
++                            value
++                                .strip_suffix("\"")
++                                .expect("key-value pair should be properly quoted"),
++                        ),
++                    )
++                })
++                .unwrap_or_else(|| (config, None));
++
++            match name {
++                "target_arch" => {
++                    arch = Some(value.expect("target_arch should be a key-value pair").to_string());
++                }
++                "target_os" => {
++                    os = Some(value.expect("target_os sould be a key-value pair").to_string());
++                }
++                "target_env" => {
++                    env = Some(value.expect("target_env should be a key-value pair").to_string());
++                }
++                "target_abi" => {
++                    abi = Some(value.expect("target_abi should be a key-value pair").to_string());
++                }
++                "target_family" => {
++                    families
++                        .push(value.expect("target_family should be a key-value pair").to_string());
++                }
++                "target_pointer_width" => {
++                    pointer_width = Some(
++                        value
++                            .expect("target_pointer_width should be a key-value pair")
++                            .parse::<u32>()
++                            .expect("target_pointer_width should be a valid u32"),
++                    );
++                }
++                "target_endian" => {
++                    endian = Some(match value.expect("target_endian should be a key-value pair") {
++                        "big" => Endian::Big,
++                        "little" => Endian::Little,
++                        _ => panic!("target_endian should be either 'big' or 'little'"),
++                    });
++                }
++                "panic" => {
++                    panic = Some(match value.expect("panic should be a key-value pair") {
++                        "abort" => PanicStrategy::Abort,
++                        "unwind" => PanicStrategy::Unwind,
++                        _ => panic!("panic should be either 'abort' or 'unwind'"),
++                    });
++                }
++                _ => (),
++            }
++        }
++
++        TargetCfg {
++            arch: arch.expect("target configuration should specify target_arch"),
++            os: os.expect("target configuration should specify target_os"),
++            env: env.expect("target configuration should specify target_env"),
++            abi: abi.expect("target configuration should specify target_abi"),
++            families,
++            pointer_width: pointer_width
++                .expect("target configuration should specify target_pointer_width"),
++            endian: endian.expect("target configuration should specify target_endian"),
++            panic: panic.expect("target configuration should specify panic"),
++        }
++    }
++
+     // #[cfg(bootstrap)]
+     // Needed only for one cycle, remove during the bootstrap bump.
+     fn collect_all_slow(config: &Config) -> HashMap<String, TargetCfg> {
diff --git a/poky/meta/recipes-devtools/rust/files/rust-oe-selftest.patch b/poky/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
deleted file mode 100644
index 8e9da47..0000000
--- a/poky/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
+++ /dev/null
@@ -1,2324 +0,0 @@
-Rust testsuite outputs error even on a single testcase failure.
-Hence, some test runs are ignored as they fail with error messages.
-
-Upstream-Status: Inappropriate [Ignore the testcase that errors out]
-Signed-off-by: Pgowda <pgowda.cve@gmail.com>
----
-
-diff --git a/compiler/rustc_interface/src/tests.rs b/compiler/rustc_interface/src/tests.rs
-index eb8e65a6d..6e65e8787 100644
---- a/compiler/rustc_interface/src/tests.rs
-+++ b/compiler/rustc_interface/src/tests.rs
-@@ -103,6 +103,7 @@ fn assert_non_crate_hash_different(x: &Options, y: &Options) {
-
- // When the user supplies --test we should implicitly supply --cfg test
- #[test]
-+#[ignore]
- fn test_switch_implies_cfg_test() {
-     rustc_span::create_default_session_globals_then(|| {
-         let matches = optgroups().parse(&["--test".to_string()]).unwrap();
-@@ -114,6 +115,7 @@ fn test_switch_implies_cfg_test() {
-
- // When the user supplies --test and --cfg test, don't implicitly add another --cfg test
- #[test]
-+#[ignore]
- fn test_switch_implies_cfg_test_unless_cfg_test() {
-     rustc_span::create_default_session_globals_then(|| {
-         let matches = optgroups().parse(&["--test".to_string(), "--cfg=test".to_string()]).unwrap();
-@@ -126,6 +128,7 @@ fn test_switch_implies_cfg_test_unless_cfg_test() {
- }
-
- #[test]
-+#[ignore]
- fn test_can_print_warnings() {
-     rustc_span::create_default_session_globals_then(|| {
-         let matches = optgroups().parse(&["-Awarnings".to_string()]).unwrap();
-diff --git a/library/test/src/stats/tests.rs b/library/test/src/stats/tests.rs
-index 3a6e8401b..8442a6b39 100644
---- a/library/test/src/stats/tests.rs
-+++ b/library/test/src/stats/tests.rs
-@@ -40,6 +40,7 @@ fn check(samples: &[f64], summ: &Summary) {
- }
-
- #[test]
-+#[ignore]
- fn test_min_max_nan() {
-     let xs = &[1.0, 2.0, f64::NAN, 3.0, 4.0];
-     let summary = Summary::new(xs);
-diff --git a/tests/assembly/asm/aarch64-outline-atomics.rs b/tests/assembly/asm/aarch64-outline-atomics.rs
-index c2ec4e911..150d23004 100644
---- a/tests/assembly/asm/aarch64-outline-atomics.rs
-+++ b/tests/assembly/asm/aarch64-outline-atomics.rs
-@@ -4,6 +4,7 @@
- // needs-llvm-components: aarch64
- // only-aarch64
- // only-linux
-+// ignore-stage1
-
- #![crate_type = "rlib"]
-
-diff --git a/tests/codegen/abi-main-signature-32bit-c-int.rs b/tests/codegen/abi-main-signature-32bit-c-int.rs
-index 7f22ddcfc..ec84b72aa 100644
---- a/tests/codegen/abi-main-signature-32bit-c-int.rs
-+++ b/tests/codegen/abi-main-signature-32bit-c-int.rs
-@@ -3,6 +3,7 @@
-
- // This test is for targets with 32bit c_int only.
- // ignore-msp430
-+// ignore-stage1
-
- fn main() {
- }
-diff --git a/tests/codegen/sse42-implies-crc32.rs b/tests/codegen/sse42-implies-crc32.rs
-index 47b1a8993..71e2d5ef7 100644
---- a/tests/codegen/sse42-implies-crc32.rs
-+++ b/tests/codegen/sse42-implies-crc32.rs
-@@ -1,5 +1,6 @@
- // only-x86_64
- // compile-flags: -Copt-level=3
-+// ignore-stage1
-
- #![crate_type = "lib"]
-
-diff --git a/tests/codegen/thread-local.rs b/tests/codegen/thread-local.rs
-index 0f1b29ca7..b2b4fd2ff 100644
---- a/tests/codegen/thread-local.rs
-+++ b/tests/codegen/thread-local.rs
-@@ -5,6 +5,7 @@
- // ignore-emscripten globals are used instead of thread locals
- // ignore-android does not use #[thread_local]
- // ignore-nto does not use #[thread_local]
-+// ignore-stage1
-
- #![crate_type = "lib"]
-
-diff --git a/tests/codegen/uninit-consts.rs b/tests/codegen/uninit-consts.rs
-index 4c07740b3..dac5da866 100644
---- a/tests/codegen/uninit-consts.rs
-+++ b/tests/codegen/uninit-consts.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -C no-prepopulate-passes
-+// ignore-stage1
-
- // Check that we use undef (and not zero) for uninitialized bytes in constants.
-
-diff --git a/tests/pretty/raw-str-nonexpr.rs b/tests/pretty/raw-str-nonexpr.rs
-index 12440b5ae..5b62d45ff 100644
---- a/tests/pretty/raw-str-nonexpr.rs
-+++ b/tests/pretty/raw-str-nonexpr.rs
-@@ -1,5 +1,6 @@
- // needs-asm-support
- // pp-exact
-+// ignore-stage1
-
- #[cfg(foo = r#"just parse this"#)]
- extern crate blah as blah;
-diff --git a/tests/run-make/issue-36710/Makefile b/tests/run-make/issue-36710/Makefile
-index 7b91107a234..e404fcc3996 100644
---- a/tests/run-make/issue-36710/Makefile
-+++ b/tests/run-make/issue-36710/Makefile
-@@ -6,6 +6,7 @@
- # ignore-musl FIXME: this makefile needs teaching how to use a musl toolchain
- #                    (see dist-i586-gnu-i586-i686-musl Dockerfile)
- # ignore-sgx
-+# ignore-stage1
- 
- include ../tools.mk
-
-diff --git a/tests/rustdoc-ui/cfg-test.rs b/tests/rustdoc-ui/cfg-test.rs
-index d4ca92585..fceb2968d 100644
---- a/tests/rustdoc-ui/cfg-test.rs
-+++ b/tests/rustdoc-ui/cfg-test.rs
-@@ -5,6 +5,7 @@
-
- // Crates like core have doctests gated on `cfg(not(test))` so we need to make
- // sure `cfg(test)` is not active when running `rustdoc --test`.
-+// ignore-stage1
-
- /// this doctest will be ignored:
- ///
-diff --git a/tests/rustdoc-ui/check-cfg-test.rs b/tests/rustdoc-ui/check-cfg-test.rs
-index 626cc8387..b0f9a1948 100644
---- a/tests/rustdoc-ui/check-cfg-test.rs
-+++ b/tests/rustdoc-ui/check-cfg-test.rs
-@@ -3,6 +3,7 @@
- // normalize-stderr-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
-+// ignore-stage1
-
- /// The doctest will produce a warning because feature invalid is unexpected
- /// ```
-diff --git a/tests/rustdoc-ui/display-output.rs b/tests/rustdoc-ui/display-output.rs
-index ec27a9f6b..61655fa6e 100644
---- a/tests/rustdoc-ui/display-output.rs
-+++ b/tests/rustdoc-ui/display-output.rs
-@@ -5,6 +5,7 @@
- // compile-flags:--test --test-args=--show-output
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
-+// ignore-stage1
-
- /// ```
- /// #![warn(unused)]
-diff --git a/tests/rustdoc-ui/doc-comment-multi-line-attr.rs b/tests/rustdoc-ui/doc-comment-multi-line-attr.rs
-index 97259f782..50a155fba 100644
---- a/tests/rustdoc-ui/doc-comment-multi-line-attr.rs
-+++ b/tests/rustdoc-ui/doc-comment-multi-line-attr.rs
-@@ -3,6 +3,7 @@
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
- // check-pass
-+// ignore-stage1
-
- //! ```rust
- //! #![deny(
-diff --git a/tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs b/tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs
-index b2a8133c9..ea064ba85 100644
---- a/tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs
-+++ b/tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs
-@@ -2,6 +2,7 @@
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
- // check-pass
-+// ignore-stage1
-
- /// ```
- /// # #![cfg_attr(not(dox), deny(missing_abi,
-diff --git a/tests/rustdoc-ui/doc-test-doctest-feature.rs b/tests/rustdoc-ui/doc-test-doctest-feature.rs
-index 0b79aaece..8cef6d974 100644
---- a/tests/rustdoc-ui/doc-test-doctest-feature.rs
-+++ b/tests/rustdoc-ui/doc-test-doctest-feature.rs
-@@ -5,6 +5,7 @@
-
- // Make sure `cfg(doctest)` is set when finding doctests but not inside
- // the doctests.
-+// ignore-stage1
-
- /// ```
- /// assert!(!cfg!(doctest));
-diff --git a/tests/rustdoc-ui/doc-test-rustdoc-feature.rs b/tests/rustdoc-ui/doc-test-rustdoc-feature.rs
-index bf334c67e..c372097bd 100644
---- a/tests/rustdoc-ui/doc-test-rustdoc-feature.rs
-+++ b/tests/rustdoc-ui/doc-test-rustdoc-feature.rs
-@@ -2,6 +2,7 @@
- // compile-flags:--test
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
-+// ignore-stage1
-
- #![feature(doc_cfg)]
-
-diff --git a/tests/rustdoc-ui/doctest-output.rs b/tests/rustdoc-ui/doctest-output.rs
-index 2670fa572..b4b612916 100644
---- a/tests/rustdoc-ui/doctest-output.rs
-+++ b/tests/rustdoc-ui/doctest-output.rs
-@@ -4,6 +4,7 @@
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
- // check-pass
-+// ignore-stage1
-
- //! ```
- //! assert_eq!(1 + 1, 2);
-diff --git a/tests/rustdoc-ui/failed-doctest-compile-fail.rs b/tests/rustdoc-ui/failed-doctest-compile-fail.rs
-index 6f2ff5d70..2561ffdc3 100644
---- a/tests/rustdoc-ui/failed-doctest-compile-fail.rs
-+++ b/tests/rustdoc-ui/failed-doctest-compile-fail.rs
-@@ -5,6 +5,7 @@
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
- // failure-status: 101
-+// ignore-stage1
-
- /// ```compile_fail
- /// println!("Hello");
-diff --git a/tests/rustdoc-ui/issue-91134.rs b/tests/rustdoc-ui/issue-91134.rs
-index d2ff3a252..90e0816d2 100644
---- a/tests/rustdoc-ui/issue-91134.rs
-+++ b/tests/rustdoc-ui/issue-91134.rs
-@@ -4,6 +4,7 @@
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
- // edition:2021
-+// ignore-stage1
-
- /// <https://github.com/rust-lang/rust/issues/91134>
- ///
-diff --git a/tests/rustdoc-ui/nocapture.rs b/tests/rustdoc-ui/nocapture.rs
-index 321f5ca08..463751e48 100644
---- a/tests/rustdoc-ui/nocapture.rs
-+++ b/tests/rustdoc-ui/nocapture.rs
-@@ -2,6 +2,7 @@
- // compile-flags:--test -Zunstable-options --nocapture
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
-+// ignore-stage1
-
- /// ```
- /// println!("hello!");
-diff --git a/tests/rustdoc-ui/run-directory.rs b/tests/rustdoc-ui/run-directory.rs
-index 0d432c1e6..357e3ccc3 100644
---- a/tests/rustdoc-ui/run-directory.rs
-+++ b/tests/rustdoc-ui/run-directory.rs
-@@ -6,6 +6,7 @@
- // [incorrect]compile-flags:--test --test-run-directory={{src-base}}/coverage
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
-+// ignore-stage1
-
- /// ```
- /// assert_eq!(
-diff --git a/tests/rustdoc-ui/test-no_std.rs b/tests/rustdoc-ui/test-no_std.rs
-index ee919985e..3e479bf6f 100644
---- a/tests/rustdoc-ui/test-no_std.rs
-+++ b/tests/rustdoc-ui/test-no_std.rs
-@@ -2,6 +2,7 @@
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
- // check-pass
-+// ignore-stage1
-
- #![no_std]
-
-diff --git a/tests/rustdoc-ui/test-type.rs b/tests/rustdoc-ui/test-type.rs
-index 882da5c25..bc8e8e30f 100644
---- a/tests/rustdoc-ui/test-type.rs
-+++ b/tests/rustdoc-ui/test-type.rs
-@@ -2,6 +2,7 @@
- // check-pass
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
-+// ignore-stage1
-
- /// ```
- /// let a = true;
-diff --git a/tests/ui-fulldeps/internal-lints/default_hash_types.rs b/tests/ui-fulldeps/internal-lints/default_hash_types.rs
-index 795c7d2dc..dc6b4f53f 100644
---- a/tests/ui-fulldeps/internal-lints/default_hash_types.rs
-+++ b/tests/ui-fulldeps/internal-lints/default_hash_types.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -Z unstable-options
-+// ignore-stage1
-
- #![feature(rustc_private)]
- #![deny(rustc::default_hash_types)]
-diff --git a/tests/ui-fulldeps/internal-lints/diagnostics.rs b/tests/ui-fulldeps/internal-lints/diagnostics.rs
-index 643e81d99..2433228ef 100644
---- a/tests/ui-fulldeps/internal-lints/diagnostics.rs
-+++ b/tests/ui-fulldeps/internal-lints/diagnostics.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -Z unstable-options
-+// ignore-stage1
-
- #![crate_type = "lib"]
- #![feature(rustc_attrs)]
-diff --git a/tests/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs b/tests/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs
-index f6f0c0385..4523e2a6d 100644
---- a/tests/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs
-+++ b/tests/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -Z unstable-options
-+// ignore-stage1
-
- #![feature(rustc_private)]
- #![deny(rustc::lint_pass_impl_without_macro)]
-diff --git a/tests/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs b/tests/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs
-index 32b987338..6187e2370 100644
---- a/tests/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs
-+++ b/tests/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -Z unstable-options
-+// ignore-stage1
-
- #![feature(rustc_private)]
- #![deny(rustc::usage_of_qualified_ty)]
-diff --git a/tests/ui-fulldeps/internal-lints/query_stability.rs b/tests/ui-fulldeps/internal-lints/query_stability.rs
-index 560675b44..e7d5ba583 100644
---- a/tests/ui-fulldeps/internal-lints/query_stability.rs
-+++ b/tests/ui-fulldeps/internal-lints/query_stability.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -Z unstable-options
-+// ignore-stage1
-
- #![feature(rustc_private)]
- #![deny(rustc::potential_query_instability)]
-diff --git a/tests/ui-fulldeps/internal-lints/rustc_pass_by_value.rs b/tests/ui-fulldeps/internal-lints/rustc_pass_by_value.rs
-index 10bab2d88..8e72c8b38 100644
---- a/tests/ui-fulldeps/internal-lints/rustc_pass_by_value.rs
-+++ b/tests/ui-fulldeps/internal-lints/rustc_pass_by_value.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -Z unstable-options
-+// ignore-stage1
-
- #![feature(rustc_attrs)]
- #![feature(rustc_private)]
-diff --git a/tests/ui-fulldeps/internal-lints/ty_tykind_usage.rs b/tests/ui-fulldeps/internal-lints/ty_tykind_usage.rs
-index 2cb1ed6fc..31b5a2131 100644
---- a/tests/ui-fulldeps/internal-lints/ty_tykind_usage.rs
-+++ b/tests/ui-fulldeps/internal-lints/ty_tykind_usage.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -Z unstable-options
-+// ignore-stage1
-
- #![feature(rustc_private)]
-
-diff --git a/tests/ui-fulldeps/lint-group-denied-lint-allowed.rs b/tests/ui-fulldeps/lint-group-denied-lint-allowed.rs
-index 7498745f2..28c00f2f8 100644
---- a/tests/ui-fulldeps/lint-group-denied-lint-allowed.rs
-+++ b/tests/ui-fulldeps/lint-group-denied-lint-allowed.rs
-@@ -1,6 +1,7 @@
- // aux-build:lint-group-plugin-test.rs
- // check-pass
- // compile-flags: -D unused -A unused-variables
-+// ignore-stage1
-
- fn main() {
-     let x = 1;
-diff --git a/tests/ui-fulldeps/lint-group-forbid-always-trumps-cli.rs b/tests/ui-fulldeps/lint-group-forbid-always-trumps-cli.rs
-index fc19bc039..9563e9930 100644
---- a/tests/ui-fulldeps/lint-group-forbid-always-trumps-cli.rs
-+++ b/tests/ui-fulldeps/lint-group-forbid-always-trumps-cli.rs
-@@ -1,5 +1,6 @@
- // aux-build:lint-group-plugin-test.rs
- // compile-flags: -F unused -A unused
-+// ignore-stage1
-
- fn main() {
-     let x = 1;
-diff --git a/tests/ui-fulldeps/lint-pass-macros.rs b/tests/ui-fulldeps/lint-pass-macros.rs
-index b3c2a5427..9ed711a34 100644
---- a/tests/ui-fulldeps/lint-pass-macros.rs
-+++ b/tests/ui-fulldeps/lint-pass-macros.rs
-@@ -1,5 +1,6 @@
- // compile-flags: -Z unstable-options
- // check-pass
-+// ignore-stage1
-
- #![feature(rustc_private)]
-
-diff --git a/tests/ui/empty_global_asm.rs b/tests/ui/empty_global_asm.rs
-index af13762d1..e9a5433ff 100644
---- a/tests/ui/empty_global_asm.rs
-+++ b/tests/ui/empty_global_asm.rs
-@@ -1,5 +1,6 @@
- // needs-asm-support
- // run-pass
-+// ignore-stage1
-
- use std::arch::global_asm;
-
-diff --git a/tests/ui/linkage-attr/issue-10755.rs b/tests/ui/linkage-attr/issue-10755.rs
-index afd2dc46c..f0d4705e4 100644
---- a/tests/ui/linkage-attr/issue-10755.rs
-+++ b/tests/ui/linkage-attr/issue-10755.rs
-@@ -2,6 +2,7 @@
- // dont-check-compiler-stderr
- // compile-flags: -C linker=llllll -C linker-flavor=ld
- // error-pattern: `llllll`
-+// ignore-stage1
-
- // Before, the error-pattern checked for "not found". On WSL with appendWindowsPath=true, running
- // in invalid command returns a PermissionDenied instead.
-diff --git a/tests/ui/macros/restricted-shadowing-legacy.rs b/tests/ui/macros/restricted-shadowing-legacy.rs
-index f5cac2dfb..d84f8efd6 100644
---- a/tests/ui/macros/restricted-shadowing-legacy.rs
-+++ b/tests/ui/macros/restricted-shadowing-legacy.rs
-@@ -74,6 +74,7 @@
- // 62 |   Unordered   |   Unordered   |       =       |    +?    |
- // 63 |   Unordered   |   Unordered   |       >       |    +?    |
- // 64 |   Unordered   |   Unordered   |   Unordered   |    +     |
-+// ignore-stage1
-
- #![feature(decl_macro, rustc_attrs)]
-
-diff --git a/tests/ui/process/nofile-limit.rs b/tests/ui/process/nofile-limit.rs
-index 3ddf8d6ef..316823fcc 100644
---- a/tests/ui/process/nofile-limit.rs
-+++ b/tests/ui/process/nofile-limit.rs
-@@ -3,6 +3,7 @@
- // test for issue #96621.
- //
- // run-pass
-+// ignore-stage1
- // dont-check-compiler-stderr
- // only-linux
- // no-prefer-dynamic
-diff --git a/tests/ui/process/process-panic-after-fork.rs b/tests/ui/process/process-panic-after-fork.rs
-index 6d4d24922..f681526bd 100644
---- a/tests/ui/process/process-panic-after-fork.rs
-+++ b/tests/ui/process/process-panic-after-fork.rs
-@@ -6,6 +6,7 @@
- // ignore-emscripten no processes
- // ignore-sgx no processes
- // ignore-fuchsia no fork
-+// ignore-stage1
-
- #![feature(rustc_private)]
- #![feature(never_type)]
-diff --git a/tests/ui/simd/target-feature-mixup.rs b/tests/ui/simd/target-feature-mixup.rs
-index 5dd163715..ab8b02f23 100644
---- a/tests/ui/simd/target-feature-mixup.rs
-+++ b/tests/ui/simd/target-feature-mixup.rs
-@@ -1,4 +1,6 @@
- // run-pass
-+// ignore-stage1
-+
- #![allow(unused_variables)]
- #![allow(stable_features)]
- #![allow(overflowing_literals)]
-diff --git a/tests/ui-fulldeps/internal-lints/bad_opt_access.rs b/tests/ui-fulldeps/internal-lints/bad_opt_access.rs
-index d6bd6945e15..a5794e3636a 100644
---- a/tests/ui-fulldeps/internal-lints/bad_opt_access.rs
-+++ b/tests/ui-fulldeps/internal-lints/bad_opt_access.rs
-@@ -3,6 +3,7 @@
- // Test that accessing command line options by field access triggers a lint for those fields
- // that have wrapper functions which should be used.
- 
-+// ignore-stage1
- #![crate_type = "lib"]
- #![feature(rustc_private)]
- #![deny(rustc::bad_opt_access)]
-diff --git a/tests/ui-fulldeps/session-diagnostic/enforce_slug_naming.rs b/tests/ui-fulldeps/session-diagnostic/enforce_slug_naming.rs
-index a0a8114e0c5..29faed24e13 100644
---- a/tests/ui-fulldeps/session-diagnostic/enforce_slug_naming.rs
-+++ b/tests/ui-fulldeps/session-diagnostic/enforce_slug_naming.rs
-@@ -1,5 +1,6 @@
- // rustc-env:CARGO_CRATE_NAME=rustc_dummy
- 
-+// ignore-stage1
- #![feature(rustc_private)]
- #![crate_type = "lib"]
- 
-diff --git a/tests/ui/debuginfo/debuginfo-emit-llvm-ir-and-split-debuginfo.rs b/tests/ui/debuginfo/debuginfo-emit-llvm-ir-and-split-debuginfo.rs
-index ff764015dc7..8d0184b40f5 100644
---- a/tests/ui/debuginfo/debuginfo-emit-llvm-ir-and-split-debuginfo.rs
-+++ b/tests/ui/debuginfo/debuginfo-emit-llvm-ir-and-split-debuginfo.rs
-@@ -5,4 +5,5 @@
- //
- // Make sure that we don't explode with an error if we don't actually end up emitting any `dwo`s,
- // as would be the case if we don't actually codegen anything.
-+// ignore-stage1
- #![crate_type="rlib"]
-diff --git a/tests/ui/drop/dynamic-drop.rs b/tests/ui/drop/dynamic-drop.rs
-index 9e51d3adaaa..296032acebb 100644
---- a/tests/ui/drop/dynamic-drop.rs
-+++ b/tests/ui/drop/dynamic-drop.rs
-@@ -1,6 +1,7 @@
- // run-pass
- // needs-unwind
- 
-+// ignore-stage1
- #![feature(generators, generator_trait)]
- 
- #![allow(unused_assignments)]
-diff --git a/src/bootstrap/builder/tests.rs b/src/bootstrap/builder/tests.rs
-index 3574f11189e..4f4698a25bd 100644
---- a/src/bootstrap/builder/tests.rs
-+++ b/src/bootstrap/builder/tests.rs
-@@ -76,6 +76,7 @@ macro_rules! rustc {
- }
- 
- #[test]
-+#[ignore]
- fn test_valid() {
-     // make sure multi suite paths are accepted
-     check_cli(["test", "tests/ui/attr-start.rs", "tests/ui/attr-shebang.rs"]);
-@@ -104,6 +105,7 @@ fn test_intersection() {
- }
- 
- #[test]
-+#[ignore]
- fn test_exclude() {
-     let mut config = configure("test", &["A"], &["A"]);
-     config.exclude = vec![TaskPath::parse("src/tools/tidy")];
-@@ -117,6 +119,7 @@ fn test_exclude() {
- }
- 
- #[test]
-+#[ignore]
- fn test_exclude_kind() {
-     let path = PathBuf::from("src/tools/cargotest");
-     let exclude = TaskPath::parse("test::src/tools/cargotest");
-@@ -137,6 +140,7 @@ fn test_exclude_kind() {
- 
- /// Ensure that if someone passes both a single crate and `library`, all library crates get built.
- #[test]
-+#[ignore]
- fn alias_and_path_for_library() {
-     let mut cache =
-         run_build(&["library".into(), "core".into()], configure("build", &["A"], &["A"]));
-@@ -153,6 +157,7 @@ mod defaults {
-     use pretty_assertions::assert_eq;
- 
-     #[test]
-+    #[ignore]
-     fn build_default() {
-         let mut cache = run_build(&[], configure("build", &["A"], &["A"]));
- 
-@@ -173,6 +178,7 @@ fn build_default() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn build_stage_0() {
-         let config = Config { stage: 0, ..configure("build", &["A"], &["A"]) };
-         let mut cache = run_build(&[], config);
-@@ -190,6 +196,7 @@ fn build_stage_0() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn build_cross_compile() {
-         let config = Config { stage: 1, ..configure("build", &["A", "B"], &["A", "B"]) };
-         let mut cache = run_build(&[], config);
-@@ -233,6 +240,7 @@ fn build_cross_compile() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn doc_default() {
-         let mut config = configure("doc", &["A"], &["A"]);
-         config.compiler_docs = true;
-@@ -267,6 +275,7 @@ fn configure(host: &[&str], target: &[&str]) -> Config {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn dist_baseline() {
-         let mut cache = run_build(&[], configure(&["A"], &["A"]));
- 
-@@ -291,6 +300,7 @@ fn dist_baseline() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn dist_with_targets() {
-         let mut cache = run_build(&[], configure(&["A"], &["A", "B"]));
- 
-@@ -320,6 +330,7 @@ fn dist_with_targets() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn dist_with_hosts() {
-         let mut cache = run_build(&[], configure(&["A", "B"], &["A", "B"]));
- 
-@@ -362,6 +373,7 @@ fn dist_with_hosts() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn dist_only_cross_host() {
-         let b = TargetSelection::from_user("B");
-         let mut config = configure(&["A", "B"], &["A", "B"]);
-@@ -381,6 +393,7 @@ fn dist_only_cross_host() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn dist_with_targets_and_hosts() {
-         let mut cache = run_build(&[], configure(&["A", "B"], &["A", "B", "C"]));
- 
-@@ -415,6 +428,7 @@ fn dist_with_targets_and_hosts() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn dist_with_empty_host() {
-         let config = configure(&[], &["C"]);
-         let mut cache = run_build(&[], config);
-@@ -431,6 +445,7 @@ fn dist_with_empty_host() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn dist_with_same_targets_and_hosts() {
-         let mut cache = run_build(&[], configure(&["A", "B"], &["A", "B"]));
- 
-@@ -482,6 +497,7 @@ fn dist_with_same_targets_and_hosts() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn build_all() {
-         let build = Build::new(configure(&["A", "B"], &["A", "B", "C"]));
-         let mut builder = Builder::new(&build);
-@@ -515,6 +531,7 @@ fn build_all() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn build_with_empty_host() {
-         let config = configure(&[], &["C"]);
-         let build = Build::new(config);
-@@ -542,6 +559,7 @@ fn build_with_empty_host() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn test_with_no_doc_stage0() {
-         let mut config = configure(&["A"], &["A"]);
-         config.stage = 0;
-@@ -585,6 +603,7 @@ fn test_with_no_doc_stage0() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn doc_ci() {
-         let mut config = configure(&["A"], &["A"]);
-         config.compiler_docs = true;
-@@ -613,6 +632,7 @@ fn doc_ci() {
-     }
- 
-     #[test]
-+    #[ignore]
-     fn test_docs() {
-         // Behavior of `x.py test` doing various documentation tests.
-         let mut config = configure(&["A"], &["A"]);
-diff --git a/tests/ui-fulldeps/internal-lints/bad_opt_access.stderr b/tests/ui-fulldeps/internal-lints/bad_opt_access.stderr
---- a/tests/ui-fulldeps/internal-lints/bad_opt_access.stderr 2023-01-10 10:47:33.000000000 -0800
-+++ b/tests/ui-fulldeps/internal-lints/bad_opt_access.stderr 2023-01-20 03:49:06.575109271 -0800
-@@ -1,20 +1,11 @@
--error: use `Session::split_debuginfo` instead of this field
--  --> $DIR/bad_opt_access.rs:14:13
-+error[E0463]: can't find crate for `rustc_macros` which `rustc_session` depends on
-+  --> $DIR/bad_opt_access.rs:10:1
-    |
--LL |     let _ = sess.opts.cg.split_debuginfo;
--   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-+LL | extern crate rustc_session;
-+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
-    |
--note: the lint level is defined here
--  --> $DIR/bad_opt_access.rs:8:9
--   |
--LL | #![deny(rustc::bad_opt_access)]
--   |         ^^^^^^^^^^^^^^^^^^^^^
--
--error: use `Session::crate_types` instead of this field
--  --> $DIR/bad_opt_access.rs:17:13
--   |
--LL |     let _ = sess.opts.crate_types;
--   |             ^^^^^^^^^^^^^^^^^^^^^
-+   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
- 
--error: aborting due to 2 previous errors
-+error: aborting due to previous error
- 
-+For more information about this error, try `rustc --explain E0463`.
-diff --git a/tests/ui/process/process-sigpipe.rs b/tests/ui/process/process-sigpipe.rs
---- a/tests/ui/process/process-sigpipe.rs    2023-01-10 10:47:33.000000000 -0800
-+++ b/tests/ui/process/process-sigpipe.rs    2023-01-27 01:07:05.335718181 -0800
-@@ -1,4 +1,5 @@
- // run-pass
-+// ignore-stage1
- #![allow(unused_imports)]
- #![allow(deprecated)]
- 
-diff --git a/tests/run-make/static-pie/Makefile b/tests/run-make/static-pie/Makefile
---- a/tests/run-make/static-pie/Makefile     2023-02-21 02:25:36.553233415 -0800
-+++ b/tests/run-make/static-pie/Makefile     2023-02-21 02:19:45.848629908 -0800
-@@ -3,6 +3,7 @@ include ../../run-make-fulldeps/tools.mk
- # only-x86_64
- # only-linux
- # ignore-32bit
-+# ignore-stage1
-
- # How to manually run this
- # $ ./x.py test --target x86_64-unknown-linux-[musl,gnu] tests/run-make/static-pie
-diff --git a/tests/codegen/repr-transparent-aggregates-3.rs b/tests/codegen/repr-transparent-aggregates-3.rs
-index 0db17e6b13a..6e9cb7224c8 100644
---- a/tests/codegen/repr-transparent-aggregates-3.rs
-+++ b/tests/codegen/repr-transparent-aggregates-3.rs
-@@ -3,6 +3,7 @@
- 
- // only-mips64
- // See repr-transparent.rs
-+// ignore-stage1
- 
- #![feature(transparent_unions)]
-
-diff --git a/tests/codegen/abi-repr-ext.rs b/tests/codegen/abi-repr-ext.rs
-index 23ade3c7216..addd8a2ebdc 100644
---- a/tests/codegen/abi-repr-ext.rs
-+++ b/tests/codegen/abi-repr-ext.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -O
-+// ignore-stage1
- 
- // revisions:x86_64 i686 aarch64-apple aarch64-windows aarch64-linux arm riscv
- 
-diff --git a/tests/codegen/abi-x86-interrupt.rs b/tests/codegen/abi-x86-interrupt.rs
-index 928ad5a9bbd..5185edaae40 100644
---- a/tests/codegen/abi-x86-interrupt.rs
-+++ b/tests/codegen/abi-x86-interrupt.rs
-@@ -4,6 +4,7 @@
- 
- // needs-llvm-components: x86
- // compile-flags: -C no-prepopulate-passes --target=x86_64-unknown-linux-gnu -Copt-level=0
-+// ignore-stage1
- 
- #![crate_type = "lib"]
- #![no_core]
-diff --git a/tests/codegen/branch-protection.rs b/tests/codegen/branch-protection.rs
-index 994c71b2619..5d83a29da74 100644
---- a/tests/codegen/branch-protection.rs
-+++ b/tests/codegen/branch-protection.rs
-@@ -7,6 +7,7 @@
- // [LEAF] compile-flags: -Z branch-protection=pac-ret,leaf
- // [BKEY] compile-flags: -Z branch-protection=pac-ret,b-key
- // compile-flags: --target aarch64-unknown-linux-gnu
-+// ignore-stage1
- 
- #![crate_type = "lib"]
- #![feature(no_core, lang_items)]
-diff --git a/tests/codegen/catch-unwind.rs b/tests/codegen/catch-unwind.rs
-index b90ef104ce7..12d5d1451a2 100644
---- a/tests/codegen/catch-unwind.rs
-+++ b/tests/codegen/catch-unwind.rs
-@@ -10,6 +10,7 @@
- // ignore-riscv64 FIXME
- // On s390x the closure is also in another function
- // ignore-s390x FIXME
-+// ignore-stage1
- 
- #![crate_type = "lib"]
- #![feature(c_unwind)]
-diff --git a/tests/codegen/cf-protection.rs b/tests/codegen/cf-protection.rs
-index ccbc863f571..f4281d87abf 100644
---- a/tests/codegen/cf-protection.rs
-+++ b/tests/codegen/cf-protection.rs
-@@ -8,6 +8,7 @@
- // [return] compile-flags: -Z cf-protection=return
- // [full] compile-flags: -Z cf-protection=full
- // compile-flags: --target x86_64-unknown-linux-gnu
-+// ignore-stage1
- 
- #![crate_type = "lib"]
- #![feature(no_core, lang_items)]
-diff --git a/tests/codegen/enum-bounds-check-derived-idx.rs b/tests/codegen/enum-bounds-check-derived-idx.rs
-index aa66c2ed08e..db6c87c7338 100644
---- a/tests/codegen/enum-bounds-check-derived-idx.rs
-+++ b/tests/codegen/enum-bounds-check-derived-idx.rs
-@@ -1,7 +1,7 @@
- // This test checks an optimization that is not guaranteed to work. This test case should not block
- // a future LLVM update.
- // compile-flags: -O
--
-+// ignore-stage1
- #![crate_type = "lib"]
- 
- pub enum Bar {
-diff --git a/tests/codegen/force-unwind-tables.rs b/tests/codegen/force-unwind-tables.rs
-index 4c0a5602c6d..d5faf190290 100644
---- a/tests/codegen/force-unwind-tables.rs
-+++ b/tests/codegen/force-unwind-tables.rs
-@@ -1,5 +1,5 @@
- // compile-flags: -C no-prepopulate-passes -C force-unwind-tables=y
--
-+// ignore-stage1
- #![crate_type="lib"]
- 
- // CHECK: attributes #{{.*}} uwtable
-diff --git a/tests/codegen/intrinsic-no-unnamed-attr.rs b/tests/codegen/intrinsic-no-unnamed-attr.rs
-index c8a8e0b3e7a..f779f5cc27e 100644
---- a/tests/codegen/intrinsic-no-unnamed-attr.rs
-+++ b/tests/codegen/intrinsic-no-unnamed-attr.rs
-@@ -1,5 +1,5 @@
- // compile-flags: -C no-prepopulate-passes
--
-+// ignore-stage1
- #![feature(intrinsics)]
- 
- extern "rust-intrinsic" {
-diff --git a/tests/codegen/issues/issue-103840.rs b/tests/codegeni/issues/issue-103840.rs
-index f19d7031bb3..92408e75964 100644
---- a/tests/codegen/issues/issue-103840.rs
-+++ b/tests/codegen/issues/issue-103840.rs
-@@ -1,5 +1,6 @@
- // compile-flags: -O
- #![crate_type = "lib"]
-+// ignore-stage1
- 
- pub fn foo(t: &mut Vec<usize>) {
-     // CHECK-NOT: __rust_dealloc
-diff --git a/tests/codegen/issues/issue-47278.rs b/tests/codegen/issues/issue-47278.rs
-index 9076274f45e..de7203e139b 100644
---- a/tests/codegen/issues/issue-47278.rs
-+++ b/tests/codegen/issues/issue-47278.rs
-@@ -1,5 +1,6 @@
- // -C no-prepopulate-passes
- #![crate_type="staticlib"]
-+// ignore-stage1
- 
- #[repr(C)]
- pub struct Foo(u64);
-diff --git a/tests/codegen/issues/issue-73827-bounds-check-index-in-subexpr.rs b/tests/codegen/issues/issue-73827-bounds-check-index-in-subexpr.rs
-index 1ad05906e21..8df862aeee5 100644
---- a/tests/codegen/issues/issue-73827-bounds-check-index-in-subexpr.rs
-+++ b/tests/codegen/issues/issue-73827-bounds-check-index-in-subexpr.rs
-@@ -2,6 +2,7 @@
- // index is part of a (x | y) < C style condition
- 
- // compile-flags: -O
-+// ignore-stage1
- 
- #![crate_type = "lib"]
- 
-diff --git a/tests/codegen/lifetime_start_end.rs b/tests/codegen/lifetime_start_end.rs
-index 471a0b8cedd..356650de0c1 100644
---- a/tests/codegen/lifetime_start_end.rs
-+++ b/tests/codegen/lifetime_start_end.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -O -C no-prepopulate-passes -Zmir-opt-level=0
-+// ignore-stage1
- 
- #![crate_type = "lib"]
- 
-diff --git a/tests/codegen/local-generics-in-exe-internalized.rs b/tests/codegen/local-generics-in-exe-internalized.rs
-index 449c5ca75fc..746a7ed1b6f 100644
---- a/tests/codegen/local-generics-in-exe-internalized.rs
-+++ b/tests/codegen/local-generics-in-exe-internalized.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -C no-prepopulate-passes -Zshare-generics=yes
-+// ignore-stage1
- 
- // Check that local generics are internalized if they are in the same CGU
- 
-diff --git a/tests/codegen/match-unoptimized.rs b/tests/codegen/match-unoptimized.rs
-index 78ea4f9b409..23b2c62bd38 100644
---- a/tests/codegen/match-unoptimized.rs
-+++ b/tests/codegen/match-unoptimized.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -C no-prepopulate-passes -Copt-level=0
-+// ignore-stage1
- 
- #![crate_type = "lib"]
- 
-diff --git a/tests/codegen/noalias-rwlockreadguard.rs b/tests/codegen/noalias-rwlockreadguard.rs
-index 7f7b46c85a8..a32910da3e7 100644
---- a/tests/codegen/noalias-rwlockreadguard.rs
-+++ b/tests/codegen/noalias-rwlockreadguard.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -O -C no-prepopulate-passes -Z mutable-noalias=yes
-+// ignore-stage1
- 
- #![crate_type = "lib"]
- 
-diff --git a/tests/codegen/non-terminate/nonempty-infinite-loop.rs b/tests/codegen/non-terminate/nonempty-infinite-loop.rs
-index 5e25e04fc24..fce094f7efd 100644
---- a/tests/codegen/non-terminate/nonempty-infinite-loop.rs
-+++ b/tests/codegen/non-terminate/nonempty-infinite-loop.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -C opt-level=3
-+// ignore-stage1
- 
- #![crate_type = "lib"]
- 
-diff --git a/tests/codegen/noreturn-uninhabited.rs b/tests/codegen/noreturn-uninhabited.rs
-index 49f93cf62c7..2da42faeabd 100644
---- a/tests/codegen/noreturn-uninhabited.rs
-+++ b/tests/codegen/noreturn-uninhabited.rs
-@@ -1,4 +1,5 @@
- // compile-flags: -g -C no-prepopulate-passes
-+// ignore-stage1
- 
- #![crate_type = "lib"]
- 
-diff --git a/tests/rustdoc/async-move-doctest.rs b/tests/rustdoc/async-move-doctest.rs
-index 2ba61388c9e..402c5bbaaf7 100644
---- a/tests/rustdoc/async-move-doctest.rs
-+++ b/tests/rustdoc/async-move-doctest.rs
-@@ -1,5 +1,6 @@
- // compile-flags:--test
- // edition:2018
-+// ignore-stage1
- 
- // Prior to setting the default edition for the doctest pre-parser,
- // this doctest would fail due to a fatal parsing error.
-diff --git a/tests/rustdoc/async-trait.rs b/tests/rustdoc/async-trait.rs
-index a473e467473..df3be5adc17 100644
---- a/tests/rustdoc/async-trait.rs
-+++ b/tests/rustdoc/async-trait.rs
-@@ -1,5 +1,6 @@
- // aux-build:async-trait-dep.rs
- // edition:2021
-+// ignore-stage1
- 
- #![feature(async_fn_in_trait)]
- #![allow(incomplete_features)]
-diff --git a/tests/rustdoc/check-source-code-urls-to-def.rs b/tests/rustdoc/check-source-code-urls-to-def.rs
-index 41b9d41fa44..0805a07a0c9 100644
---- a/tests/rustdoc/check-source-code-urls-to-def.rs
-+++ b/tests/rustdoc/check-source-code-urls-to-def.rs
-@@ -1,6 +1,7 @@
- // compile-flags: -Zunstable-options --generate-link-to-definition
- // aux-build:source_code.rs
- // build-aux-docs
-+// ignore-stage1
- 
- #![feature(rustc_attrs)]
- 
-diff --git a/tests/rustdoc/comment-in-doctest.rs b/tests/rustdoc/comment-in-doctest.rs
-index 5691d173569..a57c0e1f3bd 100644
---- a/tests/rustdoc/comment-in-doctest.rs
-+++ b/tests/rustdoc/comment-in-doctest.rs
-@@ -1,4 +1,5 @@
- // compile-flags:--test
-+// ignore-stage1
- 
- // comments, both doc comments and regular ones, used to trick rustdoc's doctest parser into
- // thinking that everything after it was part of the regular program. combined with the librustc_ast
-diff --git a/tests/rustdoc/const-generics/const-generics-docs.rs b/tests/rustdoc/const-generics/const-generics-docs.rs
-index 828486a41d4..02a934996f8 100644
---- a/tests/rustdoc/const-generics/const-generics-docs.rs
-+++ b/tests/rustdoc/const-generics/const-generics-docs.rs
-@@ -1,5 +1,7 @@
- // edition:2018
- // aux-build: extern_crate.rs
-+// ignore-stage1
-+
- #![crate_name = "foo"]
- 
- extern crate extern_crate;
-diff --git a/tests/rustdoc/cross-crate-hidden-assoc-trait-items.rs b/tests/rustdoc/cross-crate-hidden-assoc-trait-items.rs
-index d02bc4fe712..6f432da06bf 100644
---- a/tests/rustdoc/cross-crate-hidden-assoc-trait-items.rs
-+++ b/tests/rustdoc/cross-crate-hidden-assoc-trait-items.rs
-@@ -1,5 +1,6 @@
- // Regression test for issue #95717
- // Hide cross-crate `#[doc(hidden)]` associated items in trait impls.
-+// ignore-stage1
- 
- #![crate_name = "dependent"]
- // edition:2021
-diff --git a/tests/rustdoc/cross-crate-hidden-impl-parameter.rs b/tests/rustdoc/cross-crate-hidden-impl-parameter.rs
-index eb2ced2f7f4..08a6f8b27f3 100644
---- a/tests/rustdoc/cross-crate-hidden-impl-parameter.rs
-+++ b/tests/rustdoc/cross-crate-hidden-impl-parameter.rs
-@@ -1,4 +1,6 @@
- // Issue #86448: test for cross-crate `doc(hidden)`
-+// ignore-stage1
-+
- #![crate_name = "foo"]
- 
- // aux-build:cross-crate-hidden-impl-parameter.rs
-diff --git a/tests/rustdoc/cross-crate-links.rs b/tests/rustdoc/cross-crate-links.rs
-index 7c736a4cc11..a0be9a367c6 100644
---- a/tests/rustdoc/cross-crate-links.rs
-+++ b/tests/rustdoc/cross-crate-links.rs
-@@ -1,5 +1,6 @@
- // aux-build:all-item-types.rs
- // build-aux-docs
-+// ignore-stage1
- 
- #![crate_name = "foo"]
- 
-diff --git a/tests/rustdoc/cross-crate-primitive-doc.rs b/tests/rustdoc/cross-crate-primitive-doc.rs
-index 4ba296ee04a..51fa62ffb53 100644
---- a/tests/rustdoc/cross-crate-primitive-doc.rs
-+++ b/tests/rustdoc/cross-crate-primitive-doc.rs
-@@ -1,6 +1,7 @@
- // aux-build:primitive-doc.rs
- // compile-flags: --extern-html-root-url=primitive_doc=../ -Z unstable-options
- // only-linux
-+// ignore-stage1
- 
- #![feature(no_core)]
- #![no_core]
-diff --git a/tests/rustdoc/doctest-manual-crate-name.rs b/tests/rustdoc/doctest-manual-crate-name.rs
-index 3a5e3734e14..2b4b19b4708 100644
---- a/tests/rustdoc/doctest-manual-crate-name.rs
-+++ b/tests/rustdoc/doctest-manual-crate-name.rs
-@@ -1,4 +1,5 @@
- // compile-flags:--test
-+// ignore-stage1
- 
- //! ```
- //! #![crate_name="asdf"]
-diff --git a/tests/rustdoc/edition-doctest.rs b/tests/rustdoc/edition-doctest.rs
-index 6de25996bed..4acb562a29c 100644
---- a/tests/rustdoc/edition-doctest.rs
-+++ b/tests/rustdoc/edition-doctest.rs
-@@ -1,4 +1,5 @@
- // compile-flags:--test
-+// ignore-stage1
- 
- /// ```rust,edition2018
- /// #![feature(try_blocks)]
-diff --git a/tests/rustdoc/edition-flag.rs b/tests/rustdoc/edition-flag.rs
-index e54c7d2969b..4cee5e1a3cf 100644
---- a/tests/rustdoc/edition-flag.rs
-+++ b/tests/rustdoc/edition-flag.rs
-@@ -1,5 +1,6 @@
- // compile-flags:--test
- // edition:2018
-+// ignore-stage1
- 
- /// ```rust
- /// fn main() {
-diff --git a/tests/rustdoc/elided-lifetime.rs b/tests/rustdoc/elided-lifetime.rs
-index 006132ef8aa..75ac6496dfb 100644
---- a/tests/rustdoc/elided-lifetime.rs
-+++ b/tests/rustdoc/elided-lifetime.rs
-@@ -4,6 +4,7 @@
- //
- // Since Rust 2018 we encourage writing out <'_> explicitly to make it clear
- // that borrowing is occurring. Make sure rustdoc is following the same idiom.
-+// ignore-stage1
- 
- #![crate_name = "foo"]
- 
-diff --git a/tests/rustdoc/extern-html-root-url.rs b/tests/rustdoc/extern-html-root-url.rs
-index 17eedcf2ab8..429bf78b9d5 100644
---- a/tests/rustdoc/extern-html-root-url.rs
-+++ b/tests/rustdoc/extern-html-root-url.rs
-@@ -2,6 +2,7 @@
- // aux-build:html_root.rs
- // aux-build:no_html_root.rs
- // NOTE: intentionally does not build any auxiliary docs
-+// ignore-stage1
- 
- extern crate html_root;
- extern crate no_html_root;
-diff --git a/tests/rustdoc/extern-impl-trait.rs b/tests/rustdoc/extern-impl-trait.rs
-index 8ab026afd1b..c47d6802211 100644
---- a/tests/rustdoc/extern-impl-trait.rs
-+++ b/tests/rustdoc/extern-impl-trait.rs
-@@ -1,4 +1,5 @@
- // aux-build:extern-impl-trait.rs
-+// ignore-stage1
- 
- #![crate_name = "foo"]
- 
-diff --git a/tests/rustdoc/external-macro-src.rs b/tests/rustdoc/external-macro-src.rs
-index 359551ab78d..86499a0bf2e 100644
---- a/tests/rustdoc/external-macro-src.rs
-+++ b/tests/rustdoc/external-macro-src.rs
-@@ -1,4 +1,5 @@
- // aux-build:external-macro-src.rs
-+// ignore-stage1
- 
- #![crate_name = "foo"]
- 
-diff --git a/tests/rustdoc/hide-unstable-trait.rs b/tests/rustdoc/hide-unstable-trait.rs
-index 0bf7cabc43b..9ceeccfead8 100644
---- a/tests/rustdoc/hide-unstable-trait.rs
-+++ b/tests/rustdoc/hide-unstable-trait.rs
-@@ -1,4 +1,5 @@
- // aux-build:unstable-trait.rs
-+// ignore-stage1
- 
- #![crate_name = "foo"]
- #![feature(private_trait)]
-diff --git a/tests/rustdoc/inline_cross/add-docs.rs b/tests/rustdoc/inline_cross/add-docs.rs
-index a1124d2094c..a11b866647d 100644
---- a/tests/rustdoc/inline_cross/add-docs.rs
-+++ b/tests/rustdoc/inline_cross/add-docs.rs
-@@ -1,4 +1,5 @@
- // aux-build:add-docs.rs
-+// ignore-stage1
- 
- extern crate inner;
- 
-diff --git a/tests/rustdoc/inline_cross/default-trait-method.rs b/tests/rustdoc/inline_cross/default-trait-method.rs
-index a4ec73a127d..8db38c99791 100644
---- a/tests/rustdoc/inline_cross/default-trait-method.rs
-+++ b/tests/rustdoc/inline_cross/default-trait-method.rs
-@@ -1,4 +1,5 @@
- // aux-build:default-trait-method.rs
-+// ignore-stage1
- 
- extern crate foo;
- 
-diff --git a/tests/rustdoc/inline_cross/impl_trait.rs b/tests/rustdoc/inline_cross/impl_trait.rs
-index b6a1552bc00..85377b19e0d 100644
---- a/tests/rustdoc/inline_cross/impl_trait.rs
-+++ b/tests/rustdoc/inline_cross/impl_trait.rs
-@@ -1,5 +1,6 @@
- // aux-build:impl_trait_aux.rs
- // edition:2018
-+// ignore-stage1
- 
- extern crate impl_trait_aux;
- 
-diff --git a/tests/rustdoc/inline_cross/issue-24183.rs b/tests/rustdoc/inline_cross/issue-24183.rs
-index 751a32385e8..d25211cb2b0 100644
---- a/tests/rustdoc/inline_cross/issue-24183.rs
-+++ b/tests/rustdoc/inline_cross/issue-24183.rs
-@@ -1,5 +1,6 @@
- #![crate_type = "lib"]
- #![crate_name = "usr"]
-+// ignore-stage1
- 
- // aux-crate:issue_24183=issue-24183.rs
- // edition: 2021
-diff --git a/tests/rustdoc/inline_cross/macros.rs b/tests/rustdoc/inline_cross/macros.rs
-index a41b9c5b197..1b4bccee176 100644
---- a/tests/rustdoc/inline_cross/macros.rs
-+++ b/tests/rustdoc/inline_cross/macros.rs
-@@ -1,5 +1,6 @@
- // aux-build:macros.rs
- // build-aux-docs
-+// ignore-stage1
- 
- #![feature(macro_test)]
- #![crate_name = "foo"]
-diff --git a/tests/rustdoc/inline_cross/trait-vis.rs b/tests/rustdoc/inline_cross/trait-vis.rs
-index b646babacc5..b77e966afe3 100644
---- a/tests/rustdoc/inline_cross/trait-vis.rs
-+++ b/tests/rustdoc/inline_cross/trait-vis.rs
-@@ -1,4 +1,5 @@
- // aux-build:trait-vis.rs
-+// ignore-stage1
- 
- extern crate inner;
- 
-diff --git a/tests/rustdoc/inline_cross/use_crate.rs b/tests/rustdoc/inline_cross/use_crate.rs
-index 00e0f041c56..c5bf6010d93 100644
---- a/tests/rustdoc/inline_cross/use_crate.rs
-+++ b/tests/rustdoc/inline_cross/use_crate.rs
-@@ -3,6 +3,7 @@
- // build-aux-docs
- // edition:2018
- // compile-flags:--extern use_crate --extern use_crate_2
-+// ignore-stage1
- 
- // During the buildup to Rust 2018, rustdoc would eagerly inline `pub use some_crate;` as if it
- // were a module, so we changed it to make `pub use`ing crate roots remain as a `pub use` statement
-diff --git a/tests/rustdoc/intra-doc-crate/self.rs b/tests/rustdoc/intra-doc-crate/self.rs
-index 8c36a7fa002..848e17a18a1 100644
---- a/tests/rustdoc/intra-doc-crate/self.rs
-+++ b/tests/rustdoc/intra-doc-crate/self.rs
-@@ -1,5 +1,6 @@
- // aux-build:self.rs
- // build-aux-docs
-+// ignore-stage1
- 
- extern crate cross_crate_self;
- 
-diff --git a/tests/rustdoc/intra-doc/cross-crate/additional_doc.rs b/tests/rustdoc/intra-doc/cross-crate/additional_doc.rs
-index e52fb9b1c9f..765ad78fb4d 100644
---- a/tests/rustdoc/intra-doc/cross-crate/additional_doc.rs
-+++ b/tests/rustdoc/intra-doc/cross-crate/additional_doc.rs
-@@ -1,5 +1,7 @@
- // aux-build:additional_doc.rs
- // build-aux-docs
-+// ignore-stage1
-+
- #![deny(rustdoc::broken_intra_doc_links)]
- 
- extern crate my_rand;
-diff --git a/tests/rustdoc/intra-doc/cross-crate/basic.rs b/tests/rustdoc/intra-doc/cross-crate/basic.rs
-index ad7454918b4..a959a15a672 100644
---- a/tests/rustdoc/intra-doc/cross-crate/basic.rs
-+++ b/tests/rustdoc/intra-doc/cross-crate/basic.rs
-@@ -1,5 +1,7 @@
- // aux-build:intra-doc-basic.rs
- // build-aux-docs
-+// ignore-stage1
-+
- #![deny(rustdoc::broken_intra_doc_links)]
- 
- // from https://github.com/rust-lang/rust/issues/65983
-diff --git a/tests/rustdoc/intra-doc/cross-crate/crate.rs b/tests/rustdoc/intra-doc/cross-crate/crate.rs
-index edf544708b6..735847bcbb5 100644
---- a/tests/rustdoc/intra-doc/cross-crate/crate.rs
-+++ b/tests/rustdoc/intra-doc/cross-crate/crate.rs
-@@ -1,5 +1,7 @@
- // aux-build:intra-link-cross-crate-crate.rs
- // build-aux-docs
-+// ignore-stage1
-+
- #![crate_name = "outer"]
- extern crate inner;
- // @has outer/fn.f.html '//a[@href="../inner/fn.g.html"]' "crate::g"
-diff --git a/tests/rustdoc/intra-doc/cross-crate/hidden.rs b/tests/rustdoc/intra-doc/cross-crate/hidden.rs
-index 4f7d075ba48..d7ffed2d19d 100644
---- a/tests/rustdoc/intra-doc/cross-crate/hidden.rs
-+++ b/tests/rustdoc/intra-doc/cross-crate/hidden.rs
-@@ -1,5 +1,7 @@
- // aux-build:hidden.rs
- // build-aux-docs
-+// ignore-stage1
-+
- #![deny(rustdoc::broken_intra_doc_links)]
- 
- // tests https://github.com/rust-lang/rust/issues/73363
-diff --git a/tests/rustdoc/intra-doc/cross-crate/macro.rs b/tests/rustdoc/intra-doc/cross-crate/macro.rs
-index 32f0a55d3c6..31add14b3b6 100644
---- a/tests/rustdoc/intra-doc/cross-crate/macro.rs
-+++ b/tests/rustdoc/intra-doc/cross-crate/macro.rs
-@@ -1,6 +1,8 @@
- // aux-build:macro_inner.rs
- // aux-build:proc_macro.rs
- // build-aux-docs
-+// ignore-stage1
-+
- #![deny(rustdoc::broken_intra_doc_links)]
- extern crate macro_inner;
- extern crate proc_macro_inner;
-diff --git a/tests/rustdoc/intra-doc/cross-crate/module.rs b/tests/rustdoc/intra-doc/cross-crate/module.rs
-index fde9322657d..72e55a83007 100644
---- a/tests/rustdoc/intra-doc/cross-crate/module.rs
-+++ b/tests/rustdoc/intra-doc/cross-crate/module.rs
-@@ -1,6 +1,8 @@
- // outer.rs
- // aux-build: module.rs
- // build-aux-docs
-+// ignore-stage1
-+
- #![deny(rustdoc::broken_intra_doc_links)]
- extern crate module_inner;
- // @has 'module/bar/index.html' '//a[@href="../../module_inner/trait.SomeTrait.html"]' 'SomeTrait'
-diff --git a/tests/rustdoc/intra-doc/cross-crate/submodule-inner.rs b/tests/rustdoc/intra-doc/cross-crate/submodule-inner.rs
-index 577fe78a508..1da901cd8b8 100644
---- a/tests/rustdoc/intra-doc/cross-crate/submodule-inner.rs
-+++ b/tests/rustdoc/intra-doc/cross-crate/submodule-inner.rs
-@@ -1,5 +1,7 @@
- // aux-build:submodule-inner.rs
- // build-aux-docs
-+// ignore-stage1
-+
- #![deny(rustdoc::broken_intra_doc_links)]
- 
- extern crate a;
-diff --git a/tests/rustdoc/intra-doc/cross-crate/submodule-outer.rs b/tests/rustdoc/intra-doc/cross-crate/submodule-outer.rs
-index d0c0b7e85ae..39c42c5a684 100644
---- a/tests/rustdoc/intra-doc/cross-crate/submodule-outer.rs
-+++ b/tests/rustdoc/intra-doc/cross-crate/submodule-outer.rs
-@@ -1,5 +1,7 @@
- // aux-build:submodule-outer.rs
- // edition:2018
-+// ignore-stage1
-+
- #![deny(rustdoc::broken_intra_doc_links)]
- 
- extern crate bar as bar_;
-diff --git a/tests/rustdoc/intra-doc/cross-crate/traits.rs b/tests/rustdoc/intra-doc/cross-crate/traits.rs
-index 7b9554bfdb0..0417a5f4537 100644
---- a/tests/rustdoc/intra-doc/cross-crate/traits.rs
-+++ b/tests/rustdoc/intra-doc/cross-crate/traits.rs
-@@ -1,5 +1,7 @@
- // aux-build:traits.rs
- // build-aux-docs
-+// ignore-stage1
-+
- #![deny(rustdoc::broken_intra_doc_links)]
- 
- extern crate inner;
-diff --git a/tests/rustdoc/intra-doc/extern-builtin-type-impl.rs b/tests/rustdoc/intra-doc/extern-builtin-type-impl.rs
-index 7bb1ded3f3c..994ece708ca 100644
---- a/tests/rustdoc/intra-doc/extern-builtin-type-impl.rs
-+++ b/tests/rustdoc/intra-doc/extern-builtin-type-impl.rs
-@@ -1,6 +1,7 @@
- // Reexport of a structure that derefs to a type with lang item impls having doc links in their
- // comments. The doc link points to an associated item, so we check that traits in scope for that
- // link are populated.
-+// ignore-stage1
- 
- // aux-build:extern-builtin-type-impl-dep.rs
- 
-diff --git a/tests/rustdoc/intra-doc/extern-crate-only-used-in-link.rs b/tests/rustdoc/intra-doc/extern-crate-only-used-in-link.rs
-index ad50887e922..69d5aa1717a 100644
---- a/tests/rustdoc/intra-doc/extern-crate-only-used-in-link.rs
-+++ b/tests/rustdoc/intra-doc/extern-crate-only-used-in-link.rs
-@@ -7,6 +7,7 @@
- // aux-crate:priv:empty2=empty2.rs
- // build-aux-docs
- // compile-flags:-Z unstable-options --edition 2018
-+// ignore-stage1
- 
- // @has extern_crate_only_used_in_link/index.html
- // @has - '//a[@href="../issue_66159_1/struct.Something.html"]' 'issue_66159_1::Something'
-diff --git a/tests/rustdoc/intra-doc/extern-crate.rs b/tests/rustdoc/intra-doc/extern-crate.rs
-index 4e4438dea03..b6793531515 100644
---- a/tests/rustdoc/intra-doc/extern-crate.rs
-+++ b/tests/rustdoc/intra-doc/extern-crate.rs
-@@ -3,6 +3,7 @@
- // When loading `extern crate` statements, we would pull in their docs at the same time, even
- // though they would never actually get displayed. This tripped intra-doc-link resolution failures,
- // for items that aren't under our control, and not actually getting documented!
-+// ignore-stage1
- 
- #![deny(rustdoc::broken_intra_doc_links)]
- 
-diff --git a/tests/rustdoc/intra-doc/extern-inherent-impl.rs b/tests/rustdoc/intra-doc/extern-inherent-impl.rs
-index 2e41c2214f4..8851071adbd 100644
---- a/tests/rustdoc/intra-doc/extern-inherent-impl.rs
-+++ b/tests/rustdoc/intra-doc/extern-inherent-impl.rs
-@@ -1,5 +1,6 @@
- // Reexport of a structure with public inherent impls having doc links in their comments. The doc
- // link points to an associated item, so we check that traits in scope for that link are populated.
-+// ignore-stage1
- 
- // aux-build:extern-inherent-impl-dep.rs
- 
-diff --git a/tests/rustdoc/intra-doc/extern-reference-link.rs b/tests/rustdoc/intra-doc/extern-reference-link.rs
-index bad6ec75579..43cf0c23e8b 100644
---- a/tests/rustdoc/intra-doc/extern-reference-link.rs
-+++ b/tests/rustdoc/intra-doc/extern-reference-link.rs
-@@ -1,5 +1,6 @@
- // compile-flags: --extern pub_struct
- // aux-build:pub-struct.rs
-+// ignore-stage1
- 
- /// [SomeStruct]
- ///
-diff --git a/tests/rustdoc/intra-doc/issue-103463.rs b/tests/rustdoc/intra-doc/issue-103463.rs
-index 4adf8a9a8a4..3b965529577 100644
---- a/tests/rustdoc/intra-doc/issue-103463.rs
-+++ b/tests/rustdoc/intra-doc/issue-103463.rs
-@@ -1,6 +1,7 @@
- // The `Trait` is not pulled into the crate resulting in doc links in its methods being resolved.
- 
- // aux-build:issue-103463-aux.rs
-+// ignore-stage1
- 
- extern crate issue_103463_aux;
- use issue_103463_aux::Trait;
-diff --git a/tests/rustdoc/intra-doc/issue-104145.rs b/tests/rustdoc/intra-doc/issue-104145.rs
-index 9ce36740d60..74c790ddd45 100644
---- a/tests/rustdoc/intra-doc/issue-104145.rs
-+++ b/tests/rustdoc/intra-doc/issue-104145.rs
-@@ -1,6 +1,7 @@
- // Doc links in `Trait`'s methods are resolved because it has a local impl.
- 
- // aux-build:issue-103463-aux.rs
-+// ignore-stage1
- 
- extern crate issue_103463_aux;
- use issue_103463_aux::Trait;
-diff --git a/tests/rustdoc/intra-doc/issue-66159.rs b/tests/rustdoc/intra-doc/issue-66159.rs
-index 56742b39790..64ef5f3d07c 100644
---- a/tests/rustdoc/intra-doc/issue-66159.rs
-+++ b/tests/rustdoc/intra-doc/issue-66159.rs
-@@ -1,5 +1,6 @@
- // aux-crate:priv:pub_struct=pub-struct.rs
- // compile-flags:-Z unstable-options
-+// ignore-stage1
- 
- // The issue was an ICE which meant that we never actually generated the docs
- // so if we have generated the docs, we're okay.
-diff --git a/tests/rustdoc/intra-doc/pub-use.rs b/tests/rustdoc/intra-doc/pub-use.rs
-index 8a998496cf5..26109bc52fc 100644
---- a/tests/rustdoc/intra-doc/pub-use.rs
-+++ b/tests/rustdoc/intra-doc/pub-use.rs
-@@ -1,4 +1,5 @@
- // aux-build: intra-link-pub-use.rs
-+// ignore-stage1
- #![deny(rustdoc::broken_intra_doc_links)]
- #![crate_name = "outer"]
- 
-diff --git a/tests/rustdoc/intra-doc/reexport-additional-docs.rs b/tests/rustdoc/intra-doc/reexport-additional-docs.rs
-index 64683bacd65..6ed63e4dd26 100644
---- a/tests/rustdoc/intra-doc/reexport-additional-docs.rs
-+++ b/tests/rustdoc/intra-doc/reexport-additional-docs.rs
-@@ -1,5 +1,7 @@
- // aux-build:intra-link-reexport-additional-docs.rs
- // build-aux-docs
-+// ignore-stage1
-+
- #![crate_name = "foo"]
- extern crate inner;
- 
-diff --git a/tests/rustdoc/issue-18199.rs b/tests/rustdoc/issue-18199.rs
-index bc0c4a56502..1995fd2ec7d 100644
---- a/tests/rustdoc/issue-18199.rs
-+++ b/tests/rustdoc/issue-18199.rs
-@@ -1,4 +1,5 @@
- // compile-flags:--test
-+// ignore-stage1
- 
- #![doc(test(attr(feature(staged_api))))]
- 
-diff --git a/tests/rustdoc/issue-23106.rs b/tests/rustdoc/issue-23106.rs
-index 8cda2fc3380..e7b5c1e28c5 100644
---- a/tests/rustdoc/issue-23106.rs
-+++ b/tests/rustdoc/issue-23106.rs
-@@ -1,4 +1,5 @@
- // compile-flags:--test
-+// ignore-stage1
- 
- /// ```
- /// #
-diff --git a/tests/rustdoc/issue-23744.rs b/tests/rustdoc/issue-23744.rs
-index 642817396b2..780b131a842 100644
---- a/tests/rustdoc/issue-23744.rs
-+++ b/tests/rustdoc/issue-23744.rs
-@@ -1,4 +1,5 @@
- // compile-flags:--test
-+// ignore-stage1
- 
- /// Example of rustdoc incorrectly parsing <code>```rust,should_panic</code>.
- ///
-diff --git a/tests/rustdoc/issue-25944.rs b/tests/rustdoc/issue-25944.rs
-index 49625294bbe..b6df4518de4 100644
---- a/tests/rustdoc/issue-25944.rs
-+++ b/tests/rustdoc/issue-25944.rs
-@@ -1,4 +1,5 @@
- // compile-flags:--test
-+// ignore-stage1
- 
- /// ```
- /// let a = r#"
-diff --git a/tests/rustdoc/issue-30252.rs b/tests/rustdoc/issue-30252.rs
-index c3777362a66..a80f92dc754 100644
---- a/tests/rustdoc/issue-30252.rs
-+++ b/tests/rustdoc/issue-30252.rs
-@@ -1,4 +1,5 @@
- // compile-flags:--test --cfg feature="bar"
-+// ignore-stage1
- 
- /// ```rust
- /// assert_eq!(cfg!(feature = "bar"), true);
-diff --git a/tests/rustdoc/issue-38129.rs b/tests/rustdoc/issue-38129.rs
-index 156d50fa52a..60ab5dd1885 100644
---- a/tests/rustdoc/issue-38129.rs
-+++ b/tests/rustdoc/issue-38129.rs
-@@ -1,4 +1,5 @@
- // compile-flags:--test
-+// ignore-stage1
- 
- // This file tests the source-partitioning behavior of rustdoc.
- // Each test contains some code that should be put into the generated
-diff --git a/tests/rustdoc/issue-40936.rs b/tests/rustdoc/issue-40936.rs
-index 4d2e4c17b1f..8dcfc4068d3 100644
---- a/tests/rustdoc/issue-40936.rs
-+++ b/tests/rustdoc/issue-40936.rs
-@@ -1,5 +1,6 @@
- // aux-build:issue-40936.rs
- // build-aux-docs
-+// ignore-stage1
- 
- #![crate_name = "foo"]
- 
-diff --git a/tests/rustdoc/issue-43153.rs b/tests/rustdoc/issue-43153.rs
-index 0fe680f10af..8c67d64826a 100644
---- a/tests/rustdoc/issue-43153.rs
-+++ b/tests/rustdoc/issue-43153.rs
-@@ -1,5 +1,6 @@
- // Test that `include!` in a doc test searches relative to the directory in
- // which the test is declared.
-+// ignore-stage1
- 
- // compile-flags:--test
- 
-diff --git a/tests/rustdoc/issue-46727.rs b/tests/rustdoc/issue-46727.rs
-index 8cfc4827a7f..55f155e0219 100644
---- a/tests/rustdoc/issue-46727.rs
-+++ b/tests/rustdoc/issue-46727.rs
-@@ -1,4 +1,5 @@
- // aux-build:issue-46727.rs
-+// ignore-stage1
- 
- extern crate issue_46727;
- 
-diff --git a/tests/rustdoc/issue-48377.rs b/tests/rustdoc/issue-48377.rs
-index c32bcf380ea..c196b77a3e7 100644
---- a/tests/rustdoc/issue-48377.rs
-+++ b/tests/rustdoc/issue-48377.rs
-@@ -1,4 +1,5 @@
- // compile-flags:--test
-+// ignore-stage1
- 
- //! This is a doc comment
- //!
-diff --git a/tests/rustdoc/issue-48414.rs b/tests/rustdoc/issue-48414.rs
-index b35743d887b..e8ade910228 100644
---- a/tests/rustdoc/issue-48414.rs
-+++ b/tests/rustdoc/issue-48414.rs
-@@ -1,4 +1,5 @@
- // aux-build:issue-48414.rs
-+// ignore-stage1
- 
- // ICE when resolving paths for a trait that linked to another trait, when both were in an external
- // crate
-diff --git a/tests/rustdoc/issue-53689.rs b/tests/rustdoc/issue-53689.rs
-index 832140e061b..9a40ea6bc1b 100644
---- a/tests/rustdoc/issue-53689.rs
-+++ b/tests/rustdoc/issue-53689.rs
-@@ -1,4 +1,5 @@
- // aux-build:issue-53689.rs
-+// ignore-stage1
- 
- #![crate_name = "foo"]
- 
-diff --git a/tests/rustdoc/issue-54478-demo-allocator.rs b/tests/rustdoc/issue-54478-demo-allocator.rs
-index 4811f363bc9..f4d12f6f630 100644
---- a/tests/rustdoc/issue-54478-demo-allocator.rs
-+++ b/tests/rustdoc/issue-54478-demo-allocator.rs
-@@ -1,5 +1,6 @@
- // Issue #54478: regression test showing that we can demonstrate
- // `#[global_allocator]` in code blocks built by `rustdoc`.
-+// ignore-stage1
- //
- // ## Background
- //
-@@ -11,6 +12,7 @@
- // Rather than try to revise the visbility semanics, we instead
- // decided to change `rustdoc` to behave more like the compiler's
- // default setting, by leaving off `-C prefer-dynamic`.
-+// ignore-stage1
- 
- // compile-flags:--test
- 
-diff --git a/tests/rustdoc/issue-57180.rs b/tests/rustdoc/issue-57180.rs
-index 14bd2b0fec0..5f89e5d42f5 100644
---- a/tests/rustdoc/issue-57180.rs
-+++ b/tests/rustdoc/issue-57180.rs
-@@ -1,4 +1,5 @@
- // aux-build:issue-57180.rs
-+// ignore-stage1
- 
- extern crate issue_57180;
- use issue_57180::Trait;
-diff --git a/tests/rustdoc/issue-61592.rs b/tests/rustdoc/issue-61592.rs
-index 4b6c37b94aa..048487390bb 100644
---- a/tests/rustdoc/issue-61592.rs
-+++ b/tests/rustdoc/issue-61592.rs
-@@ -1,4 +1,5 @@
- // aux-build:issue-61592.rs
-+// ignore-stage1
- 
- extern crate foo;
- 
-diff --git a/tests/rustdoc/issue-73061-cross-crate-opaque-assoc-type.rs b/tests/rustdoc/issue-73061-cross-crate-opaque-assoc-type.rs
-index 2700f2370ee..d883c03d7d2 100644
---- a/tests/rustdoc/issue-73061-cross-crate-opaque-assoc-type.rs
-+++ b/tests/rustdoc/issue-73061-cross-crate-opaque-assoc-type.rs
-@@ -1,4 +1,5 @@
- // Regression test for ICE #73061
-+// ignore-stage1
- 
- // aux-build:issue-73061.rs
- 
-diff --git a/tests/rustdoc/issue-75588.rs b/tests/rustdoc/issue-75588.rs
-index 3b11059a755..e78cdfa236e 100644
---- a/tests/rustdoc/issue-75588.rs
-+++ b/tests/rustdoc/issue-75588.rs
-@@ -1,5 +1,6 @@
- // aux-build:realcore.rs
- // aux-build:real_gimli.rs
-+// ignore-stage1
- 
- // Ensure unstably exported traits have their Implementors sections.
- 
-diff --git a/tests/rustdoc/issue-85454.rs b/tests/rustdoc/issue-85454.rs
-index 5a49a9d0651..fd2f4f8b535 100644
---- a/tests/rustdoc/issue-85454.rs
-+++ b/tests/rustdoc/issue-85454.rs
-@@ -1,4 +1,5 @@
- // aux-build:issue-85454.rs
-+// ignore-stage1
- // build-aux-docs
- #![crate_name = "foo"]
- 
-diff --git a/tests/rustdoc/issue-86620.rs b/tests/rustdoc/issue-86620.rs
-index ef15946ec50..675a12b4d14 100644
---- a/tests/rustdoc/issue-86620.rs
-+++ b/tests/rustdoc/issue-86620.rs
-@@ -1,4 +1,5 @@
- // aux-build:issue-86620-1.rs
-+// ignore-stage1
- 
- extern crate issue_86620_1;
- 
-diff --git a/tests/rustdoc/macro_pub_in_module.rs b/tests/rustdoc/macro_pub_in_module.rs
-index 42f760cff6a..1a51aef9a8a 100644
---- a/tests/rustdoc/macro_pub_in_module.rs
-+++ b/tests/rustdoc/macro_pub_in_module.rs
-@@ -1,5 +1,6 @@
- // aux-build:macro_pub_in_module.rs
- // edition:2018
-+// ignore-stage1
- // build-aux-docs
- 
- //! See issue #74355
-diff --git a/tests/rustdoc/masked.rs b/tests/rustdoc/masked.rs
-index 875c026fd05..416d8fbabd0 100644
---- a/tests/rustdoc/masked.rs
-+++ b/tests/rustdoc/masked.rs
-@@ -1,4 +1,5 @@
- // aux-build:masked.rs
-+// ignore-stage1
- 
- #![feature(doc_masked)]
- 
-diff --git a/tests/rustdoc/no-stack-overflow-25295.rs b/tests/rustdoc/no-stack-overflow-25295.rs
-index dd79f1e4baa..0bc58afa4cb 100644
---- a/tests/rustdoc/no-stack-overflow-25295.rs
-+++ b/tests/rustdoc/no-stack-overflow-25295.rs
-@@ -1,5 +1,6 @@
- // Ensure this code doesn't stack overflow.
- // aux-build:enum-primitive.rs
-+// ignore-stage1
- 
- #[macro_use] extern crate enum_primitive;
- 
-diff --git a/tests/rustdoc/normalize-assoc-item.rs b/tests/rustdoc/normalize-assoc-item.rs
-index c6fd5e1101e..945a31853f4 100644
---- a/tests/rustdoc/normalize-assoc-item.rs
-+++ b/tests/rustdoc/normalize-assoc-item.rs
-@@ -1,4 +1,5 @@
- // ignore-tidy-linelength
-+// ignore-stage1
- // aux-build:normalize-assoc-item.rs
- // build-aux-docs
- // compile-flags:-Znormalize-docs
-diff --git a/tests/rustdoc/primitive-reexport.rs b/tests/rustdoc/primitive-reexport.rs
-index 10a8a47db52..ecdb4848265 100644
---- a/tests/rustdoc/primitive-reexport.rs
-+++ b/tests/rustdoc/primitive-reexport.rs
-@@ -1,5 +1,6 @@
- // aux-build: primitive-reexport.rs
- // compile-flags:--extern foo --edition 2018
-+// ignore-stage1
- 
- #![crate_name = "bar"]
- 
-diff --git a/tests/rustdoc/process-termination.rs b/tests/rustdoc/process-termination.rs
-index 32258792b6e..2236842afc9 100644
---- a/tests/rustdoc/process-termination.rs
-+++ b/tests/rustdoc/process-termination.rs
-@@ -1,4 +1,5 @@
- // compile-flags:--test
-+// ignore-stage1
- 
- /// A check of using various process termination strategies
- ///
-diff --git a/tests/rustdoc/pub-extern-crate.rs b/tests/rustdoc/pub-extern-crate.rs
-index 26747a4d1ac..98b3068cfd5 100644
---- a/tests/rustdoc/pub-extern-crate.rs
-+++ b/tests/rustdoc/pub-extern-crate.rs
-@@ -1,4 +1,5 @@
- // aux-build:pub-extern-crate.rs
-+// ignore-stage1
- 
- // @has pub_extern_crate/index.html
- // @!has - '//code' 'pub extern crate inner'
-diff --git a/tests/rustdoc/pub-use-extern-macros.rs b/tests/rustdoc/pub-use-extern-macros.rs
-index eefe6b4b073..f67ec499459 100644
---- a/tests/rustdoc/pub-use-extern-macros.rs
-+++ b/tests/rustdoc/pub-use-extern-macros.rs
-@@ -1,4 +1,5 @@
- // aux-build:pub-use-extern-macros.rs
-+// ignore-stage1
- 
- extern crate macros;
- 
-diff --git a/tests/rustdoc/reexport-check.rs b/tests/rustdoc/reexport-check.rs
-index 5908d2150f2..9e3c825558e 100644
---- a/tests/rustdoc/reexport-check.rs
-+++ b/tests/rustdoc/reexport-check.rs
-@@ -1,4 +1,6 @@
- // aux-build:reexport-check.rs
-+// ignore-stage1
-+
- #![crate_name = "foo"]
- 
- extern crate reexport_check;
-diff --git a/tests/rustdoc/reexport-dep-foreign-fn.rs b/tests/rustdoc/reexport-dep-foreign-fn.rs
-index e7f5720d583..f09e2da12f8 100644
---- a/tests/rustdoc/reexport-dep-foreign-fn.rs
-+++ b/tests/rustdoc/reexport-dep-foreign-fn.rs
-@@ -1,4 +1,5 @@
- // aux-build:all-item-types.rs
-+// ignore-stage1
- 
- // This test is to ensure there is no problem on handling foreign functions
- // coming from a dependency.
-diff --git a/tests/rustdoc/reexport-doc.rs b/tests/rustdoc/reexport-doc.rs
-index df2c889b4d5..52558b39068 100644
---- a/tests/rustdoc/reexport-doc.rs
-+++ b/tests/rustdoc/reexport-doc.rs
-@@ -1,4 +1,5 @@
- // aux-build:reexport-doc-aux.rs
-+// ignore-stage1
- 
- extern crate reexport_doc_aux as dep;
- 
-diff --git a/tests/rustdoc/reexports-priv.rs b/tests/rustdoc/reexports-priv.rs
-index 571d7f06fdc..bec1096ad14 100644
---- a/tests/rustdoc/reexports-priv.rs
-+++ b/tests/rustdoc/reexports-priv.rs
-@@ -1,4 +1,5 @@
- // aux-build: reexports.rs
-+// ignore-stage1
- // compile-flags: --document-private-items
- 
- #![crate_name = "foo"]
-diff --git a/tests/rustdoc/reexports.rs b/tests/rustdoc/reexports.rs
-index 3c51ac395af..018abbfd277 100644
---- a/tests/rustdoc/reexports.rs
-+++ b/tests/rustdoc/reexports.rs
-@@ -1,4 +1,5 @@
- // aux-build: reexports.rs
-+// ignore-stage1
- 
- #![crate_name = "foo"]
- 
-diff --git a/tests/rustdoc/rustc-incoherent-impls.rs b/tests/rustdoc/rustc-incoherent-impls.rs
-index 3fdefbecc54..c8382a50679 100644
---- a/tests/rustdoc/rustc-incoherent-impls.rs
-+++ b/tests/rustdoc/rustc-incoherent-impls.rs
-@@ -1,4 +1,5 @@
- // aux-build:incoherent-impl-types.rs
-+// ignore-stage1
- // build-aux-docs
- 
- #![crate_name = "foo"]
-diff --git a/tests/rustdoc/test_option_check/bar.rs b/tests/rustdoc/test_option_check/bar.rs
-index 50a182cf7e0..6f48c9c923b 100644
---- a/tests/rustdoc/test_option_check/bar.rs
-+++ b/tests/rustdoc/test_option_check/bar.rs
-@@ -1,5 +1,6 @@
- // compile-flags: --test
- // check-test-line-numbers-match
-+// ignore-stage1
- 
- /// This looks like another awesome test!
- ///
-diff --git a/tests/rustdoc/test_option_check/test.rs b/tests/rustdoc/test_option_check/test.rs
-index 964e8e37ed5..208bccafe4c 100644
---- a/tests/rustdoc/test_option_check/test.rs
-+++ b/tests/rustdoc/test_option_check/test.rs
-@@ -1,4 +1,5 @@
- // compile-flags: --test
-+// ignore-stage1
- // check-test-line-numbers-match
- 
- pub mod bar;
-diff --git a/tests/rustdoc/trait-alias-mention.rs b/tests/rustdoc/trait-alias-mention.rs
-index 6da0dc68785..8916e1321c7 100644
---- a/tests/rustdoc/trait-alias-mention.rs
-+++ b/tests/rustdoc/trait-alias-mention.rs
-@@ -1,5 +1,6 @@
- // aux-build:trait-alias-mention.rs
- // build-aux-docs
-+// ignore-stage1
- 
- #![crate_name = "foo"]
- 
-diff --git a/tests/rustdoc/trait-visibility.rs b/tests/rustdoc/trait-visibility.rs
-index 8ba3ee03a74..9bd62dd5c0a 100644
---- a/tests/rustdoc/trait-visibility.rs
-+++ b/tests/rustdoc/trait-visibility.rs
-@@ -1,4 +1,5 @@
- // aux-build:trait-visibility.rs
-+// ignore-stage1
- 
- #![crate_name = "foo"]
- 
-diff --git a/tests/rustdoc/unit-return.rs b/tests/rustdoc/unit-return.rs
-index 6ddfa0c4d5c..a144308a581 100644
---- a/tests/rustdoc/unit-return.rs
-+++ b/tests/rustdoc/unit-return.rs
-@@ -1,4 +1,5 @@
- // aux-build:unit-return.rs
-+// ignore-stage1
- 
- #![crate_name = "foo"]
- 
-diff --git a/tests/ui-fulldeps/deriving-encodable-decodable-box.rs b/tests/ui-fulldeps/deriving-encodable-decodable-box.rs
-index 1c376f59e51..8f852db5efd 100644
---- a/tests/ui-fulldeps/deriving-encodable-decodable-box.rs
-+++ b/tests/ui-fulldeps/deriving-encodable-decodable-box.rs
-@@ -1,4 +1,5 @@
- // run-pass
-+// ignore-stage1
- 
- #![allow(unused_imports)]
- #![feature(rustc_private)]
-diff --git a/tests/ui-fulldeps/deriving-encodable-decodable-cell-refcell.rs b/tests/ui-fulldeps/deriving-encodable-decodable-cell-refcell.rs
-index 844d40f2ecd..d0d530ac79f 100644
---- a/tests/ui-fulldeps/deriving-encodable-decodable-cell-refcell.rs
-+++ b/tests/ui-fulldeps/deriving-encodable-decodable-cell-refcell.rs
-@@ -1,4 +1,5 @@
- // run-pass
-+// ignore-stage1
- 
- #![allow(unused_imports)]
- // This briefly tests the capability of `Cell` and `RefCell` to implement the
-diff --git a/tests/ui-fulldeps/deriving-global.rs b/tests/ui-fulldeps/deriving-global.rs
-index 214bb4368ff..7ff6e31f09e 100644
---- a/tests/ui-fulldeps/deriving-global.rs
-+++ b/tests/ui-fulldeps/deriving-global.rs
-@@ -1,4 +1,5 @@
- // run-pass
-+// ignore-stage1
- 
- #![feature(rustc_private)]
- 
-diff --git a/tests/ui-fulldeps/deriving-hygiene.rs b/tests/ui-fulldeps/deriving-hygiene.rs
-index e1084a08fec..f18b703116a 100644
---- a/tests/ui-fulldeps/deriving-hygiene.rs
-+++ b/tests/ui-fulldeps/deriving-hygiene.rs
-@@ -1,4 +1,5 @@
- // run-pass
-+// ignore-stage1
- 
- #![allow(non_upper_case_globals)]
- #![feature(rustc_private)]
-diff --git a/tests/ui-fulldeps/dropck_tarena_sound_drop.rs b/tests/ui-fulldeps/dropck_tarena_sound_drop.rs
-index ffad80171da..d60062be118 100644
---- a/tests/ui-fulldeps/dropck_tarena_sound_drop.rs
-+++ b/tests/ui-fulldeps/dropck_tarena_sound_drop.rs
-@@ -1,4 +1,5 @@
- // run-pass
-+// ignore-stage1
- 
- #![allow(unknown_lints)]
- // Check that an arena (TypedArena) can carry elements whose drop
-diff --git a/tests/ui-fulldeps/empty-struct-braces-derive.rs b/tests/ui-fulldeps/empty-struct-braces-derive.rs
-index 10e8beaa7b1..29419f97aa1 100644
---- a/tests/ui-fulldeps/empty-struct-braces-derive.rs
-+++ b/tests/ui-fulldeps/empty-struct-braces-derive.rs
-@@ -1,5 +1,6 @@
- // run-pass
- // `#[derive(Trait)]` works for empty structs/variants with braces or parens.
-+// ignore-stage1
- 
- #![feature(rustc_private)]
- 
-diff --git a/tests/ui-fulldeps/issue-14021.rs b/tests/ui-fulldeps/issue-14021.rs
-index 309b5c4a03d..5b9fb023d85 100644
---- a/tests/ui-fulldeps/issue-14021.rs
-+++ b/tests/ui-fulldeps/issue-14021.rs
-@@ -1,4 +1,5 @@
- // run-pass
-+// ignore-stage1
- 
- #![allow(unused_mut)]
- #![allow(unused_imports)]
-diff --git a/tests/ui-fulldeps/regions-mock-tcx.rs b/tests/ui-fulldeps/regions-mock-tcx.rs
-index 63975ef62c5..24e008bb76b 100644
---- a/tests/ui-fulldeps/regions-mock-tcx.rs
-+++ b/tests/ui-fulldeps/regions-mock-tcx.rs
-@@ -1,4 +1,5 @@
- // run-pass
-+// ignore-stage1
- 
- #![allow(dead_code)]
- #![allow(unused_imports)]
-diff --git a/tests/ui-fulldeps/rustc_encodable_hygiene.rs b/tests/ui-fulldeps/rustc_encodable_hygiene.rs
-index 509a6b1d22c..ab5f4aed548 100644
---- a/tests/ui-fulldeps/rustc_encodable_hygiene.rs
-+++ b/tests/ui-fulldeps/rustc_encodable_hygiene.rs
-@@ -1,4 +1,5 @@
- // run-pass
-+// ignore-stage1
- 
- #![feature(rustc_private)]
-
-diff --git a/tests/run-make/cdylib-fewer-symbols/foo.rs b/tests/run-make/cdylib-fewer-symbols/foo.rs
-index af37bc8e953..2f080fb37b2 100644
---- a/tests/run-make/cdylib-fewer-symbols/foo.rs
-+++ b/tests/run-make/cdylib-fewer-symbols/foo.rs
-@@ -1,5 +1,5 @@
- #![crate_type = "cdylib"]
--
-+#[ignore]
- #[no_mangle]
- pub extern "C" fn foo() -> u32 {
-     3
-diff --git a/tests/run-make/doctests-keep-binaries/t.rs b/tests/run-make/doctests-keep-binaries/t.rs
-index c38cf0a0b25..13b89c05e03 100644
---- a/tests/run-make/doctests-keep-binaries/t.rs
-+++ b/tests/run-make/doctests-keep-binaries/t.rs
-@@ -1,3 +1,4 @@
-+// ignore-stage1
- /// Fungle the foople.
- /// ```
- /// t::foople();
-diff --git a/tests/rustdoc-ui/doctest-multiline-crate-attribute.rs b/tests/rustdoc-ui/doctest-multiline-crate-attribute.rs
-index 260f5a7a64f..c05f9adf46b 100644
---- a/tests/rustdoc-ui/doctest-multiline-crate-attribute.rs
-+++ b/tests/rustdoc-ui/doctest-multiline-crate-attribute.rs
-@@ -2,6 +2,7 @@
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
- // check-pass
-+// ignore-stage1
- 
- /// ```
- /// #![deprecated(since = "5.2", note = "foo was rarely used. \
-diff --git a/tests/rustdoc-ui/issue-80992.rs b/tests/rustdoc-ui/issue-80992.rs
-index 80ff225b879..e589999ae29 100644
---- a/tests/rustdoc-ui/issue-80992.rs
-+++ b/tests/rustdoc-ui/issue-80992.rs
-@@ -2,6 +2,7 @@
- // compile-flags:--test
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
-+// ignore-stage1
- 
- pub fn test() -> Result<(), ()> {
-     //! ```compile_fail
-diff --git a/tests/rustdoc-ui/no-run-flag.rs b/tests/rustdoc-ui/no-run-flag.rs
-index 181730eb416..33fa85d7d9d 100644
---- a/tests/rustdoc-ui/no-run-flag.rs
-+++ b/tests/rustdoc-ui/no-run-flag.rs
-@@ -4,6 +4,7 @@
- // compile-flags:-Z unstable-options --test --no-run --test-args=--test-threads=1
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
-+// ignore-stage1
- 
- /// ```
- /// let a = true;
-diff --git a/tests/rustdoc-ui/nocapture-fail.rs b/tests/rustdoc-ui/nocapture-fail.rs
-index 9a3fb592c63..9899183cdf6 100644
---- a/tests/rustdoc-ui/nocapture-fail.rs
-+++ b/tests/rustdoc-ui/nocapture-fail.rs
-@@ -3,6 +3,7 @@
- // normalize-stderr-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
- // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
-+// ignore-stage1
- 
- /// ```compile_fail
- /// fn foo() {
-diff --git a/tests/run-make/issue-22131/foo.rs b/tests/run-make/issue-22131/foo.rs
-index 33255d76879..56ffc4224e4 100644
---- a/tests/run-make/issue-22131/foo.rs
-+++ b/tests/run-make/issue-22131/foo.rs
-@@ -1,5 +1,6 @@
- /// ```rust
- /// assert_eq!(foo::foo(), 1);
- /// ```
-+// ignore-stage1
- #[cfg(feature = "bar")]
- pub fn foo() -> i32 { 1 }
-diff --git a/tests/rustdoc/auto-traits.rs b/tests/rustdoc/auto-traits.rs
-index 93d4bf2f656..b0eb5f1af7c 100644
---- a/tests/rustdoc/auto-traits.rs
-+++ b/tests/rustdoc/auto-traits.rs
-@@ -1,4 +1,5 @@
- // aux-build:auto-traits.rs
-+// ignore-stage1
- 
- #![feature(auto_traits)]
- 
-diff --git a/tests/rustdoc/inline_cross/dyn_trait.rs b/tests/rustdoc/inline_cross/dyn_trait.rs
-index 649d98f7139..82f88a4713c 100644
---- a/tests/rustdoc/inline_cross/dyn_trait.rs
-+++ b/tests/rustdoc/inline_cross/dyn_trait.rs
-@@ -1,4 +1,5 @@
- #![crate_name = "user"]
-+// ignore-stage1
- 
- // aux-crate:dyn_trait=dyn_trait.rs
- // edition:2021
-diff --git a/tests/ui/abi/stack-probes-lto.rs b/tests/ui/abi/stack-probes-lto.rs
-index 0dccb633df9..36e4d04ccaa 100644
---- a/tests/ui/abi/stack-probes-lto.rs
-+++ b/tests/ui/abi/stack-probes-lto.rs
-@@ -13,6 +13,7 @@
- // ignore-fuchsia no exception handler registered for segfault
- // compile-flags: -C lto
- // no-prefer-dynamic
-+// ignore-stage1
- // ignore-nto Crash analysis impossible at SIGSEGV in QNX Neutrino
- 
- include!("stack-probes.rs");
-diff --git a/tests/ui/abi/stack-probes.rs b/tests/ui/abi/stack-probes.rs
-index 8137c92304d..9f4edca3caf 100644
---- a/tests/ui/abi/stack-probes.rs
-+++ b/tests/ui/abi/stack-probes.rs
-@@ -11,6 +11,7 @@
- // ignore-sgx no processes
- // ignore-fuchsia no exception handler registered for segfault
- // ignore-nto Crash analysis impossible at SIGSEGV in QNX Neutrino
-+// ignore-stage1
- 
- use std::env;
- use std::mem::MaybeUninit;
-diff --git a/tests/ui/array-slice-vec/subslice-patterns-const-eval-match.rs b/tests/ui/array-slice-vec/subslice-patterns-const-eval-match.rs
-index 5a6283e9f13..c036f7f03e6 100644
---- a/tests/ui/array-slice-vec/subslice-patterns-const-eval-match.rs
-+++ b/tests/ui/array-slice-vec/subslice-patterns-const-eval-match.rs
-@@ -1,7 +1,7 @@
- // Test that slice subslice patterns are correctly handled in const evaluation.
- 
- // run-pass
--
-+// ignore-stage1
- #[derive(PartialEq, Debug, Clone)]
- struct N(u8);
- 
-diff --git a/tests/ui/asm/x86_64/sym.rs b/tests/ui/asm/x86_64/sym.rs
-index 93ef4f09062..6b076924bda 100644
---- a/tests/ui/asm/x86_64/sym.rs
-+++ b/tests/ui/asm/x86_64/sym.rs
-@@ -2,6 +2,7 @@
- // only-linux
- // needs-asm-support
- // run-pass
-+// ignore-stage1
- 
- #![feature(thread_local)]
- 
-diff --git a/tests/ui/associated-type-bounds/fn-apit.rs b/tests/ui/associated-type-bounds/fn-apit.rs
-index 3c9f511338f..e8fd5fc3c3e 100644
---- a/tests/ui/associated-type-bounds/fn-apit.rs
-+++ b/tests/ui/associated-type-bounds/fn-apit.rs
-@@ -1,6 +1,6 @@
- // run-pass
- // aux-build:fn-aux.rs
--
-+// ignore-stage1
- #![allow(unused)]
- #![feature(associated_type_bounds)]
- 
-diff --git a/tests/ui/associated-type-bounds/fn-dyn-apit.rs b/tests/ui/associated-type-bounds/fn-dyn-apit.rs
-index c4e8092c211..7c690f42846 100644
---- a/tests/ui/associated-type-bounds/fn-dyn-apit.rs
-+++ b/tests/ui/associated-type-bounds/fn-dyn-apit.rs
-@@ -1,6 +1,7 @@
- // run-pass
- // aux-build:fn-dyn-aux.rs
- 
-+// ignore-stage1
- #![allow(unused)]
- #![feature(associated_type_bounds)]
- 
-diff --git a/tests/ui/associated-type-bounds/fn-wrap-apit.rs b/tests/ui/associated-type-bounds/fn-wrap-apit.rs
-index 96df13e372a..b1df6e867f2 100644
---- a/tests/ui/associated-type-bounds/fn-wrap-apit.rs
-+++ b/tests/ui/associated-type-bounds/fn-wrap-apit.rs
-@@ -1,6 +1,7 @@
- // run-pass
- // aux-build:fn-aux.rs
- 
-+// ignore-stage1
- #![feature(associated_type_bounds)]
- #![allow(dead_code)]
- 
-diff --git a/tests/ui/structs-enums/multiple-reprs.rs b/tests/ui/structs-enums/multiple-reprs.rs
-index 4be503a0ef4..2cf0875fc5c 100644
---- a/tests/ui/structs-enums/multiple-reprs.rs
-+++ b/tests/ui/structs-enums/multiple-reprs.rs
-@@ -1,4 +1,5 @@
- // run-pass
-+// ignore-stage1
- 
- #![allow(dead_code)]
-
-diff --git a/src/tools/compiletest/src/common.rs b/src/tools/compiletest/src/common.rs
---- a/src/tools/compiletest/src/common.rs
-+++ b/src/tools/compiletest/src/common.rs
-@@ -431,7 +431,6 @@
-             .unwrap()
-         };
- 
--        let mut current = None;
-         let mut all_targets = HashSet::new();
-         let mut all_archs = HashSet::new();
-         let mut all_oses = HashSet::new();
-@@ -452,14 +451,11 @@
-             }
-             all_pointer_widths.insert(format!("{}bit", cfg.pointer_width));
- 
--            if target == config.target {
--                current = Some(cfg);
--            }
-             all_targets.insert(target.into());
-         }
- 
-         Self {
--            current: current.expect("current target not found"),
-+            current: Self::get_current_target_config(config),
-             all_targets,
-             all_archs,
-             all_oses,
-@@ -471,6 +467,89 @@
-         }
-     }
- 
-+    fn get_current_target_config(config: &Config) -> TargetCfg {
-+        let mut arch = None;
-+        let mut os = None;
-+        let mut env = None;
-+        let mut abi = None;
-+        let mut families = Vec::new();
-+        let mut pointer_width = None;
-+        let mut endian = None;
-+        let mut panic = None;
-+
-+        for config in
-+            rustc_output(config, &["--print=cfg", "--target", &config.target]).trim().lines()
-+        {
-+            let (name, value) = config
-+                .split_once("=\"")
-+                .map(|(name, value)| {
-+                    (
-+                        name,
-+                        Some(
-+                            value
-+                                .strip_suffix("\"")
-+                                .expect("key-value pair should be properly quoted"),
-+                        ),
-+                    )
-+                })
-+                .unwrap_or_else(|| (config, None));
-+
-+            match name {
-+                "target_arch" => {
-+                    arch = Some(value.expect("target_arch should be a key-value pair").to_string());
-+                }
-+                "target_os" => {
-+                    os = Some(value.expect("target_os sould be a key-value pair").to_string());
-+                }
-+                "target_env" => {
-+                    env = Some(value.expect("target_env should be a key-value pair").to_string());
-+                }
-+                "target_abi" => {
-+                    abi = Some(value.expect("target_abi should be a key-value pair").to_string());
-+                }
-+                "target_family" => {
-+                    families
-+                        .push(value.expect("target_family should be a key-value pair").to_string());
-+                }
-+                "target_pointer_width" => {
-+                    pointer_width = Some(
-+                        value
-+                            .expect("target_pointer_width should be a key-value pair")
-+                            .parse::<u32>()
-+                            .expect("target_pointer_width should be a valid u32"),
-+                    );
-+                }
-+                "target_endian" => {
-+                    endian = Some(match value.expect("target_endian should be a key-value pair") {
-+                        "big" => Endian::Big,
-+                        "little" => Endian::Little,
-+                        _ => panic!("target_endian should be either 'big' or 'little'"),
-+                    });
-+                }
-+                "panic" => {
-+                    panic = Some(match value.expect("panic should be a key-value pair") {
-+                        "abort" => PanicStrategy::Abort,
-+                        "unwind" => PanicStrategy::Unwind,
-+                        _ => panic!("panic should be either 'abort' or 'unwind'"),
-+                    });
-+                }
-+                _ => (),
-+            }
-+        }
-+
-+        TargetCfg {
-+            arch: arch.expect("target configuration should specify target_arch"),
-+            os: os.expect("target configuration should specify target_os"),
-+            env: env.expect("target configuration should specify target_env"),
-+            abi: abi.expect("target configuration should specify target_abi"),
-+            families,
-+            pointer_width: pointer_width
-+                .expect("target configuration should specify target_pointer_width"),
-+            endian: endian.expect("target configuration should specify target_endian"),
-+            panic: panic.expect("target configuration should specify panic"),
-+        }
-+    }
-+
-     // #[cfg(bootstrap)]
-     // Needed only for one cycle, remove during the bootstrap bump.
-     fn collect_all_slow(config: &Config) -> HashMap<String, TargetCfg> {
-diff --git a/tests/run-make/issue-47551/Makefile b/tests/run-make/issue-47551/Makefile
-index 5a6ac725701..9290f2e0555 100644
---- a/tests/run-make/issue-47551/Makefile
-+++ b/tests/run-make/issue-47551/Makefile
-@@ -1,3 +1,4 @@
-+# ignore-stage1
- # only-linux
- # ignore-32bit
- 
-diff --git a/tests/run-make/pgo-branch-weights/Makefile b/tests/run-make/pgo-branch-weights/Makefile
-index c60206a1f34..4666be03b85 100644
---- a/tests/run-make/pgo-branch-weights/Makefile
-+++ b/tests/run-make/pgo-branch-weights/Makefile
-@@ -1,3 +1,4 @@
-+# ignore-stage1
- # needs-profiler-support
- # ignore-windows-gnu
- 
-diff --git a/tests/run-make/pgo-gen-lto/Makefile b/tests/run-make/pgo-gen-lto/Makefile
-index 3f2f6a838b5..9e4f555d21c 100644
---- a/tests/run-make/pgo-gen-lto/Makefile
-+++ b/tests/run-make/pgo-gen-lto/Makefile
-@@ -1,3 +1,4 @@
-+# ignore-stage1
- # needs-profiler-support
- # ignore-windows-gnu
- 
-diff --git a/tests/run-make/pgo-gen/Makefile b/tests/run-make/pgo-gen/Makefile
-index 4623a74957b..22aed059cf4 100644
---- a/tests/run-make/pgo-gen/Makefile
-+++ b/tests/run-make/pgo-gen/Makefile
-@@ -1,3 +1,4 @@
-+# ignore-stage1
- # needs-profiler-support
- # ignore-windows-gnu
- 
-diff --git a/tests/run-make/pgo-indirect-call-promotion/Makefile b/tests/run-make/pgo-indirect-call-promotion/Makefile
-index 45302215cc6..519447882ea 100644
---- a/tests/run-make/pgo-indirect-call-promotion/Makefile
-+++ b/tests/run-make/pgo-indirect-call-promotion/Makefile
-@@ -1,3 +1,4 @@
-+# ignore-stage1
- # needs-profiler-support
- # ignore-windows-gnu
- 
-diff --git a/tests/run-make/pgo-use/Makefile b/tests/run-make/pgo-use/Makefile
-index 3bac9b77aa3..5c64b2342e1 100644
---- a/tests/run-make/pgo-use/Makefile
-+++ b/tests/run-make/pgo-use/Makefile
-@@ -1,3 +1,4 @@
-+# ignore-stage1
- # needs-profiler-support
- # ignore-windows-gnu
- 
-diff --git a/tests/run-make/profile/Makefile b/tests/run-make/profile/Makefile
-index fffc051adbf..42a63a871d6 100644
---- a/tests/run-make/profile/Makefile
-+++ b/tests/run-make/profile/Makefile
-@@ -1,3 +1,4 @@
-+# ignore-stage1
- # needs-profiler-support
- 
- include ../tools.mk
-diff --git a/tests/run-make/sysroot-crates-are-unstable/Makefile b/tests/run-make/sysroot-crates-are-unstable/Makefile
-index 1e267fb9576..e3e83c52cc2 100644
---- a/tests/run-make/sysroot-crates-are-unstable/Makefile
-+++ b/tests/run-make/sysroot-crates-are-unstable/Makefile
-@@ -1,2 +1,3 @@
-+# ignore-stage1
- all:
- 	'$(PYTHON)' test.py
-diff --git a/tests/run-make/target-specs/Makefile b/tests/run-make/target-specs/Makefile
-index a33f5368e3c..84459293364 100644
---- a/tests/run-make/target-specs/Makefile
-+++ b/tests/run-make/target-specs/Makefile
-@@ -1,3 +1,4 @@
-+# ignore-stage1
- include ../tools.mk
- all:
- 	$(RUSTC) foo.rs --target=my-awesome-platform.json --crate-type=lib --emit=asm
-diff --git a/tests/ui/functions-closures/fn-help-with-err.rs b/tests/ui/functions-closures/fn-help-with-err.rs
-index 612fe1b8419..d021f33c550 100644
---- a/tests/ui/functions-closures/fn-help-with-err.rs
-+++ b/tests/ui/functions-closures/fn-help-with-err.rs
-@@ -1,4 +1,5 @@
- // This test case checks the behavior of typeck::check::method::suggest::is_fn on Ty::Error.
-+// ignore-stage1
- 
- struct Foo;
-
-diff --git a/tests/run-make/pointer-auth-link-with-c/Makefile b/tests/run-make/pointer-auth-link-with-c/Makefile
-index dffbd303582..5347d0a90f1 100644
---- a/tests/run-make/pointer-auth-link-with-c/Makefile
-+++ b/tests/run-make/pointer-auth-link-with-c/Makefile
-@@ -1,3 +1,4 @@
-+# ignore-stage1
- include ../tools.mk
- 
- # only-aarch64
diff --git a/poky/meta/recipes-devtools/rust/rust-source.inc b/poky/meta/recipes-devtools/rust/rust-source.inc
index 0009c50..4a720e6 100644
--- a/poky/meta/recipes-devtools/rust/rust-source.inc
+++ b/poky/meta/recipes-devtools/rust/rust-source.inc
@@ -6,7 +6,7 @@
             file://0001-Do-not-use-LFS64-on-linux-with-musl.patch;patchdir=${RUSTSRC} \
             file://zlib-off64_t.patch;patchdir=${RUSTSRC} \
             file://0001-musl-Define-SOCK_SEQPACKET-in-common-place.patch;patchdir=${RUSTSRC} \
-            file://rust-oe-selftest.patch;patchdir=${RUSTSRC} \
+            file://bootstrap_fail.patch;patchdir=${RUSTSRC} \
 "
 SRC_URI[rust.sha256sum] = "bb8e9c564566b2d3228d95de9063a9254182446a161353f1d843bfbaf5c34639"
 
diff --git a/poky/meta/recipes-devtools/strace/strace/00ace1392f5bd289239b755458dcdeeed69af1da.patch b/poky/meta/recipes-devtools/strace/strace/00ace1392f5bd289239b755458dcdeeed69af1da.patch
deleted file mode 100644
index bdf815e..0000000
--- a/poky/meta/recipes-devtools/strace/strace/00ace1392f5bd289239b755458dcdeeed69af1da.patch
+++ /dev/null
@@ -1,303 +0,0 @@
-From 00ace1392f5bd289239b755458dcdeeed69af1da Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@strace.io>
-Date: Mon, 26 Jun 2023 10:00:00 +0000
-Subject: [PATCH] tests: avoid accept() libc function when tracing accept()
- syscall
-
-The libc function is allowed to implement accept() using accept4()
-syscall, so migrate to accept4() those tests that trace accept() syscall
-but do not test accept() specifically, and change the test of accept()
-syscall to invoke either __NR_accept or __NR_socketcall(SYS_ACCEPT)
-directly.
-
-* tests/accept_compat.h: Remove.
-* tests/Makefile.am (EXTRA_DIST): Remove accept_compat.h.
-* tests/accept.c [TEST_SYSCALL_NAME]: Do not invoke accept(),
-call __NR_accept or __NR_socketcall if available, or skip the test.
-* tests/net-y-unix.c: Do not include "accept_compat.h".
-(main): Invoke accept4() instead of accept().
-* tests/net-yy-inet.c: Likewise.
-* tests/net-yy-unix.c: Likewise.
-
-Resolves: https://github.com/strace/strace/issues/260
-
-Upstream-Status: Backport
----
- tests/Makefile.am     |  1 -
- tests/accept.c        | 36 ++++++++++++++++++++----------------
- tests/accept_compat.h | 32 --------------------------------
- tests/net-y-unix.c    | 16 ++++++++--------
- tests/net-yy-inet.c   | 12 ++++++------
- tests/net-yy-unix.c   | 16 ++++++++--------
- 6 files changed, 42 insertions(+), 71 deletions(-)
- delete mode 100644 tests/accept_compat.h
-
-Index: strace-6.3/tests/Makefile.am
-===================================================================
---- strace-6.3.orig/tests/Makefile.am
-+++ strace-6.3/tests/Makefile.am
-@@ -776,7 +776,6 @@ check_DATA = \
- 	# end of check_DATA
- 
- EXTRA_DIST = \
--	accept_compat.h \
- 	attach-p-cmd.h \
- 	clock_adjtime-common.c \
- 	clock_xettime-common.c \
-Index: strace-6.3/tests/accept.c
-===================================================================
---- strace-6.3.orig/tests/accept.c
-+++ strace-6.3/tests/accept.c
-@@ -9,38 +9,36 @@
-  */
- 
- #include "tests.h"
--
-+#include "scno.h"
- #include <unistd.h>
- 
--#include "scno.h"
-+#ifndef TEST_SYSCALL_NAME
- 
--#if defined __NR_accept
-+# if defined __NR_accept || defined __NR_socketcall
- 
--# ifndef TEST_SYSCALL_NAME
- #  define TEST_SYSCALL_NAME do_accept
--
--#  ifndef TEST_SYSCALL_STR
--#   define TEST_SYSCALL_STR "accept"
--#  endif
-+#  define TEST_SYSCALL_STR "accept"
- 
- static int
- do_accept(int sockfd, void *addr, void *addrlen)
- {
-+#  ifdef __NR_accept
- 	return syscall(__NR_accept, sockfd, addr, addrlen);
-+#  else /* __NR_socketcall */
-+	const long args[] = { sockfd, (long) addr, (long) addrlen };
-+	return syscall(__NR_socketcall, 5, args);
-+#  endif
- }
--# endif /* !TEST_SYSCALL_NAME */
- 
--#else /* !__NR_accept */
-+# endif /* __NR_accept || __NR_socketcall */
- 
--# ifndef TEST_SYSCALL_NAME
--#  define TEST_SYSCALL_NAME accept
--# endif
-+#endif /* !TEST_SYSCALL_NAME */
- 
--#endif /* __NR_accept */
-+#ifdef TEST_SYSCALL_NAME
- 
--#define TEST_SYSCALL_PREPARE connect_un()
-+# define TEST_SYSCALL_PREPARE connect_un()
- static void connect_un(void);
--#include "sockname.c"
-+# include "sockname.c"
- 
- static void
- connect_un(void)
-@@ -90,3 +88,9 @@ main(void)
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("__NR_accept || __NR_socketcall")
-+
-+#endif
-Index: strace-6.3/tests/accept_compat.h
-===================================================================
---- strace-6.3.orig/tests/accept_compat.h
-+++ /dev/null
-@@ -1,32 +0,0 @@
--/*
-- * Copyright (c) 2018-2019 The strace developers.
-- * All rights reserved.
-- *
-- * SPDX-License-Identifier: GPL-2.0-or-later
-- */
--
--#ifndef _STRACE_TESTS_ACCEPT_COMPAT_H_
--# define _STRACE_TESTS_ACCEPT_COMPAT_H_
--
--# include <unistd.h>
--# include <sys/socket.h>
--# include "scno.h"
--
--# if defined __NR_socketcall && defined __sparc__
--/*
-- * Work around the fact that
-- * - glibc >= 2.26 uses accept4 syscall to implement accept() call on sparc;
-- * - accept syscall had not been wired up on sparc until v4.4-rc8~4^2~1.
-- */
--static inline int
--do_accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen)
--{
--	const long args[] = { sockfd, (long) addr, (long) addrlen };
--
--	return syscall(__NR_socketcall, 5, args);
--}
--# else
--#  define do_accept accept
--# endif
--
--#endif /* !_STRACE_TESTS_ACCEPT_COMPAT_H_ */
-Index: strace-6.3/tests/net-y-unix.c
-===================================================================
---- strace-6.3.orig/tests/net-y-unix.c
-+++ strace-6.3/tests/net-y-unix.c
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include <assert.h>
-+#include <fcntl.h>
- #include <stddef.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -18,8 +19,6 @@
- #include <sys/socket.h>
- #include <sys/un.h>
- 
--#include "accept_compat.h"
--
- #define TEST_SOCKET "net-y-unix.socket"
- 
- int
-@@ -88,12 +87,12 @@ main(void)
- 	struct sockaddr * const accept_sa = tail_alloc(sizeof(addr));
- 	memset(accept_sa, 0, sizeof(addr));
- 	*len = sizeof(addr);
--	int accept_fd = do_accept(listen_fd, accept_sa, len);
-+	int accept_fd = accept4(listen_fd, accept_sa, len, O_CLOEXEC);
- 	if (accept_fd < 0)
- 		perror_msg_and_fail("accept");
- 	unsigned long accept_inode = inode_of_sockfd(accept_fd);
--	printf("accept(%d<socket:[%lu]>, {sa_family=AF_UNIX}"
--	       ", [%d => %d]) = %d<socket:[%lu]>\n",
-+	printf("accept4(%d<socket:[%lu]>, {sa_family=AF_UNIX}"
-+	       ", [%d => %d], SOCK_CLOEXEC) = %d<socket:[%lu]>\n",
- 	       listen_fd, listen_inode,
- 	       (int) sizeof(addr), (int) *len,
- 	       accept_fd, accept_inode);
-@@ -160,14 +159,15 @@ main(void)
- 
- 	memset(accept_sa, 0, sizeof(addr));
- 	*len = sizeof(addr);
--	accept_fd = do_accept(listen_fd, accept_sa, len);
-+	accept_fd = accept4(listen_fd, accept_sa, len, O_CLOEXEC);
- 	if (accept_fd < 0)
- 		perror_msg_and_fail("accept");
- 	accept_inode = inode_of_sockfd(accept_fd);
- 	const char * const sun_path1 =
- 		((struct sockaddr_un *) accept_sa)->sun_path + 1;
--	printf("accept(%d<socket:[%lu]>, {sa_family=AF_UNIX"
--	       ", sun_path=@\"%s\"}, [%d => %d]) = %d<socket:[%lu]>\n",
-+	printf("accept4(%d<socket:[%lu]>, {sa_family=AF_UNIX"
-+	       ", sun_path=@\"%s\"}, [%d => %d], SOCK_CLOEXEC)"
-+	       " = %d<socket:[%lu]>\n",
- 	       listen_fd, listen_inode, sun_path1,
- 	       (int) sizeof(addr), (int) *len,
- 	       accept_fd, accept_inode);
-Index: strace-6.3/tests/net-yy-inet.c
-===================================================================
---- strace-6.3.orig/tests/net-yy-inet.c
-+++ strace-6.3/tests/net-yy-inet.c
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include <assert.h>
-+#include <fcntl.h>
- #include <stddef.h>
- #include <stdio.h>
- #include <string.h>
-@@ -19,8 +20,6 @@
- #include <netinet/tcp.h>
- #include <arpa/inet.h>
- 
--#include "accept_compat.h"
--
- #ifndef ADDR_FAMILY
- # define ADDR_FAMILY_FIELD sin_family
- # define ADDR_FAMILY AF_INET
-@@ -104,14 +103,15 @@ main(void)
- 	struct sockaddr * const accept_sa = tail_alloc(sizeof(addr));
- 	memset(accept_sa, 0, sizeof(addr));
- 	*len = sizeof(addr);
--	const int accept_fd = do_accept(listen_fd, accept_sa, len);
-+	const int accept_fd = accept4(listen_fd, accept_sa, len, O_CLOEXEC);
- 	if (accept_fd < 0)
- 		perror_msg_and_fail("accept");
- 	const unsigned int connect_port =
- 		ntohs(((struct SOCKADDR_TYPE *) accept_sa)->INPORT);
--	printf("accept(%d<" TCP_STR ":[" LOOPBACK ":%u]>, {sa_family=" AF_STR
--	       ", " INPORT_STR "=htons(%u), " INADDR_STR SA_FIELDS "}"
--	       ", [%u]) = %d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>\n",
-+	printf("accept4(%d<" TCP_STR ":[" LOOPBACK ":%u]>, {sa_family=" AF_STR
-+	       ", " INPORT_STR "=htons(%u), " INADDR_STR SA_FIELDS "}, [%u]"
-+	       ", SOCK_CLOEXEC) = %d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK
-+	       ":%u]>\n",
- 	       listen_fd, listen_port, connect_port, (unsigned) *len,
- 	       accept_fd, listen_port, connect_port);
- 
-Index: strace-6.3/tests/net-yy-unix.c
-===================================================================
---- strace-6.3.orig/tests/net-yy-unix.c
-+++ strace-6.3/tests/net-yy-unix.c
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include <assert.h>
-+#include <fcntl.h>
- #include <stddef.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -22,8 +23,6 @@
- # include "xmalloc.h"
- #endif
- 
--#include "accept_compat.h"
--
- #define TEST_SOCKET "net-yy-unix.socket"
- 
- int
-@@ -112,12 +111,12 @@ main(void)
- 	struct sockaddr * const accept_sa = tail_alloc(sizeof(addr));
- 	memset(accept_sa, 0, sizeof(addr));
- 	*len = sizeof(addr);
--	int accept_fd = do_accept(listen_fd, accept_sa, len);
-+	int accept_fd = accept4(listen_fd, accept_sa, len, O_CLOEXEC);
- 	if (accept_fd < 0)
- 		perror_msg_and_fail("accept");
- 	unsigned long accept_inode = inode_of_sockfd(accept_fd);
--	printf("accept(%d<%s:[%lu,\"%s\"]>, {sa_family=AF_UNIX}"
--	       ", [%d => %d]) = %d<%s:[%lu->%lu,\"%s\"]>\n",
-+	printf("accept4(%d<%s:[%lu,\"%s\"]>, {sa_family=AF_UNIX}"
-+	       ", [%d => %d], SOCK_CLOEXEC) = %d<%s:[%lu->%lu,\"%s\"]>\n",
- 	       listen_fd, sock_proto_name, listen_inode, TEST_SOCKET,
- 	       (int) sizeof(addr), (int) *len,
- 	       accept_fd, sock_proto_name, accept_inode, connect_inode,
-@@ -191,14 +190,15 @@ main(void)
- 
- 	memset(accept_sa, 0, sizeof(addr));
- 	*len = sizeof(addr);
--	accept_fd = do_accept(listen_fd, accept_sa, len);
-+	accept_fd = accept4(listen_fd, accept_sa, len, O_CLOEXEC);
- 	if (accept_fd < 0)
- 		perror_msg_and_fail("accept");
- 	accept_inode = inode_of_sockfd(accept_fd);
- 	const char * const sun_path1 =
- 		((struct sockaddr_un *) accept_sa)->sun_path + 1;
--	printf("accept(%d<%s:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
--	       ", sun_path=@\"%s\"}, [%d => %d]) = %d<%s:[%lu->%lu,\"%s\"]>\n",
-+	printf("accept4(%d<%s:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
-+	       ", sun_path=@\"%s\"}, [%d => %d], SOCK_CLOEXEC)"
-+	       " = %d<%s:[%lu->%lu,\"%s\"]>\n",
- 	       listen_fd, sock_proto_name, listen_inode, TEST_SOCKET,
- 	       sun_path1, (int) sizeof(addr), (int) *len,
- 	       accept_fd, sock_proto_name, accept_inode, connect_inode,
diff --git a/poky/meta/recipes-devtools/strace/strace/3bbfb541b258baec9eba674b5d8dc30007a61542.patch b/poky/meta/recipes-devtools/strace/strace/3bbfb541b258baec9eba674b5d8dc30007a61542.patch
deleted file mode 100644
index b4c6ff9..0000000
--- a/poky/meta/recipes-devtools/strace/strace/3bbfb541b258baec9eba674b5d8dc30007a61542.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 3bbfb541b258baec9eba674b5d8dc30007a61542 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@strace.io>
-Date: Wed, 21 Jun 2023 08:00:00 +0000
-Subject: [PATCH] net: enhance getsockopt decoding
-
-When getsockopt syscall fails the kernel sometimes updates the optlen
-argument, for example, NETLINK_LIST_MEMBERSHIPS updates it even if
-optval is not writable.
-
-* src/net.c (SYS_FUNC(getsockopt)): Try to fetch and print optlen
-argument on exiting syscall regardless of getsockopt exit status.
-
-Upstream-Status: Backport
----
- src/net.c | 15 ++++++++++++++-
- 1 file changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/src/net.c b/src/net.c
-index f68ccb947..7244b5e57 100644
---- a/src/net.c
-+++ b/src/net.c
-@@ -1038,7 +1038,7 @@ SYS_FUNC(getsockopt)
- 	} else {
- 		ulen = get_tcb_priv_ulong(tcp);
- 
--		if (syserror(tcp) || umove(tcp, tcp->u_arg[4], &rlen) < 0) {
-+		if (umove(tcp, tcp->u_arg[4], &rlen) < 0) {
- 			/* optval */
- 			printaddr(tcp->u_arg[3]);
- 			tprint_arg_next();
-@@ -1047,6 +1047,19 @@ SYS_FUNC(getsockopt)
- 			tprint_indirect_begin();
- 			PRINT_VAL_D(ulen);
- 			tprint_indirect_end();
-+		} else if (syserror(tcp)) {
-+			/* optval */
-+			printaddr(tcp->u_arg[3]);
-+			tprint_arg_next();
-+
-+			/* optlen */
-+			tprint_indirect_begin();
-+			if (ulen != rlen) {
-+				PRINT_VAL_D(ulen);
-+				tprint_value_changed();
-+			}
-+			PRINT_VAL_D(rlen);
-+			tprint_indirect_end();
- 		} else {
- 			/* optval */
- 			print_getsockopt(tcp, tcp->u_arg[1], tcp->u_arg[2],
diff --git a/poky/meta/recipes-devtools/strace/strace/f31c2f4494779e5c5f170ad10539bfc2dfafe967.patch b/poky/meta/recipes-devtools/strace/strace/f31c2f4494779e5c5f170ad10539bfc2dfafe967.patch
deleted file mode 100644
index a084383..0000000
--- a/poky/meta/recipes-devtools/strace/strace/f31c2f4494779e5c5f170ad10539bfc2dfafe967.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From f31c2f4494779e5c5f170ad10539bfc2dfafe967 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@strace.io>
-Date: Sat, 24 Jun 2023 08:00:00 +0000
-Subject: [PATCH] tests: update sockopt-sol_netlink test
-
-Update sockopt-sol_netlink test that started to fail, likely
-due to recent linux kernel commit f4e4534850a9 ("net/netlink: fix
-NETLINK_LIST_MEMBERSHIPS length report").
-
-* tests/sockopt-sol_netlink.c (main): Always print changing optlen value
-on exiting syscall.
-
-Reported-by: Alexander Gordeev <agordeev@linux.ibm.com>
----
- tests/sockopt-sol_netlink.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-Upstream-Status: Backport
-
-diff --git a/tests/sockopt-sol_netlink.c b/tests/sockopt-sol_netlink.c
-index 82b98adc23..1c33219ac5 100644
---- a/tests/sockopt-sol_netlink.c
-+++ b/tests/sockopt-sol_netlink.c
-@@ -94,7 +94,10 @@ main(void)
- 			printf("%p", val);
- 		else
- 			printf("[%d]", *val);
--		printf(", [%d]) = %s\n", *len, errstr);
-+		printf(", [%d", (int) sizeof(*val));
-+		if ((int) sizeof(*val) != *len)
-+			printf(" => %d", *len);
-+		printf("]) = %s\n", errstr);
- 
- 		/* optlen larger than necessary - shortened */
- 		*len = sizeof(*val) + 1;
-@@ -150,8 +153,12 @@ main(void)
- 		/* optval EFAULT - print address */
- 		*len = sizeof(*val);
- 		get_sockopt(fd, names[i].val, efault, len);
--		printf("getsockopt(%d, SOL_NETLINK, %s, %p, [%d]) = %s\n",
--		       fd, names[i].str, efault, *len, errstr);
-+		printf("getsockopt(%d, SOL_NETLINK, %s, %p",
-+		       fd, names[i].str, efault);
-+		printf(", [%d", (int) sizeof(*val));
-+		if ((int) sizeof(*val) != *len)
-+			printf(" => %d", *len);
-+		printf("]) = %s\n", errstr);
- 
- 		/* optlen EFAULT - print address */
- 		get_sockopt(fd, names[i].val, val, len + 1);
diff --git a/poky/meta/recipes-devtools/strace/strace_6.3.bb b/poky/meta/recipes-devtools/strace/strace_6.4.bb
similarity index 88%
rename from poky/meta/recipes-devtools/strace/strace_6.3.bb
rename to poky/meta/recipes-devtools/strace/strace_6.4.bb
index a47cc71..2174790 100644
--- a/poky/meta/recipes-devtools/strace/strace_6.3.bb
+++ b/poky/meta/recipes-devtools/strace/strace_6.4.bb
@@ -14,11 +14,8 @@
            file://skip-load.patch \
            file://0001-configure-Use-autoconf-macro-to-detect-largefile-sup.patch \
            file://0002-tests-Replace-off64_t-with-off_t.patch \
-           file://00ace1392f5bd289239b755458dcdeeed69af1da.patch \
-           file://f31c2f4494779e5c5f170ad10539bfc2dfafe967.patch \
-           file://3bbfb541b258baec9eba674b5d8dc30007a61542.patch \
            "
-SRC_URI[sha256sum] = "e17878e301506c1cc301611118ad14efee7f8bcef63b27ace5d290acce7bb731"
+SRC_URI[sha256sum] = "27987dbac57fdfd260c6db4dc8328df35c95c6867c8a3d4371d59cdcf4eb9238"
 
 inherit autotools ptest
 
diff --git a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
index 9e77f12..7d151d4 100644
--- a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
+++ b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
@@ -6,8 +6,8 @@
 LICENSE = "EPL-1.0 | EDL-1.0"
 LIC_FILES_CHKSUM = "file://edl-v10.html;md5=522a390a83dc186513f0500543ad3679"
 
-SRCREV = "4a2c4baaccbc8c29ce0297705de9a4e096d57ce5"
-PV = "1.7.0+git${SRCPV}"
+SRCREV = "1f11747e83ebf4f53e8d17f430136f92ec378709"
+PV = "1.8.0+git${SRCPV}"
 
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
 SRC_URI = "git://git.eclipse.org/r/tcf/org.eclipse.tcf.agent.git;protocol=https;branch=master \
diff --git a/poky/meta/recipes-extended/acpica/acpica_20230628.bb b/poky/meta/recipes-extended/acpica/acpica_20230628.bb
index 06db99c..3b939ad 100644
--- a/poky/meta/recipes-extended/acpica/acpica_20230628.bb
+++ b/poky/meta/recipes-extended/acpica/acpica_20230628.bb
@@ -6,7 +6,7 @@
 subsystem, and a small set of tools to assist in developing and debugging \
 ACPI tables."
 
-HOMEPAGE = "http://www.acpica.org/"
+HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/topic-technology/open/acpica/overview.html"
 SECTION = "console/tools"
 
 LICENSE = "Intel | BSD-3-Clause | GPL-2.0-only"
@@ -16,10 +16,11 @@
 
 DEPENDS = "m4-native flex-native bison-native"
 
-SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix-${PV}.tar.gz"
+SRC_URI = "https://downloadmirror.intel.com/783534/acpica-unix-${PV}.tar.gz"
 SRC_URI[sha256sum] = "86876a745e3d224dcfd222ed3de465b47559e85811df2db9820ef09a9dff5cce"
 
-UPSTREAM_CHECK_URI = "https://acpica.org/downloads"
+UPSTREAM_CHECK_URI = "https://www.intel.com/content/www/us/en/download/776303/acpi-component-architecture-downloads-unix-format-source-code-and-build-environment-with-an-intel-license.html"
+UPSTREAM_VERSION_UNKNOWN = "1"
 
 S = "${WORKDIR}/acpica-unix-${PV}"
 
diff --git a/poky/meta/recipes-extended/findutils/findutils.inc b/poky/meta/recipes-extended/findutils/findutils.inc
index ddcc057..03cf2a8 100644
--- a/poky/meta/recipes-extended/findutils/findutils.inc
+++ b/poky/meta/recipes-extended/findutils/findutils.inc
@@ -7,6 +7,7 @@
 SECTION = "console/utils"
 
 SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.xz \
+          file://autoconf-2.73.patch \
           file://run-ptest \
           "
 
diff --git a/poky/meta/recipes-extended/findutils/findutils/autoconf-2.73.patch b/poky/meta/recipes-extended/findutils/findutils/autoconf-2.73.patch
new file mode 100644
index 0000000..63728b5
--- /dev/null
+++ b/poky/meta/recipes-extended/findutils/findutils/autoconf-2.73.patch
@@ -0,0 +1,24 @@
+The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
+than the full code:
+
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
+
+Just tweak the exiting code to work with 2.73. The next findutils upgrade should
+update to new gnulib
+
+Upstream-Status: Inappropriate
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: findutils-4.9.0/gl/m4/largefile.m4
+===================================================================
+--- findutils-4.9.0.orig/gl/m4/largefile.m4
++++ findutils-4.9.0/gl/m4/largefile.m4
+@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # with _TIME_BITS.  Also, work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+ 
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/0001-Bug-706897-Copy-pcx-buffer-overrun-fix-from-devices-.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/0001-Bug-706897-Copy-pcx-buffer-overrun-fix-from-devices-.patch
new file mode 100644
index 0000000..b29212f
--- /dev/null
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript/0001-Bug-706897-Copy-pcx-buffer-overrun-fix-from-devices-.patch
@@ -0,0 +1,31 @@
+From d81b82c70bc1fb9991bb95f1201abb5dea55f57f Mon Sep 17 00:00:00 2001
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Mon, 17 Jul 2023 14:06:37 +0100
+Subject: [PATCH] Bug 706897: Copy pcx buffer overrun fix from
+ devices/gdevpcx.c
+
+Bounds check the buffer, before dereferencing the pointer.
+
+CVE: CVE-2023-38559
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ base/gdevdevn.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/base/gdevdevn.c b/base/gdevdevn.c
+index 7b14d9c71..6351fb77a 100644
+--- a/base/gdevdevn.c
++++ b/base/gdevdevn.c
+@@ -1983,7 +1983,7 @@ devn_pcx_write_rle(const byte * from, const byte * end, int step, gp_file * file
+         byte data = *from;
+ 
+         from += step;
+-        if (data != *from || from == end) {
++        if (from >= end || data != *from) {
+             if (data >= 0xc0)
+                 gp_fputc(0xc1, file);
+         } else {
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_10.01.2.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_10.01.2.bb
index fdbdfb6..0ddf708 100644
--- a/poky/meta/recipes-extended/ghostscript/ghostscript_10.01.2.bb
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript_10.01.2.bb
@@ -25,6 +25,7 @@
 SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \
            file://ghostscript-9.16-Werror-return-type.patch \
            file://avoid-host-contamination.patch \
+           file://0001-Bug-706897-Copy-pcx-buffer-overrun-fix-from-devices-.patch \
 "
 
 SRC_URI[sha256sum] = "a4cd61a07fec161bee35da0211a5e5cde8ff8a0aaf942fc0176715e499d21661"
@@ -66,3 +67,5 @@
 
 # some entries in NVD uses gpl_ghostscript
 CVE_PRODUCT = "ghostscript gpl_ghostscript"
+
+CVE_STATUS[CVE-2023-38560] = "not-applicable-config: PCL isn't part of the Ghostscript release"
diff --git a/poky/meta/recipes-extended/gzip/gzip-1.12/autoconf-2.73.patch b/poky/meta/recipes-extended/gzip/gzip-1.12/autoconf-2.73.patch
new file mode 100644
index 0000000..18f992b
--- /dev/null
+++ b/poky/meta/recipes-extended/gzip/gzip-1.12/autoconf-2.73.patch
@@ -0,0 +1,24 @@
+The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
+than the full code:
+
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
+
+Just tweak the exiting code to work with 2.73. The next gzip upgrade should
+update to new gnulib
+
+Upstream-Status: Inappropriate
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: findutils-4.9.0/gl/m4/largefile.m4
+===================================================================
+--- findutils-4.9.0.orig/m4/largefile.m4
++++ findutils-4.9.0/m4/largefile.m4
+@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # with _TIME_BITS.  Also, work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+ 
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
diff --git a/poky/meta/recipes-extended/gzip/gzip_1.12.bb b/poky/meta/recipes-extended/gzip/gzip_1.12.bb
index 14de50b..35eb7c4 100644
--- a/poky/meta/recipes-extended/gzip/gzip_1.12.bb
+++ b/poky/meta/recipes-extended/gzip/gzip_1.12.bb
@@ -5,6 +5,7 @@
 LICENSE = "GPL-3.0-or-later"
 
 SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \
+           file://autoconf-2.73.patch \
            file://run-ptest \
           "
 SRC_URI:append:class-target = " file://wrong-path-fix.patch"
diff --git a/poky/meta/recipes-extended/images/core-image-full-cmdline.bb b/poky/meta/recipes-extended/images/core-image-full-cmdline.bb
index 4d69073..4e1cf58 100644
--- a/poky/meta/recipes-extended/images/core-image-full-cmdline.bb
+++ b/poky/meta/recipes-extended/images/core-image-full-cmdline.bb
@@ -1,4 +1,4 @@
-DESCRIPTION = "A console-only image with more full-featured Linux system \
+SUMMARY = "A console-only image with more full-featured Linux system \
 functionality installed."
 
 IMAGE_FEATURES += "splash ssh-server-openssh"
diff --git a/poky/meta/recipes-extended/images/core-image-testcontroller-initramfs.bb b/poky/meta/recipes-extended/images/core-image-testcontroller-initramfs.bb
index 2bc035a..a5b3d10 100644
--- a/poky/meta/recipes-extended/images/core-image-testcontroller-initramfs.bb
+++ b/poky/meta/recipes-extended/images/core-image-testcontroller-initramfs.bb
@@ -1,4 +1,4 @@
-DESCRIPTION = "Small image capable of booting a device with custom install scripts, \
+SUMMARY = "Small image capable of booting a device with custom install scripts, \
 adding a second rootfs, used for testing."
 
 # use -testfs live-install scripts
diff --git a/poky/meta/recipes-extended/images/core-image-testcontroller.bb b/poky/meta/recipes-extended/images/core-image-testcontroller.bb
index 20edbd5..ff79bde 100644
--- a/poky/meta/recipes-extended/images/core-image-testcontroller.bb
+++ b/poky/meta/recipes-extended/images/core-image-testcontroller.bb
@@ -1,4 +1,4 @@
-DESCRIPTION = "A test controller image to be deployed on a target useful for testing other images using the OEQA runtime tests"
+SUMMARY = "A test controller image to be deployed on a target useful for testing other images using the OEQA runtime tests"
 
 IMAGE_FEATURES += "ssh-server-openssh package-management"
 
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/configurehack.patch b/poky/meta/recipes-extended/libarchive/libarchive/configurehack.patch
new file mode 100644
index 0000000..f3989d9
--- /dev/null
+++ b/poky/meta/recipes-extended/libarchive/libarchive/configurehack.patch
@@ -0,0 +1,49 @@
+To work with autoconf 2.73, tweak the macro ordering in configure.in.
+
+Upstream-Status: Pending
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: libarchive-3.6.2/configure.ac
+===================================================================
+--- libarchive-3.6.2.orig/configure.ac
++++ libarchive-3.6.2/configure.ac
+@@ -357,6 +357,19 @@ if test "x$with_bz2lib" != "xno"; then
+   esac
+ fi
+ 
++# Checks for typedefs, structures, and compiler characteristics.
++AC_C_CONST
++# la_TYPE_UID_T defaults to "int", which is incorrect for MinGW
++# and MSVC. Use a customized version.
++la_TYPE_UID_T
++AC_TYPE_MODE_T
++# AC_TYPE_OFF_T defaults to "long", which limits us to 4GB files on
++# most systems... default to "long long" instead.
++AC_CHECK_TYPE(off_t, [long long])
++AC_TYPE_SIZE_T
++AC_CHECK_TYPE(id_t, [unsigned long])
++AC_CHECK_TYPE(uintptr_t, [unsigned int])
++
+ AC_ARG_WITH([libb2],
+   AS_HELP_STRING([--without-libb2], [Don't build support for BLAKE2 through libb2]))
+ 
+@@ -558,19 +571,6 @@ LDFLAGS=$save_LDFLAGS
+ 
+ AC_SUBST(GC_SECTIONS)
+ 
+-# Checks for typedefs, structures, and compiler characteristics.
+-AC_C_CONST
+-# la_TYPE_UID_T defaults to "int", which is incorrect for MinGW
+-# and MSVC. Use a customized version.
+-la_TYPE_UID_T
+-AC_TYPE_MODE_T
+-# AC_TYPE_OFF_T defaults to "long", which limits us to 4GB files on
+-# most systems... default to "long long" instead.
+-AC_CHECK_TYPE(off_t, [long long])
+-AC_TYPE_SIZE_T
+-AC_CHECK_TYPE(id_t, [unsigned long])
+-AC_CHECK_TYPE(uintptr_t, [unsigned int])
+-
+ # Check for tm_gmtoff in struct tm
+ AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.__tm_gmtoff],,,
+ [
diff --git a/poky/meta/recipes-extended/libarchive/libarchive_3.6.2.bb b/poky/meta/recipes-extended/libarchive/libarchive_3.6.2.bb
index aafede3..4169a01 100644
--- a/poky/meta/recipes-extended/libarchive/libarchive_3.6.2.bb
+++ b/poky/meta/recipes-extended/libarchive/libarchive_3.6.2.bb
@@ -29,10 +29,13 @@
 EXTRA_OECONF += "--enable-largefile --without-iconv"
 
 SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz"
+SRC_URI += "file://configurehack.patch"
 UPSTREAM_CHECK_URI = "http://libarchive.org/"
 
 SRC_URI[sha256sum] = "ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3"
 
+CVE_STATUS[CVE-2023-30571] = "upstream-wontfix: upstream has documented that reported function is not thread-safe"
+
 inherit autotools update-alternatives pkgconfig
 
 CPPFLAGS += "-I${WORKDIR}/extra-includes"
diff --git a/poky/meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch b/poky/meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch
new file mode 100644
index 0000000..e61e5aa
--- /dev/null
+++ b/poky/meta/recipes-extended/libpipeline/libpipeline/autoconf-2.73.patch
@@ -0,0 +1,24 @@
+The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
+than the full code:
+
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
+
+Just tweak the exiting code to work with 2.73. The next libpipeline upgrade should
+update to new gnulib
+
+Upstream-Status: Inappropriate
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: findutils-4.9.0/gl/m4/largefile.m4
+===================================================================
+--- findutils-4.9.0.orig/gl/m4/largefile.m4
++++ findutils-4.9.0/gl/m4/largefile.m4
+@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # with _TIME_BITS.  Also, work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+ 
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
diff --git a/poky/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb b/poky/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb
index 73c7aaa..7e3f13e 100644
--- a/poky/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb
+++ b/poky/meta/recipes-extended/libpipeline/libpipeline_1.5.7.bb
@@ -7,6 +7,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
 
 SRC_URI = "${SAVANNAH_GNU_MIRROR}/libpipeline/libpipeline-${PV}.tar.gz"
+SRC_URI += "file://autoconf-2.73.patch"
 SRC_URI[sha256sum] = "b8b45194989022a79ec1317f64a2a75b1551b2a55bea06f67704cb2a2e4690b0"
 
 inherit pkgconfig autotools
diff --git a/poky/meta/recipes-extended/ltp/ltp_20230516.bb b/poky/meta/recipes-extended/ltp/ltp_20230516.bb
index e9407d3..4d132b7 100644
--- a/poky/meta/recipes-extended/ltp/ltp_20230516.bb
+++ b/poky/meta/recipes-extended/ltp/ltp_20230516.bb
@@ -41,13 +41,14 @@
 # https://sourceware.org/bugzilla/show_bug.cgi?id=18097
 # https://github.com/linux-test-project/ltp/commit/3fce2064b54843218d085aae326c8f7ecf3a8c41#diff-39268f0855c634ca48c8993fcd2c95b12a65b79e8d9fa5ccd6b0f5a8785c0dd6R36
 LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd', '', d)}"
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=bfd', '', d)}"
 
 # After 0002-kvm-use-LD-instead-of-hardcoding-ld.patch
 # https://github.com/linux-test-project/ltp/commit/f94e0ef3b7280f886384703ef9019aaf2f2dfebb
 # it fails with gold also a bit later when trying to use *-payload.bin
 # http://errors.yoctoproject.org/Errors/Details/663094/
 # work around this by forcing .bfd linked in LD when ld-is-gold is in DISTRO_FEATURES
-KVM_LD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${LD}', d)}"
+KVM_LD = "${@bb.utils.contains_any('DISTRO_FEATURES', 'ld-is-gold ld-is-lld', '${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${LD}', d)}"
 
 TARGET_CC_ARCH += "${LDFLAGS}"
 
@@ -112,6 +113,8 @@
     tar \
 "
 
+RRECOMMENDS:${PN} += "kernel-module-loop"
+
 FILES:${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a"
 
 # Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail
diff --git a/poky/meta/recipes-extended/man-db/files/autoconf-2.73.patch b/poky/meta/recipes-extended/man-db/files/autoconf-2.73.patch
new file mode 100644
index 0000000..6c997a6
--- /dev/null
+++ b/poky/meta/recipes-extended/man-db/files/autoconf-2.73.patch
@@ -0,0 +1,24 @@
+The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
+than the full code:
+
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
+
+Just tweak the exiting code to work with 2.73. The next man-db upgrade should
+update to new gnulib
+
+Upstream-Status: Inappropriate
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: findutils-4.9.0/gl/m4/largefile.m4
+===================================================================
+--- findutils-4.9.0.orig/gl/m4/largefile.m4
++++ findutils-4.9.0/gl/m4/largefile.m4
+@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # with _TIME_BITS.  Also, work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+ 
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.11.2.bb b/poky/meta/recipes-extended/man-db/man-db_2.11.2.bb
index ca0cb1a..3884a53 100644
--- a/poky/meta/recipes-extended/man-db/man-db_2.11.2.bb
+++ b/poky/meta/recipes-extended/man-db/man-db_2.11.2.bb
@@ -10,6 +10,7 @@
 SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
            file://99_mandb \
            file://0001-man-Move-local-variable-declaration-to-function-scop.patch \
+           file://autoconf-2.73.patch \
            file://man_db.conf-avoid-multilib-install-file-conflict.patch"
 SRC_URI[sha256sum] = "cffa1ee4e974be78646c46508e6dd2f37e7c589aaab2938cc1064f058fef9f8d"
 
diff --git a/poky/meta/recipes-extended/mdadm/files/run-ptest b/poky/meta/recipes-extended/mdadm/files/run-ptest
index 2380c32..c3f2014 100644
--- a/poky/meta/recipes-extended/mdadm/files/run-ptest
+++ b/poky/meta/recipes-extended/mdadm/files/run-ptest
@@ -1,7 +1,10 @@
 #!/bin/sh
 
-mkdir -p /mdadm-testing-dir
-# make the test continue to execute even one fail
-dir=. ./test --keep-going --disable-integrity --skip-broken
+logdir=$PWD/logs
+targetdir=/mdadm-testing-dir
 
-rm -rf /mdadm-testing-dir/*
+rm -rf $targetdir $logdir
+mkdir -p $targetdir $logdir
+
+# make the test continue to execute even one fail
+./test --keep-going --disable-integrity --skip-broken --save-logs --logdir=$logdir
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
index 50d9548..fa50325 100644
--- a/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
+++ b/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
@@ -107,7 +107,14 @@
 }
 
 RDEPENDS:${PN} += "bash"
-RDEPENDS:${PN}-ptest += "bash e2fsprogs-mke2fs util-linux-lsblk util-linux-losetup strace"
+RDEPENDS:${PN}-ptest += " \
+    bash \
+    e2fsprogs-mke2fs \
+    util-linux-lsblk \
+    util-linux-losetup \
+    util-linux-blockdev \
+    strace \
+"
 RRECOMMENDS:${PN}-ptest += " \
     coreutils \
     kernel-module-loop \
diff --git a/poky/meta/recipes-extended/pam/libpam_1.5.3.bb b/poky/meta/recipes-extended/pam/libpam_1.5.3.bb
index eafb5aa..1aa307a 100644
--- a/poky/meta/recipes-extended/pam/libpam_1.5.3.bb
+++ b/poky/meta/recipes-extended/pam/libpam_1.5.3.bb
@@ -169,7 +169,7 @@
 }
 
 inherit features_check
-REQUIRED_DISTRO_FEATURES = "pam"
+ANY_OF_DISTRO_FEATURES = "pam systemd"
 
 BBCLASSEXTEND = "nativesdk native"
 
diff --git a/poky/meta/recipes-extended/parted/files/autoconf-2.73.patch b/poky/meta/recipes-extended/parted/files/autoconf-2.73.patch
new file mode 100644
index 0000000..63dea88
--- /dev/null
+++ b/poky/meta/recipes-extended/parted/files/autoconf-2.73.patch
@@ -0,0 +1,22 @@
+The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
+than the full code:
+
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
+
+Just tweak the exiting code to work with 2.73. The next parted upgrade should
+update to new gnulib
+
+Upstream-Status: Inappropriate
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+--- a/m4/largefile.m4
++++ b/m4/largefile.m4
+@@ -27,7 +27,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ # Work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+-m4_version_prereq([2.70], [], [
++m4_version_prereq([2.73], [], [
+ 
+ # _AC_SYS_LARGEFILE_TEST_INCLUDES
+ # -------------------------------
diff --git a/poky/meta/recipes-extended/parted/parted_3.6.bb b/poky/meta/recipes-extended/parted/parted_3.6.bb
index a755e1c..a537ef7 100644
--- a/poky/meta/recipes-extended/parted/parted_3.6.bb
+++ b/poky/meta/recipes-extended/parted/parted_3.6.bb
@@ -9,6 +9,7 @@
 SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \
            file://fix-doc-mandir.patch \
            file://0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch \
+           file://autoconf-2.73.patch \
            file://run-ptest \
            "
 
diff --git a/poky/meta/recipes-extended/procps/procps/0001-po-fr.po-address-failures-with-gettext-0.22.patch b/poky/meta/recipes-extended/procps/procps/0001-po-fr.po-address-failures-with-gettext-0.22.patch
new file mode 100644
index 0000000..8055179
--- /dev/null
+++ b/poky/meta/recipes-extended/procps/procps/0001-po-fr.po-address-failures-with-gettext-0.22.patch
@@ -0,0 +1,37 @@
+From 1d685477c254e5b10a81e32c87786e0f001b70f1 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Mon, 24 Jul 2023 18:06:51 +0200
+Subject: [PATCH] po/fr.po: address failures with gettext 0.22
+
+Specifically:
+| fr.1po:3027: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: In the directive number 4, the argument size specifier is invalid.
+| fr.1po:3820: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: In the directive number 1, the argument size specifier is invalid.
+
+Upstream-Status: Submitted [https://gitlab.com/procps-ng/procps/-/merge_requests/199]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ po/fr.po | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/po/fr.po b/po/fr.po
+index 715c2b69..700834e1 100644
+--- a/po/fr.po
++++ b/po/fr.po
+@@ -3800,7 +3800,7 @@ msgid ""
+ "Type 'q' or <Esc> to continue "
+ msgstr ""
+ "Aide pour les commandes interactives~2 - %s\n"
+-"Fenêtre ~1%s~6: ~1Mode cumulatif ~3%s~2.  ~1Système~6: ~1Délai ~3%.1lf "
++"Fenêtre ~1%s~6: ~1Mode cumulatif ~3%s~2.  ~1Système~6: ~1Délai ~3%.1f "
+ "secs~2; ~1Mode sûr ~3%s~2.\n"
+ "\n"
+ "  Z~5,~1B~5,E,e   Global: «~1Z~2» couleurs; «~1B~2» gras; «~1E~2»/«~1e~2» "
+@@ -4723,7 +4723,7 @@ msgstr " -v, --version  affiche les informations de version et sort\n"
+ #: src/watch.c:486
+ #, c-format
+ msgid "Every %.1fs: "
+-msgstr "Toutes les %.1lfs: "
++msgstr "Toutes les %.1fs: "
+ 
+ #: src/watch.c:487
+ #, c-format
diff --git a/poky/meta/recipes-extended/procps/procps_4.0.3.bb b/poky/meta/recipes-extended/procps/procps_4.0.3.bb
index dc0e957..71efb80 100644
--- a/poky/meta/recipes-extended/procps/procps_4.0.3.bb
+++ b/poky/meta/recipes-extended/procps/procps_4.0.3.bb
@@ -15,6 +15,7 @@
 SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https;branch=master \
            file://sysctl.conf \
            file://0001-src-w.c-use-utmp.h-only.patch \
+           file://0001-po-fr.po-address-failures-with-gettext-0.22.patch \
            "
 SRCREV = "806eb270f217ff7e1e745c7bda2b002b5be74be4"
 
diff --git a/poky/meta/recipes-extended/rust-example/rust-hello-world/0001-enable-LTO.patch b/poky/meta/recipes-extended/rust-example/rust-hello-world/0001-enable-LTO.patch
deleted file mode 100644
index f319545..0000000
--- a/poky/meta/recipes-extended/rust-example/rust-hello-world/0001-enable-LTO.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From fa40b874f6470ec11a8fd7b0c9909d0cdd2d6feb Mon Sep 17 00:00:00 2001
-From: Dan Callaghan <dan.callaghan@opengear.com>
-Date: Fri, 5 Feb 2021 08:56:34 +1000
-Subject: [PATCH] enable LTO
-
-Upstream-Status: Pending
----
- Cargo.toml | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/Cargo.toml b/Cargo.toml
-index 7a2f6c8..cdb6b5d 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -3,3 +3,6 @@
- name = "rust-hello-world"
- version = "0.0.1"
- authors = ["Cody P Schafer <dev@codyps.com>"]
-+
-+[profile.release]
-+lto = true
--- 
-2.28.0
-
diff --git a/poky/meta/recipes-extended/rust-example/rust-hello-world_git.bb b/poky/meta/recipes-extended/rust-example/rust-hello-world_git.bb
deleted file mode 100644
index 1d91109..0000000
--- a/poky/meta/recipes-extended/rust-example/rust-hello-world_git.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-inherit cargo
-
-SRC_URI = "git://github.com/meta-rust/rust-hello-world.git;protocol=https;branch=master"
-SRCREV="e0fa23f1a3cb1eb1407165bd2fc36d2f6e6ad728"
-LIC_FILES_CHKSUM="file://COPYRIGHT;md5=e6b2207ac3740d2d01141c49208c2147"
-
-SRC_URI += "\
-    file://0001-enable-LTO.patch \
-    "
-
-UPSTREAM_CHECK_COMMITS = "1"
-
-SUMMARY = "Hello World by Cargo for Rust"
-HOMEPAGE = "https://github.com/meta-rust/rust-hello-world"
-LICENSE = "MIT | Apache-2.0"
-
-S = "${WORKDIR}/git"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-extended/sudo/files/0001-lib-util-mksigname.c-correctly-include-header-for-ou.patch b/poky/meta/recipes-extended/sudo/files/0001-lib-util-mksigname.c-correctly-include-header-for-ou.patch
deleted file mode 100644
index f63ed55..0000000
--- a/poky/meta/recipes-extended/sudo/files/0001-lib-util-mksigname.c-correctly-include-header-for-ou.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f993c5c88faacc43971899aae2168ffb3e34dc80 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Fri, 24 Sep 2021 13:36:24 +0200
-Subject: [PATCH] lib/util/mksigname.c: correctly include header for out of
- tree builds
-
-Upstream-Status: Submitted [https://github.com/sudo-project/sudo/pull/123]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- lib/util/mksigname.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/util/mksigname.c b/lib/util/mksigname.c
-index de8b1ad..0a69e7e 100644
---- a/lib/util/mksigname.c
-+++ b/lib/util/mksigname.c
-@@ -36,7 +36,7 @@ main(int argc, char *argv[])
- {
-     unsigned int i;
- 
--#include "mksigname.h"
-+#include "lib/util/mksigname.h"
- 
-     printf("const char *const sudo_sys_signame[] = {\n");
-     for (i = 0; i < nitems(sudo_sys_signame); i++) {
diff --git a/poky/meta/recipes-extended/sudo/sudo.inc b/poky/meta/recipes-extended/sudo/sudo.inc
index bedf713..feb1cf3 100644
--- a/poky/meta/recipes-extended/sudo/sudo.inc
+++ b/poky/meta/recipes-extended/sudo/sudo.inc
@@ -8,7 +8,6 @@
                     file://plugins/sudoers/redblack.c;beginline=1;endline=46;md5=03e35317699ba00b496251e0dfe9f109 \
                     file://lib/util/reallocarray.c;beginline=3;endline=15;md5=397dd45c7683e90b9f8bf24638cf03bf \
                     file://lib/util/fnmatch.c;beginline=3;endline=27;md5=004d7d2866ba1f5b41174906849d2e0f \
-                    file://lib/util/getcwd.c;beginline=2;endline=27;md5=50f8d9667750e18dea4e84a935c12009 \
                     file://lib/util/glob.c;beginline=2;endline=31;md5=2852f68687544e3eb8a0a61665506f0e \
                     file://lib/util/snprintf.c;beginline=3;endline=33;md5=b70df6179969e38fcf68da91b53b8029 \
                     file://include/sudo_queue.h;beginline=2;endline=27;md5=ad578e9664d17a010b63e4bc0576ee8d \
@@ -31,12 +30,12 @@
 EXTRA_OECONF:append:libc-musl = " --disable-hardening "
 
 do_compile:prepend () {
-       # Remove build host references from sudo_usage.h
+       # Remove build host references from config.h
        sed -i  \
            -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
            -e 's,--build=${BUILD_SYS},,g' \
            -e 's,--host=${HOST_SYS},,g' \
-           ${B}/src/sudo_usage.h
+           ${B}/config.h
 }
 
 # Explicitly create ${localstatedir}/lib before do_install to ensure
diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.13p3.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.14p2.bb
similarity index 92%
rename from poky/meta/recipes-extended/sudo/sudo_1.9.13p3.bb
rename to poky/meta/recipes-extended/sudo/sudo_1.9.14p2.bb
index 2e11739..fa79391 100644
--- a/poky/meta/recipes-extended/sudo/sudo_1.9.13p3.bb
+++ b/poky/meta/recipes-extended/sudo/sudo_1.9.14p2.bb
@@ -3,12 +3,11 @@
 SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
            ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
            file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \
-           file://0001-lib-util-mksigname.c-correctly-include-header-for-ou.patch \
            "
 
 PAM_SRC_URI = "file://sudo.pam"
 
-SRC_URI[sha256sum] = "92334a12bb93e0c056b09f53e255ccb7d6f67c6350e2813cd9593ceeca78560b"
+SRC_URI[sha256sum] = "15f6308db0ed4265ec929f2c61e2e13492e551750c203ee001d1fcd8104c9514"
 
 DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 RDEPENDS:${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_43.1.bb b/poky/meta/recipes-gnome/epiphany/epiphany_44.6.bb
similarity index 92%
rename from poky/meta/recipes-gnome/epiphany/epiphany_43.1.bb
rename to poky/meta/recipes-gnome/epiphany/epiphany_44.6.bb
index c97ede4..d8dd3d6 100644
--- a/poky/meta/recipes-gnome/epiphany/epiphany_43.1.bb
+++ b/poky/meta/recipes-gnome/epiphany/epiphany_44.6.bb
@@ -8,10 +8,11 @@
 
 DEPENDS = " \
           webkitgtk \
-          gcr3 \
+          gcr \
           gsettings-desktop-schemas \
           nettle \
           json-glib \
+          libadwaita \
           libarchive \
           libdazzle \
           libhandy \
@@ -31,7 +32,7 @@
            file://migrator.patch \
            file://distributor.patch \
            "
-SRC_URI[archive.sha256sum] = "e86ead27cb9982815150664de3bf20faf375f77b8065b02b31180c65b6bbebb4"
+SRC_URI[archive.sha256sum] = "5335dd573581db61e126d854dc16ae519657a5b8790789a47d25e43e17cd3a43"
 
 # Developer mode enables debugging
 PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.3.3.bb b/poky/meta/recipes-gnome/libadwaita/libadwaita_1.3.3.bb
similarity index 82%
rename from meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.3.3.bb
rename to poky/meta/recipes-gnome/libadwaita/libadwaita_1.3.3.bb
index c0eff35..8ec5258 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.3.3.bb
+++ b/poky/meta/recipes-gnome/libadwaita/libadwaita_1.3.3.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Building blocks for modern GNOME applications"
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/libadwaita"
 LICENSE="LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
@@ -8,7 +9,7 @@
     gtk4 \
 "
 
-inherit gnomebase gobject-introspection gtk-doc vala features_check
+inherit gnomebase gobject-introspection gi-docgen vala features_check
 
 SRC_URI[archive.sha256sum] = "3fb9f6f8f570e543ab2dafb8b4b94d8b376c59ad565efadfede44557e3f3a9e1"
 
diff --git a/poky/meta/recipes-gnome/librsvg/librsvg-crates.inc b/poky/meta/recipes-gnome/librsvg/librsvg-crates.inc
index 8d790c3..5886f3d 100644
--- a/poky/meta/recipes-gnome/librsvg/librsvg-crates.inc
+++ b/poky/meta/recipes-gnome/librsvg/librsvg-crates.inc
@@ -3,16 +3,16 @@
 # from Cargo.lock
 SRC_URI += " \
     crate://crates.io/adler/1.0.2 \
-    crate://crates.io/aho-corasick/1.0.1 \
+    crate://crates.io/aho-corasick/1.0.2 \
     crate://crates.io/android-tzdata/0.1.1 \
     crate://crates.io/android_system_properties/0.1.5 \
     crate://crates.io/anes/0.1.6 \
     crate://crates.io/anstream/0.3.2 \
-    crate://crates.io/anstyle/1.0.0 \
-    crate://crates.io/anstyle-parse/0.2.0 \
+    crate://crates.io/anstyle/1.0.1 \
+    crate://crates.io/anstyle-parse/0.2.1 \
     crate://crates.io/anstyle-query/1.0.0 \
     crate://crates.io/anstyle-wincon/1.0.1 \
-    crate://crates.io/anyhow/1.0.71 \
+    crate://crates.io/anyhow/1.0.72 \
     crate://crates.io/approx/0.5.1 \
     crate://crates.io/assert_cmd/2.0.11 \
     crate://crates.io/atty/0.2.14 \
@@ -21,26 +21,27 @@
     crate://crates.io/bit-set/0.5.3 \
     crate://crates.io/bit-vec/0.6.3 \
     crate://crates.io/bitflags/1.3.2 \
+    crate://crates.io/bitflags/2.3.3 \
     crate://crates.io/block/0.1.6 \
-    crate://crates.io/bstr/1.5.0 \
+    crate://crates.io/bstr/1.6.0 \
     crate://crates.io/bumpalo/3.13.0 \
     crate://crates.io/bytemuck/1.13.1 \
     crate://crates.io/byteorder/1.4.3 \
-    crate://crates.io/cairo-rs/0.17.0 \
-    crate://crates.io/cairo-sys-rs/0.17.0 \
+    crate://crates.io/cairo-rs/0.17.10 \
+    crate://crates.io/cairo-sys-rs/0.17.10 \
     crate://crates.io/cast/0.3.0 \
     crate://crates.io/cc/1.0.79 \
-    crate://crates.io/cfg-expr/0.15.1 \
+    crate://crates.io/cfg-expr/0.15.3 \
     crate://crates.io/cfg-if/1.0.0 \
-    crate://crates.io/chrono/0.4.25 \
+    crate://crates.io/chrono/0.4.26 \
     crate://crates.io/ciborium/0.2.1 \
     crate://crates.io/ciborium-io/0.2.1 \
     crate://crates.io/ciborium-ll/0.2.1 \
     crate://crates.io/clap/3.2.25 \
-    crate://crates.io/clap/4.3.0 \
-    crate://crates.io/clap_builder/4.3.0 \
-    crate://crates.io/clap_complete/4.3.0 \
-    crate://crates.io/clap_derive/4.3.0 \
+    crate://crates.io/clap/4.3.17 \
+    crate://crates.io/clap_builder/4.3.17 \
+    crate://crates.io/clap_complete/4.3.2 \
+    crate://crates.io/clap_derive/4.3.12 \
     crate://crates.io/clap_lex/0.2.4 \
     crate://crates.io/clap_lex/0.5.0 \
     crate://crates.io/colorchoice/1.0.0 \
@@ -53,18 +54,18 @@
     crate://crates.io/criterion-plot/0.5.0 \
     crate://crates.io/crossbeam-channel/0.5.8 \
     crate://crates.io/crossbeam-deque/0.8.3 \
-    crate://crates.io/crossbeam-epoch/0.9.14 \
-    crate://crates.io/crossbeam-utils/0.8.15 \
+    crate://crates.io/crossbeam-epoch/0.9.15 \
+    crate://crates.io/crossbeam-utils/0.8.16 \
     crate://crates.io/cssparser/0.29.6 \
-    crate://crates.io/cssparser-macros/0.6.0 \
+    crate://crates.io/cssparser-macros/0.6.1 \
     crate://crates.io/data-url/0.2.0 \
     crate://crates.io/derive_more/0.99.17 \
     crate://crates.io/difflib/0.4.0 \
     crate://crates.io/discard/1.0.4 \
-    crate://crates.io/dlib/0.5.0 \
+    crate://crates.io/dlib/0.5.2 \
     crate://crates.io/doc-comment/0.3.3 \
-    crate://crates.io/dtoa/0.4.8 \
-    crate://crates.io/dtoa-short/0.3.3 \
+    crate://crates.io/dtoa/1.0.9 \
+    crate://crates.io/dtoa-short/0.3.4 \
     crate://crates.io/either/1.8.1 \
     crate://crates.io/encoding/0.2.33 \
     crate://crates.io/encoding-index-japanese/1.20141219.5 \
@@ -74,14 +75,15 @@
     crate://crates.io/encoding-index-tradchinese/1.20141219.5 \
     crate://crates.io/encoding_index_tests/0.1.4 \
     crate://crates.io/encoding_rs/0.8.32 \
+    crate://crates.io/equivalent/1.0.1 \
     crate://crates.io/errno/0.3.1 \
     crate://crates.io/errno-dragonfly/0.1.2 \
-    crate://crates.io/fastrand/1.9.0 \
+    crate://crates.io/fastrand/2.0.0 \
     crate://crates.io/fdeflate/0.3.0 \
     crate://crates.io/flate2/1.0.26 \
     crate://crates.io/float-cmp/0.9.0 \
     crate://crates.io/fnv/1.0.7 \
-    crate://crates.io/form_urlencoded/1.1.0 \
+    crate://crates.io/form_urlencoded/1.2.0 \
     crate://crates.io/futf/0.1.5 \
     crate://crates.io/futures-channel/0.3.28 \
     crate://crates.io/futures-core/0.3.28 \
@@ -91,42 +93,41 @@
     crate://crates.io/futures-task/0.3.28 \
     crate://crates.io/futures-util/0.3.28 \
     crate://crates.io/fxhash/0.2.1 \
-    crate://crates.io/gdk-pixbuf/0.17.0 \
-    crate://crates.io/gdk-pixbuf-sys/0.17.0 \
+    crate://crates.io/gdk-pixbuf/0.17.10 \
+    crate://crates.io/gdk-pixbuf-sys/0.17.10 \
     crate://crates.io/getrandom/0.1.16 \
-    crate://crates.io/getrandom/0.2.9 \
-    crate://crates.io/gio/0.17.9 \
-    crate://crates.io/gio-sys/0.17.4 \
-    crate://crates.io/glib/0.17.9 \
-    crate://crates.io/glib-macros/0.17.9 \
-    crate://crates.io/glib-sys/0.17.4 \
-    crate://crates.io/gobject-sys/0.17.4 \
+    crate://crates.io/getrandom/0.2.10 \
+    crate://crates.io/gio/0.17.10 \
+    crate://crates.io/gio-sys/0.17.10 \
+    crate://crates.io/glib/0.17.10 \
+    crate://crates.io/glib-macros/0.17.10 \
+    crate://crates.io/glib-sys/0.17.10 \
+    crate://crates.io/gobject-sys/0.17.10 \
     crate://crates.io/half/1.8.2 \
     crate://crates.io/hashbrown/0.12.3 \
+    crate://crates.io/hashbrown/0.14.0 \
     crate://crates.io/heck/0.4.1 \
     crate://crates.io/hermit-abi/0.1.19 \
-    crate://crates.io/hermit-abi/0.2.6 \
-    crate://crates.io/hermit-abi/0.3.1 \
-    crate://crates.io/iana-time-zone/0.1.56 \
+    crate://crates.io/hermit-abi/0.3.2 \
+    crate://crates.io/iana-time-zone/0.1.57 \
     crate://crates.io/iana-time-zone-haiku/0.1.2 \
-    crate://crates.io/idna/0.3.0 \
+    crate://crates.io/idna/0.4.0 \
     crate://crates.io/indexmap/1.9.3 \
-    crate://crates.io/instant/0.1.12 \
-    crate://crates.io/io-lifetimes/1.0.11 \
-    crate://crates.io/is-terminal/0.4.7 \
+    crate://crates.io/indexmap/2.0.0 \
+    crate://crates.io/is-terminal/0.4.9 \
     crate://crates.io/itertools/0.10.5 \
-    crate://crates.io/itoa/1.0.6 \
-    crate://crates.io/js-sys/0.3.63 \
+    crate://crates.io/itoa/1.0.9 \
+    crate://crates.io/js-sys/0.3.64 \
     crate://crates.io/language-tags/0.3.2 \
     crate://crates.io/lazy_static/1.4.0 \
-    crate://crates.io/libc/0.2.144 \
-    crate://crates.io/libloading/0.7.4 \
+    crate://crates.io/libc/0.2.147 \
+    crate://crates.io/libloading/0.8.0 \
     crate://crates.io/libm/0.2.7 \
     crate://crates.io/linked-hash-map/0.5.6 \
-    crate://crates.io/linux-raw-sys/0.3.8 \
+    crate://crates.io/linux-raw-sys/0.4.3 \
     crate://crates.io/locale_config/0.3.0 \
-    crate://crates.io/lock_api/0.4.9 \
-    crate://crates.io/log/0.4.18 \
+    crate://crates.io/lock_api/0.4.10 \
+    crate://crates.io/log/0.4.19 \
     crate://crates.io/lopdf/0.29.0 \
     crate://crates.io/mac/0.1.1 \
     crate://crates.io/malloc_buf/0.0.6 \
@@ -134,10 +135,10 @@
     crate://crates.io/matches/0.1.10 \
     crate://crates.io/matrixmultiply/0.3.7 \
     crate://crates.io/memchr/2.5.0 \
-    crate://crates.io/memoffset/0.8.0 \
+    crate://crates.io/memoffset/0.9.0 \
     crate://crates.io/miniz_oxide/0.7.1 \
-    crate://crates.io/nalgebra/0.32.2 \
-    crate://crates.io/nalgebra-macros/0.2.0 \
+    crate://crates.io/nalgebra/0.32.3 \
+    crate://crates.io/nalgebra-macros/0.2.1 \
     crate://crates.io/new_debug_unreachable/1.0.4 \
     crate://crates.io/nodrop/0.1.14 \
     crate://crates.io/normalize-line-endings/0.3.0 \
@@ -145,21 +146,21 @@
     crate://crates.io/num-integer/0.1.45 \
     crate://crates.io/num-rational/0.4.1 \
     crate://crates.io/num-traits/0.2.15 \
-    crate://crates.io/num_cpus/1.15.0 \
+    crate://crates.io/num_cpus/1.16.0 \
     crate://crates.io/objc/0.2.7 \
     crate://crates.io/objc-foundation/0.1.1 \
     crate://crates.io/objc_id/0.1.1 \
-    crate://crates.io/once_cell/1.17.2 \
+    crate://crates.io/once_cell/1.18.0 \
     crate://crates.io/oorandom/11.1.3 \
-    crate://crates.io/os_str_bytes/6.5.0 \
-    crate://crates.io/pango/0.17.4 \
-    crate://crates.io/pango-sys/0.17.0 \
-    crate://crates.io/pangocairo/0.17.0 \
-    crate://crates.io/pangocairo-sys/0.17.3 \
+    crate://crates.io/os_str_bytes/6.5.1 \
+    crate://crates.io/pango/0.17.10 \
+    crate://crates.io/pango-sys/0.17.10 \
+    crate://crates.io/pangocairo/0.17.10 \
+    crate://crates.io/pangocairo-sys/0.17.10 \
     crate://crates.io/parking_lot/0.12.1 \
-    crate://crates.io/parking_lot_core/0.9.7 \
-    crate://crates.io/paste/1.0.12 \
-    crate://crates.io/percent-encoding/2.2.0 \
+    crate://crates.io/parking_lot_core/0.9.8 \
+    crate://crates.io/paste/1.0.14 \
+    crate://crates.io/percent-encoding/2.3.0 \
     crate://crates.io/phf/0.8.0 \
     crate://crates.io/phf/0.10.1 \
     crate://crates.io/phf_codegen/0.8.0 \
@@ -169,14 +170,14 @@
     crate://crates.io/phf_macros/0.10.0 \
     crate://crates.io/phf_shared/0.8.0 \
     crate://crates.io/phf_shared/0.10.0 \
-    crate://crates.io/pin-project-lite/0.2.9 \
+    crate://crates.io/pin-project-lite/0.2.10 \
     crate://crates.io/pin-utils/0.1.0 \
     crate://crates.io/pkg-config/0.3.27 \
-    crate://crates.io/plotters/0.3.4 \
-    crate://crates.io/plotters-backend/0.3.4 \
-    crate://crates.io/plotters-svg/0.3.3 \
-    crate://crates.io/png/0.17.8 \
-    crate://crates.io/pom/3.2.0 \
+    crate://crates.io/plotters/0.3.5 \
+    crate://crates.io/plotters-backend/0.3.5 \
+    crate://crates.io/plotters-svg/0.3.5 \
+    crate://crates.io/png/0.17.9 \
+    crate://crates.io/pom/3.3.0 \
     crate://crates.io/ppv-lite86/0.2.17 \
     crate://crates.io/precomputed-hash/0.1.1 \
     crate://crates.io/predicates/2.1.5 \
@@ -187,10 +188,10 @@
     crate://crates.io/proc-macro-error/1.0.4 \
     crate://crates.io/proc-macro-error-attr/1.0.4 \
     crate://crates.io/proc-macro-hack/0.5.20+deprecated \
-    crate://crates.io/proc-macro2/1.0.59 \
+    crate://crates.io/proc-macro2/1.0.66 \
     crate://crates.io/proptest/1.2.0 \
     crate://crates.io/quick-error/1.2.3 \
-    crate://crates.io/quote/1.0.28 \
+    crate://crates.io/quote/1.0.31 \
     crate://crates.io/rand/0.7.3 \
     crate://crates.io/rand/0.8.5 \
     crate://crates.io/rand_chacha/0.2.2 \
@@ -204,29 +205,28 @@
     crate://crates.io/rayon/1.7.0 \
     crate://crates.io/rayon-core/1.11.0 \
     crate://crates.io/rctree/0.5.0 \
-    crate://crates.io/redox_syscall/0.2.16 \
     crate://crates.io/redox_syscall/0.3.5 \
-    crate://crates.io/regex/1.8.3 \
-    crate://crates.io/regex-automata/0.1.10 \
+    crate://crates.io/regex/1.9.1 \
+    crate://crates.io/regex-automata/0.3.3 \
     crate://crates.io/regex-syntax/0.6.29 \
-    crate://crates.io/regex-syntax/0.7.2 \
+    crate://crates.io/regex-syntax/0.7.4 \
     crate://crates.io/rgb/0.8.36 \
     crate://crates.io/rustc_version/0.2.3 \
     crate://crates.io/rustc_version/0.4.0 \
-    crate://crates.io/rustix/0.37.19 \
+    crate://crates.io/rustix/0.38.4 \
     crate://crates.io/rusty-fork/0.3.0 \
-    crate://crates.io/ryu/1.0.13 \
-    crate://crates.io/safe_arch/0.6.0 \
+    crate://crates.io/ryu/1.0.15 \
+    crate://crates.io/safe_arch/0.7.1 \
     crate://crates.io/same-file/1.0.6 \
-    crate://crates.io/scopeguard/1.1.0 \
+    crate://crates.io/scopeguard/1.2.0 \
     crate://crates.io/selectors/0.24.0 \
     crate://crates.io/semver/0.9.0 \
-    crate://crates.io/semver/1.0.17 \
+    crate://crates.io/semver/1.0.18 \
     crate://crates.io/semver-parser/0.7.0 \
-    crate://crates.io/serde/1.0.163 \
-    crate://crates.io/serde_derive/1.0.163 \
-    crate://crates.io/serde_json/1.0.96 \
-    crate://crates.io/serde_spanned/0.6.2 \
+    crate://crates.io/serde/1.0.173 \
+    crate://crates.io/serde_derive/1.0.173 \
+    crate://crates.io/serde_json/1.0.103 \
+    crate://crates.io/serde_spanned/0.6.3 \
     crate://crates.io/servo_arc/0.2.0 \
     crate://crates.io/sha1/0.6.1 \
     crate://crates.io/sha1_smol/1.0.0 \
@@ -234,7 +234,7 @@
     crate://crates.io/simd-adler32/0.3.5 \
     crate://crates.io/siphasher/0.3.10 \
     crate://crates.io/slab/0.4.8 \
-    crate://crates.io/smallvec/1.10.0 \
+    crate://crates.io/smallvec/1.11.0 \
     crate://crates.io/stable_deref_trait/1.2.0 \
     crate://crates.io/standback/0.2.17 \
     crate://crates.io/stdweb/0.4.20 \
@@ -245,30 +245,30 @@
     crate://crates.io/string_cache_codegen/0.5.2 \
     crate://crates.io/strsim/0.10.0 \
     crate://crates.io/syn/1.0.109 \
-    crate://crates.io/syn/2.0.18 \
-    crate://crates.io/system-deps/6.1.0 \
-    crate://crates.io/target-lexicon/0.12.7 \
-    crate://crates.io/tempfile/3.5.0 \
+    crate://crates.io/syn/2.0.26 \
+    crate://crates.io/system-deps/6.1.1 \
+    crate://crates.io/target-lexicon/0.12.10 \
+    crate://crates.io/tempfile/3.7.0 \
     crate://crates.io/tendril/0.4.3 \
     crate://crates.io/termtree/0.4.1 \
     crate://crates.io/textwrap/0.16.0 \
-    crate://crates.io/thiserror/1.0.40 \
-    crate://crates.io/thiserror-impl/1.0.40 \
+    crate://crates.io/thiserror/1.0.43 \
+    crate://crates.io/thiserror-impl/1.0.43 \
     crate://crates.io/time/0.2.27 \
     crate://crates.io/time-macros/0.1.1 \
     crate://crates.io/time-macros-impl/0.1.2 \
     crate://crates.io/tinytemplate/1.2.1 \
     crate://crates.io/tinyvec/1.6.0 \
     crate://crates.io/tinyvec_macros/0.1.1 \
-    crate://crates.io/toml/0.7.4 \
-    crate://crates.io/toml_datetime/0.6.2 \
-    crate://crates.io/toml_edit/0.19.10 \
+    crate://crates.io/toml/0.7.6 \
+    crate://crates.io/toml_datetime/0.6.3 \
+    crate://crates.io/toml_edit/0.19.14 \
     crate://crates.io/typenum/1.16.0 \
     crate://crates.io/unarray/0.1.4 \
     crate://crates.io/unicode-bidi/0.3.13 \
-    crate://crates.io/unicode-ident/1.0.9 \
+    crate://crates.io/unicode-ident/1.0.11 \
     crate://crates.io/unicode-normalization/0.1.22 \
-    crate://crates.io/url/2.3.1 \
+    crate://crates.io/url/2.4.0 \
     crate://crates.io/utf-8/0.7.6 \
     crate://crates.io/utf8parse/0.2.1 \
     crate://crates.io/version-compare/0.1.1 \
@@ -277,53 +277,44 @@
     crate://crates.io/walkdir/2.3.3 \
     crate://crates.io/wasi/0.9.0+wasi-snapshot-preview1 \
     crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
-    crate://crates.io/wasm-bindgen/0.2.86 \
-    crate://crates.io/wasm-bindgen-backend/0.2.86 \
-    crate://crates.io/wasm-bindgen-macro/0.2.86 \
-    crate://crates.io/wasm-bindgen-macro-support/0.2.86 \
-    crate://crates.io/wasm-bindgen-shared/0.2.86 \
-    crate://crates.io/web-sys/0.3.63 \
+    crate://crates.io/wasm-bindgen/0.2.87 \
+    crate://crates.io/wasm-bindgen-backend/0.2.87 \
+    crate://crates.io/wasm-bindgen-macro/0.2.87 \
+    crate://crates.io/wasm-bindgen-macro-support/0.2.87 \
+    crate://crates.io/wasm-bindgen-shared/0.2.87 \
+    crate://crates.io/web-sys/0.3.64 \
     crate://crates.io/weezl/0.1.7 \
-    crate://crates.io/wide/0.7.9 \
+    crate://crates.io/wide/0.7.11 \
     crate://crates.io/winapi/0.3.9 \
     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/windows/0.48.0 \
-    crate://crates.io/windows-sys/0.45.0 \
     crate://crates.io/windows-sys/0.48.0 \
-    crate://crates.io/windows-targets/0.42.2 \
-    crate://crates.io/windows-targets/0.48.0 \
-    crate://crates.io/windows_aarch64_gnullvm/0.42.2 \
+    crate://crates.io/windows-targets/0.48.1 \
     crate://crates.io/windows_aarch64_gnullvm/0.48.0 \
-    crate://crates.io/windows_aarch64_msvc/0.42.2 \
     crate://crates.io/windows_aarch64_msvc/0.48.0 \
-    crate://crates.io/windows_i686_gnu/0.42.2 \
     crate://crates.io/windows_i686_gnu/0.48.0 \
-    crate://crates.io/windows_i686_msvc/0.42.2 \
     crate://crates.io/windows_i686_msvc/0.48.0 \
-    crate://crates.io/windows_x86_64_gnu/0.42.2 \
     crate://crates.io/windows_x86_64_gnu/0.48.0 \
-    crate://crates.io/windows_x86_64_gnullvm/0.42.2 \
     crate://crates.io/windows_x86_64_gnullvm/0.48.0 \
-    crate://crates.io/windows_x86_64_msvc/0.42.2 \
     crate://crates.io/windows_x86_64_msvc/0.48.0 \
-    crate://crates.io/winnow/0.4.6 \
+    crate://crates.io/winnow/0.5.0 \
     crate://crates.io/xml5ever/0.17.0 \
     crate://crates.io/yeslogic-fontconfig-sys/4.0.1 \
 "
 
 SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-SRC_URI[aho-corasick-1.0.1.sha256sum] = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
+SRC_URI[aho-corasick-1.0.2.sha256sum] = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
 SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
 SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
 SRC_URI[anes-0.1.6.sha256sum] = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
 SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
-SRC_URI[anstyle-1.0.0.sha256sum] = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
-SRC_URI[anstyle-parse-0.2.0.sha256sum] = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
+SRC_URI[anstyle-1.0.1.sha256sum] = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
+SRC_URI[anstyle-parse-0.2.1.sha256sum] = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
 SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
 SRC_URI[anstyle-wincon-1.0.1.sha256sum] = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
-SRC_URI[anyhow-1.0.71.sha256sum] = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+SRC_URI[anyhow-1.0.72.sha256sum] = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
 SRC_URI[approx-0.5.1.sha256sum] = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
 SRC_URI[assert_cmd-2.0.11.sha256sum] = "86d6b683edf8d1119fe420a94f8a7e389239666aa72e65495d91c00462510151"
 SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
@@ -332,26 +323,27 @@
 SRC_URI[bit-set-0.5.3.sha256sum] = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
 SRC_URI[bit-vec-0.6.3.sha256sum] = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
 SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+SRC_URI[bitflags-2.3.3.sha256sum] = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
 SRC_URI[block-0.1.6.sha256sum] = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
-SRC_URI[bstr-1.5.0.sha256sum] = "a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5"
+SRC_URI[bstr-1.6.0.sha256sum] = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
 SRC_URI[bumpalo-3.13.0.sha256sum] = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
 SRC_URI[bytemuck-1.13.1.sha256sum] = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea"
 SRC_URI[byteorder-1.4.3.sha256sum] = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-SRC_URI[cairo-rs-0.17.0.sha256sum] = "a8af54f5d48af1226928adc1f57edd22f5df1349e7da1fc96ae15cf43db0e871"
-SRC_URI[cairo-sys-rs-0.17.0.sha256sum] = "f55382a01d30e5e53f185eee269124f5e21ab526595b872751278dfbb463594e"
+SRC_URI[cairo-rs-0.17.10.sha256sum] = "ab3603c4028a5e368d09b51c8b624b9a46edcd7c3778284077a6125af73c9f0a"
+SRC_URI[cairo-sys-rs-0.17.10.sha256sum] = "691d0c66b1fb4881be80a760cb8fe76ea97218312f9dfe2c9cc0f496ca279cb1"
 SRC_URI[cast-0.3.0.sha256sum] = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
 SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
-SRC_URI[cfg-expr-0.15.1.sha256sum] = "c8790cf1286da485c72cf5fc7aeba308438800036ec67d89425924c4807268c9"
+SRC_URI[cfg-expr-0.15.3.sha256sum] = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c"
 SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-SRC_URI[chrono-0.4.25.sha256sum] = "fdbc37d37da9e5bce8173f3a41b71d9bf3c674deebbaceacd0ebdabde76efb03"
+SRC_URI[chrono-0.4.26.sha256sum] = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
 SRC_URI[ciborium-0.2.1.sha256sum] = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
 SRC_URI[ciborium-io-0.2.1.sha256sum] = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
 SRC_URI[ciborium-ll-0.2.1.sha256sum] = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
 SRC_URI[clap-3.2.25.sha256sum] = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
-SRC_URI[clap-4.3.0.sha256sum] = "93aae7a4192245f70fe75dd9157fc7b4a5bf53e88d30bd4396f7d8f9284d5acc"
-SRC_URI[clap_builder-4.3.0.sha256sum] = "4f423e341edefb78c9caba2d9c7f7687d0e72e89df3ce3394554754393ac3990"
-SRC_URI[clap_complete-4.3.0.sha256sum] = "a04ddfaacc3bc9e6ea67d024575fafc2a813027cf374b8f24f7bc233c6b6be12"
-SRC_URI[clap_derive-4.3.0.sha256sum] = "191d9573962933b4027f932c600cd252ce27a8ad5979418fe78e43c07996f27b"
+SRC_URI[clap-4.3.17.sha256sum] = "5b0827b011f6f8ab38590295339817b0d26f344aa4932c3ced71b45b0c54b4a9"
+SRC_URI[clap_builder-4.3.17.sha256sum] = "9441b403be87be858db6a23edb493e7f694761acdc3343d5a0fcaafd304cbc9e"
+SRC_URI[clap_complete-4.3.2.sha256sum] = "5fc443334c81a804575546c5a8a79b4913b50e28d69232903604cada1de817ce"
+SRC_URI[clap_derive-4.3.12.sha256sum] = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050"
 SRC_URI[clap_lex-0.2.4.sha256sum] = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
 SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
 SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
@@ -364,18 +356,18 @@
 SRC_URI[criterion-plot-0.5.0.sha256sum] = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
 SRC_URI[crossbeam-channel-0.5.8.sha256sum] = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
 SRC_URI[crossbeam-deque-0.8.3.sha256sum] = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
-SRC_URI[crossbeam-epoch-0.9.14.sha256sum] = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
-SRC_URI[crossbeam-utils-0.8.15.sha256sum] = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
+SRC_URI[crossbeam-epoch-0.9.15.sha256sum] = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+SRC_URI[crossbeam-utils-0.8.16.sha256sum] = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
 SRC_URI[cssparser-0.29.6.sha256sum] = "f93d03419cb5950ccfd3daf3ff1c7a36ace64609a1a8746d493df1ca0afde0fa"
-SRC_URI[cssparser-macros-0.6.0.sha256sum] = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e"
+SRC_URI[cssparser-macros-0.6.1.sha256sum] = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
 SRC_URI[data-url-0.2.0.sha256sum] = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5"
 SRC_URI[derive_more-0.99.17.sha256sum] = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
 SRC_URI[difflib-0.4.0.sha256sum] = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
 SRC_URI[discard-1.0.4.sha256sum] = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"
-SRC_URI[dlib-0.5.0.sha256sum] = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794"
+SRC_URI[dlib-0.5.2.sha256sum] = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
 SRC_URI[doc-comment-0.3.3.sha256sum] = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
-SRC_URI[dtoa-0.4.8.sha256sum] = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0"
-SRC_URI[dtoa-short-0.3.3.sha256sum] = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6"
+SRC_URI[dtoa-1.0.9.sha256sum] = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653"
+SRC_URI[dtoa-short-0.3.4.sha256sum] = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74"
 SRC_URI[either-1.8.1.sha256sum] = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
 SRC_URI[encoding-0.2.33.sha256sum] = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec"
 SRC_URI[encoding-index-japanese-1.20141219.5.sha256sum] = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91"
@@ -385,14 +377,15 @@
 SRC_URI[encoding-index-tradchinese-1.20141219.5.sha256sum] = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18"
 SRC_URI[encoding_index_tests-0.1.4.sha256sum] = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
 SRC_URI[encoding_rs-0.8.32.sha256sum] = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
+SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 SRC_URI[errno-0.3.1.sha256sum] = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
 SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-SRC_URI[fastrand-1.9.0.sha256sum] = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
+SRC_URI[fastrand-2.0.0.sha256sum] = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
 SRC_URI[fdeflate-0.3.0.sha256sum] = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
 SRC_URI[flate2-1.0.26.sha256sum] = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
 SRC_URI[float-cmp-0.9.0.sha256sum] = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
 SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-SRC_URI[form_urlencoded-1.1.0.sha256sum] = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+SRC_URI[form_urlencoded-1.2.0.sha256sum] = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
 SRC_URI[futf-0.1.5.sha256sum] = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
 SRC_URI[futures-channel-0.3.28.sha256sum] = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
 SRC_URI[futures-core-0.3.28.sha256sum] = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
@@ -402,42 +395,41 @@
 SRC_URI[futures-task-0.3.28.sha256sum] = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
 SRC_URI[futures-util-0.3.28.sha256sum] = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
 SRC_URI[fxhash-0.2.1.sha256sum] = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
-SRC_URI[gdk-pixbuf-0.17.0.sha256sum] = "b023fbe0c6b407bd3d9805d107d9800da3829dc5a676653210f1d5f16d7f59bf"
-SRC_URI[gdk-pixbuf-sys-0.17.0.sha256sum] = "7b41bd2b44ed49d99277d3925652a163038bd5ed943ec9809338ffb2f4391e3b"
+SRC_URI[gdk-pixbuf-0.17.10.sha256sum] = "695d6bc846438c5708b07007537b9274d883373dd30858ca881d7d71b5540717"
+SRC_URI[gdk-pixbuf-sys-0.17.10.sha256sum] = "9285ec3c113c66d7d0ab5676599176f1f42f4944ca1b581852215bf5694870cb"
 SRC_URI[getrandom-0.1.16.sha256sum] = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-SRC_URI[getrandom-0.2.9.sha256sum] = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
-SRC_URI[gio-0.17.9.sha256sum] = "d14522e56c6bcb6f7a3aebc25cbcfb06776af4c0c25232b601b4383252d7cb92"
-SRC_URI[gio-sys-0.17.4.sha256sum] = "6b1d43b0d7968b48455244ecafe41192871257f5740aa6b095eb19db78e362a5"
-SRC_URI[glib-0.17.9.sha256sum] = "a7f1de7cbde31ea4f0a919453a2dcece5d54d5b70e08f8ad254dc4840f5f09b6"
-SRC_URI[glib-macros-0.17.9.sha256sum] = "0a7206c5c03851ef126ea1444990e81fdd6765fb799d5bc694e4897ca01bb97f"
-SRC_URI[glib-sys-0.17.4.sha256sum] = "49f00ad0a1bf548e61adfff15d83430941d9e1bb620e334f779edd1c745680a5"
-SRC_URI[gobject-sys-0.17.4.sha256sum] = "15e75b0000a64632b2d8ca3cf856af9308e3a970844f6e9659bd197f026793d0"
+SRC_URI[getrandom-0.2.10.sha256sum] = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+SRC_URI[gio-0.17.10.sha256sum] = "a6973e92937cf98689b6a054a9e56c657ed4ff76de925e36fc331a15f0c5d30a"
+SRC_URI[gio-sys-0.17.10.sha256sum] = "0ccf87c30a12c469b6d958950f6a9c09f2be20b7773f7e70d20b867fdf2628c3"
+SRC_URI[glib-0.17.10.sha256sum] = "d3fad45ba8d4d2cea612b432717e834f48031cd8853c8aaf43b2c79fec8d144b"
+SRC_URI[glib-macros-0.17.10.sha256sum] = "eca5c79337338391f1ab8058d6698125034ce8ef31b72a442437fa6c8580de26"
+SRC_URI[glib-sys-0.17.10.sha256sum] = "d80aa6ea7bba0baac79222204aa786a6293078c210abe69ef1336911d4bdc4f0"
+SRC_URI[gobject-sys-0.17.10.sha256sum] = "cd34c3317740a6358ec04572c1bcfd3ac0b5b6529275fae255b237b314bb8062"
 SRC_URI[half-1.8.2.sha256sum] = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
 SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+SRC_URI[hashbrown-0.14.0.sha256sum] = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
 SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-SRC_URI[hermit-abi-0.2.6.sha256sum] = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-SRC_URI[hermit-abi-0.3.1.sha256sum] = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
-SRC_URI[iana-time-zone-0.1.56.sha256sum] = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
+SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+SRC_URI[iana-time-zone-0.1.57.sha256sum] = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
 SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
-SRC_URI[idna-0.3.0.sha256sum] = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+SRC_URI[idna-0.4.0.sha256sum] = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
 SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-SRC_URI[is-terminal-0.4.7.sha256sum] = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
+SRC_URI[indexmap-2.0.0.sha256sum] = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 SRC_URI[itertools-0.10.5.sha256sum] = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
-SRC_URI[itoa-1.0.6.sha256sum] = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
-SRC_URI[js-sys-0.3.63.sha256sum] = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790"
+SRC_URI[itoa-1.0.9.sha256sum] = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+SRC_URI[js-sys-0.3.64.sha256sum] = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
 SRC_URI[language-tags-0.3.2.sha256sum] = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
 SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-SRC_URI[libc-0.2.144.sha256sum] = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
-SRC_URI[libloading-0.7.4.sha256sum] = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+SRC_URI[libloading-0.8.0.sha256sum] = "d580318f95776505201b28cf98eb1fa5e4be3b689633ba6a3e6cd880ff22d8cb"
 SRC_URI[libm-0.2.7.sha256sum] = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
 SRC_URI[linked-hash-map-0.5.6.sha256sum] = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
-SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+SRC_URI[linux-raw-sys-0.4.3.sha256sum] = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
 SRC_URI[locale_config-0.3.0.sha256sum] = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934"
-SRC_URI[lock_api-0.4.9.sha256sum] = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
-SRC_URI[log-0.4.18.sha256sum] = "518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de"
+SRC_URI[lock_api-0.4.10.sha256sum] = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+SRC_URI[log-0.4.19.sha256sum] = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
 SRC_URI[lopdf-0.29.0.sha256sum] = "de0f69c40d6dbc68ebac4bf5aec3d9978e094e22e29fcabd045acd9cec74a9dc"
 SRC_URI[mac-0.1.1.sha256sum] = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
 SRC_URI[malloc_buf-0.0.6.sha256sum] = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
@@ -445,10 +437,10 @@
 SRC_URI[matches-0.1.10.sha256sum] = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
 SRC_URI[matrixmultiply-0.3.7.sha256sum] = "090126dc04f95dc0d1c1c91f61bdd474b3930ca064c1edc8a849da2c6cbe1e77"
 SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-SRC_URI[memoffset-0.8.0.sha256sum] = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
+SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
 SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
-SRC_URI[nalgebra-0.32.2.sha256sum] = "d68d47bba83f9e2006d117a9a33af1524e655516b8919caac694427a6fb1e511"
-SRC_URI[nalgebra-macros-0.2.0.sha256sum] = "d232c68884c0c99810a5a4d333ef7e47689cfd0edc85efc9e54e1e6bf5212766"
+SRC_URI[nalgebra-0.32.3.sha256sum] = "307ed9b18cc2423f29e83f84fd23a8e73628727990181f18641a8b5dc2ab1caa"
+SRC_URI[nalgebra-macros-0.2.1.sha256sum] = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998"
 SRC_URI[new_debug_unreachable-1.0.4.sha256sum] = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
 SRC_URI[nodrop-0.1.14.sha256sum] = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
 SRC_URI[normalize-line-endings-0.3.0.sha256sum] = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
@@ -456,21 +448,21 @@
 SRC_URI[num-integer-0.1.45.sha256sum] = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
 SRC_URI[num-rational-0.4.1.sha256sum] = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
 SRC_URI[num-traits-0.2.15.sha256sum] = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
-SRC_URI[num_cpus-1.15.0.sha256sum] = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+SRC_URI[num_cpus-1.16.0.sha256sum] = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 SRC_URI[objc-0.2.7.sha256sum] = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
 SRC_URI[objc-foundation-0.1.1.sha256sum] = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
 SRC_URI[objc_id-0.1.1.sha256sum] = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
-SRC_URI[once_cell-1.17.2.sha256sum] = "9670a07f94779e00908f3e686eab508878ebb390ba6e604d3a284c00e8d0487b"
+SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 SRC_URI[oorandom-11.1.3.sha256sum] = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
-SRC_URI[os_str_bytes-6.5.0.sha256sum] = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267"
-SRC_URI[pango-0.17.4.sha256sum] = "52c280b82a881e4208afb3359a8e7fde27a1b272280981f1f34610bed5770d37"
-SRC_URI[pango-sys-0.17.0.sha256sum] = "4293d0f0b5525eb5c24734d30b0ed02cd02aa734f216883f376b54de49625de8"
-SRC_URI[pangocairo-0.17.0.sha256sum] = "2feeb7ea7874507f83f5e7ba869c54e321959431c8fbd70d4b735c8b15d90506"
-SRC_URI[pangocairo-sys-0.17.3.sha256sum] = "f60f1be8ef08087ddcbdcc1350e06073bff11113d425d12b622b716d96b9611c"
+SRC_URI[os_str_bytes-6.5.1.sha256sum] = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac"
+SRC_URI[pango-0.17.10.sha256sum] = "35be456fc620e61f62dff7ff70fbd54dcbaf0a4b920c0f16de1107c47d921d48"
+SRC_URI[pango-sys-0.17.10.sha256sum] = "3da69f9f3850b0d8990d462f8c709561975e95f689c1cdf0fecdebde78b35195"
+SRC_URI[pangocairo-0.17.10.sha256sum] = "86bf29cb1c2e73817944f66011fb12135e1c6d268e8e4c5cfc689101c25822cf"
+SRC_URI[pangocairo-sys-0.17.10.sha256sum] = "94dfd38d9bf8ff5f881be2107ba49fcb22090d247aa00133f8dadf96b122b97a"
 SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-SRC_URI[parking_lot_core-0.9.7.sha256sum] = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
-SRC_URI[paste-1.0.12.sha256sum] = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
-SRC_URI[percent-encoding-2.2.0.sha256sum] = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+SRC_URI[parking_lot_core-0.9.8.sha256sum] = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+SRC_URI[paste-1.0.14.sha256sum] = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+SRC_URI[percent-encoding-2.3.0.sha256sum] = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
 SRC_URI[phf-0.8.0.sha256sum] = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
 SRC_URI[phf-0.10.1.sha256sum] = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
 SRC_URI[phf_codegen-0.8.0.sha256sum] = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
@@ -480,14 +472,14 @@
 SRC_URI[phf_macros-0.10.0.sha256sum] = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0"
 SRC_URI[phf_shared-0.8.0.sha256sum] = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
 SRC_URI[phf_shared-0.10.0.sha256sum] = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
-SRC_URI[pin-project-lite-0.2.9.sha256sum] = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+SRC_URI[pin-project-lite-0.2.10.sha256sum] = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
 SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 SRC_URI[pkg-config-0.3.27.sha256sum] = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
-SRC_URI[plotters-0.3.4.sha256sum] = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97"
-SRC_URI[plotters-backend-0.3.4.sha256sum] = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142"
-SRC_URI[plotters-svg-0.3.3.sha256sum] = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f"
-SRC_URI[png-0.17.8.sha256sum] = "aaeebc51f9e7d2c150d3f3bfeb667f2aa985db5ef1e3d212847bdedb488beeaa"
-SRC_URI[pom-3.2.0.sha256sum] = "07e2192780e9f8e282049ff9bffcaa28171e1cb0844f49ed5374e518ae6024ec"
+SRC_URI[plotters-0.3.5.sha256sum] = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45"
+SRC_URI[plotters-backend-0.3.5.sha256sum] = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609"
+SRC_URI[plotters-svg-0.3.5.sha256sum] = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab"
+SRC_URI[png-0.17.9.sha256sum] = "59871cc5b6cce7eaccca5a802b4173377a1c2ba90654246789a8fa2334426d11"
+SRC_URI[pom-3.3.0.sha256sum] = "5c2d73a5fe10d458e77534589512104e5aa8ac480aa9ac30b74563274235cce4"
 SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 SRC_URI[precomputed-hash-0.1.1.sha256sum] = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
 SRC_URI[predicates-2.1.5.sha256sum] = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd"
@@ -498,10 +490,10 @@
 SRC_URI[proc-macro-error-1.0.4.sha256sum] = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
 SRC_URI[proc-macro-error-attr-1.0.4.sha256sum] = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
 SRC_URI[proc-macro-hack-0.5.20+deprecated.sha256sum] = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
-SRC_URI[proc-macro2-1.0.59.sha256sum] = "6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b"
+SRC_URI[proc-macro2-1.0.66.sha256sum] = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
 SRC_URI[proptest-1.2.0.sha256sum] = "4e35c06b98bf36aba164cc17cb25f7e232f5c4aeea73baa14b8a9f0d92dbfa65"
 SRC_URI[quick-error-1.2.3.sha256sum] = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
-SRC_URI[quote-1.0.28.sha256sum] = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
+SRC_URI[quote-1.0.31.sha256sum] = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
 SRC_URI[rand-0.7.3.sha256sum] = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
 SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 SRC_URI[rand_chacha-0.2.2.sha256sum] = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
@@ -515,29 +507,28 @@
 SRC_URI[rayon-1.7.0.sha256sum] = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
 SRC_URI[rayon-core-1.11.0.sha256sum] = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
 SRC_URI[rctree-0.5.0.sha256sum] = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f"
-SRC_URI[redox_syscall-0.2.16.sha256sum] = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
 SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-SRC_URI[regex-1.8.3.sha256sum] = "81ca098a9821bd52d6b24fd8b10bd081f47d39c22778cafaa75a2857a62c6390"
-SRC_URI[regex-automata-0.1.10.sha256sum] = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+SRC_URI[regex-1.9.1.sha256sum] = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+SRC_URI[regex-automata-0.3.3.sha256sum] = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
 SRC_URI[regex-syntax-0.6.29.sha256sum] = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
-SRC_URI[regex-syntax-0.7.2.sha256sum] = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+SRC_URI[regex-syntax-0.7.4.sha256sum] = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
 SRC_URI[rgb-0.8.36.sha256sum] = "20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59"
 SRC_URI[rustc_version-0.2.3.sha256sum] = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
 SRC_URI[rustc_version-0.4.0.sha256sum] = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
-SRC_URI[rustix-0.37.19.sha256sum] = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d"
+SRC_URI[rustix-0.38.4.sha256sum] = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
 SRC_URI[rusty-fork-0.3.0.sha256sum] = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f"
-SRC_URI[ryu-1.0.13.sha256sum] = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
-SRC_URI[safe_arch-0.6.0.sha256sum] = "794821e4ccb0d9f979512f9c1973480123f9bd62a90d74ab0f9426fcf8f4a529"
+SRC_URI[ryu-1.0.15.sha256sum] = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+SRC_URI[safe_arch-0.7.1.sha256sum] = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354"
 SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-SRC_URI[scopeguard-1.1.0.sha256sum] = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 SRC_URI[selectors-0.24.0.sha256sum] = "0c37578180969d00692904465fb7f6b3d50b9a2b952b87c23d0e2e5cb5013416"
 SRC_URI[semver-0.9.0.sha256sum] = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-SRC_URI[semver-1.0.17.sha256sum] = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+SRC_URI[semver-1.0.18.sha256sum] = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
 SRC_URI[semver-parser-0.7.0.sha256sum] = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-SRC_URI[serde-1.0.163.sha256sum] = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
-SRC_URI[serde_derive-1.0.163.sha256sum] = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
-SRC_URI[serde_json-1.0.96.sha256sum] = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
-SRC_URI[serde_spanned-0.6.2.sha256sum] = "93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d"
+SRC_URI[serde-1.0.173.sha256sum] = "e91f70896d6720bc714a4a57d22fc91f1db634680e65c8efe13323f1fa38d53f"
+SRC_URI[serde_derive-1.0.173.sha256sum] = "a6250dde8342e0232232be9ca3db7aa40aceb5a3e5dd9bddbc00d99a007cde49"
+SRC_URI[serde_json-1.0.103.sha256sum] = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
+SRC_URI[serde_spanned-0.6.3.sha256sum] = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
 SRC_URI[servo_arc-0.2.0.sha256sum] = "d52aa42f8fdf0fed91e5ce7f23d8138441002fa31dca008acf47e6fd4721f741"
 SRC_URI[sha1-0.6.1.sha256sum] = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770"
 SRC_URI[sha1_smol-1.0.0.sha256sum] = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
@@ -545,7 +536,7 @@
 SRC_URI[simd-adler32-0.3.5.sha256sum] = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f"
 SRC_URI[siphasher-0.3.10.sha256sum] = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
 SRC_URI[slab-0.4.8.sha256sum] = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
-SRC_URI[smallvec-1.10.0.sha256sum] = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+SRC_URI[smallvec-1.11.0.sha256sum] = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
 SRC_URI[stable_deref_trait-1.2.0.sha256sum] = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
 SRC_URI[standback-0.2.17.sha256sum] = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff"
 SRC_URI[stdweb-0.4.20.sha256sum] = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5"
@@ -556,30 +547,30 @@
 SRC_URI[string_cache_codegen-0.5.2.sha256sum] = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
 SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-SRC_URI[syn-2.0.18.sha256sum] = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e"
-SRC_URI[system-deps-6.1.0.sha256sum] = "e5fa6fb9ee296c0dc2df41a656ca7948546d061958115ddb0bcaae43ad0d17d2"
-SRC_URI[target-lexicon-0.12.7.sha256sum] = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5"
-SRC_URI[tempfile-3.5.0.sha256sum] = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
+SRC_URI[syn-2.0.26.sha256sum] = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
+SRC_URI[system-deps-6.1.1.sha256sum] = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3"
+SRC_URI[target-lexicon-0.12.10.sha256sum] = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e"
+SRC_URI[tempfile-3.7.0.sha256sum] = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
 SRC_URI[tendril-0.4.3.sha256sum] = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
 SRC_URI[termtree-0.4.1.sha256sum] = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
 SRC_URI[textwrap-0.16.0.sha256sum] = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
-SRC_URI[thiserror-1.0.40.sha256sum] = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
-SRC_URI[thiserror-impl-1.0.40.sha256sum] = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+SRC_URI[thiserror-1.0.43.sha256sum] = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42"
+SRC_URI[thiserror-impl-1.0.43.sha256sum] = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
 SRC_URI[time-0.2.27.sha256sum] = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242"
 SRC_URI[time-macros-0.1.1.sha256sum] = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1"
 SRC_URI[time-macros-impl-0.1.2.sha256sum] = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f"
 SRC_URI[tinytemplate-1.2.1.sha256sum] = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
 SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
 SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-SRC_URI[toml-0.7.4.sha256sum] = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec"
-SRC_URI[toml_datetime-0.6.2.sha256sum] = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f"
-SRC_URI[toml_edit-0.19.10.sha256sum] = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739"
+SRC_URI[toml-0.7.6.sha256sum] = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
+SRC_URI[toml_datetime-0.6.3.sha256sum] = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+SRC_URI[toml_edit-0.19.14.sha256sum] = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
 SRC_URI[typenum-1.16.0.sha256sum] = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
 SRC_URI[unarray-0.1.4.sha256sum] = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
 SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
-SRC_URI[unicode-ident-1.0.9.sha256sum] = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
+SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
 SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
-SRC_URI[url-2.3.1.sha256sum] = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+SRC_URI[url-2.4.0.sha256sum] = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
 SRC_URI[utf-8-0.7.6.sha256sum] = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
 SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 SRC_URI[version-compare-0.1.1.sha256sum] = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
@@ -588,37 +579,28 @@
 SRC_URI[walkdir-2.3.3.sha256sum] = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
 SRC_URI[wasi-0.9.0+wasi-snapshot-preview1.sha256sum] = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
 SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-SRC_URI[wasm-bindgen-0.2.86.sha256sum] = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73"
-SRC_URI[wasm-bindgen-backend-0.2.86.sha256sum] = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb"
-SRC_URI[wasm-bindgen-macro-0.2.86.sha256sum] = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258"
-SRC_URI[wasm-bindgen-macro-support-0.2.86.sha256sum] = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8"
-SRC_URI[wasm-bindgen-shared-0.2.86.sha256sum] = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93"
-SRC_URI[web-sys-0.3.63.sha256sum] = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2"
+SRC_URI[wasm-bindgen-0.2.87.sha256sum] = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+SRC_URI[wasm-bindgen-backend-0.2.87.sha256sum] = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+SRC_URI[wasm-bindgen-macro-0.2.87.sha256sum] = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+SRC_URI[wasm-bindgen-macro-support-0.2.87.sha256sum] = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+SRC_URI[wasm-bindgen-shared-0.2.87.sha256sum] = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+SRC_URI[web-sys-0.3.64.sha256sum] = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
 SRC_URI[weezl-0.1.7.sha256sum] = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
-SRC_URI[wide-0.7.9.sha256sum] = "5cd0496a71f3cc6bc4bf0ed91346426a5099e93d89807e663162dc5a1069ff65"
+SRC_URI[wide-0.7.11.sha256sum] = "aa469ffa65ef7e0ba0f164183697b89b854253fd31aeb92358b7b6155177d62f"
 SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
 SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
 SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 SRC_URI[windows-0.48.0.sha256sum] = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
-SRC_URI[windows-sys-0.45.0.sha256sum] = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
 SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-SRC_URI[windows-targets-0.42.2.sha256sum] = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-SRC_URI[windows-targets-0.48.0.sha256sum] = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
-SRC_URI[windows_aarch64_gnullvm-0.42.2.sha256sum] = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
 SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
-SRC_URI[windows_aarch64_msvc-0.42.2.sha256sum] = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
 SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
-SRC_URI[windows_i686_gnu-0.42.2.sha256sum] = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
 SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-SRC_URI[windows_i686_msvc-0.42.2.sha256sum] = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
 SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
-SRC_URI[windows_x86_64_gnu-0.42.2.sha256sum] = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
 SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
-SRC_URI[windows_x86_64_gnullvm-0.42.2.sha256sum] = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
 SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
-SRC_URI[windows_x86_64_msvc-0.42.2.sha256sum] = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
 SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
-SRC_URI[winnow-0.4.6.sha256sum] = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699"
+SRC_URI[winnow-0.5.0.sha256sum] = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7"
 SRC_URI[xml5ever-0.17.0.sha256sum] = "4034e1d05af98b51ad7214527730626f019682d797ba38b51689212118d8e650"
 SRC_URI[yeslogic-fontconfig-sys-4.0.1.sha256sum] = "ec657fd32bbcbeaef5c7bc8e10b3db95b143fab8db0a50079773dbf936fd4f73"
diff --git a/poky/meta/recipes-gnome/librsvg/librsvg_2.56.1.bb b/poky/meta/recipes-gnome/librsvg/librsvg_2.56.3.bb
similarity index 91%
rename from poky/meta/recipes-gnome/librsvg/librsvg_2.56.1.bb
rename to poky/meta/recipes-gnome/librsvg/librsvg_2.56.3.bb
index edd7ad3..4b9aaee 100644
--- a/poky/meta/recipes-gnome/librsvg/librsvg_2.56.1.bb
+++ b/poky/meta/recipes-gnome/librsvg/librsvg_2.56.3.bb
@@ -14,14 +14,16 @@
 DEPENDS = "cairo gdk-pixbuf glib-2.0 libxml2 pango python3-docutils-native"
 BBCLASSEXTEND = "native nativesdk"
 
-inherit cargo_common gnomebase pixbufcache upstream-version-is-even gobject-introspection rust vala gi-docgen cargo-update-recipe-crates
+inherit cargo_common gnomebase pixbufcache gobject-introspection rust vala gi-docgen cargo-update-recipe-crates
 
 require ${BPN}-crates.inc
 
 SRC_URI += "file://0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch \
            "
 
-SRC_URI[archive.sha256sum] = "1685aeacae9a441dcb12c0c3ec63706172a2f52705dafbefb8e7311d4d5e430b"
+SRC_URI[archive.sha256sum] = "5a328048a02d014645cd27f61140f4e0b11280fb2c7f2a21864fe0c59ac1ce88"
+
+UPSTREAM_CHECK_REGEX = "librsvg-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
 
 # 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 
diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
index ca76251..b385ff7 100644
--- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
+++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
@@ -10,8 +10,9 @@
 
 LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb"
 
-SRCREV = "cf4ec7f35521eb54d72ce0c92ce65b2249171cbd"
+SRCREV = "53ea71efe63470cf698726d983e9da5748a754a1"
 SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https"
+
 UPSTREAM_CHECK_COMMITS = "1"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index 9288990..79a1d97 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -106,6 +106,7 @@
 VULKAN_DRIVERS:append:i686 = ",intel"
 VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
 VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
+VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}"
 PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers"
 
 # mesa development and testing tools support, per driver
@@ -163,7 +164,7 @@
 
 # radeonsi requires LLVM
 GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}"
-GALLIUMDRIVERS_LLVM = "r300,nouveau${GALLIUMDRIVERS_RADEONSI}"
+GALLIUMDRIVERS_LLVM = ",r300,nouveau${GALLIUMDRIVERS_RADEONSI}"
 GALLIUMDRIVERS_LLVM:append:x86 = ",svga"
 GALLIUMDRIVERS_LLVM:append:x86-64 = ",svga"
 # i686 is a 32 bit override for mesa-native
@@ -172,7 +173,7 @@
 PACKAGECONFIG[r600] = ""
 PACKAGECONFIG[virgl] = ""
 
-GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${GALLIUMDRIVERS_LLVM}', '', d)}"
 GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}"
 GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
 
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.26.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.26.bb
index bc83afb..11a3c4f 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.26.bb
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.26.bb
@@ -1,7 +1,6 @@
 
 SUMMARY = "Kexec fast reboot tools"
 DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel"
-AUTHOR = "Eric Biederman"
 HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/"
 SECTION = "kernel/userland"
 LICENSE = "GPL-2.0-only"
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20230625.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20230625.bb
index 329a3e3..6765226 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20230625.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20230625.bb
@@ -241,6 +241,7 @@
              ${PN}-rtl-license ${PN}-rtl8188 ${PN}-rtl8192cu ${PN}-rtl8192ce ${PN}-rtl8192su ${PN}-rtl8723 ${PN}-rtl8821 \
              ${PN}-rtl8761 \
              ${PN}-rtl8168 \
+             ${PN}-rtl8822 \
              ${PN}-cypress-license \
              ${PN}-broadcom-license \
              ${PN}-bcm-0bb4-0306 \
@@ -315,14 +316,15 @@
              ${PN}-qcom-vpu-1.0 ${PN}-qcom-vpu-2.0 \
              ${PN}-qcom-adreno-a2xx ${PN}-qcom-adreno-a3xx ${PN}-qcom-adreno-a4xx ${PN}-qcom-adreno-a530 \
              ${PN}-qcom-adreno-a630 ${PN}-qcom-adreno-a650 ${PN}-qcom-adreno-a660 \
-             ${PN}-qcom-apq8096-audio ${PN}-qcom-apq8096-modem \
+             ${PN}-qcom-apq8016-modem ${PN}-qcom-apq8016-wifi \
+             ${PN}-qcom-apq8096-adreno ${PN}-qcom-apq8096-audio ${PN}-qcom-apq8096-modem \
              ${PN}-qcom-sc8280xp-lenovo-x13s-compat \
              ${PN}-qcom-sc8280xp-lenovo-x13s-audio \
              ${PN}-qcom-sc8280xp-lenovo-x13s-adreno \
              ${PN}-qcom-sc8280xp-lenovo-x13s-compute \
              ${PN}-qcom-sc8280xp-lenovo-x13s-sensors \
-             ${PN}-qcom-sdm845-audio ${PN}-qcom-sdm845-compute ${PN}-qcom-sdm845-modem \
-             ${PN}-qcom-sm8250-audio ${PN}-qcom-sm8250-compute \
+             ${PN}-qcom-sdm845-adreno ${PN}-qcom-sdm845-audio ${PN}-qcom-sdm845-compute ${PN}-qcom-sdm845-modem \
+             ${PN}-qcom-sm8250-adreno ${PN}-qcom-sm8250-audio ${PN}-qcom-sm8250-compute \
              ${PN}-amlogic-vdec-license ${PN}-amlogic-vdec \
              ${PN}-lt9611uxc ${PN}-lontium-license \
              ${PN}-whence-license \
@@ -417,7 +419,7 @@
 
 FILES:${PN}-mt7601u-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink_a_mediatek_company_firmware"
 FILES:${PN}-mt7601u = " \
-  ${nonarch_base_libdir}/firmware/mt7601u.bin \
+  ${nonarch_base_libdir}/firmware/mediatek/mt7601u.bin \
 "
 
 RDEPENDS:${PN}-mt7601u += "${PN}-mt7601u-license"
@@ -581,6 +583,7 @@
 LICENSE:${PN}-rtl8723 = "Firmware-rtlwifi_firmware"
 LICENSE:${PN}-rtl8761 = "Firmware-rtlwifi_firmware"
 LICENSE:${PN}-rtl8821 = "Firmware-rtlwifi_firmware"
+LICENSE:${PN}-rtl8822 = "Firmware-rtlwifi_firmware"
 LICENSE:${PN}-rtl-license = "Firmware-rtlwifi_firmware"
 LICENSE:${PN}-rtl8168 = "WHENCE"
 
@@ -611,6 +614,11 @@
 FILES:${PN}-rtl8168 = " \
   ${nonarch_base_libdir}/firmware/rtl_nic/rtl8168*.fw \
 "
+FILES:${PN}-rtl8822 = " \
+  ${nonarch_base_libdir}/firmware/rtl_bt/rtl8822*.bin \
+  ${nonarch_base_libdir}/firmware/rtw88/rtw8822*.bin \
+  ${nonarch_base_libdir}/firmware/rtlwifi/rtl8822*.bin \
+"
 
 RDEPENDS:${PN}-rtl8188 += "${PN}-rtl-license"
 RDEPENDS:${PN}-rtl8192ce += "${PN}-rtl-license"
@@ -619,6 +627,7 @@
 RDEPENDS:${PN}-rtl8723 += "${PN}-rtl-license"
 RDEPENDS:${PN}-rtl8821 += "${PN}-rtl-license"
 RDEPENDS:${PN}-rtl8761 += "${PN}-rtl-license"
+RDEPENDS:${PN}-rtl8822 += "${PN}-rtl-license"
 RDEPENDS:${PN}-rtl8168 += "${PN}-whence-license"
 
 # For ti-connectivity
@@ -1000,16 +1009,21 @@
 LICENSE:${PN}-qcom-adreno-a630 = "Firmware-qcom"
 LICENSE:${PN}-qcom-adreno-a650 = "Firmware-qcom"
 LICENSE:${PN}-qcom-adreno-a660 = "Firmware-qcom"
+LICENSE:${PN}-qcom-apq8016-modem = "Firmware-qcom"
+LICENSE:${PN}-qcom-apq8016-wifi = "Firmware-qcom"
 LICENSE:${PN}-qcom-apq8096-audio = "Firmware-qcom"
+LICENSE:${PN}-qcom-apq8096-adreno = "Firmware-qcom"
 LICENSE:${PN}-qcom-apq8096-modem = "Firmware-qcom"
 LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "Firmware-qcom"
 LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "Firmware-qcom"
 LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "Firmware-qcom"
 LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "Firmware-qcom"
 LICENSE:${PN}-qcom-sdm845-audio = "Firmware-qcom"
+LICENSE:${PN}-qcom-sdm845-adreno = "Firmware-qcom"
 LICENSE:${PN}-qcom-sdm845-compute = "Firmware-qcom"
 LICENSE:${PN}-qcom-sdm845-modem = "Firmware-qcom"
 LICENSE:${PN}-qcom-sm8250-audio = "Firmware-qcom"
+LICENSE:${PN}-qcom-sm8250-adreno = "Firmware-qcom"
 LICENSE:${PN}-qcom-sm8250-compute = "Firmware-qcom"
 
 FILES:${PN}-qcom-license   = "${nonarch_base_libdir}/firmware/LICENSE.qcom ${nonarch_base_libdir}/firmware/qcom/NOTICE.txt"
@@ -1023,10 +1037,13 @@
 FILES:${PN}-qcom-adreno-a2xx = "${nonarch_base_libdir}/firmware/qcom/leia_*.fw ${nonarch_base_libdir}/firmware/qcom/yamato_*.fw"
 FILES:${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a3*_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw"
 FILES:${PN}-qcom-adreno-a4xx = "${nonarch_base_libdir}/firmware/qcom/a4*_*.fw"
-FILES:${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.* ${nonarch_base_libdir}/firmware/qcom/apq8096/a530*.*"
-FILES:${PN}-qcom-adreno-a630 = "${nonarch_base_libdir}/firmware/qcom/a630*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/a630*.*"
-FILES:${PN}-qcom-adreno-a650 = "${nonarch_base_libdir}/firmware/qcom/a650*.* ${nonarch_base_libdir}/firmware/qcom/sm8250/a650*.*"
+FILES:${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.fw*"
+FILES:${PN}-qcom-adreno-a630 = "${nonarch_base_libdir}/firmware/qcom/a630*.*"
+FILES:${PN}-qcom-adreno-a650 = "${nonarch_base_libdir}/firmware/qcom/a650*.*"
 FILES:${PN}-qcom-adreno-a660 = "${nonarch_base_libdir}/firmware/qcom/a660*.*"
+FILES:${PN}-qcom-apq8016-modem = "${nonarch_base_libdir}/firmware/qcom/apq8016/mba.mbn ${nonarch_base_libdir}/firmware/qcom/apq8016/modem.mbn"
+FILES:${PN}-qcom-apq8016-wifi = "${nonarch_base_libdir}/firmware/qcom/apq8016/wcnss.mbn ${nonarch_base_libdir}/firmware/qcom/apq8016/WCNSS*"
+FILES:${PN}-qcom-apq8096-adreno = "${nonarch_base_libdir}/firmware/qcom/apq8096/a530_zap.mbn ${nonarch_base_libdir}/firmware/qcom/a530_zap.mdt"
 FILES:${PN}-qcom-apq8096-audio = "${nonarch_base_libdir}/firmware/qcom/apq8096/adsp*.*"
 FILES:${PN}-qcom-apq8096-modem = "${nonarch_base_libdir}/firmware/qcom/apq8096/mba.mbn ${nonarch_base_libdir}/firmware/qcom/apq8096/modem*.* ${nonarch_base_libdir}/firmware/qcom/apq8096/wlanmdsp.mbn"
 FILES:${PN}-qcom-sc8280xp-lenovo-x13s-compat = "${nonarch_base_libdir}/firmware/qcom/LENOVO/21BX"
@@ -1034,9 +1051,11 @@
 FILES:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn"
 FILES:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*cdsp*.*"
 FILES:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*slpi*.*"
+FILES:${PN}-qcom-sdm845-adreno = "${nonarch_base_libdir}/firmware/qcom/sdm845/a630*.*"
 FILES:${PN}-qcom-sdm845-audio = "${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*"
 FILES:${PN}-qcom-sdm845-compute = "${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*"
 FILES:${PN}-qcom-sdm845-modem = "${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn"
+FILES:${PN}-qcom-sm8250-adreno = "${nonarch_base_libdir}/firmware/qcom/sm8250/a650*.*"
 FILES:${PN}-qcom-sm8250-audio = "${nonarch_base_libdir}/firmware/qcom/sm8250/adsp*.*"
 FILES:${PN}-qcom-sm8250-compute = "${nonarch_base_libdir}/firmware/qcom/sm8250/cdsp*.*"
 
@@ -1053,6 +1072,8 @@
 RDEPENDS:${PN}-qcom-adreno-a630 = "${PN}-qcom-license"
 RDEPENDS:${PN}-qcom-adreno-a650 = "${PN}-qcom-license"
 RDEPENDS:${PN}-qcom-adreno-a660 = "${PN}-qcom-license"
+RDEPENDS:${PN}-qcom-apq8016-modem = "${PN}-qcom-license"
+RDEPENDS:${PN}-qcom-apq8016-wifi = "${PN}-qcom-license"
 RDEPENDS:${PN}-qcom-apq8096-audio = "${PN}-qcom-license"
 RDEPENDS:${PN}-qcom-apq8096-modem = "${PN}-qcom-license"
 RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${PN}-qcom-license"
diff --git a/poky/meta/recipes-kernel/linux/cve-exclusion.inc b/poky/meta/recipes-kernel/linux/cve-exclusion.inc
new file mode 100644
index 0000000..42f1c19
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/cve-exclusion.inc
@@ -0,0 +1,10 @@
+CVE_STATUS[CVE-2018-6559] = "not-applicable-platform: Issue only affects Ubuntu"
+
+CVE_STATUS[CVE-2020-11935] = "not-applicable-config: Issue only affects aufs, which is not in linux-yocto"
+
+# Introduced in version v6.1 7b88bda3761b95856cf97822efe8281c8100067b
+# Patched in kernel since v6.2 4a625ceee8a0ab0273534cb6b432ce6b331db5ee
+# But, the CVE is disputed:
+CVE_STATUS[CVE-2023-23005] = "disputed: There are no realistic cases \
+in which a user can cause the alloc_memory_type error case to be reached. \
+See: https://bugzilla.suse.com/show_bug.cgi?id=1208844#c2"
diff --git a/poky/meta/recipes-kernel/linux/cve-exclusion_6.1.inc b/poky/meta/recipes-kernel/linux/cve-exclusion_6.1.inc
index 2eb4836..2441788 100644
--- a/poky/meta/recipes-kernel/linux/cve-exclusion_6.1.inc
+++ b/poky/meta/recipes-kernel/linux/cve-exclusion_6.1.inc
@@ -1,605 +1,4967 @@
-CVE_STATUS[CVE-2018-6559] = "not-applicable-platform: Issue only affects Ubuntu"
+# Auto-generated CVE metadata, DO NOT EDIT BY HAND.
+# Generated at 2023-08-09 15:51:19.757857 for version 6.1.43
+
+CVE_STATUS[CVE-2003-1604] = "fixed-version: Fixed after version 2.6.12rc2"
+
+CVE_STATUS[CVE-2004-0230] = "fixed-version: Fixed after version 3.6rc1"
+
+# CVE-2005-3660 has no known resolution
+
+CVE_STATUS[CVE-2006-3635] = "fixed-version: Fixed after version 2.6.26rc5"
+
+CVE_STATUS[CVE-2006-5331] = "fixed-version: Fixed after version 2.6.19rc3"
+
+CVE_STATUS[CVE-2006-6128] = "fixed-version: Fixed after version 2.6.19rc2"
+
+# CVE-2007-3719 has no known resolution
+
+CVE_STATUS[CVE-2007-4774] = "fixed-version: Fixed after version 2.6.12rc2"
+
+CVE_STATUS[CVE-2007-6761] = "fixed-version: Fixed after version 2.6.24rc6"
+
+CVE_STATUS[CVE-2007-6762] = "fixed-version: Fixed after version 2.6.20rc5"
+
+# CVE-2008-2544 has no known resolution
+
+# CVE-2008-4609 has no known resolution
+
+CVE_STATUS[CVE-2008-7316] = "fixed-version: Fixed after version 2.6.25rc1"
+
+CVE_STATUS[CVE-2009-2692] = "fixed-version: Fixed after version 2.6.31rc6"
+
+CVE_STATUS[CVE-2010-0008] = "fixed-version: Fixed after version 2.6.23rc9"
+
+CVE_STATUS[CVE-2010-3432] = "fixed-version: Fixed after version 2.6.36rc5"
+
+# CVE-2010-4563 has no known resolution
+
+CVE_STATUS[CVE-2010-4648] = "fixed-version: Fixed after version 2.6.37rc6"
+
+CVE_STATUS[CVE-2010-5313] = "fixed-version: Fixed after version 2.6.38rc1"
+
+# CVE-2010-5321 has no known resolution
+
+CVE_STATUS[CVE-2010-5328] = "fixed-version: Fixed after version 2.6.35rc1"
+
+CVE_STATUS[CVE-2010-5329] = "fixed-version: Fixed after version 2.6.39rc1"
+
+CVE_STATUS[CVE-2010-5331] = "fixed-version: Fixed after version 2.6.34rc7"
+
+CVE_STATUS[CVE-2010-5332] = "fixed-version: Fixed after version 2.6.37rc1"
+
+CVE_STATUS[CVE-2011-4098] = "fixed-version: Fixed after version 3.2rc1"
+
+CVE_STATUS[CVE-2011-4131] = "fixed-version: Fixed after version 3.3rc1"
+
+CVE_STATUS[CVE-2011-4915] = "fixed-version: Fixed after version 3.2rc1"
+
+# CVE-2011-4916 has no known resolution
+
+# CVE-2011-4917 has no known resolution
+
+CVE_STATUS[CVE-2011-5321] = "fixed-version: Fixed after version 3.2rc1"
+
+CVE_STATUS[CVE-2011-5327] = "fixed-version: Fixed after version 3.1rc1"
+
+CVE_STATUS[CVE-2012-0957] = "fixed-version: Fixed after version 3.7rc2"
+
+CVE_STATUS[CVE-2012-2119] = "fixed-version: Fixed after version 3.5rc1"
+
+CVE_STATUS[CVE-2012-2136] = "fixed-version: Fixed after version 3.5rc1"
+
+CVE_STATUS[CVE-2012-2137] = "fixed-version: Fixed after version 3.5rc2"
+
+CVE_STATUS[CVE-2012-2313] = "fixed-version: Fixed after version 3.4rc6"
+
+CVE_STATUS[CVE-2012-2319] = "fixed-version: Fixed after version 3.4rc6"
+
+CVE_STATUS[CVE-2012-2372] = "fixed-version: Fixed after version 3.13rc4"
+
+CVE_STATUS[CVE-2012-2375] = "fixed-version: Fixed after version 3.4rc1"
+
+CVE_STATUS[CVE-2012-2390] = "fixed-version: Fixed after version 3.5rc1"
+
+CVE_STATUS[CVE-2012-2669] = "fixed-version: Fixed after version 3.5rc4"
+
+CVE_STATUS[CVE-2012-2744] = "fixed-version: Fixed after version 2.6.34rc1"
+
+CVE_STATUS[CVE-2012-2745] = "fixed-version: Fixed after version 3.4rc3"
+
+CVE_STATUS[CVE-2012-3364] = "fixed-version: Fixed after version 3.5rc6"
+
+CVE_STATUS[CVE-2012-3375] = "fixed-version: Fixed after version 3.4rc5"
+
+CVE_STATUS[CVE-2012-3400] = "fixed-version: Fixed after version 3.5rc5"
+
+CVE_STATUS[CVE-2012-3412] = "fixed-version: Fixed after version 3.6rc2"
+
+CVE_STATUS[CVE-2012-3430] = "fixed-version: Fixed after version 3.6rc1"
+
+CVE_STATUS[CVE-2012-3510] = "fixed-version: Fixed after version 2.6.19rc4"
+
+CVE_STATUS[CVE-2012-3511] = "fixed-version: Fixed after version 3.5rc6"
+
+CVE_STATUS[CVE-2012-3520] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-3552] = "fixed-version: Fixed after version 3.0rc1"
+
+# Skipping CVE-2012-4220, no affected_versions
+
+# Skipping CVE-2012-4221, no affected_versions
+
+# Skipping CVE-2012-4222, no affected_versions
+
+CVE_STATUS[CVE-2012-4398] = "fixed-version: Fixed after version 3.4rc1"
+
+CVE_STATUS[CVE-2012-4444] = "fixed-version: Fixed after version 2.6.36rc4"
+
+CVE_STATUS[CVE-2012-4461] = "fixed-version: Fixed after version 3.7rc6"
+
+CVE_STATUS[CVE-2012-4467] = "fixed-version: Fixed after version 3.6rc5"
+
+CVE_STATUS[CVE-2012-4508] = "fixed-version: Fixed after version 3.7rc3"
+
+CVE_STATUS[CVE-2012-4530] = "fixed-version: Fixed after version 3.8rc1"
+
+# CVE-2012-4542 has no known resolution
+
+CVE_STATUS[CVE-2012-4565] = "fixed-version: Fixed after version 3.7rc4"
+
+CVE_STATUS[CVE-2012-5374] = "fixed-version: Fixed after version 3.8rc1"
+
+CVE_STATUS[CVE-2012-5375] = "fixed-version: Fixed after version 3.8rc1"
+
+CVE_STATUS[CVE-2012-5517] = "fixed-version: Fixed after version 3.6rc1"
+
+CVE_STATUS[CVE-2012-6536] = "fixed-version: Fixed after version 3.6rc7"
+
+CVE_STATUS[CVE-2012-6537] = "fixed-version: Fixed after version 3.6rc7"
+
+CVE_STATUS[CVE-2012-6538] = "fixed-version: Fixed after version 3.6rc7"
+
+CVE_STATUS[CVE-2012-6539] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6540] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6541] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6542] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6543] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6544] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6545] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6546] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6547] = "fixed-version: Fixed after version 3.6rc1"
+
+CVE_STATUS[CVE-2012-6548] = "fixed-version: Fixed after version 3.6rc1"
+
+CVE_STATUS[CVE-2012-6549] = "fixed-version: Fixed after version 3.6rc1"
+
+CVE_STATUS[CVE-2012-6638] = "fixed-version: Fixed after version 3.3rc1"
+
+CVE_STATUS[CVE-2012-6647] = "fixed-version: Fixed after version 3.6rc2"
+
+CVE_STATUS[CVE-2012-6657] = "fixed-version: Fixed after version 3.6"
+
+CVE_STATUS[CVE-2012-6689] = "fixed-version: Fixed after version 3.6rc5"
+
+CVE_STATUS[CVE-2012-6701] = "fixed-version: Fixed after version 3.5rc1"
+
+CVE_STATUS[CVE-2012-6703] = "fixed-version: Fixed after version 3.7rc1"
+
+CVE_STATUS[CVE-2012-6704] = "fixed-version: Fixed after version 3.5rc1"
+
+CVE_STATUS[CVE-2012-6712] = "fixed-version: Fixed after version 3.4rc1"
+
+CVE_STATUS[CVE-2013-0160] = "fixed-version: Fixed after version 3.9rc1"
+
+CVE_STATUS[CVE-2013-0190] = "fixed-version: Fixed after version 3.8rc5"
+
+CVE_STATUS[CVE-2013-0216] = "fixed-version: Fixed after version 3.8rc7"
+
+CVE_STATUS[CVE-2013-0217] = "fixed-version: Fixed after version 3.8rc7"
+
+CVE_STATUS[CVE-2013-0228] = "fixed-version: Fixed after version 3.8"
+
+CVE_STATUS[CVE-2013-0231] = "fixed-version: Fixed after version 3.8rc7"
+
+CVE_STATUS[CVE-2013-0268] = "fixed-version: Fixed after version 3.8rc6"
+
+CVE_STATUS[CVE-2013-0290] = "fixed-version: Fixed after version 3.8"
+
+CVE_STATUS[CVE-2013-0309] = "fixed-version: Fixed after version 3.7rc1"
+
+CVE_STATUS[CVE-2013-0310] = "fixed-version: Fixed after version 3.5"
+
+CVE_STATUS[CVE-2013-0311] = "fixed-version: Fixed after version 3.7rc8"
+
+CVE_STATUS[CVE-2013-0313] = "fixed-version: Fixed after version 3.8rc5"
+
+CVE_STATUS[CVE-2013-0343] = "fixed-version: Fixed after version 3.11rc7"
+
+CVE_STATUS[CVE-2013-0349] = "fixed-version: Fixed after version 3.8rc6"
+
+CVE_STATUS[CVE-2013-0871] = "fixed-version: Fixed after version 3.8rc5"
+
+CVE_STATUS[CVE-2013-0913] = "fixed-version: Fixed after version 3.9rc4"
+
+CVE_STATUS[CVE-2013-0914] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-1059] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-1763] = "fixed-version: Fixed after version 3.9rc1"
+
+CVE_STATUS[CVE-2013-1767] = "fixed-version: Fixed after version 3.9rc1"
+
+CVE_STATUS[CVE-2013-1772] = "fixed-version: Fixed after version 3.5rc1"
+
+CVE_STATUS[CVE-2013-1773] = "fixed-version: Fixed after version 3.3rc1"
+
+CVE_STATUS[CVE-2013-1774] = "fixed-version: Fixed after version 3.8rc5"
+
+CVE_STATUS[CVE-2013-1792] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-1796] = "fixed-version: Fixed after version 3.9rc4"
+
+CVE_STATUS[CVE-2013-1797] = "fixed-version: Fixed after version 3.9rc4"
+
+CVE_STATUS[CVE-2013-1798] = "fixed-version: Fixed after version 3.9rc4"
+
+CVE_STATUS[CVE-2013-1819] = "fixed-version: Fixed after version 3.8rc6"
+
+CVE_STATUS[CVE-2013-1826] = "fixed-version: Fixed after version 3.6rc7"
+
+CVE_STATUS[CVE-2013-1827] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2013-1828] = "fixed-version: Fixed after version 3.9rc2"
+
+CVE_STATUS[CVE-2013-1848] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-1858] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-1860] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-1928] = "fixed-version: Fixed after version 3.7rc3"
+
+CVE_STATUS[CVE-2013-1929] = "fixed-version: Fixed after version 3.9rc6"
+
+# Skipping CVE-2013-1935, no affected_versions
+
+CVE_STATUS[CVE-2013-1943] = "fixed-version: Fixed after version 3.0rc1"
+
+CVE_STATUS[CVE-2013-1956] = "fixed-version: Fixed after version 3.9rc5"
+
+CVE_STATUS[CVE-2013-1957] = "fixed-version: Fixed after version 3.9rc5"
+
+CVE_STATUS[CVE-2013-1958] = "fixed-version: Fixed after version 3.9rc5"
+
+CVE_STATUS[CVE-2013-1959] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-1979] = "fixed-version: Fixed after version 3.9rc8"
+
+CVE_STATUS[CVE-2013-2015] = "fixed-version: Fixed after version 3.8rc2"
+
+CVE_STATUS[CVE-2013-2017] = "fixed-version: Fixed after version 2.6.34"
+
+CVE_STATUS[CVE-2013-2058] = "fixed-version: Fixed after version 3.8rc4"
+
+CVE_STATUS[CVE-2013-2094] = "fixed-version: Fixed after version 3.9rc8"
+
+CVE_STATUS[CVE-2013-2128] = "fixed-version: Fixed after version 2.6.34rc4"
+
+CVE_STATUS[CVE-2013-2140] = "fixed-version: Fixed after version 3.11rc3"
+
+CVE_STATUS[CVE-2013-2141] = "fixed-version: Fixed after version 3.9rc8"
+
+CVE_STATUS[CVE-2013-2146] = "fixed-version: Fixed after version 3.9rc8"
+
+CVE_STATUS[CVE-2013-2147] = "fixed-version: Fixed after version 3.12rc3"
+
+CVE_STATUS[CVE-2013-2148] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-2164] = "fixed-version: Fixed after version 3.11rc1"
+
+# Skipping CVE-2013-2188, no affected_versions
+
+CVE_STATUS[CVE-2013-2206] = "fixed-version: Fixed after version 3.9rc4"
+
+# Skipping CVE-2013-2224, no affected_versions
+
+CVE_STATUS[CVE-2013-2232] = "fixed-version: Fixed after version 3.10"
+
+CVE_STATUS[CVE-2013-2234] = "fixed-version: Fixed after version 3.10"
+
+CVE_STATUS[CVE-2013-2237] = "fixed-version: Fixed after version 3.9rc6"
+
+# Skipping CVE-2013-2239, no affected_versions
+
+CVE_STATUS[CVE-2013-2546] = "fixed-version: Fixed after version 3.9rc1"
+
+CVE_STATUS[CVE-2013-2547] = "fixed-version: Fixed after version 3.9rc1"
+
+CVE_STATUS[CVE-2013-2548] = "fixed-version: Fixed after version 3.9rc1"
+
+CVE_STATUS[CVE-2013-2596] = "fixed-version: Fixed after version 3.9rc8"
+
+CVE_STATUS[CVE-2013-2634] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-2635] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-2636] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-2850] = "fixed-version: Fixed after version 3.10rc4"
+
+CVE_STATUS[CVE-2013-2851] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-2852] = "fixed-version: Fixed after version 3.10rc6"
+
+CVE_STATUS[CVE-2013-2888] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2013-2889] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2890] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2891] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2892] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2013-2893] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2894] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2895] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2896] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2013-2897] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2898] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2013-2899] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2013-2929] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-2930] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-3076] = "fixed-version: Fixed after version 3.9"
+
+CVE_STATUS[CVE-2013-3222] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3223] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3224] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3225] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3226] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3227] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3228] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3229] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3230] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3231] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3232] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3233] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3234] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3235] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3236] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3237] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3301] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3302] = "fixed-version: Fixed after version 3.8rc3"
+
+CVE_STATUS[CVE-2013-4125] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-4127] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-4129] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-4162] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-4163] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-4205] = "fixed-version: Fixed after version 3.11rc5"
+
+CVE_STATUS[CVE-2013-4220] = "fixed-version: Fixed after version 3.10rc4"
+
+CVE_STATUS[CVE-2013-4247] = "fixed-version: Fixed after version 3.10rc5"
+
+CVE_STATUS[CVE-2013-4254] = "fixed-version: Fixed after version 3.11rc6"
+
+CVE_STATUS[CVE-2013-4270] = "fixed-version: Fixed after version 3.12rc4"
+
+CVE_STATUS[CVE-2013-4299] = "fixed-version: Fixed after version 3.12rc6"
+
+CVE_STATUS[CVE-2013-4300] = "fixed-version: Fixed after version 3.11"
+
+CVE_STATUS[CVE-2013-4312] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2013-4343] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-4345] = "fixed-version: Fixed after version 3.13rc2"
+
+CVE_STATUS[CVE-2013-4348] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-4350] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-4387] = "fixed-version: Fixed after version 3.12rc4"
+
+CVE_STATUS[CVE-2013-4470] = "fixed-version: Fixed after version 3.12rc7"
+
+CVE_STATUS[CVE-2013-4483] = "fixed-version: Fixed after version 3.10rc1"
+
+CVE_STATUS[CVE-2013-4511] = "fixed-version: Fixed after version 3.12"
+
+CVE_STATUS[CVE-2013-4512] = "fixed-version: Fixed after version 3.12"
+
+CVE_STATUS[CVE-2013-4513] = "fixed-version: Fixed after version 3.12"
+
+CVE_STATUS[CVE-2013-4514] = "fixed-version: Fixed after version 3.12"
+
+CVE_STATUS[CVE-2013-4515] = "fixed-version: Fixed after version 3.12"
+
+CVE_STATUS[CVE-2013-4516] = "fixed-version: Fixed after version 3.12"
+
+CVE_STATUS[CVE-2013-4563] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-4579] = "fixed-version: Fixed after version 3.13rc7"
+
+CVE_STATUS[CVE-2013-4587] = "fixed-version: Fixed after version 3.13rc4"
+
+CVE_STATUS[CVE-2013-4588] = "fixed-version: Fixed after version 2.6.33rc4"
+
+CVE_STATUS[CVE-2013-4591] = "fixed-version: Fixed after version 3.8rc1"
+
+CVE_STATUS[CVE-2013-4592] = "fixed-version: Fixed after version 3.7rc1"
+
+# Skipping CVE-2013-4737, no affected_versions
+
+# Skipping CVE-2013-4738, no affected_versions
+
+# Skipping CVE-2013-4739, no affected_versions
+
+CVE_STATUS[CVE-2013-5634] = "fixed-version: Fixed after version 3.10rc5"
+
+CVE_STATUS[CVE-2013-6282] = "fixed-version: Fixed after version 3.6rc6"
+
+CVE_STATUS[CVE-2013-6367] = "fixed-version: Fixed after version 3.13rc4"
+
+CVE_STATUS[CVE-2013-6368] = "fixed-version: Fixed after version 3.13rc4"
+
+CVE_STATUS[CVE-2013-6376] = "fixed-version: Fixed after version 3.13rc4"
+
+CVE_STATUS[CVE-2013-6378] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-6380] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-6381] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-6382] = "fixed-version: Fixed after version 3.13rc4"
+
+CVE_STATUS[CVE-2013-6383] = "fixed-version: Fixed after version 3.12"
+
+# Skipping CVE-2013-6392, no affected_versions
+
+CVE_STATUS[CVE-2013-6431] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2013-6432] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-6885] = "fixed-version: Fixed after version 3.14rc1"
+
+CVE_STATUS[CVE-2013-7026] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7027] = "fixed-version: Fixed after version 3.12rc7"
+
+CVE_STATUS[CVE-2013-7263] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7264] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7265] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7266] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7267] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7268] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7269] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7270] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7271] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7281] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7339] = "fixed-version: Fixed after version 3.13rc7"
+
+CVE_STATUS[CVE-2013-7348] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7421] = "fixed-version: Fixed after version 3.19rc1"
+
+# CVE-2013-7445 has no known resolution
+
+CVE_STATUS[CVE-2013-7446] = "fixed-version: Fixed after version 4.4rc4"
+
+CVE_STATUS[CVE-2013-7470] = "fixed-version: Fixed after version 3.12rc7"
+
+CVE_STATUS[CVE-2014-0038] = "fixed-version: Fixed after version 3.14rc1"
+
+CVE_STATUS[CVE-2014-0049] = "fixed-version: Fixed after version 3.14rc5"
+
+CVE_STATUS[CVE-2014-0055] = "fixed-version: Fixed after version 3.14"
+
+CVE_STATUS[CVE-2014-0069] = "fixed-version: Fixed after version 3.14rc4"
+
+CVE_STATUS[CVE-2014-0077] = "fixed-version: Fixed after version 3.14"
+
+CVE_STATUS[CVE-2014-0100] = "fixed-version: Fixed after version 3.14rc7"
+
+CVE_STATUS[CVE-2014-0101] = "fixed-version: Fixed after version 3.14rc6"
+
+CVE_STATUS[CVE-2014-0102] = "fixed-version: Fixed after version 3.14rc6"
+
+CVE_STATUS[CVE-2014-0131] = "fixed-version: Fixed after version 3.14rc7"
+
+CVE_STATUS[CVE-2014-0155] = "fixed-version: Fixed after version 3.15rc2"
+
+CVE_STATUS[CVE-2014-0181] = "fixed-version: Fixed after version 3.15rc5"
+
+CVE_STATUS[CVE-2014-0196] = "fixed-version: Fixed after version 3.15rc5"
+
+CVE_STATUS[CVE-2014-0203] = "fixed-version: Fixed after version 2.6.33rc5"
+
+CVE_STATUS[CVE-2014-0205] = "fixed-version: Fixed after version 2.6.37rc1"
+
+CVE_STATUS[CVE-2014-0206] = "fixed-version: Fixed after version 3.16rc3"
+
+# Skipping CVE-2014-0972, no affected_versions
+
+CVE_STATUS[CVE-2014-1438] = "fixed-version: Fixed after version 3.13"
+
+CVE_STATUS[CVE-2014-1444] = "fixed-version: Fixed after version 3.12rc7"
+
+CVE_STATUS[CVE-2014-1445] = "fixed-version: Fixed after version 3.12rc7"
+
+CVE_STATUS[CVE-2014-1446] = "fixed-version: Fixed after version 3.13rc7"
+
+CVE_STATUS[CVE-2014-1690] = "fixed-version: Fixed after version 3.13rc8"
+
+CVE_STATUS[CVE-2014-1737] = "fixed-version: Fixed after version 3.15rc5"
+
+CVE_STATUS[CVE-2014-1738] = "fixed-version: Fixed after version 3.15rc5"
+
+CVE_STATUS[CVE-2014-1739] = "fixed-version: Fixed after version 3.15rc6"
+
+CVE_STATUS[CVE-2014-1874] = "fixed-version: Fixed after version 3.14rc2"
+
+CVE_STATUS[CVE-2014-2038] = "fixed-version: Fixed after version 3.14rc1"
+
+CVE_STATUS[CVE-2014-2039] = "fixed-version: Fixed after version 3.14rc3"
+
+CVE_STATUS[CVE-2014-2309] = "fixed-version: Fixed after version 3.14rc7"
+
+CVE_STATUS[CVE-2014-2523] = "fixed-version: Fixed after version 3.14rc1"
+
+CVE_STATUS[CVE-2014-2568] = "fixed-version: Fixed after version 3.14"
+
+CVE_STATUS[CVE-2014-2580] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-2672] = "fixed-version: Fixed after version 3.14rc6"
+
+CVE_STATUS[CVE-2014-2673] = "fixed-version: Fixed after version 3.14rc6"
+
+CVE_STATUS[CVE-2014-2678] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-2706] = "fixed-version: Fixed after version 3.14rc6"
+
+CVE_STATUS[CVE-2014-2739] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-2851] = "fixed-version: Fixed after version 3.15rc2"
+
+CVE_STATUS[CVE-2014-2889] = "fixed-version: Fixed after version 3.2rc7"
+
+CVE_STATUS[CVE-2014-3122] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-3144] = "fixed-version: Fixed after version 3.15rc2"
+
+CVE_STATUS[CVE-2014-3145] = "fixed-version: Fixed after version 3.15rc2"
+
+CVE_STATUS[CVE-2014-3153] = "fixed-version: Fixed after version 3.15"
+
+CVE_STATUS[CVE-2014-3180] = "fixed-version: Fixed after version 3.17rc4"
+
+CVE_STATUS[CVE-2014-3181] = "fixed-version: Fixed after version 3.17rc3"
+
+CVE_STATUS[CVE-2014-3182] = "fixed-version: Fixed after version 3.17rc2"
+
+CVE_STATUS[CVE-2014-3183] = "fixed-version: Fixed after version 3.17rc2"
+
+CVE_STATUS[CVE-2014-3184] = "fixed-version: Fixed after version 3.17rc2"
+
+CVE_STATUS[CVE-2014-3185] = "fixed-version: Fixed after version 3.17rc3"
+
+CVE_STATUS[CVE-2014-3186] = "fixed-version: Fixed after version 3.17rc3"
+
+# Skipping CVE-2014-3519, no affected_versions
+
+CVE_STATUS[CVE-2014-3534] = "fixed-version: Fixed after version 3.16rc7"
+
+CVE_STATUS[CVE-2014-3535] = "fixed-version: Fixed after version 2.6.36rc1"
+
+CVE_STATUS[CVE-2014-3601] = "fixed-version: Fixed after version 3.17rc2"
+
+CVE_STATUS[CVE-2014-3610] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-3611] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-3631] = "fixed-version: Fixed after version 3.17rc5"
+
+CVE_STATUS[CVE-2014-3645] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2014-3646] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-3647] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-3673] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-3687] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-3688] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-3690] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-3917] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2014-3940] = "fixed-version: Fixed after version 3.15"
+
+CVE_STATUS[CVE-2014-4014] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2014-4027] = "fixed-version: Fixed after version 3.14rc1"
+
+CVE_STATUS[CVE-2014-4157] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-4171] = "fixed-version: Fixed after version 3.16rc3"
+
+# Skipping CVE-2014-4322, no affected_versions
+
+# Skipping CVE-2014-4323, no affected_versions
+
+CVE_STATUS[CVE-2014-4508] = "fixed-version: Fixed after version 3.16rc3"
+
+CVE_STATUS[CVE-2014-4608] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-4611] = "fixed-version: Fixed after version 3.16rc3"
+
+CVE_STATUS[CVE-2014-4652] = "fixed-version: Fixed after version 3.16rc2"
+
+CVE_STATUS[CVE-2014-4653] = "fixed-version: Fixed after version 3.16rc2"
+
+CVE_STATUS[CVE-2014-4654] = "fixed-version: Fixed after version 3.16rc2"
+
+CVE_STATUS[CVE-2014-4655] = "fixed-version: Fixed after version 3.16rc2"
+
+CVE_STATUS[CVE-2014-4656] = "fixed-version: Fixed after version 3.16rc2"
+
+CVE_STATUS[CVE-2014-4667] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2014-4699] = "fixed-version: Fixed after version 3.16rc4"
+
+CVE_STATUS[CVE-2014-4943] = "fixed-version: Fixed after version 3.16rc6"
+
+CVE_STATUS[CVE-2014-5045] = "fixed-version: Fixed after version 3.16rc7"
+
+CVE_STATUS[CVE-2014-5077] = "fixed-version: Fixed after version 3.16"
+
+CVE_STATUS[CVE-2014-5206] = "fixed-version: Fixed after version 3.17rc1"
+
+CVE_STATUS[CVE-2014-5207] = "fixed-version: Fixed after version 3.17rc1"
+
+# Skipping CVE-2014-5332, no affected_versions
+
+CVE_STATUS[CVE-2014-5471] = "fixed-version: Fixed after version 3.17rc2"
+
+CVE_STATUS[CVE-2014-5472] = "fixed-version: Fixed after version 3.17rc2"
+
+CVE_STATUS[CVE-2014-6410] = "fixed-version: Fixed after version 3.17rc5"
+
+CVE_STATUS[CVE-2014-6416] = "fixed-version: Fixed after version 3.17rc5"
+
+CVE_STATUS[CVE-2014-6417] = "fixed-version: Fixed after version 3.17rc5"
+
+CVE_STATUS[CVE-2014-6418] = "fixed-version: Fixed after version 3.17rc5"
+
+CVE_STATUS[CVE-2014-7145] = "fixed-version: Fixed after version 3.17rc2"
+
+# Skipping CVE-2014-7207, no affected_versions
+
+CVE_STATUS[CVE-2014-7283] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-7284] = "fixed-version: Fixed after version 3.15rc7"
+
+CVE_STATUS[CVE-2014-7822] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2014-7825] = "fixed-version: Fixed after version 3.18rc3"
+
+CVE_STATUS[CVE-2014-7826] = "fixed-version: Fixed after version 3.18rc3"
+
+CVE_STATUS[CVE-2014-7841] = "fixed-version: Fixed after version 3.18rc5"
+
+CVE_STATUS[CVE-2014-7842] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-7843] = "fixed-version: Fixed after version 3.18rc5"
+
+CVE_STATUS[CVE-2014-7970] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-7975] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-8086] = "fixed-version: Fixed after version 3.18rc3"
+
+CVE_STATUS[CVE-2014-8133] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-8134] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-8159] = "fixed-version: Fixed after version 4.0rc7"
+
+CVE_STATUS[CVE-2014-8160] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-8171] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2014-8172] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2014-8173] = "fixed-version: Fixed after version 3.13rc5"
+
+# Skipping CVE-2014-8181, no affected_versions
+
+CVE_STATUS[CVE-2014-8369] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-8480] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-8481] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-8559] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-8709] = "fixed-version: Fixed after version 3.14rc3"
+
+CVE_STATUS[CVE-2014-8884] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-8989] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-9090] = "fixed-version: Fixed after version 3.18rc6"
+
+CVE_STATUS[CVE-2014-9322] = "fixed-version: Fixed after version 3.18rc6"
+
+CVE_STATUS[CVE-2014-9419] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-9420] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-9428] = "fixed-version: Fixed after version 3.19rc3"
+
+CVE_STATUS[CVE-2014-9529] = "fixed-version: Fixed after version 3.19rc4"
+
+CVE_STATUS[CVE-2014-9584] = "fixed-version: Fixed after version 3.19rc3"
+
+CVE_STATUS[CVE-2014-9585] = "fixed-version: Fixed after version 3.19rc4"
+
+CVE_STATUS[CVE-2014-9644] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-9683] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-9710] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-9715] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-9717] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2014-9728] = "fixed-version: Fixed after version 3.19rc3"
+
+CVE_STATUS[CVE-2014-9729] = "fixed-version: Fixed after version 3.19rc3"
+
+CVE_STATUS[CVE-2014-9730] = "fixed-version: Fixed after version 3.19rc3"
+
+CVE_STATUS[CVE-2014-9731] = "fixed-version: Fixed after version 3.19rc3"
+
+# Skipping CVE-2014-9777, no affected_versions
+
+# Skipping CVE-2014-9778, no affected_versions
+
+# Skipping CVE-2014-9779, no affected_versions
+
+# Skipping CVE-2014-9780, no affected_versions
+
+# Skipping CVE-2014-9781, no affected_versions
+
+# Skipping CVE-2014-9782, no affected_versions
+
+# Skipping CVE-2014-9783, no affected_versions
+
+# Skipping CVE-2014-9784, no affected_versions
+
+# Skipping CVE-2014-9785, no affected_versions
+
+# Skipping CVE-2014-9786, no affected_versions
+
+# Skipping CVE-2014-9787, no affected_versions
+
+# Skipping CVE-2014-9788, no affected_versions
+
+# Skipping CVE-2014-9789, no affected_versions
+
+CVE_STATUS[CVE-2014-9803] = "fixed-version: Fixed after version 3.16rc1"
+
+# Skipping CVE-2014-9863, no affected_versions
+
+# Skipping CVE-2014-9864, no affected_versions
+
+# Skipping CVE-2014-9865, no affected_versions
+
+# Skipping CVE-2014-9866, no affected_versions
+
+# Skipping CVE-2014-9867, no affected_versions
+
+# Skipping CVE-2014-9868, no affected_versions
+
+# Skipping CVE-2014-9869, no affected_versions
+
+CVE_STATUS[CVE-2014-9870] = "fixed-version: Fixed after version 3.11rc1"
+
+# Skipping CVE-2014-9871, no affected_versions
+
+# Skipping CVE-2014-9872, no affected_versions
+
+# Skipping CVE-2014-9873, no affected_versions
+
+# Skipping CVE-2014-9874, no affected_versions
+
+# Skipping CVE-2014-9875, no affected_versions
+
+# Skipping CVE-2014-9876, no affected_versions
+
+# Skipping CVE-2014-9877, no affected_versions
+
+# Skipping CVE-2014-9878, no affected_versions
+
+# Skipping CVE-2014-9879, no affected_versions
+
+# Skipping CVE-2014-9880, no affected_versions
+
+# Skipping CVE-2014-9881, no affected_versions
+
+# Skipping CVE-2014-9882, no affected_versions
+
+# Skipping CVE-2014-9883, no affected_versions
+
+# Skipping CVE-2014-9884, no affected_versions
+
+# Skipping CVE-2014-9885, no affected_versions
+
+# Skipping CVE-2014-9886, no affected_versions
+
+# Skipping CVE-2014-9887, no affected_versions
+
+CVE_STATUS[CVE-2014-9888] = "fixed-version: Fixed after version 3.13rc1"
+
+# Skipping CVE-2014-9889, no affected_versions
+
+# Skipping CVE-2014-9890, no affected_versions
+
+# Skipping CVE-2014-9891, no affected_versions
+
+# Skipping CVE-2014-9892, no affected_versions
+
+# Skipping CVE-2014-9893, no affected_versions
+
+# Skipping CVE-2014-9894, no affected_versions
+
+CVE_STATUS[CVE-2014-9895] = "fixed-version: Fixed after version 3.11rc1"
+
+# Skipping CVE-2014-9896, no affected_versions
+
+# Skipping CVE-2014-9897, no affected_versions
+
+# Skipping CVE-2014-9898, no affected_versions
+
+# Skipping CVE-2014-9899, no affected_versions
+
+# Skipping CVE-2014-9900, no affected_versions
+
+CVE_STATUS[CVE-2014-9903] = "fixed-version: Fixed after version 3.14rc4"
+
+CVE_STATUS[CVE-2014-9904] = "fixed-version: Fixed after version 3.17rc1"
+
+CVE_STATUS[CVE-2014-9914] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2014-9922] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-9940] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2015-0239] = "fixed-version: Fixed after version 3.19rc6"
+
+CVE_STATUS[CVE-2015-0274] = "fixed-version: Fixed after version 3.15rc5"
+
+CVE_STATUS[CVE-2015-0275] = "fixed-version: Fixed after version 4.1rc1"
+
+# Skipping CVE-2015-0777, no affected_versions
+
+# Skipping CVE-2015-1328, no affected_versions
+
+CVE_STATUS[CVE-2015-1333] = "fixed-version: Fixed after version 4.2rc5"
+
+CVE_STATUS[CVE-2015-1339] = "fixed-version: Fixed after version 4.4rc5"
+
+CVE_STATUS[CVE-2015-1350] = "fixed-version: Fixed after version 4.9rc1"
+
+CVE_STATUS[CVE-2015-1420] = "fixed-version: Fixed after version 4.1rc7"
+
+CVE_STATUS[CVE-2015-1421] = "fixed-version: Fixed after version 3.19rc7"
+
+CVE_STATUS[CVE-2015-1465] = "fixed-version: Fixed after version 3.19rc7"
+
+CVE_STATUS[CVE-2015-1573] = "fixed-version: Fixed after version 3.19rc5"
+
+CVE_STATUS[CVE-2015-1593] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2015-1805] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2015-2041] = "fixed-version: Fixed after version 3.19rc7"
+
+CVE_STATUS[CVE-2015-2042] = "fixed-version: Fixed after version 3.19"
+
+CVE_STATUS[CVE-2015-2150] = "fixed-version: Fixed after version 4.0rc4"
+
+CVE_STATUS[CVE-2015-2666] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2015-2672] = "fixed-version: Fixed after version 4.0rc3"
+
+CVE_STATUS[CVE-2015-2686] = "fixed-version: Fixed after version 4.0rc6"
+
+CVE_STATUS[CVE-2015-2830] = "fixed-version: Fixed after version 4.0rc3"
+
+# CVE-2015-2877 has no known resolution
+
+CVE_STATUS[CVE-2015-2922] = "fixed-version: Fixed after version 4.0rc7"
+
+CVE_STATUS[CVE-2015-2925] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2015-3212] = "fixed-version: Fixed after version 4.2rc1"
+
+CVE_STATUS[CVE-2015-3214] = "fixed-version: Fixed after version 2.6.33rc8"
+
+CVE_STATUS[CVE-2015-3288] = "fixed-version: Fixed after version 4.2rc2"
+
+CVE_STATUS[CVE-2015-3290] = "fixed-version: Fixed after version 4.2rc3"
+
+CVE_STATUS[CVE-2015-3291] = "fixed-version: Fixed after version 4.2rc3"
+
+CVE_STATUS[CVE-2015-3331] = "fixed-version: Fixed after version 4.0rc5"
+
+# Skipping CVE-2015-3332, no affected_versions
+
+CVE_STATUS[CVE-2015-3339] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-3636] = "fixed-version: Fixed after version 4.1rc2"
+
+CVE_STATUS[CVE-2015-4001] = "fixed-version: Fixed after version 4.1rc7"
+
+CVE_STATUS[CVE-2015-4002] = "fixed-version: Fixed after version 4.1rc7"
+
+CVE_STATUS[CVE-2015-4003] = "fixed-version: Fixed after version 4.1rc7"
+
+CVE_STATUS[CVE-2015-4004] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2015-4036] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2015-4167] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2015-4170] = "fixed-version: Fixed after version 3.13rc5"
+
+CVE_STATUS[CVE-2015-4176] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-4177] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-4178] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-4692] = "fixed-version: Fixed after version 4.2rc1"
+
+CVE_STATUS[CVE-2015-4700] = "fixed-version: Fixed after version 4.1rc6"
+
+CVE_STATUS[CVE-2015-5156] = "fixed-version: Fixed after version 4.2rc7"
+
+CVE_STATUS[CVE-2015-5157] = "fixed-version: Fixed after version 4.2rc3"
+
+CVE_STATUS[CVE-2015-5257] = "fixed-version: Fixed after version 4.3rc3"
+
+CVE_STATUS[CVE-2015-5283] = "fixed-version: Fixed after version 4.3rc3"
+
+CVE_STATUS[CVE-2015-5307] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-5327] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-5364] = "fixed-version: Fixed after version 4.1rc7"
+
+CVE_STATUS[CVE-2015-5366] = "fixed-version: Fixed after version 4.1rc7"
+
+CVE_STATUS[CVE-2015-5697] = "fixed-version: Fixed after version 4.2rc6"
+
+CVE_STATUS[CVE-2015-5706] = "fixed-version: Fixed after version 4.1rc3"
+
+CVE_STATUS[CVE-2015-5707] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-6252] = "fixed-version: Fixed after version 4.2rc5"
+
+CVE_STATUS[CVE-2015-6526] = "fixed-version: Fixed after version 4.1rc1"
+
+# CVE-2015-6619 has no known resolution
+
+# CVE-2015-6646 has no known resolution
+
+CVE_STATUS[CVE-2015-6937] = "fixed-version: Fixed after version 4.3rc1"
+
+# Skipping CVE-2015-7312, no affected_versions
+
+CVE_STATUS[CVE-2015-7509] = "fixed-version: Fixed after version 3.7rc1"
+
+CVE_STATUS[CVE-2015-7513] = "fixed-version: Fixed after version 4.4rc7"
+
+CVE_STATUS[CVE-2015-7515] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-7550] = "fixed-version: Fixed after version 4.4rc8"
+
+# Skipping CVE-2015-7553, no affected_versions
+
+CVE_STATUS[CVE-2015-7566] = "fixed-version: Fixed after version 4.5rc2"
+
+CVE_STATUS[CVE-2015-7613] = "fixed-version: Fixed after version 4.3rc4"
+
+CVE_STATUS[CVE-2015-7799] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-7833] = "fixed-version: Fixed after version 4.6rc6"
+
+# Skipping CVE-2015-7837, no affected_versions
+
+CVE_STATUS[CVE-2015-7872] = "fixed-version: Fixed after version 4.3rc7"
+
+CVE_STATUS[CVE-2015-7884] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-7885] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-7990] = "fixed-version: Fixed after version 4.4rc4"
+
+# Skipping CVE-2015-8019, no affected_versions
+
+CVE_STATUS[CVE-2015-8104] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-8215] = "fixed-version: Fixed after version 4.0rc3"
+
+CVE_STATUS[CVE-2015-8324] = "fixed-version: Fixed after version 2.6.34rc1"
+
+CVE_STATUS[CVE-2015-8374] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-8539] = "fixed-version: Fixed after version 4.4rc3"
+
+CVE_STATUS[CVE-2015-8543] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8550] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8551] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8552] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8553] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8569] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8575] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8660] = "fixed-version: Fixed after version 4.4rc4"
+
+CVE_STATUS[CVE-2015-8709] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2015-8746] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2015-8767] = "fixed-version: Fixed after version 4.3rc4"
+
+CVE_STATUS[CVE-2015-8785] = "fixed-version: Fixed after version 4.4rc5"
+
+CVE_STATUS[CVE-2015-8787] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-8812] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2015-8816] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8830] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-8839] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2015-8844] = "fixed-version: Fixed after version 4.4rc3"
+
+CVE_STATUS[CVE-2015-8845] = "fixed-version: Fixed after version 4.4rc3"
+
+# Skipping CVE-2015-8937, no affected_versions
+
+# Skipping CVE-2015-8938, no affected_versions
+
+# Skipping CVE-2015-8939, no affected_versions
+
+# Skipping CVE-2015-8940, no affected_versions
+
+# Skipping CVE-2015-8941, no affected_versions
+
+# Skipping CVE-2015-8942, no affected_versions
+
+# Skipping CVE-2015-8943, no affected_versions
+
+# Skipping CVE-2015-8944, no affected_versions
+
+CVE_STATUS[CVE-2015-8950] = "fixed-version: Fixed after version 4.1rc2"
+
+CVE_STATUS[CVE-2015-8952] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2015-8953] = "fixed-version: Fixed after version 4.3"
+
+CVE_STATUS[CVE-2015-8955] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-8956] = "fixed-version: Fixed after version 4.2rc1"
+
+CVE_STATUS[CVE-2015-8961] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-8962] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-8963] = "fixed-version: Fixed after version 4.4"
+
+CVE_STATUS[CVE-2015-8964] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2015-8966] = "fixed-version: Fixed after version 4.4rc8"
+
+CVE_STATUS[CVE-2015-8967] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2015-8970] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2015-9004] = "fixed-version: Fixed after version 3.19rc7"
+
+CVE_STATUS[CVE-2015-9016] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2015-9289] = "fixed-version: Fixed after version 4.2rc1"
+
+CVE_STATUS[CVE-2016-0617] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-0723] = "fixed-version: Fixed after version 4.5rc2"
+
+CVE_STATUS[CVE-2016-0728] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-0758] = "fixed-version: Fixed after version 4.6"
+
+# Skipping CVE-2016-0774, no affected_versions
+
+CVE_STATUS[CVE-2016-0821] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2016-0823] = "fixed-version: Fixed after version 4.0rc5"
+
+CVE_STATUS[CVE-2016-10044] = "fixed-version: Fixed after version 4.8rc7"
+
+CVE_STATUS[CVE-2016-10088] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-10147] = "fixed-version: Fixed after version 4.9"
+
+CVE_STATUS[CVE-2016-10150] = "fixed-version: Fixed after version 4.9rc8"
+
+CVE_STATUS[CVE-2016-10153] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-10154] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-10200] = "fixed-version: Fixed after version 4.9rc7"
+
+CVE_STATUS[CVE-2016-10208] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-10229] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-10318] = "fixed-version: Fixed after version 4.8rc6"
+
+CVE_STATUS[CVE-2016-10723] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2016-10741] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-10764] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-10905] = "fixed-version: Fixed after version 4.8rc1"
+
+CVE_STATUS[CVE-2016-10906] = "fixed-version: Fixed after version 4.5rc6"
+
+CVE_STATUS[CVE-2016-10907] = "fixed-version: Fixed after version 4.9rc1"
+
+CVE_STATUS[CVE-2016-1237] = "fixed-version: Fixed after version 4.7rc5"
+
+CVE_STATUS[CVE-2016-1575] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-1576] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-1583] = "fixed-version: Fixed after version 4.7rc3"
+
+CVE_STATUS[CVE-2016-2053] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2016-2069] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2070] = "fixed-version: Fixed after version 4.4"
+
+CVE_STATUS[CVE-2016-2085] = "fixed-version: Fixed after version 4.5rc4"
+
+CVE_STATUS[CVE-2016-2117] = "fixed-version: Fixed after version 4.6rc5"
+
+CVE_STATUS[CVE-2016-2143] = "fixed-version: Fixed after version 4.5"
+
+CVE_STATUS[CVE-2016-2184] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-2185] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-2186] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-2187] = "fixed-version: Fixed after version 4.6rc5"
+
+CVE_STATUS[CVE-2016-2188] = "fixed-version: Fixed after version 4.11rc2"
+
+CVE_STATUS[CVE-2016-2383] = "fixed-version: Fixed after version 4.5rc4"
+
+CVE_STATUS[CVE-2016-2384] = "fixed-version: Fixed after version 4.5rc4"
+
+CVE_STATUS[CVE-2016-2543] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2544] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2545] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2546] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2547] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2548] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2549] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2550] = "fixed-version: Fixed after version 4.5rc4"
+
+CVE_STATUS[CVE-2016-2782] = "fixed-version: Fixed after version 4.5rc2"
+
+CVE_STATUS[CVE-2016-2847] = "fixed-version: Fixed after version 4.5rc1"
+
+# Skipping CVE-2016-2853, no affected_versions
+
+# Skipping CVE-2016-2854, no affected_versions
+
+CVE_STATUS[CVE-2016-3044] = "fixed-version: Fixed after version 4.5"
+
+CVE_STATUS[CVE-2016-3070] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2016-3134] = "fixed-version: Fixed after version 4.6rc2"
+
+CVE_STATUS[CVE-2016-3135] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-3136] = "fixed-version: Fixed after version 4.6rc3"
+
+CVE_STATUS[CVE-2016-3137] = "fixed-version: Fixed after version 4.6rc3"
+
+CVE_STATUS[CVE-2016-3138] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-3139] = "fixed-version: Fixed after version 3.17rc1"
+
+CVE_STATUS[CVE-2016-3140] = "fixed-version: Fixed after version 4.6rc3"
+
+CVE_STATUS[CVE-2016-3156] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-3157] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-3672] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-3689] = "fixed-version: Fixed after version 4.6rc1"
+
+# Skipping CVE-2016-3695, no affected_versions
+
+# Skipping CVE-2016-3699, no affected_versions
+
+# Skipping CVE-2016-3707, no affected_versions
+
+CVE_STATUS[CVE-2016-3713] = "fixed-version: Fixed after version 4.7rc1"
+
+# CVE-2016-3775 has no known resolution
+
+# CVE-2016-3802 has no known resolution
+
+# CVE-2016-3803 has no known resolution
+
+CVE_STATUS[CVE-2016-3841] = "fixed-version: Fixed after version 4.4rc4"
+
+CVE_STATUS[CVE-2016-3857] = "fixed-version: Fixed after version 4.8rc2"
+
+CVE_STATUS[CVE-2016-3951] = "fixed-version: Fixed after version 4.5"
+
+CVE_STATUS[CVE-2016-3955] = "fixed-version: Fixed after version 4.6rc3"
+
+CVE_STATUS[CVE-2016-3961] = "fixed-version: Fixed after version 4.6rc5"
+
+CVE_STATUS[CVE-2016-4440] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-4470] = "fixed-version: Fixed after version 4.7rc4"
+
+CVE_STATUS[CVE-2016-4482] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-4485] = "fixed-version: Fixed after version 4.6"
+
+CVE_STATUS[CVE-2016-4486] = "fixed-version: Fixed after version 4.6"
+
+CVE_STATUS[CVE-2016-4557] = "fixed-version: Fixed after version 4.6rc6"
+
+CVE_STATUS[CVE-2016-4558] = "fixed-version: Fixed after version 4.6rc7"
+
+CVE_STATUS[CVE-2016-4565] = "fixed-version: Fixed after version 4.6rc6"
+
+CVE_STATUS[CVE-2016-4568] = "fixed-version: Fixed after version 4.6rc6"
+
+CVE_STATUS[CVE-2016-4569] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-4578] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-4580] = "fixed-version: Fixed after version 4.6"
+
+CVE_STATUS[CVE-2016-4581] = "fixed-version: Fixed after version 4.6rc7"
+
+CVE_STATUS[CVE-2016-4794] = "fixed-version: Fixed after version 4.7rc4"
+
+CVE_STATUS[CVE-2016-4805] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-4913] = "fixed-version: Fixed after version 4.6"
+
+CVE_STATUS[CVE-2016-4951] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-4997] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-4998] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-5195] = "fixed-version: Fixed after version 4.9rc2"
+
+CVE_STATUS[CVE-2016-5243] = "fixed-version: Fixed after version 4.7rc3"
+
+CVE_STATUS[CVE-2016-5244] = "fixed-version: Fixed after version 4.7rc3"
+
+# Skipping CVE-2016-5340, no affected_versions
+
+# Skipping CVE-2016-5342, no affected_versions
+
+# Skipping CVE-2016-5343, no affected_versions
+
+# Skipping CVE-2016-5344, no affected_versions
+
+CVE_STATUS[CVE-2016-5400] = "fixed-version: Fixed after version 4.7"
+
+CVE_STATUS[CVE-2016-5412] = "fixed-version: Fixed after version 4.8rc1"
+
+CVE_STATUS[CVE-2016-5696] = "fixed-version: Fixed after version 4.7"
+
+CVE_STATUS[CVE-2016-5728] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-5828] = "fixed-version: Fixed after version 4.7rc6"
+
+CVE_STATUS[CVE-2016-5829] = "fixed-version: Fixed after version 4.7rc5"
+
+# CVE-2016-5870 has no known resolution
+
+CVE_STATUS[CVE-2016-6130] = "fixed-version: Fixed after version 4.6rc6"
+
+CVE_STATUS[CVE-2016-6136] = "fixed-version: Fixed after version 4.8rc1"
+
+CVE_STATUS[CVE-2016-6156] = "fixed-version: Fixed after version 4.7rc7"
+
+CVE_STATUS[CVE-2016-6162] = "fixed-version: Fixed after version 4.7"
+
+CVE_STATUS[CVE-2016-6187] = "fixed-version: Fixed after version 4.7rc7"
+
+CVE_STATUS[CVE-2016-6197] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-6198] = "fixed-version: Fixed after version 4.6"
+
+CVE_STATUS[CVE-2016-6213] = "fixed-version: Fixed after version 4.9rc1"
+
+CVE_STATUS[CVE-2016-6327] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-6480] = "fixed-version: Fixed after version 4.8rc3"
+
+CVE_STATUS[CVE-2016-6516] = "fixed-version: Fixed after version 4.8rc1"
+
+# Skipping CVE-2016-6753, no affected_versions
+
+CVE_STATUS[CVE-2016-6786] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2016-6787] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2016-6828] = "fixed-version: Fixed after version 4.8rc5"
+
+CVE_STATUS[CVE-2016-7039] = "fixed-version: Fixed after version 4.9rc4"
+
+CVE_STATUS[CVE-2016-7042] = "fixed-version: Fixed after version 4.9rc3"
+
+CVE_STATUS[CVE-2016-7097] = "fixed-version: Fixed after version 4.9rc1"
+
+CVE_STATUS[CVE-2016-7117] = "fixed-version: Fixed after version 4.6rc1"
+
+# Skipping CVE-2016-7118, no affected_versions
+
+CVE_STATUS[CVE-2016-7425] = "fixed-version: Fixed after version 4.9rc1"
+
+CVE_STATUS[CVE-2016-7910] = "fixed-version: Fixed after version 4.8rc1"
+
+CVE_STATUS[CVE-2016-7911] = "fixed-version: Fixed after version 4.7rc7"
+
+CVE_STATUS[CVE-2016-7912] = "fixed-version: Fixed after version 4.6rc5"
+
+CVE_STATUS[CVE-2016-7913] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-7914] = "fixed-version: Fixed after version 4.6rc4"
+
+CVE_STATUS[CVE-2016-7915] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-7916] = "fixed-version: Fixed after version 4.6rc7"
+
+CVE_STATUS[CVE-2016-7917] = "fixed-version: Fixed after version 4.5rc6"
+
+CVE_STATUS[CVE-2016-8399] = "fixed-version: Fixed after version 4.9"
+
+# Skipping CVE-2016-8401, no affected_versions
+
+# Skipping CVE-2016-8402, no affected_versions
+
+# Skipping CVE-2016-8403, no affected_versions
+
+# Skipping CVE-2016-8404, no affected_versions
+
+CVE_STATUS[CVE-2016-8405] = "fixed-version: Fixed after version 4.10rc6"
+
+# Skipping CVE-2016-8406, no affected_versions
+
+# Skipping CVE-2016-8407, no affected_versions
+
+CVE_STATUS[CVE-2016-8630] = "fixed-version: Fixed after version 4.9rc4"
+
+CVE_STATUS[CVE-2016-8632] = "fixed-version: Fixed after version 4.9rc8"
+
+CVE_STATUS[CVE-2016-8633] = "fixed-version: Fixed after version 4.9rc4"
+
+CVE_STATUS[CVE-2016-8636] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2016-8645] = "fixed-version: Fixed after version 4.9rc6"
+
+CVE_STATUS[CVE-2016-8646] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2016-8650] = "fixed-version: Fixed after version 4.9rc7"
+
+CVE_STATUS[CVE-2016-8655] = "fixed-version: Fixed after version 4.9rc8"
+
+CVE_STATUS[CVE-2016-8658] = "fixed-version: Fixed after version 4.8rc7"
+
+# CVE-2016-8660 has no known resolution
+
+CVE_STATUS[CVE-2016-8666] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-9083] = "fixed-version: Fixed after version 4.9rc4"
+
+CVE_STATUS[CVE-2016-9084] = "fixed-version: Fixed after version 4.9rc4"
+
+CVE_STATUS[CVE-2016-9120] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-9178] = "fixed-version: Fixed after version 4.8rc7"
+
+CVE_STATUS[CVE-2016-9191] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2016-9313] = "fixed-version: Fixed after version 4.9rc3"
+
+CVE_STATUS[CVE-2016-9555] = "fixed-version: Fixed after version 4.9rc4"
+
+CVE_STATUS[CVE-2016-9576] = "fixed-version: Fixed after version 4.9"
+
+CVE_STATUS[CVE-2016-9588] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-9604] = "fixed-version: Fixed after version 4.11rc8"
+
+# Skipping CVE-2016-9644, no affected_versions
+
+CVE_STATUS[CVE-2016-9685] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-9754] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-9755] = "fixed-version: Fixed after version 4.9rc8"
+
+CVE_STATUS[CVE-2016-9756] = "fixed-version: Fixed after version 4.9rc7"
+
+CVE_STATUS[CVE-2016-9777] = "fixed-version: Fixed after version 4.9rc7"
+
+CVE_STATUS[CVE-2016-9793] = "fixed-version: Fixed after version 4.9rc8"
+
+CVE_STATUS[CVE-2016-9794] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-9806] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-9919] = "fixed-version: Fixed after version 4.9rc8"
+
+# Skipping CVE-2017-0403, no affected_versions
+
+# Skipping CVE-2017-0404, no affected_versions
+
+# Skipping CVE-2017-0426, no affected_versions
+
+# Skipping CVE-2017-0427, no affected_versions
+
+# CVE-2017-0507 has no known resolution
+
+# CVE-2017-0508 has no known resolution
+
+# Skipping CVE-2017-0510, no affected_versions
+
+# Skipping CVE-2017-0528, no affected_versions
+
+# Skipping CVE-2017-0537, no affected_versions
+
+# CVE-2017-0564 has no known resolution
+
+CVE_STATUS[CVE-2017-0605] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-0627] = "fixed-version: Fixed after version 4.14rc1"
+
+# CVE-2017-0630 has no known resolution
+
+# CVE-2017-0749 has no known resolution
+
+CVE_STATUS[CVE-2017-0750] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2017-0786] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-0861] = "fixed-version: Fixed after version 4.15rc3"
+
+CVE_STATUS[CVE-2017-1000] = "fixed-version: Fixed after version 4.13rc5"
+
+CVE_STATUS[CVE-2017-1000111] = "fixed-version: Fixed after version 4.13rc5"
+
+CVE_STATUS[CVE-2017-1000112] = "fixed-version: Fixed after version 4.13rc5"
+
+CVE_STATUS[CVE-2017-1000251] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-1000252] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-1000253] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2017-1000255] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-1000363] = "fixed-version: Fixed after version 4.12rc2"
+
+CVE_STATUS[CVE-2017-1000364] = "fixed-version: Fixed after version 4.12rc6"
+
+CVE_STATUS[CVE-2017-1000365] = "fixed-version: Fixed after version 4.12rc7"
+
+CVE_STATUS[CVE-2017-1000370] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-1000371] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-1000379] = "fixed-version: Fixed after version 4.12rc6"
+
+CVE_STATUS[CVE-2017-1000380] = "fixed-version: Fixed after version 4.12rc5"
+
+CVE_STATUS[CVE-2017-1000405] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2017-1000407] = "fixed-version: Fixed after version 4.15rc3"
+
+CVE_STATUS[CVE-2017-1000410] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2017-10661] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-10662] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-10663] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-10810] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-10911] = "fixed-version: Fixed after version 4.12rc7"
+
+CVE_STATUS[CVE-2017-11089] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-11176] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-11472] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-11473] = "fixed-version: Fixed after version 4.13rc2"
+
+CVE_STATUS[CVE-2017-11600] = "fixed-version: Fixed after version 4.13"
+
+CVE_STATUS[CVE-2017-12134] = "fixed-version: Fixed after version 4.13rc6"
+
+CVE_STATUS[CVE-2017-12146] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-12153] = "fixed-version: Fixed after version 4.14rc2"
+
+CVE_STATUS[CVE-2017-12154] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-12168] = "fixed-version: Fixed after version 4.9rc6"
+
+CVE_STATUS[CVE-2017-12188] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-12190] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-12192] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2017-12193] = "fixed-version: Fixed after version 4.14rc7"
+
+CVE_STATUS[CVE-2017-12762] = "fixed-version: Fixed after version 4.13rc4"
+
+CVE_STATUS[CVE-2017-13080] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2017-13166] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2017-13167] = "fixed-version: Fixed after version 4.5rc4"
+
+CVE_STATUS[CVE-2017-13168] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2017-13215] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2017-13216] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2017-13220] = "fixed-version: Fixed after version 3.19rc3"
+
+# CVE-2017-13221 has no known resolution
+
+# CVE-2017-13222 has no known resolution
+
+CVE_STATUS[CVE-2017-13305] = "fixed-version: Fixed after version 4.12rc5"
+
+CVE_STATUS[CVE-2017-13686] = "fixed-version: Fixed after version 4.13rc7"
+
+# CVE-2017-13693 has no known resolution
+
+# CVE-2017-13694 has no known resolution
+
+CVE_STATUS[CVE-2017-13695] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2017-13715] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2017-14051] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-14106] = "fixed-version: Fixed after version 4.12rc3"
+
+CVE_STATUS[CVE-2017-14140] = "fixed-version: Fixed after version 4.13rc6"
+
+CVE_STATUS[CVE-2017-14156] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-14340] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-14489] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2017-14497] = "fixed-version: Fixed after version 4.13"
+
+CVE_STATUS[CVE-2017-14954] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2017-14991] = "fixed-version: Fixed after version 4.14rc2"
+
+CVE_STATUS[CVE-2017-15102] = "fixed-version: Fixed after version 4.9rc1"
+
+CVE_STATUS[CVE-2017-15115] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2017-15116] = "fixed-version: Fixed after version 4.2rc1"
+
+CVE_STATUS[CVE-2017-15121] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2017-15126] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-15127] = "fixed-version: Fixed after version 4.13rc5"
+
+CVE_STATUS[CVE-2017-15128] = "fixed-version: Fixed after version 4.14rc8"
+
+CVE_STATUS[CVE-2017-15129] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-15265] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-15274] = "fixed-version: Fixed after version 4.12rc5"
+
+CVE_STATUS[CVE-2017-15299] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2017-15306] = "fixed-version: Fixed after version 4.14rc7"
+
+CVE_STATUS[CVE-2017-15537] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2017-15649] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-15868] = "fixed-version: Fixed after version 3.19rc3"
+
+CVE_STATUS[CVE-2017-15951] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2017-16525] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-16526] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-16527] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-16528] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-16529] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-16530] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-16531] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-16532] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-16533] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-16534] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-16535] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2017-16536] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-16537] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-16538] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2017-16643] = "fixed-version: Fixed after version 4.14rc7"
+
+CVE_STATUS[CVE-2017-16644] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2017-16645] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2017-16646] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-16647] = "fixed-version: Fixed after version 4.14"
+
+CVE_STATUS[CVE-2017-16648] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-16649] = "fixed-version: Fixed after version 4.14"
+
+CVE_STATUS[CVE-2017-16650] = "fixed-version: Fixed after version 4.14"
+
+CVE_STATUS[CVE-2017-16911] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-16912] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-16913] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-16914] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-16939] = "fixed-version: Fixed after version 4.14rc7"
+
+CVE_STATUS[CVE-2017-16994] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-16995] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-16996] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17052] = "fixed-version: Fixed after version 4.13rc7"
+
+CVE_STATUS[CVE-2017-17053] = "fixed-version: Fixed after version 4.13rc7"
+
+CVE_STATUS[CVE-2017-17448] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17449] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17450] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17558] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17712] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17741] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17805] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17806] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17807] = "fixed-version: Fixed after version 4.15rc3"
+
+CVE_STATUS[CVE-2017-17852] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17853] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17854] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17855] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17856] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17857] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17862] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-17863] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17864] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17975] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2017-18017] = "fixed-version: Fixed after version 4.11rc7"
+
+CVE_STATUS[CVE-2017-18075] = "fixed-version: Fixed after version 4.15rc7"
+
+CVE_STATUS[CVE-2017-18079] = "fixed-version: Fixed after version 4.13rc1"
+
+# CVE-2017-18169 has no known resolution
+
+CVE_STATUS[CVE-2017-18174] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2017-18193] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-18200] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-18202] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2017-18203] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-18204] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-18208] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2017-18216] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-18218] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-18221] = "fixed-version: Fixed after version 4.12rc4"
+
+CVE_STATUS[CVE-2017-18222] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-18224] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-18232] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2017-18241] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-18249] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-18255] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-18257] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-18261] = "fixed-version: Fixed after version 4.13rc6"
+
+CVE_STATUS[CVE-2017-18270] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2017-18344] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-18360] = "fixed-version: Fixed after version 4.12rc2"
+
+CVE_STATUS[CVE-2017-18379] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2017-18509] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-18549] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-18550] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-18551] = "fixed-version: Fixed after version 4.15rc9"
+
+CVE_STATUS[CVE-2017-18552] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-18595] = "fixed-version: Fixed after version 4.15rc6"
+
+CVE_STATUS[CVE-2017-2583] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-2584] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-2596] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-2618] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-2634] = "fixed-version: Fixed after version 2.6.25rc1"
+
+CVE_STATUS[CVE-2017-2636] = "fixed-version: Fixed after version 4.11rc2"
+
+CVE_STATUS[CVE-2017-2647] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2017-2671] = "fixed-version: Fixed after version 4.11rc6"
+
+CVE_STATUS[CVE-2017-5123] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-5546] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-5547] = "fixed-version: Fixed after version 4.10rc5"
+
+CVE_STATUS[CVE-2017-5548] = "fixed-version: Fixed after version 4.10rc5"
+
+CVE_STATUS[CVE-2017-5549] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-5550] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-5551] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-5576] = "fixed-version: Fixed after version 4.10rc6"
+
+CVE_STATUS[CVE-2017-5577] = "fixed-version: Fixed after version 4.10rc6"
+
+CVE_STATUS[CVE-2017-5669] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-5715] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2017-5753] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2017-5754] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2017-5897] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-5967] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-5970] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-5972] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2017-5986] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-6001] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-6074] = "fixed-version: Fixed after version 4.10"
+
+CVE_STATUS[CVE-2017-6214] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-6345] = "fixed-version: Fixed after version 4.10"
+
+CVE_STATUS[CVE-2017-6346] = "fixed-version: Fixed after version 4.10"
+
+CVE_STATUS[CVE-2017-6347] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-6348] = "fixed-version: Fixed after version 4.10"
+
+CVE_STATUS[CVE-2017-6353] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-6874] = "fixed-version: Fixed after version 4.11rc2"
+
+CVE_STATUS[CVE-2017-6951] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2017-7184] = "fixed-version: Fixed after version 4.11rc5"
+
+CVE_STATUS[CVE-2017-7187] = "fixed-version: Fixed after version 4.11rc5"
+
+CVE_STATUS[CVE-2017-7261] = "fixed-version: Fixed after version 4.11rc6"
+
+CVE_STATUS[CVE-2017-7273] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-7277] = "fixed-version: Fixed after version 4.11rc4"
+
+CVE_STATUS[CVE-2017-7294] = "fixed-version: Fixed after version 4.11rc6"
+
+CVE_STATUS[CVE-2017-7308] = "fixed-version: Fixed after version 4.11rc6"
+
+CVE_STATUS[CVE-2017-7346] = "fixed-version: Fixed after version 4.12rc5"
+
+# CVE-2017-7369 has no known resolution
+
+CVE_STATUS[CVE-2017-7374] = "fixed-version: Fixed after version 4.11rc4"
+
+CVE_STATUS[CVE-2017-7472] = "fixed-version: Fixed after version 4.11rc8"
+
+CVE_STATUS[CVE-2017-7477] = "fixed-version: Fixed after version 4.11"
+
+CVE_STATUS[CVE-2017-7482] = "fixed-version: Fixed after version 4.12rc7"
+
+CVE_STATUS[CVE-2017-7487] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-7495] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2017-7518] = "fixed-version: Fixed after version 4.12rc7"
+
+CVE_STATUS[CVE-2017-7533] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-7541] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-7542] = "fixed-version: Fixed after version 4.13rc2"
+
+CVE_STATUS[CVE-2017-7558] = "fixed-version: Fixed after version 4.13"
+
+CVE_STATUS[CVE-2017-7616] = "fixed-version: Fixed after version 4.11rc6"
+
+CVE_STATUS[CVE-2017-7618] = "fixed-version: Fixed after version 4.11rc8"
+
+CVE_STATUS[CVE-2017-7645] = "fixed-version: Fixed after version 4.11"
+
+CVE_STATUS[CVE-2017-7889] = "fixed-version: Fixed after version 4.11rc7"
+
+CVE_STATUS[CVE-2017-7895] = "fixed-version: Fixed after version 4.11"
+
+CVE_STATUS[CVE-2017-7979] = "fixed-version: Fixed after version 4.11rc8"
+
+CVE_STATUS[CVE-2017-8061] = "fixed-version: Fixed after version 4.11rc4"
+
+CVE_STATUS[CVE-2017-8062] = "fixed-version: Fixed after version 4.11rc2"
+
+CVE_STATUS[CVE-2017-8063] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-8064] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-8065] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-8066] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-8067] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-8068] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-8069] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-8070] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-8071] = "fixed-version: Fixed after version 4.10rc7"
+
+CVE_STATUS[CVE-2017-8072] = "fixed-version: Fixed after version 4.10rc7"
+
+CVE_STATUS[CVE-2017-8106] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2017-8240] = "fixed-version: Fixed after version 3.19rc6"
+
+# CVE-2017-8242 has no known resolution
+
+# CVE-2017-8244 has no known resolution
+
+# CVE-2017-8245 has no known resolution
+
+# CVE-2017-8246 has no known resolution
+
+CVE_STATUS[CVE-2017-8797] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-8824] = "fixed-version: Fixed after version 4.15rc3"
+
+CVE_STATUS[CVE-2017-8831] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-8890] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-8924] = "fixed-version: Fixed after version 4.11rc2"
+
+CVE_STATUS[CVE-2017-8925] = "fixed-version: Fixed after version 4.11rc2"
+
+CVE_STATUS[CVE-2017-9059] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-9074] = "fixed-version: Fixed after version 4.12rc2"
+
+CVE_STATUS[CVE-2017-9075] = "fixed-version: Fixed after version 4.12rc2"
+
+CVE_STATUS[CVE-2017-9076] = "fixed-version: Fixed after version 4.12rc2"
+
+CVE_STATUS[CVE-2017-9077] = "fixed-version: Fixed after version 4.12rc2"
+
+CVE_STATUS[CVE-2017-9150] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-9211] = "fixed-version: Fixed after version 4.12rc3"
+
+CVE_STATUS[CVE-2017-9242] = "fixed-version: Fixed after version 4.12rc3"
+
+CVE_STATUS[CVE-2017-9605] = "fixed-version: Fixed after version 4.12rc5"
+
+CVE_STATUS[CVE-2017-9725] = "fixed-version: Fixed after version 4.3rc7"
+
+CVE_STATUS[CVE-2017-9984] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-9985] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-9986] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2018-1000004] = "fixed-version: Fixed after version 4.15rc9"
+
+CVE_STATUS[CVE-2018-1000026] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2018-1000028] = "fixed-version: Fixed after version 4.15"
+
+CVE_STATUS[CVE-2018-1000199] = "fixed-version: Fixed after version 4.16"
+
+CVE_STATUS[CVE-2018-1000200] = "fixed-version: Fixed after version 4.17rc5"
+
+CVE_STATUS[CVE-2018-1000204] = "fixed-version: Fixed after version 4.17rc7"
+
+CVE_STATUS[CVE-2018-10021] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-10074] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-10087] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2018-10124] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2018-10322] = "fixed-version: Fixed after version 4.17rc4"
+
+CVE_STATUS[CVE-2018-10323] = "fixed-version: Fixed after version 4.17rc4"
+
+CVE_STATUS[CVE-2018-1065] = "fixed-version: Fixed after version 4.16rc3"
+
+CVE_STATUS[CVE-2018-1066] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2018-10675] = "fixed-version: Fixed after version 4.13rc6"
+
+CVE_STATUS[CVE-2018-1068] = "fixed-version: Fixed after version 4.16rc5"
+
+CVE_STATUS[CVE-2018-10840] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-10853] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-1087] = "fixed-version: Fixed after version 4.16rc7"
+
+# CVE-2018-10872 has no known resolution
+
+CVE_STATUS[CVE-2018-10876] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10877] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10878] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10879] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10880] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10881] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10882] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10883] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10901] = "fixed-version: Fixed after version 2.6.36rc1"
+
+CVE_STATUS[CVE-2018-10902] = "fixed-version: Fixed after version 4.18rc6"
+
+CVE_STATUS[CVE-2018-1091] = "fixed-version: Fixed after version 4.14rc2"
+
+CVE_STATUS[CVE-2018-1092] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2018-1093] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2018-10938] = "fixed-version: Fixed after version 4.13rc5"
+
+CVE_STATUS[CVE-2018-1094] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2018-10940] = "fixed-version: Fixed after version 4.17rc3"
+
+CVE_STATUS[CVE-2018-1095] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2018-1108] = "fixed-version: Fixed after version 4.17rc2"
+
+CVE_STATUS[CVE-2018-1118] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-1120] = "fixed-version: Fixed after version 4.17rc6"
+
+# CVE-2018-1121 has no known resolution
+
+CVE_STATUS[CVE-2018-11232] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2018-1128] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-1129] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-1130] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-11412] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-11506] = "fixed-version: Fixed after version 4.17rc7"
+
+CVE_STATUS[CVE-2018-11508] = "fixed-version: Fixed after version 4.17rc5"
+
+# CVE-2018-11987 has no known resolution
+
+CVE_STATUS[CVE-2018-12126] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2018-12127] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2018-12130] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2018-12207] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2018-12232] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-12233] = "fixed-version: Fixed after version 4.18rc2"
+
+CVE_STATUS[CVE-2018-12633] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-12714] = "fixed-version: Fixed after version 4.18rc2"
+
+CVE_STATUS[CVE-2018-12896] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-12904] = "fixed-version: Fixed after version 4.18rc1"
+
+# CVE-2018-12928 has no known resolution
+
+# CVE-2018-12929 has no known resolution
+
+# CVE-2018-12930 has no known resolution
+
+# CVE-2018-12931 has no known resolution
+
+CVE_STATUS[CVE-2018-13053] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-13093] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-13094] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-13095] = "fixed-version: Fixed after version 4.18rc3"
+
+CVE_STATUS[CVE-2018-13096] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-13097] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-13098] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-13099] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-13100] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-13405] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-13406] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-14609] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14610] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14611] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14612] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14613] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14614] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14615] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14616] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14617] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14619] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2018-14625] = "fixed-version: Fixed after version 4.20rc6"
+
+CVE_STATUS[CVE-2018-14633] = "fixed-version: Fixed after version 4.19rc6"
+
+CVE_STATUS[CVE-2018-14634] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2018-14641] = "fixed-version: Fixed after version 4.19rc4"
+
+CVE_STATUS[CVE-2018-14646] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2018-14656] = "fixed-version: Fixed after version 4.19rc2"
+
+CVE_STATUS[CVE-2018-14678] = "fixed-version: Fixed after version 4.18rc8"
+
+CVE_STATUS[CVE-2018-14734] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-15471] = "fixed-version: Fixed after version 4.19rc7"
+
+CVE_STATUS[CVE-2018-15572] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-15594] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-16276] = "fixed-version: Fixed after version 4.18rc5"
+
+CVE_STATUS[CVE-2018-16597] = "fixed-version: Fixed after version 4.8rc1"
+
+CVE_STATUS[CVE-2018-16658] = "fixed-version: Fixed after version 4.19rc2"
+
+CVE_STATUS[CVE-2018-16862] = "fixed-version: Fixed after version 4.20rc5"
+
+CVE_STATUS[CVE-2018-16871] = "fixed-version: Fixed after version 4.20rc3"
+
+CVE_STATUS[CVE-2018-16880] = "fixed-version: Fixed after version 5.0rc5"
+
+CVE_STATUS[CVE-2018-16882] = "fixed-version: Fixed after version 4.20"
+
+CVE_STATUS[CVE-2018-16884] = "fixed-version: Fixed after version 5.0rc1"
+
+# CVE-2018-16885 has no known resolution
+
+CVE_STATUS[CVE-2018-17182] = "fixed-version: Fixed after version 4.19rc4"
+
+CVE_STATUS[CVE-2018-17972] = "fixed-version: Fixed after version 4.19rc7"
+
+# CVE-2018-17977 has no known resolution
+
+CVE_STATUS[CVE-2018-18021] = "fixed-version: Fixed after version 4.19rc7"
+
+CVE_STATUS[CVE-2018-18281] = "fixed-version: Fixed after version 4.19"
+
+CVE_STATUS[CVE-2018-18386] = "fixed-version: Fixed after version 4.15rc6"
+
+CVE_STATUS[CVE-2018-18397] = "fixed-version: Fixed after version 4.20rc5"
+
+CVE_STATUS[CVE-2018-18445] = "fixed-version: Fixed after version 4.19rc7"
+
+CVE_STATUS[CVE-2018-18559] = "fixed-version: Fixed after version 4.15rc2"
+
+# CVE-2018-18653 has no known resolution
+
+CVE_STATUS[CVE-2018-18690] = "fixed-version: Fixed after version 4.17rc4"
+
+CVE_STATUS[CVE-2018-18710] = "fixed-version: Fixed after version 4.20rc1"
+
+CVE_STATUS[CVE-2018-18955] = "fixed-version: Fixed after version 4.20rc2"
+
+CVE_STATUS[CVE-2018-19406] = "fixed-version: Fixed after version 4.20rc5"
+
+CVE_STATUS[CVE-2018-19407] = "fixed-version: Fixed after version 4.20rc5"
+
+CVE_STATUS[CVE-2018-19824] = "fixed-version: Fixed after version 4.20rc6"
+
+CVE_STATUS[CVE-2018-19854] = "fixed-version: Fixed after version 4.20rc3"
+
+CVE_STATUS[CVE-2018-19985] = "fixed-version: Fixed after version 4.20"
+
+CVE_STATUS[CVE-2018-20169] = "fixed-version: Fixed after version 4.20rc6"
+
+CVE_STATUS[CVE-2018-20449] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2018-20509] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2018-20510] = "fixed-version: Fixed after version 4.16rc3"
+
+CVE_STATUS[CVE-2018-20511] = "fixed-version: Fixed after version 4.19rc5"
+
+CVE_STATUS[CVE-2018-20669] = "fixed-version: Fixed after version 5.0rc1"
+
+CVE_STATUS[CVE-2018-20784] = "fixed-version: Fixed after version 5.0rc1"
+
+CVE_STATUS[CVE-2018-20836] = "fixed-version: Fixed after version 4.20rc1"
+
+CVE_STATUS[CVE-2018-20854] = "fixed-version: Fixed after version 4.20rc1"
+
+CVE_STATUS[CVE-2018-20855] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-20856] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-20961] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2018-20976] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-21008] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-25015] = "fixed-version: Fixed after version 4.15rc9"
+
+CVE_STATUS[CVE-2018-25020] = "fixed-version: Fixed after version 4.17rc7"
+
+# CVE-2018-3574 has no known resolution
+
+CVE_STATUS[CVE-2018-3620] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-3639] = "fixed-version: Fixed after version 4.17rc7"
+
+CVE_STATUS[CVE-2018-3646] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-3665] = "fixed-version: Fixed after version 3.7rc1"
+
+CVE_STATUS[CVE-2018-3693] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-5332] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2018-5333] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2018-5344] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2018-5390] = "fixed-version: Fixed after version 4.18rc7"
+
+CVE_STATUS[CVE-2018-5391] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-5703] = "fixed-version: Fixed after version 4.16rc5"
+
+CVE_STATUS[CVE-2018-5750] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2018-5803] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2018-5814] = "fixed-version: Fixed after version 4.17rc6"
+
+CVE_STATUS[CVE-2018-5848] = "fixed-version: Fixed after version 4.16rc1"
+
+# Skipping CVE-2018-5856, no affected_versions
+
+CVE_STATUS[CVE-2018-5873] = "fixed-version: Fixed after version 4.11rc8"
+
+CVE_STATUS[CVE-2018-5953] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2018-5995] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2018-6412] = "fixed-version: Fixed after version 4.16rc5"
+
+CVE_STATUS[CVE-2018-6554] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2018-6555] = "fixed-version: Fixed after version 4.17rc1"
+
+# CVE-2018-6559 has no known resolution
+
+CVE_STATUS[CVE-2018-6927] = "fixed-version: Fixed after version 4.15rc9"
+
+CVE_STATUS[CVE-2018-7191] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2018-7273] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2018-7480] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2018-7492] = "fixed-version: Fixed after version 4.15rc3"
+
+CVE_STATUS[CVE-2018-7566] = "fixed-version: Fixed after version 4.16rc2"
+
+CVE_STATUS[CVE-2018-7740] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-7754] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2018-7755] = "fixed-version: Fixed after version 4.19rc5"
+
+CVE_STATUS[CVE-2018-7757] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2018-7995] = "fixed-version: Fixed after version 4.16rc5"
+
+CVE_STATUS[CVE-2018-8043] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2018-8087] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2018-8781] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-8822] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-8897] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-9363] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-9385] = "fixed-version: Fixed after version 4.17rc3"
+
+CVE_STATUS[CVE-2018-9415] = "fixed-version: Fixed after version 4.17rc3"
+
+CVE_STATUS[CVE-2018-9422] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2018-9465] = "fixed-version: Fixed after version 4.15rc6"
+
+CVE_STATUS[CVE-2018-9516] = "fixed-version: Fixed after version 4.18rc5"
+
+CVE_STATUS[CVE-2018-9517] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2018-9518] = "fixed-version: Fixed after version 4.16rc3"
+
+CVE_STATUS[CVE-2018-9568] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2019-0136] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-0145] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-0146] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-0147] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-0148] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-0149] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-0154] = "fixed-version: Fixed after version 5.4rc8"
+
+CVE_STATUS[CVE-2019-0155] = "fixed-version: Fixed after version 5.4rc8"
+
+CVE_STATUS[CVE-2019-10124] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-10125] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-10126] = "fixed-version: Fixed after version 5.2rc6"
+
+# CVE-2019-10140 has no known resolution
+
+CVE_STATUS[CVE-2019-10142] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-10207] = "fixed-version: Fixed after version 5.3rc3"
+
+CVE_STATUS[CVE-2019-10220] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-10638] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-10639] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-11085] = "fixed-version: Fixed after version 5.0rc3"
+
+CVE_STATUS[CVE-2019-11091] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-11135] = "fixed-version: Fixed after version 5.4rc8"
+
+CVE_STATUS[CVE-2019-11190] = "fixed-version: Fixed after version 4.8rc5"
+
+CVE_STATUS[CVE-2019-11191] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-1125] = "fixed-version: Fixed after version 5.3rc4"
+
+CVE_STATUS[CVE-2019-11477] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-11478] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-11479] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-11486] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-11487] = "fixed-version: Fixed after version 5.1rc5"
+
+CVE_STATUS[CVE-2019-11599] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-11683] = "fixed-version: Fixed after version 5.1"
+
+CVE_STATUS[CVE-2019-11810] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-11811] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-11815] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-11833] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-11884] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-12378] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2019-12379] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-12380] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2019-12381] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2019-12382] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-12454] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-12455] = "fixed-version: Fixed after version 5.3rc1"
+
+# CVE-2019-12456 has no known resolution
+
+CVE_STATUS[CVE-2019-12614] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-12615] = "fixed-version: Fixed after version 5.2rc4"
+
+CVE_STATUS[CVE-2019-12817] = "fixed-version: Fixed after version 5.2rc7"
+
+CVE_STATUS[CVE-2019-12818] = "fixed-version: Fixed after version 5.0"
+
+CVE_STATUS[CVE-2019-12819] = "fixed-version: Fixed after version 5.0rc8"
+
+CVE_STATUS[CVE-2019-12881] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2019-12984] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-13233] = "fixed-version: Fixed after version 5.2rc4"
+
+CVE_STATUS[CVE-2019-13272] = "fixed-version: Fixed after version 5.2"
+
+CVE_STATUS[CVE-2019-13631] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-13648] = "fixed-version: Fixed after version 5.3rc2"
+
+CVE_STATUS[CVE-2019-14283] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-14284] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-14615] = "fixed-version: Fixed after version 5.5rc7"
+
+CVE_STATUS[CVE-2019-14763] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2019-14814] = "fixed-version: Fixed after version 5.3"
+
+CVE_STATUS[CVE-2019-14815] = "fixed-version: Fixed after version 5.3"
+
+CVE_STATUS[CVE-2019-14816] = "fixed-version: Fixed after version 5.3"
+
+CVE_STATUS[CVE-2019-14821] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-14835] = "fixed-version: Fixed after version 5.3"
+
+CVE_STATUS[CVE-2019-14895] = "fixed-version: Fixed after version 5.5rc3"
+
+CVE_STATUS[CVE-2019-14896] = "fixed-version: Fixed after version 5.5"
+
+CVE_STATUS[CVE-2019-14897] = "fixed-version: Fixed after version 5.5"
+
+# CVE-2019-14898 has no known resolution
+
+CVE_STATUS[CVE-2019-14901] = "fixed-version: Fixed after version 5.5rc3"
+
+CVE_STATUS[CVE-2019-15030] = "fixed-version: Fixed after version 5.3rc8"
+
+CVE_STATUS[CVE-2019-15031] = "fixed-version: Fixed after version 5.3rc8"
+
+CVE_STATUS[CVE-2019-15090] = "fixed-version: Fixed after version 5.2rc2"
+
+CVE_STATUS[CVE-2019-15098] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-15099] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-15117] = "fixed-version: Fixed after version 5.3rc5"
+
+CVE_STATUS[CVE-2019-15118] = "fixed-version: Fixed after version 5.3rc5"
+
+CVE_STATUS[CVE-2019-15211] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15212] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2019-15213] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15214] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-15215] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15216] = "fixed-version: Fixed after version 5.1"
+
+CVE_STATUS[CVE-2019-15217] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15218] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2019-15219] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2019-15220] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15221] = "fixed-version: Fixed after version 5.2"
+
+CVE_STATUS[CVE-2019-15222] = "fixed-version: Fixed after version 5.3rc3"
+
+CVE_STATUS[CVE-2019-15223] = "fixed-version: Fixed after version 5.2rc3"
+
+# CVE-2019-15239 has no known resolution
+
+# CVE-2019-15290 has no known resolution
+
+CVE_STATUS[CVE-2019-15291] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-15292] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-15504] = "fixed-version: Fixed after version 5.3"
+
+CVE_STATUS[CVE-2019-15505] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-15538] = "fixed-version: Fixed after version 5.3rc6"
+
+CVE_STATUS[CVE-2019-15666] = "fixed-version: Fixed after version 5.1"
+
+# CVE-2019-15791 has no known resolution
+
+# CVE-2019-15792 has no known resolution
+
+# CVE-2019-15793 has no known resolution
+
+CVE_STATUS[CVE-2019-15794] = "fixed-version: Fixed after version 5.12"
+
+CVE_STATUS[CVE-2019-15807] = "fixed-version: Fixed after version 5.2rc3"
+
+# CVE-2019-15902 has no known resolution
+
+CVE_STATUS[CVE-2019-15916] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-15917] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-15918] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-15919] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-15920] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-15921] = "fixed-version: Fixed after version 5.1rc3"
+
+CVE_STATUS[CVE-2019-15922] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-15923] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-15924] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-15925] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15926] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15927] = "fixed-version: Fixed after version 5.0rc2"
+
+# CVE-2019-16089 has no known resolution
+
+CVE_STATUS[CVE-2019-16229] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-16230] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-16231] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-16232] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-16233] = "fixed-version: Fixed after version 5.4rc5"
+
+CVE_STATUS[CVE-2019-16234] = "fixed-version: Fixed after version 5.4rc4"
+
+CVE_STATUS[CVE-2019-16413] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-16714] = "fixed-version: Fixed after version 5.3rc7"
+
+CVE_STATUS[CVE-2019-16746] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-16921] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2019-16994] = "fixed-version: Fixed after version 5.0"
+
+CVE_STATUS[CVE-2019-16995] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-17052] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-17053] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-17054] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-17055] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-17056] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-17075] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-17133] = "fixed-version: Fixed after version 5.4rc4"
+
+CVE_STATUS[CVE-2019-17351] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-17666] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-18198] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-18282] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-18660] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-18675] = "fixed-version: Fixed after version 4.17rc5"
+
+# CVE-2019-18680 has no known resolution
+
+CVE_STATUS[CVE-2019-18683] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-18786] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-18805] = "fixed-version: Fixed after version 5.1rc7"
+
+CVE_STATUS[CVE-2019-18806] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-18807] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-18808] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-18809] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-18810] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-18811] = "fixed-version: Fixed after version 5.4rc7"
+
+CVE_STATUS[CVE-2019-18812] = "fixed-version: Fixed after version 5.4rc7"
+
+CVE_STATUS[CVE-2019-18813] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-18814] = "fixed-version: Fixed after version 5.7rc7"
+
+CVE_STATUS[CVE-2019-18885] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-19036] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19037] = "fixed-version: Fixed after version 5.5rc3"
+
+CVE_STATUS[CVE-2019-19039] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2019-19043] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19044] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-19045] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-19046] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19047] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-19048] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19049] = "fixed-version: Fixed after version 5.4rc5"
+
+CVE_STATUS[CVE-2019-19050] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19051] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-19052] = "fixed-version: Fixed after version 5.4rc7"
+
+CVE_STATUS[CVE-2019-19053] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19054] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19055] = "fixed-version: Fixed after version 5.4rc4"
+
+CVE_STATUS[CVE-2019-19056] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19057] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19058] = "fixed-version: Fixed after version 5.4rc4"
+
+CVE_STATUS[CVE-2019-19059] = "fixed-version: Fixed after version 5.4rc4"
+
+CVE_STATUS[CVE-2019-19060] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19061] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19062] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19063] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19064] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19065] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19066] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19067] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-19068] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19069] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19070] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19071] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19072] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19073] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19074] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19075] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-19076] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19077] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19078] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19079] = "fixed-version: Fixed after version 5.3"
+
+CVE_STATUS[CVE-2019-19080] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19081] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19082] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19083] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-19227] = "fixed-version: Fixed after version 5.1rc3"
+
+CVE_STATUS[CVE-2019-19241] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19252] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19318] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19319] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-19332] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19338] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19377] = "fixed-version: Fixed after version 5.7rc1"
+
+# CVE-2019-19378 has no known resolution
+
+CVE_STATUS[CVE-2019-19447] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19448] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2019-19449] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2019-19462] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2019-19523] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19524] = "fixed-version: Fixed after version 5.4rc8"
+
+CVE_STATUS[CVE-2019-19525] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-19526] = "fixed-version: Fixed after version 5.4rc4"
+
+CVE_STATUS[CVE-2019-19527] = "fixed-version: Fixed after version 5.3rc4"
+
+CVE_STATUS[CVE-2019-19528] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19529] = "fixed-version: Fixed after version 5.4rc7"
+
+CVE_STATUS[CVE-2019-19530] = "fixed-version: Fixed after version 5.3rc5"
+
+CVE_STATUS[CVE-2019-19531] = "fixed-version: Fixed after version 5.3rc4"
+
+CVE_STATUS[CVE-2019-19532] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-19533] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19534] = "fixed-version: Fixed after version 5.4rc7"
+
+CVE_STATUS[CVE-2019-19535] = "fixed-version: Fixed after version 5.3rc4"
+
+CVE_STATUS[CVE-2019-19536] = "fixed-version: Fixed after version 5.3rc4"
+
+CVE_STATUS[CVE-2019-19537] = "fixed-version: Fixed after version 5.3rc5"
+
+CVE_STATUS[CVE-2019-19543] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-19602] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19767] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19768] = "fixed-version: Fixed after version 5.6rc4"
+
+CVE_STATUS[CVE-2019-19769] = "fixed-version: Fixed after version 5.6rc5"
+
+CVE_STATUS[CVE-2019-19770] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2019-19807] = "fixed-version: Fixed after version 5.4rc7"
+
+CVE_STATUS[CVE-2019-19813] = "fixed-version: Fixed after version 5.2rc1"
+
+# CVE-2019-19814 has no known resolution
+
+CVE_STATUS[CVE-2019-19815] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-19816] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-19922] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19927] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-19947] = "fixed-version: Fixed after version 5.5rc3"
+
+CVE_STATUS[CVE-2019-19965] = "fixed-version: Fixed after version 5.5rc2"
+
+CVE_STATUS[CVE-2019-19966] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-1999] = "fixed-version: Fixed after version 5.1rc3"
+
+CVE_STATUS[CVE-2019-20054] = "fixed-version: Fixed after version 5.1rc3"
+
+CVE_STATUS[CVE-2019-20095] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-20096] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-2024] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2019-2025] = "fixed-version: Fixed after version 4.20rc5"
+
+CVE_STATUS[CVE-2019-20422] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-2054] = "fixed-version: Fixed after version 4.8rc1"
+
+CVE_STATUS[CVE-2019-20636] = "fixed-version: Fixed after version 5.5rc6"
+
+# CVE-2019-20794 has no known resolution
+
+CVE_STATUS[CVE-2019-20806] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-20810] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2019-20811] = "fixed-version: Fixed after version 5.1rc3"
+
+CVE_STATUS[CVE-2019-20812] = "fixed-version: Fixed after version 5.5rc3"
+
+CVE_STATUS[CVE-2019-20908] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-20934] = "fixed-version: Fixed after version 5.3rc2"
+
+CVE_STATUS[CVE-2019-2101] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-2181] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-2182] = "fixed-version: Fixed after version 4.16rc3"
+
+CVE_STATUS[CVE-2019-2213] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-2214] = "fixed-version: Fixed after version 5.3rc2"
+
+CVE_STATUS[CVE-2019-2215] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2019-25044] = "fixed-version: Fixed after version 5.2rc4"
+
+CVE_STATUS[CVE-2019-25045] = "fixed-version: Fixed after version 5.1"
+
+CVE_STATUS[CVE-2019-3016] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2019-3459] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-3460] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-3701] = "fixed-version: Fixed after version 5.0rc3"
+
+CVE_STATUS[CVE-2019-3819] = "fixed-version: Fixed after version 5.0rc6"
+
+CVE_STATUS[CVE-2019-3837] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2019-3846] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-3874] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-3882] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-3887] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-3892] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-3896] = "fixed-version: Fixed after version 2.6.35rc1"
+
+CVE_STATUS[CVE-2019-3900] = "fixed-version: Fixed after version 5.2rc4"
+
+CVE_STATUS[CVE-2019-3901] = "fixed-version: Fixed after version 4.6rc6"
+
+CVE_STATUS[CVE-2019-5108] = "fixed-version: Fixed after version 5.3"
+
+# Skipping CVE-2019-5489, no affected_versions
+
+CVE_STATUS[CVE-2019-6133] = "fixed-version: Fixed after version 5.0rc2"
+
+CVE_STATUS[CVE-2019-6974] = "fixed-version: Fixed after version 5.0rc6"
+
+CVE_STATUS[CVE-2019-7221] = "fixed-version: Fixed after version 5.0rc6"
+
+CVE_STATUS[CVE-2019-7222] = "fixed-version: Fixed after version 5.0rc6"
+
+CVE_STATUS[CVE-2019-7308] = "fixed-version: Fixed after version 5.0rc3"
+
+CVE_STATUS[CVE-2019-8912] = "fixed-version: Fixed after version 5.0rc8"
+
+CVE_STATUS[CVE-2019-8956] = "fixed-version: Fixed after version 5.0rc6"
+
+CVE_STATUS[CVE-2019-8980] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-9003] = "fixed-version: Fixed after version 5.0rc4"
+
+CVE_STATUS[CVE-2019-9162] = "fixed-version: Fixed after version 5.0rc7"
+
+CVE_STATUS[CVE-2019-9213] = "fixed-version: Fixed after version 5.0"
+
+CVE_STATUS[CVE-2019-9245] = "fixed-version: Fixed after version 5.0rc1"
+
+CVE_STATUS[CVE-2019-9444] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2019-9445] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-9453] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-9454] = "fixed-version: Fixed after version 4.15rc9"
+
+CVE_STATUS[CVE-2019-9455] = "fixed-version: Fixed after version 5.0rc1"
+
+CVE_STATUS[CVE-2019-9456] = "fixed-version: Fixed after version 4.16rc6"
+
+CVE_STATUS[CVE-2019-9457] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2019-9458] = "fixed-version: Fixed after version 4.19rc7"
+
+CVE_STATUS[CVE-2019-9466] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-9500] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-9503] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-9506] = "fixed-version: Fixed after version 5.2"
+
+CVE_STATUS[CVE-2019-9857] = "fixed-version: Fixed after version 5.1rc2"
+
+CVE_STATUS[CVE-2020-0009] = "fixed-version: Fixed after version 5.6rc3"
+
+CVE_STATUS[CVE-2020-0030] = "fixed-version: Fixed after version 4.16rc3"
+
+CVE_STATUS[CVE-2020-0041] = "fixed-version: Fixed after version 5.5rc2"
+
+CVE_STATUS[CVE-2020-0066] = "fixed-version: Fixed after version 4.3rc7"
+
+CVE_STATUS[CVE-2020-0067] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2020-0110] = "fixed-version: Fixed after version 5.6rc2"
+
+CVE_STATUS[CVE-2020-0255] = "fixed-version: Fixed after version 5.7rc4"
+
+CVE_STATUS[CVE-2020-0305] = "fixed-version: Fixed after version 5.5rc6"
+
+# CVE-2020-0347 has no known resolution
+
+CVE_STATUS[CVE-2020-0404] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2020-0423] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-0427] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2020-0429] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2020-0430] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2020-0431] = "fixed-version: Fixed after version 5.5rc6"
+
+CVE_STATUS[CVE-2020-0432] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2020-0433] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2020-0435] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2020-0444] = "fixed-version: Fixed after version 5.6rc4"
+
+CVE_STATUS[CVE-2020-0465] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2020-0466] = "fixed-version: Fixed after version 5.9rc2"
+
+CVE_STATUS[CVE-2020-0543] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-10135] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-10690] = "fixed-version: Fixed after version 5.5rc5"
+
+# CVE-2020-10708 has no known resolution
+
+CVE_STATUS[CVE-2020-10711] = "fixed-version: Fixed after version 5.7rc6"
+
+CVE_STATUS[CVE-2020-10720] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2020-10732] = "fixed-version: Fixed after version 5.7"
+
+CVE_STATUS[CVE-2020-10742] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2020-10751] = "fixed-version: Fixed after version 5.7rc4"
+
+CVE_STATUS[CVE-2020-10757] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-10766] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-10767] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-10768] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-10769] = "fixed-version: Fixed after version 5.0rc3"
+
+CVE_STATUS[CVE-2020-10773] = "fixed-version: Fixed after version 5.4rc6"
+
+# CVE-2020-10774 has no known resolution
+
+CVE_STATUS[CVE-2020-10781] = "fixed-version: Fixed after version 5.8rc6"
+
+CVE_STATUS[CVE-2020-10942] = "fixed-version: Fixed after version 5.6rc4"
+
+CVE_STATUS[CVE-2020-11494] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-11565] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-11608] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-11609] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-11668] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-11669] = "fixed-version: Fixed after version 5.2rc1"
+
+# CVE-2020-11725 has no known resolution
+
+CVE_STATUS[CVE-2020-11884] = "fixed-version: Fixed after version 5.7rc4"
+
+# CVE-2020-11935 has no known resolution
+
+CVE_STATUS[CVE-2020-12114] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2020-12351] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-12352] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-12362] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-12363] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-12364] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-12464] = "fixed-version: Fixed after version 5.7rc3"
+
+CVE_STATUS[CVE-2020-12465] = "fixed-version: Fixed after version 5.6rc6"
+
+CVE_STATUS[CVE-2020-12652] = "fixed-version: Fixed after version 5.5rc7"
+
+CVE_STATUS[CVE-2020-12653] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2020-12654] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2020-12655] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-12656] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-12657] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-12659] = "fixed-version: Fixed after version 5.7rc2"
+
+CVE_STATUS[CVE-2020-12768] = "fixed-version: Fixed after version 5.6rc4"
+
+CVE_STATUS[CVE-2020-12769] = "fixed-version: Fixed after version 5.5rc6"
+
+CVE_STATUS[CVE-2020-12770] = "fixed-version: Fixed after version 5.7rc3"
+
+CVE_STATUS[CVE-2020-12771] = "fixed-version: Fixed after version 5.8rc2"
+
+CVE_STATUS[CVE-2020-12826] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-12888] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-12912] = "fixed-version: Fixed after version 5.10rc4"
+
+CVE_STATUS[CVE-2020-13143] = "fixed-version: Fixed after version 5.7rc6"
+
+CVE_STATUS[CVE-2020-13974] = "fixed-version: Fixed after version 5.8rc1"
+
+# CVE-2020-14304 has no known resolution
+
+CVE_STATUS[CVE-2020-14305] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2020-14314] = "fixed-version: Fixed after version 5.9rc2"
+
+CVE_STATUS[CVE-2020-14331] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2020-14351] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-14353] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2020-14356] = "fixed-version: Fixed after version 5.8rc5"
+
+CVE_STATUS[CVE-2020-14381] = "fixed-version: Fixed after version 5.6rc6"
+
+CVE_STATUS[CVE-2020-14385] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2020-14386] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2020-14390] = "fixed-version: Fixed after version 5.9rc6"
+
+CVE_STATUS[CVE-2020-14416] = "fixed-version: Fixed after version 5.5"
+
+CVE_STATUS[CVE-2020-15393] = "fixed-version: Fixed after version 5.8rc3"
+
+CVE_STATUS[CVE-2020-15436] = "fixed-version: Fixed after version 5.8rc2"
+
+CVE_STATUS[CVE-2020-15437] = "fixed-version: Fixed after version 5.8rc7"
+
+CVE_STATUS[CVE-2020-15780] = "fixed-version: Fixed after version 5.8rc3"
+
+# CVE-2020-15802 has no known resolution
+
+CVE_STATUS[CVE-2020-15852] = "fixed-version: Fixed after version 5.8rc6"
+
+CVE_STATUS[CVE-2020-16119] = "fixed-version: Fixed after version 5.15rc2"
+
+CVE_STATUS[CVE-2020-16120] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-16166] = "fixed-version: Fixed after version 5.8"
+
+CVE_STATUS[CVE-2020-1749] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2020-24394] = "fixed-version: Fixed after version 5.8rc4"
+
+CVE_STATUS[CVE-2020-24490] = "fixed-version: Fixed after version 5.8"
+
+# CVE-2020-24502 has no known resolution
+
+# CVE-2020-24503 has no known resolution
+
+CVE_STATUS[CVE-2020-24504] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2020-24586] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2020-24587] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2020-24588] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2020-25211] = "fixed-version: Fixed after version 5.9rc7"
+
+CVE_STATUS[CVE-2020-25212] = "fixed-version: Fixed after version 5.9rc1"
+
+# CVE-2020-25220 has no known resolution
+
+CVE_STATUS[CVE-2020-25221] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2020-25284] = "fixed-version: Fixed after version 5.9rc5"
+
+CVE_STATUS[CVE-2020-25285] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2020-25639] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2020-25641] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2020-25643] = "fixed-version: Fixed after version 5.9rc7"
+
+CVE_STATUS[CVE-2020-25645] = "fixed-version: Fixed after version 5.9rc7"
+
+CVE_STATUS[CVE-2020-25656] = "fixed-version: Fixed after version 5.10rc2"
+
+# CVE-2020-25661 has no known resolution
+
+# CVE-2020-25662 has no known resolution
+
+CVE_STATUS[CVE-2020-25668] = "fixed-version: Fixed after version 5.10rc3"
+
+CVE_STATUS[CVE-2020-25669] = "fixed-version: Fixed after version 5.10rc5"
+
+CVE_STATUS[CVE-2020-25670] = "fixed-version: Fixed after version 5.12rc7"
+
+CVE_STATUS[CVE-2020-25671] = "fixed-version: Fixed after version 5.12rc7"
+
+CVE_STATUS[CVE-2020-25672] = "fixed-version: Fixed after version 5.12rc7"
+
+CVE_STATUS[CVE-2020-25673] = "fixed-version: Fixed after version 5.12rc7"
+
+CVE_STATUS[CVE-2020-25704] = "fixed-version: Fixed after version 5.10rc3"
+
+CVE_STATUS[CVE-2020-25705] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-26088] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2020-26139] = "fixed-version: Fixed after version 5.13rc4"
+
+# CVE-2020-26140 has no known resolution
+
+CVE_STATUS[CVE-2020-26141] = "fixed-version: Fixed after version 5.13rc4"
+
+# CVE-2020-26142 has no known resolution
+
+# CVE-2020-26143 has no known resolution
+
+CVE_STATUS[CVE-2020-26145] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2020-26147] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2020-26541] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2020-26555] = "fixed-version: Fixed after version 5.13rc1"
+
+# CVE-2020-26556 has no known resolution
+
+# CVE-2020-26557 has no known resolution
+
+CVE_STATUS[CVE-2020-26558] = "fixed-version: Fixed after version 5.13rc1"
+
+# CVE-2020-26559 has no known resolution
+
+# CVE-2020-26560 has no known resolution
+
+CVE_STATUS[CVE-2020-27066] = "fixed-version: Fixed after version 5.6"
+
+CVE_STATUS[CVE-2020-27067] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2020-27068] = "fixed-version: Fixed after version 5.6rc2"
+
+CVE_STATUS[CVE-2020-27152] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-27170] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2020-27171] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2020-27194] = "fixed-version: Fixed after version 5.9"
+
+CVE_STATUS[CVE-2020-2732] = "fixed-version: Fixed after version 5.6rc4"
+
+CVE_STATUS[CVE-2020-27673] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-27675] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-27777] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-27784] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-27786] = "fixed-version: Fixed after version 5.7rc6"
+
+CVE_STATUS[CVE-2020-27815] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-27820] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2020-27825] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-27830] = "fixed-version: Fixed after version 5.10rc7"
+
+CVE_STATUS[CVE-2020-27835] = "fixed-version: Fixed after version 5.10rc6"
+
+CVE_STATUS[CVE-2020-28097] = "fixed-version: Fixed after version 5.9rc6"
+
+CVE_STATUS[CVE-2020-28374] = "fixed-version: Fixed after version 5.11rc4"
+
+CVE_STATUS[CVE-2020-28588] = "fixed-version: Fixed after version 5.10rc7"
+
+CVE_STATUS[CVE-2020-28915] = "fixed-version: Fixed after version 5.9"
+
+CVE_STATUS[CVE-2020-28941] = "fixed-version: Fixed after version 5.10rc5"
+
+CVE_STATUS[CVE-2020-28974] = "fixed-version: Fixed after version 5.10rc3"
+
+CVE_STATUS[CVE-2020-29368] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-29369] = "fixed-version: Fixed after version 5.8rc7"
+
+CVE_STATUS[CVE-2020-29370] = "fixed-version: Fixed after version 5.6rc7"
+
+CVE_STATUS[CVE-2020-29371] = "fixed-version: Fixed after version 5.9rc2"
+
+CVE_STATUS[CVE-2020-29372] = "fixed-version: Fixed after version 5.7rc3"
+
+CVE_STATUS[CVE-2020-29373] = "fixed-version: Fixed after version 5.6rc2"
+
+CVE_STATUS[CVE-2020-29374] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-29534] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-29568] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-29569] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-29660] = "fixed-version: Fixed after version 5.10rc7"
+
+CVE_STATUS[CVE-2020-29661] = "fixed-version: Fixed after version 5.10rc7"
+
+CVE_STATUS[CVE-2020-35499] = "fixed-version: Fixed after version 5.11rc1"
+
+# CVE-2020-35501 has no known resolution
+
+CVE_STATUS[CVE-2020-35508] = "fixed-version: Fixed after version 5.10rc3"
+
+CVE_STATUS[CVE-2020-35513] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2020-35519] = "fixed-version: Fixed after version 5.10rc7"
+
+CVE_STATUS[CVE-2020-36158] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-36310] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-36311] = "fixed-version: Fixed after version 5.9rc5"
+
+CVE_STATUS[CVE-2020-36312] = "fixed-version: Fixed after version 5.9rc5"
+
+CVE_STATUS[CVE-2020-36313] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-36322] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-36385] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-36386] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2020-36387] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2020-36516] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2020-36557] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-36558] = "fixed-version: Fixed after version 5.6rc3"
+
+CVE_STATUS[CVE-2020-36691] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-36694] = "fixed-version: Fixed after version 5.10"
+
+CVE_STATUS[CVE-2020-3702] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2020-4788] = "fixed-version: Fixed after version 5.10rc5"
+
+CVE_STATUS[CVE-2020-7053] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2020-8428] = "fixed-version: Fixed after version 5.5"
+
+CVE_STATUS[CVE-2020-8647] = "fixed-version: Fixed after version 5.6rc5"
+
+CVE_STATUS[CVE-2020-8648] = "fixed-version: Fixed after version 5.6rc3"
+
+CVE_STATUS[CVE-2020-8649] = "fixed-version: Fixed after version 5.6rc5"
+
+CVE_STATUS[CVE-2020-8694] = "fixed-version: Fixed after version 5.10rc4"
+
+# CVE-2020-8832 has no known resolution
+
+CVE_STATUS[CVE-2020-8834] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2020-8835] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-8992] = "fixed-version: Fixed after version 5.6rc2"
+
+CVE_STATUS[CVE-2020-9383] = "fixed-version: Fixed after version 5.6rc4"
+
+CVE_STATUS[CVE-2020-9391] = "fixed-version: Fixed after version 5.6rc3"
+
+CVE_STATUS[CVE-2021-0129] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-0342] = "fixed-version: Fixed after version 5.8rc1"
+
+# CVE-2021-0399 has no known resolution
+
+CVE_STATUS[CVE-2021-0447] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2021-0448] = "fixed-version: Fixed after version 5.9rc7"
+
+CVE_STATUS[CVE-2021-0512] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-0605] = "fixed-version: Fixed after version 5.8"
+
+# CVE-2021-0606 has no known resolution
+
+# CVE-2021-0695 has no known resolution
+
+CVE_STATUS[CVE-2021-0707] = "fixed-version: Fixed after version 5.11rc3"
+
+CVE_STATUS[CVE-2021-0920] = "fixed-version: Fixed after version 5.14rc4"
+
+# CVE-2021-0924 has no known resolution
+
+CVE_STATUS[CVE-2021-0929] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2021-0935] = "fixed-version: Fixed after version 4.16rc7"
+
+# CVE-2021-0936 has no known resolution
+
+CVE_STATUS[CVE-2021-0937] = "fixed-version: Fixed after version 5.12rc8"
+
+CVE_STATUS[CVE-2021-0938] = "fixed-version: Fixed after version 5.10rc4"
+
+CVE_STATUS[CVE-2021-0941] = "fixed-version: Fixed after version 5.12rc1"
+
+# CVE-2021-0961 has no known resolution
+
+CVE_STATUS[CVE-2021-1048] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2021-20177] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2021-20194] = "fixed-version: Fixed after version 5.10rc1"
+
+# CVE-2021-20219 has no known resolution
+
+CVE_STATUS[CVE-2021-20226] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2021-20239] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2021-20261] = "fixed-version: Fixed after version 4.5rc5"
+
+CVE_STATUS[CVE-2021-20265] = "fixed-version: Fixed after version 4.5rc3"
+
+CVE_STATUS[CVE-2021-20268] = "fixed-version: Fixed after version 5.11rc5"
+
+CVE_STATUS[CVE-2021-20292] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2021-20317] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2021-20320] = "fixed-version: Fixed after version 5.15rc3"
+
+CVE_STATUS[CVE-2021-20321] = "fixed-version: Fixed after version 5.15rc5"
+
+CVE_STATUS[CVE-2021-20322] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-21781] = "fixed-version: Fixed after version 5.11rc7"
+
+CVE_STATUS[CVE-2021-22543] = "fixed-version: Fixed after version 5.13"
+
+CVE_STATUS[CVE-2021-22555] = "fixed-version: Fixed after version 5.12rc8"
+
+CVE_STATUS[CVE-2021-22600] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2021-23133] = "fixed-version: Fixed after version 5.12rc8"
+
+CVE_STATUS[CVE-2021-23134] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-26401] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2021-26708] = "fixed-version: Fixed after version 5.11rc7"
+
+CVE_STATUS[CVE-2021-26930] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-26931] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-26932] = "fixed-version: Fixed after version 5.12rc1"
+
+# CVE-2021-26934 has no known resolution
+
+CVE_STATUS[CVE-2021-27363] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-27364] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-27365] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-28038] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-28039] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-28375] = "fixed-version: Fixed after version 5.12rc3"
+
+CVE_STATUS[CVE-2021-28660] = "fixed-version: Fixed after version 5.12rc3"
+
+CVE_STATUS[CVE-2021-28688] = "fixed-version: Fixed after version 5.12rc6"
+
+CVE_STATUS[CVE-2021-28691] = "fixed-version: Fixed after version 5.13rc6"
+
+CVE_STATUS[CVE-2021-28711] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-28712] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-28713] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-28714] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-28715] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-28950] = "fixed-version: Fixed after version 5.12rc4"
+
+CVE_STATUS[CVE-2021-28951] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-28952] = "fixed-version: Fixed after version 5.12rc4"
+
+CVE_STATUS[CVE-2021-28964] = "fixed-version: Fixed after version 5.12rc4"
+
+CVE_STATUS[CVE-2021-28971] = "fixed-version: Fixed after version 5.12rc4"
+
+CVE_STATUS[CVE-2021-28972] = "fixed-version: Fixed after version 5.12rc4"
+
+CVE_STATUS[CVE-2021-29154] = "fixed-version: Fixed after version 5.12rc7"
+
+CVE_STATUS[CVE-2021-29155] = "fixed-version: Fixed after version 5.12rc8"
+
+CVE_STATUS[CVE-2021-29264] = "fixed-version: Fixed after version 5.12rc3"
+
+CVE_STATUS[CVE-2021-29265] = "fixed-version: Fixed after version 5.12rc3"
+
+CVE_STATUS[CVE-2021-29266] = "fixed-version: Fixed after version 5.12rc4"
+
+CVE_STATUS[CVE-2021-29646] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2021-29647] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2021-29648] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2021-29649] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2021-29650] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2021-29657] = "fixed-version: Fixed after version 5.12rc6"
+
+CVE_STATUS[CVE-2021-30002] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-30178] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-31440] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-3178] = "fixed-version: Fixed after version 5.11rc5"
+
+CVE_STATUS[CVE-2021-31829] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-31916] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2021-32078] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-32399] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-32606] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2021-33033] = "fixed-version: Fixed after version 5.12rc3"
+
+CVE_STATUS[CVE-2021-33034] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-33061] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2021-33098] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2021-33135] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2021-33200] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2021-3347] = "fixed-version: Fixed after version 5.11rc6"
+
+CVE_STATUS[CVE-2021-3348] = "fixed-version: Fixed after version 5.11rc6"
+
+CVE_STATUS[CVE-2021-33624] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2021-33655] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2021-33656] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-33909] = "fixed-version: Fixed after version 5.14rc3"
+
+CVE_STATUS[CVE-2021-3411] = "fixed-version: Fixed after version 5.10"
+
+CVE_STATUS[CVE-2021-3428] = "fixed-version: Fixed after version 5.9rc2"
+
+CVE_STATUS[CVE-2021-3444] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-34556] = "fixed-version: Fixed after version 5.14rc4"
+
+CVE_STATUS[CVE-2021-34693] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2021-3483] = "fixed-version: Fixed after version 5.12rc6"
+
+CVE_STATUS[CVE-2021-34866] = "fixed-version: Fixed after version 5.14"
+
+CVE_STATUS[CVE-2021-3489] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2021-3490] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2021-3491] = "fixed-version: Fixed after version 5.13rc1"
+
+# CVE-2021-3492 has no known resolution
+
+CVE_STATUS[CVE-2021-3493] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2021-34981] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-3501] = "fixed-version: Fixed after version 5.12rc8"
+
+CVE_STATUS[CVE-2021-35039] = "fixed-version: Fixed after version 5.13"
+
+CVE_STATUS[CVE-2021-3506] = "fixed-version: Fixed after version 5.13rc1"
+
+# CVE-2021-3542 has no known resolution
+
+CVE_STATUS[CVE-2021-3543] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-35477] = "fixed-version: Fixed after version 5.14rc4"
+
+CVE_STATUS[CVE-2021-3564] = "fixed-version: Fixed after version 5.13rc5"
+
+CVE_STATUS[CVE-2021-3573] = "fixed-version: Fixed after version 5.13rc5"
+
+CVE_STATUS[CVE-2021-3587] = "fixed-version: Fixed after version 5.13rc5"
+
+CVE_STATUS[CVE-2021-3600] = "fixed-version: Fixed after version 5.11"
+
+CVE_STATUS[CVE-2021-3609] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-3612] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-3635] = "fixed-version: Fixed after version 5.5rc7"
+
+CVE_STATUS[CVE-2021-3640] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2021-3653] = "fixed-version: Fixed after version 5.14rc7"
+
+CVE_STATUS[CVE-2021-3655] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-3656] = "fixed-version: Fixed after version 5.14rc7"
+
+CVE_STATUS[CVE-2021-3659] = "fixed-version: Fixed after version 5.12rc7"
+
+CVE_STATUS[CVE-2021-3669] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-3679] = "fixed-version: Fixed after version 5.14rc3"
+
+# CVE-2021-3714 has no known resolution
+
+CVE_STATUS[CVE-2021-3715] = "fixed-version: Fixed after version 5.6"
+
+CVE_STATUS[CVE-2021-37159] = "fixed-version: Fixed after version 5.14rc3"
+
+CVE_STATUS[CVE-2021-3732] = "fixed-version: Fixed after version 5.14rc6"
+
+CVE_STATUS[CVE-2021-3736] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-3739] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-3743] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2021-3744] = "fixed-version: Fixed after version 5.15rc4"
+
+CVE_STATUS[CVE-2021-3752] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2021-3753] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-37576] = "fixed-version: Fixed after version 5.14rc3"
+
+CVE_STATUS[CVE-2021-3759] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-3760] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2021-3764] = "fixed-version: Fixed after version 5.15rc4"
+
+CVE_STATUS[CVE-2021-3772] = "fixed-version: Fixed after version 5.15"
+
+CVE_STATUS[CVE-2021-38160] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-38166] = "fixed-version: Fixed after version 5.14rc6"
+
+CVE_STATUS[CVE-2021-38198] = "fixed-version: Fixed after version 5.13rc6"
+
+CVE_STATUS[CVE-2021-38199] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-38200] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2021-38201] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-38202] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-38203] = "fixed-version: Fixed after version 5.14rc2"
+
+CVE_STATUS[CVE-2021-38204] = "fixed-version: Fixed after version 5.14rc3"
+
+CVE_STATUS[CVE-2021-38205] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-38206] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2021-38207] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2021-38208] = "fixed-version: Fixed after version 5.13rc5"
+
+CVE_STATUS[CVE-2021-38209] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-38300] = "fixed-version: Fixed after version 5.15rc4"
+
+# CVE-2021-3847 has no known resolution
+
+# CVE-2021-3864 has no known resolution
+
+# CVE-2021-3892 has no known resolution
+
+CVE_STATUS[CVE-2021-3894] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2021-3896] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2021-3923] = "fixed-version: Fixed after version 5.16"
+
+CVE_STATUS[CVE-2021-39633] = "fixed-version: Fixed after version 5.14"
+
+CVE_STATUS[CVE-2021-39634] = "fixed-version: Fixed after version 5.9rc8"
+
+CVE_STATUS[CVE-2021-39636] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2021-39648] = "fixed-version: Fixed after version 5.11rc3"
+
+CVE_STATUS[CVE-2021-39656] = "fixed-version: Fixed after version 5.12rc3"
+
+CVE_STATUS[CVE-2021-39657] = "fixed-version: Fixed after version 5.11rc4"
+
+CVE_STATUS[CVE-2021-39685] = "fixed-version: Fixed after version 5.16rc5"
+
+CVE_STATUS[CVE-2021-39686] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2021-39698] = "fixed-version: Fixed after version 5.16rc5"
+
+CVE_STATUS[CVE-2021-39711] = "fixed-version: Fixed after version 4.18rc6"
+
+CVE_STATUS[CVE-2021-39713] = "fixed-version: Fixed after version 4.20rc1"
+
+CVE_STATUS[CVE-2021-39714] = "fixed-version: Fixed after version 4.12rc1"
+
+# CVE-2021-39800 has no known resolution
+
+# CVE-2021-39801 has no known resolution
+
+# CVE-2021-39802 has no known resolution
+
+CVE_STATUS[CVE-2021-4001] = "fixed-version: Fixed after version 5.16rc2"
+
+CVE_STATUS[CVE-2021-4002] = "fixed-version: Fixed after version 5.16rc3"
+
+CVE_STATUS[CVE-2021-4023] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-4028] = "fixed-version: Fixed after version 5.15rc4"
+
+CVE_STATUS[CVE-2021-4032] = "fixed-version: Fixed after version 5.15rc7"
+
+CVE_STATUS[CVE-2021-4037] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-40490] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-4083] = "fixed-version: Fixed after version 5.16rc4"
+
+CVE_STATUS[CVE-2021-4090] = "fixed-version: Fixed after version 5.16rc2"
+
+CVE_STATUS[CVE-2021-4093] = "fixed-version: Fixed after version 5.15rc7"
+
+CVE_STATUS[CVE-2021-4095] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2021-41073] = "fixed-version: Fixed after version 5.15rc2"
+
+CVE_STATUS[CVE-2021-4135] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2021-4148] = "fixed-version: Fixed after version 5.15"
+
+CVE_STATUS[CVE-2021-4149] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2021-4150] = "fixed-version: Fixed after version 5.15rc7"
+
+CVE_STATUS[CVE-2021-4154] = "fixed-version: Fixed after version 5.14rc2"
+
+CVE_STATUS[CVE-2021-4155] = "fixed-version: Fixed after version 5.16"
+
+CVE_STATUS[CVE-2021-4157] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-4159] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2021-41864] = "fixed-version: Fixed after version 5.15rc5"
+
+CVE_STATUS[CVE-2021-4197] = "fixed-version: Fixed after version 5.16"
+
+CVE_STATUS[CVE-2021-42008] = "fixed-version: Fixed after version 5.14rc7"
+
+CVE_STATUS[CVE-2021-4202] = "fixed-version: Fixed after version 5.16rc2"
+
+CVE_STATUS[CVE-2021-4203] = "fixed-version: Fixed after version 5.15rc4"
+
+CVE_STATUS[CVE-2021-4204] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2021-4218] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2021-42252] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-42327] = "fixed-version: Fixed after version 5.15"
+
+CVE_STATUS[CVE-2021-42739] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2021-43056] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2021-43057] = "fixed-version: Fixed after version 5.15rc3"
+
+CVE_STATUS[CVE-2021-43267] = "fixed-version: Fixed after version 5.15"
+
+CVE_STATUS[CVE-2021-43389] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2021-43975] = "fixed-version: Fixed after version 5.16rc2"
+
+CVE_STATUS[CVE-2021-43976] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2021-44733] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-44879] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2021-45095] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2021-45100] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-45402] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2021-45469] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2021-45480] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2021-45485] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-45486] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-45868] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2021-46283] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2022-0001] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-0002] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-0168] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-0171] = "fixed-version: Fixed after version 5.18rc4"
+
+CVE_STATUS[CVE-2022-0185] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-0264] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2022-0286] = "fixed-version: Fixed after version 5.14rc2"
+
+CVE_STATUS[CVE-2022-0322] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2022-0330] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-0382] = "fixed-version: Fixed after version 5.16"
+
+# CVE-2022-0400 has no known resolution
+
+CVE_STATUS[CVE-2022-0433] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-0435] = "fixed-version: Fixed after version 5.17rc4"
+
+CVE_STATUS[CVE-2022-0480] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2022-0487] = "fixed-version: Fixed after version 5.17rc4"
+
+CVE_STATUS[CVE-2022-0492] = "fixed-version: Fixed after version 5.17rc3"
+
+CVE_STATUS[CVE-2022-0494] = "fixed-version: Fixed after version 5.17rc5"
+
+CVE_STATUS[CVE-2022-0500] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-0516] = "fixed-version: Fixed after version 5.17rc4"
+
+CVE_STATUS[CVE-2022-0617] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-0644] = "fixed-version: Fixed after version 5.15rc7"
+
+CVE_STATUS[CVE-2022-0646] = "fixed-version: Fixed after version 5.17rc5"
+
+CVE_STATUS[CVE-2022-0742] = "fixed-version: Fixed after version 5.17rc7"
+
+CVE_STATUS[CVE-2022-0812] = "fixed-version: Fixed after version 5.8rc6"
+
+CVE_STATUS[CVE-2022-0847] = "fixed-version: Fixed after version 5.17rc6"
+
+CVE_STATUS[CVE-2022-0850] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2022-0854] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-0995] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-0998] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-1011] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-1012] = "fixed-version: Fixed after version 5.18rc6"
+
+CVE_STATUS[CVE-2022-1015] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1016] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1043] = "fixed-version: Fixed after version 5.14rc7"
+
+CVE_STATUS[CVE-2022-1048] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1055] = "fixed-version: Fixed after version 5.17rc3"
+
+# CVE-2022-1116 has no known resolution
+
+CVE_STATUS[CVE-2022-1158] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1184] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-1195] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2022-1198] = "fixed-version: Fixed after version 5.17rc6"
+
+CVE_STATUS[CVE-2022-1199] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-1204] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1205] = "fixed-version: Fixed after version 5.18rc1"
+
+# CVE-2022-1247 has no known resolution
+
+CVE_STATUS[CVE-2022-1263] = "fixed-version: Fixed after version 5.18rc3"
+
+CVE_STATUS[CVE-2022-1280] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2022-1353] = "fixed-version: Fixed after version 5.17"
+
+CVE_STATUS[CVE-2022-1419] = "fixed-version: Fixed after version 5.6rc2"
+
+CVE_STATUS[CVE-2022-1462] = "fixed-version: Fixed after version 5.19rc7"
+
+CVE_STATUS[CVE-2022-1508] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2022-1516] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1651] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1652] = "fixed-version: Fixed after version 5.18rc6"
+
+CVE_STATUS[CVE-2022-1671] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1678] = "fixed-version: Fixed after version 4.20rc1"
+
+CVE_STATUS[CVE-2022-1679] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-1729] = "fixed-version: Fixed after version 5.18"
+
+CVE_STATUS[CVE-2022-1734] = "fixed-version: Fixed after version 5.18rc6"
+
+CVE_STATUS[CVE-2022-1786] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2022-1789] = "fixed-version: Fixed after version 5.18"
+
+CVE_STATUS[CVE-2022-1836] = "fixed-version: Fixed after version 5.18rc5"
+
+CVE_STATUS[CVE-2022-1852] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-1882] = "fixed-version: Fixed after version 5.19rc8"
+
+CVE_STATUS[CVE-2022-1943] = "fixed-version: Fixed after version 5.18rc7"
+
+CVE_STATUS[CVE-2022-1966] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-1972] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-1973] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-1974] = "fixed-version: Fixed after version 5.18rc6"
+
+CVE_STATUS[CVE-2022-1975] = "fixed-version: Fixed after version 5.18rc6"
+
+CVE_STATUS[CVE-2022-1976] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-1998] = "fixed-version: Fixed after version 5.17rc3"
+
+CVE_STATUS[CVE-2022-20008] = "fixed-version: Fixed after version 5.17rc5"
+
+CVE_STATUS[CVE-2022-20132] = "fixed-version: Fixed after version 5.16rc5"
+
+CVE_STATUS[CVE-2022-20141] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2022-20148] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2022-20153] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2022-20154] = "fixed-version: Fixed after version 5.16rc8"
+
+CVE_STATUS[CVE-2022-20158] = "fixed-version: Fixed after version 5.17"
+
+CVE_STATUS[CVE-2022-20166] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2022-20368] = "fixed-version: Fixed after version 5.17"
+
+CVE_STATUS[CVE-2022-20369] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-20409] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2022-20421] = "fixed-version: Fixed after version 6.0rc4"
+
+CVE_STATUS[CVE-2022-20422] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-20423] = "fixed-version: Fixed after version 5.17"
+
+CVE_STATUS[CVE-2022-20424] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2022-20565] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2022-20566] = "fixed-version: Fixed after version 5.19"
+
+CVE_STATUS[CVE-2022-20567] = "fixed-version: Fixed after version 4.16rc5"
+
+CVE_STATUS[CVE-2022-20568] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2022-20572] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-2078] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-21123] = "fixed-version: Fixed after version 5.19rc3"
+
+CVE_STATUS[CVE-2022-21125] = "fixed-version: Fixed after version 5.19rc3"
+
+CVE_STATUS[CVE-2022-21166] = "fixed-version: Fixed after version 5.19rc3"
+
+CVE_STATUS[CVE-2022-21385] = "fixed-version: Fixed after version 4.20"
+
+CVE_STATUS[CVE-2022-21499] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-21505] = "fixed-version: Fixed after version 5.19rc8"
+
+CVE_STATUS[CVE-2022-2153] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-2196] = "cpe-stable-backport: Backported in 6.1.14"
+
+# CVE-2022-2209 has no known resolution
+
+CVE_STATUS[CVE-2022-22942] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-23036] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-23037] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-23038] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-23039] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-23040] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-23041] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-23042] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-2308] = "fixed-version: Fixed after version 6.0"
+
+CVE_STATUS[CVE-2022-2318] = "fixed-version: Fixed after version 5.19rc5"
+
+CVE_STATUS[CVE-2022-23222] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-2327] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2022-2380] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-23816] = "fixed-version: Fixed after version 5.19rc7"
+
+# CVE-2022-23825 has no known resolution
+
+CVE_STATUS[CVE-2022-23960] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-24122] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-24448] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-24958] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-24959] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-2503] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-25258] = "fixed-version: Fixed after version 5.17rc4"
+
+# CVE-2022-25265 has no known resolution
+
+CVE_STATUS[CVE-2022-25375] = "fixed-version: Fixed after version 5.17rc4"
+
+CVE_STATUS[CVE-2022-25636] = "fixed-version: Fixed after version 5.17rc6"
+
+CVE_STATUS[CVE-2022-2585] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-2586] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-2588] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-2590] = "fixed-version: Fixed after version 6.0rc3"
+
+CVE_STATUS[CVE-2022-2602] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-26365] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-26373] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-2639] = "fixed-version: Fixed after version 5.18rc4"
+
+CVE_STATUS[CVE-2022-26490] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-2663] = "fixed-version: Fixed after version 6.0rc5"
+
+# CVE-2022-26878 has no known resolution
+
+CVE_STATUS[CVE-2022-26966] = "fixed-version: Fixed after version 5.17rc6"
+
+CVE_STATUS[CVE-2022-27223] = "fixed-version: Fixed after version 5.17rc6"
+
+CVE_STATUS[CVE-2022-27666] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-27672] = "cpe-stable-backport: Backported in 6.1.12"
+
+CVE_STATUS[CVE-2022-2785] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-27950] = "fixed-version: Fixed after version 5.17rc5"
+
+CVE_STATUS[CVE-2022-28356] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-28388] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-28389] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-28390] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-2873] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-28796] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-28893] = "fixed-version: Fixed after version 5.18rc2"
+
+CVE_STATUS[CVE-2022-2905] = "fixed-version: Fixed after version 6.0rc4"
+
+CVE_STATUS[CVE-2022-29156] = "fixed-version: Fixed after version 5.17rc6"
+
+CVE_STATUS[CVE-2022-2938] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-29581] = "fixed-version: Fixed after version 5.18rc4"
+
+CVE_STATUS[CVE-2022-29582] = "fixed-version: Fixed after version 5.18rc2"
+
+CVE_STATUS[CVE-2022-2959] = "fixed-version: Fixed after version 5.19rc1"
+
+# CVE-2022-2961 has no known resolution
+
+CVE_STATUS[CVE-2022-2964] = "fixed-version: Fixed after version 5.17rc4"
+
+CVE_STATUS[CVE-2022-2977] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-2978] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-29900] = "fixed-version: Fixed after version 5.19rc7"
+
+CVE_STATUS[CVE-2022-29901] = "fixed-version: Fixed after version 5.19rc7"
+
+CVE_STATUS[CVE-2022-2991] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2022-29968] = "fixed-version: Fixed after version 5.18rc5"
+
+CVE_STATUS[CVE-2022-3028] = "fixed-version: Fixed after version 6.0rc3"
+
+CVE_STATUS[CVE-2022-30594] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-3061] = "fixed-version: Fixed after version 5.18rc5"
+
+CVE_STATUS[CVE-2022-3077] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3078] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-3103] = "fixed-version: Fixed after version 6.0rc3"
+
+CVE_STATUS[CVE-2022-3104] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3105] = "fixed-version: Fixed after version 5.16"
+
+CVE_STATUS[CVE-2022-3106] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2022-3107] = "fixed-version: Fixed after version 5.17"
+
+CVE_STATUS[CVE-2022-3108] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-3110] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3111] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-3112] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-3113] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-3114] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3115] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3169] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3170] = "fixed-version: Fixed after version 6.0rc4"
+
+CVE_STATUS[CVE-2022-3176] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-3202] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-32250] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-32296] = "fixed-version: Fixed after version 5.18rc6"
+
+# CVE-2022-3238 has no known resolution
+
+CVE_STATUS[CVE-2022-3239] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-32981] = "fixed-version: Fixed after version 5.19rc2"
+
+CVE_STATUS[CVE-2022-3303] = "fixed-version: Fixed after version 6.0rc5"
+
+CVE_STATUS[CVE-2022-3344] = "fixed-version: Fixed after version 6.1rc7"
+
+CVE_STATUS[CVE-2022-33740] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-33741] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-33742] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-33743] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-33744] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-33981] = "fixed-version: Fixed after version 5.18rc5"
+
+CVE_STATUS[CVE-2022-3424] = "cpe-stable-backport: Backported in 6.1.2"
+
+CVE_STATUS[CVE-2022-3435] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-34494] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-34495] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-34918] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-3521] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3522] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3523] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3524] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3526] = "fixed-version: Fixed after version 5.18rc3"
+
+CVE_STATUS[CVE-2022-3531] = "cpe-stable-backport: Backported in 6.1.2"
+
+CVE_STATUS[CVE-2022-3532] = "cpe-stable-backport: Backported in 6.1.2"
+
+# CVE-2022-3533 has no known resolution
+
+CVE_STATUS[CVE-2022-3534] = "cpe-stable-backport: Backported in 6.1.2"
+
+CVE_STATUS[CVE-2022-3535] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3541] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3542] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3543] = "fixed-version: Fixed after version 6.1rc1"
+
+# CVE-2022-3544 has no known resolution
+
+CVE_STATUS[CVE-2022-3545] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3564] = "fixed-version: Fixed after version 6.1rc4"
+
+CVE_STATUS[CVE-2022-3565] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3566] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3567] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3577] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3586] = "fixed-version: Fixed after version 6.0rc5"
+
+CVE_STATUS[CVE-2022-3594] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3595] = "fixed-version: Fixed after version 6.1rc1"
+
+# CVE-2022-3606 has no known resolution
+
+CVE_STATUS[CVE-2022-36123] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-3619] = "fixed-version: Fixed after version 6.1rc4"
+
+CVE_STATUS[CVE-2022-3621] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3623] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3624] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3625] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3628] = "fixed-version: Fixed after version 6.1rc5"
+
+CVE_STATUS[CVE-2022-36280] = "cpe-stable-backport: Backported in 6.1.4"
+
+CVE_STATUS[CVE-2022-3629] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3630] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3633] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3635] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3636] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3640] = "fixed-version: Fixed after version 6.1rc4"
+
+# CVE-2022-36402 has no known resolution
+
+# CVE-2022-3642 has no known resolution
+
+CVE_STATUS[CVE-2022-3643] = "fixed-version: Fixed after version 6.1"
+
+CVE_STATUS[CVE-2022-3646] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3649] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-36879] = "fixed-version: Fixed after version 5.19rc8"
+
+CVE_STATUS[CVE-2022-36946] = "fixed-version: Fixed after version 5.19"
+
+CVE_STATUS[CVE-2022-3707] = "cpe-stable-backport: Backported in 6.1.5"
+
+# CVE-2022-38096 has no known resolution
+
+CVE_STATUS[CVE-2022-38457] = "cpe-stable-backport: Backported in 6.1.7"
+
+CVE_STATUS[CVE-2022-3903] = "fixed-version: Fixed after version 6.1rc2"
+
+CVE_STATUS[CVE-2022-3910] = "fixed-version: Fixed after version 6.0rc6"
+
+CVE_STATUS[CVE-2022-39188] = "fixed-version: Fixed after version 5.19rc8"
+
+CVE_STATUS[CVE-2022-39189] = "fixed-version: Fixed after version 5.19rc2"
+
+CVE_STATUS[CVE-2022-39190] = "fixed-version: Fixed after version 6.0rc3"
+
+CVE_STATUS[CVE-2022-3977] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-39842] = "fixed-version: Fixed after version 5.19rc4"
+
+CVE_STATUS[CVE-2022-40133] = "cpe-stable-backport: Backported in 6.1.7"
+
+CVE_STATUS[CVE-2022-40307] = "fixed-version: Fixed after version 6.0rc5"
+
+CVE_STATUS[CVE-2022-40476] = "fixed-version: Fixed after version 5.19rc4"
+
+CVE_STATUS[CVE-2022-40768] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-4095] = "fixed-version: Fixed after version 6.0rc4"
+
+CVE_STATUS[CVE-2022-41218] = "cpe-stable-backport: Backported in 6.1.4"
+
+CVE_STATUS[CVE-2022-41222] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2022-4127] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-4128] = "fixed-version: Fixed after version 5.19rc7"
+
+CVE_STATUS[CVE-2022-4129] = "fixed-version: Fixed after version 6.1rc6"
+
+CVE_STATUS[CVE-2022-4139] = "fixed-version: Fixed after version 6.1rc8"
+
+CVE_STATUS[CVE-2022-41674] = "fixed-version: Fixed after version 6.1rc1"
+
+# CVE-2022-41848 has no known resolution
+
+CVE_STATUS[CVE-2022-41849] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-41850] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-41858] = "fixed-version: Fixed after version 5.18rc2"
+
+CVE_STATUS[CVE-2022-42328] = "fixed-version: Fixed after version 6.1"
+
+CVE_STATUS[CVE-2022-42329] = "fixed-version: Fixed after version 6.1"
+
+CVE_STATUS[CVE-2022-42432] = "fixed-version: Fixed after version 6.0rc7"
+
+CVE_STATUS[CVE-2022-4269] = "cpe-stable-backport: Backported in 6.1.22"
+
+CVE_STATUS[CVE-2022-42703] = "fixed-version: Fixed after version 6.0rc4"
+
+CVE_STATUS[CVE-2022-42719] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-42720] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-42721] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-42722] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-42895] = "fixed-version: Fixed after version 6.1rc4"
+
+CVE_STATUS[CVE-2022-42896] = "fixed-version: Fixed after version 6.1rc4"
+
+CVE_STATUS[CVE-2022-43750] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-4378] = "fixed-version: Fixed after version 6.1"
+
+CVE_STATUS[CVE-2022-4379] = "cpe-stable-backport: Backported in 6.1.3"
+
+CVE_STATUS[CVE-2022-4382] = "cpe-stable-backport: Backported in 6.1.8"
+
+CVE_STATUS[CVE-2022-43945] = "fixed-version: Fixed after version 6.1rc1"
+
+# CVE-2022-44032 has no known resolution
+
+# CVE-2022-44033 has no known resolution
+
+# CVE-2022-44034 has no known resolution
+
+# CVE-2022-4543 has no known resolution
+
+CVE_STATUS[CVE-2022-45869] = "fixed-version: Fixed after version 6.1rc7"
+
+# CVE-2022-45884 has no known resolution
+
+# CVE-2022-45885 has no known resolution
+
+# CVE-2022-45886 has no known resolution
+
+# CVE-2022-45887 has no known resolution
+
+# CVE-2022-45888 needs backporting (fixed from 6.2rc1)
+
+# CVE-2022-45919 has no known resolution
+
+CVE_STATUS[CVE-2022-45934] = "fixed-version: Fixed after version 6.1"
+
+CVE_STATUS[CVE-2022-4662] = "fixed-version: Fixed after version 6.0rc4"
+
+CVE_STATUS[CVE-2022-4696] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2022-4744] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2022-47518] = "fixed-version: Fixed after version 6.1rc8"
+
+CVE_STATUS[CVE-2022-47519] = "fixed-version: Fixed after version 6.1rc8"
+
+CVE_STATUS[CVE-2022-47520] = "fixed-version: Fixed after version 6.1rc8"
+
+CVE_STATUS[CVE-2022-47521] = "fixed-version: Fixed after version 6.1rc8"
+
+CVE_STATUS[CVE-2022-47929] = "cpe-stable-backport: Backported in 6.1.6"
+
+CVE_STATUS[CVE-2022-47938] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-47939] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-47940] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-47941] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-47942] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-47943] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-47946] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2022-4842] = "cpe-stable-backport: Backported in 6.1.8"
+
+CVE_STATUS[CVE-2022-48423] = "cpe-stable-backport: Backported in 6.1.3"
+
+CVE_STATUS[CVE-2022-48424] = "cpe-stable-backport: Backported in 6.1.3"
+
+CVE_STATUS[CVE-2022-48425] = "cpe-stable-backport: Backported in 6.1.33"
+
+CVE_STATUS[CVE-2022-48502] = "cpe-stable-backport: Backported in 6.1.40"
+
+CVE_STATUS[CVE-2023-0030] = "fixed-version: Fixed after version 5.0rc1"
+
+CVE_STATUS[CVE-2023-0045] = "cpe-stable-backport: Backported in 6.1.5"
+
+CVE_STATUS[CVE-2023-0047] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2023-0122] = "fixed-version: Fixed after version 6.0rc4"
+
+# CVE-2023-0160 has no known resolution
+
+CVE_STATUS[CVE-2023-0179] = "cpe-stable-backport: Backported in 6.1.7"
+
+CVE_STATUS[CVE-2023-0210] = "cpe-stable-backport: Backported in 6.1.5"
+
+CVE_STATUS[CVE-2023-0240] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2023-0266] = "cpe-stable-backport: Backported in 6.1.6"
+
+CVE_STATUS[CVE-2023-0386] = "cpe-stable-backport: Backported in 6.1.9"
+
+CVE_STATUS[CVE-2023-0394] = "cpe-stable-backport: Backported in 6.1.7"
+
+CVE_STATUS[CVE-2023-0458] = "cpe-stable-backport: Backported in 6.1.8"
+
+CVE_STATUS[CVE-2023-0459] = "cpe-stable-backport: Backported in 6.1.14"
+
+CVE_STATUS[CVE-2023-0461] = "cpe-stable-backport: Backported in 6.1.5"
+
+CVE_STATUS[CVE-2023-0468] = "fixed-version: Fixed after version 6.1rc7"
+
+CVE_STATUS[CVE-2023-0469] = "fixed-version: Fixed after version 6.1rc7"
+
+CVE_STATUS[CVE-2023-0590] = "fixed-version: Fixed after version 6.1rc2"
+
+# CVE-2023-0597 needs backporting (fixed from 6.2rc1)
+
+CVE_STATUS[CVE-2023-0615] = "fixed-version: Fixed after version 6.1rc3"
+
+CVE_STATUS[CVE-2023-1032] = "cpe-stable-backport: Backported in 6.1.16"
+
+CVE_STATUS[CVE-2023-1073] = "cpe-stable-backport: Backported in 6.1.9"
+
+CVE_STATUS[CVE-2023-1074] = "cpe-stable-backport: Backported in 6.1.9"
+
+CVE_STATUS[CVE-2023-1075] = "cpe-stable-backport: Backported in 6.1.11"
+
+CVE_STATUS[CVE-2023-1076] = "cpe-stable-backport: Backported in 6.1.16"
+
+CVE_STATUS[CVE-2023-1077] = "cpe-stable-backport: Backported in 6.1.16"
+
+CVE_STATUS[CVE-2023-1078] = "cpe-stable-backport: Backported in 6.1.12"
+
+CVE_STATUS[CVE-2023-1079] = "cpe-stable-backport: Backported in 6.1.16"
+
+CVE_STATUS[CVE-2023-1095] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2023-1118] = "cpe-stable-backport: Backported in 6.1.16"
+
+CVE_STATUS[CVE-2023-1192] = "cpe-stable-backport: Backported in 6.1.33"
+
+# CVE-2023-1193 has no known resolution
+
+# CVE-2023-1194 has no known resolution
+
+CVE_STATUS[CVE-2023-1195] = "fixed-version: Fixed after version 6.1rc3"
+
+# CVE-2023-1206 has no known resolution
+
+CVE_STATUS[CVE-2023-1249] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2023-1252] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2023-1281] = "cpe-stable-backport: Backported in 6.1.13"
+
+CVE_STATUS[CVE-2023-1295] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2023-1380] = "cpe-stable-backport: Backported in 6.1.27"
+
+CVE_STATUS[CVE-2023-1382] = "fixed-version: Fixed after version 6.1rc7"
+
+CVE_STATUS[CVE-2023-1390] = "fixed-version: Fixed after version 5.11rc4"
+
+CVE_STATUS[CVE-2023-1513] = "cpe-stable-backport: Backported in 6.1.13"
+
+CVE_STATUS[CVE-2023-1582] = "fixed-version: Fixed after version 5.17rc4"
+
+CVE_STATUS[CVE-2023-1583] = "cpe-stable-backport: Backported in 6.1.22"
+
+CVE_STATUS[CVE-2023-1611] = "cpe-stable-backport: Backported in 6.1.23"
+
+CVE_STATUS[CVE-2023-1637] = "fixed-version: Fixed after version 5.18rc2"
+
+CVE_STATUS[CVE-2023-1652] = "cpe-stable-backport: Backported in 6.1.9"
+
+CVE_STATUS[CVE-2023-1670] = "cpe-stable-backport: Backported in 6.1.22"
+
+CVE_STATUS[CVE-2023-1829] = "cpe-stable-backport: Backported in 6.1.18"
+
+CVE_STATUS[CVE-2023-1838] = "fixed-version: Fixed after version 5.18"
+
+CVE_STATUS[CVE-2023-1855] = "cpe-stable-backport: Backported in 6.1.21"
+
+CVE_STATUS[CVE-2023-1859] = "cpe-stable-backport: Backported in 6.1.25"
+
+CVE_STATUS[CVE-2023-1872] = "fixed-version: Fixed after version 5.18rc2"
+
+CVE_STATUS[CVE-2023-1989] = "cpe-stable-backport: Backported in 6.1.22"
+
+CVE_STATUS[CVE-2023-1990] = "cpe-stable-backport: Backported in 6.1.21"
+
+CVE_STATUS[CVE-2023-1998] = "cpe-stable-backport: Backported in 6.1.16"
+
+CVE_STATUS[CVE-2023-2002] = "cpe-stable-backport: Backported in 6.1.27"
+
+CVE_STATUS[CVE-2023-2006] = "fixed-version: Fixed after version 6.1rc7"
+
+CVE_STATUS[CVE-2023-2007] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2023-2008] = "fixed-version: Fixed after version 5.19rc4"
+
+CVE_STATUS[CVE-2023-2019] = "fixed-version: Fixed after version 6.0rc1"
+
+# CVE-2023-20593 has no known resolution
+
+CVE_STATUS[CVE-2023-20928] = "fixed-version: Fixed after version 6.0rc1"
+
+# CVE-2023-20937 has no known resolution
+
+CVE_STATUS[CVE-2023-20938] = "fixed-version: Fixed after version 5.18rc5"
+
+# CVE-2023-20941 has no known resolution
+
+CVE_STATUS[CVE-2023-21102] = "cpe-stable-backport: Backported in 6.1.8"
+
+CVE_STATUS[CVE-2023-21106] = "cpe-stable-backport: Backported in 6.1.9"
+
+CVE_STATUS[CVE-2023-2124] = "cpe-stable-backport: Backported in 6.1.33"
+
+CVE_STATUS[CVE-2023-21255] = "cpe-stable-backport: Backported in 6.1.31"
+
+CVE_STATUS[CVE-2023-2156] = "cpe-stable-backport: Backported in 6.1.26"
+
+CVE_STATUS[CVE-2023-2162] = "cpe-stable-backport: Backported in 6.1.11"
+
+CVE_STATUS[CVE-2023-2163] = "cpe-stable-backport: Backported in 6.1.26"
+
+CVE_STATUS[CVE-2023-2166] = "fixed-version: Fixed after version 6.1"
+
+# CVE-2023-2176 needs backporting (fixed from 6.3rc1)
+
+CVE_STATUS[CVE-2023-2177] = "fixed-version: Fixed after version 5.19"
+
+CVE_STATUS[CVE-2023-2194] = "cpe-stable-backport: Backported in 6.1.22"
+
+CVE_STATUS[CVE-2023-2235] = "cpe-stable-backport: Backported in 6.1.21"
+
+CVE_STATUS[CVE-2023-2236] = "fixed-version: Fixed after version 6.1rc7"
+
+CVE_STATUS[CVE-2023-2248] = "cpe-stable-backport: Backported in 6.1.26"
+
+CVE_STATUS[CVE-2023-2269] = "cpe-stable-backport: Backported in 6.1.28"
+
+CVE_STATUS[CVE-2023-22995] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2023-22996] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2023-22997] = "cpe-stable-backport: Backported in 6.1.2"
+
+CVE_STATUS[CVE-2023-22998] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2023-22999] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2023-23000] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2023-23001] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2023-23002] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2023-23003] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2023-23004] = "fixed-version: Fixed after version 5.19rc1"
+
+# CVE-2023-23005 needs backporting (fixed from 6.2rc1)
+
+CVE_STATUS[CVE-2023-23006] = "fixed-version: Fixed after version 5.16rc8"
+
+# CVE-2023-23039 has no known resolution
+
+CVE_STATUS[CVE-2023-23454] = "cpe-stable-backport: Backported in 6.1.5"
+
+CVE_STATUS[CVE-2023-23455] = "cpe-stable-backport: Backported in 6.1.5"
+
+CVE_STATUS[CVE-2023-23559] = "cpe-stable-backport: Backported in 6.1.9"
+
+CVE_STATUS[CVE-2023-23586] = "fixed-version: Fixed after version 5.12rc1"
+
+# CVE-2023-2430 needs backporting (fixed from 6.2rc5)
+
+CVE_STATUS[CVE-2023-2483] = "cpe-stable-backport: Backported in 6.1.22"
+
+CVE_STATUS[CVE-2023-25012] = "cpe-stable-backport: Backported in 6.1.16"
+
+CVE_STATUS[CVE-2023-2513] = "fixed-version: Fixed after version 6.0rc1"
 
-# https://www.linuxkernelcves.com/cves/CVE-2019-3016
-# Fixed with 5.6
-CVE_STATUS[CVE-2019-3016] = "fixed-version: Fixed in version v5.6"
+CVE_STATUS[CVE-2023-2598] = "fixed-version: only affects 6.3rc1 onwards"
 
-# https://www.linuxkernelcves.com/cves/CVE-2019-3819
-# Fixed with 5.1
-CVE_STATUS[CVE-2019-3819] = "fixed-version: Fixed in version v5.1"
+# CVE-2023-26242 has no known resolution
 
-# https://www.linuxkernelcves.com/cves/CVE-2019-3887
-# Fixed with 5.2
-CVE_STATUS[CVE-2019-3887] = "fixed-version: Fixed in version v5.2"
+CVE_STATUS[CVE-2023-26544] = "cpe-stable-backport: Backported in 6.1.3"
 
-CVE_STATUS[CVE-2020-11935] = "not-applicable-config: Issue only affects aufs, which is not in linux-yocto"
+CVE_STATUS[CVE-2023-26545] = "cpe-stable-backport: Backported in 6.1.13"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2020-27784
-# Introduced in version v4.1 b26394bd567e5ebe57ec4dee7fe6cd14023c96e9
-# Patched in kernel since v5.10	e8d5f92b8d30bb4ade76494490c3c065e12411b1
-# Backported in version v5.4.73	e9e791f5c39ab30e374a3b1a9c25ca7ff24988f3
-CVE_STATUS[CVE-2020-27784] = "cpe-stable-backport: Backported in version v5.4.73"
+CVE_STATUS[CVE-2023-26605] = "fixed-version: Fixed after version 6.1rc7"
 
+CVE_STATUS[CVE-2023-26606] = "cpe-stable-backport: Backported in 6.1.2"
 
-# 2021
+CVE_STATUS[CVE-2023-26607] = "fixed-version: Fixed after version 6.1rc1"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2021-3669
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v5.15 20401d1058f3f841f35a594ac2fc1293710e55b9
-CVE_STATUS[CVE-2021-3669] = "fixed-version: Fixed in version v5.15"
+CVE_STATUS[CVE-2023-28327] = "fixed-version: Fixed after version 6.1"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2021-3759
-# Introduced in version v4.5 a9bb7e620efdfd29b6d1c238041173e411670996
-# Patched in kernel since v5.15 18319498fdd4cdf8c1c2c48cd432863b1f915d6f
-# Backported in version v5.4.224 bad83d55134e647a739ebef2082541963f2cbc92
-# Backported in version v5.10.154 836686e1a01d7e2fda6a5a18252243ff30a6e196
-CVE_STATUS[CVE-2021-3759] = "cpe-stable-backport: Backported in versions v5.4.224 and v6.1.11"
+CVE_STATUS[CVE-2023-28328] = "cpe-stable-backport: Backported in 6.1.2"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2021-4218
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v5.8 32927393dc1ccd60fb2bdc05b9e8e88753761469
-CVE_STATUS[CVE-2021-4218] = "fixed-version: Fixed in version v5.8"
+CVE_STATUS[CVE-2023-28410] = "fixed-version: Fixed after version 5.19rc1"
 
+CVE_STATUS[CVE-2023-28464] = "fixed-version: only affects 6.3rc1 onwards"
 
-# 2022
+CVE_STATUS[CVE-2023-28466] = "cpe-stable-backport: Backported in 6.1.20"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-0480
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v5.15 0f12156dff2862ac54235fc72703f18770769042
-CVE_STATUS[CVE-2022-0480] = "fixed-version: Fixed in version v5.15"
+CVE_STATUS[CVE-2023-2860] = "fixed-version: Fixed after version 6.0rc5"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-1184
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v5.19 46c116b920ebec58031f0a78c5ea9599b0d2a371
-# Backported in version v5.4.198 17034d45ec443fb0e3c0e7297f9cd10f70446064
-# Backported in version v5.10.121 da2f05919238c7bdc6e28c79539f55c8355408bb
-# Backported in version v5.15.46 ca17db384762be0ec38373a12460081d22a8b42d
-CVE_STATUS[CVE-2022-1184] = "cpe-stable-backport: Backported in versions v5.4.198, v5.10.121 and v5.15.46"
+CVE_STATUS[CVE-2023-28772] = "fixed-version: Fixed after version 5.14rc1"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-1462
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v5.19 a501ab75e7624d133a5a3c7ec010687c8b961d23
-# Backported in version v5.4.208 f7785092cb7f022f59ebdaa181651f7c877df132
-# Backported in version v5.10.134 08afa87f58d83dfe040572ed591b47e8cb9e225c
-# Backported in version v5.15.58 b2d1e4cd558cffec6bfe318f5d74e6cffc374d29
-CVE_STATUS[CVE-2022-1462] = "cpe-stable-backport: Backported in versions v5.4.208, v5.10.134 and v5.15.58"
+CVE_STATUS[CVE-2023-28866] = "cpe-stable-backport: Backported in 6.1.22"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-2196
-# Introduced in version v5.8 5c911beff20aa8639e7a1f28988736c13e03ed54
-# Breaking commit backported in v5.4.47 64b8f33b2e1e687d465b5cb382e7bec495f1e026
-# Patched in kernel since v6.2 2e7eab81425ad6c875f2ed47c0ce01e78afc38a5
-# Backported in version v5.4.233 f93a1a5bdcdd122aae0a3eab7a52c15b71fb725b
-# Backported in version v5.10.170 1b0cafaae8884726c597caded50af185ffc13349
-# Backported in version v5.15.96 6b539a7dbb49250f92515c2ba60aea239efc9e35
-# Backported in version v6.1.14 63fada296062e91ad9f871970d4e7f19e21a6a15
-CVE_STATUS[CVE-2022-2196] = "cpe-stable-backport: Backported in versions v5.4.1233, v5.10.170, v5.15.46 and v6.1.14"
+CVE_STATUS[CVE-2023-2898] = "cpe-stable-backport: Backported in 6.1.39"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-2308
-# Introduced in version v5.15 c8a6153b6c59d95c0e091f053f6f180952ade91e
-# Patched in kernel since v6.0 46f8a29272e51b6df7393d58fc5cb8967397ef2b
-# Backported in version v5.15.72 dc248ddf41eab4566e95b1ee2433c8a5134ad94a
-# Backported in version v5.19.14 38d854c4a11c3bbf6a96ea46f14b282670c784ac
-CVE_STATUS[CVE-2022-2308] = "cpe-stable-backport: Backported in versions v5.15.72 and v5.19.14"
+CVE_STATUS[CVE-2023-2985] = "cpe-stable-backport: Backported in 6.1.16"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-2327
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v5.10.125 df3f3bb5059d20ef094d6b2f0256c4bf4127a859
-CVE_STATUS[CVE-2022-2327] = "fixed-version: Fixed in version v5.10.125"
+CVE_STATUS[CVE-2023-3006] = "fixed-version: Fixed after version 6.1rc1"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-2663
-# Introduced in version v2.6.20 869f37d8e48f3911eb70f38a994feaa8f8380008
-# Patched in kernel since v6.0 0efe125cfb99e6773a7434f3463f7c2fa28f3a43
-# Backported in version v5.4.213 36f7b71f8ad8e4d224b45f7d6ecfeff63b091547
-# Backported in version v5.10.143 e12ce30fe593dd438c5b392290ad7316befc11ca
-# Backported in version v5.15.68 451c9ce1e2fc9b9e40303bef8e5a0dca1a923cc4
-# Backported in version v5.19.9 6cf0609154b2ce8d3ae160e7506ab316400a8d3d
-CVE_STATUS[CVE-2022-2663] = "cpe-stable-backport: Backported in versions v5.4.213, v5.10.143, v5.15.68 and v5.19.9"
+# Skipping CVE-2023-3022, no affected_versions
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-2785
-# Introduced in version v5.18 b1d18a7574d0df5eb4117c14742baf8bc2b9bb74
-# Patched in kernel since v6.0 86f44fcec22ce2979507742bc53db8400e454f46
-# Backported in version v5.19.4 b429d0b9a7a0f3dddb1f782b72629e6353f292fd
-CVE_STATUS[CVE-2022-2785] = "cpe-stable-backport: Backported in version v5.19.4"
+CVE_STATUS[CVE-2023-30456] = "cpe-stable-backport: Backported in 6.1.21"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3176
-# Introduced in version v5.1 221c5eb2338232f7340386de1c43decc32682e58
-# Patched in kernel since v5.17 791f3465c4afde02d7f16cf7424ca87070b69396
-# Backported in version v5.15.65 e9d7ca0c4640cbebe6840ee3bac66a25a9bacaf5
-CVE_STATUS[CVE-2022-3176] = "cpe-stable-backport: Backported in version v5.15.65"
+CVE_STATUS[CVE-2023-30772] = "cpe-stable-backport: Backported in 6.1.22"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3424
-# Introduced in version v2.6.33 55484c45dbeca2eec7642932ec3f60f8a2d4bdbf
-# Patched in kernel since v6.2 643a16a0eb1d6ac23744bb6e90a00fc21148a9dc
-# Backported in version v5.4.229 0078dd8758561540ed30b2c5daa1cb647e758977
-# Backported in version v5.10.163 0f67ed565f20ea2fdd98e3b0b0169d9e580bb83c
-# Backported in version v5.15.86 d5c8f9003a289ee2a9b564d109e021fc4d05d106
-# Backported in version v6.1.2 4e947fc71bec7c7da791f8562d5da233b235ba5e
-CVE_STATUS[CVE-2022-3424] = "cpe-stable-backport: Backported in versions v5.4.229, v5.10.163, v5.15.86 and v 6.1.2"
+CVE_STATUS[CVE-2023-3090] = "cpe-stable-backport: Backported in 6.1.30"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3435
-# Introduced in version v5.18 6bf92d70e690b7ff12b24f4bfff5e5434d019b82
-# Breaking commit backported in v5.4.189 f5064531c23ad646da7be8b938292b00a7e61438
-# Breaking commit backported in v5.10.111 63ea57478aaa3e06a597081a0f537318fc04e49f
-# Breaking commit backported in v5.15.34 907c97986d6fa77318d17659dd76c94b65dd27c5
-# Patched in kernel since v6.1 61b91eb33a69c3be11b259c5ea484505cd79f883
-# Backported in version v5.4.226 cc3cd130ecfb8b0ae52e235e487bae3f16a24a32
-# Backported in version v5.10.158 0b5394229ebae09afc07aabccb5ffd705ffd250e
-# Backported in version v5.15.82 25174d91e4a32a24204060d283bd5fa6d0ddf133
-CVE_STATUS[CVE-2022-3435] = "cpe-stable-backport: Backported in versions v5.4.226, v5.10.158 and v5.15.82"
+CVE_STATUS[CVE-2023-3106] = "fixed-version: Fixed after version 4.8rc7"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3523
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v6.1 16ce101db85db694a91380aa4c89b25530871d33
-CVE_STATUS[CVE-2022-3523] = "fixed-version: Fixed in version v6.1"
+# Skipping CVE-2023-3108, no affected_versions
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3526
-# Introduced in version v5.13 427f0c8c194b22edcafef1b0a42995ddc5c2227d
-# Patched in kernel since v5.18 e16b859872b87650bb55b12cca5a5fcdc49c1442
-# Backported in version v5.15.35 8f79ce226ad2e9b2ec598de2b9560863b7549d1b
-CVE_STATUS[CVE-2022-3526] = "cpe-stable-backport: Backported in version v5.15.35"
+# CVE-2023-31081 has no known resolution
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3534
-# Introduced in version v5.10 919d2b1dbb074d438027135ba644411931179a59
-# Patched in kernel since v6.2 93c660ca40b5d2f7c1b1626e955a8e9fa30e0749
-# Backported in version v5.10.163 c61650b869e0b6fb0c0a28ed42d928eea969afc8
-# Backported in version v5.15.86 a733bf10198eb5bb927890940de8ab457491ed3b
-# Backported in version v6.1.2 fbe08093fb2334549859829ef81d42570812597d
-CVE_STATUS[CVE-2022-3534] = "cpe-stable-backport: Backported in versions v5.10.163, v5.15.86 and v6.1.2"
+# CVE-2023-31082 has no known resolution
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3564
-# Introduced in version v3.6 4b51dae96731c9d82f5634e75ac7ffd3b9c1b060
-# Patched in kernel since v6.1 3aff8aaca4e36dc8b17eaa011684881a80238966
-# Backported in version v5.10.154 cb1c012099ef5904cd468bdb8d6fcdfdd9bcb569
-# Backported in version v5.15.78 8278a87bb1eeea94350d675ef961ee5a03341fde
-CVE_STATUS[CVE-2022-3564] = "cpe-stable-backport: Backported in versions v5.10.154 and v5.15.78"
+# CVE-2023-31083 has no known resolution
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3566
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v6.1 f49cd2f4d6170d27a2c61f1fecb03d8a70c91f57
-CVE_STATUS[CVE-2022-3566] = "fixed-version: Fixed in version v6.1"
+# CVE-2023-31084 needs backporting (fixed from 6.4rc3)
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3567
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v6.1 364f997b5cfe1db0d63a390fe7c801fa2b3115f6
-CVE_STATUS[CVE-2022-3567] = "fixed-version: Fixed in version v6.1"
+# CVE-2023-31085 has no known resolution
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3619
-# Introduced in version v5.12 4d7ea8ee90e42fc75995f6fb24032d3233314528
-# Patched in kernel since v6.1 7c9524d929648935bac2bbb4c20437df8f9c3f42
-# Backported in version v5.15.78 aa16cac06b752e5f609c106735bd7838f444784c
-CVE_STATUS[CVE-2022-3619] = "cpe-stable-backport: Backported in version v5.15.78"
+CVE_STATUS[CVE-2023-3111] = "fixed-version: Fixed after version 6.0rc2"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3621
-# Introduced in version v2.60.30 05fe58fdc10df9ebea04c0eaed57adc47af5c184
-# Patched in kernel since v6.1 21a87d88c2253350e115029f14fe2a10a7e6c856
-# Backported in version v5.4.218 792211333ad77fcea50a44bb7f695783159fc63c
-# Backported in version v5.10.148 3f840480e31495ce674db4a69912882b5ac083f2
-# Backported in version v5.15.74 1e512c65b4adcdbdf7aead052f2162b079cc7f55
-# Backported in version v5.19.16 caf2c6b580433b3d3e413a3d54b8414a94725dcd
-CVE_STATUS[CVE-2022-3621] = "cpe-stable-backport: Backported in versions v5.4.218, v5.10.148, v5.15.74 and v5.19.16"
+CVE_STATUS[CVE-2023-3117] = "cpe-stable-backport: Backported in 6.1.35"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3623
-# Introduced in version v5.1 5480280d3f2d11d47f9be59d49b20a8d7d1b33e8
-# Patched in kernel since v6.1 fac35ba763ed07ba93154c95ffc0c4a55023707f
-# Backported in version v5.4.228 176ba4c19d1bb153aa6baaa61d586e785b7d736c
-# Backported in version v5.10.159 fccee93eb20d72f5390432ecea7f8c16af88c850
-# Backported in version v5.15.78 3a44ae4afaa5318baed3c6e2959f24454e0ae4ff
-# Backported in version v5.19.17 86a913d55c89dd13ba070a87f61a493563e94b54
-CVE_STATUS[CVE-2022-3623] = "cpe-stable-backport: Backported in versions v5.4.228, v5.10.159, v5.15.78 and v 5.19.17"
+CVE_STATUS[CVE-2023-31248] = "cpe-stable-backport: Backported in 6.1.39"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3624
-# Introduced in version v6.0 d5410ac7b0baeca91cf73ff5241d35998ecc8c9e
-# Patched in kernel since v6.0 4f5d33f4f798b1c6d92b613f0087f639d9836971
-CVE_STATUS[CVE-2022-3624] = "fixed-version: Fixed in version v6.0"
+CVE_STATUS[CVE-2023-3141] = "cpe-stable-backport: Backported in 6.1.30"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3625
-# Introduced in version v4.19 45f05def5c44c806f094709f1c9b03dcecdd54f0
-# Patched in kernel since v6.0 6b4db2e528f650c7fb712961aac36455468d5902
-# Backported in version v5.4.211 1ad4ba9341f15412cf86dc6addbb73871a10212f
-# Backported in version v5.10.138 0e28678a770df7989108327cfe86f835d8760c33
-# Backported in version v5.15.63 c4d09fd1e18bac11c2f7cf736048112568687301
-# Backported in version v5.19.4 26bef5616255066268c0e40e1da10cc9b78b82e9
-CVE_STATUS[CVE-2022-3625] = "cpe-stable-backport: Backported in versions v5.4.211, v5.10.138, v5.15.63 and v5.19.4"
+CVE_STATUS[CVE-2023-31436] = "cpe-stable-backport: Backported in 6.1.26"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3629
-# Introduced in version v3.9 d021c344051af91f42c5ba9fdedc176740cbd238
-# Patched in kernel since v6.0 7e97cfed9929eaabc41829c395eb0d1350fccb9d
-# Backported in version v5.4.211 f82f1e2042b397277cd39f16349950f5abade58d
-# Backported in version v5.10.138 38ddccbda5e8b762c8ee06670bb1f64f1be5ee50
-# Backported in version v5.15.63 e4c0428f8a6fc8c218d7fd72bddd163f05b29795
-# Backported in version v5.19.4 8ff5db3c1b3d6797eda5cd326dcd31b9cd1c5f72
-CVE_STATUS[CVE-2022-3629] = "cpe-stable-backport: Backported in versions v5.4.211, v5.10.138, v5.15.63 and v5.19.4"
+CVE_STATUS[CVE-2023-3159] = "fixed-version: Fixed after version 5.18rc6"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3630
-# Introduced in version v5.19 85e4ea1049c70fb99de5c6057e835d151fb647da
-# Patched in kernel since v6.0 fb24771faf72a2fd62b3b6287af3c610c3ec9cf1
-# Backported in version v5.19.4 7a369dc87b66acc85d0cffcf39984344a203e20b
-CVE_STATUS[CVE-2022-3630] = "cpe-stable-backport: Backported in version v5.19.4"
+CVE_STATUS[CVE-2023-3161] = "cpe-stable-backport: Backported in 6.1.11"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3633
-# Introduced in version v5.4 9d71dd0c70099914fcd063135da3c580865e924c
-# Patched in kernel since v6.0 8c21c54a53ab21842f5050fa090f26b03c0313d6
-# Backported in version v5.4.211 04e41b6bacf474f5431491f92e981096e8cc8e93
-# Backported in version v5.10.138 a220ff343396bae8d3b6abee72ab51f1f34b3027
-# Backported in version v5.15.63 98dc8fb08299ab49e0b9c08daedadd2f4de1a2f2
-# Backported in version v5.19.4 a0278dbeaaf7ca60346c62a9add65ae7d62564de
-CVE_STATUS[CVE-2022-3633] = "cpe-stable-backport: Backported in versions v5.4.211, v5.10.138, v5.15.63 and v5.19.4"
+CVE_STATUS[CVE-2023-3212] = "cpe-stable-backport: Backported in 6.1.33"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3635
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v6.0 3f4093e2bf4673f218c0bf17d8362337c400e77b
-# Backported in version v5.4.211 9a6cbaa50f263b12df18a051b37f3f42f9fb5253
-# Backported in version v5.10.138 a0ae122e9aeccbff75014c4d36d11a9d32e7fb5e
-# Backported in version v5.15.63 a5d7ce086fe942c5ab422fd2c034968a152be4c4
-# Backported in version v5.19.4 af412b252550f9ac36d9add7b013c2a2c3463835
-CVE_STATUS[CVE-2022-3635] = "cpe-stable-backport: Backported in versions v5.4.211, v5.10.138, v5.15.63 and v5.19.4"
+CVE_STATUS[CVE-2023-3220] = "cpe-stable-backport: Backported in 6.1.16"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3636
-# Introduced in version v5.19 33fc42de33278b2b3ec6f3390512987bc29a62b7
-# Patched in kernel since v5.19 17a5f6a78dc7b8db385de346092d7d9f9dc24df6
-CVE_STATUS[CVE-2022-3636] = "cpe-stable-backport: Backported in version v5.19"
+CVE_STATUS[CVE-2023-32233] = "cpe-stable-backport: Backported in 6.1.28"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3640
-# Introduced in version v5.19 d0be8347c623e0ac4202a1d4e0373882821f56b0
-# Breaking commit backported in v5.4.209 098e07ef0059296e710a801cdbd74b59016e6624
-# Breaking commit backported in v5.10.135 de5d4654ac6c22b1be756fdf7db18471e7df01ea
-# Breaking commit backported in v5.15.59 f32d5615a78a1256c4f557ccc6543866e75d03f4
-# Patched in kernel since v6.1 0d0e2d032811280b927650ff3c15fe5020e82533
-# Backported in version v5.4.224 c1f594dddd9ffd747c39f49cc5b67a9b7677d2ab
-# Backported in version v5.10.154 d9ec6e2fbd4a565b2345d4852f586b7ae3ab41fd
-# Backported in version v5.15.78 a3a7b2ac64de232edb67279e804932cb42f0b52a
-CVE_STATUS[CVE-2022-3640] = "cpe-stable-backport: Backported in versions v5.4.224, v5.10.154 and v5.15.78"
+CVE_STATUS[CVE-2023-32247] = "cpe-stable-backport: Backported in 6.1.29"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3646
-# Introduced in version v2.6.30 9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453
-# Patched in kernel since v6.1 d0d51a97063db4704a5ef6bc978dddab1636a306
-# Backported in version v5.4.218 b7e409d11db9ce9f8bc05fcdfa24d143f60cd393
-# Backported in version v5.10.148 aad4c997857f1d4b6c1e296c07e4729d3f8058ee
-# Backported in version v5.15.74 44b1ee304bac03f1b879be5afe920e3a844e40fc
-# Backported in version v5.19.16 4755fcd844240857b525f6e8d8b65ee140fe9570
-CVE_STATUS[CVE-2022-3646] = "cpe-stable-backport: Backported in versions v5.4.218, v5.10.148, v5.15.74 and v5.19.16"
+CVE_STATUS[CVE-2023-32248] = "cpe-stable-backport: Backported in 6.1.28"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3649
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v6.1 d325dc6eb763c10f591c239550b8c7e5466a5d09
-# Backported in version v5.4.220 d1c2d820a2cd73867b7d352e89e92fb3ac29e926
-# Backported in version v5.10.148 21ee3cffed8fbabb669435facfd576ba18ac8652
-# Backported in version v5.15.74 cb602c2b654e26763226d8bd27a702f79cff4006
-# Backported in version v5.19.16 394b2571e9a74ddaed55aa9c4d0f5772f81c21e4
-CVE_STATUS[CVE-2022-3649] = "cpe-stable-backport: Backported in versions v5.4.220, v5.10.148, v5.15.74 and v5.19.16"
+CVE_STATUS[CVE-2023-32250] = "cpe-stable-backport: Backported in 6.1.29"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-4382
-# Introduced in version v5.3 e5d82a7360d124ae1a38c2a5eac92ba49b125191
-# Patched in kernel since v6.2-rc5 d18dcfe9860e842f394e37ba01ca9440ab2178f4
-# Backported in version v5.4.230 9a39f4626b361ee7aa10fd990401c37ec3b466ae
-# Backported in version v5.10.165 856e4b5e53f21edbd15d275dde62228dd94fb2b4
-# Backported in version v5.15.90 a2e075f40122d8daf587db126c562a67abd69cf9
-# Backported in version v6.1.8 616fd34d017000ecf9097368b13d8a266f4920b3
-CVE_STATUS[CVE-2022-4382] = "cpe-stable-backport: Backported in versions v5.4.230, v5.10.165, v5.15.90 and v6.1.8"
+CVE_STATUS[CVE-2023-32252] = "cpe-stable-backport: Backported in 6.1.29"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-26365
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v5.19 2f446ffe9d737e9a844b97887919c4fda18246e7
-# Backported in version v5.4.204 42112e8f94617d83943f8f3b8de2b66041905506
-# Backported in version v5.10.129 cfea428030be836d79a7690968232bb7fa4410f1
-# Backported in version v5.15.53 7ed65a4ad8fa9f40bc3979b32c54243d6a684ec9
-CVE_STATUS[CVE-2022-26365] = "cpe-stable-backport: Backported in versions v5.4.204, v5.10.129 and v5.15.53"
+CVE_STATUS[CVE-2023-32254] = "cpe-stable-backport: Backported in 6.1.28"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-33740
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v5.19 307c8de2b02344805ebead3440d8feed28f2f010
-# Backported in version v5.4.204 04945b5beb73019145ac17a2565526afa7293c14
-# Backported in version v5.10.129 728d68bfe68d92eae1407b8a9edc7817d6227404
-# Backported in version v5.15.53 5dd0993c36832d33820238fc8dc741ba801b7961
-CVE_STATUS[CVE-2022-33740] = "cpe-stable-backport: Backported in versions v5.4.204, v5.10.129 and v5.15.53"
+CVE_STATUS[CVE-2023-32257] = "cpe-stable-backport: Backported in 6.1.29"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-33741
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v5.19 4491001c2e0fa69efbb748c96ec96b100a5cdb7e
-# Backported in version v5.4.204 ede57be88a5fff42cd00e6bcd071503194d398dd
-# Backported in version v5.10.129 4923217af5742a796821272ee03f8d6de15c0cca
-# Backported in version v5.15.53 ed3cfc690675d852c3416aedb271e0e7d179bf49
-CVE_STATUS[CVE-2022-33741] = "cpe-stable-backport: Backported in versions v5.4.204, v5.10.129 and v5.15.53"
+CVE_STATUS[CVE-2023-32258] = "cpe-stable-backport: Backported in 6.1.29"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-33742
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v5.19 2400617da7eebf9167d71a46122828bc479d64c9
-# Backported in version v5.4.204 60ac50daad36ef3fe9d70d89cfe3b95d381db997
-# Backported in version v5.10.129 cbbd2d2531539212ff090aecbea9877c996e6ce6
-# Backported in version v5.15.53 6d0a9127279a4533815202e30ad1b3a39f560ba3
-CVE_STATUS[CVE-2022-33742] = "cpe-stable-backport: Backported in versions v5.4.204, v5.10.129 and v5.15.53"
+CVE_STATUS[CVE-2023-32269] = "cpe-stable-backport: Backported in 6.1.11"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-42895
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v6.1 b1a2cd50c0357f243b7435a732b4e62ba3157a2e
-# Backported in version v5.4.224 6949400ec9feca7f88c0f6ca5cb5fdbcef419c89
-# Backported in version v5.10.154 26ca2ac091b49281d73df86111d16e5a76e43bd7
-# Backported in version v5.15.78 3e4697ffdfbb38a2755012c4e571546c89ab6422
-CVE_STATUS[CVE-2022-42895] = "cpe-stable-backport: Backported in versions v5.4.224, v5.10.154 and v5.15.78"
+CVE_STATUS[CVE-2023-3268] = "cpe-stable-backport: Backported in 6.1.28"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-42896
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v6.1 711f8c3fb3db61897080468586b970c87c61d9e4
-# Backported in version v5.4.226 0d87bb6070361e5d1d9cb391ba7ee73413bc109b
-# Backported in version v5.10.154 6b6f94fb9a74dd2891f11de4e638c6202bc89476
-# Backported in version v5.15.78 81035e1201e26d57d9733ac59140a3e29befbc5a
-CVE_STATUS[CVE-2022-42896] = "cpe-stable-backport: Backported in versions v5.4.226, v5.10.154 and v5.15.78"
+CVE_STATUS[CVE-2023-3269] = "cpe-stable-backport: Backported in 6.1.37"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2022-38457
-# https://nvd.nist.gov/vuln/detail/CVE-2022-40133
-# Both CVE-2022-38457 & CVE-2022-40133 are fixed by the same commit:
-# Introduced in version v4.20 e14c02e6b6990e9f6ee18a214a22ac26bae1b25e
-# Patched in kernel since v6.2 a309c7194e8a2f8bd4539b9449917913f6c2cd50
-# Backported in version v6.1.7 7ac9578e45b20e3f3c0c8eb71f5417a499a7226a
-# See:
-#  * https://www.linuxkernelcves.com/cves/CVE-2022-38457
-#  * https://www.linuxkernelcves.com/cves/CVE-2022-40133
-#  * https://lore.kernel.org/all/CAODzB9q3OBD0k6W2bcWrSZo2jC3EvV0PrLyWmO07rxR4nQgkJA@mail.gmail.com/T/
-CVE_STATUS[CVE-2022-38457] = "cpe-stable-backport: Backported in version v6.1.7"
-CVE_STATUS[CVE-2022-40133] = "cpe-stable-backport: Backported in version v6.1.7"
+CVE_STATUS[CVE-2023-3312] = "fixed-version: only affects 6.2rc1 onwards"
 
-# Backported to 6.1.33
-CVE_STATUS[CVE-2022-48425] = "cpe-stable-backport: Backported in version v6.1.33"
+CVE_STATUS[CVE-2023-3317] = "fixed-version: only affects 6.2rc1 onwards"
 
-# 2023
+CVE_STATUS[CVE-2023-33203] = "cpe-stable-backport: Backported in 6.1.22"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-0179
-# Patched in kernel since v6.2 696e1a48b1a1b01edad542a1ef293665864a4dd0
-# Backported in version v5.10.164 550efeff989b041f3746118c0ddd863c39ddc1aa
-# Backported in version v5.15.89 a8acfe2c6fb99f9375a9325807a179cd8c32e6e3
-# Backported in version v6.1.7 76ef74d4a379faa451003621a84e3498044e7aa3
-CVE_STATUS[CVE-2023-0179] = "cpe-stable-backport: Backported in versions v5.10.164, v5.15.89 and v6.1.7"
+# CVE-2023-33250 has no known resolution
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-0266
-# Introduced in version v2.6.12 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
-# Patched in kernel since v6.2 56b88b50565cd8b946a2d00b0c83927b7ebb055e
-# Backported in version v5.15.88 26350c21bc5e97a805af878e092eb8125843fe2c
-# Backported in version v6.1.6 d6ad4bd1d896ae1daffd7628cd50f124280fb8b1
-CVE_STATUS[CVE-2023-0266] = "cpe-stable-backport: Backported in versions v5.15.88 and v6.1.6"
+CVE_STATUS[CVE-2023-33288] = "cpe-stable-backport: Backported in 6.1.22"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-0394
-# Introduced in version 2.6.12 357b40a18b04c699da1d45608436e9b76b50e251
-# Patched in kernel since v6.2 cb3e9864cdbe35ff6378966660edbcbac955fe17
-# Backported in version v5.4.229 3998dba0f78a59922b0ef333ccfeb58d9410cd3d
-# Backported in version v5.10.164 6c9e2c11c33c35563d34d12b343d43b5c12200b5
-# Backported in version v5.15.89 456e3794e08a0b59b259da666e31d0884b376bcf
-# Backported in version v6.1.7 0afa5f0736584411771299074bbeca8c1f9706d4
-CVE_STATUS[CVE-2023-0394] = "cpe-stable-backport: Backported in versions v5.4.229, v5.10.164, v5.15.89 and v6.1.7"
+CVE_STATUS[CVE-2023-3338] = "fixed-version: Fixed after version 6.1rc1"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-0386
-# Introduced in 5.11 459c7c565ac36ba09ffbf24231147f408fde4203
-# Patched in kernel v6.2 4f11ada10d0ad3fd53e2bd67806351de63a4f9c3
-# Backported in version 5.15.91 e91308e63710574c4b6a0cadda3e042a3699666e
-# Backported in version 6.1.9 42fea1c35254c49cce07c600d026cbc00c6d3c81
-CVE_STATUS[CVE-2023-0386] = "cpe-stable-backport: Backported in versions v5.15.91 and v6.1.9"
+CVE_STATUS[CVE-2023-3355] = "cpe-stable-backport: Backported in 6.1.16"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-0461
-# Introduced in version v4.13 734942cc4ea6478eed125af258da1bdbb4afe578
-# Patched in kernel since v6.2 2c02d41d71f90a5168391b6a5f2954112ba2307c
-# Backported in version v5.4.229 c6d29a5ffdbc362314853462a0e24e63330a654d
-# Backported in version v5.10.163 f8ed0a93b5d576bbaf01639ad816473bdfd1dcb0
-# Backported in version v5.15.88 dadd0dcaa67d27f550131de95c8e182643d2c9d6
-# Backported in version v6.1.5 7d242f4a0c8319821548c7176c09a6e0e71f223c
-CVE_STATUS[CVE-2023-0461] = "cpe-stable-backport: Backported in versions v5.4.229, v5.10.163, v5.15.88 and v6.1.5"
+CVE_STATUS[CVE-2023-3357] = "cpe-stable-backport: Backported in 6.1.2"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-1073
-# Introduced in v3.16 1b15d2e5b8077670b1e6a33250a0d9577efff4a5
-# Patched in kernel v6.2 b12fece4c64857e5fab4290bf01b2e0317a88456
-# Backported in version 5.10.166 5dc3469a1170dd1344d262a332b26994214eeb58
-# Backported in version 5.15.91 2b49568254365c9c247beb0eabbaa15d0e279d64
-# Backported in version 6.1.9 cdcdc0531a51659527fea4b4d064af343452062d
-CVE_STATUS[CVE-2023-1073] = "cpe-stable-backport: Backported in versions v5.10.166, v5.15.91 and v6.1.9"
+CVE_STATUS[CVE-2023-3358] = "cpe-stable-backport: Backported in 6.1.9"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-1074
-# Patched in kernel v6.2 458e279f861d3f61796894cd158b780765a1569f
-# Backported in version 5.15.91 3391bd42351be0beb14f438c7556912b9f96cb32
-# Backported in version 6.1.9 9f08bb650078dca24a13fea1c375358ed6292df3
-CVE_STATUS[CVE-2023-1074] = "cpe-stable-backport: Backported in versions v5.15.91 andv6.1.9"
+CVE_STATUS[CVE-2023-3359] = "cpe-stable-backport: Backported in 6.1.11"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-1075
-# Introduced in v4.20 a42055e8d2c30d4decfc13ce943d09c7b9dad221
-# Patched in kernel v6.2 ffe2a22562444720b05bdfeb999c03e810d84cbb
-# Backported in version 6.1.11 37c0cdf7e4919e5f76381ac60817b67bcbdacb50
-# 5.15 still has issue, include/net/tls.h:is_tx_ready() would need patch
-CVE_STATUS[CVE-2023-1075] = "cpe-stable-backport: Backported in version v6.1.11"
+CVE_STATUS[CVE-2023-3389] = "fixed-version: Fixed after version 6.0rc1"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-1076
-# Patched in kernel v6.3 a096ccca6e503a5c575717ff8a36ace27510ab0a
-# Backported in version v5.4.235 d92d87000eda9884d49f1acec1c1fccd63cd9b11
-# Backported in version v5.10.173 9a31af61f397500ccae49d56d809b2217d1e2178
-# Backported in version v5.15.99 67f9f02928a34aad0a2c11dab5eea269f5ecf427
-# Backported in version v6.1.16 b4ada752eaf1341f47bfa3d8ada377eca75a8d44
-# Backported in version v6.2.3 4aa4b4b3b3e9551c4de2bf2987247c28805fb8f6
-CVE_STATUS[CVE-2023-1076] = "cpe-stable-backport: Backported in versions v5.4.235, v5.10.173, v5.15.99, v6.1.16 and v6.2.3"
+CVE_STATUS[CVE-2023-3390] = "cpe-stable-backport: Backported in 6.1.35"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-1077
-# Patched in kernel 6.3rc1 7c4a5b89a0b5a57a64b601775b296abf77a9fe97
-# Backported in version 5.15.99 2c36c390a74981d03f04f01fe7ee9c3ac3ea11f7
-# Backported in version 6.1.16 6b4fcc4e8a3016e85766c161daf0732fca16c3a3
-CVE_STATUS[CVE-2023-1077] = "cpe-stable-backport: Backported in versions v5.15.99 and v6.1.16"
+CVE_STATUS[CVE-2023-33951] = "cpe-stable-backport: Backported in 6.1.13"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-1078
-# Patched in kernel 6.2 f753a68980cf4b59a80fe677619da2b1804f526d
-# Backported in version 5.15.94 528e3f3a4b53df36dafd10cdf6b8c0fe2aa1c4ba
-# Backported in version 6.1.12 1d52bbfd469af69fbcae88c67f160ce1b968e7f3
-CVE_STATUS[CVE-2023-1078] = "cpe-stable-backport: Backported in versions v5.15.94 and v6.1.12"
+CVE_STATUS[CVE-2023-33952] = "cpe-stable-backport: Backported in 6.1.13"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-1079
-# Patched in kernel since v6.3-rc1 4ab3a086d10eeec1424f2e8a968827a6336203df
-# Backported in version v5.4.235 dd08e68d04d08d2f42b09162c939a0b0841216cc
-# Backported in version v5.10.173 21a2eec4a440060a6eb294dc890eaf553101ba09
-# Backported in version v5.15.99 3959316f8ceb17866646abc6be4a332655407138
-# Backported in version v6.1.16 ee907829b36949c452c6f89485cb2a58e97c048e
-# Backported in version v6.2.3 b08bcfb4c97d7bd41b362cff44b2c537ce9e8540
-CVE_STATUS[CVE-2023-1079] = "cpe-stable-backport: Backported in versions v5.4.235, v5.10.173, v5.15.99, v6.1.16 and v6.2.3"
+# CVE-2023-3397 has no known resolution
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-1118
-# Introduced in version v2.6.36 9ea53b74df9c4681f5bb2da6b2e10e37d87ea6d6
-# Patched in kernel since v6.3-rc1 29b0589a865b6f66d141d79b2dd1373e4e50fe17
-# Backported in version v5.4.235 d120334278b370b6a1623a75ebe53b0c76cb247c
-# Backported in version v5.10.173 78da5a378bdacd5bf68c3a6389bdc1dd0c0f5b3c
-# Backported in version v5.15.99 29962c478e8b2e6a6154d8d84b8806dbe36f9c28
-# Backported in version v6.1.16 029c1410e345ce579db5c007276340d072aac54a
-# Backported in version v6.2.3 182ea492aae5b64067277e60a4ea5995c4628555
-CVE_STATUS[CVE-2023-1118] = "cpe-stable-backport: Backported in versions v5.4.235, v5.10.173, v5.15.99, v6.1.16 and v6.2.3"
+CVE_STATUS[CVE-2023-34255] = "cpe-stable-backport: Backported in 6.1.33"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-1281
-# Introduced in version v4.14 9b0d4446b56904b59ae3809913b0ac760fa941a6
-# Patched in kernel since v6.2 ee059170b1f7e94e55fa6cadee544e176a6e59c2
-# Backported in version v5.10.169 eb8e9d8572d1d9df17272783ad8a84843ce559d4
-# Backported in version v5.15.95 becf55394f6acb60dd60634a1c797e73c747f9da
-# Backported in version v6.1.13 bd662ba56187b5ef8a62a3511371cd38299a507f
-CVE_STATUS[CVE-2023-1281] = "cpe-stable-backport: Backported in versions v5.10.169, v5.15.95 and v6.1.13"
+CVE_STATUS[CVE-2023-34256] = "cpe-stable-backport: Backported in 6.1.29"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-1513
-# Patched in kernel since v6.2 2c10b61421a28e95a46ab489fd56c0f442ff6952
-# Backported in version v5.4.232 9f95a161a7deef62d6d2f57b1a69f94e0546d8d8
-# Backported in version v5.10.169 6416c2108ba54d569e4c98d3b62ac78cb12e7107
-# Backported in version v5.15.95 35351e3060d67eed8af1575d74b71347a87425d8
-# Backported in version v6.1.13 747ca7c8a0c7bce004709143d1cd6596b79b1deb
-CVE_STATUS[CVE-2023-1513] = "cpe-stable-backport: Backported in versions v5.4.232, v5.10.169, v5.15.95 and v6.1.13"
+CVE_STATUS[CVE-2023-3439] = "fixed-version: Fixed after version 5.18rc5"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-1652
-# Patched in kernel since v6.2 e6cf91b7b47ff82b624bdfe2fdcde32bb52e71dd
-# Backported in version v5.15.91 0a27dcd5343026ac0cb168ee63304255372b7a36
-# Backported in version v6.1.9 32d5eb95f8f0e362e37c393310b13b9e95404560
-# Ref: https://www.linuxkernelcves.com/cves/CVE-2023-1652
-# Ref: Debian kernel-sec team: https://salsa.debian.org/kernel-team/kernel-sec/-/blob/1fa77554d4721da54e2df06fa1908a83ba6b1045/retired/CVE-2023-1652
-CVE_STATUS[CVE-2023-1652] = "cpe-stable-backport: Backported in versions v5.15.91 and v6.1.9"
+CVE_STATUS[CVE-2023-35001] = "cpe-stable-backport: Backported in 6.1.39"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-1829
-# Patched in kernel since v6.3-rc1 8c710f75256bb3cf05ac7b1672c82b92c43f3d28
-# Backported in version v5.4.235 7a6fb69bbcb21e9ce13bdf18c008c268874f0480
-# Backported in version v5.10.173 18c3fa7a7fdbb4d21dafc8a7710ae2c1680930f6
-# Backported in version v5.15.100 7c183dc0af472dec33d2c0786a5e356baa8cad19
-# Backported in version v6.1.18 3abebc503a5148072052c229c6b04b329a420ecd
-# Backported in version v6.2.5 372ae77cf11d11fb118cbe2d37def9dd5f826abd
-# Ref: https://www.linuxkernelcves.com/cves/CVE-2023-1829
-# Ref: Debian kernel-sec team : https://salsa.debian.org/kernel-team/kernel-sec/-/blob/1fa77554d4721da54e2df06fa1908a83ba6b1045/active/CVE-2023-1829
-CVE_STATUS[CVE-2023-1829] = "cpe-stable-backport: Backported in versions v5.4.235, v5.10.173, v5.15.100, v6.1.18 and v6.2.5"
+CVE_STATUS[CVE-2023-3567] = "cpe-stable-backport: Backported in 6.1.11"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-28466
-# Introduced in version v4.13 3c4d7559159bfe1e3b94df3a657b2cda3a34e218
-# Patched in kernel since v6.3-rc2 49c47cc21b5b7a3d8deb18fc57b0aa2ab1286962
-# Backported in version v5.15.105 0b54d75aa43a1edebc8a3770901f5c3557ee0daa
-# Backported in version v6.1.20 14c17c673e1bba08032d245d5fb025d1cbfee123
-# Backported in version v6.2.7 5231fa057bb0e52095591b303cf95ebd17bc62ce
-CVE_STATUS[CVE-2023-28466] = "cpe-stable-backport: Backported in versions v5.15.05, v6.1.20 and v6.2.7"
+# CVE-2023-35693 has no known resolution
 
+CVE_STATUS[CVE-2023-35788] = "cpe-stable-backport: Backported in 6.1.33"
 
-# https://www.linuxkernelcves.com/cves/CVE-2023-0615
-# Fixed in 6.1 onwards
-CVE_STATUS[CVE-2023-0615] = "fixed-version: Fixed in version v6.1 onwards"
+CVE_STATUS[CVE-2023-35823] = "cpe-stable-backport: Backported in 6.1.28"
 
-# https://www.linuxkernelcves.com/cves/CVE-2023-28328
-# Fixed with 6.1.2
-CVE_STATUS[CVE-2023-28328] = "fixed-version: Fixed in version v6.1.2"
+CVE_STATUS[CVE-2023-35824] = "cpe-stable-backport: Backported in 6.1.28"
 
-# https://www.linuxkernelcves.com/cves/CVE-2023-2162
-# Fixed in 6.1.11
-CVE_STATUS[CVE-2023-2162] = "fixed-version: Fixed in version v6.1.11"
+CVE_STATUS[CVE-2023-35826] = "cpe-stable-backport: Backported in 6.1.28"
 
-# https://www.linuxkernelcves.com/cves/CVE-2023-0459
-# Fixed in 6.1.14 onwards
-CVE_STATUS[CVE-2023-0459] = "fixed-version: Fixed in version v6.1.14"
+# CVE-2023-35827 has no known resolution
 
-# https://www.linuxkernelcves.com/cves/CVE-2023-1999
-# https://www.linuxkernelcves.com/cves/CVE-2023-2985
-# Fixed in 6.1.16
-CVE_STATUS[CVE-2023-1998] = "fixed-version: Fixed in version v6.1.16"
-CVE_STATUS[CVE-2023-2985] = "fixed-version: Fixed in version v6.1.16"
+CVE_STATUS[CVE-2023-35828] = "cpe-stable-backport: Backported in 6.1.28"
 
-# https://www.linuxkernelcves.com/cves/CVE-2023-1855
-# https://www.linuxkernelcves.com/cves/CVE-2023-1990
-# https://www.linuxkernelcves.com/cves/CVE-2023-2235
-# https://www.linuxkernelcves.com/cves/CVE-2023-30456
-# Fixed in 6.1.21
-CVE_STATUS_GROUPS += "CVE_STATUS_KERNEL_6121"
-CVE_STATUS_KERNEL_6121 = "CVE-2023-1855 CVE-2023-1990 CVE-2023-2235 CVE-2023-30456"
-CVE_STATUS_KERNEL_6121[status] =  "fixed-version: Fixed in version v6.1.21"
+CVE_STATUS[CVE-2023-35829] = "cpe-stable-backport: Backported in 6.1.28"
 
-# https://www.linuxkernelcves.com/cves/CVE-2023-1989
-# https://www.linuxkernelcves.com/cves/CVE-2023-2194
-# https://www.linuxkernelcves.com/cves/CVE-2023-28866
-# https://www.linuxkernelcves.com/cves/CVE-2023-30772
-# https://www.linuxkernelcves.com/cves/CVE-2023-33203
-# https://www.linuxkernelcves.com/cves/CVE-2023-33288
-# Fixed with 6.1.22
-CVE_STATUS_GROUPS += "CVE_STATUS_KERNEL_6122"
-CVE_STATUS_KERNEL_6122 = "CVE-2023-2194 CVE-2023-1989 CVE-2023-28866 CVE-2023-30772 CVE-2023-33203 CVE-2023-33288"
-CVE_STATUS_KERNEL_6122[status] =  "fixed-version: Fixed in version v6.1.22"
+CVE_STATUS[CVE-2023-3609] = "cpe-stable-backport: Backported in 6.1.35"
 
-# https://www.linuxkernelcves.com/cves/CVE-2023-1611
-# Fixed in 6.1.23
-CVE_STATUS[CVE-2023-1611] = "fixed-version: Fixed in version v6.1.23"
+CVE_STATUS[CVE-2023-3610] = "cpe-stable-backport: Backported in 6.1.36"
 
-# https://www.linuxkernelcves.com/cves/CVE-2023-1859
-# Fixed in 6.1.25
-CVE_STATUS[CVE-2023-1859] = "fixed-version: Fixed in version v6.1.25"
+CVE_STATUS[CVE-2023-3611] = "cpe-stable-backport: Backported in 6.1.40"
 
-# https://www.linuxkernelcves.com/cves/CVE-2023-2156
-# https://www.linuxkernelcves.com/cves/CVE-2023-31436
-# Fixed in 6.1.26
-CVE_STATUS[CVE-2023-2156] = "fixed-version: Fixed in version v6.1.26"
-CVE_STATUS[CVE-2023-31436] = "fixed-version: Fixed in version v6.1.26"
+# CVE-2023-3640 has no known resolution
 
-# https://www.linuxkernelcves.com/cves/CVE-2023-1380
-# https://www.linuxkernelcves.com/cves/CVE-2023-2002
-# Fixed in 6.1.27
-CVE_STATUS[CVE-2023-1380] = "fixed-version: Fixed in version v6.1.27"
-CVE_STATUS[CVE-2023-2002] = "fixed-version: Fixed in version v6.1.27"
+# CVE-2023-37453 has no known resolution
 
-# https://www.linuxkernelcves.com/cves/CVE-2023-32233
-# Fixed with 6.1.28
-CVE_STATUS[CVE-2023-32233] = "fixed-version: Fixed in version v6.1.28"
+# CVE-2023-37454 has no known resolution
 
-# https://www.linuxkernelcves.com/cves/CVE-2023-34256
-# Fixed in 6.1.29
-CVE_STATUS[CVE-2023-34256] = "fixed-version: Fixed in version v6.1.29"
+# CVE-2023-3772 has no known resolution
 
+# CVE-2023-3773 has no known resolution
 
-# Backported to 6.1.9
-CVE_STATUS[CVE-2023-3358] = "cpe-stable-backport: Backported in version v6.1.9"
+CVE_STATUS[CVE-2023-3776] = "cpe-stable-backport: Backported in 6.1.40"
 
-# Backported to 6.1.11
-CVE_STATUS[CVE-2023-3359] = "cpe-stable-backport: Backported in version v6.1.11"
-CVE_STATUS[CVE-2023-3161] = "cpe-stable-backport: Backported in version v6.1.11"
+CVE_STATUS[CVE-2023-3812] = "fixed-version: Fixed after version 6.1rc4"
 
-# Backported to 6.1.16
-CVE_STATUS[CVE-2023-3220] = "cpe-stable-backport: Backported in version v6.1.16"
+CVE_STATUS[CVE-2023-38409] = "cpe-stable-backport: Backported in 6.1.25"
 
-# Backported to 6.1.28
-CVE_STATUS_GROUPS += "CVE_STATUS_KERNEL_6128"
-CVE_STATUS_KERNEL_6128 = "CVE-2023-3268 CVE-2023-35823 CVE-2023-35824 CVE-2023-35826 CVE-2023-35828 CVE-2023-35829"
-CVE_STATUS_KERNEL_6122[status] = "cpe-stable-backport: Backported in version v6.1.28"
+CVE_STATUS[CVE-2023-38426] = "cpe-stable-backport: Backported in 6.1.30"
 
-# Backported to 6.1.30
-# Backported to 6.1.30 as 9a342d4
-CVE_STATUS[CVE-2023-3090] = "cpe-stable-backport: Backported in version v6.1.30"
-CVE_STATUS[CVE-2023-3141] = "cpe-stable-backport: Backported in version v6.1.30 as 9a342d4"
+CVE_STATUS[CVE-2023-38427] = "cpe-stable-backport: Backported in 6.1.34"
 
-# Backported to 6.1.33
-CVE_STATUS_GROUPS += "CVE_STATUS_KERNEL_6133"
-CVE_STATUS_KERNEL_6133 = "CVE-2023-2124 CVE-2023-3212 CVE-2023-35788"
-CVE_STATUS_KERNEL_6133[status] = "cpe-stable-backport: Backported in version v6.1.33"
+CVE_STATUS[CVE-2023-38428] = "cpe-stable-backport: Backported in 6.1.30"
 
-# Backported to 6.1.35
-CVE_STATUS[CVE-2023-3117] = "cpe-stable-backport: Backported in version v6.1.35"
-CVE_STATUS[CVE-2023-3390] = "cpe-stable-backport: Backported in version v6.1.35"
+CVE_STATUS[CVE-2023-38429] = "cpe-stable-backport: Backported in 6.1.30"
 
-# Backported to 6.1.36
-CVE_STATUS[CVE-2023-3389] = "cpe-stable-backport: Backported in version v6.1.36"
+CVE_STATUS[CVE-2023-38430] = "cpe-stable-backport: Backported in 6.1.35"
 
-# Only in 6.2.0 to 6.2.14, and 6.3.0 to 6.3.1
-CVE_STATUS[CVE-2023-3312] = "not-applicable-config: Only in versions v6.2.0 to v6.2.4 and v6.3.0 to v6.3.1"
+CVE_STATUS[CVE-2023-38431] = "cpe-stable-backport: Backported in 6.1.34"
 
+CVE_STATUS[CVE-2023-38432] = "cpe-stable-backport: Backported in 6.1.36"
 
-# https://nvd.nist.gov/vuln/detail/CVE-2023-23005
-# Introduced in version v6.1 7b88bda3761b95856cf97822efe8281c8100067b
-# Patched in kernel since v6.2 4a625ceee8a0ab0273534cb6b432ce6b331db5ee
-# But, the CVE is disputed:
-CVE_STATUS[CVE-2023-23005] = "disputed: There are no realistic cases \
-in which a user can cause the alloc_memory_type error case to be reached. \
-See: https://bugzilla.suse.com/show_bug.cgi?id=1208844#c2"
+CVE_STATUS[CVE-2023-3863] = "cpe-stable-backport: Backported in 6.1.39"
 
-CVE_STATUS[CVE-2023-28464] = "not-applicable-config: Only in 6.3-rc"
diff --git a/poky/meta/recipes-kernel/linux/cve-exclusion_6.4.inc b/poky/meta/recipes-kernel/linux/cve-exclusion_6.4.inc
new file mode 100644
index 0000000..98e9ee2
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/cve-exclusion_6.4.inc
@@ -0,0 +1,4967 @@
+# Auto-generated CVE metadata, DO NOT EDIT BY HAND.
+# Generated at 2023-08-09 15:51:30.073765 for version 6.4.9
+
+CVE_STATUS[CVE-2003-1604] = "fixed-version: Fixed after version 2.6.12rc2"
+
+CVE_STATUS[CVE-2004-0230] = "fixed-version: Fixed after version 3.6rc1"
+
+# CVE-2005-3660 has no known resolution
+
+CVE_STATUS[CVE-2006-3635] = "fixed-version: Fixed after version 2.6.26rc5"
+
+CVE_STATUS[CVE-2006-5331] = "fixed-version: Fixed after version 2.6.19rc3"
+
+CVE_STATUS[CVE-2006-6128] = "fixed-version: Fixed after version 2.6.19rc2"
+
+# CVE-2007-3719 has no known resolution
+
+CVE_STATUS[CVE-2007-4774] = "fixed-version: Fixed after version 2.6.12rc2"
+
+CVE_STATUS[CVE-2007-6761] = "fixed-version: Fixed after version 2.6.24rc6"
+
+CVE_STATUS[CVE-2007-6762] = "fixed-version: Fixed after version 2.6.20rc5"
+
+# CVE-2008-2544 has no known resolution
+
+# CVE-2008-4609 has no known resolution
+
+CVE_STATUS[CVE-2008-7316] = "fixed-version: Fixed after version 2.6.25rc1"
+
+CVE_STATUS[CVE-2009-2692] = "fixed-version: Fixed after version 2.6.31rc6"
+
+CVE_STATUS[CVE-2010-0008] = "fixed-version: Fixed after version 2.6.23rc9"
+
+CVE_STATUS[CVE-2010-3432] = "fixed-version: Fixed after version 2.6.36rc5"
+
+# CVE-2010-4563 has no known resolution
+
+CVE_STATUS[CVE-2010-4648] = "fixed-version: Fixed after version 2.6.37rc6"
+
+CVE_STATUS[CVE-2010-5313] = "fixed-version: Fixed after version 2.6.38rc1"
+
+# CVE-2010-5321 has no known resolution
+
+CVE_STATUS[CVE-2010-5328] = "fixed-version: Fixed after version 2.6.35rc1"
+
+CVE_STATUS[CVE-2010-5329] = "fixed-version: Fixed after version 2.6.39rc1"
+
+CVE_STATUS[CVE-2010-5331] = "fixed-version: Fixed after version 2.6.34rc7"
+
+CVE_STATUS[CVE-2010-5332] = "fixed-version: Fixed after version 2.6.37rc1"
+
+CVE_STATUS[CVE-2011-4098] = "fixed-version: Fixed after version 3.2rc1"
+
+CVE_STATUS[CVE-2011-4131] = "fixed-version: Fixed after version 3.3rc1"
+
+CVE_STATUS[CVE-2011-4915] = "fixed-version: Fixed after version 3.2rc1"
+
+# CVE-2011-4916 has no known resolution
+
+# CVE-2011-4917 has no known resolution
+
+CVE_STATUS[CVE-2011-5321] = "fixed-version: Fixed after version 3.2rc1"
+
+CVE_STATUS[CVE-2011-5327] = "fixed-version: Fixed after version 3.1rc1"
+
+CVE_STATUS[CVE-2012-0957] = "fixed-version: Fixed after version 3.7rc2"
+
+CVE_STATUS[CVE-2012-2119] = "fixed-version: Fixed after version 3.5rc1"
+
+CVE_STATUS[CVE-2012-2136] = "fixed-version: Fixed after version 3.5rc1"
+
+CVE_STATUS[CVE-2012-2137] = "fixed-version: Fixed after version 3.5rc2"
+
+CVE_STATUS[CVE-2012-2313] = "fixed-version: Fixed after version 3.4rc6"
+
+CVE_STATUS[CVE-2012-2319] = "fixed-version: Fixed after version 3.4rc6"
+
+CVE_STATUS[CVE-2012-2372] = "fixed-version: Fixed after version 3.13rc4"
+
+CVE_STATUS[CVE-2012-2375] = "fixed-version: Fixed after version 3.4rc1"
+
+CVE_STATUS[CVE-2012-2390] = "fixed-version: Fixed after version 3.5rc1"
+
+CVE_STATUS[CVE-2012-2669] = "fixed-version: Fixed after version 3.5rc4"
+
+CVE_STATUS[CVE-2012-2744] = "fixed-version: Fixed after version 2.6.34rc1"
+
+CVE_STATUS[CVE-2012-2745] = "fixed-version: Fixed after version 3.4rc3"
+
+CVE_STATUS[CVE-2012-3364] = "fixed-version: Fixed after version 3.5rc6"
+
+CVE_STATUS[CVE-2012-3375] = "fixed-version: Fixed after version 3.4rc5"
+
+CVE_STATUS[CVE-2012-3400] = "fixed-version: Fixed after version 3.5rc5"
+
+CVE_STATUS[CVE-2012-3412] = "fixed-version: Fixed after version 3.6rc2"
+
+CVE_STATUS[CVE-2012-3430] = "fixed-version: Fixed after version 3.6rc1"
+
+CVE_STATUS[CVE-2012-3510] = "fixed-version: Fixed after version 2.6.19rc4"
+
+CVE_STATUS[CVE-2012-3511] = "fixed-version: Fixed after version 3.5rc6"
+
+CVE_STATUS[CVE-2012-3520] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-3552] = "fixed-version: Fixed after version 3.0rc1"
+
+# Skipping CVE-2012-4220, no affected_versions
+
+# Skipping CVE-2012-4221, no affected_versions
+
+# Skipping CVE-2012-4222, no affected_versions
+
+CVE_STATUS[CVE-2012-4398] = "fixed-version: Fixed after version 3.4rc1"
+
+CVE_STATUS[CVE-2012-4444] = "fixed-version: Fixed after version 2.6.36rc4"
+
+CVE_STATUS[CVE-2012-4461] = "fixed-version: Fixed after version 3.7rc6"
+
+CVE_STATUS[CVE-2012-4467] = "fixed-version: Fixed after version 3.6rc5"
+
+CVE_STATUS[CVE-2012-4508] = "fixed-version: Fixed after version 3.7rc3"
+
+CVE_STATUS[CVE-2012-4530] = "fixed-version: Fixed after version 3.8rc1"
+
+# CVE-2012-4542 has no known resolution
+
+CVE_STATUS[CVE-2012-4565] = "fixed-version: Fixed after version 3.7rc4"
+
+CVE_STATUS[CVE-2012-5374] = "fixed-version: Fixed after version 3.8rc1"
+
+CVE_STATUS[CVE-2012-5375] = "fixed-version: Fixed after version 3.8rc1"
+
+CVE_STATUS[CVE-2012-5517] = "fixed-version: Fixed after version 3.6rc1"
+
+CVE_STATUS[CVE-2012-6536] = "fixed-version: Fixed after version 3.6rc7"
+
+CVE_STATUS[CVE-2012-6537] = "fixed-version: Fixed after version 3.6rc7"
+
+CVE_STATUS[CVE-2012-6538] = "fixed-version: Fixed after version 3.6rc7"
+
+CVE_STATUS[CVE-2012-6539] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6540] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6541] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6542] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6543] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6544] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6545] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6546] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2012-6547] = "fixed-version: Fixed after version 3.6rc1"
+
+CVE_STATUS[CVE-2012-6548] = "fixed-version: Fixed after version 3.6rc1"
+
+CVE_STATUS[CVE-2012-6549] = "fixed-version: Fixed after version 3.6rc1"
+
+CVE_STATUS[CVE-2012-6638] = "fixed-version: Fixed after version 3.3rc1"
+
+CVE_STATUS[CVE-2012-6647] = "fixed-version: Fixed after version 3.6rc2"
+
+CVE_STATUS[CVE-2012-6657] = "fixed-version: Fixed after version 3.6"
+
+CVE_STATUS[CVE-2012-6689] = "fixed-version: Fixed after version 3.6rc5"
+
+CVE_STATUS[CVE-2012-6701] = "fixed-version: Fixed after version 3.5rc1"
+
+CVE_STATUS[CVE-2012-6703] = "fixed-version: Fixed after version 3.7rc1"
+
+CVE_STATUS[CVE-2012-6704] = "fixed-version: Fixed after version 3.5rc1"
+
+CVE_STATUS[CVE-2012-6712] = "fixed-version: Fixed after version 3.4rc1"
+
+CVE_STATUS[CVE-2013-0160] = "fixed-version: Fixed after version 3.9rc1"
+
+CVE_STATUS[CVE-2013-0190] = "fixed-version: Fixed after version 3.8rc5"
+
+CVE_STATUS[CVE-2013-0216] = "fixed-version: Fixed after version 3.8rc7"
+
+CVE_STATUS[CVE-2013-0217] = "fixed-version: Fixed after version 3.8rc7"
+
+CVE_STATUS[CVE-2013-0228] = "fixed-version: Fixed after version 3.8"
+
+CVE_STATUS[CVE-2013-0231] = "fixed-version: Fixed after version 3.8rc7"
+
+CVE_STATUS[CVE-2013-0268] = "fixed-version: Fixed after version 3.8rc6"
+
+CVE_STATUS[CVE-2013-0290] = "fixed-version: Fixed after version 3.8"
+
+CVE_STATUS[CVE-2013-0309] = "fixed-version: Fixed after version 3.7rc1"
+
+CVE_STATUS[CVE-2013-0310] = "fixed-version: Fixed after version 3.5"
+
+CVE_STATUS[CVE-2013-0311] = "fixed-version: Fixed after version 3.7rc8"
+
+CVE_STATUS[CVE-2013-0313] = "fixed-version: Fixed after version 3.8rc5"
+
+CVE_STATUS[CVE-2013-0343] = "fixed-version: Fixed after version 3.11rc7"
+
+CVE_STATUS[CVE-2013-0349] = "fixed-version: Fixed after version 3.8rc6"
+
+CVE_STATUS[CVE-2013-0871] = "fixed-version: Fixed after version 3.8rc5"
+
+CVE_STATUS[CVE-2013-0913] = "fixed-version: Fixed after version 3.9rc4"
+
+CVE_STATUS[CVE-2013-0914] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-1059] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-1763] = "fixed-version: Fixed after version 3.9rc1"
+
+CVE_STATUS[CVE-2013-1767] = "fixed-version: Fixed after version 3.9rc1"
+
+CVE_STATUS[CVE-2013-1772] = "fixed-version: Fixed after version 3.5rc1"
+
+CVE_STATUS[CVE-2013-1773] = "fixed-version: Fixed after version 3.3rc1"
+
+CVE_STATUS[CVE-2013-1774] = "fixed-version: Fixed after version 3.8rc5"
+
+CVE_STATUS[CVE-2013-1792] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-1796] = "fixed-version: Fixed after version 3.9rc4"
+
+CVE_STATUS[CVE-2013-1797] = "fixed-version: Fixed after version 3.9rc4"
+
+CVE_STATUS[CVE-2013-1798] = "fixed-version: Fixed after version 3.9rc4"
+
+CVE_STATUS[CVE-2013-1819] = "fixed-version: Fixed after version 3.8rc6"
+
+CVE_STATUS[CVE-2013-1826] = "fixed-version: Fixed after version 3.6rc7"
+
+CVE_STATUS[CVE-2013-1827] = "fixed-version: Fixed after version 3.6rc3"
+
+CVE_STATUS[CVE-2013-1828] = "fixed-version: Fixed after version 3.9rc2"
+
+CVE_STATUS[CVE-2013-1848] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-1858] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-1860] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-1928] = "fixed-version: Fixed after version 3.7rc3"
+
+CVE_STATUS[CVE-2013-1929] = "fixed-version: Fixed after version 3.9rc6"
+
+# Skipping CVE-2013-1935, no affected_versions
+
+CVE_STATUS[CVE-2013-1943] = "fixed-version: Fixed after version 3.0rc1"
+
+CVE_STATUS[CVE-2013-1956] = "fixed-version: Fixed after version 3.9rc5"
+
+CVE_STATUS[CVE-2013-1957] = "fixed-version: Fixed after version 3.9rc5"
+
+CVE_STATUS[CVE-2013-1958] = "fixed-version: Fixed after version 3.9rc5"
+
+CVE_STATUS[CVE-2013-1959] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-1979] = "fixed-version: Fixed after version 3.9rc8"
+
+CVE_STATUS[CVE-2013-2015] = "fixed-version: Fixed after version 3.8rc2"
+
+CVE_STATUS[CVE-2013-2017] = "fixed-version: Fixed after version 2.6.34"
+
+CVE_STATUS[CVE-2013-2058] = "fixed-version: Fixed after version 3.8rc4"
+
+CVE_STATUS[CVE-2013-2094] = "fixed-version: Fixed after version 3.9rc8"
+
+CVE_STATUS[CVE-2013-2128] = "fixed-version: Fixed after version 2.6.34rc4"
+
+CVE_STATUS[CVE-2013-2140] = "fixed-version: Fixed after version 3.11rc3"
+
+CVE_STATUS[CVE-2013-2141] = "fixed-version: Fixed after version 3.9rc8"
+
+CVE_STATUS[CVE-2013-2146] = "fixed-version: Fixed after version 3.9rc8"
+
+CVE_STATUS[CVE-2013-2147] = "fixed-version: Fixed after version 3.12rc3"
+
+CVE_STATUS[CVE-2013-2148] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-2164] = "fixed-version: Fixed after version 3.11rc1"
+
+# Skipping CVE-2013-2188, no affected_versions
+
+CVE_STATUS[CVE-2013-2206] = "fixed-version: Fixed after version 3.9rc4"
+
+# Skipping CVE-2013-2224, no affected_versions
+
+CVE_STATUS[CVE-2013-2232] = "fixed-version: Fixed after version 3.10"
+
+CVE_STATUS[CVE-2013-2234] = "fixed-version: Fixed after version 3.10"
+
+CVE_STATUS[CVE-2013-2237] = "fixed-version: Fixed after version 3.9rc6"
+
+# Skipping CVE-2013-2239, no affected_versions
+
+CVE_STATUS[CVE-2013-2546] = "fixed-version: Fixed after version 3.9rc1"
+
+CVE_STATUS[CVE-2013-2547] = "fixed-version: Fixed after version 3.9rc1"
+
+CVE_STATUS[CVE-2013-2548] = "fixed-version: Fixed after version 3.9rc1"
+
+CVE_STATUS[CVE-2013-2596] = "fixed-version: Fixed after version 3.9rc8"
+
+CVE_STATUS[CVE-2013-2634] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-2635] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-2636] = "fixed-version: Fixed after version 3.9rc3"
+
+CVE_STATUS[CVE-2013-2850] = "fixed-version: Fixed after version 3.10rc4"
+
+CVE_STATUS[CVE-2013-2851] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-2852] = "fixed-version: Fixed after version 3.10rc6"
+
+CVE_STATUS[CVE-2013-2888] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2013-2889] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2890] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2891] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2892] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2013-2893] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2894] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2895] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2896] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2013-2897] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-2898] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2013-2899] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2013-2929] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-2930] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-3076] = "fixed-version: Fixed after version 3.9"
+
+CVE_STATUS[CVE-2013-3222] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3223] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3224] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3225] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3226] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3227] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3228] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3229] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3230] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3231] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3232] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3233] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3234] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3235] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3236] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3237] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3301] = "fixed-version: Fixed after version 3.9rc7"
+
+CVE_STATUS[CVE-2013-3302] = "fixed-version: Fixed after version 3.8rc3"
+
+CVE_STATUS[CVE-2013-4125] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-4127] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-4129] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-4162] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-4163] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2013-4205] = "fixed-version: Fixed after version 3.11rc5"
+
+CVE_STATUS[CVE-2013-4220] = "fixed-version: Fixed after version 3.10rc4"
+
+CVE_STATUS[CVE-2013-4247] = "fixed-version: Fixed after version 3.10rc5"
+
+CVE_STATUS[CVE-2013-4254] = "fixed-version: Fixed after version 3.11rc6"
+
+CVE_STATUS[CVE-2013-4270] = "fixed-version: Fixed after version 3.12rc4"
+
+CVE_STATUS[CVE-2013-4299] = "fixed-version: Fixed after version 3.12rc6"
+
+CVE_STATUS[CVE-2013-4300] = "fixed-version: Fixed after version 3.11"
+
+CVE_STATUS[CVE-2013-4312] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2013-4343] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-4345] = "fixed-version: Fixed after version 3.13rc2"
+
+CVE_STATUS[CVE-2013-4348] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-4350] = "fixed-version: Fixed after version 3.12rc2"
+
+CVE_STATUS[CVE-2013-4387] = "fixed-version: Fixed after version 3.12rc4"
+
+CVE_STATUS[CVE-2013-4470] = "fixed-version: Fixed after version 3.12rc7"
+
+CVE_STATUS[CVE-2013-4483] = "fixed-version: Fixed after version 3.10rc1"
+
+CVE_STATUS[CVE-2013-4511] = "fixed-version: Fixed after version 3.12"
+
+CVE_STATUS[CVE-2013-4512] = "fixed-version: Fixed after version 3.12"
+
+CVE_STATUS[CVE-2013-4513] = "fixed-version: Fixed after version 3.12"
+
+CVE_STATUS[CVE-2013-4514] = "fixed-version: Fixed after version 3.12"
+
+CVE_STATUS[CVE-2013-4515] = "fixed-version: Fixed after version 3.12"
+
+CVE_STATUS[CVE-2013-4516] = "fixed-version: Fixed after version 3.12"
+
+CVE_STATUS[CVE-2013-4563] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-4579] = "fixed-version: Fixed after version 3.13rc7"
+
+CVE_STATUS[CVE-2013-4587] = "fixed-version: Fixed after version 3.13rc4"
+
+CVE_STATUS[CVE-2013-4588] = "fixed-version: Fixed after version 2.6.33rc4"
+
+CVE_STATUS[CVE-2013-4591] = "fixed-version: Fixed after version 3.8rc1"
+
+CVE_STATUS[CVE-2013-4592] = "fixed-version: Fixed after version 3.7rc1"
+
+# Skipping CVE-2013-4737, no affected_versions
+
+# Skipping CVE-2013-4738, no affected_versions
+
+# Skipping CVE-2013-4739, no affected_versions
+
+CVE_STATUS[CVE-2013-5634] = "fixed-version: Fixed after version 3.10rc5"
+
+CVE_STATUS[CVE-2013-6282] = "fixed-version: Fixed after version 3.6rc6"
+
+CVE_STATUS[CVE-2013-6367] = "fixed-version: Fixed after version 3.13rc4"
+
+CVE_STATUS[CVE-2013-6368] = "fixed-version: Fixed after version 3.13rc4"
+
+CVE_STATUS[CVE-2013-6376] = "fixed-version: Fixed after version 3.13rc4"
+
+CVE_STATUS[CVE-2013-6378] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-6380] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-6381] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-6382] = "fixed-version: Fixed after version 3.13rc4"
+
+CVE_STATUS[CVE-2013-6383] = "fixed-version: Fixed after version 3.12"
+
+# Skipping CVE-2013-6392, no affected_versions
+
+CVE_STATUS[CVE-2013-6431] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2013-6432] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-6885] = "fixed-version: Fixed after version 3.14rc1"
+
+CVE_STATUS[CVE-2013-7026] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7027] = "fixed-version: Fixed after version 3.12rc7"
+
+CVE_STATUS[CVE-2013-7263] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7264] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7265] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7266] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7267] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7268] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7269] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7270] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7271] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7281] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7339] = "fixed-version: Fixed after version 3.13rc7"
+
+CVE_STATUS[CVE-2013-7348] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2013-7421] = "fixed-version: Fixed after version 3.19rc1"
+
+# CVE-2013-7445 has no known resolution
+
+CVE_STATUS[CVE-2013-7446] = "fixed-version: Fixed after version 4.4rc4"
+
+CVE_STATUS[CVE-2013-7470] = "fixed-version: Fixed after version 3.12rc7"
+
+CVE_STATUS[CVE-2014-0038] = "fixed-version: Fixed after version 3.14rc1"
+
+CVE_STATUS[CVE-2014-0049] = "fixed-version: Fixed after version 3.14rc5"
+
+CVE_STATUS[CVE-2014-0055] = "fixed-version: Fixed after version 3.14"
+
+CVE_STATUS[CVE-2014-0069] = "fixed-version: Fixed after version 3.14rc4"
+
+CVE_STATUS[CVE-2014-0077] = "fixed-version: Fixed after version 3.14"
+
+CVE_STATUS[CVE-2014-0100] = "fixed-version: Fixed after version 3.14rc7"
+
+CVE_STATUS[CVE-2014-0101] = "fixed-version: Fixed after version 3.14rc6"
+
+CVE_STATUS[CVE-2014-0102] = "fixed-version: Fixed after version 3.14rc6"
+
+CVE_STATUS[CVE-2014-0131] = "fixed-version: Fixed after version 3.14rc7"
+
+CVE_STATUS[CVE-2014-0155] = "fixed-version: Fixed after version 3.15rc2"
+
+CVE_STATUS[CVE-2014-0181] = "fixed-version: Fixed after version 3.15rc5"
+
+CVE_STATUS[CVE-2014-0196] = "fixed-version: Fixed after version 3.15rc5"
+
+CVE_STATUS[CVE-2014-0203] = "fixed-version: Fixed after version 2.6.33rc5"
+
+CVE_STATUS[CVE-2014-0205] = "fixed-version: Fixed after version 2.6.37rc1"
+
+CVE_STATUS[CVE-2014-0206] = "fixed-version: Fixed after version 3.16rc3"
+
+# Skipping CVE-2014-0972, no affected_versions
+
+CVE_STATUS[CVE-2014-1438] = "fixed-version: Fixed after version 3.13"
+
+CVE_STATUS[CVE-2014-1444] = "fixed-version: Fixed after version 3.12rc7"
+
+CVE_STATUS[CVE-2014-1445] = "fixed-version: Fixed after version 3.12rc7"
+
+CVE_STATUS[CVE-2014-1446] = "fixed-version: Fixed after version 3.13rc7"
+
+CVE_STATUS[CVE-2014-1690] = "fixed-version: Fixed after version 3.13rc8"
+
+CVE_STATUS[CVE-2014-1737] = "fixed-version: Fixed after version 3.15rc5"
+
+CVE_STATUS[CVE-2014-1738] = "fixed-version: Fixed after version 3.15rc5"
+
+CVE_STATUS[CVE-2014-1739] = "fixed-version: Fixed after version 3.15rc6"
+
+CVE_STATUS[CVE-2014-1874] = "fixed-version: Fixed after version 3.14rc2"
+
+CVE_STATUS[CVE-2014-2038] = "fixed-version: Fixed after version 3.14rc1"
+
+CVE_STATUS[CVE-2014-2039] = "fixed-version: Fixed after version 3.14rc3"
+
+CVE_STATUS[CVE-2014-2309] = "fixed-version: Fixed after version 3.14rc7"
+
+CVE_STATUS[CVE-2014-2523] = "fixed-version: Fixed after version 3.14rc1"
+
+CVE_STATUS[CVE-2014-2568] = "fixed-version: Fixed after version 3.14"
+
+CVE_STATUS[CVE-2014-2580] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-2672] = "fixed-version: Fixed after version 3.14rc6"
+
+CVE_STATUS[CVE-2014-2673] = "fixed-version: Fixed after version 3.14rc6"
+
+CVE_STATUS[CVE-2014-2678] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-2706] = "fixed-version: Fixed after version 3.14rc6"
+
+CVE_STATUS[CVE-2014-2739] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-2851] = "fixed-version: Fixed after version 3.15rc2"
+
+CVE_STATUS[CVE-2014-2889] = "fixed-version: Fixed after version 3.2rc7"
+
+CVE_STATUS[CVE-2014-3122] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-3144] = "fixed-version: Fixed after version 3.15rc2"
+
+CVE_STATUS[CVE-2014-3145] = "fixed-version: Fixed after version 3.15rc2"
+
+CVE_STATUS[CVE-2014-3153] = "fixed-version: Fixed after version 3.15"
+
+CVE_STATUS[CVE-2014-3180] = "fixed-version: Fixed after version 3.17rc4"
+
+CVE_STATUS[CVE-2014-3181] = "fixed-version: Fixed after version 3.17rc3"
+
+CVE_STATUS[CVE-2014-3182] = "fixed-version: Fixed after version 3.17rc2"
+
+CVE_STATUS[CVE-2014-3183] = "fixed-version: Fixed after version 3.17rc2"
+
+CVE_STATUS[CVE-2014-3184] = "fixed-version: Fixed after version 3.17rc2"
+
+CVE_STATUS[CVE-2014-3185] = "fixed-version: Fixed after version 3.17rc3"
+
+CVE_STATUS[CVE-2014-3186] = "fixed-version: Fixed after version 3.17rc3"
+
+# Skipping CVE-2014-3519, no affected_versions
+
+CVE_STATUS[CVE-2014-3534] = "fixed-version: Fixed after version 3.16rc7"
+
+CVE_STATUS[CVE-2014-3535] = "fixed-version: Fixed after version 2.6.36rc1"
+
+CVE_STATUS[CVE-2014-3601] = "fixed-version: Fixed after version 3.17rc2"
+
+CVE_STATUS[CVE-2014-3610] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-3611] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-3631] = "fixed-version: Fixed after version 3.17rc5"
+
+CVE_STATUS[CVE-2014-3645] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2014-3646] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-3647] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-3673] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-3687] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-3688] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-3690] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-3917] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2014-3940] = "fixed-version: Fixed after version 3.15"
+
+CVE_STATUS[CVE-2014-4014] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2014-4027] = "fixed-version: Fixed after version 3.14rc1"
+
+CVE_STATUS[CVE-2014-4157] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-4171] = "fixed-version: Fixed after version 3.16rc3"
+
+# Skipping CVE-2014-4322, no affected_versions
+
+# Skipping CVE-2014-4323, no affected_versions
+
+CVE_STATUS[CVE-2014-4508] = "fixed-version: Fixed after version 3.16rc3"
+
+CVE_STATUS[CVE-2014-4608] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-4611] = "fixed-version: Fixed after version 3.16rc3"
+
+CVE_STATUS[CVE-2014-4652] = "fixed-version: Fixed after version 3.16rc2"
+
+CVE_STATUS[CVE-2014-4653] = "fixed-version: Fixed after version 3.16rc2"
+
+CVE_STATUS[CVE-2014-4654] = "fixed-version: Fixed after version 3.16rc2"
+
+CVE_STATUS[CVE-2014-4655] = "fixed-version: Fixed after version 3.16rc2"
+
+CVE_STATUS[CVE-2014-4656] = "fixed-version: Fixed after version 3.16rc2"
+
+CVE_STATUS[CVE-2014-4667] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2014-4699] = "fixed-version: Fixed after version 3.16rc4"
+
+CVE_STATUS[CVE-2014-4943] = "fixed-version: Fixed after version 3.16rc6"
+
+CVE_STATUS[CVE-2014-5045] = "fixed-version: Fixed after version 3.16rc7"
+
+CVE_STATUS[CVE-2014-5077] = "fixed-version: Fixed after version 3.16"
+
+CVE_STATUS[CVE-2014-5206] = "fixed-version: Fixed after version 3.17rc1"
+
+CVE_STATUS[CVE-2014-5207] = "fixed-version: Fixed after version 3.17rc1"
+
+# Skipping CVE-2014-5332, no affected_versions
+
+CVE_STATUS[CVE-2014-5471] = "fixed-version: Fixed after version 3.17rc2"
+
+CVE_STATUS[CVE-2014-5472] = "fixed-version: Fixed after version 3.17rc2"
+
+CVE_STATUS[CVE-2014-6410] = "fixed-version: Fixed after version 3.17rc5"
+
+CVE_STATUS[CVE-2014-6416] = "fixed-version: Fixed after version 3.17rc5"
+
+CVE_STATUS[CVE-2014-6417] = "fixed-version: Fixed after version 3.17rc5"
+
+CVE_STATUS[CVE-2014-6418] = "fixed-version: Fixed after version 3.17rc5"
+
+CVE_STATUS[CVE-2014-7145] = "fixed-version: Fixed after version 3.17rc2"
+
+# Skipping CVE-2014-7207, no affected_versions
+
+CVE_STATUS[CVE-2014-7283] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-7284] = "fixed-version: Fixed after version 3.15rc7"
+
+CVE_STATUS[CVE-2014-7822] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2014-7825] = "fixed-version: Fixed after version 3.18rc3"
+
+CVE_STATUS[CVE-2014-7826] = "fixed-version: Fixed after version 3.18rc3"
+
+CVE_STATUS[CVE-2014-7841] = "fixed-version: Fixed after version 3.18rc5"
+
+CVE_STATUS[CVE-2014-7842] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-7843] = "fixed-version: Fixed after version 3.18rc5"
+
+CVE_STATUS[CVE-2014-7970] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-7975] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-8086] = "fixed-version: Fixed after version 3.18rc3"
+
+CVE_STATUS[CVE-2014-8133] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-8134] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-8159] = "fixed-version: Fixed after version 4.0rc7"
+
+CVE_STATUS[CVE-2014-8160] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-8171] = "fixed-version: Fixed after version 3.12rc1"
+
+CVE_STATUS[CVE-2014-8172] = "fixed-version: Fixed after version 3.13rc1"
+
+CVE_STATUS[CVE-2014-8173] = "fixed-version: Fixed after version 3.13rc5"
+
+# Skipping CVE-2014-8181, no affected_versions
+
+CVE_STATUS[CVE-2014-8369] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-8480] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-8481] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-8559] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-8709] = "fixed-version: Fixed after version 3.14rc3"
+
+CVE_STATUS[CVE-2014-8884] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2014-8989] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-9090] = "fixed-version: Fixed after version 3.18rc6"
+
+CVE_STATUS[CVE-2014-9322] = "fixed-version: Fixed after version 3.18rc6"
+
+CVE_STATUS[CVE-2014-9419] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-9420] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-9428] = "fixed-version: Fixed after version 3.19rc3"
+
+CVE_STATUS[CVE-2014-9529] = "fixed-version: Fixed after version 3.19rc4"
+
+CVE_STATUS[CVE-2014-9584] = "fixed-version: Fixed after version 3.19rc3"
+
+CVE_STATUS[CVE-2014-9585] = "fixed-version: Fixed after version 3.19rc4"
+
+CVE_STATUS[CVE-2014-9644] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-9683] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-9710] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2014-9715] = "fixed-version: Fixed after version 3.15rc1"
+
+CVE_STATUS[CVE-2014-9717] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2014-9728] = "fixed-version: Fixed after version 3.19rc3"
+
+CVE_STATUS[CVE-2014-9729] = "fixed-version: Fixed after version 3.19rc3"
+
+CVE_STATUS[CVE-2014-9730] = "fixed-version: Fixed after version 3.19rc3"
+
+CVE_STATUS[CVE-2014-9731] = "fixed-version: Fixed after version 3.19rc3"
+
+# Skipping CVE-2014-9777, no affected_versions
+
+# Skipping CVE-2014-9778, no affected_versions
+
+# Skipping CVE-2014-9779, no affected_versions
+
+# Skipping CVE-2014-9780, no affected_versions
+
+# Skipping CVE-2014-9781, no affected_versions
+
+# Skipping CVE-2014-9782, no affected_versions
+
+# Skipping CVE-2014-9783, no affected_versions
+
+# Skipping CVE-2014-9784, no affected_versions
+
+# Skipping CVE-2014-9785, no affected_versions
+
+# Skipping CVE-2014-9786, no affected_versions
+
+# Skipping CVE-2014-9787, no affected_versions
+
+# Skipping CVE-2014-9788, no affected_versions
+
+# Skipping CVE-2014-9789, no affected_versions
+
+CVE_STATUS[CVE-2014-9803] = "fixed-version: Fixed after version 3.16rc1"
+
+# Skipping CVE-2014-9863, no affected_versions
+
+# Skipping CVE-2014-9864, no affected_versions
+
+# Skipping CVE-2014-9865, no affected_versions
+
+# Skipping CVE-2014-9866, no affected_versions
+
+# Skipping CVE-2014-9867, no affected_versions
+
+# Skipping CVE-2014-9868, no affected_versions
+
+# Skipping CVE-2014-9869, no affected_versions
+
+CVE_STATUS[CVE-2014-9870] = "fixed-version: Fixed after version 3.11rc1"
+
+# Skipping CVE-2014-9871, no affected_versions
+
+# Skipping CVE-2014-9872, no affected_versions
+
+# Skipping CVE-2014-9873, no affected_versions
+
+# Skipping CVE-2014-9874, no affected_versions
+
+# Skipping CVE-2014-9875, no affected_versions
+
+# Skipping CVE-2014-9876, no affected_versions
+
+# Skipping CVE-2014-9877, no affected_versions
+
+# Skipping CVE-2014-9878, no affected_versions
+
+# Skipping CVE-2014-9879, no affected_versions
+
+# Skipping CVE-2014-9880, no affected_versions
+
+# Skipping CVE-2014-9881, no affected_versions
+
+# Skipping CVE-2014-9882, no affected_versions
+
+# Skipping CVE-2014-9883, no affected_versions
+
+# Skipping CVE-2014-9884, no affected_versions
+
+# Skipping CVE-2014-9885, no affected_versions
+
+# Skipping CVE-2014-9886, no affected_versions
+
+# Skipping CVE-2014-9887, no affected_versions
+
+CVE_STATUS[CVE-2014-9888] = "fixed-version: Fixed after version 3.13rc1"
+
+# Skipping CVE-2014-9889, no affected_versions
+
+# Skipping CVE-2014-9890, no affected_versions
+
+# Skipping CVE-2014-9891, no affected_versions
+
+# Skipping CVE-2014-9892, no affected_versions
+
+# Skipping CVE-2014-9893, no affected_versions
+
+# Skipping CVE-2014-9894, no affected_versions
+
+CVE_STATUS[CVE-2014-9895] = "fixed-version: Fixed after version 3.11rc1"
+
+# Skipping CVE-2014-9896, no affected_versions
+
+# Skipping CVE-2014-9897, no affected_versions
+
+# Skipping CVE-2014-9898, no affected_versions
+
+# Skipping CVE-2014-9899, no affected_versions
+
+# Skipping CVE-2014-9900, no affected_versions
+
+CVE_STATUS[CVE-2014-9903] = "fixed-version: Fixed after version 3.14rc4"
+
+CVE_STATUS[CVE-2014-9904] = "fixed-version: Fixed after version 3.17rc1"
+
+CVE_STATUS[CVE-2014-9914] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2014-9922] = "fixed-version: Fixed after version 3.18rc2"
+
+CVE_STATUS[CVE-2014-9940] = "fixed-version: Fixed after version 3.19rc1"
+
+CVE_STATUS[CVE-2015-0239] = "fixed-version: Fixed after version 3.19rc6"
+
+CVE_STATUS[CVE-2015-0274] = "fixed-version: Fixed after version 3.15rc5"
+
+CVE_STATUS[CVE-2015-0275] = "fixed-version: Fixed after version 4.1rc1"
+
+# Skipping CVE-2015-0777, no affected_versions
+
+# Skipping CVE-2015-1328, no affected_versions
+
+CVE_STATUS[CVE-2015-1333] = "fixed-version: Fixed after version 4.2rc5"
+
+CVE_STATUS[CVE-2015-1339] = "fixed-version: Fixed after version 4.4rc5"
+
+CVE_STATUS[CVE-2015-1350] = "fixed-version: Fixed after version 4.9rc1"
+
+CVE_STATUS[CVE-2015-1420] = "fixed-version: Fixed after version 4.1rc7"
+
+CVE_STATUS[CVE-2015-1421] = "fixed-version: Fixed after version 3.19rc7"
+
+CVE_STATUS[CVE-2015-1465] = "fixed-version: Fixed after version 3.19rc7"
+
+CVE_STATUS[CVE-2015-1573] = "fixed-version: Fixed after version 3.19rc5"
+
+CVE_STATUS[CVE-2015-1593] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2015-1805] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2015-2041] = "fixed-version: Fixed after version 3.19rc7"
+
+CVE_STATUS[CVE-2015-2042] = "fixed-version: Fixed after version 3.19"
+
+CVE_STATUS[CVE-2015-2150] = "fixed-version: Fixed after version 4.0rc4"
+
+CVE_STATUS[CVE-2015-2666] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2015-2672] = "fixed-version: Fixed after version 4.0rc3"
+
+CVE_STATUS[CVE-2015-2686] = "fixed-version: Fixed after version 4.0rc6"
+
+CVE_STATUS[CVE-2015-2830] = "fixed-version: Fixed after version 4.0rc3"
+
+# CVE-2015-2877 has no known resolution
+
+CVE_STATUS[CVE-2015-2922] = "fixed-version: Fixed after version 4.0rc7"
+
+CVE_STATUS[CVE-2015-2925] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2015-3212] = "fixed-version: Fixed after version 4.2rc1"
+
+CVE_STATUS[CVE-2015-3214] = "fixed-version: Fixed after version 2.6.33rc8"
+
+CVE_STATUS[CVE-2015-3288] = "fixed-version: Fixed after version 4.2rc2"
+
+CVE_STATUS[CVE-2015-3290] = "fixed-version: Fixed after version 4.2rc3"
+
+CVE_STATUS[CVE-2015-3291] = "fixed-version: Fixed after version 4.2rc3"
+
+CVE_STATUS[CVE-2015-3331] = "fixed-version: Fixed after version 4.0rc5"
+
+# Skipping CVE-2015-3332, no affected_versions
+
+CVE_STATUS[CVE-2015-3339] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-3636] = "fixed-version: Fixed after version 4.1rc2"
+
+CVE_STATUS[CVE-2015-4001] = "fixed-version: Fixed after version 4.1rc7"
+
+CVE_STATUS[CVE-2015-4002] = "fixed-version: Fixed after version 4.1rc7"
+
+CVE_STATUS[CVE-2015-4003] = "fixed-version: Fixed after version 4.1rc7"
+
+CVE_STATUS[CVE-2015-4004] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2015-4036] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2015-4167] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2015-4170] = "fixed-version: Fixed after version 3.13rc5"
+
+CVE_STATUS[CVE-2015-4176] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-4177] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-4178] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-4692] = "fixed-version: Fixed after version 4.2rc1"
+
+CVE_STATUS[CVE-2015-4700] = "fixed-version: Fixed after version 4.1rc6"
+
+CVE_STATUS[CVE-2015-5156] = "fixed-version: Fixed after version 4.2rc7"
+
+CVE_STATUS[CVE-2015-5157] = "fixed-version: Fixed after version 4.2rc3"
+
+CVE_STATUS[CVE-2015-5257] = "fixed-version: Fixed after version 4.3rc3"
+
+CVE_STATUS[CVE-2015-5283] = "fixed-version: Fixed after version 4.3rc3"
+
+CVE_STATUS[CVE-2015-5307] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-5327] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-5364] = "fixed-version: Fixed after version 4.1rc7"
+
+CVE_STATUS[CVE-2015-5366] = "fixed-version: Fixed after version 4.1rc7"
+
+CVE_STATUS[CVE-2015-5697] = "fixed-version: Fixed after version 4.2rc6"
+
+CVE_STATUS[CVE-2015-5706] = "fixed-version: Fixed after version 4.1rc3"
+
+CVE_STATUS[CVE-2015-5707] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-6252] = "fixed-version: Fixed after version 4.2rc5"
+
+CVE_STATUS[CVE-2015-6526] = "fixed-version: Fixed after version 4.1rc1"
+
+# CVE-2015-6619 has no known resolution
+
+# CVE-2015-6646 has no known resolution
+
+CVE_STATUS[CVE-2015-6937] = "fixed-version: Fixed after version 4.3rc1"
+
+# Skipping CVE-2015-7312, no affected_versions
+
+CVE_STATUS[CVE-2015-7509] = "fixed-version: Fixed after version 3.7rc1"
+
+CVE_STATUS[CVE-2015-7513] = "fixed-version: Fixed after version 4.4rc7"
+
+CVE_STATUS[CVE-2015-7515] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-7550] = "fixed-version: Fixed after version 4.4rc8"
+
+# Skipping CVE-2015-7553, no affected_versions
+
+CVE_STATUS[CVE-2015-7566] = "fixed-version: Fixed after version 4.5rc2"
+
+CVE_STATUS[CVE-2015-7613] = "fixed-version: Fixed after version 4.3rc4"
+
+CVE_STATUS[CVE-2015-7799] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-7833] = "fixed-version: Fixed after version 4.6rc6"
+
+# Skipping CVE-2015-7837, no affected_versions
+
+CVE_STATUS[CVE-2015-7872] = "fixed-version: Fixed after version 4.3rc7"
+
+CVE_STATUS[CVE-2015-7884] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-7885] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-7990] = "fixed-version: Fixed after version 4.4rc4"
+
+# Skipping CVE-2015-8019, no affected_versions
+
+CVE_STATUS[CVE-2015-8104] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-8215] = "fixed-version: Fixed after version 4.0rc3"
+
+CVE_STATUS[CVE-2015-8324] = "fixed-version: Fixed after version 2.6.34rc1"
+
+CVE_STATUS[CVE-2015-8374] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-8539] = "fixed-version: Fixed after version 4.4rc3"
+
+CVE_STATUS[CVE-2015-8543] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8550] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8551] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8552] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8553] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8569] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8575] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8660] = "fixed-version: Fixed after version 4.4rc4"
+
+CVE_STATUS[CVE-2015-8709] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2015-8746] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2015-8767] = "fixed-version: Fixed after version 4.3rc4"
+
+CVE_STATUS[CVE-2015-8785] = "fixed-version: Fixed after version 4.4rc5"
+
+CVE_STATUS[CVE-2015-8787] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-8812] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2015-8816] = "fixed-version: Fixed after version 4.4rc6"
+
+CVE_STATUS[CVE-2015-8830] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-8839] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2015-8844] = "fixed-version: Fixed after version 4.4rc3"
+
+CVE_STATUS[CVE-2015-8845] = "fixed-version: Fixed after version 4.4rc3"
+
+# Skipping CVE-2015-8937, no affected_versions
+
+# Skipping CVE-2015-8938, no affected_versions
+
+# Skipping CVE-2015-8939, no affected_versions
+
+# Skipping CVE-2015-8940, no affected_versions
+
+# Skipping CVE-2015-8941, no affected_versions
+
+# Skipping CVE-2015-8942, no affected_versions
+
+# Skipping CVE-2015-8943, no affected_versions
+
+# Skipping CVE-2015-8944, no affected_versions
+
+CVE_STATUS[CVE-2015-8950] = "fixed-version: Fixed after version 4.1rc2"
+
+CVE_STATUS[CVE-2015-8952] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2015-8953] = "fixed-version: Fixed after version 4.3"
+
+CVE_STATUS[CVE-2015-8955] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2015-8956] = "fixed-version: Fixed after version 4.2rc1"
+
+CVE_STATUS[CVE-2015-8961] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-8962] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2015-8963] = "fixed-version: Fixed after version 4.4"
+
+CVE_STATUS[CVE-2015-8964] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2015-8966] = "fixed-version: Fixed after version 4.4rc8"
+
+CVE_STATUS[CVE-2015-8967] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2015-8970] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2015-9004] = "fixed-version: Fixed after version 3.19rc7"
+
+CVE_STATUS[CVE-2015-9016] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2015-9289] = "fixed-version: Fixed after version 4.2rc1"
+
+CVE_STATUS[CVE-2016-0617] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-0723] = "fixed-version: Fixed after version 4.5rc2"
+
+CVE_STATUS[CVE-2016-0728] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-0758] = "fixed-version: Fixed after version 4.6"
+
+# Skipping CVE-2016-0774, no affected_versions
+
+CVE_STATUS[CVE-2016-0821] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2016-0823] = "fixed-version: Fixed after version 4.0rc5"
+
+CVE_STATUS[CVE-2016-10044] = "fixed-version: Fixed after version 4.8rc7"
+
+CVE_STATUS[CVE-2016-10088] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-10147] = "fixed-version: Fixed after version 4.9"
+
+CVE_STATUS[CVE-2016-10150] = "fixed-version: Fixed after version 4.9rc8"
+
+CVE_STATUS[CVE-2016-10153] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-10154] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-10200] = "fixed-version: Fixed after version 4.9rc7"
+
+CVE_STATUS[CVE-2016-10208] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-10229] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-10318] = "fixed-version: Fixed after version 4.8rc6"
+
+CVE_STATUS[CVE-2016-10723] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2016-10741] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-10764] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-10905] = "fixed-version: Fixed after version 4.8rc1"
+
+CVE_STATUS[CVE-2016-10906] = "fixed-version: Fixed after version 4.5rc6"
+
+CVE_STATUS[CVE-2016-10907] = "fixed-version: Fixed after version 4.9rc1"
+
+CVE_STATUS[CVE-2016-1237] = "fixed-version: Fixed after version 4.7rc5"
+
+CVE_STATUS[CVE-2016-1575] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-1576] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-1583] = "fixed-version: Fixed after version 4.7rc3"
+
+CVE_STATUS[CVE-2016-2053] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2016-2069] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2070] = "fixed-version: Fixed after version 4.4"
+
+CVE_STATUS[CVE-2016-2085] = "fixed-version: Fixed after version 4.5rc4"
+
+CVE_STATUS[CVE-2016-2117] = "fixed-version: Fixed after version 4.6rc5"
+
+CVE_STATUS[CVE-2016-2143] = "fixed-version: Fixed after version 4.5"
+
+CVE_STATUS[CVE-2016-2184] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-2185] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-2186] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-2187] = "fixed-version: Fixed after version 4.6rc5"
+
+CVE_STATUS[CVE-2016-2188] = "fixed-version: Fixed after version 4.11rc2"
+
+CVE_STATUS[CVE-2016-2383] = "fixed-version: Fixed after version 4.5rc4"
+
+CVE_STATUS[CVE-2016-2384] = "fixed-version: Fixed after version 4.5rc4"
+
+CVE_STATUS[CVE-2016-2543] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2544] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2545] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2546] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2547] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2548] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2549] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2016-2550] = "fixed-version: Fixed after version 4.5rc4"
+
+CVE_STATUS[CVE-2016-2782] = "fixed-version: Fixed after version 4.5rc2"
+
+CVE_STATUS[CVE-2016-2847] = "fixed-version: Fixed after version 4.5rc1"
+
+# Skipping CVE-2016-2853, no affected_versions
+
+# Skipping CVE-2016-2854, no affected_versions
+
+CVE_STATUS[CVE-2016-3044] = "fixed-version: Fixed after version 4.5"
+
+CVE_STATUS[CVE-2016-3070] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2016-3134] = "fixed-version: Fixed after version 4.6rc2"
+
+CVE_STATUS[CVE-2016-3135] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-3136] = "fixed-version: Fixed after version 4.6rc3"
+
+CVE_STATUS[CVE-2016-3137] = "fixed-version: Fixed after version 4.6rc3"
+
+CVE_STATUS[CVE-2016-3138] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-3139] = "fixed-version: Fixed after version 3.17rc1"
+
+CVE_STATUS[CVE-2016-3140] = "fixed-version: Fixed after version 4.6rc3"
+
+CVE_STATUS[CVE-2016-3156] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-3157] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-3672] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-3689] = "fixed-version: Fixed after version 4.6rc1"
+
+# Skipping CVE-2016-3695, no affected_versions
+
+# Skipping CVE-2016-3699, no affected_versions
+
+# Skipping CVE-2016-3707, no affected_versions
+
+CVE_STATUS[CVE-2016-3713] = "fixed-version: Fixed after version 4.7rc1"
+
+# CVE-2016-3775 has no known resolution
+
+# CVE-2016-3802 has no known resolution
+
+# CVE-2016-3803 has no known resolution
+
+CVE_STATUS[CVE-2016-3841] = "fixed-version: Fixed after version 4.4rc4"
+
+CVE_STATUS[CVE-2016-3857] = "fixed-version: Fixed after version 4.8rc2"
+
+CVE_STATUS[CVE-2016-3951] = "fixed-version: Fixed after version 4.5"
+
+CVE_STATUS[CVE-2016-3955] = "fixed-version: Fixed after version 4.6rc3"
+
+CVE_STATUS[CVE-2016-3961] = "fixed-version: Fixed after version 4.6rc5"
+
+CVE_STATUS[CVE-2016-4440] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-4470] = "fixed-version: Fixed after version 4.7rc4"
+
+CVE_STATUS[CVE-2016-4482] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-4485] = "fixed-version: Fixed after version 4.6"
+
+CVE_STATUS[CVE-2016-4486] = "fixed-version: Fixed after version 4.6"
+
+CVE_STATUS[CVE-2016-4557] = "fixed-version: Fixed after version 4.6rc6"
+
+CVE_STATUS[CVE-2016-4558] = "fixed-version: Fixed after version 4.6rc7"
+
+CVE_STATUS[CVE-2016-4565] = "fixed-version: Fixed after version 4.6rc6"
+
+CVE_STATUS[CVE-2016-4568] = "fixed-version: Fixed after version 4.6rc6"
+
+CVE_STATUS[CVE-2016-4569] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-4578] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-4580] = "fixed-version: Fixed after version 4.6"
+
+CVE_STATUS[CVE-2016-4581] = "fixed-version: Fixed after version 4.6rc7"
+
+CVE_STATUS[CVE-2016-4794] = "fixed-version: Fixed after version 4.7rc4"
+
+CVE_STATUS[CVE-2016-4805] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-4913] = "fixed-version: Fixed after version 4.6"
+
+CVE_STATUS[CVE-2016-4951] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-4997] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-4998] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-5195] = "fixed-version: Fixed after version 4.9rc2"
+
+CVE_STATUS[CVE-2016-5243] = "fixed-version: Fixed after version 4.7rc3"
+
+CVE_STATUS[CVE-2016-5244] = "fixed-version: Fixed after version 4.7rc3"
+
+# Skipping CVE-2016-5340, no affected_versions
+
+# Skipping CVE-2016-5342, no affected_versions
+
+# Skipping CVE-2016-5343, no affected_versions
+
+# Skipping CVE-2016-5344, no affected_versions
+
+CVE_STATUS[CVE-2016-5400] = "fixed-version: Fixed after version 4.7"
+
+CVE_STATUS[CVE-2016-5412] = "fixed-version: Fixed after version 4.8rc1"
+
+CVE_STATUS[CVE-2016-5696] = "fixed-version: Fixed after version 4.7"
+
+CVE_STATUS[CVE-2016-5728] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-5828] = "fixed-version: Fixed after version 4.7rc6"
+
+CVE_STATUS[CVE-2016-5829] = "fixed-version: Fixed after version 4.7rc5"
+
+# CVE-2016-5870 has no known resolution
+
+CVE_STATUS[CVE-2016-6130] = "fixed-version: Fixed after version 4.6rc6"
+
+CVE_STATUS[CVE-2016-6136] = "fixed-version: Fixed after version 4.8rc1"
+
+CVE_STATUS[CVE-2016-6156] = "fixed-version: Fixed after version 4.7rc7"
+
+CVE_STATUS[CVE-2016-6162] = "fixed-version: Fixed after version 4.7"
+
+CVE_STATUS[CVE-2016-6187] = "fixed-version: Fixed after version 4.7rc7"
+
+CVE_STATUS[CVE-2016-6197] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-6198] = "fixed-version: Fixed after version 4.6"
+
+CVE_STATUS[CVE-2016-6213] = "fixed-version: Fixed after version 4.9rc1"
+
+CVE_STATUS[CVE-2016-6327] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-6480] = "fixed-version: Fixed after version 4.8rc3"
+
+CVE_STATUS[CVE-2016-6516] = "fixed-version: Fixed after version 4.8rc1"
+
+# Skipping CVE-2016-6753, no affected_versions
+
+CVE_STATUS[CVE-2016-6786] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2016-6787] = "fixed-version: Fixed after version 4.0rc1"
+
+CVE_STATUS[CVE-2016-6828] = "fixed-version: Fixed after version 4.8rc5"
+
+CVE_STATUS[CVE-2016-7039] = "fixed-version: Fixed after version 4.9rc4"
+
+CVE_STATUS[CVE-2016-7042] = "fixed-version: Fixed after version 4.9rc3"
+
+CVE_STATUS[CVE-2016-7097] = "fixed-version: Fixed after version 4.9rc1"
+
+CVE_STATUS[CVE-2016-7117] = "fixed-version: Fixed after version 4.6rc1"
+
+# Skipping CVE-2016-7118, no affected_versions
+
+CVE_STATUS[CVE-2016-7425] = "fixed-version: Fixed after version 4.9rc1"
+
+CVE_STATUS[CVE-2016-7910] = "fixed-version: Fixed after version 4.8rc1"
+
+CVE_STATUS[CVE-2016-7911] = "fixed-version: Fixed after version 4.7rc7"
+
+CVE_STATUS[CVE-2016-7912] = "fixed-version: Fixed after version 4.6rc5"
+
+CVE_STATUS[CVE-2016-7913] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-7914] = "fixed-version: Fixed after version 4.6rc4"
+
+CVE_STATUS[CVE-2016-7915] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-7916] = "fixed-version: Fixed after version 4.6rc7"
+
+CVE_STATUS[CVE-2016-7917] = "fixed-version: Fixed after version 4.5rc6"
+
+CVE_STATUS[CVE-2016-8399] = "fixed-version: Fixed after version 4.9"
+
+# Skipping CVE-2016-8401, no affected_versions
+
+# Skipping CVE-2016-8402, no affected_versions
+
+# Skipping CVE-2016-8403, no affected_versions
+
+# Skipping CVE-2016-8404, no affected_versions
+
+CVE_STATUS[CVE-2016-8405] = "fixed-version: Fixed after version 4.10rc6"
+
+# Skipping CVE-2016-8406, no affected_versions
+
+# Skipping CVE-2016-8407, no affected_versions
+
+CVE_STATUS[CVE-2016-8630] = "fixed-version: Fixed after version 4.9rc4"
+
+CVE_STATUS[CVE-2016-8632] = "fixed-version: Fixed after version 4.9rc8"
+
+CVE_STATUS[CVE-2016-8633] = "fixed-version: Fixed after version 4.9rc4"
+
+CVE_STATUS[CVE-2016-8636] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2016-8645] = "fixed-version: Fixed after version 4.9rc6"
+
+CVE_STATUS[CVE-2016-8646] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2016-8650] = "fixed-version: Fixed after version 4.9rc7"
+
+CVE_STATUS[CVE-2016-8655] = "fixed-version: Fixed after version 4.9rc8"
+
+CVE_STATUS[CVE-2016-8658] = "fixed-version: Fixed after version 4.8rc7"
+
+# CVE-2016-8660 has no known resolution
+
+CVE_STATUS[CVE-2016-8666] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-9083] = "fixed-version: Fixed after version 4.9rc4"
+
+CVE_STATUS[CVE-2016-9084] = "fixed-version: Fixed after version 4.9rc4"
+
+CVE_STATUS[CVE-2016-9120] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-9178] = "fixed-version: Fixed after version 4.8rc7"
+
+CVE_STATUS[CVE-2016-9191] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2016-9313] = "fixed-version: Fixed after version 4.9rc3"
+
+CVE_STATUS[CVE-2016-9555] = "fixed-version: Fixed after version 4.9rc4"
+
+CVE_STATUS[CVE-2016-9576] = "fixed-version: Fixed after version 4.9"
+
+CVE_STATUS[CVE-2016-9588] = "fixed-version: Fixed after version 4.10rc1"
+
+CVE_STATUS[CVE-2016-9604] = "fixed-version: Fixed after version 4.11rc8"
+
+# Skipping CVE-2016-9644, no affected_versions
+
+CVE_STATUS[CVE-2016-9685] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2016-9754] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-9755] = "fixed-version: Fixed after version 4.9rc8"
+
+CVE_STATUS[CVE-2016-9756] = "fixed-version: Fixed after version 4.9rc7"
+
+CVE_STATUS[CVE-2016-9777] = "fixed-version: Fixed after version 4.9rc7"
+
+CVE_STATUS[CVE-2016-9793] = "fixed-version: Fixed after version 4.9rc8"
+
+CVE_STATUS[CVE-2016-9794] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-9806] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2016-9919] = "fixed-version: Fixed after version 4.9rc8"
+
+# Skipping CVE-2017-0403, no affected_versions
+
+# Skipping CVE-2017-0404, no affected_versions
+
+# Skipping CVE-2017-0426, no affected_versions
+
+# Skipping CVE-2017-0427, no affected_versions
+
+# CVE-2017-0507 has no known resolution
+
+# CVE-2017-0508 has no known resolution
+
+# Skipping CVE-2017-0510, no affected_versions
+
+# Skipping CVE-2017-0528, no affected_versions
+
+# Skipping CVE-2017-0537, no affected_versions
+
+# CVE-2017-0564 has no known resolution
+
+CVE_STATUS[CVE-2017-0605] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-0627] = "fixed-version: Fixed after version 4.14rc1"
+
+# CVE-2017-0630 has no known resolution
+
+# CVE-2017-0749 has no known resolution
+
+CVE_STATUS[CVE-2017-0750] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2017-0786] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-0861] = "fixed-version: Fixed after version 4.15rc3"
+
+CVE_STATUS[CVE-2017-1000] = "fixed-version: Fixed after version 4.13rc5"
+
+CVE_STATUS[CVE-2017-1000111] = "fixed-version: Fixed after version 4.13rc5"
+
+CVE_STATUS[CVE-2017-1000112] = "fixed-version: Fixed after version 4.13rc5"
+
+CVE_STATUS[CVE-2017-1000251] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-1000252] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-1000253] = "fixed-version: Fixed after version 4.1rc1"
+
+CVE_STATUS[CVE-2017-1000255] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-1000363] = "fixed-version: Fixed after version 4.12rc2"
+
+CVE_STATUS[CVE-2017-1000364] = "fixed-version: Fixed after version 4.12rc6"
+
+CVE_STATUS[CVE-2017-1000365] = "fixed-version: Fixed after version 4.12rc7"
+
+CVE_STATUS[CVE-2017-1000370] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-1000371] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-1000379] = "fixed-version: Fixed after version 4.12rc6"
+
+CVE_STATUS[CVE-2017-1000380] = "fixed-version: Fixed after version 4.12rc5"
+
+CVE_STATUS[CVE-2017-1000405] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2017-1000407] = "fixed-version: Fixed after version 4.15rc3"
+
+CVE_STATUS[CVE-2017-1000410] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2017-10661] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-10662] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-10663] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-10810] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-10911] = "fixed-version: Fixed after version 4.12rc7"
+
+CVE_STATUS[CVE-2017-11089] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-11176] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-11472] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-11473] = "fixed-version: Fixed after version 4.13rc2"
+
+CVE_STATUS[CVE-2017-11600] = "fixed-version: Fixed after version 4.13"
+
+CVE_STATUS[CVE-2017-12134] = "fixed-version: Fixed after version 4.13rc6"
+
+CVE_STATUS[CVE-2017-12146] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-12153] = "fixed-version: Fixed after version 4.14rc2"
+
+CVE_STATUS[CVE-2017-12154] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-12168] = "fixed-version: Fixed after version 4.9rc6"
+
+CVE_STATUS[CVE-2017-12188] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-12190] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-12192] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2017-12193] = "fixed-version: Fixed after version 4.14rc7"
+
+CVE_STATUS[CVE-2017-12762] = "fixed-version: Fixed after version 4.13rc4"
+
+CVE_STATUS[CVE-2017-13080] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2017-13166] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2017-13167] = "fixed-version: Fixed after version 4.5rc4"
+
+CVE_STATUS[CVE-2017-13168] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2017-13215] = "fixed-version: Fixed after version 4.5rc1"
+
+CVE_STATUS[CVE-2017-13216] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2017-13220] = "fixed-version: Fixed after version 3.19rc3"
+
+# CVE-2017-13221 has no known resolution
+
+# CVE-2017-13222 has no known resolution
+
+CVE_STATUS[CVE-2017-13305] = "fixed-version: Fixed after version 4.12rc5"
+
+CVE_STATUS[CVE-2017-13686] = "fixed-version: Fixed after version 4.13rc7"
+
+# CVE-2017-13693 has no known resolution
+
+# CVE-2017-13694 has no known resolution
+
+CVE_STATUS[CVE-2017-13695] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2017-13715] = "fixed-version: Fixed after version 4.3rc1"
+
+CVE_STATUS[CVE-2017-14051] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-14106] = "fixed-version: Fixed after version 4.12rc3"
+
+CVE_STATUS[CVE-2017-14140] = "fixed-version: Fixed after version 4.13rc6"
+
+CVE_STATUS[CVE-2017-14156] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-14340] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-14489] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2017-14497] = "fixed-version: Fixed after version 4.13"
+
+CVE_STATUS[CVE-2017-14954] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2017-14991] = "fixed-version: Fixed after version 4.14rc2"
+
+CVE_STATUS[CVE-2017-15102] = "fixed-version: Fixed after version 4.9rc1"
+
+CVE_STATUS[CVE-2017-15115] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2017-15116] = "fixed-version: Fixed after version 4.2rc1"
+
+CVE_STATUS[CVE-2017-15121] = "fixed-version: Fixed after version 3.11rc1"
+
+CVE_STATUS[CVE-2017-15126] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-15127] = "fixed-version: Fixed after version 4.13rc5"
+
+CVE_STATUS[CVE-2017-15128] = "fixed-version: Fixed after version 4.14rc8"
+
+CVE_STATUS[CVE-2017-15129] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-15265] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-15274] = "fixed-version: Fixed after version 4.12rc5"
+
+CVE_STATUS[CVE-2017-15299] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2017-15306] = "fixed-version: Fixed after version 4.14rc7"
+
+CVE_STATUS[CVE-2017-15537] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2017-15649] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-15868] = "fixed-version: Fixed after version 3.19rc3"
+
+CVE_STATUS[CVE-2017-15951] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2017-16525] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-16526] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-16527] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-16528] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2017-16529] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-16530] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-16531] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-16532] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-16533] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-16534] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2017-16535] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2017-16536] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-16537] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-16538] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2017-16643] = "fixed-version: Fixed after version 4.14rc7"
+
+CVE_STATUS[CVE-2017-16644] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2017-16645] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2017-16646] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-16647] = "fixed-version: Fixed after version 4.14"
+
+CVE_STATUS[CVE-2017-16648] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-16649] = "fixed-version: Fixed after version 4.14"
+
+CVE_STATUS[CVE-2017-16650] = "fixed-version: Fixed after version 4.14"
+
+CVE_STATUS[CVE-2017-16911] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-16912] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-16913] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-16914] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-16939] = "fixed-version: Fixed after version 4.14rc7"
+
+CVE_STATUS[CVE-2017-16994] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-16995] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-16996] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17052] = "fixed-version: Fixed after version 4.13rc7"
+
+CVE_STATUS[CVE-2017-17053] = "fixed-version: Fixed after version 4.13rc7"
+
+CVE_STATUS[CVE-2017-17448] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17449] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17450] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17558] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17712] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17741] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17805] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17806] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-17807] = "fixed-version: Fixed after version 4.15rc3"
+
+CVE_STATUS[CVE-2017-17852] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17853] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17854] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17855] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17856] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17857] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17862] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-17863] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17864] = "fixed-version: Fixed after version 4.15rc5"
+
+CVE_STATUS[CVE-2017-17975] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2017-18017] = "fixed-version: Fixed after version 4.11rc7"
+
+CVE_STATUS[CVE-2017-18075] = "fixed-version: Fixed after version 4.15rc7"
+
+CVE_STATUS[CVE-2017-18079] = "fixed-version: Fixed after version 4.13rc1"
+
+# CVE-2017-18169 has no known resolution
+
+CVE_STATUS[CVE-2017-18174] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2017-18193] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-18200] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-18202] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2017-18203] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-18204] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-18208] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2017-18216] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-18218] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-18221] = "fixed-version: Fixed after version 4.12rc4"
+
+CVE_STATUS[CVE-2017-18222] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-18224] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2017-18232] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2017-18241] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-18249] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-18255] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-18257] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-18261] = "fixed-version: Fixed after version 4.13rc6"
+
+CVE_STATUS[CVE-2017-18270] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2017-18344] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2017-18360] = "fixed-version: Fixed after version 4.12rc2"
+
+CVE_STATUS[CVE-2017-18379] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2017-18509] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-18549] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-18550] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-18551] = "fixed-version: Fixed after version 4.15rc9"
+
+CVE_STATUS[CVE-2017-18552] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-18595] = "fixed-version: Fixed after version 4.15rc6"
+
+CVE_STATUS[CVE-2017-2583] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-2584] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-2596] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-2618] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-2634] = "fixed-version: Fixed after version 2.6.25rc1"
+
+CVE_STATUS[CVE-2017-2636] = "fixed-version: Fixed after version 4.11rc2"
+
+CVE_STATUS[CVE-2017-2647] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2017-2671] = "fixed-version: Fixed after version 4.11rc6"
+
+CVE_STATUS[CVE-2017-5123] = "fixed-version: Fixed after version 4.14rc5"
+
+CVE_STATUS[CVE-2017-5546] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-5547] = "fixed-version: Fixed after version 4.10rc5"
+
+CVE_STATUS[CVE-2017-5548] = "fixed-version: Fixed after version 4.10rc5"
+
+CVE_STATUS[CVE-2017-5549] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-5550] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-5551] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-5576] = "fixed-version: Fixed after version 4.10rc6"
+
+CVE_STATUS[CVE-2017-5577] = "fixed-version: Fixed after version 4.10rc6"
+
+CVE_STATUS[CVE-2017-5669] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-5715] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2017-5753] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2017-5754] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2017-5897] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-5967] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-5970] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-5972] = "fixed-version: Fixed after version 4.4rc1"
+
+CVE_STATUS[CVE-2017-5986] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-6001] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-6074] = "fixed-version: Fixed after version 4.10"
+
+CVE_STATUS[CVE-2017-6214] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-6345] = "fixed-version: Fixed after version 4.10"
+
+CVE_STATUS[CVE-2017-6346] = "fixed-version: Fixed after version 4.10"
+
+CVE_STATUS[CVE-2017-6347] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-6348] = "fixed-version: Fixed after version 4.10"
+
+CVE_STATUS[CVE-2017-6353] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-6874] = "fixed-version: Fixed after version 4.11rc2"
+
+CVE_STATUS[CVE-2017-6951] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2017-7184] = "fixed-version: Fixed after version 4.11rc5"
+
+CVE_STATUS[CVE-2017-7187] = "fixed-version: Fixed after version 4.11rc5"
+
+CVE_STATUS[CVE-2017-7261] = "fixed-version: Fixed after version 4.11rc6"
+
+CVE_STATUS[CVE-2017-7273] = "fixed-version: Fixed after version 4.10rc4"
+
+CVE_STATUS[CVE-2017-7277] = "fixed-version: Fixed after version 4.11rc4"
+
+CVE_STATUS[CVE-2017-7294] = "fixed-version: Fixed after version 4.11rc6"
+
+CVE_STATUS[CVE-2017-7308] = "fixed-version: Fixed after version 4.11rc6"
+
+CVE_STATUS[CVE-2017-7346] = "fixed-version: Fixed after version 4.12rc5"
+
+# CVE-2017-7369 has no known resolution
+
+CVE_STATUS[CVE-2017-7374] = "fixed-version: Fixed after version 4.11rc4"
+
+CVE_STATUS[CVE-2017-7472] = "fixed-version: Fixed after version 4.11rc8"
+
+CVE_STATUS[CVE-2017-7477] = "fixed-version: Fixed after version 4.11"
+
+CVE_STATUS[CVE-2017-7482] = "fixed-version: Fixed after version 4.12rc7"
+
+CVE_STATUS[CVE-2017-7487] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-7495] = "fixed-version: Fixed after version 4.7rc1"
+
+CVE_STATUS[CVE-2017-7518] = "fixed-version: Fixed after version 4.12rc7"
+
+CVE_STATUS[CVE-2017-7533] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-7541] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-7542] = "fixed-version: Fixed after version 4.13rc2"
+
+CVE_STATUS[CVE-2017-7558] = "fixed-version: Fixed after version 4.13"
+
+CVE_STATUS[CVE-2017-7616] = "fixed-version: Fixed after version 4.11rc6"
+
+CVE_STATUS[CVE-2017-7618] = "fixed-version: Fixed after version 4.11rc8"
+
+CVE_STATUS[CVE-2017-7645] = "fixed-version: Fixed after version 4.11"
+
+CVE_STATUS[CVE-2017-7889] = "fixed-version: Fixed after version 4.11rc7"
+
+CVE_STATUS[CVE-2017-7895] = "fixed-version: Fixed after version 4.11"
+
+CVE_STATUS[CVE-2017-7979] = "fixed-version: Fixed after version 4.11rc8"
+
+CVE_STATUS[CVE-2017-8061] = "fixed-version: Fixed after version 4.11rc4"
+
+CVE_STATUS[CVE-2017-8062] = "fixed-version: Fixed after version 4.11rc2"
+
+CVE_STATUS[CVE-2017-8063] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-8064] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-8065] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-8066] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-8067] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2017-8068] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-8069] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-8070] = "fixed-version: Fixed after version 4.10rc8"
+
+CVE_STATUS[CVE-2017-8071] = "fixed-version: Fixed after version 4.10rc7"
+
+CVE_STATUS[CVE-2017-8072] = "fixed-version: Fixed after version 4.10rc7"
+
+CVE_STATUS[CVE-2017-8106] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2017-8240] = "fixed-version: Fixed after version 3.19rc6"
+
+# CVE-2017-8242 has no known resolution
+
+# CVE-2017-8244 has no known resolution
+
+# CVE-2017-8245 has no known resolution
+
+# CVE-2017-8246 has no known resolution
+
+CVE_STATUS[CVE-2017-8797] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-8824] = "fixed-version: Fixed after version 4.15rc3"
+
+CVE_STATUS[CVE-2017-8831] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-8890] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-8924] = "fixed-version: Fixed after version 4.11rc2"
+
+CVE_STATUS[CVE-2017-8925] = "fixed-version: Fixed after version 4.11rc2"
+
+CVE_STATUS[CVE-2017-9059] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-9074] = "fixed-version: Fixed after version 4.12rc2"
+
+CVE_STATUS[CVE-2017-9075] = "fixed-version: Fixed after version 4.12rc2"
+
+CVE_STATUS[CVE-2017-9076] = "fixed-version: Fixed after version 4.12rc2"
+
+CVE_STATUS[CVE-2017-9077] = "fixed-version: Fixed after version 4.12rc2"
+
+CVE_STATUS[CVE-2017-9150] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2017-9211] = "fixed-version: Fixed after version 4.12rc3"
+
+CVE_STATUS[CVE-2017-9242] = "fixed-version: Fixed after version 4.12rc3"
+
+CVE_STATUS[CVE-2017-9605] = "fixed-version: Fixed after version 4.12rc5"
+
+CVE_STATUS[CVE-2017-9725] = "fixed-version: Fixed after version 4.3rc7"
+
+CVE_STATUS[CVE-2017-9984] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-9985] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2017-9986] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2018-1000004] = "fixed-version: Fixed after version 4.15rc9"
+
+CVE_STATUS[CVE-2018-1000026] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2018-1000028] = "fixed-version: Fixed after version 4.15"
+
+CVE_STATUS[CVE-2018-1000199] = "fixed-version: Fixed after version 4.16"
+
+CVE_STATUS[CVE-2018-1000200] = "fixed-version: Fixed after version 4.17rc5"
+
+CVE_STATUS[CVE-2018-1000204] = "fixed-version: Fixed after version 4.17rc7"
+
+CVE_STATUS[CVE-2018-10021] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-10074] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-10087] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2018-10124] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2018-10322] = "fixed-version: Fixed after version 4.17rc4"
+
+CVE_STATUS[CVE-2018-10323] = "fixed-version: Fixed after version 4.17rc4"
+
+CVE_STATUS[CVE-2018-1065] = "fixed-version: Fixed after version 4.16rc3"
+
+CVE_STATUS[CVE-2018-1066] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2018-10675] = "fixed-version: Fixed after version 4.13rc6"
+
+CVE_STATUS[CVE-2018-1068] = "fixed-version: Fixed after version 4.16rc5"
+
+CVE_STATUS[CVE-2018-10840] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-10853] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-1087] = "fixed-version: Fixed after version 4.16rc7"
+
+# CVE-2018-10872 has no known resolution
+
+CVE_STATUS[CVE-2018-10876] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10877] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10878] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10879] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10880] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10881] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10882] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10883] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-10901] = "fixed-version: Fixed after version 2.6.36rc1"
+
+CVE_STATUS[CVE-2018-10902] = "fixed-version: Fixed after version 4.18rc6"
+
+CVE_STATUS[CVE-2018-1091] = "fixed-version: Fixed after version 4.14rc2"
+
+CVE_STATUS[CVE-2018-1092] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2018-1093] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2018-10938] = "fixed-version: Fixed after version 4.13rc5"
+
+CVE_STATUS[CVE-2018-1094] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2018-10940] = "fixed-version: Fixed after version 4.17rc3"
+
+CVE_STATUS[CVE-2018-1095] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2018-1108] = "fixed-version: Fixed after version 4.17rc2"
+
+CVE_STATUS[CVE-2018-1118] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-1120] = "fixed-version: Fixed after version 4.17rc6"
+
+# CVE-2018-1121 has no known resolution
+
+CVE_STATUS[CVE-2018-11232] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2018-1128] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-1129] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-1130] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-11412] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-11506] = "fixed-version: Fixed after version 4.17rc7"
+
+CVE_STATUS[CVE-2018-11508] = "fixed-version: Fixed after version 4.17rc5"
+
+# CVE-2018-11987 has no known resolution
+
+CVE_STATUS[CVE-2018-12126] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2018-12127] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2018-12130] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2018-12207] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2018-12232] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-12233] = "fixed-version: Fixed after version 4.18rc2"
+
+CVE_STATUS[CVE-2018-12633] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-12714] = "fixed-version: Fixed after version 4.18rc2"
+
+CVE_STATUS[CVE-2018-12896] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-12904] = "fixed-version: Fixed after version 4.18rc1"
+
+# CVE-2018-12928 has no known resolution
+
+# CVE-2018-12929 has no known resolution
+
+# CVE-2018-12930 has no known resolution
+
+# CVE-2018-12931 has no known resolution
+
+CVE_STATUS[CVE-2018-13053] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-13093] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-13094] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-13095] = "fixed-version: Fixed after version 4.18rc3"
+
+CVE_STATUS[CVE-2018-13096] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-13097] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-13098] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-13099] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-13100] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-13405] = "fixed-version: Fixed after version 4.18rc4"
+
+CVE_STATUS[CVE-2018-13406] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-14609] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14610] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14611] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14612] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14613] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14614] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14615] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14616] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14617] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-14619] = "fixed-version: Fixed after version 4.15rc4"
+
+CVE_STATUS[CVE-2018-14625] = "fixed-version: Fixed after version 4.20rc6"
+
+CVE_STATUS[CVE-2018-14633] = "fixed-version: Fixed after version 4.19rc6"
+
+CVE_STATUS[CVE-2018-14634] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2018-14641] = "fixed-version: Fixed after version 4.19rc4"
+
+CVE_STATUS[CVE-2018-14646] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2018-14656] = "fixed-version: Fixed after version 4.19rc2"
+
+CVE_STATUS[CVE-2018-14678] = "fixed-version: Fixed after version 4.18rc8"
+
+CVE_STATUS[CVE-2018-14734] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-15471] = "fixed-version: Fixed after version 4.19rc7"
+
+CVE_STATUS[CVE-2018-15572] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-15594] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-16276] = "fixed-version: Fixed after version 4.18rc5"
+
+CVE_STATUS[CVE-2018-16597] = "fixed-version: Fixed after version 4.8rc1"
+
+CVE_STATUS[CVE-2018-16658] = "fixed-version: Fixed after version 4.19rc2"
+
+CVE_STATUS[CVE-2018-16862] = "fixed-version: Fixed after version 4.20rc5"
+
+CVE_STATUS[CVE-2018-16871] = "fixed-version: Fixed after version 4.20rc3"
+
+CVE_STATUS[CVE-2018-16880] = "fixed-version: Fixed after version 5.0rc5"
+
+CVE_STATUS[CVE-2018-16882] = "fixed-version: Fixed after version 4.20"
+
+CVE_STATUS[CVE-2018-16884] = "fixed-version: Fixed after version 5.0rc1"
+
+# CVE-2018-16885 has no known resolution
+
+CVE_STATUS[CVE-2018-17182] = "fixed-version: Fixed after version 4.19rc4"
+
+CVE_STATUS[CVE-2018-17972] = "fixed-version: Fixed after version 4.19rc7"
+
+# CVE-2018-17977 has no known resolution
+
+CVE_STATUS[CVE-2018-18021] = "fixed-version: Fixed after version 4.19rc7"
+
+CVE_STATUS[CVE-2018-18281] = "fixed-version: Fixed after version 4.19"
+
+CVE_STATUS[CVE-2018-18386] = "fixed-version: Fixed after version 4.15rc6"
+
+CVE_STATUS[CVE-2018-18397] = "fixed-version: Fixed after version 4.20rc5"
+
+CVE_STATUS[CVE-2018-18445] = "fixed-version: Fixed after version 4.19rc7"
+
+CVE_STATUS[CVE-2018-18559] = "fixed-version: Fixed after version 4.15rc2"
+
+# CVE-2018-18653 has no known resolution
+
+CVE_STATUS[CVE-2018-18690] = "fixed-version: Fixed after version 4.17rc4"
+
+CVE_STATUS[CVE-2018-18710] = "fixed-version: Fixed after version 4.20rc1"
+
+CVE_STATUS[CVE-2018-18955] = "fixed-version: Fixed after version 4.20rc2"
+
+CVE_STATUS[CVE-2018-19406] = "fixed-version: Fixed after version 4.20rc5"
+
+CVE_STATUS[CVE-2018-19407] = "fixed-version: Fixed after version 4.20rc5"
+
+CVE_STATUS[CVE-2018-19824] = "fixed-version: Fixed after version 4.20rc6"
+
+CVE_STATUS[CVE-2018-19854] = "fixed-version: Fixed after version 4.20rc3"
+
+CVE_STATUS[CVE-2018-19985] = "fixed-version: Fixed after version 4.20"
+
+CVE_STATUS[CVE-2018-20169] = "fixed-version: Fixed after version 4.20rc6"
+
+CVE_STATUS[CVE-2018-20449] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2018-20509] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2018-20510] = "fixed-version: Fixed after version 4.16rc3"
+
+CVE_STATUS[CVE-2018-20511] = "fixed-version: Fixed after version 4.19rc5"
+
+CVE_STATUS[CVE-2018-20669] = "fixed-version: Fixed after version 5.0rc1"
+
+CVE_STATUS[CVE-2018-20784] = "fixed-version: Fixed after version 5.0rc1"
+
+CVE_STATUS[CVE-2018-20836] = "fixed-version: Fixed after version 4.20rc1"
+
+CVE_STATUS[CVE-2018-20854] = "fixed-version: Fixed after version 4.20rc1"
+
+CVE_STATUS[CVE-2018-20855] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-20856] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-20961] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2018-20976] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-21008] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2018-25015] = "fixed-version: Fixed after version 4.15rc9"
+
+CVE_STATUS[CVE-2018-25020] = "fixed-version: Fixed after version 4.17rc7"
+
+# CVE-2018-3574 has no known resolution
+
+CVE_STATUS[CVE-2018-3620] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-3639] = "fixed-version: Fixed after version 4.17rc7"
+
+CVE_STATUS[CVE-2018-3646] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-3665] = "fixed-version: Fixed after version 3.7rc1"
+
+CVE_STATUS[CVE-2018-3693] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-5332] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2018-5333] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2018-5344] = "fixed-version: Fixed after version 4.15rc8"
+
+CVE_STATUS[CVE-2018-5390] = "fixed-version: Fixed after version 4.18rc7"
+
+CVE_STATUS[CVE-2018-5391] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-5703] = "fixed-version: Fixed after version 4.16rc5"
+
+CVE_STATUS[CVE-2018-5750] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2018-5803] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2018-5814] = "fixed-version: Fixed after version 4.17rc6"
+
+CVE_STATUS[CVE-2018-5848] = "fixed-version: Fixed after version 4.16rc1"
+
+# Skipping CVE-2018-5856, no affected_versions
+
+CVE_STATUS[CVE-2018-5873] = "fixed-version: Fixed after version 4.11rc8"
+
+CVE_STATUS[CVE-2018-5953] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2018-5995] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2018-6412] = "fixed-version: Fixed after version 4.16rc5"
+
+CVE_STATUS[CVE-2018-6554] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2018-6555] = "fixed-version: Fixed after version 4.17rc1"
+
+# CVE-2018-6559 has no known resolution
+
+CVE_STATUS[CVE-2018-6927] = "fixed-version: Fixed after version 4.15rc9"
+
+CVE_STATUS[CVE-2018-7191] = "fixed-version: Fixed after version 4.14rc6"
+
+CVE_STATUS[CVE-2018-7273] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2018-7480] = "fixed-version: Fixed after version 4.11rc1"
+
+CVE_STATUS[CVE-2018-7492] = "fixed-version: Fixed after version 4.15rc3"
+
+CVE_STATUS[CVE-2018-7566] = "fixed-version: Fixed after version 4.16rc2"
+
+CVE_STATUS[CVE-2018-7740] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-7754] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2018-7755] = "fixed-version: Fixed after version 4.19rc5"
+
+CVE_STATUS[CVE-2018-7757] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2018-7995] = "fixed-version: Fixed after version 4.16rc5"
+
+CVE_STATUS[CVE-2018-8043] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2018-8087] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2018-8781] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-8822] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-8897] = "fixed-version: Fixed after version 4.16rc7"
+
+CVE_STATUS[CVE-2018-9363] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2018-9385] = "fixed-version: Fixed after version 4.17rc3"
+
+CVE_STATUS[CVE-2018-9415] = "fixed-version: Fixed after version 4.17rc3"
+
+CVE_STATUS[CVE-2018-9422] = "fixed-version: Fixed after version 4.6rc1"
+
+CVE_STATUS[CVE-2018-9465] = "fixed-version: Fixed after version 4.15rc6"
+
+CVE_STATUS[CVE-2018-9516] = "fixed-version: Fixed after version 4.18rc5"
+
+CVE_STATUS[CVE-2018-9517] = "fixed-version: Fixed after version 4.14rc1"
+
+CVE_STATUS[CVE-2018-9518] = "fixed-version: Fixed after version 4.16rc3"
+
+CVE_STATUS[CVE-2018-9568] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2019-0136] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-0145] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-0146] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-0147] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-0148] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-0149] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-0154] = "fixed-version: Fixed after version 5.4rc8"
+
+CVE_STATUS[CVE-2019-0155] = "fixed-version: Fixed after version 5.4rc8"
+
+CVE_STATUS[CVE-2019-10124] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-10125] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-10126] = "fixed-version: Fixed after version 5.2rc6"
+
+# CVE-2019-10140 has no known resolution
+
+CVE_STATUS[CVE-2019-10142] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-10207] = "fixed-version: Fixed after version 5.3rc3"
+
+CVE_STATUS[CVE-2019-10220] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-10638] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-10639] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-11085] = "fixed-version: Fixed after version 5.0rc3"
+
+CVE_STATUS[CVE-2019-11091] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-11135] = "fixed-version: Fixed after version 5.4rc8"
+
+CVE_STATUS[CVE-2019-11190] = "fixed-version: Fixed after version 4.8rc5"
+
+CVE_STATUS[CVE-2019-11191] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-1125] = "fixed-version: Fixed after version 5.3rc4"
+
+CVE_STATUS[CVE-2019-11477] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-11478] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-11479] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-11486] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-11487] = "fixed-version: Fixed after version 5.1rc5"
+
+CVE_STATUS[CVE-2019-11599] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-11683] = "fixed-version: Fixed after version 5.1"
+
+CVE_STATUS[CVE-2019-11810] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-11811] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-11815] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-11833] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-11884] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-12378] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2019-12379] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-12380] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2019-12381] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2019-12382] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-12454] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-12455] = "fixed-version: Fixed after version 5.3rc1"
+
+# CVE-2019-12456 has no known resolution
+
+CVE_STATUS[CVE-2019-12614] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-12615] = "fixed-version: Fixed after version 5.2rc4"
+
+CVE_STATUS[CVE-2019-12817] = "fixed-version: Fixed after version 5.2rc7"
+
+CVE_STATUS[CVE-2019-12818] = "fixed-version: Fixed after version 5.0"
+
+CVE_STATUS[CVE-2019-12819] = "fixed-version: Fixed after version 5.0rc8"
+
+CVE_STATUS[CVE-2019-12881] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2019-12984] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-13233] = "fixed-version: Fixed after version 5.2rc4"
+
+CVE_STATUS[CVE-2019-13272] = "fixed-version: Fixed after version 5.2"
+
+CVE_STATUS[CVE-2019-13631] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-13648] = "fixed-version: Fixed after version 5.3rc2"
+
+CVE_STATUS[CVE-2019-14283] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-14284] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-14615] = "fixed-version: Fixed after version 5.5rc7"
+
+CVE_STATUS[CVE-2019-14763] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2019-14814] = "fixed-version: Fixed after version 5.3"
+
+CVE_STATUS[CVE-2019-14815] = "fixed-version: Fixed after version 5.3"
+
+CVE_STATUS[CVE-2019-14816] = "fixed-version: Fixed after version 5.3"
+
+CVE_STATUS[CVE-2019-14821] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-14835] = "fixed-version: Fixed after version 5.3"
+
+CVE_STATUS[CVE-2019-14895] = "fixed-version: Fixed after version 5.5rc3"
+
+CVE_STATUS[CVE-2019-14896] = "fixed-version: Fixed after version 5.5"
+
+CVE_STATUS[CVE-2019-14897] = "fixed-version: Fixed after version 5.5"
+
+# CVE-2019-14898 has no known resolution
+
+CVE_STATUS[CVE-2019-14901] = "fixed-version: Fixed after version 5.5rc3"
+
+CVE_STATUS[CVE-2019-15030] = "fixed-version: Fixed after version 5.3rc8"
+
+CVE_STATUS[CVE-2019-15031] = "fixed-version: Fixed after version 5.3rc8"
+
+CVE_STATUS[CVE-2019-15090] = "fixed-version: Fixed after version 5.2rc2"
+
+CVE_STATUS[CVE-2019-15098] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-15099] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-15117] = "fixed-version: Fixed after version 5.3rc5"
+
+CVE_STATUS[CVE-2019-15118] = "fixed-version: Fixed after version 5.3rc5"
+
+CVE_STATUS[CVE-2019-15211] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15212] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2019-15213] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15214] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-15215] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15216] = "fixed-version: Fixed after version 5.1"
+
+CVE_STATUS[CVE-2019-15217] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15218] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2019-15219] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2019-15220] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15221] = "fixed-version: Fixed after version 5.2"
+
+CVE_STATUS[CVE-2019-15222] = "fixed-version: Fixed after version 5.3rc3"
+
+CVE_STATUS[CVE-2019-15223] = "fixed-version: Fixed after version 5.2rc3"
+
+# CVE-2019-15239 has no known resolution
+
+# CVE-2019-15290 has no known resolution
+
+CVE_STATUS[CVE-2019-15291] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-15292] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-15504] = "fixed-version: Fixed after version 5.3"
+
+CVE_STATUS[CVE-2019-15505] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-15538] = "fixed-version: Fixed after version 5.3rc6"
+
+CVE_STATUS[CVE-2019-15666] = "fixed-version: Fixed after version 5.1"
+
+# CVE-2019-15791 has no known resolution
+
+# CVE-2019-15792 has no known resolution
+
+# CVE-2019-15793 has no known resolution
+
+CVE_STATUS[CVE-2019-15794] = "fixed-version: Fixed after version 5.12"
+
+CVE_STATUS[CVE-2019-15807] = "fixed-version: Fixed after version 5.2rc3"
+
+# CVE-2019-15902 has no known resolution
+
+CVE_STATUS[CVE-2019-15916] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-15917] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-15918] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-15919] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-15920] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-15921] = "fixed-version: Fixed after version 5.1rc3"
+
+CVE_STATUS[CVE-2019-15922] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-15923] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-15924] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-15925] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15926] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-15927] = "fixed-version: Fixed after version 5.0rc2"
+
+# CVE-2019-16089 has no known resolution
+
+CVE_STATUS[CVE-2019-16229] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-16230] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-16231] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-16232] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-16233] = "fixed-version: Fixed after version 5.4rc5"
+
+CVE_STATUS[CVE-2019-16234] = "fixed-version: Fixed after version 5.4rc4"
+
+CVE_STATUS[CVE-2019-16413] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-16714] = "fixed-version: Fixed after version 5.3rc7"
+
+CVE_STATUS[CVE-2019-16746] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-16921] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2019-16994] = "fixed-version: Fixed after version 5.0"
+
+CVE_STATUS[CVE-2019-16995] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-17052] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-17053] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-17054] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-17055] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-17056] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-17075] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-17133] = "fixed-version: Fixed after version 5.4rc4"
+
+CVE_STATUS[CVE-2019-17351] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-17666] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-18198] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-18282] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-18660] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-18675] = "fixed-version: Fixed after version 4.17rc5"
+
+# CVE-2019-18680 has no known resolution
+
+CVE_STATUS[CVE-2019-18683] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-18786] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-18805] = "fixed-version: Fixed after version 5.1rc7"
+
+CVE_STATUS[CVE-2019-18806] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-18807] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-18808] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-18809] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-18810] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-18811] = "fixed-version: Fixed after version 5.4rc7"
+
+CVE_STATUS[CVE-2019-18812] = "fixed-version: Fixed after version 5.4rc7"
+
+CVE_STATUS[CVE-2019-18813] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-18814] = "fixed-version: Fixed after version 5.7rc7"
+
+CVE_STATUS[CVE-2019-18885] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-19036] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19037] = "fixed-version: Fixed after version 5.5rc3"
+
+CVE_STATUS[CVE-2019-19039] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2019-19043] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19044] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-19045] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-19046] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19047] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-19048] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19049] = "fixed-version: Fixed after version 5.4rc5"
+
+CVE_STATUS[CVE-2019-19050] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19051] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-19052] = "fixed-version: Fixed after version 5.4rc7"
+
+CVE_STATUS[CVE-2019-19053] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19054] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19055] = "fixed-version: Fixed after version 5.4rc4"
+
+CVE_STATUS[CVE-2019-19056] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19057] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19058] = "fixed-version: Fixed after version 5.4rc4"
+
+CVE_STATUS[CVE-2019-19059] = "fixed-version: Fixed after version 5.4rc4"
+
+CVE_STATUS[CVE-2019-19060] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19061] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19062] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19063] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19064] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19065] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19066] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19067] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-19068] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19069] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19070] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19071] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19072] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19073] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19074] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19075] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-19076] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19077] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19078] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19079] = "fixed-version: Fixed after version 5.3"
+
+CVE_STATUS[CVE-2019-19080] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19081] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19082] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19083] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-19227] = "fixed-version: Fixed after version 5.1rc3"
+
+CVE_STATUS[CVE-2019-19241] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19252] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19318] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19319] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-19332] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19338] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19377] = "fixed-version: Fixed after version 5.7rc1"
+
+# CVE-2019-19378 has no known resolution
+
+CVE_STATUS[CVE-2019-19447] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19448] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2019-19449] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2019-19462] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2019-19523] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19524] = "fixed-version: Fixed after version 5.4rc8"
+
+CVE_STATUS[CVE-2019-19525] = "fixed-version: Fixed after version 5.4rc2"
+
+CVE_STATUS[CVE-2019-19526] = "fixed-version: Fixed after version 5.4rc4"
+
+CVE_STATUS[CVE-2019-19527] = "fixed-version: Fixed after version 5.3rc4"
+
+CVE_STATUS[CVE-2019-19528] = "fixed-version: Fixed after version 5.4rc3"
+
+CVE_STATUS[CVE-2019-19529] = "fixed-version: Fixed after version 5.4rc7"
+
+CVE_STATUS[CVE-2019-19530] = "fixed-version: Fixed after version 5.3rc5"
+
+CVE_STATUS[CVE-2019-19531] = "fixed-version: Fixed after version 5.3rc4"
+
+CVE_STATUS[CVE-2019-19532] = "fixed-version: Fixed after version 5.4rc6"
+
+CVE_STATUS[CVE-2019-19533] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19534] = "fixed-version: Fixed after version 5.4rc7"
+
+CVE_STATUS[CVE-2019-19535] = "fixed-version: Fixed after version 5.3rc4"
+
+CVE_STATUS[CVE-2019-19536] = "fixed-version: Fixed after version 5.3rc4"
+
+CVE_STATUS[CVE-2019-19537] = "fixed-version: Fixed after version 5.3rc5"
+
+CVE_STATUS[CVE-2019-19543] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-19602] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19767] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2019-19768] = "fixed-version: Fixed after version 5.6rc4"
+
+CVE_STATUS[CVE-2019-19769] = "fixed-version: Fixed after version 5.6rc5"
+
+CVE_STATUS[CVE-2019-19770] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2019-19807] = "fixed-version: Fixed after version 5.4rc7"
+
+CVE_STATUS[CVE-2019-19813] = "fixed-version: Fixed after version 5.2rc1"
+
+# CVE-2019-19814 has no known resolution
+
+CVE_STATUS[CVE-2019-19815] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2019-19816] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-19922] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-19927] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-19947] = "fixed-version: Fixed after version 5.5rc3"
+
+CVE_STATUS[CVE-2019-19965] = "fixed-version: Fixed after version 5.5rc2"
+
+CVE_STATUS[CVE-2019-19966] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-1999] = "fixed-version: Fixed after version 5.1rc3"
+
+CVE_STATUS[CVE-2019-20054] = "fixed-version: Fixed after version 5.1rc3"
+
+CVE_STATUS[CVE-2019-20095] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-20096] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-2024] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2019-2025] = "fixed-version: Fixed after version 4.20rc5"
+
+CVE_STATUS[CVE-2019-20422] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-2054] = "fixed-version: Fixed after version 4.8rc1"
+
+CVE_STATUS[CVE-2019-20636] = "fixed-version: Fixed after version 5.5rc6"
+
+# CVE-2019-20794 has no known resolution
+
+CVE_STATUS[CVE-2019-20806] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-20810] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2019-20811] = "fixed-version: Fixed after version 5.1rc3"
+
+CVE_STATUS[CVE-2019-20812] = "fixed-version: Fixed after version 5.5rc3"
+
+CVE_STATUS[CVE-2019-20908] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2019-20934] = "fixed-version: Fixed after version 5.3rc2"
+
+CVE_STATUS[CVE-2019-2101] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-2181] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-2182] = "fixed-version: Fixed after version 4.16rc3"
+
+CVE_STATUS[CVE-2019-2213] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-2214] = "fixed-version: Fixed after version 5.3rc2"
+
+CVE_STATUS[CVE-2019-2215] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2019-25044] = "fixed-version: Fixed after version 5.2rc4"
+
+CVE_STATUS[CVE-2019-25045] = "fixed-version: Fixed after version 5.1"
+
+CVE_STATUS[CVE-2019-3016] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2019-3459] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-3460] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-3701] = "fixed-version: Fixed after version 5.0rc3"
+
+CVE_STATUS[CVE-2019-3819] = "fixed-version: Fixed after version 5.0rc6"
+
+CVE_STATUS[CVE-2019-3837] = "fixed-version: Fixed after version 3.18rc1"
+
+CVE_STATUS[CVE-2019-3846] = "fixed-version: Fixed after version 5.2rc6"
+
+CVE_STATUS[CVE-2019-3874] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-3882] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-3887] = "fixed-version: Fixed after version 5.1rc4"
+
+CVE_STATUS[CVE-2019-3892] = "fixed-version: Fixed after version 5.1rc6"
+
+CVE_STATUS[CVE-2019-3896] = "fixed-version: Fixed after version 2.6.35rc1"
+
+CVE_STATUS[CVE-2019-3900] = "fixed-version: Fixed after version 5.2rc4"
+
+CVE_STATUS[CVE-2019-3901] = "fixed-version: Fixed after version 4.6rc6"
+
+CVE_STATUS[CVE-2019-5108] = "fixed-version: Fixed after version 5.3"
+
+# Skipping CVE-2019-5489, no affected_versions
+
+CVE_STATUS[CVE-2019-6133] = "fixed-version: Fixed after version 5.0rc2"
+
+CVE_STATUS[CVE-2019-6974] = "fixed-version: Fixed after version 5.0rc6"
+
+CVE_STATUS[CVE-2019-7221] = "fixed-version: Fixed after version 5.0rc6"
+
+CVE_STATUS[CVE-2019-7222] = "fixed-version: Fixed after version 5.0rc6"
+
+CVE_STATUS[CVE-2019-7308] = "fixed-version: Fixed after version 5.0rc3"
+
+CVE_STATUS[CVE-2019-8912] = "fixed-version: Fixed after version 5.0rc8"
+
+CVE_STATUS[CVE-2019-8956] = "fixed-version: Fixed after version 5.0rc6"
+
+CVE_STATUS[CVE-2019-8980] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-9003] = "fixed-version: Fixed after version 5.0rc4"
+
+CVE_STATUS[CVE-2019-9162] = "fixed-version: Fixed after version 5.0rc7"
+
+CVE_STATUS[CVE-2019-9213] = "fixed-version: Fixed after version 5.0"
+
+CVE_STATUS[CVE-2019-9245] = "fixed-version: Fixed after version 5.0rc1"
+
+CVE_STATUS[CVE-2019-9444] = "fixed-version: Fixed after version 4.15rc2"
+
+CVE_STATUS[CVE-2019-9445] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-9453] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2019-9454] = "fixed-version: Fixed after version 4.15rc9"
+
+CVE_STATUS[CVE-2019-9455] = "fixed-version: Fixed after version 5.0rc1"
+
+CVE_STATUS[CVE-2019-9456] = "fixed-version: Fixed after version 4.16rc6"
+
+CVE_STATUS[CVE-2019-9457] = "fixed-version: Fixed after version 4.13rc1"
+
+CVE_STATUS[CVE-2019-9458] = "fixed-version: Fixed after version 4.19rc7"
+
+CVE_STATUS[CVE-2019-9466] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-9500] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-9503] = "fixed-version: Fixed after version 5.1rc1"
+
+CVE_STATUS[CVE-2019-9506] = "fixed-version: Fixed after version 5.2"
+
+CVE_STATUS[CVE-2019-9857] = "fixed-version: Fixed after version 5.1rc2"
+
+CVE_STATUS[CVE-2020-0009] = "fixed-version: Fixed after version 5.6rc3"
+
+CVE_STATUS[CVE-2020-0030] = "fixed-version: Fixed after version 4.16rc3"
+
+CVE_STATUS[CVE-2020-0041] = "fixed-version: Fixed after version 5.5rc2"
+
+CVE_STATUS[CVE-2020-0066] = "fixed-version: Fixed after version 4.3rc7"
+
+CVE_STATUS[CVE-2020-0067] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2020-0110] = "fixed-version: Fixed after version 5.6rc2"
+
+CVE_STATUS[CVE-2020-0255] = "fixed-version: Fixed after version 5.7rc4"
+
+CVE_STATUS[CVE-2020-0305] = "fixed-version: Fixed after version 5.5rc6"
+
+# CVE-2020-0347 has no known resolution
+
+CVE_STATUS[CVE-2020-0404] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2020-0423] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-0427] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2020-0429] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2020-0430] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2020-0431] = "fixed-version: Fixed after version 5.5rc6"
+
+CVE_STATUS[CVE-2020-0432] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2020-0433] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2020-0435] = "fixed-version: Fixed after version 4.19rc1"
+
+CVE_STATUS[CVE-2020-0444] = "fixed-version: Fixed after version 5.6rc4"
+
+CVE_STATUS[CVE-2020-0465] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2020-0466] = "fixed-version: Fixed after version 5.9rc2"
+
+CVE_STATUS[CVE-2020-0543] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-10135] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-10690] = "fixed-version: Fixed after version 5.5rc5"
+
+# CVE-2020-10708 has no known resolution
+
+CVE_STATUS[CVE-2020-10711] = "fixed-version: Fixed after version 5.7rc6"
+
+CVE_STATUS[CVE-2020-10720] = "fixed-version: Fixed after version 5.2rc3"
+
+CVE_STATUS[CVE-2020-10732] = "fixed-version: Fixed after version 5.7"
+
+CVE_STATUS[CVE-2020-10742] = "fixed-version: Fixed after version 3.16rc1"
+
+CVE_STATUS[CVE-2020-10751] = "fixed-version: Fixed after version 5.7rc4"
+
+CVE_STATUS[CVE-2020-10757] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-10766] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-10767] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-10768] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-10769] = "fixed-version: Fixed after version 5.0rc3"
+
+CVE_STATUS[CVE-2020-10773] = "fixed-version: Fixed after version 5.4rc6"
+
+# CVE-2020-10774 has no known resolution
+
+CVE_STATUS[CVE-2020-10781] = "fixed-version: Fixed after version 5.8rc6"
+
+CVE_STATUS[CVE-2020-10942] = "fixed-version: Fixed after version 5.6rc4"
+
+CVE_STATUS[CVE-2020-11494] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-11565] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-11608] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-11609] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-11668] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-11669] = "fixed-version: Fixed after version 5.2rc1"
+
+# CVE-2020-11725 has no known resolution
+
+CVE_STATUS[CVE-2020-11884] = "fixed-version: Fixed after version 5.7rc4"
+
+# CVE-2020-11935 has no known resolution
+
+CVE_STATUS[CVE-2020-12114] = "fixed-version: Fixed after version 5.3rc1"
+
+CVE_STATUS[CVE-2020-12351] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-12352] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-12362] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-12363] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-12364] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-12464] = "fixed-version: Fixed after version 5.7rc3"
+
+CVE_STATUS[CVE-2020-12465] = "fixed-version: Fixed after version 5.6rc6"
+
+CVE_STATUS[CVE-2020-12652] = "fixed-version: Fixed after version 5.5rc7"
+
+CVE_STATUS[CVE-2020-12653] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2020-12654] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2020-12655] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-12656] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-12657] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-12659] = "fixed-version: Fixed after version 5.7rc2"
+
+CVE_STATUS[CVE-2020-12768] = "fixed-version: Fixed after version 5.6rc4"
+
+CVE_STATUS[CVE-2020-12769] = "fixed-version: Fixed after version 5.5rc6"
+
+CVE_STATUS[CVE-2020-12770] = "fixed-version: Fixed after version 5.7rc3"
+
+CVE_STATUS[CVE-2020-12771] = "fixed-version: Fixed after version 5.8rc2"
+
+CVE_STATUS[CVE-2020-12826] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-12888] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-12912] = "fixed-version: Fixed after version 5.10rc4"
+
+CVE_STATUS[CVE-2020-13143] = "fixed-version: Fixed after version 5.7rc6"
+
+CVE_STATUS[CVE-2020-13974] = "fixed-version: Fixed after version 5.8rc1"
+
+# CVE-2020-14304 has no known resolution
+
+CVE_STATUS[CVE-2020-14305] = "fixed-version: Fixed after version 4.12rc1"
+
+CVE_STATUS[CVE-2020-14314] = "fixed-version: Fixed after version 5.9rc2"
+
+CVE_STATUS[CVE-2020-14331] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2020-14351] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-14353] = "fixed-version: Fixed after version 4.14rc3"
+
+CVE_STATUS[CVE-2020-14356] = "fixed-version: Fixed after version 5.8rc5"
+
+CVE_STATUS[CVE-2020-14381] = "fixed-version: Fixed after version 5.6rc6"
+
+CVE_STATUS[CVE-2020-14385] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2020-14386] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2020-14390] = "fixed-version: Fixed after version 5.9rc6"
+
+CVE_STATUS[CVE-2020-14416] = "fixed-version: Fixed after version 5.5"
+
+CVE_STATUS[CVE-2020-15393] = "fixed-version: Fixed after version 5.8rc3"
+
+CVE_STATUS[CVE-2020-15436] = "fixed-version: Fixed after version 5.8rc2"
+
+CVE_STATUS[CVE-2020-15437] = "fixed-version: Fixed after version 5.8rc7"
+
+CVE_STATUS[CVE-2020-15780] = "fixed-version: Fixed after version 5.8rc3"
+
+# CVE-2020-15802 has no known resolution
+
+CVE_STATUS[CVE-2020-15852] = "fixed-version: Fixed after version 5.8rc6"
+
+CVE_STATUS[CVE-2020-16119] = "fixed-version: Fixed after version 5.15rc2"
+
+CVE_STATUS[CVE-2020-16120] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-16166] = "fixed-version: Fixed after version 5.8"
+
+CVE_STATUS[CVE-2020-1749] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2020-24394] = "fixed-version: Fixed after version 5.8rc4"
+
+CVE_STATUS[CVE-2020-24490] = "fixed-version: Fixed after version 5.8"
+
+# CVE-2020-24502 has no known resolution
+
+# CVE-2020-24503 has no known resolution
+
+CVE_STATUS[CVE-2020-24504] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2020-24586] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2020-24587] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2020-24588] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2020-25211] = "fixed-version: Fixed after version 5.9rc7"
+
+CVE_STATUS[CVE-2020-25212] = "fixed-version: Fixed after version 5.9rc1"
+
+# CVE-2020-25220 has no known resolution
+
+CVE_STATUS[CVE-2020-25221] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2020-25284] = "fixed-version: Fixed after version 5.9rc5"
+
+CVE_STATUS[CVE-2020-25285] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2020-25639] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2020-25641] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2020-25643] = "fixed-version: Fixed after version 5.9rc7"
+
+CVE_STATUS[CVE-2020-25645] = "fixed-version: Fixed after version 5.9rc7"
+
+CVE_STATUS[CVE-2020-25656] = "fixed-version: Fixed after version 5.10rc2"
+
+# CVE-2020-25661 has no known resolution
+
+# CVE-2020-25662 has no known resolution
+
+CVE_STATUS[CVE-2020-25668] = "fixed-version: Fixed after version 5.10rc3"
+
+CVE_STATUS[CVE-2020-25669] = "fixed-version: Fixed after version 5.10rc5"
+
+CVE_STATUS[CVE-2020-25670] = "fixed-version: Fixed after version 5.12rc7"
+
+CVE_STATUS[CVE-2020-25671] = "fixed-version: Fixed after version 5.12rc7"
+
+CVE_STATUS[CVE-2020-25672] = "fixed-version: Fixed after version 5.12rc7"
+
+CVE_STATUS[CVE-2020-25673] = "fixed-version: Fixed after version 5.12rc7"
+
+CVE_STATUS[CVE-2020-25704] = "fixed-version: Fixed after version 5.10rc3"
+
+CVE_STATUS[CVE-2020-25705] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-26088] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2020-26139] = "fixed-version: Fixed after version 5.13rc4"
+
+# CVE-2020-26140 has no known resolution
+
+CVE_STATUS[CVE-2020-26141] = "fixed-version: Fixed after version 5.13rc4"
+
+# CVE-2020-26142 has no known resolution
+
+# CVE-2020-26143 has no known resolution
+
+CVE_STATUS[CVE-2020-26145] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2020-26147] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2020-26541] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2020-26555] = "fixed-version: Fixed after version 5.13rc1"
+
+# CVE-2020-26556 has no known resolution
+
+# CVE-2020-26557 has no known resolution
+
+CVE_STATUS[CVE-2020-26558] = "fixed-version: Fixed after version 5.13rc1"
+
+# CVE-2020-26559 has no known resolution
+
+# CVE-2020-26560 has no known resolution
+
+CVE_STATUS[CVE-2020-27066] = "fixed-version: Fixed after version 5.6"
+
+CVE_STATUS[CVE-2020-27067] = "fixed-version: Fixed after version 4.14rc4"
+
+CVE_STATUS[CVE-2020-27068] = "fixed-version: Fixed after version 5.6rc2"
+
+CVE_STATUS[CVE-2020-27152] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-27170] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2020-27171] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2020-27194] = "fixed-version: Fixed after version 5.9"
+
+CVE_STATUS[CVE-2020-2732] = "fixed-version: Fixed after version 5.6rc4"
+
+CVE_STATUS[CVE-2020-27673] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-27675] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-27777] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-27784] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-27786] = "fixed-version: Fixed after version 5.7rc6"
+
+CVE_STATUS[CVE-2020-27815] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-27820] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2020-27825] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-27830] = "fixed-version: Fixed after version 5.10rc7"
+
+CVE_STATUS[CVE-2020-27835] = "fixed-version: Fixed after version 5.10rc6"
+
+CVE_STATUS[CVE-2020-28097] = "fixed-version: Fixed after version 5.9rc6"
+
+CVE_STATUS[CVE-2020-28374] = "fixed-version: Fixed after version 5.11rc4"
+
+CVE_STATUS[CVE-2020-28588] = "fixed-version: Fixed after version 5.10rc7"
+
+CVE_STATUS[CVE-2020-28915] = "fixed-version: Fixed after version 5.9"
+
+CVE_STATUS[CVE-2020-28941] = "fixed-version: Fixed after version 5.10rc5"
+
+CVE_STATUS[CVE-2020-28974] = "fixed-version: Fixed after version 5.10rc3"
+
+CVE_STATUS[CVE-2020-29368] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-29369] = "fixed-version: Fixed after version 5.8rc7"
+
+CVE_STATUS[CVE-2020-29370] = "fixed-version: Fixed after version 5.6rc7"
+
+CVE_STATUS[CVE-2020-29371] = "fixed-version: Fixed after version 5.9rc2"
+
+CVE_STATUS[CVE-2020-29372] = "fixed-version: Fixed after version 5.7rc3"
+
+CVE_STATUS[CVE-2020-29373] = "fixed-version: Fixed after version 5.6rc2"
+
+CVE_STATUS[CVE-2020-29374] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-29534] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-29568] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-29569] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-29660] = "fixed-version: Fixed after version 5.10rc7"
+
+CVE_STATUS[CVE-2020-29661] = "fixed-version: Fixed after version 5.10rc7"
+
+CVE_STATUS[CVE-2020-35499] = "fixed-version: Fixed after version 5.11rc1"
+
+# CVE-2020-35501 has no known resolution
+
+CVE_STATUS[CVE-2020-35508] = "fixed-version: Fixed after version 5.10rc3"
+
+CVE_STATUS[CVE-2020-35513] = "fixed-version: Fixed after version 4.17rc1"
+
+CVE_STATUS[CVE-2020-35519] = "fixed-version: Fixed after version 5.10rc7"
+
+CVE_STATUS[CVE-2020-36158] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-36310] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-36311] = "fixed-version: Fixed after version 5.9rc5"
+
+CVE_STATUS[CVE-2020-36312] = "fixed-version: Fixed after version 5.9rc5"
+
+CVE_STATUS[CVE-2020-36313] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-36322] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2020-36385] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2020-36386] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2020-36387] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2020-36516] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2020-36557] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-36558] = "fixed-version: Fixed after version 5.6rc3"
+
+CVE_STATUS[CVE-2020-36691] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2020-36694] = "fixed-version: Fixed after version 5.10"
+
+CVE_STATUS[CVE-2020-3702] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2020-4788] = "fixed-version: Fixed after version 5.10rc5"
+
+CVE_STATUS[CVE-2020-7053] = "fixed-version: Fixed after version 5.2rc1"
+
+CVE_STATUS[CVE-2020-8428] = "fixed-version: Fixed after version 5.5"
+
+CVE_STATUS[CVE-2020-8647] = "fixed-version: Fixed after version 5.6rc5"
+
+CVE_STATUS[CVE-2020-8648] = "fixed-version: Fixed after version 5.6rc3"
+
+CVE_STATUS[CVE-2020-8649] = "fixed-version: Fixed after version 5.6rc5"
+
+CVE_STATUS[CVE-2020-8694] = "fixed-version: Fixed after version 5.10rc4"
+
+# CVE-2020-8832 has no known resolution
+
+CVE_STATUS[CVE-2020-8834] = "fixed-version: Fixed after version 4.18rc1"
+
+CVE_STATUS[CVE-2020-8835] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2020-8992] = "fixed-version: Fixed after version 5.6rc2"
+
+CVE_STATUS[CVE-2020-9383] = "fixed-version: Fixed after version 5.6rc4"
+
+CVE_STATUS[CVE-2020-9391] = "fixed-version: Fixed after version 5.6rc3"
+
+CVE_STATUS[CVE-2021-0129] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-0342] = "fixed-version: Fixed after version 5.8rc1"
+
+# CVE-2021-0399 has no known resolution
+
+CVE_STATUS[CVE-2021-0447] = "fixed-version: Fixed after version 4.15rc1"
+
+CVE_STATUS[CVE-2021-0448] = "fixed-version: Fixed after version 5.9rc7"
+
+CVE_STATUS[CVE-2021-0512] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-0605] = "fixed-version: Fixed after version 5.8"
+
+# CVE-2021-0606 has no known resolution
+
+# CVE-2021-0695 has no known resolution
+
+CVE_STATUS[CVE-2021-0707] = "fixed-version: Fixed after version 5.11rc3"
+
+CVE_STATUS[CVE-2021-0920] = "fixed-version: Fixed after version 5.14rc4"
+
+# CVE-2021-0924 has no known resolution
+
+CVE_STATUS[CVE-2021-0929] = "fixed-version: Fixed after version 5.6rc1"
+
+CVE_STATUS[CVE-2021-0935] = "fixed-version: Fixed after version 4.16rc7"
+
+# CVE-2021-0936 has no known resolution
+
+CVE_STATUS[CVE-2021-0937] = "fixed-version: Fixed after version 5.12rc8"
+
+CVE_STATUS[CVE-2021-0938] = "fixed-version: Fixed after version 5.10rc4"
+
+CVE_STATUS[CVE-2021-0941] = "fixed-version: Fixed after version 5.12rc1"
+
+# CVE-2021-0961 has no known resolution
+
+CVE_STATUS[CVE-2021-1048] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2021-20177] = "fixed-version: Fixed after version 5.5rc1"
+
+CVE_STATUS[CVE-2021-20194] = "fixed-version: Fixed after version 5.10rc1"
+
+# CVE-2021-20219 has no known resolution
+
+CVE_STATUS[CVE-2021-20226] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2021-20239] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2021-20261] = "fixed-version: Fixed after version 4.5rc5"
+
+CVE_STATUS[CVE-2021-20265] = "fixed-version: Fixed after version 4.5rc3"
+
+CVE_STATUS[CVE-2021-20268] = "fixed-version: Fixed after version 5.11rc5"
+
+CVE_STATUS[CVE-2021-20292] = "fixed-version: Fixed after version 5.9rc1"
+
+CVE_STATUS[CVE-2021-20317] = "fixed-version: Fixed after version 5.4rc1"
+
+CVE_STATUS[CVE-2021-20320] = "fixed-version: Fixed after version 5.15rc3"
+
+CVE_STATUS[CVE-2021-20321] = "fixed-version: Fixed after version 5.15rc5"
+
+CVE_STATUS[CVE-2021-20322] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-21781] = "fixed-version: Fixed after version 5.11rc7"
+
+CVE_STATUS[CVE-2021-22543] = "fixed-version: Fixed after version 5.13"
+
+CVE_STATUS[CVE-2021-22555] = "fixed-version: Fixed after version 5.12rc8"
+
+CVE_STATUS[CVE-2021-22600] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2021-23133] = "fixed-version: Fixed after version 5.12rc8"
+
+CVE_STATUS[CVE-2021-23134] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-26401] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2021-26708] = "fixed-version: Fixed after version 5.11rc7"
+
+CVE_STATUS[CVE-2021-26930] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-26931] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-26932] = "fixed-version: Fixed after version 5.12rc1"
+
+# CVE-2021-26934 has no known resolution
+
+CVE_STATUS[CVE-2021-27363] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-27364] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-27365] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-28038] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-28039] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-28375] = "fixed-version: Fixed after version 5.12rc3"
+
+CVE_STATUS[CVE-2021-28660] = "fixed-version: Fixed after version 5.12rc3"
+
+CVE_STATUS[CVE-2021-28688] = "fixed-version: Fixed after version 5.12rc6"
+
+CVE_STATUS[CVE-2021-28691] = "fixed-version: Fixed after version 5.13rc6"
+
+CVE_STATUS[CVE-2021-28711] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-28712] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-28713] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-28714] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-28715] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-28950] = "fixed-version: Fixed after version 5.12rc4"
+
+CVE_STATUS[CVE-2021-28951] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-28952] = "fixed-version: Fixed after version 5.12rc4"
+
+CVE_STATUS[CVE-2021-28964] = "fixed-version: Fixed after version 5.12rc4"
+
+CVE_STATUS[CVE-2021-28971] = "fixed-version: Fixed after version 5.12rc4"
+
+CVE_STATUS[CVE-2021-28972] = "fixed-version: Fixed after version 5.12rc4"
+
+CVE_STATUS[CVE-2021-29154] = "fixed-version: Fixed after version 5.12rc7"
+
+CVE_STATUS[CVE-2021-29155] = "fixed-version: Fixed after version 5.12rc8"
+
+CVE_STATUS[CVE-2021-29264] = "fixed-version: Fixed after version 5.12rc3"
+
+CVE_STATUS[CVE-2021-29265] = "fixed-version: Fixed after version 5.12rc3"
+
+CVE_STATUS[CVE-2021-29266] = "fixed-version: Fixed after version 5.12rc4"
+
+CVE_STATUS[CVE-2021-29646] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2021-29647] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2021-29648] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2021-29649] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2021-29650] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2021-29657] = "fixed-version: Fixed after version 5.12rc6"
+
+CVE_STATUS[CVE-2021-30002] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-30178] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2021-31440] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-3178] = "fixed-version: Fixed after version 5.11rc5"
+
+CVE_STATUS[CVE-2021-31829] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-31916] = "fixed-version: Fixed after version 5.12rc5"
+
+CVE_STATUS[CVE-2021-32078] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-32399] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-32606] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2021-33033] = "fixed-version: Fixed after version 5.12rc3"
+
+CVE_STATUS[CVE-2021-33034] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-33061] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2021-33098] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2021-33135] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2021-33200] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2021-3347] = "fixed-version: Fixed after version 5.11rc6"
+
+CVE_STATUS[CVE-2021-3348] = "fixed-version: Fixed after version 5.11rc6"
+
+CVE_STATUS[CVE-2021-33624] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2021-33655] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2021-33656] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-33909] = "fixed-version: Fixed after version 5.14rc3"
+
+CVE_STATUS[CVE-2021-3411] = "fixed-version: Fixed after version 5.10"
+
+CVE_STATUS[CVE-2021-3428] = "fixed-version: Fixed after version 5.9rc2"
+
+CVE_STATUS[CVE-2021-3444] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-34556] = "fixed-version: Fixed after version 5.14rc4"
+
+CVE_STATUS[CVE-2021-34693] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2021-3483] = "fixed-version: Fixed after version 5.12rc6"
+
+CVE_STATUS[CVE-2021-34866] = "fixed-version: Fixed after version 5.14"
+
+CVE_STATUS[CVE-2021-3489] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2021-3490] = "fixed-version: Fixed after version 5.13rc4"
+
+CVE_STATUS[CVE-2021-3491] = "fixed-version: Fixed after version 5.13rc1"
+
+# CVE-2021-3492 has no known resolution
+
+CVE_STATUS[CVE-2021-3493] = "fixed-version: Fixed after version 5.11rc1"
+
+CVE_STATUS[CVE-2021-34981] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-3501] = "fixed-version: Fixed after version 5.12rc8"
+
+CVE_STATUS[CVE-2021-35039] = "fixed-version: Fixed after version 5.13"
+
+CVE_STATUS[CVE-2021-3506] = "fixed-version: Fixed after version 5.13rc1"
+
+# CVE-2021-3542 has no known resolution
+
+CVE_STATUS[CVE-2021-3543] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-35477] = "fixed-version: Fixed after version 5.14rc4"
+
+CVE_STATUS[CVE-2021-3564] = "fixed-version: Fixed after version 5.13rc5"
+
+CVE_STATUS[CVE-2021-3573] = "fixed-version: Fixed after version 5.13rc5"
+
+CVE_STATUS[CVE-2021-3587] = "fixed-version: Fixed after version 5.13rc5"
+
+CVE_STATUS[CVE-2021-3600] = "fixed-version: Fixed after version 5.11"
+
+CVE_STATUS[CVE-2021-3609] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-3612] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-3635] = "fixed-version: Fixed after version 5.5rc7"
+
+CVE_STATUS[CVE-2021-3640] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2021-3653] = "fixed-version: Fixed after version 5.14rc7"
+
+CVE_STATUS[CVE-2021-3655] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-3656] = "fixed-version: Fixed after version 5.14rc7"
+
+CVE_STATUS[CVE-2021-3659] = "fixed-version: Fixed after version 5.12rc7"
+
+CVE_STATUS[CVE-2021-3669] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-3679] = "fixed-version: Fixed after version 5.14rc3"
+
+# CVE-2021-3714 has no known resolution
+
+CVE_STATUS[CVE-2021-3715] = "fixed-version: Fixed after version 5.6"
+
+CVE_STATUS[CVE-2021-37159] = "fixed-version: Fixed after version 5.14rc3"
+
+CVE_STATUS[CVE-2021-3732] = "fixed-version: Fixed after version 5.14rc6"
+
+CVE_STATUS[CVE-2021-3736] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-3739] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-3743] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2021-3744] = "fixed-version: Fixed after version 5.15rc4"
+
+CVE_STATUS[CVE-2021-3752] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2021-3753] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-37576] = "fixed-version: Fixed after version 5.14rc3"
+
+CVE_STATUS[CVE-2021-3759] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-3760] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2021-3764] = "fixed-version: Fixed after version 5.15rc4"
+
+CVE_STATUS[CVE-2021-3772] = "fixed-version: Fixed after version 5.15"
+
+CVE_STATUS[CVE-2021-38160] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-38166] = "fixed-version: Fixed after version 5.14rc6"
+
+CVE_STATUS[CVE-2021-38198] = "fixed-version: Fixed after version 5.13rc6"
+
+CVE_STATUS[CVE-2021-38199] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-38200] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2021-38201] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-38202] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-38203] = "fixed-version: Fixed after version 5.14rc2"
+
+CVE_STATUS[CVE-2021-38204] = "fixed-version: Fixed after version 5.14rc3"
+
+CVE_STATUS[CVE-2021-38205] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-38206] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2021-38207] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2021-38208] = "fixed-version: Fixed after version 5.13rc5"
+
+CVE_STATUS[CVE-2021-38209] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-38300] = "fixed-version: Fixed after version 5.15rc4"
+
+# CVE-2021-3847 has no known resolution
+
+# CVE-2021-3864 has no known resolution
+
+# CVE-2021-3892 has no known resolution
+
+CVE_STATUS[CVE-2021-3894] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2021-3896] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2021-3923] = "fixed-version: Fixed after version 5.16"
+
+CVE_STATUS[CVE-2021-39633] = "fixed-version: Fixed after version 5.14"
+
+CVE_STATUS[CVE-2021-39634] = "fixed-version: Fixed after version 5.9rc8"
+
+CVE_STATUS[CVE-2021-39636] = "fixed-version: Fixed after version 4.16rc1"
+
+CVE_STATUS[CVE-2021-39648] = "fixed-version: Fixed after version 5.11rc3"
+
+CVE_STATUS[CVE-2021-39656] = "fixed-version: Fixed after version 5.12rc3"
+
+CVE_STATUS[CVE-2021-39657] = "fixed-version: Fixed after version 5.11rc4"
+
+CVE_STATUS[CVE-2021-39685] = "fixed-version: Fixed after version 5.16rc5"
+
+CVE_STATUS[CVE-2021-39686] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2021-39698] = "fixed-version: Fixed after version 5.16rc5"
+
+CVE_STATUS[CVE-2021-39711] = "fixed-version: Fixed after version 4.18rc6"
+
+CVE_STATUS[CVE-2021-39713] = "fixed-version: Fixed after version 4.20rc1"
+
+CVE_STATUS[CVE-2021-39714] = "fixed-version: Fixed after version 4.12rc1"
+
+# CVE-2021-39800 has no known resolution
+
+# CVE-2021-39801 has no known resolution
+
+# CVE-2021-39802 has no known resolution
+
+CVE_STATUS[CVE-2021-4001] = "fixed-version: Fixed after version 5.16rc2"
+
+CVE_STATUS[CVE-2021-4002] = "fixed-version: Fixed after version 5.16rc3"
+
+CVE_STATUS[CVE-2021-4023] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-4028] = "fixed-version: Fixed after version 5.15rc4"
+
+CVE_STATUS[CVE-2021-4032] = "fixed-version: Fixed after version 5.15rc7"
+
+CVE_STATUS[CVE-2021-4037] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2021-40490] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-4083] = "fixed-version: Fixed after version 5.16rc4"
+
+CVE_STATUS[CVE-2021-4090] = "fixed-version: Fixed after version 5.16rc2"
+
+CVE_STATUS[CVE-2021-4093] = "fixed-version: Fixed after version 5.15rc7"
+
+CVE_STATUS[CVE-2021-4095] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2021-41073] = "fixed-version: Fixed after version 5.15rc2"
+
+CVE_STATUS[CVE-2021-4135] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2021-4148] = "fixed-version: Fixed after version 5.15"
+
+CVE_STATUS[CVE-2021-4149] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2021-4150] = "fixed-version: Fixed after version 5.15rc7"
+
+CVE_STATUS[CVE-2021-4154] = "fixed-version: Fixed after version 5.14rc2"
+
+CVE_STATUS[CVE-2021-4155] = "fixed-version: Fixed after version 5.16"
+
+CVE_STATUS[CVE-2021-4157] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-4159] = "fixed-version: Fixed after version 5.7rc1"
+
+CVE_STATUS[CVE-2021-41864] = "fixed-version: Fixed after version 5.15rc5"
+
+CVE_STATUS[CVE-2021-4197] = "fixed-version: Fixed after version 5.16"
+
+CVE_STATUS[CVE-2021-42008] = "fixed-version: Fixed after version 5.14rc7"
+
+CVE_STATUS[CVE-2021-4202] = "fixed-version: Fixed after version 5.16rc2"
+
+CVE_STATUS[CVE-2021-4203] = "fixed-version: Fixed after version 5.15rc4"
+
+CVE_STATUS[CVE-2021-4204] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2021-4218] = "fixed-version: Fixed after version 5.8rc1"
+
+CVE_STATUS[CVE-2021-42252] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2021-42327] = "fixed-version: Fixed after version 5.15"
+
+CVE_STATUS[CVE-2021-42739] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2021-43056] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2021-43057] = "fixed-version: Fixed after version 5.15rc3"
+
+CVE_STATUS[CVE-2021-43267] = "fixed-version: Fixed after version 5.15"
+
+CVE_STATUS[CVE-2021-43389] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2021-43975] = "fixed-version: Fixed after version 5.16rc2"
+
+CVE_STATUS[CVE-2021-43976] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2021-44733] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-44879] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2021-45095] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2021-45100] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2021-45402] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2021-45469] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2021-45480] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2021-45485] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2021-45486] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2021-45868] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2021-46283] = "fixed-version: Fixed after version 5.13rc7"
+
+CVE_STATUS[CVE-2022-0001] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-0002] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-0168] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-0171] = "fixed-version: Fixed after version 5.18rc4"
+
+CVE_STATUS[CVE-2022-0185] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-0264] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2022-0286] = "fixed-version: Fixed after version 5.14rc2"
+
+CVE_STATUS[CVE-2022-0322] = "fixed-version: Fixed after version 5.15rc6"
+
+CVE_STATUS[CVE-2022-0330] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-0382] = "fixed-version: Fixed after version 5.16"
+
+# CVE-2022-0400 has no known resolution
+
+CVE_STATUS[CVE-2022-0433] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-0435] = "fixed-version: Fixed after version 5.17rc4"
+
+CVE_STATUS[CVE-2022-0480] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2022-0487] = "fixed-version: Fixed after version 5.17rc4"
+
+CVE_STATUS[CVE-2022-0492] = "fixed-version: Fixed after version 5.17rc3"
+
+CVE_STATUS[CVE-2022-0494] = "fixed-version: Fixed after version 5.17rc5"
+
+CVE_STATUS[CVE-2022-0500] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-0516] = "fixed-version: Fixed after version 5.17rc4"
+
+CVE_STATUS[CVE-2022-0617] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-0644] = "fixed-version: Fixed after version 5.15rc7"
+
+CVE_STATUS[CVE-2022-0646] = "fixed-version: Fixed after version 5.17rc5"
+
+CVE_STATUS[CVE-2022-0742] = "fixed-version: Fixed after version 5.17rc7"
+
+CVE_STATUS[CVE-2022-0812] = "fixed-version: Fixed after version 5.8rc6"
+
+CVE_STATUS[CVE-2022-0847] = "fixed-version: Fixed after version 5.17rc6"
+
+CVE_STATUS[CVE-2022-0850] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2022-0854] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-0995] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-0998] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-1011] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-1012] = "fixed-version: Fixed after version 5.18rc6"
+
+CVE_STATUS[CVE-2022-1015] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1016] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1043] = "fixed-version: Fixed after version 5.14rc7"
+
+CVE_STATUS[CVE-2022-1048] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1055] = "fixed-version: Fixed after version 5.17rc3"
+
+# CVE-2022-1116 has no known resolution
+
+CVE_STATUS[CVE-2022-1158] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1184] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-1195] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2022-1198] = "fixed-version: Fixed after version 5.17rc6"
+
+CVE_STATUS[CVE-2022-1199] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-1204] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1205] = "fixed-version: Fixed after version 5.18rc1"
+
+# CVE-2022-1247 has no known resolution
+
+CVE_STATUS[CVE-2022-1263] = "fixed-version: Fixed after version 5.18rc3"
+
+CVE_STATUS[CVE-2022-1280] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2022-1353] = "fixed-version: Fixed after version 5.17"
+
+CVE_STATUS[CVE-2022-1419] = "fixed-version: Fixed after version 5.6rc2"
+
+CVE_STATUS[CVE-2022-1462] = "fixed-version: Fixed after version 5.19rc7"
+
+CVE_STATUS[CVE-2022-1508] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2022-1516] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1651] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1652] = "fixed-version: Fixed after version 5.18rc6"
+
+CVE_STATUS[CVE-2022-1671] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-1678] = "fixed-version: Fixed after version 4.20rc1"
+
+CVE_STATUS[CVE-2022-1679] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-1729] = "fixed-version: Fixed after version 5.18"
+
+CVE_STATUS[CVE-2022-1734] = "fixed-version: Fixed after version 5.18rc6"
+
+CVE_STATUS[CVE-2022-1786] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2022-1789] = "fixed-version: Fixed after version 5.18"
+
+CVE_STATUS[CVE-2022-1836] = "fixed-version: Fixed after version 5.18rc5"
+
+CVE_STATUS[CVE-2022-1852] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-1882] = "fixed-version: Fixed after version 5.19rc8"
+
+CVE_STATUS[CVE-2022-1943] = "fixed-version: Fixed after version 5.18rc7"
+
+CVE_STATUS[CVE-2022-1966] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-1972] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-1973] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-1974] = "fixed-version: Fixed after version 5.18rc6"
+
+CVE_STATUS[CVE-2022-1975] = "fixed-version: Fixed after version 5.18rc6"
+
+CVE_STATUS[CVE-2022-1976] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-1998] = "fixed-version: Fixed after version 5.17rc3"
+
+CVE_STATUS[CVE-2022-20008] = "fixed-version: Fixed after version 5.17rc5"
+
+CVE_STATUS[CVE-2022-20132] = "fixed-version: Fixed after version 5.16rc5"
+
+CVE_STATUS[CVE-2022-20141] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2022-20148] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2022-20153] = "fixed-version: Fixed after version 5.13rc1"
+
+CVE_STATUS[CVE-2022-20154] = "fixed-version: Fixed after version 5.16rc8"
+
+CVE_STATUS[CVE-2022-20158] = "fixed-version: Fixed after version 5.17"
+
+CVE_STATUS[CVE-2022-20166] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2022-20368] = "fixed-version: Fixed after version 5.17"
+
+CVE_STATUS[CVE-2022-20369] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-20409] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2022-20421] = "fixed-version: Fixed after version 6.0rc4"
+
+CVE_STATUS[CVE-2022-20422] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-20423] = "fixed-version: Fixed after version 5.17"
+
+CVE_STATUS[CVE-2022-20424] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2022-20565] = "fixed-version: Fixed after version 5.9rc4"
+
+CVE_STATUS[CVE-2022-20566] = "fixed-version: Fixed after version 5.19"
+
+CVE_STATUS[CVE-2022-20567] = "fixed-version: Fixed after version 4.16rc5"
+
+CVE_STATUS[CVE-2022-20568] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2022-20572] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-2078] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-21123] = "fixed-version: Fixed after version 5.19rc3"
+
+CVE_STATUS[CVE-2022-21125] = "fixed-version: Fixed after version 5.19rc3"
+
+CVE_STATUS[CVE-2022-21166] = "fixed-version: Fixed after version 5.19rc3"
+
+CVE_STATUS[CVE-2022-21385] = "fixed-version: Fixed after version 4.20"
+
+CVE_STATUS[CVE-2022-21499] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-21505] = "fixed-version: Fixed after version 5.19rc8"
+
+CVE_STATUS[CVE-2022-2153] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-2196] = "fixed-version: Fixed after version 6.2rc1"
+
+# CVE-2022-2209 has no known resolution
+
+CVE_STATUS[CVE-2022-22942] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-23036] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-23037] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-23038] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-23039] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-23040] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-23041] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-23042] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-2308] = "fixed-version: Fixed after version 6.0"
+
+CVE_STATUS[CVE-2022-2318] = "fixed-version: Fixed after version 5.19rc5"
+
+CVE_STATUS[CVE-2022-23222] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-2327] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2022-2380] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-23816] = "fixed-version: Fixed after version 5.19rc7"
+
+# CVE-2022-23825 has no known resolution
+
+CVE_STATUS[CVE-2022-23960] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-24122] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-24448] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-24958] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-24959] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-2503] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-25258] = "fixed-version: Fixed after version 5.17rc4"
+
+# CVE-2022-25265 has no known resolution
+
+CVE_STATUS[CVE-2022-25375] = "fixed-version: Fixed after version 5.17rc4"
+
+CVE_STATUS[CVE-2022-25636] = "fixed-version: Fixed after version 5.17rc6"
+
+CVE_STATUS[CVE-2022-2585] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-2586] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-2588] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-2590] = "fixed-version: Fixed after version 6.0rc3"
+
+CVE_STATUS[CVE-2022-2602] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-26365] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-26373] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-2639] = "fixed-version: Fixed after version 5.18rc4"
+
+CVE_STATUS[CVE-2022-26490] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-2663] = "fixed-version: Fixed after version 6.0rc5"
+
+# CVE-2022-26878 has no known resolution
+
+CVE_STATUS[CVE-2022-26966] = "fixed-version: Fixed after version 5.17rc6"
+
+CVE_STATUS[CVE-2022-27223] = "fixed-version: Fixed after version 5.17rc6"
+
+CVE_STATUS[CVE-2022-27666] = "fixed-version: Fixed after version 5.17rc8"
+
+CVE_STATUS[CVE-2022-27672] = "fixed-version: Fixed after version 6.2"
+
+CVE_STATUS[CVE-2022-2785] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-27950] = "fixed-version: Fixed after version 5.17rc5"
+
+CVE_STATUS[CVE-2022-28356] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-28388] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-28389] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-28390] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-2873] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-28796] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-28893] = "fixed-version: Fixed after version 5.18rc2"
+
+CVE_STATUS[CVE-2022-2905] = "fixed-version: Fixed after version 6.0rc4"
+
+CVE_STATUS[CVE-2022-29156] = "fixed-version: Fixed after version 5.17rc6"
+
+CVE_STATUS[CVE-2022-2938] = "fixed-version: Fixed after version 5.17rc2"
+
+CVE_STATUS[CVE-2022-29581] = "fixed-version: Fixed after version 5.18rc4"
+
+CVE_STATUS[CVE-2022-29582] = "fixed-version: Fixed after version 5.18rc2"
+
+CVE_STATUS[CVE-2022-2959] = "fixed-version: Fixed after version 5.19rc1"
+
+# CVE-2022-2961 has no known resolution
+
+CVE_STATUS[CVE-2022-2964] = "fixed-version: Fixed after version 5.17rc4"
+
+CVE_STATUS[CVE-2022-2977] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-2978] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-29900] = "fixed-version: Fixed after version 5.19rc7"
+
+CVE_STATUS[CVE-2022-29901] = "fixed-version: Fixed after version 5.19rc7"
+
+CVE_STATUS[CVE-2022-2991] = "fixed-version: Fixed after version 5.15rc1"
+
+CVE_STATUS[CVE-2022-29968] = "fixed-version: Fixed after version 5.18rc5"
+
+CVE_STATUS[CVE-2022-3028] = "fixed-version: Fixed after version 6.0rc3"
+
+CVE_STATUS[CVE-2022-30594] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-3061] = "fixed-version: Fixed after version 5.18rc5"
+
+CVE_STATUS[CVE-2022-3077] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3078] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-3103] = "fixed-version: Fixed after version 6.0rc3"
+
+CVE_STATUS[CVE-2022-3104] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3105] = "fixed-version: Fixed after version 5.16"
+
+CVE_STATUS[CVE-2022-3106] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2022-3107] = "fixed-version: Fixed after version 5.17"
+
+CVE_STATUS[CVE-2022-3108] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-3110] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3111] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-3112] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-3113] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-3114] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3115] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3169] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3170] = "fixed-version: Fixed after version 6.0rc4"
+
+CVE_STATUS[CVE-2022-3176] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2022-3202] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-32250] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-32296] = "fixed-version: Fixed after version 5.18rc6"
+
+# CVE-2022-3238 has no known resolution
+
+CVE_STATUS[CVE-2022-3239] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2022-32981] = "fixed-version: Fixed after version 5.19rc2"
+
+CVE_STATUS[CVE-2022-3303] = "fixed-version: Fixed after version 6.0rc5"
+
+CVE_STATUS[CVE-2022-3344] = "fixed-version: Fixed after version 6.1rc7"
+
+CVE_STATUS[CVE-2022-33740] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-33741] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-33742] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-33743] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-33744] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-33981] = "fixed-version: Fixed after version 5.18rc5"
+
+CVE_STATUS[CVE-2022-3424] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2022-3435] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-34494] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-34495] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-34918] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-3521] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3522] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3523] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3524] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3526] = "fixed-version: Fixed after version 5.18rc3"
+
+CVE_STATUS[CVE-2022-3531] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2022-3532] = "fixed-version: Fixed after version 6.2rc1"
+
+# CVE-2022-3533 has no known resolution
+
+CVE_STATUS[CVE-2022-3534] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2022-3535] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3541] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3542] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3543] = "fixed-version: Fixed after version 6.1rc1"
+
+# CVE-2022-3544 has no known resolution
+
+CVE_STATUS[CVE-2022-3545] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3564] = "fixed-version: Fixed after version 6.1rc4"
+
+CVE_STATUS[CVE-2022-3565] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3566] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3567] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3577] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3586] = "fixed-version: Fixed after version 6.0rc5"
+
+CVE_STATUS[CVE-2022-3594] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3595] = "fixed-version: Fixed after version 6.1rc1"
+
+# CVE-2022-3606 has no known resolution
+
+CVE_STATUS[CVE-2022-36123] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-3619] = "fixed-version: Fixed after version 6.1rc4"
+
+CVE_STATUS[CVE-2022-3621] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3623] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3624] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3625] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3628] = "fixed-version: Fixed after version 6.1rc5"
+
+CVE_STATUS[CVE-2022-36280] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2022-3629] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3630] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3633] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3635] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-3636] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-3640] = "fixed-version: Fixed after version 6.1rc4"
+
+# CVE-2022-36402 has no known resolution
+
+# CVE-2022-3642 has no known resolution
+
+CVE_STATUS[CVE-2022-3643] = "fixed-version: Fixed after version 6.1"
+
+CVE_STATUS[CVE-2022-3646] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-3649] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-36879] = "fixed-version: Fixed after version 5.19rc8"
+
+CVE_STATUS[CVE-2022-36946] = "fixed-version: Fixed after version 5.19"
+
+CVE_STATUS[CVE-2022-3707] = "fixed-version: Fixed after version 6.2rc3"
+
+# CVE-2022-38096 has no known resolution
+
+CVE_STATUS[CVE-2022-38457] = "fixed-version: Fixed after version 6.2rc4"
+
+CVE_STATUS[CVE-2022-3903] = "fixed-version: Fixed after version 6.1rc2"
+
+CVE_STATUS[CVE-2022-3910] = "fixed-version: Fixed after version 6.0rc6"
+
+CVE_STATUS[CVE-2022-39188] = "fixed-version: Fixed after version 5.19rc8"
+
+CVE_STATUS[CVE-2022-39189] = "fixed-version: Fixed after version 5.19rc2"
+
+CVE_STATUS[CVE-2022-39190] = "fixed-version: Fixed after version 6.0rc3"
+
+CVE_STATUS[CVE-2022-3977] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-39842] = "fixed-version: Fixed after version 5.19rc4"
+
+CVE_STATUS[CVE-2022-40133] = "fixed-version: Fixed after version 6.2rc4"
+
+CVE_STATUS[CVE-2022-40307] = "fixed-version: Fixed after version 6.0rc5"
+
+CVE_STATUS[CVE-2022-40476] = "fixed-version: Fixed after version 5.19rc4"
+
+CVE_STATUS[CVE-2022-40768] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-4095] = "fixed-version: Fixed after version 6.0rc4"
+
+CVE_STATUS[CVE-2022-41218] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2022-41222] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2022-4127] = "fixed-version: Fixed after version 5.19rc6"
+
+CVE_STATUS[CVE-2022-4128] = "fixed-version: Fixed after version 5.19rc7"
+
+CVE_STATUS[CVE-2022-4129] = "fixed-version: Fixed after version 6.1rc6"
+
+CVE_STATUS[CVE-2022-4139] = "fixed-version: Fixed after version 6.1rc8"
+
+CVE_STATUS[CVE-2022-41674] = "fixed-version: Fixed after version 6.1rc1"
+
+# CVE-2022-41848 has no known resolution
+
+CVE_STATUS[CVE-2022-41849] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-41850] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-41858] = "fixed-version: Fixed after version 5.18rc2"
+
+CVE_STATUS[CVE-2022-42328] = "fixed-version: Fixed after version 6.1"
+
+CVE_STATUS[CVE-2022-42329] = "fixed-version: Fixed after version 6.1"
+
+CVE_STATUS[CVE-2022-42432] = "fixed-version: Fixed after version 6.0rc7"
+
+CVE_STATUS[CVE-2022-4269] = "fixed-version: Fixed after version 6.3rc1"
+
+CVE_STATUS[CVE-2022-42703] = "fixed-version: Fixed after version 6.0rc4"
+
+CVE_STATUS[CVE-2022-42719] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-42720] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-42721] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-42722] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-42895] = "fixed-version: Fixed after version 6.1rc4"
+
+CVE_STATUS[CVE-2022-42896] = "fixed-version: Fixed after version 6.1rc4"
+
+CVE_STATUS[CVE-2022-43750] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2022-4378] = "fixed-version: Fixed after version 6.1"
+
+CVE_STATUS[CVE-2022-4379] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2022-4382] = "fixed-version: Fixed after version 6.2rc5"
+
+CVE_STATUS[CVE-2022-43945] = "fixed-version: Fixed after version 6.1rc1"
+
+# CVE-2022-44032 has no known resolution
+
+# CVE-2022-44033 has no known resolution
+
+# CVE-2022-44034 has no known resolution
+
+# CVE-2022-4543 has no known resolution
+
+CVE_STATUS[CVE-2022-45869] = "fixed-version: Fixed after version 6.1rc7"
+
+# CVE-2022-45884 has no known resolution
+
+# CVE-2022-45885 has no known resolution
+
+# CVE-2022-45886 has no known resolution
+
+# CVE-2022-45887 has no known resolution
+
+CVE_STATUS[CVE-2022-45888] = "fixed-version: Fixed after version 6.2rc1"
+
+# CVE-2022-45919 has no known resolution
+
+CVE_STATUS[CVE-2022-45934] = "fixed-version: Fixed after version 6.1"
+
+CVE_STATUS[CVE-2022-4662] = "fixed-version: Fixed after version 6.0rc4"
+
+CVE_STATUS[CVE-2022-4696] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2022-4744] = "fixed-version: Fixed after version 5.16rc7"
+
+CVE_STATUS[CVE-2022-47518] = "fixed-version: Fixed after version 6.1rc8"
+
+CVE_STATUS[CVE-2022-47519] = "fixed-version: Fixed after version 6.1rc8"
+
+CVE_STATUS[CVE-2022-47520] = "fixed-version: Fixed after version 6.1rc8"
+
+CVE_STATUS[CVE-2022-47521] = "fixed-version: Fixed after version 6.1rc8"
+
+CVE_STATUS[CVE-2022-47929] = "fixed-version: Fixed after version 6.2rc4"
+
+CVE_STATUS[CVE-2022-47938] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-47939] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-47940] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2022-47941] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-47942] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-47943] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2022-47946] = "fixed-version: Fixed after version 5.12rc2"
+
+CVE_STATUS[CVE-2022-4842] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2022-48423] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2022-48424] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2022-48425] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2022-48502] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2023-0030] = "fixed-version: Fixed after version 5.0rc1"
+
+CVE_STATUS[CVE-2023-0045] = "fixed-version: Fixed after version 6.2rc3"
+
+CVE_STATUS[CVE-2023-0047] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2023-0122] = "fixed-version: Fixed after version 6.0rc4"
+
+# CVE-2023-0160 has no known resolution
+
+CVE_STATUS[CVE-2023-0179] = "fixed-version: Fixed after version 6.2rc5"
+
+CVE_STATUS[CVE-2023-0210] = "fixed-version: Fixed after version 6.2rc4"
+
+CVE_STATUS[CVE-2023-0240] = "fixed-version: Fixed after version 5.10rc1"
+
+CVE_STATUS[CVE-2023-0266] = "fixed-version: Fixed after version 6.2rc4"
+
+CVE_STATUS[CVE-2023-0386] = "fixed-version: Fixed after version 6.2rc6"
+
+CVE_STATUS[CVE-2023-0394] = "fixed-version: Fixed after version 6.2rc4"
+
+CVE_STATUS[CVE-2023-0458] = "fixed-version: Fixed after version 6.2rc5"
+
+CVE_STATUS[CVE-2023-0459] = "fixed-version: Fixed after version 6.3rc1"
+
+CVE_STATUS[CVE-2023-0461] = "fixed-version: Fixed after version 6.2rc3"
+
+CVE_STATUS[CVE-2023-0468] = "fixed-version: Fixed after version 6.1rc7"
+
+CVE_STATUS[CVE-2023-0469] = "fixed-version: Fixed after version 6.1rc7"
+
+CVE_STATUS[CVE-2023-0590] = "fixed-version: Fixed after version 6.1rc2"
+
+CVE_STATUS[CVE-2023-0597] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2023-0615] = "fixed-version: Fixed after version 6.1rc3"
+
+CVE_STATUS[CVE-2023-1032] = "fixed-version: Fixed after version 6.3rc2"
+
+CVE_STATUS[CVE-2023-1073] = "fixed-version: Fixed after version 6.2rc5"
+
+CVE_STATUS[CVE-2023-1074] = "fixed-version: Fixed after version 6.2rc6"
+
+CVE_STATUS[CVE-2023-1075] = "fixed-version: Fixed after version 6.2rc7"
+
+CVE_STATUS[CVE-2023-1076] = "fixed-version: Fixed after version 6.3rc1"
+
+CVE_STATUS[CVE-2023-1077] = "fixed-version: Fixed after version 6.3rc1"
+
+CVE_STATUS[CVE-2023-1078] = "fixed-version: Fixed after version 6.2rc8"
+
+CVE_STATUS[CVE-2023-1079] = "fixed-version: Fixed after version 6.3rc1"
+
+CVE_STATUS[CVE-2023-1095] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2023-1118] = "fixed-version: Fixed after version 6.3rc1"
+
+CVE_STATUS[CVE-2023-1192] = "fixed-version: Fixed after version 6.4rc1"
+
+# CVE-2023-1193 has no known resolution
+
+# CVE-2023-1194 has no known resolution
+
+CVE_STATUS[CVE-2023-1195] = "fixed-version: Fixed after version 6.1rc3"
+
+# CVE-2023-1206 has no known resolution
+
+CVE_STATUS[CVE-2023-1249] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2023-1252] = "fixed-version: Fixed after version 5.16rc1"
+
+CVE_STATUS[CVE-2023-1281] = "fixed-version: Fixed after version 6.2"
+
+CVE_STATUS[CVE-2023-1295] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2023-1380] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-1382] = "fixed-version: Fixed after version 6.1rc7"
+
+CVE_STATUS[CVE-2023-1390] = "fixed-version: Fixed after version 5.11rc4"
+
+CVE_STATUS[CVE-2023-1513] = "fixed-version: Fixed after version 6.2"
+
+CVE_STATUS[CVE-2023-1582] = "fixed-version: Fixed after version 5.17rc4"
+
+CVE_STATUS[CVE-2023-1583] = "fixed-version: Fixed after version 6.3rc4"
+
+CVE_STATUS[CVE-2023-1611] = "fixed-version: Fixed after version 6.3rc5"
+
+CVE_STATUS[CVE-2023-1637] = "fixed-version: Fixed after version 5.18rc2"
+
+CVE_STATUS[CVE-2023-1652] = "fixed-version: Fixed after version 6.2rc5"
+
+CVE_STATUS[CVE-2023-1670] = "fixed-version: Fixed after version 6.3rc4"
+
+CVE_STATUS[CVE-2023-1829] = "fixed-version: Fixed after version 6.3rc1"
+
+CVE_STATUS[CVE-2023-1838] = "fixed-version: Fixed after version 5.18"
+
+CVE_STATUS[CVE-2023-1855] = "fixed-version: Fixed after version 6.3rc3"
+
+CVE_STATUS[CVE-2023-1859] = "fixed-version: Fixed after version 6.3rc7"
+
+CVE_STATUS[CVE-2023-1872] = "fixed-version: Fixed after version 5.18rc2"
+
+CVE_STATUS[CVE-2023-1989] = "fixed-version: Fixed after version 6.3rc4"
+
+CVE_STATUS[CVE-2023-1990] = "fixed-version: Fixed after version 6.3rc3"
+
+CVE_STATUS[CVE-2023-1998] = "fixed-version: Fixed after version 6.3rc1"
+
+CVE_STATUS[CVE-2023-2002] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-2006] = "fixed-version: Fixed after version 6.1rc7"
+
+CVE_STATUS[CVE-2023-2007] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2023-2008] = "fixed-version: Fixed after version 5.19rc4"
+
+CVE_STATUS[CVE-2023-2019] = "fixed-version: Fixed after version 6.0rc1"
+
+# CVE-2023-20593 has no known resolution
+
+CVE_STATUS[CVE-2023-20928] = "fixed-version: Fixed after version 6.0rc1"
+
+# CVE-2023-20937 has no known resolution
+
+CVE_STATUS[CVE-2023-20938] = "fixed-version: Fixed after version 5.18rc5"
+
+# CVE-2023-20941 has no known resolution
+
+CVE_STATUS[CVE-2023-21102] = "fixed-version: Fixed after version 6.2rc4"
+
+CVE_STATUS[CVE-2023-21106] = "fixed-version: Fixed after version 6.2rc5"
+
+CVE_STATUS[CVE-2023-2124] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-21255] = "fixed-version: Fixed after version 6.4rc4"
+
+CVE_STATUS[CVE-2023-2156] = "fixed-version: Fixed after version 6.3"
+
+CVE_STATUS[CVE-2023-2162] = "fixed-version: Fixed after version 6.2rc6"
+
+CVE_STATUS[CVE-2023-2163] = "fixed-version: Fixed after version 6.3"
+
+CVE_STATUS[CVE-2023-2166] = "fixed-version: Fixed after version 6.1"
+
+CVE_STATUS[CVE-2023-2176] = "fixed-version: Fixed after version 6.3rc1"
+
+CVE_STATUS[CVE-2023-2177] = "fixed-version: Fixed after version 5.19"
+
+CVE_STATUS[CVE-2023-2194] = "fixed-version: Fixed after version 6.3rc4"
+
+CVE_STATUS[CVE-2023-2235] = "fixed-version: Fixed after version 6.3rc3"
+
+CVE_STATUS[CVE-2023-2236] = "fixed-version: Fixed after version 6.1rc7"
+
+CVE_STATUS[CVE-2023-2248] = "fixed-version: Fixed after version 6.3"
+
+CVE_STATUS[CVE-2023-2269] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-22995] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2023-22996] = "fixed-version: Fixed after version 5.18rc1"
+
+CVE_STATUS[CVE-2023-22997] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2023-22998] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2023-22999] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2023-23000] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2023-23001] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2023-23002] = "fixed-version: Fixed after version 5.17rc1"
+
+CVE_STATUS[CVE-2023-23003] = "fixed-version: Fixed after version 5.16rc6"
+
+CVE_STATUS[CVE-2023-23004] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2023-23005] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2023-23006] = "fixed-version: Fixed after version 5.16rc8"
+
+# CVE-2023-23039 has no known resolution
+
+CVE_STATUS[CVE-2023-23454] = "fixed-version: Fixed after version 6.2rc3"
+
+CVE_STATUS[CVE-2023-23455] = "fixed-version: Fixed after version 6.2rc3"
+
+CVE_STATUS[CVE-2023-23559] = "fixed-version: Fixed after version 6.2rc5"
+
+CVE_STATUS[CVE-2023-23586] = "fixed-version: Fixed after version 5.12rc1"
+
+CVE_STATUS[CVE-2023-2430] = "fixed-version: Fixed after version 6.2rc5"
+
+CVE_STATUS[CVE-2023-2483] = "fixed-version: Fixed after version 6.3rc4"
+
+CVE_STATUS[CVE-2023-25012] = "fixed-version: Fixed after version 6.3rc1"
+
+CVE_STATUS[CVE-2023-2513] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2023-2598] = "fixed-version: Fixed after version 6.4rc1"
+
+# CVE-2023-26242 has no known resolution
+
+CVE_STATUS[CVE-2023-26544] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2023-26545] = "fixed-version: Fixed after version 6.2"
+
+CVE_STATUS[CVE-2023-26605] = "fixed-version: Fixed after version 6.1rc7"
+
+CVE_STATUS[CVE-2023-26606] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2023-26607] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2023-28327] = "fixed-version: Fixed after version 6.1"
+
+CVE_STATUS[CVE-2023-28328] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2023-28410] = "fixed-version: Fixed after version 5.19rc1"
+
+CVE_STATUS[CVE-2023-28464] = "fixed-version: Fixed after version 6.3rc7"
+
+CVE_STATUS[CVE-2023-28466] = "fixed-version: Fixed after version 6.3rc2"
+
+CVE_STATUS[CVE-2023-2860] = "fixed-version: Fixed after version 6.0rc5"
+
+CVE_STATUS[CVE-2023-28772] = "fixed-version: Fixed after version 5.14rc1"
+
+CVE_STATUS[CVE-2023-28866] = "fixed-version: Fixed after version 6.3rc4"
+
+CVE_STATUS[CVE-2023-2898] = "cpe-stable-backport: Backported in 6.4.4"
+
+CVE_STATUS[CVE-2023-2985] = "fixed-version: Fixed after version 6.3rc1"
+
+CVE_STATUS[CVE-2023-3006] = "fixed-version: Fixed after version 6.1rc1"
+
+# Skipping CVE-2023-3022, no affected_versions
+
+CVE_STATUS[CVE-2023-30456] = "fixed-version: Fixed after version 6.3rc3"
+
+CVE_STATUS[CVE-2023-30772] = "fixed-version: Fixed after version 6.3rc4"
+
+CVE_STATUS[CVE-2023-3090] = "fixed-version: Fixed after version 6.4rc2"
+
+CVE_STATUS[CVE-2023-3106] = "fixed-version: Fixed after version 4.8rc7"
+
+# Skipping CVE-2023-3108, no affected_versions
+
+# CVE-2023-31081 has no known resolution
+
+# CVE-2023-31082 has no known resolution
+
+# CVE-2023-31083 has no known resolution
+
+CVE_STATUS[CVE-2023-31084] = "fixed-version: Fixed after version 6.4rc3"
+
+# CVE-2023-31085 has no known resolution
+
+CVE_STATUS[CVE-2023-3111] = "fixed-version: Fixed after version 6.0rc2"
+
+CVE_STATUS[CVE-2023-3117] = "fixed-version: Fixed after version 6.4rc7"
+
+CVE_STATUS[CVE-2023-31248] = "cpe-stable-backport: Backported in 6.4.4"
+
+CVE_STATUS[CVE-2023-3141] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-31436] = "fixed-version: Fixed after version 6.3"
+
+CVE_STATUS[CVE-2023-3159] = "fixed-version: Fixed after version 5.18rc6"
+
+CVE_STATUS[CVE-2023-3161] = "fixed-version: Fixed after version 6.2rc7"
+
+CVE_STATUS[CVE-2023-3212] = "fixed-version: Fixed after version 6.4rc2"
+
+CVE_STATUS[CVE-2023-3220] = "fixed-version: Fixed after version 6.3rc1"
+
+CVE_STATUS[CVE-2023-32233] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-32247] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-32248] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-32250] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-32252] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-32254] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-32257] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-32258] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-32269] = "fixed-version: Fixed after version 6.2rc7"
+
+CVE_STATUS[CVE-2023-3268] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-3269] = "cpe-stable-backport: Backported in 6.4.1"
+
+CVE_STATUS[CVE-2023-3312] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-3317] = "fixed-version: Fixed after version 6.3rc6"
+
+CVE_STATUS[CVE-2023-33203] = "fixed-version: Fixed after version 6.3rc4"
+
+# CVE-2023-33250 has no known resolution
+
+CVE_STATUS[CVE-2023-33288] = "fixed-version: Fixed after version 6.3rc4"
+
+CVE_STATUS[CVE-2023-3338] = "fixed-version: Fixed after version 6.1rc1"
+
+CVE_STATUS[CVE-2023-3355] = "fixed-version: Fixed after version 6.3rc1"
+
+CVE_STATUS[CVE-2023-3357] = "fixed-version: Fixed after version 6.2rc1"
+
+CVE_STATUS[CVE-2023-3358] = "fixed-version: Fixed after version 6.2rc5"
+
+CVE_STATUS[CVE-2023-3359] = "fixed-version: Fixed after version 6.2rc7"
+
+CVE_STATUS[CVE-2023-3389] = "fixed-version: Fixed after version 6.0rc1"
+
+CVE_STATUS[CVE-2023-3390] = "fixed-version: Fixed after version 6.4rc7"
+
+CVE_STATUS[CVE-2023-33951] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-33952] = "fixed-version: Fixed after version 6.4rc1"
+
+# CVE-2023-3397 has no known resolution
+
+CVE_STATUS[CVE-2023-34255] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-34256] = "fixed-version: Fixed after version 6.4rc2"
+
+CVE_STATUS[CVE-2023-3439] = "fixed-version: Fixed after version 5.18rc5"
+
+CVE_STATUS[CVE-2023-35001] = "cpe-stable-backport: Backported in 6.4.4"
+
+CVE_STATUS[CVE-2023-3567] = "fixed-version: Fixed after version 6.2rc7"
+
+# CVE-2023-35693 has no known resolution
+
+CVE_STATUS[CVE-2023-35788] = "fixed-version: Fixed after version 6.4rc5"
+
+CVE_STATUS[CVE-2023-35823] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-35824] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-35826] = "fixed-version: Fixed after version 6.4rc1"
+
+# CVE-2023-35827 has no known resolution
+
+CVE_STATUS[CVE-2023-35828] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-35829] = "fixed-version: Fixed after version 6.4rc1"
+
+CVE_STATUS[CVE-2023-3609] = "fixed-version: Fixed after version 6.4rc7"
+
+CVE_STATUS[CVE-2023-3610] = "fixed-version: Fixed after version 6.4"
+
+CVE_STATUS[CVE-2023-3611] = "cpe-stable-backport: Backported in 6.4.5"
+
+# CVE-2023-3640 has no known resolution
+
+# CVE-2023-37453 has no known resolution
+
+# CVE-2023-37454 has no known resolution
+
+# CVE-2023-3772 has no known resolution
+
+# CVE-2023-3773 has no known resolution
+
+CVE_STATUS[CVE-2023-3776] = "cpe-stable-backport: Backported in 6.4.5"
+
+CVE_STATUS[CVE-2023-3812] = "fixed-version: Fixed after version 6.1rc4"
+
+CVE_STATUS[CVE-2023-38409] = "fixed-version: Fixed after version 6.3rc7"
+
+CVE_STATUS[CVE-2023-38426] = "fixed-version: Fixed after version 6.4rc3"
+
+CVE_STATUS[CVE-2023-38427] = "fixed-version: Fixed after version 6.4rc6"
+
+CVE_STATUS[CVE-2023-38428] = "fixed-version: Fixed after version 6.4rc3"
+
+CVE_STATUS[CVE-2023-38429] = "fixed-version: Fixed after version 6.4rc3"
+
+CVE_STATUS[CVE-2023-38430] = "fixed-version: Fixed after version 6.4rc6"
+
+CVE_STATUS[CVE-2023-38431] = "fixed-version: Fixed after version 6.4rc6"
+
+CVE_STATUS[CVE-2023-38432] = "fixed-version: Fixed after version 6.4"
+
+CVE_STATUS[CVE-2023-3863] = "cpe-stable-backport: Backported in 6.4.4"
+
diff --git a/poky/meta/recipes-kernel/linux/generate-cve-exclusions.py b/poky/meta/recipes-kernel/linux/generate-cve-exclusions.py
new file mode 100755
index 0000000..4d96f19
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/generate-cve-exclusions.py
@@ -0,0 +1,89 @@
+#! /usr/bin/env python3
+
+# Generate granular CVE status metadata for a specific version of the kernel
+# using data from linuxkernelcves.com.
+#
+# SPDX-License-Identifier: GPL-2.0-only
+
+import argparse
+import datetime
+import json
+import pathlib
+import re
+
+from packaging.version import Version
+
+
+def parse_version(s):
+    """
+    Parse the version string and either return a packaging.version.Version, or
+    None if the string was unset or "unk".
+    """
+    if s and s != "unk":
+        # packaging.version.Version doesn't approve of versions like v5.12-rc1-dontuse
+        s = s.replace("-dontuse", "")
+        return Version(s)
+    return None
+
+
+def main(argp=None):
+    parser = argparse.ArgumentParser()
+    parser.add_argument("datadir", type=pathlib.Path, help="Path to a clone of https://github.com/nluedtke/linux_kernel_cves")
+    parser.add_argument("version", type=Version, help="Kernel version number to generate data for, such as 6.1.38")
+
+    args = parser.parse_args(argp)
+    datadir = args.datadir
+    version = args.version
+    base_version = f"{version.major}.{version.minor}"
+
+    with open(datadir / "data" / "kernel_cves.json", "r") as f:
+        cve_data = json.load(f)
+
+    with open(datadir / "data" / "stream_fixes.json", "r") as f:
+        stream_data = json.load(f)
+
+    print("# Auto-generated CVE metadata, DO NOT EDIT BY HAND.")
+    print(f"# Generated at {datetime.datetime.now()} for version {version}")
+    print()
+
+    for cve, data in cve_data.items():
+        if "affected_versions" not in data:
+            print(f"# Skipping {cve}, no affected_versions")
+            print()
+            continue
+
+        affected = data["affected_versions"]
+        first_affected, last_affected = re.search(r"(.+) to (.+)", affected).groups()
+        first_affected = parse_version(first_affected)
+        last_affected = parse_version(last_affected)
+
+        if not last_affected:
+            print(f"# {cve} has no known resolution")
+        elif first_affected and version < first_affected:
+            print(f'CVE_STATUS[{cve}] = "fixed-version: only affects {first_affected} onwards"')
+        elif last_affected < version:
+            print(
+                f'CVE_STATUS[{cve}] = "fixed-version: Fixed after version {last_affected}"'
+            )
+        else:
+            if cve in stream_data:
+                backport_data = stream_data[cve]
+                if base_version in backport_data:
+                    backport_ver = Version(backport_data[base_version]["fixed_version"])
+                    if backport_ver < version:
+                        print(
+                            f'CVE_STATUS[{cve}] = "cpe-stable-backport: Backported in {backport_ver}"'
+                        )
+                    else:
+                        # TODO print a note that the kernel needs bumping
+                        print(f"# {cve} needs backporting (fixed from {backport_ver})")
+                else:
+                    print(f"# {cve} needs backporting (fixed from {last_affected})")
+            else:
+                print(f"# {cve} needs backporting (fixed from {last_affected})")
+
+        print()
+
+
+if __name__ == "__main__":
+    main()
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index 37904ac..e695e2d 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -14,7 +14,7 @@
 # provide this .inc to set specific revisions
 include recipes-kernel/linux/linux-yocto-dev-revisions.inc
 
-KBRANCH = "v6.4/standard/base"
+KBRANCH = "v6.5/standard/base"
 KMETA = "kernel-meta"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine;protocol=https \
@@ -28,7 +28,7 @@
 SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
 SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
 
-LINUX_VERSION ?= "6.4"
+LINUX_VERSION ?= "6.5"
 LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.1.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.1.bb
index d4488b3..0645458 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.1.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.1.bb
@@ -14,13 +14,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "efb2c857761e865cd7947aab42eaa5ba77ef6ee7"
-SRCREV_meta ?= "cba89f406c6e07a16018cb77b51950cbae8ec654"
+SRCREV_machine ?= "ca3ebd29a77417d2c6cabc451496f2283d69e46d"
+SRCREV_meta ?= "9f8ee63473567964331b9465fa1aba301a9a725b"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=${KMETA};protocol=https"
 
-LINUX_VERSION ?= "6.1.38"
+LINUX_VERSION ?= "6.1.43"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.4.bb
index 9273a08..2f05184 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.4.bb
@@ -14,13 +14,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "917d160a84f61aada28d09f5afc04d6451fa52a0"
-SRCREV_meta ?= "dab56f52aa33b5cea1513b36b98e50a6c7c31f47"
+SRCREV_machine ?= "121d700ad4b877fab9238a92356ad32506ef70d5"
+SRCREV_meta ?= "88ed9ec49099d69f9546d21137191fd747d06ec4"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.4;destsuffix=${KMETA};protocol=https"
 
-LINUX_VERSION ?= "6.4.3"
+LINUX_VERSION ?= "6.4.9"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.1.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.1.bb
index 4e45e25..dfc1e5e 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.1.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.1.bb
@@ -8,7 +8,7 @@
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion_6.1.inc
 
-LINUX_VERSION ?= "6.1.38"
+LINUX_VERSION ?= "6.1.43"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -17,8 +17,8 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine ?= "b110cf9bbc395fe757956839d8110e72368699f4"
-SRCREV_meta ?= "cba89f406c6e07a16018cb77b51950cbae8ec654"
+SRCREV_machine ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
+SRCREV_meta ?= "9f8ee63473567964331b9465fa1aba301a9a725b"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.4.bb
index 39abfcb..64dfb3a 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.4.bb
@@ -8,7 +8,7 @@
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion_6.4.inc
 
-LINUX_VERSION ?= "6.4.3"
+LINUX_VERSION ?= "6.4.9"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -17,8 +17,8 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine ?= "dee78ad1963cff9c063fba486d43fc9670285883"
-SRCREV_meta ?= "dab56f52aa33b5cea1513b36b98e50a6c7c31f47"
+SRCREV_machine ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
+SRCREV_meta ?= "88ed9ec49099d69f9546d21137191fd747d06ec4"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb b/poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb
index a76d2dc..2f804d3 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb
@@ -3,6 +3,7 @@
 require recipes-kernel/linux/linux-yocto.inc
 
 # CVE exclusions
+include recipes-kernel/linux/cve-exclusion.inc
 include recipes-kernel/linux/cve-exclusion_6.1.inc
 
 # board specific branches
@@ -17,25 +18,25 @@
 KBRANCH:qemuloongarch64  ?= "v6.1/standard/base"
 KBRANCH:qemumips64 ?= "v6.1/standard/mti-malta64"
 
-SRCREV_machine:qemuarm ?= "a74344429a095a5941cd8dfac532160349344c92"
-SRCREV_machine:qemuarm64 ?= "b110cf9bbc395fe757956839d8110e72368699f4"
-SRCREV_machine:qemuloongarch64 ?= "b110cf9bbc395fe757956839d8110e72368699f4"
-SRCREV_machine:qemumips ?= "78c81e178f8e2ffbb7c03cd324cf50ee0c5c4cf2"
-SRCREV_machine:qemuppc ?= "b110cf9bbc395fe757956839d8110e72368699f4"
-SRCREV_machine:qemuriscv64 ?= "b110cf9bbc395fe757956839d8110e72368699f4"
-SRCREV_machine:qemuriscv32 ?= "b110cf9bbc395fe757956839d8110e72368699f4"
-SRCREV_machine:qemux86 ?= "b110cf9bbc395fe757956839d8110e72368699f4"
-SRCREV_machine:qemux86-64 ?= "b110cf9bbc395fe757956839d8110e72368699f4"
-SRCREV_machine:qemumips64 ?= "6c6b1170464e1f64f78a45cf7e78d5c678f38f48"
-SRCREV_machine ?= "b110cf9bbc395fe757956839d8110e72368699f4"
-SRCREV_meta ?= "cba89f406c6e07a16018cb77b51950cbae8ec654"
+SRCREV_machine:qemuarm ?= "d6ed8644d9b0767f8f676987a5c4f61173b803a8"
+SRCREV_machine:qemuarm64 ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
+SRCREV_machine:qemuloongarch64 ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
+SRCREV_machine:qemumips ?= "6e0c4ce9fd26b55a23becbddd466d0100b3fc2b0"
+SRCREV_machine:qemuppc ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
+SRCREV_machine:qemuriscv64 ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
+SRCREV_machine:qemuriscv32 ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
+SRCREV_machine:qemux86 ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
+SRCREV_machine:qemux86-64 ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
+SRCREV_machine:qemumips64 ?= "98b8dbe56e119690cdc0af0661867df6c3ee39a2"
+SRCREV_machine ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
+SRCREV_meta ?= "9f8ee63473567964331b9465fa1aba301a9a725b"
 
 # 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 ?= "61fd484b2cf6bc8022e8e5ea6f693a9991740ac2"
+SRCREV_machine:class-devupstream ?= "52a953d0934b17a88f403b4135eb3cdf83d19f91"
 PN:class-devupstream = "linux-yocto-upstream"
 KBRANCH:class-devupstream = "v6.1/base"
 
@@ -44,7 +45,7 @@
 SRC_URI += "file://0001-perf-cpumap-Make-counter-as-unsigned-ints.patch"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "6.1.38"
+LINUX_VERSION ?= "6.1.43"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_6.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto_6.4.bb
index 443a89c..d0d96c4 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_6.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_6.4.bb
@@ -3,6 +3,7 @@
 require recipes-kernel/linux/linux-yocto.inc
 
 # CVE exclusions
+include recipes-kernel/linux/cve-exclusion.inc
 include recipes-kernel/linux/cve-exclusion_6.4.inc
 
 # board specific branches
@@ -17,25 +18,25 @@
 KBRANCH:qemuloongarch64  ?= "v6.4/standard/base"
 KBRANCH:qemumips64 ?= "v6.4/standard/mti-malta64"
 
-SRCREV_machine:qemuarm ?= "aa7642358697dc9be32c4563a3d950f257a3f2ed"
-SRCREV_machine:qemuarm64 ?= "dee78ad1963cff9c063fba486d43fc9670285883"
-SRCREV_machine:qemuloongarch64 ?= "dee78ad1963cff9c063fba486d43fc9670285883"
-SRCREV_machine:qemumips ?= "8a3ac37b45e7dcc98d28ab3920309340202272d9"
-SRCREV_machine:qemuppc ?= "dee78ad1963cff9c063fba486d43fc9670285883"
-SRCREV_machine:qemuriscv64 ?= "dee78ad1963cff9c063fba486d43fc9670285883"
-SRCREV_machine:qemuriscv32 ?= "dee78ad1963cff9c063fba486d43fc9670285883"
-SRCREV_machine:qemux86 ?= "dee78ad1963cff9c063fba486d43fc9670285883"
-SRCREV_machine:qemux86-64 ?= "dee78ad1963cff9c063fba486d43fc9670285883"
-SRCREV_machine:qemumips64 ?= "144ff37fee7f0499574d5b508e4db82234f38fec"
-SRCREV_machine ?= "dee78ad1963cff9c063fba486d43fc9670285883"
-SRCREV_meta ?= "dab56f52aa33b5cea1513b36b98e50a6c7c31f47"
+SRCREV_machine:qemuarm ?= "16af0b21320a78b21d5d9ded1188e398352d262a"
+SRCREV_machine:qemuarm64 ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
+SRCREV_machine:qemuloongarch64 ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
+SRCREV_machine:qemumips ?= "de46701cb3ac494b27ae70f1475efb855e9d817a"
+SRCREV_machine:qemuppc ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
+SRCREV_machine:qemuriscv64 ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
+SRCREV_machine:qemuriscv32 ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
+SRCREV_machine:qemux86 ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
+SRCREV_machine:qemux86-64 ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
+SRCREV_machine:qemumips64 ?= "47d7881e76d678cc9dc034f0acdd1bc416fa05bb"
+SRCREV_machine ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
+SRCREV_meta ?= "88ed9ec49099d69f9546d21137191fd747d06ec4"
 
 # 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 ?= "160f4124ea8b4cd6c86867e111fa55e266345a16"
+SRCREV_machine:class-devupstream ?= "38ca69782268c8e9578ba2f1fccf931f643eb8da"
 PN:class-devupstream = "linux-yocto-upstream"
 KBRANCH:class-devupstream = "v6.4/base"
 
@@ -43,7 +44,7 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.4;destsuffix=${KMETA};protocol=https"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "6.4.3"
+LINUX_VERSION ?= "6.4.9"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb b/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
index e3b2587..a91680d 100644
--- a/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
+++ b/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
@@ -21,6 +21,9 @@
 EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}""
 EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX} ${BUILD_CXXFLAGS} ${BUILD_LDFLAGS}" CROSS_COMPILE=${TARGET_PREFIX}"
 
+KERNEL_LOCALVERSION = "${@get_kernellocalversion_file("${STAGING_KERNEL_BUILDDIR}")}"
+export LOCALVERSION="${KERNEL_LOCALVERSION}"
+
 # Build some host tools under work-shared.  CC, LD, and AR are probably
 # not used, but this is the historical way of invoking "make scripts".
 #
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils/0001-alsactl-add-define-to-compile-with-glibc-2.38.patch b/poky/meta/recipes-multimedia/alsa/alsa-utils/0001-alsactl-add-define-to-compile-with-glibc-2.38.patch
new file mode 100644
index 0000000..8c23fb2
--- /dev/null
+++ b/poky/meta/recipes-multimedia/alsa/alsa-utils/0001-alsactl-add-define-to-compile-with-glibc-2.38.patch
@@ -0,0 +1,39 @@
+From a610f4c21b083c0f9cf62ad2251dfadc98abb50e Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <rudi@heitbaum.com>
+Date: Sat, 22 Jul 2023 15:36:09 +0000
+Subject: [PATCH] alsactl: add define to compile with glibc 2.38
+
+strlcat and strlcpy have been added to glibc 2.38.
+update the defines to use the glibc versions, and not conflict with
+string.h.
+
+ref:
+- https://sourceware.org/git/?p=glibc.git;a=commit;h=454a20c8756c9c1d55419153255fc7692b3d2199
+
+Fixes: https://github.com/alsa-project/alsa-utils/pull/225
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+Upstream-Status: Backport [https://github.com/alsa-project/alsa-utils/commit/d6a71bfbde9e1710743d3a446c6ea3b41c45234e]
+---
+ alsactl/init_sysdeps.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/alsactl/init_sysdeps.c b/alsactl/init_sysdeps.c
+index 3aca1b4..f09b1ae 100644
+--- a/alsactl/init_sysdeps.c
++++ b/alsactl/init_sysdeps.c
+@@ -18,6 +18,7 @@
+  */
+ 
+ #if defined(__GLIBC__) && !(defined(__UCLIBC__) && defined(__USE_BSD))
++#if !(__GLIBC_PREREQ(2, 38))
+ static size_t strlcpy(char *dst, const char *src, size_t size)
+ {
+ 	size_t bytes = 0;
+@@ -60,4 +61,5 @@ static size_t strlcat(char *dst, const char *src, size_t size)
+ 	*q = '\0';
+ 	return bytes;
+ }
++#endif /* !(__GLIBC_PREREQ(2, 38)) */
+ #endif /* __GLIBC__ */
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.9.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.9.bb
index 2f34401..af28f54 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.9.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.9.bb
@@ -26,6 +26,7 @@
 # alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe
 SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2 \
            file://0001-alsactl-fix-compilation-when-building-in-a-subdir.patch \
+           file://0001-alsactl-add-define-to-compile-with-glibc-2.38.patch \
           "
 SRC_URI[sha256sum] = "e7623d4525595f92e11ce25ee9a97f2040a14c6e4dcd027aa96e06cbce7817bd"
 
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch
new file mode 100644
index 0000000..a47a203
--- /dev/null
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch
@@ -0,0 +1,77 @@
+From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
+Date: Sun, 16 Jul 2023 18:18:02 +0300
+Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift
+ instructions within inline assembly
+
+Fixes assembling with binutil as >= 2.41
+
+Upstream-Status: Backport [https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/effadce6c756247ea8bae32dc13bb3e6f464f0eb]
+Signed-off-by: James Almer <jamrial@gmail.com>
+---
+ libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++---
+ 1 file changed, 23 insertions(+), 3 deletions(-)
+
+diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h
+index 6298f5ed19..ca7e2dffc1 100644
+--- a/libavcodec/x86/mathops.h
++++ b/libavcodec/x86/mathops.h
+@@ -35,12 +35,20 @@
+ static av_always_inline av_const int MULL(int a, int b, unsigned shift)
+ {
+     int rt, dummy;
++    if (__builtin_constant_p(shift))
+     __asm__ (
+         "imull %3               \n\t"
+         "shrdl %4, %%edx, %%eax \n\t"
+         :"=a"(rt), "=d"(dummy)
+-        :"a"(a), "rm"(b), "ci"((uint8_t)shift)
++        :"a"(a), "rm"(b), "i"(shift & 0x1F)
+     );
++    else
++        __asm__ (
++            "imull %3               \n\t"
++            "shrdl %4, %%edx, %%eax \n\t"
++            :"=a"(rt), "=d"(dummy)
++            :"a"(a), "rm"(b), "c"((uint8_t)shift)
++        );
+     return rt;
+ }
+ 
+@@ -113,19 +121,31 @@ __asm__ volatile(\
+ // avoid +32 for shift optimization (gcc should do that ...)
+ #define NEG_SSR32 NEG_SSR32
+ static inline  int32_t NEG_SSR32( int32_t a, int8_t s){
++    if (__builtin_constant_p(s))
+     __asm__ ("sarl %1, %0\n\t"
+          : "+r" (a)
+-         : "ic" ((uint8_t)(-s))
++         : "i" (-s & 0x1F)
+     );
++    else
++        __asm__ ("sarl %1, %0\n\t"
++               : "+r" (a)
++               : "c" ((uint8_t)(-s))
++        );
+     return a;
+ }
+ 
+ #define NEG_USR32 NEG_USR32
+ static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
++    if (__builtin_constant_p(s))
+     __asm__ ("shrl %1, %0\n\t"
+          : "+r" (a)
+-         : "ic" ((uint8_t)(-s))
++         : "i" (-s & 0x1F)
+     );
++    else
++        __asm__ ("shrl %1, %0\n\t"
++               : "+r" (a)
++               : "c" ((uint8_t)(-s))
++        );
+     return a;
+ }
+ 
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb
index 181c17d..07c641d 100644
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb
@@ -23,6 +23,7 @@
                     file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
 
 SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
+           file://0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch \
            file://0001-libswscale-riscv-Fix-syntax-of-vsetvli.patch"
 
 SRC_URI[sha256sum] = "57be87c22d9b49c112b6d24bc67d42508660e6b718b3db89c44e47e289137082"
@@ -133,6 +134,7 @@
 # ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
 
 LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=bfd ', '', d)}"
 
 EXTRA_OEMAKE = "V=1"
 
diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.0.bb b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.0.bb
index b8001f4..58eea0b 100644
--- a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.0.bb
+++ b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.0.bb
@@ -3,7 +3,6 @@
 sound (such as MS Windows WAV and the Apple/SGI AIFF format) through \
 one standard library interface."
 HOMEPAGE = "https://libsndfile.github.io/libsndfile/"
-AUTHOR = "Erik de Castro Lopo"
 DEPENDS = "flac libogg libvorbis"
 SECTION = "libs/multimedia"
 LICENSE = "LGPL-2.1-only"
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 6055a9e..08a608b 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -2,7 +2,6 @@
 DESCRIPTION = "A general purpose sound server intended to run as a middleware \
 between your applications and your hardware devices, either using ALSA or OSS."
 HOMEPAGE = "http://www.pulseaudio.org"
-AUTHOR = "Lennart Poettering"
 SECTION = "libs/multimedia"
 
 # Most of PulseAudio code is under LGPL-2.1-or-later. There are a few
diff --git a/poky/meta/recipes-sato/images/core-image-sato.bb b/poky/meta/recipes-sato/images/core-image-sato.bb
index e63a229..9200ae5 100644
--- a/poky/meta/recipes-sato/images/core-image-sato.bb
+++ b/poky/meta/recipes-sato/images/core-image-sato.bb
@@ -1,3 +1,4 @@
+SUMMARY = "Image with Sato, a mobile environment and visual style for mobile devices."
 DESCRIPTION = "Image with Sato, a mobile environment and visual style for \
 mobile devices. The image supports X11 with a Sato theme, Pimlico \
 applications, and contains terminal, editor, and file manager."
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Source-JavaScriptCore-CMakeLists.txt-ensure-reproduc.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Source-JavaScriptCore-CMakeLists.txt-ensure-reproduc.patch
deleted file mode 100644
index bbe2650..0000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Source-JavaScriptCore-CMakeLists.txt-ensure-reproduc.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From cd65e3d9256a4f6eb7906a9f10678c29a4ffef2f Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Mon, 26 Jun 2023 14:30:02 +0200
-Subject: [PATCH] Source/JavaScriptCore/CMakeLists.txt: ensure reproducibility
- of __TIMESTAMP__
-
-__TIMESTAMP__ refers to mtime of the file that contains it, which is unstable
-and breaks binary reproducibility when the file is generated at build time. To ensure
-this does not happen, mtime should be set from the original file.
-
-Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/15293]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- Source/JavaScriptCore/CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt
-index 43dc22ff..c2e3b1cd 100644
---- a/Source/JavaScriptCore/CMakeLists.txt
-+++ b/Source/JavaScriptCore/CMakeLists.txt
-@@ -159,6 +159,7 @@ add_custom_command(
-     OUTPUT ${JavaScriptCore_DERIVED_SOURCES_DIR}/JSCBytecodeCacheVersion.cpp
-     MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/runtime/JSCBytecodeCacheVersion.cpp.in
-     COMMAND ${PERL_EXECUTABLE} -pe s/CACHED_TYPES_CKSUM/__TIMESTAMP__/ ${JAVASCRIPTCORE_DIR}/runtime/JSCBytecodeCacheVersion.cpp.in > ${JavaScriptCore_DERIVED_SOURCES_DIR}/JSCBytecodeCacheVersion.cpp
-+    COMMAND touch -r ${JAVASCRIPTCORE_DIR}/runtime/JSCBytecodeCacheVersion.cpp.in ${JavaScriptCore_DERIVED_SOURCES_DIR}/JSCBytecodeCacheVersion.cpp
-             VERBATIM
- )
- 
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/4977290ab4ab35258a6da9b13795c9b0f7894bf4.patch b/poky/meta/recipes-sato/webkit/webkitgtk/4977290ab4ab35258a6da9b13795c9b0f7894bf4.patch
deleted file mode 100644
index 79da855..0000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk/4977290ab4ab35258a6da9b13795c9b0f7894bf4.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 4977290ab4ab35258a6da9b13795c9b0f7894bf4 Mon Sep 17 00:00:00 2001
-From: Diego Pino Garcia <dpino@igalia.com>
-Date: Mon, 22 May 2023 19:58:50 -0700
-Subject: [PATCH] [GLIB] Fix build error after 264196@main
- https://bugs.webkit.org/show_bug.cgi?id=256917
-
-Reviewed by Michael Catanzaro.
-
-Variable BWRAP_EXECUTABLE is only defined when BUBBLEWRAP_SANDBOX is
-enabled.
-
-* Source/WTF/wtf/glib/Sandbox.cpp:
-(WTF::isInsideUnsupportedContainer):
-
-Canonical link: https://commits.webkit.org/264395@main
-Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/4977290ab4ab35258a6da9b13795c9b0f7894bf4]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- Source/WTF/wtf/glib/Sandbox.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/Source/WTF/wtf/glib/Sandbox.cpp b/Source/WTF/wtf/glib/Sandbox.cpp
-index 7d84e830ab33e..9b07bb8cb5a9b 100644
---- a/Source/WTF/wtf/glib/Sandbox.cpp
-+++ b/Source/WTF/wtf/glib/Sandbox.cpp
-@@ -36,6 +36,7 @@ bool isInsideFlatpak()
-     return returnValue;
- }
- 
-+#if ENABLE(BUBBLEWRAP_SANDBOX)
- bool isInsideUnsupportedContainer()
- {
-     static bool inContainer = g_file_test("/run/.containerenv", G_FILE_TEST_EXISTS);
-@@ -64,6 +65,7 @@ bool isInsideUnsupportedContainer()
- 
-     return inContainer && !supportedContainer;
- }
-+#endif
- 
- bool isInsideSnap()
- {
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.40.2.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.40.5.bb
similarity index 95%
rename from poky/meta/recipes-sato/webkit/webkitgtk_2.40.2.bb
rename to poky/meta/recipes-sato/webkit/webkitgtk_2.40.5.bb
index 8bef0b1..7bf32e8 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.40.2.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.40.5.bb
@@ -13,11 +13,9 @@
            file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
            file://reproducibility.patch \
            file://0d3344e17d258106617b0e6d783d073b188a2548.patch \
-           file://4977290ab4ab35258a6da9b13795c9b0f7894bf4.patch \
-           file://0001-Source-JavaScriptCore-CMakeLists.txt-ensure-reproduc.patch \
            file://check-GST_GL_HAVE_PLATFORM_GLX.patch \
            "
-SRC_URI[sha256sum] = "96898870d994da406ee7a632816dcde9a3bb395ee5f344fcb3f3b8cc8a77e000"
+SRC_URI[sha256sum] = "7de051a263668621d91a61a5eb1c3771d1a7cec900043d4afef06c326c16037f"
 
 inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen
 
@@ -35,7 +33,7 @@
           jpeg \
           atk \
           libwebp \
-          gtk+3 \
+          gtk4 \
           libxslt \
           libtasn1 \
           libnotify \
@@ -84,6 +82,7 @@
 		-DENABLE_MINIBROWSER=ON \
                 -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
                 -DENABLE_GAMEPAD=OFF \
+                -DUSE_GTK4=ON \
 		"
 
 # Javascript JIT is not supported on ARC
@@ -124,7 +123,7 @@
 SECURITY_CFLAGS:remove:aarch64 = "-fpie"
 SECURITY_CFLAGS:append:aarch64 = " -fPIE"
 
-FILES:${PN} += "${libdir}/webkit2gtk-4.*/injected-bundle/libwebkit2gtkinjectedbundle.so"
+FILES:${PN} += "${libdir}/webkitgtk-*/injected-bundle/*.so"
 
 RRECOMMENDS:${PN} += "ca-certificates shared-mime-info"
 
@@ -161,6 +160,5 @@
             ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \
             ${B}/WebCore/DerivedSources/*.cpp \
             ${B}/WebKitGTK/DerivedSources/webkit/*.cpp
-
 }
 
diff --git a/poky/meta/recipes-support/apr/apr/autoconf-2.73.patch b/poky/meta/recipes-support/apr/apr/autoconf-2.73.patch
new file mode 100644
index 0000000..a8b7a77
--- /dev/null
+++ b/poky/meta/recipes-support/apr/apr/autoconf-2.73.patch
@@ -0,0 +1,26 @@
+To work with autoconf 2.73, tweak the macro ordering in configure.in.
+
+Upstream-Status: Pending
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: apr-1.7.2/configure.in
+===================================================================
+--- apr-1.7.2.orig/configure.in
++++ apr-1.7.2/configure.in
+@@ -430,6 +430,8 @@ if test "$host" = "i586-pc-beos"; then
+   ) dnl
+ fi
+ 
++APR_CHECK_DEFINE(LOCK_EX, sys/file.h)
++
+ # this is the place to put specific options for platform/compiler
+ # combinations
+ case "$host:$CC" in
+@@ -2384,7 +2386,6 @@ AC_MSG_RESULT([$msg])
+ AC_SUBST(have_union_semun)
+ 
+ dnl Checks for libraries.
+-APR_CHECK_DEFINE(LOCK_EX, sys/file.h)
+ APR_CHECK_DEFINE(F_SETLK, fcntl.h)
+ APR_CHECK_DEFINE(SEM_UNDO, sys/sem.h)
+ 
diff --git a/poky/meta/recipes-support/apr/apr_1.7.4.bb b/poky/meta/recipes-support/apr/apr_1.7.4.bb
index e571469..5ac7f4b 100644
--- a/poky/meta/recipes-support/apr/apr_1.7.4.bb
+++ b/poky/meta/recipes-support/apr/apr_1.7.4.bb
@@ -22,6 +22,7 @@
            file://libtoolize_check.patch \
            file://0001-Add-option-to-disable-timed-dependant-tests.patch \
            file://0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch \
+           file://autoconf-2.73.patch \
            "
 
 SRC_URI[sha256sum] = "fc648de983f3a2a6c9e78dea1f180639bd2fad6c06d556d4367a701fe5c35577"
diff --git a/poky/meta/recipes-support/curl/curl/disable-tests b/poky/meta/recipes-support/curl/curl/disable-tests
index 92056bd..b687b2b 100644
--- a/poky/meta/recipes-support/curl/curl/disable-tests
+++ b/poky/meta/recipes-support/curl/curl/disable-tests
@@ -18,6 +18,8 @@
 1165
 # This CRL test is looking for src files
 1185
+# This test is scanning the source tree
+1222
 # These CRL tests need --libcurl option to be enabled
 1400
 1401
diff --git a/poky/meta/recipes-support/curl/curl/run-ptest b/poky/meta/recipes-support/curl/curl/run-ptest
index 614e822..2c74c58 100644
--- a/poky/meta/recipes-support/curl/curl/run-ptest
+++ b/poky/meta/recipes-support/curl/curl/run-ptest
@@ -1,6 +1,6 @@
 #!/bin/sh
 cd tests
-./runtests.pl -a -n -s | sed \
+{ ./runtests.pl -a -n -s || echo "FAIL: curl" ; } | sed \
      -e 's|\([^ ]* *\) \([^ ]* *\)...OK|PASS: \1 \2|' \
      -e 's|\([^ ]* *\) \([^ ]* *\)...FAILED|FAIL: \1 \2|' \
      -e 's/Warning: test[0-9]\+ not present in tests\/data\/Makefile.inc//'
diff --git a/poky/meta/recipes-support/curl/curl_8.1.2.bb b/poky/meta/recipes-support/curl/curl_8.2.0.bb
similarity index 91%
rename from poky/meta/recipes-support/curl/curl_8.1.2.bb
rename to poky/meta/recipes-support/curl/curl_8.2.0.bb
index d84f7d0..9c16d3d 100644
--- a/poky/meta/recipes-support/curl/curl_8.1.2.bb
+++ b/poky/meta/recipes-support/curl/curl_8.2.0.bb
@@ -14,7 +14,7 @@
     file://run-ptest \
     file://disable-tests \
 "
-SRC_URI[sha256sum] = "31b1118eb8bfd43cd95d9a3f146f814ff874f6ed3999b29d94f4d1e7dbac5ef6"
+SRC_URI[sha256sum] = "2859ec79e2cd96e976a99493547359b8001af1d1e21f3a3a3b846544ef54500f"
 
 # Curl has used many names over the years...
 CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl"
@@ -100,8 +100,23 @@
 	cp -rf ${D}${bindir}/curl-config ${D}${PTEST_PATH}
 }
 
-RDEPENDS:${PN}-ptest += "bash perl-modules perl-module-time-hires perl-module-digest-md5 \
-                         perl-module-digest perl-module-ipc-open2"
+RDEPENDS:${PN}-ptest += " \
+	bash \
+	perl-module-b \
+	perl-module-base \
+	perl-module-cwd \
+	perl-module-digest \
+	perl-module-digest-md5 \
+	perl-module-file-basename \
+	perl-module-file-spec \
+	perl-module-file-temp \
+	perl-module-io-socket \
+	perl-module-ipc-open2 \
+	perl-module-list-util \
+	perl-module-memoize \
+	perl-module-storable \
+	perl-module-time-hires \
+"
 
 PACKAGES =+ "lib${BPN}"
 
diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.4.2.bb b/poky/meta/recipes-support/gnupg/gnupg_2.4.2.bb
index 5807820..631df8a 100644
--- a/poky/meta/recipes-support/gnupg/gnupg_2.4.2.bb
+++ b/poky/meta/recipes-support/gnupg/gnupg_2.4.2.bb
@@ -33,6 +33,8 @@
 		--with-mailprog=${sbindir}/sendmail \
 		--enable-gpg-is-gpg2 \
                "
+# yat2m can be found from recipe-sysroot-native non-deterministically with different versioning otherwise
+CACHED_CONFIGUREVARS += "ac_cv_path_YAT2M=./yat2m"
 
 # A minimal package containing just enough to run gpg+gpgagent (E.g. use gpgme in opkg)
 PACKAGES =+ "${PN}-gpg"
diff --git a/poky/meta/recipes-support/libdaemon/libdaemon_0.14.bb b/poky/meta/recipes-support/libdaemon/libdaemon_0.14.bb
index de6ac38..089f19d 100644
--- a/poky/meta/recipes-support/libdaemon/libdaemon_0.14.bb
+++ b/poky/meta/recipes-support/libdaemon/libdaemon_0.14.bb
@@ -4,7 +4,6 @@
 as well as file locking to ensure that only a single copy of a given daemon \
 is running at a time."
 SECTION = "libs"
-AUTHOR = "Lennart Poettering <lennart@poettering.net>"
 HOMEPAGE = "http://0pointer.de/lennart/projects/libdaemon/"
 LICENSE = "LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
diff --git a/poky/meta/recipes-support/libexif/libexif/0001-Add-serial-tests-config-needed-by-ptest.patch b/poky/meta/recipes-support/libexif/libexif/0001-Add-serial-tests-config-needed-by-ptest.patch
new file mode 100644
index 0000000..505aa07
--- /dev/null
+++ b/poky/meta/recipes-support/libexif/libexif/0001-Add-serial-tests-config-needed-by-ptest.patch
@@ -0,0 +1,26 @@
+From 1ee7217c8ae724d793f9a9876c3608057a2ccbf8 Mon Sep 17 00:00:00 2001
+From: Julien Stephan <jstephan@baylibre.com>
+Date: Tue, 11 Jul 2023 16:07:54 +0200
+Subject: [PATCH] Add serial-tests config needed by ptest
+
+Add serial-tests support, ptest needs it.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Julien Stephan <jstephan@baylibre.com>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index cd48047..5413907 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -16,6 +16,7 @@ AM_INIT_AUTOMAKE([
+   dist-zip
+   check-news
+   subdir-objects
++  serial-tests
+ ])
+ AM_MAINTAINER_MODE
+ 
diff --git a/poky/meta/recipes-support/libexif/libexif/run-ptest b/poky/meta/recipes-support/libexif/libexif/run-ptest
new file mode 100644
index 0000000..2d23159
--- /dev/null
+++ b/poky/meta/recipes-support/libexif/libexif/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+make -o Makefile runtest-TESTS
diff --git a/poky/meta/recipes-support/libexif/libexif_0.6.24.bb b/poky/meta/recipes-support/libexif/libexif_0.6.24.bb
index 367f012..27e369a 100644
--- a/poky/meta/recipes-support/libexif/libexif_0.6.24.bb
+++ b/poky/meta/recipes-support/libexif/libexif_0.6.24.bb
@@ -11,12 +11,40 @@
     return "_".join(v.split("."))
 
 SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libexif-${PV}.tar.bz2 \
+           file://0001-Add-serial-tests-config-needed-by-ptest.patch \
+           file://run-ptest \
            "
 
 SRC_URI[sha256sum] = "d47564c433b733d83b6704c70477e0a4067811d184ec565258ac563d8223f6ae"
 
-inherit autotools gettext github-releases
+inherit autotools gettext github-releases ptest
 
 EXTRA_OECONF += "--disable-docs"
 
+do_compile_ptest() {
+    oe_runmake -C test buildtest-TESTS
+}
+
+do_install_ptest() {
+    install ${B}/test/test*[!\.o] ${D}${PTEST_PATH}
+    for f in ${D}${PTEST_PATH}/test*; do
+        sed -i "s/\(LD_LIBRARY_PATH=\).*\(:\$LD_LIBRARY_PATH\)\"/\1.\2/" $f
+    done
+
+    install ${B}/test/Makefile ${D}${PTEST_PATH}
+    sed -i -e "/^srcdir/c srcdir = \$\{PWD\}" ${D}${PTEST_PATH}/Makefile
+
+    install -d ${D}${PTEST_PATH}/nls
+    install ${B}/test/nls/*[!\.o] ${D}${PTEST_PATH}/nls
+    install -d ${D}${PTEST_PATH}/.libs
+    install ${B}/test/.libs/* ${D}${PTEST_PATH}/.libs
+
+    install ${S}/test/*.sh ${D}${PTEST_PATH}
+
+    install -d ${D}${PTEST_PATH}/testdata
+    install ${S}/test/testdata/* ${D}${PTEST_PATH}/testdata
+}
+
+RDEPENDS:${PN}-ptest += "make bash"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libgit2/libgit2_1.6.4.bb b/poky/meta/recipes-support/libgit2/libgit2_1.7.0.bb
similarity index 88%
rename from poky/meta/recipes-support/libgit2/libgit2_1.6.4.bb
rename to poky/meta/recipes-support/libgit2/libgit2_1.7.0.bb
index ffe00d8..15a91cf 100644
--- a/poky/meta/recipes-support/libgit2/libgit2_1.6.4.bb
+++ b/poky/meta/recipes-support/libgit2/libgit2_1.7.0.bb
@@ -5,8 +5,8 @@
 
 DEPENDS = "curl openssl zlib libssh2 libgcrypt libpcre2"
 
-SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v1.6;protocol=https"
-SRCREV = "e6325351ceee58cf56f58bdce61b38907805544f"
+SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v1.7;protocol=https"
+SRCREV = "3e2baa6d0bfb42f9016e24cba1733a6ae26a8ae6"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-support/re2c/re2c_3.0.bb b/poky/meta/recipes-support/re2c/re2c_3.0.bb
index f8f8512..f3d5ff0 100644
--- a/poky/meta/recipes-support/re2c/re2c_3.0.bb
+++ b/poky/meta/recipes-support/re2c/re2c_3.0.bb
@@ -2,7 +2,6 @@
 DESCRIPTION = "A free and open-source lexer generator for C, C++ and Go. It compiles regular expressions to determinisitic finite automata and encodes the automata in the form of a program in the target language. Unlike any other such tool, re2c focuses on generating high efficient code for regular expression matching. As a result this allows a much broader range of use than any traditional lexer."
 HOMEPAGE = "http://re2c.org/"
 BUGTRACKER = "https://github.com/skvadrik/re2c/issues"
-AUTHOR = "Marcus Börger <helly@users.sourceforge.net>"
 SECTION = "devel"
 LICENSE = "PD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=64eca4d8a3b67f9dc7656094731a2c8d"
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.16.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.16.bb
index b31b266..d23d6be 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools_6.16.bb
+++ b/poky/meta/recipes-support/rng-tools/rng-tools_6.16.bb
@@ -1,7 +1,5 @@
 SUMMARY = "Random number generator daemon"
 DESCRIPTION = "Check and feed random data from hardware device to kernel"
-AUTHOR = "Philipp Rumpf, Jeff Garzik <jgarzik@pobox.com>, \
-          Henrique de Moraes Holschuh <hmh@debian.org>"
 HOMEPAGE = "https://github.com/nhorman/rng-tools"
 BUGTRACKER = "https://github.com/nhorman/rng-tools/issues"
 LICENSE = "GPL-2.0-only"
diff --git a/poky/meta/site/common-glibc b/poky/meta/site/common-glibc
index 7ba91e0..958699b 100644
--- a/poky/meta/site/common-glibc
+++ b/poky/meta/site/common-glibc
@@ -12,7 +12,6 @@
 ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
 ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
 ac_cv_func_posix_getgrgid_r=${ac_cv_func_posix_getgrgid_r=yes}
-ac_cv_type_uid_t={ac_cv_type_uid_t=yes}
 ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
 ac_cv_func_strtod=${ac_cv_func_strtod=yes}
 
diff --git a/poky/meta/site/x32-linux b/poky/meta/site/x32-linux
index cf4ef14..2e12048 100644
--- a/poky/meta/site/x32-linux
+++ b/poky/meta/site/x32-linux
@@ -1,5 +1,4 @@
 # general
 ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16}
 ac_cv_sizeof_dev_t=${ac_cv_sizeof_dev_t=8}
-ac_cv_sys_file_offset_bits=${ac_cv_sys_file_offset_bits=64}
 ac_cv_alignof_double=8
diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py
index 86ca77f..88a6ecd 100644
--- a/poky/scripts/lib/devtool/standard.py
+++ b/poky/scripts/lib/devtool/standard.py
@@ -567,6 +567,8 @@
         logger.debug('writing append file %s' % appendfile)
         with open(appendfile, 'a') as f:
             f.write('###--- _extract_source\n')
+            f.write('deltask do_recipe_qa\n')
+            f.write('deltask do_recipe_qa_setscene\n')
             f.write('ERROR_QA:remove = "patch-fuzz"\n')
             f.write('DEVTOOL_TEMPDIR = "%s"\n' % tempdir)
             f.write('DEVTOOL_DEVBRANCH = "%s"\n' % devbranch)
diff --git a/poky/scripts/lib/devtool/upgrade.py b/poky/scripts/lib/devtool/upgrade.py
index 6c4a62b..e015a85 100644
--- a/poky/scripts/lib/devtool/upgrade.py
+++ b/poky/scripts/lib/devtool/upgrade.py
@@ -35,6 +35,8 @@
     dirs = scriptutils.filter_src_subdirs(tmpdir)
     if len(dirs) == 1:
         srctree = os.path.join(tmpdir, dirs[0])
+    else:
+        raise DevtoolError("Cannot determine where the source tree is after unpacking in {}: {}".format(tmpdir,dirs))
     return srctree
 
 def _copy_source_code(orig, dest):
diff --git a/poky/scripts/lib/resulttool/regression.py b/poky/scripts/lib/resulttool/regression.py
index 1facbcd..3d64b8f 100644
--- a/poky/scripts/lib/resulttool/regression.py
+++ b/poky/scripts/lib/resulttool/regression.py
@@ -74,6 +74,10 @@
     }
 }
 
+STATUS_STRINGS = {
+    "None": "No matching test result"
+}
+
 def test_has_at_least_one_matching_tag(test, tag_list):
     return "oetags" in test and any(oetag in tag_list for oetag in test["oetags"])
 
@@ -173,11 +177,16 @@
     return ret and metadata_matches(base_configuration, target_configuration) \
         and machine_matches(base_configuration, target_configuration)
 
+def get_status_str(raw_status):
+    raw_status_lower = raw_status.lower() if raw_status else "None"
+    return STATUS_STRINGS.get(raw_status_lower, raw_status)
 
 def compare_result(logger, base_name, target_name, base_result, target_result):
     base_result = base_result.get('result')
     target_result = target_result.get('result')
     result = {}
+    new_tests = 0
+
     if base_result and target_result:
         for k in base_result:
             base_testcase = base_result[k]
@@ -189,6 +198,13 @@
                     result[k] = {'base': base_status, 'target': target_status}
             else:
                 logger.error('Failed to retrieved base test case status: %s' % k)
+
+        # Also count new tests that were not present in base results: it
+        # could be newly added tests, but it could also highlights some tests
+        # renames or fixed faulty ptests
+        for k in target_result:
+            if k not in base_result:
+                new_tests += 1
     if result:
         new_pass_count = sum(test['target'] is not None and test['target'].startswith("PASS") for test in result.values())
         # Print a regression report only if at least one test has a regression status (FAIL, SKIPPED, absent...)
@@ -196,14 +212,17 @@
             resultstring = "Regression:  %s\n             %s\n" % (base_name, target_name)
             for k in sorted(result):
                 if not result[k]['target'] or not result[k]['target'].startswith("PASS"):
-                    resultstring += '    %s: %s -> %s\n' % (k, result[k]['base'], result[k]['target'])
+                    resultstring += '    %s: %s -> %s\n' % (k, get_status_str(result[k]['base']), get_status_str(result[k]['target']))
             if new_pass_count > 0:
                 resultstring += f'    Additionally, {new_pass_count} previously failing test(s) is/are now passing\n'
         else:
-            resultstring = "Improvement: %s\n             %s\n             (+%d test(s) passing)" % (base_name, target_name, new_pass_count)
+            resultstring = "Improvement: %s\n             %s\n             (+%d test(s) passing)\n" % (base_name, target_name, new_pass_count)
             result = None
     else:
-        resultstring = "Match:       %s\n             %s" % (base_name, target_name)
+        resultstring = "Match:       %s\n             %s\n" % (base_name, target_name)
+
+    if new_tests > 0:
+        resultstring += f'    Additionally, {new_tests} new test(s) is/are present\n'
     return result, resultstring
 
 def get_results(logger, source):
diff --git a/poky/scripts/lib/scriptutils.py b/poky/scripts/lib/scriptutils.py
index f7c1bd9..f433106 100644
--- a/poky/scripts/lib/scriptutils.py
+++ b/poky/scripts/lib/scriptutils.py
@@ -277,6 +277,6 @@
     Used by devtool and recipetool.
     """
     dirlist = os.listdir(pth)
-    filterout = ['git.indirectionsymlink', 'source-date-epoch']
+    filterout = ['git.indirectionsymlink', 'source-date-epoch', 'sstate-install-recipe_qa']
     dirlist = [x for x in dirlist if x not in filterout]
     return dirlist
diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
index 2bf7375..4f30926 100644
--- a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
+++ b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
@@ -332,15 +332,6 @@
                         shutil.copyfileobj(in_file, initrd)
                 initrd.close()
 
-                dtb = source_params.get('dtb')
-                if dtb:
-                    if ';' in dtb:
-                        raise WicError("Only one DTB supported, exiting")
-                    dtb_params = '--add-section .dtb=%s/%s --change-section-vma .dtb=0x40000' % \
-                        (deploy_dir, dtb)
-                else:
-                    dtb_params = ''
-
                 # Searched by systemd-boot:
                 # https://systemd.io/BOOT_LOADER_SPECIFICATION/#type-2-efi-unified-kernel-images
                 install_cmd = "install -d %s/EFI/Linux" % hdddir
@@ -349,20 +340,64 @@
                 staging_dir_host = get_bitbake_var("STAGING_DIR_HOST")
                 target_sys = get_bitbake_var("TARGET_SYS")
 
+                objdump_cmd = "%s-objdump" % target_sys
+                objdump_cmd += " -p %s" % efi_stub
+                objdump_cmd += " | awk '{ if ($1 == \"SectionAlignment\"){print $2} }'"
+
+                ret, align_str = exec_native_cmd(objdump_cmd, native_sysroot)
+                align = int(align_str, 16)
+
+                objdump_cmd = "%s-objdump" % target_sys
+                objdump_cmd += " -h %s | tail -2" % efi_stub
+                ret, output = exec_native_cmd(objdump_cmd, native_sysroot)
+
+                offset = int(output.split()[2], 16) + int(output.split()[3], 16)
+
+                osrel_off = offset + align - offset % align
+                osrel_path = "%s/usr/lib/os-release" % staging_dir_host
+                osrel_sz = os.stat(osrel_path).st_size
+
+                cmdline_off = osrel_off + osrel_sz
+                cmdline_off = cmdline_off + align - cmdline_off % align
+                cmdline_sz = os.stat(cmdline.name).st_size
+
+                dtb_off = cmdline_off + cmdline_sz
+                dtb_off = dtb_off + align - dtb_off % align
+
+                dtb = source_params.get('dtb')
+                if dtb:
+                    if ';' in dtb:
+                        raise WicError("Only one DTB supported, exiting")
+                    dtb_path = "%s/%s" % (deploy_dir, dtb)
+                    dtb_params = '--add-section .dtb=%s --change-section-vma .dtb=0x%x' % \
+                            (dtb_path, dtb_off)
+                    linux_off = dtb_off + os.stat(dtb_path).st_size
+                    linux_off = linux_off + align - linux_off % align
+                else:
+                    dtb_params = ''
+                    linux_off = dtb_off
+
+                linux_path = "%s/%s" % (staging_kernel_dir, kernel)
+                linux_sz = os.stat(linux_path).st_size
+
+                initrd_off = linux_off + linux_sz
+                initrd_off = initrd_off + align - initrd_off % align
+
                 # https://www.freedesktop.org/software/systemd/man/systemd-stub.html
                 objcopy_cmd = "%s-objcopy" % target_sys
                 objcopy_cmd += " --enable-deterministic-archives"
                 objcopy_cmd += " --preserve-dates"
-                objcopy_cmd += " --add-section .osrel=%s/usr/lib/os-release" % staging_dir_host
-                objcopy_cmd += " --change-section-vma .osrel=0x20000"
+                objcopy_cmd += " --add-section .osrel=%s" % osrel_path
+                objcopy_cmd += " --change-section-vma .osrel=0x%x" % osrel_off
                 objcopy_cmd += " --add-section .cmdline=%s" % cmdline.name
-                objcopy_cmd += " --change-section-vma .cmdline=0x30000"
+                objcopy_cmd += " --change-section-vma .cmdline=0x%x" % cmdline_off
                 objcopy_cmd += dtb_params
-                objcopy_cmd += " --add-section .linux=%s/%s" % (staging_kernel_dir, kernel)
-                objcopy_cmd += " --change-section-vma .linux=0x2000000"
+                objcopy_cmd += " --add-section .linux=%s" % linux_path
+                objcopy_cmd += " --change-section-vma .linux=0x%x" % linux_off
                 objcopy_cmd += " --add-section .initrd=%s" % initrd.name
-                objcopy_cmd += " --change-section-vma .initrd=0x3000000"
+                objcopy_cmd += " --change-section-vma .initrd=0x%x" % initrd_off
                 objcopy_cmd += " %s %s/EFI/Linux/linux.efi" % (efi_stub, hdddir)
+
                 exec_native_cmd(objcopy_cmd, native_sysroot)
         else:
             install_cmd = "install -m 0644 %s/%s %s/%s" % \
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu
index 5e6793d..0e105a9 100755
--- a/poky/scripts/runqemu
+++ b/poky/scripts/runqemu
@@ -203,7 +203,7 @@
         self.fsinfo = {}
         self.network_device = "-device e1000,netdev=net0,mac=@MAC@"
         self.cmdline_ip_slirp = "ip=dhcp"
-        self.cmdline_ip_tap = "ip=192.168.7.@CLIENT@::192.168.7.@GATEWAY@:255.255.255.0::eth0:off:8.8.8.8"
+        self.cmdline_ip_tap = "ip=192.168.7.@CLIENT@::192.168.7.@GATEWAY@:255.255.255.0::eth0:off:8.8.8.8 net.ifnames=0"
         # Use different mac section for tap and slirp to avoid
         # conflicts, e.g., when one is running with tap, the other is
         # running with slirp.
