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 7087315..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 c9c60e1..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.
