diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb
index 321851d..2b0797a 100644
--- a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb
+++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb
@@ -7,9 +7,11 @@
 HOMEPAGE = "https://github.com/libfuse/libfuse"
 SECTION = "libs"
 LICENSE = "GPL-2.0-only & LGPL-2.0-only"
-LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \
-                    file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66"
+LIC_FILES_CHKSUM = " \
+    file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \
+    file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66 \
+"
 
 SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.gz \
 "
@@ -25,40 +27,40 @@
 inherit meson pkgconfig ptest
 
 SRC_URI += " \
-        file://run-ptest \
+    file://run-ptest \
 "
 
 RDEPENDS:${PN}-ptest += " \
     python3-pytest \
     python3-looseversion \
-    kernel-module-cuse \
     bash \
 "
+RRECOMMENDS:${PN}-ptest += " kernel-module-cuse"
 
 do_install_ptest() {
-        install -d ${D}${PTEST_PATH}/test
-        install -d ${D}${PTEST_PATH}/example
-        install -d ${D}${PTEST_PATH}/util
-        cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
+    install -d ${D}${PTEST_PATH}/test
+    install -d ${D}${PTEST_PATH}/example
+    install -d ${D}${PTEST_PATH}/util
+    cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
 
-        example_excutables=`find ${B}/example -type f -executable`
-        util_excutables=`find ${B}/util -type f -executable`
-        test_excutables=`find ${B}/test -type f -executable`
+    example_excutables=`find ${B}/example -type f -executable`
+    util_excutables=`find ${B}/util -type f -executable`
+    test_excutables=`find ${B}/test -type f -executable`
 
-        for e in $example_excutables
-        do
-            cp -rf $e  ${D}${PTEST_PATH}/example/
-         done
+    for e in $example_excutables
+    do
+        cp -rf $e  ${D}${PTEST_PATH}/example/
+    done
 
-        for e in $util_excutables
-        do
-            cp -rf $e  ${D}${PTEST_PATH}/util/
-        done
+    for e in $util_excutables
+    do
+        cp -rf $e  ${D}${PTEST_PATH}/util/
+    done
 
-        for e in $test_excutables
-        do
-            cp -rf $e  ${D}${PTEST_PATH}/test
-        done
+    for e in $test_excutables
+    do
+        cp -rf $e  ${D}${PTEST_PATH}/test
+    done
 }
 
 DEPENDS = "udev"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/e2tools/e2tools_git.bb b/meta-openembedded/meta-filesystems/recipes-utils/e2tools/e2tools_git.bb
index a80b6f5..1fa5e01 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/e2tools/e2tools_git.bb
+++ b/meta-openembedded/meta-filesystems/recipes-utils/e2tools/e2tools_git.bb
@@ -65,6 +65,9 @@
     cp -r ../build "${D}${PTEST_PATH}"
     cp -r "${S}/build-aux" "${D}${PTEST_PATH}/build"
     cp -r "${S}" "${D}${PTEST_PATH}"
+    rm -rf ${D}${PTEST_PATH}/build/config.log ${D}${PTEST_PATH}/build/autom4te.cache \
+        ${D}${PTEST_PATH}/git/.git ${D}${PTEST_PATH}/git/autom4te.cache
+    sed -i -e 's;${RECIPE_SYSROOT};;g' ${D}${PTEST_PATH}/build/config.status
 }
 
 RDEPENDS:${PN}-ptest += "bash coreutils e2fsprogs e2tools gawk make perl"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/folks/folks_0.15.6.bb b/meta-openembedded/meta-gnome/recipes-connectivity/folks/folks_0.15.7.bb
similarity index 91%
rename from meta-openembedded/meta-gnome/recipes-connectivity/folks/folks_0.15.6.bb
rename to meta-openembedded/meta-gnome/recipes-connectivity/folks/folks_0.15.7.bb
index 5b9717f..a229071 100644
--- a/meta-openembedded/meta-gnome/recipes-connectivity/folks/folks_0.15.6.bb
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/folks/folks_0.15.7.bb
@@ -25,4 +25,4 @@
 
 inherit pkgconfig gnomebase gettext gobject-introspection vala features_check
 
-SRC_URI[archive.sha256sum] = "c866630c553f29ce9be1c7a60267cb4080a6bccf4b8d551dc4c7e6234d840248"
+SRC_URI[archive.sha256sum] = "120f219ef63212caa95ae7f6aeb64e29928b0b1a8b9452054304a00d0f347871"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0006-makedefs-Account-for-linux-6.x-version.patch b/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0006-makedefs-Account-for-linux-6.x-version.patch
deleted file mode 100644
index ad17045..0000000
--- a/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0006-makedefs-Account-for-linux-6.x-version.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From e5ddcf9575437bacd64c2b68501b413014186a6a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 19 Oct 2022 10:15:01 -0700
-Subject: [PATCH] makedefs: Account for linux 6.x version
-
-Major version has bumped to 6 and script needs to know that
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- makedefs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/makedefs
-+++ b/makedefs
-@@ -613,7 +613,7 @@ EOF
- 		: ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
- 		: ${PLUGIN_LD="${CC-gcc} -shared"}
- 		;;
-- Linux.[345].*)	SYSTYPE=LINUX$RELEASE_MAJOR
-+ Linux.[3-6]*)	SYSTYPE=LINUX$RELEASE_MAJOR
- 		case "$CCARGS" in
- 		 *-DNO_DB*) ;;
- 		 *-DHAS_DB*) ;;
---- a/src/util/sys_defs.h
-+++ b/src/util/sys_defs.h
-@@ -751,7 +751,7 @@ extern int initgroups(const char *, int)
-  /*
-   * LINUX.
-   */
--#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5)
-+#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5) || defined(LINUX6)
- #define SUPPORTED
- #define UINT32_TYPE	unsigned int
- #define UINT16_TYPE	unsigned short
diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.7.3.bb b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.7.3.bb
deleted file mode 100644
index b54a97a..0000000
--- a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.7.3.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require postfix.inc
-
-SRC_URI += "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \
-           file://main.cf \
-           file://postfix \
-           file://internal_recipient \
-           file://postfix.service \
-           file://aliasesdb \
-           file://check_hostname.sh \
-           file://0001-Fix-makedefs.patch \
-           file://0002-Change-fixed-postconf-to-a-variable-for-cross-compil.patch \
-           file://0003-makedefs-Use-native-compiler-to-build-makedefs.test.patch \
-           file://0004-Fix-icu-config.patch \
-           file://0005-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \
-           file://0006-makedefs-Account-for-linux-6.x-version.patch \
-           "
-SRC_URI[sha256sum] = "d22f3d37ef75613d5d573b56fc51ef097f2c0d0b0e407923711f71c1fb72911b"
-UPSTREAM_CHECK_REGEX = "postfix\-(?P<pver>3\.6(\.\d+)+).tar.gz"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.8.5.bb
similarity index 91%
rename from meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
rename to meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.8.5.bb
index 5133caa..1c92c07 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
+++ b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.8.5.bb
@@ -14,6 +14,24 @@
 LICENSE = "IPL-1.0 | EPL-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b181651ad99a7dc4cc8c4ce2f491ed1a"
 
+SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \
+           file://main.cf \
+           file://postfix \
+           file://internal_recipient \
+           file://postfix.service \
+           file://aliasesdb \
+           file://check_hostname.sh \
+           file://0001-Fix-makedefs.patch \
+           file://0002-Change-fixed-postconf-to-a-variable-for-cross-compil.patch \
+           file://0003-makedefs-Use-native-compiler-to-build-makedefs.test.patch \
+           file://0004-Fix-icu-config.patch \
+           file://0005-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \
+           "
+
+SRC_URI[sha256sum] = "f3e827a2b2e410359ad25d31341970434ab07e36139f9a2ef93981b0ec564c85"
+
+UPSTREAM_CHECK_REGEX = "postfix\-(?P<pver>3\.8(\.\d+)+).tar.gz"
+
 S = "${WORKDIR}/postfix-${PV}"
 
 CLEANBROKEN = "1"
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-configure.ac-Add-an-option-to-disable-host-udev-vers.patch b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-configure.ac-Add-an-option-to-disable-host-udev-vers.patch
new file mode 100644
index 0000000..b98e1e7
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-configure.ac-Add-an-option-to-disable-host-udev-vers.patch
@@ -0,0 +1,55 @@
+From 61991db099f66348dddbc3408e7ee8c05bda85cb Mon Sep 17 00:00:00 2001
+From: Yoann Congal <yoann.congal@smile.fr>
+Date: Sat, 2 Mar 2024 16:23:07 +0100
+Subject: [PATCH] configure.ac: Add an option to disable host udev version
+ checks
+
+In cross-compilation environment, the build host might have an outdated
+udev or no udev at all. But the user may still want to build with the
+enabled udev rule (for its udev-enabled target).
+
+This patch adds a "--disable-udevchecks" option the disable build host
+udev version check at configure-time and unconditionally install the
+enabled udev rule. Without this new option, the behavior stays the same
+(checks enabled).
+
+Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
+Upstream-Status: Backport [https://github.com/LINBIT/drbd-utils/commit/f2b5a7335ae52109dfb95a9d99ae20519c43d59a]
+---
+ configure.ac | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f1d69ea3..4c56d33b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -71,6 +71,11 @@ AC_ARG_WITH([udev],
+ 	[AS_HELP_STRING([--with-udev],
+ 			[Enable udev integration])],
+ 	[WITH_UDEV=$withval])
++AC_ARG_ENABLE([udevchecks],
++	[AS_HELP_STRING([--disable-udevchecks],
++			[Disable host udev version checks])],
++	[],
++	[enable_udevchecks=yes])
+ AC_ARG_WITH([xen],
+ 	[AS_HELP_STRING([--with-xen],
+ 			[Enable Xen integration])],
+@@ -315,7 +320,7 @@ if test -z $GIT; then
+    AC_MSG_WARN(Cannot update buildtag without git. You may safely ignore this warning when building from a tarball.)
+ fi
+ 
+-if test $UDEVADM = false && test $UDEVINFO = false; then
++if test "x$enable_udevchecks" != "xno" && test $UDEVADM = false && test $UDEVINFO = false; then
+    if test "$WITH_UDEV" = "yes"; then
+      AC_MSG_WARN([udev support enabled, but neither udevadm nor udevinfo found on this system.])
+    fi
+@@ -423,7 +428,7 @@ else
+     test -z $INITDIR && INITDIR="$sysconfdir/init.d"
+ 
+     dnl Our udev rules file is known to work only with udev >= 85
+-    if test "$WITH_UDEV" = "yes"; then
++    if test "x$enable_udevchecks" != "xno" && test "$WITH_UDEV" = "yes"; then
+        udev_version=$( set -- $($UDEVADM version); echo $1 )
+        if test -z "$udev_version"; then
+ 	    udev_version=$( set -- $($UDEVINFO -V); echo $3 )
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
index 4e1f68b..27f0a9b 100644
--- a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
+++ b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
@@ -1,4 +1,4 @@
-From 69011c7227ad1aaf08d5ab28e46f85dac951c597 Mon Sep 17 00:00:00 2001
+From 264ae7b062ac52a5545a8a562b51001f7ce7369d Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Thu, 21 Apr 2022 17:22:35 +0800
 Subject: [PATCH] drbd-utils: support usermerge
@@ -21,10 +21,10 @@
  10 files changed, 32 insertions(+), 32 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index ae575586..3d7deeae 100644
+index f1d69ea3..3289ac7d 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -180,7 +180,7 @@ AC_ARG_WITH(tmpfilesdir,
+@@ -183,7 +183,7 @@ AC_ARG_WITH(tmpfilesdir,
  AC_SUBST(tmpfilesdir)
  
  # set default early
@@ -34,12 +34,12 @@
     test x"$with_udev" = xyes ; then
  	if test x"$PKG_CONFIG" != x; then
 diff --git a/scripts/Makefile.in b/scripts/Makefile.in
-index fcd298e9..bab441a5 100644
+index aca15a22..a1cd2ffe 100644
 --- a/scripts/Makefile.in
 +++ b/scripts/Makefile.in
-@@ -88,11 +88,11 @@ ifeq ($(subst both,systemd,$(initscripttype)),systemd)
+@@ -91,11 +91,11 @@ ifeq ($(subst both,systemd,$(initscripttype)),systemd)
  	install -d $(DESTDIR)$(systemdunitdir)
- 	install -m 644 drbd.service $(DESTDIR)$(systemdunitdir)/
+ 	install -m 644 $(SYSTEMD_UNITS) $(DESTDIR)$(systemdunitdir)/
  	install -m 644 $(SYSTEMD_TEMPLATES) $(DESTDIR)$(systemdunitdir)/
 -	install -d $(DESTDIR)/lib/drbd/scripts
 -	install -m 755 drbd $(DESTDIR)/lib/drbd/scripts
@@ -110,7 +110,7 @@
  [Install]
  WantedBy=multi-user.target
 diff --git a/scripts/drbd@.service b/scripts/drbd@.service
-index 76514c5b..e2e500ba 100644
+index 0fad10be..556f3857 100644
 --- a/scripts/drbd@.service
 +++ b/scripts/drbd@.service
 @@ -35,8 +35,8 @@ RemainAfterExit=yes
@@ -199,6 +199,3 @@
  
  spell:
  	for f in drbdadm_adjust.c drbdadm_main.c drbdadm_parser.c drbdadm_usage_cnt.c drbdsetup.c drbdtool_common.c; do \
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbdmon-add-LDFLAGS-when-linking.patch b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbdmon-add-LDFLAGS-when-linking.patch
index 0bf4b2f..c776606 100644
--- a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbdmon-add-LDFLAGS-when-linking.patch
+++ b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbdmon-add-LDFLAGS-when-linking.patch
@@ -1,15 +1,17 @@
-From a61b9ff2d2cb7387a5cd347b2201535ee45a46ee Mon Sep 17 00:00:00 2001
+From bb044160faf4ae7615ddfdb17641dd88c33cde57 Mon Sep 17 00:00:00 2001
 From: Sakib Sajal <sakib.sajal@windriver.com>
 Date: Thu, 31 Mar 2022 15:09:58 -0400
 Subject: [PATCH] drbdmon: add LDFLAGS when linking
 
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
 Upstream-Status: Pending
 
- user/drbdmon/Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
+---
+ user/drbdmon/Makefile.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
+diff --git a/user/drbdmon/Makefile.in b/user/drbdmon/Makefile.in
+index 7bd8987e..115a81b8 100644
 --- a/user/drbdmon/Makefile.in
 +++ b/user/drbdmon/Makefile.in
 @@ -1,6 +1,6 @@
@@ -20,7 +22,7 @@
  CXX = @CXX@
  LIBS = @LIBS@
  
-@@ -51,7 +51,7 @@ $(dsaext-obj): $(basename $(dsaext-obj))
+@@ -72,7 +72,7 @@ $(dsaext-obj): $(basename $(dsaext-obj)).cpp $(basename $(dsaext-obj)).h
  $(integerparse-obj): $(basename $(integerparse-obj)).cpp $(basename $(integerparse-obj)).h
  
  drbdmon: $(ls-obj)
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-replace-off64_t-with-off_t.patch b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-replace-off64_t-with-off_t.patch
deleted file mode 100644
index 2841d0f..0000000
--- a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-replace-off64_t-with-off_t.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 5adae6737e919d957a08df437951ccb6996f9882 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 21 Dec 2022 19:16:03 -0800
-Subject: [PATCH 1/2] replace off64_t with off_t
-
-off_t is already 64-bits when _FILE_OFFSET_BITS=64
-using off_t also makes it portable on musl systems
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- user/v9/drbdadm_main.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/user/v9/drbdadm_main.c b/user/v9/drbdadm_main.c
-index 91e9507d..2030946c 100644
---- a/user/v9/drbdadm_main.c
-+++ b/user/v9/drbdadm_main.c
-@@ -1264,11 +1264,11 @@ static int adm_resource(const struct cfg_ctx *ctx)
- 	return ex;
- }
- 
--static off64_t read_drbd_dev_size(int minor)
-+static off_t read_drbd_dev_size(int minor)
- {
- 	char *path;
- 	FILE *file;
--	off64_t val;
-+	off_t val;
- 	int r;
- 
- 	m_asprintf(&path, "/sys/block/drbd%d/size", minor);
-@@ -1289,9 +1289,9 @@ int adm_resize(const struct cfg_ctx *ctx)
- 	char *argv[MAX_ARGS];
- 	struct d_option *opt;
- 	bool is_resize = !strcmp(ctx->cmd->name, "resize");
--	off64_t old_size = -1;
--	off64_t target_size = 0;
--	off64_t new_size;
-+	off_t old_size = -1;
-+	off_t target_size = 0;
-+	off_t new_size;
- 	int argc = 0;
- 	int silent;
- 	int ex;
--- 
-2.39.0
-
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0002-drbdadm-drop-use-of-GLOB_MAGCHAR-use-strchr-heuristi.patch b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0002-drbdadm-drop-use-of-GLOB_MAGCHAR-use-strchr-heuristi.patch
deleted file mode 100644
index 45f7d6d..0000000
--- a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0002-drbdadm-drop-use-of-GLOB_MAGCHAR-use-strchr-heuristi.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From b70e5bf5bfa5fa2c2fffe08bcf300da1d3583602 Mon Sep 17 00:00:00 2001
-From: Lars Ellenberg <lars.ellenberg@linbit.com>
-Date: Wed, 9 Nov 2022 11:01:54 +0100
-Subject: [PATCH 2/2] drbdadm: drop use of GLOB_MAGCHAR, use strchr heuristic only
-
-Fixup for
-2022-09-05 4a1b5900 drbdadm: allow files from an expanded include glob to vanish
-
-When using the `include` statement, if the glob did not match any file,
-there is nothing to do, silently ignore.  Unless it was no glob, but a literal,
-which we would expect to exist.
-
-Also, there is a race between expanding a glob and accessing the file.
-That also should not happen for literals, though.
-
-Since we still had the heuristic anyways, because apparently |GLOB_MAGCHAR
-does not happen for GLOB_NOMATCH returns, and there exist non-GNU libc that
-don't (and likely won't) implement that extension, just forget about
-(gl_flags & GLOB_MAGCHAR) but use the incomplete strchr heuristic only.
-
-Sourced From Alpine: https://git.alpinelinux.org/aports/tree/main/drbd-utils/drop_use_of_GLOB_MAGCHAR.patch
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- user/v9/drbdadm_parser.c | 35 ++++++++++++++++++++---------------
- 1 file changed, 20 insertions(+), 15 deletions(-)
-
-diff --git a/user/v9/drbdadm_parser.c b/user/v9/drbdadm_parser.c
-index b2f6ed8a..9a0a775d 100644
---- a/user/v9/drbdadm_parser.c
-+++ b/user/v9/drbdadm_parser.c
-@@ -1947,14 +1947,29 @@ void include_stmt(char *str)
- 	size_t i;
- 	int r;
- 
--	cwd = pushd_to_current_config_file_unless_stdin();
--
--	/* """
-+	/*
-+	 * If the glob did not match any file,
-+	 * there is nothing to do, silently ignore.
-+	 * Unless it was no glob, but a literal,
-+	 * which we would expect to exist.
-+	 *
-+	 * """
- 	 * As a GNU extension, pglob->gl_flags is set to the
- 	 * flags specified, ored with GLOB_MAGCHAR if any
- 	 * metacharacters were found.
- 	 * """
-+	 *
-+	 * But apparently |GLOB_MAGCHAR does not happen for GLOB_NOMATCH returns,
-+	 * at least not consistently :-(
-+	 * Also, there exist non-GNU libc
-+	 * So we have this incomplete strchr heuristic anyways.
- 	 */
-+	bool contains_glob_magic_char =
-+			strchr(str, '*') ||
-+			strchr(str, '?') ||
-+			strchr(str, '[');
-+
-+	cwd = pushd_to_current_config_file_unless_stdin();
- 	r = glob(str, 0, NULL, &glob_buf);
- 	if (r == 0) {
- 		for (i=0; i<glob_buf.gl_pathc; i++) {
-@@ -1965,7 +1980,7 @@ void include_stmt(char *str)
- 			if (f) {
- 				include_file(f, strdup(glob_buf.gl_pathv[i]));
- 				fclose(f);
--			} else if (errno == ENOENT && glob_buf.gl_flags & GLOB_MAGCHAR) {
-+			} else if (errno == ENOENT && contains_glob_magic_char) {
- 				/* Noisily ignore race between glob expansion
- 				 * and actual open. */
- 				err("%s:%d: include file vanished after glob expansion '%s'.\n",
-@@ -1979,17 +1994,7 @@ void include_stmt(char *str)
- 		}
- 		globfree(&glob_buf);
- 	} else if (r == GLOB_NOMATCH) {
--		/*
--		 * If the glob did not match any file,
--		 * there is nothing to do, silently ignore.
--		 * Unless it was no glob, but a literal,
--		 * which we would expect to exist.
--		 * Apparently |GLOB_MAGCHAR does not happen for GLOB_NOMATCH returns,
--		 * at least not consistently :-(
--		 * So we have this strchr heuristic anyways.
--		 */
--		/* if (!(glob_buf.gl_flags & GLOB_MAGCHAR)) { */
--		if (!strchr(str, '?') && !strchr(str, '*') && !strchr(str, '[')) {
-+		if (!contains_glob_magic_char) {
- 			err("%s:%d: Failed to open include file '%s'.\n",
- 			    config_save, line, str);
- 			config_valid = 0;
--- 
-2.39.0
-
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.22.0.bb b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.27.0.bb
similarity index 87%
rename from meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.22.0.bb
rename to meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.27.0.bb
index 89bf529..63f0fd1 100644
--- a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.22.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.27.0.bb
@@ -1,6 +1,5 @@
 SUMMARY = "Distributed block device driver for Linux"
 DESCRIPTION = "DRBD mirrors a block device over the network to another machine.\
-DRBD mirrors a block device over the network to another machine.\
 Think of it as networked raid 1. It is a building block for\
 setting up high availability (HA) clusters."
 HOMEPAGE = "http://www.drbd.org/"
@@ -11,12 +10,11 @@
 SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils;branch=master;protocol=https \
            git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=git/drbd-headers;branch=master;protocol=https \
            file://0001-drbdmon-add-LDFLAGS-when-linking.patch \
-           file://0001-replace-off64_t-with-off_t.patch \
            ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \
+           file://0001-configure.ac-Add-an-option-to-disable-host-udev-vers.patch \
            "
-SRC_URI:append:libc-musl = " file://0002-drbdadm-drop-use-of-GLOB_MAGCHAR-use-strchr-heuristi.patch "
-SRCREV_drbd-utils = "409097fe02187f83790b88ac3e0d94f3c167adab"
-SRCREV_drbd-headers = "9a0f151fa0085f57910a2dcbbd658d6069554f62"
+SRCREV_drbd-utils = "fdd9a4d603a9dc99d110d8bd0e288d7c0b6f586e"
+SRCREV_drbd-headers = "0349f00825b4198d4ec3248f43884114a187676a"
 
 SRCREV_FORMAT = "drbd-utils_drbd-headers"
 
@@ -27,10 +25,13 @@
 SYSTEMD_SERVICE:${PN} = "drbd.service"
 SYSTEMD_AUTO_ENABLE = "disable"
 
-DEPENDS = "flex-native"
+DEPENDS = "flex-native keyutils"
 
 inherit autotools-brokensep systemd
 
+# -Wunused-but-set-variable -Wunused-const-variable -Winconsistent-missing-override
+CPPFLAGS:append = " -Wno-error"
+
 EXTRA_OECONF = " \
                 --with-initdir=/etc/init.d    \
                 --without-pacemaker           \
@@ -40,6 +41,7 @@
                 --with-initscripttype=both    \
                 --with-systemdunitdir=${systemd_unitdir}/system \
                 --without-manual \
+                --disable-udevchecks \
                "
 
 # If we have inherited reproducible_build, we want to use it.
diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.34.bb b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.34.bb
index 470ce1e..eacbe5c 100644
--- a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.34.bb
+++ b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.34.bb
@@ -42,7 +42,9 @@
 
 EXTRA_OECONF = "--disable-static \
                 --with-perl='${STAGING_BINDIR_NATIVE}/perl-native/perl' \
-                --with-glibver=2.0"
+                --with-glibver=2.0 \
+                --with-pythoncflags='-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}' \
+               "
 
 PACKAGECONFIG ??= "gdbm"
 PACKAGECONFIG[gdbm] = "ac_cv_header_gdbm_h=yes,ac_cv_header_gdbm_h=no,gdbm,"
@@ -64,7 +66,7 @@
 
 do_configure () {
     # Let's perform regular configuration first then handle perl issues.
-    PYTHON_CPPFLAGS=-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} autotools_do_configure
+    autotools_do_configure
 
     perl_ver=`perl -V:version | cut -d\' -f 2`
     
diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.7.bb b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.9.bb
similarity index 94%
rename from meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.7.bb
rename to meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.9.bb
index 323abe3..3af6b30 100644
--- a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.7.bb
+++ b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.9.bb
@@ -2,7 +2,7 @@
 HOMEPAGE = "https://openvpn.net/"
 SECTION = "net"
 LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8d34ce6390552676e4ce8279f13c48a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4b34e946059f80dcfd811e8dd471b5ed"
 DEPENDS = "lzo lz4 openssl iproute2 libcap-ng ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 
 inherit autotools systemd update-rc.d pkgconfig
@@ -14,7 +14,7 @@
 
 UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads"
 
-SRC_URI[sha256sum] = "ee9877340b1d8de47eb5b52712c3366855fa6a4a1955bf950c68577bd2039913"
+SRC_URI[sha256sum] = "e08d147e15b4508dfcd1d6618a1f21f1495f9817a8dadc1eddf0532fa116d7e3"
 
 CVE_STATUS[CVE-2020-27569] = "not-applicable-config: Applies only Aviatrix OpenVPN client, not openvpn"
 
diff --git a/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2/0001-pgpool2-Fix-unknown-type-name-fd_set-error-with-musl.patch b/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2/0001-pgpool2-Fix-unknown-type-name-fd_set-error-with-musl.patch
deleted file mode 100644
index 26f8afe..0000000
--- a/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2/0001-pgpool2-Fix-unknown-type-name-fd_set-error-with-musl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5d335b5ddd052f047759cae0e9b94ec49f9f3884 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@fujitsu.com>
-Date: Mon, 20 Mar 2023 02:03:04 +0000
-Subject: [PATCH] pgpool2: Fix unknown type name 'fd_set' error with musl.
-
-| read.c: In function 'read_until_ready_for_query':
-| read.c:53:24: error: storage size of 'timeoutval' isn't known
-|    53 |         struct timeval timeoutval;
-|       |                        ^~~~~~~~~~
-| read.c:54:9: error: unknown type name 'fd_set'
-|    54 |         fd_set          readmask;
-|       |         ^~~~~~
-
-Upstream-Status: Inappropriate [embedded specific]
-Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
----
- src/tools/pgproto/read.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/tools/pgproto/read.c b/src/tools/pgproto/read.c
-index c7fb548..4efe641 100644
---- a/src/tools/pgproto/read.c
-+++ b/src/tools/pgproto/read.c
-@@ -19,6 +19,7 @@
- #include "../../include/config.h"
- #include "pgproto/pgproto.h"
- #include <unistd.h>
-+#include <sys/select.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
---
-2.34.1
diff --git a/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2/define_SIGNAL_ARGS.patch b/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2/define_SIGNAL_ARGS.patch
new file mode 100644
index 0000000..3ae9b1b
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2/define_SIGNAL_ARGS.patch
@@ -0,0 +1,25 @@
+Define SIGNAL_ARGS if its not defined, this is flagged with
+newer C compilers e.g. clang18, where if it is not defined
+then it ends up with compiler errors
+
+/usr/include/postgresql/server/port.h:488:28: error: a parameter l
+ist without types is only allowed in a function definition
+|   488 | typedef void (*pqsigfunc) (SIGNAL_ARGS);
+|       |                            ^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/src/include/pool_type.h
++++ b/src/include/pool_type.h
+@@ -125,7 +125,9 @@ extern void ExceptionalCondition(const c
+ #define LONGALIGN(LEN)			TYPEALIGN(ALIGNOF_LONG, (LEN))
+ #define DOUBLEALIGN(LEN)		TYPEALIGN(ALIGNOF_DOUBLE, (LEN))
+ #define MAXALIGN(LEN)			TYPEALIGN(MAXIMUM_ALIGNOF, (LEN))
+-
++#ifndef SIGNAL_ARGS
++#define SIGNAL_ARGS  int postgres_signal_arg
++#endif
+ /*
+  *  It seems that sockaddr_storage is now commonly used in place of sockaddr.
+  *  So, define it if it is not define yet, and create new SockAddr structure
diff --git a/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2_4.4.1.bb b/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2_4.5.1.bb
similarity index 87%
rename from meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2_4.4.1.bb
rename to meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2_4.5.1.bb
index 5e6e00c..ffb8799 100644
--- a/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2_4.4.1.bb
+++ b/meta-openembedded/meta-networking/recipes-support/pgpool2/pgpool2_4.5.1.bb
@@ -1,4 +1,4 @@
-SUMMARY = "a language independent connection pool server for PostgreSQL."
+SUMMARY = "A language independent connection pool server for PostgreSQL."
 
 DESCRIPTION = "Pgpool-II is a middleware that works between PostgreSQL \
                servers and a PostgreSQL database client. It is distributed \
@@ -12,11 +12,11 @@
 
 SRC_URI = "http://www.pgpool.net/mediawiki/images/pgpool-II-${PV}.tar.gz \
 	   file://0001-Fix-build-error-when-build-this-file.patch \
-	   file://0001-pgpool2-Fix-unknown-type-name-fd_set-error-with-musl.patch \
+	   file://define_SIGNAL_ARGS.patch \
 	   file://pgpool.sysconfig \
 	   file://pgpool.service \
            "
-SRC_URI[sha256sum] = "4b379bbba8e178128a1cee4a5bd1ae116dedb3da6121b728c18f0f54c881f328"
+SRC_URI[sha256sum] = "8e14b0558a15dae8767c8e1acee3f2f6c7c08ebfffda66a359367eaaa56c3936"
 
 S = "${WORKDIR}/pgpool-II-${PV}"
 
@@ -34,9 +34,6 @@
 EXTRA_OECONF += "--disable-static \
 	         --disable-rpath \
 	        "
-
-CFLAGS:append = " -fcommon "
-
 FILES:${PN} += "${datadir}/pgpool-II/ "
 
 do_configure:append() {
diff --git a/meta-openembedded/meta-oe/classes/signing.bbclass b/meta-openembedded/meta-oe/classes/signing.bbclass
index ec076d9..f52d861 100644
--- a/meta-openembedded/meta-oe/classes/signing.bbclass
+++ b/meta-openembedded/meta-oe/classes/signing.bbclass
@@ -6,9 +6,9 @@
 
 # This class provides a common workflow to use asymmetric (i.e. RSA) keys to
 # sign artifacts. Usually, the keys are either stored as simple files in the
-# file system or on a HSM (Hardware Security Module). While files are easy to
-# use, it's hard to verify that no copies of the private have been made and
-# only authorized persons are able to use the key. Use of an HSM addresses
+# file system or on an HSM (Hardware Security Module). While files are easy to
+# use, it's hard to verify that no copies of the private key have been made
+# and only authorized persons are able to use the key. Use of an HSM addresses
 # these risks by only allowing use of the key via an API (often PKCS #11). The
 # standard way of referring to a specific key in an HSM are PKCS #11 URIs (RFC
 # 7512).
diff --git a/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
index a0e23be..fadec12 100644
--- a/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
+++ b/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
@@ -18,6 +18,7 @@
     leveldb \
     libcereal \
     libee \
+    libgpiod \
     libio-pty-perl \
     libmanette \
     librelp \
@@ -62,7 +63,6 @@
     jemalloc \
     keyutils \
     libdbi-perl \
-    libgpiod \
     libjcat \
     libteam \
     libxml++ \
diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf
index 6b64328..732a7e5 100644
--- a/meta-openembedded/meta-oe/conf/layer.conf
+++ b/meta-openembedded/meta-oe/conf/layer.conf
@@ -50,6 +50,7 @@
 
 PREFERRED_RPROVIDER_libdevmapper = "lvm2"
 PREFERRED_RPROVIDER_libdevmapper-native = "lvm2-native"
+PREFERRED_RPROVIDER_nativesdk-libdevmapper = "nativesdk-lvm2"
 PREFERRED_PROVIDER_android-tools-conf ?= "android-tools-conf"
 # Configures whether coreutils or uutils-coreutils is used.
 PREFERRED_PROVIDER_coreutils = "coreutils"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0003-GLVisualConfig-By-default-don-t-care-about-the-stenc.patch b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0003-GLVisualConfig-By-default-don-t-care-about-the-stenc.patch
new file mode 100644
index 0000000..dc47af8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0003-GLVisualConfig-By-default-don-t-care-about-the-stenc.patch
@@ -0,0 +1,103 @@
+From b59ec731c8c7e084b289e4ea92938faaebcc389d Mon Sep 17 00:00:00 2001
+From: Alexandros Frantzis <alexandros.frantzis@collabora.com>
+Date: Wed, 1 Nov 2023 13:43:00 +0200
+Subject: [PATCH] GLVisualConfig: By default don't care about the stencil
+ config component
+
+Our benchmarks don't use a stencil buffer, but its presence doesn't hurt
+either, so don't mark configs that have one as unacceptable. Our scoring
+still favors configs without one, unless the user explicitly specifies
+otherwise with --visual-config.
+
+Upstream-Status: Backport [https://github.com/glmark2/glmark2/commit/5f23d540342ba69e12afeb6a1ac4f6fd36747975]
+---
+ doc/glmark2.1.in         | 2 +-
+ src/gl-visual-config.cpp | 9 ++++++---
+ src/gl-visual-config.h   | 2 +-
+ src/options.cpp          | 6 +++---
+ 4 files changed, 11 insertions(+), 8 deletions(-)
+
+diff --git a/doc/glmark2.1.in b/doc/glmark2.1.in
+index 015ba20..1f4a047 100644
+--- a/doc/glmark2.1.in
++++ b/doc/glmark2.1.in
+@@ -38,7 +38,7 @@ Render to an off-screen surface
+ The visual configuration to use for the rendering target:
+ \'id=ID:red=R:green=G:blue=B:alpha=A:buffer=BUF:stencil=STENCIL:samples=SAMPLES'.
+ The parameters may be defined in any order, and any omitted parameters assume a
+-default value of '0' (id, stencil, samples) or '1' (red, green, blue, alpha, buffer).
++default value of '0' (id, samples), -1 (stencil) or '1' (red, green, blue, alpha, buffer).
+ If 'id' is set to a non-zero value, all other parameters are ignored
+ .TP
+ \fB\-\-reuse\-context\fR
+diff --git a/src/gl-visual-config.cpp b/src/gl-visual-config.cpp
+index de92f93..665f53a 100644
+--- a/src/gl-visual-config.cpp
++++ b/src/gl-visual-config.cpp
+@@ -26,7 +26,7 @@
+ #include <vector>
+ 
+ GLVisualConfig::GLVisualConfig(const std::string &s) :
+-    id(0), red(1), green(1), blue(1), alpha(1), depth(1), stencil(0), buffer(1), samples(0)
++    GLVisualConfig()
+ {
+     std::vector<std::string> elems;
+ 
+@@ -85,7 +85,7 @@ GLVisualConfig::match_score(const GLVisualConfig &target) const
+     score += score_component(blue, target.blue, 4);
+     score += score_component(alpha, target.alpha, 4);
+     score += score_component(depth, target.depth, 1);
+-    score += score_component(stencil, target.stencil, 0);
++    score += score_component(stencil, target.stencil, 1);
+     score += score_component(buffer, target.buffer, 1);
+     score += score_component(samples, target.samples, -1);
+ 
+@@ -135,11 +135,14 @@ GLVisualConfig::score_component(int component, int target, int scale) const
+          * score for all components ranges from [0,MAXIMUM_COMPONENT_SCORE).
+          * If scale > 0, we reward the largest positive difference from target,
+          * otherwise the smallest positive difference from target.
++         * We also reward the smallest positive difference from the target,
++         * if the target < 0, i.e., we don't care about this value.
+          */
+         int diff = std::abs(scale) * (component - target);
+         if (diff > 0)
+         {
+-            score = scale < 0 ? MAXIMUM_COMPONENT_SCORE - diff : diff;
++            score = (scale < 0 || target < 0) ?
++                    MAXIMUM_COMPONENT_SCORE - diff : diff;
+             score = std::min(MAXIMUM_COMPONENT_SCORE, score);
+             score = std::max(0, score);
+         }
+diff --git a/src/gl-visual-config.h b/src/gl-visual-config.h
+index b28473f..013ce14 100644
+--- a/src/gl-visual-config.h
++++ b/src/gl-visual-config.h
+@@ -31,7 +31,7 @@ class GLVisualConfig
+ {
+ public:
+     GLVisualConfig():
+-        id(0), red(1), green(1), blue(1), alpha(1), depth(1), stencil(0), buffer(1), samples(0) {}
++        id(0), red(1), green(1), blue(1), alpha(1), depth(1), stencil(-1), buffer(1), samples(0) {}
+     GLVisualConfig(const std::string &s);
+ 
+     /**
+diff --git a/src/options.cpp b/src/options.cpp
+index 8d1ec16..3a31d3d 100644
+--- a/src/options.cpp
++++ b/src/options.cpp
+@@ -213,9 +213,9 @@ Options::print_help()
+            "                         target: 'id=ID:red=R:green=G:blue=B:alpha=A:buffer=BUF:\n"
+            "                         stencil=STENCIL:samples=SAMPLES'. The parameters may be\n"
+            "                         defined in any order, and any omitted parameters assume a\n"
+-           "                         default value of '0' (id, stencil, samples) or '1' (red,\n"
+-           "                         green, blue, alpha, buffer). If 'id' is set to a non-zero\n"
+-           "                         value, all other parameters are ignored\n"
++           "                         default value of '0' (id, samples), '-1' (stencil) or\n"
++           "                         '1' (red, green, blue, alpha, buffer). If 'id' is set to\n"
++           "                         a non-zero value, all other parameters are ignored\n"
+            "      --reuse-context    Use a single context for all scenes\n"
+            "                         (by default, each scene gets its own context)\n"
+            "  -s, --size WxH         Size of the output window (default: 800x600)\n"
+-- 
+2.44.0
+
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
index a2d5b15..0b61d6e 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
@@ -17,6 +17,7 @@
     git://github.com/glmark2/glmark2.git;protocol=https;branch=master \
     file://0001-fix-dispmanx-build.patch \
     file://0002-run-dispmanx-fullscreen.patch \
+    file://0003-GLVisualConfig-By-default-don-t-care-about-the-stenc.patch \
 "
 SRCREV = "42e3d8fe3aa88743ef90348138f643f7b04a9237"
 
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-configure.ac-check-for-CPP-prog.patch b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-configure.ac-check-for-CPP-prog.patch
index 09e3d9c..a67be4d 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-configure.ac-check-for-CPP-prog.patch
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-configure.ac-check-for-CPP-prog.patch
@@ -1,4 +1,4 @@
-From 4801363fbff12bf1019aaf90142981702cecff92 Mon Sep 17 00:00:00 2001
+From 80d208e47a525c915e3961efa61ccf91120ffafa Mon Sep 17 00:00:00 2001
 From: Andrey Zhizhikin <andrey.z@gmail.com>
 Date: Wed, 3 Feb 2021 20:44:34 +0000
 Subject: [PATCH] configure.ac: check for CPP prog
@@ -10,20 +10,19 @@
 
 Upstream-Status: Pending
 Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
-
 ---
  configure.ac | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/configure.ac b/configure.ac
-index 53a4db4..3462b3e 100644
+index 2594b39..559b160 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -48,6 +48,7 @@ AC_CANONICAL_HOST
+@@ -49,6 +49,7 @@ AC_CANONICAL_HOST
  # Checks for tools: c compiler, ranlib (used for creating static libraries),
  # symlinks and libtool
  AC_PROG_CC
 +AC_PROG_CPP
- AC_PROG_RANLIB
  AC_PROG_LN_S
- LT_INIT
+ 
+ # Add -Wall if we are using GCC.
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.15.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.16.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.15.bb
rename to meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.16.bb
index 156bb5a..5cec4c6 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.15.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.16.bb
@@ -17,7 +17,7 @@
            file://0001-configure.ac-check-for-CPP-prog.patch \
            "
 
-SRCREV = "917d2f02188f6f4cdc443df7923a4bde72017d92"
+SRCREV = "f9481e1cd35159929458513692e4a8f9fdd1bd6f"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.20.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.21.2.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.20.2.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.21.2.bb
index e1fe5e5..7af33e4 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.20.2.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.21.2.bb
@@ -14,7 +14,7 @@
 HOMEPAGE = "http://web.mit.edu/Kerberos/"
 SECTION = "console/network"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=3c7414a99de5452b8f809ae2753b0855"
+LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=32cb3a99207053d9f5c1ef177c4d6e34"
 
 inherit autotools-brokensep binconfig perlnative systemd update-rc.d pkgconfig
 
@@ -29,8 +29,8 @@
            file://krb5-kdc.service \
            file://krb5-admin-server.service \
 "
-SRC_URI[md5sum] = "7ac456e97c4959ebe5c836dc2f5aab2c"
-SRC_URI[sha256sum] = "7d8d687d42aed350c2525cb69a4fc3aa791694da6761dccc1c42c2ee7796b5dd"
+
+SRC_URI[sha256sum] = "9560941a9d843c0243a71b17a7ac6fe31c7cebb5bce3983db79e52ae7e850491"
 
 CVE_PRODUCT = "kerberos"
 CVE_VERSION = "5-${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-core/toybox/toybox-inittab_0.8.2.bb b/meta-openembedded/meta-oe/recipes-core/toybox/toybox-inittab_0.8.2.bb
index 603f365..4cad7dc 100644
--- a/meta-openembedded/meta-oe/recipes-core/toybox/toybox-inittab_0.8.2.bb
+++ b/meta-openembedded/meta-oe/recipes-core/toybox/toybox-inittab_0.8.2.bb
@@ -34,7 +34,7 @@
 	cp orig/* .
 
 	for config in ${PACKAGECONFIG_CONFARGS}; do
-		if [[ ${config} == "enable_getty" ]]; then
+		if [ "${config}" = "enable_getty" ]; then
 			echo "# generated by bitbake recipe ${PN}" >> ${S}/inittab
 			for console in "${SERIAL_CONSOLES}"; do
 				param=$(echo ${console} | sed s/\;/\ /g)
diff --git a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.6.1.bb b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.7.0.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.6.1.bb
rename to meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.7.0.bb
index 2935221..c5e84b1 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.6.1.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.7.0.bb
@@ -20,7 +20,7 @@
 LDFLAGS:append:libc-musl = " -largp"
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz"
-SRC_URI[sha256sum] = "410ded65a1072ab9c8e41added37b9729c087fef4d2db02bb4ef529ad6da4693"
+SRC_URI[sha256sum] = "94003a00cd5a81944f45e8dc529e0cfd2a6ff629bd2cd21cf5e574e465daf795"
 
 inherit autotools gettext pkgconfig
 
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb
index 35e9b03..a34614d 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb
@@ -1,5 +1,5 @@
 SUMMARY = "Linux Kernel Crypto API User Space Interface Library"
-HOMEPAGE = "http://www.chronox.de/libkcapi.html"
+HOMEPAGE = "https://www.chronox.de/libkcapi/index.html"
 LICENSE = "BSD-3-Clause | GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3d8a091d797491204567185a6efce70f"
 
diff --git a/meta-openembedded/meta-oe/recipes-dbs/influxdb/influxdb_1.8.10.bb b/meta-openembedded/meta-oe/recipes-dbs/influxdb/influxdb_1.8.10.bb
index 0770e4b..5301071 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/influxdb/influxdb_1.8.10.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/influxdb/influxdb_1.8.10.bb
@@ -27,6 +27,8 @@
 
 inherit go-mod pkgconfig systemd update-rc.d useradd
 
+export GOPROXY = "https://proxy.golang.org,direct"
+
 # Workaround for network access issue during compile step
 # this needs to be fixed in the recipes buildsystem to move
 # this such that it can be accomplished during do_fetch task
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch
index 7a4ba98..34d34ec 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch
@@ -1,21 +1,19 @@
-From 780fd27ea6f7f2c446c46a7a5e26d94106c67efd Mon Sep 17 00:00:00 2001
+From ba079b8d6a50796db41bb0ddf4c22bfe022ef898 Mon Sep 17 00:00:00 2001
 From: "Richard W.M. Jones" <rjones@redhat.com>
 Date: Sun, 20 Nov 2016 15:04:52 +0000
-Subject: [PATCH] Add support for RISC-V.
+Subject: [PATCH 1/5] Add support for RISC-V.
 
 The architecture is sufficiently similar to aarch64 that simply
 extending the existing aarch64 macro works.
 ---
-Upstream-Status: Pending
-
- src/include/storage/s_lock.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
+ src/include/storage/s_lock.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h
-index 4d3ffc7..22e27bf 100644
+index c9fa84c..9b491e8 100644
 --- a/src/include/storage/s_lock.h
 +++ b/src/include/storage/s_lock.h
-@@ -317,11 +317,12 @@ tas(volatile slock_t *lock)
+@@ -252,11 +252,12 @@ spin_delay(void)
  
  /*
   * On ARM and ARM64, we use __sync_lock_test_and_set(int *, int) if available.
@@ -24,21 +22,20 @@
   * We use the int-width variant of the builtin because it works on more chips
   * than other widths.
   */
--#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64)
-+#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64) || defined(__riscv)
+-#if defined(__arm__) || defined(__arm) || defined(__aarch64__)
++#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__riscv)
  #ifdef HAVE_GCC__SYNC_INT32_TAS
  #define HAS_TEST_AND_SET
  
-@@ -355,8 +356,7 @@ spin_delay(void)
+@@ -290,7 +291,7 @@ spin_delay(void)
  
- #endif	 /* __aarch64__ || __aarch64 */
+ #endif	 /* __aarch64__ */
  #endif	 /* HAVE_GCC__SYNC_INT32_TAS */
--#endif	 /* __arm__ || __arm || __aarch64__ || __aarch64 */
--
-+#endif	 /* __arm__ || __arm || __aarch64__ || __aarch64 || __riscv */
+-#endif	 /* __arm__ || __arm || __aarch64__ */
++#endif	 /* __arm__ || __arm || __aarch64__ || __riscv */
+ 
  
  /* S/390 and S/390x Linux (32- and 64-bit zSeries) */
- #if defined(__s390__) || defined(__s390x__)
 -- 
-2.34.1
+2.25.1
 
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch
rename to meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch
index 02f4c9e..b3e87cb 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch
@@ -1,7 +1,7 @@
-From bbba8a5261a99e79c9cd4693ef56021014a9856b Mon Sep 17 00:00:00 2001
+From 084cc44215c1d5e6d33bc3d2e1d24da4fc98bdcd Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Mon, 28 Dec 2020 16:38:21 +0800
-Subject: [PATCH] Improve reproducibility,
+Subject: [PATCH 2/5] Improve reproducibility,
 
 Remove build patch from binaries which pg_config do
 not record var-CC, var-CFLAGS, and configure
@@ -23,7 +23,7 @@
  1 file changed, 3 deletions(-)
 
 diff --git a/src/common/Makefile b/src/common/Makefile
-index 880722f..7a9b9d4 100644
+index 113029b..58842a6 100644
 --- a/src/common/Makefile
 +++ b/src/common/Makefile
 @@ -31,9 +31,6 @@ include $(top_builddir)/src/Makefile.global
@@ -37,5 +37,5 @@
  override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
  override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
 -- 
-2.34.1
+2.25.1
 
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch
similarity index 75%
rename from meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
rename to meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch
index ab57805..d76d199 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch
@@ -1,7 +1,7 @@
-From d44c83ed0f30462a31930d6d925762b3f8412ce2 Mon Sep 17 00:00:00 2001
+From 30b1b37d309f67ba6d58f2197bd917107bc7d56c Mon Sep 17 00:00:00 2001
 From: Yi Fan Yu <yifan.yu@windriver.com>
 Date: Fri, 5 Feb 2021 17:15:42 -0500
-Subject: [PATCH] configure.ac: bypass autoconf 2.69 version check
+Subject: [PATCH 3/5] configure.ac: bypass autoconf 2.69 version check
 
 for upgrade to autoconf 2.71
 
@@ -13,18 +13,18 @@
  1 file changed, 4 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index e988503..d1b2cfd 100644
+index 401ce30..27f382d 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
  
- AC_INIT([PostgreSQL], [15.5], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
+ AC_INIT([PostgreSQL], [16.2], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
  
 -m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
 -Untested combinations of 'autoconf' and PostgreSQL versions are not
 -recommended.  You can remove the check from 'configure.ac' but it is then
 -your responsibility whether the result works or not.])])
- AC_COPYRIGHT([Copyright (c) 1996-2022, PostgreSQL Global Development Group])
+ AC_COPYRIGHT([Copyright (c) 1996-2023, PostgreSQL Global Development Group])
  AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
  AC_CONFIG_AUX_DIR(config)
 -- 
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch
rename to meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch
index 52ca276..ff0582a 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-config_info.c-not-expose-build-info.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch
@@ -1,7 +1,7 @@
-From b92eebe8b0760fee7bd55c6c22318620c2c07579 Mon Sep 17 00:00:00 2001
+From 5be3ffdf767c1efcbfd2d1be87aa83f2e37e348e Mon Sep 17 00:00:00 2001
 From: Mingli Yu <mingli.yu@windriver.com>
 Date: Mon, 1 Aug 2022 15:44:38 +0800
-Subject: [PATCH] config_info.c: not expose build info
+Subject: [PATCH 4/5] config_info.c: not expose build info
 
 Don't collect the build information to fix the buildpaths issue.
 
@@ -10,14 +10,14 @@
 Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
 ---
  configure.ac             |  2 +-
- src/common/config_info.c | 68 ----------------------------------------
- 2 files changed, 1 insertion(+), 69 deletions(-)
+ src/common/config_info.c | 70 +---------------------------------------
+ 2 files changed, 2 insertions(+), 70 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 0eb595b..508487b 100644
+index 27f382d..3dd6bb1 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -23,7 +23,7 @@ AC_COPYRIGHT([Copyright (c) 1996-2021, PostgreSQL Global Development Group])
+@@ -23,7 +23,7 @@ AC_COPYRIGHT([Copyright (c) 1996-2023, PostgreSQL Global Development Group])
  AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
  AC_CONFIG_AUX_DIR(config)
  AC_PREFIX_DEFAULT(/usr/local/pgsql)
@@ -27,19 +27,19 @@
  [PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`]
  [PG_MINORVERSION=`expr "$PACKAGE_VERSION" : '.*\.\([0-9][0-9]*\)'`]
 diff --git a/src/common/config_info.c b/src/common/config_info.c
-index e72e729..b482c20 100644
+index 09e78a6..86e4230 100644
 --- a/src/common/config_info.c
 +++ b/src/common/config_info.c
-@@ -38,7 +38,7 @@
+@@ -38,7 +38,7 @@ get_configdata(const char *my_exec_path, size_t *configdata_len)
  	int			i = 0;
  
  	/* Adjust this to match the number of items filled below */
 -	*configdata_len = 23;
 +	*configdata_len = 14;
- 	configdata = (ConfigData *) palloc(*configdata_len * sizeof(ConfigData));
+ 	configdata = palloc_array(ConfigData, *configdata_len);
  
  	configdata[i].name = pstrdup("BINDIR");
-@@ -123,74 +123,6 @@
+@@ -123,74 +123,6 @@ get_configdata(const char *my_exec_path, size_t *configdata_len)
  	configdata[i].setting = pstrdup(path);
  	i++;
  
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-postgresql-fix-ptest-failure-of-sysviews.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch
similarity index 72%
rename from meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-postgresql-fix-ptest-failure-of-sysviews.patch
rename to meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch
index 4db36d2..af36da4 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-postgresql-fix-ptest-failure-of-sysviews.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch
@@ -1,7 +1,7 @@
-From 9f81377dddfe32d950844d7053020a36b40fce08 Mon Sep 17 00:00:00 2001
+From 1a8b94140988d2ee5ff987b0bb3e7c3e936b8c01 Mon Sep 17 00:00:00 2001
 From: Manoj Saun <manojsingh.saun@windriver.com>
 Date: Wed, 22 Mar 2023 08:07:26 +0000
-Subject: [PATCH] postgresql: fix ptest failure of sysviews
+Subject: [PATCH 5/5] postgresql: fix ptest failure of sysviews
 
 The patch "0001-config_info.c-not-expose-build-info.patch" hides the debug info
 in pg_config table which reduces the count of rows from pg_config and leads to
@@ -18,9 +18,11 @@
  src/test/regress/sql/sysviews.sql      | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
+diff --git a/src/test/regress/expected/sysviews.out b/src/test/regress/expected/sysviews.out
+index 001c6e7..8256898 100644
 --- a/src/test/regress/expected/sysviews.out
 +++ b/src/test/regress/expected/sysviews.out
-@@ -29,7 +29,7 @@ select name, ident, parent, level, total
+@@ -29,7 +29,7 @@ select name, ident, parent, level, total_bytes >= free_bytes
  (1 row)
  
  -- At introduction, pg_config had 23 entries; it may grow
@@ -29,9 +31,11 @@
   ok 
  ----
   t
+diff --git a/src/test/regress/sql/sysviews.sql b/src/test/regress/sql/sysviews.sql
+index 351e469..84c113e 100644
 --- a/src/test/regress/sql/sysviews.sql
 +++ b/src/test/regress/sql/sysviews.sql
-@@ -18,7 +18,7 @@ select name, ident, parent, level, total
+@@ -18,7 +18,7 @@ select name, ident, parent, level, total_bytes >= free_bytes
    from pg_backend_memory_contexts where level = 0;
  
  -- At introduction, pg_config had 23 entries; it may grow
@@ -40,3 +44,6 @@
  
  -- We expect no cursors in this test; see also portals.sql
  select count(*) = 0 as ok from pg_cursors;
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
index 15ecdee..868a2e4 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
@@ -54,7 +54,7 @@
 
 PACKAGECONFIG ??= " \
     ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \
-    openssl python uuid libxml tcl perl zlib \
+    openssl python uuid libxml tcl perl zlib icu \
 "
 PACKAGECONFIG[tcl] = "--with-tcl --with-tclconfig=${STAGING_BINDIR_CROSS},--without-tcl,tcl tcl-native,"
 PACKAGECONFIG[perl] = "--with-perl,--without-perl,perl,perl"
@@ -69,6 +69,7 @@
 PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
 PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4"
 PACKAGECONFIG[openssl] = "--with-ssl=openssl,ac_cv_file__dev_urandom=yes,openssl"
+PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu,icu"
 
 EXTRA_OECONF += "--enable-thread-safety --disable-rpath \
     --datadir=${datadir}/${BPN} \
@@ -229,6 +230,16 @@
 SSTATE_SCAN_FILES += "Makefile.global"
 SSTATE_SCAN_FILES:remove = "*_config"
 
+postgresql_fix_sources () {
+	for f in ${PKGD}${TARGET_DBGSRC_DIR}/src/pl/plperl/Util.c \
+			${PKGD}${TARGET_DBGSRC_DIR}/src/pl/plperl/SPI.c; do
+		if [ -e $f ]; then
+			sed -i -e 's#${B}/../${P}#${TARGET_DBGSRC_DIR}#g' $f
+		fi
+	done
+}
+PACKAGESPLITFUNCS =+ "postgresql_fix_sources"
+
 PACKAGES =+ "${PN}-client ${PN}-server-dev ${PN}-timezone \
     libecpg-compat libecpg-compat-dev \
     libecpg libecpg-dev libecpg-staticdev libecpg-doc \
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.5.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.5.bb
deleted file mode 100644
index cb90ff9..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.5.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require postgresql.inc
-
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=c31f662bb2bfb3b4187fe9a53e0ffe7c"
-
-SRC_URI += "\
-   file://not-check-libperl.patch \
-   file://0001-Add-support-for-RISC-V.patch \
-   file://0001-Improve-reproducibility.patch \
-   file://0001-configure.ac-bypass-autoconf-2.69-version-check.patch \
-   file://0001-config_info.c-not-expose-build-info.patch \
-   file://0001-postgresql-fix-ptest-failure-of-sysviews.patch \
-"
-
-SRC_URI[sha256sum] = "8f53aa95d78eb8e82536ea46b68187793b42bba3b4f65aa342f540b23c9b10a6"
-
-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-dbs/postgresql/postgresql_16.2.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_16.2.bb
new file mode 100644
index 0000000..31f83a5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_16.2.bb
@@ -0,0 +1,16 @@
+require postgresql.inc
+
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=89afbb2d7716371015101c2b2cb4297a"
+
+SRC_URI += "\
+   file://not-check-libperl.patch \
+   file://0001-Add-support-for-RISC-V.patch \
+   file://0002-Improve-reproducibility.patch \
+   file://0003-configure.ac-bypass-autoconf-2.69-version-check.patch \
+   file://0004-config_info.c-not-expose-build-info.patch \
+   file://0005-postgresql-fix-ptest-failure-of-sysviews.patch \
+"
+
+SRC_URI[sha256sum] = "446e88294dbc2c9085ab4b7061a646fa604b4bec03521d5ea671c2e5ad9b2952"
+
+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/grpc/grpc_1.60.0.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.60.1.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.60.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.60.1.bb
index d41a73e..63c696a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.60.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.60.1.bb
@@ -20,7 +20,7 @@
 # RDEPENDS:${PN}-dev += "${PN}-compiler"
 
 S = "${WORKDIR}/git"
-SRCREV_grpc = "0ef13a7555dbaadd4633399242524129eef5e231"
+SRCREV_grpc = "e5ae3b6b44bf3b64d24bfb4b4f82556239b986db"
 BRANCH = "v1.60.x"
 SRC_URI = "gitsm://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
            file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch
deleted file mode 100644
index d964586..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyich@gmail.com>
-Date: Wed, 8 Mar 2023 11:31:56 +0000
-Subject: [PATCH] custom allocators: define missing 'rebind' type (#3895)
-
-Upstream-Status: Backport [https://github.com/nlohmann/json/commit/6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- tests/src/unit-allocator.cpp   | 9 +++++++++
- tests/src/unit-regression2.cpp | 9 +++++++++
- 2 files changed, 18 insertions(+)
-
-diff --git a/tests/src/unit-allocator.cpp b/tests/src/unit-allocator.cpp
-index 76e3b03f..f2e63552 100644
---- a/tests/src/unit-allocator.cpp
-+++ b/tests/src/unit-allocator.cpp
-@@ -20,11 +20,20 @@ struct bad_allocator : std::allocator<T>
- {
-     using std::allocator<T>::allocator;
- 
-+    bad_allocator() = default;
-+    template<class U> bad_allocator(const bad_allocator<U>& /*unused*/) { }
-+
-     template<class... Args>
-     void construct(T* /*unused*/, Args&& ... /*unused*/)
-     {
-         throw std::bad_alloc();
-     }
-+
-+    template <class U>
-+    struct rebind
-+    {
-+        using other = bad_allocator<U>;
-+    };
- };
- } // namespace
- 
-diff --git a/tests/src/unit-regression2.cpp b/tests/src/unit-regression2.cpp
-index 2bb9b32e..dbafb436 100644
---- a/tests/src/unit-regression2.cpp
-+++ b/tests/src/unit-regression2.cpp
-@@ -189,6 +189,15 @@ class my_allocator : public std::allocator<T>
- {
-   public:
-     using std::allocator<T>::allocator;
-+
-+    my_allocator() = default;
-+    template<class U> my_allocator(const my_allocator<U>& /*unused*/) { }
-+
-+    template <class U>
-+    struct rebind
-+    {
-+        using other = my_allocator<U>;
-+    };
- };
- 
- /////////////////////////////////////////////////////////////////////
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch
deleted file mode 100644
index 463912e..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 660d0b58565073975d6f5d94365d6cbf150a4cf8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me>
-Date: Sun, 5 Mar 2023 14:11:22 +0100
-Subject: [PATCH] tests/unit-iterators2: use std::ranges::equals for range
- comparisons (#3950)
-
-Closes https://github.com/nlohmann/json/issues/3927
-
-Upstream-Status: Backport [https://github.com/nlohmann/json/commit/660d0b58565073975d6f5d94365d6cbf150a4cf8]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- tests/src/unit-iterators2.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/src/unit-iterators2.cpp b/tests/src/unit-iterators2.cpp
-index 27926084..72a5d9dc 100644
---- a/tests/src/unit-iterators2.cpp
-+++ b/tests/src/unit-iterators2.cpp
-@@ -943,7 +943,7 @@ TEST_CASE("iterators 2")
-                 json j_expected{5, 4, 3, 2, 1};
- 
-                 auto reversed = j | std::views::reverse;
--                CHECK(reversed == j_expected);
-+                CHECK(std::ranges::equal(reversed, j_expected));
-             }
- 
-             SECTION("transform")
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.3.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb
rename to meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.3.bb
index 3509323..194e805 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.3.bb
@@ -8,12 +8,10 @@
 
 SRC_URI = "git://github.com/nlohmann/json.git;branch=develop;protocol=https \
            git://github.com/nlohmann/json_test_data.git;destsuffix=git/json_test_data;name=json-test-data;branch=master;protocol=https \
-           file://0001-custom-allocators-define-missing-rebind-type-3895.patch \
-           file://0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch \
            file://run-ptest \
 "
 
-SRCREV = "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d"
+SRCREV = "9cca280a4d0ccf0c08f47a99aa71d1b0e52f8d03"
 SRCREV_json-test-data = "a1375cea09d27cc1c4cadb8d00470375b421ac37"
 
 SRCREV_FORMAT .= "_json-test-data"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Revert-io_uring-changes-from-libuv-1.46.0.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Revert-io_uring-changes-from-libuv-1.46.0.patch
deleted file mode 100644
index d98463d..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Revert-io_uring-changes-from-libuv-1.46.0.patch
+++ /dev/null
@@ -1,3414 +0,0 @@
-From 937dfa70104b7401a7570a98cf6e0a534e250557 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <martin.jansa@gmail.com>
-Date: Wed, 18 Oct 2023 22:43:55 +0200
-Subject: [PATCH] Revert io_uring changes from libuv-1.46.0
-
-Included in nodejs-20.4.0 with the libuv upgrade to 1.46.0 in:
-https://github.com/nodejs/node/commit/6199e1946c9abd59bd71a61870a4f6c85e100b18
-
-Revert "linux: work around io_uring IORING_OP_CLOSE bug (#4059)"
-This reverts commit 1752791c9ea89dbf54e2a20a9d9f899119a2d179.
-Revert "linux: fs_read to use io_uring if iovcnt > IOV_MAX (#4023)"
-This reverts commit e7b96331703e929e75d93c574573c9736e34b0c0.
-Revert "linux: add some more iouring backed fs ops (#4012)"
-This reverts commit 962b8e626ceaaf296eecab1d008e8b70dc6da5e7.
-Revert "android: disable io_uring support (#4016)"
-This reverts commit 281e6185cc9e77c582ff6ca9e4c00d57e6b90d95.
-Revert "unix,win: replace QUEUE with struct uv__queue (#4022)"
-This reverts commit 1b01b786c0180d29f07dccbb98001a2b3148828a.
-Revert "fs: use WTF-8 on Windows (#2970)"
-This reverts commit 8f32a14afaaa47514a7d28e1e069a8329e2dd939.
-
-Dropped deps/uv/docs deps/uv/test changes as these dirs aren't included
-in nodejs tarballs.
-
-Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
----
-Upstream-Status: Inappropriate [OE specific]
-
- deps/uv/include/uv.h                     |  10 +-
- deps/uv/include/uv/darwin.h              |   6 +-
- deps/uv/include/uv/linux.h               |   2 +-
- deps/uv/include/uv/threadpool.h          |   2 +-
- deps/uv/include/uv/unix.h                |  44 ++--
- deps/uv/include/uv/win.h                 |   4 +-
- deps/uv/src/queue.h                      | 154 ++++++-----
- deps/uv/src/threadpool.c                 |  72 +++---
- deps/uv/src/unix/aix.c                   |  14 +-
- deps/uv/src/unix/async.c                 |  52 ++--
- deps/uv/src/unix/core.c                  |  53 ++--
- deps/uv/src/unix/fs.c                    |  41 +--
- deps/uv/src/unix/fsevents.c              |  84 +++---
- deps/uv/src/unix/internal.h              |  11 -
- deps/uv/src/unix/kqueue.c                |  18 +-
- deps/uv/src/unix/linux.c                 | 257 +++----------------
- deps/uv/src/unix/loop-watcher.c          |  20 +-
- deps/uv/src/unix/loop.c                  |  28 +-
- deps/uv/src/unix/os390-syscalls.c        |  24 +-
- deps/uv/src/unix/os390-syscalls.h        |   2 +-
- deps/uv/src/unix/os390.c                 |  14 +-
- deps/uv/src/unix/pipe.c                  |   2 +-
- deps/uv/src/unix/posix-poll.c            |  14 +-
- deps/uv/src/unix/process.c               |  38 +--
- deps/uv/src/unix/signal.c                |   8 +-
- deps/uv/src/unix/stream.c                |  56 ++--
- deps/uv/src/unix/sunos.c                 |  18 +-
- deps/uv/src/unix/tcp.c                   |   4 +-
- deps/uv/src/unix/tty.c                   |   2 +-
- deps/uv/src/unix/udp.c                   |  76 +++---
- deps/uv/src/uv-common.c                  |  28 +-
- deps/uv/src/uv-common.h                  |   3 +-
- deps/uv/src/win/core.c                   |   6 +-
- deps/uv/src/win/fs.c                     | 311 ++++++++---------------
- deps/uv/src/win/handle-inl.h             |   2 +-
- deps/uv/src/win/pipe.c                   |  26 +-
- deps/uv/src/win/tcp.c                    |   4 +-
- deps/uv/src/win/udp.c                    |   4 +-
- deps/uv/test/test-fs.c                   |  53 ----
- deps/uv/test/test-list.h                 |   2 -
- deps/uv/test/test-queue-foreach-delete.c |   5 +-
- deps/uv/test/test-threadpool-cancel.c    |   5 -
- 42 files changed, 625 insertions(+), 954 deletions(-)
-
-diff --git a/deps/uv/include/uv.h b/deps/uv/include/uv.h
-index 02397dd0fdd..1af95289776 100644
---- a/deps/uv/include/uv.h
-+++ b/deps/uv/include/uv.h
-@@ -59,12 +59,6 @@ extern "C" {
- #include <stdio.h>
- #include <stdint.h>
- 
--/* Internal type, do not use. */
--struct uv__queue {
--  struct uv__queue* next;
--  struct uv__queue* prev;
--};
--
- #if defined(_WIN32)
- # include "uv/win.h"
- #else
-@@ -466,7 +460,7 @@ struct uv_shutdown_s {
-   uv_handle_type type;                                                        \
-   /* private */                                                               \
-   uv_close_cb close_cb;                                                       \
--  struct uv__queue handle_queue;                                              \
-+  void* handle_queue[2];                                                      \
-   union {                                                                     \
-     int fd;                                                                   \
-     void* reserved[4];                                                        \
-@@ -1870,7 +1864,7 @@ struct uv_loop_s {
-   void* data;
-   /* Loop reference counting. */
-   unsigned int active_handles;
--  struct uv__queue handle_queue;
-+  void* handle_queue[2];
-   union {
-     void* unused;
-     unsigned int count;
-diff --git a/deps/uv/include/uv/darwin.h b/deps/uv/include/uv/darwin.h
-index 06962bfda80..d226415820b 100644
---- a/deps/uv/include/uv/darwin.h
-+++ b/deps/uv/include/uv/darwin.h
-@@ -40,7 +40,7 @@
-   void* cf_state;                                                             \
-   uv_mutex_t cf_mutex;                                                        \
-   uv_sem_t cf_sem;                                                            \
--  struct uv__queue cf_signals;                                                \
-+  void* cf_signals[2];                                                        \
- 
- #define UV_PLATFORM_FS_EVENT_FIELDS                                           \
-   uv__io_t event_watcher;                                                     \
-@@ -48,8 +48,8 @@
-   int realpath_len;                                                           \
-   int cf_flags;                                                               \
-   uv_async_t* cf_cb;                                                          \
--  struct uv__queue cf_events;                                                 \
--  struct uv__queue cf_member;                                                 \
-+  void* cf_events[2];                                                         \
-+  void* cf_member[2];                                                         \
-   int cf_error;                                                               \
-   uv_mutex_t cf_mutex;                                                        \
- 
-diff --git a/deps/uv/include/uv/linux.h b/deps/uv/include/uv/linux.h
-index 9f22f8cf726..9b38405a190 100644
---- a/deps/uv/include/uv/linux.h
-+++ b/deps/uv/include/uv/linux.h
-@@ -28,7 +28,7 @@
-   int inotify_fd;                                                             \
- 
- #define UV_PLATFORM_FS_EVENT_FIELDS                                           \
--  struct uv__queue watchers;                                                  \
-+  void* watchers[2];                                                          \
-   int wd;                                                                     \
- 
- #endif /* UV_LINUX_H */
-diff --git a/deps/uv/include/uv/threadpool.h b/deps/uv/include/uv/threadpool.h
-index 24ce916fda4..9708ebdd530 100644
---- a/deps/uv/include/uv/threadpool.h
-+++ b/deps/uv/include/uv/threadpool.h
-@@ -31,7 +31,7 @@ struct uv__work {
-   void (*work)(struct uv__work *w);
-   void (*done)(struct uv__work *w, int status);
-   struct uv_loop_s* loop;
--  struct uv__queue wq;
-+  void* wq[2];
- };
- 
- #endif /* UV_THREADPOOL_H_ */
-diff --git a/deps/uv/include/uv/unix.h b/deps/uv/include/uv/unix.h
-index 09f88a56742..95447b8dd67 100644
---- a/deps/uv/include/uv/unix.h
-+++ b/deps/uv/include/uv/unix.h
-@@ -92,8 +92,8 @@ typedef struct uv__io_s uv__io_t;
- 
- struct uv__io_s {
-   uv__io_cb cb;
--  struct uv__queue pending_queue;
--  struct uv__queue watcher_queue;
-+  void* pending_queue[2];
-+  void* watcher_queue[2];
-   unsigned int pevents; /* Pending event mask i.e. mask at next tick. */
-   unsigned int events;  /* Current event mask. */
-   int fd;
-@@ -220,21 +220,21 @@ typedef struct {
- #define UV_LOOP_PRIVATE_FIELDS                                                \
-   unsigned long flags;                                                        \
-   int backend_fd;                                                             \
--  struct uv__queue pending_queue;                                             \
--  struct uv__queue watcher_queue;                                             \
-+  void* pending_queue[2];                                                     \
-+  void* watcher_queue[2];                                                     \
-   uv__io_t** watchers;                                                        \
-   unsigned int nwatchers;                                                     \
-   unsigned int nfds;                                                          \
--  struct uv__queue wq;                                                        \
-+  void* wq[2];                                                                \
-   uv_mutex_t wq_mutex;                                                        \
-   uv_async_t wq_async;                                                        \
-   uv_rwlock_t cloexec_lock;                                                   \
-   uv_handle_t* closing_handles;                                               \
--  struct uv__queue process_handles;                                           \
--  struct uv__queue prepare_handles;                                           \
--  struct uv__queue check_handles;                                             \
--  struct uv__queue idle_handles;                                              \
--  struct uv__queue async_handles;                                             \
-+  void* process_handles[2];                                                   \
-+  void* prepare_handles[2];                                                   \
-+  void* check_handles[2];                                                     \
-+  void* idle_handles[2];                                                      \
-+  void* async_handles[2];                                                     \
-   void (*async_unused)(void);  /* TODO(bnoordhuis) Remove in libuv v2. */     \
-   uv__io_t async_io_watcher;                                                  \
-   int async_wfd;                                                              \
-@@ -257,7 +257,7 @@ typedef struct {
- #define UV_PRIVATE_REQ_TYPES /* empty */
- 
- #define UV_WRITE_PRIVATE_FIELDS                                               \
--  struct uv__queue queue;                                                     \
-+  void* queue[2];                                                             \
-   unsigned int write_index;                                                   \
-   uv_buf_t* bufs;                                                             \
-   unsigned int nbufs;                                                         \
-@@ -265,12 +265,12 @@ typedef struct {
-   uv_buf_t bufsml[4];                                                         \
- 
- #define UV_CONNECT_PRIVATE_FIELDS                                             \
--  struct uv__queue queue;                                                     \
-+  void* queue[2];                                                             \
- 
- #define UV_SHUTDOWN_PRIVATE_FIELDS /* empty */
- 
- #define UV_UDP_SEND_PRIVATE_FIELDS                                            \
--  struct uv__queue queue;                                                     \
-+  void* queue[2];                                                             \
-   struct sockaddr_storage addr;                                               \
-   unsigned int nbufs;                                                         \
-   uv_buf_t* bufs;                                                             \
-@@ -286,8 +286,8 @@ typedef struct {
-   uv_connect_t *connect_req;                                                  \
-   uv_shutdown_t *shutdown_req;                                                \
-   uv__io_t io_watcher;                                                        \
--  struct uv__queue write_queue;                                               \
--  struct uv__queue write_completed_queue;                                     \
-+  void* write_queue[2];                                                       \
-+  void* write_completed_queue[2];                                             \
-   uv_connection_cb connection_cb;                                             \
-   int delayed_error;                                                          \
-   int accepted_fd;                                                            \
-@@ -300,8 +300,8 @@ typedef struct {
-   uv_alloc_cb alloc_cb;                                                       \
-   uv_udp_recv_cb recv_cb;                                                     \
-   uv__io_t io_watcher;                                                        \
--  struct uv__queue write_queue;                                               \
--  struct uv__queue write_completed_queue;                                     \
-+  void* write_queue[2];                                                       \
-+  void* write_completed_queue[2];                                             \
- 
- #define UV_PIPE_PRIVATE_FIELDS                                                \
-   const char* pipe_fname; /* NULL or strdup'ed */
-@@ -311,19 +311,19 @@ typedef struct {
- 
- #define UV_PREPARE_PRIVATE_FIELDS                                             \
-   uv_prepare_cb prepare_cb;                                                   \
--  struct uv__queue queue;                                                     \
-+  void* queue[2];                                                             \
- 
- #define UV_CHECK_PRIVATE_FIELDS                                               \
-   uv_check_cb check_cb;                                                       \
--  struct uv__queue queue;                                                     \
-+  void* queue[2];                                                             \
- 
- #define UV_IDLE_PRIVATE_FIELDS                                                \
-   uv_idle_cb idle_cb;                                                         \
--  struct uv__queue queue;                                                     \
-+  void* queue[2];                                                             \
- 
- #define UV_ASYNC_PRIVATE_FIELDS                                               \
-   uv_async_cb async_cb;                                                       \
--  struct uv__queue queue;                                                     \
-+  void* queue[2];                                                             \
-   int pending;                                                                \
- 
- #define UV_TIMER_PRIVATE_FIELDS                                               \
-@@ -352,7 +352,7 @@ typedef struct {
-   int retcode;
- 
- #define UV_PROCESS_PRIVATE_FIELDS                                             \
--  struct uv__queue queue;                                                     \
-+  void* queue[2];                                                             \
-   int status;                                                                 \
- 
- #define UV_FS_PRIVATE_FIELDS                                                  \
-diff --git a/deps/uv/include/uv/win.h b/deps/uv/include/uv/win.h
-index 6f8c47298e4..92a95fa15f1 100644
---- a/deps/uv/include/uv/win.h
-+++ b/deps/uv/include/uv/win.h
-@@ -357,7 +357,7 @@ typedef struct {
-   /* Counter to started timer */                                              \
-   uint64_t timer_counter;                                                     \
-   /* Threadpool */                                                            \
--  struct uv__queue wq;                                                        \
-+  void* wq[2];                                                                \
-   uv_mutex_t wq_mutex;                                                        \
-   uv_async_t wq_async;
- 
-@@ -486,7 +486,7 @@ typedef struct {
-     uint32_t payload_remaining;                                               \
-     uint64_t dummy; /* TODO: retained for ABI compat; remove this in v2.x. */ \
-   } ipc_data_frame;                                                           \
--  struct uv__queue ipc_xfer_queue;                                            \
-+  void* ipc_xfer_queue[2];                                                    \
-   int ipc_xfer_queue_length;                                                  \
-   uv_write_t* non_overlapped_writes_tail;                                     \
-   CRITICAL_SECTION readfile_thread_lock;                                      \
-diff --git a/deps/uv/src/queue.h b/deps/uv/src/queue.h
-index 5f8489e9bc5..ff3540a0a51 100644
---- a/deps/uv/src/queue.h
-+++ b/deps/uv/src/queue.h
-@@ -18,73 +18,91 @@
- 
- #include <stddef.h>
- 
--#define uv__queue_data(pointer, type, field)                                  \
--  ((type*) ((char*) (pointer) - offsetof(type, field)))
--
--#define uv__queue_foreach(q, h)                                               \
--  for ((q) = (h)->next; (q) != (h); (q) = (q)->next)
--
--static inline void uv__queue_init(struct uv__queue* q) {
--  q->next = q;
--  q->prev = q;
--}
--
--static inline int uv__queue_empty(const struct uv__queue* q) {
--  return q == q->next;
--}
--
--static inline struct uv__queue* uv__queue_head(const struct uv__queue* q) {
--  return q->next;
--}
--
--static inline struct uv__queue* uv__queue_next(const struct uv__queue* q) {
--  return q->next;
--}
--
--static inline void uv__queue_add(struct uv__queue* h, struct uv__queue* n) {
--  h->prev->next = n->next;
--  n->next->prev = h->prev;
--  h->prev = n->prev;
--  h->prev->next = h;
--}
--
--static inline void uv__queue_split(struct uv__queue* h,
--                                   struct uv__queue* q,
--                                   struct uv__queue* n) {
--  n->prev = h->prev;
--  n->prev->next = n;
--  n->next = q;
--  h->prev = q->prev;
--  h->prev->next = h;
--  q->prev = n;
--}
--
--static inline void uv__queue_move(struct uv__queue* h, struct uv__queue* n) {
--  if (uv__queue_empty(h))
--    uv__queue_init(n);
--  else
--    uv__queue_split(h, h->next, n);
--}
--
--static inline void uv__queue_insert_head(struct uv__queue* h,
--                                         struct uv__queue* q) {
--  q->next = h->next;
--  q->prev = h;
--  q->next->prev = q;
--  h->next = q;
--}
--
--static inline void uv__queue_insert_tail(struct uv__queue* h,
--                                         struct uv__queue* q) {
--  q->next = h;
--  q->prev = h->prev;
--  q->prev->next = q;
--  h->prev = q;
--}
--
--static inline void uv__queue_remove(struct uv__queue* q) {
--  q->prev->next = q->next;
--  q->next->prev = q->prev;
--}
-+typedef void *QUEUE[2];
-+
-+/* Private macros. */
-+#define QUEUE_NEXT(q)       (*(QUEUE **) &((*(q))[0]))
-+#define QUEUE_PREV(q)       (*(QUEUE **) &((*(q))[1]))
-+#define QUEUE_PREV_NEXT(q)  (QUEUE_NEXT(QUEUE_PREV(q)))
-+#define QUEUE_NEXT_PREV(q)  (QUEUE_PREV(QUEUE_NEXT(q)))
-+
-+/* Public macros. */
-+#define QUEUE_DATA(ptr, type, field)                                          \
-+  ((type *) ((char *) (ptr) - offsetof(type, field)))
-+
-+/* Important note: mutating the list while QUEUE_FOREACH is
-+ * iterating over its elements results in undefined behavior.
-+ */
-+#define QUEUE_FOREACH(q, h)                                                   \
-+  for ((q) = QUEUE_NEXT(h); (q) != (h); (q) = QUEUE_NEXT(q))
-+
-+#define QUEUE_EMPTY(q)                                                        \
-+  ((const QUEUE *) (q) == (const QUEUE *) QUEUE_NEXT(q))
-+
-+#define QUEUE_HEAD(q)                                                         \
-+  (QUEUE_NEXT(q))
-+
-+#define QUEUE_INIT(q)                                                         \
-+  do {                                                                        \
-+    QUEUE_NEXT(q) = (q);                                                      \
-+    QUEUE_PREV(q) = (q);                                                      \
-+  }                                                                           \
-+  while (0)
-+
-+#define QUEUE_ADD(h, n)                                                       \
-+  do {                                                                        \
-+    QUEUE_PREV_NEXT(h) = QUEUE_NEXT(n);                                       \
-+    QUEUE_NEXT_PREV(n) = QUEUE_PREV(h);                                       \
-+    QUEUE_PREV(h) = QUEUE_PREV(n);                                            \
-+    QUEUE_PREV_NEXT(h) = (h);                                                 \
-+  }                                                                           \
-+  while (0)
-+
-+#define QUEUE_SPLIT(h, q, n)                                                  \
-+  do {                                                                        \
-+    QUEUE_PREV(n) = QUEUE_PREV(h);                                            \
-+    QUEUE_PREV_NEXT(n) = (n);                                                 \
-+    QUEUE_NEXT(n) = (q);                                                      \
-+    QUEUE_PREV(h) = QUEUE_PREV(q);                                            \
-+    QUEUE_PREV_NEXT(h) = (h);                                                 \
-+    QUEUE_PREV(q) = (n);                                                      \
-+  }                                                                           \
-+  while (0)
-+
-+#define QUEUE_MOVE(h, n)                                                      \
-+  do {                                                                        \
-+    if (QUEUE_EMPTY(h))                                                       \
-+      QUEUE_INIT(n);                                                          \
-+    else {                                                                    \
-+      QUEUE* q = QUEUE_HEAD(h);                                               \
-+      QUEUE_SPLIT(h, q, n);                                                   \
-+    }                                                                         \
-+  }                                                                           \
-+  while (0)
-+
-+#define QUEUE_INSERT_HEAD(h, q)                                               \
-+  do {                                                                        \
-+    QUEUE_NEXT(q) = QUEUE_NEXT(h);                                            \
-+    QUEUE_PREV(q) = (h);                                                      \
-+    QUEUE_NEXT_PREV(q) = (q);                                                 \
-+    QUEUE_NEXT(h) = (q);                                                      \
-+  }                                                                           \
-+  while (0)
-+
-+#define QUEUE_INSERT_TAIL(h, q)                                               \
-+  do {                                                                        \
-+    QUEUE_NEXT(q) = (h);                                                      \
-+    QUEUE_PREV(q) = QUEUE_PREV(h);                                            \
-+    QUEUE_PREV_NEXT(q) = (q);                                                 \
-+    QUEUE_PREV(h) = (q);                                                      \
-+  }                                                                           \
-+  while (0)
-+
-+#define QUEUE_REMOVE(q)                                                       \
-+  do {                                                                        \
-+    QUEUE_PREV_NEXT(q) = QUEUE_NEXT(q);                                       \
-+    QUEUE_NEXT_PREV(q) = QUEUE_PREV(q);                                       \
-+  }                                                                           \
-+  while (0)
- 
- #endif /* QUEUE_H_ */
-diff --git a/deps/uv/src/threadpool.c b/deps/uv/src/threadpool.c
-index dbef67f2f10..51962bf0021 100644
---- a/deps/uv/src/threadpool.c
-+++ b/deps/uv/src/threadpool.c
-@@ -37,10 +37,10 @@ static unsigned int slow_io_work_running;
- static unsigned int nthreads;
- static uv_thread_t* threads;
- static uv_thread_t default_threads[4];
--static struct uv__queue exit_message;
--static struct uv__queue wq;
--static struct uv__queue run_slow_work_message;
--static struct uv__queue slow_io_pending_wq;
-+static QUEUE exit_message;
-+static QUEUE wq;
-+static QUEUE run_slow_work_message;
-+static QUEUE slow_io_pending_wq;
- 
- static unsigned int slow_work_thread_threshold(void) {
-   return (nthreads + 1) / 2;
-@@ -56,7 +56,7 @@ static void uv__cancelled(struct uv__work* w) {
-  */
- static void worker(void* arg) {
-   struct uv__work* w;
--  struct uv__queue* q;
-+  QUEUE* q;
-   int is_slow_work;
- 
-   uv_sem_post((uv_sem_t*) arg);
-@@ -68,49 +68,49 @@ static void worker(void* arg) {
- 
-     /* Keep waiting while either no work is present or only slow I/O
-        and we're at the threshold for that. */
--    while (uv__queue_empty(&wq) ||
--           (uv__queue_head(&wq) == &run_slow_work_message &&
--            uv__queue_next(&run_slow_work_message) == &wq &&
-+    while (QUEUE_EMPTY(&wq) ||
-+           (QUEUE_HEAD(&wq) == &run_slow_work_message &&
-+            QUEUE_NEXT(&run_slow_work_message) == &wq &&
-             slow_io_work_running >= slow_work_thread_threshold())) {
-       idle_threads += 1;
-       uv_cond_wait(&cond, &mutex);
-       idle_threads -= 1;
-     }
- 
--    q = uv__queue_head(&wq);
-+    q = QUEUE_HEAD(&wq);
-     if (q == &exit_message) {
-       uv_cond_signal(&cond);
-       uv_mutex_unlock(&mutex);
-       break;
-     }
- 
--    uv__queue_remove(q);
--    uv__queue_init(q);  /* Signal uv_cancel() that the work req is executing. */
-+    QUEUE_REMOVE(q);
-+    QUEUE_INIT(q);  /* Signal uv_cancel() that the work req is executing. */
- 
-     is_slow_work = 0;
-     if (q == &run_slow_work_message) {
-       /* If we're at the slow I/O threshold, re-schedule until after all
-          other work in the queue is done. */
-       if (slow_io_work_running >= slow_work_thread_threshold()) {
--        uv__queue_insert_tail(&wq, q);
-+        QUEUE_INSERT_TAIL(&wq, q);
-         continue;
-       }
- 
-       /* If we encountered a request to run slow I/O work but there is none
-          to run, that means it's cancelled => Start over. */
--      if (uv__queue_empty(&slow_io_pending_wq))
-+      if (QUEUE_EMPTY(&slow_io_pending_wq))
-         continue;
- 
-       is_slow_work = 1;
-       slow_io_work_running++;
- 
--      q = uv__queue_head(&slow_io_pending_wq);
--      uv__queue_remove(q);
--      uv__queue_init(q);
-+      q = QUEUE_HEAD(&slow_io_pending_wq);
-+      QUEUE_REMOVE(q);
-+      QUEUE_INIT(q);
- 
-       /* If there is more slow I/O work, schedule it to be run as well. */
--      if (!uv__queue_empty(&slow_io_pending_wq)) {
--        uv__queue_insert_tail(&wq, &run_slow_work_message);
-+      if (!QUEUE_EMPTY(&slow_io_pending_wq)) {
-+        QUEUE_INSERT_TAIL(&wq, &run_slow_work_message);
-         if (idle_threads > 0)
-           uv_cond_signal(&cond);
-       }
-@@ -118,13 +118,13 @@ static void worker(void* arg) {
- 
-     uv_mutex_unlock(&mutex);
- 
--    w = uv__queue_data(q, struct uv__work, wq);
-+    w = QUEUE_DATA(q, struct uv__work, wq);
-     w->work(w);
- 
-     uv_mutex_lock(&w->loop->wq_mutex);
-     w->work = NULL;  /* Signal uv_cancel() that the work req is done
-                         executing. */
--    uv__queue_insert_tail(&w->loop->wq, &w->wq);
-+    QUEUE_INSERT_TAIL(&w->loop->wq, &w->wq);
-     uv_async_send(&w->loop->wq_async);
-     uv_mutex_unlock(&w->loop->wq_mutex);
- 
-@@ -139,12 +139,12 @@ static void worker(void* arg) {
- }
- 
- 
--static void post(struct uv__queue* q, enum uv__work_kind kind) {
-+static void post(QUEUE* q, enum uv__work_kind kind) {
-   uv_mutex_lock(&mutex);
-   if (kind == UV__WORK_SLOW_IO) {
-     /* Insert into a separate queue. */
--    uv__queue_insert_tail(&slow_io_pending_wq, q);
--    if (!uv__queue_empty(&run_slow_work_message)) {
-+    QUEUE_INSERT_TAIL(&slow_io_pending_wq, q);
-+    if (!QUEUE_EMPTY(&run_slow_work_message)) {
-       /* Running slow I/O tasks is already scheduled => Nothing to do here.
-          The worker that runs said other task will schedule this one as well. */
-       uv_mutex_unlock(&mutex);
-@@ -153,7 +153,7 @@ static void post(struct uv__queue* q, enum uv__work_kind kind) {
-     q = &run_slow_work_message;
-   }
- 
--  uv__queue_insert_tail(&wq, q);
-+  QUEUE_INSERT_TAIL(&wq, q);
-   if (idle_threads > 0)
-     uv_cond_signal(&cond);
-   uv_mutex_unlock(&mutex);
-@@ -220,9 +220,9 @@ static void init_threads(void) {
-   if (uv_mutex_init(&mutex))
-     abort();
- 
--  uv__queue_init(&wq);
--  uv__queue_init(&slow_io_pending_wq);
--  uv__queue_init(&run_slow_work_message);
-+  QUEUE_INIT(&wq);
-+  QUEUE_INIT(&slow_io_pending_wq);
-+  QUEUE_INIT(&run_slow_work_message);
- 
-   if (uv_sem_init(&sem, 0))
-     abort();
-@@ -285,9 +285,9 @@ static int uv__work_cancel(uv_loop_t* loop, uv_req_t* req, struct uv__work* w) {
-   uv_mutex_lock(&mutex);
-   uv_mutex_lock(&w->loop->wq_mutex);
- 
--  cancelled = !uv__queue_empty(&w->wq) && w->work != NULL;
-+  cancelled = !QUEUE_EMPTY(&w->wq) && w->work != NULL;
-   if (cancelled)
--    uv__queue_remove(&w->wq);
-+    QUEUE_REMOVE(&w->wq);
- 
-   uv_mutex_unlock(&w->loop->wq_mutex);
-   uv_mutex_unlock(&mutex);
-@@ -297,7 +297,7 @@ static int uv__work_cancel(uv_loop_t* loop, uv_req_t* req, struct uv__work* w) {
- 
-   w->work = uv__cancelled;
-   uv_mutex_lock(&loop->wq_mutex);
--  uv__queue_insert_tail(&loop->wq, &w->wq);
-+  QUEUE_INSERT_TAIL(&loop->wq, &w->wq);
-   uv_async_send(&loop->wq_async);
-   uv_mutex_unlock(&loop->wq_mutex);
- 
-@@ -308,21 +308,21 @@ static int uv__work_cancel(uv_loop_t* loop, uv_req_t* req, struct uv__work* w) {
- void uv__work_done(uv_async_t* handle) {
-   struct uv__work* w;
-   uv_loop_t* loop;
--  struct uv__queue* q;
--  struct uv__queue wq;
-+  QUEUE* q;
-+  QUEUE wq;
-   int err;
-   int nevents;
- 
-   loop = container_of(handle, uv_loop_t, wq_async);
-   uv_mutex_lock(&loop->wq_mutex);
--  uv__queue_move(&loop->wq, &wq);
-+  QUEUE_MOVE(&loop->wq, &wq);
-   uv_mutex_unlock(&loop->wq_mutex);
- 
-   nevents = 0;
- 
--  while (!uv__queue_empty(&wq)) {
--    q = uv__queue_head(&wq);
--    uv__queue_remove(q);
-+  while (!QUEUE_EMPTY(&wq)) {
-+    q = QUEUE_HEAD(&wq);
-+    QUEUE_REMOVE(q);
- 
-     w = container_of(q, struct uv__work, wq);
-     err = (w->work == uv__cancelled) ? UV_ECANCELED : 0;
-diff --git a/deps/uv/src/unix/aix.c b/deps/uv/src/unix/aix.c
-index 3af3009a216..f1afbed49ec 100644
---- a/deps/uv/src/unix/aix.c
-+++ b/deps/uv/src/unix/aix.c
-@@ -136,7 +136,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   struct pollfd pqry;
-   struct pollfd* pe;
-   struct poll_ctl pc;
--  struct uv__queue* q;
-+  QUEUE* q;
-   uv__io_t* w;
-   uint64_t base;
-   uint64_t diff;
-@@ -151,18 +151,18 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   int reset_timeout;
- 
-   if (loop->nfds == 0) {
--    assert(uv__queue_empty(&loop->watcher_queue));
-+    assert(QUEUE_EMPTY(&loop->watcher_queue));
-     return;
-   }
- 
-   lfields = uv__get_internal_fields(loop);
- 
--  while (!uv__queue_empty(&loop->watcher_queue)) {
--    q = uv__queue_head(&loop->watcher_queue);
--    uv__queue_remove(q);
--    uv__queue_init(q);
-+  while (!QUEUE_EMPTY(&loop->watcher_queue)) {
-+    q = QUEUE_HEAD(&loop->watcher_queue);
-+    QUEUE_REMOVE(q);
-+    QUEUE_INIT(q);
- 
--    w = uv__queue_data(q, uv__io_t, watcher_queue);
-+    w = QUEUE_DATA(q, uv__io_t, watcher_queue);
-     assert(w->pevents != 0);
-     assert(w->fd >= 0);
-     assert(w->fd < (int) loop->nwatchers);
-diff --git a/deps/uv/src/unix/async.c b/deps/uv/src/unix/async.c
-index 0ff2669e30a..5751b6d02be 100644
---- a/deps/uv/src/unix/async.c
-+++ b/deps/uv/src/unix/async.c
-@@ -55,7 +55,7 @@ int uv_async_init(uv_loop_t* loop, uv_async_t* handle, uv_async_cb async_cb) {
-   handle->pending = 0;
-   handle->u.fd = 0; /* This will be used as a busy flag. */
- 
--  uv__queue_insert_tail(&loop->async_handles, &handle->queue);
-+  QUEUE_INSERT_TAIL(&loop->async_handles, &handle->queue);
-   uv__handle_start(handle);
- 
-   return 0;
-@@ -124,7 +124,7 @@ static void uv__async_spin(uv_async_t* handle) {
- 
- void uv__async_close(uv_async_t* handle) {
-   uv__async_spin(handle);
--  uv__queue_remove(&handle->queue);
-+  QUEUE_REMOVE(&handle->queue);
-   uv__handle_stop(handle);
- }
- 
-@@ -132,8 +132,8 @@ void uv__async_close(uv_async_t* handle) {
- static void uv__async_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
-   char buf[1024];
-   ssize_t r;
--  struct uv__queue queue;
--  struct uv__queue* q;
-+  QUEUE queue;
-+  QUEUE* q;
-   uv_async_t* h;
-   _Atomic int *pending;
- 
-@@ -157,13 +157,13 @@ static void uv__async_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
-     abort();
-   }
- 
--  uv__queue_move(&loop->async_handles, &queue);
--  while (!uv__queue_empty(&queue)) {
--    q = uv__queue_head(&queue);
--    h = uv__queue_data(q, uv_async_t, queue);
-+  QUEUE_MOVE(&loop->async_handles, &queue);
-+  while (!QUEUE_EMPTY(&queue)) {
-+    q = QUEUE_HEAD(&queue);
-+    h = QUEUE_DATA(q, uv_async_t, queue);
- 
--    uv__queue_remove(q);
--    uv__queue_insert_tail(&loop->async_handles, q);
-+    QUEUE_REMOVE(q);
-+    QUEUE_INSERT_TAIL(&loop->async_handles, q);
- 
-     /* Atomically fetch and clear pending flag */
-     pending = (_Atomic int*) &h->pending;
-@@ -241,8 +241,8 @@ static int uv__async_start(uv_loop_t* loop) {
- 
- 
- void uv__async_stop(uv_loop_t* loop) {
--  struct uv__queue queue;
--  struct uv__queue* q;
-+  QUEUE queue;
-+  QUEUE* q;
-   uv_async_t* h;
- 
-   if (loop->async_io_watcher.fd == -1)
-@@ -251,13 +251,13 @@ void uv__async_stop(uv_loop_t* loop) {
-   /* Make sure no other thread is accessing the async handle fd after the loop
-    * cleanup.
-    */
--  uv__queue_move(&loop->async_handles, &queue);
--  while (!uv__queue_empty(&queue)) {
--    q = uv__queue_head(&queue);
--    h = uv__queue_data(q, uv_async_t, queue);
-+  QUEUE_MOVE(&loop->async_handles, &queue);
-+  while (!QUEUE_EMPTY(&queue)) {
-+    q = QUEUE_HEAD(&queue);
-+    h = QUEUE_DATA(q, uv_async_t, queue);
- 
--    uv__queue_remove(q);
--    uv__queue_insert_tail(&loop->async_handles, q);
-+    QUEUE_REMOVE(q);
-+    QUEUE_INSERT_TAIL(&loop->async_handles, q);
- 
-     uv__async_spin(h);
-   }
-@@ -275,20 +275,20 @@ void uv__async_stop(uv_loop_t* loop) {
- 
- 
- int uv__async_fork(uv_loop_t* loop) {
--  struct uv__queue queue;
--  struct uv__queue* q;
-+  QUEUE queue;
-+  QUEUE* q;
-   uv_async_t* h;
- 
-   if (loop->async_io_watcher.fd == -1) /* never started */
-     return 0;
- 
--  uv__queue_move(&loop->async_handles, &queue);
--  while (!uv__queue_empty(&queue)) {
--    q = uv__queue_head(&queue);
--    h = uv__queue_data(q, uv_async_t, queue);
-+  QUEUE_MOVE(&loop->async_handles, &queue);
-+  while (!QUEUE_EMPTY(&queue)) {
-+    q = QUEUE_HEAD(&queue);
-+    h = QUEUE_DATA(q, uv_async_t, queue);
- 
--    uv__queue_remove(q);
--    uv__queue_insert_tail(&loop->async_handles, q);
-+    QUEUE_REMOVE(q);
-+    QUEUE_INSERT_TAIL(&loop->async_handles, q);
- 
-     /* The state of any thread that set pending is now likely corrupt in this
-      * child because the user called fork, so just clear these flags and move
-diff --git a/deps/uv/src/unix/core.c b/deps/uv/src/unix/core.c
-index 25c5181f370..55aa962787e 100644
---- a/deps/uv/src/unix/core.c
-+++ b/deps/uv/src/unix/core.c
-@@ -344,7 +344,7 @@ static void uv__finish_close(uv_handle_t* handle) {
-   }
- 
-   uv__handle_unref(handle);
--  uv__queue_remove(&handle->handle_queue);
-+  QUEUE_REMOVE(&handle->handle_queue);
- 
-   if (handle->close_cb) {
-     handle->close_cb(handle);
-@@ -380,7 +380,7 @@ int uv_backend_fd(const uv_loop_t* loop) {
- static int uv__loop_alive(const uv_loop_t* loop) {
-   return uv__has_active_handles(loop) ||
-          uv__has_active_reqs(loop) ||
--         !uv__queue_empty(&loop->pending_queue) ||
-+         !QUEUE_EMPTY(&loop->pending_queue) ||
-          loop->closing_handles != NULL;
- }
- 
-@@ -389,8 +389,8 @@ static int uv__backend_timeout(const uv_loop_t* loop) {
-   if (loop->stop_flag == 0 &&
-       /* uv__loop_alive(loop) && */
-       (uv__has_active_handles(loop) || uv__has_active_reqs(loop)) &&
--      uv__queue_empty(&loop->pending_queue) &&
--      uv__queue_empty(&loop->idle_handles) &&
-+      QUEUE_EMPTY(&loop->pending_queue) &&
-+      QUEUE_EMPTY(&loop->idle_handles) &&
-       (loop->flags & UV_LOOP_REAP_CHILDREN) == 0 &&
-       loop->closing_handles == NULL)
-     return uv__next_timeout(loop);
-@@ -399,7 +399,7 @@ static int uv__backend_timeout(const uv_loop_t* loop) {
- 
- 
- int uv_backend_timeout(const uv_loop_t* loop) {
--  if (uv__queue_empty(&loop->watcher_queue))
-+  if (QUEUE_EMPTY(&loop->watcher_queue))
-     return uv__backend_timeout(loop);
-   /* Need to call uv_run to update the backend fd state. */
-   return 0;
-@@ -431,8 +431,7 @@ int uv_run(uv_loop_t* loop, uv_run_mode mode) {
- 
-   while (r != 0 && loop->stop_flag == 0) {
-     can_sleep =
--        uv__queue_empty(&loop->pending_queue) &&
--        uv__queue_empty(&loop->idle_handles);
-+        QUEUE_EMPTY(&loop->pending_queue) && QUEUE_EMPTY(&loop->idle_handles);
- 
-     uv__run_pending(loop);
-     uv__run_idle(loop);
-@@ -448,7 +447,7 @@ int uv_run(uv_loop_t* loop, uv_run_mode mode) {
- 
-     /* Process immediate callbacks (e.g. write_cb) a small fixed number of
-      * times to avoid loop starvation.*/
--    for (r = 0; r < 8 && !uv__queue_empty(&loop->pending_queue); r++)
-+    for (r = 0; r < 8 && !QUEUE_EMPTY(&loop->pending_queue); r++)
-       uv__run_pending(loop);
- 
-     /* Run one final update on the provider_idle_time in case uv__io_poll
-@@ -827,17 +826,17 @@ int uv_fileno(const uv_handle_t* handle, uv_os_fd_t* fd) {
- 
- 
- static void uv__run_pending(uv_loop_t* loop) {
--  struct uv__queue* q;
--  struct uv__queue pq;
-+  QUEUE* q;
-+  QUEUE pq;
-   uv__io_t* w;
- 
--  uv__queue_move(&loop->pending_queue, &pq);
-+  QUEUE_MOVE(&loop->pending_queue, &pq);
- 
--  while (!uv__queue_empty(&pq)) {
--    q = uv__queue_head(&pq);
--    uv__queue_remove(q);
--    uv__queue_init(q);
--    w = uv__queue_data(q, uv__io_t, pending_queue);
-+  while (!QUEUE_EMPTY(&pq)) {
-+    q = QUEUE_HEAD(&pq);
-+    QUEUE_REMOVE(q);
-+    QUEUE_INIT(q);
-+    w = QUEUE_DATA(q, uv__io_t, pending_queue);
-     w->cb(loop, w, POLLOUT);
-   }
- }
-@@ -892,8 +891,8 @@ static void maybe_resize(uv_loop_t* loop, unsigned int len) {
- void uv__io_init(uv__io_t* w, uv__io_cb cb, int fd) {
-   assert(cb != NULL);
-   assert(fd >= -1);
--  uv__queue_init(&w->pending_queue);
--  uv__queue_init(&w->watcher_queue);
-+  QUEUE_INIT(&w->pending_queue);
-+  QUEUE_INIT(&w->watcher_queue);
-   w->cb = cb;
-   w->fd = fd;
-   w->events = 0;
-@@ -919,8 +918,8 @@ void uv__io_start(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
-     return;
- #endif
- 
--  if (uv__queue_empty(&w->watcher_queue))
--    uv__queue_insert_tail(&loop->watcher_queue, &w->watcher_queue);
-+  if (QUEUE_EMPTY(&w->watcher_queue))
-+    QUEUE_INSERT_TAIL(&loop->watcher_queue, &w->watcher_queue);
- 
-   if (loop->watchers[w->fd] == NULL) {
-     loop->watchers[w->fd] = w;
-@@ -945,8 +944,8 @@ void uv__io_stop(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
-   w->pevents &= ~events;
- 
-   if (w->pevents == 0) {
--    uv__queue_remove(&w->watcher_queue);
--    uv__queue_init(&w->watcher_queue);
-+    QUEUE_REMOVE(&w->watcher_queue);
-+    QUEUE_INIT(&w->watcher_queue);
-     w->events = 0;
- 
-     if (w == loop->watchers[w->fd]) {
-@@ -955,14 +954,14 @@ void uv__io_stop(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
-       loop->nfds--;
-     }
-   }
--  else if (uv__queue_empty(&w->watcher_queue))
--    uv__queue_insert_tail(&loop->watcher_queue, &w->watcher_queue);
-+  else if (QUEUE_EMPTY(&w->watcher_queue))
-+    QUEUE_INSERT_TAIL(&loop->watcher_queue, &w->watcher_queue);
- }
- 
- 
- void uv__io_close(uv_loop_t* loop, uv__io_t* w) {
-   uv__io_stop(loop, w, POLLIN | POLLOUT | UV__POLLRDHUP | UV__POLLPRI);
--  uv__queue_remove(&w->pending_queue);
-+  QUEUE_REMOVE(&w->pending_queue);
- 
-   /* Remove stale events for this file descriptor */
-   if (w->fd != -1)
-@@ -971,8 +970,8 @@ void uv__io_close(uv_loop_t* loop, uv__io_t* w) {
- 
- 
- void uv__io_feed(uv_loop_t* loop, uv__io_t* w) {
--  if (uv__queue_empty(&w->pending_queue))
--    uv__queue_insert_tail(&loop->pending_queue, &w->pending_queue);
-+  if (QUEUE_EMPTY(&w->pending_queue))
-+    QUEUE_INSERT_TAIL(&loop->pending_queue, &w->pending_queue);
- }
- 
- 
-diff --git a/deps/uv/src/unix/fs.c b/deps/uv/src/unix/fs.c
-index 6b051c124f2..00d385c24b7 100644
---- a/deps/uv/src/unix/fs.c
-+++ b/deps/uv/src/unix/fs.c
-@@ -62,6 +62,7 @@
- 
- #if defined(__linux__)
- # include <sys/sendfile.h>
-+# include <sys/utsname.h>
- #endif
- 
- #if defined(__sun)
-@@ -903,6 +904,31 @@ out:
- 
- 
- #ifdef __linux__
-+static unsigned uv__kernel_version(void) {
-+  static _Atomic unsigned cached_version;
-+  struct utsname u;
-+  unsigned version;
-+  unsigned major;
-+  unsigned minor;
-+  unsigned patch;
-+
-+  version = atomic_load_explicit(&cached_version, memory_order_relaxed);
-+  if (version != 0)
-+    return version;
-+
-+  if (-1 == uname(&u))
-+    return 0;
-+
-+  if (3 != sscanf(u.release, "%u.%u.%u", &major, &minor, &patch))
-+    return 0;
-+
-+  version = major * 65536 + minor * 256 + patch;
-+  atomic_store_explicit(&cached_version, version, memory_order_relaxed);
-+
-+  return version;
-+}
-+
-+
- /* Pre-4.20 kernels have a bug where CephFS uses the RADOS copy-from command
-  * in copy_file_range() when it shouldn't. There is no workaround except to
-  * fall back to a regular copy.
-@@ -1905,9 +1931,6 @@ int uv_fs_link(uv_loop_t* loop,
-                uv_fs_cb cb) {
-   INIT(LINK);
-   PATH2;
--  if (cb != NULL)
--    if (uv__iou_fs_link(loop, req))
--      return 0;
-   POST;
- }
- 
-@@ -1920,9 +1943,6 @@ int uv_fs_mkdir(uv_loop_t* loop,
-   INIT(MKDIR);
-   PATH;
-   req->mode = mode;
--  if (cb != NULL)
--    if (uv__iou_fs_mkdir(loop, req))
--      return 0;
-   POST;
- }
- 
-@@ -2074,9 +2094,6 @@ int uv_fs_rename(uv_loop_t* loop,
-                  uv_fs_cb cb) {
-   INIT(RENAME);
-   PATH2;
--  if (cb != NULL)
--    if (uv__iou_fs_rename(loop, req))
--      return 0;
-   POST;
- }
- 
-@@ -2123,9 +2140,6 @@ int uv_fs_symlink(uv_loop_t* loop,
-   INIT(SYMLINK);
-   PATH2;
-   req->flags = flags;
--  if (cb != NULL)
--    if (uv__iou_fs_symlink(loop, req))
--      return 0;
-   POST;
- }
- 
-@@ -2133,9 +2147,6 @@ int uv_fs_symlink(uv_loop_t* loop,
- int uv_fs_unlink(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb) {
-   INIT(UNLINK);
-   PATH;
--  if (cb != NULL)
--    if (uv__iou_fs_unlink(loop, req))
--      return 0;
-   POST;
- }
- 
-diff --git a/deps/uv/src/unix/fsevents.c b/deps/uv/src/unix/fsevents.c
-index df703f3635f..0535b4547aa 100644
---- a/deps/uv/src/unix/fsevents.c
-+++ b/deps/uv/src/unix/fsevents.c
-@@ -80,13 +80,13 @@ enum uv__cf_loop_signal_type_e {
- typedef enum uv__cf_loop_signal_type_e uv__cf_loop_signal_type_t;
- 
- struct uv__cf_loop_signal_s {
--  struct uv__queue member;
-+  QUEUE member;
-   uv_fs_event_t* handle;
-   uv__cf_loop_signal_type_t type;
- };
- 
- struct uv__fsevents_event_s {
--  struct uv__queue member;
-+  QUEUE member;
-   int events;
-   char path[1];
- };
-@@ -98,7 +98,7 @@ struct uv__cf_loop_state_s {
-   FSEventStreamRef fsevent_stream;
-   uv_sem_t fsevent_sem;
-   uv_mutex_t fsevent_mutex;
--  struct uv__queue fsevent_handles;
-+  void* fsevent_handles[2];
-   unsigned int fsevent_handle_count;
- };
- 
-@@ -150,22 +150,22 @@ static void (*pFSEventStreamStop)(FSEventStreamRef);
- 
- #define UV__FSEVENTS_PROCESS(handle, block)                                   \
-     do {                                                                      \
--      struct uv__queue events;                                                \
--      struct uv__queue* q;                                                    \
-+      QUEUE events;                                                           \
-+      QUEUE* q;                                                               \
-       uv__fsevents_event_t* event;                                            \
-       int err;                                                                \
-       uv_mutex_lock(&(handle)->cf_mutex);                                     \
-       /* Split-off all events and empty original queue */                     \
--      uv__queue_move(&(handle)->cf_events, &events);                          \
-+      QUEUE_MOVE(&(handle)->cf_events, &events);                              \
-       /* Get error (if any) and zero original one */                          \
-       err = (handle)->cf_error;                                               \
-       (handle)->cf_error = 0;                                                 \
-       uv_mutex_unlock(&(handle)->cf_mutex);                                   \
-       /* Loop through events, deallocating each after processing */           \
--      while (!uv__queue_empty(&events)) {                                     \
--        q = uv__queue_head(&events);                                          \
--        event = uv__queue_data(q, uv__fsevents_event_t, member);              \
--        uv__queue_remove(q);                                                  \
-+      while (!QUEUE_EMPTY(&events)) {                                         \
-+        q = QUEUE_HEAD(&events);                                              \
-+        event = QUEUE_DATA(q, uv__fsevents_event_t, member);                  \
-+        QUEUE_REMOVE(q);                                                      \
-         /* NOTE: Checking uv__is_active() is required here, because handle    \
-          * callback may close handle and invoking it after it will lead to    \
-          * incorrect behaviour */                                             \
-@@ -193,14 +193,14 @@ static void uv__fsevents_cb(uv_async_t* cb) {
- 
- /* Runs in CF thread, pushed event into handle's event list */
- static void uv__fsevents_push_event(uv_fs_event_t* handle,
--                                    struct uv__queue* events,
-+                                    QUEUE* events,
-                                     int err) {
-   assert(events != NULL || err != 0);
-   uv_mutex_lock(&handle->cf_mutex);
- 
-   /* Concatenate two queues */
-   if (events != NULL)
--    uv__queue_add(&handle->cf_events, events);
-+    QUEUE_ADD(&handle->cf_events, events);
- 
-   /* Propagate error */
-   if (err != 0)
-@@ -224,12 +224,12 @@ static void uv__fsevents_event_cb(const FSEventStreamRef streamRef,
-   char* path;
-   char* pos;
-   uv_fs_event_t* handle;
--  struct uv__queue* q;
-+  QUEUE* q;
-   uv_loop_t* loop;
-   uv__cf_loop_state_t* state;
-   uv__fsevents_event_t* event;
-   FSEventStreamEventFlags flags;
--  struct uv__queue head;
-+  QUEUE head;
- 
-   loop = info;
-   state = loop->cf_state;
-@@ -238,9 +238,9 @@ static void uv__fsevents_event_cb(const FSEventStreamRef streamRef,
- 
-   /* For each handle */
-   uv_mutex_lock(&state->fsevent_mutex);
--  uv__queue_foreach(q, &state->fsevent_handles) {
--    handle = uv__queue_data(q, uv_fs_event_t, cf_member);
--    uv__queue_init(&head);
-+  QUEUE_FOREACH(q, &state->fsevent_handles) {
-+    handle = QUEUE_DATA(q, uv_fs_event_t, cf_member);
-+    QUEUE_INIT(&head);
- 
-     /* Process and filter out events */
-     for (i = 0; i < numEvents; i++) {
-@@ -318,10 +318,10 @@ static void uv__fsevents_event_cb(const FSEventStreamRef streamRef,
-           event->events = UV_CHANGE;
-       }
- 
--      uv__queue_insert_tail(&head, &event->member);
-+      QUEUE_INSERT_TAIL(&head, &event->member);
-     }
- 
--    if (!uv__queue_empty(&head))
-+    if (!QUEUE_EMPTY(&head))
-       uv__fsevents_push_event(handle, &head, 0);
-   }
-   uv_mutex_unlock(&state->fsevent_mutex);
-@@ -403,7 +403,7 @@ static void uv__fsevents_destroy_stream(uv__cf_loop_state_t* state) {
- static void uv__fsevents_reschedule(uv__cf_loop_state_t* state,
-                                     uv_loop_t* loop,
-                                     uv__cf_loop_signal_type_t type) {
--  struct uv__queue* q;
-+  QUEUE* q;
-   uv_fs_event_t* curr;
-   CFArrayRef cf_paths;
-   CFStringRef* paths;
-@@ -446,9 +446,9 @@ static void uv__fsevents_reschedule(uv__cf_loop_state_t* state,
- 
-     q = &state->fsevent_handles;
-     for (; i < path_count; i++) {
--      q = uv__queue_next(q);
-+      q = QUEUE_NEXT(q);
-       assert(q != &state->fsevent_handles);
--      curr = uv__queue_data(q, uv_fs_event_t, cf_member);
-+      curr = QUEUE_DATA(q, uv_fs_event_t, cf_member);
- 
-       assert(curr->realpath != NULL);
-       paths[i] =
-@@ -486,8 +486,8 @@ final:
- 
-     /* Broadcast error to all handles */
-     uv_mutex_lock(&state->fsevent_mutex);
--    uv__queue_foreach(q, &state->fsevent_handles) {
--      curr = uv__queue_data(q, uv_fs_event_t, cf_member);
-+    QUEUE_FOREACH(q, &state->fsevent_handles) {
-+      curr = QUEUE_DATA(q, uv_fs_event_t, cf_member);
-       uv__fsevents_push_event(curr, NULL, err);
-     }
-     uv_mutex_unlock(&state->fsevent_mutex);
-@@ -606,7 +606,7 @@ static int uv__fsevents_loop_init(uv_loop_t* loop) {
-   if (err)
-     goto fail_sem_init;
- 
--  uv__queue_init(&loop->cf_signals);
-+  QUEUE_INIT(&loop->cf_signals);
- 
-   err = uv_sem_init(&state->fsevent_sem, 0);
-   if (err)
-@@ -616,7 +616,7 @@ static int uv__fsevents_loop_init(uv_loop_t* loop) {
-   if (err)
-     goto fail_fsevent_mutex_init;
- 
--  uv__queue_init(&state->fsevent_handles);
-+  QUEUE_INIT(&state->fsevent_handles);
-   state->fsevent_need_reschedule = 0;
-   state->fsevent_handle_count = 0;
- 
-@@ -675,7 +675,7 @@ fail_mutex_init:
- void uv__fsevents_loop_delete(uv_loop_t* loop) {
-   uv__cf_loop_signal_t* s;
-   uv__cf_loop_state_t* state;
--  struct uv__queue* q;
-+  QUEUE* q;
- 
-   if (loop->cf_state == NULL)
-     return;
-@@ -688,10 +688,10 @@ void uv__fsevents_loop_delete(uv_loop_t* loop) {
-   uv_mutex_destroy(&loop->cf_mutex);
- 
-   /* Free any remaining data */
--  while (!uv__queue_empty(&loop->cf_signals)) {
--    q = uv__queue_head(&loop->cf_signals);
--    s = uv__queue_data(q, uv__cf_loop_signal_t, member);
--    uv__queue_remove(q);
-+  while (!QUEUE_EMPTY(&loop->cf_signals)) {
-+    q = QUEUE_HEAD(&loop->cf_signals);
-+    s = QUEUE_DATA(q, uv__cf_loop_signal_t, member);
-+    QUEUE_REMOVE(q);
-     uv__free(s);
-   }
- 
-@@ -735,22 +735,22 @@ static void* uv__cf_loop_runner(void* arg) {
- static void uv__cf_loop_cb(void* arg) {
-   uv_loop_t* loop;
-   uv__cf_loop_state_t* state;
--  struct uv__queue* item;
--  struct uv__queue split_head;
-+  QUEUE* item;
-+  QUEUE split_head;
-   uv__cf_loop_signal_t* s;
- 
-   loop = arg;
-   state = loop->cf_state;
- 
-   uv_mutex_lock(&loop->cf_mutex);
--  uv__queue_move(&loop->cf_signals, &split_head);
-+  QUEUE_MOVE(&loop->cf_signals, &split_head);
-   uv_mutex_unlock(&loop->cf_mutex);
- 
--  while (!uv__queue_empty(&split_head)) {
--    item = uv__queue_head(&split_head);
--    uv__queue_remove(item);
-+  while (!QUEUE_EMPTY(&split_head)) {
-+    item = QUEUE_HEAD(&split_head);
-+    QUEUE_REMOVE(item);
- 
--    s = uv__queue_data(item, uv__cf_loop_signal_t, member);
-+    s = QUEUE_DATA(item, uv__cf_loop_signal_t, member);
- 
-     /* This was a termination signal */
-     if (s->handle == NULL)
-@@ -778,7 +778,7 @@ int uv__cf_loop_signal(uv_loop_t* loop,
-   item->type = type;
- 
-   uv_mutex_lock(&loop->cf_mutex);
--  uv__queue_insert_tail(&loop->cf_signals, &item->member);
-+  QUEUE_INSERT_TAIL(&loop->cf_signals, &item->member);
- 
-   state = loop->cf_state;
-   assert(state != NULL);
-@@ -807,7 +807,7 @@ int uv__fsevents_init(uv_fs_event_t* handle) {
-   handle->realpath_len = strlen(handle->realpath);
- 
-   /* Initialize event queue */
--  uv__queue_init(&handle->cf_events);
-+  QUEUE_INIT(&handle->cf_events);
-   handle->cf_error = 0;
- 
-   /*
-@@ -832,7 +832,7 @@ int uv__fsevents_init(uv_fs_event_t* handle) {
-   /* Insert handle into the list */
-   state = handle->loop->cf_state;
-   uv_mutex_lock(&state->fsevent_mutex);
--  uv__queue_insert_tail(&state->fsevent_handles, &handle->cf_member);
-+  QUEUE_INSERT_TAIL(&state->fsevent_handles, &handle->cf_member);
-   state->fsevent_handle_count++;
-   state->fsevent_need_reschedule = 1;
-   uv_mutex_unlock(&state->fsevent_mutex);
-@@ -872,7 +872,7 @@ int uv__fsevents_close(uv_fs_event_t* handle) {
-   /* Remove handle from  the list */
-   state = handle->loop->cf_state;
-   uv_mutex_lock(&state->fsevent_mutex);
--  uv__queue_remove(&handle->cf_member);
-+  QUEUE_REMOVE(&handle->cf_member);
-   state->fsevent_handle_count--;
-   state->fsevent_need_reschedule = 1;
-   uv_mutex_unlock(&state->fsevent_mutex);
-diff --git a/deps/uv/src/unix/internal.h b/deps/uv/src/unix/internal.h
-index fe588513603..6c5822e6a0d 100644
---- a/deps/uv/src/unix/internal.h
-+++ b/deps/uv/src/unix/internal.h
-@@ -335,30 +335,20 @@ int uv__iou_fs_close(uv_loop_t* loop, uv_fs_t* req);
- int uv__iou_fs_fsync_or_fdatasync(uv_loop_t* loop,
-                                   uv_fs_t* req,
-                                   uint32_t fsync_flags);
--int uv__iou_fs_link(uv_loop_t* loop, uv_fs_t* req);
--int uv__iou_fs_mkdir(uv_loop_t* loop, uv_fs_t* req);
- int uv__iou_fs_open(uv_loop_t* loop, uv_fs_t* req);
- int uv__iou_fs_read_or_write(uv_loop_t* loop,
-                              uv_fs_t* req,
-                              int is_read);
--int uv__iou_fs_rename(uv_loop_t* loop, uv_fs_t* req);
- int uv__iou_fs_statx(uv_loop_t* loop,
-                      uv_fs_t* req,
-                      int is_fstat,
-                      int is_lstat);
--int uv__iou_fs_symlink(uv_loop_t* loop, uv_fs_t* req);
--int uv__iou_fs_unlink(uv_loop_t* loop, uv_fs_t* req);
- #else
- #define uv__iou_fs_close(loop, req) 0
- #define uv__iou_fs_fsync_or_fdatasync(loop, req, fsync_flags) 0
--#define uv__iou_fs_link(loop, req) 0
--#define uv__iou_fs_mkdir(loop, req) 0
- #define uv__iou_fs_open(loop, req) 0
- #define uv__iou_fs_read_or_write(loop, req, is_read) 0
--#define uv__iou_fs_rename(loop, req) 0
- #define uv__iou_fs_statx(loop, req, is_fstat, is_lstat) 0
--#define uv__iou_fs_symlink(loop, req) 0
--#define uv__iou_fs_unlink(loop, req) 0
- #endif
- 
- #if defined(__APPLE__)
-@@ -439,7 +429,6 @@ int uv__statx(int dirfd,
-               struct uv__statx* statxbuf);
- void uv__statx_to_stat(const struct uv__statx* statxbuf, uv_stat_t* buf);
- ssize_t uv__getrandom(void* buf, size_t buflen, unsigned flags);
--unsigned uv__kernel_version(void);
- #endif
- 
- typedef int (*uv__peersockfunc)(int, struct sockaddr*, socklen_t*);
-diff --git a/deps/uv/src/unix/kqueue.c b/deps/uv/src/unix/kqueue.c
-index b78242d3be4..82916d65933 100644
---- a/deps/uv/src/unix/kqueue.c
-+++ b/deps/uv/src/unix/kqueue.c
-@@ -133,7 +133,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   struct timespec spec;
-   unsigned int nevents;
-   unsigned int revents;
--  struct uv__queue* q;
-+  QUEUE* q;
-   uv__io_t* w;
-   uv_process_t* process;
-   sigset_t* pset;
-@@ -152,19 +152,19 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   int reset_timeout;
- 
-   if (loop->nfds == 0) {
--    assert(uv__queue_empty(&loop->watcher_queue));
-+    assert(QUEUE_EMPTY(&loop->watcher_queue));
-     return;
-   }
- 
-   lfields = uv__get_internal_fields(loop);
-   nevents = 0;
- 
--  while (!uv__queue_empty(&loop->watcher_queue)) {
--    q = uv__queue_head(&loop->watcher_queue);
--    uv__queue_remove(q);
--    uv__queue_init(q);
-+  while (!QUEUE_EMPTY(&loop->watcher_queue)) {
-+    q = QUEUE_HEAD(&loop->watcher_queue);
-+    QUEUE_REMOVE(q);
-+    QUEUE_INIT(q);
- 
--    w = uv__queue_data(q, uv__io_t, watcher_queue);
-+    w = QUEUE_DATA(q, uv__io_t, watcher_queue);
-     assert(w->pevents != 0);
-     assert(w->fd >= 0);
-     assert(w->fd < (int) loop->nwatchers);
-@@ -307,8 +307,8 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
- 
-       /* Handle kevent NOTE_EXIT results */
-       if (ev->filter == EVFILT_PROC) {
--        uv__queue_foreach(q, &loop->process_handles) {
--          process = uv__queue_data(q, uv_process_t, queue);
-+        QUEUE_FOREACH(q, &loop->process_handles) {
-+          process = QUEUE_DATA(q, uv_process_t, queue);
-           if (process->pid == fd) {
-             process->flags |= UV_HANDLE_REAP;
-             loop->flags |= UV_LOOP_REAP_CHILDREN;
-diff --git a/deps/uv/src/unix/linux.c b/deps/uv/src/unix/linux.c
-index 48b9c2c43e1..5f84ad0eea3 100644
---- a/deps/uv/src/unix/linux.c
-+++ b/deps/uv/src/unix/linux.c
-@@ -48,7 +48,6 @@
- #include <sys/sysinfo.h>
- #include <sys/sysmacros.h>
- #include <sys/types.h>
--#include <sys/utsname.h>
- #include <time.h>
- #include <unistd.h>
- 
-@@ -151,11 +150,6 @@ enum {
-   UV__IORING_OP_CLOSE = 19,
-   UV__IORING_OP_STATX = 21,
-   UV__IORING_OP_EPOLL_CTL = 29,
--  UV__IORING_OP_RENAMEAT = 35,
--  UV__IORING_OP_UNLINKAT = 36,
--  UV__IORING_OP_MKDIRAT = 37,
--  UV__IORING_OP_SYMLINKAT = 38,
--  UV__IORING_OP_LINKAT = 39,
- };
- 
- enum {
-@@ -168,10 +162,6 @@ enum {
-   UV__IORING_SQ_CQ_OVERFLOW = 2u,
- };
- 
--enum {
--  UV__MKDIRAT_SYMLINKAT_LINKAT = 1u,
--};
--
- struct uv__io_cqring_offsets {
-   uint32_t head;
-   uint32_t tail;
-@@ -267,7 +257,7 @@ STATIC_ASSERT(EPOLL_CTL_MOD < 4);
- 
- struct watcher_list {
-   RB_ENTRY(watcher_list) entry;
--  struct uv__queue watchers;
-+  QUEUE watchers;
-   int iterating;
-   char* path;
-   int wd;
-@@ -310,31 +300,6 @@ static struct watcher_root* uv__inotify_watchers(uv_loop_t* loop) {
- }
- 
- 
--unsigned uv__kernel_version(void) {
--  static _Atomic unsigned cached_version;
--  struct utsname u;
--  unsigned version;
--  unsigned major;
--  unsigned minor;
--  unsigned patch;
--
--  version = atomic_load_explicit(&cached_version, memory_order_relaxed);
--  if (version != 0)
--    return version;
--
--  if (-1 == uname(&u))
--    return 0;
--
--  if (3 != sscanf(u.release, "%u.%u.%u", &major, &minor, &patch))
--    return 0;
--
--  version = major * 65536 + minor * 256 + patch;
--  atomic_store_explicit(&cached_version, version, memory_order_relaxed);
--
--  return version;
--}
--
--
- ssize_t
- uv__fs_copy_file_range(int fd_in,
-                        off_t* off_in,
-@@ -420,9 +385,6 @@ int uv__io_uring_register(int fd, unsigned opcode, void* arg, unsigned nargs) {
- 
- 
- static int uv__use_io_uring(void) {
--#if defined(__ANDROID_API__)
--  return 0;  /* Possibly available but blocked by seccomp. */
--#else
-   /* Ternary: unknown=0, yes=1, no=-1 */
-   static _Atomic int use_io_uring;
-   char* val;
-@@ -437,7 +399,6 @@ static int uv__use_io_uring(void) {
-   }
- 
-   return use > 0;
--#endif
- }
- 
- 
-@@ -542,10 +503,6 @@ static void uv__iou_init(int epollfd,
-   iou->sqelen = sqelen;
-   iou->ringfd = ringfd;
-   iou->in_flight = 0;
--  iou->flags = 0;
--
--  if (uv__kernel_version() >= /* 5.15.0 */ 0x050F00)
--    iou->flags |= UV__MKDIRAT_SYMLINKAT_LINKAT;
- 
-   for (i = 0; i <= iou->sqmask; i++)
-     iou->sqarray[i] = i;  /* Slot -> sqe identity mapping. */
-@@ -727,7 +684,7 @@ static struct uv__io_uring_sqe* uv__iou_get_sqe(struct uv__iou* iou,
-   req->work_req.loop = loop;
-   req->work_req.work = NULL;
-   req->work_req.done = NULL;
--  uv__queue_init(&req->work_req.wq);
-+  QUEUE_INIT(&req->work_req.wq);
- 
-   uv__req_register(loop, req);
-   iou->in_flight++;
-@@ -757,17 +714,6 @@ int uv__iou_fs_close(uv_loop_t* loop, uv_fs_t* req) {
-   struct uv__io_uring_sqe* sqe;
-   struct uv__iou* iou;
- 
--  /* Work around a poorly understood bug in older kernels where closing a file
--   * descriptor pointing to /foo/bar results in ETXTBSY errors when trying to
--   * execve("/foo/bar") later on. The bug seems to have been fixed somewhere
--   * between 5.15.85 and 5.15.90. I couldn't pinpoint the responsible commit
--   * but good candidates are the several data race fixes. Interestingly, it
--   * seems to manifest only when running under Docker so the possibility of
--   * a Docker bug can't be completely ruled out either. Yay, computers.
--   */
--  if (uv__kernel_version() < /* 5.15.90 */ 0x050F5A)
--    return 0;
--
-   iou = &uv__get_internal_fields(loop)->iou;
- 
-   sqe = uv__iou_get_sqe(iou, loop, req);
-@@ -808,55 +754,6 @@ int uv__iou_fs_fsync_or_fdatasync(uv_loop_t* loop,
- }
- 
- 
--int uv__iou_fs_link(uv_loop_t* loop, uv_fs_t* req) {
--  struct uv__io_uring_sqe* sqe;
--  struct uv__iou* iou;
--
--  iou = &uv__get_internal_fields(loop)->iou;
--
--  if (!(iou->flags & UV__MKDIRAT_SYMLINKAT_LINKAT))
--    return 0;
--
--  sqe = uv__iou_get_sqe(iou, loop, req);
--  if (sqe == NULL)
--    return 0;
--
--  sqe->addr = (uintptr_t) req->path;
--  sqe->fd = AT_FDCWD;
--  sqe->addr2 = (uintptr_t) req->new_path;
--  sqe->len = AT_FDCWD;
--  sqe->opcode = UV__IORING_OP_LINKAT;
--
--  uv__iou_submit(iou);
--
--  return 1;
--}
--
--
--int uv__iou_fs_mkdir(uv_loop_t* loop, uv_fs_t* req) {
--  struct uv__io_uring_sqe* sqe;
--  struct uv__iou* iou;
--
--  iou = &uv__get_internal_fields(loop)->iou;
--
--  if (!(iou->flags & UV__MKDIRAT_SYMLINKAT_LINKAT))
--    return 0;
--
--  sqe = uv__iou_get_sqe(iou, loop, req);
--  if (sqe == NULL)
--    return 0;
--
--  sqe->addr = (uintptr_t) req->path;
--  sqe->fd = AT_FDCWD;
--  sqe->len = req->mode;
--  sqe->opcode = UV__IORING_OP_MKDIRAT;
--
--  uv__iou_submit(iou);
--
--  return 1;
--}
--
--
- int uv__iou_fs_open(uv_loop_t* loop, uv_fs_t* req) {
-   struct uv__io_uring_sqe* sqe;
-   struct uv__iou* iou;
-@@ -879,86 +776,16 @@ int uv__iou_fs_open(uv_loop_t* loop, uv_fs_t* req) {
- }
- 
- 
--int uv__iou_fs_rename(uv_loop_t* loop, uv_fs_t* req) {
--  struct uv__io_uring_sqe* sqe;
--  struct uv__iou* iou;
--
--  iou = &uv__get_internal_fields(loop)->iou;
--
--  sqe = uv__iou_get_sqe(iou, loop, req);
--  if (sqe == NULL)
--    return 0;
--
--  sqe->addr = (uintptr_t) req->path;
--  sqe->fd = AT_FDCWD;
--  sqe->addr2 = (uintptr_t) req->new_path;
--  sqe->len = AT_FDCWD;
--  sqe->opcode = UV__IORING_OP_RENAMEAT;
--
--  uv__iou_submit(iou);
--
--  return 1;
--}
--
--
--int uv__iou_fs_symlink(uv_loop_t* loop, uv_fs_t* req) {
--  struct uv__io_uring_sqe* sqe;
--  struct uv__iou* iou;
--
--  iou = &uv__get_internal_fields(loop)->iou;
--
--  if (!(iou->flags & UV__MKDIRAT_SYMLINKAT_LINKAT))
--    return 0;
--
--  sqe = uv__iou_get_sqe(iou, loop, req);
--  if (sqe == NULL)
--    return 0;
--
--  sqe->addr = (uintptr_t) req->path;
--  sqe->fd = AT_FDCWD;
--  sqe->addr2 = (uintptr_t) req->new_path;
--  sqe->opcode = UV__IORING_OP_SYMLINKAT;
--
--  uv__iou_submit(iou);
--
--  return 1;
--}
--
--
--int uv__iou_fs_unlink(uv_loop_t* loop, uv_fs_t* req) {
--  struct uv__io_uring_sqe* sqe;
--  struct uv__iou* iou;
--
--  iou = &uv__get_internal_fields(loop)->iou;
--
--  sqe = uv__iou_get_sqe(iou, loop, req);
--  if (sqe == NULL)
--    return 0;
--
--  sqe->addr = (uintptr_t) req->path;
--  sqe->fd = AT_FDCWD;
--  sqe->opcode = UV__IORING_OP_UNLINKAT;
--
--  uv__iou_submit(iou);
--
--  return 1;
--}
--
--
- int uv__iou_fs_read_or_write(uv_loop_t* loop,
-                              uv_fs_t* req,
-                              int is_read) {
-   struct uv__io_uring_sqe* sqe;
-   struct uv__iou* iou;
- 
--  /* If iovcnt is greater than IOV_MAX, cap it to IOV_MAX on reads and fallback
--   * to the threadpool on writes */
--  if (req->nbufs > IOV_MAX) {
--    if (is_read)
--      req->nbufs = IOV_MAX;
--    else
--      return 0;
--  }
-+  /* For the moment, if iovcnt is greater than IOV_MAX, fallback to the
-+   * threadpool. In the future we might take advantage of IOSQE_IO_LINK. */
-+  if (req->nbufs > IOV_MAX)
-+    return 0;
- 
-   iou = &uv__get_internal_fields(loop)->iou;
- 
-@@ -1265,7 +1092,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   struct uv__iou* ctl;
-   struct uv__iou* iou;
-   int real_timeout;
--  struct uv__queue* q;
-+  QUEUE* q;
-   uv__io_t* w;
-   sigset_t* sigmask;
-   sigset_t sigset;
-@@ -1311,11 +1138,11 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
- 
-   memset(&e, 0, sizeof(e));
- 
--  while (!uv__queue_empty(&loop->watcher_queue)) {
--    q = uv__queue_head(&loop->watcher_queue);
--    w = uv__queue_data(q, uv__io_t, watcher_queue);
--    uv__queue_remove(q);
--    uv__queue_init(q);
-+  while (!QUEUE_EMPTY(&loop->watcher_queue)) {
-+    q = QUEUE_HEAD(&loop->watcher_queue);
-+    w = QUEUE_DATA(q, uv__io_t, watcher_queue);
-+    QUEUE_REMOVE(q);
-+    QUEUE_INIT(q);
- 
-     op = EPOLL_CTL_MOD;
-     if (w->events == 0)
-@@ -2272,8 +2099,8 @@ static int uv__inotify_fork(uv_loop_t* loop, struct watcher_list* root) {
-   struct watcher_list* tmp_watcher_list_iter;
-   struct watcher_list* watcher_list;
-   struct watcher_list tmp_watcher_list;
--  struct uv__queue queue;
--  struct uv__queue* q;
-+  QUEUE queue;
-+  QUEUE* q;
-   uv_fs_event_t* handle;
-   char* tmp_path;
- 
-@@ -2285,41 +2112,41 @@ static int uv__inotify_fork(uv_loop_t* loop, struct watcher_list* root) {
-    */
-   loop->inotify_watchers = root;
- 
--  uv__queue_init(&tmp_watcher_list.watchers);
-+  QUEUE_INIT(&tmp_watcher_list.watchers);
-   /* Note that the queue we use is shared with the start and stop()
--   * functions, making uv__queue_foreach unsafe to use. So we use the
--   * uv__queue_move trick to safely iterate. Also don't free the watcher
-+   * functions, making QUEUE_FOREACH unsafe to use. So we use the
-+   * QUEUE_MOVE trick to safely iterate. Also don't free the watcher
-    * list until we're done iterating. c.f. uv__inotify_read.
-    */
-   RB_FOREACH_SAFE(watcher_list, watcher_root,
-                   uv__inotify_watchers(loop), tmp_watcher_list_iter) {
-     watcher_list->iterating = 1;
--    uv__queue_move(&watcher_list->watchers, &queue);
--    while (!uv__queue_empty(&queue)) {
--      q = uv__queue_head(&queue);
--      handle = uv__queue_data(q, uv_fs_event_t, watchers);
-+    QUEUE_MOVE(&watcher_list->watchers, &queue);
-+    while (!QUEUE_EMPTY(&queue)) {
-+      q = QUEUE_HEAD(&queue);
-+      handle = QUEUE_DATA(q, uv_fs_event_t, watchers);
-       /* It's critical to keep a copy of path here, because it
-        * will be set to NULL by stop() and then deallocated by
-        * maybe_free_watcher_list
-        */
-       tmp_path = uv__strdup(handle->path);
-       assert(tmp_path != NULL);
--      uv__queue_remove(q);
--      uv__queue_insert_tail(&watcher_list->watchers, q);
-+      QUEUE_REMOVE(q);
-+      QUEUE_INSERT_TAIL(&watcher_list->watchers, q);
-       uv_fs_event_stop(handle);
- 
--      uv__queue_insert_tail(&tmp_watcher_list.watchers, &handle->watchers);
-+      QUEUE_INSERT_TAIL(&tmp_watcher_list.watchers, &handle->watchers);
-       handle->path = tmp_path;
-     }
-     watcher_list->iterating = 0;
-     maybe_free_watcher_list(watcher_list, loop);
-   }
- 
--  uv__queue_move(&tmp_watcher_list.watchers, &queue);
--  while (!uv__queue_empty(&queue)) {
--      q = uv__queue_head(&queue);
--      uv__queue_remove(q);
--      handle = uv__queue_data(q, uv_fs_event_t, watchers);
-+  QUEUE_MOVE(&tmp_watcher_list.watchers, &queue);
-+  while (!QUEUE_EMPTY(&queue)) {
-+      q = QUEUE_HEAD(&queue);
-+      QUEUE_REMOVE(q);
-+      handle = QUEUE_DATA(q, uv_fs_event_t, watchers);
-       tmp_path = handle->path;
-       handle->path = NULL;
-       err = uv_fs_event_start(handle, handle->cb, tmp_path, 0);
-@@ -2341,7 +2168,7 @@ static struct watcher_list* find_watcher(uv_loop_t* loop, int wd) {
- 
- static void maybe_free_watcher_list(struct watcher_list* w, uv_loop_t* loop) {
-   /* if the watcher_list->watchers is being iterated over, we can't free it. */
--  if ((!w->iterating) && uv__queue_empty(&w->watchers)) {
-+  if ((!w->iterating) && QUEUE_EMPTY(&w->watchers)) {
-     /* No watchers left for this path. Clean up. */
-     RB_REMOVE(watcher_root, uv__inotify_watchers(loop), w);
-     inotify_rm_watch(loop->inotify_fd, w->wd);
-@@ -2356,8 +2183,8 @@ static void uv__inotify_read(uv_loop_t* loop,
-   const struct inotify_event* e;
-   struct watcher_list* w;
-   uv_fs_event_t* h;
--  struct uv__queue queue;
--  struct uv__queue* q;
-+  QUEUE queue;
-+  QUEUE* q;
-   const char* path;
-   ssize_t size;
-   const char *p;
-@@ -2400,7 +2227,7 @@ static void uv__inotify_read(uv_loop_t* loop,
-        * What can go wrong?
-        * A callback could call uv_fs_event_stop()
-        * and the queue can change under our feet.
--       * So, we use uv__queue_move() trick to safely iterate over the queue.
-+       * So, we use QUEUE_MOVE() trick to safely iterate over the queue.
-        * And we don't free the watcher_list until we're done iterating.
-        *
-        * First,
-@@ -2408,13 +2235,13 @@ static void uv__inotify_read(uv_loop_t* loop,
-        * not to free watcher_list.
-        */
-       w->iterating = 1;
--      uv__queue_move(&w->watchers, &queue);
--      while (!uv__queue_empty(&queue)) {
--        q = uv__queue_head(&queue);
--        h = uv__queue_data(q, uv_fs_event_t, watchers);
-+      QUEUE_MOVE(&w->watchers, &queue);
-+      while (!QUEUE_EMPTY(&queue)) {
-+        q = QUEUE_HEAD(&queue);
-+        h = QUEUE_DATA(q, uv_fs_event_t, watchers);
- 
--        uv__queue_remove(q);
--        uv__queue_insert_tail(&w->watchers, q);
-+        QUEUE_REMOVE(q);
-+        QUEUE_INSERT_TAIL(&w->watchers, q);
- 
-         h->cb(h, path, events, 0);
-       }
-@@ -2476,13 +2303,13 @@ int uv_fs_event_start(uv_fs_event_t* handle,
- 
-   w->wd = wd;
-   w->path = memcpy(w + 1, path, len);
--  uv__queue_init(&w->watchers);
-+  QUEUE_INIT(&w->watchers);
-   w->iterating = 0;
-   RB_INSERT(watcher_root, uv__inotify_watchers(loop), w);
- 
- no_insert:
-   uv__handle_start(handle);
--  uv__queue_insert_tail(&w->watchers, &handle->watchers);
-+  QUEUE_INSERT_TAIL(&w->watchers, &handle->watchers);
-   handle->path = w->path;
-   handle->cb = cb;
-   handle->wd = wd;
-@@ -2503,7 +2330,7 @@ int uv_fs_event_stop(uv_fs_event_t* handle) {
-   handle->wd = -1;
-   handle->path = NULL;
-   uv__handle_stop(handle);
--  uv__queue_remove(&handle->watchers);
-+  QUEUE_REMOVE(&handle->watchers);
- 
-   maybe_free_watcher_list(w, handle->loop);
- 
-diff --git a/deps/uv/src/unix/loop-watcher.c b/deps/uv/src/unix/loop-watcher.c
-index 2db8b515df7..b8c1c2a7102 100644
---- a/deps/uv/src/unix/loop-watcher.c
-+++ b/deps/uv/src/unix/loop-watcher.c
-@@ -32,7 +32,7 @@
-   int uv_##name##_start(uv_##name##_t* handle, uv_##name##_cb cb) {           \
-     if (uv__is_active(handle)) return 0;                                      \
-     if (cb == NULL) return UV_EINVAL;                                         \
--    uv__queue_insert_head(&handle->loop->name##_handles, &handle->queue);     \
-+    QUEUE_INSERT_HEAD(&handle->loop->name##_handles, &handle->queue);         \
-     handle->name##_cb = cb;                                                   \
-     uv__handle_start(handle);                                                 \
-     return 0;                                                                 \
-@@ -40,21 +40,21 @@
-                                                                               \
-   int uv_##name##_stop(uv_##name##_t* handle) {                               \
-     if (!uv__is_active(handle)) return 0;                                     \
--    uv__queue_remove(&handle->queue);                                         \
-+    QUEUE_REMOVE(&handle->queue);                                             \
-     uv__handle_stop(handle);                                                  \
-     return 0;                                                                 \
-   }                                                                           \
-                                                                               \
-   void uv__run_##name(uv_loop_t* loop) {                                      \
-     uv_##name##_t* h;                                                         \
--    struct uv__queue queue;                                                   \
--    struct uv__queue* q;                                                      \
--    uv__queue_move(&loop->name##_handles, &queue);                            \
--    while (!uv__queue_empty(&queue)) {                                        \
--      q = uv__queue_head(&queue);                                             \
--      h = uv__queue_data(q, uv_##name##_t, queue);                            \
--      uv__queue_remove(q);                                                    \
--      uv__queue_insert_tail(&loop->name##_handles, q);                        \
-+    QUEUE queue;                                                              \
-+    QUEUE* q;                                                                 \
-+    QUEUE_MOVE(&loop->name##_handles, &queue);                                \
-+    while (!QUEUE_EMPTY(&queue)) {                                            \
-+      q = QUEUE_HEAD(&queue);                                                 \
-+      h = QUEUE_DATA(q, uv_##name##_t, queue);                                \
-+      QUEUE_REMOVE(q);                                                        \
-+      QUEUE_INSERT_TAIL(&loop->name##_handles, q);                            \
-       h->name##_cb(h);                                                        \
-     }                                                                         \
-   }                                                                           \
-diff --git a/deps/uv/src/unix/loop.c b/deps/uv/src/unix/loop.c
-index a9468e8e19c..90a51b339de 100644
---- a/deps/uv/src/unix/loop.c
-+++ b/deps/uv/src/unix/loop.c
-@@ -50,20 +50,20 @@ int uv_loop_init(uv_loop_t* loop) {
-          sizeof(lfields->loop_metrics.metrics));
- 
-   heap_init((struct heap*) &loop->timer_heap);
--  uv__queue_init(&loop->wq);
--  uv__queue_init(&loop->idle_handles);
--  uv__queue_init(&loop->async_handles);
--  uv__queue_init(&loop->check_handles);
--  uv__queue_init(&loop->prepare_handles);
--  uv__queue_init(&loop->handle_queue);
-+  QUEUE_INIT(&loop->wq);
-+  QUEUE_INIT(&loop->idle_handles);
-+  QUEUE_INIT(&loop->async_handles);
-+  QUEUE_INIT(&loop->check_handles);
-+  QUEUE_INIT(&loop->prepare_handles);
-+  QUEUE_INIT(&loop->handle_queue);
- 
-   loop->active_handles = 0;
-   loop->active_reqs.count = 0;
-   loop->nfds = 0;
-   loop->watchers = NULL;
-   loop->nwatchers = 0;
--  uv__queue_init(&loop->pending_queue);
--  uv__queue_init(&loop->watcher_queue);
-+  QUEUE_INIT(&loop->pending_queue);
-+  QUEUE_INIT(&loop->watcher_queue);
- 
-   loop->closing_handles = NULL;
-   uv__update_time(loop);
-@@ -85,7 +85,7 @@ int uv_loop_init(uv_loop_t* loop) {
-   err = uv__process_init(loop);
-   if (err)
-     goto fail_signal_init;
--  uv__queue_init(&loop->process_handles);
-+  QUEUE_INIT(&loop->process_handles);
- 
-   err = uv_rwlock_init(&loop->cloexec_lock);
-   if (err)
-@@ -152,9 +152,9 @@ int uv_loop_fork(uv_loop_t* loop) {
-     if (w == NULL)
-       continue;
- 
--    if (w->pevents != 0 && uv__queue_empty(&w->watcher_queue)) {
-+    if (w->pevents != 0 && QUEUE_EMPTY(&w->watcher_queue)) {
-       w->events = 0; /* Force re-registration in uv__io_poll. */
--      uv__queue_insert_tail(&loop->watcher_queue, &w->watcher_queue);
-+      QUEUE_INSERT_TAIL(&loop->watcher_queue, &w->watcher_queue);
-     }
-   }
- 
-@@ -180,7 +180,7 @@ void uv__loop_close(uv_loop_t* loop) {
-   }
- 
-   uv_mutex_lock(&loop->wq_mutex);
--  assert(uv__queue_empty(&loop->wq) && "thread pool work queue not empty!");
-+  assert(QUEUE_EMPTY(&loop->wq) && "thread pool work queue not empty!");
-   assert(!uv__has_active_reqs(loop));
-   uv_mutex_unlock(&loop->wq_mutex);
-   uv_mutex_destroy(&loop->wq_mutex);
-@@ -192,8 +192,8 @@ void uv__loop_close(uv_loop_t* loop) {
-   uv_rwlock_destroy(&loop->cloexec_lock);
- 
- #if 0
--  assert(uv__queue_empty(&loop->pending_queue));
--  assert(uv__queue_empty(&loop->watcher_queue));
-+  assert(QUEUE_EMPTY(&loop->pending_queue));
-+  assert(QUEUE_EMPTY(&loop->watcher_queue));
-   assert(loop->nfds == 0);
- #endif
- 
-diff --git a/deps/uv/src/unix/os390-syscalls.c b/deps/uv/src/unix/os390-syscalls.c
-index 7f90c270906..5861aaaa202 100644
---- a/deps/uv/src/unix/os390-syscalls.c
-+++ b/deps/uv/src/unix/os390-syscalls.c
-@@ -27,7 +27,7 @@
- #include <termios.h>
- #include <sys/msg.h>
- 
--static struct uv__queue global_epoll_queue;
-+static QUEUE global_epoll_queue;
- static uv_mutex_t global_epoll_lock;
- static uv_once_t once = UV_ONCE_INIT;
- 
-@@ -178,18 +178,18 @@ static void after_fork(void) {
- 
- 
- static void child_fork(void) {
--  struct uv__queue* q;
-+  QUEUE* q;
-   uv_once_t child_once = UV_ONCE_INIT;
- 
-   /* reset once */
-   memcpy(&once, &child_once, sizeof(child_once));
- 
-   /* reset epoll list */
--  while (!uv__queue_empty(&global_epoll_queue)) {
-+  while (!QUEUE_EMPTY(&global_epoll_queue)) {
-     uv__os390_epoll* lst;
--    q = uv__queue_head(&global_epoll_queue);
--    uv__queue_remove(q);
--    lst = uv__queue_data(q, uv__os390_epoll, member);
-+    q = QUEUE_HEAD(&global_epoll_queue);
-+    QUEUE_REMOVE(q);
-+    lst = QUEUE_DATA(q, uv__os390_epoll, member);
-     uv__free(lst->items);
-     lst->items = NULL;
-     lst->size = 0;
-@@ -201,7 +201,7 @@ static void child_fork(void) {
- 
- 
- static void epoll_init(void) {
--  uv__queue_init(&global_epoll_queue);
-+  QUEUE_INIT(&global_epoll_queue);
-   if (uv_mutex_init(&global_epoll_lock))
-     abort();
- 
-@@ -225,7 +225,7 @@ uv__os390_epoll* epoll_create1(int flags) {
-     lst->items[lst->size - 1].revents = 0;
-     uv_once(&once, epoll_init);
-     uv_mutex_lock(&global_epoll_lock);
--    uv__queue_insert_tail(&global_epoll_queue, &lst->member);
-+    QUEUE_INSERT_TAIL(&global_epoll_queue, &lst->member);
-     uv_mutex_unlock(&global_epoll_lock);
-   }
- 
-@@ -352,14 +352,14 @@ int epoll_wait(uv__os390_epoll* lst, struct epoll_event* events,
- 
- 
- int epoll_file_close(int fd) {
--  struct uv__queue* q;
-+  QUEUE* q;
- 
-   uv_once(&once, epoll_init);
-   uv_mutex_lock(&global_epoll_lock);
--  uv__queue_foreach(q, &global_epoll_queue) {
-+  QUEUE_FOREACH(q, &global_epoll_queue) {
-     uv__os390_epoll* lst;
- 
--    lst = uv__queue_data(q, uv__os390_epoll, member);
-+    lst = QUEUE_DATA(q, uv__os390_epoll, member);
-     if (fd < lst->size && lst->items != NULL && lst->items[fd].fd != -1)
-       lst->items[fd].fd = -1;
-   }
-@@ -371,7 +371,7 @@ int epoll_file_close(int fd) {
- void epoll_queue_close(uv__os390_epoll* lst) {
-   /* Remove epoll instance from global queue */
-   uv_mutex_lock(&global_epoll_lock);
--  uv__queue_remove(&lst->member);
-+  QUEUE_REMOVE(&lst->member);
-   uv_mutex_unlock(&global_epoll_lock);
- 
-   /* Free resources */
-diff --git a/deps/uv/src/unix/os390-syscalls.h b/deps/uv/src/unix/os390-syscalls.h
-index d5f3bcf8b1c..9f504171d85 100644
---- a/deps/uv/src/unix/os390-syscalls.h
-+++ b/deps/uv/src/unix/os390-syscalls.h
-@@ -45,7 +45,7 @@ struct epoll_event {
- };
- 
- typedef struct {
--  struct uv__queue member;
-+  QUEUE member;
-   struct pollfd* items;
-   unsigned long size;
-   int msg_queue;
-diff --git a/deps/uv/src/unix/os390.c b/deps/uv/src/unix/os390.c
-index bbd37692d1d..a87c2d77faf 100644
---- a/deps/uv/src/unix/os390.c
-+++ b/deps/uv/src/unix/os390.c
-@@ -815,7 +815,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   uv__os390_epoll* ep;
-   int have_signals;
-   int real_timeout;
--  struct uv__queue* q;
-+  QUEUE* q;
-   uv__io_t* w;
-   uint64_t base;
-   int count;
-@@ -827,19 +827,19 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   int reset_timeout;
- 
-   if (loop->nfds == 0) {
--    assert(uv__queue_empty(&loop->watcher_queue));
-+    assert(QUEUE_EMPTY(&loop->watcher_queue));
-     return;
-   }
- 
-   lfields = uv__get_internal_fields(loop);
- 
--  while (!uv__queue_empty(&loop->watcher_queue)) {
-+  while (!QUEUE_EMPTY(&loop->watcher_queue)) {
-     uv_stream_t* stream;
- 
--    q = uv__queue_head(&loop->watcher_queue);
--    uv__queue_remove(q);
--    uv__queue_init(q);
--    w = uv__queue_data(q, uv__io_t, watcher_queue);
-+    q = QUEUE_HEAD(&loop->watcher_queue);
-+    QUEUE_REMOVE(q);
-+    QUEUE_INIT(q);
-+    w = QUEUE_DATA(q, uv__io_t, watcher_queue);
- 
-     assert(w->pevents != 0);
-     assert(w->fd >= 0);
-diff --git a/deps/uv/src/unix/pipe.c b/deps/uv/src/unix/pipe.c
-index d332f351830..ce91ac49b30 100644
---- a/deps/uv/src/unix/pipe.c
-+++ b/deps/uv/src/unix/pipe.c
-@@ -297,7 +297,7 @@ out:
-   uv__req_init(handle->loop, req, UV_CONNECT);
-   req->handle = (uv_stream_t*)handle;
-   req->cb = cb;
--  uv__queue_init(&req->queue);
-+  QUEUE_INIT(&req->queue);
- 
-   /* Force callback to run on next tick in case of error. */
-   if (err)
-diff --git a/deps/uv/src/unix/posix-poll.c b/deps/uv/src/unix/posix-poll.c
-index 2e016c2fbae..7e7de86845d 100644
---- a/deps/uv/src/unix/posix-poll.c
-+++ b/deps/uv/src/unix/posix-poll.c
-@@ -137,7 +137,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   sigset_t set;
-   uint64_t time_base;
-   uint64_t time_diff;
--  struct uv__queue* q;
-+  QUEUE* q;
-   uv__io_t* w;
-   size_t i;
-   unsigned int nevents;
-@@ -149,19 +149,19 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   int reset_timeout;
- 
-   if (loop->nfds == 0) {
--    assert(uv__queue_empty(&loop->watcher_queue));
-+    assert(QUEUE_EMPTY(&loop->watcher_queue));
-     return;
-   }
- 
-   lfields = uv__get_internal_fields(loop);
- 
-   /* Take queued watchers and add their fds to our poll fds array.  */
--  while (!uv__queue_empty(&loop->watcher_queue)) {
--    q = uv__queue_head(&loop->watcher_queue);
--    uv__queue_remove(q);
--    uv__queue_init(q);
-+  while (!QUEUE_EMPTY(&loop->watcher_queue)) {
-+    q = QUEUE_HEAD(&loop->watcher_queue);
-+    QUEUE_REMOVE(q);
-+    QUEUE_INIT(q);
- 
--    w = uv__queue_data(q, uv__io_t, watcher_queue);
-+    w = QUEUE_DATA(q, uv__io_t, watcher_queue);
-     assert(w->pevents != 0);
-     assert(w->fd >= 0);
-     assert(w->fd < (int) loop->nwatchers);
-diff --git a/deps/uv/src/unix/process.c b/deps/uv/src/unix/process.c
-index dd58c18d9b9..bbf367b57d3 100644
---- a/deps/uv/src/unix/process.c
-+++ b/deps/uv/src/unix/process.c
-@@ -108,17 +108,17 @@ void uv__wait_children(uv_loop_t* loop) {
-   int status;
-   int options;
-   pid_t pid;
--  struct uv__queue pending;
--  struct uv__queue* q;
--  struct uv__queue* h;
-+  QUEUE pending;
-+  QUEUE* q;
-+  QUEUE* h;
- 
--  uv__queue_init(&pending);
-+  QUEUE_INIT(&pending);
- 
-   h = &loop->process_handles;
--  q = uv__queue_head(h);
-+  q = QUEUE_HEAD(h);
-   while (q != h) {
--    process = uv__queue_data(q, uv_process_t, queue);
--    q = uv__queue_next(q);
-+    process = QUEUE_DATA(q, uv_process_t, queue);
-+    q = QUEUE_NEXT(q);
- 
- #ifndef UV_USE_SIGCHLD
-     if ((process->flags & UV_HANDLE_REAP) == 0)
-@@ -149,18 +149,18 @@ void uv__wait_children(uv_loop_t* loop) {
- 
-     assert(pid == process->pid);
-     process->status = status;
--    uv__queue_remove(&process->queue);
--    uv__queue_insert_tail(&pending, &process->queue);
-+    QUEUE_REMOVE(&process->queue);
-+    QUEUE_INSERT_TAIL(&pending, &process->queue);
-   }
- 
-   h = &pending;
--  q = uv__queue_head(h);
-+  q = QUEUE_HEAD(h);
-   while (q != h) {
--    process = uv__queue_data(q, uv_process_t, queue);
--    q = uv__queue_next(q);
-+    process = QUEUE_DATA(q, uv_process_t, queue);
-+    q = QUEUE_NEXT(q);
- 
--    uv__queue_remove(&process->queue);
--    uv__queue_init(&process->queue);
-+    QUEUE_REMOVE(&process->queue);
-+    QUEUE_INIT(&process->queue);
-     uv__handle_stop(process);
- 
-     if (process->exit_cb == NULL)
-@@ -176,7 +176,7 @@ void uv__wait_children(uv_loop_t* loop) {
- 
-     process->exit_cb(process, exit_status, term_signal);
-   }
--  assert(uv__queue_empty(&pending));
-+  assert(QUEUE_EMPTY(&pending));
- }
- 
- /*
-@@ -978,7 +978,7 @@ int uv_spawn(uv_loop_t* loop,
-                               UV_PROCESS_WINDOWS_VERBATIM_ARGUMENTS)));
- 
-   uv__handle_init(loop, (uv_handle_t*)process, UV_PROCESS);
--  uv__queue_init(&process->queue);
-+  QUEUE_INIT(&process->queue);
-   process->status = 0;
- 
-   stdio_count = options->stdio_count;
-@@ -1041,7 +1041,7 @@ int uv_spawn(uv_loop_t* loop,
- 
-     process->pid = pid;
-     process->exit_cb = options->exit_cb;
--    uv__queue_insert_tail(&loop->process_handles, &process->queue);
-+    QUEUE_INSERT_TAIL(&loop->process_handles, &process->queue);
-     uv__handle_start(process);
-   }
- 
-@@ -1103,10 +1103,10 @@ int uv_kill(int pid, int signum) {
- 
- 
- void uv__process_close(uv_process_t* handle) {
--  uv__queue_remove(&handle->queue);
-+  QUEUE_REMOVE(&handle->queue);
-   uv__handle_stop(handle);
- #ifdef UV_USE_SIGCHLD
--  if (uv__queue_empty(&handle->loop->process_handles))
-+  if (QUEUE_EMPTY(&handle->loop->process_handles))
-     uv_signal_stop(&handle->loop->child_watcher);
- #endif
- }
-diff --git a/deps/uv/src/unix/signal.c b/deps/uv/src/unix/signal.c
-index 63aba5a60e0..bb70523f561 100644
---- a/deps/uv/src/unix/signal.c
-+++ b/deps/uv/src/unix/signal.c
-@@ -291,16 +291,16 @@ int uv__signal_loop_fork(uv_loop_t* loop) {
- 
- 
- void uv__signal_loop_cleanup(uv_loop_t* loop) {
--  struct uv__queue* q;
-+  QUEUE* q;
- 
-   /* Stop all the signal watchers that are still attached to this loop. This
-    * ensures that the (shared) signal tree doesn't contain any invalid entries
-    * entries, and that signal handlers are removed when appropriate.
--   * It's safe to use uv__queue_foreach here because the handles and the handle
-+   * It's safe to use QUEUE_FOREACH here because the handles and the handle
-    * queue are not modified by uv__signal_stop().
-    */
--  uv__queue_foreach(q, &loop->handle_queue) {
--    uv_handle_t* handle = uv__queue_data(q, uv_handle_t, handle_queue);
-+  QUEUE_FOREACH(q, &loop->handle_queue) {
-+    uv_handle_t* handle = QUEUE_DATA(q, uv_handle_t, handle_queue);
- 
-     if (handle->type == UV_SIGNAL)
-       uv__signal_stop((uv_signal_t*) handle);
-diff --git a/deps/uv/src/unix/stream.c b/deps/uv/src/unix/stream.c
-index 28c4d5463c4..03f92b5045a 100644
---- a/deps/uv/src/unix/stream.c
-+++ b/deps/uv/src/unix/stream.c
-@@ -94,8 +94,8 @@ void uv__stream_init(uv_loop_t* loop,
-   stream->accepted_fd = -1;
-   stream->queued_fds = NULL;
-   stream->delayed_error = 0;
--  uv__queue_init(&stream->write_queue);
--  uv__queue_init(&stream->write_completed_queue);
-+  QUEUE_INIT(&stream->write_queue);
-+  QUEUE_INIT(&stream->write_completed_queue);
-   stream->write_queue_size = 0;
- 
-   if (loop->emfile_fd == -1) {
-@@ -439,15 +439,15 @@ int uv__stream_open(uv_stream_t* stream, int fd, int flags) {
- 
- void uv__stream_flush_write_queue(uv_stream_t* stream, int error) {
-   uv_write_t* req;
--  struct uv__queue* q;
--  while (!uv__queue_empty(&stream->write_queue)) {
--    q = uv__queue_head(&stream->write_queue);
--    uv__queue_remove(q);
-+  QUEUE* q;
-+  while (!QUEUE_EMPTY(&stream->write_queue)) {
-+    q = QUEUE_HEAD(&stream->write_queue);
-+    QUEUE_REMOVE(q);
- 
--    req = uv__queue_data(q, uv_write_t, queue);
-+    req = QUEUE_DATA(q, uv_write_t, queue);
-     req->error = error;
- 
--    uv__queue_insert_tail(&stream->write_completed_queue, &req->queue);
-+    QUEUE_INSERT_TAIL(&stream->write_completed_queue, &req->queue);
-   }
- }
- 
-@@ -627,7 +627,7 @@ static void uv__drain(uv_stream_t* stream) {
-   uv_shutdown_t* req;
-   int err;
- 
--  assert(uv__queue_empty(&stream->write_queue));
-+  assert(QUEUE_EMPTY(&stream->write_queue));
-   if (!(stream->flags & UV_HANDLE_CLOSING)) {
-     uv__io_stop(stream->loop, &stream->io_watcher, POLLOUT);
-     uv__stream_osx_interrupt_select(stream);
-@@ -714,7 +714,7 @@ static void uv__write_req_finish(uv_write_t* req) {
-   uv_stream_t* stream = req->handle;
- 
-   /* Pop the req off tcp->write_queue. */
--  uv__queue_remove(&req->queue);
-+  QUEUE_REMOVE(&req->queue);
- 
-   /* Only free when there was no error. On error, we touch up write_queue_size
-    * right before making the callback. The reason we don't do that right away
-@@ -731,7 +731,7 @@ static void uv__write_req_finish(uv_write_t* req) {
-   /* Add it to the write_completed_queue where it will have its
-    * callback called in the near future.
-    */
--  uv__queue_insert_tail(&stream->write_completed_queue, &req->queue);
-+  QUEUE_INSERT_TAIL(&stream->write_completed_queue, &req->queue);
-   uv__io_feed(stream->loop, &stream->io_watcher);
- }
- 
-@@ -837,7 +837,7 @@ static int uv__try_write(uv_stream_t* stream,
- }
- 
- static void uv__write(uv_stream_t* stream) {
--  struct uv__queue* q;
-+  QUEUE* q;
-   uv_write_t* req;
-   ssize_t n;
-   int count;
-@@ -851,11 +851,11 @@ static void uv__write(uv_stream_t* stream) {
-   count = 32;
- 
-   for (;;) {
--    if (uv__queue_empty(&stream->write_queue))
-+    if (QUEUE_EMPTY(&stream->write_queue))
-       return;
- 
--    q = uv__queue_head(&stream->write_queue);
--    req = uv__queue_data(q, uv_write_t, queue);
-+    q = QUEUE_HEAD(&stream->write_queue);
-+    req = QUEUE_DATA(q, uv_write_t, queue);
-     assert(req->handle == stream);
- 
-     n = uv__try_write(stream,
-@@ -899,19 +899,19 @@ error:
- 
- static void uv__write_callbacks(uv_stream_t* stream) {
-   uv_write_t* req;
--  struct uv__queue* q;
--  struct uv__queue pq;
-+  QUEUE* q;
-+  QUEUE pq;
- 
--  if (uv__queue_empty(&stream->write_completed_queue))
-+  if (QUEUE_EMPTY(&stream->write_completed_queue))
-     return;
- 
--  uv__queue_move(&stream->write_completed_queue, &pq);
-+  QUEUE_MOVE(&stream->write_completed_queue, &pq);
- 
--  while (!uv__queue_empty(&pq)) {
-+  while (!QUEUE_EMPTY(&pq)) {
-     /* Pop a req off write_completed_queue. */
--    q = uv__queue_head(&pq);
--    req = uv__queue_data(q, uv_write_t, queue);
--    uv__queue_remove(q);
-+    q = QUEUE_HEAD(&pq);
-+    req = QUEUE_DATA(q, uv_write_t, queue);
-+    QUEUE_REMOVE(q);
-     uv__req_unregister(stream->loop, req);
- 
-     if (req->bufs != NULL) {
-@@ -1174,7 +1174,7 @@ int uv_shutdown(uv_shutdown_t* req, uv_stream_t* stream, uv_shutdown_cb cb) {
-   stream->shutdown_req = req;
-   stream->flags &= ~UV_HANDLE_WRITABLE;
- 
--  if (uv__queue_empty(&stream->write_queue))
-+  if (QUEUE_EMPTY(&stream->write_queue))
-     uv__io_feed(stream->loop, &stream->io_watcher);
- 
-   return 0;
-@@ -1227,7 +1227,7 @@ static void uv__stream_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
-     uv__write_callbacks(stream);
- 
-     /* Write queue drained. */
--    if (uv__queue_empty(&stream->write_queue))
-+    if (QUEUE_EMPTY(&stream->write_queue))
-       uv__drain(stream);
-   }
- }
-@@ -1270,7 +1270,7 @@ static void uv__stream_connect(uv_stream_t* stream) {
-   stream->connect_req = NULL;
-   uv__req_unregister(stream->loop, req);
- 
--  if (error < 0 || uv__queue_empty(&stream->write_queue)) {
-+  if (error < 0 || QUEUE_EMPTY(&stream->write_queue)) {
-     uv__io_stop(stream->loop, &stream->io_watcher, POLLOUT);
-   }
- 
-@@ -1352,7 +1352,7 @@ int uv_write2(uv_write_t* req,
-   req->handle = stream;
-   req->error = 0;
-   req->send_handle = send_handle;
--  uv__queue_init(&req->queue);
-+  QUEUE_INIT(&req->queue);
- 
-   req->bufs = req->bufsml;
-   if (nbufs > ARRAY_SIZE(req->bufsml))
-@@ -1367,7 +1367,7 @@ int uv_write2(uv_write_t* req,
-   stream->write_queue_size += uv__count_bufs(bufs, nbufs);
- 
-   /* Append the request to write_queue. */
--  uv__queue_insert_tail(&stream->write_queue, &req->queue);
-+  QUEUE_INSERT_TAIL(&stream->write_queue, &req->queue);
- 
-   /* If the queue was empty when this function began, we should attempt to
-    * do the write immediately. Otherwise start the write_watcher and wait
-diff --git a/deps/uv/src/unix/sunos.c b/deps/uv/src/unix/sunos.c
-index 2d6bae79604..75b6fbad493 100644
---- a/deps/uv/src/unix/sunos.c
-+++ b/deps/uv/src/unix/sunos.c
-@@ -148,7 +148,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   struct port_event events[1024];
-   struct port_event* pe;
-   struct timespec spec;
--  struct uv__queue* q;
-+  QUEUE* q;
-   uv__io_t* w;
-   sigset_t* pset;
-   sigset_t set;
-@@ -166,16 +166,16 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   int reset_timeout;
- 
-   if (loop->nfds == 0) {
--    assert(uv__queue_empty(&loop->watcher_queue));
-+    assert(QUEUE_EMPTY(&loop->watcher_queue));
-     return;
-   }
- 
--  while (!uv__queue_empty(&loop->watcher_queue)) {
--    q = uv__queue_head(&loop->watcher_queue);
--    uv__queue_remove(q);
--    uv__queue_init(q);
-+  while (!QUEUE_EMPTY(&loop->watcher_queue)) {
-+    q = QUEUE_HEAD(&loop->watcher_queue);
-+    QUEUE_REMOVE(q);
-+    QUEUE_INIT(q);
- 
--    w = uv__queue_data(q, uv__io_t, watcher_queue);
-+    w = QUEUE_DATA(q, uv__io_t, watcher_queue);
-     assert(w->pevents != 0);
- 
-     if (port_associate(loop->backend_fd,
-@@ -316,8 +316,8 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-         continue;  /* Disabled by callback. */
- 
-       /* Events Ports operates in oneshot mode, rearm timer on next run. */
--      if (w->pevents != 0 && uv__queue_empty(&w->watcher_queue))
--        uv__queue_insert_tail(&loop->watcher_queue, &w->watcher_queue);
-+      if (w->pevents != 0 && QUEUE_EMPTY(&w->watcher_queue))
-+        QUEUE_INSERT_TAIL(&loop->watcher_queue, &w->watcher_queue);
-     }
- 
-     uv__metrics_inc_events(loop, nevents);
-diff --git a/deps/uv/src/unix/tcp.c b/deps/uv/src/unix/tcp.c
-index d6c848f4610..ab4e06c2f67 100644
---- a/deps/uv/src/unix/tcp.c
-+++ b/deps/uv/src/unix/tcp.c
-@@ -124,7 +124,7 @@ int uv_tcp_init_ex(uv_loop_t* loop, uv_tcp_t* tcp, unsigned int flags) {
-   if (domain != AF_UNSPEC) {
-     err = new_socket(tcp, domain, 0);
-     if (err) {
--      uv__queue_remove(&tcp->handle_queue);
-+      QUEUE_REMOVE(&tcp->handle_queue);
-       if (tcp->io_watcher.fd != -1)
-         uv__close(tcp->io_watcher.fd);
-       tcp->io_watcher.fd = -1;
-@@ -252,7 +252,7 @@ out:
-   uv__req_init(handle->loop, req, UV_CONNECT);
-   req->cb = cb;
-   req->handle = (uv_stream_t*) handle;
--  uv__queue_init(&req->queue);
-+  QUEUE_INIT(&req->queue);
-   handle->connect_req = req;
- 
-   uv__io_start(handle->loop, &handle->io_watcher, POLLOUT);
-diff --git a/deps/uv/src/unix/tty.c b/deps/uv/src/unix/tty.c
-index d099bdb3b67..7a5390c1a8b 100644
---- a/deps/uv/src/unix/tty.c
-+++ b/deps/uv/src/unix/tty.c
-@@ -222,7 +222,7 @@ skip:
-     int rc = r;
-     if (newfd != -1)
-       uv__close(newfd);
--    uv__queue_remove(&tty->handle_queue);
-+    QUEUE_REMOVE(&tty->handle_queue);
-     do
-       r = fcntl(fd, F_SETFL, saved_flags);
-     while (r == -1 && errno == EINTR);
-diff --git a/deps/uv/src/unix/udp.c b/deps/uv/src/unix/udp.c
-index c2814512a5f..f556808fbae 100644
---- a/deps/uv/src/unix/udp.c
-+++ b/deps/uv/src/unix/udp.c
-@@ -62,18 +62,18 @@ void uv__udp_close(uv_udp_t* handle) {
- 
- void uv__udp_finish_close(uv_udp_t* handle) {
-   uv_udp_send_t* req;
--  struct uv__queue* q;
-+  QUEUE* q;
- 
-   assert(!uv__io_active(&handle->io_watcher, POLLIN | POLLOUT));
-   assert(handle->io_watcher.fd == -1);
- 
--  while (!uv__queue_empty(&handle->write_queue)) {
--    q = uv__queue_head(&handle->write_queue);
--    uv__queue_remove(q);
-+  while (!QUEUE_EMPTY(&handle->write_queue)) {
-+    q = QUEUE_HEAD(&handle->write_queue);
-+    QUEUE_REMOVE(q);
- 
--    req = uv__queue_data(q, uv_udp_send_t, queue);
-+    req = QUEUE_DATA(q, uv_udp_send_t, queue);
-     req->status = UV_ECANCELED;
--    uv__queue_insert_tail(&handle->write_completed_queue, &req->queue);
-+    QUEUE_INSERT_TAIL(&handle->write_completed_queue, &req->queue);
-   }
- 
-   uv__udp_run_completed(handle);
-@@ -90,16 +90,16 @@ void uv__udp_finish_close(uv_udp_t* handle) {
- 
- static void uv__udp_run_completed(uv_udp_t* handle) {
-   uv_udp_send_t* req;
--  struct uv__queue* q;
-+  QUEUE* q;
- 
-   assert(!(handle->flags & UV_HANDLE_UDP_PROCESSING));
-   handle->flags |= UV_HANDLE_UDP_PROCESSING;
- 
--  while (!uv__queue_empty(&handle->write_completed_queue)) {
--    q = uv__queue_head(&handle->write_completed_queue);
--    uv__queue_remove(q);
-+  while (!QUEUE_EMPTY(&handle->write_completed_queue)) {
-+    q = QUEUE_HEAD(&handle->write_completed_queue);
-+    QUEUE_REMOVE(q);
- 
--    req = uv__queue_data(q, uv_udp_send_t, queue);
-+    req = QUEUE_DATA(q, uv_udp_send_t, queue);
-     uv__req_unregister(handle->loop, req);
- 
-     handle->send_queue_size -= uv__count_bufs(req->bufs, req->nbufs);
-@@ -121,7 +121,7 @@ static void uv__udp_run_completed(uv_udp_t* handle) {
-       req->send_cb(req, req->status);
-   }
- 
--  if (uv__queue_empty(&handle->write_queue)) {
-+  if (QUEUE_EMPTY(&handle->write_queue)) {
-     /* Pending queue and completion queue empty, stop watcher. */
-     uv__io_stop(handle->loop, &handle->io_watcher, POLLOUT);
-     if (!uv__io_active(&handle->io_watcher, POLLIN))
-@@ -280,20 +280,20 @@ static void uv__udp_sendmsg(uv_udp_t* handle) {
-   uv_udp_send_t* req;
-   struct mmsghdr h[20];
-   struct mmsghdr* p;
--  struct uv__queue* q;
-+  QUEUE* q;
-   ssize_t npkts;
-   size_t pkts;
-   size_t i;
- 
--  if (uv__queue_empty(&handle->write_queue))
-+  if (QUEUE_EMPTY(&handle->write_queue))
-     return;
- 
- write_queue_drain:
--  for (pkts = 0, q = uv__queue_head(&handle->write_queue);
-+  for (pkts = 0, q = QUEUE_HEAD(&handle->write_queue);
-        pkts < ARRAY_SIZE(h) && q != &handle->write_queue;
--       ++pkts, q = uv__queue_head(q)) {
-+       ++pkts, q = QUEUE_HEAD(q)) {
-     assert(q != NULL);
--    req = uv__queue_data(q, uv_udp_send_t, queue);
-+    req = QUEUE_DATA(q, uv_udp_send_t, queue);
-     assert(req != NULL);
- 
-     p = &h[pkts];
-@@ -325,16 +325,16 @@ write_queue_drain:
-   if (npkts < 1) {
-     if (errno == EAGAIN || errno == EWOULDBLOCK || errno == ENOBUFS)
-       return;
--    for (i = 0, q = uv__queue_head(&handle->write_queue);
-+    for (i = 0, q = QUEUE_HEAD(&handle->write_queue);
-          i < pkts && q != &handle->write_queue;
--         ++i, q = uv__queue_head(&handle->write_queue)) {
-+         ++i, q = QUEUE_HEAD(&handle->write_queue)) {
-       assert(q != NULL);
--      req = uv__queue_data(q, uv_udp_send_t, queue);
-+      req = QUEUE_DATA(q, uv_udp_send_t, queue);
-       assert(req != NULL);
- 
-       req->status = UV__ERR(errno);
--      uv__queue_remove(&req->queue);
--      uv__queue_insert_tail(&handle->write_completed_queue, &req->queue);
-+      QUEUE_REMOVE(&req->queue);
-+      QUEUE_INSERT_TAIL(&handle->write_completed_queue, &req->queue);
-     }
-     uv__io_feed(handle->loop, &handle->io_watcher);
-     return;
-@@ -343,11 +343,11 @@ write_queue_drain:
-   /* Safety: npkts known to be >0 below. Hence cast from ssize_t
-    * to size_t safe.
-    */
--  for (i = 0, q = uv__queue_head(&handle->write_queue);
-+  for (i = 0, q = QUEUE_HEAD(&handle->write_queue);
-        i < (size_t)npkts && q != &handle->write_queue;
--       ++i, q = uv__queue_head(&handle->write_queue)) {
-+       ++i, q = QUEUE_HEAD(&handle->write_queue)) {
-     assert(q != NULL);
--    req = uv__queue_data(q, uv_udp_send_t, queue);
-+    req = QUEUE_DATA(q, uv_udp_send_t, queue);
-     assert(req != NULL);
- 
-     req->status = req->bufs[0].len;
-@@ -357,25 +357,25 @@ write_queue_drain:
-      * why we don't handle partial writes. Just pop the request
-      * off the write queue and onto the completed queue, done.
-      */
--    uv__queue_remove(&req->queue);
--    uv__queue_insert_tail(&handle->write_completed_queue, &req->queue);
-+    QUEUE_REMOVE(&req->queue);
-+    QUEUE_INSERT_TAIL(&handle->write_completed_queue, &req->queue);
-   }
- 
-   /* couldn't batch everything, continue sending (jump to avoid stack growth) */
--  if (!uv__queue_empty(&handle->write_queue))
-+  if (!QUEUE_EMPTY(&handle->write_queue))
-     goto write_queue_drain;
-   uv__io_feed(handle->loop, &handle->io_watcher);
- #else  /* __linux__ || ____FreeBSD__ */
-   uv_udp_send_t* req;
-   struct msghdr h;
--  struct uv__queue* q;
-+  QUEUE* q;
-   ssize_t size;
- 
--  while (!uv__queue_empty(&handle->write_queue)) {
--    q = uv__queue_head(&handle->write_queue);
-+  while (!QUEUE_EMPTY(&handle->write_queue)) {
-+    q = QUEUE_HEAD(&handle->write_queue);
-     assert(q != NULL);
- 
--    req = uv__queue_data(q, uv_udp_send_t, queue);
-+    req = QUEUE_DATA(q, uv_udp_send_t, queue);
-     assert(req != NULL);
- 
-     memset(&h, 0, sizeof h);
-@@ -414,8 +414,8 @@ write_queue_drain:
-      * why we don't handle partial writes. Just pop the request
-      * off the write queue and onto the completed queue, done.
-      */
--    uv__queue_remove(&req->queue);
--    uv__queue_insert_tail(&handle->write_completed_queue, &req->queue);
-+    QUEUE_REMOVE(&req->queue);
-+    QUEUE_INSERT_TAIL(&handle->write_completed_queue, &req->queue);
-     uv__io_feed(handle->loop, &handle->io_watcher);
-   }
- #endif  /* __linux__ || ____FreeBSD__ */
-@@ -729,7 +729,7 @@ int uv__udp_send(uv_udp_send_t* req,
-   memcpy(req->bufs, bufs, nbufs * sizeof(bufs[0]));
-   handle->send_queue_size += uv__count_bufs(req->bufs, req->nbufs);
-   handle->send_queue_count++;
--  uv__queue_insert_tail(&handle->write_queue, &req->queue);
-+  QUEUE_INSERT_TAIL(&handle->write_queue, &req->queue);
-   uv__handle_start(handle);
- 
-   if (empty_queue && !(handle->flags & UV_HANDLE_UDP_PROCESSING)) {
-@@ -739,7 +739,7 @@ int uv__udp_send(uv_udp_send_t* req,
-      * away. In such cases the `io_watcher` has to be queued for asynchronous
-      * write.
-      */
--    if (!uv__queue_empty(&handle->write_queue))
-+    if (!QUEUE_EMPTY(&handle->write_queue))
-       uv__io_start(handle->loop, &handle->io_watcher, POLLOUT);
-   } else {
-     uv__io_start(handle->loop, &handle->io_watcher, POLLOUT);
-@@ -1007,8 +1007,8 @@ int uv__udp_init_ex(uv_loop_t* loop,
-   handle->send_queue_size = 0;
-   handle->send_queue_count = 0;
-   uv__io_init(&handle->io_watcher, uv__udp_io, fd);
--  uv__queue_init(&handle->write_queue);
--  uv__queue_init(&handle->write_completed_queue);
-+  QUEUE_INIT(&handle->write_queue);
-+  QUEUE_INIT(&handle->write_completed_queue);
- 
-   return 0;
- }
-diff --git a/deps/uv/src/uv-common.c b/deps/uv/src/uv-common.c
-index 916f3f4e006..cec771fab21 100644
---- a/deps/uv/src/uv-common.c
-+++ b/deps/uv/src/uv-common.c
-@@ -533,17 +533,17 @@ int uv_udp_recv_stop(uv_udp_t* handle) {
- 
- 
- void uv_walk(uv_loop_t* loop, uv_walk_cb walk_cb, void* arg) {
--  struct uv__queue queue;
--  struct uv__queue* q;
-+  QUEUE queue;
-+  QUEUE* q;
-   uv_handle_t* h;
- 
--  uv__queue_move(&loop->handle_queue, &queue);
--  while (!uv__queue_empty(&queue)) {
--    q = uv__queue_head(&queue);
--    h = uv__queue_data(q, uv_handle_t, handle_queue);
-+  QUEUE_MOVE(&loop->handle_queue, &queue);
-+  while (!QUEUE_EMPTY(&queue)) {
-+    q = QUEUE_HEAD(&queue);
-+    h = QUEUE_DATA(q, uv_handle_t, handle_queue);
- 
--    uv__queue_remove(q);
--    uv__queue_insert_tail(&loop->handle_queue, q);
-+    QUEUE_REMOVE(q);
-+    QUEUE_INSERT_TAIL(&loop->handle_queue, q);
- 
-     if (h->flags & UV_HANDLE_INTERNAL) continue;
-     walk_cb(h, arg);
-@@ -553,14 +553,14 @@ void uv_walk(uv_loop_t* loop, uv_walk_cb walk_cb, void* arg) {
- 
- static void uv__print_handles(uv_loop_t* loop, int only_active, FILE* stream) {
-   const char* type;
--  struct uv__queue* q;
-+  QUEUE* q;
-   uv_handle_t* h;
- 
-   if (loop == NULL)
-     loop = uv_default_loop();
- 
--  uv__queue_foreach(q, &loop->handle_queue) {
--    h = uv__queue_data(q, uv_handle_t, handle_queue);
-+  QUEUE_FOREACH(q, &loop->handle_queue) {
-+    h = QUEUE_DATA(q, uv_handle_t, handle_queue);
- 
-     if (only_active && !uv__is_active(h))
-       continue;
-@@ -846,7 +846,7 @@ uv_loop_t* uv_loop_new(void) {
- 
- 
- int uv_loop_close(uv_loop_t* loop) {
--  struct uv__queue* q;
-+  QUEUE* q;
-   uv_handle_t* h;
- #ifndef NDEBUG
-   void* saved_data;
-@@ -855,8 +855,8 @@ int uv_loop_close(uv_loop_t* loop) {
-   if (uv__has_active_reqs(loop))
-     return UV_EBUSY;
- 
--  uv__queue_foreach(q, &loop->handle_queue) {
--    h = uv__queue_data(q, uv_handle_t, handle_queue);
-+  QUEUE_FOREACH(q, &loop->handle_queue) {
-+    h = QUEUE_DATA(q, uv_handle_t, handle_queue);
-     if (!(h->flags & UV_HANDLE_INTERNAL))
-       return UV_EBUSY;
-   }
-diff --git a/deps/uv/src/uv-common.h b/deps/uv/src/uv-common.h
-index cd57e5a3515..decde5362c8 100644
---- a/deps/uv/src/uv-common.h
-+++ b/deps/uv/src/uv-common.h
-@@ -323,7 +323,7 @@ void uv__threadpool_cleanup(void);
-     (h)->loop = (loop_);                                                      \
-     (h)->type = (type_);                                                      \
-     (h)->flags = UV_HANDLE_REF;  /* Ref the loop when active. */              \
--    uv__queue_insert_tail(&(loop_)->handle_queue, &(h)->handle_queue);        \
-+    QUEUE_INSERT_TAIL(&(loop_)->handle_queue, &(h)->handle_queue);            \
-     uv__handle_platform_init(h);                                              \
-   }                                                                           \
-   while (0)
-@@ -415,7 +415,6 @@ struct uv__iou {
-   size_t sqelen;
-   int ringfd;
-   uint32_t in_flight;
--  uint32_t flags;
- };
- #endif  /* __linux__ */
- 
-diff --git a/deps/uv/src/win/core.c b/deps/uv/src/win/core.c
-index e9885a0f1ff..9a3be58849a 100644
---- a/deps/uv/src/win/core.c
-+++ b/deps/uv/src/win/core.c
-@@ -255,8 +255,8 @@ int uv_loop_init(uv_loop_t* loop) {
-   loop->time = 0;
-   uv_update_time(loop);
- 
--  uv__queue_init(&loop->wq);
--  uv__queue_init(&loop->handle_queue);
-+  QUEUE_INIT(&loop->wq);
-+  QUEUE_INIT(&loop->handle_queue);
-   loop->active_reqs.count = 0;
-   loop->active_handles = 0;
- 
-@@ -358,7 +358,7 @@ void uv__loop_close(uv_loop_t* loop) {
-   }
- 
-   uv_mutex_lock(&loop->wq_mutex);
--  assert(uv__queue_empty(&loop->wq) && "thread pool work queue not empty!");
-+  assert(QUEUE_EMPTY(&loop->wq) && "thread pool work queue not empty!");
-   assert(!uv__has_active_reqs(loop));
-   uv_mutex_unlock(&loop->wq_mutex);
-   uv_mutex_destroy(&loop->wq_mutex);
-diff --git a/deps/uv/src/win/fs.c b/deps/uv/src/win/fs.c
-index fc209c54f47..deb9438d689 100644
---- a/deps/uv/src/win/fs.c
-+++ b/deps/uv/src/win/fs.c
-@@ -144,97 +144,26 @@ void uv__fs_init(void) {
- }
- 
- 
--static int32_t fs__decode_wtf8_char(const char** input) {
--  uint32_t code_point;
--  uint8_t b1;
--  uint8_t b2;
--  uint8_t b3;
--  uint8_t b4;
--
--  b1 = **input;
--  if (b1 <= 0x7F)
--    return b1; /* ASCII code point */
--  if (b1 < 0xC2)
--    return -1; /* invalid: continuation byte */
--  code_point = b1;
--
--  b2 = *++*input;
--  if ((b2 & 0xC0) != 0x80)
--    return -1; /* invalid: not a continuation byte */
--  code_point = (code_point << 6) | (b2 & 0x3F);
--  if (b1 <= 0xDF)
--    return 0x7FF & code_point; /* two-byte character */
--
--  b3 = *++*input;
--  if ((b3 & 0xC0) != 0x80)
--    return -1; /* invalid: not a continuation byte */
--  code_point = (code_point << 6) | (b3 & 0x3F);
--  if (b1 <= 0xEF)
--    return 0xFFFF & code_point; /* three-byte character */
--
--  b4 = *++*input;
--  if ((b4 & 0xC0) != 0x80)
--    return -1; /* invalid: not a continuation byte */
--  code_point = (code_point << 6) | (b4 & 0x3F);
--  if (b1 <= 0xF4)
--    if (code_point <= 0x10FFFF)
--      return code_point; /* four-byte character */
--
--  /* code point too large */
--  return -1;
--}
--
--
--static ssize_t fs__get_length_wtf8(const char* source_ptr) {
--  size_t w_target_len = 0;
--  int32_t code_point;
--
--  do {
--    code_point = fs__decode_wtf8_char(&source_ptr);
--    if (code_point < 0)
--      return -1;
--    if (code_point > 0xFFFF)
--      w_target_len++;
--    w_target_len++;
--  } while (*source_ptr++);
--  return w_target_len;
--}
--
--
--static void fs__wtf8_to_wide(const char* source_ptr, WCHAR* w_target) {
--  int32_t code_point;
--
--  do {
--    code_point = fs__decode_wtf8_char(&source_ptr);
--    /* fs__get_length_wtf8 should have been called and checked first. */
--    assert(code_point >= 0);
--    if (code_point > 0x10000) {
--      assert(code_point < 0x10FFFF);
--      *w_target++ = (((code_point - 0x10000) >> 10) + 0xD800);
--      *w_target++ = ((code_point - 0x10000) & 0x3FF) + 0xDC00;
--    } else {
--      *w_target++ = code_point;
--    }
--  } while (*source_ptr++);
--}
--
--
- INLINE static int fs__capture_path(uv_fs_t* req, const char* path,
-     const char* new_path, const int copy_path) {
--  WCHAR* buf;
--  WCHAR* pos;
--  size_t buf_sz = 0;
--  size_t path_len = 0;
--  ssize_t pathw_len = 0;
--  ssize_t new_pathw_len = 0;
-+  char* buf;
-+  char* pos;
-+  ssize_t buf_sz = 0, path_len = 0, pathw_len = 0, new_pathw_len = 0;
- 
-   /* new_path can only be set if path is also set. */
-   assert(new_path == NULL || path != NULL);
- 
-   if (path != NULL) {
--    pathw_len = fs__get_length_wtf8(path);
--    if (pathw_len < 0)
--      return ERROR_INVALID_NAME;
-+    pathw_len = MultiByteToWideChar(CP_UTF8,
-+                                    0,
-+                                    path,
-+                                    -1,
-+                                    NULL,
-+                                    0);
-+    if (pathw_len == 0) {
-+      return GetLastError();
-+    }
-+
-     buf_sz += pathw_len * sizeof(WCHAR);
-   }
- 
-@@ -244,9 +173,16 @@ INLINE static int fs__capture_path(uv_fs_t* req, const char* path,
-   }
- 
-   if (new_path != NULL) {
--    new_pathw_len = fs__get_length_wtf8(new_path);
--    if (new_pathw_len < 0)
--      return ERROR_INVALID_NAME;
-+    new_pathw_len = MultiByteToWideChar(CP_UTF8,
-+                                        0,
-+                                        new_path,
-+                                        -1,
-+                                        NULL,
-+                                        0);
-+    if (new_pathw_len == 0) {
-+      return GetLastError();
-+    }
-+
-     buf_sz += new_pathw_len * sizeof(WCHAR);
-   }
- 
-@@ -258,7 +194,7 @@ INLINE static int fs__capture_path(uv_fs_t* req, const char* path,
-     return 0;
-   }
- 
--  buf = uv__malloc(buf_sz);
-+  buf = (char*) uv__malloc(buf_sz);
-   if (buf == NULL) {
-     return ERROR_OUTOFMEMORY;
-   }
-@@ -266,17 +202,29 @@ INLINE static int fs__capture_path(uv_fs_t* req, const char* path,
-   pos = buf;
- 
-   if (path != NULL) {
--    fs__wtf8_to_wide(path, pos);
--    req->file.pathw = pos;
--    pos += pathw_len;
-+    DWORD r = MultiByteToWideChar(CP_UTF8,
-+                                  0,
-+                                  path,
-+                                  -1,
-+                                  (WCHAR*) pos,
-+                                  pathw_len);
-+    assert(r == (DWORD) pathw_len);
-+    req->file.pathw = (WCHAR*) pos;
-+    pos += r * sizeof(WCHAR);
-   } else {
-     req->file.pathw = NULL;
-   }
- 
-   if (new_path != NULL) {
--    fs__wtf8_to_wide(new_path, pos);
--    req->fs.info.new_pathw = pos;
--    pos += new_pathw_len;
-+    DWORD r = MultiByteToWideChar(CP_UTF8,
-+                                  0,
-+                                  new_path,
-+                                  -1,
-+                                  (WCHAR*) pos,
-+                                  new_pathw_len);
-+    assert(r == (DWORD) new_pathw_len);
-+    req->fs.info.new_pathw = (WCHAR*) pos;
-+    pos += r * sizeof(WCHAR);
-   } else {
-     req->fs.info.new_pathw = NULL;
-   }
-@@ -284,8 +232,8 @@ INLINE static int fs__capture_path(uv_fs_t* req, const char* path,
-   req->path = path;
-   if (path != NULL && copy_path) {
-     memcpy(pos, path, path_len);
--    assert(path_len == buf_sz - (pos - buf) * sizeof(WCHAR));
--    req->path = (char*) pos;
-+    assert(path_len == buf_sz - (pos - buf));
-+    req->path = pos;
-   }
- 
-   req->flags |= UV_FS_FREE_PATHS;
-@@ -311,115 +259,57 @@ INLINE static void uv__fs_req_init(uv_loop_t* loop, uv_fs_t* req,
- }
- 
- 
--static int32_t fs__get_surrogate_value(const WCHAR* w_source_ptr,
--                                       size_t w_source_len) {
--  WCHAR u;
--  WCHAR next;
--
--  u = w_source_ptr[0];
--  if (u >= 0xD800 && u <= 0xDBFF && w_source_len > 1) {
--    next = w_source_ptr[1];
--    if (next >= 0xDC00 && next <= 0xDFFF)
--      return 0x10000 + ((u - 0xD800) << 10) + (next - 0xDC00);
--  }
--  return u;
--}
--
--
--static size_t fs__get_length_wide(const WCHAR* w_source_ptr,
--                                  size_t w_source_len) {
--  size_t target_len;
--  int32_t code_point;
-+static int fs__wide_to_utf8(WCHAR* w_source_ptr,
-+                               DWORD w_source_len,
-+                               char** target_ptr,
-+                               uint64_t* target_len_ptr) {
-+  int r;
-+  int target_len;
-+  char* target;
-+  target_len = WideCharToMultiByte(CP_UTF8,
-+                                   0,
-+                                   w_source_ptr,
-+                                   w_source_len,
-+                                   NULL,
-+                                   0,
-+                                   NULL,
-+                                   NULL);
- 
--  target_len = 0;
--  for (; w_source_len; w_source_len--, w_source_ptr++) {
--    code_point = fs__get_surrogate_value(w_source_ptr, w_source_len);
--    /* Can be invalid UTF-8 but must be valid WTF-8. */
--    assert(code_point >= 0);
--    if (code_point < 0x80)
--      target_len += 1;
--    else if (code_point < 0x800)
--      target_len += 2;
--    else if (code_point < 0x10000)
--      target_len += 3;
--    else {
--      target_len += 4;
--      w_source_ptr++;
--      w_source_len--;
--    }
-+  if (target_len == 0) {
-+    return -1;
-   }
--  return target_len;
--}
- 
--
--static int fs__wide_to_wtf8(WCHAR* w_source_ptr,
--                            size_t w_source_len,
--                            char** target_ptr,
--                            size_t* target_len_ptr) {
--  size_t target_len;
--  char* target;
--  int32_t code_point;
--
--  /* If *target_ptr is provided, then *target_len_ptr must be its length
--   * (excluding space for null), otherwise we will compute the target_len_ptr
--   * length and may return a new allocation in *target_ptr if target_ptr is
--   * provided. */
--  if (target_ptr == NULL || *target_ptr == NULL) {
--    target_len = fs__get_length_wide(w_source_ptr, w_source_len);
--    if (target_len_ptr != NULL)
--      *target_len_ptr = target_len;
--  } else {
--    target_len = *target_len_ptr;
-+  if (target_len_ptr != NULL) {
-+    *target_len_ptr = target_len;
-   }
- 
--  if (target_ptr == NULL)
-+  if (target_ptr == NULL) {
-     return 0;
--
--  if (*target_ptr == NULL) {
--    target = uv__malloc(target_len + 1);
--    if (target == NULL) {
--      SetLastError(ERROR_OUTOFMEMORY);
--      return -1;
--    }
--    *target_ptr = target;
--  } else {
--    target = *target_ptr;
--  }
--
--  for (; w_source_len; w_source_len--, w_source_ptr++) {
--    code_point = fs__get_surrogate_value(w_source_ptr, w_source_len);
--    /* Can be invalid UTF-8 but must be valid WTF-8. */
--    assert(code_point >= 0);
--
--    if (code_point < 0x80) {
--      *target++ = code_point;
--    } else if (code_point < 0x800) {
--      *target++ = 0xC0 | (code_point >> 6);
--      *target++ = 0x80 | (code_point & 0x3F);
--    } else if (code_point < 0x10000) {
--      *target++ = 0xE0 | (code_point >> 12);
--      *target++ = 0x80 | ((code_point >> 6) & 0x3F);
--      *target++ = 0x80 | (code_point & 0x3F);
--    } else {
--      *target++ = 0xF0 | (code_point >> 18);
--      *target++ = 0x80 | ((code_point >> 12) & 0x3F);
--      *target++ = 0x80 | ((code_point >> 6) & 0x3F);
--      *target++ = 0x80 | (code_point & 0x3F);
--      w_source_ptr++;
--      w_source_len--;
--    }
-   }
--  assert((size_t) (target - *target_ptr) == target_len);
- 
--  *target++ = '\0';
-+  target = uv__malloc(target_len + 1);
-+  if (target == NULL) {
-+    SetLastError(ERROR_OUTOFMEMORY);
-+    return -1;
-+  }
- 
-+  r = WideCharToMultiByte(CP_UTF8,
-+                          0,
-+                          w_source_ptr,
-+                          w_source_len,
-+                          target,
-+                          target_len,
-+                          NULL,
-+                          NULL);
-+  assert(r == target_len);
-+  target[target_len] = '\0';
-+  *target_ptr = target;
-   return 0;
- }
- 
- 
--INLINE static int fs__readlink_handle(HANDLE handle,
--                                      char** target_ptr,
--                                      size_t* target_len_ptr) {
-+INLINE static int fs__readlink_handle(HANDLE handle, char** target_ptr,
-+    uint64_t* target_len_ptr) {
-   char buffer[MAXIMUM_REPARSE_DATA_BUFFER_SIZE];
-   REPARSE_DATA_BUFFER* reparse_data = (REPARSE_DATA_BUFFER*) buffer;
-   WCHAR* w_target;
-@@ -549,8 +439,7 @@ INLINE static int fs__readlink_handle(HANDLE handle,
-     return -1;
-   }
- 
--  assert(target_ptr == NULL || *target_ptr == NULL);
--  return fs__wide_to_wtf8(w_target, w_target_len, target_ptr, target_len_ptr);
-+  return fs__wide_to_utf8(w_target, w_target_len, target_ptr, target_len_ptr);
- }
- 
- 
-@@ -1540,8 +1429,7 @@ void fs__scandir(uv_fs_t* req) {
-       uv__dirent_t* dirent;
- 
-       size_t wchar_len;
--      size_t wtf8_len;
--      char* wtf8;
-+      size_t utf8_len;
- 
-       /* Obtain a pointer to the current directory entry. */
-       position += next_entry_offset;
-@@ -1568,8 +1456,11 @@ void fs__scandir(uv_fs_t* req) {
-           info->FileName[1] == L'.')
-         continue;
- 
--      /* Compute the space required to store the filename as WTF-8. */
--      wtf8_len = fs__get_length_wide(&info->FileName[0], wchar_len);
-+      /* Compute the space required to store the filename as UTF-8. */
-+      utf8_len = WideCharToMultiByte(
-+          CP_UTF8, 0, &info->FileName[0], wchar_len, NULL, 0, NULL, NULL);
-+      if (utf8_len == 0)
-+        goto win32_error;
- 
-       /* Resize the dirent array if needed. */
-       if (dirents_used >= dirents_size) {
-@@ -1589,17 +1480,26 @@ void fs__scandir(uv_fs_t* req) {
-        * includes room for the first character of the filename, but `utf8_len`
-        * doesn't count the NULL terminator at this point.
-        */
--      dirent = uv__malloc(sizeof *dirent + wtf8_len);
-+      dirent = uv__malloc(sizeof *dirent + utf8_len);
-       if (dirent == NULL)
-         goto out_of_memory_error;
- 
-       dirents[dirents_used++] = dirent;
- 
-       /* Convert file name to UTF-8. */
--      wtf8 = &dirent->d_name[0];
--      if (fs__wide_to_wtf8(&info->FileName[0], wchar_len, &wtf8, &wtf8_len) == -1)
-+      if (WideCharToMultiByte(CP_UTF8,
-+                              0,
-+                              &info->FileName[0],
-+                              wchar_len,
-+                              &dirent->d_name[0],
-+                              utf8_len,
-+                              NULL,
-+                              NULL) == 0)
-         goto win32_error;
- 
-+      /* Add a null terminator to the filename. */
-+      dirent->d_name[utf8_len] = '\0';
-+
-       /* Fill out the type field. */
-       if (info->FileAttributes & FILE_ATTRIBUTE_DEVICE)
-         dirent->d_type = UV__DT_CHAR;
-@@ -1808,7 +1708,6 @@ void fs__closedir(uv_fs_t* req) {
- 
- INLINE static int fs__stat_handle(HANDLE handle, uv_stat_t* statbuf,
-     int do_lstat) {
--  size_t target_length = 0;
-   FILE_FS_DEVICE_INFORMATION device_info;
-   FILE_ALL_INFORMATION file_info;
-   FILE_FS_VOLUME_INFORMATION volume_info;
-@@ -1904,10 +1803,9 @@ INLINE static int fs__stat_handle(HANDLE handle, uv_stat_t* statbuf,
-      * to be treated as a regular file. The higher level lstat function will
-      * detect this failure and retry without do_lstat if appropriate.
-      */
--    if (fs__readlink_handle(handle, NULL, &target_length) != 0)
-+    if (fs__readlink_handle(handle, NULL, &statbuf->st_size) != 0)
-       return -1;
-     statbuf->st_mode |= S_IFLNK;
--    statbuf->st_size = target_length;
-   }
- 
-   if (statbuf->st_mode == 0) {
-@@ -2763,7 +2661,6 @@ static void fs__readlink(uv_fs_t* req) {
-     return;
-   }
- 
--  assert(req->ptr == NULL);
-   if (fs__readlink_handle(handle, (char**) &req->ptr, NULL) != 0) {
-     DWORD error = GetLastError();
-     SET_REQ_WIN32_ERROR(req, error);
-@@ -2823,8 +2720,7 @@ static ssize_t fs__realpath_handle(HANDLE handle, char** realpath_ptr) {
-     return -1;
-   }
- 
--  assert(*realpath_ptr == NULL);
--  r = fs__wide_to_wtf8(w_realpath_ptr, w_realpath_len, realpath_ptr, NULL);
-+  r = fs__wide_to_utf8(w_realpath_ptr, w_realpath_len, realpath_ptr, NULL);
-   uv__free(w_realpath_buf);
-   return r;
- }
-@@ -2844,7 +2740,6 @@ static void fs__realpath(uv_fs_t* req) {
-     return;
-   }
- 
--  assert(req->ptr == NULL);
-   if (fs__realpath_handle(handle, (char**) &req->ptr) == -1) {
-     CloseHandle(handle);
-     SET_REQ_WIN32_ERROR(req, GetLastError());
-diff --git a/deps/uv/src/win/handle-inl.h b/deps/uv/src/win/handle-inl.h
-index 4722e85790a..5c843c241ef 100644
---- a/deps/uv/src/win/handle-inl.h
-+++ b/deps/uv/src/win/handle-inl.h
-@@ -75,7 +75,7 @@
- 
- #define uv__handle_close(handle)                                        \
-   do {                                                                  \
--    uv__queue_remove(&(handle)->handle_queue);                          \
-+    QUEUE_REMOVE(&(handle)->handle_queue);                              \
-     uv__active_handle_rm((uv_handle_t*) (handle));                      \
-                                                                         \
-     (handle)->flags |= UV_HANDLE_CLOSED;                                \
-diff --git a/deps/uv/src/win/pipe.c b/deps/uv/src/win/pipe.c
-index f0cac382256..5e4276387ac 100644
---- a/deps/uv/src/win/pipe.c
-+++ b/deps/uv/src/win/pipe.c
-@@ -55,7 +55,7 @@ static const int pipe_prefix_len = sizeof(pipe_prefix) - 1;
- typedef struct {
-   uv__ipc_socket_xfer_type_t xfer_type;
-   uv__ipc_socket_xfer_info_t xfer_info;
--  struct uv__queue member;
-+  QUEUE member;
- } uv__ipc_xfer_queue_item_t;
- 
- /* IPC frame header flags. */
-@@ -111,7 +111,7 @@ int uv_pipe_init(uv_loop_t* loop, uv_pipe_t* handle, int ipc) {
-   handle->name = NULL;
-   handle->pipe.conn.ipc_remote_pid = 0;
-   handle->pipe.conn.ipc_data_frame.payload_remaining = 0;
--  uv__queue_init(&handle->pipe.conn.ipc_xfer_queue);
-+  QUEUE_INIT(&handle->pipe.conn.ipc_xfer_queue);
-   handle->pipe.conn.ipc_xfer_queue_length = 0;
-   handle->ipc = ipc;
-   handle->pipe.conn.non_overlapped_writes_tail = NULL;
-@@ -637,13 +637,13 @@ void uv__pipe_endgame(uv_loop_t* loop, uv_pipe_t* handle) {
- 
-   if (handle->flags & UV_HANDLE_CONNECTION) {
-     /* Free pending sockets */
--    while (!uv__queue_empty(&handle->pipe.conn.ipc_xfer_queue)) {
--      struct uv__queue* q;
-+    while (!QUEUE_EMPTY(&handle->pipe.conn.ipc_xfer_queue)) {
-+      QUEUE* q;
-       SOCKET socket;
- 
--      q = uv__queue_head(&handle->pipe.conn.ipc_xfer_queue);
--      uv__queue_remove(q);
--      xfer_queue_item = uv__queue_data(q, uv__ipc_xfer_queue_item_t, member);
-+      q = QUEUE_HEAD(&handle->pipe.conn.ipc_xfer_queue);
-+      QUEUE_REMOVE(q);
-+      xfer_queue_item = QUEUE_DATA(q, uv__ipc_xfer_queue_item_t, member);
- 
-       /* Materialize socket and close it */
-       socket = WSASocketW(FROM_PROTOCOL_INFO,
-@@ -1124,20 +1124,20 @@ int uv__pipe_accept(uv_pipe_t* server, uv_stream_t* client) {
-   uv_loop_t* loop = server->loop;
-   uv_pipe_t* pipe_client;
-   uv_pipe_accept_t* req;
--  struct uv__queue* q;
-+  QUEUE* q;
-   uv__ipc_xfer_queue_item_t* item;
-   int err;
- 
-   if (server->ipc) {
--    if (uv__queue_empty(&server->pipe.conn.ipc_xfer_queue)) {
-+    if (QUEUE_EMPTY(&server->pipe.conn.ipc_xfer_queue)) {
-       /* No valid pending sockets. */
-       return WSAEWOULDBLOCK;
-     }
- 
--    q = uv__queue_head(&server->pipe.conn.ipc_xfer_queue);
--    uv__queue_remove(q);
-+    q = QUEUE_HEAD(&server->pipe.conn.ipc_xfer_queue);
-+    QUEUE_REMOVE(q);
-     server->pipe.conn.ipc_xfer_queue_length--;
--    item = uv__queue_data(q, uv__ipc_xfer_queue_item_t, member);
-+    item = QUEUE_DATA(q, uv__ipc_xfer_queue_item_t, member);
- 
-     err = uv__tcp_xfer_import(
-         (uv_tcp_t*) client, item->xfer_type, &item->xfer_info);
-@@ -1891,7 +1891,7 @@ static void uv__pipe_queue_ipc_xfer_info(
-   item->xfer_type = xfer_type;
-   item->xfer_info = *xfer_info;
- 
--  uv__queue_insert_tail(&handle->pipe.conn.ipc_xfer_queue, &item->member);
-+  QUEUE_INSERT_TAIL(&handle->pipe.conn.ipc_xfer_queue, &item->member);
-   handle->pipe.conn.ipc_xfer_queue_length++;
- }
- 
-diff --git a/deps/uv/src/win/tcp.c b/deps/uv/src/win/tcp.c
-index 187f36e2a61..6b282e0b501 100644
---- a/deps/uv/src/win/tcp.c
-+++ b/deps/uv/src/win/tcp.c
-@@ -175,14 +175,14 @@ int uv_tcp_init_ex(uv_loop_t* loop, uv_tcp_t* handle, unsigned int flags) {
-     sock = socket(domain, SOCK_STREAM, 0);
-     if (sock == INVALID_SOCKET) {
-       err = WSAGetLastError();
--      uv__queue_remove(&handle->handle_queue);
-+      QUEUE_REMOVE(&handle->handle_queue);
-       return uv_translate_sys_error(err);
-     }
- 
-     err = uv__tcp_set_socket(handle->loop, handle, sock, domain, 0);
-     if (err) {
-       closesocket(sock);
--      uv__queue_remove(&handle->handle_queue);
-+      QUEUE_REMOVE(&handle->handle_queue);
-       return uv_translate_sys_error(err);
-     }
- 
-diff --git a/deps/uv/src/win/udp.c b/deps/uv/src/win/udp.c
-index eab53842d4f..8a982d1907d 100644
---- a/deps/uv/src/win/udp.c
-+++ b/deps/uv/src/win/udp.c
-@@ -146,14 +146,14 @@ int uv__udp_init_ex(uv_loop_t* loop,
-     sock = socket(domain, SOCK_DGRAM, 0);
-     if (sock == INVALID_SOCKET) {
-       err = WSAGetLastError();
--      uv__queue_remove(&handle->handle_queue);
-+      QUEUE_REMOVE(&handle->handle_queue);
-       return uv_translate_sys_error(err);
-     }
- 
-     err = uv__udp_set_socket(handle->loop, handle, sock, domain);
-     if (err) {
-       closesocket(sock);
--      uv__queue_remove(&handle->handle_queue);
-+      QUEUE_REMOVE(&handle->handle_queue);
-       return uv_translate_sys_error(err);
-     }
-   }
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch
new file mode 100644
index 0000000..f11cd08
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch
@@ -0,0 +1,35 @@
+From 9838be9c710ab4249df86726fa390232a3b6a6e7 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 1 Mar 2024 15:46:11 +0800
+Subject: [PATCH] deps: disable io_uring support in libuv
+
+Refer [1], Pseudo fails to intercept some of the syscalls when io_uring
+enabled. Refer [2], always disable io_uring support in libuv to fix
+issue in [1].
+
+[1] https://git.openembedded.org/meta-openembedded/commit/?id=d08453978c31ee41d28206c6ff198d7d9d701d88
+[2] https://github.com/nodejs/node/commit/686da19abb
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ deps/uv/src/unix/linux.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/deps/uv/src/unix/linux.c b/deps/uv/src/unix/linux.c
+index 0c997185..7508409d 100644
+--- a/deps/uv/src/unix/linux.c
++++ b/deps/uv/src/unix/linux.c
+@@ -433,7 +433,7 @@ static int uv__use_io_uring(void) {
+   if (use == 0) {
+     /* Disable io_uring by default due to CVE-2024-22017. */
+     val = getenv("UV_USE_IO_URING");
+-    use = val != NULL && atoi(val) ? 1 : -1;
++    use = 0;
+     atomic_store_explicit(&use_io_uring, use, memory_order_relaxed);
+   }
+ 
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Revert-io_uring-changes-from-libuv-1.45.0.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Revert-io_uring-changes-from-libuv-1.45.0.patch
deleted file mode 100644
index 77cd53b..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Revert-io_uring-changes-from-libuv-1.45.0.patch
+++ /dev/null
@@ -1,1803 +0,0 @@
-From 6d2ef4c8ba2304ee4941a6719b3ad9bd63e415a9 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <martin.jansa@gmail.com>
-Date: Wed, 18 Oct 2023 21:09:44 +0200
-Subject: [PATCH] Revert io_uring changes from libuv-1.45.0
-
-This reverts https://github.com/libuv/libuv/pull/3952/commits/26c79a942b92573a1388c0ee8a6ad4397f009318
-
-Included in nodejs-20.3.0 with the libuv upgrade to 1.45.0 in:
-https://github.com/nodejs/node/commit/bfcb3d1d9a876f399013d326bd65804f9eda77e4
-
-Reverted libuv commits:
-Revert "linux: fix WRITEV with lots of bufs using io_uring (#4004)"
-This reverts commit ef6a9a624df0a00687037474025a3608472f722a.
-Revert "linux: work around EOWNERDEAD io_uring kernel bug (#4002)"
-This reverts commit d23a20f62cc50b9fd7694992263f1d296d8f5cb4.
-Revert "unix: handle CQ overflow in iou ring (#3991)"
-This reverts commit 30fc896cc1b5822e9f1eb462587fe4b368a6215c.
-Revert "unix: constrained_memory should return UINT64_MAX (#3753)"
-This reverts commit 6ad347fae4520f39520d34bd7c7f5ddafab13a69.
-Revert "linux: use io_uring to batch epoll_ctl calls (#3979)"
-This reverts commit 6e073ef5daf93b708a654008959b823b58029e88.
-Revert "linux: fix logic bug in sqe ring space check (#3980)"
-This reverts commit f27208224084fc972b9d2802486d97ef31b51a39.
-Revert "src: fix events/events_waiting metrics counter (#3957)"
-This reverts commit e02642cf3b768b2c58a41f97fa38507e032ae415.
-Revert "linux: remove bug workaround for obsolete kernels (#3965)"
-This reverts commit 1c935a34454167b23f8eef7f0f63d7119f0de747.
-Revert "linux: add IORING_OP_CLOSE support (#3964)"
-This reverts commit dfae365f844e127621128a76bce7165e3f99a8d9.
-Revert "linux: add IORING_OP_OPENAT support (#3963)"
-This reverts commit 5ca5e475bb1711e65323ef1594a31818e5a1a9eb.
-Revert "linux: fix academic valgrind warning (#3960)"
-This reverts commit a7ff759ca1deacb2e0e6ae3c2d3dce91cc637dfe.
-Revert "linux: introduce io_uring support (#3952)"
-This reverts commit d2c31f429b87b476a7f1344d145dad4752a406d4.
-
-Dropped deps/uv/docs deps/uv/test changes as these dirs aren't included
-in nodejs tarballs.
-
-Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
----
-Upstream-Status: Inappropriate [OE specific]
-
- deps/uv/docs/src/fs.rst               |   6 -
- deps/uv/docs/src/misc.rst             |   5 +-
- deps/uv/src/threadpool.c              |  21 -
- deps/uv/src/unix/aix.c                |  11 +-
- deps/uv/src/unix/fs.c                 |  57 +-
- deps/uv/src/unix/internal.h           |  23 -
- deps/uv/src/unix/kqueue.c             |  10 +-
- deps/uv/src/unix/linux.c              | 998 +++-----------------------
- deps/uv/src/unix/os390.c              |  11 +-
- deps/uv/src/unix/posix-poll.c         |  11 +-
- deps/uv/src/uv-common.h               |  28 -
- deps/uv/src/win/core.c                |  20 +-
- deps/uv/test/test-fs.c                |  33 -
- deps/uv/test/test-list.h              |   4 -
- deps/uv/test/test-metrics.c           | 151 ----
- deps/uv/test/test-threadpool-cancel.c |  34 +-
- 16 files changed, 138 insertions(+), 1285 deletions(-)
-
-diff --git a/deps/uv/src/threadpool.c b/deps/uv/src/threadpool.c
-index 51962bf0021..a3da53026f9 100644
---- a/deps/uv/src/threadpool.c
-+++ b/deps/uv/src/threadpool.c
-@@ -275,13 +275,9 @@ void uv__work_submit(uv_loop_t* loop,
- }
- 
- 
--/* TODO(bnoordhuis) teach libuv how to cancel file operations
-- * that go through io_uring instead of the thread pool.
-- */
- static int uv__work_cancel(uv_loop_t* loop, uv_req_t* req, struct uv__work* w) {
-   int cancelled;
- 
--  uv_once(&once, init_once);  /* Ensure |mutex| is initialized. */
-   uv_mutex_lock(&mutex);
-   uv_mutex_lock(&w->loop->wq_mutex);
- 
-@@ -311,15 +307,12 @@ void uv__work_done(uv_async_t* handle) {
-   QUEUE* q;
-   QUEUE wq;
-   int err;
--  int nevents;
- 
-   loop = container_of(handle, uv_loop_t, wq_async);
-   uv_mutex_lock(&loop->wq_mutex);
-   QUEUE_MOVE(&loop->wq, &wq);
-   uv_mutex_unlock(&loop->wq_mutex);
- 
--  nevents = 0;
--
-   while (!QUEUE_EMPTY(&wq)) {
-     q = QUEUE_HEAD(&wq);
-     QUEUE_REMOVE(q);
-@@ -327,20 +320,6 @@ void uv__work_done(uv_async_t* handle) {
-     w = container_of(q, struct uv__work, wq);
-     err = (w->work == uv__cancelled) ? UV_ECANCELED : 0;
-     w->done(w, err);
--    nevents++;
--  }
--
--  /* This check accomplishes 2 things:
--   * 1. Even if the queue was empty, the call to uv__work_done() should count
--   *    as an event. Which will have been added by the event loop when
--   *    calling this callback.
--   * 2. Prevents accidental wrap around in case nevents == 0 events == 0.
--   */
--  if (nevents > 1) {
--    /* Subtract 1 to counter the call to uv__work_done(). */
--    uv__metrics_inc_events(loop, nevents - 1);
--    if (uv__get_internal_fields(loop)->current_timeout == 0)
--      uv__metrics_inc_events_waiting(loop, nevents - 1);
-   }
- }
- 
-diff --git a/deps/uv/src/unix/aix.c b/deps/uv/src/unix/aix.c
-index f1afbed49ec..b855282ebc8 100644
---- a/deps/uv/src/unix/aix.c
-+++ b/deps/uv/src/unix/aix.c
-@@ -131,7 +131,6 @@ int uv__io_check_fd(uv_loop_t* loop, int fd) {
- 
- 
- void uv__io_poll(uv_loop_t* loop, int timeout) {
--  uv__loop_internal_fields_t* lfields;
-   struct pollfd events[1024];
-   struct pollfd pqry;
-   struct pollfd* pe;
-@@ -155,8 +154,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-     return;
-   }
- 
--  lfields = uv__get_internal_fields(loop);
--
-   while (!QUEUE_EMPTY(&loop->watcher_queue)) {
-     q = QUEUE_HEAD(&loop->watcher_queue);
-     QUEUE_REMOVE(q);
-@@ -220,7 +217,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   base = loop->time;
-   count = 48; /* Benchmarks suggest this gives the best throughput. */
- 
--  if (lfields->flags & UV_METRICS_IDLE_TIME) {
-+  if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
-     reset_timeout = 1;
-     user_timeout = timeout;
-     timeout = 0;
-@@ -235,12 +232,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-     if (timeout != 0)
-       uv__metrics_set_provider_entry_time(loop);
- 
--    /* Store the current timeout in a location that's globally accessible so
--     * other locations like uv__work_done() can determine whether the queue
--     * of events in the callback were waiting when poll was called.
--     */
--    lfields->current_timeout = timeout;
--
-     nfds = pollset_poll(loop->backend_fd,
-                         events,
-                         ARRAY_SIZE(events),
-diff --git a/deps/uv/src/unix/fs.c b/deps/uv/src/unix/fs.c
-index 00d385c24b7..c696a8d5500 100644
---- a/deps/uv/src/unix/fs.c
-+++ b/deps/uv/src/unix/fs.c
-@@ -61,11 +61,10 @@
- #endif
- 
- #if defined(__linux__)
--# include <sys/sendfile.h>
--# include <sys/utsname.h>
-+# include "sys/utsname.h"
- #endif
- 
--#if defined(__sun)
-+#if defined(__linux__) || defined(__sun)
- # include <sys/sendfile.h>
- # include <sys/sysmacros.h>
- #endif
-@@ -1554,7 +1553,26 @@ static int uv__fs_statx(int fd,
-     return UV_ENOSYS;
-   }
- 
--  uv__statx_to_stat(&statxbuf, buf);
-+  buf->st_dev = makedev(statxbuf.stx_dev_major, statxbuf.stx_dev_minor);
-+  buf->st_mode = statxbuf.stx_mode;
-+  buf->st_nlink = statxbuf.stx_nlink;
-+  buf->st_uid = statxbuf.stx_uid;
-+  buf->st_gid = statxbuf.stx_gid;
-+  buf->st_rdev = makedev(statxbuf.stx_rdev_major, statxbuf.stx_rdev_minor);
-+  buf->st_ino = statxbuf.stx_ino;
-+  buf->st_size = statxbuf.stx_size;
-+  buf->st_blksize = statxbuf.stx_blksize;
-+  buf->st_blocks = statxbuf.stx_blocks;
-+  buf->st_atim.tv_sec = statxbuf.stx_atime.tv_sec;
-+  buf->st_atim.tv_nsec = statxbuf.stx_atime.tv_nsec;
-+  buf->st_mtim.tv_sec = statxbuf.stx_mtime.tv_sec;
-+  buf->st_mtim.tv_nsec = statxbuf.stx_mtime.tv_nsec;
-+  buf->st_ctim.tv_sec = statxbuf.stx_ctime.tv_sec;
-+  buf->st_ctim.tv_nsec = statxbuf.stx_ctime.tv_nsec;
-+  buf->st_birthtim.tv_sec = statxbuf.stx_btime.tv_sec;
-+  buf->st_birthtim.tv_nsec = statxbuf.stx_btime.tv_nsec;
-+  buf->st_flags = 0;
-+  buf->st_gen = 0;
- 
-   return 0;
- #else
-@@ -1798,9 +1816,6 @@ int uv_fs_chown(uv_loop_t* loop,
- int uv_fs_close(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
-   INIT(CLOSE);
-   req->file = file;
--  if (cb != NULL)
--    if (uv__iou_fs_close(loop, req))
--      return 0;
-   POST;
- }
- 
-@@ -1848,9 +1863,6 @@ int uv_fs_lchown(uv_loop_t* loop,
- int uv_fs_fdatasync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
-   INIT(FDATASYNC);
-   req->file = file;
--  if (cb != NULL)
--    if (uv__iou_fs_fsync_or_fdatasync(loop, req, /* IORING_FSYNC_DATASYNC */ 1))
--      return 0;
-   POST;
- }
- 
-@@ -1858,9 +1870,6 @@ int uv_fs_fdatasync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
- int uv_fs_fstat(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
-   INIT(FSTAT);
-   req->file = file;
--  if (cb != NULL)
--    if (uv__iou_fs_statx(loop, req, /* is_fstat */ 1, /* is_lstat */ 0))
--      return 0;
-   POST;
- }
- 
-@@ -1868,9 +1877,6 @@ int uv_fs_fstat(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
- int uv_fs_fsync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
-   INIT(FSYNC);
-   req->file = file;
--  if (cb != NULL)
--    if (uv__iou_fs_fsync_or_fdatasync(loop, req, /* no flags */ 0))
--      return 0;
-   POST;
- }
- 
-@@ -1917,9 +1923,6 @@ int uv_fs_lutime(uv_loop_t* loop,
- int uv_fs_lstat(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb) {
-   INIT(LSTAT);
-   PATH;
--  if (cb != NULL)
--    if (uv__iou_fs_statx(loop, req, /* is_fstat */ 0, /* is_lstat */ 1))
--      return 0;
-   POST;
- }
- 
-@@ -1981,9 +1984,6 @@ int uv_fs_open(uv_loop_t* loop,
-   PATH;
-   req->flags = flags;
-   req->mode = mode;
--  if (cb != NULL)
--    if (uv__iou_fs_open(loop, req))
--      return 0;
-   POST;
- }
- 
-@@ -2012,11 +2012,6 @@ int uv_fs_read(uv_loop_t* loop, uv_fs_t* req,
-   memcpy(req->bufs, bufs, nbufs * sizeof(*bufs));
- 
-   req->off = off;
--
--  if (cb != NULL)
--    if (uv__iou_fs_read_or_write(loop, req, /* is_read */ 1))
--      return 0;
--
-   POST;
- }
- 
-@@ -2124,9 +2119,6 @@ int uv_fs_sendfile(uv_loop_t* loop,
- int uv_fs_stat(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb) {
-   INIT(STAT);
-   PATH;
--  if (cb != NULL)
--    if (uv__iou_fs_statx(loop, req, /* is_fstat */ 0, /* is_lstat */ 0))
--      return 0;
-   POST;
- }
- 
-@@ -2190,11 +2182,6 @@ int uv_fs_write(uv_loop_t* loop,
-   memcpy(req->bufs, bufs, nbufs * sizeof(*bufs));
- 
-   req->off = off;
--
--  if (cb != NULL)
--    if (uv__iou_fs_read_or_write(loop, req, /* is_read */ 0))
--      return 0;
--
-   POST;
- }
- 
-diff --git a/deps/uv/src/unix/internal.h b/deps/uv/src/unix/internal.h
-index 6c5822e6a0d..d439ae6dd3d 100644
---- a/deps/uv/src/unix/internal.h
-+++ b/deps/uv/src/unix/internal.h
-@@ -329,28 +329,6 @@ int uv__random_getentropy(void* buf, size_t buflen);
- int uv__random_readpath(const char* path, void* buf, size_t buflen);
- int uv__random_sysctl(void* buf, size_t buflen);
- 
--/* io_uring */
--#ifdef __linux__
--int uv__iou_fs_close(uv_loop_t* loop, uv_fs_t* req);
--int uv__iou_fs_fsync_or_fdatasync(uv_loop_t* loop,
--                                  uv_fs_t* req,
--                                  uint32_t fsync_flags);
--int uv__iou_fs_open(uv_loop_t* loop, uv_fs_t* req);
--int uv__iou_fs_read_or_write(uv_loop_t* loop,
--                             uv_fs_t* req,
--                             int is_read);
--int uv__iou_fs_statx(uv_loop_t* loop,
--                     uv_fs_t* req,
--                     int is_fstat,
--                     int is_lstat);
--#else
--#define uv__iou_fs_close(loop, req) 0
--#define uv__iou_fs_fsync_or_fdatasync(loop, req, fsync_flags) 0
--#define uv__iou_fs_open(loop, req) 0
--#define uv__iou_fs_read_or_write(loop, req, is_read) 0
--#define uv__iou_fs_statx(loop, req, is_fstat, is_lstat) 0
--#endif
--
- #if defined(__APPLE__)
- int uv___stream_fd(const uv_stream_t* handle);
- #define uv__stream_fd(handle) (uv___stream_fd((const uv_stream_t*) (handle)))
-@@ -427,7 +405,6 @@ int uv__statx(int dirfd,
-               int flags,
-               unsigned int mask,
-               struct uv__statx* statxbuf);
--void uv__statx_to_stat(const struct uv__statx* statxbuf, uv_stat_t* buf);
- ssize_t uv__getrandom(void* buf, size_t buflen, unsigned flags);
- #endif
- 
-diff --git a/deps/uv/src/unix/kqueue.c b/deps/uv/src/unix/kqueue.c
-index 82916d65933..deb486bae7a 100644
---- a/deps/uv/src/unix/kqueue.c
-+++ b/deps/uv/src/unix/kqueue.c
-@@ -127,7 +127,6 @@ static void uv__kqueue_delete(int kqfd, const struct kevent *ev) {
- 
- 
- void uv__io_poll(uv_loop_t* loop, int timeout) {
--  uv__loop_internal_fields_t* lfields;
-   struct kevent events[1024];
-   struct kevent* ev;
-   struct timespec spec;
-@@ -156,7 +155,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-     return;
-   }
- 
--  lfields = uv__get_internal_fields(loop);
-   nevents = 0;
- 
-   while (!QUEUE_EMPTY(&loop->watcher_queue)) {
-@@ -224,7 +222,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   base = loop->time;
-   count = 48; /* Benchmarks suggest this gives the best throughput. */
- 
--  if (lfields->flags & UV_METRICS_IDLE_TIME) {
-+  if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
-     reset_timeout = 1;
-     user_timeout = timeout;
-     timeout = 0;
-@@ -247,12 +245,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-     if (pset != NULL)
-       pthread_sigmask(SIG_BLOCK, pset, NULL);
- 
--    /* Store the current timeout in a location that's globally accessible so
--     * other locations like uv__work_done() can determine whether the queue
--     * of events in the callback were waiting when poll was called.
--     */
--    lfields->current_timeout = timeout;
--
-     nfds = kevent(loop->backend_fd,
-                   events,
-                   nevents,
-diff --git a/deps/uv/src/unix/linux.c b/deps/uv/src/unix/linux.c
-index 5f84ad0eea3..343e37f2527 100644
---- a/deps/uv/src/unix/linux.c
-+++ b/deps/uv/src/unix/linux.c
-@@ -27,8 +27,6 @@
- #include "internal.h"
- 
- #include <inttypes.h>
--#include <stdatomic.h>
--#include <stddef.h>  /* offsetof */
- #include <stdint.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -40,29 +38,15 @@
- #include <net/if.h>
- #include <sys/epoll.h>
- #include <sys/inotify.h>
--#include <sys/mman.h>
- #include <sys/param.h>
- #include <sys/prctl.h>
- #include <sys/stat.h>
- #include <sys/syscall.h>
- #include <sys/sysinfo.h>
--#include <sys/sysmacros.h>
- #include <sys/types.h>
- #include <time.h>
- #include <unistd.h>
- 
--#ifndef __NR_io_uring_setup
--# define __NR_io_uring_setup 425
--#endif
--
--#ifndef __NR_io_uring_enter
--# define __NR_io_uring_enter 426
--#endif
--
--#ifndef __NR_io_uring_register
--# define __NR_io_uring_register 427
--#endif
--
- #ifndef __NR_copy_file_range
- # if defined(__x86_64__)
- #  define __NR_copy_file_range 326
-@@ -132,129 +116,6 @@
- # include <netpacket/packet.h>
- #endif /* HAVE_IFADDRS_H */
- 
--enum {
--  UV__IORING_SETUP_SQPOLL = 2u,
--};
--
--enum {
--  UV__IORING_FEAT_SINGLE_MMAP = 1u,
--  UV__IORING_FEAT_NODROP = 2u,
--  UV__IORING_FEAT_RSRC_TAGS = 1024u,  /* linux v5.13 */
--};
--
--enum {
--  UV__IORING_OP_READV = 1,
--  UV__IORING_OP_WRITEV = 2,
--  UV__IORING_OP_FSYNC = 3,
--  UV__IORING_OP_OPENAT = 18,
--  UV__IORING_OP_CLOSE = 19,
--  UV__IORING_OP_STATX = 21,
--  UV__IORING_OP_EPOLL_CTL = 29,
--};
--
--enum {
--  UV__IORING_ENTER_GETEVENTS = 1u,
--  UV__IORING_ENTER_SQ_WAKEUP = 2u,
--};
--
--enum {
--  UV__IORING_SQ_NEED_WAKEUP = 1u,
--  UV__IORING_SQ_CQ_OVERFLOW = 2u,
--};
--
--struct uv__io_cqring_offsets {
--  uint32_t head;
--  uint32_t tail;
--  uint32_t ring_mask;
--  uint32_t ring_entries;
--  uint32_t overflow;
--  uint32_t cqes;
--  uint64_t reserved0;
--  uint64_t reserved1;
--};
--
--STATIC_ASSERT(40 == sizeof(struct uv__io_cqring_offsets));
--
--struct uv__io_sqring_offsets {
--  uint32_t head;
--  uint32_t tail;
--  uint32_t ring_mask;
--  uint32_t ring_entries;
--  uint32_t flags;
--  uint32_t dropped;
--  uint32_t array;
--  uint32_t reserved0;
--  uint64_t reserved1;
--};
--
--STATIC_ASSERT(40 == sizeof(struct uv__io_sqring_offsets));
--
--struct uv__io_uring_cqe {
--  uint64_t user_data;
--  int32_t res;
--  uint32_t flags;
--};
--
--STATIC_ASSERT(16 == sizeof(struct uv__io_uring_cqe));
--
--struct uv__io_uring_sqe {
--  uint8_t opcode;
--  uint8_t flags;
--  uint16_t ioprio;
--  int32_t fd;
--  union {
--    uint64_t off;
--    uint64_t addr2;
--  };
--  union {
--    uint64_t addr;
--  };
--  uint32_t len;
--  union {
--    uint32_t rw_flags;
--    uint32_t fsync_flags;
--    uint32_t open_flags;
--    uint32_t statx_flags;
--  };
--  uint64_t user_data;
--  union {
--    uint16_t buf_index;
--    uint64_t pad[3];
--  };
--};
--
--STATIC_ASSERT(64 == sizeof(struct uv__io_uring_sqe));
--STATIC_ASSERT(0 == offsetof(struct uv__io_uring_sqe, opcode));
--STATIC_ASSERT(1 == offsetof(struct uv__io_uring_sqe, flags));
--STATIC_ASSERT(2 == offsetof(struct uv__io_uring_sqe, ioprio));
--STATIC_ASSERT(4 == offsetof(struct uv__io_uring_sqe, fd));
--STATIC_ASSERT(8 == offsetof(struct uv__io_uring_sqe, off));
--STATIC_ASSERT(16 == offsetof(struct uv__io_uring_sqe, addr));
--STATIC_ASSERT(24 == offsetof(struct uv__io_uring_sqe, len));
--STATIC_ASSERT(28 == offsetof(struct uv__io_uring_sqe, rw_flags));
--STATIC_ASSERT(32 == offsetof(struct uv__io_uring_sqe, user_data));
--STATIC_ASSERT(40 == offsetof(struct uv__io_uring_sqe, buf_index));
--
--struct uv__io_uring_params {
--  uint32_t sq_entries;
--  uint32_t cq_entries;
--  uint32_t flags;
--  uint32_t sq_thread_cpu;
--  uint32_t sq_thread_idle;
--  uint32_t features;
--  uint32_t reserved[4];
--  struct uv__io_sqring_offsets sq_off;  /* 40 bytes */
--  struct uv__io_cqring_offsets cq_off;  /* 40 bytes */
--};
--
--STATIC_ASSERT(40 + 40 + 40 == sizeof(struct uv__io_uring_params));
--STATIC_ASSERT(40 == offsetof(struct uv__io_uring_params, sq_off));
--STATIC_ASSERT(80 == offsetof(struct uv__io_uring_params, cq_off));
--
--STATIC_ASSERT(EPOLL_CTL_ADD < 4);
--STATIC_ASSERT(EPOLL_CTL_DEL < 4);
--STATIC_ASSERT(EPOLL_CTL_MOD < 4);
--
- struct watcher_list {
-   RB_ENTRY(watcher_list) entry;
-   QUEUE watchers;
-@@ -276,17 +137,6 @@ static int compare_watchers(const struct watcher_list* a,
- static void maybe_free_watcher_list(struct watcher_list* w,
-                                     uv_loop_t* loop);
- 
--static void uv__epoll_ctl_flush(int epollfd,
--                                struct uv__iou* ctl,
--                                struct epoll_event (*events)[256]);
--
--static void uv__epoll_ctl_prep(int epollfd,
--                               struct uv__iou* ctl,
--                               struct epoll_event (*events)[256],
--                               int op,
--                               int fd,
--                               struct epoll_event* e);
--
- RB_GENERATE_STATIC(watcher_root, watcher_list, entry, compare_watchers)
- 
- 
-@@ -356,187 +206,7 @@ ssize_t uv__getrandom(void* buf, size_t buflen, unsigned flags) {
- }
- 
- 
--int uv__io_uring_setup(int entries, struct uv__io_uring_params* params) {
--  return syscall(__NR_io_uring_setup, entries, params);
--}
--
--
--int uv__io_uring_enter(int fd,
--                       unsigned to_submit,
--                       unsigned min_complete,
--                       unsigned flags) {
--  /* io_uring_enter used to take a sigset_t but it's unused
--   * in newer kernels unless IORING_ENTER_EXT_ARG is set,
--   * in which case it takes a struct io_uring_getevents_arg.
--   */
--  return syscall(__NR_io_uring_enter,
--                 fd,
--                 to_submit,
--                 min_complete,
--                 flags,
--                 NULL,
--                 0L);
--}
--
--
--int uv__io_uring_register(int fd, unsigned opcode, void* arg, unsigned nargs) {
--  return syscall(__NR_io_uring_register, fd, opcode, arg, nargs);
--}
--
--
--static int uv__use_io_uring(void) {
--  /* Ternary: unknown=0, yes=1, no=-1 */
--  static _Atomic int use_io_uring;
--  char* val;
--  int use;
--
--  use = atomic_load_explicit(&use_io_uring, memory_order_relaxed);
--
--  if (use == 0) {
--    val = getenv("UV_USE_IO_URING");
--    use = val == NULL || atoi(val) ? 1 : -1;
--    atomic_store_explicit(&use_io_uring, use, memory_order_relaxed);
--  }
--
--  return use > 0;
--}
--
--
--static void uv__iou_init(int epollfd,
--                         struct uv__iou* iou,
--                         uint32_t entries,
--                         uint32_t flags) {
--  struct uv__io_uring_params params;
--  struct epoll_event e;
--  size_t cqlen;
--  size_t sqlen;
--  size_t maxlen;
--  size_t sqelen;
--  uint32_t i;
--  char* sq;
--  char* sqe;
--  int ringfd;
--
--  sq = MAP_FAILED;
--  sqe = MAP_FAILED;
--
--  if (!uv__use_io_uring())
--    return;
--
--  /* SQPOLL required CAP_SYS_NICE until linux v5.12 relaxed that requirement.
--   * Mostly academic because we check for a v5.13 kernel afterwards anyway.
--   */
--  memset(&params, 0, sizeof(params));
--  params.flags = flags;
--
--  if (flags & UV__IORING_SETUP_SQPOLL)
--    params.sq_thread_idle = 10;  /* milliseconds */
--
--  /* Kernel returns a file descriptor with O_CLOEXEC flag set. */
--  ringfd = uv__io_uring_setup(entries, &params);
--  if (ringfd == -1)
--    return;
--
--  /* IORING_FEAT_RSRC_TAGS is used to detect linux v5.13 but what we're
--   * actually detecting is whether IORING_OP_STATX works with SQPOLL.
--   */
--  if (!(params.features & UV__IORING_FEAT_RSRC_TAGS))
--    goto fail;
--
--  /* Implied by IORING_FEAT_RSRC_TAGS but checked explicitly anyway. */
--  if (!(params.features & UV__IORING_FEAT_SINGLE_MMAP))
--    goto fail;
--
--  /* Implied by IORING_FEAT_RSRC_TAGS but checked explicitly anyway. */
--  if (!(params.features & UV__IORING_FEAT_NODROP))
--    goto fail;
--
--  sqlen = params.sq_off.array + params.sq_entries * sizeof(uint32_t);
--  cqlen =
--      params.cq_off.cqes + params.cq_entries * sizeof(struct uv__io_uring_cqe);
--  maxlen = sqlen < cqlen ? cqlen : sqlen;
--  sqelen = params.sq_entries * sizeof(struct uv__io_uring_sqe);
--
--  sq = mmap(0,
--            maxlen,
--            PROT_READ | PROT_WRITE,
--            MAP_SHARED | MAP_POPULATE,
--            ringfd,
--            0);  /* IORING_OFF_SQ_RING */
--
--  sqe = mmap(0,
--             sqelen,
--             PROT_READ | PROT_WRITE,
--             MAP_SHARED | MAP_POPULATE,
--             ringfd,
--             0x10000000ull);  /* IORING_OFF_SQES */
--
--  if (sq == MAP_FAILED || sqe == MAP_FAILED)
--    goto fail;
--
--  if (flags & UV__IORING_SETUP_SQPOLL) {
--    /* Only interested in completion events. To get notified when
--     * the kernel pulls items from the submission ring, add POLLOUT.
--     */
--    memset(&e, 0, sizeof(e));
--    e.events = POLLIN;
--    e.data.fd = ringfd;
--
--    if (epoll_ctl(epollfd, EPOLL_CTL_ADD, ringfd, &e))
--      goto fail;
--  }
--
--  iou->sqhead = (uint32_t*) (sq + params.sq_off.head);
--  iou->sqtail = (uint32_t*) (sq + params.sq_off.tail);
--  iou->sqmask = *(uint32_t*) (sq + params.sq_off.ring_mask);
--  iou->sqarray = (uint32_t*) (sq + params.sq_off.array);
--  iou->sqflags = (uint32_t*) (sq + params.sq_off.flags);
--  iou->cqhead = (uint32_t*) (sq + params.cq_off.head);
--  iou->cqtail = (uint32_t*) (sq + params.cq_off.tail);
--  iou->cqmask = *(uint32_t*) (sq + params.cq_off.ring_mask);
--  iou->sq = sq;
--  iou->cqe = sq + params.cq_off.cqes;
--  iou->sqe = sqe;
--  iou->sqlen = sqlen;
--  iou->cqlen = cqlen;
--  iou->maxlen = maxlen;
--  iou->sqelen = sqelen;
--  iou->ringfd = ringfd;
--  iou->in_flight = 0;
--
--  for (i = 0; i <= iou->sqmask; i++)
--    iou->sqarray[i] = i;  /* Slot -> sqe identity mapping. */
--
--  return;
--
--fail:
--  if (sq != MAP_FAILED)
--    munmap(sq, maxlen);
--
--  if (sqe != MAP_FAILED)
--    munmap(sqe, sqelen);
--
--  uv__close(ringfd);
--}
--
--
--static void uv__iou_delete(struct uv__iou* iou) {
--  if (iou->ringfd != -1) {
--    munmap(iou->sq, iou->maxlen);
--    munmap(iou->sqe, iou->sqelen);
--    uv__close(iou->ringfd);
--    iou->ringfd = -1;
--  }
--}
--
--
- int uv__platform_loop_init(uv_loop_t* loop) {
--  uv__loop_internal_fields_t* lfields;
--
--  lfields = uv__get_internal_fields(loop);
--  lfields->ctl.ringfd = -1;
--  lfields->iou.ringfd = -1;
--
-   loop->inotify_watchers = NULL;
-   loop->inotify_fd = -1;
-   loop->backend_fd = epoll_create1(O_CLOEXEC);
-@@ -544,9 +214,6 @@ int uv__platform_loop_init(uv_loop_t* loop) {
-   if (loop->backend_fd == -1)
-     return UV__ERR(errno);
- 
--  uv__iou_init(loop->backend_fd, &lfields->iou, 64, UV__IORING_SETUP_SQPOLL);
--  uv__iou_init(loop->backend_fd, &lfields->ctl, 256, 0);
--
-   return 0;
- }
- 
-@@ -559,8 +226,6 @@ int uv__io_fork(uv_loop_t* loop) {
- 
-   uv__close(loop->backend_fd);
-   loop->backend_fd = -1;
--
--  /* TODO(bnoordhuis) Loses items from the submission and completion rings. */
-   uv__platform_loop_delete(loop);
- 
-   err = uv__platform_loop_init(loop);
-@@ -572,62 +237,42 @@ int uv__io_fork(uv_loop_t* loop) {
- 
- 
- void uv__platform_loop_delete(uv_loop_t* loop) {
--  uv__loop_internal_fields_t* lfields;
--
--  lfields = uv__get_internal_fields(loop);
--  uv__iou_delete(&lfields->ctl);
--  uv__iou_delete(&lfields->iou);
--
--  if (loop->inotify_fd != -1) {
--    uv__io_stop(loop, &loop->inotify_read_watcher, POLLIN);
--    uv__close(loop->inotify_fd);
--    loop->inotify_fd = -1;
--  }
-+  if (loop->inotify_fd == -1) return;
-+  uv__io_stop(loop, &loop->inotify_read_watcher, POLLIN);
-+  uv__close(loop->inotify_fd);
-+  loop->inotify_fd = -1;
- }
- 
- 
--struct uv__invalidate {
--  struct epoll_event (*prep)[256];
--  struct epoll_event* events;
--  int nfds;
--};
--
--
- void uv__platform_invalidate_fd(uv_loop_t* loop, int fd) {
--  uv__loop_internal_fields_t* lfields;
--  struct uv__invalidate* inv;
-+  struct epoll_event* events;
-   struct epoll_event dummy;
--  int i;
-+  uintptr_t i;
-+  uintptr_t nfds;
- 
--  lfields = uv__get_internal_fields(loop);
--  inv = lfields->inv;
-+  assert(loop->watchers != NULL);
-+  assert(fd >= 0);
- 
--  /* Invalidate events with same file descriptor */
--  if (inv != NULL)
--    for (i = 0; i < inv->nfds; i++)
--      if (inv->events[i].data.fd == fd)
--        inv->events[i].data.fd = -1;
-+  events = (struct epoll_event*) loop->watchers[loop->nwatchers];
-+  nfds = (uintptr_t) loop->watchers[loop->nwatchers + 1];
-+  if (events != NULL)
-+    /* Invalidate events with same file descriptor */
-+    for (i = 0; i < nfds; i++)
-+      if (events[i].data.fd == fd)
-+        events[i].data.fd = -1;
- 
-   /* Remove the file descriptor from the epoll.
-    * This avoids a problem where the same file description remains open
-    * in another process, causing repeated junk epoll events.
-    *
-    * We pass in a dummy epoll_event, to work around a bug in old kernels.
--   *
--   * Work around a bug in kernels 3.10 to 3.19 where passing a struct that
--   * has the EPOLLWAKEUP flag set generates spurious audit syslog warnings.
-    */
--  memset(&dummy, 0, sizeof(dummy));
--
--  if (inv == NULL) {
-+  if (loop->backend_fd >= 0) {
-+    /* Work around a bug in kernels 3.10 to 3.19 where passing a struct that
-+     * has the EPOLLWAKEUP flag set generates spurious audit syslog warnings.
-+     */
-+    memset(&dummy, 0, sizeof(dummy));
-     epoll_ctl(loop->backend_fd, EPOLL_CTL_DEL, fd, &dummy);
--  } else {
--    uv__epoll_ctl_prep(loop->backend_fd,
--                       &lfields->ctl,
--                       inv->prep,
--                       EPOLL_CTL_DEL,
--                       fd,
--                       &dummy);
-   }
- }
- 
-@@ -653,454 +298,27 @@ int uv__io_check_fd(uv_loop_t* loop, int fd) {
- }
- 
- 
--/* Caller must initialize SQE and call uv__iou_submit(). */
--static struct uv__io_uring_sqe* uv__iou_get_sqe(struct uv__iou* iou,
--                                                uv_loop_t* loop,
--                                                uv_fs_t* req) {
--  struct uv__io_uring_sqe* sqe;
--  uint32_t head;
--  uint32_t tail;
--  uint32_t mask;
--  uint32_t slot;
--
--  if (iou->ringfd == -1)
--    return NULL;
--
--  head = atomic_load_explicit((_Atomic uint32_t*) iou->sqhead,
--                              memory_order_acquire);
--  tail = *iou->sqtail;
--  mask = iou->sqmask;
--
--  if ((head & mask) == ((tail + 1) & mask))
--    return NULL;  /* No room in ring buffer. TODO(bnoordhuis) maybe flush it? */
--
--  slot = tail & mask;
--  sqe = iou->sqe;
--  sqe = &sqe[slot];
--  memset(sqe, 0, sizeof(*sqe));
--  sqe->user_data = (uintptr_t) req;
--
--  /* Pacify uv_cancel(). */
--  req->work_req.loop = loop;
--  req->work_req.work = NULL;
--  req->work_req.done = NULL;
--  QUEUE_INIT(&req->work_req.wq);
--
--  uv__req_register(loop, req);
--  iou->in_flight++;
--
--  return sqe;
--}
--
--
--static void uv__iou_submit(struct uv__iou* iou) {
--  uint32_t flags;
--
--  atomic_store_explicit((_Atomic uint32_t*) iou->sqtail,
--                        *iou->sqtail + 1,
--                        memory_order_release);
--
--  flags = atomic_load_explicit((_Atomic uint32_t*) iou->sqflags,
--                               memory_order_acquire);
--
--  if (flags & UV__IORING_SQ_NEED_WAKEUP)
--    if (uv__io_uring_enter(iou->ringfd, 0, 0, UV__IORING_ENTER_SQ_WAKEUP))
--      if (errno != EOWNERDEAD)  /* Kernel bug. Harmless, ignore. */
--        perror("libuv: io_uring_enter(wakeup)");  /* Can't happen. */
--}
--
--
--int uv__iou_fs_close(uv_loop_t* loop, uv_fs_t* req) {
--  struct uv__io_uring_sqe* sqe;
--  struct uv__iou* iou;
--
--  iou = &uv__get_internal_fields(loop)->iou;
--
--  sqe = uv__iou_get_sqe(iou, loop, req);
--  if (sqe == NULL)
--    return 0;
--
--  sqe->fd = req->file;
--  sqe->opcode = UV__IORING_OP_CLOSE;
--
--  uv__iou_submit(iou);
--
--  return 1;
--}
--
--
--int uv__iou_fs_fsync_or_fdatasync(uv_loop_t* loop,
--                                  uv_fs_t* req,
--                                  uint32_t fsync_flags) {
--  struct uv__io_uring_sqe* sqe;
--  struct uv__iou* iou;
--
--  iou = &uv__get_internal_fields(loop)->iou;
--
--  sqe = uv__iou_get_sqe(iou, loop, req);
--  if (sqe == NULL)
--    return 0;
--
--  /* Little known fact: setting seq->off and seq->len turns
--   * it into an asynchronous sync_file_range() operation.
--   */
--  sqe->fd = req->file;
--  sqe->fsync_flags = fsync_flags;
--  sqe->opcode = UV__IORING_OP_FSYNC;
--
--  uv__iou_submit(iou);
--
--  return 1;
--}
--
--
--int uv__iou_fs_open(uv_loop_t* loop, uv_fs_t* req) {
--  struct uv__io_uring_sqe* sqe;
--  struct uv__iou* iou;
--
--  iou = &uv__get_internal_fields(loop)->iou;
--
--  sqe = uv__iou_get_sqe(iou, loop, req);
--  if (sqe == NULL)
--    return 0;
--
--  sqe->addr = (uintptr_t) req->path;
--  sqe->fd = AT_FDCWD;
--  sqe->len = req->mode;
--  sqe->opcode = UV__IORING_OP_OPENAT;
--  sqe->open_flags = req->flags | O_CLOEXEC;
--
--  uv__iou_submit(iou);
--
--  return 1;
--}
--
--
--int uv__iou_fs_read_or_write(uv_loop_t* loop,
--                             uv_fs_t* req,
--                             int is_read) {
--  struct uv__io_uring_sqe* sqe;
--  struct uv__iou* iou;
--
--  /* For the moment, if iovcnt is greater than IOV_MAX, fallback to the
--   * threadpool. In the future we might take advantage of IOSQE_IO_LINK. */
--  if (req->nbufs > IOV_MAX)
--    return 0;
--
--  iou = &uv__get_internal_fields(loop)->iou;
--
--  sqe = uv__iou_get_sqe(iou, loop, req);
--  if (sqe == NULL)
--    return 0;
--
--  sqe->addr = (uintptr_t) req->bufs;
--  sqe->fd = req->file;
--  sqe->len = req->nbufs;
--  sqe->off = req->off < 0 ? -1 : req->off;
--  sqe->opcode = is_read ? UV__IORING_OP_READV : UV__IORING_OP_WRITEV;
--
--  uv__iou_submit(iou);
--
--  return 1;
--}
--
--
--int uv__iou_fs_statx(uv_loop_t* loop,
--                     uv_fs_t* req,
--                     int is_fstat,
--                     int is_lstat) {
--  struct uv__io_uring_sqe* sqe;
--  struct uv__statx* statxbuf;
--  struct uv__iou* iou;
--
--  statxbuf = uv__malloc(sizeof(*statxbuf));
--  if (statxbuf == NULL)
--    return 0;
--
--  iou = &uv__get_internal_fields(loop)->iou;
--
--  sqe = uv__iou_get_sqe(iou, loop, req);
--  if (sqe == NULL) {
--    uv__free(statxbuf);
--    return 0;
--  }
--
--  req->ptr = statxbuf;
--
--  sqe->addr = (uintptr_t) req->path;
--  sqe->addr2 = (uintptr_t) statxbuf;
--  sqe->fd = AT_FDCWD;
--  sqe->len = 0xFFF; /* STATX_BASIC_STATS + STATX_BTIME */
--  sqe->opcode = UV__IORING_OP_STATX;
--
--  if (is_fstat) {
--    sqe->addr = (uintptr_t) "";
--    sqe->fd = req->file;
--    sqe->statx_flags |= 0x1000; /* AT_EMPTY_PATH */
--  }
--
--  if (is_lstat)
--    sqe->statx_flags |= AT_SYMLINK_NOFOLLOW;
--
--  uv__iou_submit(iou);
--
--  return 1;
--}
--
--
--void uv__statx_to_stat(const struct uv__statx* statxbuf, uv_stat_t* buf) {
--  buf->st_dev = makedev(statxbuf->stx_dev_major, statxbuf->stx_dev_minor);
--  buf->st_mode = statxbuf->stx_mode;
--  buf->st_nlink = statxbuf->stx_nlink;
--  buf->st_uid = statxbuf->stx_uid;
--  buf->st_gid = statxbuf->stx_gid;
--  buf->st_rdev = makedev(statxbuf->stx_rdev_major, statxbuf->stx_rdev_minor);
--  buf->st_ino = statxbuf->stx_ino;
--  buf->st_size = statxbuf->stx_size;
--  buf->st_blksize = statxbuf->stx_blksize;
--  buf->st_blocks = statxbuf->stx_blocks;
--  buf->st_atim.tv_sec = statxbuf->stx_atime.tv_sec;
--  buf->st_atim.tv_nsec = statxbuf->stx_atime.tv_nsec;
--  buf->st_mtim.tv_sec = statxbuf->stx_mtime.tv_sec;
--  buf->st_mtim.tv_nsec = statxbuf->stx_mtime.tv_nsec;
--  buf->st_ctim.tv_sec = statxbuf->stx_ctime.tv_sec;
--  buf->st_ctim.tv_nsec = statxbuf->stx_ctime.tv_nsec;
--  buf->st_birthtim.tv_sec = statxbuf->stx_btime.tv_sec;
--  buf->st_birthtim.tv_nsec = statxbuf->stx_btime.tv_nsec;
--  buf->st_flags = 0;
--  buf->st_gen = 0;
--}
--
--
--static void uv__iou_fs_statx_post(uv_fs_t* req) {
--  struct uv__statx* statxbuf;
--  uv_stat_t* buf;
--
--  buf = &req->statbuf;
--  statxbuf = req->ptr;
--  req->ptr = NULL;
--
--  if (req->result == 0) {
--    uv__msan_unpoison(statxbuf, sizeof(*statxbuf));
--    uv__statx_to_stat(statxbuf, buf);
--    req->ptr = buf;
--  }
--
--  uv__free(statxbuf);
--}
--
--
--static void uv__poll_io_uring(uv_loop_t* loop, struct uv__iou* iou) {
--  struct uv__io_uring_cqe* cqe;
--  struct uv__io_uring_cqe* e;
--  uv_fs_t* req;
--  uint32_t head;
--  uint32_t tail;
--  uint32_t mask;
--  uint32_t i;
--  uint32_t flags;
--  int nevents;
--  int rc;
--
--  head = *iou->cqhead;
--  tail = atomic_load_explicit((_Atomic uint32_t*) iou->cqtail,
--                              memory_order_acquire);
--  mask = iou->cqmask;
--  cqe = iou->cqe;
--  nevents = 0;
--
--  for (i = head; i != tail; i++) {
--    e = &cqe[i & mask];
--
--    req = (uv_fs_t*) (uintptr_t) e->user_data;
--    assert(req->type == UV_FS);
--
--    uv__req_unregister(loop, req);
--    iou->in_flight--;
--
--    /* io_uring stores error codes as negative numbers, same as libuv. */
--    req->result = e->res;
--
--    switch (req->fs_type) {
--      case UV_FS_FSTAT:
--      case UV_FS_LSTAT:
--      case UV_FS_STAT:
--        uv__iou_fs_statx_post(req);
--        break;
--      default:  /* Squelch -Wswitch warnings. */
--        break;
--    }
--
--    uv__metrics_update_idle_time(loop);
--    req->cb(req);
--    nevents++;
--  }
--
--  atomic_store_explicit((_Atomic uint32_t*) iou->cqhead,
--                        tail,
--                        memory_order_release);
--
--  /* Check whether CQE's overflowed, if so enter the kernel to make them
--   * available. Don't grab them immediately but in the next loop iteration to
--   * avoid loop starvation. */
--  flags = atomic_load_explicit((_Atomic uint32_t*) iou->sqflags,
--                               memory_order_acquire);
--
--  if (flags & UV__IORING_SQ_CQ_OVERFLOW) {
--    do
--      rc = uv__io_uring_enter(iou->ringfd, 0, 0, UV__IORING_ENTER_GETEVENTS);
--    while (rc == -1 && errno == EINTR);
--
--    if (rc < 0)
--      perror("libuv: io_uring_enter(getevents)");  /* Can't happen. */
--  }
--
--  uv__metrics_inc_events(loop, nevents);
--  if (uv__get_internal_fields(loop)->current_timeout == 0)
--    uv__metrics_inc_events_waiting(loop, nevents);
--}
--
--
--static void uv__epoll_ctl_prep(int epollfd,
--                               struct uv__iou* ctl,
--                               struct epoll_event (*events)[256],
--                               int op,
--                               int fd,
--                               struct epoll_event* e) {
--  struct uv__io_uring_sqe* sqe;
--  struct epoll_event* pe;
--  uint32_t mask;
--  uint32_t slot;
--
--  if (ctl->ringfd == -1) {
--    if (!epoll_ctl(epollfd, op, fd, e))
--      return;
--
--    if (op == EPOLL_CTL_DEL)
--      return;  /* Ignore errors, may be racing with another thread. */
--
--    if (op != EPOLL_CTL_ADD)
--      abort();
--
--    if (errno != EEXIST)
--      abort();
--
--    /* File descriptor that's been watched before, update event mask. */
--    if (!epoll_ctl(epollfd, EPOLL_CTL_MOD, fd, e))
--      return;
--
--    abort();
--  } else {
--    mask = ctl->sqmask;
--    slot = (*ctl->sqtail)++ & mask;
--
--    pe = &(*events)[slot];
--    *pe = *e;
--
--    sqe = ctl->sqe;
--    sqe = &sqe[slot];
--
--    memset(sqe, 0, sizeof(*sqe));
--    sqe->addr = (uintptr_t) pe;
--    sqe->fd = epollfd;
--    sqe->len = op;
--    sqe->off = fd;
--    sqe->opcode = UV__IORING_OP_EPOLL_CTL;
--    sqe->user_data = op | slot << 2 | (int64_t) fd << 32;
--
--    if ((*ctl->sqhead & mask) == (*ctl->sqtail & mask))
--      uv__epoll_ctl_flush(epollfd, ctl, events);
--  }
--}
--
--
--static void uv__epoll_ctl_flush(int epollfd,
--                                struct uv__iou* ctl,
--                                struct epoll_event (*events)[256]) {
--  struct epoll_event oldevents[256];
--  struct uv__io_uring_cqe* cqe;
--  uint32_t oldslot;
--  uint32_t slot;
--  uint32_t n;
--  int fd;
--  int op;
--  int rc;
--
--  STATIC_ASSERT(sizeof(oldevents) == sizeof(*events));
--  assert(ctl->ringfd != -1);
--  assert(*ctl->sqhead != *ctl->sqtail);
--
--  n = *ctl->sqtail - *ctl->sqhead;
--  do
--    rc = uv__io_uring_enter(ctl->ringfd, n, n, UV__IORING_ENTER_GETEVENTS);
--  while (rc == -1 && errno == EINTR);
--
--  if (rc < 0)
--    perror("libuv: io_uring_enter(getevents)");  /* Can't happen. */
--
--  if (rc != (int) n)
--    abort();
--
--  assert(*ctl->sqhead == *ctl->sqtail);
--
--  memcpy(oldevents, *events, sizeof(*events));
--
--  /* Failed submissions are either EPOLL_CTL_DEL commands for file descriptors
--   * that have been closed, or EPOLL_CTL_ADD commands for file descriptors
--   * that we are already watching. Ignore the former and retry the latter
--   * with EPOLL_CTL_MOD.
--   */
--  while (*ctl->cqhead != *ctl->cqtail) {
--    slot = (*ctl->cqhead)++ & ctl->cqmask;
--
--    cqe = ctl->cqe;
--    cqe = &cqe[slot];
--
--    if (cqe->res == 0)
--      continue;
--
--    fd = cqe->user_data >> 32;
--    op = 3 & cqe->user_data;
--    oldslot = 255 & (cqe->user_data >> 2);
--
--    if (op == EPOLL_CTL_DEL)
--      continue;
--
--    if (op != EPOLL_CTL_ADD)
--      abort();
--
--    if (cqe->res != -EEXIST)
--      abort();
--
--    uv__epoll_ctl_prep(epollfd,
--                       ctl,
--                       events,
--                       EPOLL_CTL_MOD,
--                       fd,
--                       &oldevents[oldslot]);
--  }
--}
--
--
- void uv__io_poll(uv_loop_t* loop, int timeout) {
--  uv__loop_internal_fields_t* lfields;
-+  /* A bug in kernels < 2.6.37 makes timeouts larger than ~30 minutes
-+   * effectively infinite on 32 bits architectures.  To avoid blocking
-+   * indefinitely, we cap the timeout and poll again if necessary.
-+   *
-+   * Note that "30 minutes" is a simplification because it depends on
-+   * the value of CONFIG_HZ.  The magic constant assumes CONFIG_HZ=1200,
-+   * that being the largest value I have seen in the wild (and only once.)
-+   */
-+  static const int max_safe_timeout = 1789569;
-   struct epoll_event events[1024];
--  struct epoll_event prep[256];
--  struct uv__invalidate inv;
-   struct epoll_event* pe;
-   struct epoll_event e;
--  struct uv__iou* ctl;
--  struct uv__iou* iou;
-   int real_timeout;
-   QUEUE* q;
-   uv__io_t* w;
-   sigset_t* sigmask;
-   sigset_t sigset;
-   uint64_t base;
--  int have_iou_events;
-   int have_signals;
-   int nevents;
--  int epollfd;
-   int count;
-   int nfds;
-   int fd;
-@@ -1109,9 +327,47 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   int user_timeout;
-   int reset_timeout;
- 
--  lfields = uv__get_internal_fields(loop);
--  ctl = &lfields->ctl;
--  iou = &lfields->iou;
-+  if (loop->nfds == 0) {
-+    assert(QUEUE_EMPTY(&loop->watcher_queue));
-+    return;
-+  }
-+
-+  memset(&e, 0, sizeof(e));
-+
-+  while (!QUEUE_EMPTY(&loop->watcher_queue)) {
-+    q = QUEUE_HEAD(&loop->watcher_queue);
-+    QUEUE_REMOVE(q);
-+    QUEUE_INIT(q);
-+
-+    w = QUEUE_DATA(q, uv__io_t, watcher_queue);
-+    assert(w->pevents != 0);
-+    assert(w->fd >= 0);
-+    assert(w->fd < (int) loop->nwatchers);
-+
-+    e.events = w->pevents;
-+    e.data.fd = w->fd;
-+
-+    if (w->events == 0)
-+      op = EPOLL_CTL_ADD;
-+    else
-+      op = EPOLL_CTL_MOD;
-+
-+    /* XXX Future optimization: do EPOLL_CTL_MOD lazily if we stop watching
-+     * events, skip the syscall and squelch the events after epoll_wait().
-+     */
-+    if (epoll_ctl(loop->backend_fd, op, w->fd, &e)) {
-+      if (errno != EEXIST)
-+        abort();
-+
-+      assert(op == EPOLL_CTL_ADD);
-+
-+      /* We've reactivated a file descriptor that's been watched before. */
-+      if (epoll_ctl(loop->backend_fd, EPOLL_CTL_MOD, w->fd, &e))
-+        abort();
-+    }
-+
-+    w->events = w->pevents;
-+  }
- 
-   sigmask = NULL;
-   if (loop->flags & UV_LOOP_BLOCK_SIGPROF) {
-@@ -1125,7 +381,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   count = 48; /* Benchmarks suggest this gives the best throughput. */
-   real_timeout = timeout;
- 
--  if (lfields->flags & UV_METRICS_IDLE_TIME) {
-+  if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
-     reset_timeout = 1;
-     user_timeout = timeout;
-     timeout = 0;
-@@ -1134,56 +390,24 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-     user_timeout = 0;
-   }
- 
--  epollfd = loop->backend_fd;
--
--  memset(&e, 0, sizeof(e));
--
--  while (!QUEUE_EMPTY(&loop->watcher_queue)) {
--    q = QUEUE_HEAD(&loop->watcher_queue);
--    w = QUEUE_DATA(q, uv__io_t, watcher_queue);
--    QUEUE_REMOVE(q);
--    QUEUE_INIT(q);
--
--    op = EPOLL_CTL_MOD;
--    if (w->events == 0)
--      op = EPOLL_CTL_ADD;
--
--    w->events = w->pevents;
--    e.events = w->pevents;
--    e.data.fd = w->fd;
--
--    uv__epoll_ctl_prep(epollfd, ctl, &prep, op, w->fd, &e);
--  }
--
--  inv.events = events;
--  inv.prep = &prep;
--  inv.nfds = -1;
--
-   for (;;) {
--    if (loop->nfds == 0)
--      if (iou->in_flight == 0)
--        break;
--
--    /* All event mask mutations should be visible to the kernel before
--     * we enter epoll_pwait().
--     */
--    if (ctl->ringfd != -1)
--      while (*ctl->sqhead != *ctl->sqtail)
--        uv__epoll_ctl_flush(epollfd, ctl, &prep);
--
-     /* Only need to set the provider_entry_time if timeout != 0. The function
-      * will return early if the loop isn't configured with UV_METRICS_IDLE_TIME.
-      */
-     if (timeout != 0)
-       uv__metrics_set_provider_entry_time(loop);
- 
--    /* Store the current timeout in a location that's globally accessible so
--     * other locations like uv__work_done() can determine whether the queue
--     * of events in the callback were waiting when poll was called.
-+    /* See the comment for max_safe_timeout for an explanation of why
-+     * this is necessary.  Executive summary: kernel bug workaround.
-      */
--    lfields->current_timeout = timeout;
-+    if (sizeof(int32_t) == sizeof(long) && timeout >= max_safe_timeout)
-+      timeout = max_safe_timeout;
- 
--    nfds = epoll_pwait(epollfd, events, ARRAY_SIZE(events), timeout, sigmask);
-+    nfds = epoll_pwait(loop->backend_fd,
-+                       events,
-+                       ARRAY_SIZE(events),
-+                       timeout,
-+                       sigmask);
- 
-     /* Update loop->time unconditionally. It's tempting to skip the update when
-      * timeout == 0 (i.e. non-blocking poll) but there is no guarantee that the
-@@ -1203,7 +427,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-         continue;
- 
-       if (timeout == 0)
--        break;
-+        return;
- 
-       /* We may have been inside the system call for longer than |timeout|
-        * milliseconds so we need to update the timestamp to avoid drift.
-@@ -1224,18 +448,27 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-         continue;
- 
-       if (timeout == 0)
--        break;
-+        return;
- 
-       /* Interrupted by a signal. Update timeout and poll again. */
-       goto update_timeout;
-     }
- 
--    have_iou_events = 0;
-     have_signals = 0;
-     nevents = 0;
- 
--    inv.nfds = nfds;
--    lfields->inv = &inv;
-+    {
-+      /* Squelch a -Waddress-of-packed-member warning with gcc >= 9. */
-+      union {
-+        struct epoll_event* events;
-+        uv__io_t* watchers;
-+      } x;
-+
-+      x.events = events;
-+      assert(loop->watchers != NULL);
-+      loop->watchers[loop->nwatchers] = x.watchers;
-+      loop->watchers[loop->nwatchers + 1] = (void*) (uintptr_t) nfds;
-+    }
- 
-     for (i = 0; i < nfds; i++) {
-       pe = events + i;
-@@ -1245,12 +478,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-       if (fd == -1)
-         continue;
- 
--      if (fd == iou->ringfd) {
--        uv__poll_io_uring(loop, iou);
--        have_iou_events = 1;
--        continue;
--      }
--
-       assert(fd >= 0);
-       assert((unsigned) fd < loop->nwatchers);
- 
-@@ -1262,7 +489,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-          * Ignore all errors because we may be racing with another thread
-          * when the file descriptor is closed.
-          */
--        uv__epoll_ctl_prep(epollfd, ctl, &prep, EPOLL_CTL_DEL, fd, pe);
-+        epoll_ctl(loop->backend_fd, EPOLL_CTL_DEL, fd, pe);
-         continue;
-       }
- 
-@@ -1319,13 +546,11 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-       loop->signal_io_watcher.cb(loop, &loop->signal_io_watcher, POLLIN);
-     }
- 
--    lfields->inv = NULL;
--
--    if (have_iou_events != 0)
--      break;  /* Event loop should cycle now so don't poll again. */
-+    loop->watchers[loop->nwatchers] = NULL;
-+    loop->watchers[loop->nwatchers + 1] = NULL;
- 
-     if (have_signals != 0)
--      break;  /* Event loop should cycle now so don't poll again. */
-+      return;  /* Event loop should cycle now so don't poll again. */
- 
-     if (nevents != 0) {
-       if (nfds == ARRAY_SIZE(events) && --count != 0) {
-@@ -1333,11 +558,11 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-         timeout = 0;
-         continue;
-       }
--      break;
-+      return;
-     }
- 
-     if (timeout == 0)
--      break;
-+      return;
- 
-     if (timeout == -1)
-       continue;
-@@ -1347,14 +572,10 @@ update_timeout:
- 
-     real_timeout -= (loop->time - base);
-     if (real_timeout <= 0)
--      break;
-+      return;
- 
-     timeout = real_timeout;
-   }
--
--  if (ctl->ringfd != -1)
--    while (*ctl->sqhead != *ctl->sqtail)
--      uv__epoll_ctl_flush(epollfd, ctl, &prep);
- }
- 
- uint64_t uv__hrtime(uv_clocktype_t type) {
-@@ -1867,7 +1088,7 @@ static uint64_t uv__read_uint64(const char* filename) {
-   if (0 == uv__slurp(filename, buf, sizeof(buf)))
-     if (1 != sscanf(buf, "%" PRIu64, &rc))
-       if (0 == strcmp(buf, "max\n"))
--        rc = UINT64_MAX;
-+        rc = ~0ull;
- 
-   return rc;
- }
-@@ -1903,7 +1124,6 @@ static void uv__get_cgroup1_memory_limits(char buf[static 1024], uint64_t* high,
-   char filename[4097];
-   char* p;
-   int n;
--  uint64_t cgroup1_max;
- 
-   /* Find out where the controller is mounted. */
-   p = uv__cgroup1_find_memory_controller(buf, &n);
-@@ -1920,22 +1140,12 @@ static void uv__get_cgroup1_memory_limits(char buf[static 1024], uint64_t* high,
-      * as indicated by uv__read_uint64 returning 0.
-      */
-      if (*high != 0 && *max != 0)
--       goto update_limits;
-+       return;
-   }
- 
-   /* Fall back to the limits of the global memory controller. */
-   *high = uv__read_uint64("/sys/fs/cgroup/memory/memory.soft_limit_in_bytes");
-   *max = uv__read_uint64("/sys/fs/cgroup/memory/memory.limit_in_bytes");
--
--  /* uv__read_uint64 detects cgroup2's "max", so we need to separately detect
--   * cgroup1's maximum value (which is derived from LONG_MAX and PAGE_SIZE).
--   */
--update_limits:
--  cgroup1_max = LONG_MAX & ~(sysconf(_SC_PAGESIZE) - 1);
--  if (*high == cgroup1_max)
--    *high = UINT64_MAX;
--  if (*max == cgroup1_max)
--    *max = UINT64_MAX;
- }
- 
- static void uv__get_cgroup2_memory_limits(char buf[static 1024], uint64_t* high,
-diff --git a/deps/uv/src/unix/os390.c b/deps/uv/src/unix/os390.c
-index a87c2d77faf..3954b2c2753 100644
---- a/deps/uv/src/unix/os390.c
-+++ b/deps/uv/src/unix/os390.c
-@@ -808,7 +808,6 @@ static int os390_message_queue_handler(uv__os390_epoll* ep) {
- 
- void uv__io_poll(uv_loop_t* loop, int timeout) {
-   static const int max_safe_timeout = 1789569;
--  uv__loop_internal_fields_t* lfields;
-   struct epoll_event events[1024];
-   struct epoll_event* pe;
-   struct epoll_event e;
-@@ -831,8 +830,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-     return;
-   }
- 
--  lfields = uv__get_internal_fields(loop);
--
-   while (!QUEUE_EMPTY(&loop->watcher_queue)) {
-     uv_stream_t* stream;
- 
-@@ -880,7 +877,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   int nevents = 0;
-   have_signals = 0;
- 
--  if (lfields->flags & UV_METRICS_IDLE_TIME) {
-+  if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
-     reset_timeout = 1;
-     user_timeout = timeout;
-     timeout = 0;
-@@ -899,12 +896,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-     if (sizeof(int32_t) == sizeof(long) && timeout >= max_safe_timeout)
-       timeout = max_safe_timeout;
- 
--    /* Store the current timeout in a location that's globally accessible so
--     * other locations like uv__work_done() can determine whether the queue
--     * of events in the callback were waiting when poll was called.
--     */
--    lfields->current_timeout = timeout;
--
-     nfds = epoll_wait(loop->ep, events,
-                       ARRAY_SIZE(events), timeout);
- 
-diff --git a/deps/uv/src/unix/posix-poll.c b/deps/uv/src/unix/posix-poll.c
-index 7e7de86845d..711780ece8d 100644
---- a/deps/uv/src/unix/posix-poll.c
-+++ b/deps/uv/src/unix/posix-poll.c
-@@ -132,7 +132,6 @@ static void uv__pollfds_del(uv_loop_t* loop, int fd) {
- 
- 
- void uv__io_poll(uv_loop_t* loop, int timeout) {
--  uv__loop_internal_fields_t* lfields;
-   sigset_t* pset;
-   sigset_t set;
-   uint64_t time_base;
-@@ -153,8 +152,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-     return;
-   }
- 
--  lfields = uv__get_internal_fields(loop);
--
-   /* Take queued watchers and add their fds to our poll fds array.  */
-   while (!QUEUE_EMPTY(&loop->watcher_queue)) {
-     q = QUEUE_HEAD(&loop->watcher_queue);
-@@ -182,7 +179,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-   assert(timeout >= -1);
-   time_base = loop->time;
- 
--  if (lfields->flags & UV_METRICS_IDLE_TIME) {
-+  if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
-     reset_timeout = 1;
-     user_timeout = timeout;
-     timeout = 0;
-@@ -201,12 +198,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
-     if (timeout != 0)
-       uv__metrics_set_provider_entry_time(loop);
- 
--    /* Store the current timeout in a location that's globally accessible so
--     * other locations like uv__work_done() can determine whether the queue
--     * of events in the callback were waiting when poll was called.
--     */
--    lfields->current_timeout = timeout;
--
-     if (pset != NULL)
-       if (pthread_sigmask(SIG_BLOCK, pset, NULL))
-         abort();
-diff --git a/deps/uv/src/uv-common.h b/deps/uv/src/uv-common.h
-index decde5362c8..2720121addc 100644
---- a/deps/uv/src/uv-common.h
-+++ b/deps/uv/src/uv-common.h
-@@ -396,37 +396,9 @@ struct uv__loop_metrics_s {
- void uv__metrics_update_idle_time(uv_loop_t* loop);
- void uv__metrics_set_provider_entry_time(uv_loop_t* loop);
- 
--#ifdef __linux__
--struct uv__iou {
--  uint32_t* sqhead;
--  uint32_t* sqtail;
--  uint32_t* sqarray;
--  uint32_t sqmask;
--  uint32_t* sqflags;
--  uint32_t* cqhead;
--  uint32_t* cqtail;
--  uint32_t cqmask;
--  void* sq;   /* pointer to munmap() on event loop teardown */
--  void* cqe;  /* pointer to array of struct uv__io_uring_cqe */
--  void* sqe;  /* pointer to array of struct uv__io_uring_sqe */
--  size_t sqlen;
--  size_t cqlen;
--  size_t maxlen;
--  size_t sqelen;
--  int ringfd;
--  uint32_t in_flight;
--};
--#endif  /* __linux__ */
--
- struct uv__loop_internal_fields_s {
-   unsigned int flags;
-   uv__loop_metrics_t loop_metrics;
--  int current_timeout;
--#ifdef __linux__
--  struct uv__iou ctl;
--  struct uv__iou iou;
--  void* inv;  /* used by uv__platform_invalidate_fd() */
--#endif  /* __linux__ */
- };
- 
- #endif /* UV_COMMON_H_ */
-diff --git a/deps/uv/src/win/core.c b/deps/uv/src/win/core.c
-index 9a3be58849a..e4041ec86a6 100644
---- a/deps/uv/src/win/core.c
-+++ b/deps/uv/src/win/core.c
-@@ -424,7 +424,6 @@ int uv_backend_timeout(const uv_loop_t* loop) {
- 
- 
- static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) {
--  uv__loop_internal_fields_t* lfields;
-   DWORD bytes;
-   ULONG_PTR key;
-   OVERLAPPED* overlapped;
-@@ -434,10 +433,9 @@ static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) {
-   uint64_t user_timeout;
-   int reset_timeout;
- 
--  lfields = uv__get_internal_fields(loop);
-   timeout_time = loop->time + timeout;
- 
--  if (lfields->flags & UV_METRICS_IDLE_TIME) {
-+  if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
-     reset_timeout = 1;
-     user_timeout = timeout;
-     timeout = 0;
-@@ -452,12 +450,6 @@ static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) {
-     if (timeout != 0)
-       uv__metrics_set_provider_entry_time(loop);
- 
--    /* Store the current timeout in a location that's globally accessible so
--     * other locations like uv__work_done() can determine whether the queue
--     * of events in the callback were waiting when poll was called.
--     */
--    lfields->current_timeout = timeout;
--
-     GetQueuedCompletionStatus(loop->iocp,
-                               &bytes,
-                               &key,
-@@ -515,7 +507,6 @@ static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) {
- 
- 
- static void uv__poll(uv_loop_t* loop, DWORD timeout) {
--  uv__loop_internal_fields_t* lfields;
-   BOOL success;
-   uv_req_t* req;
-   OVERLAPPED_ENTRY overlappeds[128];
-@@ -527,10 +518,9 @@ static void uv__poll(uv_loop_t* loop, DWORD timeout) {
-   uint64_t actual_timeout;
-   int reset_timeout;
- 
--  lfields = uv__get_internal_fields(loop);
-   timeout_time = loop->time + timeout;
- 
--  if (lfields->flags & UV_METRICS_IDLE_TIME) {
-+  if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
-     reset_timeout = 1;
-     user_timeout = timeout;
-     timeout = 0;
-@@ -547,12 +537,6 @@ static void uv__poll(uv_loop_t* loop, DWORD timeout) {
-     if (timeout != 0)
-       uv__metrics_set_provider_entry_time(loop);
- 
--    /* Store the current timeout in a location that's globally accessible so
--     * other locations like uv__work_done() can determine whether the queue
--     * of events in the callback were waiting when poll was called.
--     */
--    lfields->current_timeout = timeout;
--
-     success = pGetQueuedCompletionStatusEx(loop->iocp,
-                                            overlappeds,
-                                            ARRAY_SIZE(overlappeds),
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.11.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.11.1.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.11.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.11.1.bb
index cc51354..e2e2f5a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.11.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.11.1.bb
@@ -24,8 +24,7 @@
            file://0004-v8-don-t-override-ARM-CFLAGS.patch \
            file://system-c-ares.patch \
            file://0001-liftoff-Correct-function-signatures.patch \
-           file://0001-Revert-io_uring-changes-from-libuv-1.46.0.patch \
-           file://0002-Revert-io_uring-changes-from-libuv-1.45.0.patch \
+           file://0001-deps-disable-io_uring-support-in-libuv.patch \
            file://run-ptest \
            "
 
@@ -38,7 +37,7 @@
 SRC_URI:append:toolchain-clang:powerpc64le = " \
            file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
            "
-SRC_URI[sha256sum] = "31807ebeeeb049c53f1765e4a95aed69476a4b696dd100cb539ab668d7950b40"
+SRC_URI[sha256sum] = "77813edbf3f7f16d2d35d3353443dee4e61d5ee84d9e3138c7538a3c0ca5209e"
 
 S = "${WORKDIR}/node-v${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115/py3.12.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115/py3.12.patch
deleted file mode 100644
index 732c8ff..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115/py3.12.patch
+++ /dev/null
@@ -1,2496 +0,0 @@
-From 7293cfae4fd68004901825ad1cabb83424d8729a Mon Sep 17 00:00:00 2001
-From: serge-sans-paille <sguelton@mozilla.com>
-Date: Mon, 16 Oct 2023 13:35:24 +0000
-Subject: [PATCH] Bug 1857492 - Upgrade vendored version of six and urllib3
- r=saschanaz
-
-six -> 1.16
-urllib3 -> 1.26.17
-
-Differential Revision: https://phabricator.services.mozilla.com/D190288
-Upstream-Status: Backport [https://github.com/mozilla/gecko-dev/commit/7293cfae4fd68004901825ad1cabb83424d8729a]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- third_party/python/poetry.lock                |  22 +--
- third_party/python/requirements.in            |   4 +-
- third_party/python/requirements.txt           |  12 +-
- .../python/six/six-1.13.0.dist-info/RECORD    |   6 -
- .../LICENSE                                   |   2 +-
- .../METADATA                                  |   9 +-
- .../python/six/six-1.16.0.dist-info/RECORD    |   6 +
- .../six-1.16.0.dist-info}/WHEEL               |   2 +-
- .../top_level.txt                             |   0
- third_party/python/six/six.py                 |  91 ++++++---
- .../urllib3/urllib3-1.26.0.dist-info/RECORD   |  44 -----
- .../LICENSE.txt                               |   0
- .../METADATA                                  | 177 ++++++++++++++++--
- .../urllib3/urllib3-1.26.17.dist-info/RECORD  |  44 +++++
- .../urllib3-1.26.17.dist-info}/WHEEL          |   2 +-
- .../top_level.txt                             |   0
- .../python/urllib3/urllib3/__init__.py        |  17 ++
- .../python/urllib3/urllib3/_version.py        |   2 +-
- .../python/urllib3/urllib3/connection.py      |  62 ++++--
- .../python/urllib3/urllib3/connectionpool.py  |  97 ++++++++--
- .../contrib/_securetransport/bindings.py      |   2 +-
- .../contrib/_securetransport/low_level.py     |   1 +
- .../urllib3/urllib3/contrib/appengine.py      |   4 +-
- .../urllib3/urllib3/contrib/ntlmpool.py       |  13 +-
- .../urllib3/urllib3/contrib/pyopenssl.py      |  19 +-
- .../urllib3/contrib/securetransport.py        |   5 +-
- .../python/urllib3/urllib3/contrib/socks.py   |   2 +-
- .../python/urllib3/urllib3/exceptions.py      |  12 +-
- .../urllib3/urllib3/packages/__init__.py      |   5 -
- .../packages/backports/weakref_finalize.py    | 155 +++++++++++++++
- .../python/urllib3/urllib3/packages/six.py    | 125 +++++++++----
- .../packages/ssl_match_hostname/__init__.py   |  22 ---
- .../python/urllib3/urllib3/poolmanager.py     |   3 +-
- third_party/python/urllib3/urllib3/request.py |  21 +++
- .../python/urllib3/urllib3/response.py        |  72 ++++++-
- .../python/urllib3/urllib3/util/connection.py |   5 +-
- .../python/urllib3/urllib3/util/proxy.py      |   1 +
- .../python/urllib3/urllib3/util/request.py    |   5 +-
- .../python/urllib3/urllib3/util/retry.py      |  37 +++-
- .../python/urllib3/urllib3/util/ssl_.py       |  53 ++++--
- .../ssl_match_hostname.py}                    |  15 +-
- .../urllib3/urllib3/util/ssltransport.py      |   6 +-
- .../python/urllib3/urllib3/util/timeout.py    |   9 +-
- .../python/urllib3/urllib3/util/url.py        |  17 +-
- .../python/urllib3/urllib3/util/wait.py       |   1 -
- 45 files changed, 934 insertions(+), 275 deletions(-)
- delete mode 100644 third_party/python/six/six-1.13.0.dist-info/RECORD
- rename third_party/python/six/{six-1.13.0.dist-info => six-1.16.0.dist-info}/LICENSE (96%)
- rename third_party/python/six/{six-1.13.0.dist-info => six-1.16.0.dist-info}/METADATA (85%)
- create mode 100644 third_party/python/six/six-1.16.0.dist-info/RECORD
- rename third_party/python/{urllib3/urllib3-1.26.0.dist-info => six/six-1.16.0.dist-info}/WHEEL (70%)
- rename third_party/python/six/{six-1.13.0.dist-info => six-1.16.0.dist-info}/top_level.txt (100%)
- delete mode 100644 third_party/python/urllib3/urllib3-1.26.0.dist-info/RECORD
- rename third_party/python/urllib3/{urllib3-1.26.0.dist-info => urllib3-1.26.17.dist-info}/LICENSE.txt (100%)
- rename third_party/python/urllib3/{urllib3-1.26.0.dist-info => urllib3-1.26.17.dist-info}/METADATA (86%)
- create mode 100644 third_party/python/urllib3/urllib3-1.26.17.dist-info/RECORD
- rename third_party/python/{six/six-1.13.0.dist-info => urllib3/urllib3-1.26.17.dist-info}/WHEEL (70%)
- rename third_party/python/urllib3/{urllib3-1.26.0.dist-info => urllib3-1.26.17.dist-info}/top_level.txt (100%)
- create mode 100644 third_party/python/urllib3/urllib3/packages/backports/weakref_finalize.py
- delete mode 100644 third_party/python/urllib3/urllib3/packages/ssl_match_hostname/__init__.py
- rename third_party/python/urllib3/urllib3/{packages/ssl_match_hostname/_implementation.py => util/ssl_match_hostname.py} (92%)
-
-diff --git a/third_party/python/poetry.lock b/third_party/python/poetry.lock
-index 3d50174e58bcb..b4a8455d20fb4 100644
---- a/third_party/python/poetry.lock
-+++ b/third_party/python/poetry.lock
-@@ -1333,14 +1333,14 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (
- 
- [[package]]
- name = "six"
--version = "1.13.0"
-+version = "1.16.0"
- description = "Python 2 and 3 compatibility utilities"
- category = "main"
- optional = false
--python-versions = ">=2.6, !=3.0.*, !=3.1.*"
-+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
- files = [
--    {file = "six-1.13.0-py2.py3-none-any.whl", hash = "sha256:1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd"},
--    {file = "six-1.13.0.tar.gz", hash = "sha256:30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"},
-+    {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
-+    {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
- ]
- 
- [[package]]
-@@ -1491,19 +1491,19 @@ files = [
- 
- [[package]]
- name = "urllib3"
--version = "1.26.0"
-+version = "1.26.17"
- description = "HTTP library with thread-safe connection pooling, file post, and more."
- category = "main"
- optional = false
--python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
-+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
- files = [
--    {file = "urllib3-1.26.0-py2.py3-none-any.whl", hash = "sha256:bad31cb622ceee0ab46c4c884cf61957def0ff2e644de0a7a093678844c9ccac"},
--    {file = "urllib3-1.26.0.tar.gz", hash = "sha256:4849f132941d68144df0a3785ccc4fe423430ba5db0108d045c8cadbc90f517a"},
-+    {file = "urllib3-1.26.17-py2.py3-none-any.whl", hash = "sha256:94a757d178c9be92ef5539b8840d48dc9cf1b2709c9d6b588232a055c524458b"},
-+    {file = "urllib3-1.26.17.tar.gz", hash = "sha256:24d6a242c28d29af46c3fae832c36db3bbebcc533dd1bb549172cd739c82df21"},
- ]
- 
- [package.extras]
--brotli = ["brotlipy (>=0.6.0)"]
--secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)"]
-+brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"]
-+secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"]
- socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
- 
- [[package]]
-diff --git a/third_party/python/six/six-1.13.0.dist-info/RECORD b/third_party/python/six/six-1.13.0.dist-info/RECORD
-deleted file mode 100644
-index a0e6c1fd4bd99..0000000000000
---- a/third_party/python/six/six-1.13.0.dist-info/RECORD
-+++ /dev/null
-@@ -1,6 +0,0 @@
--six.py,sha256=bsEzSFTZTx49wQttLORmSZTrpjGc8UbXt-HBa_LZX7Q,33045
--six-1.13.0.dist-info/LICENSE,sha256=t1KbjAcXGniow2wyg5BVKOSBKUXZd9El65JujMvyRbY,1066
--six-1.13.0.dist-info/METADATA,sha256=hxS4rSPRfO8ewbcLS30anoFi6LFgUQ3mk_xknZ8RV4w,1940
--six-1.13.0.dist-info/WHEEL,sha256=8zNYZbwQSXoB9IfXOjPfeNwvAsALAjffgk27FqvCWbo,110
--six-1.13.0.dist-info/top_level.txt,sha256=_iVH_iYEtEXnD8nYGQYpYFUvkUW9sEO1GYbkeKSAais,4
--six-1.13.0.dist-info/RECORD,,
-diff --git a/third_party/python/six/six-1.13.0.dist-info/LICENSE b/third_party/python/six/six-1.16.0.dist-info/LICENSE
-similarity index 96%
-rename from third_party/python/six/six-1.13.0.dist-info/LICENSE
-rename to third_party/python/six/six-1.16.0.dist-info/LICENSE
-index 4b05a545261c0..de6633112c1f9 100644
---- a/third_party/python/six/six-1.13.0.dist-info/LICENSE
-+++ b/third_party/python/six/six-1.16.0.dist-info/LICENSE
-@@ -1,4 +1,4 @@
--Copyright (c) 2010-2019 Benjamin Peterson
-+Copyright (c) 2010-2020 Benjamin Peterson
- 
- Permission is hereby granted, free of charge, to any person obtaining a copy of
- this software and associated documentation files (the "Software"), to deal in
-diff --git a/third_party/python/six/six-1.13.0.dist-info/METADATA b/third_party/python/six/six-1.16.0.dist-info/METADATA
-similarity index 85%
-rename from third_party/python/six/six-1.13.0.dist-info/METADATA
-rename to third_party/python/six/six-1.16.0.dist-info/METADATA
-index b0c8f51e1f366..6d7525c2ebcfe 100644
---- a/third_party/python/six/six-1.13.0.dist-info/METADATA
-+++ b/third_party/python/six/six-1.16.0.dist-info/METADATA
-@@ -1,6 +1,6 @@
- Metadata-Version: 2.1
- Name: six
--Version: 1.13.0
-+Version: 1.16.0
- Summary: Python 2 and 3 compatibility utilities
- Home-page: https://github.com/benjaminp/six
- Author: Benjamin Peterson
-@@ -14,7 +14,7 @@ Classifier: Intended Audience :: Developers
- Classifier: License :: OSI Approved :: MIT License
- Classifier: Topic :: Software Development :: Libraries
- Classifier: Topic :: Utilities
--Requires-Python: >=2.6, !=3.0.*, !=3.1.*
-+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*
- 
- .. image:: https://img.shields.io/pypi/v/six.svg
-    :target: https://pypi.org/project/six/
-@@ -37,7 +37,7 @@ for smoothing over the differences between the Python versions with the goal of
- writing Python code that is compatible on both Python versions.  See the
- documentation for more information on what is provided.
- 
--Six supports every Python version since 2.6.  It is contained in only one Python
-+Six supports Python 2.7 and 3.3+.  It is contained in only one Python
- file, so it can be easily copied into your project. (The copyright and license
- notice must be retained.)
- 
-@@ -46,7 +46,4 @@ Online documentation is at https://six.readthedocs.io/.
- Bugs can be reported to https://github.com/benjaminp/six.  The code can also
- be found there.
- 
--For questions about six or porting in general, email the python-porting mailing
--list: https://mail.python.org/mailman/listinfo/python-porting
--
- 
-diff --git a/third_party/python/six/six-1.16.0.dist-info/RECORD b/third_party/python/six/six-1.16.0.dist-info/RECORD
-new file mode 100644
-index 0000000000000..8de4af79fae0b
---- /dev/null
-+++ b/third_party/python/six/six-1.16.0.dist-info/RECORD
-@@ -0,0 +1,6 @@
-+six.py,sha256=TOOfQi7nFGfMrIvtdr6wX4wyHH8M7aknmuLfo2cBBrM,34549
-+six-1.16.0.dist-info/LICENSE,sha256=i7hQxWWqOJ_cFvOkaWWtI9gq3_YPI5P8J2K2MYXo5sk,1066
-+six-1.16.0.dist-info/METADATA,sha256=VQcGIFCAEmfZcl77E5riPCN4v2TIsc_qtacnjxKHJoI,1795
-+six-1.16.0.dist-info/WHEEL,sha256=Z-nyYpwrcSqxfdux5Mbn_DQ525iP7J2DG3JgGvOYyTQ,110
-+six-1.16.0.dist-info/top_level.txt,sha256=_iVH_iYEtEXnD8nYGQYpYFUvkUW9sEO1GYbkeKSAais,4
-+six-1.16.0.dist-info/RECORD,,
-diff --git a/third_party/python/urllib3/urllib3-1.26.0.dist-info/WHEEL b/third_party/python/six/six-1.16.0.dist-info/WHEEL
-similarity index 70%
-rename from third_party/python/urllib3/urllib3-1.26.0.dist-info/WHEEL
-rename to third_party/python/six/six-1.16.0.dist-info/WHEEL
-index 6d38aa0601b31..01b8fc7d4a10c 100644
---- a/third_party/python/urllib3/urllib3-1.26.0.dist-info/WHEEL
-+++ b/third_party/python/six/six-1.16.0.dist-info/WHEEL
-@@ -1,5 +1,5 @@
- Wheel-Version: 1.0
--Generator: bdist_wheel (0.35.1)
-+Generator: bdist_wheel (0.36.2)
- Root-Is-Purelib: true
- Tag: py2-none-any
- Tag: py3-none-any
-diff --git a/third_party/python/six/six-1.13.0.dist-info/top_level.txt b/third_party/python/six/six-1.16.0.dist-info/top_level.txt
-similarity index 100%
-rename from third_party/python/six/six-1.13.0.dist-info/top_level.txt
-rename to third_party/python/six/six-1.16.0.dist-info/top_level.txt
-diff --git a/third_party/python/six/six.py b/third_party/python/six/six.py
-index 357e624abc6c9..4e15675d8b5ca 100644
---- a/third_party/python/six/six.py
-+++ b/third_party/python/six/six.py
-@@ -1,4 +1,4 @@
--# Copyright (c) 2010-2019 Benjamin Peterson
-+# Copyright (c) 2010-2020 Benjamin Peterson
- #
- # Permission is hereby granted, free of charge, to any person obtaining a copy
- # of this software and associated documentation files (the "Software"), to deal
-@@ -29,7 +29,7 @@
- import types
- 
- __author__ = "Benjamin Peterson <benjamin@python.org>"
--__version__ = "1.13.0"
-+__version__ = "1.16.0"
- 
- 
- # Useful for very coarse version differentiation.
-@@ -71,6 +71,11 @@ def __len__(self):
-             MAXSIZE = int((1 << 63) - 1)
-         del X
- 
-+if PY34:
-+    from importlib.util import spec_from_loader
-+else:
-+    spec_from_loader = None
-+
- 
- def _add_doc(func, doc):
-     """Add documentation to a function."""
-@@ -186,6 +191,11 @@ def find_module(self, fullname, path=None):
-             return self
-         return None
- 
-+    def find_spec(self, fullname, path, target=None):
-+        if fullname in self.known_modules:
-+            return spec_from_loader(fullname, self)
-+        return None
-+
-     def __get_module(self, fullname):
-         try:
-             return self.known_modules[fullname]
-@@ -223,6 +233,12 @@ def get_code(self, fullname):
-         return None
-     get_source = get_code  # same as get_code
- 
-+    def create_module(self, spec):
-+        return self.load_module(spec.name)
-+
-+    def exec_module(self, module):
-+        pass
-+
- _importer = _SixMetaPathImporter(__name__)
- 
- 
-@@ -259,7 +275,7 @@ class _MovedItems(_LazyModule):
-     MovedModule("copyreg", "copy_reg"),
-     MovedModule("dbm_gnu", "gdbm", "dbm.gnu"),
-     MovedModule("dbm_ndbm", "dbm", "dbm.ndbm"),
--    MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"),
-+    MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread" if sys.version_info < (3, 9) else "_thread"),
-     MovedModule("http_cookiejar", "cookielib", "http.cookiejar"),
-     MovedModule("http_cookies", "Cookie", "http.cookies"),
-     MovedModule("html_entities", "htmlentitydefs", "html.entities"),
-@@ -644,9 +660,11 @@ def u(s):
-     if sys.version_info[1] <= 1:
-         _assertRaisesRegex = "assertRaisesRegexp"
-         _assertRegex = "assertRegexpMatches"
-+        _assertNotRegex = "assertNotRegexpMatches"
-     else:
-         _assertRaisesRegex = "assertRaisesRegex"
-         _assertRegex = "assertRegex"
-+        _assertNotRegex = "assertNotRegex"
- else:
-     def b(s):
-         return s
-@@ -668,6 +686,7 @@ def indexbytes(buf, i):
-     _assertCountEqual = "assertItemsEqual"
-     _assertRaisesRegex = "assertRaisesRegexp"
-     _assertRegex = "assertRegexpMatches"
-+    _assertNotRegex = "assertNotRegexpMatches"
- _add_doc(b, """Byte literal""")
- _add_doc(u, """Text literal""")
- 
-@@ -684,6 +703,10 @@ def assertRegex(self, *args, **kwargs):
-     return getattr(self, _assertRegex)(*args, **kwargs)
- 
- 
-+def assertNotRegex(self, *args, **kwargs):
-+    return getattr(self, _assertNotRegex)(*args, **kwargs)
-+
-+
- if PY3:
-     exec_ = getattr(moves.builtins, "exec")
- 
-@@ -719,16 +742,7 @@ def exec_(_code_, _globs_=None, _locs_=None):
- """)
- 
- 
--if sys.version_info[:2] == (3, 2):
--    exec_("""def raise_from(value, from_value):
--    try:
--        if from_value is None:
--            raise value
--        raise value from from_value
--    finally:
--        value = None
--""")
--elif sys.version_info[:2] > (3, 2):
-+if sys.version_info[:2] > (3,):
-     exec_("""def raise_from(value, from_value):
-     try:
-         raise value from from_value
-@@ -808,13 +822,33 @@ def print_(*args, **kwargs):
- _add_doc(reraise, """Reraise an exception.""")
- 
- if sys.version_info[0:2] < (3, 4):
-+    # This does exactly the same what the :func:`py3:functools.update_wrapper`
-+    # function does on Python versions after 3.2. It sets the ``__wrapped__``
-+    # attribute on ``wrapper`` object and it doesn't raise an error if any of
-+    # the attributes mentioned in ``assigned`` and ``updated`` are missing on
-+    # ``wrapped`` object.
-+    def _update_wrapper(wrapper, wrapped,
-+                        assigned=functools.WRAPPER_ASSIGNMENTS,
-+                        updated=functools.WRAPPER_UPDATES):
-+        for attr in assigned:
-+            try:
-+                value = getattr(wrapped, attr)
-+            except AttributeError:
-+                continue
-+            else:
-+                setattr(wrapper, attr, value)
-+        for attr in updated:
-+            getattr(wrapper, attr).update(getattr(wrapped, attr, {}))
-+        wrapper.__wrapped__ = wrapped
-+        return wrapper
-+    _update_wrapper.__doc__ = functools.update_wrapper.__doc__
-+
-     def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS,
-               updated=functools.WRAPPER_UPDATES):
--        def wrapper(f):
--            f = functools.wraps(wrapped, assigned, updated)(f)
--            f.__wrapped__ = wrapped
--            return f
--        return wrapper
-+        return functools.partial(_update_wrapper, wrapped=wrapped,
-+                                 assigned=assigned, updated=updated)
-+    wraps.__doc__ = functools.wraps.__doc__
-+
- else:
-     wraps = functools.wraps
- 
-@@ -872,12 +906,11 @@ def ensure_binary(s, encoding='utf-8', errors='strict'):
-       - `str` -> encoded to `bytes`
-       - `bytes` -> `bytes`
-     """
-+    if isinstance(s, binary_type):
-+        return s
-     if isinstance(s, text_type):
-         return s.encode(encoding, errors)
--    elif isinstance(s, binary_type):
--        return s
--    else:
--        raise TypeError("not expecting type '%s'" % type(s))
-+    raise TypeError("not expecting type '%s'" % type(s))
- 
- 
- def ensure_str(s, encoding='utf-8', errors='strict'):
-@@ -891,12 +924,15 @@ def ensure_str(s, encoding='utf-8', errors='strict'):
-       - `str` -> `str`
-       - `bytes` -> decoded to `str`
-     """
--    if not isinstance(s, (text_type, binary_type)):
--        raise TypeError("not expecting type '%s'" % type(s))
-+    # Optimization: Fast return for the common case.
-+    if type(s) is str:
-+        return s
-     if PY2 and isinstance(s, text_type):
--        s = s.encode(encoding, errors)
-+        return s.encode(encoding, errors)
-     elif PY3 and isinstance(s, binary_type):
--        s = s.decode(encoding, errors)
-+        return s.decode(encoding, errors)
-+    elif not isinstance(s, (text_type, binary_type)):
-+        raise TypeError("not expecting type '%s'" % type(s))
-     return s
- 
- 
-@@ -919,10 +955,9 @@ def ensure_text(s, encoding='utf-8', errors='strict'):
-         raise TypeError("not expecting type '%s'" % type(s))
- 
- 
--
- def python_2_unicode_compatible(klass):
-     """
--    A decorator that defines __unicode__ and __str__ methods under Python 2.
-+    A class decorator that defines __unicode__ and __str__ methods under Python 2.
-     Under Python 3 it does nothing.
- 
-     To support Python 2 and 3 with a single code base, define a __str__ method
-diff --git a/third_party/python/urllib3/urllib3-1.26.0.dist-info/RECORD b/third_party/python/urllib3/urllib3-1.26.0.dist-info/RECORD
-deleted file mode 100644
-index ec9088a111a41..0000000000000
---- a/third_party/python/urllib3/urllib3-1.26.0.dist-info/RECORD
-+++ /dev/null
-@@ -1,44 +0,0 @@
--urllib3/__init__.py,sha256=j3yzHIbmW7CS-IKQJ9-PPQf_YKO8EOAey_rMW0UR7us,2763
--urllib3/_collections.py,sha256=Rp1mVyBgc_UlAcp6M3at1skJBXR5J43NawRTvW2g_XY,10811
--urllib3/_version.py,sha256=H0vLQ8PY350EPZlZQa8ri0tEjVS-xhGdQOHcU360-0A,63
--urllib3/connection.py,sha256=BdaUSNpGzO0zq28i9MhOXb6QZspeVdVrYtjnkk2Eqg4,18396
--urllib3/connectionpool.py,sha256=IKoeuJZY9YAYm0GK4q-MXAhyXW0M_FnvabYaNsDIR-E,37133
--urllib3/exceptions.py,sha256=lNrKC5J8zeBXIu9SSKSNb7cLi8iXl9ARu9DHD2SflZM,7810
--urllib3/fields.py,sha256=kvLDCg_JmH1lLjUUEY_FLS8UhY7hBvDPuVETbY8mdrM,8579
--urllib3/filepost.py,sha256=5b_qqgRHVlL7uLtdAYBzBh-GHmU5AfJVt_2N0XS3PeY,2440
--urllib3/poolmanager.py,sha256=whzlX6UTEgODMOCy0ZDMUONRBCz5wyIM8Z9opXAY-Lk,19763
--urllib3/request.py,sha256=ZFSIqX0C6WizixecChZ3_okyu7BEv0lZu1VT0s6h4SM,5985
--urllib3/response.py,sha256=hGhGBh7TkEkh_IQg5C1W_xuPNrgIKv5BUXPyE-q0LuE,28203
--urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
--urllib3/contrib/_appengine_environ.py,sha256=bDbyOEhW2CKLJcQqAKAyrEHN-aklsyHFKq6vF8ZFsmk,957
--urllib3/contrib/appengine.py,sha256=7Pxb0tKfDB_LTGPERiswH0qomhDoUUOo5kwybAKLQyE,11010
--urllib3/contrib/ntlmpool.py,sha256=6I95h1_71fzxmoMSNtY0gB8lnyCoVtP_DpqFGj14fdU,4160
--urllib3/contrib/pyopenssl.py,sha256=vgh6j52w9xgwq-3R2kfB5M2JblQATJfKAK3lIAc1kSg,16778
--urllib3/contrib/securetransport.py,sha256=KxGPZk8d4YepWm7Rc-SBt1XrzIfnLKc8JkUVV75XzgE,34286
--urllib3/contrib/socks.py,sha256=DcRjM2l0rQMIyhYrN6r-tnVkY6ZTDxHJlM8_usAkGCA,7097
--urllib3/contrib/_securetransport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
--urllib3/contrib/_securetransport/bindings.py,sha256=E1_7ScsgOchfxneozbAueK7ziCwF35fna4DuDCYJ9_o,17637
--urllib3/contrib/_securetransport/low_level.py,sha256=lgIdsSycqfB0Xm5BiJzXGeIKT7ybCQMFPJAgkcwPa1s,13908
--urllib3/packages/__init__.py,sha256=h4BLhD4tLaBx1adaDtKXfupsgqY0wWLXb_f1_yVlV6A,108
--urllib3/packages/six.py,sha256=adx4z-eM_D0Vvu0IIqVzFACQ_ux9l64y7DkSEfbxCDs,32536
--urllib3/packages/backports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
--urllib3/packages/backports/makefile.py,sha256=nbzt3i0agPVP07jqqgjhaYjMmuAi_W5E0EywZivVO8E,1417
--urllib3/packages/ssl_match_hostname/__init__.py,sha256=zppezdEQdpGsYerI6mV6MfUYy495JV4mcOWC_GgbljU,757
--urllib3/packages/ssl_match_hostname/_implementation.py,sha256=6dZ-q074g7XhsJ27MFCgkct8iVNZB3sMZvKhf-KUVy0,5679
--urllib3/util/__init__.py,sha256=JEmSmmqqLyaw8P51gUImZh8Gwg9i1zSe-DoqAitn2nc,1155
--urllib3/util/connection.py,sha256=21B-LX0c8fkxPDssyHCaK0pCnmrKmhltg5EoouHiAPU,4910
--urllib3/util/proxy.py,sha256=FGipAEnvZteyldXNjce4DEB7YzwU-a5lep8y5S0qHQg,1604
--urllib3/util/queue.py,sha256=nRgX8_eX-_VkvxoX096QWoz8Ps0QHUAExILCY_7PncM,498
--urllib3/util/request.py,sha256=NnzaEKQ1Pauw5MFMV6HmgEMHITf0Aua9fQuzi2uZzGc,4123
--urllib3/util/response.py,sha256=GJpg3Egi9qaJXRwBh5wv-MNuRWan5BIu40oReoxWP28,3510
--urllib3/util/retry.py,sha256=tn168HDMUynFmXRP-uVaLRUOlbTEJikoB1RuZdwfCes,21366
--urllib3/util/ssl_.py,sha256=cUsmU604z2zAOZcaXDpINXOokQ1RtlJMe96TBDkaJp0,16199
--urllib3/util/ssltransport.py,sha256=IvGQvs9YWkf4jzfqVjTu_UWjwAUgPn5ActajW8VLz6A,6908
--urllib3/util/timeout.py,sha256=QSbBUNOB9yh6AnDn61SrLQ0hg5oz0I9-uXEG91AJuIg,10003
--urllib3/util/url.py,sha256=LWfLSlI4l2FmUMKfCkElCaW10-0N-sJDT9bxaDZJkjs,13964
--urllib3/util/wait.py,sha256=3MUKRSAUJDB2tgco7qRUskW0zXGAWYvRRE4Q1_6xlLs,5404
--urllib3-1.26.0.dist-info/LICENSE.txt,sha256=w3vxhuJ8-dvpYZ5V7f486nswCRzrPaY8fay-Dm13kHs,1115
--urllib3-1.26.0.dist-info/METADATA,sha256=Wghdt6nLf9HfZHhWj8Dpgz4n9vGRqXYhdIwJRPgki6M,42629
--urllib3-1.26.0.dist-info/WHEEL,sha256=ADKeyaGyKF5DwBNE0sRE5pvW-bSkFMJfBuhzZ3rceP4,110
--urllib3-1.26.0.dist-info/top_level.txt,sha256=EMiXL2sKrTcmrMxIHTqdc3ET54pQI2Y072LexFEemvo,8
--urllib3-1.26.0.dist-info/RECORD,,
-diff --git a/third_party/python/urllib3/urllib3-1.26.0.dist-info/LICENSE.txt b/third_party/python/urllib3/urllib3-1.26.17.dist-info/LICENSE.txt
-similarity index 100%
-rename from third_party/python/urllib3/urllib3-1.26.0.dist-info/LICENSE.txt
-rename to third_party/python/urllib3/urllib3-1.26.17.dist-info/LICENSE.txt
-diff --git a/third_party/python/urllib3/urllib3-1.26.0.dist-info/METADATA b/third_party/python/urllib3/urllib3-1.26.17.dist-info/METADATA
-similarity index 86%
-rename from third_party/python/urllib3/urllib3-1.26.0.dist-info/METADATA
-rename to third_party/python/urllib3/urllib3-1.26.17.dist-info/METADATA
-index 39869aafada8a..9493faee66c01 100644
---- a/third_party/python/urllib3/urllib3-1.26.0.dist-info/METADATA
-+++ b/third_party/python/urllib3/urllib3-1.26.17.dist-info/METADATA
-@@ -1,6 +1,6 @@
- Metadata-Version: 2.1
- Name: urllib3
--Version: 1.26.0
-+Version: 1.26.17
- Summary: HTTP library with thread-safe connection pooling, file post, and more.
- Home-page: https://urllib3.readthedocs.io/
- Author: Andrey Petrov
-@@ -10,7 +10,6 @@ Project-URL: Documentation, https://urllib3.readthedocs.io/
- Project-URL: Code, https://github.com/urllib3/urllib3
- Project-URL: Issue tracker, https://github.com/urllib3/urllib3/issues
- Keywords: urllib httplib threadsafe filepost http https ssl pooling
--Platform: UNKNOWN
- Classifier: Environment :: Web Environment
- Classifier: Intended Audience :: Developers
- Classifier: License :: OSI Approved :: MIT License
-@@ -19,27 +18,33 @@ Classifier: Programming Language :: Python
- Classifier: Programming Language :: Python :: 2
- Classifier: Programming Language :: Python :: 2.7
- Classifier: Programming Language :: Python :: 3
--Classifier: Programming Language :: Python :: 3.5
- Classifier: Programming Language :: Python :: 3.6
- Classifier: Programming Language :: Python :: 3.7
- Classifier: Programming Language :: Python :: 3.8
- Classifier: Programming Language :: Python :: 3.9
-+Classifier: Programming Language :: Python :: 3.10
-+Classifier: Programming Language :: Python :: 3.11
- Classifier: Programming Language :: Python :: Implementation :: CPython
- Classifier: Programming Language :: Python :: Implementation :: PyPy
- Classifier: Topic :: Internet :: WWW/HTTP
- Classifier: Topic :: Software Development :: Libraries
--Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4
-+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*
- Description-Content-Type: text/x-rst
-+License-File: LICENSE.txt
- Provides-Extra: brotli
--Requires-Dist: brotlipy (>=0.6.0) ; extra == 'brotli'
-+Requires-Dist: brotlicffi >=0.8.0 ; ((os_name != "nt" or python_version >= "3") and platform_python_implementation != "CPython") and extra == 'brotli'
-+Requires-Dist: brotli ==1.0.9 ; (os_name != "nt" and python_version < "3" and platform_python_implementation == "CPython") and extra == 'brotli'
-+Requires-Dist: brotlipy >=0.6.0 ; (os_name == "nt" and python_version < "3") and extra == 'brotli'
-+Requires-Dist: brotli >=1.0.9 ; (python_version >= "3" and platform_python_implementation == "CPython") and extra == 'brotli'
- Provides-Extra: secure
--Requires-Dist: pyOpenSSL (>=0.14) ; extra == 'secure'
--Requires-Dist: cryptography (>=1.3.4) ; extra == 'secure'
--Requires-Dist: idna (>=2.0.0) ; extra == 'secure'
-+Requires-Dist: pyOpenSSL >=0.14 ; extra == 'secure'
-+Requires-Dist: cryptography >=1.3.4 ; extra == 'secure'
-+Requires-Dist: idna >=2.0.0 ; extra == 'secure'
- Requires-Dist: certifi ; extra == 'secure'
-+Requires-Dist: urllib3-secure-extra ; extra == 'secure'
- Requires-Dist: ipaddress ; (python_version == "2.7") and extra == 'secure'
- Provides-Extra: socks
--Requires-Dist: PySocks (!=1.5.7,<2.0,>=1.5.6) ; extra == 'socks'
-+Requires-Dist: PySocks !=1.5.7,<2.0,>=1.5.6 ; extra == 'socks'
- 
- 
- urllib3 is a powerful, *user-friendly* HTTP client for Python. Much of the
-@@ -78,8 +83,10 @@ urllib3 can be installed with `pip <https://pip.pypa.io>`_::
- 
- Alternatively, you can grab the latest source code from `GitHub <https://github.com/urllib3/urllib3>`_::
- 
--    $ git clone git://github.com/urllib3/urllib3.git
--    $ python setup.py install
-+    $ git clone https://github.com/urllib3/urllib3.git
-+    $ cd urllib3
-+    $ git checkout 1.26.x
-+    $ pip install .
- 
- 
- Documentation
-@@ -148,6 +155,152 @@ For Enterprise
- Changes
- =======
- 
-+1.26.17 (2023-10-02)
-+--------------------
-+
-+* Added the ``Cookie`` header to the list of headers to strip from requests when redirecting to a different host. As before, different headers can be set via ``Retry.remove_headers_on_redirect``.
-+
-+
-+1.26.16 (2023-05-23)
-+--------------------
-+
-+* Fixed thread-safety issue where accessing a ``PoolManager`` with many distinct origins
-+  would cause connection pools to be closed while requests are in progress (`#2954 <https://github.com/urllib3/urllib3/pull/2954>`_)
-+
-+
-+1.26.15 (2023-03-10)
-+--------------------
-+
-+* Fix socket timeout value when ``HTTPConnection`` is reused (`#2645 <https://github.com/urllib3/urllib3/issues/2645>`__)
-+* Remove "!" character from the unreserved characters in IPv6 Zone ID parsing
-+  (`#2899 <https://github.com/urllib3/urllib3/issues/2899>`__)
-+* Fix IDNA handling of '\x80' byte (`#2901 <https://github.com/urllib3/urllib3/issues/2901>`__)
-+
-+1.26.14 (2023-01-11)
-+--------------------
-+
-+* Fixed parsing of port 0 (zero) returning None, instead of 0. (`#2850 <https://github.com/urllib3/urllib3/issues/2850>`__)
-+* Removed deprecated getheaders() calls in contrib module.
-+
-+1.26.13 (2022-11-23)
-+--------------------
-+
-+* Deprecated the ``HTTPResponse.getheaders()`` and ``HTTPResponse.getheader()`` methods.
-+* Fixed an issue where parsing a URL with leading zeroes in the port would be rejected
-+  even when the port number after removing the zeroes was valid.
-+* Fixed a deprecation warning when using cryptography v39.0.0.
-+* Removed the ``<4`` in the ``Requires-Python`` packaging metadata field.
-+
-+
-+1.26.12 (2022-08-22)
-+--------------------
-+
-+* Deprecated the `urllib3[secure]` extra and the `urllib3.contrib.pyopenssl` module.
-+  Both will be removed in v2.x. See this `GitHub issue <https://github.com/urllib3/urllib3/issues/2680>`_
-+  for justification and info on how to migrate.
-+
-+
-+1.26.11 (2022-07-25)
-+--------------------
-+
-+* Fixed an issue where reading more than 2 GiB in a call to ``HTTPResponse.read`` would
-+  raise an ``OverflowError`` on Python 3.9 and earlier.
-+
-+
-+1.26.10 (2022-07-07)
-+--------------------
-+
-+* Removed support for Python 3.5
-+* Fixed an issue where a ``ProxyError`` recommending configuring the proxy as HTTP
-+  instead of HTTPS could appear even when an HTTPS proxy wasn't configured.
-+
-+
-+1.26.9 (2022-03-16)
-+-------------------
-+
-+* Changed ``urllib3[brotli]`` extra to favor installing Brotli libraries that are still
-+  receiving updates like ``brotli`` and ``brotlicffi`` instead of ``brotlipy``.
-+  This change does not impact behavior of urllib3, only which dependencies are installed.
-+* Fixed a socket leaking when ``HTTPSConnection.connect()`` raises an exception.
-+* Fixed ``server_hostname`` being forwarded from ``PoolManager`` to ``HTTPConnectionPool``
-+  when requesting an HTTP URL. Should only be forwarded when requesting an HTTPS URL.
-+
-+
-+1.26.8 (2022-01-07)
-+-------------------
-+
-+* Added extra message to ``urllib3.exceptions.ProxyError`` when urllib3 detects that
-+  a proxy is configured to use HTTPS but the proxy itself appears to only use HTTP.
-+* Added a mention of the size of the connection pool when discarding a connection due to the pool being full.
-+* Added explicit support for Python 3.11.
-+* Deprecated the ``Retry.MAX_BACKOFF`` class property in favor of ``Retry.DEFAULT_MAX_BACKOFF``
-+  to better match the rest of the default parameter names. ``Retry.MAX_BACKOFF`` is removed in v2.0.
-+* Changed location of the vendored ``ssl.match_hostname`` function from ``urllib3.packages.ssl_match_hostname``
-+  to ``urllib3.util.ssl_match_hostname`` to ensure Python 3.10+ compatibility after being repackaged
-+  by downstream distributors.
-+* Fixed absolute imports, all imports are now relative.
-+
-+
-+1.26.7 (2021-09-22)
-+-------------------
-+
-+* Fixed a bug with HTTPS hostname verification involving IP addresses and lack
-+  of SNI. (Issue #2400)
-+* Fixed a bug where IPv6 braces weren't stripped during certificate hostname
-+  matching. (Issue #2240)
-+
-+
-+1.26.6 (2021-06-25)
-+-------------------
-+
-+* Deprecated the ``urllib3.contrib.ntlmpool`` module. urllib3 is not able to support
-+  it properly due to `reasons listed in this issue <https://github.com/urllib3/urllib3/issues/2282>`_.
-+  If you are a user of this module please leave a comment.
-+* Changed ``HTTPConnection.request_chunked()`` to not erroneously emit multiple
-+  ``Transfer-Encoding`` headers in the case that one is already specified.
-+* Fixed typo in deprecation message to recommend ``Retry.DEFAULT_ALLOWED_METHODS``.
-+
-+
-+1.26.5 (2021-05-26)
-+-------------------
-+
-+* Fixed deprecation warnings emitted in Python 3.10.
-+* Updated vendored ``six`` library to 1.16.0.
-+* Improved performance of URL parser when splitting
-+  the authority component.
-+
-+
-+1.26.4 (2021-03-15)
-+-------------------
-+
-+* Changed behavior of the default ``SSLContext`` when connecting to HTTPS proxy
-+  during HTTPS requests. The default ``SSLContext`` now sets ``check_hostname=True``.
-+
-+
-+1.26.3 (2021-01-26)
-+-------------------
-+
-+* Fixed bytes and string comparison issue with headers (Pull #2141)
-+
-+* Changed ``ProxySchemeUnknown`` error message to be
-+  more actionable if the user supplies a proxy URL without
-+  a scheme. (Pull #2107)
-+
-+
-+1.26.2 (2020-11-12)
-+-------------------
-+
-+* Fixed an issue where ``wrap_socket`` and ``CERT_REQUIRED`` wouldn't
-+  be imported properly on Python 2.7.8 and earlier (Pull #2052)
-+
-+
-+1.26.1 (2020-11-11)
-+-------------------
-+
-+* Fixed an issue where two ``User-Agent`` headers would be sent if a
-+  ``User-Agent`` header key is passed as ``bytes`` (Pull #2047)
-+
-+
- 1.26.0 (2020-11-10)
- -------------------
- 
-@@ -1331,5 +1484,3 @@ Changes
- ----------------
- 
- * First release.
--
--
-diff --git a/third_party/python/urllib3/urllib3-1.26.17.dist-info/RECORD b/third_party/python/urllib3/urllib3-1.26.17.dist-info/RECORD
-new file mode 100644
-index 0000000000000..1afc6580589c0
---- /dev/null
-+++ b/third_party/python/urllib3/urllib3-1.26.17.dist-info/RECORD
-@@ -0,0 +1,44 @@
-+urllib3/__init__.py,sha256=iXLcYiJySn0GNbWOOZDDApgBL1JgP44EZ8i1760S8Mc,3333
-+urllib3/_collections.py,sha256=Rp1mVyBgc_UlAcp6M3at1skJBXR5J43NawRTvW2g_XY,10811
-+urllib3/_version.py,sha256=azoM7M7BUADl2kBhMVR6PPf2GhBDI90me1fcnzTwdcw,64
-+urllib3/connection.py,sha256=92k9td_y4PEiTIjNufCUa1NzMB3J3w0LEdyokYgXnW8,20300
-+urllib3/connectionpool.py,sha256=ItVDasDnPRPP9R8bNxY7tPBlC724nJ9nlxVgXG_SLbI,39990
-+urllib3/exceptions.py,sha256=0Mnno3KHTNfXRfY7638NufOPkUb6mXOm-Lqj-4x2w8A,8217
-+urllib3/fields.py,sha256=kvLDCg_JmH1lLjUUEY_FLS8UhY7hBvDPuVETbY8mdrM,8579
-+urllib3/filepost.py,sha256=5b_qqgRHVlL7uLtdAYBzBh-GHmU5AfJVt_2N0XS3PeY,2440
-+urllib3/poolmanager.py,sha256=0i8cJgrqupza67IBPZ_u9jXvnSxr5UBlVEiUqdkPtYI,19752
-+urllib3/request.py,sha256=YTWFNr7QIwh7E1W9dde9LM77v2VWTJ5V78XuTTw7D1A,6691
-+urllib3/response.py,sha256=UPgLmnHj4z71ZnH8ivYOyncATifTOw9FQukUqDnckCc,30761
-+urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-+urllib3/contrib/_appengine_environ.py,sha256=bDbyOEhW2CKLJcQqAKAyrEHN-aklsyHFKq6vF8ZFsmk,957
-+urllib3/contrib/appengine.py,sha256=6IBW6lPOoVUxASPwtn6IH1AATe5DK3lLJCfwyWlLKAE,11012
-+urllib3/contrib/ntlmpool.py,sha256=NlfkW7WMdW8ziqudopjHoW299og1BTWi0IeIibquFwk,4528
-+urllib3/contrib/pyopenssl.py,sha256=4AJAlo9NmjWofY4dJwRa4kbZuRuHfNJxu8Pv6yQk1ss,17055
-+urllib3/contrib/securetransport.py,sha256=QOhVbWrFQTKbmV-vtyG69amekkKVxXkdjk9oymaO0Ag,34416
-+urllib3/contrib/socks.py,sha256=aRi9eWXo9ZEb95XUxef4Z21CFlnnjbEiAo9HOseoMt4,7097
-+urllib3/contrib/_securetransport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-+urllib3/contrib/_securetransport/bindings.py,sha256=4Xk64qIkPBt09A5q-RIFUuDhNc9mXilVapm7WnYnzRw,17632
-+urllib3/contrib/_securetransport/low_level.py,sha256=B2JBB2_NRP02xK6DCa1Pa9IuxrPwxzDzZbixQkb7U9M,13922
-+urllib3/packages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-+urllib3/packages/six.py,sha256=b9LM0wBXv7E7SrbCjAm4wwN-hrH-iNxv18LgWNMMKPo,34665
-+urllib3/packages/backports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-+urllib3/packages/backports/makefile.py,sha256=nbzt3i0agPVP07jqqgjhaYjMmuAi_W5E0EywZivVO8E,1417
-+urllib3/packages/backports/weakref_finalize.py,sha256=tRCal5OAhNSRyb0DhHp-38AtIlCsRP8BxF3NX-6rqIA,5343
-+urllib3/util/__init__.py,sha256=JEmSmmqqLyaw8P51gUImZh8Gwg9i1zSe-DoqAitn2nc,1155
-+urllib3/util/connection.py,sha256=5Lx2B1PW29KxBn2T0xkN1CBgRBa3gGVJBKoQoRogEVk,4901
-+urllib3/util/proxy.py,sha256=zUvPPCJrp6dOF0N4GAVbOcl6o-4uXKSrGiTkkr5vUS4,1605
-+urllib3/util/queue.py,sha256=nRgX8_eX-_VkvxoX096QWoz8Ps0QHUAExILCY_7PncM,498
-+urllib3/util/request.py,sha256=fWiAaa8pwdLLIqoTLBxCC2e4ed80muzKU3e3HWWTzFQ,4225
-+urllib3/util/response.py,sha256=GJpg3Egi9qaJXRwBh5wv-MNuRWan5BIu40oReoxWP28,3510
-+urllib3/util/retry.py,sha256=Z6WEf518eTOXP5jr5QSQ9gqJI0DVYt3Xs3EKnYaTmus,22013
-+urllib3/util/ssl_.py,sha256=c0sYiSC6272r6uPkxQpo5rYPP9QC1eR6oI7004gYqZo,17165
-+urllib3/util/ssl_match_hostname.py,sha256=Ir4cZVEjmAk8gUAIHWSi7wtOO83UCYABY2xFD1Ql_WA,5758
-+urllib3/util/ssltransport.py,sha256=NA-u5rMTrDFDFC8QzRKUEKMG0561hOD4qBTr3Z4pv6E,6895
-+urllib3/util/timeout.py,sha256=cwq4dMk87mJHSBktK1miYJ-85G-3T3RmT20v7SFCpno,10168
-+urllib3/util/url.py,sha256=kMxL1k0d-aQm_iZDw_zMmnyYyjrIA_DbsMy3cm3V55M,14279
-+urllib3/util/wait.py,sha256=fOX0_faozG2P7iVojQoE1mbydweNyTcm-hXEfFrTtLI,5403
-+urllib3-1.26.17.dist-info/LICENSE.txt,sha256=w3vxhuJ8-dvpYZ5V7f486nswCRzrPaY8fay-Dm13kHs,1115
-+urllib3-1.26.17.dist-info/METADATA,sha256=swEiQKmb2m5Vl4fygmy4aLSzZjxDjD8q2-_XzuhO9pA,48743
-+urllib3-1.26.17.dist-info/WHEEL,sha256=iYlv5fX357PQyRT2o6tw1bN-YcKFFHKqB_LwHO5wP-g,110
-+urllib3-1.26.17.dist-info/top_level.txt,sha256=EMiXL2sKrTcmrMxIHTqdc3ET54pQI2Y072LexFEemvo,8
-+urllib3-1.26.17.dist-info/RECORD,,
-diff --git a/third_party/python/six/six-1.13.0.dist-info/WHEEL b/third_party/python/urllib3/urllib3-1.26.17.dist-info/WHEEL
-similarity index 70%
-rename from third_party/python/six/six-1.13.0.dist-info/WHEEL
-rename to third_party/python/urllib3/urllib3-1.26.17.dist-info/WHEEL
-index 8b701e93c2315..c34f1162ef9a5 100644
---- a/third_party/python/six/six-1.13.0.dist-info/WHEEL
-+++ b/third_party/python/urllib3/urllib3-1.26.17.dist-info/WHEEL
-@@ -1,5 +1,5 @@
- Wheel-Version: 1.0
--Generator: bdist_wheel (0.33.6)
-+Generator: bdist_wheel (0.41.2)
- Root-Is-Purelib: true
- Tag: py2-none-any
- Tag: py3-none-any
-diff --git a/third_party/python/urllib3/urllib3-1.26.0.dist-info/top_level.txt b/third_party/python/urllib3/urllib3-1.26.17.dist-info/top_level.txt
-similarity index 100%
-rename from third_party/python/urllib3/urllib3-1.26.0.dist-info/top_level.txt
-rename to third_party/python/urllib3/urllib3-1.26.17.dist-info/top_level.txt
-diff --git a/third_party/python/urllib3/urllib3/__init__.py b/third_party/python/urllib3/urllib3/__init__.py
-index fe86b59d782bd..c6fa38212fb55 100644
---- a/third_party/python/urllib3/urllib3/__init__.py
-+++ b/third_party/python/urllib3/urllib3/__init__.py
-@@ -19,6 +19,23 @@
- from .util.timeout import Timeout
- from .util.url import get_host
- 
-+# === NOTE TO REPACKAGERS AND VENDORS ===
-+# Please delete this block, this logic is only
-+# for urllib3 being distributed via PyPI.
-+# See: https://github.com/urllib3/urllib3/issues/2680
-+try:
-+    import urllib3_secure_extra  # type: ignore # noqa: F401
-+except ImportError:
-+    pass
-+else:
-+    warnings.warn(
-+        "'urllib3[secure]' extra is deprecated and will be removed "
-+        "in a future release of urllib3 2.x. Read more in this issue: "
-+        "https://github.com/urllib3/urllib3/issues/2680",
-+        category=DeprecationWarning,
-+        stacklevel=2,
-+    )
-+
- __author__ = "Andrey Petrov (andrey.petrov@shazow.net)"
- __license__ = "MIT"
- __version__ = __version__
-diff --git a/third_party/python/urllib3/urllib3/_version.py b/third_party/python/urllib3/urllib3/_version.py
-index cee465f88a931..cad75fb5df82a 100644
---- a/third_party/python/urllib3/urllib3/_version.py
-+++ b/third_party/python/urllib3/urllib3/_version.py
-@@ -1,2 +1,2 @@
- # This file is protected via CODEOWNERS
--__version__ = "1.26.0"
-+__version__ = "1.26.17"
-diff --git a/third_party/python/urllib3/urllib3/connection.py b/third_party/python/urllib3/urllib3/connection.py
-index 52487417c946b..54b96b19154cc 100644
---- a/third_party/python/urllib3/urllib3/connection.py
-+++ b/third_party/python/urllib3/urllib3/connection.py
-@@ -43,6 +43,7 @@ class BrokenPipeError(Exception):
-         pass
- 
- 
-+from ._collections import HTTPHeaderDict  # noqa (historical, removed in v2)
- from ._version import __version__
- from .exceptions import (
-     ConnectTimeoutError,
-@@ -50,15 +51,16 @@ class BrokenPipeError(Exception):
-     SubjectAltNameWarning,
-     SystemTimeWarning,
- )
--from .packages.ssl_match_hostname import CertificateError, match_hostname
- from .util import SKIP_HEADER, SKIPPABLE_HEADERS, connection
- from .util.ssl_ import (
-     assert_fingerprint,
-     create_urllib3_context,
-+    is_ipaddress,
-     resolve_cert_reqs,
-     resolve_ssl_version,
-     ssl_wrap_socket,
- )
-+from .util.ssl_match_hostname import CertificateError, match_hostname
- 
- log = logging.getLogger(__name__)
- 
-@@ -66,7 +68,7 @@ class BrokenPipeError(Exception):
- 
- # When it comes time to update this value as a part of regular maintenance
- # (ie test_recent_date is failing) update it to ~6 months before the current date.
--RECENT_DATE = datetime.date(2019, 1, 1)
-+RECENT_DATE = datetime.date(2022, 1, 1)
- 
- _CONTAINS_CONTROL_CHAR_RE = re.compile(r"[^-!#$%&'*+.^_`|~0-9a-zA-Z]")
- 
-@@ -106,6 +108,10 @@ class HTTPConnection(_HTTPConnection, object):
-     #: Whether this connection verifies the host's certificate.
-     is_verified = False
- 
-+    #: Whether this proxy connection (if used) verifies the proxy host's
-+    #: certificate.
-+    proxy_is_verified = None
-+
-     def __init__(self, *args, **kw):
-         if not six.PY2:
-             kw.pop("strict", None)
-@@ -200,7 +206,7 @@ def connect(self):
-         self._prepare_conn(conn)
- 
-     def putrequest(self, method, url, *args, **kwargs):
--        """"""
-+        """ """
-         # Empty docstring because the indentation of CPython's implementation
-         # is broken but we don't want this method in our documentation.
-         match = _CONTAINS_CONTROL_CHAR_RE.search(method)
-@@ -213,8 +219,8 @@ def putrequest(self, method, url, *args, **kwargs):
-         return _HTTPConnection.putrequest(self, method, url, *args, **kwargs)
- 
-     def putheader(self, header, *values):
--        """"""
--        if SKIP_HEADER not in values:
-+        """ """
-+        if not any(isinstance(v, str) and v == SKIP_HEADER for v in values):
-             _HTTPConnection.putheader(self, header, *values)
-         elif six.ensure_str(header.lower()) not in SKIPPABLE_HEADERS:
-             raise ValueError(
-@@ -223,12 +229,17 @@ def putheader(self, header, *values):
-             )
- 
-     def request(self, method, url, body=None, headers=None):
-+        # Update the inner socket's timeout value to send the request.
-+        # This only triggers if the connection is re-used.
-+        if getattr(self, "sock", None) is not None:
-+            self.sock.settimeout(self.timeout)
-+
-         if headers is None:
-             headers = {}
-         else:
-             # Avoid modifying the headers passed into .request()
-             headers = headers.copy()
--        if "user-agent" not in (k.lower() for k in headers):
-+        if "user-agent" not in (six.ensure_str(k.lower()) for k in headers):
-             headers["User-Agent"] = _get_default_user_agent()
-         super(HTTPConnection, self).request(method, url, body=body, headers=headers)
- 
-@@ -248,7 +259,7 @@ def request_chunked(self, method, url, body=None, headers=None):
-             self.putheader("User-Agent", _get_default_user_agent())
-         for header, value in headers.items():
-             self.putheader(header, value)
--        if "transfer-encoding" not in headers:
-+        if "transfer-encoding" not in header_keys:
-             self.putheader("Transfer-Encoding", "chunked")
-         self.endheaders()
- 
-@@ -349,17 +360,15 @@ def set_cert(
- 
-     def connect(self):
-         # Add certificate verification
--        conn = self._new_conn()
-+        self.sock = conn = self._new_conn()
-         hostname = self.host
-         tls_in_tls = False
- 
-         if self._is_using_tunnel():
-             if self.tls_in_tls_required:
--                conn = self._connect_tls_proxy(hostname, conn)
-+                self.sock = conn = self._connect_tls_proxy(hostname, conn)
-                 tls_in_tls = True
- 
--            self.sock = conn
--
-             # Calls self._set_hostport(), so self.host is
-             # self._tunnel_host below.
-             self._tunnel()
-@@ -492,7 +501,7 @@ def _connect_tls_proxy(self, hostname, conn):
- 
-         # If no cert was provided, use only the default options for server
-         # certificate validation
--        return ssl_wrap_socket(
-+        socket = ssl_wrap_socket(
-             sock=conn,
-             ca_certs=self.ca_certs,
-             ca_cert_dir=self.ca_cert_dir,
-@@ -501,8 +510,37 @@ def _connect_tls_proxy(self, hostname, conn):
-             ssl_context=ssl_context,
-         )
- 
-+        if ssl_context.verify_mode != ssl.CERT_NONE and not getattr(
-+            ssl_context, "check_hostname", False
-+        ):
-+            # While urllib3 attempts to always turn off hostname matching from
-+            # the TLS library, this cannot always be done. So we check whether
-+            # the TLS Library still thinks it's matching hostnames.
-+            cert = socket.getpeercert()
-+            if not cert.get("subjectAltName", ()):
-+                warnings.warn(
-+                    (
-+                        "Certificate for {0} has no `subjectAltName`, falling back to check for a "
-+                        "`commonName` for now. This feature is being removed by major browsers and "
-+                        "deprecated by RFC 2818. (See https://github.com/urllib3/urllib3/issues/497 "
-+                        "for details.)".format(hostname)
-+                    ),
-+                    SubjectAltNameWarning,
-+                )
-+            _match_hostname(cert, hostname)
-+
-+        self.proxy_is_verified = ssl_context.verify_mode == ssl.CERT_REQUIRED
-+        return socket
-+
- 
- def _match_hostname(cert, asserted_hostname):
-+    # Our upstream implementation of ssl.match_hostname()
-+    # only applies this normalization to IP addresses so it doesn't
-+    # match DNS SANs so we do the same thing!
-+    stripped_hostname = asserted_hostname.strip("u[]")
-+    if is_ipaddress(stripped_hostname):
-+        asserted_hostname = stripped_hostname
-+
-     try:
-         match_hostname(cert, asserted_hostname)
-     except CertificateError as e:
-diff --git a/third_party/python/urllib3/urllib3/connectionpool.py b/third_party/python/urllib3/urllib3/connectionpool.py
-index 4708c5bfc7862..96844d933745d 100644
---- a/third_party/python/urllib3/urllib3/connectionpool.py
-+++ b/third_party/python/urllib3/urllib3/connectionpool.py
-@@ -2,6 +2,7 @@
- 
- import errno
- import logging
-+import re
- import socket
- import sys
- import warnings
-@@ -35,7 +36,6 @@
- )
- from .packages import six
- from .packages.six.moves import queue
--from .packages.ssl_match_hostname import CertificateError
- from .request import RequestMethods
- from .response import HTTPResponse
- from .util.connection import is_connection_dropped
-@@ -44,11 +44,19 @@
- from .util.request import set_file_position
- from .util.response import assert_header_parsing
- from .util.retry import Retry
-+from .util.ssl_match_hostname import CertificateError
- from .util.timeout import Timeout
- from .util.url import Url, _encode_target
- from .util.url import _normalize_host as normalize_host
- from .util.url import get_host, parse_url
- 
-+try:  # Platform-specific: Python 3
-+    import weakref
-+
-+    weakref_finalize = weakref.finalize
-+except AttributeError:  # Platform-specific: Python 2
-+    from .packages.backports.weakref_finalize import weakref_finalize
-+
- xrange = six.moves.xrange
- 
- log = logging.getLogger(__name__)
-@@ -219,6 +227,16 @@ def __init__(
-             self.conn_kw["proxy"] = self.proxy
-             self.conn_kw["proxy_config"] = self.proxy_config
- 
-+        # Do not pass 'self' as callback to 'finalize'.
-+        # Then the 'finalize' would keep an endless living (leak) to self.
-+        # By just passing a reference to the pool allows the garbage collector
-+        # to free self if nobody else has a reference to it.
-+        pool = self.pool
-+
-+        # Close all the HTTPConnections in the pool before the
-+        # HTTPConnectionPool object is garbage collected.
-+        weakref_finalize(self, _close_pool_connections, pool)
-+
-     def _new_conn(self):
-         """
-         Return a fresh :class:`HTTPConnection`.
-@@ -301,8 +319,11 @@ def _put_conn(self, conn):
-             pass
-         except queue.Full:
-             # This should never happen if self.block == True
--            log.warning("Connection pool is full, discarding connection: %s", self.host)
--
-+            log.warning(
-+                "Connection pool is full, discarding connection: %s. Connection pool size: %s",
-+                self.host,
-+                self.pool.qsize(),
-+            )
-         # Connection never got put back into the pool, close it.
-         if conn:
-             conn.close()
-@@ -318,7 +339,7 @@ def _prepare_proxy(self, conn):
-         pass
- 
-     def _get_timeout(self, timeout):
--        """ Helper that always returns a :class:`urllib3.util.Timeout` """
-+        """Helper that always returns a :class:`urllib3.util.Timeout`"""
-         if timeout is _Default:
-             return self.timeout.clone()
- 
-@@ -375,7 +396,7 @@ def _make_request(
- 
-         timeout_obj = self._get_timeout(timeout)
-         timeout_obj.start_connect()
--        conn.timeout = timeout_obj.connect_timeout
-+        conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout)
- 
-         # Trigger any extra validation we need to do.
-         try:
-@@ -485,14 +506,8 @@ def close(self):
-         # Disable access to the pool
-         old_pool, self.pool = self.pool, None
- 
--        try:
--            while True:
--                conn = old_pool.get(block=False)
--                if conn:
--                    conn.close()
--
--        except queue.Empty:
--            pass  # Done.
-+        # Close all the HTTPConnections in the pool.
-+        _close_pool_connections(old_pool)
- 
-     def is_same_host(self, url):
-         """
-@@ -745,7 +760,35 @@ def urlopen(
-             # Discard the connection for these exceptions. It will be
-             # replaced during the next _get_conn() call.
-             clean_exit = False
--            if isinstance(e, (BaseSSLError, CertificateError)):
-+
-+            def _is_ssl_error_message_from_http_proxy(ssl_error):
-+                # We're trying to detect the message 'WRONG_VERSION_NUMBER' but
-+                # SSLErrors are kinda all over the place when it comes to the message,
-+                # so we try to cover our bases here!
-+                message = " ".join(re.split("[^a-z]", str(ssl_error).lower()))
-+                return (
-+                    "wrong version number" in message or "unknown protocol" in message
-+                )
-+
-+            # Try to detect a common user error with proxies which is to
-+            # set an HTTP proxy to be HTTPS when it should be 'http://'
-+            # (ie {'http': 'http://proxy', 'https': 'https://proxy'})
-+            # Instead we add a nice error message and point to a URL.
-+            if (
-+                isinstance(e, BaseSSLError)
-+                and self.proxy
-+                and _is_ssl_error_message_from_http_proxy(e)
-+                and conn.proxy
-+                and conn.proxy.scheme == "https"
-+            ):
-+                e = ProxyError(
-+                    "Your proxy appears to only use HTTP and not HTTPS, "
-+                    "try changing your proxy URL to be HTTP. See: "
-+                    "https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html"
-+                    "#https-proxy-error-http-proxy",
-+                    SSLError(e),
-+                )
-+            elif isinstance(e, (BaseSSLError, CertificateError)):
-                 e = SSLError(e)
-             elif isinstance(e, (SocketError, NewConnectionError)) and self.proxy:
-                 e = ProxyError("Cannot connect to proxy.", e)
-@@ -830,7 +873,7 @@ def urlopen(
-             )
- 
-         # Check if we should retry the HTTP response.
--        has_retry_after = bool(response.getheader("Retry-After"))
-+        has_retry_after = bool(response.headers.get("Retry-After"))
-         if retries.is_retry(method, response.status, has_retry_after):
-             try:
-                 retries = retries.increment(method, url, response=response, _pool=self)
-@@ -1014,12 +1057,23 @@ def _validate_conn(self, conn):
-                 (
-                     "Unverified HTTPS request is being made to host '%s'. "
-                     "Adding certificate verification is strongly advised. See: "
--                    "https://urllib3.readthedocs.io/en/latest/advanced-usage.html"
-+                    "https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html"
-                     "#ssl-warnings" % conn.host
-                 ),
-                 InsecureRequestWarning,
-             )
- 
-+        if getattr(conn, "proxy_is_verified", None) is False:
-+            warnings.warn(
-+                (
-+                    "Unverified HTTPS connection done to an HTTPS proxy. "
-+                    "Adding certificate verification is strongly advised. See: "
-+                    "https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html"
-+                    "#ssl-warnings"
-+                ),
-+                InsecureRequestWarning,
-+            )
-+
- 
- def connection_from_url(url, **kw):
-     """
-@@ -1065,3 +1119,14 @@ def _normalize_host(host, scheme):
-     if host.startswith("[") and host.endswith("]"):
-         host = host[1:-1]
-     return host
-+
-+
-+def _close_pool_connections(pool):
-+    """Drains a queue of connections and closes each one."""
-+    try:
-+        while True:
-+            conn = pool.get(block=False)
-+            if conn:
-+                conn.close()
-+    except queue.Empty:
-+        pass  # Done.
-diff --git a/third_party/python/urllib3/urllib3/contrib/_securetransport/bindings.py b/third_party/python/urllib3/urllib3/contrib/_securetransport/bindings.py
-index 11524d400bab2..264d564dbda67 100644
---- a/third_party/python/urllib3/urllib3/contrib/_securetransport/bindings.py
-+++ b/third_party/python/urllib3/urllib3/contrib/_securetransport/bindings.py
-@@ -48,7 +48,7 @@
- )
- from ctypes.util import find_library
- 
--from urllib3.packages.six import raise_from
-+from ...packages.six import raise_from
- 
- if platform.system() != "Darwin":
-     raise ImportError("Only macOS is supported")
-diff --git a/third_party/python/urllib3/urllib3/contrib/_securetransport/low_level.py b/third_party/python/urllib3/urllib3/contrib/_securetransport/low_level.py
-index ed8120190c06f..fa0b245d279e9 100644
---- a/third_party/python/urllib3/urllib3/contrib/_securetransport/low_level.py
-+++ b/third_party/python/urllib3/urllib3/contrib/_securetransport/low_level.py
-@@ -188,6 +188,7 @@ def _cert_array_from_pem(pem_bundle):
-         # We only want to do that if an error occurs: otherwise, the caller
-         # should free.
-         CoreFoundation.CFRelease(cert_array)
-+        raise
- 
-     return cert_array
- 
-diff --git a/third_party/python/urllib3/urllib3/contrib/appengine.py b/third_party/python/urllib3/urllib3/contrib/appengine.py
-index aa64a0914c601..a5a6d91035f0a 100644
---- a/third_party/python/urllib3/urllib3/contrib/appengine.py
-+++ b/third_party/python/urllib3/urllib3/contrib/appengine.py
-@@ -111,7 +111,7 @@ def __init__(
-         warnings.warn(
-             "urllib3 is using URLFetch on Google App Engine sandbox instead "
-             "of sockets. To use sockets directly instead of URLFetch see "
--            "https://urllib3.readthedocs.io/en/latest/reference/urllib3.contrib.html.",
-+            "https://urllib3.readthedocs.io/en/1.26.x/reference/urllib3.contrib.html.",
-             AppEnginePlatformWarning,
-         )
- 
-@@ -224,7 +224,7 @@ def urlopen(
-                 )
- 
-         # Check if we should retry the HTTP response.
--        has_retry_after = bool(http_response.getheader("Retry-After"))
-+        has_retry_after = bool(http_response.headers.get("Retry-After"))
-         if retries.is_retry(method, http_response.status, has_retry_after):
-             retries = retries.increment(method, url, response=http_response, _pool=self)
-             log.debug("Retry: %s", url)
-diff --git a/third_party/python/urllib3/urllib3/contrib/ntlmpool.py b/third_party/python/urllib3/urllib3/contrib/ntlmpool.py
-index b2df45dcf6065..471665754e9f1 100644
---- a/third_party/python/urllib3/urllib3/contrib/ntlmpool.py
-+++ b/third_party/python/urllib3/urllib3/contrib/ntlmpool.py
-@@ -5,6 +5,7 @@
- """
- from __future__ import absolute_import
- 
-+import warnings
- from logging import getLogger
- 
- from ntlm import ntlm
-@@ -12,6 +13,14 @@
- from .. import HTTPSConnectionPool
- from ..packages.six.moves.http_client import HTTPSConnection
- 
-+warnings.warn(
-+    "The 'urllib3.contrib.ntlmpool' module is deprecated and will be removed "
-+    "in urllib3 v2.0 release, urllib3 is not able to support it properly due "
-+    "to reasons listed in issue: https://github.com/urllib3/urllib3/issues/2282. "
-+    "If you are a user of this module please comment in the mentioned issue.",
-+    DeprecationWarning,
-+)
-+
- log = getLogger(__name__)
- 
- 
-@@ -60,7 +69,7 @@ def _new_conn(self):
-         log.debug("Request headers: %s", headers)
-         conn.request("GET", self.authurl, None, headers)
-         res = conn.getresponse()
--        reshdr = dict(res.getheaders())
-+        reshdr = dict(res.headers)
-         log.debug("Response status: %s %s", res.status, res.reason)
-         log.debug("Response headers: %s", reshdr)
-         log.debug("Response data: %s [...]", res.read(100))
-@@ -92,7 +101,7 @@ def _new_conn(self):
-         conn.request("GET", self.authurl, None, headers)
-         res = conn.getresponse()
-         log.debug("Response status: %s %s", res.status, res.reason)
--        log.debug("Response headers: %s", dict(res.getheaders()))
-+        log.debug("Response headers: %s", dict(res.headers))
-         log.debug("Response data: %s [...]", res.read()[:100])
-         if res.status != 200:
-             if res.status == 401:
-diff --git a/third_party/python/urllib3/urllib3/contrib/pyopenssl.py b/third_party/python/urllib3/urllib3/contrib/pyopenssl.py
-index 0cabab1aed14a..1ed214b1d78fc 100644
---- a/third_party/python/urllib3/urllib3/contrib/pyopenssl.py
-+++ b/third_party/python/urllib3/urllib3/contrib/pyopenssl.py
-@@ -47,10 +47,10 @@
- """
- from __future__ import absolute_import
- 
-+import OpenSSL.crypto
- import OpenSSL.SSL
- from cryptography import x509
- from cryptography.hazmat.backends.openssl import backend as openssl_backend
--from cryptography.hazmat.backends.openssl.x509 import _Certificate
- 
- try:
-     from cryptography.x509 import UnsupportedExtension
-@@ -73,9 +73,19 @@ class UnsupportedExtension(Exception):
- import logging
- import ssl
- import sys
-+import warnings
- 
- from .. import util
- from ..packages import six
-+from ..util.ssl_ import PROTOCOL_TLS_CLIENT
-+
-+warnings.warn(
-+    "'urllib3.contrib.pyopenssl' module is deprecated and will be removed "
-+    "in a future release of urllib3 2.x. Read more in this issue: "
-+    "https://github.com/urllib3/urllib3/issues/2680",
-+    category=DeprecationWarning,
-+    stacklevel=2,
-+)
- 
- __all__ = ["inject_into_urllib3", "extract_from_urllib3"]
- 
-@@ -85,6 +95,7 @@ class UnsupportedExtension(Exception):
- # Map from urllib3 to PyOpenSSL compatible parameter-values.
- _openssl_versions = {
-     util.PROTOCOL_TLS: OpenSSL.SSL.SSLv23_METHOD,
-+    PROTOCOL_TLS_CLIENT: OpenSSL.SSL.SSLv23_METHOD,
-     ssl.PROTOCOL_TLSv1: OpenSSL.SSL.TLSv1_METHOD,
- }
- 
-@@ -217,9 +228,8 @@ def get_subj_alt_name(peer_cert):
-     if hasattr(peer_cert, "to_cryptography"):
-         cert = peer_cert.to_cryptography()
-     else:
--        # This is technically using private APIs, but should work across all
--        # relevant versions before PyOpenSSL got a proper API for this.
--        cert = _Certificate(openssl_backend, peer_cert._x509)
-+        der = OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_ASN1, peer_cert)
-+        cert = x509.load_der_x509_certificate(der, openssl_backend)
- 
-     # We want to find the SAN extension. Ask Cryptography to locate it (it's
-     # faster than looping in Python)
-@@ -404,7 +414,6 @@ def makefile(self, mode, bufsize=-1):
-         self._makefile_refs += 1
-         return _fileobject(self, mode, bufsize, close=True)
- 
--
- else:  # Platform-specific: Python 3
-     makefile = backport_makefile
- 
-diff --git a/third_party/python/urllib3/urllib3/contrib/securetransport.py b/third_party/python/urllib3/urllib3/contrib/securetransport.py
-index ab092de67a57c..6c46a3b9f0375 100644
---- a/third_party/python/urllib3/urllib3/contrib/securetransport.py
-+++ b/third_party/python/urllib3/urllib3/contrib/securetransport.py
-@@ -67,6 +67,7 @@
- import six
- 
- from .. import util
-+from ..util.ssl_ import PROTOCOL_TLS_CLIENT
- from ._securetransport.bindings import CoreFoundation, Security, SecurityConst
- from ._securetransport.low_level import (
-     _assert_no_error,
-@@ -154,7 +155,8 @@
- # TLSv1 and a high of TLSv1.2. For everything else, we pin to that version.
- # TLSv1 to 1.2 are supported on macOS 10.8+
- _protocol_to_min_max = {
--    util.PROTOCOL_TLS: (SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol12)
-+    util.PROTOCOL_TLS: (SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol12),
-+    PROTOCOL_TLS_CLIENT: (SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol12),
- }
- 
- if hasattr(ssl, "PROTOCOL_SSLv2"):
-@@ -768,7 +770,6 @@ def makefile(self, mode, bufsize=-1):
-         self._makefile_refs += 1
-         return _fileobject(self, mode, bufsize, close=True)
- 
--
- else:  # Platform-specific: Python 3
- 
-     def makefile(self, mode="r", buffering=None, *args, **kwargs):
-diff --git a/third_party/python/urllib3/urllib3/contrib/socks.py b/third_party/python/urllib3/urllib3/contrib/socks.py
-index 93df8325d59c4..c326e80dd1174 100644
---- a/third_party/python/urllib3/urllib3/contrib/socks.py
-+++ b/third_party/python/urllib3/urllib3/contrib/socks.py
-@@ -51,7 +51,7 @@
-         (
-             "SOCKS support in urllib3 requires the installation of optional "
-             "dependencies: specifically, PySocks.  For more information, see "
--            "https://urllib3.readthedocs.io/en/latest/contrib.html#socks-proxies"
-+            "https://urllib3.readthedocs.io/en/1.26.x/contrib.html#socks-proxies"
-         ),
-         DependencyWarning,
-     )
-diff --git a/third_party/python/urllib3/urllib3/exceptions.py b/third_party/python/urllib3/urllib3/exceptions.py
-index d69958d5dfc29..cba6f3f560f71 100644
---- a/third_party/python/urllib3/urllib3/exceptions.py
-+++ b/third_party/python/urllib3/urllib3/exceptions.py
-@@ -289,7 +289,17 @@ class ProxySchemeUnknown(AssertionError, URLSchemeUnknown):
-     # TODO(t-8ch): Stop inheriting from AssertionError in v2.0.
- 
-     def __init__(self, scheme):
--        message = "Not supported proxy scheme %s" % scheme
-+        # 'localhost' is here because our URL parser parses
-+        # localhost:8080 -> scheme=localhost, remove if we fix this.
-+        if scheme == "localhost":
-+            scheme = None
-+        if scheme is None:
-+            message = "Proxy URL had no scheme, should start with http:// or https://"
-+        else:
-+            message = (
-+                "Proxy URL had unsupported scheme %s, should use http:// or https://"
-+                % scheme
-+            )
-         super(ProxySchemeUnknown, self).__init__(message)
- 
- 
-diff --git a/third_party/python/urllib3/urllib3/packages/__init__.py b/third_party/python/urllib3/urllib3/packages/__init__.py
-index fce4caa65d2ee..e69de29bb2d1d 100644
---- a/third_party/python/urllib3/urllib3/packages/__init__.py
-+++ b/third_party/python/urllib3/urllib3/packages/__init__.py
-@@ -1,5 +0,0 @@
--from __future__ import absolute_import
--
--from . import ssl_match_hostname
--
--__all__ = ("ssl_match_hostname",)
-diff --git a/third_party/python/urllib3/urllib3/packages/backports/weakref_finalize.py b/third_party/python/urllib3/urllib3/packages/backports/weakref_finalize.py
-new file mode 100644
-index 0000000000000..a2f2966e54966
---- /dev/null
-+++ b/third_party/python/urllib3/urllib3/packages/backports/weakref_finalize.py
-@@ -0,0 +1,155 @@
-+# -*- coding: utf-8 -*-
-+"""
-+backports.weakref_finalize
-+~~~~~~~~~~~~~~~~~~
-+
-+Backports the Python 3 ``weakref.finalize`` method.
-+"""
-+from __future__ import absolute_import
-+
-+import itertools
-+import sys
-+from weakref import ref
-+
-+__all__ = ["weakref_finalize"]
-+
-+
-+class weakref_finalize(object):
-+    """Class for finalization of weakrefable objects
-+    finalize(obj, func, *args, **kwargs) returns a callable finalizer
-+    object which will be called when obj is garbage collected. The
-+    first time the finalizer is called it evaluates func(*arg, **kwargs)
-+    and returns the result. After this the finalizer is dead, and
-+    calling it just returns None.
-+    When the program exits any remaining finalizers for which the
-+    atexit attribute is true will be run in reverse order of creation.
-+    By default atexit is true.
-+    """
-+
-+    # Finalizer objects don't have any state of their own.  They are
-+    # just used as keys to lookup _Info objects in the registry.  This
-+    # ensures that they cannot be part of a ref-cycle.
-+
-+    __slots__ = ()
-+    _registry = {}
-+    _shutdown = False
-+    _index_iter = itertools.count()
-+    _dirty = False
-+    _registered_with_atexit = False
-+
-+    class _Info(object):
-+        __slots__ = ("weakref", "func", "args", "kwargs", "atexit", "index")
-+
-+    def __init__(self, obj, func, *args, **kwargs):
-+        if not self._registered_with_atexit:
-+            # We may register the exit function more than once because
-+            # of a thread race, but that is harmless
-+            import atexit
-+
-+            atexit.register(self._exitfunc)
-+            weakref_finalize._registered_with_atexit = True
-+        info = self._Info()
-+        info.weakref = ref(obj, self)
-+        info.func = func
-+        info.args = args
-+        info.kwargs = kwargs or None
-+        info.atexit = True
-+        info.index = next(self._index_iter)
-+        self._registry[self] = info
-+        weakref_finalize._dirty = True
-+
-+    def __call__(self, _=None):
-+        """If alive then mark as dead and return func(*args, **kwargs);
-+        otherwise return None"""
-+        info = self._registry.pop(self, None)
-+        if info and not self._shutdown:
-+            return info.func(*info.args, **(info.kwargs or {}))
-+
-+    def detach(self):
-+        """If alive then mark as dead and return (obj, func, args, kwargs);
-+        otherwise return None"""
-+        info = self._registry.get(self)
-+        obj = info and info.weakref()
-+        if obj is not None and self._registry.pop(self, None):
-+            return (obj, info.func, info.args, info.kwargs or {})
-+
-+    def peek(self):
-+        """If alive then return (obj, func, args, kwargs);
-+        otherwise return None"""
-+        info = self._registry.get(self)
-+        obj = info and info.weakref()
-+        if obj is not None:
-+            return (obj, info.func, info.args, info.kwargs or {})
-+
-+    @property
-+    def alive(self):
-+        """Whether finalizer is alive"""
-+        return self in self._registry
-+
-+    @property
-+    def atexit(self):
-+        """Whether finalizer should be called at exit"""
-+        info = self._registry.get(self)
-+        return bool(info) and info.atexit
-+
-+    @atexit.setter
-+    def atexit(self, value):
-+        info = self._registry.get(self)
-+        if info:
-+            info.atexit = bool(value)
-+
-+    def __repr__(self):
-+        info = self._registry.get(self)
-+        obj = info and info.weakref()
-+        if obj is None:
-+            return "<%s object at %#x; dead>" % (type(self).__name__, id(self))
-+        else:
-+            return "<%s object at %#x; for %r at %#x>" % (
-+                type(self).__name__,
-+                id(self),
-+                type(obj).__name__,
-+                id(obj),
-+            )
-+
-+    @classmethod
-+    def _select_for_exit(cls):
-+        # Return live finalizers marked for exit, oldest first
-+        L = [(f, i) for (f, i) in cls._registry.items() if i.atexit]
-+        L.sort(key=lambda item: item[1].index)
-+        return [f for (f, i) in L]
-+
-+    @classmethod
-+    def _exitfunc(cls):
-+        # At shutdown invoke finalizers for which atexit is true.
-+        # This is called once all other non-daemonic threads have been
-+        # joined.
-+        reenable_gc = False
-+        try:
-+            if cls._registry:
-+                import gc
-+
-+                if gc.isenabled():
-+                    reenable_gc = True
-+                    gc.disable()
-+                pending = None
-+                while True:
-+                    if pending is None or weakref_finalize._dirty:
-+                        pending = cls._select_for_exit()
-+                        weakref_finalize._dirty = False
-+                    if not pending:
-+                        break
-+                    f = pending.pop()
-+                    try:
-+                        # gc is disabled, so (assuming no daemonic
-+                        # threads) the following is the only line in
-+                        # this function which might trigger creation
-+                        # of a new finalizer
-+                        f()
-+                    except Exception:
-+                        sys.excepthook(*sys.exc_info())
-+                    assert f not in cls._registry
-+        finally:
-+            # prevent any more finalizers from executing during shutdown
-+            weakref_finalize._shutdown = True
-+            if reenable_gc:
-+                gc.enable()
-diff --git a/third_party/python/urllib3/urllib3/packages/six.py b/third_party/python/urllib3/urllib3/packages/six.py
-index 314424099f624..f099a3dcd28d2 100644
---- a/third_party/python/urllib3/urllib3/packages/six.py
-+++ b/third_party/python/urllib3/urllib3/packages/six.py
-@@ -1,4 +1,4 @@
--# Copyright (c) 2010-2019 Benjamin Peterson
-+# Copyright (c) 2010-2020 Benjamin Peterson
- #
- # Permission is hereby granted, free of charge, to any person obtaining a copy
- # of this software and associated documentation files (the "Software"), to deal
-@@ -29,7 +29,7 @@
- import types
- 
- __author__ = "Benjamin Peterson <benjamin@python.org>"
--__version__ = "1.12.0"
-+__version__ = "1.16.0"
- 
- 
- # Useful for very coarse version differentiation.
-@@ -71,6 +71,11 @@ def __len__(self):
-             MAXSIZE = int((1 << 63) - 1)
-         del X
- 
-+if PY34:
-+    from importlib.util import spec_from_loader
-+else:
-+    spec_from_loader = None
-+
- 
- def _add_doc(func, doc):
-     """Add documentation to a function."""
-@@ -182,6 +187,11 @@ def find_module(self, fullname, path=None):
-             return self
-         return None
- 
-+    def find_spec(self, fullname, path, target=None):
-+        if fullname in self.known_modules:
-+            return spec_from_loader(fullname, self)
-+        return None
-+
-     def __get_module(self, fullname):
-         try:
-             return self.known_modules[fullname]
-@@ -220,6 +230,12 @@ def get_code(self, fullname):
- 
-     get_source = get_code  # same as get_code
- 
-+    def create_module(self, spec):
-+        return self.load_module(spec.name)
-+
-+    def exec_module(self, module):
-+        pass
-+
- 
- _importer = _SixMetaPathImporter(__name__)
- 
-@@ -260,9 +276,19 @@ class _MovedItems(_LazyModule):
-     ),
-     MovedModule("builtins", "__builtin__"),
-     MovedModule("configparser", "ConfigParser"),
-+    MovedModule(
-+        "collections_abc",
-+        "collections",
-+        "collections.abc" if sys.version_info >= (3, 3) else "collections",
-+    ),
-     MovedModule("copyreg", "copy_reg"),
-     MovedModule("dbm_gnu", "gdbm", "dbm.gnu"),
--    MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"),
-+    MovedModule("dbm_ndbm", "dbm", "dbm.ndbm"),
-+    MovedModule(
-+        "_dummy_thread",
-+        "dummy_thread",
-+        "_dummy_thread" if sys.version_info < (3, 9) else "_thread",
-+    ),
-     MovedModule("http_cookiejar", "cookielib", "http.cookiejar"),
-     MovedModule("http_cookies", "Cookie", "http.cookies"),
-     MovedModule("html_entities", "htmlentitydefs", "html.entities"),
-@@ -307,7 +333,9 @@ class _MovedItems(_LazyModule):
- ]
- # Add windows specific modules.
- if sys.platform == "win32":
--    _moved_attributes += [MovedModule("winreg", "_winreg")]
-+    _moved_attributes += [
-+        MovedModule("winreg", "_winreg"),
-+    ]
- 
- for attr in _moved_attributes:
-     setattr(_MovedItems, attr.name, attr)
-@@ -476,7 +504,7 @@ class Module_six_moves_urllib_robotparser(_LazyModule):
- 
- 
- _urllib_robotparser_moved_attributes = [
--    MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser")
-+    MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"),
- ]
- for attr in _urllib_robotparser_moved_attributes:
-     setattr(Module_six_moves_urllib_robotparser, attr.name, attr)
-@@ -678,9 +706,11 @@ def u(s):
-     if sys.version_info[1] <= 1:
-         _assertRaisesRegex = "assertRaisesRegexp"
-         _assertRegex = "assertRegexpMatches"
-+        _assertNotRegex = "assertNotRegexpMatches"
-     else:
-         _assertRaisesRegex = "assertRaisesRegex"
-         _assertRegex = "assertRegex"
-+        _assertNotRegex = "assertNotRegex"
- else:
- 
-     def b(s):
-@@ -707,6 +737,7 @@ def indexbytes(buf, i):
-     _assertCountEqual = "assertItemsEqual"
-     _assertRaisesRegex = "assertRaisesRegexp"
-     _assertRegex = "assertRegexpMatches"
-+    _assertNotRegex = "assertNotRegexpMatches"
- _add_doc(b, """Byte literal""")
- _add_doc(u, """Text literal""")
- 
-@@ -723,6 +754,10 @@ def assertRegex(self, *args, **kwargs):
-     return getattr(self, _assertRegex)(*args, **kwargs)
- 
- 
-+def assertNotRegex(self, *args, **kwargs):
-+    return getattr(self, _assertNotRegex)(*args, **kwargs)
-+
-+
- if PY3:
-     exec_ = getattr(moves.builtins, "exec")
- 
-@@ -737,7 +772,6 @@ def reraise(tp, value, tb=None):
-             value = None
-             tb = None
- 
--
- else:
- 
-     def exec_(_code_, _globs_=None, _locs_=None):
-@@ -750,7 +784,7 @@ def exec_(_code_, _globs_=None, _locs_=None):
-             del frame
-         elif _locs_ is None:
-             _locs_ = _globs_
--        exec("""exec _code_ in _globs_, _locs_""")
-+        exec ("""exec _code_ in _globs_, _locs_""")
- 
-     exec_(
-         """def reraise(tp, value, tb=None):
-@@ -762,18 +796,7 @@ def exec_(_code_, _globs_=None, _locs_=None):
-     )
- 
- 
--if sys.version_info[:2] == (3, 2):
--    exec_(
--        """def raise_from(value, from_value):
--    try:
--        if from_value is None:
--            raise value
--        raise value from from_value
--    finally:
--        value = None
--"""
--    )
--elif sys.version_info[:2] > (3, 2):
-+if sys.version_info[:2] > (3,):
-     exec_(
-         """def raise_from(value, from_value):
-     try:
-@@ -863,19 +886,41 @@ def print_(*args, **kwargs):
- _add_doc(reraise, """Reraise an exception.""")
- 
- if sys.version_info[0:2] < (3, 4):
-+    # This does exactly the same what the :func:`py3:functools.update_wrapper`
-+    # function does on Python versions after 3.2. It sets the ``__wrapped__``
-+    # attribute on ``wrapper`` object and it doesn't raise an error if any of
-+    # the attributes mentioned in ``assigned`` and ``updated`` are missing on
-+    # ``wrapped`` object.
-+    def _update_wrapper(
-+        wrapper,
-+        wrapped,
-+        assigned=functools.WRAPPER_ASSIGNMENTS,
-+        updated=functools.WRAPPER_UPDATES,
-+    ):
-+        for attr in assigned:
-+            try:
-+                value = getattr(wrapped, attr)
-+            except AttributeError:
-+                continue
-+            else:
-+                setattr(wrapper, attr, value)
-+        for attr in updated:
-+            getattr(wrapper, attr).update(getattr(wrapped, attr, {}))
-+        wrapper.__wrapped__ = wrapped
-+        return wrapper
-+
-+    _update_wrapper.__doc__ = functools.update_wrapper.__doc__
- 
-     def wraps(
-         wrapped,
-         assigned=functools.WRAPPER_ASSIGNMENTS,
-         updated=functools.WRAPPER_UPDATES,
-     ):
--        def wrapper(f):
--            f = functools.wraps(wrapped, assigned, updated)(f)
--            f.__wrapped__ = wrapped
--            return f
--
--        return wrapper
-+        return functools.partial(
-+            _update_wrapper, wrapped=wrapped, assigned=assigned, updated=updated
-+        )
- 
-+    wraps.__doc__ = functools.wraps.__doc__
- 
- else:
-     wraps = functools.wraps
-@@ -888,7 +933,15 @@ def with_metaclass(meta, *bases):
-     # the actual metaclass.
-     class metaclass(type):
-         def __new__(cls, name, this_bases, d):
--            return meta(name, bases, d)
-+            if sys.version_info[:2] >= (3, 7):
-+                # This version introduced PEP 560 that requires a bit
-+                # of extra care (we mimic what is done by __build_class__).
-+                resolved_bases = types.resolve_bases(bases)
-+                if resolved_bases is not bases:
-+                    d["__orig_bases__"] = bases
-+            else:
-+                resolved_bases = bases
-+            return meta(name, resolved_bases, d)
- 
-         @classmethod
-         def __prepare__(cls, name, this_bases):
-@@ -928,12 +981,11 @@ def ensure_binary(s, encoding="utf-8", errors="strict"):
-       - `str` -> encoded to `bytes`
-       - `bytes` -> `bytes`
-     """
-+    if isinstance(s, binary_type):
-+        return s
-     if isinstance(s, text_type):
-         return s.encode(encoding, errors)
--    elif isinstance(s, binary_type):
--        return s
--    else:
--        raise TypeError("not expecting type '%s'" % type(s))
-+    raise TypeError("not expecting type '%s'" % type(s))
- 
- 
- def ensure_str(s, encoding="utf-8", errors="strict"):
-@@ -947,12 +999,15 @@ def ensure_str(s, encoding="utf-8", errors="strict"):
-       - `str` -> `str`
-       - `bytes` -> decoded to `str`
-     """
--    if not isinstance(s, (text_type, binary_type)):
--        raise TypeError("not expecting type '%s'" % type(s))
-+    # Optimization: Fast return for the common case.
-+    if type(s) is str:
-+        return s
-     if PY2 and isinstance(s, text_type):
--        s = s.encode(encoding, errors)
-+        return s.encode(encoding, errors)
-     elif PY3 and isinstance(s, binary_type):
--        s = s.decode(encoding, errors)
-+        return s.decode(encoding, errors)
-+    elif not isinstance(s, (text_type, binary_type)):
-+        raise TypeError("not expecting type '%s'" % type(s))
-     return s
- 
- 
-@@ -977,7 +1032,7 @@ def ensure_text(s, encoding="utf-8", errors="strict"):
- 
- def python_2_unicode_compatible(klass):
-     """
--    A decorator that defines __unicode__ and __str__ methods under Python 2.
-+    A class decorator that defines __unicode__ and __str__ methods under Python 2.
-     Under Python 3 it does nothing.
- 
-     To support Python 2 and 3 with a single code base, define a __str__ method
-diff --git a/third_party/python/urllib3/urllib3/packages/ssl_match_hostname/__init__.py b/third_party/python/urllib3/urllib3/packages/ssl_match_hostname/__init__.py
-deleted file mode 100644
-index 6b12fd90aadec..0000000000000
---- a/third_party/python/urllib3/urllib3/packages/ssl_match_hostname/__init__.py
-+++ /dev/null
-@@ -1,22 +0,0 @@
--import sys
--
--try:
--    # Our match_hostname function is the same as 3.5's, so we only want to
--    # import the match_hostname function if it's at least that good.
--    if sys.version_info < (3, 5):
--        raise ImportError("Fallback to vendored code")
--
--    from ssl import CertificateError, match_hostname
--except ImportError:
--    try:
--        # Backport of the function from a pypi module
--        from backports.ssl_match_hostname import (  # type: ignore
--            CertificateError,
--            match_hostname,
--        )
--    except ImportError:
--        # Our vendored copy
--        from ._implementation import CertificateError, match_hostname  # type: ignore
--
--# Not needed, but documenting what we provide.
--__all__ = ("CertificateError", "match_hostname")
-diff --git a/third_party/python/urllib3/urllib3/poolmanager.py b/third_party/python/urllib3/urllib3/poolmanager.py
-index 3a31a285bf648..14b10daf3a962 100644
---- a/third_party/python/urllib3/urllib3/poolmanager.py
-+++ b/third_party/python/urllib3/urllib3/poolmanager.py
-@@ -34,6 +34,7 @@
-     "ca_cert_dir",
-     "ssl_context",
-     "key_password",
-+    "server_hostname",
- )
- 
- # All known keyword arguments that could be provided to the pool manager, its
-@@ -170,7 +171,7 @@ class PoolManager(RequestMethods):
-     def __init__(self, num_pools=10, headers=None, **connection_pool_kw):
-         RequestMethods.__init__(self, headers)
-         self.connection_pool_kw = connection_pool_kw
--        self.pools = RecentlyUsedContainer(num_pools, dispose_func=lambda p: p.close())
-+        self.pools = RecentlyUsedContainer(num_pools)
- 
-         # Locally set the pool classes and keys so other PoolManagers can
-         # override them.
-diff --git a/third_party/python/urllib3/urllib3/request.py b/third_party/python/urllib3/urllib3/request.py
-index 398386a5b9f61..3b4cf999225b8 100644
---- a/third_party/python/urllib3/urllib3/request.py
-+++ b/third_party/python/urllib3/urllib3/request.py
-@@ -1,6 +1,9 @@
- from __future__ import absolute_import
- 
-+import sys
-+
- from .filepost import encode_multipart_formdata
-+from .packages import six
- from .packages.six.moves.urllib.parse import urlencode
- 
- __all__ = ["RequestMethods"]
-@@ -168,3 +171,21 @@ def request_encode_body(
-         extra_kw.update(urlopen_kw)
- 
-         return self.urlopen(method, url, **extra_kw)
-+
-+
-+if not six.PY2:
-+
-+    class RequestModule(sys.modules[__name__].__class__):
-+        def __call__(self, *args, **kwargs):
-+            """
-+            If user tries to call this module directly urllib3 v2.x style raise an error to the user
-+            suggesting they may need urllib3 v2
-+            """
-+            raise TypeError(
-+                "'module' object is not callable\n"
-+                "urllib3.request() method is not supported in this release, "
-+                "upgrade to urllib3 v2 to use it\n"
-+                "see https://urllib3.readthedocs.io/en/stable/v2-migration-guide.html"
-+            )
-+
-+    sys.modules[__name__].__class__ = RequestModule
-diff --git a/third_party/python/urllib3/urllib3/response.py b/third_party/python/urllib3/urllib3/response.py
-index 38693f4fc6e33..0bd13d40b8ac7 100644
---- a/third_party/python/urllib3/urllib3/response.py
-+++ b/third_party/python/urllib3/urllib3/response.py
-@@ -2,16 +2,22 @@
- 
- import io
- import logging
-+import sys
-+import warnings
- import zlib
- from contextlib import contextmanager
- from socket import error as SocketError
- from socket import timeout as SocketTimeout
- 
- try:
--    import brotli
-+    try:
-+        import brotlicffi as brotli
-+    except ImportError:
-+        import brotli
- except ImportError:
-     brotli = None
- 
-+from . import util
- from ._collections import HTTPHeaderDict
- from .connection import BaseSSLError, HTTPException
- from .exceptions import (
-@@ -478,6 +484,54 @@ def _error_catcher(self):
-             if self._original_response and self._original_response.isclosed():
-                 self.release_conn()
- 
-+    def _fp_read(self, amt):
-+        """
-+        Read a response with the thought that reading the number of bytes
-+        larger than can fit in a 32-bit int at a time via SSL in some
-+        known cases leads to an overflow error that has to be prevented
-+        if `amt` or `self.length_remaining` indicate that a problem may
-+        happen.
-+
-+        The known cases:
-+          * 3.8 <= CPython < 3.9.7 because of a bug
-+            https://github.com/urllib3/urllib3/issues/2513#issuecomment-1152559900.
-+          * urllib3 injected with pyOpenSSL-backed SSL-support.
-+          * CPython < 3.10 only when `amt` does not fit 32-bit int.
-+        """
-+        assert self._fp
-+        c_int_max = 2 ** 31 - 1
-+        if (
-+            (
-+                (amt and amt > c_int_max)
-+                or (self.length_remaining and self.length_remaining > c_int_max)
-+            )
-+            and not util.IS_SECURETRANSPORT
-+            and (util.IS_PYOPENSSL or sys.version_info < (3, 10))
-+        ):
-+            buffer = io.BytesIO()
-+            # Besides `max_chunk_amt` being a maximum chunk size, it
-+            # affects memory overhead of reading a response by this
-+            # method in CPython.
-+            # `c_int_max` equal to 2 GiB - 1 byte is the actual maximum
-+            # chunk size that does not lead to an overflow error, but
-+            # 256 MiB is a compromise.
-+            max_chunk_amt = 2 ** 28
-+            while amt is None or amt != 0:
-+                if amt is not None:
-+                    chunk_amt = min(amt, max_chunk_amt)
-+                    amt -= chunk_amt
-+                else:
-+                    chunk_amt = max_chunk_amt
-+                data = self._fp.read(chunk_amt)
-+                if not data:
-+                    break
-+                buffer.write(data)
-+                del data  # to reduce peak memory usage by `max_chunk_amt`.
-+            return buffer.getvalue()
-+        else:
-+            # StringIO doesn't like amt=None
-+            return self._fp.read(amt) if amt is not None else self._fp.read()
-+
-     def read(self, amt=None, decode_content=None, cache_content=False):
-         """
-         Similar to :meth:`http.client.HTTPResponse.read`, but with two additional
-@@ -510,13 +564,11 @@ def read(self, amt=None, decode_content=None, cache_content=False):
-         fp_closed = getattr(self._fp, "closed", False)
- 
-         with self._error_catcher():
-+            data = self._fp_read(amt) if not fp_closed else b""
-             if amt is None:
--                # cStringIO doesn't like amt=None
--                data = self._fp.read() if not fp_closed else b""
-                 flush_decoder = True
-             else:
-                 cache_content = False
--                data = self._fp.read(amt) if not fp_closed else b""
-                 if (
-                     amt != 0 and not data
-                 ):  # Platform-specific: Buggy versions of Python.
-@@ -612,9 +664,21 @@ def from_httplib(ResponseCls, r, **response_kw):
- 
-     # Backwards-compatibility methods for http.client.HTTPResponse
-     def getheaders(self):
-+        warnings.warn(
-+            "HTTPResponse.getheaders() is deprecated and will be removed "
-+            "in urllib3 v2.1.0. Instead access HTTPResponse.headers directly.",
-+            category=DeprecationWarning,
-+            stacklevel=2,
-+        )
-         return self.headers
- 
-     def getheader(self, name, default=None):
-+        warnings.warn(
-+            "HTTPResponse.getheader() is deprecated and will be removed "
-+            "in urllib3 v2.1.0. Instead use HTTPResponse.headers.get(name, default).",
-+            category=DeprecationWarning,
-+            stacklevel=2,
-+        )
-         return self.headers.get(name, default)
- 
-     # Backwards compatibility for http.cookiejar
-diff --git a/third_party/python/urllib3/urllib3/util/connection.py b/third_party/python/urllib3/urllib3/util/connection.py
-index cd57455748be0..6af1138f260e4 100644
---- a/third_party/python/urllib3/urllib3/util/connection.py
-+++ b/third_party/python/urllib3/urllib3/util/connection.py
-@@ -2,9 +2,8 @@
- 
- import socket
- 
--from urllib3.exceptions import LocationParseError
--
- from ..contrib import _appengine_environ
-+from ..exceptions import LocationParseError
- from ..packages import six
- from .wait import NoWayToWaitForSocketError, wait_for_read
- 
-@@ -118,7 +117,7 @@ def allowed_gai_family():
- 
- 
- def _has_ipv6(host):
--    """ Returns True if the system can bind an IPv6 address. """
-+    """Returns True if the system can bind an IPv6 address."""
-     sock = None
-     has_ipv6 = False
- 
-diff --git a/third_party/python/urllib3/urllib3/util/proxy.py b/third_party/python/urllib3/urllib3/util/proxy.py
-index 34f884d5b314d..2199cc7b7f004 100644
---- a/third_party/python/urllib3/urllib3/util/proxy.py
-+++ b/third_party/python/urllib3/urllib3/util/proxy.py
-@@ -45,6 +45,7 @@ def create_proxy_ssl_context(
-         ssl_version=resolve_ssl_version(ssl_version),
-         cert_reqs=resolve_cert_reqs(cert_reqs),
-     )
-+
-     if (
-         not ca_certs
-         and not ca_cert_dir
-diff --git a/third_party/python/urllib3/urllib3/util/request.py b/third_party/python/urllib3/urllib3/util/request.py
-index 25103383ec7ab..b574b081e98a0 100644
---- a/third_party/python/urllib3/urllib3/util/request.py
-+++ b/third_party/python/urllib3/urllib3/util/request.py
-@@ -14,7 +14,10 @@
- 
- ACCEPT_ENCODING = "gzip,deflate"
- try:
--    import brotli as _unused_module_brotli  # noqa: F401
-+    try:
-+        import brotlicffi as _unused_module_brotli  # noqa: F401
-+    except ImportError:
-+        import brotli as _unused_module_brotli  # noqa: F401
- except ImportError:
-     pass
- else:
-diff --git a/third_party/python/urllib3/urllib3/util/retry.py b/third_party/python/urllib3/urllib3/util/retry.py
-index ee51f922f8452..60ef6c4f3f9d0 100644
---- a/third_party/python/urllib3/urllib3/util/retry.py
-+++ b/third_party/python/urllib3/urllib3/util/retry.py
-@@ -37,7 +37,7 @@ class _RetryMeta(type):
-     def DEFAULT_METHOD_WHITELIST(cls):
-         warnings.warn(
-             "Using 'Retry.DEFAULT_METHOD_WHITELIST' is deprecated and "
--            "will be removed in v2.0. Use 'Retry.DEFAULT_METHODS_ALLOWED' instead",
-+            "will be removed in v2.0. Use 'Retry.DEFAULT_ALLOWED_METHODS' instead",
-             DeprecationWarning,
-         )
-         return cls.DEFAULT_ALLOWED_METHODS
-@@ -69,6 +69,24 @@ def DEFAULT_REDIRECT_HEADERS_BLACKLIST(cls, value):
-         )
-         cls.DEFAULT_REMOVE_HEADERS_ON_REDIRECT = value
- 
-+    @property
-+    def BACKOFF_MAX(cls):
-+        warnings.warn(
-+            "Using 'Retry.BACKOFF_MAX' is deprecated and "
-+            "will be removed in v2.0. Use 'Retry.DEFAULT_BACKOFF_MAX' instead",
-+            DeprecationWarning,
-+        )
-+        return cls.DEFAULT_BACKOFF_MAX
-+
-+    @BACKOFF_MAX.setter
-+    def BACKOFF_MAX(cls, value):
-+        warnings.warn(
-+            "Using 'Retry.BACKOFF_MAX' is deprecated and "
-+            "will be removed in v2.0. Use 'Retry.DEFAULT_BACKOFF_MAX' instead",
-+            DeprecationWarning,
-+        )
-+        cls.DEFAULT_BACKOFF_MAX = value
-+
- 
- @six.add_metaclass(_RetryMeta)
- class Retry(object):
-@@ -181,7 +199,7 @@ class Retry(object):
- 
-         seconds. If the backoff_factor is 0.1, then :func:`.sleep` will sleep
-         for [0.0s, 0.2s, 0.4s, ...] between retries. It will never be longer
--        than :attr:`Retry.BACKOFF_MAX`.
-+        than :attr:`Retry.DEFAULT_BACKOFF_MAX`.
- 
-         By default, backoff is disabled (set to 0).
- 
-@@ -217,10 +235,10 @@ class Retry(object):
-     RETRY_AFTER_STATUS_CODES = frozenset([413, 429, 503])
- 
-     #: Default headers to be used for ``remove_headers_on_redirect``
--    DEFAULT_REMOVE_HEADERS_ON_REDIRECT = frozenset(["Authorization"])
-+    DEFAULT_REMOVE_HEADERS_ON_REDIRECT = frozenset(["Cookie", "Authorization"])
- 
-     #: Maximum backoff time.
--    BACKOFF_MAX = 120
-+    DEFAULT_BACKOFF_MAX = 120
- 
-     def __init__(
-         self,
-@@ -253,6 +271,7 @@ def __init__(
-                 "Using 'method_whitelist' with Retry is deprecated and "
-                 "will be removed in v2.0. Use 'allowed_methods' instead",
-                 DeprecationWarning,
-+                stacklevel=2,
-             )
-             allowed_methods = method_whitelist
-         if allowed_methods is _Default:
-@@ -320,7 +339,7 @@ def new(self, **kw):
- 
-     @classmethod
-     def from_int(cls, retries, redirect=True, default=None):
--        """ Backwards-compatibility for the old retries format."""
-+        """Backwards-compatibility for the old retries format."""
-         if retries is None:
-             retries = default if default is not None else cls.DEFAULT
- 
-@@ -347,7 +366,7 @@ def get_backoff_time(self):
-             return 0
- 
-         backoff_value = self.backoff_factor * (2 ** (consecutive_errors_len - 1))
--        return min(self.BACKOFF_MAX, backoff_value)
-+        return min(self.DEFAULT_BACKOFF_MAX, backoff_value)
- 
-     def parse_retry_after(self, retry_after):
-         # Whitespace: https://tools.ietf.org/html/rfc7230#section-3.2.4
-@@ -373,9 +392,9 @@ def parse_retry_after(self, retry_after):
-         return seconds
- 
-     def get_retry_after(self, response):
--        """ Get the value of Retry-After in seconds. """
-+        """Get the value of Retry-After in seconds."""
- 
--        retry_after = response.getheader("Retry-After")
-+        retry_after = response.headers.get("Retry-After")
- 
-         if retry_after is None:
-             return None
-@@ -467,7 +486,7 @@ def is_retry(self, method, status_code, has_retry_after=False):
-         )
- 
-     def is_exhausted(self):
--        """ Are we out of retries? """
-+        """Are we out of retries?"""
-         retry_counts = (
-             self.total,
-             self.connect,
-diff --git a/third_party/python/urllib3/urllib3/util/ssl_.py b/third_party/python/urllib3/urllib3/util/ssl_.py
-index 1cb5e7cdc1c0c..8f867812a5eb3 100644
---- a/third_party/python/urllib3/urllib3/util/ssl_.py
-+++ b/third_party/python/urllib3/urllib3/util/ssl_.py
-@@ -44,13 +44,21 @@ def _const_compare_digest_backport(a, b):
- 
- try:  # Test for SSL features
-     import ssl
--    from ssl import HAS_SNI  # Has SNI?
-     from ssl import CERT_REQUIRED, wrap_socket
-+except ImportError:
-+    pass
-+
-+try:
-+    from ssl import HAS_SNI  # Has SNI?
-+except ImportError:
-+    pass
- 
-+try:
-     from .ssltransport import SSLTransport
- except ImportError:
-     pass
- 
-+
- try:  # Platform-specific: Python 3.6
-     from ssl import PROTOCOL_TLS
- 
-@@ -63,6 +71,11 @@ def _const_compare_digest_backport(a, b):
-     except ImportError:
-         PROTOCOL_SSLv23 = PROTOCOL_TLS = 2
- 
-+try:
-+    from ssl import PROTOCOL_TLS_CLIENT
-+except ImportError:
-+    PROTOCOL_TLS_CLIENT = PROTOCOL_TLS
-+
- 
- try:
-     from ssl import OP_NO_COMPRESSION, OP_NO_SSLv2, OP_NO_SSLv3
-@@ -151,7 +164,7 @@ def wrap_socket(self, socket, server_hostname=None, server_side=False):
-                 "urllib3 from configuring SSL appropriately and may cause "
-                 "certain SSL connections to fail. You can upgrade to a newer "
-                 "version of Python to solve this. For more information, see "
--                "https://urllib3.readthedocs.io/en/latest/advanced-usage.html"
-+                "https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html"
-                 "#ssl-warnings",
-                 InsecurePlatformWarning,
-             )
-@@ -270,7 +283,11 @@ def create_urllib3_context(
-         Constructed SSLContext object with specified options
-     :rtype: SSLContext
-     """
--    context = SSLContext(ssl_version or PROTOCOL_TLS)
-+    # PROTOCOL_TLS is deprecated in Python 3.10
-+    if not ssl_version or ssl_version == PROTOCOL_TLS:
-+        ssl_version = PROTOCOL_TLS_CLIENT
-+
-+    context = SSLContext(ssl_version)
- 
-     context.set_ciphers(ciphers or DEFAULT_CIPHERS)
- 
-@@ -305,13 +322,25 @@ def create_urllib3_context(
-     ) is not None:
-         context.post_handshake_auth = True
- 
--    context.verify_mode = cert_reqs
--    if (
--        getattr(context, "check_hostname", None) is not None
--    ):  # Platform-specific: Python 3.2
--        # We do our own verification, including fingerprints and alternative
--        # hostnames. So disable it here
--        context.check_hostname = False
-+    def disable_check_hostname():
-+        if (
-+            getattr(context, "check_hostname", None) is not None
-+        ):  # Platform-specific: Python 3.2
-+            # We do our own verification, including fingerprints and alternative
-+            # hostnames. So disable it here
-+            context.check_hostname = False
-+
-+    # The order of the below lines setting verify_mode and check_hostname
-+    # matter due to safe-guards SSLContext has to prevent an SSLContext with
-+    # check_hostname=True, verify_mode=NONE/OPTIONAL. This is made even more
-+    # complex because we don't know whether PROTOCOL_TLS_CLIENT will be used
-+    # or not so we don't know the initial state of the freshly created SSLContext.
-+    if cert_reqs == ssl.CERT_REQUIRED:
-+        context.verify_mode = cert_reqs
-+        disable_check_hostname()
-+    else:
-+        disable_check_hostname()
-+        context.verify_mode = cert_reqs
- 
-     # Enable logging of TLS session keys via defacto standard environment variable
-     # 'SSLKEYLOGFILE', if the feature is available (Python 3.8+). Skip empty values.
-@@ -393,7 +422,7 @@ def ssl_wrap_socket(
-     try:
-         if hasattr(context, "set_alpn_protocols"):
-             context.set_alpn_protocols(ALPN_PROTOCOLS)
--    except NotImplementedError:
-+    except NotImplementedError:  # Defensive: in CI, we always have set_alpn_protocols
-         pass
- 
-     # If we detect server_hostname is an IP address then the SNI
-@@ -411,7 +440,7 @@ def ssl_wrap_socket(
-             "This may cause the server to present an incorrect TLS "
-             "certificate, which can cause validation failures. You can upgrade to "
-             "a newer version of Python to solve this. For more information, see "
--            "https://urllib3.readthedocs.io/en/latest/advanced-usage.html"
-+            "https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html"
-             "#ssl-warnings",
-             SNIMissingWarning,
-         )
-diff --git a/third_party/python/urllib3/urllib3/packages/ssl_match_hostname/_implementation.py b/third_party/python/urllib3/urllib3/util/ssl_match_hostname.py
-similarity index 92%
-rename from third_party/python/urllib3/urllib3/packages/ssl_match_hostname/_implementation.py
-rename to third_party/python/urllib3/urllib3/util/ssl_match_hostname.py
-index 689208d3c63f1..1dd950c489607 100644
---- a/third_party/python/urllib3/urllib3/packages/ssl_match_hostname/_implementation.py
-+++ b/third_party/python/urllib3/urllib3/util/ssl_match_hostname.py
-@@ -9,7 +9,7 @@
- # ipaddress has been backported to 2.6+ in pypi.  If it is installed on the
- # system, use it to handle IPAddress ServerAltnames (this was added in
- # python-3.5) otherwise only do DNS matching.  This allows
--# backports.ssl_match_hostname to continue to be used in Python 2.7.
-+# util.ssl_match_hostname to continue to be used in Python 2.7.
- try:
-     import ipaddress
- except ImportError:
-@@ -78,7 +78,8 @@ def _dnsname_match(dn, hostname, max_wildcards=1):
- 
- def _to_unicode(obj):
-     if isinstance(obj, str) and sys.version_info < (3,):
--        obj = unicode(obj, encoding="ascii", errors="strict")
-+        # ignored flake8 # F821 to support python 2.7 function
-+        obj = unicode(obj, encoding="ascii", errors="strict")  # noqa: F821
-     return obj
- 
- 
-@@ -111,11 +112,9 @@ def match_hostname(cert, hostname):
-     try:
-         # Divergence from upstream: ipaddress can't handle byte str
-         host_ip = ipaddress.ip_address(_to_unicode(hostname))
--    except ValueError:
--        # Not an IP address (common case)
--        host_ip = None
--    except UnicodeError:
--        # Divergence from upstream: Have to deal with ipaddress not taking
-+    except (UnicodeError, ValueError):
-+        # ValueError: Not an IP address (common case)
-+        # UnicodeError: Divergence from upstream: Have to deal with ipaddress not taking
-         # byte strings.  addresses should be all ascii, so we consider it not
-         # an ipaddress in this case
-         host_ip = None
-@@ -123,7 +122,7 @@ def match_hostname(cert, hostname):
-         # Divergence from upstream: Make ipaddress library optional
-         if ipaddress is None:
-             host_ip = None
--        else:
-+        else:  # Defensive
-             raise
-     dnsnames = []
-     san = cert.get("subjectAltName", ())
-diff --git a/third_party/python/urllib3/urllib3/util/ssltransport.py b/third_party/python/urllib3/urllib3/util/ssltransport.py
-index 1e41354f5d458..4a7105d17916a 100644
---- a/third_party/python/urllib3/urllib3/util/ssltransport.py
-+++ b/third_party/python/urllib3/urllib3/util/ssltransport.py
-@@ -2,8 +2,8 @@
- import socket
- import ssl
- 
--from urllib3.exceptions import ProxySchemeUnsupported
--from urllib3.packages import six
-+from ..exceptions import ProxySchemeUnsupported
-+from ..packages import six
- 
- SSL_BLOCKSIZE = 16384
- 
-@@ -193,7 +193,7 @@ def _wrap_ssl_read(self, len, buffer=None):
-                 raise
- 
-     def _ssl_io_loop(self, func, *args):
--        """ Performs an I/O loop between incoming/outgoing and the socket."""
-+        """Performs an I/O loop between incoming/outgoing and the socket."""
-         should_loop = True
-         ret = None
- 
-diff --git a/third_party/python/urllib3/urllib3/util/timeout.py b/third_party/python/urllib3/urllib3/util/timeout.py
-index ff69593b05b5e..78e18a6272482 100644
---- a/third_party/python/urllib3/urllib3/util/timeout.py
-+++ b/third_party/python/urllib3/urllib3/util/timeout.py
-@@ -2,9 +2,8 @@
- 
- import time
- 
--# The default socket timeout, used by httplib to indicate that no timeout was
--# specified by the user
--from socket import _GLOBAL_DEFAULT_TIMEOUT
-+# The default socket timeout, used by httplib to indicate that no timeout was; specified by the user
-+from socket import _GLOBAL_DEFAULT_TIMEOUT, getdefaulttimeout
- 
- from ..exceptions import TimeoutStateError
- 
-@@ -116,6 +115,10 @@ def __repr__(self):
-     # __str__ provided for backwards compatibility
-     __str__ = __repr__
- 
-+    @classmethod
-+    def resolve_default_timeout(cls, timeout):
-+        return getdefaulttimeout() if timeout is cls.DEFAULT_TIMEOUT else timeout
-+
-     @classmethod
-     def _validate_timeout(cls, value, name):
-         """Check that a timeout attribute is valid.
-diff --git a/third_party/python/urllib3/urllib3/util/url.py b/third_party/python/urllib3/urllib3/util/url.py
-index 6ff238fe3cbd0..e5682d3be4293 100644
---- a/third_party/python/urllib3/urllib3/util/url.py
-+++ b/third_party/python/urllib3/urllib3/util/url.py
-@@ -50,7 +50,7 @@
-     "(?:(?:%(hex)s:){0,6}%(hex)s)?::",
- ]
- 
--UNRESERVED_PAT = r"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._!\-~"
-+UNRESERVED_PAT = r"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._\-~"
- IPV6_PAT = "(?:" + "|".join([x % _subs for x in _variations]) + ")"
- ZONE_ID_PAT = "(?:%25|%)(?:[" + UNRESERVED_PAT + "]|%[a-fA-F0-9]{2})+"
- IPV6_ADDRZ_PAT = r"\[" + IPV6_PAT + r"(?:" + ZONE_ID_PAT + r")?\]"
-@@ -63,12 +63,12 @@
- BRACELESS_IPV6_ADDRZ_RE = re.compile("^" + IPV6_ADDRZ_PAT[2:-2] + "$")
- ZONE_ID_RE = re.compile("(" + ZONE_ID_PAT + r")\]$")
- 
--SUBAUTHORITY_PAT = (u"^(?:(.*)@)?(%s|%s|%s)(?::([0-9]{0,5}))?$") % (
-+_HOST_PORT_PAT = ("^(%s|%s|%s)(?::0*?(|0|[1-9][0-9]{0,4}))?$") % (
-     REG_NAME_PAT,
-     IPV4_PAT,
-     IPV6_ADDRZ_PAT,
- )
--SUBAUTHORITY_RE = re.compile(SUBAUTHORITY_PAT, re.UNICODE | re.DOTALL)
-+_HOST_PORT_RE = re.compile(_HOST_PORT_PAT, re.UNICODE | re.DOTALL)
- 
- UNRESERVED_CHARS = set(
-     "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-~"
-@@ -279,6 +279,9 @@ def _normalize_host(host, scheme):
-         if scheme in NORMALIZABLE_SCHEMES:
-             is_ipv6 = IPV6_ADDRZ_RE.match(host)
-             if is_ipv6:
-+                # IPv6 hosts of the form 'a::b%zone' are encoded in a URL as
-+                # such per RFC 6874: 'a::b%25zone'. Unquote the ZoneID
-+                # separator as necessary to return a valid RFC 4007 scoped IP.
-                 match = ZONE_ID_RE.search(host)
-                 if match:
-                     start, end = match.span(1)
-@@ -300,7 +303,7 @@ def _normalize_host(host, scheme):
- 
- 
- def _idna_encode(name):
--    if name and any([ord(x) > 128 for x in name]):
-+    if name and any(ord(x) >= 128 for x in name):
-         try:
-             import idna
-         except ImportError:
-@@ -331,7 +334,7 @@ def parse_url(url):
-     """
-     Given a url, return a parsed :class:`.Url` namedtuple. Best-effort is
-     performed to parse incomplete urls. Fields not provided will be None.
--    This parser is RFC 3986 compliant.
-+    This parser is RFC 3986 and RFC 6874 compliant.
- 
-     The parser logic and helper functions are based heavily on
-     work done in the ``rfc3986`` module.
-@@ -365,7 +368,9 @@ def parse_url(url):
-             scheme = scheme.lower()
- 
-         if authority:
--            auth, host, port = SUBAUTHORITY_RE.match(authority).groups()
-+            auth, _, host_port = authority.rpartition("@")
-+            auth = auth or None
-+            host, port = _HOST_PORT_RE.match(host_port).groups()
-             if auth and normalize_uri:
-                 auth = _encode_invalid_chars(auth, USERINFO_CHARS)
-             if port == "":
-diff --git a/third_party/python/urllib3/urllib3/util/wait.py b/third_party/python/urllib3/urllib3/util/wait.py
-index c280646c7be0b..21b4590b3dc9b 100644
---- a/third_party/python/urllib3/urllib3/util/wait.py
-+++ b/third_party/python/urllib3/urllib3/util/wait.py
-@@ -42,7 +42,6 @@ class NoWayToWaitForSocketError(Exception):
-     def _retry_on_intr(fn, timeout):
-         return fn(timeout)
- 
--
- else:
-     # Old and broken Pythons.
-     def _retry_on_intr(fn, timeout):
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115_115.6.0.bb b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115_115.8.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115_115.6.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115_115.8.0.bb
index 4d9bb0e..4e36aca 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115_115.6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-115_115.8.0.bb
@@ -15,10 +15,9 @@
            file://0001-rewrite-cargo-host-linker-in-python3.patch  \
            file://musl-disable-stackwalk.patch \
            file://0001-add-arm-to-list-of-mozinline.patch \
-           file://py3.12.patch \
            file://armv5.patch \
            "
-SRC_URI[sha256sum] = "66d7e6e5129ac8e6fe83e24227dc7bb8dc42650bc53b21838e614de80d22bc66"
+SRC_URI[sha256sum] = "af8086f23efc8492d286671f6035b1a915de6f4ed5c7897e40be0e1cb6b895ea"
 
 S = "${WORKDIR}/firefox-${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-jsauthority-Bump-mozjs-to-115.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-jsauthority-Bump-mozjs-to-115.patch
deleted file mode 100644
index 163a03cf..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-jsauthority-Bump-mozjs-to-115.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 2f0de2a831ab106fce210c1d65baef041256bc18 Mon Sep 17 00:00:00 2001
-From: Xi Ruoyao <xry111@xry111.site>
-Date: Mon, 18 Sep 2023 01:53:04 +0800
-Subject: [PATCH] jsauthority: Bump mozjs to 115
-
-No code change is needed!
-
-Upstream-Status: Backport [https://gitlab.freedesktop.org/polkit/polkit/-/commit/b340f50b7bb963863ede7c63f9a0b5c50c80c1e1]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 3b96562..92b68fd 100644
---- a/meson.build
-+++ b/meson.build
-@@ -153,7 +153,7 @@ if js_engine == 'duktape'
-   func = 'pthread_condattr_setclock'
-   config_h.set('HAVE_' + func.to_upper(), cc.has_function(func, prefix : '#include <pthread.h>'))
- elif js_engine == 'mozjs'
--  js_dep = dependency('mozjs-102')
-+  js_dep = dependency('mozjs-115')
- 
-   _system = host_machine.system().to_lower()
-   if _system.contains('freebsd')
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-polkit.service.in-disable-MemoryDenyWriteExecute.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-polkit.service.in-disable-MemoryDenyWriteExecute.patch
index 9a09727..4f008f7 100644
--- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-polkit.service.in-disable-MemoryDenyWriteExecute.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-polkit.service.in-disable-MemoryDenyWriteExecute.patch
@@ -1,4 +1,4 @@
-From 046d853818f18bac5df4dfc007151e06fd64a5b3 Mon Sep 17 00:00:00 2001
+From 95148a804be66092564f81306a02f625d5b8a5d0 Mon Sep 17 00:00:00 2001
 From: Markus Volk <f_l_k@t-online.de>
 Date: Sun, 17 Sep 2023 23:26:59 +0200
 Subject: [PATCH] polkit.service.in: disable MemoryDenyWriteExecute
@@ -16,11 +16,11 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/data/polkit.service.in b/data/polkit.service.in
-index 2113ff7..42dfd90 100644
+index e6db351..4390cce 100644
 --- a/data/polkit.service.in
 +++ b/data/polkit.service.in
-@@ -14,7 +14,7 @@ Group=@polkitd_user@
- IPAddressDeny=any
+@@ -12,7 +12,7 @@ ExecStart=@libprivdir@/polkitd --no-debug
+ User=@polkitd_user@
  LimitMEMLOCK=0
  LockPersonality=yes
 -MemoryDenyWriteExecute=yes
@@ -28,6 +28,3 @@
  NoNewPrivileges=yes
  PrivateDevices=yes
  PrivateNetwork=yes
--- 
-2.41.0
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_123.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_124.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-extended/polkit/polkit_123.bb
rename to meta-openembedded/meta-oe/recipes-extended/polkit/polkit_124.bb
index df9d25e..3eb0d52 100644
--- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_123.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_124.bb
@@ -6,11 +6,10 @@
 
 SRC_URI = "git://gitlab.freedesktop.org/polkit/polkit.git;protocol=https;branch=master \
            file://0001-polkit.service.in-disable-MemoryDenyWriteExecute.patch \
-           file://0001-jsauthority-Bump-mozjs-to-115.patch \
            "
 
 S = "${WORKDIR}/git"
-SRCREV = "fc8b07e71d99f88a29258cde99b913b44da1846d"
+SRCREV = "82f0924dc0eb23b9df68e88dbaf9e07c81940a5a"
 
 DEPENDS = "expat glib-2.0"
 
@@ -51,4 +50,12 @@
 	chown polkitd:root ${D}/${sysconfdir}/polkit-1/rules.d
 }
 
-FILES:${PN} += "${libdir}/polkit-1 ${nonarch_libdir}/polkit-1 ${datadir}"
+FILES:${PN} += " \
+	${libdir}/pam.d/polkit-1 \
+	${libdir}/sysusers.d \
+	${libdir}/polkit-1 \
+	${nonarch_libdir}/pam.d/polkit-1 \
+	${nonarch_libdir}/sysusers.d \
+	${nonarch_libdir}/polkit-1 \
+	${datadir} \
+"
diff --git a/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb b/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb
index 6cdfef9..7b3d728 100644
--- a/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb
+++ b/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb
@@ -55,7 +55,7 @@
 }
 
 
-RDEPENDS:${PN}-ptest += "bash lsb-release make"
+RDEPENDS:${PN}-ptest += "bash file lsb-release make"
 RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils"
 RDEPENDS:${PN}-ptest:append:libc-musl = " musl-utils"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/crucible/crucible_2023.11.02.bb b/meta-openembedded/meta-oe/recipes-support/crucible/crucible_2023.11.02.bb
index 339bb35..d53e1a2 100644
--- a/meta-openembedded/meta-oe/recipes-support/crucible/crucible_2023.11.02.bb
+++ b/meta-openembedded/meta-oe/recipes-support/crucible/crucible_2023.11.02.bb
@@ -9,8 +9,9 @@
     ${GO_IMPORT}/cmd/crucible \
     ${GO_IMPORT}/cmd/habtool \
 "
-SRCREV = "358b5e7adb7f101f870f2b42fe5371460a3cccb6"
+SRCREV = "dec27cd4e0e0db106c0a21d429c04ca8d36bbdd5"
 
+export GOPROXY = "https://proxy.golang.org,direct"
 # Workaround for network access issue during compile step.
 # This needs to be fixed in the recipes buildsystem so that
 # it can be accomplished during do_fetch task.
diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_29.1.bb b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_29.1.bb
index ae35367..5cbe455 100644
--- a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_29.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_29.1.bb
@@ -18,6 +18,7 @@
 PACKAGECONFIG[gnutls] = "--with-gnutls=yes,--with-gnutls=no,gnutls"
 PACKAGECONFIG[kerberos] = "--with-kerberos=yes,--with-kerberos=no,krb5"
 PACKAGECONFIG[libgmp] = "--with-libgmp=yes,--with-libgmp=no,gmp"
+PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux"
 
 PACKAGECONFIG ??= "gnutls kerberos libgmp"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.1.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.1.bb
index 1e92d00..33df709 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.1.bb
@@ -24,7 +24,7 @@
     bash \
     ${@bb.utils.contains('PTEST_ENABLED', '1', 'shunit2', '', d)} \
 "
-RRECOMMENDS:${PN}-ptest += "kernel-module-gpio-sim"
+RRECOMMENDS:${PN}-ptest += "kernel-module-gpio-sim kernel-module-configfs"
 
 do_install_ptest:append() {
     install -m 0755 ${S}/tools/gpio-tools-test.bash ${D}${PTEST_PATH}/tests/
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-RH-fixup-udev-rules-for-redhat.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-RH-fixup-udev-rules-for-redhat.patch
new file mode 100644
index 0000000..0ec5b5b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-RH-fixup-udev-rules-for-redhat.patch
@@ -0,0 +1,74 @@
+From 1e1ba9ecc16895bf472eae345d44631b65629611 Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Thu, 13 Apr 2017 07:22:23 -0500
+Subject: [PATCH 01/12] RH: fixup udev rules for redhat
+
+The multipath rules need to run after scsi_id is run. This means moving
+them after 60-persistent-storage.rules for redhat. Redhat also uses a
+different naming scheme for partitions than SuSE. Also, there are some
+false warnings that gcc throws because of the changed options. Fix these
+too.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+[OP: Rebase to 0.9.3]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ Makefile.inc        | 2 +-
+ kpartx/kpartx.rules | 2 +-
+ multipath/Makefile  | 4 ++--
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.inc b/Makefile.inc
+index 5668e638..de89b21f 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -59,7 +59,7 @@ tmpfilesdir	:= $(systemd_prefix)lib/tmpfiles.d
+ modulesloaddir	:= $(systemd_prefix)lib/modules-load.d
+ libudevdir	:= $(systemd_prefix)lib/udev
+ udevrulesdir	:= $(libudevdir)/rules.d
+-bindir		:= $(exec_prefix)sbin
++bindir		:= $(exec_prefix)/usr/sbin
+ mandir		:= $(usr_prefix)share/man
+ LIB		:= $(if $(shell test -d /lib64 && echo 1),lib64,lib)
+ syslibdir	:= $(prefix)$(LIB)
+diff --git a/kpartx/kpartx.rules b/kpartx/kpartx.rules
+index 1969dee0..d2b28233 100644
+--- a/kpartx/kpartx.rules
++++ b/kpartx/kpartx.rules
+@@ -39,6 +39,6 @@ LABEL="mpath_kpartx_end"
+ GOTO="kpartx_end"
+ 
+ LABEL="run_kpartx"
+-RUN+="/sbin/kpartx -un -p -part /dev/$name"
++RUN+="/sbin/kpartx -un /dev/$name"
+ 
+ LABEL="kpartx_end"
+diff --git a/multipath/Makefile b/multipath/Makefile
+index 67fb5e62..2ea9e528 100644
+--- a/multipath/Makefile
++++ b/multipath/Makefile
+@@ -27,7 +27,7 @@ install:
+ 	$(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir)
+ 	$(Q)$(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir)
+ 	$(Q)$(INSTALL_PROGRAM) -m 644 99-z-dm-mpath-late.rules $(DESTDIR)$(udevrulesdir)
+-	$(Q)$(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)$(udevrulesdir)/56-multipath.rules
++	$(Q)$(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)$(udevrulesdir)/62-multipath.rules
+ 	$(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(tmpfilesdir)
+ 	$(Q)$(INSTALL_PROGRAM) -m 644 tmpfiles.conf $(DESTDIR)$(tmpfilesdir)/multipath.conf
+ 	$(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir)/man8
+@@ -50,7 +50,7 @@ uninstall:
+ 	$(Q)$(RM) $(DESTDIR)$(udevrulesdir)/99-z-dm-mpath-late.rules
+ 	$(Q)$(RM) $(DESTDIR)$(modulesloaddir)/multipath.conf
+ 	$(Q)$(RM) $(DESTDIR)$(modulesloaddir)/scsi_dh.conf
+-	$(Q)$(RM) $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules
++	$(Q)$(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
+ 	$(Q)$(RM) $(DESTDIR)$(mandir)/man8/$(EXEC).8
+ 	$(Q)$(RM) $(DESTDIR)$(mandir)/man5/$(EXEC).conf.5
+ 	$(Q)$(RM) $(DESTDIR)$(tmpfilesdir)/multipath.conf
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-RH-Remove-the-property-blacklist-exception-builtin.patch
similarity index 61%
rename from meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch
rename to meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-RH-Remove-the-property-blacklist-exception-builtin.patch
index c15444a..a24c827 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-RH-Remove-the-property-blacklist-exception-builtin.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17
-00:00:00 2001 From:Benjamin Marzinski <bmarzins@redhat.com> Date: Wed, 2 Jul
-2014 12:49:53 -0500 Subject: [PATCH] RH: Remove the property blacklist
-exception builtin
+From bb6db01cc19940bb5162c1cc0c9b5f8e4c209822 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 1 Mar 2024 10:34:06 +0800
+Subject: [PATCH 02/12] RH: Remove the property blacklist exception builtin
 
 Multipath set the default property blacklist exceptions to
 (ID_SCSI_VPD|ID_WWN).  This has the effect of blacklisting some internal
@@ -15,31 +15,36 @@
 
 Upsteam-Status: Pending
 
-Update patch to 0.8.2
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
 [OP: Rebase to 0.9.3]
 Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
-Upstream-Status: Pending
 
- libmultipath/blacklist.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ libmultipath/blacklist.c | 16 +++++-----------
+ 1 file changed, 5 insertions(+), 11 deletions(-)
 
 diff --git a/libmultipath/blacklist.c b/libmultipath/blacklist.c
-index 8d15d2ea..820b0d68 100644
+index 75100b20..4fdaca76 100644
 --- a/libmultipath/blacklist.c
 +++ b/libmultipath/blacklist.c
-@@ -198,9 +198,6 @@ setup_default_blist (struct config * conf)
+@@ -221,15 +221,6 @@ setup_default_blist (struct config * conf)
  	struct hwentry *hwe;
  	int i;
  
--	if (store_ble(conf->blist_devnode, "!^(sd[a-z]|dasd[a-z]|nvme[0-9])", ORIGIN_DEFAULT))
--		return 1;
--
+-	if (nvme_multipath_enabled()) {
+-		if (store_ble(conf->blist_devnode, "!^(sd[a-z]|dasd[a-z])",
+-			      ORIGIN_DEFAULT))
+-			return 1;
+-	} else {
+-		if (store_ble(conf->blist_devnode, "!^(sd[a-z]|dasd[a-z]|nvme[0-9])",
+-			      ORIGIN_DEFAULT))
+-			return 1;
+-	}
  	if (store_ble(conf->elist_property, "(SCSI_IDENT_|ID_WWN)", ORIGIN_DEFAULT))
  		return 1;
  
-@@ -435,8 +432,11 @@ filter_property(const struct config *conf, struct udev_device *udev,
+@@ -464,8 +455,11 @@ filter_property(const struct config *conf, struct udev_device *udev,
  			r = MATCH_NOTHING;
  	}
  
@@ -54,5 +59,5 @@
  
  static void free_ble(struct blentry *ble)
 -- 
-2.38.1
+2.25.1
 
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-RH-don-t-start-without-a-config-file.patch
similarity index 72%
rename from meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch
rename to meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-RH-don-t-start-without-a-config-file.patch
index 840b000..54b3bdc 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-RH-don-t-start-without-a-config-file.patch
@@ -1,10 +1,7 @@
-From 056fdaece0f1a3a5ca92e8c08912730faa89875d Mon Sep 17 00:00:00 2001
+From de8ee3480ec7479ed014c197a9d747403f6e0237 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Fri, 23 Nov 2018 17:25:15 +0800
-Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep 17
- 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Wed, 15
- Oct 2014 10:39:30 -0500 Subject: [PATCH] RH: don't start without a config
- file
+Subject: [PATCH 03/12] RH: don't start without a config file
 
 If /etc/multipath.conf doesn't exist, don't start multipathd and blacklist
 all devices when running multipath.  A completely blank configuration file
@@ -17,20 +14,21 @@
 
 Upstream-Status: Pending
 
-update this patch to new version
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
 [OP: Rebase to 0.9.3]
 Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
 ---
- libmultipath/config.c         | 18 ++++++++++++++++++
- libmultipath/config.h         |  1 +
- multipath/multipath.rules.in  |  1 +
- multipathd/multipathd.8       |  2 ++
- multipathd/multipathd.service |  1 +
+ libmultipath/config.c            | 18 ++++++++++++++++++
+ libmultipath/config.h            |  1 +
+ multipath/multipath.rules.in     |  1 +
+ multipathd/multipathd.8.in       |  2 ++
+ multipathd/multipathd.service.in |  1 +
  5 files changed, 23 insertions(+)
 
 diff --git a/libmultipath/config.c b/libmultipath/config.c
-index 5c5c0726..31894810 100644
+index 83fa7369..8a3a8f37 100644
 --- a/libmultipath/config.c
 +++ b/libmultipath/config.c
 @@ -26,6 +26,7 @@
@@ -41,7 +39,7 @@
  
  /*
   * We don't support re-initialization after
-@@ -966,6 +967,23 @@ int _init_config (const char *file, struct config *conf)
+@@ -959,6 +960,23 @@ int _init_config (const char *file, struct config *conf)
  		}
  		factorize_hwtable(conf->hwtable, builtin_hwtable_size, file);
  		validate_pctable(conf->overrides, 0, file);
@@ -66,7 +64,7 @@
  
  	conf->processed_main_config = 1;
 diff --git a/libmultipath/config.h b/libmultipath/config.h
-index 87947469..0dc89c16 100644
+index 384193ab..158cebf0 100644
 --- a/libmultipath/config.h
 +++ b/libmultipath/config.h
 @@ -10,6 +10,7 @@
@@ -78,7 +76,7 @@
  enum devtypes {
  	DEV_NONE,
 diff --git a/multipath/multipath.rules.in b/multipath/multipath.rules.in
-index 8d3cf33a..5c4447a2 100644
+index 780bf852..2c518378 100644
 --- a/multipath/multipath.rules.in
 +++ b/multipath/multipath.rules.in
 @@ -9,6 +9,7 @@ IMPORT{cmdline}="nompath"
@@ -89,11 +87,11 @@
  
  ENV{DEVTYPE}!="partition", GOTO="test_dev"
  IMPORT{parent}="DM_MULTIPATH_DEVICE_PATH"
-diff --git a/multipathd/multipathd.8 b/multipathd/multipathd.8
-index bdf102eb..a16a0bd5 100644
---- a/multipathd/multipathd.8
-+++ b/multipathd/multipathd.8
-@@ -48,6 +48,8 @@ map regains its maximum performance and redundancy.
+diff --git a/multipathd/multipathd.8.in b/multipathd/multipathd.8.in
+index f1cab3ff..5ae21db1 100644
+--- a/multipathd/multipathd.8.in
++++ b/multipathd/multipathd.8.in
+@@ -49,6 +49,8 @@ map regains its maximum performance and redundancy.
  With the \fB-k\fR option, \fBmultipathd\fR acts as a client utility that
  sends commands to a running instance of the multipathd daemon (see
  \fBCOMMANDS\fR below).
@@ -102,18 +100,18 @@
  .
  .
  .\" ----------------------------------------------------------------------------
-diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service
-index aec62dbb..ab7585de 100644
---- a/multipathd/multipathd.service
-+++ b/multipathd/multipathd.service
+diff --git a/multipathd/multipathd.service.in b/multipathd/multipathd.service.in
+index 6d03ff71..0cd85102 100644
+--- a/multipathd/multipathd.service.in
++++ b/multipathd/multipathd.service.in
 @@ -5,6 +5,7 @@ Before=local-fs-pre.target blk-availability.service shutdown.target
- Wants=systemd-udevd-kernel.socket
- After=systemd-udevd-kernel.socket
+ Wants=systemd-udevd-kernel.socket @MODPROBE_UNIT@
+ After=systemd-udevd-kernel.socket @MODPROBE_UNIT@
  After=multipathd.socket systemd-remount-fs.service
 +ConditionPathExists=/etc/multipath.conf
  Before=initrd-cleanup.service
  DefaultDependencies=no
  Conflicts=shutdown.target
 -- 
-2.38.1
+2.25.1
 
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0004-RH-use-rpm-optflags-if-present.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0004-RH-use-rpm-optflags-if-present.patch
new file mode 100644
index 0000000..91477a4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0004-RH-use-rpm-optflags-if-present.patch
@@ -0,0 +1,55 @@
+From f1b74f21875d6d9f0a5ac3d67df40a28b167052a Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 26 Nov 2018 09:19:17 +0800
+Subject: [PATCH 04/12] RH: use rpm optflags if present
+
+Use the passed in optflags when compiling as an RPM, and keep the
+default flags as close as possible to the current fedora flags, while
+still being generic.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upstream-Status: Pending
+
+[OP: Rebase to 0.9.3]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ Makefile.inc | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.inc b/Makefile.inc
+index de89b21f..6ac632ff 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -95,7 +95,15 @@ SYSTEMD_LIBDEPS := $(if $(SYSTEMD),$(if $(shell test $(SYSTEMD) -gt 209 && echo
+ MODPROBE_UNIT := $(shell test "0$(SYSTEMD)" -lt 245 2>/dev/null || \
+ 			echo "modprobe@dm_multipath.service")
+ 
+-OPTFLAGS	:= -O2 -g $(STACKPROT) --param=ssp-buffer-size=4
++ifndef RPM_OPT_FLAGS
++	OPTFLAGS	:= -O2 -g $(STACKPROT) --param=ssp-buffer-size=4
++else
++	OPTFLAGS = $(RPM_OPT_FLAGS)
++endif
++OPTFLAGS       += -Wextra -Wstrict-prototypes -Wformat=0 -Werror=implicit-int \
++                  -Werror=implicit-function-declaration -Wno-sign-compare \
++                  -Wno-unused-parameter -Werror=cast-qual \
++                  -Werror=discarded-qualifiers
+ WARNFLAGS	:= -Werror -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
+ 		  -Werror=implicit-function-declaration -Werror=format-security \
+ 		  $(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS) $(W_URCU_TYPE_LIMITS)
+@@ -105,7 +113,7 @@ CPPFLAGS	:= $(FORTIFY_OPT) $(CPPFLAGS) $(D_URCU_VERSION) \
+ 		   -DRUNTIME_DIR=\"$(runtimedir)\" -DCONFIG_DIR=\"$(configdir)\" \
+ 		   -DDEFAULT_CONFIGFILE=\"$(configfile)\" -DSTATE_DIR=\"$(statedir)\" \
+ 		   -DEXTRAVERSION=\"$(EXTRAVERSION)\" -MMD -MP
+-CFLAGS		:= -std=gnu99 $(CFLAGS) $(OPTFLAGS) $(WARNFLAGS) -pipe
++CFLAGS		:= -std=gnu99 $(CFLAGS) $(OPTFLAGS) -pipe
+ BIN_CFLAGS	:= -fPIE -DPIE
+ LIB_CFLAGS	:= -fPIC
+ SHARED_FLAGS	:= -shared
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch
rename to meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch
index 471ff09..c608961 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch
@@ -1,9 +1,7 @@
-From b0b4cca566e3e0c3a232b3754555c41d4e0c1273 Mon Sep 17 00:00:00 2001
+From 8f52504859704466667e042baf437c2b6272ffb9 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Mon, 26 Nov 2018 09:55:12 +0800
-Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep 17
- 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Thu, 16
- Oct 2014 15:49:01 -0500 Subject: [PATCH] RH: add mpathconf
+Subject: [PATCH 05/12] RH: add mpathconf
 
 mpathconf is a program (largely based on lvmcomf) to help users
 configure /etc/multipath.conf and enable or disable multipathing.  It
@@ -16,11 +14,11 @@
 
 Upstream-Status: Pending
 
-update this patch to new version
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
 [OP: Rebase to 0.9.3]
 Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
 ---
  libmultipath/config.c |   1 +
  multipath/Makefile    |   4 +
@@ -31,10 +29,10 @@
  create mode 100644 multipath/mpathconf.8
 
 diff --git a/libmultipath/config.c b/libmultipath/config.c
-index 31894810..af59dd3c 100644
+index 8a3a8f37..a40b41ab 100644
 --- a/libmultipath/config.c
 +++ b/libmultipath/config.c
-@@ -969,6 +969,7 @@ int _init_config (const char *file, struct config *conf)
+@@ -962,6 +962,7 @@ int _init_config (const char *file, struct config *conf)
  		validate_pctable(conf->overrides, 0, file);
  	} else {
  		condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices.");
@@ -43,36 +41,36 @@
  			conf->blist_devnode = vector_alloc();
  			if (!conf->blist_devnode) {
 diff --git a/multipath/Makefile b/multipath/Makefile
-index 8482de6a..780b1b73 100644
+index 2ea9e528..6b1fa09e 100644
 --- a/multipath/Makefile
 +++ b/multipath/Makefile
-@@ -21,6 +21,7 @@ $(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so
+@@ -24,6 +24,7 @@ $(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so
  install:
- 	$(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
- 	$(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/
-+	$(INSTALL_PROGRAM) -m 755 mpathconf $(DESTDIR)$(bindir)/
- 	$(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir)
- 	$(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir)
- 	$(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)$(udevrulesdir)/62-multipath.rules
-@@ -32,6 +33,7 @@ install:
- 	$(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
- 	$(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir)
- 	$(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5 $(DESTDIR)$(man5dir)
-+	$(INSTALL_PROGRAM) -m 644 mpathconf.8 $(DESTDIR)$(man8dir)
- ifneq ($(SCSI_DH_MODULES_PRELOAD),)
- 	$(INSTALL_PROGRAM) -m 644 scsi_dh.conf $(DESTDIR)$(modulesloaddir)/scsi_dh.conf
- 	for _x in $(SCSI_DH_MODULES_PRELOAD); do echo "$$_x"; done \
-@@ -44,8 +46,10 @@ uninstall:
- 	$(RM) $(DESTDIR)$(modulesloaddir)/multipath.conf
- 	$(RM) $(DESTDIR)$(modulesloaddir)/scsi_dh.conf
- 	$(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
-+	$(RM) $(DESTDIR)$(bindir)/mpathconf
- 	$(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
- 	$(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5
-+	$(RM) $(DESTDIR)$(man8dir)/mpathconf.8
+ 	$(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
+ 	$(Q)$(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/
++	$(Q)$(INSTALL_PROGRAM) -m 755 mpathconf $(DESTDIR)$(bindir)/
+ 	$(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir)
+ 	$(Q)$(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir)
+ 	$(Q)$(INSTALL_PROGRAM) -m 644 99-z-dm-mpath-late.rules $(DESTDIR)$(udevrulesdir)
+@@ -34,6 +35,7 @@ install:
+ 	$(Q)$(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(mandir)/man8
+ 	$(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir)/man5
+ 	$(Q)$(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5 $(DESTDIR)$(mandir)/man5
++	$(Q)$(INSTALL_PROGRAM) -m 644 mpathconf.8 $(DESTDIR)$(mandir)/man8
+ 	$(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(modulesloaddir)
+ ifeq ($(MODPROBE_UNIT),)
+ 	$(Q)$(INSTALL_PROGRAM) -m 644 modules-load.conf $(DESTDIR)$(modulesloaddir)/multipath.conf
+@@ -51,8 +53,10 @@ uninstall:
+ 	$(Q)$(RM) $(DESTDIR)$(modulesloaddir)/multipath.conf
+ 	$(Q)$(RM) $(DESTDIR)$(modulesloaddir)/scsi_dh.conf
+ 	$(Q)$(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
++	$(Q)$(RM) $(DESTDIR)$(bindir)/mpathconf
+ 	$(Q)$(RM) $(DESTDIR)$(mandir)/man8/$(EXEC).8
+ 	$(Q)$(RM) $(DESTDIR)$(mandir)/man5/$(EXEC).conf.5
++	$(Q)$(RM) $(DESTDIR)$(mandir)/man8/mpathconf.8
+ 	$(Q)$(RM) $(DESTDIR)$(tmpfilesdir)/multipath.conf
  
  clean: dep_clean
- 	$(RM) core *.o $(EXEC) multipath.rules tmpfiles.conf
 diff --git a/multipath/mpathconf b/multipath/mpathconf
 new file mode 100644
 index 00000000..e8391347
@@ -651,5 +649,5 @@
 +.SH AUTHOR
 +Benjamin Marzinski <bmarzins@redhat.com>
 -- 
-2.38.1
+2.25.1
 
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
rename to meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
index 17c36e8..8df7de3 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
@@ -1,14 +1,7 @@
-From 262de33671ede81e424344ea9125d9e546cf8612 Mon Sep 17 00:00:00 2001
+From f93248d8e3598ccdc42b6d639107917c9cda268c Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Thu, 26 Sep 2019 16:29:48 +0800
-Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep
-
-17
- 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Fri,
-17
- Oct 2014 11:20:34 -0500 Subject: [PATCH] RH: add wwids from kernel
-cmdline
- mpath.wwids with -A
+Subject: [PATCH 06/12] RH: add wwids from kernel cmdline mpath.wwids with -A
 
 This patch adds another option to multipath, "-A", which reads
 /proc/cmdline for mpath.wwid=<WWID> options, and adds any wwids it finds
@@ -23,21 +16,21 @@
 
 Upstream-Status: Pending
 
-Update this patch to new version 0.8.2
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
 [OP: Rebase to 0.9.3]
 Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
 ---
  libmultipath/wwids.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
  libmultipath/wwids.h |  1 +
  2 files changed, 45 insertions(+)
 
 diff --git a/libmultipath/wwids.c b/libmultipath/wwids.c
-index 89bb60ca..bab9aa85 100644
+index 591cd09b..b01f1b85 100644
 --- a/libmultipath/wwids.c
 +++ b/libmultipath/wwids.c
-@@ -451,3 +451,47 @@ int unmark_failed_wwid(const char *wwid)
+@@ -439,3 +439,47 @@ int unmark_failed_wwid(const char *wwid)
  	print_failed_wwid_result("unmark_failed", wwid, r);
  	return r;
  }
@@ -98,5 +91,5 @@
  enum {
  	WWID_IS_NOT_FAILED = 0,
 -- 
-2.38.1
+2.25.1
 
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0007-RH-warn-on-invalid-regex-instead-of-failing.patch
similarity index 76%
rename from meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch
rename to meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0007-RH-warn-on-invalid-regex-instead-of-failing.patch
index 22cb4be..c64b8ae 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0007-RH-warn-on-invalid-regex-instead-of-failing.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17
-00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Mon, 6 Nov
-2017 21:39:28 -0600 Subject: [PATCH] RH: warn on invalid regex instead of
-failing
+From 49d0b0279f54ceb96878e8e72e828efbb84a534c Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 1 Mar 2024 11:45:10 +0800
+Subject: [PATCH 07/12] RH: warn on invalid regex instead of failing
 
 multipath.conf used to allow "*" as a match everything regular expression,
 instead of requiring ".*". Instead of erroring when the old style
@@ -12,21 +12,21 @@
 
 Upstream-Status: Pending
 
-update this patch to 0.8.2
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
 [OP: Rebase to 0.9.3]
 [OP: adjusted FREE() -> free(), made set_regex_value() static]
 Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
 ---
- libmultipath/dict.c | 42 +++++++++++++++++++++++++++++++++++-------
- 1 file changed, 35 insertions(+), 7 deletions(-)
+ libmultipath/dict.c | 40 ++++++++++++++++++++++++++++++++++------
+ 1 file changed, 34 insertions(+), 6 deletions(-)
 
 diff --git a/libmultipath/dict.c b/libmultipath/dict.c
-index aa93fe43..55a22d32 100644
+index 5af036b7..e494419d 100644
 --- a/libmultipath/dict.c
 +++ b/libmultipath/dict.c
-@@ -155,6 +155,34 @@ set_str_noslash(vector strvec, void *ptr, const char *file, int line_nr)
+@@ -189,6 +189,34 @@ set_str_noslash(vector strvec, void *ptr, const char *file, int line_nr)
  	return 0;
  }
  
@@ -61,18 +61,7 @@
  static int
  set_yes_no(vector strvec, void *ptr, const char *file, int line_nr)
  {
-@@ -1679,8 +1707,8 @@ ble_ ## option ## _handler (struct config *conf, vector strvec,		\
- 									\
- 	if (!conf->option)						\
- 		return 1;						\
--									\
--	buff = set_value(strvec);					\
-+									\	
-+	buff = set_regex_value(strvec);					\
- 	if (!buff)							\
- 		return 1;						\
- 									\
-@@ -1700,7 +1728,7 @@ ble_ ## option ## _ ## name ## _handler (struct config *conf, vector strvec, \
+@@ -1798,7 +1826,7 @@ ble_ ## option ## _handler (struct config *conf, vector strvec,		\
  	if (!conf->option)						\
  		return 1;						\
  									\
@@ -81,7 +70,16 @@
  	if (!buff)							\
  		return 1;						\
  									\
-@@ -1806,16 +1834,16 @@ device_handler(struct config *conf, vector strvec, const char *file,
+@@ -1818,7 +1846,7 @@ ble_ ## option ## _ ## name ## _handler (struct config *conf, vector strvec, \
+ 	if (!conf->option)						\
+ 		return 1;						\
+ 									\
+-	buff = set_value(strvec);					\
++	buff = set_regex_value(strvec);					\
+ 	if (!buff)							\
+ 		return 1;						\
+ 									\
+@@ -1924,16 +1952,16 @@ device_handler(struct config *conf, vector strvec, const char *file,
  	return 0;
  }
  
@@ -101,7 +99,7 @@
 +declare_hw_handler(bl_product, set_regex)
  declare_hw_snprint(bl_product, print_str)
  
- declare_hw_handler(hwhandler, set_str)
+ declare_hw_arg_str_handler(hwhandler, 0)
 -- 
-2.38.1
+2.25.1
 
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-RH-reset-default-find_mutipaths-value-to-off.patch
similarity index 70%
rename from meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch
rename to meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-RH-reset-default-find_mutipaths-value-to-off.patch
index ad03b8a..1fa1f3b 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-RH-reset-default-find_mutipaths-value-to-off.patch
@@ -1,10 +1,7 @@
-From 16900150e02e5b367a8b33621b393975ad011130 Mon Sep 17 00:00:00 2001
+From fcba3e0d4c8448a2510025acb255c7335413bf56 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Mon, 26 Nov 2018 11:12:01 +0800
-Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep 17
- 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Thu, 7 Jun
- 2018 17:43:52 -0500 Subject: [PATCH] RH: reset default find_mutipaths value
- to off
+Subject: [PATCH 08/12] RH: reset default find_mutipaths value to off
 
 Upstream has changed to default find_multipaths to "strict". For now
 Redhat will retain the previous default of "off".
@@ -13,18 +10,17 @@
 
 Upstream-Status: Pending
 
-Update this patch to new version
-
+Rebase to 0.9.8
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
 ---
  libmultipath/defaults.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h
-index 6576939..a2404b2 100644
+index 64b633f2..a06a8a41 100644
 --- a/libmultipath/defaults.h
 +++ b/libmultipath/defaults.h
-@@ -17,7 +17,7 @@
+@@ -23,7 +23,7 @@
  #define DEFAULT_NO_PATH_RETRY	NO_PATH_RETRY_UNDEF
  #define DEFAULT_VERBOSITY	2
  #define DEFAULT_REASSIGN_MAPS	0
@@ -34,5 +30,5 @@
  #define DEFAULT_DEV_LOSS_TMO	600
  #define DEFAULT_RETAIN_HWHANDLER RETAIN_HWHANDLER_ON
 -- 
-2.7.4
+2.25.1
 
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-modify-create-config.mk-for-cross-co.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-modify-create-config.mk-for-cross-co.patch
new file mode 100644
index 0000000..041b79a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-modify-create-config.mk-for-cross-co.patch
@@ -0,0 +1,40 @@
+From 7452549e572b1c40aefe25524bf4bbbf34c952e5 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 4 Jun 2019 11:39:39 +0800
+Subject: [PATCH 09/12] multipath-tools: modify create-config.mk for
+ cross-compilation
+
+Do not look for systemd info on the host, and allow us to pass in CFLAGS
+using the OPTFLAGS variable.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+[OP: Rebase to 0.9.3]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ create-config.mk | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/create-config.mk b/create-config.mk
+index 4d318b96..a65975ba 100644
+--- a/create-config.mk
++++ b/create-config.mk
+@@ -127,10 +127,6 @@ ifeq ($(ENABLE_DMEVENTS_POLL),0)
+ 	DEFINES += -DNO_DMEVENTS_POLL
+ endif
+ 
+-SYSTEMD := $(strip $(or $(shell $(PKG_CONFIG) --modversion libsystemd 2>/dev/null | awk '{print $$1}'), \
+-			$(shell systemctl --version 2>/dev/null | sed -n 's/systemd \([0-9]*\).*/\1/p')))
+-
+-
+ # $(call TEST_CC_OPTION,option,fallback)
+ # Test if the C compiler supports the option.
+ # Evaluates to "option" if yes, and "fallback" otherwise.
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-Subject-PATCH-Always-use-devmapper.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-Subject-PATCH-Always-use-devmapper.patch
new file mode 100644
index 0000000..b48720b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-Subject-PATCH-Always-use-devmapper.patch
@@ -0,0 +1,72 @@
+From 5d2fa3c5975266a6c02214afa6254e6eeeb1baad Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 26 Nov 2018 11:17:41 +0800
+Subject: [PATCH 10/12] Subject: [PATCH] Always use devmapper
+
+Do not try to compute several _API_ make variables
+from host information when cross-compiling.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+[OP: Rebase to 0.9.3]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ create-config.mk | 36 ++++++++----------------------------
+ 1 file changed, 8 insertions(+), 28 deletions(-)
+
+diff --git a/create-config.mk b/create-config.mk
+index a65975ba..8ba592f4 100644
+--- a/create-config.mk
++++ b/create-config.mk
+@@ -79,34 +79,14 @@ URCU_VERSION = $(shell \
+ 
+ DEFINES :=
+ 
+-ifneq ($(call check_func,dm_task_no_flush,$(devmapper_incdir)/libdevmapper.h),0)
+-	DEFINES += LIBDM_API_FLUSH
+-endif
+-
+-ifneq ($(call check_func,dm_task_get_errno,$(devmapper_incdir)/libdevmapper.h),0)
+-	DEFINES += LIBDM_API_GET_ERRNO
+-endif
+-
+-ifneq ($(call check_func,dm_task_set_cookie,$(devmapper_incdir)/libdevmapper.h),0)
+-	DEFINES += LIBDM_API_COOKIE
+-endif
+-
+-ifneq ($(call check_func,udev_monitor_set_receive_buffer_size,$(libudev_incdir)/libudev.h),0)
+-	DEFINES += LIBUDEV_API_RECVBUF
+-endif
+-
+-ifneq ($(call check_func,dm_task_deferred_remove,$(devmapper_incdir)/libdevmapper.h),0)
+-	DEFINES += LIBDM_API_DEFERRED
+-endif
+-
+-ifneq ($(call check_func,dm_hold_control_dev,$(devmapper_incdir)/libdevmapper.h),0)
+-	DEFINES += LIBDM_API_HOLD_CONTROL
+-endif
+-
+-ifneq ($(call check_var,ELS_DTAG_LNK_INTEGRITY,$(kernel_incdir)/scsi/fc/fc_els.h),0)
+-	DEFINES += FPIN_EVENT_HANDLER
+-	FPIN_SUPPORT = 1
+-endif
++DEFINES += LIBDM_API_FLUSH
++DEFINES += LIBDM_API_GET_ERRNO
++DEFINES += LIBDM_API_COOKIE
++DEFINES += LIBUDEV_API_RECVBUF
++DEFINES += LIBDM_API_DEFERRED
++DEFINES += LIBDM_API_HOLD_CONTROL
++DEFINES += FPIN_EVENT_HANDLER
++FPIN_SUPPORT = 1
+ 
+ libmount_h := $(shell $(PKG_CONFIG) --variable=includedir mount)/libmount/libmount.h
+ ifneq ($(call check_func,mnt_unref_cache,$(libmount_h)),0)
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-fix-bug-of-do_compile-and-do_install.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-fix-bug-of-do_compile-and-do_install.patch
similarity index 81%
rename from meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-fix-bug-of-do_compile-and-do_install.patch
rename to meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-fix-bug-of-do_compile-and-do_install.patch
index bc07d75..f32d789 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-fix-bug-of-do_compile-and-do_install.patch
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-fix-bug-of-do_compile-and-do_install.patch
@@ -1,7 +1,7 @@
-From 51f1f351262a31d94c10504e4d135526c6a7caeb Mon Sep 17 00:00:00 2001
+From 949070286692dfff89213792571da233fe82e440 Mon Sep 17 00:00:00 2001
 From: Wang Mingyu <wangmy@cn.fujitsu.com>
 Date: Sun, 10 May 2020 21:22:53 +0800
-Subject: [PATCH] fix bug of do_compile and do_install
+Subject: [PATCH 11/12] fix bug of do_compile and do_install
 
 when multiple processes make run in parallel,
 because of dependency error will occur.
@@ -12,16 +12,14 @@
 [OP: Drop dependencies that are already present in the 0.9.3 Makefile]
 Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
 ---
-Upstream-Status: Pending
-
  Makefile | 10 ++++++++++
  1 file changed, 10 insertions(+)
 
 diff --git a/Makefile b/Makefile
-index 27b4641f..f195b570 100644
+index 4df5f161..065249c2 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -79,6 +79,16 @@ libmpathpersist libmpathvalid multipath multipathd: libmultipath
+@@ -91,6 +91,16 @@ libmpathpersist libmpathvalid multipath multipathd: libmultipath
  libmultipath/prioritizers libmultipath/checkers libmultipath/foreign: libmultipath
  mpathpersist multipathd:  libmpathpersist
  
@@ -39,5 +37,5 @@
  	libmultipath/prioritizers.install \
  	libmultipath/foreign.install: libmultipath.install
 -- 
-2.38.1
+2.25.1
 
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-add-explicit-dependency-on-libraries.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-add-explicit-dependency-on-libraries.patch
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-add-explicit-dependency-on-libraries.patch
rename to meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-add-explicit-dependency-on-libraries.patch
index 3b0a704..2f77494 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-add-explicit-dependency-on-libraries.patch
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-add-explicit-dependency-on-libraries.patch
@@ -1,7 +1,7 @@
-From ee9f7b6e764be5668bc958f8bb97a46e5056d050 Mon Sep 17 00:00:00 2001
+From 7a46f43682641436464579d8bf76c382e71ea557 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Mon, 25 May 2020 23:22:55 -0700
-Subject: [PATCH] add explicit dependency on libraries
+Subject: [PATCH 12/12] add explicit dependency on libraries
 
 [snip]
 gcc/i686-overc-linux/10.1.0/ld: cannot find -lmpathpersist
@@ -24,10 +24,10 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/Makefile b/Makefile
-index f195b570..2d22881c 100644
+index 065249c2..0444c2ea 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -78,6 +78,7 @@ libmultipath: libmpathutil
+@@ -90,6 +90,7 @@ libmultipath: libmpathutil
  libmpathpersist libmpathvalid multipath multipathd: libmultipath
  libmultipath/prioritizers libmultipath/checkers libmultipath/foreign: libmultipath
  mpathpersist multipathd:  libmpathpersist
@@ -36,5 +36,5 @@
  DEPS_ON_MULTIPATH := \
  	multipath \
 -- 
-2.38.1
+2.25.1
 
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch
deleted file mode 100644
index 395f9a9..0000000
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 9a941729d3c0d19d30d65e16b291c380e589eeb3 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Thu, 13 Apr 2017 07:22:23 -0500
-Subject: [PATCH] RH: fixup udev rules for redhat
-
-The multipath rules need to run after scsi_id is run. This means moving
-them after 60-persistent-storage.rules for redhat. Redhat also uses a
-different naming scheme for partitions than SuSE. Also, there are some
-false warnings that gcc throws because of the changed options. Fix these
-too.
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
-
-Update patch to 0.8.0
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-[OP: Rebase to 0.9.3]
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
-Upstream-Status: Pending
-
- Makefile.inc        | 2 +-
- kpartx/kpartx.rules | 2 +-
- multipath/Makefile  | 4 ++--
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile.inc b/Makefile.inc
-index 4d843ce5..57779fd8 100644
---- a/Makefile.inc
-+++ b/Makefile.inc
-@@ -81,7 +81,7 @@ endif
- prefix		=
- exec_prefix	= $(prefix)
- usr_prefix	= $(prefix)
--bindir		= $(exec_prefix)/sbin
-+bindir		= $(exec_prefix)/usr/sbin
- libudevdir	= $(prefix)/$(SYSTEMDPATH)/udev
- tmpfilesdir	= $(prefix)/$(SYSTEMDPATH)/tmpfiles.d
- udevrulesdir	= $(libudevdir)/rules.d
-diff --git a/kpartx/kpartx.rules b/kpartx/kpartx.rules
-index 1969dee0..d2b28233 100644
---- a/kpartx/kpartx.rules
-+++ b/kpartx/kpartx.rules
-@@ -39,6 +39,6 @@ LABEL="mpath_kpartx_end"
- GOTO="kpartx_end"
- 
- LABEL="run_kpartx"
--RUN+="/sbin/kpartx -un -p -part /dev/$name"
-+RUN+="/sbin/kpartx -un /dev/$name"
- 
- LABEL="kpartx_end"
-diff --git a/multipath/Makefile b/multipath/Makefile
-index 116348e2..8482de6a 100644
---- a/multipath/Makefile
-+++ b/multipath/Makefile
-@@ -23,7 +23,7 @@ install:
- 	$(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/
- 	$(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir)
- 	$(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir)
--	$(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)$(udevrulesdir)/56-multipath.rules
-+	$(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)$(udevrulesdir)/62-multipath.rules
- 	$(INSTALL_PROGRAM) -d $(DESTDIR)$(modulesloaddir)
- 	$(INSTALL_PROGRAM) -m 644 modules-load.conf $(DESTDIR)$(modulesloaddir)/multipath.conf
- 	$(INSTALL_PROGRAM) -d $(DESTDIR)$(tmpfilesdir)
-@@ -43,7 +43,7 @@ uninstall:
- 	$(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules
- 	$(RM) $(DESTDIR)$(modulesloaddir)/multipath.conf
- 	$(RM) $(DESTDIR)$(modulesloaddir)/scsi_dh.conf
--	$(RM) $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules
-+	$(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
- 	$(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
- 	$(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5
- 
--- 
-2.38.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch
deleted file mode 100644
index e7b3e12..0000000
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From cc38276a5d3926fd96e58366e15ba887d7d02ed0 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 26 Nov 2018 09:19:17 +0800
-Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep
-
-17
- 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Wed,
-19
- Apr 2017 06:10:01 -0500 Subject: [PATCH] RH: use rpm optflags if
-present
-
-Use the passed in optflags when compiling as an RPM, and keep the
-default flags as close as possible to the current fedora flags, while
-still being generic.
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
-
-Upstream-Status: Pending
-
-update this patch to new version
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-[OP: Rebase to 0.9.3]
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Makefile.inc | 28 ++++++++++++++++++----------
- 1 file changed, 18 insertions(+), 10 deletions(-)
-
-diff --git a/Makefile.inc b/Makefile.inc
-index 57779fd8..34f2cc6d 100644
---- a/Makefile.inc
-+++ b/Makefile.inc
-@@ -140,20 +140,28 @@ FORTIFY_OPT := $(shell \
- 		echo "-D_FORTIFY_SOURCE=2"; \
- 	fi)
- 
--STACKPROT := $(call TEST_CC_OPTION,-fstack-protector-strong,-fstack-protector)
--ERROR_DISCARDED_QUALIFIERS := $(call TEST_CC_OPTION,-Werror=discarded-qualifiers,)
--WNOCLOBBERED := $(call TEST_CC_OPTION,-Wno-clobbered -Wno-error=clobbered,)
--WFORMATOVERFLOW := $(call TEST_CC_OPTION,-Wformat-overflow=2,)
--
--OPTFLAGS	:= -O2 -g $(STACKPROT) --param=ssp-buffer-size=4
--WARNFLAGS	:= -Werror -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
--		  -Werror=implicit-function-declaration -Werror=format-security \
--		  $(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS)
-+ifndef RPM_OPT_FLAGS
-+       STACKPROT := $(call TEST_CC_OPTION,-fstack-protector-strong,-fstack-protector)
-+       OPTFLAGS        = -O2 -g -pipe -Wall -Werror=format-security \
-+                         -Wp,-D_FORTIFY_SOURCE=2 -fexceptions \
-+                         $(STACKPROT) --param=ssp-buffer-size=4 \
-+                         -grecord-gcc-switches
-+       ifeq ($(shell test -f /usr/lib/rpm/redhat/redhat-hardened-cc1 && echo 1),1)
-+               OPTFLAGS += -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-+       endif
-+else
-+       OPTFLAGS = $(RPM_OPT_FLAGS)
-+endif
-+OPTFLAGS       += -Wextra -Wstrict-prototypes -Wformat=2 -Werror=implicit-int \
-+                  -Werror=implicit-function-declaration -Wno-sign-compare \
-+                  -Wno-unused-parameter -Werror=cast-qual \
-+                  -Werror=discarded-qualifiers
-+
- CPPFLAGS	:= $(FORTIFY_OPT) \
- 		   -DBIN_DIR=\"$(bindir)\" -DMULTIPATH_DIR=\"$(plugindir)\" -DRUN_DIR=\"${RUN}\" \
- 		   -DRUNTIME_DIR=\"$(runtimedir)\" \
- 		   -DCONFIG_DIR=\"$(configdir)\" -DEXTRAVERSION=\"$(EXTRAVERSION)\" -MMD -MP
--CFLAGS		:= --std=gnu99 $(CFLAGS) $(OPTFLAGS) $(WARNFLAGS) -pipe
-+CFLAGS		:= --std=gnu99 $(CFLAGS) $(OPTFLAGS) -pipe
- BIN_CFLAGS	= -fPIE -DPIE
- LIB_CFLAGS	= -fPIC
- SHARED_FLAGS	= -shared
--- 
-2.38.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
deleted file mode 100644
index 952009b..0000000
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From d139474f2a6d87c1cd20dfbb916fe650bfcce968 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 4 Jun 2019 11:39:39 +0800
-Subject: [PATCH] multipath-tools: modify Makefile.inc for cross-compilation
-
-Do not look for systemd info on the host, and allow us to pass in CFLAGS
-using the OPTFLAGS variable.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-Update for version 0.5.0-144-g770e6d0
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-Update for version 0.7.1
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-update for version 0.7.7
-
-remove change about CFLAGS part, since patch 0024 already have similar function.
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-update for version 0.8.1
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-[OP: Rebase to 0.9.3]
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Makefile.inc | 11 -----------
- 1 file changed, 11 deletions(-)
-
-diff --git a/Makefile.inc b/Makefile.inc
-index 34f2cc6d..ee6a4c9f 100644
---- a/Makefile.inc
-+++ b/Makefile.inc
-@@ -42,17 +42,6 @@ ifndef RUN
- 	endif
- endif
- 
--ifndef SYSTEMD
--	ifeq ($(shell $(PKGCONFIG) --modversion libsystemd >/dev/null 2>&1 && echo 1), 1)
--		SYSTEMD = $(shell $(PKGCONFIG) --modversion libsystemd | awk '{print $$1}')
--	else
--		ifeq ($(shell systemctl --version >/dev/null 2>&1 && echo 1), 1)
--			SYSTEMD = $(shell systemctl --version 2> /dev/null | \
--				sed -n 's/systemd \([0-9]*\).*/\1/p')
--		endif
--	endif
--endif
--
- ifndef SYSTEMDPATH
- 	SYSTEMDPATH=usr/lib
- endif
--- 
-2.38.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch
deleted file mode 100644
index c2025ed..0000000
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From f20d7651a62efff818ebd0d1bc920f6f362c890d Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 26 Nov 2018 11:17:41 +0800
-Subject: [PATCH] Subject: [PATCH] Always use devmapper
-
-Do not try to compute several _API_ make variables
-from host information when cross-compiling.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-Rebase to 0.7.1
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Rebase to 0.7.7
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-Rebase to 0.7.9
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-[OP: Rebase to 0.9.3]
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- libmultipath/Makefile | 34 +++++++---------------------------
- 1 file changed, 7 insertions(+), 27 deletions(-)
-
-diff --git a/libmultipath/Makefile b/libmultipath/Makefile
-index 3b60a525..72aca7ca 100644
---- a/libmultipath/Makefile
-+++ b/libmultipath/Makefile
-@@ -22,33 +22,13 @@ ifdef SYSTEMD
- 	endif
- endif
- 
--ifneq ($(call check_func,dm_task_no_flush,$(DEVMAPPER_INCDIR)/libdevmapper.h),0)
--	CPPFLAGS += -DLIBDM_API_FLUSH
--endif
--
--ifneq ($(call check_func,dm_task_get_errno,$(DEVMAPPER_INCDIR)/libdevmapper.h),0)
--	CPPFLAGS += -DLIBDM_API_GET_ERRNO
--endif
--
--ifneq ($(call check_func,dm_task_set_cookie,$(DEVMAPPER_INCDIR)/libdevmapper.h),0)
--	CPPFLAGS += -DLIBDM_API_COOKIE
--endif
--
--ifneq ($(call check_func,udev_monitor_set_receive_buffer_size,$(LIBUDEV_INCDIR)/libudev.h),0)
--	CPPFLAGS += -DLIBUDEV_API_RECVBUF
--endif
--
--ifneq ($(call check_func,dm_task_deferred_remove,$(DEVMAPPER_INCDIR)/libdevmapper.h),0)
--	CPPFLAGS += -DLIBDM_API_DEFERRED
--endif
--
--ifneq ($(call check_func,dm_hold_control_dev,$(DEVMAPPER_INCDIR)/libdevmapper.h),0)
--	CPPFLAGS += -DLIBDM_API_HOLD_CONTROL
--endif
--
--ifneq ($(call check_var,ELS_DTAG_LNK_INTEGRITY,$(LINUX_HEADERS_INCDIR)/scsi/fc/fc_els.h),0)
--	CPPFLAGS += -DFPIN_EVENT_HANDLER
--endif
-+CPPFLAGS += -DLIBDM_API_FLUSH
-+CPPFLAGS += -DLIBDM_API_GET_ERRNO
-+CPPFLAGS += -DLIBDM_API_COOKIE
-+CPPFLAGS += -DLIBUDEV_API_RECVBUF
-+CPPFLAGS += -DLIBDM_API_DEFERRED
-+CPPFLAGS += -DLIBDM_API_HOLD_CONTROL
-+CPPFLAGS += -DFPIN_EVENT_HANDLER
- 
- # object files referencing MULTIPATH_DIR or CONFIG_DIR
- # they need to be recompiled for unit tests
--- 
-2.38.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch
deleted file mode 100644
index 2d043c3..0000000
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 820d2ef3596189041da43d1139da8689336bb918 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 26 Nov 2018 11:19:45 +0800
-Subject: [PATCH] Subject: [PATCH] Always use devmapper for kpartx
-
-Do not try to compute the LIBDM_API_COOKIE make variable
-from host information when cross-compiling.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-Rebase to 0.7.1
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Rebase to 0.7.7
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-Rebase to 0.7.9
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-[OP: Rebase to 0.9.3]
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- kpartx/Makefile | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/kpartx/Makefile b/kpartx/Makefile
-index 742d3bcd..d886483d 100644
---- a/kpartx/Makefile
-+++ b/kpartx/Makefile
-@@ -9,9 +9,7 @@ LDFLAGS += $(BIN_LDFLAGS)
- 
- LIBDEPS += -ldevmapper
- 
--ifneq ($(call check_func,dm_task_set_cookie,$(DEVMAPPER_INCDIR)/libdevmapper.h),0)
--	CPPFLAGS += -DLIBDM_API_COOKIE
--endif
-+CPPFLAGS += -DLIBDM_API_COOKIE
- 
- OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \
- 	gpt.o mac.o ps3.o crc32.o lopart.o xstrncpy.o devmapper.o
--- 
-2.38.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0032-libdmmp-Makefile-replace-perl-with-sed-in-install-ta.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0032-libdmmp-Makefile-replace-perl-with-sed-in-install-ta.patch
deleted file mode 100644
index ec123b2..0000000
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0032-libdmmp-Makefile-replace-perl-with-sed-in-install-ta.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 21a8680b7bd436867ac689a0b4b1b18a3359e208 Mon Sep 17 00:00:00 2001
-From: Geoff Parker <geoffrey.parker@arthrex.com>
-Date: Fri, 9 Oct 2020 17:48:47 +0000
-Subject: [PATCH] libdmmp/Makefile: replace perl with sed in install target to
- work with pseudo
-
-The multipath-tools libdmmp/Makefile install target uses 'perl -i' instead
-of 'sed -i' for string substitutions. The perl method creates a temporary file
-and overwrites the original which changes the inodes and corrupts the pseudo
-db. Changes to pseduo cause a build abort rather than allow possible bad
-ownership or permissions settings on the files. 'sed -i' is compatible
-with pseudo.
-
-Signed-off-by: Geoff Parker <geoffrey.parker@arthrex.com>
-[OP: Rebase to 0.9.3]
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
-Upstream-Status: Pending
-
- libdmmp/Makefile | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/libdmmp/Makefile b/libdmmp/Makefile
-index e4589250..34e06425 100644
---- a/libdmmp/Makefile
-+++ b/libdmmp/Makefile
-@@ -39,11 +39,11 @@ install:
- 	$(LN) $(LIBS) $(DESTDIR)$(usrlibdir)/$(DEVLIB)
- 	$(INSTALL_PROGRAM) -m 644 -D \
- 		$(PKGFILE).in $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
--	perl -i -pe 's|__VERSION__|$(LIBDMMP_VERSION)|g' \
-+	sed -i 's|__VERSION__|$(LIBDMMP_VERSION)|g' \
- 		$(DESTDIR)$(pkgconfdir)/$(PKGFILE)
--	perl -i -pe 's|__LIBDIR__|$(usrlibdir)|g' \
-+	sed -i 's|__LIBDIR__|$(usrlibdir)|g' \
- 		$(DESTDIR)$(pkgconfdir)/$(PKGFILE)
--	perl -i -pe 's|__INCLUDEDIR__|$(includedir)|g' \
-+	sed -i 's|__INCLUDEDIR__|$(includedir)|g' \
- 		$(DESTDIR)$(pkgconfdir)/$(PKGFILE)
- 	$(INSTALL_PROGRAM) -d 755 $(DESTDIR)$(man3dir)
- 	$(INSTALL_PROGRAM) -m 644 -t $(DESTDIR)$(man3dir) docs/man/*.3
--- 
-2.38.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.3.bb b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.8.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.3.bb
rename to meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.8.bb
index a7a9019..df95df6 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.8.bb
@@ -32,25 +32,23 @@
 SRC_URI = "git://github.com/opensvc/multipath-tools.git;protocol=https;branch=master \
            file://multipathd.oe \
            file://multipath.conf.example \
-           file://0021-RH-fixup-udev-rules-for-redhat.patch \
-           file://0022-RH-Remove-the-property-blacklist-exception-builtin.patch \
-           file://0023-RH-don-t-start-without-a-config-file.patch \
-           file://0024-RH-use-rpm-optflags-if-present.patch \
-           file://0025-RH-add-mpathconf.patch \
-           file://0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \
-           file://0027-RH-warn-on-invalid-regex-instead-of-failing.patch \
-           file://0028-RH-reset-default-find_mutipaths-value-to-off.patch \
-           file://0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch \
-           file://0030-Always-use-devmapper.patch \
-           file://0031-Always-use-devmapper-for-kpartx.patch \
-           file://0032-libdmmp-Makefile-replace-perl-with-sed-in-install-ta.patch \
-           file://0001-fix-bug-of-do_compile-and-do_install.patch \
-           file://0001-add-explicit-dependency-on-libraries.patch \
+           file://0001-RH-fixup-udev-rules-for-redhat.patch \
+           file://0002-RH-Remove-the-property-blacklist-exception-builtin.patch \
+           file://0003-RH-don-t-start-without-a-config-file.patch \
+           file://0004-RH-use-rpm-optflags-if-present.patch \
+           file://0005-RH-add-mpathconf.patch \
+           file://0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \
+           file://0007-RH-warn-on-invalid-regex-instead-of-failing.patch \
+           file://0008-RH-reset-default-find_mutipaths-value-to-off.patch \
+           file://0009-multipath-tools-modify-create-config.mk-for-cross-co.patch \
+           file://0010-Subject-PATCH-Always-use-devmapper.patch \
+           file://0011-fix-bug-of-do_compile-and-do_install.patch \
+           file://0012-add-explicit-dependency-on-libraries.patch \
            "
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
 
-SRCREV = "1332947447133fdf26246012b836868a3d974f0e"
+SRCREV = "3daacfdfd110b24a3a7d5a276dcf8512b7039199"
 
 S = "${WORKDIR}/git"
 
@@ -103,6 +101,7 @@
     ${D}${sysconfdir}/multipath.conf.example
 }
 
+FILES:${PN} += "${systemd_system_unitdir}"
 FILES:${PN}-dbg += "${base_libdir}/multipath/.debug"
 
 PACKAGES =+ "${PN}-libs"
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.16.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.6.7.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.16.bb
rename to meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.6.7.bb
index 8d13a4d..e807fde 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.16.bb
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.6.7.bb
@@ -21,7 +21,7 @@
     file://0001-build-top.mk-unset-STRIP_OPTS.patch \
 "
 
-SRC_URI[sha256sum] = "546ba591822e8bb0e467d40c4d4a30f89d937c3a507fe83a578f582f6a211327"
+SRC_URI[sha256sum] = "cd775f625c944ed78a3da18a03b03b08eea73c8aabc97b41bb336e9a10954930"
 
 DEPENDS = "util-linux groff-native"
 
@@ -62,7 +62,7 @@
 # The backend must be set by the configuration.  This controls the
 # required database.
 #
-# Backends="asyncmeta dnssrv ldap mdb meta ndb null passwd perl relay sock sql wt"
+# Backends="asyncmeta dnssrv ldap mdb meta null passwd perl relay sock sql wt"
 #
 # Note that multiple backends can be built.  The ldbm backend requires a
 # build-time choice of database API. To use the gdbm (or other) API the 
@@ -85,9 +85,6 @@
 #--enable-meta         enable metadirectory backend no|yes|mod no
 PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no,"
 
-#--enable-ndb          enable MySQL NDB Cluster backend no|yes|mod [no]
-PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no,"
-
 #--enable-null         enable null backend no|yes|mod no
 PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no,"
 
@@ -122,7 +119,7 @@
 
 #--enable-proxycache   Proxy Cache overlay no|yes|mod no
 PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no,"
-FILES:${PN}-overlay-proxycache = "${md}/pcache-*.so.*"
+FILES:${PN}-overlay-proxycache = "${md}/pcache.so.*"
 PACKAGES += "${PN}-overlay-proxycache"
 
 # Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS:
@@ -215,7 +212,7 @@
 python populate_packages:prepend () {
     backend_dir    = d.expand('${libexecdir}/openldap')
     do_split_packages(d, backend_dir, r'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True)
-    do_split_packages(d, backend_dir, r'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True)
+    do_split_packages(d, backend_dir, r'back_([a-z]*)\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True)
 
     metapkg = "${PN}-backends"
     d.setVar('ALLOW_EMPTY:' + metapkg, "1")
diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.0.1.bb b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.6.0.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.0.1.bb
rename to meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.6.0.bb
index 77a5e67..4cc5d84 100644
--- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.6.0.bb
@@ -10,10 +10,10 @@
 HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system"
 
 LICENSE = "GPL-2.0-only & LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=71d15c2fb22f43e1a380f3f799ebde30"
+LIC_FILES_CHKSUM = "file://COPYING;md5=924958cefc9f7de3e0b818832b8a1cec"
 
 # util-linux added to get libuuid
-DEPENDS = "libpcre flex glib-2.0 openssl util-linux bison-native"
+DEPENDS = "libpcre flex glib-2.0 openssl util-linux bison-native curl"
 
 SRC_URI = "https://github.com/balabit/syslog-ng/releases/download/${BP}/${BP}.tar.gz \
            file://syslog-ng.conf.systemd \
@@ -26,7 +26,7 @@
 "
 SRC_URI:append:powerpc64le = " file://0001-plugin.c-workaround-powerpc64le-segfaults-error.patch"
 
-SRC_URI[sha256sum] = "c16eafe447191c079f471846182876b7919d3d789af8c1f9fe55ab14521ceb2c"
+SRC_URI[sha256sum] = "b69e3360dfb96a754a4e1cbead4daef37128b1152a23572356db4ab64a475d4f"
 
 UPSTREAM_CHECK_URI = "https://github.com/balabit/syslog-ng/releases"
 
diff --git a/meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.14.0.bb b/meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.14.0.bb
index 8c75f93..1b05f3d 100644
--- a/meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.14.0.bb
+++ b/meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.14.0.bb
@@ -10,11 +10,17 @@
 SRCREV = "f8d7d77c06936315286eb55f8de22cd23c188571"
 SRC_URI = "git://github.com/google/googletest.git;branch=main;protocol=https"
 
-inherit cmake
+inherit cmake pkgconfig
+
+# allow for shared libraries, but do not default to them
+#
+PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
+
 
 ALLOW_EMPTY:${PN} = "1"
 ALLOW_EMPTY:${PN}-dbg = "1"
 
+ALLOW_EMPTY:${PN}-staticdev = "1"
 RDEPENDS:${PN}-dev += "${PN}-staticdev"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-test/syzkaller/syzkaller_git.bb b/meta-openembedded/meta-oe/recipes-test/syzkaller/syzkaller_git.bb
index 2adc06a..b43207f 100644
--- a/meta-openembedded/meta-oe/recipes-test/syzkaller/syzkaller_git.bb
+++ b/meta-openembedded/meta-oe/recipes-test/syzkaller/syzkaller_git.bb
@@ -10,7 +10,13 @@
            file://0001-sys-targets-targets.go-allow-users-to-override-hardc.patch;patchdir=src/${GO_IMPORT} \
            file://0001-executor-Include-missing-linux-falloc.h.patch;patchdir=src/${GO_IMPORT} \
            "
-SRCREV = "6d01f20890edf11b99bb54573025b11c1acd2d52"
+SRCREV = "25905f5d0a2a7883bd33491997556193582c6059"
+
+export GOPROXY = "https://proxy.golang.org,direct"
+# Workaround for network access issue during compile step.
+# This needs to be fixed in the recipes buildsystem so that
+# it can be accomplished during do_fetch task.
+do_compile[network] = "1"
 
 COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux"
 
@@ -26,6 +32,8 @@
 
 CGO_ENABLED = "1"
 
+LDFLAGS:append:class-target = "${@bb.utils.contains_any("TC_CXX_RUNTIME", "llvm android", " -lc++", " -lstdc++", d)}"
+
 DEPENDS:class-native += "qemu-system-native"
 
 do_compile:class-native() {
@@ -46,7 +54,7 @@
     unset GOOS
     unset GOARCH
 
-    oe_runmake GO="${GO}" CC="${CXX}" CFLAGS="${CXXFLAGS} ${LDFLAGS}" REV=${SRCREV} target
+    oe_runmake GO="${GO}" CFLAGS="${CXXFLAGS} ${LDFLAGS}" REV=${SRCREV} target
 }
 
 do_install:class-native() {
diff --git a/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc b/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc
index 2289448..5d9eb0f 100644
--- a/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc
+++ b/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc
@@ -17,7 +17,9 @@
     python3-click \
     python3-dominate \
     python3-execnet \
+    python3-freezegun \
     python3-geojson \
+    python3-gpiod \
     python3-gunicorn \
     python3-html2text \
     python3-inflection \
@@ -29,6 +31,7 @@
     python3-jsmin \
     python3-msgpack \
     python3-multidict \
+    python3-netaddr \
     python3-ordered-set \
     python3-parse \
     python3-parse-type \
@@ -64,13 +67,17 @@
     python3-u-msgpack-python \
     python3-unidiff \
     python3-uritemplate \
+    python3-wrapt \
+    python3-xlrd \
     python3-xmltodict \
     python3-xxhash \
     python3-yarl \
 "
 
 PTESTS_SLOW_META_PYTHON = "\
+    python3-arrow \
     python3-lz4 \
+    python3-marshmallow \
     python3-yappi \
 "
 
@@ -78,11 +85,9 @@
     python3-betamax \
     python3-dnspython \
     python3-fastjsonschema \
-    python3-gpiod \
     python3-pillow \
     python3-pint \
     python3-pyzmq \
     python3-scrypt \
     python3-whoosh \
-    python3-xlrd \
 "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohappyeyeballs_2.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohappyeyeballs_2.3.2.bb
index 0ca4834..edad28e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohappyeyeballs_2.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohappyeyeballs_2.3.2.bb
@@ -8,5 +8,5 @@
 
 inherit pypi python_poetry_core
 
-BBCLASSSEXTEND = "native nativesdk"
+BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-arrow/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-arrow/run-ptest
new file mode 100644
index 0000000..8d2017d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-arrow/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-arrow_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-arrow_1.3.0.bb
index 90ba5de..c1b7c1a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-arrow_1.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-arrow_1.3.0.bb
@@ -1,13 +1,35 @@
 SUMMARY = "Better dates and times for Python"
-HOMEPAGE = "https://github.com/crsmithdev/arrow"
+HOMEPAGE = "https://github.com/arrow-py/arrow"
 SECTION = "devel/python"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=14a2e29a9d542fb9052d75344d67619d"
 
 SRC_URI[sha256sum] = "d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"
 
-inherit setuptools3 pypi
+inherit pypi python_flit_core ptest
+
+SRC_URI += " \
+    file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+    python3-dateutil-zoneinfo \
+    python3-pytest \
+    python3-pytest-mock \
+    python3-pytz \
+    python3-simplejson \
+    python3-unittest-automake-output \
+"
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/tests
+    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
 
 RDEPENDS:${PN} += " \
-        python3-dateutil \
-        "
+    python3-compression \
+    python3-dateutil \
+    python3-dateutil-zoneinfo \
+    python3-json \
+    python3-types-python-dateutil \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax/0001-Drop-ptests-fixtures-and-recorde_modes.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax/0001-Drop-ptests-fixtures-and-recorde_modes.patch
index 7adcb68..52745a9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax/0001-Drop-ptests-fixtures-and-recorde_modes.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax/0001-Drop-ptests-fixtures-and-recorde_modes.patch
@@ -1,7 +1,7 @@
-From 0e0b63ae80df5d7849b2e1c5ab9a668e8378b5e8 Mon Sep 17 00:00:00 2001
+From e5aa66b1af2d49f159c4daefc598f96744ee988d Mon Sep 17 00:00:00 2001
 From: Zhixiong Chi <zhixiong.chi@windriver.com>
-Date: Tue, 28 Mar 2023 06:05:45 +0000
-Subject: [PATCH] Drop ptests fixtures and recorde_modes
+Date: Thu, 29 Feb 2024 12:31:58 -0800
+Subject: [PATCH] [PATCH] Drop ptests fixtures and recorde_modes
 
 The usage of fixture in test_fixtures has been deprecated.
 See https://docs.pytest.org/en/stable/explanation/fixtures.html and
@@ -12,14 +12,15 @@
 diff for each request.
 It leads to ptest failure, so drop it now until we find the solution.
 
-Upstream-Status: Inappropriate [oe specific]
+Upstream-Status: Inappropriate [OE-Specific]
 
 Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
  tests/integration/test_fixtures.py     |  60 -----------
- tests/integration/test_record_modes.py | 132 -------------------------
- tests/unit/test_fixtures.py            |  94 ------------------
- 3 files changed, 286 deletions(-)
+ tests/integration/test_record_modes.py | 141 -------------------------
+ tests/unit/test_fixtures.py            |  94 -----------------
+ 3 files changed, 295 deletions(-)
  delete mode 100644 tests/integration/test_fixtures.py
  delete mode 100644 tests/integration/test_record_modes.py
  delete mode 100644 tests/unit/test_fixtures.py
@@ -92,10 +93,12 @@
 -    assert True
 diff --git a/tests/integration/test_record_modes.py b/tests/integration/test_record_modes.py
 deleted file mode 100644
-index 58c8846..0000000
+index 988b851..0000000
 --- a/tests/integration/test_record_modes.py
 +++ /dev/null
-@@ -1,132 +0,0 @@
+@@ -1,141 +0,0 @@
+-import re
+-
 -from betamax import Betamax, BetamaxError
 -
 -from tests.integration.helper import IntegrationHelper
@@ -137,8 +140,15 @@
 -            # this test to succeed.
 -            # NOTE(hroncok): httpbin.org added X-Processed-Time header that
 -            # can possibly differ (and often does)
+-            r0_content = r0.content.decode(encoding='utf-8', errors='strict')
+-            r1_content = r1.content.decode(encoding='utf-8', errors='strict')
+-            r0_content = re.sub('"X-Amzn-Trace-Id": "[^"]+"', '"X-Amzn-Trace-Id": ""', r0_content)
+-            r1_content = re.sub('"X-Amzn-Trace-Id": "[^"]+"', '"X-Amzn-Trace-Id": ""', r1_content)
+-            # NOTE(jhatler): httpbin.org added "X-Amzn-Trace-Id" to their
+-            # response, which is a unique ID that will differ between requests.
+-            # We remove it from the response body before comparing.
 -            assert r0_headers == r1_headers
--            assert r0.content == r1.content
+-            assert r0_content == r1_content
 -
 -
 -class TestRecordNone(IntegrationHelper):
@@ -230,7 +240,7 @@
 -            assert len(cassette.interactions) == 5
 diff --git a/tests/unit/test_fixtures.py b/tests/unit/test_fixtures.py
 deleted file mode 100644
-index 387d9ce..0000000
+index 41f33eb..0000000
 --- a/tests/unit/test_fixtures.py
 +++ /dev/null
 @@ -1,94 +0,0 @@
@@ -263,9 +273,9 @@
 -        # Mock a pytest request object
 -        request = mock.MagicMock()
 -        request.cls = request.module = None
--        request.function.__name__ = 'test'
+-        request.node.name = request.function.__name__ = 'test'
 -
--        pytest_fixture.betamax_recorder(request)
+-        pytest_fixture._betamax_recorder(request)
 -        assert request.addfinalizer.called is True
 -        request.addfinalizer.assert_called_once_with(self.mocked_betamax.stop)
 -
@@ -273,9 +283,9 @@
 -        # Mock a pytest request object
 -        request = mock.MagicMock()
 -        request.cls = request.module = None
--        request.function.__name__ = 'test'
+-        request.node.name = request.function.__name__ = 'test'
 -
--        pytest_fixture.betamax_recorder(request)
+-        pytest_fixture._betamax_recorder(request)
 -        self.mocked_betamax.start.assert_called_once_with()
 -
 -
@@ -329,5 +339,5 @@
 -
 -        recorder.stop.assert_called_once_with()
 -- 
-2.35.5
+2.44.0
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax_0.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax_0.9.0.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-betamax_0.8.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-betamax_0.9.0.bb
index 468a107..a045468 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax_0.8.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax_0.9.0.bb
@@ -7,9 +7,7 @@
         file://run-ptest \
         file://0001-Drop-ptests-fixtures-and-recorde_modes.patch \
 "
-
-SRC_URI[md5sum] = "b8182d43a200fc126a3bf7555626f964"
-SRC_URI[sha256sum] = "5bf004ceffccae881213fb722f34517166b84a34919b92ffc14d1dbd050b71c2"
+SRC_URI[sha256sum] = "82316e1679bc6879e3c83318d016b54b7c9225ff08c4462de4813e22038d5f94"
 
 inherit pypi setuptools3 ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.8.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.9.0.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.8.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.9.0.bb
index c8e8a45..bcb68d7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.8.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.9.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "BSD-3-Clause & Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e3155c7bdc71f66e02678411d2abf996"
 
-SRC_URI[sha256sum] = "0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"
+SRC_URI[sha256sum] = "78e73e19c63f5b20ffa567001531680d939dc042bf7850431877645523c66709"
 
 PYPI_PACKAGE = "python-dateutil"
 PIP_INSTALL_PACKAGE = "python_dateutil"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.18.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.18.0.bb
index 6b74f72..b2e969c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.18.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.18.0.bb
@@ -27,6 +27,7 @@
     python3-pytest \
     python3-pytest-benchmark \
     python3-pytest-cache \
+    python3-statistics \
     python3-unittest-automake-output \
 "
 RDEPENDS:${PN} += "\
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-freezegun/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-freezegun/run-ptest
new file mode 100644
index 0000000..8d2017d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-freezegun/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-freezegun_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-freezegun_1.4.0.bb
new file mode 100644
index 0000000..15c0bf0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-freezegun_1.4.0.bb
@@ -0,0 +1,29 @@
+SUMMARY = "FreezeGun is a library that allows your Python tests to travel through time by mocking the datetime module."
+HOMEPAGE = "https://github.com/spulec/freezegun"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=acf1d209bb6eddae4cbe6ffd6a0144fe"
+
+SRC_URI[sha256sum] = "10939b0ba0ff5adaecf3b06a5c2f73071d9678e507c5eaedb23c761d56ac774b"
+
+inherit pypi python_setuptools_build_meta ptest
+
+SRC_URI += " \
+        file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+        python3-pytest \
+        python3-sqlite3 \
+        python3-unittest-automake-output \
+"
+
+do_install_ptest() {
+        install -d ${D}${PTEST_PATH}/tests
+        cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+RDEPENDS:${PN} = "\
+        python3-asyncio \
+        python3-dateutil \
+        python3-unittest \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.28.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.28.1.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.28.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.28.1.bb
index 5799db4..4524cca 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.28.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.28.1.bb
@@ -5,7 +5,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "3cfc1b6e4e64797584fb53fc9bd0b7afa9b7c0dba2004fa7dcc9349e58cc3195"
+SRC_URI[sha256sum] = "34fc3046c257cedcf1622fc4b31fc2be7923d9b4d44973d481125ecc50d83885"
 
 RDEPENDS:${PN} += "\
     python3-asyncio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.1.3.bb
index 0dbb38d..d8c8628 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.1.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.1.3.bb
@@ -24,6 +24,7 @@
     libgpiod-ptest \
     python3-setuptools \
 "
+RRECOMMENDS:${PN}-ptest += "kernel-module-configfs"
 
 export LINK_SYSTEM_LIBGPIOD = "1"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow/run-ptest
new file mode 100644
index 0000000..8d2017d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.20.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.20.2.bb
deleted file mode 100644
index c08aec5..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.20.2.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-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."
-HOMEPAGE = "https://github.com/marshmallow-code/marshmallow"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "\
-                    file://LICENSE;md5=653847350fed2e0e7b02791a35b98d59 \
-                    file://docs/license.rst;md5=13da439ad060419fb7cf364523017cfb"
-
-SRC_URI[sha256sum] = "4c1daff273513dc5eb24b219a8035559dc573c8f322558ef85f5438ddd1236dd"
-
-inherit setuptools3 pypi
-
-PIP_INSTALL_PACKAGE = "marshmallow"
-
-RDEPENDS:${PN} += " \
-	python3-core \
-	python3-datetime \
-	python3-netclient \
-	python3-numbers \
-	python3-json \
-	python3-pprint \
-	python3-packaging \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.21.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.21.1.bb
new file mode 100644
index 0000000..5a0a79a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.21.1.bb
@@ -0,0 +1,40 @@
+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."
+HOMEPAGE = "https://github.com/marshmallow-code/marshmallow"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "\
+                    file://LICENSE;md5=27586b20700d7544c06933afe56f7df4 \
+                    file://docs/license.rst;md5=13da439ad060419fb7cf364523017cfb"
+
+SRC_URI[sha256sum] = "4e65e9e0d80fc9e609574b9983cf32579f305c718afb30d7233ab818571768c3"
+
+inherit python_flit_core pypi ptest
+
+PIP_INSTALL_PACKAGE = "marshmallow"
+
+SRC_URI += " \
+        file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+        python3-pytest \
+        python3-pytz \
+        python3-simplejson \
+        python3-unittest-automake-output \
+"
+
+do_install_ptest() {
+        install -d ${D}${PTEST_PATH}/tests
+        rm -rf ${S}/tests/mypy_test_cases
+        cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+RDEPENDS:${PN} += " \
+        python3-compression \
+        python3-datetime \
+        python3-email \
+        python3-json \
+        python3-numbers \
+        python3-pprint \
+        python3-packaging \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr/run-ptest
new file mode 100644
index 0000000..8d2017d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.10.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.10.1.bb
deleted file mode 100644
index ce16cc1..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.10.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "A network address manipulation library for Python."
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e6345d695ffe3776f68a56fe7962db44"
-
-SRC_URI[sha256sum] = "f4da4222ca8c3f43c8e18a8263e5426c750a3a837fdfeccf74c68d0408eaa3bf"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
-    python3-io \
-    python3-pprint \
-    python3-xml \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_1.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_1.2.1.bb
new file mode 100644
index 0000000..082e7c5
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_1.2.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A network address manipulation library for Python."
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=8afa43eca873b71d5d85dd0be1f707fa"
+
+SRC_URI[sha256sum] = "6eb8fedf0412c6d294d06885c110de945cf4d22d2b510d0404f4e06950857987"
+
+inherit pypi python_setuptools_build_meta ptest
+
+SRC_URI += " \
+        file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+    python3-pytest \
+    python3-unittest-automake-output \
+"
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/tests
+    cp -rf ${S}/netaddr/tests/* ${D}${PTEST_PATH}/tests/
+}
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb
index 5793db5..ca602d2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb
@@ -34,6 +34,7 @@
     ${PN}-test \
     python3-pytest \
     python3-unittest-automake-output \
+    python3-unixadmin \
 "
 
 do_compile:prepend() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-python-dateutil_2.8.19.20240106.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-python-dateutil_2.8.19.20240106.bb
new file mode 100644
index 0000000..2075d96
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-python-dateutil_2.8.19.20240106.bb
@@ -0,0 +1,8 @@
+SUMMARY = "Typing stubs for python-dateutil"
+HOMEPAGE = "https://github.com/python/typeshed"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=ef4dc1e740f5c928f1608a4a9c7b578e"
+
+SRC_URI[sha256sum] = "1f8db221c3b98e6ca02ea83a58371b22c374f42ae5bbdf186db9c9a76581459f"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt/run-ptest
new file mode 100644
index 0000000..8d2017d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.16.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.16.0.bb
index 84c0528..056323c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.16.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.16.0.bb
@@ -6,7 +6,21 @@
 
 SRC_URI[sha256sum] = "5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"
 
-inherit pypi setuptools3 
+inherit pypi setuptools3 ptest
+
+SRC_URI += " \
+	file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+	python3-pytest \
+	python3-unittest-automake-output \
+"
+
+do_install_ptest() {
+	install -d ${D}${PTEST_PATH}/tests
+	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
 
 RDEPENDS:${PN}:class-target += "\
     python3-stringold \
diff --git a/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.13.1.bb b/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.13.1.bb
index 4aac89f..dcae982 100644
--- a/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.13.1.bb
+++ b/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.13.1.bb
@@ -4,9 +4,9 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=35d145429ad3cbf5308d1dc93f66376b"
 
-DEPENDS = "exo libexif libxfce4ui libxfce4util xfconf cairo file"
+DEPENDS = "exo libexif libxfce4ui libxfce4util xfconf cairo file glib-2.0-native python3-packaging-native"
 
-inherit xfce-app mime-xdg
+inherit xfce-app mime-xdg python3native
 
 RRECOMMENDS:${PN} += "tumbler"
 
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.8.2.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.8.2.bb
index 7dbd90c..96cfd32 100644
--- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.8.2.bb
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.8.2.bb
@@ -10,9 +10,11 @@
     libxfce4ui \
     xfconf \
     xfce4-panel \
+    python3-packaging-native \
 "
 
 inherit xfce-app
+inherit python3native
 
 SRC_URI:append = " file://xfce4-notifyd-get-var-abs-path.patch"
 
diff --git a/meta-raspberrypi/conf/machine/include/rpi-base.inc b/meta-raspberrypi/conf/machine/include/rpi-base.inc
index ff0480a..e36b460 100644
--- a/meta-raspberrypi/conf/machine/include/rpi-base.inc
+++ b/meta-raspberrypi/conf/machine/include/rpi-base.inc
@@ -26,9 +26,15 @@
     overlays/gpio-poweroff.dtbo \
     overlays/gpio-shutdown.dtbo \
     overlays/hifiberry-amp.dtbo \
+    overlays/hifiberry-amp100.dtbo \
+    overlays/hifiberry-amp3.dtbo \
+    overlays/hifiberry-amp4pro.dtbo \
     overlays/hifiberry-dac.dtbo \
     overlays/hifiberry-dacplus.dtbo \
     overlays/hifiberry-dacplusadcpro.dtbo \
+    overlays/hifiberry-dacplusdsp.dtbo \
+    overlays/hifiberry-dacplushd.dtbo \
+    overlays/hifiberry-digi-pro.dtbo \
     overlays/hifiberry-digi.dtbo \
     overlays/justboom-both.dtbo \
     overlays/justboom-dac.dtbo \
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index ac0f4df..3529531 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -1115,7 +1115,8 @@
             logger.debug("Mirror fetch failure for url %s (original url: %s)" % (ud.url, origud.url))
             logger.debug(str(e))
         try:
-            ud.method.clean(ud, ld)
+            if ud.method.cleanup_upon_failure():
+                ud.method.clean(ud, ld)
         except UnboundLocalError:
             pass
         return False
@@ -1440,6 +1441,12 @@
         """
         return False
 
+    def cleanup_upon_failure(self):
+        """
+        When a fetch fails, should clean() be called?
+        """
+        return True
+
     def verify_donestamp(self, ud, d):
         """
         Verify the donestamp file
@@ -1885,7 +1892,7 @@
                             logger.debug(str(e))
                         firsterr = e
                         # Remove any incomplete fetch
-                        if not verified_stamp:
+                        if not verified_stamp and m.cleanup_upon_failure():
                             m.clean(ud, self.d)
                         logger.debug("Trying MIRRORS")
                         mirrors = mirror_from_string(self.d.getVar('MIRRORS'))
diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py
index b43ee0d..b9dc576 100644
--- a/poky/bitbake/lib/bb/fetch2/git.py
+++ b/poky/bitbake/lib/bb/fetch2/git.py
@@ -150,6 +150,9 @@
     def supports_checksum(self, urldata):
         return False
 
+    def cleanup_upon_failure(self):
+        return False
+
     def urldata_init(self, ud, d):
         """
         init git specific variable within url data
diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py
index 068b631..ad13d04 100644
--- a/poky/bitbake/lib/bb/utils.py
+++ b/poky/bitbake/lib/bb/utils.py
@@ -604,7 +604,6 @@
     v = [
         'BBPATH',
         'BB_PRESERVE_ENV',
-        'BB_ENV_PASSTHROUGH',
         'BB_ENV_PASSTHROUGH_ADDITIONS',
     ]
     return v + preserved_envvars_exported()
diff --git a/poky/bitbake/lib/prserv/serv.py b/poky/bitbake/lib/prserv/serv.py
index 62d3b5a..5fc8863 100644
--- a/poky/bitbake/lib/prserv/serv.py
+++ b/poky/bitbake/lib/prserv/serv.py
@@ -262,8 +262,11 @@
             os.kill(pid, signal.SIGTERM)
             time.sleep(0.1)
 
-        if os.path.exists(pidfile):
+        try:
             os.remove(pidfile)
+        except FileNotFoundError:
+            # The PID file might have been removed by the exiting process
+            pass
 
     except OSError as e:
         err = str(e)
diff --git a/poky/documentation/contributor-guide/submit-changes.rst b/poky/documentation/contributor-guide/submit-changes.rst
index 61f3157..59f3c1e 100644
--- a/poky/documentation/contributor-guide/submit-changes.rst
+++ b/poky/documentation/contributor-guide/submit-changes.rst
@@ -221,6 +221,38 @@
    <https://www.kernel.org/doc/html/latest/process/submitting-patches.html#using-reported-by-tested-by-reviewed-by-suggested-by-and-fixes>`__
    in the Linux kernel documentation.
 
+Test your changes
+-----------------
+
+For each contributions you make, you should test your changes as well.
+For this the Yocto Project offers several types of tests. Those tests cover
+different areas and it depends on your changes which are feasible. For example run:
+
+   -  For changes that affect the build environment:
+
+      -  ``bitbake-selftest``: for changes within BitBake
+
+      -  ``oe-selftest``: to test combinations of BitBake runs
+
+      -  ``oe-build-perf-test``: to test the performance of common build scenarios
+
+   -  For changes in a recipe:
+
+      - ``ptest``: run package specific tests, if they exist
+
+      - ``testimage``: build an image, boot it and run testcases on it
+
+      - If applicable, ensure also the ``native`` and ``nativesdk`` variants builds
+
+   -  For changes relating to the SDK:
+
+      - ``testsdk``: to build, install and run tests against a SDK
+
+      - ``testsdk_ext``: to build, install and run tests against an extended SDK
+
+Note that this list just gives suggestions and is not exhaustive. More details can
+be found here: :ref:`test-manual/intro:Yocto Project Tests --- Types of Testing Overview`.
+
 Creating Patches
 ================
 
@@ -285,8 +317,9 @@
 ``patchtest`` is available in ``openembedded-core`` as a tool for making
 sure that your patches are well-formatted and contain important info for
 maintenance purposes, such as ``Signed-off-by`` and ``Upstream-Status``
-tags. Currently, it only supports testing patches for
-``openembedded-core`` branches. To setup, perform the following::
+tags. Note that no functional testing of the changes will be performed by ``patchtest``.
+Currently, it only supports testing patches for ``openembedded-core`` branches.
+To setup, perform the following::
 
     pip install -r meta/lib/patchtest/requirements.txt
     source oe-init-build-env
diff --git a/poky/documentation/dev-manual/bmaptool.rst b/poky/documentation/dev-manual/bmaptool.rst
index 9add72c..f6f0e6a 100644
--- a/poky/documentation/dev-manual/bmaptool.rst
+++ b/poky/documentation/dev-manual/bmaptool.rst
@@ -4,10 +4,10 @@
 **********************************
 
 A fast and easy way to flash an image to a bootable device is to use
-Bmaptool, which is integrated into the OpenEmbedded build system.
-Bmaptool is a generic tool that creates a file's block map (bmap) and
+bmaptool, which is integrated into the OpenEmbedded build system.
+bmaptool is a generic tool that creates a file's block map (bmap) and
 then uses that map to copy the file. As compared to traditional tools
-such as dd or cp, Bmaptool can copy (or flash) large files like raw
+such as dd or cp, bmaptool can copy (or flash) large files like raw
 system image files much faster.
 
 .. note::
@@ -20,13 +20,13 @@
          $ sudo apt install bmap-tools
 
    -  If you are unable to install the ``bmap-tools`` package, you will
-      need to build Bmaptool before using it. Use the following command::
+      need to build bmaptool before using it. Use the following command::
 
-         $ bitbake bmap-tools-native
+         $ bitbake bmaptool-native
 
 Following, is an example that shows how to flash a Wic image. Realize
-that while this example uses a Wic image, you can use Bmaptool to flash
-any type of image. Use these steps to flash an image using Bmaptool:
+that while this example uses a Wic image, you can use bmaptool to flash
+any type of image. Use these steps to flash an image using bmaptool:
 
 #. *Update your local.conf File:* You need to have the following set
    in your ``local.conf`` file before building your image::
@@ -39,19 +39,19 @@
 
       $ bitbake image
 
-#. *Flash the Device:* Flash the device with the image by using Bmaptool
+#. *Flash the Device:* Flash the device with the image by using bmaptool
    depending on your particular setup. The following commands assume the
    image resides in the :term:`Build Directory`'s ``deploy/images/`` area:
 
    -  If you have write access to the media, use this command form::
 
-         $ oe-run-native bmap-tools-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
+         $ oe-run-native bmaptool-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
 
    -  If you do not have write access to the media, set your permissions
       first and then use the same command form::
 
          $ sudo chmod 666 /dev/sdX
-         $ oe-run-native bmap-tools-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
+         $ oe-run-native bmaptool-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
 
 For help on the ``bmaptool`` command, use the following command::
 
diff --git a/poky/documentation/dev-manual/device-manager.rst b/poky/documentation/dev-manual/device-manager.rst
index 0343d19..49fc785 100644
--- a/poky/documentation/dev-manual/device-manager.rst
+++ b/poky/documentation/dev-manual/device-manager.rst
@@ -60,10 +60,10 @@
 All devices created by ``devtmpfs`` will be owned by ``root`` and have
 permissions ``0600``.
 
-To have more control over the device nodes, you can use a device manager
-like ``udev`` or ``busybox-mdev``. You choose the device manager by
-defining the ``VIRTUAL-RUNTIME_dev_manager`` variable in your machine or
-distro configuration file. Alternatively, you can set this variable in
+To have more control over the device nodes, you can use a device manager like
+``udev`` or ``busybox-mdev``. You choose the device manager by defining the
+:term:`VIRTUAL-RUNTIME_dev_manager <VIRTUAL-RUNTIME>` variable in your machine
+or distro configuration file. Alternatively, you can set this variable in
 your ``local.conf`` configuration file::
 
    VIRTUAL-RUNTIME_dev_manager = "udev"
diff --git a/poky/documentation/dev-manual/packages.rst b/poky/documentation/dev-manual/packages.rst
index a6e6af0..e5028ff 100644
--- a/poky/documentation/dev-manual/packages.rst
+++ b/poky/documentation/dev-manual/packages.rst
@@ -206,7 +206,7 @@
    part of the shared state (sstate) packages. If you maintain an sstate
    feed, it's expected that either all your building systems that
    contribute to the sstate feed use a shared PR service, or you do not
-   run a PR Service on any of your building systems.
+   run a PR service on any of your building systems.
 
    That's because if you had multiple machines sharing a PR service but
    not their sstate feed, you could end up with "diverging" hashes for
diff --git a/poky/documentation/dev-manual/wic.rst b/poky/documentation/dev-manual/wic.rst
index 312f78c..05e9cb3 100644
--- a/poky/documentation/dev-manual/wic.rst
+++ b/poky/documentation/dev-manual/wic.rst
@@ -503,7 +503,7 @@
 built your image, and boot from the media. You can write the image by using
 ``bmaptool`` or ``dd``::
 
-   $ oe-run-native bmap-tools-native bmaptool copy mkefidisk-201804191017-sda.direct /dev/sdX
+   $ oe-run-native bmaptool-native bmaptool copy mkefidisk-201804191017-sda.direct /dev/sdX
 
 or ::
 
diff --git a/poky/documentation/overview-manual/concepts.rst b/poky/documentation/overview-manual/concepts.rst
index d177ca3..62f2327 100644
--- a/poky/documentation/overview-manual/concepts.rst
+++ b/poky/documentation/overview-manual/concepts.rst
@@ -1375,7 +1375,7 @@
    Lists packages that make up the target part of the SDK (i.e. the part
    built for the target hardware).
 
--  :term:`SDKPATH`: Defines the
+-  :term:`SDKPATHINSTALL`: Defines the
    default SDK installation path offered by the installation script.
 
 -  :term:`SDK_HOST_MANIFEST`:
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst
index 7300020..5aaf8ec 100644
--- a/poky/documentation/ref-manual/classes.rst
+++ b/poky/documentation/ref-manual/classes.rst
@@ -1297,6 +1297,11 @@
    paths to locations on the build host were used. Using such paths
    might result in host contamination of the build output.
 
+-  ``cve_status_not_in_db:`` Checks for each component if CVEs that are ignored
+   via :term:`CVE_STATUS`, that those are (still) reported for this component
+   in the NIST database. If not, a warning is printed. This check is disabled
+   by default.
+
 -  ``debug-deps:`` Checks that all packages except ``-dbg`` packages
    do not depend on ``-dbg`` packages, which would cause a packaging
    bug.
diff --git a/poky/documentation/ref-manual/tasks.rst b/poky/documentation/ref-manual/tasks.rst
index 0db960b..c28cd7a 100644
--- a/poky/documentation/ref-manual/tasks.rst
+++ b/poky/documentation/ref-manual/tasks.rst
@@ -470,9 +470,29 @@
 
    $ bitbake -c cleanall recipe
 
-Typically, you would not normally use the :ref:`ref-tasks-cleanall` task. Do so only
-if you want to start fresh with the :ref:`ref-tasks-fetch`
-task.
+You should never use the :ref:`ref-tasks-cleanall` task in a normal
+scenario. If you want to start fresh with the :ref:`ref-tasks-fetch` task,
+use instead::
+
+  $ bitbake -f -c fetch recipe
+
+.. note::
+
+   The reason to prefer ``bitbake -f -c fetch`` is that the
+   :ref:`ref-tasks-cleanall` task would break in some cases, such as::
+
+      $ bitbake -c fetch    recipe
+      $ bitbake -c cleanall recipe-native
+      $ bitbake -c unpack   recipe
+
+   because after step 1 there is a stamp file for the
+   :ref:`ref-tasks-fetch` task of ``recipe``, and it won't be removed at
+   step 2 because step 2 uses a different work directory. So the unpack task
+   at step 3 will try to extract the downloaded archive and fail as it has
+   been deleted in step 2.
+
+   Note that this also applies to BitBake from concurrent processes when a
+   shared download directory (:term:`DL_DIR`) is setup.
 
 .. _ref-tasks-cleansstate:
 
@@ -496,6 +516,18 @@
 
 .. note::
 
+   Using :ref:`ref-tasks-cleansstate` with a shared :term:`SSTATE_DIR` is
+   not recommended because it could trigger an error during the build of a
+   separate BitBake instance. This is because the builds check sstate "up
+   front" but download the files later, so it if is deleted in the
+   meantime, it will cause an error but not a total failure as it will
+   rebuild it.
+
+   The reliable and preferred way to force a new build is to use ``bitbake
+   -f`` instead.
+
+.. note::
+
    The :ref:`ref-tasks-cleansstate` task cannot remove sstate from a remote sstate
    mirror. If you need to build a target from scratch using remote mirrors, use
    the "-f" option as follows::
diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst
index a0187a6..6e66dc7 100644
--- a/poky/documentation/ref-manual/variables.rst
+++ b/poky/documentation/ref-manual/variables.rst
@@ -3234,6 +3234,14 @@
 
          GROUPADD_PARAM:${PN} = "-r netdev"
 
+      More than one group can be added by separating each set of different
+      groups' parameters with a semicolon.
+
+      Here is an example adding multiple groups from the ``useradd-example.bb``
+      file in the ``meta-skeleton`` layer::
+
+         GROUPADD_PARAM:${PN} = "-g 880 group1; -g 890 group2"
+
       For information on the standard Linux shell command
       ``groupadd``, see https://linux.die.net/man/8/groupadd.
 
@@ -6742,11 +6750,11 @@
 
       .. note::
 
-         A corresponding mechanism for virtual runtime dependencies
-         (packages) exists. However, the mechanism does not depend on any
-         special functionality beyond ordinary variable assignments. For
-         example, ``VIRTUAL-RUNTIME_dev_manager`` refers to the package of
-         the component that manages the ``/dev`` directory.
+         A corresponding mechanism for virtual runtime dependencies (packages)
+         exists. However, the mechanism does not depend on any special
+         functionality beyond ordinary variable assignments. For example,
+         :term:`VIRTUAL-RUNTIME_dev_manager <VIRTUAL-RUNTIME>` refers to the
+         package of the component that manages the ``/dev`` directory.
 
          Setting the "preferred provider" for runtime dependencies is as
          simple as using the following assignment in a configuration file::
@@ -7598,6 +7606,10 @@
          configuration will not take effect.
 
    :term:`SDKPATH`
+      Defines the path used to collect the SDK components and build the
+      installer.
+
+   :term:`SDKPATHINSTALL`
       Defines the path offered to the user for installation of the SDK that
       is generated by the OpenEmbedded build system. The path appears as
       the default location for installing the SDK when you run the SDK's
@@ -7607,7 +7619,7 @@
    :term:`SDKTARGETSYSROOT`
       The full path to the sysroot used for cross-compilation within an SDK
       as it will be when installed into the default
-      :term:`SDKPATH`.
+      :term:`SDKPATHINSTALL`.
 
    :term:`SECTION`
       The section in which packages should be categorized. Package
@@ -9854,6 +9866,33 @@
       Additionally, you should also set the
       :term:`USERADD_ERROR_DYNAMIC` variable.
 
+   :term:`VIRTUAL-RUNTIME`
+      :term:`VIRTUAL-RUNTIME` is a commonly used prefix for defining virtual
+      packages for runtime usage, typically for use in :term:`RDEPENDS`
+      or in image definitions.
+
+      An example is ``VIRTUAL-RUNTIME_base-utils`` that makes it possible
+      to either use BusyBox based utilities::
+
+         VIRTUAL-RUNTIME_base-utils = "busybox"
+
+      or their full featured implementations from GNU Coreutils
+      and other projects::
+
+         VIRTUAL-RUNTIME_base-utils = "packagegroup-core-base-utils"
+
+      Here are two examples using this virtual runtime package. The
+      first one is in :yocto_git:`initramfs-framework_1.0.bb
+      </poky/tree/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb?h=scarthgap>`::
+
+         RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_base-utils}"
+
+      The second example is in the :yocto_git:`core-image-initramfs-boot
+      </poky/tree/meta/recipes-core/images/core-image-initramfs-boot.bb?h=scarthgap>`
+      image definition::
+
+         PACKAGE_INSTALL = "${INITRAMFS_SCRIPTS} ${VIRTUAL-RUNTIME_base-utils} base-passwd"
+
    :term:`VOLATILE_LOG_DIR`
       Specifies the persistence of the target's ``/var/log`` directory,
       which is used to house postinstall target log files.
diff --git a/poky/meta-poky/conf/templates/default/local.conf.sample b/poky/meta-poky/conf/templates/default/local.conf.sample
index 5fb6944..1a93c9b 100644
--- a/poky/meta-poky/conf/templates/default/local.conf.sample
+++ b/poky/meta-poky/conf/templates/default/local.conf.sample
@@ -31,6 +31,7 @@
 # demonstration purposes:
 #
 #MACHINE ?= "beaglebone-yocto"
+#MACHINE ?= "genericarm64"
 #MACHINE ?= "genericx86"
 #MACHINE ?= "genericx86-64"
 #
diff --git a/poky/meta-yocto-bsp/README.hardware.md b/poky/meta-yocto-bsp/README.hardware.md
index a8f38cb..bb8f579 100644
--- a/poky/meta-yocto-bsp/README.hardware.md
+++ b/poky/meta-yocto-bsp/README.hardware.md
@@ -28,6 +28,7 @@
 The following boards are supported by the meta-yocto-bsp layer:
 
   * Texas Instruments Beaglebone (beaglebone-yocto)
+  * General 64-bit Arm SystemReady platforms (genericarm64)
   * General IA platforms (genericx86 and genericx86-64)
 
 For more information see the board's section below. The appropriate MACHINE
@@ -55,7 +56,8 @@
 
 The following consumer devices are supported by the meta-yocto-bsp layer:
 
-  * Intel x86 based PCs and devices (genericx86)
+  * Arm-based SystemReady devices (genericarm64)
+  * Intel x86 based PCs and devices (genericx86 and genericx86-64)
 
 For more information see the device's section below. The appropriate MACHINE
 variable value corresponding to the device is given in brackets.
@@ -126,6 +128,20 @@
        dd command to write the image to a USB stick.
 
 
+SystemReady Arm Platforms
+=========================
+
+The genericarm64 MACHINE is designed to work on standard SystemReady IR
+compliant boards with preinstalled firmware.
+
+The genericarm64 MACHINE is currently tested on the following platforms:
+
+  * Texas Instruments BeaglePlay
+
+The images built are EFI bootable disk images and can be written directly to a
+SD card for booting, for example.
+
+
 Texas Instruments Beaglebone (beaglebone-yocto)
 ===============================================
 
diff --git a/poky/meta-yocto-bsp/conf/machine/genericarm64.conf b/poky/meta-yocto-bsp/conf/machine/genericarm64.conf
new file mode 100644
index 0000000..83f1aca
--- /dev/null
+++ b/poky/meta-yocto-bsp/conf/machine/genericarm64.conf
@@ -0,0 +1,29 @@
+#@TYPE: Machine
+#@NAME: genericarm64
+#@DESCRIPTION: Generic Arm64 machine for typical SystemReady platforms, which
+#have working firmware and boot via EFI.
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Arm Base System Architecture says v8.0+ is allowed, but FEAT_CRC32 is required
+DEFAULTTUNE = "armv8a-crc"
+
+MACHINE_FEATURES = "acpi alsa bluetooth efi keyboard pci qemu-usermode rtc screen usbhost vfat wifi"
+
+# Install all the kernel modules and all the firmware
+MACHINE_EXTRA_RRECOMMENDS += "kernel-modules linux-firmware"
+
+KERNEL_IMAGETYPE = "Image"
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
+
+# Use an initramfs and populate it with the kernel modules
+INITRAMFS_IMAGE ?= "core-image-initramfs-boot"
+PACKAGE_INSTALL:append:pn-core-image-initramfs-boot = " kernel-modules"
+
+IMAGE_FSTYPES ?= "wic"
+WKS_FILE ?= "genericarm64.wks.in"
+
+EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boot", "grub-efi", d)}"
+
+# Try to bring up one physical serial console, or a virtualized serial console
+SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend
index 8e465c2..ca7b2b0 100644
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend
@@ -1,19 +1,24 @@
+KBRANCH:genericarm64  = "v6.6/standard/base"
 KBRANCH:genericx86  = "v6.6/standard/base"
 KBRANCH:genericx86-64  = "v6.6/standard/base"
 KBRANCH:beaglebone-yocto = "v6.6/standard/beaglebone"
 
+KMACHINE:genericarm64 ?= "genericarm64"
 KMACHINE:genericx86 ?= "common-pc"
 KMACHINE:genericx86-64 ?= "common-pc-64"
 KMACHINE:beaglebone-yocto ?= "beaglebone"
 
+SRCREV_machine:genericarm64 ?= "e064a7d658a30b027b999183e21cd37305caff2a"
 SRCREV_machine:genericx86 ?= "332d4668fcc32826907d4f3c4938845206006089"
 SRCREV_machine:genericx86-64 ?= "332d4668fcc32826907d4f3c4938845206006089"
 SRCREV_machine:beaglebone-yocto ?= "332d4668fcc32826907d4f3c4938845206006089"
 
+COMPATIBLE_MACHINE:genericarm64 = "genericarm64"
 COMPATIBLE_MACHINE:genericx86 = "genericx86"
 COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
 COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
 
+LINUX_VERSION:genericarm64 = "6.6.18"
 LINUX_VERSION:genericx86 = "6.6.15"
 LINUX_VERSION:genericx86-64 = "6.6.15"
 LINUX_VERSION:beaglebone-yocto = "6.6.15"
diff --git a/poky/meta-yocto-bsp/wic/genericarm64.wks.in b/poky/meta-yocto-bsp/wic/genericarm64.wks.in
new file mode 100644
index 0000000..417d4d8
--- /dev/null
+++ b/poky/meta-yocto-bsp/wic/genericarm64.wks.in
@@ -0,0 +1,11 @@
+# short-description: Create an EFI disk image
+# long-description: Creates a partitioned EFI disk image that the user
+# can directly dd to boot media.
+
+part /boot --source bootimg-efi --sourceparams="loader=${EFI_PROVIDER},initrd=${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}" --label boot --active --align 1024 --use-uuid
+
+part / --source rootfs --fstype=ext4 --label root --align 1024 --use-uuid
+
+part swap --size 44 --label swap --fstype=swap --use-uuid
+
+bootloader --ptable gpt --timeout=5 --append="rootwait rootfstype=ext4"
diff --git a/poky/meta/classes-recipe/goarch.bbclass b/poky/meta/classes-recipe/goarch.bbclass
index 1ebe038..6899ec2 100644
--- a/poky/meta/classes-recipe/goarch.bbclass
+++ b/poky/meta/classes-recipe/goarch.bbclass
@@ -38,13 +38,13 @@
 # Go supports dynamic linking on a limited set of architectures.
 # See the supportsDynlink function in go/src/cmd/compile/internal/gc/main.go
 GO_DYNLINK = ""
-GO_DYNLINK:arm ?= "1"
-GO_DYNLINK:aarch64 ?= "1"
-GO_DYNLINK:x86 ?= "1"
-GO_DYNLINK:x86-64 ?= "1"
-GO_DYNLINK:powerpc64 ?= "1"
-GO_DYNLINK:powerpc64le ?= "1"
-GO_DYNLINK:class-native ?= ""
+GO_DYNLINK:arm = ""
+GO_DYNLINK:aarch64 = ""
+GO_DYNLINK:x86 = ""
+GO_DYNLINK:x86-64 = ""
+GO_DYNLINK:powerpc64 = ""
+GO_DYNLINK:powerpc64le = ""
+GO_DYNLINK:class-native = ""
 GO_DYNLINK:class-nativesdk = ""
 
 # define here because everybody inherits this class
diff --git a/poky/meta/classes-recipe/image_types.bbclass b/poky/meta/classes-recipe/image_types.bbclass
index 3733bdf..913cb87 100644
--- a/poky/meta/classes-recipe/image_types.bbclass
+++ b/poky/meta/classes-recipe/image_types.bbclass
@@ -133,8 +133,8 @@
 # can (e.g. device files, symlinks, etc.) and therefore it not suitable for all
 # use cases
 oe_mkvfatfs () {
-    mkfs.vfat $@ -C ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.vfat ${ROOTFS_SIZE}
-    mcopy -i "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.vfat" -vsmpQ ${IMAGE_ROOTFS}/* ::/
+    mkfs.vfat $@ -C ${IMGDEPLOYDIR}/${IMAGE_NAME}.vfat ${ROOTFS_SIZE}
+    mcopy -i "${IMGDEPLOYDIR}/${IMAGE_NAME}.vfat" -vsmpQ ${IMAGE_ROOTFS}/* ::/
 }
 
 IMAGE_CMD:vfat = "oe_mkvfatfs ${EXTRA_IMAGECMD}"
@@ -363,7 +363,7 @@
 CONVERSION_DEPENDS_7zip = "p7zip-native"
 CONVERSION_DEPENDS_zst = "zstd-native"
 CONVERSION_DEPENDS_sum = "mtd-utils-native"
-CONVERSION_DEPENDS_bmap = "bmap-tools-native"
+CONVERSION_DEPENDS_bmap = "bmaptool-native"
 CONVERSION_DEPENDS_u-boot = "u-boot-tools-native"
 CONVERSION_DEPENDS_vmdk = "qemu-system-native"
 CONVERSION_DEPENDS_vdi = "qemu-system-native"
diff --git a/poky/meta/classes-recipe/image_types_wic.bbclass b/poky/meta/classes-recipe/image_types_wic.bbclass
index ce7125f..cf3be90 100644
--- a/poky/meta/classes-recipe/image_types_wic.bbclass
+++ b/poky/meta/classes-recipe/image_types_wic.bbclass
@@ -106,7 +106,7 @@
 do_image_wic[deptask] += "do_image_complete"
 
 WKS_FILE_DEPENDS_DEFAULT = '${@bb.utils.contains_any("BUILD_ARCH", [ 'x86_64', 'i686' ], "syslinux-native", "",d)}'
-WKS_FILE_DEPENDS_DEFAULT += "bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native erofs-utils-native"
+WKS_FILE_DEPENDS_DEFAULT += "bmaptool-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native erofs-utils-native"
 # Unified kernel images need objcopy
 WKS_FILE_DEPENDS_DEFAULT += "virtual/${TARGET_PREFIX}binutils"
 WKS_FILE_DEPENDS_BOOTLOADERS = ""
diff --git a/poky/meta/classes-recipe/testimage.bbclass b/poky/meta/classes-recipe/testimage.bbclass
index ad040ee..ed0d87b 100644
--- a/poky/meta/classes-recipe/testimage.bbclass
+++ b/poky/meta/classes-recipe/testimage.bbclass
@@ -221,6 +221,7 @@
     # ones of the current environment because some tests require them.
     for var in d.getVar('TESTIMAGE_UPDATE_VARS').split():
         td[var] = d.getVar(var)
+    td['ORIGPATH'] = d.getVar("BB_ORIGENV").getVar("PATH")
 
     image_manifest = "%s.manifest" % image_name
     image_packages = OERuntimeTestContextExecutor.readPackagesManifest(image_manifest)
diff --git a/poky/meta/classes-recipe/uboot-config.bbclass b/poky/meta/classes-recipe/uboot-config.bbclass
index 0c579e8..e55fc38 100644
--- a/poky/meta/classes-recipe/uboot-config.bbclass
+++ b/poky/meta/classes-recipe/uboot-config.bbclass
@@ -65,10 +65,6 @@
 UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}"
 UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}"
 
-# Default name of u-boot initial env, but enable individual recipes to change
-# this value.
-UBOOT_INITIAL_ENV ?= "${PN}-initial-env"
-
 # U-Boot EXTLINUX variables. U-Boot searches for /boot/extlinux/extlinux.conf
 # to find EXTLINUX conf file.
 UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux"
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 7e17e9b..4ca5430 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -70,7 +70,7 @@
 RECIPE_MAINTAINER:pn-blktool = "Yi Zhao <yi.zhao@windriver.com>"
 RECIPE_MAINTAINER:pn-blktrace = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-bluez5 = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER:pn-bmap-tools = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-bmaptool = "Trevor Woerner <twoerner@gmail.com>"
 RECIPE_MAINTAINER:pn-boost = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-boost-build-native = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-bootchart2 = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -650,6 +650,7 @@
 RECIPE_MAINTAINER:pn-python3-jinja2 = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER:pn-python3-jsonpointer = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-jsonschema = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-python3-jsonschema-specifications = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-license-expression = "Wang Mingyu <wangmy@fujitsu.com>"
 RECIPE_MAINTAINER:pn-python3-libarchive-c = "Joshua Watt <JPEWhacker@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-lxml = "Khem Raj <raj.khem@gmail.com>"
@@ -689,10 +690,12 @@
 RECIPE_MAINTAINER:pn-python3-pytz = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-pyyaml = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-rdflib = "Wang Mingyu <wangmy@fujitsu.com>"
+RECIPE_MAINTAINER:pn-python3-referencing = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-requests = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-rfc3339-validator = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-rfc3986-validator = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-rfc3987 = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-python3-rpds-py = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-ruamel-yaml = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-scons = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-semantic-version = "Tim Orling <tim.orling@konsulko.com>"
@@ -706,12 +709,13 @@
 RECIPE_MAINTAINER:pn-python3-sortedcontainers = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-spdx-tools = "Marta Rybczynska <mrybczynska@syslinbit.com>"
 RECIPE_MAINTAINER:pn-python3-sphinx = "Tim Orling <tim.orling@konsulko.com>"
-RECIPE_MAINTAINER:pn-python3-sphinxcontrib-qthelp = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-sphinxcontrib-applehelp = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-sphinxcontrib-devhelp = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-sphinxcontrib-htmlhelp = "Tim Orling <tim.orling@konsulko.com>"
-RECIPE_MAINTAINER:pn-python3-sphinxcontrib-serializinghtml = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-sphinxcontrib-jsmath = "Tim Orling <tim.orling@konsulko.com>"
-RECIPE_MAINTAINER:pn-python3-sphinxcontrib-applehelp = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-sphinxcontrib-jquery = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-sphinxcontrib-qthelp = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-sphinxcontrib-serializinghtml = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-sphinx-rtd-theme = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-subunit = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-python3-testtools = "Unassigned <unassigned@yoctoproject.org>"
@@ -832,6 +836,7 @@
 RECIPE_MAINTAINER:pn-util-linux = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER:pn-util-linux-libuuid = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER:pn-util-macros = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-utfcpp = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-v86d = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-vala = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-valgrind = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -846,6 +851,7 @@
 RECIPE_MAINTAINER:pn-vulkan-tools = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-vulkan-utility-libraries = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-vulkan-validation-layers = "Vincent Davis Jr <vince@underview.tech>"
+RECIPE_MAINTAINER:pn-vulkan-volk = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-waffle = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER:pn-watchdog = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-watchdog-config = "Alexander Kanavin <alex.kanavin@gmail.com>"
diff --git a/poky/meta/conf/distro/include/no-gplv3.inc b/poky/meta/conf/distro/include/no-gplv3.inc
index bb2e836..b3eb936 100644
--- a/poky/meta/conf/distro/include/no-gplv3.inc
+++ b/poky/meta/conf/distro/include/no-gplv3.inc
@@ -6,7 +6,7 @@
 # will be a cost in reduced functionality.
 
 # Settings for full-cmdline
-RDEPENDS:packagegroup-core-full-cmdline-utils:remove = "bash bc coreutils cpio ed findutils gawk grep mc mc-fish mc-helpers mc-helpers-perl sed tar time"
+RDEPENDS:packagegroup-core-full-cmdline-utils:remove = "bash bc coreutils cpio ed findutils gawk grep mc mc-shell mc-helpers mc-helpers-perl sed tar time"
 RDEPENDS:packagegroup-core-full-cmdline-dev-utils:remove = "diffutils m4 make patch"
 RDEPENDS:packagegroup-core-full-cmdline-multiuser:remove = "gzip"
 
@@ -19,6 +19,8 @@
 # so install rpm but not dnf
 IMAGE_FEATURES:remove:pn-core-image-weston = "package-management"
 CORE_IMAGE_EXTRA_INSTALL:pn-core-image-weston += "rpm"
+IMAGE_FEATURES:remove:pn-core-image-full-cmdline = "package-management"
+CORE_IMAGE_EXTRA_INSTALL:pn-core-image-full-cmdline += "rpm"
 
 # matchbox-terminal depends on vte, which is gpl3
 CORE_IMAGE_BASE_INSTALL:remove:pn-core-image-weston = "matchbox-terminal"
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index e3f028c..643394f 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -23,7 +23,7 @@
 GLIBCVERSION ?= "2.39%"
 LINUXLIBCVERSION ?= "6.6%"
 QEMUVERSION ?= "8.2%"
-GOVERSION ?= "1.20%"
+GOVERSION ?= "1.22%"
 RUSTVERSION ?= "1.75%"
 
 PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-qemuarm.png b/poky/meta/files/screenshot-tests/core-image-sato-qemuarm.png
new file mode 100644
index 0000000..5156eb2
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-qemuarm.png
Binary files differ
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-qemuarm64.png b/poky/meta/files/screenshot-tests/core-image-sato-qemuarm64.png
new file mode 100644
index 0000000..372964e
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-qemuarm64.png
Binary files differ
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-qemumips.png b/poky/meta/files/screenshot-tests/core-image-sato-qemumips.png
new file mode 100644
index 0000000..372964e
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-qemumips.png
Binary files differ
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-qemumips64.png b/poky/meta/files/screenshot-tests/core-image-sato-qemumips64.png
new file mode 100644
index 0000000..372964e
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-qemumips64.png
Binary files differ
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-qemuppc.png b/poky/meta/files/screenshot-tests/core-image-sato-qemuppc.png
new file mode 100644
index 0000000..17f7d1b
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-qemuppc.png
Binary files differ
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-qemuriscv64.png b/poky/meta/files/screenshot-tests/core-image-sato-qemuriscv64.png
new file mode 100644
index 0000000..4f8980f
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-qemuriscv64.png
Binary files differ
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-qemux86-64.png b/poky/meta/files/screenshot-tests/core-image-sato-qemux86-64.png
new file mode 100644
index 0000000..201c523
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-qemux86-64.png
Binary files differ
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-qemux86.png b/poky/meta/files/screenshot-tests/core-image-sato-qemux86.png
new file mode 100644
index 0000000..201c523
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-qemux86.png
Binary files differ
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemuarm.png b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemuarm.png
new file mode 120000
index 0000000..9ba26a0
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemuarm.png
@@ -0,0 +1 @@
+core-image-sato-qemuarm.png
\ No newline at end of file
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemuarm64.png b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemuarm64.png
new file mode 120000
index 0000000..67c3d41
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemuarm64.png
@@ -0,0 +1 @@
+core-image-sato-qemuarm64.png
\ No newline at end of file
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemumips.png b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemumips.png
new file mode 120000
index 0000000..167227c
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemumips.png
@@ -0,0 +1 @@
+core-image-sato-qemumips.png
\ No newline at end of file
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemumips64.png b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemumips64.png
new file mode 120000
index 0000000..70ba35c
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemumips64.png
@@ -0,0 +1 @@
+core-image-sato-qemumips64.png
\ No newline at end of file
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemuppc.png b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemuppc.png
new file mode 120000
index 0000000..bdc87d3
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemuppc.png
@@ -0,0 +1 @@
+core-image-sato-qemuppc.png
\ No newline at end of file
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemuriscv64.png b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemuriscv64.png
new file mode 120000
index 0000000..87b4e66
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemuriscv64.png
@@ -0,0 +1 @@
+core-image-sato-qemuriscv64.png
\ No newline at end of file
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemux86-64.png b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemux86-64.png
new file mode 120000
index 0000000..4ae853c
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemux86-64.png
@@ -0,0 +1 @@
+core-image-sato-qemux86-64.png
\ No newline at end of file
diff --git a/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemux86.png b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemux86.png
new file mode 120000
index 0000000..90d707f
--- /dev/null
+++ b/poky/meta/files/screenshot-tests/core-image-sato-sdk-qemux86.png
@@ -0,0 +1 @@
+core-image-sato-qemux86.png
\ No newline at end of file
diff --git a/poky/meta/lib/oeqa/runtime/cases/login.py b/poky/meta/lib/oeqa/runtime/cases/login.py
new file mode 100644
index 0000000..e1bc60d
--- /dev/null
+++ b/poky/meta/lib/oeqa/runtime/cases/login.py
@@ -0,0 +1,116 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+import shutil
+import subprocess
+import tempfile
+import time
+import os
+from datetime import datetime
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.runtime.decorator.package import OEHasPackage
+
+### Status of qemu images.
+#   - runqemu qemuppc64 comes up blank. (skip)
+#   - qemuarmv5 comes up with multiple heads but sending "head" to screendump.
+#     seems to create a png with a bad header? (skip for now, but come back to fix)
+#   - qemuriscv32 and qemuloongarch64 doesn't work with testimage apparently? (skip)
+#   - qemumips64 is missing mouse icon.
+#   - qemumips takes forever to render and is missing mouse icon.
+#   - qemuarm and qemuppc are odd as they don't resize so we need to just set width.
+#   - All images have home and screen flipper icons not always rendered fully at first.
+#     the sleep seems to help this out some, depending on machine load.
+###
+
+class LoginTest(OERuntimeTestCase):
+    @OEHasPackage(['matchbox-desktop', 'dbus-wait'])
+    def test_screenshot(self):
+        if self.td.get('MACHINE') in ("qemuppc64", "qemuarmv5", "qemuriscv32", "qemuriscv64", "qemuloongarch64"):
+            self.skipTest("{0} is not currently supported.".format(self.td.get('MACHINE')))
+
+        pn = self.td.get('PN')
+
+        ourenv = os.environ.copy()
+        origpath = self.td.get("ORIGPATH")
+        if origpath:
+            ourenv['PATH'] = ourenv['PATH'] + ":" + origpath
+
+        for cmd in ["identify.im7", "convert.im7", "compare.im7"]:
+            try:
+                subprocess.check_output(["which", cmd], env=ourenv)
+            except subprocess.CalledProcessError:
+                self.skipTest("%s (from imagemagick) not available" % cmd)
+
+
+        # Store images so we can debug them if needed
+        saved_screenshots_dir = self.td.get('T') + "/saved-screenshots/"
+
+        ###
+        # This is a really horrible way of doing this but I've not found the
+        # right event to determine "The system is loaded and screen is rendered"
+        #
+        # Using dbus-wait for matchbox is the wrong answer because while it
+        # ensures the system is up, it doesn't mean the screen is rendered.
+        #
+        # Checking the qmp socket doesn't work afaik either.
+        #
+        # One way to do this is to do compares of known good screendumps until
+        # we either get expected or close to expected or we time out. Part of the
+        # issue here with that is that there is a very fine difference in the
+        # diff between a screendump where the icons haven't loaded yet and
+        # one where they won't load. I'll look at that next, but, for now, this.
+        #
+        # Which is ugly and I hate it but it 'works' for various definitions of
+        # 'works'.
+        ###
+        # RP: if the signal is sent before we run this, it will never be seen and we'd timeout
+        #status, output = self.target.run('dbus-wait org.matchbox_project.desktop Loaded')
+        #if status != 0 or "Timeout" in output:
+        #    self.fail('dbus-wait failed (%s, %s). This could mean that the image never loaded the matchbox desktop.' % (status, output))
+
+        # Start taking screenshots every 2 seconds until diff=0 or timeout is 60 seconds
+        timeout = time.time() + 60
+        diff = True
+        with tempfile.NamedTemporaryFile(prefix="oeqa-screenshot-login", suffix=".png") as t:
+            while diff != 0 and time.time() < timeout:
+                time.sleep(2)
+                ret = self.target.runner.run_monitor("screendump", args={"filename": t.name, "format":"png"})
+
+                # Find out size of image so we can determine where to blank out clock.
+                # qemuarm and qemuppc are odd as it doesn't resize the window and returns
+                # incorrect widths
+                if self.td.get('MACHINE') == "qemuarm" or self.td.get('MACHINE') == "qemuppc":
+                    width = "640"
+                else:
+                    cmd = "identify.im7 -ping -format '%w' {0}".format(t.name)
+                    width = subprocess.check_output(cmd, shell=True, env=ourenv).decode()
+
+                rblank = int(float(width))
+                lblank = rblank-80
+
+                # Use the meta-oe version of convert, along with it's suffix. This blanks out the clock.
+                cmd = "convert.im7 {0} -fill white -draw 'rectangle {1},4 {2},28' {3}".format(t.name, str(rblank), str(lblank), t.name)
+                convert_out=subprocess.check_output(cmd, shell=True, env=ourenv).decode()
+
+                bb.utils.mkdirhier(saved_screenshots_dir)
+                savedfile = "{0}/saved-{1}-{2}-{3}.png".format(saved_screenshots_dir, \
+                                                                            datetime.timestamp(datetime.now()), \
+                                                                            pn, \
+                                                                            self.td.get('MACHINE'))
+                shutil.copy2(t.name, savedfile)
+
+                refimage = self.td.get('COREBASE') + "/meta/files/screenshot-tests/" + pn + "-" + self.td.get('MACHINE') +".png"
+                if not os.path.exists(refimage):
+                    self.skipTest("No reference image for comparision (%s)" % refimage)
+
+                cmd = "compare.im7 -metric MSE {0} {1} /dev/null".format(t.name, refimage)
+                compare_out = subprocess.run(cmd, shell=True, capture_output=True, text=True, env=ourenv)
+                diff=float(compare_out.stderr.replace("(", "").replace(")","").split()[1])
+            if diff > 0:
+                # Keep a copy of the failed screenshot so we can see what happened.
+                self.fail("Screenshot diff is {0}. Failed image stored in {1}".format(str(diff), savedfile))
+            else:
+                self.assertEqual(0, diff, "Screenshot diff is {0}.".format(str(diff)))
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index ecff3a9..a1cccc3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -1165,9 +1165,10 @@
         result = runCmd('git commit -m "Add a new file"', cwd=tempdir)
         self.add_command_to_tearDown('cd %s; rm %s/*.patch; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile)))
         result = runCmd('devtool update-recipe %s' % testrecipe)
+        result = runCmd('git add minicom', cwd=os.path.dirname(recipefile))
         expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)),
-                           ('??', '.*/0001-Change-the-README.patch$'),
-                           ('??', '.*/0002-Add-a-new-file.patch$')]
+                           ('A ', '.*/0001-Change-the-README.patch$'),
+                           ('A ', '.*/0002-Add-a-new-file.patch$')]
         self._check_repo_status(os.path.dirname(recipefile), expected_status)
 
     def test_devtool_update_recipe_git(self):
diff --git a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
index 74c1c48..ee2cf4b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
+++ b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
@@ -54,6 +54,7 @@
         cmd = cmd + "export GOPATH=%s; " % self.go_path
         cmd = cmd + "export GOFLAGS=-modcacherw; "
         cmd = cmd + "export CGO_ENABLED=1; "
+        cmd = cmd + "export GOPROXY=https://proxy.golang.org,direct; "
         cmd = cmd + "${CROSS_COMPILE}go %s" % gocmd
         return runCmd(cmd).status
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
index 56dfcdb..031c226 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -79,7 +79,7 @@
                         result.append(f)
         return result
 
-    # Test sstate files creation and their location
+    # Test sstate files creation and their location and directory perms
     def run_test_sstate_creation(self, targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True, should_pass=True):
         self.config_sstate(temp_sstate_location, [self.sstate_path])
 
@@ -88,6 +88,19 @@
         else:
             bitbake(['-ccleansstate'] + targets)
 
+        # We need to test that the env umask have does not effect sstate directory creation
+        # So, first, we'll get the current umask and set it to something we know incorrect
+        # See: sstate_task_postfunc for correct umask of os.umask(0o002)
+        import os
+        def current_umask():
+            current_umask = os.umask(0)
+            os.umask(current_umask)
+            return current_umask
+
+        orig_umask = current_umask()
+        # Set it to a umask we know will be 'wrong'
+        os.umask(0o022)
+
         bitbake(targets)
         file_tracker = []
         results = self.search_sstate('|'.join(map(str, targets)), distro_specific, distro_nonspecific)
@@ -104,6 +117,19 @@
         else:
             self.assertTrue(not file_tracker , msg="Found sstate files in the wrong place for: %s (found %s)" % (', '.join(map(str, targets)), str(file_tracker)))
 
+        # Now we'll walk the tree to check the mode and see if things are incorrect.
+        badperms = []
+        for root, dirs, files in os.walk(self.sstate_path):
+            for directory in dirs:
+                if (os.stat(os.path.join(root, directory)).st_mode & 0o777) != 0o775:
+                    badperms.append(os.path.join(root, directory))
+
+        # Return to original umask
+        os.umask(orig_umask)
+
+        if should_pass:
+            self.assertTrue(badperms , msg="Found sstate directories with the wrong permissions: %s (found %s)" % (', '.join(map(str, targets)), str(badperms)))
+
     # Test the sstate files deletion part of the do_cleansstate task
     def run_test_cleansstate_task(self, targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True):
         self.config_sstate(temp_sstate_location, [self.sstate_path])
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index 277cd32..cda43aa 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -650,9 +650,9 @@
         if hasattr(self, 'qmp') and self.qmp:
             self.qmp.settimeout(timeout)
             if args is not None:
-                return self.qmp.cmd(command, args)
+                return self.qmp.cmd_raw(command, args)
             else:
-                return self.qmp.cmd(command)
+                return self.qmp.cmd_raw(command)
 
     def run_serial(self, command, raw=False, timeout=60):
         # Returns (status, output) where status is 1 on success and 0 on error
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot.inc b/poky/meta/recipes-bsp/u-boot/u-boot.inc
index 79f84b0..f5b43f6 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot.inc
@@ -24,6 +24,10 @@
 # file already exists it will not be overwritten.
 UBOOT_LOCALVERSION ?= ""
 
+# Default name of u-boot initial env, but enable individual recipes to change
+# this value.
+UBOOT_INITIAL_ENV ?= "${PN}-initial-env"
+
 require u-boot-configure.inc
 
 do_savedefconfig() {
diff --git a/poky/meta/recipes-core/coreutils/coreutils/CVE-2024-0684.patch b/poky/meta/recipes-core/coreutils/coreutils/CVE-2024-0684.patch
new file mode 100644
index 0000000..0c68e2d
--- /dev/null
+++ b/poky/meta/recipes-core/coreutils/coreutils/CVE-2024-0684.patch
@@ -0,0 +1,39 @@
+From c4c5ed8f4e9cd55a12966d4f520e3a13101637d9 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Tue, 16 Jan 2024 13:48:32 -0800
+Subject: [PATCH 1/1] split: do not shrink hold buffer
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+* src/split.c (line_bytes_split): Do not shrink hold buffer.
+If it’s large for this batch it’s likely to be large for the next
+batch, and for ‘split’ it’s not worth the complexity/CPU hassle to
+shrink it.  Do not assume hold_size can be bufsize.
+
+CVE: CVE-2024-0684
+Upstream-Status: Backport [https://github.com/coreutils/coreutils/commit/c4c5ed8f4e9cd55a12966d4f520e3a13101637d9]
+Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com>
+---
+ src/split.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/src/split.c b/src/split.c
+index 64020c859..037960a59 100644
+--- a/src/split.c
++++ b/src/split.c
+@@ -809,10 +809,7 @@ line_bytes_split (intmax_t n_bytes, char *buf, idx_t bufsize)
+             {
+               cwrite (n_out == 0, hold, n_hold);
+               n_out += n_hold;
+-              if (n_hold > bufsize)
+-                hold = xirealloc (hold, bufsize);
+               n_hold = 0;
+-              hold_size = bufsize;
+             }
+ 
+           /* Output to eol if present.  */
+-- 
+2.11.4.GIT
+
+
diff --git a/poky/meta/recipes-core/coreutils/coreutils_9.4.bb b/poky/meta/recipes-core/coreutils/coreutils_9.4.bb
index a79cabd..fc51adc 100644
--- a/poky/meta/recipes-core/coreutils/coreutils_9.4.bb
+++ b/poky/meta/recipes-core/coreutils/coreutils_9.4.bb
@@ -17,6 +17,7 @@
            file://remove-usr-local-lib-from-m4.patch \
            file://0001-local.mk-fix-cross-compiling-problem.patch \
            file://0001-posixtm-pacify-clang-18.patch \
+           file://CVE-2024-0684.patch \
            file://run-ptest \
            "
 SRC_URI[sha256sum] = "ea613a4cf44612326e917201bbbcdfbd301de21ffc3b59b6e5c07e040b275e52"
diff --git a/poky/meta/recipes-core/ell/ell_0.62.bb b/poky/meta/recipes-core/ell/ell_0.63.bb
similarity index 89%
rename from poky/meta/recipes-core/ell/ell_0.62.bb
rename to poky/meta/recipes-core/ell/ell_0.63.bb
index c6ec91a..7ecb63a 100644
--- a/poky/meta/recipes-core/ell/ell_0.62.bb
+++ b/poky/meta/recipes-core/ell/ell_0.63.bb
@@ -15,7 +15,7 @@
 inherit autotools pkgconfig
 
 SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "f1efae12085610049714dc509c6fab3478925801609ad4232ce873b7daf1e03d"
+SRC_URI[sha256sum] = "7397c76996d7646b9917ebf016cd67586b10166295af2e0e18cdb5b8f6659965"
 
 do_configure:prepend () {
     mkdir -p ${S}/build-aux
diff --git a/poky/meta/recipes-core/expat/expat_2.6.0.bb b/poky/meta/recipes-core/expat/expat_2.6.1.bb
similarity index 92%
rename from poky/meta/recipes-core/expat/expat_2.6.0.bb
rename to poky/meta/recipes-core/expat/expat_2.6.1.bb
index 1f9f7b2..9bdc3b6 100644
--- a/poky/meta/recipes-core/expat/expat_2.6.0.bb
+++ b/poky/meta/recipes-core/expat/expat_2.6.1.bb
@@ -15,7 +15,7 @@
 GITHUB_BASE_URI = "https://github.com/libexpat/libexpat/releases/"
 UPSTREAM_CHECK_REGEX = "releases/tag/R_(?P<pver>.+)"
 
-SRC_URI[sha256sum] = "ff60e6a6b6ce570ae012dc7b73169c7fdf4b6bf08c12ed0ec6f55736b78d85ba"
+SRC_URI[sha256sum] = "4677d957c0c6cb2a3321101944574c24113b637c7ab1cf0659a27c5babc201fd"
 
 EXTRA_OECMAKE:class-native += "-DEXPAT_BUILD_DOCS=OFF"
 
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-native_0.22.4.bb b/poky/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb
similarity index 100%
rename from poky/meta/recipes-core/gettext/gettext-minimal-native_0.22.4.bb
rename to poky/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb
diff --git a/poky/meta/recipes-core/gettext/gettext-sources.inc b/poky/meta/recipes-core/gettext/gettext-sources.inc
index 8b4e240..fd05837 100644
--- a/poky/meta/recipes-core/gettext/gettext-sources.inc
+++ b/poky/meta/recipes-core/gettext/gettext-sources.inc
@@ -1,4 +1,4 @@
 HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
 SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
            "
-SRC_URI[sha256sum] = "c1e0bb2a4427a9024390c662cd532d664c4b36b8ff444ed5e54b115fdb7a1aea"
+SRC_URI[sha256sum] = "ec1705b1e969b83a9f073144ec806151db88127f5e40fe5a94cb6c8fa48996a0"
diff --git a/poky/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch b/poky/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch
index d45b758..33d45a0 100644
--- a/poky/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch
+++ b/poky/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch
@@ -1,4 +1,4 @@
-From 9b912a47f790a7b282ec0c2295a188c5d8fb6a7c Mon Sep 17 00:00:00 2001
+From c58c503c532d20883a93ef778327c86dd6de24f6 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 6 Mar 2020 21:04:05 +0000
 Subject: [PATCH] init-env.in: do not add C/CXX parameters
diff --git a/poky/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch b/poky/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch
index b0bc6b9..94afb25 100644
--- a/poky/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch
+++ b/poky/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch
@@ -1,4 +1,4 @@
-From 38b256e5aa7dfeb42acffd89565e53a2c0bab3e3 Mon Sep 17 00:00:00 2001
+From 7006142d199af13628edc687847a9a5bac48b45d Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 7 Jan 2020 16:44:38 +0100
 Subject: [PATCH] tests/autopoint-3: unset MAKEFLAGS
@@ -13,10 +13,10 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/gettext-tools/tests/autopoint-3 b/gettext-tools/tests/autopoint-3
-index e13552b..55188df 100755
+index bd3fbf3..380eaac 100755
 --- a/gettext-tools/tests/autopoint-3
 +++ b/gettext-tools/tests/autopoint-3
-@@ -126,6 +126,7 @@ test $? = 0 || { cat autopoint.err; Exit 1; }
+@@ -131,6 +131,7 @@ test $? = 0 || { cat autopoint.err; Exit 1; }
  ${CONFIG_SHELL} ./configure >/dev/null 2>autpoint.err
  test $? = 0 || { cat autopoint.err; Exit 1; }
  
diff --git a/poky/meta/recipes-core/gettext/gettext/parallel.patch b/poky/meta/recipes-core/gettext/gettext/parallel.patch
index d96a376..8ecba46 100644
--- a/poky/meta/recipes-core/gettext/gettext/parallel.patch
+++ b/poky/meta/recipes-core/gettext/gettext/parallel.patch
@@ -1,4 +1,4 @@
-From 4a2a0a93b469093b60ffd0bec55d33d1e03d4713 Mon Sep 17 00:00:00 2001
+From 83333bc873c2655ff1de161f6b7db930f22f1cea Mon Sep 17 00:00:00 2001
 From: Joe Slater <jslater@windriver.com>
 Date: Thu, 7 Jun 2012 16:37:01 -0700
 Subject: [PATCH] instal libgettextlib.a before removing it
@@ -10,16 +10,15 @@
 Upstream-Status: Pending
 
 Signed-off-by: Joe Slater <jslater@windriver.com>
-
 ---
  gettext-tools/gnulib-lib/Makefile.am | 4 ++++
  1 file changed, 4 insertions(+)
 
 diff --git a/gettext-tools/gnulib-lib/Makefile.am b/gettext-tools/gnulib-lib/Makefile.am
-index 2126699..d2dd7e4 100644
+index ab729cd..a0d713e 100644
 --- a/gettext-tools/gnulib-lib/Makefile.am
 +++ b/gettext-tools/gnulib-lib/Makefile.am
-@@ -58,6 +58,10 @@ endif
+@@ -58,6 +58,10 @@ AM_CFLAGS = @WARN_CFLAGS@
  # Rules generated and collected by gnulib-tool.
  include Makefile.gnulib
  
diff --git a/poky/meta/recipes-core/gettext/gettext/serial-tests-config.patch b/poky/meta/recipes-core/gettext/gettext/serial-tests-config.patch
index 93f7c03..7d39d60 100644
--- a/poky/meta/recipes-core/gettext/gettext/serial-tests-config.patch
+++ b/poky/meta/recipes-core/gettext/gettext/serial-tests-config.patch
@@ -1,4 +1,4 @@
-From ed64a5724ef7d6eb4e9a876f817ea266a536e195 Mon Sep 17 00:00:00 2001
+From aa8dfe0aafd0b53a6c5bac61b356ca92e1430a36 Mon Sep 17 00:00:00 2001
 From: "Hongjun.Yang" <hongjun.yang@windriver.com>
 Date: Thu, 28 Jul 2016 12:36:15 +0800
 Subject: [PATCH] fix for ptest
@@ -8,7 +8,6 @@
 Upstream-Status: Inappropriate [oe specific]
 
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
 ---
  configure.ac                 | 2 +-
  gettext-runtime/configure.ac | 2 +-
@@ -16,7 +15,7 @@
  3 files changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 38db6fd..f019ae0 100644
+index f4e54ea..a47ff14 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -22,7 +22,7 @@ AC_INIT([gettext],
@@ -29,7 +28,7 @@
  dnl Override automake's tar command used for creating distributions.
  am__tar='${AMTAR} chf - --format=ustar --owner=root --group=root "$$tardir"'
 diff --git a/gettext-runtime/configure.ac b/gettext-runtime/configure.ac
-index de203e7..138a07f 100644
+index 126d069..aa23232 100644
 --- a/gettext-runtime/configure.ac
 +++ b/gettext-runtime/configure.ac
 @@ -22,7 +22,7 @@ AC_INIT([gettext-runtime],
@@ -42,7 +41,7 @@
  
  dnl Installation directories.
 diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac
-index cf1dd73..b544d6d 100644
+index 3610ee3..6f56a23 100644
 --- a/gettext-tools/configure.ac
 +++ b/gettext-tools/configure.ac
 @@ -22,7 +22,7 @@ AC_INIT([gettext-tools],
diff --git a/poky/meta/recipes-core/gettext/gettext/use-pkgconfig.patch b/poky/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
index f1fb61d..ceb1856 100644
--- a/poky/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
+++ b/poky/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
@@ -1,4 +1,4 @@
-From 38c361e6860bfaefbefeccae621e698c301879f2 Mon Sep 17 00:00:00 2001
+From 6aa1338b916fe72c200b6f160b934be15b6ff590 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Tue, 23 Jan 2018 00:54:13 +0000
 Subject: [PATCH] gettext: beat library detection into shape
@@ -12,12 +12,11 @@
 
 Upstream-Status: Inappropriate [upstream still refuse to consider pkg-config]
 Signed-off-by: Ross Burton <ross.burton@intel.com>
-
 ---
- gettext-tools/gnulib-m4/libxml.m4             | 105 +----------------
- libtextstyle/gnulib-local/m4/libglib.m4       | 106 +++---------------
- libtextstyle/gnulib-m4/libglib.m4             | 106 +++---------------
- 3 files changed, 79 insertions(+), 470 deletions(-)
+ gettext-tools/gnulib-m4/libxml.m4       | 105 ++---------------------
+ libtextstyle/gnulib-local/m4/libglib.m4 | 106 +++---------------------
+ libtextstyle/gnulib-m4/libglib.m4       | 106 +++---------------------
+ 3 files changed, 31 insertions(+), 286 deletions(-)
 
 diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4
 index 0340490..0355388 100644
@@ -143,7 +142,7 @@
    ])
    AC_SUBST([LIBXML])
 diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4
-index 7ee5029..bb1e5e4 100644
+index dbc9eb8..136e512 100644
 --- a/libtextstyle/gnulib-local/m4/libglib.m4
 +++ b/libtextstyle/gnulib-local/m4/libglib.m4
 @@ -6,106 +6,26 @@ dnl with or without modifications, as long as this notice is preserved.
@@ -267,7 +266,7 @@
    AC_SUBST([LTLIBGLIB])
    AC_SUBST([INCGLIB])
 diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4
-index 7ee5029..bb1e5e4 100644
+index dbc9eb8..136e512 100644
 --- a/libtextstyle/gnulib-m4/libglib.m4
 +++ b/libtextstyle/gnulib-m4/libglib.m4
 @@ -6,106 +6,26 @@ dnl with or without modifications, as long as this notice is preserved.
diff --git a/poky/meta/recipes-core/gettext/gettext_0.22.4.bb b/poky/meta/recipes-core/gettext/gettext_0.22.5.bb
similarity index 98%
rename from poky/meta/recipes-core/gettext/gettext_0.22.4.bb
rename to poky/meta/recipes-core/gettext/gettext_0.22.5.bb
index 75474c8..1a66d37 100644
--- a/poky/meta/recipes-core/gettext/gettext_0.22.4.bb
+++ b/poky/meta/recipes-core/gettext/gettext_0.22.5.bb
@@ -175,7 +175,7 @@
         install ${B}/gettext-tools/misc/*       ${D}${PTEST_PATH}/misc
         find ${D}${PTEST_PATH}/ -name "*.o" -exec rm {} \;
         chmod 0755 ${D}${PTEST_PATH}/tests/lang-vala ${D}${PTEST_PATH}/tests/plural-1 ${D}${PTEST_PATH}/tests/xgettext-tcl-4 \
-                   ${D}${PTEST_PATH}/tests/xgettext-vala-1  ${D}${PTEST_PATH}/tests/xgettext-po-2
+                   ${D}${PTEST_PATH}/tests/xgettext-vala-1  ${D}${PTEST_PATH}/tests/xgettext-po-2 ${D}${PTEST_PATH}/tests/xgettext-vala-6
         sed -i -e 's|${DEBUG_PREFIX_MAP}||g' ${D}${PTEST_PATH}/tests/init-env
     fi
 }
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
index 0e5f371..8e6598f 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
@@ -1,4 +1,4 @@
-From cf7df91cc8c3b4811235ef8aec144c5f0cf90bdb Mon Sep 17 00:00:00 2001
+From e7077aa23bfcd31a8e72e39dc93ce4f854678376 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 15 Feb 2019 11:17:27 +0100
 Subject: [PATCH] Do not write $bindir into pkg-config files
@@ -9,7 +9,6 @@
 
 Upstream-Status: Inappropriate [upstream wants the paths in .pc files]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  gio/meson.build  | 16 ++++++++--------
  glib/meson.build |  6 +++---
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch
index 1254466..eb9dfdb 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch
@@ -1,4 +1,4 @@
-From b907a6681c4c24e5d3745538d9fcd471cf1c4c4a Mon Sep 17 00:00:00 2001
+From 9a5d4bf65b658d744d610ee27ecd2ae65b14b158 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 15 Mar 2014 22:42:29 -0700
 Subject: [PATCH] Fix DATADIRNAME on uclibc/Linux
@@ -8,7 +8,6 @@
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Upstream-Status: Pending
-
 ---
  m4macros/glib-gettext.m4 | 4 ++++
  1 file changed, 4 insertions(+)
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
index 50d369c..ad69f7e 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
@@ -1,4 +1,4 @@
-From 6e2ddcb5465d10618345b12e0b4471ead0f14304 Mon Sep 17 00:00:00 2001
+From 4933aef791857a5aac650b60af800778658b875b Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Tue, 22 Mar 2016 15:14:58 +0200
 Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM
@@ -8,7 +8,6 @@
 
 Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Upstream-Status: Inappropriate [OE specific]
-
 ---
  gio/meson.build | 1 +
  1 file changed, 1 insertion(+)
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch
index f810574..0e3a62a 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch
@@ -1,4 +1,4 @@
-From c8c223045821cac97f798cfa63f19853621a8a2a Mon Sep 17 00:00:00 2001
+From 8ae2e9c2a04e089306693a021149dc6b7d1bd679 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 12 Jun 2015 17:08:46 +0300
 Subject: [PATCH] Remove the warning about deprecated paths in schemas
@@ -9,7 +9,6 @@
 
 Upstream-Status: Inappropriate
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  gio/glib-compile-schemas.c | 13 -------------
  1 file changed, 13 deletions(-)
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
index e1d2fb0..32b4cea 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
@@ -1,11 +1,10 @@
-From bafde4eedc0a22b45e73ee6183b9a11393a1e400 Mon Sep 17 00:00:00 2001
+From c0733f7a91dfe13152abc60c5a3064456b3e9d63 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 13 Feb 2019 15:32:05 +0100
 Subject: [PATCH] Set host_machine correctly when building with mingw32
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  gio/tests/meson.build  | 8 ++++----
  glib/tests/meson.build | 2 +-
@@ -66,7 +65,7 @@
      glib_tests += {
        'gpoll' : {
 diff --git a/meson.build b/meson.build
-index f7e936e..122f8b5 100644
+index 813c9b7..6ee775e 100644
 --- a/meson.build
 +++ b/meson.build
 @@ -54,6 +54,9 @@ else
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch
index 50368ed..b11c283 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch
@@ -1,4 +1,4 @@
-From 05f0674c93d94fe6b29c1b707980aac469ddcd72 Mon Sep 17 00:00:00 2001
+From a8eb944a10353403241608a084787f6efcbb2eb7 Mon Sep 17 00:00:00 2001
 From: Jordan Williams <jordan@jwillikers.com>
 Date: Fri, 1 Dec 2023 09:53:50 -0600
 Subject: [PATCH] Switch from the deprecated distutils module to the packaging
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch
index e4c2f77..aee2986 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch
@@ -1,4 +1,4 @@
-From 3f05b9418c88bbb83c08b57cc5529b006f26fff4 Mon Sep 17 00:00:00 2001
+From 878e51f82100c698236fda0e069e14ea9249350c Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 8 Jan 2020 18:22:46 +0100
 Subject: [PATCH] gio/tests/resources.c: comment out a build host-only test
@@ -8,7 +8,6 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  gio/tests/resources.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch
index 071e4a7..0b10269 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch
@@ -1,4 +1,4 @@
-From 17d718640ae6f953e5eea714c1bd64eeb6e4799f Mon Sep 17 00:00:00 2001
+From b4b523160ef550a53705fcc45ac6e10d086ce491 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 12 Oct 2019 17:46:26 -0700
 Subject: [PATCH] meson: Run atomics test on clang as well
@@ -9,13 +9,12 @@
 
 Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
 ---
  meson.build | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/meson.build b/meson.build
-index 122f8b5..f055079 100644
+index 6ee775e..8bc5fa7 100644
 --- a/meson.build
 +++ b/meson.build
 @@ -1938,7 +1938,7 @@ atomicdefine = '''
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch
index e03f9a3..14dcb27 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch
@@ -1,4 +1,4 @@
-From 7865d698b5d392aac3a3d32e9ebd5fea45017d15 Mon Sep 17 00:00:00 2001
+From 294f3e6e9a0a9f4733e85ed6810d1b743055370b Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Sat, 16 Sep 2023 22:28:27 +0200
 Subject: [PATCH] meson.build: do not enable pidfd features on native glib
@@ -9,13 +9,12 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex@linutronix.de>
-
 ---
  meson.build | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/meson.build b/meson.build
-index f055079..77d78aa 100644
+index 8bc5fa7..df1fa60 100644
 --- a/meson.build
 +++ b/meson.build
 @@ -981,7 +981,8 @@ if cc.links('''#include <sys/syscall.h>
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch
index 4b75167..6dff517 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch
@@ -1,11 +1,10 @@
-From 53bcd4b6cd3fe3fe4246914462e6724761eecf51 Mon Sep 17 00:00:00 2001
+From 50636758c73e5e61212a8f801c6c602b8aab5ba7 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 3 Oct 2017 10:45:55 +0300
 Subject: [PATCH] Do not hardcode python path into various tools
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  gio/gdbus-2.0/codegen/gdbus-codegen.in | 2 +-
  gobject/glib-genmarshal.in             | 2 +-
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch
new file mode 100644
index 0000000..bdfbd55
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch
@@ -0,0 +1,54 @@
+From cce3ae98a2c1966719daabff5a4ec6cf94a846f6 Mon Sep 17 00:00:00 2001
+From: Philip Withnall <pwithnall@gnome.org>
+Date: Mon, 26 Feb 2024 16:55:44 +0000
+Subject: [PATCH] tests: Remove variable-length lookbehind tests for GRegex
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+PCRE2 10.43 has now introduced support for variable-length lookbehind,
+so these tests now fail if GLib is built against PCRE2 10.43 or higher.
+
+See
+https://github.com/PCRE2Project/pcre2/blob/e8db6fa7137f4c6f66cb87e0a3c9467252ec1ef7/ChangeLog#L94.
+
+Rather than making the tests conditional on the version of PCRE2 in use,
+just remove them. They are mostly testing the PCRE2 code rather than
+any code in GLib, so donâ€™t have much value.
+
+This should fix CI runs on msys2-mingw32, which updated to PCRE2 10.43 2
+days ago.
+
+Signed-off-by: Philip Withnall <pwithnall@gnome.org>
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/cce3ae98a2c1966719daabff5a4ec6cf94a846f6]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ glib/tests/regex.c | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/glib/tests/regex.c b/glib/tests/regex.c
+index 1082526292..d7a698ec67 100644
+--- a/glib/tests/regex.c
++++ b/glib/tests/regex.c
+@@ -1885,16 +1885,6 @@ test_lookbehind (void)
+   g_match_info_free (match);
+   g_regex_unref (regex);
+ 
+-  regex = g_regex_new ("(?<!dogs?|cats?) x", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
+-  g_assert (regex == NULL);
+-  g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND);
+-  g_clear_error (&error);
+-
+-  regex = g_regex_new ("(?<=ab(c|de)) foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
+-  g_assert (regex == NULL);
+-  g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND);
+-  g_clear_error (&error);
+-
+   regex = g_regex_new ("(?<=abc|abde)foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
+   g_assert (regex);
+   g_assert_no_error (error);
+-- 
+GitLab
+
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch
index f9dfc5b..4f38509 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch
@@ -1,4 +1,4 @@
-From df7506918efc8748dac8b8398021e1b79d694ba4 Mon Sep 17 00:00:00 2001
+From ce840b6b111e1e109e511f6833d6aa419e2b723a Mon Sep 17 00:00:00 2001
 From: Philip Withnall <philip@tecnocode.co.uk>
 Date: Tue, 23 Jan 2024 11:16:52 +0000
 Subject: [PATCH] Merge branch '2887-memory-monitor-tests' into 'main'
@@ -22,7 +22,7 @@
  4 files changed, 113 insertions(+), 74 deletions(-)
 
 diff --git a/gio/tests/memory-monitor-dbus.py.in b/gio/tests/memory-monitor-dbus.py.in
-index bf3291847..7aae01e70 100755
+index bf32918..7aae01e 100755
 --- a/gio/tests/memory-monitor-dbus.py.in
 +++ b/gio/tests/memory-monitor-dbus.py.in
 @@ -16,7 +16,6 @@ import sys
@@ -130,7 +130,7 @@
  except ImportError as e:
      @unittest.skip("Cannot import %s" % e.name)
 diff --git a/gio/tests/memory-monitor-portal.py.in b/gio/tests/memory-monitor-portal.py.in
-index 748cee850..f570508f9 100755
+index 748cee8..f570508 100755
 --- a/gio/tests/memory-monitor-portal.py.in
 +++ b/gio/tests/memory-monitor-portal.py.in
 @@ -16,7 +16,6 @@ import sys
@@ -222,7 +222,7 @@
  except ImportError as e:
      @unittest.skip("Cannot import %s" % e.name)
 diff --git a/gio/tests/power-profile-monitor-dbus.py.in b/gio/tests/power-profile-monitor-dbus.py.in
-index 06e594f4a..f955afc80 100755
+index 06e594f..f955afc 100755
 --- a/gio/tests/power-profile-monitor-dbus.py.in
 +++ b/gio/tests/power-profile-monitor-dbus.py.in
 @@ -16,7 +16,6 @@ import sys
@@ -295,7 +295,7 @@
  except ImportError as e:
      @unittest.skip("Cannot import %s" % e.name)
 diff --git a/gio/tests/power-profile-monitor-portal.py.in b/gio/tests/power-profile-monitor-portal.py.in
-index 09e9a450d..ad2abf621 100755
+index 09e9a45..ad2abf6 100755
 --- a/gio/tests/power-profile-monitor-portal.py.in
 +++ b/gio/tests/power-profile-monitor-portal.py.in
 @@ -16,7 +16,6 @@ import sys
@@ -359,6 +359,3 @@
  
          def test_power_profile_power_saver_enabled_portal_default(self):
              '''power-saver-enabled property default value'''
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/native-gtkdoc.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/native-gtkdoc.patch
deleted file mode 100644
index f56c2b8..0000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/native-gtkdoc.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-docs/reference: depend on a native gtk-doc
-
-In a cross-compiled environment we don't need a target gtk-doc, but a
-native gtk-doc.
-
-Upstream-Status: Backport [f3ff370d1b24f8afb51cd4e865593d5b678188a9]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-diff --git a/docs/reference/meson.build b/docs/reference/meson.build
-index c417ffecb..67c1dda56 100644
---- a/docs/reference/meson.build
-+++ b/docs/reference/meson.build
-@@ -42,7 +42,7 @@ ignore_decorators = '|'.join(ignore_decorators)
- if get_option('gtk_doc')
-   # Check we have the minimum gtk-doc version required. Older versions won't
-   # generate correct documentation.
--  dependency('gtk-doc', version : '>=1.32.1',
-+  dependency('gtk-doc', version : '>=1.32.1', native: true,
-     fallback : ['gtk-doc', 'dummy_dep'],
-     default_options : ['tests=false'])
- 
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index 95a7329..3e79bbf 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
@@ -1,4 +1,4 @@
-From 03a069cb8066d3e8ef72a43f7b1db5c9625e9cc2 Mon Sep 17 00:00:00 2001
+From f40e89b3852df37959606ee13b1a14ade81fa886 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Fri, 11 Mar 2016 15:35:55 +0000
 Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
@@ -13,7 +13,6 @@
 
 Port patch to 2.48
 Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-
 ---
  gio/giomodule.c | 7 -------
  1 file changed, 7 deletions(-)
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb
similarity index 94%
rename from poky/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb
rename to poky/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb
index 6c3e99c..f0fd057 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb
@@ -16,13 +16,13 @@
            file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
            file://0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch \
            file://memory-monitor.patch \
-           file://native-gtkdoc.patch \
+           file://fix-regex.patch \
            "
 SRC_URI:append:class-native = " file://relocate-modules.patch \ 
                                 file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \
                               "
 
-SRC_URI[sha256sum] = "609801dd373796e515972bf95fc0b2daa44545481ee2f465c4f204d224b2bc21"
+SRC_URI[sha256sum] = "24b8e0672dca120cc32d394bccb85844e732e04fe75d18bb0573b2dbc7548f63"
 
 # Find any meson cross files in FILESPATH that are relevant for the current
 # build (using siteinfo) and add them to EXTRA_OEMESON.
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking/eagain.patch b/poky/meta/recipes-core/glib-networking/glib-networking/eagain.patch
index 062fc01..6c2e3c6 100644
--- a/poky/meta/recipes-core/glib-networking/glib-networking/eagain.patch
+++ b/poky/meta/recipes-core/glib-networking/glib-networking/eagain.patch
@@ -1,4 +1,4 @@
-From 025bb39dfdb81dd2852deaefea228b197ef3cd8d Mon Sep 17 00:00:00 2001
+From 5604707bed4b4a4bc4658c7158a18c1774775775 Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Sat, 6 May 2023 12:18:50 +0100
 Subject: [PATCH] In autobuilder testing we regularly see glib-networking ptest
@@ -15,7 +15,6 @@
 Upstream-Status: Pending [testing to see if patch resolves the issue]
 
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
 ---
  tls/tests/connection.c | 4 ++++
  1 file changed, 4 insertions(+)
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.78.0.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.78.1.bb
similarity index 95%
rename from poky/meta/recipes-core/glib-networking/glib-networking_2.78.0.bb
rename to poky/meta/recipes-core/glib-networking/glib-networking_2.78.1.bb
index 68f9a2e..5060d9f 100644
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.78.0.bb
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.78.1.bb
@@ -14,7 +14,7 @@
 SECTION = "libs"
 DEPENDS = "glib-2.0-native glib-2.0"
 
-SRC_URI[archive.sha256sum] = "52fe4ce93f7dc51334b102894599858d23c8a65ac4a1110b30920565d68d3aba"
+SRC_URI[archive.sha256sum] = "e48f2ddbb049832cbb09230529c5e45daca9f0df0eda325f832f7379859bf09f"
 
 # Upstream note that for the openssl backend, half the tests where this backend don't return
 # the expected error code or don't work as expected so default to gnutls
diff --git a/poky/meta/recipes-core/libxml/libxml2/install-tests.patch b/poky/meta/recipes-core/libxml/libxml2/install-tests.patch
index 14ccce5..478eeea 100644
--- a/poky/meta/recipes-core/libxml/libxml2/install-tests.patch
+++ b/poky/meta/recipes-core/libxml/libxml2/install-tests.patch
@@ -1,4 +1,4 @@
-From 3fc716357ce1372d9418dc86f24315b34d9808de Mon Sep 17 00:00:00 2001
+From 0779511838a8cbd1e0f431c22f28f286a2a37b1b Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@arm.com>
 Date: Mon, 5 Dec 2022 17:02:32 +0000
 Subject: [PATCH] add yocto-specific install-ptest target
@@ -7,17 +7,16 @@
 
 Upstream-Status: Inappropriate
 Signed-off-by: Ross Burton <ross.burton@arm.com>
-
 ---
  Makefile.am | 10 ++++++++++
  1 file changed, 10 insertions(+)
 
 diff --git a/Makefile.am b/Makefile.am
-index 5bc4018..57d27af 100644
+index 0a49d37..1097c63 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -26,6 +26,16 @@ check_PROGRAMS = \
- 	testlimits \
+@@ -27,6 +27,16 @@ check_PROGRAMS = \
+ 	testparser \
  	testrecurse
  
 +ptestdir=$(libexecdir)
diff --git a/poky/meta/recipes-core/libxml/libxml2_2.11.5.bb b/poky/meta/recipes-core/libxml/libxml2_2.12.5.bb
similarity index 92%
rename from poky/meta/recipes-core/libxml/libxml2_2.11.5.bb
rename to poky/meta/recipes-core/libxml/libxml2_2.12.5.bb
index 44336c2..47c1a72 100644
--- a/poky/meta/recipes-core/libxml/libxml2_2.11.5.bb
+++ b/poky/meta/recipes-core/libxml/libxml2_2.12.5.bb
@@ -4,10 +4,11 @@
 BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml2"
 SECTION = "libs"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://Copyright;md5=2044417e2e5006b65a8b9067b683fcf1 \
-                    file://hash.c;beginline=6;endline=15;md5=e77f77b12cb69e203d8b4090a0eee879 \
+LIC_FILES_CHKSUM = "file://Copyright;md5=fec7ecfe714722b2bb0aaff7d200c701 \
+                    file://dict.c;beginline=6;endline=15;md5=2b4b7b827d2d8b080372433c4c9c85b6 \
                     file://list.c;beginline=4;endline=13;md5=b9c25b021ccaf287e50060602d20f3a7 \
-                    file://trio.c;beginline=5;endline=14;md5=cd4f61e27f88c1d43df112966b1cd28f"
+                    file://trio.c;beginline=5;endline=14;md5=cd4f61e27f88c1d43df112966b1cd28f \
+                    "
 
 DEPENDS = "zlib virtual/libiconv"
 
@@ -19,7 +20,7 @@
            file://install-tests.patch \
            "
 
-SRC_URI[archive.sha256sum] = "3727b078c360ec69fa869de14bd6f75d7ee8d36987b071e6928d4720a28df3a6"
+SRC_URI[archive.sha256sum] = "a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21"
 SRC_URI[testtar.sha256sum] = "c6b2d42ee50b8b236e711a97d68e6c4b5c8d83e69a2be4722379f08702ea7273"
 
 # Disputed as a security issue, but fixed in d39f780
diff --git a/poky/meta/recipes-core/meta/wic-tools.bb b/poky/meta/recipes-core/meta/wic-tools.bb
index 9282d36..76494e7 100644
--- a/poky/meta/recipes-core/meta/wic-tools.bb
+++ b/poky/meta/recipes-core/meta/wic-tools.bb
@@ -4,7 +4,7 @@
 
 DEPENDS = "\
            parted-native gptfdisk-native dosfstools-native \
-           mtools-native bmap-tools-native grub-native cdrtools-native \
+           mtools-native bmaptool-native grub-native cdrtools-native \
            btrfs-tools-native squashfs-tools-native pseudo-native \
            e2fsprogs-native util-linux-native tar-native erofs-utils-native \
            virtual/${TARGET_PREFIX}binutils \
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
index ae34a8a..df71695 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
@@ -40,7 +40,7 @@
     iptables \
     lsb-release \
     mc \
-    mc-fish \
+    mc-shell \
     mc-helpers \
     mc-helpers-perl \
     parted \
diff --git a/poky/meta/recipes-core/systemd/systemd-boot-native_254.4.bb b/poky/meta/recipes-core/systemd/systemd-boot-native_255.4.bb
similarity index 100%
rename from poky/meta/recipes-core/systemd/systemd-boot-native_254.4.bb
rename to poky/meta/recipes-core/systemd/systemd-boot-native_255.4.bb
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_255.1.bb b/poky/meta/recipes-core/systemd/systemd-boot_255.4.bb
similarity index 100%
rename from poky/meta/recipes-core/systemd/systemd-boot_255.1.bb
rename to poky/meta/recipes-core/systemd/systemd-boot_255.4.bb
diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc
index 1417e01..a35db50 100644
--- a/poky/meta/recipes-core/systemd/systemd.inc
+++ b/poky/meta/recipes-core/systemd/systemd.inc
@@ -15,7 +15,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
                     file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
 
-SRCREV = "2018ccef6645ce00c784369a22dc4e98f6d7061d"
+SRCREV = "387a14a7b67b8b76adaed4175e14bb7e39b2f738"
 SRCBRANCH = "v255-stable"
 SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH}"
 
diff --git a/poky/meta/recipes-core/systemd/systemd_255.1.bb b/poky/meta/recipes-core/systemd/systemd_255.4.bb
similarity index 98%
rename from poky/meta/recipes-core/systemd/systemd_255.1.bb
rename to poky/meta/recipes-core/systemd/systemd_255.4.bb
index a907d60..d59ca30 100644
--- a/poky/meta/recipes-core/systemd/systemd_255.1.bb
+++ b/poky/meta/recipes-core/systemd/systemd_255.4.bb
@@ -247,6 +247,7 @@
                   -Dsystem-uid-max=999 \
                   -Dsystem-alloc-gid-min=101 \
                   -Dsystem-gid-max=999 \
+                  -Dcreate-log-dirs=false \
                   "
 
 # Hardcode target binary paths to avoid using paths from sysroot or worse
@@ -437,7 +438,7 @@
 "
 SYSTEMD_SERVICE:${PN}-binfmt = "systemd-binfmt.service"
 
-USERADD_PACKAGES = "${PN} ${PN}-extra-utils \
+USERADD_PACKAGES = "${PN} \
                     udev \
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
@@ -452,7 +453,6 @@
 USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}"
 USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}"
 USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'oomd', '--system -d / -M --shell /sbin/nologin systemd-oom;', '', d)}"
-USERADD_PARAM:${PN}-extra-utils = "--system -d / -M --shell /sbin/nologin systemd-bus-proxy"
 USERADD_PARAM:${PN}-journal-gatewayd = "--system -d / -M --shell /sbin/nologin systemd-journal-gateway"
 USERADD_PARAM:${PN}-journal-remote = "--system -d / -M --shell /sbin/nologin systemd-journal-remote"
 USERADD_PARAM:${PN}-journal-upload = "--system -d / -M --shell /sbin/nologin systemd-journal-upload"
@@ -490,7 +490,7 @@
                       ${systemd_system_unitdir}/systemd-binfmt.service"
 RRECOMMENDS:${PN}-binfmt = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', 'kernel-module-binfmt-misc', '', d)}"
 
-RRECOMMENDS:${PN}-vconsole-setup = "${@bb.utils.contains('PACKAGECONFIG', 'vconsole', 'kbd kbd-consolefonts kbd-keymaps', '', d)}"
+RDEPENDS:${PN}-vconsole-setup = "${@bb.utils.contains('PACKAGECONFIG', 'vconsole', 'kbd kbd-consolefonts kbd-keymaps', '', d)}"
 
 
 FILES:${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \
@@ -591,9 +591,6 @@
                         ${rootlibexecdir}/systemd/systemd-resolve-host \
                         ${rootlibexecdir}/systemd/systemd-ac-power \
                         ${rootlibexecdir}/systemd/systemd-activate \
-                        ${rootlibexecdir}/systemd/systemd-bus-proxyd \
-                        ${systemd_system_unitdir}/systemd-bus-proxyd.service \
-                        ${systemd_system_unitdir}/systemd-bus-proxyd.socket \
                         ${rootlibexecdir}/systemd/systemd-measure \
                         ${rootlibexecdir}/systemd/systemd-pcrphase \
                         ${rootlibexecdir}/systemd/systemd-socket-proxyd \
diff --git a/poky/meta/recipes-core/ttyrun/ttyrun_2.30.0.bb b/poky/meta/recipes-core/ttyrun/ttyrun_2.31.0.bb
similarity index 93%
rename from poky/meta/recipes-core/ttyrun/ttyrun_2.30.0.bb
rename to poky/meta/recipes-core/ttyrun/ttyrun_2.31.0.bb
index 73c6c58..122dd9d 100644
--- a/poky/meta/recipes-core/ttyrun/ttyrun_2.30.0.bb
+++ b/poky/meta/recipes-core/ttyrun/ttyrun_2.31.0.bb
@@ -7,7 +7,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f5118f167b055bfd7c3450803f1847af"
 
 SRC_URI = "git://github.com/ibm-s390-linux/s390-tools;protocol=https;branch=master"
-SRCREV = "c217f6be6addd4d008f110efa53fbec79681dbfd"
+SRCREV = "6f15ed326491a17d83ca60cd2bda47fb5e8a0175"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb b/poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb
index 043cb3f..ba622fe 100644
--- a/poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb
+++ b/poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb
@@ -7,7 +7,7 @@
 LIC_FILES_CHKSUM = "file://update-rc.d;beginline=5;endline=15;md5=d40a07c27f535425934bb5001f2037d9"
 
 SRC_URI = "git://git.yoctoproject.org/update-rc.d;branch=master;protocol=https"
-SRCREV = "8636cf478d426b568c1be11dbd9346f67e03adac"
+SRCREV = "b8f950105010270a768aa12245d6abf166346015"
 
 UPSTREAM_CHECK_COMMITS = "1"
 
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-a-possibility-to-specify-where-python-modules-ar.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-a-possibility-to-specify-where-python-modules-ar.patch
index 5846f04..4b1797b 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-a-possibility-to-specify-where-python-modules-ar.patch
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-a-possibility-to-specify-where-python-modules-ar.patch
@@ -1,4 +1,4 @@
-From d3adfc21c9cc264bd191722f102963cbc4794259 Mon Sep 17 00:00:00 2001
+From 980f6edc269fa3ef8d4d4b9cd1aada2328131c19 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 23 May 2018 21:20:35 +0300
 Subject: [PATCH] Add a possibility to specify where python modules are
@@ -11,10 +11,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile b/Makefile
-index 1697794c..8ab38818 100644
+index 374f59b9..ed083f6b 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -651,7 +651,7 @@ endif
+@@ -959,7 +959,7 @@ endif
  ifeq ($(PYTHON_BINDINGS),1)
  install_python: libbtrfsutil_python
  	$(Q)cd libbtrfsutil/python; \
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.5.3.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.7.1.bb
similarity index 95%
rename from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.5.3.bb
rename to poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.7.1.bb
index 6455efd..8132c2c 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.5.3.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.7.1.bb
@@ -18,7 +18,7 @@
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master;protocol=https \
            file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
            "
-SRCREV = "a45c360b64660477c726e192d9e92ceb73a50f80"
+SRCREV = "60abf7a90776c2405f616182ef6129474bbcb109"
 S = "${WORKDIR}/git"
 
 PACKAGECONFIG ??= " \
@@ -27,7 +27,7 @@
     python \
     crypto-builtin \
 "
-PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, python3-sphinx-native"
+PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, python3-sphinx-native python3-sphinx-rtd-theme-native"
 PACKAGECONFIG[programs] = "--enable-programs,--disable-programs"
 PACKAGECONFIG[convert] = "--enable-convert --with-convert=ext2,--disable-convert --without-convert,e2fsprogs"
 PACKAGECONFIG[zoned] = "--enable-zoned,--disable-zoned"
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0001-Corretly-install-tmpfiles.d-configuration.patch b/poky/meta/recipes-devtools/dnf/dnf/0001-Corretly-install-tmpfiles.d-configuration.patch
index 6692b41..fd94222 100644
--- a/poky/meta/recipes-devtools/dnf/dnf/0001-Corretly-install-tmpfiles.d-configuration.patch
+++ b/poky/meta/recipes-devtools/dnf/dnf/0001-Corretly-install-tmpfiles.d-configuration.patch
@@ -1,11 +1,10 @@
-From 05e059cd4e9910c00b32d377f4f98e3c8dde6bc6 Mon Sep 17 00:00:00 2001
+From f70eb308c837f2c944e23bb680a501a605004d65 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 26 Jan 2017 16:36:20 +0200
-Subject: [PATCH 4/5] Corretly install tmpfiles.d configuration
+Subject: [PATCH] Corretly install tmpfiles.d configuration
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  etc/tmpfiles.d/CMakeLists.txt | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
@@ -17,6 +16,3 @@
 @@ -1 +1 @@
 -INSTALL (FILES dnf.conf DESTINATION /usr/lib/tmpfiles.d/)
 +INSTALL (FILES dnf.conf DESTINATION ${SYSCONFDIR}/tmpfiles.d/)
--- 
-2.14.2
-
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch b/poky/meta/recipes-devtools/dnf/dnf/0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch
index cb09f17..37359a5 100644
--- a/poky/meta/recipes-devtools/dnf/dnf/0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch
+++ b/poky/meta/recipes-devtools/dnf/dnf/0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch
@@ -1,17 +1,16 @@
-From ffb7942cc73c3d2c6aa7c689cdaf9bc0bcbc144b Mon Sep 17 00:00:00 2001
+From 3ca6d14fbc6419ff6239b4ba16f77da20fb31d03 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 26 Jan 2017 16:25:47 +0200
 Subject: [PATCH] Do not hardcode /etc and systemd unit directories
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  CMakeLists.txt | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 73552967..38cf4fbf 100644
+index 4aee99fb..9e2e9e9e 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -3,8 +3,8 @@ CMAKE_MINIMUM_REQUIRED (VERSION 2.4)
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-write-the-log-lock-to-root.patch b/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-write-the-log-lock-to-root.patch
index eb0309d..18f9a30 100644
--- a/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-write-the-log-lock-to-root.patch
+++ b/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-write-the-log-lock-to-root.patch
@@ -1,4 +1,4 @@
-From 3bd0faf58cc9ad531e6b63d5660c4b8316e8daed Mon Sep 17 00:00:00 2001
+From 049e2832284ab883e185d9020c881518a68e6c38 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 28 Apr 2020 15:55:00 +0200
 Subject: [PATCH] dnf: write the log lock to root
@@ -10,7 +10,6 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  dnf/logging.py | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0001-set-python-path-for-completion_helper.patch b/poky/meta/recipes-devtools/dnf/dnf/0001-set-python-path-for-completion_helper.patch
index 448f640..fcd970a 100644
--- a/poky/meta/recipes-devtools/dnf/dnf/0001-set-python-path-for-completion_helper.patch
+++ b/poky/meta/recipes-devtools/dnf/dnf/0001-set-python-path-for-completion_helper.patch
@@ -1,4 +1,4 @@
-From 7e79b3b67fd5cecd7380e7e365fd88eca63b5bfa Mon Sep 17 00:00:00 2001
+From fa32c7dcabaa3c00d3620a3266e49629365c0cbe Mon Sep 17 00:00:00 2001
 From: Jeremy Puhlman <jpuhlman@mvista.com>
 Date: Wed, 11 Mar 2020 22:10:02 +0000
 Subject: [PATCH] set python path for completion_helper
@@ -10,7 +10,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/dnf/cli/completion_helper.py.in b/dnf/cli/completion_helper.py.in
-index 351226759..2835cd3b6 100644
+index 0da0f2a2..9330d15b 100644
 --- a/dnf/cli/completion_helper.py.in
 +++ b/dnf/cli/completion_helper.py.in
 @@ -1,4 +1,4 @@
@@ -19,6 +19,3 @@
  #
  # This file is part of dnf.
  #
--- 
-2.23.0
-
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0005-Do-not-prepend-installroot-to-logdir.patch b/poky/meta/recipes-devtools/dnf/dnf/0005-Do-not-prepend-installroot-to-logdir.patch
index 0e11c2e..cfbda11 100644
--- a/poky/meta/recipes-devtools/dnf/dnf/0005-Do-not-prepend-installroot-to-logdir.patch
+++ b/poky/meta/recipes-devtools/dnf/dnf/0005-Do-not-prepend-installroot-to-logdir.patch
@@ -1,7 +1,7 @@
-From 6365389074a1b86962f3d8b22a2ead2202026a98 Mon Sep 17 00:00:00 2001
+From c6d03b51e2098fc681e6811790bd5dc6597091eb Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 11 Jan 2017 15:10:13 +0200
-Subject: [PATCH 5/5] Do not prepend installroot to logdir.
+Subject: [PATCH] Do not prepend installroot to logdir.
 
 This would otherwise write the logs into rootfs/var/log
 (whereas we want them in $T),
@@ -14,7 +14,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/dnf/cli/cli.py b/dnf/cli/cli.py
-index d2d9c082..82270ecf 100644
+index 1824bd00..4dcb1c1c 100644
 --- a/dnf/cli/cli.py
 +++ b/dnf/cli/cli.py
 @@ -944,7 +944,7 @@ class Cli(object):
@@ -26,6 +26,3 @@
              conf.prepend_installroot(opt)
  
          self.base._logging._setup_from_dnf_conf(conf)
--- 
-2.14.2
-
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/poky/meta/recipes-devtools/dnf/dnf/0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
index 5cffc9d..64ea787 100644
--- a/poky/meta/recipes-devtools/dnf/dnf/0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
+++ b/poky/meta/recipes-devtools/dnf/dnf/0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
@@ -1,11 +1,10 @@
-From ceb1043c4f3de095e36908232320b74a4128a94e Mon Sep 17 00:00:00 2001
+From d5b154ea69afdcd862299a0b7f255f6ece3686c6 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 30 Dec 2016 18:29:07 +0200
 Subject: [PATCH] Do not set PYTHON_INSTALL_DIR by running python
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  CMakeLists.txt | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0030-Run-python-scripts-using-env.patch b/poky/meta/recipes-devtools/dnf/dnf/0030-Run-python-scripts-using-env.patch
index eedbb57..eb46113 100644
--- a/poky/meta/recipes-devtools/dnf/dnf/0030-Run-python-scripts-using-env.patch
+++ b/poky/meta/recipes-devtools/dnf/dnf/0030-Run-python-scripts-using-env.patch
@@ -1,20 +1,19 @@
-From 8d97b72a1d77149e2f9048d1ca6cef66da1a8aa5 Mon Sep 17 00:00:00 2001
+From d3556767b84f3687743fdad0a88af0739d736ea9 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 30 Dec 2016 18:29:37 +0200
-Subject: [PATCH 2/5] Run python scripts using env
+Subject: [PATCH] Run python scripts using env
 
 Otherwise the build tools hardcode the python path into them.
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  bin/dnf-automatic.in | 2 +-
  bin/dnf.in           | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/bin/dnf-automatic.in b/bin/dnf-automatic.in
-index 5b06aa26..891b4c24 100755
+index 17e35a05..28827e38 100755
 --- a/bin/dnf-automatic.in
 +++ b/bin/dnf-automatic.in
 @@ -1,4 +1,4 @@
@@ -24,7 +23,7 @@
  #
  # Copyright (C) 2014-2016 Red Hat, Inc.
 diff --git a/bin/dnf.in b/bin/dnf.in
-index 645d0f06..bdf7b3c4 100755
+index 55ceb3f2..e38973c7 100755
 --- a/bin/dnf.in
 +++ b/bin/dnf.in
 @@ -1,4 +1,4 @@
@@ -33,6 +32,3 @@
  # The dnf executable script.
  #
  # Copyright (C) 2012-2016 Red Hat, Inc.
--- 
-2.14.2
-
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.18.2.bb b/poky/meta/recipes-devtools/dnf/dnf_4.19.0.bb
similarity index 98%
rename from poky/meta/recipes-devtools/dnf/dnf_4.18.2.bb
rename to poky/meta/recipes-devtools/dnf/dnf_4.19.0.bb
index dc0c18b..784d7a9 100644
--- a/poky/meta/recipes-devtools/dnf/dnf_4.18.2.bb
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.19.0.bb
@@ -19,7 +19,7 @@
 
 SRC_URI:append:class-native = "file://0001-dnf-write-the-log-lock-to-root.patch"
 
-SRCREV = "1c43d0999178d492381ad0b43917ffd9c74016f8"
+SRCREV = "566a61f9d8a2830ac6dcc3a94c59224cef1c3d03"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.189.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.191.bb
similarity index 96%
rename from poky/meta/recipes-devtools/elfutils/elfutils_0.189.bb
rename to poky/meta/recipes-devtools/elfutils/elfutils_0.191.bb
index 076ba47..b3b2476 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.189.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.191.bb
@@ -21,13 +21,11 @@
            file://0001-skip-the-test-when-gcc-not-deployed.patch \
            file://ptest.patch \
            file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \
-           file://0001-Add-helper-function-for-basename.patch \
-           file://0001-tests-fix-build-against-upcoming-gcc-14-Werror-callo.patch \
            "
 SRC_URI:append:libc-musl = " \
            file://0003-musl-utils.patch \
            "
-SRC_URI[sha256sum] = "39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8"
+SRC_URI[sha256sum] = "df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871"
 
 inherit autotools gettext ptest pkgconfig
 
@@ -69,7 +67,7 @@
 do_install_ptest() {
 	if [ ${PTEST_ENABLED} = "1" ]; then
 		# copy the files which needed by the cases
-		TEST_FILES="strip strip.o addr2line elfcmp objdump readelf size.o nm.o nm elflint elfcompress elfclassify stack unstrip"
+		TEST_FILES="strip strip.o addr2line elfcmp objdump readelf size.o nm.o nm elflint elfcompress elfclassify stack unstrip srcfiles"
 		install -d -m 755                       ${D}${PTEST_PATH}/src
 		install -d -m 755                       ${D}${PTEST_PATH}/lib
 		install -d -m 755                       ${D}${PTEST_PATH}/libelf
@@ -166,6 +164,7 @@
     ${PKGD}${PTEST_PATH}/src/elfclassify \
     ${PKGD}${PTEST_PATH}/src/stack \
     ${PKGD}${PTEST_PATH}/src/unstrip \
+    ${PKGD}${PTEST_PATH}/src/srcfiles \
     ${PKGD}${PTEST_PATH}/libelf/libelf.so \
     ${PKGD}${PTEST_PATH}/libdw/libdw.so \
     ${PKGD}${PTEST_PATH}/libasm/libasm.so \
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-Add-helper-function-for-basename.patch b/poky/meta/recipes-devtools/elfutils/files/0001-Add-helper-function-for-basename.patch
deleted file mode 100644
index 3e6033f..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/0001-Add-helper-function-for-basename.patch
+++ /dev/null
@@ -1,404 +0,0 @@
-From 666372a5d8d5a23203c70d583904097c9e49c5a0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 9 Dec 2023 18:23:03 -0800
-Subject: [PATCH] Add helper function for basename
-
-musl does not provide GNU version of basename and lately have removed
-the definiton from string.h [1] which exposes this problem. It can be
-made to work by providing a local implementation of basename which
-implements the GNU basename behavior, this makes it work across C
-libraries which have POSIX implementation only.
-
-Upstream-Status: Submitted [https://sourceware.org/pipermail/elfutils-devel/2023q4/006727.html]
-[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/Makefile.am                      |  2 +-
- lib/libeu.h                          |  1 +
- lib/{libeu.h => xbasename.c}         | 31 ++++++++++------------------
- libdw/dwarf_getsrc_file.c            |  3 ++-
- libdwfl/core-file.c                  |  3 ++-
- libdwfl/dwfl_module_getsrc_file.c    |  3 ++-
- libdwfl/dwfl_segment_report_module.c |  3 ++-
- libdwfl/find-debuginfo.c             |  7 ++++---
- libdwfl/link_map.c                   |  3 ++-
- libdwfl/linux-kernel-modules.c       |  3 ++-
- src/addr2line.c                      |  5 +++--
- src/ar.c                             |  5 +++--
- src/nm.c                             |  4 ++--
- src/stack.c                          |  3 ++-
- src/strip.c                          |  2 +-
- tests/show-die-info.c                |  2 +-
- tests/varlocs.c                      |  2 +-
- 17 files changed, 42 insertions(+), 40 deletions(-)
- copy lib/{libeu.h => xbasename.c} (57%)
-
---- a/lib/Makefile.am
-+++ b/lib/Makefile.am
-@@ -33,7 +33,7 @@ AM_CPPFLAGS += -I$(srcdir)/../libelf
- 
- noinst_LIBRARIES = libeu.a
- 
--libeu_a_SOURCES = xasprintf.c xstrdup.c xstrndup.c xmalloc.c next_prime.c \
-+libeu_a_SOURCES = xasprintf.c xbasename.c xstrdup.c xstrndup.c xmalloc.c next_prime.c \
- 		  crc32.c crc32_file.c \
- 		  color.c error.c printversion.c
- 
---- a/lib/libeu.h
-+++ b/lib/libeu.h
-@@ -42,6 +42,7 @@ extern char *xstrndup (const char *, siz
- extern char *xasprintf(const char *fmt, ...)
- 	__attribute__ ((format (printf, 1, 2))) __attribute__ ((__malloc__));
- 
-+extern const char *xbasename(const char *s);
- extern uint32_t crc32 (uint32_t crc, unsigned char *buf, size_t len);
- extern int crc32_file (int fd, uint32_t *resp);
- 
---- /dev/null
-+++ b/lib/xbasename.c
-@@ -0,0 +1,39 @@
-+/* Convenience function for basename extraction.
-+   Copyright (C) 2023 Khem Raj.
-+   This file is part of elfutils.
-+
-+   This file is free software; you can redistribute it and/or modify
-+   it under the terms of either
-+
-+     * the GNU Lesser General Public License as published by the Free
-+       Software Foundation; either version 3 of the License, or (at
-+       your option) any later version
-+
-+   or
-+
-+     * the GNU General Public License as published by the Free
-+       Software Foundation; either version 2 of the License, or (at
-+       your option) any later version
-+
-+   or both in parallel, as here.
-+
-+   elfutils is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received copies of the GNU General Public License and
-+   the GNU Lesser General Public License along with this program.  If
-+   not, see <http://www.gnu.org/licenses/>.  */
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include <string.h>
-+
-+const char *
-+xbasename(const char *s) {
-+    const char *p = strrchr(s, '/');
-+    return p ? p+1 : s;
-+}
---- a/libdw/dwarf_getsrc_file.c
-+++ b/libdw/dwarf_getsrc_file.c
-@@ -37,6 +37,7 @@
- #include <string.h>
- 
- #include "libdwP.h"
-+#include "libeu.h"
- 
- 
- int
-@@ -98,7 +99,7 @@ dwarf_getsrc_file (Dwarf *dbg, const cha
- 	      /* Match the name with the name the user provided.  */
- 	      const char *fname2 = line->files->info[lastfile].name;
- 	      if (is_basename)
--		lastmatch = strcmp (basename (fname2), fname) == 0;
-+		lastmatch = strcmp (xbasename (fname2), fname) == 0;
- 	      else
- 		lastmatch = strcmp (fname2, fname) == 0;
- 	    }
---- a/libdwfl/core-file.c
-+++ b/libdwfl/core-file.c
-@@ -29,6 +29,7 @@
- 
- #include <config.h>
- #include "libelfP.h"	/* For NOTE_ALIGN.  */
-+#include "libeu.h"
- #include "libdwflP.h"
- #include <gelf.h>
- 
-@@ -595,7 +596,7 @@ dwfl_core_file_report (Dwfl *dwfl, Elf *
-       if (! __libdwfl_dynamic_vaddr_get (module->elf, &file_dynamic_vaddr))
- 	continue;
-       Dwfl_Module *mod;
--      mod = __libdwfl_report_elf (dwfl, basename (module->name), module->name,
-+      mod = __libdwfl_report_elf (dwfl, xbasename (module->name), module->name,
- 				  module->fd, module->elf,
- 				  module->l_ld - file_dynamic_vaddr,
- 				  true, true);
---- a/libdwfl/dwfl_module_getsrc_file.c
-+++ b/libdwfl/dwfl_module_getsrc_file.c
-@@ -31,6 +31,7 @@
- #endif
- 
- #include "libdwflP.h"
-+#include "libeu.h"
- #include "libdwP.h"
- 
- 
-@@ -103,7 +104,7 @@ dwfl_module_getsrc_file (Dwfl_Module *mo
- 		{
- 		  /* Match the name with the name the user provided.  */
- 		  lastfile = file;
--		  lastmatch = !strcmp (is_basename ? basename (file) : file,
-+		  lastmatch = !strcmp (is_basename ? xbasename (file) : file,
- 				       fname);
- 		}
- 	    }
---- a/libdwfl/dwfl_segment_report_module.c
-+++ b/libdwfl/dwfl_segment_report_module.c
-@@ -29,6 +29,7 @@
- 
- #include <config.h>
- #include "libelfP.h"	/* For NOTE_ALIGN4 and NOTE_ALIGN8.  */
-+#include "libeu.h"
- #include "libdwflP.h"
- #include "common.h"
- 
-@@ -718,7 +719,7 @@ dwfl_segment_report_module (Dwfl *dwfl,
- 	      bias += fixup;
- 	      if (module->name[0] != '\0')
- 		{
--		  name = basename (module->name);
-+		  name = xbasename (module->name);
- 		  name_is_final = true;
- 		}
- 	      break;
---- a/libdwfl/find-debuginfo.c
-+++ b/libdwfl/find-debuginfo.c
-@@ -31,6 +31,7 @@
- #endif
- 
- #include "libdwflP.h"
-+#include "libeu.h"
- #include <stdio.h>
- #include <fcntl.h>
- #include <sys/stat.h>
-@@ -164,7 +165,7 @@ find_debuginfo_in_path (Dwfl_Module *mod
- {
-   bool cancheck = debuglink_crc != (GElf_Word) 0;
- 
--  const char *file_basename = file_name == NULL ? NULL : basename (file_name);
-+  const char *file_basename = file_name == NULL ? NULL : xbasename (file_name);
-   char *localname = NULL;
- 
-   /* We invent a debuglink .debug name if NULL, but then want to try the
-@@ -278,7 +279,7 @@ find_debuginfo_in_path (Dwfl_Module *mod
- 	  else
- 	    {
- 	      subdir = NULL;
--	      file = basename (debuglink_file);
-+	      file = xbasename (debuglink_file);
- 	    }
- 	  try_file_basename = debuglink_null;
- 	  break;
-@@ -306,7 +307,7 @@ find_debuginfo_in_path (Dwfl_Module *mod
- 	    if (mod->dw != NULL && (p[0] == '\0' || p[0] == '/'))
- 	      {
- 		fd = try_open (&main_stat, dir, ".dwz",
--			       basename (file), &fname);
-+			       xbasename (file), &fname);
- 		if (fd < 0)
- 		  {
- 		    if (errno != ENOENT && errno != ENOTDIR)
---- a/libdwfl/link_map.c
-+++ b/libdwfl/link_map.c
-@@ -29,6 +29,7 @@
- 
- #include <config.h>
- #include "libdwflP.h"
-+#include "libeu.h"
- #include "memory-access.h"
- #include "system.h"
- 
-@@ -469,7 +470,7 @@ report_r_debug (uint_fast8_t elfclass, u
- 		      if (r_debug_info_module == NULL)
- 			{
- 			  // XXX hook for sysroot
--			  mod = __libdwfl_report_elf (dwfl, basename (name),
-+			  mod = __libdwfl_report_elf (dwfl, xbasename (name),
- 						      name, fd, elf, base,
- 						      true, true);
- 			  if (mod != NULL)
---- a/libdwfl/linux-kernel-modules.c
-+++ b/libdwfl/linux-kernel-modules.c
-@@ -40,6 +40,7 @@
- #include <system.h>
- 
- #include "libelfP.h"
-+#include "libeu.h"
- #include "libdwflP.h"
- #include <inttypes.h>
- #include <errno.h>
-@@ -116,7 +117,7 @@ try_kernel_name (Dwfl *dwfl, char **fnam
- 	/* Try the file's unadorned basename as DEBUGLINK_FILE,
- 	   to look only for "vmlinux" files.  */
- 	fd = INTUSE(dwfl_standard_find_debuginfo) (&fakemod, NULL, NULL, 0,
--						   *fname, basename (*fname),
-+						   *fname, xbasename (*fname),
- 						   0, &fakemod.debug.name);
- 
-       if (fakemod.debug.name != NULL)
---- a/src/addr2line.c
-+++ b/src/addr2line.c
-@@ -38,6 +38,7 @@
- 
- #include <system.h>
- #include <printversion.h>
-+#include "libeu.h"
- 
- 
- /* Name and version of program.  */
-@@ -385,7 +386,7 @@ print_dwarf_function (Dwfl_Module *mod,
- 		  if (file == NULL)
- 		    file = "???";
- 		  else if (only_basenames)
--		    file = basename (file);
-+		    file = xbasename (file);
- 		  else if (use_comp_dir && file[0] != '/')
- 		    {
- 		      const char *const *dirs;
-@@ -568,7 +569,7 @@ print_src (const char *src, int lineno,
-   const char *comp_dir_sep = "";
- 
-   if (only_basenames)
--    src = basename (src);
-+    src = xbasename (src);
-   else if (use_comp_dir && src[0] != '/')
-     {
-       Dwarf_Attribute attr;
---- a/src/ar.c
-+++ b/src/ar.c
-@@ -42,6 +42,7 @@
- #include <printversion.h>
- 
- #include "arlib.h"
-+#include "libeu.h"
- 
- 
- /* Name and version of program.  */
-@@ -1133,7 +1134,7 @@ do_oper_insert (int oper, const char *ar
-       for (int cnt = 0; cnt < argc; ++cnt)
- 	{
- 	  ENTRY entry;
--	  entry.key = full_path ? argv[cnt] : basename (argv[cnt]);
-+	  entry.key = full_path ? argv[cnt] : (char*)xbasename (argv[cnt]);
- 	  entry.data = &argv[cnt];
- 	  if (hsearch (entry, ENTER) == NULL)
- 	    error_exit (errno, _("cannot insert into hash table"));
-@@ -1242,7 +1243,7 @@ do_oper_insert (int oper, const char *ar
-       /* Open all the new files, get their sizes and add all symbols.  */
-       for (int cnt = 0; cnt < argc; ++cnt)
- 	{
--	  const char *bname = basename (argv[cnt]);
-+	  const char *bname = xbasename (argv[cnt]);
- 	  size_t bnamelen = strlen (bname);
- 	  if (found[cnt] == NULL)
- 	    {
---- a/src/nm.c
-+++ b/src/nm.c
-@@ -1417,7 +1417,7 @@ show_symbols (int fd, Ebl *ebl, GElf_Ehd
- 			  int lineno;
- 			  (void) dwarf_lineno (line, &lineno);
- 			  const char *file = dwarf_linesrc (line, NULL, NULL);
--			  file = (file != NULL) ? basename (file) : "???";
-+			  file = (file != NULL) ? xbasename (file) : "???";
- 			  int n;
- 			  n = obstack_printf (&whereob, "%s:%d%c", file,
- 					      lineno, '\0');
-@@ -1448,7 +1448,7 @@ show_symbols (int fd, Ebl *ebl, GElf_Ehd
- 		{
- 		  /* We found the line.  */
- 		  int n = obstack_printf (&whereob, "%s:%" PRIu64 "%c",
--					  basename ((*found)->file),
-+					  xbasename ((*found)->file),
- 					  (*found)->lineno,
- 					  '\0');
- 		  sym_mem[nentries_used].where = obstack_finish (&whereob);
---- a/src/stack.c
-+++ b/src/stack.c
-@@ -31,6 +31,7 @@
- #include <system.h>
- #include <printversion.h>
- 
-+#include "libeu.h"
- /* Name and version of program.  */
- ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
- 
-@@ -152,7 +153,7 @@ module_callback (Dwfl_Module *mod, void
- 
-   int width = get_addr_width (mod);
-   printf ("0x%0*" PRIx64 "-0x%0*" PRIx64 " %s\n",
--	  width, start, width, end, basename (name));
-+	  width, start, width, end, xbasename (name));
- 
-   const unsigned char *id;
-   GElf_Addr id_vaddr;
---- a/src/strip.c
-+++ b/src/strip.c
-@@ -1807,7 +1807,7 @@ handle_elf (int fd, Elf *elf, const char
- 		      elf_errmsg (-1));
- 	}
- 
--      char *debug_basename = basename (debug_fname_embed ?: debug_fname);
-+      const char *debug_basename = xbasename (debug_fname_embed ?: debug_fname);
-       off_t crc_offset = strlen (debug_basename) + 1;
-       /* Align to 4 byte boundary */
-       crc_offset = ((crc_offset - 1) & ~3) + 4;
---- a/tests/show-die-info.c
-+++ b/tests/show-die-info.c
-@@ -26,6 +26,7 @@
- #include <string.h>
- #include <unistd.h>
- 
-+#include "../lib/libeu.h"
- #include "../libdw/known-dwarf.h"
- 
- static const char *
-@@ -318,7 +319,7 @@ main (int argc, char *argv[])
-       int fd = open (argv[cnt], O_RDONLY);
-       Dwarf *dbg;
- 
--      printf ("file: %s\n", basename (argv[cnt]));
-+      printf ("file: %s\n", xbasename (argv[cnt]));
- 
-       dbg = dwarf_begin (fd, DWARF_C_READ);
-       if (dbg == NULL)
---- a/tests/varlocs.c
-+++ b/tests/varlocs.c
-@@ -33,6 +33,7 @@
- 
- #include "system.h"
- #include "../libdw/known-dwarf.h"
-+#include "../lib/libeu.h"
- 
- // The Dwarf, Dwarf_CFIs and address bias of
- // cfi table to adjust DWARF addresses against.
-@@ -1120,7 +1121,7 @@ main (int argc, char *argv[])
- 
- 	  const char *name = (modname[0] != '\0'
- 			      ? modname
--			      :  basename (mainfile));
-+			      :  xbasename (mainfile));
- 	  printf ("module '%s'\n", name);
- 	  print_die (&cudie, "CU", 0);
- 
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -692,7 +692,7 @@ update1_LDADD = $(libelf)
- update2_LDADD = $(libelf)
- update3_LDADD = $(libdw) $(libelf)
- update4_LDADD = $(libdw) $(libelf)
--show_die_info_LDADD = $(libdw) $(libelf)
-+show_die_info_LDADD = $(libeu) $(libdw) $(libelf)
- get_pubnames_LDADD = $(libdw) $(libelf)
- show_abbrev_LDADD = $(libdw) $(libelf)
- get_lines_LDADD = $(libdw) $(libelf)
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch b/poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch
index 6acc036..4f7539b 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch
@@ -1,4 +1,4 @@
-From c5fb59ac0819b5b6d8244c613cbcf92cb09840c1 Mon Sep 17 00:00:00 2001
+From 63070df4b0dc7af37a720915b5e6494204463c9a Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 15 Aug 2017 17:10:57 +0800
 Subject: [PATCH] dso link change
@@ -16,31 +16,30 @@
 Rebase to 0.170
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
 ---
  src/Makefile.am   | 2 +-
  tests/Makefile.am | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/src/Makefile.am b/src/Makefile.am
-index 88d0ac8..c28d81f 100644
+index 1d592d4..853eda4 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
-@@ -45,7 +45,7 @@ libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) -ldl -lpthread
- libelf = ../libelf/libelf.a -lz
+@@ -50,7 +50,7 @@ libdebuginfod =
+ endif
  else
  libasm = ../libasm/libasm.so
 -libdw = ../libdw/libdw.so
 +libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl
  libelf = ../libelf/libelf.so
- endif
- libebl = ../libebl/libebl.a ../backends/libebl_backends.a ../libcpu/libcpu.a
+ if LIBDEBUGINFOD
+ libdebuginfod = ../debuginfod/libdebuginfod.so
 diff --git a/tests/Makefile.am b/tests/Makefile.am
-index c145720..72afd0e 100644
+index 9141074..ee49d07 100644
 --- a/tests/Makefile.am
 +++ b/tests/Makefile.am
-@@ -554,7 +554,7 @@ libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl -lpthread
- libelf = ../libelf/libelf.a -lz
+@@ -694,7 +694,7 @@ libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl -lpthread
+ libelf = ../libelf/libelf.a -lz $(zstd_LIBS)
  libasm = ../libasm/libasm.a
  else
 -libdw = ../libdw/libdw.so
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch b/poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch
index 09c9d3e..a9f5e03 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch
@@ -1,4 +1,4 @@
-From ed1975deeaa47f98d212fd144c8bda075b1a5d36 Mon Sep 17 00:00:00 2001
+From 46d9d889a07fc9f9f089f800e5c0e895889c44ae Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 4 Oct 2017 22:30:46 -0700
 Subject: [PATCH] libasm may link with libbz2 if found
@@ -11,26 +11,29 @@
 
 Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
 ---
  src/Makefile.am | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/src/Makefile.am b/src/Makefile.am
-index c28d81f..951e978 100644
+index 853eda4..da7f3b4 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
-@@ -40,11 +40,11 @@ EXTRA_DIST += make-debug-archive.in
+@@ -40,7 +40,7 @@ EXTRA_DIST += make-debug-archive.in
  CLEANFILES += make-debug-archive
  
  if BUILD_STATIC
 -libasm = ../libasm/libasm.a
 +libasm = ../libasm/libasm.a $(zip_LIBS)
  libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) -ldl -lpthread
- libelf = ../libelf/libelf.a -lz
+ libelf = ../libelf/libelf.a -lz $(zstd_LIBS)
+ if LIBDEBUGINFOD
+@@ -49,7 +49,7 @@ else
+ libdebuginfod =
+ endif
  else
 -libasm = ../libasm/libasm.so
 +libasm = ../libasm/libasm.so $(zip_LIBS)
  libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl
  libelf = ../libelf/libelf.so
- endif
+ if LIBDEBUGINFOD
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch b/poky/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch
index c8d55d5..57e4b38 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch
@@ -1,4 +1,4 @@
-From f40cbd43acdb1fefef4fa53a6034296d83cbff7d Mon Sep 17 00:00:00 2001
+From 19d9e9d838e74e4a0a22f08ae03167380f8aa490 Mon Sep 17 00:00:00 2001
 From: Robert Yang <liezhi.yang@windriver.com>
 Date: Thu, 16 Aug 2018 09:58:26 +0800
 Subject: [PATCH] libelf/elf_end.c: check data_list.data.d.d_buf before free it
@@ -14,16 +14,15 @@
 Upstream-Status: Submitted [https://sourceware.org/ml/elfutils-devel/2018-q3/msg00085.html]
 
 Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
 ---
  libelf/elf_end.c | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/libelf/elf_end.c b/libelf/elf_end.c
-index 160f0b8..5280a70 100644
+index 80f4d13..b103959 100644
 --- a/libelf/elf_end.c
 +++ b/libelf/elf_end.c
-@@ -160,14 +160,16 @@ elf_end (Elf *elf)
+@@ -169,14 +169,16 @@ elf_end (Elf *elf)
  		   architecture doesn't require overly stringent
  		   alignment the raw data buffer is the same as the
  		   one used for presenting to the caller.  */
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch b/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
index 0e6bf55..096361e 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
@@ -1,4 +1,4 @@
-From 2fa52d61b1abdf4a3f3b153c771fb2081666430c Mon Sep 17 00:00:00 2001
+From f9ab54454000fd210dbaa92cf516084d05060f9d Mon Sep 17 00:00:00 2001
 From: Mingli Yu <Mingli.Yu@windriver.com>
 Date: Tue, 21 May 2019 15:20:34 +0800
 Subject: [PATCH] skip the test when gcc not deployed
@@ -9,7 +9,6 @@
 Upstream-Status: Submitted [https://sourceware.org/ml/elfutils-devel/2019-q2/msg00091.html]
 
 Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
-
 ---
  tests/run-disasm-x86-64.sh | 2 ++
  tests/run-disasm-x86.sh    | 2 ++
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch b/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
index a2c0b90..d410eb1 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
@@ -1,4 +1,4 @@
-From e355ca3b8ddcc6e73ee140f53d25634afdaec0da Mon Sep 17 00:00:00 2001
+From 2d4dfb814dda02193e49c9203147cf73e6d3f8b7 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 23 Jun 2020 07:49:35 +0000
 Subject: [PATCH] tests/Makefile.am: compile test_nlist with standard CFLAGS
@@ -8,16 +8,15 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  tests/Makefile.am | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 2ade5d9..f85cdba 100644
+index 3bd8e58..370c6a8 100644
 --- a/tests/Makefile.am
 +++ b/tests/Makefile.am
-@@ -98,7 +98,7 @@ endif
+@@ -103,7 +103,7 @@ endif
  test-nlist$(EXEEXT): test-nlist.c
  	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
  	  $(AM_CPPFLAGS) $(CPPFLAGS) \
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-tests-fix-build-against-upcoming-gcc-14-Werror-callo.patch b/poky/meta/recipes-devtools/elfutils/files/0001-tests-fix-build-against-upcoming-gcc-14-Werror-callo.patch
deleted file mode 100644
index 5e0c7e9..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/0001-tests-fix-build-against-upcoming-gcc-14-Werror-callo.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 901c6a8c78c3c4eee244b9d5298cbd7b9aa713d1 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyich@gmail.com>
-Date: Thu, 21 Dec 2023 09:23:30 +0000
-Subject: [PATCH] tests: fix build against upcoming `gcc-14`
- (`-Werror=calloc-transposed-args`)
-
-`gcc-14` added a new `-Wcalloc-transposed-args` warning recently. It
-detected minor infelicity in `calloc()` API usage in `elfutils`:
-
-    elfstrmerge.c: In function 'main':
-    elfstrmerge.c:450:32: error:
-      'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
-      450 |   newscnbufs = calloc (sizeof (void *), newshnums);
-          |                                ^~~~
-    elfstrmerge.c:450:32: note: earlier argument should specify number of elements, later size of each element
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commit;h=ae580d48278b9924da7503886b37be34378e1b04]
-Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- tests/elfstrmerge.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/elfstrmerge.c b/tests/elfstrmerge.c
-index 56350bb..4eb58bb 100644
---- a/tests/elfstrmerge.c
-+++ b/tests/elfstrmerge.c
-@@ -447,7 +447,7 @@ main (int argc, char **argv)
-     }
- 
-   newshnums = shdrnum - 1;
--  newscnbufs = calloc (sizeof (void *), newshnums);
-+  newscnbufs = calloc (newshnums, sizeof (void *));
-   if (newscnbufs == NULL)
-     fail_errno ("Couldn't allocate memory for new section buffers", NULL);
- 
--- 
-2.43.0
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch b/poky/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch
index be48ef0..fa2282b 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch
@@ -1,4 +1,4 @@
-From 1643d793761216252bb654e28aaa5b8eb1536bca Mon Sep 17 00:00:00 2001
+From d8f07a23d608b744dcc0592f9f32f258b186a77c Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 15 Aug 2017 17:13:59 +0800
 Subject: [PATCH] Fix elf_cvt_gunhash if dest and src are same.
@@ -12,16 +12,15 @@
 
 Rebase to 0.170
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
 ---
  libelf/gnuhash_xlate.h | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/libelf/gnuhash_xlate.h b/libelf/gnuhash_xlate.h
-index 6faf113..04d9ca1 100644
+index 3a00ae0..40468fc 100644
 --- a/libelf/gnuhash_xlate.h
 +++ b/libelf/gnuhash_xlate.h
-@@ -40,6 +40,7 @@ elf_cvt_gnuhash (void *dest, const void *src, size_t len, int encode)
+@@ -42,6 +42,7 @@ elf_cvt_gnuhash (void *dest, const void *src, size_t len, int encode)
       words.  We must detangle them here.   */
    Elf32_Word *dest32 = dest;
    const Elf32_Word *src32 = src;
@@ -29,7 +28,7 @@
  
    /* First four control words, 32 bits.  */
    for (unsigned int cnt = 0; cnt < 4; ++cnt)
-@@ -50,7 +51,7 @@ elf_cvt_gnuhash (void *dest, const void *src, size_t len, int encode)
+@@ -52,7 +53,7 @@ elf_cvt_gnuhash (void *dest, const void *src, size_t len, int encode)
        len -= 4;
      }
  
diff --git a/poky/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch b/poky/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch
index 212b358..e8b986e 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch
@@ -1,4 +1,4 @@
-From 7e1f91c42ef5b0bf10afefec10dd08588df3ab1f Mon Sep 17 00:00:00 2001
+From 614f062b22e6da108643f8644a3e92a1108f2b9b Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 15 Aug 2017 17:17:20 +0800
 Subject: [PATCH] fixheadercheck
@@ -16,16 +16,15 @@
 
 Rebase to 0.170
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
 ---
  libelf/elf32_updatenull.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/libelf/elf32_updatenull.c b/libelf/elf32_updatenull.c
-index d0d4d1e..4ecf5a5 100644
+index 3594e8b..a3314e5 100644
 --- a/libelf/elf32_updatenull.c
 +++ b/libelf/elf32_updatenull.c
-@@ -354,8 +354,8 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum)
+@@ -355,8 +355,8 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum)
  		     we test for the alignment of the section being large
  		     enough for the largest alignment required by a data
  		     block.  */
diff --git a/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch b/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
index 93f5bdc..230ea88 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
@@ -1,4 +1,4 @@
-From 262ac90394e36e0b4e86042d9c5385703f5b6536 Mon Sep 17 00:00:00 2001
+From aab5985a29bd7ab6e0b06eaab190b42a04e10f70 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Fri, 23 Aug 2019 10:19:48 +0800
 Subject: [PATCH] musl-utils
@@ -13,7 +13,6 @@
 
 Rebase to 0.177
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
 ---
  src/arlib.h       | 6 ++++++
  src/elfcompress.c | 7 +++++++
@@ -39,7 +38,7 @@
  /* State of -D/-U flags.  */
  extern bool arlib_deterministic_output;
 diff --git a/src/elfcompress.c b/src/elfcompress.c
-index 18ade66..a6ed4e1 100644
+index f771b92..263de62 100644
 --- a/src/elfcompress.c
 +++ b/src/elfcompress.c
 @@ -37,6 +37,13 @@
@@ -57,7 +56,7 @@
  ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
  
 diff --git a/src/strip.c b/src/strip.c
-index 2a2cc80..8e9f773 100644
+index 6436443..1608496 100644
 --- a/src/strip.c
 +++ b/src/strip.c
 @@ -45,6 +45,13 @@
@@ -75,7 +74,7 @@
  
  /* Name and version of program.  */
 diff --git a/src/unstrip.c b/src/unstrip.c
-index d5bd182..d797823 100644
+index d70053d..b8a6ff3 100644
 --- a/src/unstrip.c
 +++ b/src/unstrip.c
 @@ -51,6 +51,15 @@
diff --git a/poky/meta/recipes-devtools/elfutils/files/0006-Fix-build-on-aarch64-musl.patch b/poky/meta/recipes-devtools/elfutils/files/0006-Fix-build-on-aarch64-musl.patch
index 8942ad7..149e0e6 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0006-Fix-build-on-aarch64-musl.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0006-Fix-build-on-aarch64-musl.patch
@@ -1,4 +1,4 @@
-From 2396fd67d81e54e18fbad67a5ff67d5684a01013 Mon Sep 17 00:00:00 2001
+From 4409f128c81a9d76b9360b002a1d76043c77b53e Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 15 Aug 2017 17:27:30 +0800
 Subject: [PATCH] Fix build on aarch64/musl
@@ -16,7 +16,6 @@
 
 Rebase to 0.170
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
 ---
  backends/aarch64_initreg.c | 4 ++--
  backends/arm_initreg.c     | 2 +-
diff --git a/poky/meta/recipes-devtools/elfutils/files/ptest.patch b/poky/meta/recipes-devtools/elfutils/files/ptest.patch
index fe6f272..2152875 100644
--- a/poky/meta/recipes-devtools/elfutils/files/ptest.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/ptest.patch
@@ -1,4 +1,4 @@
-From bfbf393e7d5b1b41df85ce1c37e887776c45d529 Mon Sep 17 00:00:00 2001
+From d49f6a135762ec1f1831d0e80b8df2a4269b0a66 Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Wed, 1 May 2019 16:37:48 +0100
 Subject: [PATCH] Changes to allow ptest to run standalone on target:
@@ -14,7 +14,6 @@
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
 Upstream-Status: Inappropriate [oe specific]
-
 ---
  configure.ac       | 2 +-
  tests/Makefile.am  | 2 ++
@@ -22,10 +21,10 @@
  3 files changed, 3 insertions(+), 7 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index d345495..67933d1 100644
+index bbe8673..488712b 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -48,7 +48,7 @@ AC_COPYRIGHT([Copyright (C) 1996-2021 The elfutils developers.])
+@@ -49,7 +49,7 @@ AC_COPYRIGHT([Copyright (C) 1996-2024 The elfutils developers.])
  AC_PREREQ(2.63)			dnl Minimum Autoconf version required.
  
  dnl We use GNU make extensions; automake 1.10 defaults to -Wportability.
@@ -35,10 +34,10 @@
  
  AM_SILENT_RULES([yes])
 diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 72afd0e..a2dfd43 100644
+index ee49d07..3bd8e58 100644
 --- a/tests/Makefile.am
 +++ b/tests/Makefile.am
-@@ -698,3 +698,5 @@ check: check-am coverage
+@@ -852,3 +852,5 @@ check: check-am coverage
  coverage:
  	-$(srcdir)/coverage.sh
  endif
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_14.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_14.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb-cross-canadian_14.1.bb
rename to poky/meta/recipes-devtools/gdb/gdb-cross-canadian_14.2.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_14.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_14.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb-cross_14.1.bb
rename to poky/meta/recipes-devtools/gdb/gdb-cross_14.2.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb.inc b/poky/meta/recipes-devtools/gdb/gdb.inc
index eb480f3..81ac441 100644
--- a/poky/meta/recipes-devtools/gdb/gdb.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb.inc
@@ -14,4 +14,4 @@
            file://0007-Fix-invalid-sigprocmask-call.patch \
            file://0008-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \
            "
-SRC_URI[sha256sum] = "d66df51276143451fcbff464cc8723d68f1e9df45a6a2d5635a54e71643edb80"
+SRC_URI[sha256sum] = "2d4dd8061d8ded12b6c63f55e45344881e8226105f4d2a9b234040efa5ce7772"
diff --git a/poky/meta/recipes-devtools/gdb/gdb_14.1.bb b/poky/meta/recipes-devtools/gdb/gdb_14.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb_14.1.bb
rename to poky/meta/recipes-devtools/gdb/gdb_14.2.bb
diff --git a/poky/meta/recipes-devtools/go/go-1.20.14.inc b/poky/meta/recipes-devtools/go/go-1.22.0.inc
similarity index 80%
rename from poky/meta/recipes-devtools/go/go-1.20.14.inc
rename to poky/meta/recipes-devtools/go/go-1.22.0.inc
index 7e425ef..5b94051 100644
--- a/poky/meta/recipes-devtools/go/go-1.20.14.inc
+++ b/poky/meta/recipes-devtools/go/go-1.22.0.inc
@@ -11,8 +11,8 @@
     file://0004-make.bash-override-CC-when-building-dist-and-go_boot.patch \
     file://0005-cmd-dist-separate-host-and-target-builds.patch \
     file://0006-cmd-go-make-GOROOT-precious-by-default.patch \
-    file://0007-exec.go-do-not-write-linker-flags-into-buildids.patch \
     file://0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
+    file://0001-exec.go-filter-out-build-specific-paths-from-linker-.patch \
 "
-SRC_URI[main.sha256sum] = "1aef321a0e3e38b7e91d2d7eb64040666cabdcc77d383de3c9522d0d69b67f4e"
+SRC_URI[main.sha256sum] = "4d196c3d41a0d6c1dfc64d04e3cc1f608b0c436bd87b7060ce3e23234e1f4d5c"
diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.20.14.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.22.0.bb
similarity index 78%
rename from poky/meta/recipes-devtools/go/go-binary-native_1.20.14.bb
rename to poky/meta/recipes-devtools/go/go-binary-native_1.22.0.bb
index 95211e6..acd2018 100644
--- a/poky/meta/recipes-devtools/go/go-binary-native_1.20.14.bb
+++ b/poky/meta/recipes-devtools/go/go-binary-native_1.22.0.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] = "ff445e48af27f93f66bd949ae060d97991c83e11289009d311f25426258f9c44"
-SRC_URI[go_linux_arm64.sha256sum] = "2096507509a98782850d1f0669786c09727053e9fe3c92b03c0d96f48700282b"
-SRC_URI[go_linux_ppc64le.sha256sum] = "237b1da9b65629a9b0fcf1f3ca75b4c84ef55fca1fc3eadf1681da7bbcb2e9cd"
+SRC_URI[go_linux_amd64.sha256sum] = "f6c8a87aa03b92c4b0bf3d558e28ea03006eb29db78917daec5cfb6ec1046265"
+SRC_URI[go_linux_arm64.sha256sum] = "6a63fef0e050146f275bf02a0896badfe77c11b6f05499bb647e7bd613a45a10"
+SRC_URI[go_linux_ppc64le.sha256sum] = "0e57f421df9449066f00155ce98a5be93744b3d81b00ee4c2c9b511be2a31d93"
 
 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.inc b/poky/meta/recipes-devtools/go/go-cross-canadian.inc
index 8298fe3..dd485b6 100644
--- a/poky/meta/recipes-devtools/go/go-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/go/go-cross-canadian.inc
@@ -16,7 +16,7 @@
 export GOTOOLDIR_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/${HOST_SYS}/go/pkg/tool/${BUILD_GOTUPLE}"
 export CGO_CFLAGS = "${CFLAGS}"
 export CGO_LDFLAGS = "${LDFLAGS}"
-export GO_LDFLAGS = '-linkmode external -extld ${HOST_PREFIX}gcc -extldflags "--sysroot=${STAGING_DIR_HOST} ${SECURITY_NOPIE_CFLAGS} ${HOST_CC_ARCH} ${LDFLAGS}"'
+export GO_LDFLAGS = '-extld ${HOST_PREFIX}gcc -extldflags "--sysroot=${STAGING_DIR_HOST} ${SECURITY_NOPIE_CFLAGS} ${HOST_CC_ARCH} ${LDFLAGS}"'
 
 do_configure[noexec] = "1"
 
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.20.14.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.22.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-cross-canadian_1.20.14.bb
rename to poky/meta/recipes-devtools/go/go-cross-canadian_1.22.0.bb
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.20.14.bb b/poky/meta/recipes-devtools/go/go-cross_1.22.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-cross_1.20.14.bb
rename to poky/meta/recipes-devtools/go/go-cross_1.22.0.bb
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.20.14.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.22.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-crosssdk_1.20.14.bb
rename to poky/meta/recipes-devtools/go/go-crosssdk_1.22.0.bb
diff --git a/poky/meta/recipes-devtools/go/go-native_1.20.14.bb b/poky/meta/recipes-devtools/go/go-native_1.22.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-native_1.20.14.bb
rename to poky/meta/recipes-devtools/go/go-native_1.22.0.bb
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.20.14.bb b/poky/meta/recipes-devtools/go/go-runtime_1.22.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-runtime_1.20.14.bb
rename to poky/meta/recipes-devtools/go/go-runtime_1.22.0.bb
diff --git a/poky/meta/recipes-devtools/go/go-target.inc b/poky/meta/recipes-devtools/go/go-target.inc
index a4b55ad..981c7ab 100644
--- a/poky/meta/recipes-devtools/go/go-target.inc
+++ b/poky/meta/recipes-devtools/go/go-target.inc
@@ -13,9 +13,7 @@
 export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: not f.startswith('-fdebug-prefix-map'), d.getVar('LDFLAGS').split())) }"
 
 export GOCACHE = "${B}/.cache"
-GO_LDFLAGS = ""
-GO_LDFLAGS:class-nativesdk = " -linkmode external"
-export GO_LDFLAGS
+export GO_LDFLAGS = ""
 export GOBUILDFLAGS = "-gcflags=-trimpath=$GOPATH -asmflags=-trimpath=$GOPATH -trimpath"
 CC:append:class-nativesdk = " ${SECURITY_NOPIE_CFLAGS}"
 
diff --git a/poky/meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch b/poky/meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
index 9a25510..564837c 100644
--- a/poky/meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
+++ b/poky/meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
@@ -1,4 +1,4 @@
-From 10766ca6f4007b96e3f6bf4fb496e5df74397eb9 Mon Sep 17 00:00:00 2001
+From 9a6c5040cbcd88b10ceb8ceaebc8d6158c086670 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 28 Mar 2022 10:59:03 -0700
 Subject: [PATCH 1/9] cmd/go: make content-based hash generation less pedantic
@@ -25,16 +25,17 @@
 Signed-off-by: Alex Kube <alexander.j.kube@gmail.com>
 Signed-off-by: Matt Madison <matt@madison.systems>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
 ---
  src/cmd/go/internal/envcmd/env.go |  2 +-
  src/cmd/go/internal/work/exec.go  | 44 ++++++++++++++++++++++++-------
  2 files changed, 36 insertions(+), 10 deletions(-)
 
 diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
-index 66ef5ce..fb7448a 100644
+index c7c2e83e0f..4a90d9da5c 100644
 --- a/src/cmd/go/internal/envcmd/env.go
 +++ b/src/cmd/go/internal/envcmd/env.go
-@@ -183,7 +183,7 @@ func ExtraEnvVarsCostly() []cfg.EnvVar {
+@@ -189,7 +189,7 @@ func ExtraEnvVarsCostly() []cfg.EnvVar {
  		}
  	}()
  
@@ -44,10 +45,10 @@
  		// Should not happen - b.CFlags was given an empty package.
  		fmt.Fprintf(os.Stderr, "go: invalid cflags: %v\n", err)
 diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
-index 67d1193..62e1774 100644
+index e05471b06c..9724cd07d0 100644
 --- a/src/cmd/go/internal/work/exec.go
 +++ b/src/cmd/go/internal/work/exec.go
-@@ -223,6 +223,8 @@ func (b *Builder) Do(ctx context.Context, root *Action) {
+@@ -232,6 +232,8 @@ func (b *Builder) Do(ctx context.Context, root *Action) {
  	writeActionGraph()
  }
  
@@ -56,7 +57,7 @@
  // buildActionID computes the action ID for a build action.
  func (b *Builder) buildActionID(a *Action) cache.ActionID {
  	p := a.Package
-@@ -244,7 +246,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+@@ -253,7 +255,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
  		if p.Module != nil {
  			fmt.Fprintf(h, "module %s@%s\n", p.Module.Path, p.Module.Version)
  		}
@@ -65,7 +66,7 @@
  		// The Go compiler always hides the exact value of $GOROOT
  		// when building things in GOROOT.
  		//
-@@ -276,9 +278,9 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+@@ -285,9 +287,9 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
  	}
  	if len(p.CgoFiles)+len(p.SwigFiles)+len(p.SwigCXXFiles) > 0 {
  		fmt.Fprintf(h, "cgo %q\n", b.toolID("cgo"))
@@ -77,7 +78,7 @@
  		fmt.Fprintf(h, "CC=%q %q %q %q\n", ccExe, cppflags, cflags, ldflags)
  		// Include the C compiler tool ID so that if the C
  		// compiler changes we rebuild the package.
-@@ -286,14 +288,14 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+@@ -295,14 +297,14 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
  			fmt.Fprintf(h, "CC ID=%q\n", ccID)
  		}
  		if len(p.CXXFiles)+len(p.SwigCXXFiles) > 0 {
@@ -94,16 +95,16 @@
  			fmt.Fprintf(h, "FC=%q %q\n", fcExe, fflags)
  			if fcID, _, err := b.gccToolID(fcExe[0], "f95"); err == nil {
  				fmt.Fprintf(h, "FC ID=%q\n", fcID)
-@@ -310,7 +312,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+@@ -319,7 +321,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
  		}
  	}
- 	if p.Internal.BuildInfo != "" {
--		fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo)
-+		//fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo)
+ 	if p.Internal.BuildInfo != nil {
+-		fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo.String())
++		//fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo.String())
  	}
  
  	// Configuration specific to compiler toolchain.
-@@ -2989,8 +2991,25 @@ func envList(key, def string) []string {
+@@ -2679,8 +2681,25 @@ func envList(key, def string) []string {
  	return args
  }
  
@@ -130,7 +131,7 @@
  	if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, checkCompilerFlags); err != nil {
  		return
  	}
-@@ -3006,6 +3025,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l
+@@ -2696,6 +2715,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l
  	if ldflags, err = buildFlags("LDFLAGS", defaultCFlags, p.CgoLDFLAGS, checkLinkerFlags); err != nil {
  		return
  	}
@@ -144,24 +145,24 @@
  
  	return
  }
-@@ -3021,7 +3047,7 @@ var cgoRe = lazyregexp.New(`[/\\:]`)
- 
- func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgofiles, gccfiles, gxxfiles, mfiles, ffiles []string) (outGo, outObj []string, err error) {
+@@ -2713,7 +2739,7 @@ func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgo
  	p := a.Package
+ 	sh := b.Shell(a)
+ 
 -	cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p)
 +	cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p, false)
  	if err != nil {
  		return nil, nil, err
  	}
-@@ -3577,7 +3603,7 @@ func (b *Builder) swigIntSize(objdir string) (intsize string, err error) {
+@@ -3268,7 +3294,7 @@ func (b *Builder) swigOne(a *Action, file, objdir string, pcCFLAGS []string, cxx
+ 	p := a.Package
+ 	sh := b.Shell(a)
  
- // Run SWIG on one SWIG input file.
- func (b *Builder) swigOne(a *Action, p *load.Package, file, objdir string, pcCFLAGS []string, cxx bool, intgosize string) (outGo, outC string, err error) {
 -	cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p)
 +	cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p, false)
  	if err != nil {
  		return "", "", err
  	}
 -- 
-2.30.2
+2.44.0
 
diff --git a/poky/meta/recipes-devtools/go/go/0001-exec.go-filter-out-build-specific-paths-from-linker-.patch b/poky/meta/recipes-devtools/go/go/0001-exec.go-filter-out-build-specific-paths-from-linker-.patch
new file mode 100644
index 0000000..c5bf28f
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go/0001-exec.go-filter-out-build-specific-paths-from-linker-.patch
@@ -0,0 +1,61 @@
+From 083b5c74b12a1abeb11dd7f58a1cb1593d0000c0 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 27 Feb 2024 18:06:51 +0800
+Subject: [PATCH] exec.go: filter out build-specific paths from linker flags
+
+The flags can contain build-specific paths, breaking reproducibility.
+Filter out options that have build-specific paths.
+
+Upstream-Status: Inappropriate [ Not perfect for upstream ]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ src/cmd/go/internal/work/exec.go | 25 ++++++++++++++++++++++++-
+ 1 file changed, 24 insertions(+), 1 deletion(-)
+
+diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
+index cde867b..e3ce17d 100644
+--- a/src/cmd/go/internal/work/exec.go
++++ b/src/cmd/go/internal/work/exec.go
+@@ -1358,6 +1358,29 @@ func (b *Builder) linkActionID(a *Action) cache.ActionID {
+ 	return h.Sum()
+ }
+ 
++func filterLinkerFlags(flags []string) []string {
++	var newflags []string
++	var skipflag bool
++	skipflag = false
++	for i, flag := range flags {
++		if skipflag == true {
++			skipflag = false
++			continue
++		}
++		if strings.HasPrefix(flag, "--sysroot") || strings.HasPrefix(flag, "-fmacro-prefix-map") || strings.HasPrefix(flag, "-fdebug-prefix-map") || strings.HasPrefix(flag, "-ffile-prefix-map") || strings.HasPrefix(flag, "-fcanon-prefix-map") || strings.HasPrefix(flag, "-fprofile-prefix-map") || strings.HasPrefix(flag, "-Wl,-rpath-link"){
++			continue
++		} else if strings.HasPrefix(flag, "-extldflags") {
++			skipflag = true
++			newflags = append(newflags, flag)
++			var filterd_Extldflags []string = filterLinkerFlags(strings.Split(flags[i+1], " "))
++			newflags = append(newflags, strings.Join(filterd_Extldflags, " "))
++		} else {
++			newflags = append(newflags, flag)
++		}
++	}
++	return newflags
++}
++
+ // printLinkerConfig prints the linker config into the hash h,
+ // as part of the computation of a linker-related action ID.
+ func (b *Builder) printLinkerConfig(h io.Writer, p *load.Package) {
+@@ -1368,7 +1391,7 @@ func (b *Builder) printLinkerConfig(h io.Writer, p *load.Package) {
+ 	case "gc":
+ 		fmt.Fprintf(h, "link %s %q %s\n", b.toolID("link"), forcedLdflags, ldBuildmode)
+ 		if p != nil {
+-			fmt.Fprintf(h, "linkflags %q\n", p.Internal.Ldflags)
++			fmt.Fprintf(h, "linkflags %q\n", filterLinkerFlags(p.Internal.Ldflags))
+ 		}
+ 
+ 		// GOARM, GOMIPS, etc.
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch b/poky/meta/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
index 6abd424..001c94a 100644
--- a/poky/meta/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
+++ b/poky/meta/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
@@ -1,4 +1,4 @@
-From 5cca2fa5997292a87302bdc7e7ed3231371e98bd Mon Sep 17 00:00:00 2001
+From e3f9a8a69d3a340c1a1d0bba566e71f20f635a43 Mon Sep 17 00:00:00 2001
 From: Alex Kube <alexander.j.kube@gmail.com>
 Date: Wed, 23 Oct 2019 21:15:37 +0430
 Subject: [PATCH 2/9] cmd/go: Allow GOTOOLDIR to be overridden in the
@@ -13,16 +13,17 @@
 Upstream-Status: Inappropriate [OE specific]
 
 Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
 ---
  src/cmd/dist/build.go          | 4 +++-
  src/cmd/go/internal/cfg/cfg.go | 6 +++++-
  2 files changed, 8 insertions(+), 2 deletions(-)
 
 diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
-index c36a12e..5d31718 100644
+index 32e59b446a..06ee4de8a9 100644
 --- a/src/cmd/dist/build.go
 +++ b/src/cmd/dist/build.go
-@@ -264,7 +264,9 @@ func xinit() {
+@@ -259,7 +259,9 @@ func xinit() {
  	}
  	xatexit(rmworkdir)
  
@@ -30,14 +31,14 @@
 +	if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" {
 +		tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
 +	}
- }
  
- // compilerEnv returns a map from "goos/goarch" to the
+ 	goversion := findgoversion()
+ 	isRelease = strings.HasPrefix(goversion, "release.") || strings.HasPrefix(goversion, "go")
 diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go
-index 3257140..bb46253 100644
+index a8daa2dfc3..393ada39c9 100644
 --- a/src/cmd/go/internal/cfg/cfg.go
 +++ b/src/cmd/go/internal/cfg/cfg.go
-@@ -229,7 +229,11 @@ func SetGOROOT(goroot string, isTestGo bool) {
+@@ -230,7 +230,11 @@ func SetGOROOT(goroot string, isTestGo bool) {
  			// This matches the initialization of ToolDir in go/build, except for
  			// using ctxt.GOROOT and the installed GOOS and GOARCH rather than the
  			// GOROOT, GOOS, and GOARCH reported by the runtime package.
@@ -51,5 +52,5 @@
  	}
  }
 -- 
-2.30.2
+2.44.0
 
diff --git a/poky/meta/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch b/poky/meta/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
index 8f5ad04..9cab296 100644
--- a/poky/meta/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
+++ b/poky/meta/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
@@ -1,4 +1,4 @@
-From c7536a820f713013ab1d4acef74a4c8bd970bf8f Mon Sep 17 00:00:00 2001
+From 7dde77b3ce8138314dd2736604b1b110dbcc0ac1 Mon Sep 17 00:00:00 2001
 From: Alex Kube <alexander.j.kube@gmail.com>
 Date: Wed, 23 Oct 2019 21:16:32 +0430
 Subject: [PATCH 3/9] ld: add soname to shareable objects
@@ -13,15 +13,16 @@
 Upstream-Status: Inappropriate [OE specific]
 
 Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
 ---
  src/cmd/link/internal/ld/lib.go | 3 +++
  1 file changed, 3 insertions(+)
 
 diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
-index 6eae900..0462ee8 100644
+index eab74dc328..ae9bbc9093 100644
 --- a/src/cmd/link/internal/ld/lib.go
 +++ b/src/cmd/link/internal/ld/lib.go
-@@ -1508,6 +1508,7 @@ func (ctxt *Link) hostlink() {
+@@ -1576,6 +1576,7 @@ func (ctxt *Link) hostlink() {
  				argv = append(argv, "-Wl,-z,relro")
  			}
  			argv = append(argv, "-shared")
@@ -29,7 +30,7 @@
  			if ctxt.HeadType == objabi.Hwindows {
  				argv = addASLRargs(argv, *flagAslr)
  			} else {
-@@ -1523,6 +1524,7 @@ func (ctxt *Link) hostlink() {
+@@ -1591,6 +1592,7 @@ func (ctxt *Link) hostlink() {
  			argv = append(argv, "-Wl,-z,relro")
  		}
  		argv = append(argv, "-shared")
@@ -37,7 +38,7 @@
  	case BuildModePlugin:
  		if ctxt.HeadType == objabi.Hdarwin {
  			argv = append(argv, "-dynamiclib")
-@@ -1531,6 +1533,7 @@ func (ctxt *Link) hostlink() {
+@@ -1599,6 +1601,7 @@ func (ctxt *Link) hostlink() {
  				argv = append(argv, "-Wl,-z,relro")
  			}
  			argv = append(argv, "-shared")
@@ -46,5 +47,5 @@
  	}
  
 -- 
-2.30.2
+2.44.0
 
diff --git a/poky/meta/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch b/poky/meta/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch
index 85e42f7..8889aef 100644
--- a/poky/meta/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch
+++ b/poky/meta/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch
@@ -1,4 +1,4 @@
-From 31ff609cc3d3bfcc2f2257fda1dbaafaec31eb0b Mon Sep 17 00:00:00 2001
+From 9f59e46991074d3e3c4d00f3971e62bfcd707167 Mon Sep 17 00:00:00 2001
 From: Alex Kube <alexander.j.kube@gmail.com>
 Date: Wed, 23 Oct 2019 21:17:16 +0430
 Subject: [PATCH 4/9] make.bash: override CC when building dist and
@@ -13,24 +13,25 @@
 Upstream-Status: Inappropriate [OE specific]
 
 Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
 ---
  src/make.bash | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/src/make.bash b/src/make.bash
-index c07f39b..6ca7242 100755
+index 76ad51624a..074e129a24 100755
 --- a/src/make.bash
 +++ b/src/make.bash
-@@ -194,7 +194,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then
+@@ -198,7 +198,7 @@ if [[ "$GOROOT_BOOTSTRAP" == "$GOROOT" ]]; then
  	exit 1
  fi
  rm -f cmd/dist/dist
--GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" GO111MODULE=off GOEXPERIMENT="" GOENV=off GOFLAGS="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
-+CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" GO111MODULE=off GOEXPERIMENT="" GOENV=off GOFLAGS="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
+-GOROOT="$GOROOT_BOOTSTRAP" nogoenv "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
++CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" nogoenv "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
  
  # -e doesn't propagate out of eval, so check success by hand.
  eval $(./cmd/dist/dist env -p || echo FAIL=true)
-@@ -219,7 +219,7 @@ fi
+@@ -223,7 +223,7 @@ fi
  # Run dist bootstrap to complete make.bash.
  # Bootstrap installs a proper cmd/dist, built with the new toolchain.
  # Throw ours, built with the bootstrap toolchain, away after bootstrap.
@@ -40,5 +41,5 @@
  
  # DO NOT ADD ANY NEW CODE HERE.
 -- 
-2.30.2
+2.44.0
 
diff --git a/poky/meta/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch b/poky/meta/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
index 2959844..364fce9 100644
--- a/poky/meta/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
+++ b/poky/meta/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
@@ -1,10 +1,8 @@
-From 7a191e5191c8b813e929caedb3f3918bb08692a1 Mon Sep 17 00:00:00 2001
+From 6dda78d528e60993a4688cd9d49440a726378ac8 Mon Sep 17 00:00:00 2001
 From: Alex Kube <alexander.j.kube@gmail.com>
 Date: Wed, 23 Oct 2019 21:18:12 +0430
 Subject: [PATCH 5/9] cmd/dist: separate host and target builds
 
-Upstream-Status: Inappropriate [OE specific]
-
 Change the dist tool to allow for OE-style cross-
 and cross-canadian builds:
 
@@ -33,41 +31,49 @@
 the meta/recipes-devtools/go tree by
 Matt Madison <matt@madison.systems>.
 
+Rework the patch to avoid identation, it breaks formatting rules but
+makes the changes more obvious and maintainable.
+Jose Quaresma <jose.quaresma@foundries.io>
+Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Upstream-Status: Inappropriate [OE specific]
+
 Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
 ---
- src/cmd/dist/build.go | 152 +++++++++++++++++++++++++++++++-----------
- 1 file changed, 113 insertions(+), 39 deletions(-)
+ src/cmd/dist/build.go | 76 ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 75 insertions(+), 1 deletion(-)
 
 diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
-index 5d31718..1c7f308 100644
+index 06ee4de8a9..74b7c7098f 100644
 --- a/src/cmd/dist/build.go
 +++ b/src/cmd/dist/build.go
-@@ -44,6 +44,7 @@ var (
+@@ -46,6 +46,7 @@ var (
  	goexperiment     string
  	workdir          string
  	tooldir          string
 +	build_tooldir    string
  	oldgoos          string
  	oldgoarch        string
- 	exe              string
-@@ -55,6 +56,7 @@ var (
- 	rebuildall   bool
- 	defaultclang bool
- 	noOpt        bool
-+	crossBuild   bool
+ 	oldgocache       string
+@@ -58,6 +59,7 @@ var (
+ 	rebuildall bool
+ 	noOpt      bool
+ 	isRelease  bool
++	crossBuild bool
  
  	vflag int // verbosity
  )
-@@ -267,6 +269,8 @@ func xinit() {
- 	if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" {
- 		tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
- 	}
+@@ -265,6 +267,8 @@ func xinit() {
+ 
+ 	goversion := findgoversion()
+ 	isRelease = strings.HasPrefix(goversion, "release.") || strings.HasPrefix(goversion, "go")
 +
 +	build_tooldir = pathf("%s/pkg/tool/native_native", goroot)
  }
  
  // compilerEnv returns a map from "goos/goarch" to the
-@@ -468,8 +472,10 @@ func setup() {
+@@ -499,8 +503,10 @@ func setup() {
  	goosGoarch := pathf("%s/pkg/%s_%s", goroot, gohostos, gohostarch)
  	if rebuildall {
  		xremoveall(goosGoarch)
@@ -78,16 +84,18 @@
  	xatexit(func() {
  		if files := xreaddir(goosGoarch); len(files) == 0 {
  			xremove(goosGoarch)
-@@ -1276,17 +1282,35 @@ func cmdbootstrap() {
+@@ -1338,14 +1344,20 @@ func cmdbootstrap() {
+ 	defer timelog("end", "dist bootstrap")
  
- 	var noBanner, noClean bool
- 	var debug bool
+ 	var debug, distpack, force, noBanner, noClean bool
 +	var hostOnly bool
 +	var targetOnly bool
 +	var toBuild = []string{"std", "cmd"}
 +
  	flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all")
  	flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap process")
+ 	flag.BoolVar(&distpack, "distpack", distpack, "write distribution files to pkg/distpack")
+ 	flag.BoolVar(&force, "force", force, "build even if the port is marked as broken")
  	flag.BoolVar(&noBanner, "no-banner", noBanner, "do not print banner")
  	flag.BoolVar(&noClean, "no-clean", noClean, "print deprecation warning")
 +	flag.BoolVar(&hostOnly, "host-only", hostOnly, "build only host binaries, not target")
@@ -98,6 +106,8 @@
  
  	if noClean {
  		xprintf("warning: --no-clean is deprecated and has no effect; use 'go install std cmd' instead\n")
+@@ -1357,6 +1369,18 @@ func cmdbootstrap() {
+ 			"Use the -force flag to build anyway.\n", goos, goarch)
  	}
  
 +	if hostOnly && targetOnly {
@@ -115,47 +125,46 @@
  	// Set GOPATH to an internal directory. We shouldn't actually
  	// need to store files here, since the toolchain won't
  	// depend on modules outside of vendor directories, but if
-@@ -1354,9 +1378,14 @@ func cmdbootstrap() {
+@@ -1434,9 +1458,14 @@ func cmdbootstrap() {
  		xprintf("\n")
  	}
  
--	gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now
--	setNoOpt()
--	goldflags = os.Getenv("GO_LDFLAGS") // we were using $BOOT_GO_LDFLAGS until now
 +	// For split host/target cross/cross-canadian builds, we don't
 +	// want to be setting these flags until after we have compiled
 +	// the toolchain that runs on the build host.
-+	if !crossBuild {
-+		gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now
-+		setNoOpt()
-+		goldflags = os.Getenv("GO_LDFLAGS") // we were using $BOOT_GO_LDFLAGS until now
-+	}
++if !crossBuild {
+ 	gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now
+ 	setNoOpt()
+ 	goldflags = os.Getenv("GO_LDFLAGS") // we were using $BOOT_GO_LDFLAGS until now
++}
  	goBootstrap := pathf("%s/go_bootstrap", tooldir)
- 	cmdGo := pathf("%s/go", gorootBin)
  	if debug {
-@@ -1385,7 +1414,11 @@ func cmdbootstrap() {
+ 		run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
+@@ -1464,7 +1493,11 @@ func cmdbootstrap() {
  		xprintf("\n")
  	}
  	xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n")
--	os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
-+	if crossBuild {
++if !crossBuild {
+ 	os.Setenv("CC", compilerEnvLookup("CC", defaultcc, goos, goarch))
++} else {
 +		os.Setenv("CC", defaultcc[""])
-+	} else {
-+		os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
-+	}
++}
  	// Now that cmd/go is in charge of the build process, enable GOEXPERIMENT.
  	os.Setenv("GOEXPERIMENT", goexperiment)
- 	goInstall(goBootstrap, toolchain...)
-@@ -1421,46 +1454,84 @@ func cmdbootstrap() {
- 		copyfile(pathf("%s/compile3", tooldir), pathf("%s/compile", tooldir), writeExec)
+ 	// No need to enable PGO for toolchain2.
+@@ -1517,6 +1550,7 @@ func cmdbootstrap() {
+ 		os.Setenv("GOCACHE", oldgocache)
  	}
  
--	if goos == oldgoos && goarch == oldgoarch {
--		// Common case - not setting up for cross-compilation.
--		timelog("build", "toolchain")
--		if vflag > 0 {
--			xprintf("\n")
-+	if crossBuild {
++if !crossBuild {
+ 	if goos == oldgoos && goarch == oldgoarch {
+ 		// Common case - not setting up for cross-compilation.
+ 		timelog("build", "toolchain")
+@@ -1560,6 +1594,42 @@ func cmdbootstrap() {
+ 		checkNotStale(toolenv(), goBootstrap, toolchain...)
+ 		copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
+ 	}
++} else {
 +		gogcflags = os.Getenv("GO_GCFLAGS")
 +		goldflags = os.Getenv("GO_LDFLAGS")
 +		tool_files, _ := filepath.Glob(pathf("%s/*", tooldir))
@@ -171,8 +180,8 @@
 +				xprintf("\n")
 +			}
 +			xprintf("Building %s for host, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch)
-+			goInstall(goBootstrap, toBuild...)
-+			checkNotStale(goBootstrap, toBuild...)
++			goInstall(toolenv(), goBootstrap, toBuild...)
++			checkNotStale(toolenv(), goBootstrap, toBuild...)
 +			// Skip cmdGo staleness checks here, since we can't necessarily run the cmdGo binary
 +
 +			timelog("build", "target toolchain")
@@ -184,99 +193,29 @@
 +			goarch = oldgoarch
 +			os.Setenv("GOOS", goos)
 +			os.Setenv("GOARCH", goarch)
-+			os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
++			os.Setenv("CC", compilerEnvLookup("CC", defaultcc, goos, goarch))
 +			xprintf("Building %s for target, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch)
-+			goInstall(goBootstrap, toBuild...)
-+			checkNotStale(goBootstrap, toBuild...)
++			goInstall(toolenv(), goBootstrap, toBuild...)
++			checkNotStale(toolenv(), goBootstrap, toBuild...)
 +			// Skip cmdGo staleness checks here, since we can't run the target's cmdGo binary
- 		}
--		xprintf("Building packages and commands for %s/%s.\n", goos, goarch)
- 	} else {
--		// GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH.
--		// Finish GOHOSTOS/GOHOSTARCH installation and then
--		// run GOOS/GOARCH installation.
--		timelog("build", "host toolchain")
--		if vflag > 0 {
--			xprintf("\n")
-+
-+		if goos == oldgoos && goarch == oldgoarch {
-+			// Common case - not setting up for cross-compilation.
-+			timelog("build", "toolchain")
-+			if vflag > 0 {
-+				xprintf("\n")
-+			}
-+			xprintf("Building packages and commands for %s/%s.\n", goos, goarch)
-+		} else {
-+			// GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH.
-+			// Finish GOHOSTOS/GOHOSTARCH installation and then
-+			// run GOOS/GOARCH installation.
-+			timelog("build", "host toolchain")
-+			if vflag > 0 {
-+				xprintf("\n")
-+			}
-+			xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch)
-+			goInstall(goBootstrap, "std", "cmd")
-+			checkNotStale(goBootstrap, "std", "cmd")
-+			checkNotStale(cmdGo, "std", "cmd")
-+
-+			timelog("build", "target toolchain")
-+			if vflag > 0 {
-+				xprintf("\n")
-+			}
-+			goos = oldgoos
-+			goarch = oldgoarch
-+			os.Setenv("GOOS", goos)
-+			os.Setenv("GOARCH", goarch)
-+			os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
-+			xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch)
- 		}
--		xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch)
- 		goInstall(goBootstrap, "std", "cmd")
- 		checkNotStale(goBootstrap, "std", "cmd")
- 		checkNotStale(cmdGo, "std", "cmd")
- 
--		timelog("build", "target toolchain")
--		if vflag > 0 {
--			xprintf("\n")
-+		if debug {
-+			run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
-+			run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch))
-+			checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
-+			copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
- 		}
--		goos = oldgoos
--		goarch = oldgoarch
--		os.Setenv("GOOS", goos)
--		os.Setenv("GOARCH", goarch)
--		os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
--		xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch)
--	}
--	targets := []string{"std", "cmd"}
--	goInstall(goBootstrap, targets...)
--	checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
--	checkNotStale(goBootstrap, targets...)
--	checkNotStale(cmdGo, targets...)
--	if debug {
--		run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
--		checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
--		copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
- 	}
++		}
++}
  
  	// Check that there are no new files in $GOROOT/bin other than
-@@ -1477,8 +1548,11 @@ func cmdbootstrap() {
+ 	// go and gofmt and $GOOS_$GOARCH (target bin when cross-compiling).
+@@ -1582,8 +1652,12 @@ func cmdbootstrap() {
  		}
  	}
  
--	// Remove go_bootstrap now that we're done.
--	xremove(pathf("%s/go_bootstrap", tooldir))
 +	// Except that for split host/target cross-builds, we need to
 +	// keep it.
-+	if !crossBuild {
-+		xremove(pathf("%s/go_bootstrap", tooldir))
-+	}
++if !crossBuild {
+ 	// Remove go_bootstrap now that we're done.
+ 	xremove(pathf("%s/go_bootstrap"+exe, tooldir))
++}
  
  	if goos == "android" {
  		// Make sure the exec wrapper will sync a fresh $GOROOT to the device.
 -- 
-2.30.2
+2.44.0
 
diff --git a/poky/meta/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch b/poky/meta/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
index 520e41d..262f1e9 100644
--- a/poky/meta/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
+++ b/poky/meta/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
@@ -1,10 +1,8 @@
-From efab470498bb0a30ee2d00455a0c8c10459f6347 Mon Sep 17 00:00:00 2001
+From aff5a740d6286c04beb0593fc68b0aea5a95ad39 Mon Sep 17 00:00:00 2001
 From: Alex Kube <alexander.j.kube@gmail.com>
 Date: Wed, 23 Oct 2019 21:18:56 +0430
 Subject: [PATCH 6/9] cmd/go: make GOROOT precious by default
 
-Upstream-Status: Inappropriate [OE specific]
-
 The go build tool normally rebuilds whatever it detects is
 stale.  This can be a problem when GOROOT is intended to
 be read-only and the go runtime has been built as a shared
@@ -20,7 +18,10 @@
 the meta/recipes-devtools/go tree by
 Matt Madison <matt@madison.systems>.
 
+Upstream-Status: Inappropriate [OE specific]
+
 Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
 ---
  src/cmd/go/internal/work/action.go |  3 +++
  src/cmd/go/internal/work/build.go  |  6 ++++++
@@ -28,10 +29,10 @@
  3 files changed, 34 insertions(+)
 
 diff --git a/src/cmd/go/internal/work/action.go b/src/cmd/go/internal/work/action.go
-index 8beb134..68a8cfe 100644
+index a59072e591..9e35ebde0c 100644
 --- a/src/cmd/go/internal/work/action.go
 +++ b/src/cmd/go/internal/work/action.go
-@@ -718,6 +718,9 @@ func (b *Builder) addTransitiveLinkDeps(a, a1 *Action, shlib string) {
+@@ -754,6 +754,9 @@ func (b *Builder) addTransitiveLinkDeps(a, a1 *Action, shlib string) {
  			if p1 == nil || p1.Shlib == "" || haveShlib[filepath.Base(p1.Shlib)] {
  				continue
  			}
@@ -42,10 +43,10 @@
  			// TODO(rsc): The use of ModeInstall here is suspect, but if we only do ModeBuild,
  			// we'll end up building an overall library or executable that depends at runtime
 diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
-index 2f2860a..8cc6166 100644
+index 408edb5119..3d60252127 100644
 --- a/src/cmd/go/internal/work/build.go
 +++ b/src/cmd/go/internal/work/build.go
-@@ -217,6 +217,8 @@ See also: go install, go get, go clean.
+@@ -233,6 +233,8 @@ See also: go install, go get, go clean.
  
  const concurrentGCBackendCompilationEnabledByDefault = true
  
@@ -54,7 +55,7 @@
  func init() {
  	// break init cycle
  	CmdBuild.Run = runBuild
-@@ -230,6 +232,10 @@ func init() {
+@@ -246,6 +248,10 @@ func init() {
  		AddCoverFlags(CmdBuild, nil)
  		AddCoverFlags(CmdInstall, nil)
  	}
@@ -66,11 +67,11 @@
  
  // Note that flags consulted by other parts of the code
 diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
-index 62e1774..cde867b 100644
+index 9724cd07d0..544df461a2 100644
 --- a/src/cmd/go/internal/work/exec.go
 +++ b/src/cmd/go/internal/work/exec.go
-@@ -546,6 +546,23 @@ func (b *Builder) build(ctx context.Context, a *Action) (err error) {
- 		return errors.New("cannot compile Go " + p.Module.GoVersion + " code")
+@@ -544,6 +544,23 @@ func (b *Builder) build(ctx context.Context, a *Action) (err error) {
+ 		return err
  	}
  
 +	if goRootPrecious && (a.Package.Standard || a.Package.Goroot) {
@@ -90,10 +91,10 @@
 +		}
 +	}
 +
- 	if err := b.Mkdir(a.Objdir); err != nil {
+ 	if err := sh.Mkdir(a.Objdir); err != nil {
  		return err
  	}
-@@ -1643,6 +1660,14 @@ func (b *Builder) linkShared(ctx context.Context, a *Action) (err error) {
+@@ -1737,6 +1754,14 @@ func (b *Builder) linkShared(ctx context.Context, a *Action) (err error) {
  		return err
  	}
  
@@ -105,9 +106,9 @@
 +		}
 +	}
 +
- 	if err := b.Mkdir(a.Objdir); err != nil {
+ 	if err := b.Shell(a).Mkdir(a.Objdir); err != nil {
  		return err
  	}
 -- 
-2.30.2
+2.44.0
 
diff --git a/poky/meta/recipes-devtools/go/go/0007-exec.go-do-not-write-linker-flags-into-buildids.patch b/poky/meta/recipes-devtools/go/go/0007-exec.go-do-not-write-linker-flags-into-buildids.patch
index 7d9869b..35f3a98 100644
--- a/poky/meta/recipes-devtools/go/go/0007-exec.go-do-not-write-linker-flags-into-buildids.patch
+++ b/poky/meta/recipes-devtools/go/go/0007-exec.go-do-not-write-linker-flags-into-buildids.patch
@@ -1,4 +1,4 @@
-From 0ba747e6a4b251a0d9eed0cfd8f8c491bb508040 Mon Sep 17 00:00:00 2001
+From 619991feab04f331d081a91243434ccd859f611d Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 23 Nov 2020 19:22:04 +0000
 Subject: [PATCH 7/9] exec.go: do not write linker flags into buildids
@@ -9,16 +9,18 @@
 removing those known to be buildhost-specific.
 
 Upstream-Status: Inappropriate [needs upstream discussion]
+
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
 ---
  src/cmd/go/internal/work/exec.go | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
-index cde867b..5cb1812 100644
+index 544df461a2..75df5a4aa8 100644
 --- a/src/cmd/go/internal/work/exec.go
 +++ b/src/cmd/go/internal/work/exec.go
-@@ -1331,7 +1331,7 @@ func (b *Builder) linkActionID(a *Action) cache.ActionID {
+@@ -1374,7 +1374,7 @@ func (b *Builder) linkActionID(a *Action) cache.ActionID {
  	}
  
  	// Toolchain-dependent configuration, shared with b.linkSharedActionID.
@@ -27,7 +29,7 @@
  
  	// Input files.
  	for _, a1 := range a.Deps {
-@@ -1626,7 +1626,7 @@ func (b *Builder) linkSharedActionID(a *Action) cache.ActionID {
+@@ -1720,7 +1720,7 @@ func (b *Builder) linkSharedActionID(a *Action) cache.ActionID {
  	fmt.Fprintf(h, "goos %s goarch %s\n", cfg.Goos, cfg.Goarch)
  
  	// Toolchain-dependent configuration, shared with b.linkActionID.
@@ -37,5 +39,5 @@
  	// Input files.
  	for _, a1 := range a.Deps {
 -- 
-2.30.2
+2.44.0
 
diff --git a/poky/meta/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch b/poky/meta/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
index fe830ce..0662f66 100644
--- a/poky/meta/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
+++ b/poky/meta/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
@@ -1,4 +1,4 @@
-From 1cbb416538a9c7c3fbedcb23f4d90d5c48becca8 Mon Sep 17 00:00:00 2001
+From e0999902687e2e394499f7153db8d62440c4dab0 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 10 Nov 2020 16:33:27 +0000
 Subject: [PATCH 8/9] src/cmd/dist/buildgo.go: do not hardcode host compilers
@@ -8,16 +8,18 @@
 additionally as they contain host specific paths, this helps reproducibility.
 
 Upstream-Status: Inappropriate [needs upstream discussion]
+
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
 ---
  src/cmd/dist/buildgo.go | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/src/cmd/dist/buildgo.go b/src/cmd/dist/buildgo.go
-index 29b0167..63a49f0 100644
+index 884e9d729a..2f52edacfe 100644
 --- a/src/cmd/dist/buildgo.go
 +++ b/src/cmd/dist/buildgo.go
-@@ -33,8 +33,8 @@ func mkzdefaultcc(dir, file string) {
+@@ -51,8 +51,8 @@ func mkzdefaultcc(dir, file string) {
  		fmt.Fprintf(&buf, "package cfg\n")
  		fmt.Fprintln(&buf)
  		fmt.Fprintf(&buf, "const DefaultPkgConfig = `%s`\n", defaultpkgconfig)
@@ -28,7 +30,7 @@
  		writefile(buf.String(), file, writeSkipSame)
  		return
  	}
-@@ -45,8 +45,8 @@ func mkzdefaultcc(dir, file string) {
+@@ -62,8 +62,8 @@ func mkzdefaultcc(dir, file string) {
  	fmt.Fprintf(&buf, "package main\n")
  	fmt.Fprintln(&buf)
  	fmt.Fprintf(&buf, "const defaultPkgConfig = `%s`\n", defaultpkgconfig)
@@ -40,5 +42,5 @@
  }
  
 -- 
-2.30.2
+2.44.0
 
diff --git a/poky/meta/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch b/poky/meta/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
index 49da5f6..cc45496 100644
--- a/poky/meta/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
+++ b/poky/meta/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
@@ -1,4 +1,4 @@
-From 18011f72125bbea273d07ee5d792ac0ce6059572 Mon Sep 17 00:00:00 2001
+From 6c2438f187ca912c54a71b4ac65ab98999a019d2 Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Sat, 2 Jul 2022 23:08:13 +0100
 Subject: [PATCH 9/9] go: Filter build paths on staticly linked arches
@@ -11,17 +11,18 @@
 Upstream-Status: Submitted [https://github.com/golang/go/pull/56410]
 
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
 ---
  src/cmd/go/internal/load/pkg.go | 15 +++++++++++++--
  1 file changed, 13 insertions(+), 2 deletions(-)
 
 diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go
-index f427e29..6d6dc4e 100644
+index 1549800afb..f41fb2c4ef 100644
 --- a/src/cmd/go/internal/load/pkg.go
 +++ b/src/cmd/go/internal/load/pkg.go
-@@ -2270,6 +2270,17 @@ func (p *Package) collectDeps() {
- // to their VCS information (vcsStatusError).
- var vcsStatusCache par.Cache
+@@ -2277,6 +2277,17 @@ func appendBuildSetting(info *debug.BuildInfo, key, value string) {
+ 	info.Settings = append(info.Settings, debug.BuildSetting{Key: key, Value: value})
+ }
  
 +func filterCompilerFlags(flags string) string {
 +	var newflags []string
@@ -34,10 +35,10 @@
 +	return strings.Join(newflags, " ")
 +}
 +
- // setBuildInfo gathers build information, formats it as a string to be
- // embedded in the binary, then sets p.Internal.BuildInfo to that string.
- // setBuildInfo should only be called on a main package with no errors.
-@@ -2376,7 +2387,7 @@ func (p *Package) setBuildInfo(autoVCS bool) {
+ // setBuildInfo gathers build information and sets it into
+ // p.Internal.BuildInfo, which will later be formatted as a string and embedded
+ // in the binary. setBuildInfo should only be called on a main package with no
+@@ -2384,7 +2395,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
  	if gcflags := BuildGcflags.String(); gcflags != "" && cfg.BuildContext.Compiler == "gc" {
  		appendSetting("-gcflags", gcflags)
  	}
@@ -46,7 +47,7 @@
  		// https://go.dev/issue/52372: only include ldflags if -trimpath is not set,
  		// since it can include system paths through various linker flags (notably
  		// -extar, -extld, and -extldflags).
-@@ -2422,7 +2433,7 @@ func (p *Package) setBuildInfo(autoVCS bool) {
+@@ -2427,7 +2438,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
  	// subset of flags that are known not to be paths?
  	if cfg.BuildContext.CgoEnabled && !cfg.BuildTrimpath {
  		for _, name := range []string{"CGO_CFLAGS", "CGO_CPPFLAGS", "CGO_CXXFLAGS", "CGO_LDFLAGS"} {
@@ -56,5 +57,5 @@
  	}
  	appendSetting("GOARCH", cfg.BuildContext.GOARCH)
 -- 
-2.30.2
+2.44.0
 
diff --git a/poky/meta/recipes-devtools/go/go_1.20.14.bb b/poky/meta/recipes-devtools/go/go_1.22.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go_1.20.14.bb
rename to poky/meta/recipes-devtools/go/go_1.22.0.bb
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch
index 791a32e..046e09e 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch
@@ -1,7 +1,7 @@
-From 9bb7630915c3e787732463a3e2064fe0e177101b Mon Sep 17 00:00:00 2001
+From 5d6db56791d326e6b486dca54fe2335af0225229 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 24 Nov 2016 14:33:07 +0200
-Subject: [PATCH 1/4] FindGtkDoc.cmake: drop the requirement for
+Subject: [PATCH] FindGtkDoc.cmake: drop the requirement for
  GTKDOC_SCANGOBJ_WRAPPER
 
 For some reason cmake is not able to find it when building in openembedded,
@@ -14,7 +14,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/cmake/modules/FindGtkDoc.cmake b/cmake/modules/FindGtkDoc.cmake
-index 92b2cc7..39f34bd 100644
+index 92b2cc7e..39f34bd5 100644
 --- a/cmake/modules/FindGtkDoc.cmake
 +++ b/cmake/modules/FindGtkDoc.cmake
 @@ -52,7 +52,7 @@ find_program(GTKDOC_MKHTML_EXE gtkdoc-mkhtml PATH "${GLIB_PREFIX}/bin")
@@ -26,6 +26,3 @@
      VERSION_VAR GtkDoc_VERSION)
  
  # ::
--- 
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch
index 08d0859..223c1be 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch
@@ -1,4 +1,4 @@
-From b87ae6860ea44996b677ad1c4a9793720b77c67c Mon Sep 17 00:00:00 2001
+From bf9bde4af952b67cc357d25b9863889099ea9665 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 7 Feb 2017 12:16:03 +0200
 Subject: [PATCH] Get parameters for both libsolv and libsolvext (libdnf is
@@ -7,7 +7,6 @@
 
 Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  CMakeLists.txt | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-drop-FindPythonInstDir.cmake.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-drop-FindPythonInstDir.cmake.patch
index d483dd4..27f7607 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-drop-FindPythonInstDir.cmake.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-drop-FindPythonInstDir.cmake.patch
@@ -1,4 +1,4 @@
-From c0a465ccae395871ab10932975e37894220bc6a1 Mon Sep 17 00:00:00 2001
+From a6b3bc4fb3db996cd6c5616a99c16d085704dae0 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 1 Jun 2021 10:23:59 +0800
 Subject: [PATCH] drop FindPythonInstDir.cmake
@@ -37,6 +37,3 @@
 -stdout.write(path)"
 -OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
 +
--- 
-2.18.1
-
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch
index 32f2bb6..ecab47e 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch
@@ -1,4 +1,4 @@
-From 0b8eceb9161711003cd25ab400cadde7c1601733 Mon Sep 17 00:00:00 2001
+From e40def862bdeb10da295b15c5904fe2829d391c7 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 30 Dec 2016 18:24:50 +0200
 Subject: [PATCH] Set libsolv variables with pkg-config (cmake's own module
@@ -7,7 +7,6 @@
 
 Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  CMakeLists.txt | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/armarch.patch b/poky/meta/recipes-devtools/libdnf/libdnf/armarch.patch
index 99eaf1d..63debdb 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/armarch.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/armarch.patch
@@ -1,3 +1,8 @@
+From aa0f8b65feec64420a9b7b61cfcc8bcce161e14b Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Thu, 9 Nov 2023 10:29:31 +0000
+Subject: [PATCH] libdnf: Fix arm arch mapping issues for qemuarmv5
+
 We change the way rpm architectures work, we make the machine name the default machine
 specific package architecture.
 
@@ -5,11 +10,14 @@
 armv5hl which doesn't exist and causes errrors. We can simply remove it, we don't need it.
 
 Upstream-Status: Inappropriate [Relies on OE rpm config]
+---
+ libdnf/hy-util.cpp | 23 -----------------------
+ 1 file changed, 23 deletions(-)
 
-Index: git/libdnf/hy-util.cpp
-===================================================================
---- git.orig/libdnf/hy-util.cpp
-+++ git/libdnf/hy-util.cpp
+diff --git a/libdnf/hy-util.cpp b/libdnf/hy-util.cpp
+index 9978c8e9..aa1369b6 100644
+--- a/libdnf/hy-util.cpp
++++ b/libdnf/hy-util.cpp
 @@ -117,29 +117,6 @@ hy_detect_arch(char **arch)
      if (uname(&un) < 0)
          return DNF_ERROR_FAILED;
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch b/poky/meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch
index 8b1a597..e4f6d44 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch
@@ -1,4 +1,4 @@
-From dc83a79053597546b2b42fcf578f3a7727b13f3b Mon Sep 17 00:00:00 2001
+From 25229773a9d4472235278bb45f75439e56630cee Mon Sep 17 00:00:00 2001
 From: Joe Slater <joe.slater@windriver.com>
 Date: Wed, 22 Jul 2020 13:31:11 -0700
 Subject: [PATCH] libdnf: allow reproducible binary builds
@@ -9,7 +9,6 @@
 Upstream-Status: Pending
 
 Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
 ---
  CMakeLists.txt | 7 ++++++-
  1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.72.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.73.0.bb
similarity index 96%
rename from poky/meta/recipes-devtools/libdnf/libdnf_0.72.0.bb
rename to poky/meta/recipes-devtools/libdnf/libdnf_0.73.0.bb
index a8685a1..dc2ddf9 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.72.0.bb
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.73.0.bb
@@ -13,7 +13,7 @@
            file://armarch.patch \
            "
 
-SRCREV = "908dba63c9e18c86a2d81166ce7523559e65338c"
+SRCREV = "1f30b3479528e8b62754f9047195c8e5a31f07ed"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!4\.90)\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/librepo/librepo/0001-gpg_gpgme.c-fix-build-errors-with-older-gcc.patch b/poky/meta/recipes-devtools/librepo/librepo/0001-gpg_gpgme.c-fix-build-errors-with-older-gcc.patch
new file mode 100644
index 0000000..8727b18
--- /dev/null
+++ b/poky/meta/recipes-devtools/librepo/librepo/0001-gpg_gpgme.c-fix-build-errors-with-older-gcc.patch
@@ -0,0 +1,36 @@
+From b525cdec3051d1c6ff0c3cd38bf3070b18d6fb50 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Wed, 6 Mar 2024 10:13:38 +0100
+Subject: [PATCH] gpg_gpgme.c: fix build errors with older gcc
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+When selinux is not enabled, older gcc versions error out this way:
+
+| /home/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1938845/tmp-mc-tiny/hosttools/gcc -DG_LOG_DOMAIN=\"librepo\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -Dlibrepo_EXPORTS -I/home/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1938845/tmp-mc-tiny/work/aarch64-linux/librepo-native/1.17.0/git -I/home/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1938845/tmp-mc-tiny/work/aarch64-linux/librepo-native/1.17.0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include/libmount -I/home/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1938845/tmp-mc-tiny/work/aarch64-linux/librepo-native/1.17.0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include/blkid -I/home/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1938845/tmp-mc-tiny/work/aarch64-linux/librepo-native/1.17.0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include/glib-2.0 -I/home/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1938845/tmp-mc-tiny/work/aarch64-linux/librepo-native/1.17.0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/lib/glib-2.0/include -I/home/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1938845/tmp-mc-tiny/work/aarch64-linux/librepo-native/1.17.0/recipe-sysroot-native/usr/lib/pkgconfig/../../../usr/include/libxml2 -isystem/home/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1938845/tmp-mc-tiny/work/aarch64-linux/librepo-native/1.17.0/recipe-sysroot-native/usr/include -O2 -pipe -std=c99 -Wall -fPIC -MD -MT librepo/CMakeFiles/librepo.dir/gpg_gpgme.c.o -MF librepo/CMakeFiles/librepo.dir/gpg_gpgme.c.o.d -o librepo/CMakeFiles/librepo.dir/gpg_gpgme.c.o -c /home/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1938845/tmp-mc-tiny/work/aarch64-linux/librepo-native/1.17.0/git/librepo/gpg_gpgme.c
+| /home/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1938845/tmp-mc-tiny/work/aarch64-linux/librepo-native/1.17.0/git/librepo/gpg_gpgme.c: In function ‘lr_gpg_ensure_socket_dir_exists’:
+| /home/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1938845/tmp-mc-tiny/work/aarch64-linux/librepo-native/1.17.0/git/librepo/gpg_gpgme.c:135:1: error: label at end of compound statement
+|   135 | exit:
+|       | ^~~~
+
+Ensuring the exit: block is not empty fixes the issue.
+
+Upstream-Status: Submitted [https://github.com/rpm-software-management/librepo/pull/300]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ librepo/gpg_gpgme.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/librepo/gpg_gpgme.c b/librepo/gpg_gpgme.c
+index c4addb2..47c3153 100644
+--- a/librepo/gpg_gpgme.c
++++ b/librepo/gpg_gpgme.c
+@@ -144,6 +144,7 @@ exit:
+     }
+     freecon(old_default_context);
+ #endif
++    return;
+ }
+ 
+ static gpgme_ctx_t
diff --git a/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch b/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch
index 2ea50f0..4a851ad 100644
--- a/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch
+++ b/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch
@@ -1,4 +1,4 @@
-From 82bd6d196a0453657cbacaaedd75b2d2fe0bf9ba Mon Sep 17 00:00:00 2001
+From 76052aa40c61580869472fd3f009a4ab1620b998 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 30 Dec 2016 18:05:36 +0200
 Subject: [PATCH] Do not try to obtain PYTHON_INSTALL_DIR by running python.
@@ -33,6 +33,3 @@
  INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH})
  
  MESSAGE(STATUS "Python3 install dir is ${PYTHON_INSTALL_DIR}")
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch b/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch
index a0a4d49..fd1df95 100644
--- a/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch
+++ b/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch
@@ -1,4 +1,4 @@
-From 25113b34bc1aae377d7bf447e69528783e2c177e Mon Sep 17 00:00:00 2001
+From b5918f06d790dc346d41de4b3a3ec01f290c1d25 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 30 Dec 2016 18:23:27 +0200
 Subject: [PATCH] Set gpgme variables with pkg-config, not with cmake module
@@ -6,25 +6,21 @@
 
 Upstream-Status: Inappropriate [gpgme upstream does not have pkg-config support and is not interested in it]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  CMakeLists.txt | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cd975a8..713cc87 100644
+index 6c00024..a2f57af 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -35,7 +35,8 @@ PKG_CHECK_MODULES(LIBXML2 libxml-2.0 REQUIRED)
+@@ -37,7 +37,8 @@ PKG_CHECK_MODULES(LIBXML2 libxml-2.0 REQUIRED)
  FIND_PACKAGE(CURL 7.52.0 REQUIRED)
  
  IF (USE_GPGME)
 -    FIND_PACKAGE(Gpgme REQUIRED)
 +    PKG_CHECK_MODULES(GPGME gpgme REQUIRED)
 +    set(GPGME_VANILLA_LIBRARIES ${GPGME_LIBRARIES})
- ELSE (USE_GPGME)
-     PKG_CHECK_MODULES(RPM REQUIRED rpm>=4.18.0)
- ENDIF (USE_GPGME)
--- 
-2.34.1
-
+     IF (ENABLE_SELINUX)
+         PKG_CHECK_MODULES(SELINUX REQUIRED libselinux)
+     ENDIF(ENABLE_SELINUX)
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.16.0.bb b/poky/meta/recipes-devtools/librepo/librepo_1.17.0.bb
similarity index 85%
rename from poky/meta/recipes-devtools/librepo/librepo_1.16.0.bb
rename to poky/meta/recipes-devtools/librepo/librepo_1.17.0.bb
index 4710a6b..8101914 100644
--- a/poky/meta/recipes-devtools/librepo/librepo_1.16.0.bb
+++ b/poky/meta/recipes-devtools/librepo/librepo_1.17.0.bb
@@ -8,9 +8,10 @@
 SRC_URI = "git://github.com/rpm-software-management/librepo.git;branch=master;protocol=https \
            file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \
            file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
+           file://0001-gpg_gpgme.c-fix-build-errors-with-older-gcc.patch \
            "
 
-SRCREV = "7c9af219abd49f8961542b7622fc82cfdaa572e3"
+SRCREV = "ae727d99086f70f39fba5695af5460e1da908c1b"
 
 S = "${WORKDIR}/git"
 
@@ -24,6 +25,7 @@
     -DENABLE_TESTS=OFF \
     -DENABLE_DOCS=OFF \
     -DWITH_ZCHUNK=OFF \
+    -DENABLE_SELINUX=OFF \
 "
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/orc/orc_0.4.37.bb b/poky/meta/recipes-devtools/orc/orc_0.4.38.bb
similarity index 92%
rename from poky/meta/recipes-devtools/orc/orc_0.4.37.bb
rename to poky/meta/recipes-devtools/orc/orc_0.4.38.bb
index 9985204..5d22966 100644
--- a/poky/meta/recipes-devtools/orc/orc_0.4.37.bb
+++ b/poky/meta/recipes-devtools/orc/orc_0.4.38.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=1400bd9d09e8af56b9ec982b3d85797e"
 
 SRC_URI = "http://gstreamer.freedesktop.org/src/orc/orc-${PV}.tar.xz"
-SRC_URI[sha256sum] = "85638c0d447d989cd0d7e03406adbfbc380e67db2a622a4727a0ce3d440b2974"
+SRC_URI[sha256sum] = "a55a98d4772567aa3faed8fb84d540c3db77eaba16d3e2e10b044fbc9228668d"
 
 inherit meson pkgconfig gtk-doc
 
diff --git a/poky/meta/recipes-devtools/python/python3-build_1.0.3.bb b/poky/meta/recipes-devtools/python/python3-build_1.1.1.bb
similarity index 89%
rename from poky/meta/recipes-devtools/python/python3-build_1.0.3.bb
rename to poky/meta/recipes-devtools/python/python3-build_1.1.1.bb
index 2d8faef..7fc3eef 100644
--- a/poky/meta/recipes-devtools/python/python3-build_1.0.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-build_1.1.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=310439af287b0fb4780b2ad6907c256c"
 
-SRC_URI[sha256sum] = "538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b"
+SRC_URI[sha256sum] = "8eea65bb45b1aac2e734ba2cc8dad3a6d97d97901a395bd0ed3e7b46953d2a31"
 
 inherit pypi python_flit_core
 
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography_42.0.5.bb b/poky/meta/recipes-devtools/python/python3-cryptography_42.0.5.bb
index 2bcb571..732f925 100644
--- a/poky/meta/recipes-devtools/python/python3-cryptography_42.0.5.bb
+++ b/poky/meta/recipes-devtools/python/python3-cryptography_42.0.5.bb
@@ -60,9 +60,6 @@
     cp -r ${S}/pyproject.toml ${D}${PTEST_PATH}/
 }
 
-FILES:${PN}-ptest += " \
-    ${PTEST_PATH}/check-memfree.py \
-"
 FILES:${PN}-dbg += " \
     ${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/hazmat/bindings/.debug \
 "
diff --git a/poky/meta/recipes-devtools/python/python3-dtschema_2023.7.bb b/poky/meta/recipes-devtools/python/python3-dtschema_2024.2.bb
similarity index 78%
rename from poky/meta/recipes-devtools/python/python3-dtschema_2023.7.bb
rename to poky/meta/recipes-devtools/python/python3-dtschema_2024.2.bb
index c1dc3e0..0e911df 100644
--- a/poky/meta/recipes-devtools/python/python3-dtschema_2023.7.bb
+++ b/poky/meta/recipes-devtools/python/python3-dtschema_2024.2.bb
@@ -3,11 +3,11 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=457495c8fa03540db4a576bf7869e811"
 
-inherit pypi setuptools3
+inherit pypi python_setuptools_build_meta
 
 PYPI_PACKAGE = "dtschema"
 
-SRC_URI[sha256sum] = "de7cd73a35244cf76a8cdd9919bbeb31f362aa5744f3c76c80e0e612489dd0c0"
+SRC_URI[sha256sum] = "df4e5afb35bda93894209d2465e87fb7103f1a95a05909ebcb594fc4cf4fdd1e"
 
 DEPENDS += "python3-setuptools-scm-native"
 RDEPENDS:${PN} += "\
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.98.12.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.98.15.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-hypothesis_6.98.12.bb
rename to poky/meta/recipes-devtools/python/python3-hypothesis_6.98.15.bb
index a74c3af..a17abe5 100644
--- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.98.12.bb
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.98.15.bb
@@ -13,7 +13,7 @@
     file://test_rle.py \
     "
 
-SRC_URI[sha256sum] = "584ef03a847464b0d14a63e53fcc3335a75b1f1eb3bcc770a03ff950ee4e279e"
+SRC_URI[sha256sum] = "1e31210951511b24ce8b3b6e04d791c466385a30ac3af571bf2223954b025d77"
 
 RDEPENDS:${PN} += " \
     python3-attrs \
diff --git a/poky/meta/recipes-devtools/python/python3-jsonschema-specifications_2023.12.1.bb b/poky/meta/recipes-devtools/python/python3-jsonschema-specifications_2023.12.1.bb
new file mode 100644
index 0000000..bffd59a
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-jsonschema-specifications_2023.12.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
+DESCRIPTION = "JSON support files from the JSON Schema Specifications (metaschemas, \
+vocabularies, etc.), packaged for runtime access from Python as a referencing-based Schema Registry."
+HOMEPAGE = "https://pypi.org/project/jsonschema-specifications/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=93eb9740964b59e9ba30281255b044e2"
+
+SRC_URI[sha256sum] = "48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"
+
+inherit pypi python_hatchling
+
+DEPENDS += "${PYTHON_PN}-hatch-vcs-native"
+
+S = "${WORKDIR}/jsonschema_specifications-${PV}"
+
+PYPI_ARCHIVE_NAME = "jsonschema_specifications-${PV}.${PYPI_PACKAGE_EXT}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-jsonschema_4.17.3.bb b/poky/meta/recipes-devtools/python/python3-jsonschema_4.21.1.bb
similarity index 88%
rename from poky/meta/recipes-devtools/python/python3-jsonschema_4.17.3.bb
rename to poky/meta/recipes-devtools/python/python3-jsonschema_4.21.1.bb
index be51a15..381148f 100644
--- a/poky/meta/recipes-devtools/python/python3-jsonschema_4.17.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-jsonschema_4.21.1.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \
                     file://json/LICENSE;md5=9d4de43111d33570c8fe49b4cb0e01af"
 
-SRC_URI[sha256sum] = "0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d"
+SRC_URI[sha256sum] = "85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5"
 
 inherit pypi python_hatchling
 
@@ -36,10 +36,12 @@
     python3-importlib-metadata \
     python3-io \
     python3-json \
+    python3-jsonschema-specifications \
     python3-netclient \
     python3-numbers \
     python3-pprint \
     python3-pyrsistent \
+    python3-referencing \
     python3-zipp \
 "
 
diff --git a/poky/meta/recipes-devtools/python/python3-referencing_0.33.0.bb b/poky/meta/recipes-devtools/python/python3-referencing_0.33.0.bb
new file mode 100644
index 0000000..5b50932
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-referencing_0.33.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "An implementation-agnostic implementation of JSON reference resolution."
+HOMEPAGE = "https://github.com/python-jsonschema/referencing"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=93eb9740964b59e9ba30281255b044e2"
+
+SRC_URI[sha256sum] = "c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"
+
+inherit pypi python_hatchling
+
+DEPENDS += "${PYTHON_PN}-hatch-vcs-native"
+
+RDEPENDS:${PN} += "python3-rpds-py"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-rpds-py-crates.inc b/poky/meta/recipes-devtools/python/python3-rpds-py-crates.inc
new file mode 100644
index 0000000..b9048bd
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-rpds-py-crates.inc
@@ -0,0 +1,80 @@
+# Autogenerated with 'bitbake -c update_crates python3-rpds-py'
+
+# from Cargo.lock
+SRC_URI += " \
+    crate://crates.io/archery/1.1.0 \
+    crate://crates.io/autocfg/1.1.0 \
+    crate://crates.io/bitflags/1.3.2 \
+    crate://crates.io/cfg-if/1.0.0 \
+    crate://crates.io/heck/0.4.1 \
+    crate://crates.io/indoc/2.0.4 \
+    crate://crates.io/libc/0.2.147 \
+    crate://crates.io/lock_api/0.4.10 \
+    crate://crates.io/memoffset/0.9.0 \
+    crate://crates.io/once_cell/1.18.0 \
+    crate://crates.io/parking_lot/0.12.1 \
+    crate://crates.io/parking_lot_core/0.9.8 \
+    crate://crates.io/proc-macro2/1.0.66 \
+    crate://crates.io/pyo3/0.20.2 \
+    crate://crates.io/pyo3-build-config/0.20.2 \
+    crate://crates.io/pyo3-ffi/0.20.2 \
+    crate://crates.io/pyo3-macros/0.20.2 \
+    crate://crates.io/pyo3-macros-backend/0.20.2 \
+    crate://crates.io/quote/1.0.31 \
+    crate://crates.io/redox_syscall/0.3.5 \
+    crate://crates.io/rpds/1.1.0 \
+    crate://crates.io/scopeguard/1.1.0 \
+    crate://crates.io/smallvec/1.11.0 \
+    crate://crates.io/static_assertions/1.1.0 \
+    crate://crates.io/syn/2.0.32 \
+    crate://crates.io/target-lexicon/0.12.9 \
+    crate://crates.io/triomphe/0.1.9 \
+    crate://crates.io/unicode-ident/1.0.11 \
+    crate://crates.io/unindent/0.2.3 \
+    crate://crates.io/windows-targets/0.48.1 \
+    crate://crates.io/windows_aarch64_gnullvm/0.48.0 \
+    crate://crates.io/windows_aarch64_msvc/0.48.0 \
+    crate://crates.io/windows_i686_gnu/0.48.0 \
+    crate://crates.io/windows_i686_msvc/0.48.0 \
+    crate://crates.io/windows_x86_64_gnu/0.48.0 \
+    crate://crates.io/windows_x86_64_gnullvm/0.48.0 \
+    crate://crates.io/windows_x86_64_msvc/0.48.0 \
+"
+
+SRC_URI[archery-1.1.0.sha256sum] = "487955f60962765486ce000015a3492ca45c34a2ebbf12bc0aa2b5110ca6e7d2"
+SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+SRC_URI[indoc-2.0.4.sha256sum] = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
+SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+SRC_URI[lock_api-0.4.10.sha256sum] = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+SRC_URI[parking_lot_core-0.9.8.sha256sum] = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+SRC_URI[proc-macro2-1.0.66.sha256sum] = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+SRC_URI[pyo3-0.20.2.sha256sum] = "9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0"
+SRC_URI[pyo3-build-config-0.20.2.sha256sum] = "07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be"
+SRC_URI[pyo3-ffi-0.20.2.sha256sum] = "dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1"
+SRC_URI[pyo3-macros-0.20.2.sha256sum] = "05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3"
+SRC_URI[pyo3-macros-backend-0.20.2.sha256sum] = "0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f"
+SRC_URI[quote-1.0.31.sha256sum] = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
+SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+SRC_URI[rpds-1.1.0.sha256sum] = "a0e15515d3ce3313324d842629ea4905c25a13f81953eadb88f85516f59290a4"
+SRC_URI[scopeguard-1.1.0.sha256sum] = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+SRC_URI[smallvec-1.11.0.sha256sum] = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+SRC_URI[syn-2.0.32.sha256sum] = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2"
+SRC_URI[target-lexicon-0.12.9.sha256sum] = "df8e77cb757a61f51b947ec4a7e3646efd825b73561db1c232a8ccb639e611a0"
+SRC_URI[triomphe-0.1.9.sha256sum] = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f"
+SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+SRC_URI[unindent-0.2.3.sha256sum] = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
+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.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
diff --git a/poky/meta/recipes-devtools/python/python3-rpds-py_0.18.0.bb b/poky/meta/recipes-devtools/python/python3-rpds-py_0.18.0.bb
new file mode 100644
index 0000000..01fb3d4
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-rpds-py_0.18.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Python bindings to the Rust rpds crate for persistent data structures."
+HOMEPAGE = "https://pypi.org/project/rpds-py/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7767fa537c4596c54141f32882c4a984"
+
+SRC_URI[sha256sum] = "42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d"
+
+require ${BPN}-crates.inc
+
+inherit pypi cargo-update-recipe-crates python_maturin
+
+S = "${WORKDIR}/rpds_py-${PV}"
+
+PYPI_ARCHIVE_NAME = "rpds_py-${PV}.${PYPI_PACKAGE_EXT}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.17.35.bb b/poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.6.bb
similarity index 73%
rename from poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.17.35.bb
rename to poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.6.bb
index 02911eb..197bf91 100644
--- a/poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.17.35.bb
+++ b/poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.6.bb
@@ -2,13 +2,13 @@
 HOMEPAGE = "https://pypi.org/project/ruamel.yaml/"
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5f41db57c3a8d3584b450d35985ad1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=30cbbccd94bf3a2b0285ec35671a1938"
 
 PYPI_PACKAGE = "ruamel.yaml"
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "801046a9caacb1b43acc118969b49b96b65e8847f29029563b29ac61d02db61b"
+SRC_URI[sha256sum] = "8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b"
 
 RDEPENDS:${PN} += "\
     python3-shell \
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch b/poky/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch
index 7cafde4..0f6c9d2 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch
+++ b/poky/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch
@@ -1,4 +1,4 @@
-From bfa655d63e79ba5a75441604ca14a70800794189 Mon Sep 17 00:00:00 2001
+From d393759315b189a738e4b6a2ce31dc18dbbfae29 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Wed, 11 May 2022 21:41:14 +0200
 Subject: [PATCH] _distutils/sysconfig.py: make it possible to substite the
@@ -15,7 +15,6 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex@linutronix.de>
-
 ---
  setuptools/_distutils/sysconfig.py | 12 ++++++++++--
  1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
index 9b17dba..2a3c71f 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
+++ b/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
@@ -1,4 +1,4 @@
-From 519e2845014f04b4c23b5cf8f92fc4e5dcf40f20 Mon Sep 17 00:00:00 2001
+From 40648dfa770f9f7b9b9efa501c9ef7af96be9f2d Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 17 Jul 2018 10:13:38 +0800
 Subject: [PATCH] conditionally do not fetch code by easy_install
@@ -9,13 +9,12 @@
 Upstream-Status: Inappropriate [oe specific]
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
 ---
  setuptools/command/easy_install.py | 5 +++++
  1 file changed, 5 insertions(+)
 
 diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
-index 8ba4f09..8ea40c5 100644
+index 5d6fd5c..377e575 100644
 --- a/setuptools/command/easy_install.py
 +++ b/setuptools/command/easy_install.py
 @@ -676,6 +676,11 @@ class easy_install(Command):
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_69.0.3.bb b/poky/meta/recipes-devtools/python/python3-setuptools_69.1.1.bb
similarity index 94%
rename from poky/meta/recipes-devtools/python/python3-setuptools_69.0.3.bb
rename to poky/meta/recipes-devtools/python/python3-setuptools_69.1.1.bb
index 715c893..77d4e0a 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_69.0.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_69.1.1.bb
@@ -11,7 +11,7 @@
 SRC_URI += " \
             file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch"
 
-SRC_URI[sha256sum] = "be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78"
+SRC_URI[sha256sum] = "5c0806c7d9af348e6dd3777b4f4dbb42c7ad85b190104837488eab9a7c945cf8"
 
 DEPENDS += "python3"
 
diff --git a/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_2.0.0.bb b/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_2.0.0.bb
index 46b46bf..22b4d96 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_2.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_2.0.0.bb
@@ -9,6 +9,7 @@
 RDEPENDS:${PN} += " \
     python3-compile \
     python3-sphinx \
+    python3-sphinxcontrib-jquery \
 "
 
 PYPI_PACKAGE = "sphinx_rtd_theme"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-jquery_4.1.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-jquery_4.1.bb
new file mode 100644
index 0000000..5f91566
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-jquery_4.1.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Extension to include jQuery on newer Sphinx releases"
+HOMEPAGE = "https://pypi.org/project/sphinxcontrib-jquery/"
+LICENSE = "0BSD"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=926e8b7e89e3ebb2a2d1dfaf0873f241"
+
+SRC_URI[sha256sum] = "1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a"
+
+PYPI_PACKAGE = "sphinxcontrib-jquery"
+
+inherit pypi python_flit_core
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.12.bb b/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.13.bb
similarity index 72%
rename from poky/meta/recipes-devtools/python/python3-wcwidth_0.2.12.bb
rename to poky/meta/recipes-devtools/python/python3-wcwidth_0.2.13.bb
index 6ce5e70..4a9bf75 100644
--- a/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.12.bb
+++ b/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.13.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b15979c39a2543892fca8cd86b4b52cb"
 
-SRC_URI[sha256sum] = "f01c104efdf57971bcb756f054dd58ddec5204dd15fa31d6503ea57947d97c02"
+SRC_URI[sha256sum] = "72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"
 
 inherit pypi setuptools3 ptest
 
@@ -18,8 +18,10 @@
 "
 
 do_install_ptest() {
-      install -d ${D}${PTEST_PATH}/tests
+      install -d ${D}${PTEST_PATH}/tests 
       cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+      install -d ${D}${PTEST_PATH}/bin
+      cp -rf ${S}/bin/* ${D}${PTEST_PATH}/bin/
 }
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index a403f7d..4501f84 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -33,7 +33,13 @@
            file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \
            file://fixedmeson.patch \
            file://no-pip.patch \
-           file://fix_segv.patch \
+           file://4a8579ad8629b57a43daa62e46cc7af6e1078116.patch \
+           file://0001-linux-user-x86_64-Handle-the-vsyscall-page-in-open_s.patch \
+           file://0002-linux-user-loongarch64-Remove-TARGET_FORCE_SHMLBA.patch \
+           file://0003-linux-user-Add-strace-for-shmat.patch \
+           file://0004-linux-user-Rewrite-target_shmat.patch \
+           file://0005-tests-tcg-Check-that-shmat-does-not-break-proc-self-.patch \
+           file://CVE-2023-6683.patch \
            file://qemu-guest-agent.init \
            file://qemu-guest-agent.udev \
            "
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-linux-user-x86_64-Handle-the-vsyscall-page-in-open_s.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-linux-user-x86_64-Handle-the-vsyscall-page-in-open_s.patch
new file mode 100644
index 0000000..2eaebe8
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-linux-user-x86_64-Handle-the-vsyscall-page-in-open_s.patch
@@ -0,0 +1,56 @@
+From 4517e2046610722879761bcdb60edbb2b929c848 Mon Sep 17 00:00:00 2001
+From: Richard Henderson <richard.henderson@linaro.org>
+Date: Wed, 28 Feb 2024 10:25:14 -1000
+Subject: [PATCH 1/5] linux-user/x86_64: Handle the vsyscall page in
+ open_self_maps_{2,4}
+
+This is the only case in which we expect to have no host memory backing
+for a guest memory page, because in general linux user processes cannot
+map any pages in the top half of the 64-bit address space.
+
+Upstream-Status: Submitted [https://www.mail-archive.com/qemu-devel@nongnu.org/msg1026793.html]
+
+Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2170
+Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ linux-user/syscall.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/linux-user/syscall.c b/linux-user/syscall.c
+index a114f29a8..8307a8a61 100644
+--- a/linux-user/syscall.c
++++ b/linux-user/syscall.c
+@@ -7922,6 +7922,10 @@ static void open_self_maps_4(const struct open_self_maps_data *d,
+         path = "[heap]";
+     } else if (start == info->vdso) {
+         path = "[vdso]";
++#ifdef TARGET_X86_64
++    } else if (start == TARGET_VSYSCALL_PAGE) {
++        path = "[vsyscall]";
++#endif
+     }
+ 
+     /* Except null device (MAP_ANON), adjust offset for this fragment. */
+@@ -8010,6 +8014,18 @@ static int open_self_maps_2(void *opaque, target_ulong guest_start,
+     uintptr_t host_start = (uintptr_t)g2h_untagged(guest_start);
+     uintptr_t host_last = (uintptr_t)g2h_untagged(guest_end - 1);
+ 
++#ifdef TARGET_X86_64
++    /*
++     * Because of the extremely high position of the page within the guest
++     * virtual address space, this is not backed by host memory at all.
++     * Therefore the loop below would fail.  This is the only instance
++     * of not having host backing memory.
++     */
++    if (guest_start == TARGET_VSYSCALL_PAGE) {
++        return open_self_maps_3(opaque, guest_start, guest_end, flags);
++    }
++#endif
++
+     while (1) {
+         IntervalTreeNode *n =
+             interval_tree_iter_first(d->host_maps, host_start, host_start);
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0002-linux-user-loongarch64-Remove-TARGET_FORCE_SHMLBA.patch b/poky/meta/recipes-devtools/qemu/qemu/0002-linux-user-loongarch64-Remove-TARGET_FORCE_SHMLBA.patch
new file mode 100644
index 0000000..3f01aaa
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0002-linux-user-loongarch64-Remove-TARGET_FORCE_SHMLBA.patch
@@ -0,0 +1,43 @@
+From 5bf65b24414d3ff8339f6f1beb221c7c35c91e5d Mon Sep 17 00:00:00 2001
+From: Richard Henderson <richard.henderson@linaro.org>
+Date: Wed, 28 Feb 2024 10:25:15 -1000
+Subject: [PATCH 2/5] linux-user/loongarch64: Remove TARGET_FORCE_SHMLBA
+
+The kernel abi was changed with
+
+    commit d23b77953f5a4fbf94c05157b186aac2a247ae32
+    Author: Huacai Chen <chenhuacai@kernel.org>
+    Date:   Wed Jan 17 12:43:08 2024 +0800
+
+        LoongArch: Change SHMLBA from SZ_64K to PAGE_SIZE
+
+during the v6.8 cycle.
+
+Upstream-Status: Submitted [https://www.mail-archive.com/qemu-devel@nongnu.org/msg1026793.html]
+
+Reviewed-by: Song Gao <gaosong@loongson.cn>
+Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ linux-user/loongarch64/target_syscall.h | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/linux-user/loongarch64/target_syscall.h b/linux-user/loongarch64/target_syscall.h
+index 8b5de5212..39f229bb9 100644
+--- a/linux-user/loongarch64/target_syscall.h
++++ b/linux-user/loongarch64/target_syscall.h
+@@ -38,11 +38,4 @@ struct target_pt_regs {
+ #define TARGET_MCL_FUTURE  2
+ #define TARGET_MCL_ONFAULT 4
+ 
+-#define TARGET_FORCE_SHMLBA
+-
+-static inline abi_ulong target_shmlba(CPULoongArchState *env)
+-{
+-    return 64 * KiB;
+-}
+-
+ #endif
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0003-linux-user-Add-strace-for-shmat.patch b/poky/meta/recipes-devtools/qemu/qemu/0003-linux-user-Add-strace-for-shmat.patch
new file mode 100644
index 0000000..0c601c8
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0003-linux-user-Add-strace-for-shmat.patch
@@ -0,0 +1,71 @@
+From e8f06676c6c88e12cd5f4f81a839b7111c683596 Mon Sep 17 00:00:00 2001
+From: Richard Henderson <richard.henderson@linaro.org>
+Date: Wed, 28 Feb 2024 10:25:16 -1000
+Subject: [PATCH 3/5] linux-user: Add strace for shmat
+
+Upstream-Status: Submitted [https://www.mail-archive.com/qemu-devel@nongnu.org/msg1026793.html]
+
+Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ linux-user/strace.c    | 23 +++++++++++++++++++++++
+ linux-user/strace.list |  2 +-
+ 2 files changed, 24 insertions(+), 1 deletion(-)
+
+diff --git a/linux-user/strace.c b/linux-user/strace.c
+index cf26e5526..47d6ec326 100644
+--- a/linux-user/strace.c
++++ b/linux-user/strace.c
+@@ -670,6 +670,25 @@ print_semctl(CPUArchState *cpu_env, const struct syscallname *name,
+ }
+ #endif
+ 
++static void
++print_shmat(CPUArchState *cpu_env, const struct syscallname *name,
++            abi_long arg0, abi_long arg1, abi_long arg2,
++            abi_long arg3, abi_long arg4, abi_long arg5)
++{
++    static const struct flags shmat_flags[] = {
++        FLAG_GENERIC(SHM_RND),
++        FLAG_GENERIC(SHM_REMAP),
++        FLAG_GENERIC(SHM_RDONLY),
++        FLAG_GENERIC(SHM_EXEC),
++    };
++
++    print_syscall_prologue(name);
++    print_raw_param(TARGET_ABI_FMT_ld, arg0, 0);
++    print_pointer(arg1, 0);
++    print_flags(shmat_flags, arg2, 1);
++    print_syscall_epilogue(name);
++}
++
+ #ifdef TARGET_NR_ipc
+ static void
+ print_ipc(CPUArchState *cpu_env, const struct syscallname *name,
+@@ -683,6 +702,10 @@ print_ipc(CPUArchState *cpu_env, const struct syscallname *name,
+         print_ipc_cmd(arg3);
+         qemu_log(",0x" TARGET_ABI_FMT_lx ")", arg4);
+         break;
++    case IPCOP_shmat:
++        print_shmat(cpu_env, &(const struct syscallname){ .name = "shmat" },
++                    arg1, arg4, arg2, 0, 0, 0);
++        break;
+     default:
+         qemu_log(("%s("
+                   TARGET_ABI_FMT_ld ","
+diff --git a/linux-user/strace.list b/linux-user/strace.list
+index 6655d4f26..dfd4237d1 100644
+--- a/linux-user/strace.list
++++ b/linux-user/strace.list
+@@ -1398,7 +1398,7 @@
+ { TARGET_NR_sgetmask, "sgetmask" , NULL, NULL, NULL },
+ #endif
+ #ifdef TARGET_NR_shmat
+-{ TARGET_NR_shmat, "shmat" , NULL, NULL, print_syscall_ret_addr },
++{ TARGET_NR_shmat, "shmat" , NULL, print_shmat, print_syscall_ret_addr },
+ #endif
+ #ifdef TARGET_NR_shmctl
+ { TARGET_NR_shmctl, "shmctl" , NULL, NULL, NULL },
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0004-linux-user-Rewrite-target_shmat.patch b/poky/meta/recipes-devtools/qemu/qemu/0004-linux-user-Rewrite-target_shmat.patch
new file mode 100644
index 0000000..88c3ed4
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0004-linux-user-Rewrite-target_shmat.patch
@@ -0,0 +1,236 @@
+From cb48d5d1592e63ebd0d4a3e300ef98e38e6306d7 Mon Sep 17 00:00:00 2001
+From: Richard Henderson <richard.henderson@linaro.org>
+Date: Wed, 28 Feb 2024 10:25:17 -1000
+Subject: [PATCH 4/5] linux-user: Rewrite target_shmat
+
+Handle combined host and guest alignment requirements.
+Handle host and guest page size differences.
+Handle SHM_EXEC.
+
+Upstream-Status: Submitted [https://www.mail-archive.com/qemu-devel@nongnu.org/msg1026793.html]
+
+Resolves: https://gitlab.com/qemu-project/qemu/-/issues/115
+Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ linux-user/mmap.c | 166 +++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 133 insertions(+), 33 deletions(-)
+
+diff --git a/linux-user/mmap.c b/linux-user/mmap.c
+index 18fb3aaf7..6a2f649bb 100644
+--- a/linux-user/mmap.c
++++ b/linux-user/mmap.c
+@@ -1062,69 +1062,161 @@ static inline abi_ulong target_shmlba(CPUArchState *cpu_env)
+ }
+ #endif
+ 
++#if defined(__arm__) || defined(__mips__) || defined(__sparc__)
++#define HOST_FORCE_SHMLBA 1
++#else
++#define HOST_FORCE_SHMLBA 0
++#endif
++
+ abi_ulong target_shmat(CPUArchState *cpu_env, int shmid,
+                        abi_ulong shmaddr, int shmflg)
+ {
+     CPUState *cpu = env_cpu(cpu_env);
+-    abi_ulong raddr;
+     struct shmid_ds shm_info;
+     int ret;
+-    abi_ulong shmlba;
++    int h_pagesize;
++    int t_shmlba, h_shmlba, m_shmlba;
++    size_t t_len, h_len, m_len;
+ 
+     /* shmat pointers are always untagged */
+ 
+-    /* find out the length of the shared memory segment */
++    /*
++     * Because we can't use host shmat() unless the address is sufficiently
++     * aligned for the host, we'll need to check both.
++     * TODO: Could be fixed with softmmu.
++     */
++    t_shmlba = target_shmlba(cpu_env);
++    h_pagesize = qemu_real_host_page_size();
++    h_shmlba = (HOST_FORCE_SHMLBA ? SHMLBA : h_pagesize);
++    m_shmlba = MAX(t_shmlba, h_shmlba);
++
++    if (shmaddr) {
++        if (shmaddr & (m_shmlba - 1)) {
++            if (shmflg & SHM_RND) {
++                /*
++                 * The guest is allowing the kernel to round the address.
++                 * Assume that the guest is ok with us rounding to the
++                 * host required alignment too.  Anyway if we don't, we'll
++                 * get an error from the kernel.
++                 */
++                shmaddr &= ~(m_shmlba - 1);
++                if (shmaddr == 0 && (shmflg & SHM_REMAP)) {
++                    return -TARGET_EINVAL;
++                }
++            } else {
++                int require = TARGET_PAGE_SIZE;
++#ifdef TARGET_FORCE_SHMLBA
++                require = t_shmlba;
++#endif
++                /*
++                 * Include host required alignment, as otherwise we cannot
++                 * use host shmat at all.
++                 */
++                require = MAX(require, h_shmlba);
++                if (shmaddr & (require - 1)) {
++                    return -TARGET_EINVAL;
++                }
++            }
++        }
++    } else {
++        if (shmflg & SHM_REMAP) {
++            return -TARGET_EINVAL;
++        }
++    }
++    /* All rounding now manually concluded. */
++    shmflg &= ~SHM_RND;
++
++    /* Find out the length of the shared memory segment. */
+     ret = get_errno(shmctl(shmid, IPC_STAT, &shm_info));
+     if (is_error(ret)) {
+         /* can't get length, bail out */
+         return ret;
+     }
++    t_len = TARGET_PAGE_ALIGN(shm_info.shm_segsz);
++    h_len = ROUND_UP(shm_info.shm_segsz, h_pagesize);
++    m_len = MAX(t_len, h_len);
+ 
+-    shmlba = target_shmlba(cpu_env);
+-
+-    if (shmaddr & (shmlba - 1)) {
+-        if (shmflg & SHM_RND) {
+-            shmaddr &= ~(shmlba - 1);
+-        } else {
+-            return -TARGET_EINVAL;
+-        }
+-    }
+-    if (!guest_range_valid_untagged(shmaddr, shm_info.shm_segsz)) {
++    if (!guest_range_valid_untagged(shmaddr, m_len)) {
+         return -TARGET_EINVAL;
+     }
+ 
+     WITH_MMAP_LOCK_GUARD() {
+-        void *host_raddr;
++        bool mapped = false;
++        void *want, *test;
+         abi_ulong last;
+ 
+-        if (shmaddr) {
+-            host_raddr = shmat(shmid, (void *)g2h_untagged(shmaddr), shmflg);
++        if (!shmaddr) {
++            shmaddr = mmap_find_vma(0, m_len, m_shmlba);
++            if (shmaddr == -1) {
++                return -TARGET_ENOMEM;
++            }
++            mapped = !reserved_va;
++        } else if (shmflg & SHM_REMAP) {
++            /*
++             * If host page size > target page size, the host shmat may map
++             * more memory than the guest expects.  Reject a mapping that
++             * would replace memory in the unexpected gap.
++             * TODO: Could be fixed with softmmu.
++             */
++            if (t_len < h_len &&
++                !page_check_range_empty(shmaddr + t_len,
++                                        shmaddr + h_len - 1)) {
++                return -TARGET_EINVAL;
++            }
+         } else {
+-            abi_ulong mmap_start;
++            if (!page_check_range_empty(shmaddr, shmaddr + m_len - 1)) {
++                return -TARGET_EINVAL;
++            }
++        }
+ 
+-            /* In order to use the host shmat, we need to honor host SHMLBA.  */
+-            mmap_start = mmap_find_vma(0, shm_info.shm_segsz,
+-                                       MAX(SHMLBA, shmlba));
++        /* All placement is now complete. */
++        want = (void *)g2h_untagged(shmaddr);
+ 
+-            if (mmap_start == -1) {
+-                return -TARGET_ENOMEM;
++        /*
++         * Map anonymous pages across the entire range, then remap with
++         * the shared memory.  This is required for a number of corner
++         * cases for which host and guest page sizes differ.
++         */
++        if (h_len != t_len) {
++            int mmap_p = PROT_READ | (shmflg & SHM_RDONLY ? 0 : PROT_WRITE);
++            int mmap_f = MAP_PRIVATE | MAP_ANONYMOUS
++                       | (reserved_va || (shmflg & SHM_REMAP)
++                          ? MAP_FIXED : MAP_FIXED_NOREPLACE);
++
++            test = mmap(want, m_len, mmap_p, mmap_f, -1, 0);
++            if (unlikely(test != want)) {
++                /* shmat returns EINVAL not EEXIST like mmap. */
++                ret = (test == MAP_FAILED && errno != EEXIST
++                       ? get_errno(-1) : -TARGET_EINVAL);
++                if (mapped) {
++                    do_munmap(want, m_len);
++                }
++                return ret;
+             }
+-            host_raddr = shmat(shmid, g2h_untagged(mmap_start),
+-                               shmflg | SHM_REMAP);
++            mapped = true;
+         }
+ 
+-        if (host_raddr == (void *)-1) {
+-            return get_errno(-1);
++        if (reserved_va || mapped) {
++            shmflg |= SHM_REMAP;
++        }
++        test = shmat(shmid, want, shmflg);
++        if (test == MAP_FAILED) {
++            ret = get_errno(-1);
++            if (mapped) {
++                do_munmap(want, m_len);
++            }
++            return ret;
+         }
+-        raddr = h2g(host_raddr);
+-        last = raddr + shm_info.shm_segsz - 1;
++        assert(test == want);
+ 
+-        page_set_flags(raddr, last,
++        last = shmaddr + m_len - 1;
++        page_set_flags(shmaddr, last,
+                        PAGE_VALID | PAGE_RESET | PAGE_READ |
+-                       (shmflg & SHM_RDONLY ? 0 : PAGE_WRITE));
++                       (shmflg & SHM_RDONLY ? 0 : PAGE_WRITE) |
++                       (shmflg & SHM_EXEC ? PAGE_EXEC : 0));
+ 
+-        shm_region_rm_complete(raddr, last);
+-        shm_region_add(raddr, last);
++        shm_region_rm_complete(shmaddr, last);
++        shm_region_add(shmaddr, last);
+     }
+ 
+     /*
+@@ -1138,7 +1230,15 @@ abi_ulong target_shmat(CPUArchState *cpu_env, int shmid,
+         tb_flush(cpu);
+     }
+ 
+-    return raddr;
++    if (qemu_loglevel_mask(CPU_LOG_PAGE)) {
++        FILE *f = qemu_log_trylock();
++        if (f) {
++            fprintf(f, "page layout changed following shmat\n");
++            page_dump(f);
++            qemu_log_unlock(f);
++        }
++    }
++    return shmaddr;
+ }
+ 
+ abi_long target_shmdt(abi_ulong shmaddr)
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0005-tests-tcg-Check-that-shmat-does-not-break-proc-self-.patch b/poky/meta/recipes-devtools/qemu/qemu/0005-tests-tcg-Check-that-shmat-does-not-break-proc-self-.patch
new file mode 100644
index 0000000..5afb35e
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0005-tests-tcg-Check-that-shmat-does-not-break-proc-self-.patch
@@ -0,0 +1,85 @@
+From 1234063488134ad1f541f56dd30caa7896905f06 Mon Sep 17 00:00:00 2001
+From: Ilya Leoshkevich <iii@linux.ibm.com>
+Date: Wed, 28 Feb 2024 10:25:18 -1000
+Subject: [PATCH 5/5] tests/tcg: Check that shmat() does not break
+ /proc/self/maps
+
+Add a regression test for a recently fixed issue, where shmat()
+desynced the guest and the host view of the address space and caused
+open("/proc/self/maps") to SEGV.
+
+Upstream-Status: Submitted [https://www.mail-archive.com/qemu-devel@nongnu.org/msg1026793.html]
+
+Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
+Message-Id: <jwyuvao4apydvykmsnvacwshdgy3ixv7qvkh4dbxm3jkwgnttw@k4wpaayou7oq>
+Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ tests/tcg/multiarch/linux/linux-shmat-maps.c | 55 ++++++++++++++++++++
+ 1 file changed, 55 insertions(+)
+ create mode 100644 tests/tcg/multiarch/linux/linux-shmat-maps.c
+
+diff --git a/tests/tcg/multiarch/linux/linux-shmat-maps.c b/tests/tcg/multiarch/linux/linux-shmat-maps.c
+new file mode 100644
+index 000000000..0ccf7a973
+--- /dev/null
++++ b/tests/tcg/multiarch/linux/linux-shmat-maps.c
+@@ -0,0 +1,55 @@
++/*
++ * Test that shmat() does not break /proc/self/maps.
++ *
++ * SPDX-License-Identifier: GPL-2.0-or-later
++ */
++#include <assert.h>
++#include <fcntl.h>
++#include <stdlib.h>
++#include <sys/ipc.h>
++#include <sys/shm.h>
++#include <unistd.h>
++
++int main(void)
++{
++    char buf[128];
++    int err, fd;
++    int shmid;
++    ssize_t n;
++    void *p;
++
++    shmid = shmget(IPC_PRIVATE, 1, IPC_CREAT | 0600);
++    assert(shmid != -1);
++
++    /*
++     * The original bug required a non-NULL address, which skipped the
++     * mmap_find_vma step, which could result in a host mapping smaller
++     * than the target mapping.  Choose an address at random.
++     */
++    p = shmat(shmid, (void *)0x800000, SHM_RND);
++    if (p == (void *)-1) {
++        /*
++         * Because we are now running the testcase for all guests for which
++         * we have a cross-compiler, the above random address might conflict
++         * with the guest executable in some way.  Rather than stopping,
++         * continue with a system supplied address, which should never fail.
++         */
++        p = shmat(shmid, NULL, 0);
++        assert(p != (void *)-1);
++    }
++
++    fd = open("/proc/self/maps", O_RDONLY);
++    assert(fd != -1);
++    do {
++        n = read(fd, buf, sizeof(buf));
++        assert(n >= 0);
++    } while (n != 0);
++    close(fd);
++
++    err = shmdt(p);
++    assert(err == 0);
++    err = shmctl(shmid, IPC_RMID, NULL);
++    assert(err == 0);
++
++    return EXIT_SUCCESS;
++}
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0011-linux-user-workaround-for-missing-MAP_FIXED_NOREPLAC.patch b/poky/meta/recipes-devtools/qemu/qemu/0011-linux-user-workaround-for-missing-MAP_FIXED_NOREPLAC.patch
index 672d545..cc53b1e 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0011-linux-user-workaround-for-missing-MAP_FIXED_NOREPLAC.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0011-linux-user-workaround-for-missing-MAP_FIXED_NOREPLAC.patch
@@ -40,10 +40,10 @@
  create mode 100644 linux-user/mmap-fixed.c
  create mode 100644 linux-user/mmap-fixed.h
 
-Index: qemu-8.2.0/linux-user/elfload.c
+Index: qemu-8.2.1/linux-user/elfload.c
 ===================================================================
---- qemu-8.2.0.orig/linux-user/elfload.c
-+++ qemu-8.2.0/linux-user/elfload.c
+--- qemu-8.2.1.orig/linux-user/elfload.c
++++ qemu-8.2.1/linux-user/elfload.c
 @@ -22,6 +22,7 @@
  #include "qemu/error-report.h"
  #include "target_signal.h"
@@ -65,10 +65,10 @@
      int ret;
  
      if (p == MAP_FAILED) {
-Index: qemu-8.2.0/linux-user/meson.build
+Index: qemu-8.2.1/linux-user/meson.build
 ===================================================================
---- qemu-8.2.0.orig/linux-user/meson.build
-+++ qemu-8.2.0/linux-user/meson.build
+--- qemu-8.2.1.orig/linux-user/meson.build
++++ qemu-8.2.1/linux-user/meson.build
 @@ -14,6 +14,7 @@ linux_user_ss.add(files(
    'linuxload.c',
    'main.c',
@@ -77,10 +77,10 @@
    'signal.c',
    'strace.c',
    'syscall.c',
-Index: qemu-8.2.0/linux-user/mmap-fixed.c
+Index: qemu-8.2.1/linux-user/mmap-fixed.c
 ===================================================================
 --- /dev/null
-+++ qemu-8.2.0/linux-user/mmap-fixed.c
++++ qemu-8.2.1/linux-user/mmap-fixed.c
 @@ -0,0 +1,63 @@
 +/*
 + * Workaround for MAP_FIXED_NOREPLACE
@@ -145,10 +145,10 @@
 +}
 +
 +#endif
-Index: qemu-8.2.0/linux-user/mmap-fixed.h
+Index: qemu-8.2.1/linux-user/mmap-fixed.h
 ===================================================================
 --- /dev/null
-+++ qemu-8.2.0/linux-user/mmap-fixed.h
++++ qemu-8.2.1/linux-user/mmap-fixed.h
 @@ -0,0 +1,39 @@
 +/*
 + * Workaround for MAP_FIXED_NOREPLACE
@@ -189,10 +189,10 @@
 +#endif /* MAP_FIXED_NOREPLACE */
 +
 +#endif /* MMAP_FIXED_H */
-Index: qemu-8.2.0/linux-user/mmap.c
+Index: qemu-8.2.1/linux-user/mmap.c
 ===================================================================
---- qemu-8.2.0.orig/linux-user/mmap.c
-+++ qemu-8.2.0/linux-user/mmap.c
+--- qemu-8.2.1.orig/linux-user/mmap.c
++++ qemu-8.2.1/linux-user/mmap.c
 @@ -25,6 +25,7 @@
  #include "user-mmap.h"
  #include "target_mman.h"
@@ -201,7 +201,16 @@
  
  #ifdef TARGET_ARM
  #include "target/arm/cpu-features.h"
-@@ -304,9 +305,9 @@ static bool mmap_frag(abi_ulong real_sta
+@@ -273,7 +274,7 @@ int target_mprotect(abi_ulong start, abi
+ static int do_munmap(void *addr, size_t len)
+ {
+     if (reserved_va) {
+-        void *ptr = mmap(addr, len, PROT_NONE,
++        void *ptr =  mmap_fixed_noreplace(addr, len, PROT_NONE,
+                          MAP_FIXED | MAP_ANONYMOUS
+                          | MAP_PRIVATE | MAP_NORESERVE, -1, 0);
+         return ptr == addr ? 0 : -1;
+@@ -319,9 +320,9 @@ static bool mmap_frag(abi_ulong real_sta
           * outside of the fragment we need to map.  Allocate a new host
           * page to cover, discarding whatever else may have been present.
           */
@@ -214,7 +223,7 @@
          if (p != host_start) {
              if (p != MAP_FAILED) {
                  munmap(p, qemu_host_page_size);
-@@ -405,8 +406,9 @@ abi_ulong mmap_find_vma(abi_ulong start,
+@@ -420,8 +421,9 @@ abi_ulong mmap_find_vma(abi_ulong start,
           *  - mremap() with MREMAP_FIXED flag
           *  - shmat() with SHM_REMAP flag
           */
@@ -226,7 +235,7 @@
  
          /* ENOMEM, if host address space has no memory */
          if (ptr == MAP_FAILED) {
-@@ -600,16 +602,16 @@ abi_long target_mmap(abi_ulong start, ab
+@@ -615,16 +617,16 @@ abi_long target_mmap(abi_ulong start, ab
           * especially important if qemu_host_page_size >
           * qemu_real_host_page_size.
           */
@@ -247,7 +256,7 @@
              if (p == MAP_FAILED) {
                  munmap(g2h_untagged(start), host_len);
                  goto fail;
-@@ -734,8 +736,9 @@ abi_long target_mmap(abi_ulong start, ab
+@@ -749,8 +751,9 @@ abi_long target_mmap(abi_ulong start, ab
              len1 = real_last - real_start + 1;
              want_p = g2h_untagged(real_start);
  
@@ -259,23 +268,10 @@
              if (p != want_p) {
                  if (p != MAP_FAILED) {
                      munmap(p, len1);
-@@ -837,9 +840,9 @@ static int mmap_reserve_or_unmap(abi_ulo
-     host_start = g2h_untagged(real_start);
- 
-     if (reserved_va) {
--        void *ptr = mmap(host_start, real_len, PROT_NONE,
--                         MAP_FIXED | MAP_ANONYMOUS
--                         | MAP_PRIVATE | MAP_NORESERVE, -1, 0);
-+        void *ptr = mmap_fixed_noreplace(host_start, real_len, PROT_NONE,
-+                                         MAP_FIXED | MAP_ANONYMOUS
-+                                         | MAP_PRIVATE | MAP_NORESERVE, -1, 0);
-         return ptr == host_start ? 0 : -1;
-     }
-     return munmap(host_start, real_len);
-Index: qemu-8.2.0/linux-user/syscall.c
+Index: qemu-8.2.1/linux-user/syscall.c
 ===================================================================
---- qemu-8.2.0.orig/linux-user/syscall.c
-+++ qemu-8.2.0/linux-user/syscall.c
+--- qemu-8.2.1.orig/linux-user/syscall.c
++++ qemu-8.2.1/linux-user/syscall.c
 @@ -145,6 +145,7 @@
  #include "qapi/error.h"
  #include "fd-trans.h"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/4a8579ad8629b57a43daa62e46cc7af6e1078116.patch b/poky/meta/recipes-devtools/qemu/qemu/4a8579ad8629b57a43daa62e46cc7af6e1078116.patch
new file mode 100644
index 0000000..5ad859e
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/4a8579ad8629b57a43daa62e46cc7af6e1078116.patch
@@ -0,0 +1,60 @@
+From 4a8579ad8629b57a43daa62e46cc7af6e1078116 Mon Sep 17 00:00:00 2001
+From: Richard Henderson <richard.henderson@linaro.org>
+Date: Tue, 13 Feb 2024 10:20:27 -1000
+Subject: [PATCH] linux-user: Split out do_munmap
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Submitted [https://gitlab.com/rth7680/qemu/-/commit/4a8579ad8629b57a43daa62e46cc7af6e1078116]
+
+Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
+Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+---
+ linux-user/mmap.c | 23 ++++++++++++++++-------
+ 1 file changed, 16 insertions(+), 7 deletions(-)
+
+diff --git a/linux-user/mmap.c b/linux-user/mmap.c
+index 1bbfeb25b14..8ebcca44444 100644
+--- a/linux-user/mmap.c
++++ b/linux-user/mmap.c
+@@ -267,6 +267,21 @@ int target_mprotect(abi_ulong start, abi_ulong len, int target_prot)
+     return ret;
+ }
+ 
++/*
++ * Perform munmap on behalf of the target, with host parameters.
++ * If reserved_va, we must replace the memory reservation.
++ */
++static int do_munmap(void *addr, size_t len)
++{
++    if (reserved_va) {
++        void *ptr = mmap(addr, len, PROT_NONE,
++                         MAP_FIXED | MAP_ANONYMOUS
++                         | MAP_PRIVATE | MAP_NORESERVE, -1, 0);
++        return ptr == addr ? 0 : -1;
++    }
++    return munmap(addr, len);
++}
++
+ /* map an incomplete host page */
+ static bool mmap_frag(abi_ulong real_start, abi_ulong start, abi_ulong last,
+                       int prot, int flags, int fd, off_t offset)
+@@ -854,13 +869,7 @@ static int mmap_reserve_or_unmap(abi_ulong start, abi_ulong len)
+     real_len = real_last - real_start + 1;
+     host_start = g2h_untagged(real_start);
+ 
+-    if (reserved_va) {
+-        void *ptr = mmap(host_start, real_len, PROT_NONE,
+-                         MAP_FIXED | MAP_ANONYMOUS
+-                         | MAP_PRIVATE | MAP_NORESERVE, -1, 0);
+-        return ptr == host_start ? 0 : -1;
+-    }
+-    return munmap(host_start, real_len);
++    return do_munmap(host_start, real_len);
+ }
+ 
+ int target_munmap(abi_ulong start, abi_ulong len)
+-- 
+GitLab
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2023-6683.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2023-6683.patch
new file mode 100644
index 0000000..732cb6a
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2023-6683.patch
@@ -0,0 +1,91 @@
+From 405484b29f6548c7b86549b0f961b906337aa68a Mon Sep 17 00:00:00 2001
+From: Fiona Ebner <f.ebner@proxmox.com>
+Date: Wed, 24 Jan 2024 11:57:48 +0100
+Subject: [PATCH] ui/clipboard: mark type as not available when there is no
+ data
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+With VNC, a client can send a non-extended VNC_MSG_CLIENT_CUT_TEXT
+message with len=0. In qemu_clipboard_set_data(), the clipboard info
+will be updated setting data to NULL (because g_memdup(data, size)
+returns NULL when size is 0). If the client does not set the
+VNC_ENCODING_CLIPBOARD_EXT feature when setting up the encodings, then
+the 'request' callback for the clipboard peer is not initialized.
+Later, because data is NULL, qemu_clipboard_request() can be reached
+via vdagent_chr_write() and vdagent_clipboard_recv_request() and
+there, the clipboard owner's 'request' callback will be attempted to
+be called, but that is a NULL pointer.
+
+In particular, this can happen when using the KRDC (22.12.3) VNC
+client.
+
+Another scenario leading to the same issue is with two clients (say
+noVNC and KRDC):
+
+The noVNC client sets the extension VNC_FEATURE_CLIPBOARD_EXT and
+initializes its cbpeer.
+
+The KRDC client does not, but triggers a vnc_client_cut_text() (note
+it's not the _ext variant)). There, a new clipboard info with it as
+the 'owner' is created and via qemu_clipboard_set_data() is called,
+which in turn calls qemu_clipboard_update() with that info.
+
+In qemu_clipboard_update(), the notifier for the noVNC client will be
+called, i.e. vnc_clipboard_notify() and also set vs->cbinfo for the
+noVNC client. The 'owner' in that clipboard info is the clipboard peer
+for the KRDC client, which did not initialize the 'request' function.
+That sounds correct to me, it is the owner of that clipboard info.
+
+Then when noVNC sends a VNC_MSG_CLIENT_CUT_TEXT message (it did set
+the VNC_FEATURE_CLIPBOARD_EXT feature correctly, so a check for it
+passes), that clipboard info is passed to qemu_clipboard_request() and
+the original segfault still happens.
+
+Fix the issue by handling updates with size 0 differently. In
+particular, mark in the clipboard info that the type is not available.
+
+While at it, switch to g_memdup2(), because g_memdup() is deprecated.
+
+Cc: qemu-stable@nongnu.org
+Fixes: CVE-2023-6683
+Reported-by: Markus Frank <m.frank@proxmox.com>
+Suggested-by: Marc-André Lureau <marcandre.lureau@redhat.com>
+Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
+Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
+Tested-by: Markus Frank <m.frank@proxmox.com>
+Message-ID: <20240124105749.204610-1-f.ebner@proxmox.com>
+
+CVE: CVE-2023-6683
+
+Upstream-Status: Backport [https://github.com/qemu/qemu/commit/405484b29f6548c7b86549b0f961b906337aa68a]
+Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com>
+
+---
+ ui/clipboard.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/ui/clipboard.c b/ui/clipboard.c
+index 3d14bffaf80f..b3f6fa3c9e1f 100644
+--- a/ui/clipboard.c
++++ b/ui/clipboard.c
+@@ -163,9 +163,15 @@ void qemu_clipboard_set_data(QemuClipboardPeer *peer,
+     }
+ 
+     g_free(info->types[type].data);
+-    info->types[type].data = g_memdup(data, size);
+-    info->types[type].size = size;
+-    info->types[type].available = true;
++    if (size) {
++        info->types[type].data = g_memdup2(data, size);
++        info->types[type].size = size;
++        info->types[type].available = true;
++    } else {
++        info->types[type].data = NULL;
++        info->types[type].size = 0;
++        info->types[type].available = false;
++    }
+ 
+     if (update) {
+         qemu_clipboard_update(info);
diff --git a/poky/meta/recipes-devtools/qemu/qemu/fix_segv.patch b/poky/meta/recipes-devtools/qemu/qemu/fix_segv.patch
deleted file mode 100644
index da5ae87..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/fix_segv.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-With qemu 8.2.0 we started seeing SEGV errors when compiling webkitgtk from
-usermode qemu:
-
-qemu-x86_64: QEMU internal SIGSEGV {code=MAPERR, addr=0x20}
-Segmentation fault
-
-By bisection, this was tracked down to:
-
-commit 7b7a3366e142d3baeb3fd1d3660a50e7956c19eb
-Author: Richard Henderson <richard.henderson@linaro.org>
-Date:   Tue Aug 8 20:02:19 2023 -0700
-
-    linux-user: Use walk_memory_regions for open_self_maps
-    
-    Replace the by-hand method of region identification with
-    the official user-exec interface.  Cross-check the region
-    provided to the callback with the interval tree from
-    read_self_maps().
-    
-    Tested-by: Helge Deller <deller@gmx.de>
-    Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
-    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
-
-and specifically to 'n' being NULL. For now, just skip in that case
-until a proper fix can be identified.
-
-Reported upstream: https://www.mail-archive.com/qemu-devel@nongnu.org/msg1018813.html
-
-YOCTO #15367
-
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Upstream-Status: Pending
-
-diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index e384e14248..2577fb770d 100644
---- a/linux-user/syscall.c
-+++ b/linux-user/syscall.c
-@@ -8085,6 +8085,9 @@ static int open_self_maps_2(void *opaque, target_ulong guest_start,
-     while (1) {
-         IntervalTreeNode *n =
-             interval_tree_iter_first(d->host_maps, host_start, host_start);
-+        if (!n) {
-+            return 0;
-+        }
-         MapInfo *mi = container_of(n, MapInfo, itree);
-         uintptr_t this_hlast = MIN(host_last, n->last);
-         target_ulong this_gend = h2g(this_hlast) + 1;
diff --git a/poky/meta/recipes-devtools/repo/repo/0001-python3-shebang.patch b/poky/meta/recipes-devtools/repo/repo/0001-python3-shebang.patch
deleted file mode 100644
index fba89a3..0000000
--- a/poky/meta/recipes-devtools/repo/repo/0001-python3-shebang.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b8e84b202cd302a7c99288d3835dc9c63071f8f2 Mon Sep 17 00:00:00 2001
-From: Jasper Orschulko <Jasper.Orschulko@iris-sensing.com>
-Date: Tue, 14 Sep 2021 16:46:51 +0200
-Subject: [PATCH] python3 shebang
-
-Yocto does not symlink from python to python3, thus change the shebang from
-python to python3.
-
-Upstream-Status: Inappropriate [configuration]
-Signed-off-by: Jasper Orschulko <Jasper.Orschulko@iris-sensing.com>
----
- repo | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/repo b/repo
-index b13e34c..205e0e5 100755
---- a/repo
-+++ b/repo
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- #
- # Copyright (C) 2008 The Android Open Source Project
- #
---
-2.33.0
diff --git a/poky/meta/recipes-devtools/repo/repo_2.41.bb b/poky/meta/recipes-devtools/repo/repo_2.42.bb
similarity index 90%
rename from poky/meta/recipes-devtools/repo/repo_2.41.bb
rename to poky/meta/recipes-devtools/repo/repo_2.42.bb
index 4d614d9..9bb5000 100644
--- a/poky/meta/recipes-devtools/repo/repo_2.41.bb
+++ b/poky/meta/recipes-devtools/repo/repo_2.42.bb
@@ -10,9 +10,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
 SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \
-           file://0001-python3-shebang.patch \
            "
-SRCREV = "4217a82bec7b95c1a0bc7b081a1764a6a6d6c59b"
+SRCREV = "5554572f02537b8646139d59ab520e59e1d5f7b3"
 
 MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git"
 
diff --git a/poky/meta/recipes-devtools/rust/files/rv32-cargo-rustix-0.38.19-fix.patch b/poky/meta/recipes-devtools/rust/files/rv32-cargo-rustix-0.38.19-fix.patch
index 4c17c66..a7f3d11 100644
--- a/poky/meta/recipes-devtools/rust/files/rv32-cargo-rustix-0.38.19-fix.patch
+++ b/poky/meta/recipes-devtools/rust/files/rv32-cargo-rustix-0.38.19-fix.patch
@@ -11,7 +11,7 @@
 
 --- a/vendor/rustix-0.38.19/src/backend/libc/termios/syscalls.rs
 +++ b/vendor/rustix-0.38.19/src/backend/libc/termios/syscalls.rs
-@@ -102,7 +102,7 @@ pub(crate) fn tcsetattr(
+@@ -138,7 +138,7 @@ pub(crate) fn tcsetattr(
          use crate::utils::default_array;
          use linux_raw_sys::general::{termios2, BOTHER, CBAUD, IBSHIFT};
  
@@ -20,7 +20,7 @@
          use linux_raw_sys::ioctl::{TCSETS, TCSETS2};
  
          // linux-raw-sys' ioctl-generation script for sparc isn't working yet,
-@@ -111,6 +111,10 @@ pub(crate) fn tcsetattr(
+@@ -147,6 +147,10 @@ pub(crate) fn tcsetattr(
          const TCSETS: u32 = 0x80245409;
          #[cfg(any(target_arch = "sparc", target_arch = "sparc64"))]
          const TCSETS2: u32 = 0x802c540d;
@@ -28,7 +28,7 @@
 +        const TCSETS: u32 = 0x5402;
 +        #[cfg(any(target_arch = "riscv32"))]
 +        const TCSETS2: u32 = 0x402C542B;
-
+ 
          // Translate from `optional_actions` into an ioctl request code. On
          // MIPS, `optional_actions` already has `TCGETS` added to it.
 --- a/vendor/rustix-0.38.19/.cargo-checksum.json
@@ -36,10 +36,10 @@
 @@ -1 +1 @@
 -{"files":{"CODE_OF_CONDUCT.md":"f210602311e3f74b32f46237fd55f4ce36d798e85e3db1432ec667f63a7ffc44","CONTRIBUTING.md":"3fd57de5c678db1c972da676a8231d2fde9820695ef1f0d53f1e55a3e81d9de0","COPYRIGHT":"377c2e7c53250cc5905c0b0532d35973392af16ffb9596a41d99d202cf3617c9","Cargo.toml":"c994094b77085196394cd7cc03161f4810af7da799cfb40c696973e912929a8f","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-Apache-2.0_WITH_LLVM-exception":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","ORG_CODE_OF_CONDUCT.md":"a62b69bf86e605ee1bcbb2f0a12ba79e4cebb6983a7b6491949750aecc4f2178","README.md":"58d2ee38dad64ff142e98872860b282b36a09076df537af57aba39d675d84a28","SECURITY.md":"4d75afb09dd28eb5982e3a1f768ee398d90204669ceef3240a16b31dcf04148a","benches/mod.rs":"e260e67273aa0a37cffdc5cd451699335b8ee656c17275a0d0f2b4563c6018ca","build.rs":"5f93559819ca7fe233f01579d51ff5b58cb6e96ef9e7817a3358a9b410d5bbf6","src/backend/libc/c.rs":"63a6b16d4c13db9946c58ef643dd92ac4c81c4be8b5d2adf9bb0f5c797593d3b","src/backend/libc/conv.rs":"c4b4a6fdcf2f9295ab0498229a780942b031a2847ddf2466f90884bfb30255f8","src/backend/libc/event/epoll.rs":"f35eb0fddf9c4327551e1995f109a537f9899b9231e914671bdf26b616048370","src/backend/libc/event/mod.rs":"7f8547c599b8263eb791890bbe4a0b22fe2676d007ffdcc3e07b2e48d1c994db","src/backend/libc/event/poll_fd.rs":"06e2ce2fb30a45b90279ae753a67085e9f818a1b16d99cc92c525e2c46d61d51","src/backend/libc/event/syscalls.rs":"295a930521b345192caaf916b39189299f81f5f7c9f1aaed235baf3bf6f2f5fa","src/backend/libc/event/types.rs":"09e813690f44752708485e5a5ee59a43834a4a3e9577f2739b310c3ea8b4b64e","src/backend/libc/event/windows_syscalls.rs":"ebfac665c6676c4b803134ab8806be8aa2e96bdbc7799a19c544cd9069b35787","src/backend/libc/fs/dir.rs":"6f9526714c525e219399371d5acbe2666f0ac3ee88f73dc03fb31cf195ced95d","src/backend/libc/fs/inotify.rs":"f4e471484c4633dbb91c875ba8df87b687dd174cc45fdd2a1f717ffcb1591b00","src/backend/libc/fs/makedev.rs":"89c679a0ef18dd41b3c6223bce0f329ad35bf6cadbf16e47b33fad3f312ba4a6","src/backend/libc/fs/mod.rs":"576b6fcce723fcd5fc76637abd3b3565b00ca0bac309b63aecd6b8ee005fa81d","src/backend/libc/fs/syscalls.rs":"bba2a6a475fcd980f9352007f2b0b74b97abffe9d025e4c311e6f1f2f84eee3a","src/backend/libc/fs/types.rs":"20618e1a675fff5a8d2f08b4278425a3ec5c43d83518a5cbf3a934f135709a7a","src/backend/libc/io/errno.rs":"048d4350b9836fb9c9400127509705835a4992da86410e33a9e67cc43e22f35a","src/backend/libc/io/mod.rs":"746647bd864e4ec7717925b6d176cebdb392b7d015070244cc48d92780351dd6","src/backend/libc/io/syscalls.rs":"380d9be17ec7e46fdc24682aeae6410dcd8b10fd129090b479bb8ee405d9b5c6","src/backend/libc/io/types.rs":"8df53d41d72a39f334ed124707cb501e83b3624b769c80b78c62bd45179bc04a","src/backend/libc/io/windows_syscalls.rs":"fab3fa099aa89cea56a6edc651dd37750e581534f4f45b04a7e425f130b08468","src/backend/libc/io_uring/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/io_uring/syscalls.rs":"5af8146d5971c833e6fd657f652c618b31f854e1b0811864fba9b658cb633e19","src/backend/libc/mm/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/mm/syscalls.rs":"9b7c383f8ef1e258800c9797abbcd45374b97b6680637b1a247cb93878213b5a","src/backend/libc/mm/types.rs":"a427ff490880e92f1ddaa4aea55bb3ff2f43bd29712a6af09b25be2984ecb3e1","src/backend/libc/mod.rs":"2b396834f47b8771d2274eaa2632fbecebc17316d20f26d5e94f060bb8796f7d","src/backend/libc/mount/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/mount/syscalls.rs":"1bc87501a078616d0190d2e85de55f3f968b8cb79d49bd9eb839a350eed26089","src/backend/libc/mount/types.rs":"8e2b66822cd1148e5fe4023f5608f36afb0d47bad454db9560fbca4b0dbd2b6f","src/backend/libc/net/addr.rs":"b6644e0169c6681084704e9ca231863364d81e3d3cb5d3689e0df8acf7b4ec16","src/backend/libc/net/ext.rs":"0ec74196ace553c9bff355e2e35ad3b70cab46e32f8f7194715e4528fe1f54bc","src/backend/libc/net/mod.rs":"4e2d6c72bef19985a2935e7891288f0045d1ff1287ec50492882b4dfbaf0fea3","src/backend/libc/net/msghdr.rs":"f82825d40d8872e2e804cde32bbcc68bef43a5f48ad857fb1030550c4eb44838","src/backend/libc/net/read_sockaddr.rs":"af90cf19e2bebc04976b9ac97010c38db91dcd90fd81b48a14528d45be97fe20","src/backend/libc/net/send_recv.rs":"52ee998bc8422a074e5105607440631e569e531caa7d356157529c3ddb07b684","src/backend/libc/net/sockopt.rs":"c1e9974478f027d9053fed5b4f28e6dce49dd15f05e1ed574cb4eddf1be47b7c","src/backend/libc/net/syscalls.rs":"b876541609622003a9e8cd2787ecbb93b0a155cfd61914c043ac2401ed3fd923","src/backend/libc/net/write_sockaddr.rs":"14e941b5a11e4d7a17182860c47b1ee972b56ff7f0aadbcc6ab2c8740b13cea9","src/backend/libc/param/auxv.rs":"fdc85b7c33bcd05a16471e42eb4228c48c98c642443635ba5fc3e9a45438d6d3","src/backend/libc/param/mod.rs":"5234b8f1bcb886cca6ea003d411d75eaeebe58deedd80e3441354bf46ed85d4d","src/backend/libc/pid/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/pid/syscalls.rs":"49ea679b96c0741d048e82964038f9a931bc3cf3a0b59c7db3df89629b9c49e6","src/backend/libc/pipe/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/pipe/syscalls.rs":"8affde100f6a9dfc762b79d1e48be5c1039be414f8ef7d5a6acaba882a68d259","src/backend/libc/pipe/types.rs":"1e797beb383bb2e4038f1de21bea204caec4a4922b25a6ef84dbbe6e953e78b0","src/backend/libc/prctl/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/prctl/syscalls.rs":"8a2684f444a7555098dce2b92270d81cefdae902716c6e5d59bd7b0657e8a29d","src/backend/libc/process/cpu_set.rs":"b3d36b01b53b0b6c61a20ed8a69d48eccdd90cc17f82f2926ef1e844f002d0b7","src/backend/libc/process/mod.rs":"d7dc401255bad2e55ffff365339cdc3aad306861d269ad727a817d3cd7763166","src/backend/libc/process/syscalls.rs":"17b7eab2e0ea2898d41ec4e0d2a84baf57eae9f6e3e016e6b74f0e174440cffb","src/backend/libc/process/types.rs":"c26796486e9f9e7bbc44715ecaac285eb808fd9a8c08d237b2ac19f34954d608","src/backend/libc/process/wait.rs":"0cc556aed976b4bbb3965f74fd76b8216c755fce25043b7b21ce54afa07c9773","src/backend/libc/pty/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/pty/syscalls.rs":"699a4c325fc590b8b5dabfe5a9ff386809be14dd24bf35aa6ef581b2bd75457b","src/backend/libc/rand/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/rand/syscalls.rs":"78c7201e6bcb75e9cab9486d1878861319f865de2b2c46437be68690bd17bf13","src/backend/libc/rand/types.rs":"7763e6b40e4b9df825fdd2aa5ba1770da999137d04776561167116c58f8fa618","src/backend/libc/shm/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/shm/syscalls.rs":"60d797d4e85e08e6330e6b8d80094356ce377e5484952f88ae2a6e49231c268c","src/backend/libc/shm/types.rs":"be4034353ab434568053260712fa5f55ed6d8a1a9fae64fa4fe1ea4f2e82120b","src/backend/libc/system/mod.rs":"38563ea68829ca5a4b1b0695ac8a5c05718e85bdc88a36dc805efdfce45d3909","src/backend/libc/system/syscalls.rs":"4c632a6d59fef0bb516d89f119f7f37aa18f8a75f63aeba73d71c464473874cb","src/backend/libc/system/types.rs":"6871e16aee14fe2ae03cea798c3e509ffe44778a9c0e5608fd73e2e015876d7e","src/backend/libc/termios/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/termios/syscalls.rs":"dbe38f61f52f78dabf39e35a2fed3fb5f958270afa102e6bc3a374dc2621faf4","src/backend/libc/thread/futex.rs":"b666828653b12634bbd7fd709acf69641b648ec40962a1d4f904c5db14d2eff5","src/backend/libc/thread/mod.rs":"fa710053974d7f16a6c49242ee6c10a3b9e1143452b9daeaed8837302a679fff","src/backend/libc/thread/syscalls.rs":"120cb13fe7ffdef7a52ca1d141d31bf189176e9f5862f87bb171d54370a682a9","src/backend/libc/time/mod.rs":"38563ea68829ca5a4b1b0695ac8a5c05718e85bdc88a36dc805efdfce45d3909","src/backend/libc/time/syscalls.rs":"f82e0725c5af8a52e61ee83aad2c77694f2f7a72ac1e6eb284109a70ac6edc38","src/backend/libc/time/types.rs":"d4e55d2b9fb8de772c8bf5bba157472c49a12c25502e62a9c599a2e6d3196a5b","src/backend/libc/ugid/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/ugid/syscalls.rs":"8edf91b8790add23902c9f5418da6b0723a371677f29f490e0c8af852f0f1a0c","src/backend/libc/winsock_c.rs":"3bf3884fd250eca806ffdf96da68e29c133a697810b78b333ea449e523e58562","src/backend/linux_raw/arch/aarch64.rs":"2a255c9135bc8a321c180f52b88eb2b158bc9170cd222149caeae63c24587d44","src/backend/linux_raw/arch/arm.rs":"165bccb5883d0136e55d42091183765f83d86e9d37a7cb2cec9ae8af32774db6","src/backend/linux_raw/arch/mips.rs":"24af364aa93fd4b9917639d473336490a143f0d1723b09f388e72d534160ee51","src/backend/linux_raw/arch/mips32r6.rs":"e436a2ade34f2f7c58b8924462b07a2499dfc951e1e1318d51759444fb8b658e","src/backend/linux_raw/arch/mips64.rs":"897da9ddc877963ad59464d7f81dc59df8a7e91251e6adea14cfd946e2740a1c","src/backend/linux_raw/arch/mips64r6.rs":"3c08aea13c1139fb0dfbe74ca3d0147f007c3aa2eda641afb82c46f6aa4f6cd1","src/backend/linux_raw/arch/mod.rs":"37eaeea601d39be00d170856a31a8ec6a27b0d3ac22ab3ee642ab0e45dee237d","src/backend/linux_raw/arch/powerpc64.rs":"dfb001f8636a5e46d728900b0804fe6c374e5e18a6f0e76d7d62e0c07da74477","src/backend/linux_raw/arch/riscv64.rs":"41d33242d941030f46077dc2b1bc4c7913fe7630d693a5a7eef966bcf38f9d8b","src/backend/linux_raw/arch/thumb.rs":"2fd979ab421248c0a4c592bc0cefee63edc26528f469b71b63eaed35356e42e8","src/backend/linux_raw/arch/x86.rs":"81c73c0a13925854b54db754f533dec565b1db2d9586e210a2450c6f5915171d","src/backend/linux_raw/arch/x86_64.rs":"e929036a1f3cf93ba538f4523b241605cc7b5e61f84ffe6d9d5cdbcb6f73e543","src/backend/linux_raw/c.rs":"74cdf34fcd5bba9628c04585fa13721073e2bffe6740315c7655d1a55150230f","src/backend/linux_raw/conv.rs":"3b452e19c6b8285df205baa790e19f32061952ae7c7c4e39ba01726de6beb4fb","src/backend/linux_raw/event/epoll.rs":"18980136ee6d3e327d6c46a33306fa934a80eaee609a329098935569507440d0","src/backend/linux_raw/event/mod.rs":"72e46b04637e2d1d2a6b97af616144995399e489d1fe916faf835d72fc8c64cd","src/backend/linux_raw/event/poll_fd.rs":"78d040f7ce0574fc18cebf6b7766c210a3254abdbafe175f51c6b460fa19c514","src/backend/linux_raw/event/syscalls.rs":"8782cdf978bff0773bf5f35c1056d5c29a40742cf6f99d9606d951b52596cd34","src/backend/linux_raw/event/types.rs":"2ffdcb728587dbc25d302527f4a52296b96013d5199c946291b059ba4f7d466f","src/backend/linux_raw/fs/dir.rs":"c675dc5413428d2defd6752e99d210da83639779e853db209de6a1c08d35e0e7","src/backend/linux_raw/fs/inotify.rs":"42a6ed7b091eee20d7fd9becfea240deb99d0b8ca3e8e083cf365d484d8eeeeb","src/backend/linux_raw/fs/makedev.rs":"c6b4505c4bcbbc2460e80f3097eb15e2c8ef38d6c6e7abd78e39c53c372139e2","src/backend/linux_raw/fs/mod.rs":"8689e46f9c4c3e1190ae5fe39176c573cccac10b3739472128ca237f41e2686a","src/backend/linux_raw/fs/syscalls.rs":"a4512f58e2ef01bf0799c96fa7821284866b6826594642565f46d93e566e2e12","src/backend/linux_raw/fs/types.rs":"c015cf3cde945ad4a42ec706c6e1140c7342041ace1da6e0ef1bbf5e9e019ce2","src/backend/linux_raw/io/errno.rs":"8f15d735435b722466696094aed8b612b8526658ab7e079f386037cf8a3b1a6e","src/backend/linux_raw/io/mod.rs":"7ae2324427892cca6f5ab53858d847b165f790a72ec25f3d99fb15f0506c9f27","src/backend/linux_raw/io/syscalls.rs":"026f99b397ae521ac4b2ba41acec6547018073a9da5fa355aa8f9ac61298c172","src/backend/linux_raw/io/types.rs":"0cfffdc2fc9c33faa4055f9686db5922676f17d5c069362bae3745f39da3594a","src/backend/linux_raw/io_uring/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/io_uring/syscalls.rs":"0f7c9cb7ccddf5687e4b9e5b23558871a452a29ac6095a0184a06c47b9b18eb6","src/backend/linux_raw/mm/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/mm/syscalls.rs":"7d43752e8abaa8cec02cd3329e08303c56a9e6ac97aec447293397b9953c3ba3","src/backend/linux_raw/mm/types.rs":"4407b4b54c4048bb1d4e702575e20037c24483a22f6a5cfcc940e4738fcff381","src/backend/linux_raw/mod.rs":"bb26fe4783f834a4624c99ecf9e4ea8fa4d1c7fe9adfb6d7310fac689e7797bc","src/backend/linux_raw/mount/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/mount/syscalls.rs":"3947261b5d46b9737f02dc5352c3a3a35c63c461fd75bcd8ae6619dfc0bfb54d","src/backend/linux_raw/mount/types.rs":"8d39c4d6e555c88de5da3115a301562fafdcb3942aa69a0e01d42de8edb1c78f","src/backend/linux_raw/net/addr.rs":"fbb6c071a8ebc2c557c7013d36d4b540c1ff6ed63103d0a8abcacd8977fbf5c8","src/backend/linux_raw/net/mod.rs":"904b2ccd4228ebcda25db0223b92fb03e4042bcc7b0a202f19410a8a5ff517a5","src/backend/linux_raw/net/msghdr.rs":"3198339ccd00224aefdba74e9144818fe387222066a387a9dfd95fd8c48cf9d9","src/backend/linux_raw/net/read_sockaddr.rs":"24075ac4c05fab5fe44aae4445cdd12ec7e474f047150baa9b768741d6b9693d","src/backend/linux_raw/net/send_recv.rs":"85b1a78ecc920e919ce7a0a9f7ad79cba5ad09af4f53018df8c46c7c112bd7a9","src/backend/linux_raw/net/sockopt.rs":"2ea8625ecd68a799c14ed48dec2f3e01f085222b6cc36f4916b20143e08ae575","src/backend/linux_raw/net/syscalls.rs":"eb897e0074ec53c5b18594c39cbb9ec5bd796c9120bf029f0b05145a7eee1804","src/backend/linux_raw/net/write_sockaddr.rs":"0eeeb7ec8dadf95503a2f89fdc933b8f9c7e45e03fdb343ce490b6cc8eec0f96","src/backend/linux_raw/param/auxv.rs":"c1b1a628d6c51ce8adc981f58c6e08abba4a151356ff98cdbc0b3e75abeadb8a","src/backend/linux_raw/param/init.rs":"a5024f9afe361884f22fb4d65e632ccd8a60f1138ff6bd526df600d40e0d9b7e","src/backend/linux_raw/param/libc_auxv.rs":"e567f471ab21068141acb9fb2f88b9ba553f630945bc8f01b689955b48414512","src/backend/linux_raw/param/mod.rs":"2e6a1a1c00351b9c88bd615aa923f71d76208df5626dd9bea03067f28f81dc31","src/backend/linux_raw/pid/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/pid/syscalls.rs":"eef6aa01830ddd510b83f507da2002c03e58318b73744be2c06ebbe33c4f194f","src/backend/linux_raw/pipe/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/pipe/syscalls.rs":"366c730fc3e991bddb9f5a15b8c3917a8e6ace6d1d5a9113b2749e476faf6f83","src/backend/linux_raw/pipe/types.rs":"9d4bd3da7cd078d42574ad7d6b7554e301a1a7e97b292a77993a6d263726ef1e","src/backend/linux_raw/prctl/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/prctl/syscalls.rs":"a18b224307e0d27bda9b7b85c75cd6c7ddfe39f5ce52efb7bb0bf0585b757343","src/backend/linux_raw/process/cpu_set.rs":"dfdcbdf35aff6a3e08e7d38193bf18c12ca8aa64eb0dc417667be82dcc0f7c55","src/backend/linux_raw/process/mod.rs":"fb393c70a9c63ef9a6bf1fb5a2dc94f07d6b0b6987cc5231c15c607015dafd68","src/backend/linux_raw/process/syscalls.rs":"3730c155663d727d5b239f57f220727ef33dd257e74a1b697274de0f94e1da79","src/backend/linux_raw/process/types.rs":"6811ba822bc12a1a6336649151b4adb1f5d3365684a31c07f01953ea9547743d","src/backend/linux_raw/process/wait.rs":"921aee4b0048746087f52615a98edc2aa0fb4b53d6df44be4533098df55d1b05","src/backend/linux_raw/pty/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/pty/syscalls.rs":"ae09c4aecc0ae87b1ca58d82efc58007b9dddaae78460d615f48da19d1cd0f89","src/backend/linux_raw/rand/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/rand/syscalls.rs":"a84f70251672e92f253838bf05e989434f67373233e88d21d8835cbb792b1fe3","src/backend/linux_raw/rand/types.rs":"b7217c98f2da4ecf89225f36eb52c396ba2a73debdeca739ba864a9030b6a23d","src/backend/linux_raw/reg.rs":"39b6234971122d247054bda8c2dc3b44493be30482635baa9e2fcbe048e78cbd","src/backend/linux_raw/runtime/mod.rs":"b2cae8cce3822c3c92942f06ea0b68464040dcac33c6f0f7ee392c6269993347","src/backend/linux_raw/runtime/syscalls.rs":"fc9c9edbe07dd7644ab75c51a1597a31467a3421301503a072bef93e6df07643","src/backend/linux_raw/runtime/tls.rs":"6316060560a112c2e9cd9807cdba6e8c91414113a04a739160929ae9a67bba1f","src/backend/linux_raw/shm/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/shm/syscalls.rs":"3ebf91610b02de0312e1f0f0cc5d56e12b4d93794540087b3182cbdf3cb9c8db","src/backend/linux_raw/shm/types.rs":"76f587e0edc78e3b780b66ddf9bdf56d5bcb57822111e9f8f66a7eec07c2c0fa","src/backend/linux_raw/system/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/system/syscalls.rs":"2af6c2672a6528b404b52f501d9803a63e9f47886d3b5d2d2dc5a71cefa7327a","src/backend/linux_raw/system/types.rs":"1ceab8d738a71043473b26e97fa3fd79d588a86d4774cbc9b9e1d4f1447a016e","src/backend/linux_raw/termios/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/termios/syscalls.rs":"01c4c8028595d8f53197ac3f2accb83057cb80fb5f78db63bbf85eb46d40e1c9","src/backend/linux_raw/thread/futex.rs":"0aa0f9f5be6a79de81e82c9f11f1bf8831f682a4b2f6cb29669e1591636f084e","src/backend/linux_raw/thread/mod.rs":"6ad4a4b90b9234e79900b27ebbe8837e3a7a36aec532912e3e253edce5225067","src/backend/linux_raw/thread/syscalls.rs":"0e3dca63be7322e1e9c58456b28eb8548abb9f08b4436b87b139e891c01c446d","src/backend/linux_raw/time/mod.rs":"672724f55b7b7be6a7452bb1cc2d28b5f0aaa840a2856fe363acce624e1beefc","src/backend/linux_raw/time/syscalls.rs":"451da0bbb66accdf58ee7f2f8746a93b22ee985907a08717a3d3b1650457d878","src/backend/linux_raw/time/types.rs":"56cb936dc36af759e06d0b7bcfa7db02818dff6084c1d1d9a538a6d5945032d5","src/backend/linux_raw/ugid/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/ugid/syscalls.rs":"8c86d251db33b399a1d1cbb8e87afe650b78db84f444d3251309b7a0480b54f7","src/backend/linux_raw/vdso.rs":"056314f72c71d4b041739337ca2098afb7fe070f844327f462c293f43481b75b","src/backend/linux_raw/vdso_wrappers.rs":"6bd4b8c15761e16defff7d2eed18c008c9f980ebee6c9bdc2e104b16b9b7c631","src/bitcast.rs":"e21c87c292c781b27256c6f5dcf9fd52dd69ed6e21016cbd67ac31a8219ebf8e","src/check_types.rs":"bc31f9b293bfbf272284ed4d0da24e941206a1ac3f18d3abb0b1a61f1ede1dae","src/clockid.rs":"1d2e1cfcf23160b55d6b046d235edf2eb2408f072a8bdef3e3a3871885abdd5a","src/cstr.rs":"41af2a4429fe6c67a8883f8a8f63d66c90df566abda74fd2b03bcef7b9f24218","src/event/eventfd.rs":"81cbd08f7bdf40a6ce1ca692b63da1dc8ba925282990668d9d68f1203e839fa1","src/event/kqueue.rs":"f13f40b97c4413902115408fc2f340e7c82bba42d2468015b007e8ac6ef23132","src/event/mod.rs":"326a7ddfeb33bb95dd31391d65f400fa622e5d0ab827c096cab16af4b6843b51","src/event/poll.rs":"0ee583dbd457a573a82a06c04a2a24bd2c76e751d27a435507d55338e2871327","src/event/port.rs":"4e51ff150e5d17cbd44aa64a38b99c15e26eaaf2e350768b5dcacdfde4fa5212","src/ffi.rs":"c2b8b38c02d72749aceb715c496726caba1f1fa989ad3856d0103a2fafed89ed","src/fs/abs.rs":"6f0b57878f61c009fd0a3698a3983aa8076ba4fe3b5c28feec0307d65a77891c","src/fs/at.rs":"9b5f35afcaca9dd19d501cee3ad305b1d1c1b588c5fd925b18b6d3b614f05011","src/fs/constants.rs":"24076a01f8bfc126b0905e9bc0521d2c3a3abc6c3b8c86ddb1e545070d097127","src/fs/copy_file_range.rs":"d3b644374390d482b2ff749a2459458872b57d0dcf9670368739b7833509a7c2","src/fs/cwd.rs":"9f429a79ace6e17455634da09216ee0ad3d067a4541518b3193ae6a8d9ff1e26","src/fs/dir.rs":"347a52f4ca9ac6321c52e802e97ec90d1b4c62ec955c8996fc17f8f5aed69966","src/fs/fadvise.rs":"beef66ebe1310fb92628240b2cde68f744c78e50f6ff61bb1404bd4868d9cae8","src/fs/fcntl.rs":"2085102d05d0ba963e100ab3e3f19dac4ff27d142fbf798626d20a2a596ba96d","src/fs/fcntl_apple.rs":"e2f23f038083621bcdecc98d02ce1023508afaecdb2ed0fba5c8b70f955301e5","src/fs/fcopyfile.rs":"ec95929cbbe02cf49233a785e5238931bb107b7903cc5bc95e4231de960995f2","src/fs/fd.rs":"68d19bb99da0444444acbafd27ba10a69fc2ac35ede4e0106ac2043c30ce4f8f","src/fs/file_type.rs":"fefd865f91011f66126213b0994773d99e373b468c31e866002228c98c64ad85","src/fs/getpath.rs":"28f6970fc1bbc37bb35c84724b59eac436ea7407a4522e18c2bdacb1fdd2edd9","src/fs/id.rs":"1b5c8a8baf9a9bb1f895f97189cea4e5982a0d35b192afeec6340a6c6222e0cb","src/fs/ioctl.rs":"e798eb41bbc201c375bc295ad2928c2467b45b4fbbff3c82236dccbc0d6391a5","src/fs/makedev.rs":"85520b484cb7c15ab71ea1c368578ea3b7e484d82f8510db92b6ce9f7ca341ae","src/fs/memfd_create.rs":"15a8f28e040cffd8c24c7903483440f88853b2e538ad48d80f3c00b4b2befdea","src/fs/mod.rs":"ecd20bf01d651b1866b198c4fc0dc8e7d681eb581e28708c8a0abd062de137ce","src/fs/mount.rs":"8f6ea2b997dd83c50c90291b9ada3ed77a9ce1ad701c9b0d533b5113b317be5b","src/fs/openat2.rs":"4a95c15dab533a41201b5fa25c8a212956b7571d58cad696bdaf45af8aef96db","src/fs/raw_dir.rs":"18ad797876d6230c38d4cacbed081c4028e03ace477d0520d9b226b40de942f0","src/fs/seek_from.rs":"a9efa0feb9ac789cf47667e91efee2e3f2dcde16cb3b7a928c99da640fa0e0d6","src/fs/sendfile.rs":"e3b2058741cf4b1698f34d84bb37130cf2b72806d522a16fe541e832cde136cb","src/fs/statx.rs":"c5192f54311faeb5a8e7ba7da1acd4fa5a8f69f6c15c4d78b4b7a495d21d0864","src/fs/sync.rs":"a3b23543834281f347b0f873bd38154d31d404871188ac08f2b20b9196234cfd","src/fs/xattr.rs":"b976eece822f69e768d91e61d86ee990ea18097b20f7ebeedaaf718c61b48962","src/io/close.rs":"0aa3cd05a8fed8e5244f97b8b6c2e7f65ed93a4e5435c6329852bb3da7514440","src/io/dup.rs":"a8a59c5d345dc54c57ded890720c33eb78c4d53917c71e8bb6317f7ed122cb87","src/io/errno.rs":"58a4d20ba0924e4d514e3c876fbe08982f1623187642ae14780815e65989c8c8","src/io/fcntl.rs":"c0f7bd7fce1119b0c1d0085b7ab77d5df02470ae3e06035428a2452dacbec296","src/io/ioctl.rs":"a47a5ec14607142f2c2ffcb93d016b8e86c8b15ba94b56b35382b545db62ea34","src/io/is_read_write.rs":"1bfb9ee5d58e0b29b44af12fe2668c7bccc841358698dcde47f1519ff9bb73b4","src/io/mod.rs":"75f1d0646be1d4c7c08b5887d8119b0103be8c25c43ccd4e0e97015508c0bb8f","src/io/read_write.rs":"54ba528b11601af1338bb0c71a41b256a0033076d30b3946c3fd0bdfa61dd021","src/io_uring.rs":"61e6dce7a53ce141604b5f577e20ec5aa73a20e2c2101825c7c52396ba221886","src/ioctl/bsd.rs":"e33772530b1b2d1e7d61ce53d9267e68d88f7f5df13301f90412d89a46c6faaa","src/ioctl/linux.rs":"256aef9fb51c67cd7f43a581b702aa62757e3bdd7c38f71bf849f818194c2285","src/ioctl/mod.rs":"739a4f6d4e9a816745e42133c1b4c51c1285bf5cde3e1ee3ea72ef0b802e3806","src/ioctl/patterns.rs":"26dda154aabf67d45362d9378875f95c1593391ecbc62be02d187b7e19e7f9da","src/lib.rs":"7430fd1db444a72dc8f9b762f2fb61226dd00c89c7c932481e94958f60678383","src/maybe_polyfill/no_std/io/mod.rs":"77889bb5c5a4f2e50e38379cdaa5d0fef4b0cafc3da056735df01f6deae75747","src/maybe_polyfill/no_std/mod.rs":"ec94a4aab4bc475785e469d10fd6bc95667e1d47d958e9cff3a19049d88c8c80","src/maybe_polyfill/no_std/net/ip_addr.rs":"046327ee244f758f2bc31d3be305d8cd0dfd8342aac1add8259e999b4b46c4a7","src/maybe_polyfill/no_std/net/mod.rs":"b0ee611c454679226a15bf647e7779995f3fe9c8e0507930a0d0613eb414b7c2","src/maybe_polyfill/no_std/net/socket_addr.rs":"bfeb32d32c176cde76323abcffebfc47e9898fb8d7ce3668c602dc8451086a2d","src/maybe_polyfill/no_std/os/fd/mod.rs":"27ef0afbcb0695cbb15101070f417eb51e0ef85ae66ec967d95e80771d507c47","src/maybe_polyfill/no_std/os/fd/owned.rs":"ab86ffa2693a04f3085770faf395f95e5303001711be8b19c44a47a0ac574091","src/maybe_polyfill/no_std/os/fd/raw.rs":"f3648c7bd4a6ff94bd823ed9e0d99d398e02f24875cf9b25962736999e7c6943","src/maybe_polyfill/no_std/os/mod.rs":"27dab639a765827644005d5f2fcc7c825310606b889cc8dd83f54c9528350dc0","src/maybe_polyfill/no_std/os/windows/io/mod.rs":"5bbcc05c83fee5026dd744a994e0458469466d5be39081baa62df07753b92fd2","src/maybe_polyfill/no_std/os/windows/io/raw.rs":"4c32609a489dd938a49328b5637cb3bafb96437f2f9f269ab66d7d3cb90247f6","src/maybe_polyfill/no_std/os/windows/io/socket.rs":"c658f42f24eff44a661f2adfd24a11af80fe9897f3e2af4dc5d2c64808308d65","src/maybe_polyfill/no_std/os/windows/mod.rs":"fdb416f8f231a4e778b5f985b9ae712ece5e1a1402963ad1a5f6a8b9843795f4","src/maybe_polyfill/std/mod.rs":"7c16c86cc73e226e65ead598e4018238b22000a345040b706bf1e1b3eba115fc","src/mm/madvise.rs":"3c262b3713a73fafcedf1b04bb12c048bb11d47ca43c959e5dfa48c27651f4f0","src/mm/mmap.rs":"28523bceb2b7e3bc1207f351d8a1771867159e1b9ff1d9c37fbdc05aeb696b50","src/mm/mod.rs":"b3a6cb838986d45825b912355cedead761211a494ca6f89b2367a2d2157e340e","src/mm/msync.rs":"9dcfe5f54235e9314a595edb8d548ac79d222bbcc58bb3263cf7e96d603b23ad","src/mm/userfaultfd.rs":"8073443bd181ff0b3ba4d0b1ae67370b4864035a0c8b4898cd709dc47c518ae7","src/mount/fsopen.rs":"160e384e9175fd98669cda1cf3590bb195c2ba7e1c724e9ea06e692595e58ba1","src/mount/mod.rs":"5f0c9df4727592695deb1cd63ae1de021b03dcd9d0d1b68e1f34d12a7136cb19","src/mount/mount_unmount.rs":"8ad11675e5d762d33fbefbed06a6a9f9e52a9b689bd06662446152614321ab77","src/mount/types.rs":"601ae3e10b7dc496fed7f3b40a80e81c6edd7bf13189d7be45c3212d4c684c39","src/net/mod.rs":"a6bc55f9e086caf46a7c00783498d73a328a66f2a991f1ec65d5f13931377b0f","src/net/send_recv/mod.rs":"f33e39c7b228cd8109823b0a0a1aa397cddad504d49e69b36f74c5b84e5070e5","src/net/send_recv/msg.rs":"6a73e4fd2b78fbeb683f48bcd8404a362245c6cd66e0d59e6378467600b44268","src/net/socket.rs":"bc825a94831557bf4c2cabd8ef5ae21ffe0986c24f9ada564eefa66270f69ae9","src/net/socket_addr_any.rs":"a9af81e967a91b45e51aec4f46a068fade7035c5d19dfaf05bfdcd3b3c32e9bf","src/net/socketpair.rs":"56f4885c31d2664cd16e18a9a88792a4912fedd953cec36dba67e8581fd57921","src/net/sockopt.rs":"58fbabf73ede7afaeac279241ff874dcee5604f63b3f38e4435a61a354da2196","src/net/types.rs":"5914e786d6a24a6efc355023fd71a28bc29fc85fb672e5388370243fe83e4191","src/net/wsa.rs":"6e546b42f50a851fc833c57cda76cfb347203ed4b0dea574a3d325bf5a2ebf80","src/param/auxv.rs":"886e57d52adf0199b8146f849c2db1e3136c07fc4ec61f60dc781fea11070604","src/param/init.rs":"a31c0e5cea61a1a999767fe74f87c0d59eeb6bce66578b842fe0e0c32be27a55","src/param/mod.rs":"25b10acd5b1da8faa6f5204e6b0379b38bfab667916e886cca64bea01a42dec2","src/path/arg.rs":"b1329485ad525e8d067792b0890a1241c20f6c08d29f0661f2a9f429581a7818","src/path/dec_int.rs":"fad9793b89eac526953b994cbed6b614f01c25108f9763e19fb98029feda93a4","src/path/mod.rs":"6b1b949c94bcc47e0f08a3f8e8db5b61ff497d0dfd3e0655f51c01d3e4b7dfd6","src/pid.rs":"f1c486000c5b1311b2d720cee88f089c17ef9a171709673dd06e6f35f4ff98a3","src/pipe.rs":"fd021deeacf78790886ae03f1e8f0fe5a13909c7532b2246581667eb3d0483d7","src/prctl.rs":"c9daa9397460a27ed6e31fc454fc40dff83720312a002b66f4c178fc005379ec","src/process/chdir.rs":"6947b80d468d906d528de328f30fe7509acfe4976a0de3fa600a7cc39618c049","src/process/chroot.rs":"2b5f6124eb19f26ad2705174f7ad50cdc0a5d15abd59ffcf55421228d82130b4","src/process/exit.rs":"48de66e5504a00cb375d8f415ce63b6225a3f5204268d40726a7d0fbba43f587","src/process/id.rs":"e4733f9e8e4b5f50e98ef7a23802e126f1f14ece8b3d7ae7446c6a66affc6bc1","src/process/ioctl.rs":"23ad0285671e8d7ca71a63c50655dbf732ccea8af11d754a0558e0236db37e76","src/process/kill.rs":"7b879e5cff8a064acd0e7488f4e21bd4e4a8506ce380688b72cc48d283ff9c89","src/process/membarrier.rs":"d6c8821ec73019040c926f4e1018f399c286e87074ab9c6692370c88772af044","src/process/mod.rs":"0ef104be820068409648ed83739a51a7dcf07612088f9a6ed6c7ebdb6ad54092","src/process/pidfd.rs":"4be2fba21430ba84244e11c636c91201bc1d1dffff3e63a4da84cc96f501786b","src/process/pidfd_getfd.rs":"cbc42a1548280ae76c3c66e851fd53cc2a3d4c089cb5798c17a2cdf654f0e229","src/process/prctl.rs":"3396b39a0f161385f02f6a4a17db0a3fcd2d70f4d6d2e1d8d1b9091b36d5704c","src/process/priority.rs":"f135482e71ea8aa0daf92b9f238051178a4c904070fa8409622f94155df3c544","src/process/procctl.rs":"0ca2f5fd4cd39335c141758cac132a3271e318c688f8882e527f58c02d5ab0e2","src/process/rlimit.rs":"10b79de3ced0e64059a94c879742d46a35a6176c776d8eed75031d5e6340283d","src/process/sched.rs":"7c3bfc5be624e7d7f5e043c3ee0b0566fcab3d684d61c272e7b4233410ab1c42","src/process/sched_yield.rs":"6565faa3928b66ddc74a65e893e15edfa4b9be4f7e5f5f68527501a7f6bc3350","src/process/umask.rs":"1a0f31a842303c978e3f05ec191e2b5e96104c09c6596473b42b1fac34898a50","src/process/wait.rs":"cef08e74f5d87df925fa6a6acc95e8de0e689fb420ba514b9fbf94a9ca403465","src/procfs.rs":"63b286dd3302be7f426841eb3b9261ef4785c3159ed78c24734bd5094c9b0b2e","src/pty.rs":"ee697b226230b65c0432a42cd82b2fad885ca70285dbb0a7b8ec0ff81d23e3a0","src/rand/getrandom.rs":"1c8166a02a74f5593bb4673ef907524df04cbc1568020a5ab2ff7f4aa1283f8b","src/rand/mod.rs":"cab59332aadd9b679f5b22cbb222d48ee028af5eb9fd4a4d43922da659b895d7","src/runtime.rs":"9aed98071bf8124c6913e8517b28ef63c7b88001042f0522d877ab65ac88099a","src/shm.rs":"b96fe8a05ee5d4536464a8843a776d43a938abaf22c772fc35b5373d95644a8d","src/signal.rs":"c071b4f011deef19a679d7a832d5408a3cd68627161d6510008d6312266a2611","src/static_assertions.rs":"39986672f489949be1d6469f0c30fb7d2eaa21bdaa2702a8c150b2b150bf5535","src/stdio.rs":"a5de2d7d9c3c5a901f88b6acf4754687c958a2f3a93c7945c2b8fcb948d468af","src/system.rs":"e594c16b4600a8ebea01c5850cd9e1521acf242f1a9f083403cfe95adcde4679","src/termios/ioctl.rs":"a1ac967f7811a482f8bb53847c37c8359f518cd26da9df7b816ba678a0139623","src/termios/mod.rs":"b44b7caa60b6f458657ed58a0e0eca41bb4e6d6be4b0f042bbb8ab7056cebe4b","src/termios/tc.rs":"e41312d15464b83b2457c2502fc3f3b9998cfb02ba68739026dd4285cc7130ac","src/termios/tty.rs":"906ee160ffb5ba3a92ea3a61374cf2cd617cebae51f5490073b6700c438d5eee","src/termios/types.rs":"8c4f029e8dbb9b2c59082bd13d628a741f6f0a31f5ecf485c93795b73c1daeca","src/thread/clock.rs":"469326c822dfb63405ee8537552cedde0b344978280e6645bbadd47dedc71e18","src/thread/futex.rs":"985f9a0dce1e2a4892ae7f26bd1bf119ceae3f9fa6b4707e166624fc1cee76d4","src/thread/id.rs":"ad72db4fea9fccb728310bbfd01ef8c00f6cc60fa2a750f6349646a134f7009b","src/thread/libcap.rs":"a3e316e6d0f58b075125fa939b9b824e1595de20a23d341a36999416b0d10d36","src/thread/mod.rs":"98634ece0b882f123ad887017692f2a4d94a23a1dec278ed660b3497cac5cceb","src/thread/prctl.rs":"10e2878ef856557bc5bd24c77f5699266e746f912e73690980371cc99c7417e8","src/thread/setns.rs":"730badd8db8ce7b905767b341211f1226eeeb38019727bf994eb64f2531b7b7f","src/time/clock.rs":"e59a29f1bed8c31c3d5b6fad60f2d4fa6cab8dd8e86148bb3693a5e3a1ce735f","src/time/mod.rs":"43afee938c80d124d04d4ba190c03f4d21d1e3bfc154fff309211e4f6eabe940","src/time/timerfd.rs":"f17092b84553741aa2d2b44c6992b5d2c8c96cc2c2007fc9a2c6b2064485e53f","src/timespec.rs":"32a4d930cbc0f6dbd23153290db920671cf4ce65a4a127e176f897c1cde42d7d","src/ugid.rs":"6616c6e35b7e43aee5b150f1efae7a50711e0947943c9a96833dbe214ad9e85f","src/utils.rs":"9ae76f8a41d6cc350cdd58c9084b5c3a5a708eeecd769783debdbcbaef442182","src/weak.rs":"c7cf03bf2aeba494b1999ab32183fa8c603ab72e254c0e312a67f168877e410d"},"package":"745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed"}
 \ No newline at end of file
-+{"files":{"CODE_OF_CONDUCT.md":"f210602311e3f74b32f46237fd55f4ce36d798e85e3db1432ec667f63a7ffc44","CONTRIBUTING.md":"3fd57de5c678db1c972da676a8231d2fde9820695ef1f0d53f1e55a3e81d9de0","COPYRIGHT":"377c2e7c53250cc5905c0b0532d35973392af16ffb9596a41d99d202cf3617c9","Cargo.toml":"c994094b77085196394cd7cc03161f4810af7da799cfb40c696973e912929a8f","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-Apache-2.0_WITH_LLVM-exception":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","ORG_CODE_OF_CONDUCT.md":"a62b69bf86e605ee1bcbb2f0a12ba79e4cebb6983a7b6491949750aecc4f2178","README.md":"58d2ee38dad64ff142e98872860b282b36a09076df537af57aba39d675d84a28","SECURITY.md":"4d75afb09dd28eb5982e3a1f768ee398d90204669ceef3240a16b31dcf04148a","benches/mod.rs":"e260e67273aa0a37cffdc5cd451699335b8ee656c17275a0d0f2b4563c6018ca","build.rs":"5f93559819ca7fe233f01579d51ff5b58cb6e96ef9e7817a3358a9b410d5bbf6","src/backend/libc/c.rs":"63a6b16d4c13db9946c58ef643dd92ac4c81c4be8b5d2adf9bb0f5c797593d3b","src/backend/libc/conv.rs":"c4b4a6fdcf2f9295ab0498229a780942b031a2847ddf2466f90884bfb30255f8","src/backend/libc/event/epoll.rs":"f35eb0fddf9c4327551e1995f109a537f9899b9231e914671bdf26b616048370","src/backend/libc/event/mod.rs":"7f8547c599b8263eb791890bbe4a0b22fe2676d007ffdcc3e07b2e48d1c994db","src/backend/libc/event/poll_fd.rs":"06e2ce2fb30a45b90279ae753a67085e9f818a1b16d99cc92c525e2c46d61d51","src/backend/libc/event/syscalls.rs":"295a930521b345192caaf916b39189299f81f5f7c9f1aaed235baf3bf6f2f5fa","src/backend/libc/event/types.rs":"09e813690f44752708485e5a5ee59a43834a4a3e9577f2739b310c3ea8b4b64e","src/backend/libc/event/windows_syscalls.rs":"ebfac665c6676c4b803134ab8806be8aa2e96bdbc7799a19c544cd9069b35787","src/backend/libc/fs/dir.rs":"6f9526714c525e219399371d5acbe2666f0ac3ee88f73dc03fb31cf195ced95d","src/backend/libc/fs/inotify.rs":"f4e471484c4633dbb91c875ba8df87b687dd174cc45fdd2a1f717ffcb1591b00","src/backend/libc/fs/makedev.rs":"89c679a0ef18dd41b3c6223bce0f329ad35bf6cadbf16e47b33fad3f312ba4a6","src/backend/libc/fs/mod.rs":"576b6fcce723fcd5fc76637abd3b3565b00ca0bac309b63aecd6b8ee005fa81d","src/backend/libc/fs/syscalls.rs":"bba2a6a475fcd980f9352007f2b0b74b97abffe9d025e4c311e6f1f2f84eee3a","src/backend/libc/fs/types.rs":"20618e1a675fff5a8d2f08b4278425a3ec5c43d83518a5cbf3a934f135709a7a","src/backend/libc/io/errno.rs":"048d4350b9836fb9c9400127509705835a4992da86410e33a9e67cc43e22f35a","src/backend/libc/io/mod.rs":"746647bd864e4ec7717925b6d176cebdb392b7d015070244cc48d92780351dd6","src/backend/libc/io/syscalls.rs":"380d9be17ec7e46fdc24682aeae6410dcd8b10fd129090b479bb8ee405d9b5c6","src/backend/libc/io/types.rs":"8df53d41d72a39f334ed124707cb501e83b3624b769c80b78c62bd45179bc04a","src/backend/libc/io/windows_syscalls.rs":"fab3fa099aa89cea56a6edc651dd37750e581534f4f45b04a7e425f130b08468","src/backend/libc/io_uring/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/io_uring/syscalls.rs":"5af8146d5971c833e6fd657f652c618b31f854e1b0811864fba9b658cb633e19","src/backend/libc/mm/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/mm/syscalls.rs":"9b7c383f8ef1e258800c9797abbcd45374b97b6680637b1a247cb93878213b5a","src/backend/libc/mm/types.rs":"a427ff490880e92f1ddaa4aea55bb3ff2f43bd29712a6af09b25be2984ecb3e1","src/backend/libc/mod.rs":"2b396834f47b8771d2274eaa2632fbecebc17316d20f26d5e94f060bb8796f7d","src/backend/libc/mount/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/mount/syscalls.rs":"1bc87501a078616d0190d2e85de55f3f968b8cb79d49bd9eb839a350eed26089","src/backend/libc/mount/types.rs":"8e2b66822cd1148e5fe4023f5608f36afb0d47bad454db9560fbca4b0dbd2b6f","src/backend/libc/net/addr.rs":"b6644e0169c6681084704e9ca231863364d81e3d3cb5d3689e0df8acf7b4ec16","src/backend/libc/net/ext.rs":"0ec74196ace553c9bff355e2e35ad3b70cab46e32f8f7194715e4528fe1f54bc","src/backend/libc/net/mod.rs":"4e2d6c72bef19985a2935e7891288f0045d1ff1287ec50492882b4dfbaf0fea3","src/backend/libc/net/msghdr.rs":"f82825d40d8872e2e804cde32bbcc68bef43a5f48ad857fb1030550c4eb44838","src/backend/libc/net/read_sockaddr.rs":"af90cf19e2bebc04976b9ac97010c38db91dcd90fd81b48a14528d45be97fe20","src/backend/libc/net/send_recv.rs":"52ee998bc8422a074e5105607440631e569e531caa7d356157529c3ddb07b684","src/backend/libc/net/sockopt.rs":"c1e9974478f027d9053fed5b4f28e6dce49dd15f05e1ed574cb4eddf1be47b7c","src/backend/libc/net/syscalls.rs":"b876541609622003a9e8cd2787ecbb93b0a155cfd61914c043ac2401ed3fd923","src/backend/libc/net/write_sockaddr.rs":"14e941b5a11e4d7a17182860c47b1ee972b56ff7f0aadbcc6ab2c8740b13cea9","src/backend/libc/param/auxv.rs":"fdc85b7c33bcd05a16471e42eb4228c48c98c642443635ba5fc3e9a45438d6d3","src/backend/libc/param/mod.rs":"5234b8f1bcb886cca6ea003d411d75eaeebe58deedd80e3441354bf46ed85d4d","src/backend/libc/pid/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/pid/syscalls.rs":"49ea679b96c0741d048e82964038f9a931bc3cf3a0b59c7db3df89629b9c49e6","src/backend/libc/pipe/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/pipe/syscalls.rs":"8affde100f6a9dfc762b79d1e48be5c1039be414f8ef7d5a6acaba882a68d259","src/backend/libc/pipe/types.rs":"1e797beb383bb2e4038f1de21bea204caec4a4922b25a6ef84dbbe6e953e78b0","src/backend/libc/prctl/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/prctl/syscalls.rs":"8a2684f444a7555098dce2b92270d81cefdae902716c6e5d59bd7b0657e8a29d","src/backend/libc/process/cpu_set.rs":"b3d36b01b53b0b6c61a20ed8a69d48eccdd90cc17f82f2926ef1e844f002d0b7","src/backend/libc/process/mod.rs":"d7dc401255bad2e55ffff365339cdc3aad306861d269ad727a817d3cd7763166","src/backend/libc/process/syscalls.rs":"17b7eab2e0ea2898d41ec4e0d2a84baf57eae9f6e3e016e6b74f0e174440cffb","src/backend/libc/process/types.rs":"c26796486e9f9e7bbc44715ecaac285eb808fd9a8c08d237b2ac19f34954d608","src/backend/libc/process/wait.rs":"0cc556aed976b4bbb3965f74fd76b8216c755fce25043b7b21ce54afa07c9773","src/backend/libc/pty/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/pty/syscalls.rs":"699a4c325fc590b8b5dabfe5a9ff386809be14dd24bf35aa6ef581b2bd75457b","src/backend/libc/rand/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/rand/syscalls.rs":"78c7201e6bcb75e9cab9486d1878861319f865de2b2c46437be68690bd17bf13","src/backend/libc/rand/types.rs":"7763e6b40e4b9df825fdd2aa5ba1770da999137d04776561167116c58f8fa618","src/backend/libc/shm/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/shm/syscalls.rs":"60d797d4e85e08e6330e6b8d80094356ce377e5484952f88ae2a6e49231c268c","src/backend/libc/shm/types.rs":"be4034353ab434568053260712fa5f55ed6d8a1a9fae64fa4fe1ea4f2e82120b","src/backend/libc/system/mod.rs":"38563ea68829ca5a4b1b0695ac8a5c05718e85bdc88a36dc805efdfce45d3909","src/backend/libc/system/syscalls.rs":"4c632a6d59fef0bb516d89f119f7f37aa18f8a75f63aeba73d71c464473874cb","src/backend/libc/system/types.rs":"6871e16aee14fe2ae03cea798c3e509ffe44778a9c0e5608fd73e2e015876d7e","src/backend/libc/termios/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/termios/syscalls.rs":"19c3a0cfd146ada30e04bfc6b8bc8cc2319890851c803fa0024ff05085137151","src/backend/libc/thread/futex.rs":"b666828653b12634bbd7fd709acf69641b648ec40962a1d4f904c5db14d2eff5","src/backend/libc/thread/mod.rs":"fa710053974d7f16a6c49242ee6c10a3b9e1143452b9daeaed8837302a679fff","src/backend/libc/thread/syscalls.rs":"120cb13fe7ffdef7a52ca1d141d31bf189176e9f5862f87bb171d54370a682a9","src/backend/libc/time/mod.rs":"38563ea68829ca5a4b1b0695ac8a5c05718e85bdc88a36dc805efdfce45d3909","src/backend/libc/time/syscalls.rs":"f82e0725c5af8a52e61ee83aad2c77694f2f7a72ac1e6eb284109a70ac6edc38","src/backend/libc/time/types.rs":"d4e55d2b9fb8de772c8bf5bba157472c49a12c25502e62a9c599a2e6d3196a5b","src/backend/libc/ugid/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/ugid/syscalls.rs":"8edf91b8790add23902c9f5418da6b0723a371677f29f490e0c8af852f0f1a0c","src/backend/libc/winsock_c.rs":"3bf3884fd250eca806ffdf96da68e29c133a697810b78b333ea449e523e58562","src/backend/linux_raw/arch/aarch64.rs":"2a255c9135bc8a321c180f52b88eb2b158bc9170cd222149caeae63c24587d44","src/backend/linux_raw/arch/arm.rs":"165bccb5883d0136e55d42091183765f83d86e9d37a7cb2cec9ae8af32774db6","src/backend/linux_raw/arch/mips.rs":"24af364aa93fd4b9917639d473336490a143f0d1723b09f388e72d534160ee51","src/backend/linux_raw/arch/mips32r6.rs":"e436a2ade34f2f7c58b8924462b07a2499dfc951e1e1318d51759444fb8b658e","src/backend/linux_raw/arch/mips64.rs":"897da9ddc877963ad59464d7f81dc59df8a7e91251e6adea14cfd946e2740a1c","src/backend/linux_raw/arch/mips64r6.rs":"3c08aea13c1139fb0dfbe74ca3d0147f007c3aa2eda641afb82c46f6aa4f6cd1","src/backend/linux_raw/arch/mod.rs":"37eaeea601d39be00d170856a31a8ec6a27b0d3ac22ab3ee642ab0e45dee237d","src/backend/linux_raw/arch/powerpc64.rs":"dfb001f8636a5e46d728900b0804fe6c374e5e18a6f0e76d7d62e0c07da74477","src/backend/linux_raw/arch/riscv64.rs":"41d33242d941030f46077dc2b1bc4c7913fe7630d693a5a7eef966bcf38f9d8b","src/backend/linux_raw/arch/thumb.rs":"2fd979ab421248c0a4c592bc0cefee63edc26528f469b71b63eaed35356e42e8","src/backend/linux_raw/arch/x86.rs":"81c73c0a13925854b54db754f533dec565b1db2d9586e210a2450c6f5915171d","src/backend/linux_raw/arch/x86_64.rs":"e929036a1f3cf93ba538f4523b241605cc7b5e61f84ffe6d9d5cdbcb6f73e543","src/backend/linux_raw/c.rs":"74cdf34fcd5bba9628c04585fa13721073e2bffe6740315c7655d1a55150230f","src/backend/linux_raw/conv.rs":"3b452e19c6b8285df205baa790e19f32061952ae7c7c4e39ba01726de6beb4fb","src/backend/linux_raw/event/epoll.rs":"18980136ee6d3e327d6c46a33306fa934a80eaee609a329098935569507440d0","src/backend/linux_raw/event/mod.rs":"72e46b04637e2d1d2a6b97af616144995399e489d1fe916faf835d72fc8c64cd","src/backend/linux_raw/event/poll_fd.rs":"78d040f7ce0574fc18cebf6b7766c210a3254abdbafe175f51c6b460fa19c514","src/backend/linux_raw/event/syscalls.rs":"8782cdf978bff0773bf5f35c1056d5c29a40742cf6f99d9606d951b52596cd34","src/backend/linux_raw/event/types.rs":"2ffdcb728587dbc25d302527f4a52296b96013d5199c946291b059ba4f7d466f","src/backend/linux_raw/fs/dir.rs":"c675dc5413428d2defd6752e99d210da83639779e853db209de6a1c08d35e0e7","src/backend/linux_raw/fs/inotify.rs":"42a6ed7b091eee20d7fd9becfea240deb99d0b8ca3e8e083cf365d484d8eeeeb","src/backend/linux_raw/fs/makedev.rs":"c6b4505c4bcbbc2460e80f3097eb15e2c8ef38d6c6e7abd78e39c53c372139e2","src/backend/linux_raw/fs/mod.rs":"8689e46f9c4c3e1190ae5fe39176c573cccac10b3739472128ca237f41e2686a","src/backend/linux_raw/fs/syscalls.rs":"a4512f58e2ef01bf0799c96fa7821284866b6826594642565f46d93e566e2e12","src/backend/linux_raw/fs/types.rs":"c015cf3cde945ad4a42ec706c6e1140c7342041ace1da6e0ef1bbf5e9e019ce2","src/backend/linux_raw/io/errno.rs":"8f15d735435b722466696094aed8b612b8526658ab7e079f386037cf8a3b1a6e","src/backend/linux_raw/io/mod.rs":"7ae2324427892cca6f5ab53858d847b165f790a72ec25f3d99fb15f0506c9f27","src/backend/linux_raw/io/syscalls.rs":"026f99b397ae521ac4b2ba41acec6547018073a9da5fa355aa8f9ac61298c172","src/backend/linux_raw/io/types.rs":"0cfffdc2fc9c33faa4055f9686db5922676f17d5c069362bae3745f39da3594a","src/backend/linux_raw/io_uring/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/io_uring/syscalls.rs":"0f7c9cb7ccddf5687e4b9e5b23558871a452a29ac6095a0184a06c47b9b18eb6","src/backend/linux_raw/mm/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/mm/syscalls.rs":"7d43752e8abaa8cec02cd3329e08303c56a9e6ac97aec447293397b9953c3ba3","src/backend/linux_raw/mm/types.rs":"4407b4b54c4048bb1d4e702575e20037c24483a22f6a5cfcc940e4738fcff381","src/backend/linux_raw/mod.rs":"bb26fe4783f834a4624c99ecf9e4ea8fa4d1c7fe9adfb6d7310fac689e7797bc","src/backend/linux_raw/mount/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/mount/syscalls.rs":"3947261b5d46b9737f02dc5352c3a3a35c63c461fd75bcd8ae6619dfc0bfb54d","src/backend/linux_raw/mount/types.rs":"8d39c4d6e555c88de5da3115a301562fafdcb3942aa69a0e01d42de8edb1c78f","src/backend/linux_raw/net/addr.rs":"fbb6c071a8ebc2c557c7013d36d4b540c1ff6ed63103d0a8abcacd8977fbf5c8","src/backend/linux_raw/net/mod.rs":"904b2ccd4228ebcda25db0223b92fb03e4042bcc7b0a202f19410a8a5ff517a5","src/backend/linux_raw/net/msghdr.rs":"3198339ccd00224aefdba74e9144818fe387222066a387a9dfd95fd8c48cf9d9","src/backend/linux_raw/net/read_sockaddr.rs":"24075ac4c05fab5fe44aae4445cdd12ec7e474f047150baa9b768741d6b9693d","src/backend/linux_raw/net/send_recv.rs":"85b1a78ecc920e919ce7a0a9f7ad79cba5ad09af4f53018df8c46c7c112bd7a9","src/backend/linux_raw/net/sockopt.rs":"2ea8625ecd68a799c14ed48dec2f3e01f085222b6cc36f4916b20143e08ae575","src/backend/linux_raw/net/syscalls.rs":"eb897e0074ec53c5b18594c39cbb9ec5bd796c9120bf029f0b05145a7eee1804","src/backend/linux_raw/net/write_sockaddr.rs":"0eeeb7ec8dadf95503a2f89fdc933b8f9c7e45e03fdb343ce490b6cc8eec0f96","src/backend/linux_raw/param/auxv.rs":"c1b1a628d6c51ce8adc981f58c6e08abba4a151356ff98cdbc0b3e75abeadb8a","src/backend/linux_raw/param/init.rs":"a5024f9afe361884f22fb4d65e632ccd8a60f1138ff6bd526df600d40e0d9b7e","src/backend/linux_raw/param/libc_auxv.rs":"e567f471ab21068141acb9fb2f88b9ba553f630945bc8f01b689955b48414512","src/backend/linux_raw/param/mod.rs":"2e6a1a1c00351b9c88bd615aa923f71d76208df5626dd9bea03067f28f81dc31","src/backend/linux_raw/pid/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/pid/syscalls.rs":"eef6aa01830ddd510b83f507da2002c03e58318b73744be2c06ebbe33c4f194f","src/backend/linux_raw/pipe/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/pipe/syscalls.rs":"366c730fc3e991bddb9f5a15b8c3917a8e6ace6d1d5a9113b2749e476faf6f83","src/backend/linux_raw/pipe/types.rs":"9d4bd3da7cd078d42574ad7d6b7554e301a1a7e97b292a77993a6d263726ef1e","src/backend/linux_raw/prctl/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/prctl/syscalls.rs":"a18b224307e0d27bda9b7b85c75cd6c7ddfe39f5ce52efb7bb0bf0585b757343","src/backend/linux_raw/process/cpu_set.rs":"dfdcbdf35aff6a3e08e7d38193bf18c12ca8aa64eb0dc417667be82dcc0f7c55","src/backend/linux_raw/process/mod.rs":"fb393c70a9c63ef9a6bf1fb5a2dc94f07d6b0b6987cc5231c15c607015dafd68","src/backend/linux_raw/process/syscalls.rs":"3730c155663d727d5b239f57f220727ef33dd257e74a1b697274de0f94e1da79","src/backend/linux_raw/process/types.rs":"6811ba822bc12a1a6336649151b4adb1f5d3365684a31c07f01953ea9547743d","src/backend/linux_raw/process/wait.rs":"921aee4b0048746087f52615a98edc2aa0fb4b53d6df44be4533098df55d1b05","src/backend/linux_raw/pty/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/pty/syscalls.rs":"ae09c4aecc0ae87b1ca58d82efc58007b9dddaae78460d615f48da19d1cd0f89","src/backend/linux_raw/rand/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/rand/syscalls.rs":"a84f70251672e92f253838bf05e989434f67373233e88d21d8835cbb792b1fe3","src/backend/linux_raw/rand/types.rs":"b7217c98f2da4ecf89225f36eb52c396ba2a73debdeca739ba864a9030b6a23d","src/backend/linux_raw/reg.rs":"39b6234971122d247054bda8c2dc3b44493be30482635baa9e2fcbe048e78cbd","src/backend/linux_raw/runtime/mod.rs":"b2cae8cce3822c3c92942f06ea0b68464040dcac33c6f0f7ee392c6269993347","src/backend/linux_raw/runtime/syscalls.rs":"fc9c9edbe07dd7644ab75c51a1597a31467a3421301503a072bef93e6df07643","src/backend/linux_raw/runtime/tls.rs":"6316060560a112c2e9cd9807cdba6e8c91414113a04a739160929ae9a67bba1f","src/backend/linux_raw/shm/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/shm/syscalls.rs":"3ebf91610b02de0312e1f0f0cc5d56e12b4d93794540087b3182cbdf3cb9c8db","src/backend/linux_raw/shm/types.rs":"76f587e0edc78e3b780b66ddf9bdf56d5bcb57822111e9f8f66a7eec07c2c0fa","src/backend/linux_raw/system/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/system/syscalls.rs":"2af6c2672a6528b404b52f501d9803a63e9f47886d3b5d2d2dc5a71cefa7327a","src/backend/linux_raw/system/types.rs":"1ceab8d738a71043473b26e97fa3fd79d588a86d4774cbc9b9e1d4f1447a016e","src/backend/linux_raw/termios/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/termios/syscalls.rs":"01c4c8028595d8f53197ac3f2accb83057cb80fb5f78db63bbf85eb46d40e1c9","src/backend/linux_raw/thread/futex.rs":"0aa0f9f5be6a79de81e82c9f11f1bf8831f682a4b2f6cb29669e1591636f084e","src/backend/linux_raw/thread/mod.rs":"6ad4a4b90b9234e79900b27ebbe8837e3a7a36aec532912e3e253edce5225067","src/backend/linux_raw/thread/syscalls.rs":"0e3dca63be7322e1e9c58456b28eb8548abb9f08b4436b87b139e891c01c446d","src/backend/linux_raw/time/mod.rs":"672724f55b7b7be6a7452bb1cc2d28b5f0aaa840a2856fe363acce624e1beefc","src/backend/linux_raw/time/syscalls.rs":"451da0bbb66accdf58ee7f2f8746a93b22ee985907a08717a3d3b1650457d878","src/backend/linux_raw/time/types.rs":"56cb936dc36af759e06d0b7bcfa7db02818dff6084c1d1d9a538a6d5945032d5","src/backend/linux_raw/ugid/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/ugid/syscalls.rs":"8c86d251db33b399a1d1cbb8e87afe650b78db84f444d3251309b7a0480b54f7","src/backend/linux_raw/vdso.rs":"056314f72c71d4b041739337ca2098afb7fe070f844327f462c293f43481b75b","src/backend/linux_raw/vdso_wrappers.rs":"6bd4b8c15761e16defff7d2eed18c008c9f980ebee6c9bdc2e104b16b9b7c631","src/bitcast.rs":"e21c87c292c781b27256c6f5dcf9fd52dd69ed6e21016cbd67ac31a8219ebf8e","src/check_types.rs":"bc31f9b293bfbf272284ed4d0da24e941206a1ac3f18d3abb0b1a61f1ede1dae","src/clockid.rs":"1d2e1cfcf23160b55d6b046d235edf2eb2408f072a8bdef3e3a3871885abdd5a","src/cstr.rs":"41af2a4429fe6c67a8883f8a8f63d66c90df566abda74fd2b03bcef7b9f24218","src/event/eventfd.rs":"81cbd08f7bdf40a6ce1ca692b63da1dc8ba925282990668d9d68f1203e839fa1","src/event/kqueue.rs":"f13f40b97c4413902115408fc2f340e7c82bba42d2468015b007e8ac6ef23132","src/event/mod.rs":"326a7ddfeb33bb95dd31391d65f400fa622e5d0ab827c096cab16af4b6843b51","src/event/poll.rs":"0ee583dbd457a573a82a06c04a2a24bd2c76e751d27a435507d55338e2871327","src/event/port.rs":"4e51ff150e5d17cbd44aa64a38b99c15e26eaaf2e350768b5dcacdfde4fa5212","src/ffi.rs":"c2b8b38c02d72749aceb715c496726caba1f1fa989ad3856d0103a2fafed89ed","src/fs/abs.rs":"6f0b57878f61c009fd0a3698a3983aa8076ba4fe3b5c28feec0307d65a77891c","src/fs/at.rs":"9b5f35afcaca9dd19d501cee3ad305b1d1c1b588c5fd925b18b6d3b614f05011","src/fs/constants.rs":"24076a01f8bfc126b0905e9bc0521d2c3a3abc6c3b8c86ddb1e545070d097127","src/fs/copy_file_range.rs":"d3b644374390d482b2ff749a2459458872b57d0dcf9670368739b7833509a7c2","src/fs/cwd.rs":"9f429a79ace6e17455634da09216ee0ad3d067a4541518b3193ae6a8d9ff1e26","src/fs/dir.rs":"347a52f4ca9ac6321c52e802e97ec90d1b4c62ec955c8996fc17f8f5aed69966","src/fs/fadvise.rs":"beef66ebe1310fb92628240b2cde68f744c78e50f6ff61bb1404bd4868d9cae8","src/fs/fcntl.rs":"2085102d05d0ba963e100ab3e3f19dac4ff27d142fbf798626d20a2a596ba96d","src/fs/fcntl_apple.rs":"e2f23f038083621bcdecc98d02ce1023508afaecdb2ed0fba5c8b70f955301e5","src/fs/fcopyfile.rs":"ec95929cbbe02cf49233a785e5238931bb107b7903cc5bc95e4231de960995f2","src/fs/fd.rs":"68d19bb99da0444444acbafd27ba10a69fc2ac35ede4e0106ac2043c30ce4f8f","src/fs/file_type.rs":"fefd865f91011f66126213b0994773d99e373b468c31e866002228c98c64ad85","src/fs/getpath.rs":"28f6970fc1bbc37bb35c84724b59eac436ea7407a4522e18c2bdacb1fdd2edd9","src/fs/id.rs":"1b5c8a8baf9a9bb1f895f97189cea4e5982a0d35b192afeec6340a6c6222e0cb","src/fs/ioctl.rs":"9486ca15b95c7bbfa97d03c215f160e273543406a387443991d3bef3f4713416","src/fs/makedev.rs":"85520b484cb7c15ab71ea1c368578ea3b7e484d82f8510db92b6ce9f7ca341ae","src/fs/memfd_create.rs":"15a8f28e040cffd8c24c7903483440f88853b2e538ad48d80f3c00b4b2befdea","src/fs/mod.rs":"ecd20bf01d651b1866b198c4fc0dc8e7d681eb581e28708c8a0abd062de137ce","src/fs/mount.rs":"8f6ea2b997dd83c50c90291b9ada3ed77a9ce1ad701c9b0d533b5113b317be5b","src/fs/openat2.rs":"4a95c15dab533a41201b5fa25c8a212956b7571d58cad696bdaf45af8aef96db","src/fs/raw_dir.rs":"18ad797876d6230c38d4cacbed081c4028e03ace477d0520d9b226b40de942f0","src/fs/seek_from.rs":"a9efa0feb9ac789cf47667e91efee2e3f2dcde16cb3b7a928c99da640fa0e0d6","src/fs/sendfile.rs":"e3b2058741cf4b1698f34d84bb37130cf2b72806d522a16fe541e832cde136cb","src/fs/statx.rs":"c5192f54311faeb5a8e7ba7da1acd4fa5a8f69f6c15c4d78b4b7a495d21d0864","src/fs/sync.rs":"a3b23543834281f347b0f873bd38154d31d404871188ac08f2b20b9196234cfd","src/fs/xattr.rs":"b976eece822f69e768d91e61d86ee990ea18097b20f7ebeedaaf718c61b48962","src/io/close.rs":"0aa3cd05a8fed8e5244f97b8b6c2e7f65ed93a4e5435c6329852bb3da7514440","src/io/dup.rs":"a8a59c5d345dc54c57ded890720c33eb78c4d53917c71e8bb6317f7ed122cb87","src/io/errno.rs":"58a4d20ba0924e4d514e3c876fbe08982f1623187642ae14780815e65989c8c8","src/io/fcntl.rs":"c0f7bd7fce1119b0c1d0085b7ab77d5df02470ae3e06035428a2452dacbec296","src/io/ioctl.rs":"a47a5ec14607142f2c2ffcb93d016b8e86c8b15ba94b56b35382b545db62ea34","src/io/is_read_write.rs":"1bfb9ee5d58e0b29b44af12fe2668c7bccc841358698dcde47f1519ff9bb73b4","src/io/mod.rs":"75f1d0646be1d4c7c08b5887d8119b0103be8c25c43ccd4e0e97015508c0bb8f","src/io/read_write.rs":"54ba528b11601af1338bb0c71a41b256a0033076d30b3946c3fd0bdfa61dd021","src/io_uring.rs":"61e6dce7a53ce141604b5f577e20ec5aa73a20e2c2101825c7c52396ba221886","src/ioctl/bsd.rs":"e33772530b1b2d1e7d61ce53d9267e68d88f7f5df13301f90412d89a46c6faaa","src/ioctl/linux.rs":"256aef9fb51c67cd7f43a581b702aa62757e3bdd7c38f71bf849f818194c2285","src/ioctl/mod.rs":"739a4f6d4e9a816745e42133c1b4c51c1285bf5cde3e1ee3ea72ef0b802e3806","src/ioctl/patterns.rs":"26dda154aabf67d45362d9378875f95c1593391ecbc62be02d187b7e19e7f9da","src/lib.rs":"7430fd1db444a72dc8f9b762f2fb61226dd00c89c7c932481e94958f60678383","src/maybe_polyfill/no_std/io/mod.rs":"77889bb5c5a4f2e50e38379cdaa5d0fef4b0cafc3da056735df01f6deae75747","src/maybe_polyfill/no_std/mod.rs":"ec94a4aab4bc475785e469d10fd6bc95667e1d47d958e9cff3a19049d88c8c80","src/maybe_polyfill/no_std/net/ip_addr.rs":"046327ee244f758f2bc31d3be305d8cd0dfd8342aac1add8259e999b4b46c4a7","src/maybe_polyfill/no_std/net/mod.rs":"b0ee611c454679226a15bf647e7779995f3fe9c8e0507930a0d0613eb414b7c2","src/maybe_polyfill/no_std/net/socket_addr.rs":"bfeb32d32c176cde76323abcffebfc47e9898fb8d7ce3668c602dc8451086a2d","src/maybe_polyfill/no_std/os/fd/mod.rs":"27ef0afbcb0695cbb15101070f417eb51e0ef85ae66ec967d95e80771d507c47","src/maybe_polyfill/no_std/os/fd/owned.rs":"ab86ffa2693a04f3085770faf395f95e5303001711be8b19c44a47a0ac574091","src/maybe_polyfill/no_std/os/fd/raw.rs":"f3648c7bd4a6ff94bd823ed9e0d99d398e02f24875cf9b25962736999e7c6943","src/maybe_polyfill/no_std/os/mod.rs":"27dab639a765827644005d5f2fcc7c825310606b889cc8dd83f54c9528350dc0","src/maybe_polyfill/no_std/os/windows/io/mod.rs":"5bbcc05c83fee5026dd744a994e0458469466d5be39081baa62df07753b92fd2","src/maybe_polyfill/no_std/os/windows/io/raw.rs":"4c32609a489dd938a49328b5637cb3bafb96437f2f9f269ab66d7d3cb90247f6","src/maybe_polyfill/no_std/os/windows/io/socket.rs":"c658f42f24eff44a661f2adfd24a11af80fe9897f3e2af4dc5d2c64808308d65","src/maybe_polyfill/no_std/os/windows/mod.rs":"fdb416f8f231a4e778b5f985b9ae712ece5e1a1402963ad1a5f6a8b9843795f4","src/maybe_polyfill/std/mod.rs":"7c16c86cc73e226e65ead598e4018238b22000a345040b706bf1e1b3eba115fc","src/mm/madvise.rs":"3c262b3713a73fafcedf1b04bb12c048bb11d47ca43c959e5dfa48c27651f4f0","src/mm/mmap.rs":"28523bceb2b7e3bc1207f351d8a1771867159e1b9ff1d9c37fbdc05aeb696b50","src/mm/mod.rs":"b3a6cb838986d45825b912355cedead761211a494ca6f89b2367a2d2157e340e","src/mm/msync.rs":"9dcfe5f54235e9314a595edb8d548ac79d222bbcc58bb3263cf7e96d603b23ad","src/mm/userfaultfd.rs":"8073443bd181ff0b3ba4d0b1ae67370b4864035a0c8b4898cd709dc47c518ae7","src/mount/fsopen.rs":"160e384e9175fd98669cda1cf3590bb195c2ba7e1c724e9ea06e692595e58ba1","src/mount/mod.rs":"5f0c9df4727592695deb1cd63ae1de021b03dcd9d0d1b68e1f34d12a7136cb19","src/mount/mount_unmount.rs":"8ad11675e5d762d33fbefbed06a6a9f9e52a9b689bd06662446152614321ab77","src/mount/types.rs":"601ae3e10b7dc496fed7f3b40a80e81c6edd7bf13189d7be45c3212d4c684c39","src/net/mod.rs":"a6bc55f9e086caf46a7c00783498d73a328a66f2a991f1ec65d5f13931377b0f","src/net/send_recv/mod.rs":"f33e39c7b228cd8109823b0a0a1aa397cddad504d49e69b36f74c5b84e5070e5","src/net/send_recv/msg.rs":"6a73e4fd2b78fbeb683f48bcd8404a362245c6cd66e0d59e6378467600b44268","src/net/socket.rs":"bc825a94831557bf4c2cabd8ef5ae21ffe0986c24f9ada564eefa66270f69ae9","src/net/socket_addr_any.rs":"a9af81e967a91b45e51aec4f46a068fade7035c5d19dfaf05bfdcd3b3c32e9bf","src/net/socketpair.rs":"56f4885c31d2664cd16e18a9a88792a4912fedd953cec36dba67e8581fd57921","src/net/sockopt.rs":"58fbabf73ede7afaeac279241ff874dcee5604f63b3f38e4435a61a354da2196","src/net/types.rs":"5914e786d6a24a6efc355023fd71a28bc29fc85fb672e5388370243fe83e4191","src/net/wsa.rs":"6e546b42f50a851fc833c57cda76cfb347203ed4b0dea574a3d325bf5a2ebf80","src/param/auxv.rs":"886e57d52adf0199b8146f849c2db1e3136c07fc4ec61f60dc781fea11070604","src/param/init.rs":"a31c0e5cea61a1a999767fe74f87c0d59eeb6bce66578b842fe0e0c32be27a55","src/param/mod.rs":"25b10acd5b1da8faa6f5204e6b0379b38bfab667916e886cca64bea01a42dec2","src/path/arg.rs":"b1329485ad525e8d067792b0890a1241c20f6c08d29f0661f2a9f429581a7818","src/path/dec_int.rs":"fad9793b89eac526953b994cbed6b614f01c25108f9763e19fb98029feda93a4","src/path/mod.rs":"6b1b949c94bcc47e0f08a3f8e8db5b61ff497d0dfd3e0655f51c01d3e4b7dfd6","src/pid.rs":"f1c486000c5b1311b2d720cee88f089c17ef9a171709673dd06e6f35f4ff98a3","src/pipe.rs":"fd021deeacf78790886ae03f1e8f0fe5a13909c7532b2246581667eb3d0483d7","src/prctl.rs":"c9daa9397460a27ed6e31fc454fc40dff83720312a002b66f4c178fc005379ec","src/process/chdir.rs":"6947b80d468d906d528de328f30fe7509acfe4976a0de3fa600a7cc39618c049","src/process/chroot.rs":"2b5f6124eb19f26ad2705174f7ad50cdc0a5d15abd59ffcf55421228d82130b4","src/process/exit.rs":"48de66e5504a00cb375d8f415ce63b6225a3f5204268d40726a7d0fbba43f587","src/process/id.rs":"e4733f9e8e4b5f50e98ef7a23802e126f1f14ece8b3d7ae7446c6a66affc6bc1","src/process/ioctl.rs":"23ad0285671e8d7ca71a63c50655dbf732ccea8af11d754a0558e0236db37e76","src/process/kill.rs":"7b879e5cff8a064acd0e7488f4e21bd4e4a8506ce380688b72cc48d283ff9c89","src/process/membarrier.rs":"d6c8821ec73019040c926f4e1018f399c286e87074ab9c6692370c88772af044","src/process/mod.rs":"0ef104be820068409648ed83739a51a7dcf07612088f9a6ed6c7ebdb6ad54092","src/process/pidfd.rs":"4be2fba21430ba84244e11c636c91201bc1d1dffff3e63a4da84cc96f501786b","src/process/pidfd_getfd.rs":"cbc42a1548280ae76c3c66e851fd53cc2a3d4c089cb5798c17a2cdf654f0e229","src/process/prctl.rs":"3396b39a0f161385f02f6a4a17db0a3fcd2d70f4d6d2e1d8d1b9091b36d5704c","src/process/priority.rs":"f135482e71ea8aa0daf92b9f238051178a4c904070fa8409622f94155df3c544","src/process/procctl.rs":"0ca2f5fd4cd39335c141758cac132a3271e318c688f8882e527f58c02d5ab0e2","src/process/rlimit.rs":"10b79de3ced0e64059a94c879742d46a35a6176c776d8eed75031d5e6340283d","src/process/sched.rs":"7c3bfc5be624e7d7f5e043c3ee0b0566fcab3d684d61c272e7b4233410ab1c42","src/process/sched_yield.rs":"6565faa3928b66ddc74a65e893e15edfa4b9be4f7e5f5f68527501a7f6bc3350","src/process/umask.rs":"1a0f31a842303c978e3f05ec191e2b5e96104c09c6596473b42b1fac34898a50","src/process/wait.rs":"cef08e74f5d87df925fa6a6acc95e8de0e689fb420ba514b9fbf94a9ca403465","src/procfs.rs":"63b286dd3302be7f426841eb3b9261ef4785c3159ed78c24734bd5094c9b0b2e","src/pty.rs":"ee697b226230b65c0432a42cd82b2fad885ca70285dbb0a7b8ec0ff81d23e3a0","src/rand/getrandom.rs":"1c8166a02a74f5593bb4673ef907524df04cbc1568020a5ab2ff7f4aa1283f8b","src/rand/mod.rs":"cab59332aadd9b679f5b22cbb222d48ee028af5eb9fd4a4d43922da659b895d7","src/runtime.rs":"9aed98071bf8124c6913e8517b28ef63c7b88001042f0522d877ab65ac88099a","src/shm.rs":"b96fe8a05ee5d4536464a8843a776d43a938abaf22c772fc35b5373d95644a8d","src/signal.rs":"c071b4f011deef19a679d7a832d5408a3cd68627161d6510008d6312266a2611","src/static_assertions.rs":"39986672f489949be1d6469f0c30fb7d2eaa21bdaa2702a8c150b2b150bf5535","src/stdio.rs":"a5de2d7d9c3c5a901f88b6acf4754687c958a2f3a93c7945c2b8fcb948d468af","src/system.rs":"e594c16b4600a8ebea01c5850cd9e1521acf242f1a9f083403cfe95adcde4679","src/termios/ioctl.rs":"a1ac967f7811a482f8bb53847c37c8359f518cd26da9df7b816ba678a0139623","src/termios/mod.rs":"b44b7caa60b6f458657ed58a0e0eca41bb4e6d6be4b0f042bbb8ab7056cebe4b","src/termios/tc.rs":"e41312d15464b83b2457c2502fc3f3b9998cfb02ba68739026dd4285cc7130ac","src/termios/tty.rs":"906ee160ffb5ba3a92ea3a61374cf2cd617cebae51f5490073b6700c438d5eee","src/termios/types.rs":"8c4f029e8dbb9b2c59082bd13d628a741f6f0a31f5ecf485c93795b73c1daeca","src/thread/clock.rs":"469326c822dfb63405ee8537552cedde0b344978280e6645bbadd47dedc71e18","src/thread/futex.rs":"985f9a0dce1e2a4892ae7f26bd1bf119ceae3f9fa6b4707e166624fc1cee76d4","src/thread/id.rs":"ad72db4fea9fccb728310bbfd01ef8c00f6cc60fa2a750f6349646a134f7009b","src/thread/libcap.rs":"a3e316e6d0f58b075125fa939b9b824e1595de20a23d341a36999416b0d10d36","src/thread/mod.rs":"98634ece0b882f123ad887017692f2a4d94a23a1dec278ed660b3497cac5cceb","src/thread/prctl.rs":"10e2878ef856557bc5bd24c77f5699266e746f912e73690980371cc99c7417e8","src/thread/setns.rs":"730badd8db8ce7b905767b341211f1226eeeb38019727bf994eb64f2531b7b7f","src/time/clock.rs":"e59a29f1bed8c31c3d5b6fad60f2d4fa6cab8dd8e86148bb3693a5e3a1ce735f","src/time/mod.rs":"43afee938c80d124d04d4ba190c03f4d21d1e3bfc154fff309211e4f6eabe940","src/time/timerfd.rs":"f17092b84553741aa2d2b44c6992b5d2c8c96cc2c2007fc9a2c6b2064485e53f","src/timespec.rs":"32a4d930cbc0f6dbd23153290db920671cf4ce65a4a127e176f897c1cde42d7d","src/ugid.rs":"6616c6e35b7e43aee5b150f1efae7a50711e0947943c9a96833dbe214ad9e85f","src/utils.rs":"9ae76f8a41d6cc350cdd58c9084b5c3a5a708eeecd769783debdbcbaef442182","src/weak.rs":"c7cf03bf2aeba494b1999ab32183fa8c603ab72e254c0e312a67f168877e410d"},"package":"745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed"}
++{"files":{"CODE_OF_CONDUCT.md":"f210602311e3f74b32f46237fd55f4ce36d798e85e3db1432ec667f63a7ffc44","CONTRIBUTING.md":"3fd57de5c678db1c972da676a8231d2fde9820695ef1f0d53f1e55a3e81d9de0","COPYRIGHT":"377c2e7c53250cc5905c0b0532d35973392af16ffb9596a41d99d202cf3617c9","Cargo.toml":"c994094b77085196394cd7cc03161f4810af7da799cfb40c696973e912929a8f","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-Apache-2.0_WITH_LLVM-exception":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","ORG_CODE_OF_CONDUCT.md":"a62b69bf86e605ee1bcbb2f0a12ba79e4cebb6983a7b6491949750aecc4f2178","README.md":"58d2ee38dad64ff142e98872860b282b36a09076df537af57aba39d675d84a28","SECURITY.md":"4d75afb09dd28eb5982e3a1f768ee398d90204669ceef3240a16b31dcf04148a","benches/mod.rs":"e260e67273aa0a37cffdc5cd451699335b8ee656c17275a0d0f2b4563c6018ca","build.rs":"5f93559819ca7fe233f01579d51ff5b58cb6e96ef9e7817a3358a9b410d5bbf6","src/backend/libc/c.rs":"22550be154471f160ebfdb9e7b45a1e06452ec426a8d70b23a648a069c0216f4","src/backend/libc/conv.rs":"c4b4a6fdcf2f9295ab0498229a780942b031a2847ddf2466f90884bfb30255f8","src/backend/libc/event/epoll.rs":"f35eb0fddf9c4327551e1995f109a537f9899b9231e914671bdf26b616048370","src/backend/libc/event/mod.rs":"7f8547c599b8263eb791890bbe4a0b22fe2676d007ffdcc3e07b2e48d1c994db","src/backend/libc/event/poll_fd.rs":"06e2ce2fb30a45b90279ae753a67085e9f818a1b16d99cc92c525e2c46d61d51","src/backend/libc/event/syscalls.rs":"295a930521b345192caaf916b39189299f81f5f7c9f1aaed235baf3bf6f2f5fa","src/backend/libc/event/types.rs":"09e813690f44752708485e5a5ee59a43834a4a3e9577f2739b310c3ea8b4b64e","src/backend/libc/event/windows_syscalls.rs":"ebfac665c6676c4b803134ab8806be8aa2e96bdbc7799a19c544cd9069b35787","src/backend/libc/fs/dir.rs":"6f9526714c525e219399371d5acbe2666f0ac3ee88f73dc03fb31cf195ced95d","src/backend/libc/fs/inotify.rs":"f4e471484c4633dbb91c875ba8df87b687dd174cc45fdd2a1f717ffcb1591b00","src/backend/libc/fs/makedev.rs":"89c679a0ef18dd41b3c6223bce0f329ad35bf6cadbf16e47b33fad3f312ba4a6","src/backend/libc/fs/mod.rs":"576b6fcce723fcd5fc76637abd3b3565b00ca0bac309b63aecd6b8ee005fa81d","src/backend/libc/fs/syscalls.rs":"bba2a6a475fcd980f9352007f2b0b74b97abffe9d025e4c311e6f1f2f84eee3a","src/backend/libc/fs/types.rs":"20618e1a675fff5a8d2f08b4278425a3ec5c43d83518a5cbf3a934f135709a7a","src/backend/libc/io/errno.rs":"048d4350b9836fb9c9400127509705835a4992da86410e33a9e67cc43e22f35a","src/backend/libc/io/mod.rs":"746647bd864e4ec7717925b6d176cebdb392b7d015070244cc48d92780351dd6","src/backend/libc/io/syscalls.rs":"380d9be17ec7e46fdc24682aeae6410dcd8b10fd129090b479bb8ee405d9b5c6","src/backend/libc/io/types.rs":"8df53d41d72a39f334ed124707cb501e83b3624b769c80b78c62bd45179bc04a","src/backend/libc/io/windows_syscalls.rs":"fab3fa099aa89cea56a6edc651dd37750e581534f4f45b04a7e425f130b08468","src/backend/libc/io_uring/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/io_uring/syscalls.rs":"5af8146d5971c833e6fd657f652c618b31f854e1b0811864fba9b658cb633e19","src/backend/libc/mm/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/mm/syscalls.rs":"9b7c383f8ef1e258800c9797abbcd45374b97b6680637b1a247cb93878213b5a","src/backend/libc/mm/types.rs":"a427ff490880e92f1ddaa4aea55bb3ff2f43bd29712a6af09b25be2984ecb3e1","src/backend/libc/mod.rs":"2b396834f47b8771d2274eaa2632fbecebc17316d20f26d5e94f060bb8796f7d","src/backend/libc/mount/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/mount/syscalls.rs":"1bc87501a078616d0190d2e85de55f3f968b8cb79d49bd9eb839a350eed26089","src/backend/libc/mount/types.rs":"8e2b66822cd1148e5fe4023f5608f36afb0d47bad454db9560fbca4b0dbd2b6f","src/backend/libc/net/addr.rs":"b6644e0169c6681084704e9ca231863364d81e3d3cb5d3689e0df8acf7b4ec16","src/backend/libc/net/ext.rs":"0ec74196ace553c9bff355e2e35ad3b70cab46e32f8f7194715e4528fe1f54bc","src/backend/libc/net/mod.rs":"4e2d6c72bef19985a2935e7891288f0045d1ff1287ec50492882b4dfbaf0fea3","src/backend/libc/net/msghdr.rs":"f82825d40d8872e2e804cde32bbcc68bef43a5f48ad857fb1030550c4eb44838","src/backend/libc/net/read_sockaddr.rs":"af90cf19e2bebc04976b9ac97010c38db91dcd90fd81b48a14528d45be97fe20","src/backend/libc/net/send_recv.rs":"52ee998bc8422a074e5105607440631e569e531caa7d356157529c3ddb07b684","src/backend/libc/net/sockopt.rs":"c1e9974478f027d9053fed5b4f28e6dce49dd15f05e1ed574cb4eddf1be47b7c","src/backend/libc/net/syscalls.rs":"b876541609622003a9e8cd2787ecbb93b0a155cfd61914c043ac2401ed3fd923","src/backend/libc/net/write_sockaddr.rs":"14e941b5a11e4d7a17182860c47b1ee972b56ff7f0aadbcc6ab2c8740b13cea9","src/backend/libc/param/auxv.rs":"fdc85b7c33bcd05a16471e42eb4228c48c98c642443635ba5fc3e9a45438d6d3","src/backend/libc/param/mod.rs":"5234b8f1bcb886cca6ea003d411d75eaeebe58deedd80e3441354bf46ed85d4d","src/backend/libc/pid/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/pid/syscalls.rs":"49ea679b96c0741d048e82964038f9a931bc3cf3a0b59c7db3df89629b9c49e6","src/backend/libc/pipe/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/pipe/syscalls.rs":"8affde100f6a9dfc762b79d1e48be5c1039be414f8ef7d5a6acaba882a68d259","src/backend/libc/pipe/types.rs":"1e797beb383bb2e4038f1de21bea204caec4a4922b25a6ef84dbbe6e953e78b0","src/backend/libc/prctl/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/prctl/syscalls.rs":"8a2684f444a7555098dce2b92270d81cefdae902716c6e5d59bd7b0657e8a29d","src/backend/libc/process/cpu_set.rs":"b3d36b01b53b0b6c61a20ed8a69d48eccdd90cc17f82f2926ef1e844f002d0b7","src/backend/libc/process/mod.rs":"d7dc401255bad2e55ffff365339cdc3aad306861d269ad727a817d3cd7763166","src/backend/libc/process/syscalls.rs":"17b7eab2e0ea2898d41ec4e0d2a84baf57eae9f6e3e016e6b74f0e174440cffb","src/backend/libc/process/types.rs":"c26796486e9f9e7bbc44715ecaac285eb808fd9a8c08d237b2ac19f34954d608","src/backend/libc/process/wait.rs":"0cc556aed976b4bbb3965f74fd76b8216c755fce25043b7b21ce54afa07c9773","src/backend/libc/pty/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/pty/syscalls.rs":"699a4c325fc590b8b5dabfe5a9ff386809be14dd24bf35aa6ef581b2bd75457b","src/backend/libc/rand/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/rand/syscalls.rs":"78c7201e6bcb75e9cab9486d1878861319f865de2b2c46437be68690bd17bf13","src/backend/libc/rand/types.rs":"7763e6b40e4b9df825fdd2aa5ba1770da999137d04776561167116c58f8fa618","src/backend/libc/shm/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/libc/shm/syscalls.rs":"60d797d4e85e08e6330e6b8d80094356ce377e5484952f88ae2a6e49231c268c","src/backend/libc/shm/types.rs":"be4034353ab434568053260712fa5f55ed6d8a1a9fae64fa4fe1ea4f2e82120b","src/backend/libc/system/mod.rs":"38563ea68829ca5a4b1b0695ac8a5c05718e85bdc88a36dc805efdfce45d3909","src/backend/libc/system/syscalls.rs":"4c632a6d59fef0bb516d89f119f7f37aa18f8a75f63aeba73d71c464473874cb","src/backend/libc/system/types.rs":"6871e16aee14fe2ae03cea798c3e509ffe44778a9c0e5608fd73e2e015876d7e","src/backend/libc/termios/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/termios/syscalls.rs":"19c3a0cfd146ada30e04bfc6b8bc8cc2319890851c803fa0024ff05085137151","src/backend/libc/thread/futex.rs":"b666828653b12634bbd7fd709acf69641b648ec40962a1d4f904c5db14d2eff5","src/backend/libc/thread/mod.rs":"fa710053974d7f16a6c49242ee6c10a3b9e1143452b9daeaed8837302a679fff","src/backend/libc/thread/syscalls.rs":"120cb13fe7ffdef7a52ca1d141d31bf189176e9f5862f87bb171d54370a682a9","src/backend/libc/time/mod.rs":"38563ea68829ca5a4b1b0695ac8a5c05718e85bdc88a36dc805efdfce45d3909","src/backend/libc/time/syscalls.rs":"f82e0725c5af8a52e61ee83aad2c77694f2f7a72ac1e6eb284109a70ac6edc38","src/backend/libc/time/types.rs":"d4e55d2b9fb8de772c8bf5bba157472c49a12c25502e62a9c599a2e6d3196a5b","src/backend/libc/ugid/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/libc/ugid/syscalls.rs":"8edf91b8790add23902c9f5418da6b0723a371677f29f490e0c8af852f0f1a0c","src/backend/libc/winsock_c.rs":"3bf3884fd250eca806ffdf96da68e29c133a697810b78b333ea449e523e58562","src/backend/linux_raw/arch/aarch64.rs":"2a255c9135bc8a321c180f52b88eb2b158bc9170cd222149caeae63c24587d44","src/backend/linux_raw/arch/arm.rs":"165bccb5883d0136e55d42091183765f83d86e9d37a7cb2cec9ae8af32774db6","src/backend/linux_raw/arch/mips.rs":"24af364aa93fd4b9917639d473336490a143f0d1723b09f388e72d534160ee51","src/backend/linux_raw/arch/mips32r6.rs":"e436a2ade34f2f7c58b8924462b07a2499dfc951e1e1318d51759444fb8b658e","src/backend/linux_raw/arch/mips64.rs":"897da9ddc877963ad59464d7f81dc59df8a7e91251e6adea14cfd946e2740a1c","src/backend/linux_raw/arch/mips64r6.rs":"3c08aea13c1139fb0dfbe74ca3d0147f007c3aa2eda641afb82c46f6aa4f6cd1","src/backend/linux_raw/arch/mod.rs":"37eaeea601d39be00d170856a31a8ec6a27b0d3ac22ab3ee642ab0e45dee237d","src/backend/linux_raw/arch/powerpc64.rs":"dfb001f8636a5e46d728900b0804fe6c374e5e18a6f0e76d7d62e0c07da74477","src/backend/linux_raw/arch/riscv64.rs":"41d33242d941030f46077dc2b1bc4c7913fe7630d693a5a7eef966bcf38f9d8b","src/backend/linux_raw/arch/thumb.rs":"2fd979ab421248c0a4c592bc0cefee63edc26528f469b71b63eaed35356e42e8","src/backend/linux_raw/arch/x86.rs":"81c73c0a13925854b54db754f533dec565b1db2d9586e210a2450c6f5915171d","src/backend/linux_raw/arch/x86_64.rs":"e929036a1f3cf93ba538f4523b241605cc7b5e61f84ffe6d9d5cdbcb6f73e543","src/backend/linux_raw/c.rs":"74cdf34fcd5bba9628c04585fa13721073e2bffe6740315c7655d1a55150230f","src/backend/linux_raw/conv.rs":"3b452e19c6b8285df205baa790e19f32061952ae7c7c4e39ba01726de6beb4fb","src/backend/linux_raw/event/epoll.rs":"18980136ee6d3e327d6c46a33306fa934a80eaee609a329098935569507440d0","src/backend/linux_raw/event/mod.rs":"72e46b04637e2d1d2a6b97af616144995399e489d1fe916faf835d72fc8c64cd","src/backend/linux_raw/event/poll_fd.rs":"78d040f7ce0574fc18cebf6b7766c210a3254abdbafe175f51c6b460fa19c514","src/backend/linux_raw/event/syscalls.rs":"8782cdf978bff0773bf5f35c1056d5c29a40742cf6f99d9606d951b52596cd34","src/backend/linux_raw/event/types.rs":"2ffdcb728587dbc25d302527f4a52296b96013d5199c946291b059ba4f7d466f","src/backend/linux_raw/fs/dir.rs":"c675dc5413428d2defd6752e99d210da83639779e853db209de6a1c08d35e0e7","src/backend/linux_raw/fs/inotify.rs":"42a6ed7b091eee20d7fd9becfea240deb99d0b8ca3e8e083cf365d484d8eeeeb","src/backend/linux_raw/fs/makedev.rs":"c6b4505c4bcbbc2460e80f3097eb15e2c8ef38d6c6e7abd78e39c53c372139e2","src/backend/linux_raw/fs/mod.rs":"8689e46f9c4c3e1190ae5fe39176c573cccac10b3739472128ca237f41e2686a","src/backend/linux_raw/fs/syscalls.rs":"a4512f58e2ef01bf0799c96fa7821284866b6826594642565f46d93e566e2e12","src/backend/linux_raw/fs/types.rs":"c015cf3cde945ad4a42ec706c6e1140c7342041ace1da6e0ef1bbf5e9e019ce2","src/backend/linux_raw/io/errno.rs":"8f15d735435b722466696094aed8b612b8526658ab7e079f386037cf8a3b1a6e","src/backend/linux_raw/io/mod.rs":"7ae2324427892cca6f5ab53858d847b165f790a72ec25f3d99fb15f0506c9f27","src/backend/linux_raw/io/syscalls.rs":"026f99b397ae521ac4b2ba41acec6547018073a9da5fa355aa8f9ac61298c172","src/backend/linux_raw/io/types.rs":"0cfffdc2fc9c33faa4055f9686db5922676f17d5c069362bae3745f39da3594a","src/backend/linux_raw/io_uring/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/io_uring/syscalls.rs":"0f7c9cb7ccddf5687e4b9e5b23558871a452a29ac6095a0184a06c47b9b18eb6","src/backend/linux_raw/mm/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/mm/syscalls.rs":"7d43752e8abaa8cec02cd3329e08303c56a9e6ac97aec447293397b9953c3ba3","src/backend/linux_raw/mm/types.rs":"4407b4b54c4048bb1d4e702575e20037c24483a22f6a5cfcc940e4738fcff381","src/backend/linux_raw/mod.rs":"bb26fe4783f834a4624c99ecf9e4ea8fa4d1c7fe9adfb6d7310fac689e7797bc","src/backend/linux_raw/mount/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/mount/syscalls.rs":"3947261b5d46b9737f02dc5352c3a3a35c63c461fd75bcd8ae6619dfc0bfb54d","src/backend/linux_raw/mount/types.rs":"8d39c4d6e555c88de5da3115a301562fafdcb3942aa69a0e01d42de8edb1c78f","src/backend/linux_raw/net/addr.rs":"fbb6c071a8ebc2c557c7013d36d4b540c1ff6ed63103d0a8abcacd8977fbf5c8","src/backend/linux_raw/net/mod.rs":"904b2ccd4228ebcda25db0223b92fb03e4042bcc7b0a202f19410a8a5ff517a5","src/backend/linux_raw/net/msghdr.rs":"3198339ccd00224aefdba74e9144818fe387222066a387a9dfd95fd8c48cf9d9","src/backend/linux_raw/net/read_sockaddr.rs":"24075ac4c05fab5fe44aae4445cdd12ec7e474f047150baa9b768741d6b9693d","src/backend/linux_raw/net/send_recv.rs":"85b1a78ecc920e919ce7a0a9f7ad79cba5ad09af4f53018df8c46c7c112bd7a9","src/backend/linux_raw/net/sockopt.rs":"2ea8625ecd68a799c14ed48dec2f3e01f085222b6cc36f4916b20143e08ae575","src/backend/linux_raw/net/syscalls.rs":"eb897e0074ec53c5b18594c39cbb9ec5bd796c9120bf029f0b05145a7eee1804","src/backend/linux_raw/net/write_sockaddr.rs":"0eeeb7ec8dadf95503a2f89fdc933b8f9c7e45e03fdb343ce490b6cc8eec0f96","src/backend/linux_raw/param/auxv.rs":"c1b1a628d6c51ce8adc981f58c6e08abba4a151356ff98cdbc0b3e75abeadb8a","src/backend/linux_raw/param/init.rs":"a5024f9afe361884f22fb4d65e632ccd8a60f1138ff6bd526df600d40e0d9b7e","src/backend/linux_raw/param/libc_auxv.rs":"e567f471ab21068141acb9fb2f88b9ba553f630945bc8f01b689955b48414512","src/backend/linux_raw/param/mod.rs":"2e6a1a1c00351b9c88bd615aa923f71d76208df5626dd9bea03067f28f81dc31","src/backend/linux_raw/pid/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/pid/syscalls.rs":"eef6aa01830ddd510b83f507da2002c03e58318b73744be2c06ebbe33c4f194f","src/backend/linux_raw/pipe/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/pipe/syscalls.rs":"366c730fc3e991bddb9f5a15b8c3917a8e6ace6d1d5a9113b2749e476faf6f83","src/backend/linux_raw/pipe/types.rs":"9d4bd3da7cd078d42574ad7d6b7554e301a1a7e97b292a77993a6d263726ef1e","src/backend/linux_raw/prctl/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/prctl/syscalls.rs":"a18b224307e0d27bda9b7b85c75cd6c7ddfe39f5ce52efb7bb0bf0585b757343","src/backend/linux_raw/process/cpu_set.rs":"dfdcbdf35aff6a3e08e7d38193bf18c12ca8aa64eb0dc417667be82dcc0f7c55","src/backend/linux_raw/process/mod.rs":"fb393c70a9c63ef9a6bf1fb5a2dc94f07d6b0b6987cc5231c15c607015dafd68","src/backend/linux_raw/process/syscalls.rs":"3730c155663d727d5b239f57f220727ef33dd257e74a1b697274de0f94e1da79","src/backend/linux_raw/process/types.rs":"6811ba822bc12a1a6336649151b4adb1f5d3365684a31c07f01953ea9547743d","src/backend/linux_raw/process/wait.rs":"921aee4b0048746087f52615a98edc2aa0fb4b53d6df44be4533098df55d1b05","src/backend/linux_raw/pty/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/pty/syscalls.rs":"ae09c4aecc0ae87b1ca58d82efc58007b9dddaae78460d615f48da19d1cd0f89","src/backend/linux_raw/rand/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/rand/syscalls.rs":"a84f70251672e92f253838bf05e989434f67373233e88d21d8835cbb792b1fe3","src/backend/linux_raw/rand/types.rs":"b7217c98f2da4ecf89225f36eb52c396ba2a73debdeca739ba864a9030b6a23d","src/backend/linux_raw/reg.rs":"39b6234971122d247054bda8c2dc3b44493be30482635baa9e2fcbe048e78cbd","src/backend/linux_raw/runtime/mod.rs":"b2cae8cce3822c3c92942f06ea0b68464040dcac33c6f0f7ee392c6269993347","src/backend/linux_raw/runtime/syscalls.rs":"fc9c9edbe07dd7644ab75c51a1597a31467a3421301503a072bef93e6df07643","src/backend/linux_raw/runtime/tls.rs":"6316060560a112c2e9cd9807cdba6e8c91414113a04a739160929ae9a67bba1f","src/backend/linux_raw/shm/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/shm/syscalls.rs":"3ebf91610b02de0312e1f0f0cc5d56e12b4d93794540087b3182cbdf3cb9c8db","src/backend/linux_raw/shm/types.rs":"76f587e0edc78e3b780b66ddf9bdf56d5bcb57822111e9f8f66a7eec07c2c0fa","src/backend/linux_raw/system/mod.rs":"8aa966faf3853d1a93d0ed91f7e5f4a53539b0287b25a5bfe489fa1d07f7cfd7","src/backend/linux_raw/system/syscalls.rs":"2af6c2672a6528b404b52f501d9803a63e9f47886d3b5d2d2dc5a71cefa7327a","src/backend/linux_raw/system/types.rs":"1ceab8d738a71043473b26e97fa3fd79d588a86d4774cbc9b9e1d4f1447a016e","src/backend/linux_raw/termios/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/termios/syscalls.rs":"01c4c8028595d8f53197ac3f2accb83057cb80fb5f78db63bbf85eb46d40e1c9","src/backend/linux_raw/thread/futex.rs":"0aa0f9f5be6a79de81e82c9f11f1bf8831f682a4b2f6cb29669e1591636f084e","src/backend/linux_raw/thread/mod.rs":"6ad4a4b90b9234e79900b27ebbe8837e3a7a36aec532912e3e253edce5225067","src/backend/linux_raw/thread/syscalls.rs":"0e3dca63be7322e1e9c58456b28eb8548abb9f08b4436b87b139e891c01c446d","src/backend/linux_raw/time/mod.rs":"672724f55b7b7be6a7452bb1cc2d28b5f0aaa840a2856fe363acce624e1beefc","src/backend/linux_raw/time/syscalls.rs":"451da0bbb66accdf58ee7f2f8746a93b22ee985907a08717a3d3b1650457d878","src/backend/linux_raw/time/types.rs":"56cb936dc36af759e06d0b7bcfa7db02818dff6084c1d1d9a538a6d5945032d5","src/backend/linux_raw/ugid/mod.rs":"2c6478857a0751625edabd61acb841819bfba1093b1faeded15693c805d84952","src/backend/linux_raw/ugid/syscalls.rs":"8c86d251db33b399a1d1cbb8e87afe650b78db84f444d3251309b7a0480b54f7","src/backend/linux_raw/vdso.rs":"056314f72c71d4b041739337ca2098afb7fe070f844327f462c293f43481b75b","src/backend/linux_raw/vdso_wrappers.rs":"6bd4b8c15761e16defff7d2eed18c008c9f980ebee6c9bdc2e104b16b9b7c631","src/bitcast.rs":"e21c87c292c781b27256c6f5dcf9fd52dd69ed6e21016cbd67ac31a8219ebf8e","src/check_types.rs":"bc31f9b293bfbf272284ed4d0da24e941206a1ac3f18d3abb0b1a61f1ede1dae","src/clockid.rs":"1d2e1cfcf23160b55d6b046d235edf2eb2408f072a8bdef3e3a3871885abdd5a","src/cstr.rs":"41af2a4429fe6c67a8883f8a8f63d66c90df566abda74fd2b03bcef7b9f24218","src/event/eventfd.rs":"81cbd08f7bdf40a6ce1ca692b63da1dc8ba925282990668d9d68f1203e839fa1","src/event/kqueue.rs":"f13f40b97c4413902115408fc2f340e7c82bba42d2468015b007e8ac6ef23132","src/event/mod.rs":"326a7ddfeb33bb95dd31391d65f400fa622e5d0ab827c096cab16af4b6843b51","src/event/poll.rs":"0ee583dbd457a573a82a06c04a2a24bd2c76e751d27a435507d55338e2871327","src/event/port.rs":"4e51ff150e5d17cbd44aa64a38b99c15e26eaaf2e350768b5dcacdfde4fa5212","src/ffi.rs":"c2b8b38c02d72749aceb715c496726caba1f1fa989ad3856d0103a2fafed89ed","src/fs/abs.rs":"6f0b57878f61c009fd0a3698a3983aa8076ba4fe3b5c28feec0307d65a77891c","src/fs/at.rs":"9b5f35afcaca9dd19d501cee3ad305b1d1c1b588c5fd925b18b6d3b614f05011","src/fs/constants.rs":"24076a01f8bfc126b0905e9bc0521d2c3a3abc6c3b8c86ddb1e545070d097127","src/fs/copy_file_range.rs":"d3b644374390d482b2ff749a2459458872b57d0dcf9670368739b7833509a7c2","src/fs/cwd.rs":"9f429a79ace6e17455634da09216ee0ad3d067a4541518b3193ae6a8d9ff1e26","src/fs/dir.rs":"347a52f4ca9ac6321c52e802e97ec90d1b4c62ec955c8996fc17f8f5aed69966","src/fs/fadvise.rs":"beef66ebe1310fb92628240b2cde68f744c78e50f6ff61bb1404bd4868d9cae8","src/fs/fcntl.rs":"2085102d05d0ba963e100ab3e3f19dac4ff27d142fbf798626d20a2a596ba96d","src/fs/fcntl_apple.rs":"e2f23f038083621bcdecc98d02ce1023508afaecdb2ed0fba5c8b70f955301e5","src/fs/fcopyfile.rs":"ec95929cbbe02cf49233a785e5238931bb107b7903cc5bc95e4231de960995f2","src/fs/fd.rs":"68d19bb99da0444444acbafd27ba10a69fc2ac35ede4e0106ac2043c30ce4f8f","src/fs/file_type.rs":"fefd865f91011f66126213b0994773d99e373b468c31e866002228c98c64ad85","src/fs/getpath.rs":"28f6970fc1bbc37bb35c84724b59eac436ea7407a4522e18c2bdacb1fdd2edd9","src/fs/id.rs":"1b5c8a8baf9a9bb1f895f97189cea4e5982a0d35b192afeec6340a6c6222e0cb","src/fs/ioctl.rs":"71327efab1e73c7844c681ea7e822b5124738196b2fc687aabc786b90be9fe32","src/fs/makedev.rs":"85520b484cb7c15ab71ea1c368578ea3b7e484d82f8510db92b6ce9f7ca341ae","src/fs/memfd_create.rs":"15a8f28e040cffd8c24c7903483440f88853b2e538ad48d80f3c00b4b2befdea","src/fs/mod.rs":"ecd20bf01d651b1866b198c4fc0dc8e7d681eb581e28708c8a0abd062de137ce","src/fs/mount.rs":"8f6ea2b997dd83c50c90291b9ada3ed77a9ce1ad701c9b0d533b5113b317be5b","src/fs/openat2.rs":"4a95c15dab533a41201b5fa25c8a212956b7571d58cad696bdaf45af8aef96db","src/fs/raw_dir.rs":"18ad797876d6230c38d4cacbed081c4028e03ace477d0520d9b226b40de942f0","src/fs/seek_from.rs":"a9efa0feb9ac789cf47667e91efee2e3f2dcde16cb3b7a928c99da640fa0e0d6","src/fs/sendfile.rs":"e3b2058741cf4b1698f34d84bb37130cf2b72806d522a16fe541e832cde136cb","src/fs/statx.rs":"c5192f54311faeb5a8e7ba7da1acd4fa5a8f69f6c15c4d78b4b7a495d21d0864","src/fs/sync.rs":"a3b23543834281f347b0f873bd38154d31d404871188ac08f2b20b9196234cfd","src/fs/xattr.rs":"b976eece822f69e768d91e61d86ee990ea18097b20f7ebeedaaf718c61b48962","src/io/close.rs":"0aa3cd05a8fed8e5244f97b8b6c2e7f65ed93a4e5435c6329852bb3da7514440","src/io/dup.rs":"a8a59c5d345dc54c57ded890720c33eb78c4d53917c71e8bb6317f7ed122cb87","src/io/errno.rs":"58a4d20ba0924e4d514e3c876fbe08982f1623187642ae14780815e65989c8c8","src/io/fcntl.rs":"c0f7bd7fce1119b0c1d0085b7ab77d5df02470ae3e06035428a2452dacbec296","src/io/ioctl.rs":"a47a5ec14607142f2c2ffcb93d016b8e86c8b15ba94b56b35382b545db62ea34","src/io/is_read_write.rs":"1bfb9ee5d58e0b29b44af12fe2668c7bccc841358698dcde47f1519ff9bb73b4","src/io/mod.rs":"75f1d0646be1d4c7c08b5887d8119b0103be8c25c43ccd4e0e97015508c0bb8f","src/io/read_write.rs":"54ba528b11601af1338bb0c71a41b256a0033076d30b3946c3fd0bdfa61dd021","src/io_uring.rs":"61e6dce7a53ce141604b5f577e20ec5aa73a20e2c2101825c7c52396ba221886","src/ioctl/bsd.rs":"e33772530b1b2d1e7d61ce53d9267e68d88f7f5df13301f90412d89a46c6faaa","src/ioctl/linux.rs":"256aef9fb51c67cd7f43a581b702aa62757e3bdd7c38f71bf849f818194c2285","src/ioctl/mod.rs":"739a4f6d4e9a816745e42133c1b4c51c1285bf5cde3e1ee3ea72ef0b802e3806","src/ioctl/patterns.rs":"26dda154aabf67d45362d9378875f95c1593391ecbc62be02d187b7e19e7f9da","src/lib.rs":"7430fd1db444a72dc8f9b762f2fb61226dd00c89c7c932481e94958f60678383","src/maybe_polyfill/no_std/io/mod.rs":"77889bb5c5a4f2e50e38379cdaa5d0fef4b0cafc3da056735df01f6deae75747","src/maybe_polyfill/no_std/mod.rs":"ec94a4aab4bc475785e469d10fd6bc95667e1d47d958e9cff3a19049d88c8c80","src/maybe_polyfill/no_std/net/ip_addr.rs":"046327ee244f758f2bc31d3be305d8cd0dfd8342aac1add8259e999b4b46c4a7","src/maybe_polyfill/no_std/net/mod.rs":"b0ee611c454679226a15bf647e7779995f3fe9c8e0507930a0d0613eb414b7c2","src/maybe_polyfill/no_std/net/socket_addr.rs":"bfeb32d32c176cde76323abcffebfc47e9898fb8d7ce3668c602dc8451086a2d","src/maybe_polyfill/no_std/os/fd/mod.rs":"27ef0afbcb0695cbb15101070f417eb51e0ef85ae66ec967d95e80771d507c47","src/maybe_polyfill/no_std/os/fd/owned.rs":"ab86ffa2693a04f3085770faf395f95e5303001711be8b19c44a47a0ac574091","src/maybe_polyfill/no_std/os/fd/raw.rs":"f3648c7bd4a6ff94bd823ed9e0d99d398e02f24875cf9b25962736999e7c6943","src/maybe_polyfill/no_std/os/mod.rs":"27dab639a765827644005d5f2fcc7c825310606b889cc8dd83f54c9528350dc0","src/maybe_polyfill/no_std/os/windows/io/mod.rs":"5bbcc05c83fee5026dd744a994e0458469466d5be39081baa62df07753b92fd2","src/maybe_polyfill/no_std/os/windows/io/raw.rs":"4c32609a489dd938a49328b5637cb3bafb96437f2f9f269ab66d7d3cb90247f6","src/maybe_polyfill/no_std/os/windows/io/socket.rs":"c658f42f24eff44a661f2adfd24a11af80fe9897f3e2af4dc5d2c64808308d65","src/maybe_polyfill/no_std/os/windows/mod.rs":"fdb416f8f231a4e778b5f985b9ae712ece5e1a1402963ad1a5f6a8b9843795f4","src/maybe_polyfill/std/mod.rs":"7c16c86cc73e226e65ead598e4018238b22000a345040b706bf1e1b3eba115fc","src/mm/madvise.rs":"3c262b3713a73fafcedf1b04bb12c048bb11d47ca43c959e5dfa48c27651f4f0","src/mm/mmap.rs":"28523bceb2b7e3bc1207f351d8a1771867159e1b9ff1d9c37fbdc05aeb696b50","src/mm/mod.rs":"b3a6cb838986d45825b912355cedead761211a494ca6f89b2367a2d2157e340e","src/mm/msync.rs":"9dcfe5f54235e9314a595edb8d548ac79d222bbcc58bb3263cf7e96d603b23ad","src/mm/userfaultfd.rs":"8073443bd181ff0b3ba4d0b1ae67370b4864035a0c8b4898cd709dc47c518ae7","src/mount/fsopen.rs":"160e384e9175fd98669cda1cf3590bb195c2ba7e1c724e9ea06e692595e58ba1","src/mount/mod.rs":"5f0c9df4727592695deb1cd63ae1de021b03dcd9d0d1b68e1f34d12a7136cb19","src/mount/mount_unmount.rs":"8ad11675e5d762d33fbefbed06a6a9f9e52a9b689bd06662446152614321ab77","src/mount/types.rs":"601ae3e10b7dc496fed7f3b40a80e81c6edd7bf13189d7be45c3212d4c684c39","src/net/mod.rs":"a6bc55f9e086caf46a7c00783498d73a328a66f2a991f1ec65d5f13931377b0f","src/net/send_recv/mod.rs":"f33e39c7b228cd8109823b0a0a1aa397cddad504d49e69b36f74c5b84e5070e5","src/net/send_recv/msg.rs":"6a73e4fd2b78fbeb683f48bcd8404a362245c6cd66e0d59e6378467600b44268","src/net/socket.rs":"bc825a94831557bf4c2cabd8ef5ae21ffe0986c24f9ada564eefa66270f69ae9","src/net/socket_addr_any.rs":"a9af81e967a91b45e51aec4f46a068fade7035c5d19dfaf05bfdcd3b3c32e9bf","src/net/socketpair.rs":"56f4885c31d2664cd16e18a9a88792a4912fedd953cec36dba67e8581fd57921","src/net/sockopt.rs":"58fbabf73ede7afaeac279241ff874dcee5604f63b3f38e4435a61a354da2196","src/net/types.rs":"5914e786d6a24a6efc355023fd71a28bc29fc85fb672e5388370243fe83e4191","src/net/wsa.rs":"6e546b42f50a851fc833c57cda76cfb347203ed4b0dea574a3d325bf5a2ebf80","src/param/auxv.rs":"886e57d52adf0199b8146f849c2db1e3136c07fc4ec61f60dc781fea11070604","src/param/init.rs":"a31c0e5cea61a1a999767fe74f87c0d59eeb6bce66578b842fe0e0c32be27a55","src/param/mod.rs":"25b10acd5b1da8faa6f5204e6b0379b38bfab667916e886cca64bea01a42dec2","src/path/arg.rs":"b1329485ad525e8d067792b0890a1241c20f6c08d29f0661f2a9f429581a7818","src/path/dec_int.rs":"fad9793b89eac526953b994cbed6b614f01c25108f9763e19fb98029feda93a4","src/path/mod.rs":"6b1b949c94bcc47e0f08a3f8e8db5b61ff497d0dfd3e0655f51c01d3e4b7dfd6","src/pid.rs":"f1c486000c5b1311b2d720cee88f089c17ef9a171709673dd06e6f35f4ff98a3","src/pipe.rs":"fd021deeacf78790886ae03f1e8f0fe5a13909c7532b2246581667eb3d0483d7","src/prctl.rs":"c9daa9397460a27ed6e31fc454fc40dff83720312a002b66f4c178fc005379ec","src/process/chdir.rs":"6947b80d468d906d528de328f30fe7509acfe4976a0de3fa600a7cc39618c049","src/process/chroot.rs":"2b5f6124eb19f26ad2705174f7ad50cdc0a5d15abd59ffcf55421228d82130b4","src/process/exit.rs":"48de66e5504a00cb375d8f415ce63b6225a3f5204268d40726a7d0fbba43f587","src/process/id.rs":"e4733f9e8e4b5f50e98ef7a23802e126f1f14ece8b3d7ae7446c6a66affc6bc1","src/process/ioctl.rs":"23ad0285671e8d7ca71a63c50655dbf732ccea8af11d754a0558e0236db37e76","src/process/kill.rs":"7b879e5cff8a064acd0e7488f4e21bd4e4a8506ce380688b72cc48d283ff9c89","src/process/membarrier.rs":"d6c8821ec73019040c926f4e1018f399c286e87074ab9c6692370c88772af044","src/process/mod.rs":"0ef104be820068409648ed83739a51a7dcf07612088f9a6ed6c7ebdb6ad54092","src/process/pidfd.rs":"4be2fba21430ba84244e11c636c91201bc1d1dffff3e63a4da84cc96f501786b","src/process/pidfd_getfd.rs":"cbc42a1548280ae76c3c66e851fd53cc2a3d4c089cb5798c17a2cdf654f0e229","src/process/prctl.rs":"3396b39a0f161385f02f6a4a17db0a3fcd2d70f4d6d2e1d8d1b9091b36d5704c","src/process/priority.rs":"f135482e71ea8aa0daf92b9f238051178a4c904070fa8409622f94155df3c544","src/process/procctl.rs":"0ca2f5fd4cd39335c141758cac132a3271e318c688f8882e527f58c02d5ab0e2","src/process/rlimit.rs":"10b79de3ced0e64059a94c879742d46a35a6176c776d8eed75031d5e6340283d","src/process/sched.rs":"7c3bfc5be624e7d7f5e043c3ee0b0566fcab3d684d61c272e7b4233410ab1c42","src/process/sched_yield.rs":"6565faa3928b66ddc74a65e893e15edfa4b9be4f7e5f5f68527501a7f6bc3350","src/process/umask.rs":"1a0f31a842303c978e3f05ec191e2b5e96104c09c6596473b42b1fac34898a50","src/process/wait.rs":"cef08e74f5d87df925fa6a6acc95e8de0e689fb420ba514b9fbf94a9ca403465","src/procfs.rs":"63b286dd3302be7f426841eb3b9261ef4785c3159ed78c24734bd5094c9b0b2e","src/pty.rs":"ee697b226230b65c0432a42cd82b2fad885ca70285dbb0a7b8ec0ff81d23e3a0","src/rand/getrandom.rs":"1c8166a02a74f5593bb4673ef907524df04cbc1568020a5ab2ff7f4aa1283f8b","src/rand/mod.rs":"cab59332aadd9b679f5b22cbb222d48ee028af5eb9fd4a4d43922da659b895d7","src/runtime.rs":"9aed98071bf8124c6913e8517b28ef63c7b88001042f0522d877ab65ac88099a","src/shm.rs":"b96fe8a05ee5d4536464a8843a776d43a938abaf22c772fc35b5373d95644a8d","src/signal.rs":"c071b4f011deef19a679d7a832d5408a3cd68627161d6510008d6312266a2611","src/static_assertions.rs":"39986672f489949be1d6469f0c30fb7d2eaa21bdaa2702a8c150b2b150bf5535","src/stdio.rs":"a5de2d7d9c3c5a901f88b6acf4754687c958a2f3a93c7945c2b8fcb948d468af","src/system.rs":"e594c16b4600a8ebea01c5850cd9e1521acf242f1a9f083403cfe95adcde4679","src/termios/ioctl.rs":"a1ac967f7811a482f8bb53847c37c8359f518cd26da9df7b816ba678a0139623","src/termios/mod.rs":"b44b7caa60b6f458657ed58a0e0eca41bb4e6d6be4b0f042bbb8ab7056cebe4b","src/termios/tc.rs":"e41312d15464b83b2457c2502fc3f3b9998cfb02ba68739026dd4285cc7130ac","src/termios/tty.rs":"906ee160ffb5ba3a92ea3a61374cf2cd617cebae51f5490073b6700c438d5eee","src/termios/types.rs":"8c4f029e8dbb9b2c59082bd13d628a741f6f0a31f5ecf485c93795b73c1daeca","src/thread/clock.rs":"469326c822dfb63405ee8537552cedde0b344978280e6645bbadd47dedc71e18","src/thread/futex.rs":"985f9a0dce1e2a4892ae7f26bd1bf119ceae3f9fa6b4707e166624fc1cee76d4","src/thread/id.rs":"ad72db4fea9fccb728310bbfd01ef8c00f6cc60fa2a750f6349646a134f7009b","src/thread/libcap.rs":"a3e316e6d0f58b075125fa939b9b824e1595de20a23d341a36999416b0d10d36","src/thread/mod.rs":"98634ece0b882f123ad887017692f2a4d94a23a1dec278ed660b3497cac5cceb","src/thread/prctl.rs":"10e2878ef856557bc5bd24c77f5699266e746f912e73690980371cc99c7417e8","src/thread/setns.rs":"730badd8db8ce7b905767b341211f1226eeeb38019727bf994eb64f2531b7b7f","src/time/clock.rs":"e59a29f1bed8c31c3d5b6fad60f2d4fa6cab8dd8e86148bb3693a5e3a1ce735f","src/time/mod.rs":"43afee938c80d124d04d4ba190c03f4d21d1e3bfc154fff309211e4f6eabe940","src/time/timerfd.rs":"f17092b84553741aa2d2b44c6992b5d2c8c96cc2c2007fc9a2c6b2064485e53f","src/timespec.rs":"32a4d930cbc0f6dbd23153290db920671cf4ce65a4a127e176f897c1cde42d7d","src/ugid.rs":"6616c6e35b7e43aee5b150f1efae7a50711e0947943c9a96833dbe214ad9e85f","src/utils.rs":"9ae76f8a41d6cc350cdd58c9084b5c3a5a708eeecd769783debdbcbaef442182","src/weak.rs":"c7cf03bf2aeba494b1999ab32183fa8c603ab72e254c0e312a67f168877e410d"},"package":"745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed"}
 --- a/vendor/rustix-0.38.19/src/fs/ioctl.rs
 +++ b/vendor/rustix-0.38.19/src/fs/ioctl.rs
-@@ -34,7 +34,7 @@ pub fn ioctl_blkpbszget<Fd: AsFd>(fd: Fd
+@@ -48,7 +48,7 @@ pub fn ioctl_blkpbszget<Fd: AsFd>(fd: Fd
  ///  - [Linux]
  ///
  /// [Linux]: https://man7.org/linux/man-pages/man2/ioctl_ficlone.2.html
@@ -48,3 +48,23 @@
  #[inline]
  #[doc(alias = "FICLONE")]
  pub fn ioctl_ficlone<Fd: AsFd, SrcFd: AsFd>(fd: Fd, src_fd: SrcFd) -> io::Result<()> {
+@@ -77,7 +77,7 @@ unsafe impl ioctl::Ioctl for Ficlone<'_>
+     type Output = ();
+ 
+     const IS_MUTATING: bool = false;
+-    const OPCODE: ioctl::Opcode = ioctl::Opcode::old(c::FICLONE as ioctl::RawOpcode);
++    const OPCODE: ioctl::Opcode = ioctl::Opcode::old(linux_raw_sys::ioctl::FICLONE as ioctl::RawOpcode);
+ 
+     fn as_ptr(&mut self) -> *mut c::c_void {
+         self.0.as_raw_fd() as *mut c::c_void
+--- a/vendor/rustix-0.38.19/src/backend/libc/c.rs
++++ b/vendor/rustix-0.38.19/src/backend/libc/c.rs
+@@ -6,6 +6,8 @@
+ // things below.
+ pub(crate) use libc::*;
+ 
++use linux_raw_sys::ioctl::FICLONE;
++
+ /// `PROC_SUPER_MAGIC`—The magic number for the procfs filesystem.
+ #[cfg(all(linux_kernel, target_env = "musl"))]
+ pub(crate) const PROC_SUPER_MAGIC: u32 = 0x0000_9fa0;
diff --git a/poky/meta/recipes-devtools/vala/vala.inc b/poky/meta/recipes-devtools/vala/vala.inc
index 162e99b..0177e86 100644
--- a/poky/meta/recipes-devtools/vala/vala.inc
+++ b/poky/meta/recipes-devtools/vala/vala.inc
@@ -3,7 +3,7 @@
 DESCRIPTION = "Vala is a C#-like language dedicated to ease GObject programming. \
 Vala compiles to plain C and has no runtime environment nor penalities whatsoever."
 SECTION = "devel"
-DEPENDS = "bison-native flex-native glib-2.0"
+DEPENDS = "bison-native flex-native glib-2.0 gobject-introspection"
 
 # Appending libxslt-native to dependencies has an effect
 # of rebuilding the manual, which is very slow. Let's do this
diff --git a/poky/meta/recipes-devtools/vala/vala_0.56.13.bb b/poky/meta/recipes-devtools/vala/vala_0.56.13.bb
deleted file mode 100644
index 0d43ac5..0000000
--- a/poky/meta/recipes-devtools/vala/vala_0.56.13.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI[sha256sum] = "4988223036c7e1e4874c476d0de8bd9cbe500ee25ef19a76e560dc0b6d56ae07"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.56.15.bb b/poky/meta/recipes-devtools/vala/vala_0.56.15.bb
new file mode 100644
index 0000000..dc483b1
--- /dev/null
+++ b/poky/meta/recipes-devtools/vala/vala_0.56.15.bb
@@ -0,0 +1,3 @@
+require ${BPN}.inc
+
+SRC_URI[sha256sum] = "535b6452ed310fd5fb5c7dd6794b6213dac3b48e645e5bff3173741ec2cb3f2b"
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
index 04f159d..5bfba1c 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
@@ -1,5 +1,4 @@
 drd/tests/annotate_sem
-drd/tests/boost_thread
 gdbserver_tests/hgtls
 helgrind/tests/hg05_race2
 helgrind/tests/tc20_verifywrap
@@ -15,7 +14,6 @@
 memcheck/tests/bug464969_d_demangle
 memcheck/tests/cxx17_aligned_new
 memcheck/tests/demangle
-memcheck/tests/linux/timerfd-syscall
 memcheck/tests/long_namespace_xml
 memcheck/tests/mismatches
 memcheck/tests/mismatches_xml
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all
index 004589a..8435a6d 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all
@@ -1,8 +1,12 @@
 cachegrind/tests/wrap5
+drd/tests/boost_thread
 none/tests/amd64/fb_test_amd64
+none/tests/tls
 gdbserver_tests/hginfo
+gdbserver_tests/mcinvokeRU
 memcheck/tests/linux/dlclose_leak-no-keep
 memcheck/tests/linux/dlclose_leak
+memcheck/tests/linux/timerfd-syscall
 memcheck/tests/supp_unknown
 memcheck/tests/wrap1
 memcheck/tests/wrap2
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 4e1cf58..b034cd0 100644
--- a/poky/meta/recipes-extended/images/core-image-full-cmdline.bb
+++ b/poky/meta/recipes-extended/images/core-image-full-cmdline.bb
@@ -1,7 +1,7 @@
 SUMMARY = "A console-only image with more full-featured Linux system \
 functionality installed."
 
-IMAGE_FEATURES += "splash ssh-server-openssh"
+IMAGE_FEATURES += "splash ssh-server-openssh package-management"
 
 IMAGE_INSTALL = "\
     packagegroup-core-boot \
diff --git a/poky/meta/recipes-extended/lsof/files/remove-host-information.patch b/poky/meta/recipes-extended/lsof/files/remove-host-information.patch
index fb90366..1f2b4af 100644
--- a/poky/meta/recipes-extended/lsof/files/remove-host-information.patch
+++ b/poky/meta/recipes-extended/lsof/files/remove-host-information.patch
@@ -1,14 +1,50 @@
+From 4f05492ac07a7bbaf06dd8265b9cba329e1b53e9 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Wed, 30 Aug 2017 15:05:16 +0800
+Subject: [PATCH] lsof: remove host information from version.h
+
 lsof doesn't embed the username or hostname in the build if SOURCE_DATE_EPOCH is
 defined, but this still embeds build paths.  Delete all of the host details to
 ensure that no host information is leaked into the binary.
 
 Upstream-Status: Inappropriate
 Signed-off-by: Ross Burton <ross.burton@arm.com>
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ autotools/version.h.in      | 16 ++++-----
+ lib/dialects/linux/Makefile | 69 ++++++-------------------------------
+ 2 files changed, 19 insertions(+), 66 deletions(-)
 
-diff --git a/dialects/linux/Makefile b/dialects/linux/Makefile
-index 176a4c2..ef5a633 100644
---- a/dialects/linux/Makefile
-+++ b/dialects/linux/Makefile
+diff --git a/autotools/version.h.in b/autotools/version.h.in
+index aac0b80..2e635a5 100644
+--- a/autotools/version.h.in
++++ b/autotools/version.h.in
+@@ -37,13 +37,13 @@
+ 
+ #include "config.h"
+ #define LSOF_VERSION PACKAGE_VERSION
+-#define LSOF_HOST "@host@"
+-#define LSOF_LOGNAME "@logname@"
+-#define LSOF_USER "@user@"
+-#define LSOF_CC "@cc@"
+-#define LSOF_CCV "@ccv@"
+-#define LSOF_CCFLAGS "@ccflags@"
+-#define LSOF_LDFLAGS "@ldflags@"
+-#define LSOF_SYSINFO "@sysinfo@"
++#define LSOF_HOST ""
++#define LSOF_LOGNAME ""
++#define LSOF_USER ""
++#define LSOF_CC ""
++#define LSOF_CCV ""
++#define LSOF_CCFLAGS ""
++#define LSOF_LDFLAGS ""
++#define LSOF_SYSINFO ""
+ 
+ #endif
+diff --git a/lib/dialects/linux/Makefile b/lib/dialects/linux/Makefile
+index f8adaa6..7a79ca7 100644
+--- a/lib/dialects/linux/Makefile
++++ b/lib/dialects/linux/Makefile
 @@ -83,64 +83,17 @@ ${LIB}: FRC
  version.h:	FRC
  	@echo Constructing version.h
diff --git a/poky/meta/recipes-extended/lsof/lsof_4.98.0.bb b/poky/meta/recipes-extended/lsof/lsof_4.98.0.bb
deleted file mode 100644
index 835ce3b..0000000
--- a/poky/meta/recipes-extended/lsof/lsof_4.98.0.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "LiSt Open Files tool"
-DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \
-Its name stands for LiSt Open Files, and it does just that."
-HOMEPAGE = "http://people.freebsd.org/~abe/"
-SECTION = "devel"
-LICENSE = "Spencer-94"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a48ac97a8550eff12395a2c0d6151510"
-
-SRC_URI = "git://github.com/lsof-org/lsof;branch=master;protocol=https \
-           file://remove-host-information.patch"
-SRCREV = "546eb1c9910e7c137fdff551683c35a736021e05"
-
-S = "${WORKDIR}/git"
-
-
-inherit update-alternatives
-
-ALTERNATIVE:${PN} = "lsof"
-ALTERNATIVE_LINK_NAME[lsof] = "${sbindir}/lsof"
-# Make our priority higher than busybox
-ALTERNATIVE_PRIORITY = "100"
-
-
-export LSOF_INCLUDE = "${STAGING_INCDIR}"
-
-do_configure () {
-	export LSOF_AR="${AR} cr"
-	export LSOF_RANLIB="${RANLIB}"
-	if [ "x${GLIBCVERSION}" != "x" ]; then
-		LINUX_CLIB=`echo ${GLIBCVERSION} |sed -e 's,\.,,g'`
-		LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}"
-		export LINUX_CLIB
-	fi
-	yes | ./Configure linux
-}
-
-export I = "${STAGING_INCDIR}"
-export L = "${STAGING_INCDIR}"
-
-do_compile () {
-	oe_runmake 'CC=${CC}' 'CFGL=${LDFLAGS} -L./lib -llsof' 'DEBUG=' 'INCL=${CFLAGS} -I..'
-}
-
-do_install () {
-	install -d ${D}${sbindir} ${D}${mandir}/man8
-	install -m 0755 lsof ${D}${sbindir}/lsof
-	install -m 0644 Lsof.8 ${D}${mandir}/man8/lsof.8
-}
diff --git a/poky/meta/recipes-extended/lsof/lsof_4.99.3.bb b/poky/meta/recipes-extended/lsof/lsof_4.99.3.bb
new file mode 100644
index 0000000..93e91fb
--- /dev/null
+++ b/poky/meta/recipes-extended/lsof/lsof_4.99.3.bb
@@ -0,0 +1,23 @@
+SUMMARY = "LiSt Open Files tool"
+DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \
+Its name stands for LiSt Open Files, and it does just that."
+HOMEPAGE = "http://people.freebsd.org/~abe/"
+SECTION = "devel"
+LICENSE = "Spencer-94"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a48ac97a8550eff12395a2c0d6151510"
+
+SRC_URI = "git://github.com/lsof-org/lsof;branch=master;protocol=https \
+           file://remove-host-information.patch"
+SRCREV = "2e4c7a1a9bc7258dc5b6a3ab28ebca44174279a8"
+
+S = "${WORKDIR}/git"
+
+inherit update-alternatives autotools pkgconfig manpages
+PACKAGECONFIG[manpages] = ""
+
+DEPENDS += "groff-native"
+
+ALTERNATIVE:${PN} = "lsof"
+ALTERNATIVE_LINK_NAME[lsof] = "${bindir}/lsof"
+# Make our priority higher than busybox
+ALTERNATIVE_PRIORITY = "100"
diff --git a/poky/meta/recipes-extended/man-pages/man-pages/0001-man.ml-do-not-use-dev-stdin.patch b/poky/meta/recipes-extended/man-pages/man-pages/0001-man.ml-do-not-use-dev-stdin.patch
new file mode 100644
index 0000000..ec2d060
--- /dev/null
+++ b/poky/meta/recipes-extended/man-pages/man-pages/0001-man.ml-do-not-use-dev-stdin.patch
@@ -0,0 +1,33 @@
+From f16cd8c4986b7f250e8465dfbe4bda8d366e05dd Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Mon, 4 Mar 2024 14:35:16 +0100
+Subject: [PATCH] man.ml: do not use /dev/stdin
+
+This was introduced in https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/?id=30c38a8bf8ae8f4a6e71d3b8ac4abf0a40778f1e
+(presumably to build a 'sed | install' pipeline instead of previous 'install; sed' sequence),
+but it doesn't work under pseudo where /dev/stdin is absent.
+
+Upstream-Status: Inappropriate [yocto specific]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ share/mk/install/man.mk | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/share/mk/install/man.mk b/share/mk/install/man.mk
+index b9865b9..06880f0 100644
+--- a/share/mk/install/man.mk
++++ b/share/mk/install/man.mk
+@@ -60,10 +60,10 @@ $(foreach s, $(MANSECTIONS),                                                  \
+ 
+ $(_manpages):
+ 	$(info INSTALL	$@)
+-	<$< \
+-	$(SED) $(foreach s, $(MANSECTIONS), \
++	$(INSTALL_DATA) -T $< $@
++	$(SED) -i $(foreach s, $(MANSECTIONS), \
+ 		-e '/^\.so /s, man$(s)/\(.*\)\.$(s)$$, $(notdir $(man$(s)dir))/\1$(man$(s)ext)$(Z),') \
+-	| $(INSTALL_DATA) -T /dev/stdin $@
++	$@
+ ifeq ($(LINK_PAGES),symlink)
+ 	if $(GREP) '^\.so ' <$@ >/dev/null; then \
+ 		$(GREP) '^\.so ' <$@ \
diff --git a/poky/meta/recipes-extended/man-pages/man-pages_6.05.01.bb b/poky/meta/recipes-extended/man-pages/man-pages_6.06.bb
similarity index 64%
rename from poky/meta/recipes-extended/man-pages/man-pages_6.05.01.bb
rename to poky/meta/recipes-extended/man-pages/man-pages_6.06.bb
index f0eb1a6..fa2e6b2 100644
--- a/poky/meta/recipes-extended/man-pages/man-pages_6.05.01.bb
+++ b/poky/meta/recipes-extended/man-pages/man-pages_6.06.bb
@@ -4,19 +4,24 @@
 HOMEPAGE = "http://www.kernel.org/pub/linux/docs/man-pages"
 LICENSE = "GPL-2.0-or-later & GPL-2.0-only & GPL-1.0-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & MIT"
 
-LIC_FILES_CHKSUM = "file://README;md5=cbd51cd3dd298230df8ddd4637e65c37 \
-                    file://LICENSES/BSD-2-Clause.txt;md5=d0f280d1058e77e66264a9b9e10e6c89 \
-                    file://LICENSES/BSD-3-Clause.txt;md5=71f739ef75581cae312e8c711bcdab16 \
+LIC_FILES_CHKSUM = "file://README;md5=72cff06b7954222c24d38bc2c41b234e \
+                    file://LICENSES/BSD-2-Clause.txt;md5=9e16594a228301089d759b4f178db91f \
+                    file://LICENSES/BSD-3-Clause.txt;md5=407426fcc1a243b7b2eff6e35c56aca9 \
                     file://LICENSES/BSD-4-Clause-UC.txt;md5=1da3cf8ad50cd8d5d1de3cfc53196d01 \
                     file://LICENSES/GPL-1.0-or-later.txt;md5=e5b7c80002ef72ab868b43ce47b65125 \
                     file://LICENSES/GPL-2.0-only.txt;md5=3d26203303a722dedc6bf909d95ba815 \
                     file://LICENSES/GPL-2.0-or-later.txt;md5=3d26203303a722dedc6bf909d95ba815 \
+                    file://LICENSES/Linux-man-pages-1-para.txt;md5=97ab07585ce6700273bc66461bf46bf2 \
+                    file://LICENSES/Linux-man-pages-copyleft-2-para.txt;md5=1cafc230857da5e43f3d509c425d3c64 \
                     file://LICENSES/Linux-man-pages-copyleft.txt;md5=173b960c686ff2d26f043ddaeb63f6ce \
+                    file://LICENSES/Linux-man-pages-copyleft-var.txt;md5=d33708712c5918521f47f23b0c4e0d20 \
                     file://LICENSES/MIT.txt;md5=7dda4e90ded66ab88b86f76169f28663 \
                     "
-SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz"
+SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz \
+           file://0001-man.ml-do-not-use-dev-stdin.patch \
+           "
 
-SRC_URI[sha256sum] = "b2dd44ca0342b50923291f06bdba38c42438e10c04843ce1f731cf3f50631e0a"
+SRC_URI[sha256sum] = "006906e7be81a71c2d347809597bcb91485fa7fa488acdaa79e681ddfa894568"
 
 inherit manpages
 
diff --git a/poky/meta/recipes-extended/mc/files/nomandate.patch b/poky/meta/recipes-extended/mc/files/nomandate.patch
index 4ebaaa2..92fa443 100644
--- a/poky/meta/recipes-extended/mc/files/nomandate.patch
+++ b/poky/meta/recipes-extended/mc/files/nomandate.patch
@@ -1,4 +1,4 @@
-From 4482ed0b8bd506cc2590ceacfdada6cc34450796 Mon Sep 17 00:00:00 2001
+From 78c5fd90a052f95157b3914c708a08b2eeab0154 Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Tue, 4 Feb 2020 18:12:15 +0000
 Subject: [PATCH] mc: Fix manpage date indeterminism
@@ -15,13 +15,12 @@
 
 Upstream-Status: Inappropriate [OE specficic reproducibility workaround]
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
 ---
  doc/man/date-of-man-include.am | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/doc/man/date-of-man-include.am b/doc/man/date-of-man-include.am
-index c6b1e69..165a796 100644
+index 96f9f10..d734c5d 100644
 --- a/doc/man/date-of-man-include.am
 +++ b/doc/man/date-of-man-include.am
 @@ -1,5 +1,5 @@
diff --git a/poky/meta/recipes-extended/mc/mc_4.8.30.bb b/poky/meta/recipes-extended/mc/mc_4.8.31.bb
similarity index 91%
rename from poky/meta/recipes-extended/mc/mc_4.8.30.bb
rename to poky/meta/recipes-extended/mc/mc_4.8.31.bb
index 258ac38..69c3288 100644
--- a/poky/meta/recipes-extended/mc/mc_4.8.30.bb
+++ b/poky/meta/recipes-extended/mc/mc_4.8.31.bb
@@ -11,7 +11,7 @@
 SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
            file://nomandate.patch \
            "
-SRC_URI[sha256sum] = "38171f22f889e3030ec9055463d3ecd7843984ab24e6497d8294d1c441a7ddb4"
+SRC_URI[sha256sum] = "f42f4114ed42f6cf9995f1d896fa6c797ccb36dac57760dda8dd9f78ac462841"
 
 inherit autotools gettext pkgconfig
 
@@ -39,7 +39,7 @@
         rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
 }
 
-PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-fish"
+PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-shell"
 
 SUMMARY:${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
 FILES:${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
@@ -53,5 +53,5 @@
 SUMMARY:${BPN}-helpers = "Midnight Commander shell helper scripts"
 FILES:${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
 
-SUMMARY:${BPN}-fish = "Midnight Commander Fish scripts"
-FILES:${BPN}-fish = "${libexecdir}/mc/fish"
+SUMMARY:${BPN}-shell = "Midnight Commander Shell scripts"
+FILES:${BPN}-shell = "${libexecdir}/mc/shell"
diff --git a/poky/meta/recipes-extended/minicom/minicom/0001-fix-minicom-h-v-return-value-is-not-0.patch b/poky/meta/recipes-extended/minicom/minicom/0001-fix-minicom-h-v-return-value-is-not-0.patch
deleted file mode 100644
index 9e67126..0000000
--- a/poky/meta/recipes-extended/minicom/minicom/0001-fix-minicom-h-v-return-value-is-not-0.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Exit normally for help/verison options
-
-If -v or -h is used for the help/version information, it is a normal exit situation,
-not an error condition. Sometimes these are used as a simple operation test of the
-resulting binary so the exit code does matter.
-
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Upstream-Status: Submitted [https://salsa.debian.org/minicom-team/minicom/-/merge_requests/14]
----
- src/minicom.c |    6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-Index: minicom-2.8/src/minicom.c
-===================================================================
---- minicom-2.8.orig/src/minicom.c
-+++ minicom-2.8/src/minicom.c
-@@ -1257,14 +1257,14 @@ int main(int argc, char **argv)
-                  "modify it under the terms of the GNU General Public License\n"
-                  "as published by the Free Software Foundation; either version\n"
-                  "2 of the License, or (at your option) any later version.\n\n"));
--          exit(1);
-+          exit(0);
-           break;
-         case 's': /* setup mode */
-           dosetup = 1;
-           break;
-         case 'h':
-           helpthem();
--          exit(1);
-+          exit(0);
-           break;
-         case 'p': /* Pseudo terminal to use. */
-           if (strncmp(optarg, "/dev/", 5) == 0)
diff --git a/poky/meta/recipes-extended/minicom/minicom/allow.to.disable.lockdev.patch b/poky/meta/recipes-extended/minicom/minicom/allow.to.disable.lockdev.patch
deleted file mode 100644
index 39dc5c0..0000000
--- a/poky/meta/recipes-extended/minicom/minicom/allow.to.disable.lockdev.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-configure: Allow lockdev to be disabled
-
-When the pkgconfig dependencies may be present, it is useful to be
-able to explictly disable the lockdev dependency. This adds such an
-option.
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
-Upstream-Status: Submitted [https://salsa.debian.org/minicom-team/minicom/-/merge_requests/14]
-
-Index: minicom-2.8/configure.ac
-===================================================================
---- minicom-2.8.orig/configure.ac
-+++ minicom-2.8/configure.ac
-@@ -43,7 +43,13 @@ if test "x$enable_socket" = xyes; then
- fi
- 
- PKG_PROG_PKG_CONFIG
--if test -n "$PKG_CONFIG"; then
-+
-+AC_ARG_ENABLE([lockdev],
-+        AS_HELP_STRING([--enable-lockdev],
-+                       [Enable lockdev support (def: enabled)]),
-+        [], [enable_lockdev="yes"])
-+
-+if test -n "$PKG_CONFIG" && test "x$enable_lockdev" = xyes; then
- 	PKG_CHECK_MODULES([LOCKDEV], [lockdev], AC_DEFINE([HAVE_LOCKDEV],[1],[Define if you have lockdev]),[:])
- fi
- 
diff --git a/poky/meta/recipes-extended/minicom/minicom_2.8.bb b/poky/meta/recipes-extended/minicom/minicom_2.9.bb
similarity index 79%
rename from poky/meta/recipes-extended/minicom/minicom_2.8.bb
rename to poky/meta/recipes-extended/minicom/minicom_2.9.bb
index 2640c6b..907d5c7 100644
--- a/poky/meta/recipes-extended/minicom/minicom_2.8.bb
+++ b/poky/meta/recipes-extended/minicom/minicom_2.9.bb
@@ -7,12 +7,9 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=420477abc567404debca0a2a1cb6b645 \
                     file://src/minicom.h;beginline=1;endline=12;md5=a58838cb709f0db517f4e42730c49e81"
 
-SRC_URI = "${DEBIAN_MIRROR}/main/m/${BPN}/${BPN}_${PV}.orig.tar.bz2 \
-           file://allow.to.disable.lockdev.patch \
-           file://0001-fix-minicom-h-v-return-value-is-not-0.patch \
-"
+SRC_URI = "${DEBIAN_MIRROR}/main/m/${BPN}/${BPN}_${PV}.orig.tar.bz2"
 
-SRC_URI[sha256sum] = "38cea30913a20349326ff3f1763ee1512b7b41601c24f065f365e18e9db0beba"
+SRC_URI[sha256sum] = "9efbb6458140e5a0de445613f0e76bcf12cbf7a9892b2f53e075c2e7beaba86c"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[lockdev] = "--enable-lockdev,--disable-lockdev,lockdev"
diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
index e9531fa..8dc6295 100644
--- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
+++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
@@ -42,7 +42,7 @@
     less \
     makedevs \
     mc \
-    mc-fish \
+    mc-shell \
     mc-helpers \
     mc-helpers-perl \
     ncurses \
diff --git a/poky/meta/recipes-extended/xz/xz_5.4.6.bb b/poky/meta/recipes-extended/xz/xz_5.4.6.bb
index 6c13e7e..da3b75a 100644
--- a/poky/meta/recipes-extended/xz/xz_5.4.6.bb
+++ b/poky/meta/recipes-extended/xz/xz_5.4.6.bb
@@ -28,7 +28,8 @@
            file://run-ptest \
           "
 SRC_URI[sha256sum] = "aeba3e03bf8140ddedf62a0a367158340520f6b384f75ca6045ccc6c0d43fd5c"
-UPSTREAM_CHECK_REGEX = "xz-(?P<pver>\d+(\.\d+)+)\.tar"
+UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)"
+UPSTREAM_CHECK_URI = "https://github.com/tukaani-project/xz/releases/"
 
 CACHED_CONFIGUREVARS += "gl_cv_posix_shell=/bin/sh"
 
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_45.1.bb b/poky/meta/recipes-gnome/epiphany/epiphany_45.3.bb
similarity index 94%
rename from poky/meta/recipes-gnome/epiphany/epiphany_45.1.bb
rename to poky/meta/recipes-gnome/epiphany/epiphany_45.3.bb
index c8631e0..eec52e3 100644
--- a/poky/meta/recipes-gnome/epiphany/epiphany_45.1.bb
+++ b/poky/meta/recipes-gnome/epiphany/epiphany_45.3.bb
@@ -31,7 +31,7 @@
            file://migrator.patch \
            file://distributor.patch \
            "
-SRC_URI[archive.sha256sum] = "7c994ef34ecd60e915de331ee123c08938f9623cefada6d50b99e3c9c5ad8135"
+SRC_URI[archive.sha256sum] = "6c302e9bdd66290cb0e26f62843cd4c435a4955abdbb4f151f07dc80495d6730"
 
 # Developer mode enables debugging
 PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false"
diff --git a/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch b/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch
index a6c4f92..e505466 100644
--- a/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch
+++ b/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch
@@ -1,4 +1,4 @@
-From 77c9f87dc2b3ad0854a678e234e22dfb31902b82 Mon Sep 17 00:00:00 2001
+From bd45c75fe691e275d7a7d7e641ac66b153369a1c Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 31 Jan 2018 15:50:38 +0200
 Subject: [PATCH] help/meson.build: disable the use of yelp
@@ -7,7 +7,6 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  help/meson.build | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/poky/meta/recipes-gnome/epiphany/files/distributor.patch b/poky/meta/recipes-gnome/epiphany/files/distributor.patch
index b09c9b3..a2800eb 100644
--- a/poky/meta/recipes-gnome/epiphany/files/distributor.patch
+++ b/poky/meta/recipes-gnome/epiphany/files/distributor.patch
@@ -1,12 +1,19 @@
-Don't encode the distro from /etc/os-release into the binaries.
+From c297f5b89d7c8e98ac98e1d9a7506df6db6fc025 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Fri, 26 Feb 2021 10:17:52 +0000
+Subject: [PATCH] Don't encode the distro from /etc/os-release into the
+ binaries.
 
 Upstream-Status: Pending
 RP 2021/2/26
+---
+ meson.build | 1 +
+ 1 file changed, 1 insertion(+)
 
-Index: epiphany-3.38.2/meson.build
-===================================================================
---- epiphany-3.38.2.orig/meson.build
-+++ epiphany-3.38.2/meson.build
+diff --git a/meson.build b/meson.build
+index e416cc7..ee5f7b1 100644
+--- a/meson.build
++++ b/meson.build
 @@ -15,6 +15,7 @@ if r.returncode() == 0
  else
    distributor_name = 'GNOME Web'
diff --git a/poky/meta/recipes-gnome/epiphany/files/migrator.patch b/poky/meta/recipes-gnome/epiphany/files/migrator.patch
index a9a650a..1b4404c 100644
--- a/poky/meta/recipes-gnome/epiphany/files/migrator.patch
+++ b/poky/meta/recipes-gnome/epiphany/files/migrator.patch
@@ -1,15 +1,23 @@
+From b38a4ceaeec05efb1b822d52c43590e7fd518113 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Thu, 25 Feb 2021 14:52:32 +0000
+Subject: [PATCH] epiphany: Fix reproducibility issue
+
 We don't want to encide BUILD_ROOT into target packages. This is used
 for build time tests but in our case those would be on target anyway
 do use the target paths.
 
 Upstream-Status: Pending
 RP 2021/2/25
+---
+ lib/ephy-profile-utils.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
-Index: epiphany-3.38.2/lib/ephy-profile-utils.c
-===================================================================
---- epiphany-3.38.2.orig/lib/ephy-profile-utils.c
-+++ epiphany-3.38.2/lib/ephy-profile-utils.c
-@@ -130,10 +130,10 @@ ephy_profile_utils_do_migration (const c
+diff --git a/lib/ephy-profile-utils.c b/lib/ephy-profile-utils.c
+index a2f6181..5218077 100644
+--- a/lib/ephy-profile-utils.c
++++ b/lib/ephy-profile-utils.c
+@@ -130,10 +130,10 @@ ephy_profile_utils_do_migration (const char *profile_directory,
    argv[i++] = NULL;
  
  #if DEVELOPER_MODE
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3/opengl.patch b/poky/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
index 7354265..8f2feb0 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
@@ -141,17 +141,18 @@
 index 9690077cc2..55f85ef605 100644
 --- a/gdk/gdkgl.c
 +++ b/gdk/gdkgl.c
-@@ -26,7 +26,9 @@
- # include "win32/gdkwin32.h"
- #endif
+@@ -21,8 +21,9 @@
+ #include "gdkglcontextprivate.h"
  
+ #include "gdkinternals.h"
+-
 +#ifdef HAVE_OPENGL
  #include <epoxy/gl.h>
 +#endif
  #include <math.h>
  #include <string.h>
  
-@@ -40,6 +42,7 @@ gdk_cairo_surface_mark_as_direct (cairo_surface_t *surface,
+@@ -36,6 +37,7 @@
                                 g_object_ref (window),  g_object_unref);
  }
  
@@ -159,7 +160,7 @@
  static const char *
  get_vertex_type_name (int type)
  {
-@@ -212,6 +215,7 @@ use_texture_rect_program (GdkGLContextPaintData *paint_data)
+@@ -208,6 +210,7 @@
        glUseProgram (paint_data->current_program->program);
      }
  }
@@ -167,7 +168,7 @@
  
  void
  gdk_gl_texture_quads (GdkGLContext *paint_context,
-@@ -220,6 +224,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
+@@ -216,6 +219,7 @@
                        GdkTexturedQuad *quads,
                        gboolean flip_colors)
  {
@@ -175,7 +176,7 @@
    GdkGLContextPaintData *paint_data  = gdk_gl_context_get_paint_data (paint_context);
    GdkGLContextProgram *program;
    GdkWindow *window = gdk_gl_context_get_window (paint_context);
-@@ -293,6 +298,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
+@@ -289,6 +293,7 @@
  
    glDisableVertexAttribArray (program->position_location);
    glDisableVertexAttribArray (program->uv_location);
@@ -183,15 +184,15 @@
  }
  
  /* x,y,width,height describes a rectangle in the gl render buffer
-@@ -341,6 +347,7 @@ gdk_cairo_draw_from_gl (cairo_t              *cr,
+@@ -337,6 +342,7 @@
                          int                   width,
                          int                   height)
  {
 +#ifdef HAVE_OPENGL
-   GdkGLContext *paint_context;
+   GdkGLContext *paint_context, *current_context;
    cairo_surface_t *image;
    cairo_matrix_t matrix;
-@@ -718,6 +725,7 @@ out:
+@@ -703,6 +709,7 @@
    if (clip_region)
      cairo_region_destroy (clip_region);
  
@@ -199,7 +200,7 @@
  }
  
  /* This is always called with the paint context current */
-@@ -725,6 +733,7 @@ void
+@@ -710,6 +717,7 @@
  gdk_gl_texture_from_surface (cairo_surface_t *surface,
  			     cairo_region_t  *region)
  {
@@ -207,7 +208,7 @@
    GdkGLContext *paint_context;
    cairo_surface_t *image;
    double device_x_offset, device_y_offset;
-@@ -825,4 +834,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
+@@ -810,4 +818,5 @@
  
    glDisable (GL_SCISSOR_TEST);
    glDeleteTextures (1, &texture_id);
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb
similarity index 86%
rename from poky/meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb
rename to poky/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb
index c23c46a..17e90c5 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb
@@ -5,7 +5,7 @@
 SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
            file://opengl.patch \
            "
-SRC_URI[sha256sum] = "ce11decf018b25bdd8505544a4f87242854ec88be054d9ade5f3a20444dd8ee7"
+SRC_URI[sha256sum] = "47da61487af3087a94bc49296fd025ca0bc02f96ef06c556e7c8988bd651b6fa"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
diff --git a/poky/meta/recipes-gnome/librsvg/librsvg-crates.inc b/poky/meta/recipes-gnome/librsvg/librsvg-crates.inc
index 5886f3d..94eba30 100644
--- a/poky/meta/recipes-gnome/librsvg/librsvg-crates.inc
+++ b/poky/meta/recipes-gnome/librsvg/librsvg-crates.inc
@@ -3,604 +3,544 @@
 # from Cargo.lock
 SRC_URI += " \
     crate://crates.io/adler/1.0.2 \
-    crate://crates.io/aho-corasick/1.0.2 \
+    crate://crates.io/aho-corasick/1.1.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.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.72 \
+    crate://crates.io/anstream/0.6.5 \
+    crate://crates.io/anstyle/1.0.4 \
+    crate://crates.io/anstyle-parse/0.2.3 \
+    crate://crates.io/anstyle-query/1.0.2 \
+    crate://crates.io/anstyle-wincon/3.0.2 \
+    crate://crates.io/anyhow/1.0.75 \
     crate://crates.io/approx/0.5.1 \
-    crate://crates.io/assert_cmd/2.0.11 \
-    crate://crates.io/atty/0.2.14 \
+    crate://crates.io/assert_cmd/2.0.12 \
     crate://crates.io/autocfg/1.1.0 \
-    crate://crates.io/base-x/0.2.11 \
     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/bitflags/2.4.1 \
     crate://crates.io/block/0.1.6 \
-    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.10 \
-    crate://crates.io/cairo-sys-rs/0.17.10 \
+    crate://crates.io/bstr/1.8.0 \
+    crate://crates.io/bumpalo/3.14.0 \
+    crate://crates.io/bytemuck/1.14.0 \
+    crate://crates.io/byteorder/1.5.0 \
+    crate://crates.io/cairo-rs/0.18.3 \
+    crate://crates.io/cairo-sys-rs/0.18.2 \
     crate://crates.io/cast/0.3.0 \
-    crate://crates.io/cc/1.0.79 \
-    crate://crates.io/cfg-expr/0.15.3 \
+    crate://crates.io/cc/1.0.83 \
+    crate://crates.io/cfg-expr/0.15.5 \
     crate://crates.io/cfg-if/1.0.0 \
-    crate://crates.io/chrono/0.4.26 \
+    crate://crates.io/chrono/0.4.31 \
     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.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/clap/4.4.11 \
+    crate://crates.io/clap_builder/4.4.11 \
+    crate://crates.io/clap_complete/4.4.4 \
+    crate://crates.io/clap_derive/4.4.7 \
+    crate://crates.io/clap_lex/0.6.0 \
     crate://crates.io/colorchoice/1.0.0 \
     crate://crates.io/const-cstr/0.3.0 \
-    crate://crates.io/const_fn/0.4.9 \
-    crate://crates.io/convert_case/0.4.0 \
-    crate://crates.io/core-foundation-sys/0.8.4 \
+    crate://crates.io/core-foundation-sys/0.8.6 \
     crate://crates.io/crc32fast/1.3.2 \
-    crate://crates.io/criterion/0.4.0 \
+    crate://crates.io/criterion/0.5.1 \
     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.15 \
-    crate://crates.io/crossbeam-utils/0.8.16 \
-    crate://crates.io/cssparser/0.29.6 \
+    crate://crates.io/crossbeam-deque/0.8.4 \
+    crate://crates.io/crossbeam-epoch/0.9.16 \
+    crate://crates.io/crossbeam-utils/0.8.17 \
+    crate://crates.io/cssparser/0.31.2 \
     crate://crates.io/cssparser-macros/0.6.1 \
-    crate://crates.io/data-url/0.2.0 \
+    crate://crates.io/cstr/0.2.11 \
+    crate://crates.io/data-url/0.3.1 \
+    crate://crates.io/deranged/0.3.10 \
     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.2 \
     crate://crates.io/doc-comment/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 \
-    crate://crates.io/encoding-index-korean/1.20141219.5 \
-    crate://crates.io/encoding-index-simpchinese/1.20141219.5 \
-    crate://crates.io/encoding-index-singlebyte/1.20141219.5 \
-    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/either/1.9.0 \
+    crate://crates.io/encoding_rs/0.8.33 \
     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/2.0.0 \
-    crate://crates.io/fdeflate/0.3.0 \
-    crate://crates.io/flate2/1.0.26 \
+    crate://crates.io/errno/0.3.8 \
+    crate://crates.io/fastrand/2.0.1 \
+    crate://crates.io/fdeflate/0.3.1 \
+    crate://crates.io/flate2/1.0.28 \
     crate://crates.io/float-cmp/0.9.0 \
     crate://crates.io/fnv/1.0.7 \
-    crate://crates.io/form_urlencoded/1.2.0 \
+    crate://crates.io/form_urlencoded/1.2.1 \
     crate://crates.io/futf/0.1.5 \
-    crate://crates.io/futures-channel/0.3.28 \
-    crate://crates.io/futures-core/0.3.28 \
-    crate://crates.io/futures-executor/0.3.28 \
-    crate://crates.io/futures-io/0.3.28 \
-    crate://crates.io/futures-macro/0.3.28 \
-    crate://crates.io/futures-task/0.3.28 \
-    crate://crates.io/futures-util/0.3.28 \
+    crate://crates.io/futures-channel/0.3.29 \
+    crate://crates.io/futures-core/0.3.29 \
+    crate://crates.io/futures-executor/0.3.29 \
+    crate://crates.io/futures-io/0.3.29 \
+    crate://crates.io/futures-macro/0.3.29 \
+    crate://crates.io/futures-task/0.3.29 \
+    crate://crates.io/futures-util/0.3.29 \
     crate://crates.io/fxhash/0.2.1 \
-    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.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/gdk-pixbuf/0.18.3 \
+    crate://crates.io/gdk-pixbuf-sys/0.18.0 \
+    crate://crates.io/getrandom/0.2.11 \
+    crate://crates.io/gio/0.18.4 \
+    crate://crates.io/gio-sys/0.18.1 \
+    crate://crates.io/glib/0.18.4 \
+    crate://crates.io/glib-macros/0.18.3 \
+    crate://crates.io/glib-sys/0.18.1 \
+    crate://crates.io/gobject-sys/0.18.0 \
     crate://crates.io/half/1.8.2 \
-    crate://crates.io/hashbrown/0.12.3 \
-    crate://crates.io/hashbrown/0.14.0 \
+    crate://crates.io/hashbrown/0.14.3 \
     crate://crates.io/heck/0.4.1 \
-    crate://crates.io/hermit-abi/0.1.19 \
-    crate://crates.io/hermit-abi/0.3.2 \
-    crate://crates.io/iana-time-zone/0.1.57 \
+    crate://crates.io/hermit-abi/0.3.3 \
+    crate://crates.io/iana-time-zone/0.1.58 \
     crate://crates.io/iana-time-zone-haiku/0.1.2 \
-    crate://crates.io/idna/0.4.0 \
-    crate://crates.io/indexmap/1.9.3 \
-    crate://crates.io/indexmap/2.0.0 \
+    crate://crates.io/idna/0.5.0 \
+    crate://crates.io/indexmap/2.1.0 \
     crate://crates.io/is-terminal/0.4.9 \
     crate://crates.io/itertools/0.10.5 \
-    crate://crates.io/itoa/1.0.9 \
-    crate://crates.io/js-sys/0.3.64 \
+    crate://crates.io/itertools/0.11.0 \
+    crate://crates.io/itoa/1.0.10 \
+    crate://crates.io/js-sys/0.3.66 \
     crate://crates.io/language-tags/0.3.2 \
     crate://crates.io/lazy_static/1.4.0 \
-    crate://crates.io/libc/0.2.147 \
-    crate://crates.io/libloading/0.8.0 \
-    crate://crates.io/libm/0.2.7 \
+    crate://crates.io/libc/0.2.151 \
+    crate://crates.io/libloading/0.8.1 \
+    crate://crates.io/libm/0.2.8 \
     crate://crates.io/linked-hash-map/0.5.6 \
-    crate://crates.io/linux-raw-sys/0.4.3 \
+    crate://crates.io/linux-raw-sys/0.4.12 \
     crate://crates.io/locale_config/0.3.0 \
-    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/lock_api/0.4.11 \
+    crate://crates.io/log/0.4.20 \
+    crate://crates.io/lopdf/0.31.0 \
     crate://crates.io/mac/0.1.1 \
     crate://crates.io/malloc_buf/0.0.6 \
     crate://crates.io/markup5ever/0.11.0 \
     crate://crates.io/matches/0.1.10 \
-    crate://crates.io/matrixmultiply/0.3.7 \
-    crate://crates.io/memchr/2.5.0 \
+    crate://crates.io/matrixmultiply/0.3.8 \
+    crate://crates.io/md5/0.7.0 \
+    crate://crates.io/memchr/2.6.4 \
     crate://crates.io/memoffset/0.9.0 \
+    crate://crates.io/minimal-lexical/0.2.1 \
     crate://crates.io/miniz_oxide/0.7.1 \
     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/nom/7.1.3 \
     crate://crates.io/normalize-line-endings/0.3.0 \
-    crate://crates.io/num-complex/0.4.3 \
+    crate://crates.io/num-complex/0.4.4 \
     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.16.0 \
+    crate://crates.io/num-traits/0.2.17 \
     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.18.0 \
+    crate://crates.io/once_cell/1.19.0 \
     crate://crates.io/oorandom/11.1.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/pango/0.18.3 \
+    crate://crates.io/pango-sys/0.18.0 \
+    crate://crates.io/pangocairo/0.18.0 \
+    crate://crates.io/pangocairo-sys/0.18.0 \
     crate://crates.io/parking_lot/0.12.1 \
-    crate://crates.io/parking_lot_core/0.9.8 \
+    crate://crates.io/parking_lot_core/0.9.9 \
     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/percent-encoding/2.3.1 \
     crate://crates.io/phf/0.10.1 \
-    crate://crates.io/phf_codegen/0.8.0 \
+    crate://crates.io/phf/0.11.2 \
     crate://crates.io/phf_codegen/0.10.0 \
-    crate://crates.io/phf_generator/0.8.0 \
     crate://crates.io/phf_generator/0.10.0 \
-    crate://crates.io/phf_macros/0.10.0 \
-    crate://crates.io/phf_shared/0.8.0 \
+    crate://crates.io/phf_generator/0.11.2 \
+    crate://crates.io/phf_macros/0.11.2 \
     crate://crates.io/phf_shared/0.10.0 \
-    crate://crates.io/pin-project-lite/0.2.10 \
+    crate://crates.io/phf_shared/0.11.2 \
+    crate://crates.io/pin-project-lite/0.2.13 \
     crate://crates.io/pin-utils/0.1.0 \
     crate://crates.io/pkg-config/0.3.27 \
     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/png/0.17.10 \
+    crate://crates.io/powerfmt/0.2.0 \
     crate://crates.io/ppv-lite86/0.2.17 \
     crate://crates.io/precomputed-hash/0.1.1 \
-    crate://crates.io/predicates/2.1.5 \
-    crate://crates.io/predicates/3.0.3 \
+    crate://crates.io/predicates/3.0.4 \
     crate://crates.io/predicates-core/1.0.6 \
     crate://crates.io/predicates-tree/1.0.9 \
-    crate://crates.io/proc-macro-crate/1.3.1 \
+    crate://crates.io/proc-macro-crate/2.0.1 \
     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.66 \
-    crate://crates.io/proptest/1.2.0 \
+    crate://crates.io/proc-macro2/1.0.70 \
+    crate://crates.io/proptest/1.4.0 \
     crate://crates.io/quick-error/1.2.3 \
-    crate://crates.io/quote/1.0.31 \
-    crate://crates.io/rand/0.7.3 \
+    crate://crates.io/quick-error/2.0.1 \
+    crate://crates.io/quote/1.0.33 \
     crate://crates.io/rand/0.8.5 \
-    crate://crates.io/rand_chacha/0.2.2 \
     crate://crates.io/rand_chacha/0.3.1 \
-    crate://crates.io/rand_core/0.5.1 \
     crate://crates.io/rand_core/0.6.4 \
-    crate://crates.io/rand_hc/0.2.0 \
-    crate://crates.io/rand_pcg/0.2.1 \
     crate://crates.io/rand_xorshift/0.3.0 \
     crate://crates.io/rawpointer/0.2.1 \
-    crate://crates.io/rayon/1.7.0 \
-    crate://crates.io/rayon-core/1.11.0 \
+    crate://crates.io/rayon/1.8.0 \
+    crate://crates.io/rayon-core/1.12.0 \
     crate://crates.io/rctree/0.5.0 \
-    crate://crates.io/redox_syscall/0.3.5 \
-    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.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.38.4 \
+    crate://crates.io/redox_syscall/0.4.1 \
+    crate://crates.io/regex/1.10.2 \
+    crate://crates.io/regex-automata/0.4.3 \
+    crate://crates.io/regex-syntax/0.8.2 \
+    crate://crates.io/rgb/0.8.37 \
+    crate://crates.io/rustix/0.38.28 \
     crate://crates.io/rusty-fork/0.3.0 \
-    crate://crates.io/ryu/1.0.15 \
+    crate://crates.io/ryu/1.0.16 \
     crate://crates.io/safe_arch/0.7.1 \
     crate://crates.io/same-file/1.0.6 \
     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.18 \
-    crate://crates.io/semver-parser/0.7.0 \
-    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 \
+    crate://crates.io/selectors/0.25.0 \
+    crate://crates.io/serde/1.0.193 \
+    crate://crates.io/serde_derive/1.0.193 \
+    crate://crates.io/serde_json/1.0.108 \
+    crate://crates.io/serde_spanned/0.6.4 \
+    crate://crates.io/servo_arc/0.3.0 \
     crate://crates.io/simba/0.8.1 \
-    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.11.0 \
+    crate://crates.io/simd-adler32/0.3.7 \
+    crate://crates.io/siphasher/0.3.11 \
+    crate://crates.io/slab/0.4.9 \
+    crate://crates.io/smallvec/1.11.2 \
     crate://crates.io/stable_deref_trait/1.2.0 \
-    crate://crates.io/standback/0.2.17 \
-    crate://crates.io/stdweb/0.4.20 \
-    crate://crates.io/stdweb-derive/0.5.3 \
-    crate://crates.io/stdweb-internal-macros/0.2.9 \
-    crate://crates.io/stdweb-internal-runtime/0.1.5 \
     crate://crates.io/string_cache/0.8.7 \
     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.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/syn/2.0.41 \
+    crate://crates.io/system-deps/6.2.0 \
+    crate://crates.io/target-lexicon/0.12.12 \
+    crate://crates.io/tempfile/3.8.1 \
     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.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/thiserror/1.0.50 \
+    crate://crates.io/thiserror-impl/1.0.50 \
+    crate://crates.io/time/0.3.30 \
+    crate://crates.io/time-core/0.1.2 \
+    crate://crates.io/time-macros/0.2.15 \
     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.6 \
+    crate://crates.io/toml/0.8.2 \
     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/toml_edit/0.20.2 \
+    crate://crates.io/typenum/1.17.0 \
     crate://crates.io/unarray/0.1.4 \
-    crate://crates.io/unicode-bidi/0.3.13 \
-    crate://crates.io/unicode-ident/1.0.11 \
+    crate://crates.io/unicode-bidi/0.3.14 \
+    crate://crates.io/unicode-ident/1.0.12 \
     crate://crates.io/unicode-normalization/0.1.22 \
-    crate://crates.io/url/2.4.0 \
+    crate://crates.io/url/2.5.0 \
     crate://crates.io/utf-8/0.7.6 \
     crate://crates.io/utf8parse/0.2.1 \
     crate://crates.io/version-compare/0.1.1 \
     crate://crates.io/version_check/0.9.4 \
     crate://crates.io/wait-timeout/0.2.0 \
-    crate://crates.io/walkdir/2.3.3 \
-    crate://crates.io/wasi/0.9.0+wasi-snapshot-preview1 \
+    crate://crates.io/walkdir/2.4.0 \
     crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
-    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/wasm-bindgen/0.2.89 \
+    crate://crates.io/wasm-bindgen-backend/0.2.89 \
+    crate://crates.io/wasm-bindgen-macro/0.2.89 \
+    crate://crates.io/wasm-bindgen-macro-support/0.2.89 \
+    crate://crates.io/wasm-bindgen-shared/0.2.89 \
+    crate://crates.io/web-sys/0.3.66 \
     crate://crates.io/weezl/0.1.7 \
-    crate://crates.io/wide/0.7.11 \
+    crate://crates.io/wide/0.7.13 \
     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-util/0.1.6 \
     crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
-    crate://crates.io/windows/0.48.0 \
+    crate://crates.io/windows-core/0.51.1 \
     crate://crates.io/windows-sys/0.48.0 \
-    crate://crates.io/windows-targets/0.48.1 \
-    crate://crates.io/windows_aarch64_gnullvm/0.48.0 \
-    crate://crates.io/windows_aarch64_msvc/0.48.0 \
-    crate://crates.io/windows_i686_gnu/0.48.0 \
-    crate://crates.io/windows_i686_msvc/0.48.0 \
-    crate://crates.io/windows_x86_64_gnu/0.48.0 \
-    crate://crates.io/windows_x86_64_gnullvm/0.48.0 \
-    crate://crates.io/windows_x86_64_msvc/0.48.0 \
-    crate://crates.io/winnow/0.5.0 \
+    crate://crates.io/windows-sys/0.52.0 \
+    crate://crates.io/windows-targets/0.48.5 \
+    crate://crates.io/windows-targets/0.52.0 \
+    crate://crates.io/windows_aarch64_gnullvm/0.48.5 \
+    crate://crates.io/windows_aarch64_gnullvm/0.52.0 \
+    crate://crates.io/windows_aarch64_msvc/0.48.5 \
+    crate://crates.io/windows_aarch64_msvc/0.52.0 \
+    crate://crates.io/windows_i686_gnu/0.48.5 \
+    crate://crates.io/windows_i686_gnu/0.52.0 \
+    crate://crates.io/windows_i686_msvc/0.48.5 \
+    crate://crates.io/windows_i686_msvc/0.52.0 \
+    crate://crates.io/windows_x86_64_gnu/0.48.5 \
+    crate://crates.io/windows_x86_64_gnu/0.52.0 \
+    crate://crates.io/windows_x86_64_gnullvm/0.48.5 \
+    crate://crates.io/windows_x86_64_gnullvm/0.52.0 \
+    crate://crates.io/windows_x86_64_msvc/0.48.5 \
+    crate://crates.io/windows_x86_64_msvc/0.52.0 \
+    crate://crates.io/winnow/0.5.28 \
     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.2.sha256sum] = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+SRC_URI[aho-corasick-1.1.2.sha256sum] = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 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.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.72.sha256sum] = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
+SRC_URI[anstream-0.6.5.sha256sum] = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6"
+SRC_URI[anstyle-1.0.4.sha256sum] = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+SRC_URI[anstyle-parse-0.2.3.sha256sum] = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+SRC_URI[anstyle-query-1.0.2.sha256sum] = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+SRC_URI[anstyle-wincon-3.0.2.sha256sum] = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+SRC_URI[anyhow-1.0.75.sha256sum] = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
 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"
+SRC_URI[assert_cmd-2.0.12.sha256sum] = "88903cb14723e4d4003335bb7f8a14f27691649105346a0f0957466c096adfe6"
 SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-SRC_URI[base-x-0.2.11.sha256sum] = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270"
 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[bitflags-2.4.1.sha256sum] = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
 SRC_URI[block-0.1.6.sha256sum] = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
-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.10.sha256sum] = "ab3603c4028a5e368d09b51c8b624b9a46edcd7c3778284077a6125af73c9f0a"
-SRC_URI[cairo-sys-rs-0.17.10.sha256sum] = "691d0c66b1fb4881be80a760cb8fe76ea97218312f9dfe2c9cc0f496ca279cb1"
+SRC_URI[bstr-1.8.0.sha256sum] = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
+SRC_URI[bumpalo-3.14.0.sha256sum] = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+SRC_URI[bytemuck-1.14.0.sha256sum] = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+SRC_URI[cairo-rs-0.18.3.sha256sum] = "f33613627f0dea6a731b0605101fad59ba4f193a52c96c4687728d822605a8a1"
+SRC_URI[cairo-sys-rs-0.18.2.sha256sum] = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51"
 SRC_URI[cast-0.3.0.sha256sum] = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
-SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
-SRC_URI[cfg-expr-0.15.3.sha256sum] = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c"
+SRC_URI[cc-1.0.83.sha256sum] = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+SRC_URI[cfg-expr-0.15.5.sha256sum] = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3"
 SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-SRC_URI[chrono-0.4.26.sha256sum] = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+SRC_URI[chrono-0.4.31.sha256sum] = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
 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.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[clap-4.4.11.sha256sum] = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2"
+SRC_URI[clap_builder-4.4.11.sha256sum] = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb"
+SRC_URI[clap_complete-4.4.4.sha256sum] = "bffe91f06a11b4b9420f62103854e90867812cd5d01557f853c5ee8e791b12ae"
+SRC_URI[clap_derive-4.4.7.sha256sum] = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+SRC_URI[clap_lex-0.6.0.sha256sum] = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
 SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 SRC_URI[const-cstr-0.3.0.sha256sum] = "ed3d0b5ff30645a68f35ece8cea4556ca14ef8a1651455f789a099a0513532a6"
-SRC_URI[const_fn-0.4.9.sha256sum] = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935"
-SRC_URI[convert_case-0.4.0.sha256sum] = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
-SRC_URI[core-foundation-sys-0.8.4.sha256sum] = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+SRC_URI[core-foundation-sys-0.8.6.sha256sum] = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 SRC_URI[crc32fast-1.3.2.sha256sum] = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
-SRC_URI[criterion-0.4.0.sha256sum] = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
+SRC_URI[criterion-0.5.1.sha256sum] = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
 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.15.sha256sum] = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
-SRC_URI[crossbeam-utils-0.8.16.sha256sum] = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-SRC_URI[cssparser-0.29.6.sha256sum] = "f93d03419cb5950ccfd3daf3ff1c7a36ace64609a1a8746d493df1ca0afde0fa"
+SRC_URI[crossbeam-deque-0.8.4.sha256sum] = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751"
+SRC_URI[crossbeam-epoch-0.9.16.sha256sum] = "2d2fe95351b870527a5d09bf563ed3c97c0cffb87cf1c78a591bf48bb218d9aa"
+SRC_URI[crossbeam-utils-0.8.17.sha256sum] = "c06d96137f14f244c37f989d9fff8f95e6c18b918e71f36638f8c49112e4c78f"
+SRC_URI[cssparser-0.31.2.sha256sum] = "5b3df4f93e5fbbe73ec01ec8d3f68bba73107993a5b1e7519273c32db9b0d5be"
 SRC_URI[cssparser-macros-0.6.1.sha256sum] = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
-SRC_URI[data-url-0.2.0.sha256sum] = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5"
+SRC_URI[cstr-0.2.11.sha256sum] = "8aa998c33a6d3271e3678950a22134cd7dd27cef86dee1b611b5b14207d1d90b"
+SRC_URI[data-url-0.3.1.sha256sum] = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
+SRC_URI[deranged-0.3.10.sha256sum] = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc"
 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.2.sha256sum] = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
 SRC_URI[doc-comment-0.3.3.sha256sum] = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
 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"
-SRC_URI[encoding-index-korean-1.20141219.5.sha256sum] = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81"
-SRC_URI[encoding-index-simpchinese-1.20141219.5.sha256sum] = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7"
-SRC_URI[encoding-index-singlebyte-1.20141219.5.sha256sum] = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a"
-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[either-1.9.0.sha256sum] = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+SRC_URI[encoding_rs-0.8.33.sha256sum] = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
 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-2.0.0.sha256sum] = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
-SRC_URI[fdeflate-0.3.0.sha256sum] = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
-SRC_URI[flate2-1.0.26.sha256sum] = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
+SRC_URI[errno-0.3.8.sha256sum] = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+SRC_URI[fastrand-2.0.1.sha256sum] = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+SRC_URI[fdeflate-0.3.1.sha256sum] = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868"
+SRC_URI[flate2-1.0.28.sha256sum] = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 SRC_URI[float-cmp-0.9.0.sha256sum] = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
 SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-SRC_URI[form_urlencoded-1.2.0.sha256sum] = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 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"
-SRC_URI[futures-executor-0.3.28.sha256sum] = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
-SRC_URI[futures-io-0.3.28.sha256sum] = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
-SRC_URI[futures-macro-0.3.28.sha256sum] = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
-SRC_URI[futures-task-0.3.28.sha256sum] = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
-SRC_URI[futures-util-0.3.28.sha256sum] = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+SRC_URI[futures-channel-0.3.29.sha256sum] = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
+SRC_URI[futures-core-0.3.29.sha256sum] = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
+SRC_URI[futures-executor-0.3.29.sha256sum] = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
+SRC_URI[futures-io-0.3.29.sha256sum] = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
+SRC_URI[futures-macro-0.3.29.sha256sum] = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
+SRC_URI[futures-task-0.3.29.sha256sum] = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
+SRC_URI[futures-util-0.3.29.sha256sum] = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
 SRC_URI[fxhash-0.2.1.sha256sum] = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
-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.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[gdk-pixbuf-0.18.3.sha256sum] = "446f32b74d22c33b7b258d4af4ffde53c2bf96ca2e29abdf1a785fe59bd6c82c"
+SRC_URI[gdk-pixbuf-sys-0.18.0.sha256sum] = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7"
+SRC_URI[getrandom-0.2.11.sha256sum] = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+SRC_URI[gio-0.18.4.sha256sum] = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73"
+SRC_URI[gio-sys-0.18.1.sha256sum] = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
+SRC_URI[glib-0.18.4.sha256sum] = "951bbd7fdc5c044ede9f05170f05a3ae9479239c3afdfe2d22d537a3add15c4e"
+SRC_URI[glib-macros-0.18.3.sha256sum] = "72793962ceece3863c2965d7f10c8786323b17c7adea75a515809fa20ab799a5"
+SRC_URI[glib-sys-0.18.1.sha256sum] = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
+SRC_URI[gobject-sys-0.18.0.sha256sum] = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
 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[hashbrown-0.14.3.sha256sum] = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
-SRC_URI[iana-time-zone-0.1.57.sha256sum] = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+SRC_URI[hermit-abi-0.3.3.sha256sum] = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+SRC_URI[iana-time-zone-0.1.58.sha256sum] = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
 SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
-SRC_URI[idna-0.4.0.sha256sum] = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
-SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-SRC_URI[indexmap-2.0.0.sha256sum] = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+SRC_URI[idna-0.5.0.sha256sum] = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+SRC_URI[indexmap-2.1.0.sha256sum] = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 SRC_URI[itertools-0.10.5.sha256sum] = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
-SRC_URI[itoa-1.0.9.sha256sum] = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
-SRC_URI[js-sys-0.3.64.sha256sum] = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+SRC_URI[itertools-0.11.0.sha256sum] = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+SRC_URI[itoa-1.0.10.sha256sum] = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+SRC_URI[js-sys-0.3.66.sha256sum] = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
 SRC_URI[language-tags-0.3.2.sha256sum] = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
 SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-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[libc-0.2.151.sha256sum] = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
+SRC_URI[libloading-0.8.1.sha256sum] = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
+SRC_URI[libm-0.2.8.sha256sum] = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
 SRC_URI[linked-hash-map-0.5.6.sha256sum] = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
-SRC_URI[linux-raw-sys-0.4.3.sha256sum] = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+SRC_URI[linux-raw-sys-0.4.12.sha256sum] = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
 SRC_URI[locale_config-0.3.0.sha256sum] = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934"
-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[lock_api-0.4.11.sha256sum] = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+SRC_URI[lopdf-0.31.0.sha256sum] = "07c8e1b6184b1b32ea5f72f572ebdc40e5da1d2921fa469947ff7c480ad1f85a"
 SRC_URI[mac-0.1.1.sha256sum] = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
 SRC_URI[malloc_buf-0.0.6.sha256sum] = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
 SRC_URI[markup5ever-0.11.0.sha256sum] = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
 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[matrixmultiply-0.3.8.sha256sum] = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2"
+SRC_URI[md5-0.7.0.sha256sum] = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
+SRC_URI[memchr-2.6.4.sha256sum] = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
 SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
 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[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
 SRC_URI[normalize-line-endings-0.3.0.sha256sum] = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
-SRC_URI[num-complex-0.4.3.sha256sum] = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d"
+SRC_URI[num-complex-0.4.4.sha256sum] = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
 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.16.0.sha256sum] = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+SRC_URI[num-traits-0.2.17.sha256sum] = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
 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.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 SRC_URI[oorandom-11.1.3.sha256sum] = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
-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[pango-0.18.3.sha256sum] = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4"
+SRC_URI[pango-sys-0.18.0.sha256sum] = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5"
+SRC_URI[pangocairo-0.18.0.sha256sum] = "57036589a9cfcacf83f9e606d15813fc6bf03f0e9e69aa2b5e3bb85af86b38a5"
+SRC_URI[pangocairo-sys-0.18.0.sha256sum] = "fc3c8ff676a37e7a72ec1d5fc029f91c407278083d2752784ff9f5188c108833"
 SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-SRC_URI[parking_lot_core-0.9.8.sha256sum] = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+SRC_URI[parking_lot_core-0.9.9.sha256sum] = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 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[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 SRC_URI[phf-0.10.1.sha256sum] = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
-SRC_URI[phf_codegen-0.8.0.sha256sum] = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
+SRC_URI[phf-0.11.2.sha256sum] = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
 SRC_URI[phf_codegen-0.10.0.sha256sum] = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
-SRC_URI[phf_generator-0.8.0.sha256sum] = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
 SRC_URI[phf_generator-0.10.0.sha256sum] = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
-SRC_URI[phf_macros-0.10.0.sha256sum] = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0"
-SRC_URI[phf_shared-0.8.0.sha256sum] = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
+SRC_URI[phf_generator-0.11.2.sha256sum] = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
+SRC_URI[phf_macros-0.11.2.sha256sum] = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
 SRC_URI[phf_shared-0.10.0.sha256sum] = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
-SRC_URI[pin-project-lite-0.2.10.sha256sum] = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
+SRC_URI[phf_shared-0.11.2.sha256sum] = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
+SRC_URI[pin-project-lite-0.2.13.sha256sum] = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 SRC_URI[pkg-config-0.3.27.sha256sum] = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
 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[png-0.17.10.sha256sum] = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
+SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
 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"
-SRC_URI[predicates-3.0.3.sha256sum] = "09963355b9f467184c04017ced4a2ba2d75cbcb4e7462690d388233253d4b1a9"
+SRC_URI[predicates-3.0.4.sha256sum] = "6dfc28575c2e3f19cb3c73b93af36460ae898d426eba6fc15b9bd2a5220758a0"
 SRC_URI[predicates-core-1.0.6.sha256sum] = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174"
 SRC_URI[predicates-tree-1.0.9.sha256sum] = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf"
-SRC_URI[proc-macro-crate-1.3.1.sha256sum] = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
+SRC_URI[proc-macro-crate-2.0.1.sha256sum] = "97dc5fea232fc28d2f597b37c4876b348a40e33f3b02cc975c8d006d78d94b1a"
 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.66.sha256sum] = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
-SRC_URI[proptest-1.2.0.sha256sum] = "4e35c06b98bf36aba164cc17cb25f7e232f5c4aeea73baa14b8a9f0d92dbfa65"
+SRC_URI[proc-macro2-1.0.70.sha256sum] = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
+SRC_URI[proptest-1.4.0.sha256sum] = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf"
 SRC_URI[quick-error-1.2.3.sha256sum] = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
-SRC_URI[quote-1.0.31.sha256sum] = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
-SRC_URI[rand-0.7.3.sha256sum] = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+SRC_URI[quick-error-2.0.1.sha256sum] = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
+SRC_URI[quote-1.0.33.sha256sum] = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-SRC_URI[rand_chacha-0.2.2.sha256sum] = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
 SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-SRC_URI[rand_core-0.5.1.sha256sum] = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
 SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-SRC_URI[rand_hc-0.2.0.sha256sum] = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-SRC_URI[rand_pcg-0.2.1.sha256sum] = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
 SRC_URI[rand_xorshift-0.3.0.sha256sum] = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
 SRC_URI[rawpointer-0.2.1.sha256sum] = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
-SRC_URI[rayon-1.7.0.sha256sum] = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
-SRC_URI[rayon-core-1.11.0.sha256sum] = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+SRC_URI[rayon-1.8.0.sha256sum] = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+SRC_URI[rayon-core-1.12.0.sha256sum] = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
 SRC_URI[rctree-0.5.0.sha256sum] = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f"
-SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-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.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.38.4.sha256sum] = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
+SRC_URI[redox_syscall-0.4.1.sha256sum] = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+SRC_URI[regex-1.10.2.sha256sum] = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+SRC_URI[regex-automata-0.4.3.sha256sum] = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+SRC_URI[regex-syntax-0.8.2.sha256sum] = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+SRC_URI[rgb-0.8.37.sha256sum] = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8"
+SRC_URI[rustix-0.38.28.sha256sum] = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
 SRC_URI[rusty-fork-0.3.0.sha256sum] = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f"
-SRC_URI[ryu-1.0.15.sha256sum] = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+SRC_URI[ryu-1.0.16.sha256sum] = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
 SRC_URI[safe_arch-0.7.1.sha256sum] = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354"
 SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
 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.18.sha256sum] = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
-SRC_URI[semver-parser-0.7.0.sha256sum] = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-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"
+SRC_URI[selectors-0.25.0.sha256sum] = "4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06"
+SRC_URI[serde-1.0.193.sha256sum] = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
+SRC_URI[serde_derive-1.0.193.sha256sum] = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
+SRC_URI[serde_json-1.0.108.sha256sum] = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+SRC_URI[serde_spanned-0.6.4.sha256sum] = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
+SRC_URI[servo_arc-0.3.0.sha256sum] = "d036d71a959e00c77a63538b90a6c2390969f9772b096ea837205c6bd0491a44"
 SRC_URI[simba-0.8.1.sha256sum] = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae"
-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.11.0.sha256sum] = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+SRC_URI[simd-adler32-0.3.7.sha256sum] = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
+SRC_URI[siphasher-0.3.11.sha256sum] = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+SRC_URI[slab-0.4.9.sha256sum] = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+SRC_URI[smallvec-1.11.2.sha256sum] = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
 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"
-SRC_URI[stdweb-derive-0.5.3.sha256sum] = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
-SRC_URI[stdweb-internal-macros-0.2.9.sha256sum] = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"
-SRC_URI[stdweb-internal-runtime-0.1.5.sha256sum] = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"
 SRC_URI[string_cache-0.8.7.sha256sum] = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b"
 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.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[syn-2.0.41.sha256sum] = "44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269"
+SRC_URI[system-deps-6.2.0.sha256sum] = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
+SRC_URI[target-lexicon-0.12.12.sha256sum] = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"
+SRC_URI[tempfile-3.8.1.sha256sum] = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
 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.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[thiserror-1.0.50.sha256sum] = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+SRC_URI[thiserror-impl-1.0.50.sha256sum] = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+SRC_URI[time-0.3.30.sha256sum] = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
+SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+SRC_URI[time-macros-0.2.15.sha256sum] = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
 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.6.sha256sum] = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
+SRC_URI[toml-0.8.2.sha256sum] = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
 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[toml_edit-0.20.2.sha256sum] = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
+SRC_URI[typenum-1.17.0.sha256sum] = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 SRC_URI[unarray-0.1.4.sha256sum] = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
-SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
-SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+SRC_URI[unicode-bidi-0.3.14.sha256sum] = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
+SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
-SRC_URI[url-2.4.0.sha256sum] = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+SRC_URI[url-2.5.0.sha256sum] = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 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"
 SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 SRC_URI[wait-timeout-0.2.0.sha256sum] = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
-SRC_URI[walkdir-2.3.3.sha256sum] = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
-SRC_URI[wasi-0.9.0+wasi-snapshot-preview1.sha256sum] = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+SRC_URI[walkdir-2.4.0.sha256sum] = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
 SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-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[wasm-bindgen-0.2.89.sha256sum] = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
+SRC_URI[wasm-bindgen-backend-0.2.89.sha256sum] = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
+SRC_URI[wasm-bindgen-macro-0.2.89.sha256sum] = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
+SRC_URI[wasm-bindgen-macro-support-0.2.89.sha256sum] = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
+SRC_URI[wasm-bindgen-shared-0.2.89.sha256sum] = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
+SRC_URI[web-sys-0.3.66.sha256sum] = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
 SRC_URI[weezl-0.1.7.sha256sum] = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
-SRC_URI[wide-0.7.11.sha256sum] = "aa469ffa65ef7e0ba0f164183697b89b854253fd31aeb92358b7b6155177d62f"
+SRC_URI[wide-0.7.13.sha256sum] = "c68938b57b33da363195412cfc5fc37c9ed49aa9cfe2156fde64b8d2c9498242"
 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-util-0.1.6.sha256sum] = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-SRC_URI[windows-0.48.0.sha256sum] = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+SRC_URI[windows-core-0.51.1.sha256sum] = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
 SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-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.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
-SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
-SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
-SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
-SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
-SRC_URI[winnow-0.5.0.sha256sum] = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7"
+SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+SRC_URI[windows-targets-0.52.0.sha256sum] = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+SRC_URI[windows_aarch64_gnullvm-0.52.0.sha256sum] = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+SRC_URI[windows_aarch64_msvc-0.52.0.sha256sum] = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+SRC_URI[windows_i686_gnu-0.52.0.sha256sum] = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+SRC_URI[windows_i686_msvc-0.52.0.sha256sum] = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+SRC_URI[windows_x86_64_gnu-0.52.0.sha256sum] = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+SRC_URI[windows_x86_64_gnullvm-0.52.0.sha256sum] = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+SRC_URI[windows_x86_64_msvc-0.52.0.sha256sum] = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+SRC_URI[winnow-0.5.28.sha256sum] = "6c830786f7720c2fd27a1a0e27a709dbd3c4d009b56d098fc742d4f4eab91fe2"
 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/0001-Add-riscv32-support.patch b/poky/meta/recipes-gnome/librsvg/librsvg/0001-Add-riscv32-support.patch
deleted file mode 100644
index 2e36eaf..0000000
--- a/poky/meta/recipes-gnome/librsvg/librsvg/0001-Add-riscv32-support.patch
+++ /dev/null
@@ -1,1511 +0,0 @@
-From a4066c09bec2d4ec956459237e0a48501cc4780f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 8 Nov 2023 22:41:54 -0800
-Subject: [PATCH] Add riscv32 support
-
-Upstream-Status: Submitted [https://github.com/sunfishcode/linux-raw-sys/pull/95]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/riscv32/ioctl.rs | 1490 +++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 1488 insertions(+), 2 deletions(-)
-
-diff --git a/src/riscv32/ioctl.rs b/src/riscv32/ioctl.rs
-index 85bcbe8..1d97396 100644
---- a/src/riscv32/ioctl.rs
-+++ b/src/riscv32/ioctl.rs
-@@ -1,3 +1,1489 @@
--/* automatically generated by rust-bindgen 0.65.1 */
--
-+/* automatically generated by rust-bindgen 0.66.1 */
- 
-+pub const FIONREAD: u32 = 21531;
-+pub const FIONBIO: u32 = 21537;
-+pub const FIOCLEX: u32 = 21585;
-+pub const FIONCLEX: u32 = 21584;
-+pub const FIOASYNC: u32 = 21586;
-+pub const FIOQSIZE: u32 = 21600;
-+pub const TCXONC: u32 = 21514;
-+pub const TCFLSH: u32 = 21515;
-+pub const TIOCSCTTY: u32 = 21518;
-+pub const TIOCSPGRP: u32 = 21520;
-+pub const TIOCOUTQ: u32 = 21521;
-+pub const TIOCSTI: u32 = 21522;
-+pub const TIOCSWINSZ: u32 = 21524;
-+pub const TIOCMGET: u32 = 21525;
-+pub const TIOCMBIS: u32 = 21526;
-+pub const TIOCMBIC: u32 = 21527;
-+pub const TIOCMSET: u32 = 21528;
-+pub const TIOCSSOFTCAR: u32 = 21530;
-+pub const TIOCLINUX: u32 = 21532;
-+pub const TIOCCONS: u32 = 21533;
-+pub const TIOCSSERIAL: u32 = 21535;
-+pub const TIOCPKT: u32 = 21536;
-+pub const TIOCNOTTY: u32 = 21538;
-+pub const TIOCSETD: u32 = 21539;
-+pub const TIOCSBRK: u32 = 21543;
-+pub const TIOCCBRK: u32 = 21544;
-+pub const TIOCSRS485: u32 = 21551;
-+pub const TIOCSPTLCK: u32 = 1074025521;
-+pub const TIOCSIG: u32 = 1074025526;
-+pub const TIOCVHANGUP: u32 = 21559;
-+pub const TIOCSERCONFIG: u32 = 21587;
-+pub const TIOCSERGWILD: u32 = 21588;
-+pub const TIOCSERSWILD: u32 = 21589;
-+pub const TIOCSLCKTRMIOS: u32 = 21591;
-+pub const TIOCSERGSTRUCT: u32 = 21592;
-+pub const TIOCSERGETLSR: u32 = 21593;
-+pub const TIOCSERGETMULTI: u32 = 21594;
-+pub const TIOCSERSETMULTI: u32 = 21595;
-+pub const TIOCMIWAIT: u32 = 21596;
-+pub const TCGETS: u32 = 21505;
-+pub const TCGETA: u32 = 21509;
-+pub const TCSBRK: u32 = 21513;
-+pub const TCSBRKP: u32 = 21541;
-+pub const TCSETA: u32 = 21510;
-+pub const TCSETAF: u32 = 21512;
-+pub const TCSETAW: u32 = 21511;
-+pub const TIOCEXCL: u32 = 21516;
-+pub const TIOCNXCL: u32 = 21517;
-+pub const TIOCGDEV: u32 = 2147767346;
-+pub const TIOCGEXCL: u32 = 2147767360;
-+pub const TIOCGICOUNT: u32 = 21597;
-+pub const TIOCGLCKTRMIOS: u32 = 21590;
-+pub const TIOCGPGRP: u32 = 21519;
-+pub const TIOCGPKT: u32 = 2147767352;
-+pub const TIOCGPTLCK: u32 = 2147767353;
-+pub const TIOCGPTN: u32 = 2147767344;
-+pub const TIOCGPTPEER: u32 = 21569;
-+pub const TIOCGRS485: u32 = 21550;
-+pub const TIOCGSERIAL: u32 = 21534;
-+pub const TIOCGSID: u32 = 21545;
-+pub const TIOCGSOFTCAR: u32 = 21529;
-+pub const TIOCGWINSZ: u32 = 21523;
-+pub const TCGETS2: u32 = 2150388778;
-+pub const TCGETX: u32 = 21554;
-+pub const TCSETS: u32 = 21506;
-+pub const TCSETS2: u32 = 1076646955;
-+pub const TCSETSF: u32 = 21508;
-+pub const TCSETSF2: u32 = 1076646957;
-+pub const TCSETSW: u32 = 21507;
-+pub const TCSETSW2: u32 = 1076646956;
-+pub const TCSETX: u32 = 21555;
-+pub const TCSETXF: u32 = 21556;
-+pub const TCSETXW: u32 = 21557;
-+pub const TIOCGETD: u32 = 21540;
-+pub const MTIOCGET: u32 = 2150657282;
-+pub const BLKSSZGET: u32 = 4712;
-+pub const BLKPBSZGET: u32 = 4731;
-+pub const BLKROSET: u32 = 4701;
-+pub const BLKROGET: u32 = 4702;
-+pub const BLKRRPART: u32 = 4703;
-+pub const BLKGETSIZE: u32 = 4704;
-+pub const BLKFLSBUF: u32 = 4705;
-+pub const BLKRASET: u32 = 4706;
-+pub const BLKRAGET: u32 = 4707;
-+pub const BLKFRASET: u32 = 4708;
-+pub const BLKFRAGET: u32 = 4709;
-+pub const BLKSECTSET: u32 = 4710;
-+pub const BLKSECTGET: u32 = 4711;
-+pub const BLKPG: u32 = 4713;
-+pub const BLKBSZGET: u32 = 2148012656;
-+pub const BLKBSZSET: u32 = 1074270833;
-+pub const BLKGETSIZE64: u32 = 2148012658;
-+pub const BLKTRACESETUP: u32 = 3225948787;
-+pub const BLKTRACESTART: u32 = 4724;
-+pub const BLKTRACESTOP: u32 = 4725;
-+pub const BLKTRACETEARDOWN: u32 = 4726;
-+pub const BLKDISCARD: u32 = 4727;
-+pub const BLKIOMIN: u32 = 4728;
-+pub const BLKIOOPT: u32 = 4729;
-+pub const BLKALIGNOFF: u32 = 4730;
-+pub const BLKDISCARDZEROES: u32 = 4732;
-+pub const BLKSECDISCARD: u32 = 4733;
-+pub const BLKROTATIONAL: u32 = 4734;
-+pub const BLKZEROOUT: u32 = 4735;
-+pub const UFFDIO_REGISTER: u32 = 3223366144;
-+pub const UFFDIO_UNREGISTER: u32 = 2148575745;
-+pub const UFFDIO_WAKE: u32 = 2148575746;
-+pub const UFFDIO_COPY: u32 = 3223890435;
-+pub const UFFDIO_ZEROPAGE: u32 = 3223366148;
-+pub const UFFDIO_WRITEPROTECT: u32 = 3222841862;
-+pub const UFFDIO_API: u32 = 3222841919;
-+pub const NS_GET_USERNS: u32 = 46849;
-+pub const NS_GET_PARENT: u32 = 46850;
-+pub const NS_GET_NSTYPE: u32 = 46851;
-+pub const KDGETLED: u32 = 19249;
-+pub const KDSETLED: u32 = 19250;
-+pub const KDGKBLED: u32 = 19300;
-+pub const KDSKBLED: u32 = 19301;
-+pub const KDGKBTYPE: u32 = 19251;
-+pub const KDADDIO: u32 = 19252;
-+pub const KDDELIO: u32 = 19253;
-+pub const KDENABIO: u32 = 19254;
-+pub const KDDISABIO: u32 = 19255;
-+pub const KDSETMODE: u32 = 19258;
-+pub const KDGETMODE: u32 = 19259;
-+pub const KDMKTONE: u32 = 19248;
-+pub const KIOCSOUND: u32 = 19247;
-+pub const GIO_CMAP: u32 = 19312;
-+pub const PIO_CMAP: u32 = 19313;
-+pub const GIO_FONT: u32 = 19296;
-+pub const GIO_FONTX: u32 = 19307;
-+pub const PIO_FONT: u32 = 19297;
-+pub const PIO_FONTX: u32 = 19308;
-+pub const PIO_FONTRESET: u32 = 19309;
-+pub const GIO_SCRNMAP: u32 = 19264;
-+pub const GIO_UNISCRNMAP: u32 = 19305;
-+pub const PIO_SCRNMAP: u32 = 19265;
-+pub const PIO_UNISCRNMAP: u32 = 19306;
-+pub const GIO_UNIMAP: u32 = 19302;
-+pub const PIO_UNIMAP: u32 = 19303;
-+pub const PIO_UNIMAPCLR: u32 = 19304;
-+pub const KDGKBMODE: u32 = 19268;
-+pub const KDSKBMODE: u32 = 19269;
-+pub const KDGKBMETA: u32 = 19298;
-+pub const KDSKBMETA: u32 = 19299;
-+pub const KDGKBENT: u32 = 19270;
-+pub const KDSKBENT: u32 = 19271;
-+pub const KDGKBSENT: u32 = 19272;
-+pub const KDSKBSENT: u32 = 19273;
-+pub const KDGKBDIACR: u32 = 19274;
-+pub const KDGETKEYCODE: u32 = 19276;
-+pub const KDSETKEYCODE: u32 = 19277;
-+pub const KDSIGACCEPT: u32 = 19278;
-+pub const VT_OPENQRY: u32 = 22016;
-+pub const VT_GETMODE: u32 = 22017;
-+pub const VT_SETMODE: u32 = 22018;
-+pub const VT_GETSTATE: u32 = 22019;
-+pub const VT_RELDISP: u32 = 22021;
-+pub const VT_ACTIVATE: u32 = 22022;
-+pub const VT_WAITACTIVE: u32 = 22023;
-+pub const VT_DISALLOCATE: u32 = 22024;
-+pub const VT_RESIZE: u32 = 22025;
-+pub const VT_RESIZEX: u32 = 22026;
-+pub const FIOSETOWN: u32 = 35073;
-+pub const SIOCSPGRP: u32 = 35074;
-+pub const FIOGETOWN: u32 = 35075;
-+pub const SIOCGPGRP: u32 = 35076;
-+pub const SIOCATMARK: u32 = 35077;
-+pub const SIOCGSTAMP: u32 = 35078;
-+pub const TIOCINQ: u32 = 21531;
-+pub const SIOCADDRT: u32 = 35083;
-+pub const SIOCDELRT: u32 = 35084;
-+pub const SIOCGIFNAME: u32 = 35088;
-+pub const SIOCSIFLINK: u32 = 35089;
-+pub const SIOCGIFCONF: u32 = 35090;
-+pub const SIOCGIFFLAGS: u32 = 35091;
-+pub const SIOCSIFFLAGS: u32 = 35092;
-+pub const SIOCGIFADDR: u32 = 35093;
-+pub const SIOCSIFADDR: u32 = 35094;
-+pub const SIOCGIFDSTADDR: u32 = 35095;
-+pub const SIOCSIFDSTADDR: u32 = 35096;
-+pub const SIOCGIFBRDADDR: u32 = 35097;
-+pub const SIOCSIFBRDADDR: u32 = 35098;
-+pub const SIOCGIFNETMASK: u32 = 35099;
-+pub const SIOCSIFNETMASK: u32 = 35100;
-+pub const SIOCGIFMETRIC: u32 = 35101;
-+pub const SIOCSIFMETRIC: u32 = 35102;
-+pub const SIOCGIFMEM: u32 = 35103;
-+pub const SIOCSIFMEM: u32 = 35104;
-+pub const SIOCGIFMTU: u32 = 35105;
-+pub const SIOCSIFMTU: u32 = 35106;
-+pub const SIOCSIFHWADDR: u32 = 35108;
-+pub const SIOCGIFENCAP: u32 = 35109;
-+pub const SIOCSIFENCAP: u32 = 35110;
-+pub const SIOCGIFHWADDR: u32 = 35111;
-+pub const SIOCGIFSLAVE: u32 = 35113;
-+pub const SIOCSIFSLAVE: u32 = 35120;
-+pub const SIOCADDMULTI: u32 = 35121;
-+pub const SIOCDELMULTI: u32 = 35122;
-+pub const SIOCDARP: u32 = 35155;
-+pub const SIOCGARP: u32 = 35156;
-+pub const SIOCSARP: u32 = 35157;
-+pub const SIOCDRARP: u32 = 35168;
-+pub const SIOCGRARP: u32 = 35169;
-+pub const SIOCSRARP: u32 = 35170;
-+pub const SIOCGIFMAP: u32 = 35184;
-+pub const SIOCSIFMAP: u32 = 35185;
-+pub const SIOCRTMSG: u32 = 35085;
-+pub const SIOCSIFNAME: u32 = 35107;
-+pub const SIOCGIFINDEX: u32 = 35123;
-+pub const SIOGIFINDEX: u32 = 35123;
-+pub const SIOCSIFPFLAGS: u32 = 35124;
-+pub const SIOCGIFPFLAGS: u32 = 35125;
-+pub const SIOCDIFADDR: u32 = 35126;
-+pub const SIOCSIFHWBROADCAST: u32 = 35127;
-+pub const SIOCGIFCOUNT: u32 = 35128;
-+pub const SIOCGIFBR: u32 = 35136;
-+pub const SIOCSIFBR: u32 = 35137;
-+pub const SIOCGIFTXQLEN: u32 = 35138;
-+pub const SIOCSIFTXQLEN: u32 = 35139;
-+pub const SIOCADDDLCI: u32 = 35200;
-+pub const SIOCDELDLCI: u32 = 35201;
-+pub const SIOCDEVPRIVATE: u32 = 35312;
-+pub const SIOCPROTOPRIVATE: u32 = 35296;
-+pub const FIBMAP: u32 = 1;
-+pub const FIGETBSZ: u32 = 2;
-+pub const FIFREEZE: u32 = 3221510263;
-+pub const FITHAW: u32 = 3221510264;
-+pub const FITRIM: u32 = 3222820985;
-+pub const FICLONE: u32 = 1074041865;
-+pub const FICLONERANGE: u32 = 1075876877;
-+pub const FIDEDUPERANGE: u32 = 3222836278;
-+pub const FS_IOC_GETFLAGS: u32 = 2148034049;
-+pub const FS_IOC_SETFLAGS: u32 = 1074292226;
-+pub const FS_IOC_GETVERSION: u32 = 2148038145;
-+pub const FS_IOC_SETVERSION: u32 = 1074296322;
-+pub const FS_IOC_FIEMAP: u32 = 3223348747;
-+pub const FS_IOC32_GETFLAGS: u32 = 2147771905;
-+pub const FS_IOC32_SETFLAGS: u32 = 1074030082;
-+pub const FS_IOC32_GETVERSION: u32 = 2147776001;
-+pub const FS_IOC32_SETVERSION: u32 = 1074034178;
-+pub const FS_IOC_FSGETXATTR: u32 = 2149341215;
-+pub const FS_IOC_FSSETXATTR: u32 = 1075599392;
-+pub const FS_IOC_GETFSLABEL: u32 = 2164298801;
-+pub const FS_IOC_SETFSLABEL: u32 = 1090556978;
-+pub const EXT4_IOC_GETVERSION: u32 = 2148034051;
-+pub const EXT4_IOC_SETVERSION: u32 = 1074292228;
-+pub const EXT4_IOC_GETVERSION_OLD: u32 = 2148038145;
-+pub const EXT4_IOC_SETVERSION_OLD: u32 = 1074296322;
-+pub const EXT4_IOC_GETRSVSZ: u32 = 2148034053;
-+pub const EXT4_IOC_SETRSVSZ: u32 = 1074292230;
-+pub const EXT4_IOC_GROUP_EXTEND: u32 = 1074292231;
-+pub const EXT4_IOC_MIGRATE: u32 = 26121;
-+pub const EXT4_IOC_ALLOC_DA_BLKS: u32 = 26124;
-+pub const EXT4_IOC_RESIZE_FS: u32 = 1074292240;
-+pub const EXT4_IOC_SWAP_BOOT: u32 = 26129;
-+pub const EXT4_IOC_PRECACHE_EXTENTS: u32 = 26130;
-+pub const EXT4_IOC_CLEAR_ES_CACHE: u32 = 26152;
-+pub const EXT4_IOC_GETSTATE: u32 = 1074030121;
-+pub const EXT4_IOC_GET_ES_CACHE: u32 = 3223348778;
-+pub const EXT4_IOC_CHECKPOINT: u32 = 1074030123;
-+pub const EXT4_IOC_SHUTDOWN: u32 = 2147768445;
-+pub const EXT4_IOC32_GETVERSION: u32 = 2147771907;
-+pub const EXT4_IOC32_SETVERSION: u32 = 1074030084;
-+pub const EXT4_IOC32_GETRSVSZ: u32 = 2147771909;
-+pub const EXT4_IOC32_SETRSVSZ: u32 = 1074030086;
-+pub const EXT4_IOC32_GROUP_EXTEND: u32 = 1074030087;
-+pub const EXT4_IOC32_GETVERSION_OLD: u32 = 2147776001;
-+pub const EXT4_IOC32_SETVERSION_OLD: u32 = 1074034178;
-+pub const VIDIOC_SUBDEV_QUERYSTD: u32 = 2148030015;
-+pub const AUTOFS_DEV_IOCTL_CLOSEMOUNT: u32 = 3222836085;
-+pub const LIRC_SET_SEND_CARRIER: u32 = 1074030867;
-+pub const AUTOFS_IOC_PROTOSUBVER: u32 = 2147783527;
-+pub const PTP_SYS_OFFSET_PRECISE: u32 = 3225435400;
-+pub const FSI_SCOM_WRITE: u32 = 3223352066;
-+pub const ATM_GETCIRANGE: u32 = 1074815370;
-+pub const DMA_BUF_SET_NAME_B: u32 = 1074291201;
-+pub const RIO_CM_EP_GET_LIST_SIZE: u32 = 3221512961;
-+pub const TUNSETPERSIST: u32 = 1074025675;
-+pub const FS_IOC_GET_ENCRYPTION_POLICY: u32 = 1074554389;
-+pub const CEC_RECEIVE: u32 = 3224920326;
-+pub const MGSL_IOCGPARAMS: u32 = 2150657281;
-+pub const ENI_SETMULT: u32 = 1074815335;
-+pub const RIO_GET_EVENT_MASK: u32 = 2147773710;
-+pub const LIRC_GET_MAX_TIMEOUT: u32 = 2147772681;
-+pub const USBDEVFS_CLAIMINTERFACE: u32 = 2147767567;
-+pub const CHIOMOVE: u32 = 1075077889;
-+pub const SONYPI_IOCGBATFLAGS: u32 = 2147579399;
-+pub const BTRFS_IOC_SYNC: u32 = 37896;
-+pub const VIDIOC_TRY_FMT: u32 = 3234879040;
-+pub const LIRC_SET_REC_MODE: u32 = 1074030866;
-+pub const VIDIOC_DQEVENT: u32 = 2156418649;
-+pub const RPMSG_DESTROY_EPT_IOCTL: u32 = 46338;
-+pub const UVCIOC_CTRL_MAP: u32 = 3227546912;
-+pub const VHOST_SET_BACKEND_FEATURES: u32 = 1074310949;
-+pub const VHOST_VSOCK_SET_GUEST_CID: u32 = 1074311008;
-+pub const UI_SET_KEYBIT: u32 = 1074025829;
-+pub const LIRC_SET_REC_TIMEOUT: u32 = 1074030872;
-+pub const FS_IOC_GET_ENCRYPTION_KEY_STATUS: u32 = 3229640218;
-+pub const BTRFS_IOC_TREE_SEARCH_V2: u32 = 3228603409;
-+pub const VHOST_SET_VRING_BASE: u32 = 1074310930;
-+pub const RIO_ENABLE_DOORBELL_RANGE: u32 = 1074294025;
-+pub const VIDIOC_TRY_EXT_CTRLS: u32 = 3223344713;
-+pub const LIRC_GET_REC_MODE: u32 = 2147772674;
-+pub const PPGETTIME: u32 = 2148561045;
-+pub const BTRFS_IOC_RM_DEV: u32 = 1342215179;
-+pub const ATM_SETBACKEND: u32 = 1073897970;
-+pub const FSL_HV_IOCTL_PARTITION_START: u32 = 3222318851;
-+pub const FBIO_WAITEVENT: u32 = 18056;
-+pub const SWITCHTEC_IOCTL_PORT_TO_PFF: u32 = 3222034245;
-+pub const NVME_IOCTL_IO_CMD: u32 = 3225964099;
-+pub const IPMICTL_RECEIVE_MSG_TRUNC: u32 = 3224398091;
-+pub const FDTWADDLE: u32 = 601;
-+pub const NVME_IOCTL_SUBMIT_IO: u32 = 1076907586;
-+pub const NILFS_IOCTL_SYNC: u32 = 2148036234;
-+pub const VIDIOC_SUBDEV_S_DV_TIMINGS: u32 = 3229898327;
-+pub const ASPEED_LPC_CTRL_IOCTL_GET_SIZE: u32 = 3222319616;
-+pub const DM_DEV_STATUS: u32 = 3241737479;
-+pub const TEE_IOC_CLOSE_SESSION: u32 = 2147787781;
-+pub const NS_GETPSTAT: u32 = 3222298977;
-+pub const UI_SET_PROPBIT: u32 = 1074025838;
-+pub const TUNSETFILTEREBPF: u32 = 2147767521;
-+pub const RIO_MPORT_MAINT_COMPTAG_SET: u32 = 1074031874;
-+pub const AUTOFS_DEV_IOCTL_VERSION: u32 = 3222836081;
-+pub const WDIOC_SETOPTIONS: u32 = 2147768068;
-+pub const VHOST_SCSI_SET_ENDPOINT: u32 = 1088991040;
-+pub const MGSL_IOCGTXIDLE: u32 = 27907;
-+pub const ATM_ADDLECSADDR: u32 = 1074815374;
-+pub const FSL_HV_IOCTL_GETPROP: u32 = 3223891719;
-+pub const FDGETPRM: u32 = 2149581316;
-+pub const HIDIOCAPPLICATION: u32 = 18434;
-+pub const ENI_MEMDUMP: u32 = 1074815328;
-+pub const PTP_SYS_OFFSET2: u32 = 1128283406;
-+pub const VIDIOC_SUBDEV_G_DV_TIMINGS: u32 = 3229898328;
-+pub const DMA_BUF_SET_NAME_A: u32 = 1074029057;
-+pub const PTP_PIN_GETFUNC: u32 = 3227532550;
-+pub const PTP_SYS_OFFSET_EXTENDED: u32 = 3300932873;
-+pub const DFL_FPGA_PORT_UINT_SET_IRQ: u32 = 1074312776;
-+pub const RTC_EPOCH_READ: u32 = 2148036621;
-+pub const VIDIOC_SUBDEV_S_SELECTION: u32 = 3225441854;
-+pub const VIDIOC_QUERY_EXT_CTRL: u32 = 3236451943;
-+pub const ATM_GETLECSADDR: u32 = 1074815376;
-+pub const FSL_HV_IOCTL_PARTITION_STOP: u32 = 3221794564;
-+pub const SONET_GETDIAG: u32 = 2147770644;
-+pub const ATMMPC_DATA: u32 = 25049;
-+pub const IPMICTL_UNREGISTER_FOR_CMD_CHANS: u32 = 2148296989;
-+pub const HIDIOCGCOLLECTIONINDEX: u32 = 1075333136;
-+pub const RPMSG_CREATE_EPT_IOCTL: u32 = 1076409601;
-+pub const GPIOHANDLE_GET_LINE_VALUES_IOCTL: u32 = 3225465864;
-+pub const UI_DEV_SETUP: u32 = 1079792899;
-+pub const ISST_IF_IO_CMD: u32 = 1074331138;
-+pub const RIO_MPORT_MAINT_READ_REMOTE: u32 = 2149084423;
-+pub const VIDIOC_OMAP3ISP_HIST_CFG: u32 = 3224393412;
-+pub const BLKGETNRZONES: u32 = 2147750533;
-+pub const VIDIOC_G_MODULATOR: u32 = 3225703990;
-+pub const VBG_IOCTL_WRITE_CORE_DUMP: u32 = 3223082515;
-+pub const USBDEVFS_SETINTERFACE: u32 = 2148029700;
-+pub const PPPIOCGCHAN: u32 = 2147775543;
-+pub const EVIOCGVERSION: u32 = 2147763457;
-+pub const VHOST_NET_SET_BACKEND: u32 = 1074310960;
-+pub const USBDEVFS_REAPURBNDELAY: u32 = 1074287885;
-+pub const RNDZAPENTCNT: u32 = 20996;
-+pub const VIDIOC_G_PARM: u32 = 3234616853;
-+pub const TUNGETDEVNETNS: u32 = 21731;
-+pub const LIRC_SET_MEASURE_CARRIER_MODE: u32 = 1074030877;
-+pub const VHOST_SET_VRING_ERR: u32 = 1074310946;
-+pub const VDUSE_VQ_SETUP: u32 = 1075872020;
-+pub const AUTOFS_IOC_SETTIMEOUT: u32 = 3221787492;
-+pub const VIDIOC_S_FREQUENCY: u32 = 1076647481;
-+pub const F2FS_IOC_SEC_TRIM_FILE: u32 = 1075377428;
-+pub const FS_IOC_REMOVE_ENCRYPTION_KEY: u32 = 3225445912;
-+pub const WDIOC_GETPRETIMEOUT: u32 = 2147768073;
-+pub const USBDEVFS_DROP_PRIVILEGES: u32 = 1074025758;
-+pub const BTRFS_IOC_SNAP_CREATE_V2: u32 = 1342215191;
-+pub const VHOST_VSOCK_SET_RUNNING: u32 = 1074048865;
-+pub const STP_SET_OPTIONS: u32 = 1074275586;
-+pub const FBIO_RADEON_GET_MIRROR: u32 = 2148024323;
-+pub const IVTVFB_IOC_DMA_FRAME: u32 = 1075336896;
-+pub const IPMICTL_SEND_COMMAND: u32 = 2150131981;
-+pub const VIDIOC_G_ENC_INDEX: u32 = 2283296332;
-+pub const DFL_FPGA_FME_PORT_PR: u32 = 46720;
-+pub const CHIOSVOLTAG: u32 = 1076912914;
-+pub const ATM_SETESIF: u32 = 1074815373;
-+pub const FW_CDEV_IOC_SEND_RESPONSE: u32 = 1075323652;
-+pub const PMU_IOC_GET_MODEL: u32 = 2148024835;
-+pub const JSIOCGBTNMAP: u32 = 2214619700;
-+pub const USBDEVFS_HUB_PORTINFO: u32 = 2155894035;
-+pub const VBG_IOCTL_INTERRUPT_ALL_WAIT_FOR_EVENTS: u32 = 3222820363;
-+pub const FDCLRPRM: u32 = 577;
-+pub const BTRFS_IOC_SCRUB: u32 = 3288372251;
-+pub const USBDEVFS_DISCONNECT: u32 = 21782;
-+pub const TUNSETVNETBE: u32 = 1074025694;
-+pub const ATMTCP_REMOVE: u32 = 24975;
-+pub const VHOST_VDPA_GET_CONFIG: u32 = 2148052851;
-+pub const PPPIOCGNPMODE: u32 = 3221779532;
-+pub const FDGETDRVPRM: u32 = 2155872785;
-+pub const TUNSETVNETLE: u32 = 1074025692;
-+pub const PHN_SETREG: u32 = 1074294790;
-+pub const PPPIOCDETACH: u32 = 1074033724;
-+pub const MMTIMER_GETRES: u32 = 2148035841;
-+pub const VIDIOC_SUBDEV_ENUMSTD: u32 = 3225966105;
-+pub const PPGETFLAGS: u32 = 2147774618;
-+pub const VDUSE_DEV_GET_FEATURES: u32 = 2148040977;
-+pub const CAPI_MANUFACTURER_CMD: u32 = 3222291232;
-+pub const VIDIOC_G_TUNER: u32 = 3226752541;
-+pub const DM_TABLE_STATUS: u32 = 3241737484;
-+pub const DM_DEV_ARM_POLL: u32 = 3241737488;
-+pub const NE_CREATE_VM: u32 = 2148052512;
-+pub const MEDIA_IOC_ENUM_LINKS: u32 = 3223878658;
-+pub const F2FS_IOC_PRECACHE_EXTENTS: u32 = 62735;
-+pub const DFL_FPGA_PORT_DMA_MAP: u32 = 46659;
-+pub const MGSL_IOCGXCTRL: u32 = 27926;
-+pub const FW_CDEV_IOC_SEND_REQUEST: u32 = 1076372225;
-+pub const SONYPI_IOCGBLUE: u32 = 2147579400;
-+pub const F2FS_IOC_DECOMPRESS_FILE: u32 = 62743;
-+pub const I2OHTML: u32 = 3224398089;
-+pub const VFIO_GET_API_VERSION: u32 = 15204;
-+pub const IDT77105_GETSTATZ: u32 = 1074815283;
-+pub const I2OPARMSET: u32 = 3223873795;
-+pub const TEE_IOC_CANCEL: u32 = 2148049924;
-+pub const PTP_SYS_OFFSET_PRECISE2: u32 = 3225435409;
-+pub const DFL_FPGA_PORT_RESET: u32 = 46656;
-+pub const PPPIOCGASYNCMAP: u32 = 2147775576;
-+pub const EVIOCGKEYCODE_V2: u32 = 2150122756;
-+pub const DM_DEV_SET_GEOMETRY: u32 = 3241737487;
-+pub const HIDIOCSUSAGE: u32 = 1075333132;
-+pub const FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE: u32 = 1075323664;
-+pub const PTP_EXTTS_REQUEST: u32 = 1074806018;
-+pub const SWITCHTEC_IOCTL_EVENT_CTL: u32 = 3223869251;
-+pub const WDIOC_SETPRETIMEOUT: u32 = 3221509896;
-+pub const VHOST_SCSI_CLEAR_ENDPOINT: u32 = 1088991041;
-+pub const JSIOCGAXES: u32 = 2147576337;
-+pub const HIDIOCSFLAG: u32 = 1074022415;
-+pub const PTP_PEROUT_REQUEST2: u32 = 1077427468;
-+pub const PPWDATA: u32 = 1073836166;
-+pub const PTP_CLOCK_GETCAPS: u32 = 2152742145;
-+pub const FDGETMAXERRS: u32 = 2148794894;
-+pub const TUNSETQUEUE: u32 = 1074025689;
-+pub const PTP_ENABLE_PPS: u32 = 1074019588;
-+pub const SIOCSIFATMTCP: u32 = 24960;
-+pub const CEC_ADAP_G_LOG_ADDRS: u32 = 2153537795;
-+pub const ND_IOCTL_ARS_CAP: u32 = 3223342593;
-+pub const NBD_SET_BLKSIZE: u32 = 43777;
-+pub const NBD_SET_TIMEOUT: u32 = 43785;
-+pub const VHOST_SCSI_GET_ABI_VERSION: u32 = 1074048834;
-+pub const RIO_UNMAP_INBOUND: u32 = 1074294034;
-+pub const ATM_QUERYLOOP: u32 = 1074815316;
-+pub const DFL_FPGA_GET_API_VERSION: u32 = 46592;
-+pub const USBDEVFS_WAIT_FOR_RESUME: u32 = 21795;
-+pub const FBIO_CURSOR: u32 = 3228059144;
-+pub const RNDCLEARPOOL: u32 = 20998;
-+pub const VIDIOC_QUERYSTD: u32 = 2148030015;
-+pub const DMA_BUF_IOCTL_SYNC: u32 = 1074291200;
-+pub const SCIF_RECV: u32 = 3222827783;
-+pub const PTP_PIN_GETFUNC2: u32 = 3227532559;
-+pub const FW_CDEV_IOC_ALLOCATE: u32 = 3223331586;
-+pub const CEC_ADAP_G_CAPS: u32 = 3226231040;
-+pub const VIDIOC_G_FBUF: u32 = 2150651402;
-+pub const PTP_ENABLE_PPS2: u32 = 1074019597;
-+pub const PCITEST_CLEAR_IRQ: u32 = 20496;
-+pub const IPMICTL_SET_GETS_EVENTS_CMD: u32 = 2147772688;
-+pub const BTRFS_IOC_DEVICES_READY: u32 = 2415957031;
-+pub const JSIOCGAXMAP: u32 = 2151705138;
-+pub const FW_CDEV_IOC_GET_CYCLE_TIMER: u32 = 2148541196;
-+pub const FW_CDEV_IOC_SET_ISO_CHANNELS: u32 = 1074799383;
-+pub const RTC_WIE_OFF: u32 = 28688;
-+pub const PPGETMODE: u32 = 2147774616;
-+pub const VIDIOC_DBG_G_REGISTER: u32 = 3224917584;
-+pub const PTP_SYS_OFFSET: u32 = 1128283397;
-+pub const BTRFS_IOC_SPACE_INFO: u32 = 3222311956;
-+pub const VIDIOC_SUBDEV_ENUM_FRAME_SIZE: u32 = 3225441866;
-+pub const ND_IOCTL_VENDOR: u32 = 3221769737;
-+pub const SCIF_VREADFROM: u32 = 3223876364;
-+pub const BTRFS_IOC_TRANS_START: u32 = 37894;
-+pub const INOTIFY_IOC_SETNEXTWD: u32 = 1074022656;
-+pub const SNAPSHOT_GET_IMAGE_SIZE: u32 = 2148021006;
-+pub const TUNDETACHFILTER: u32 = 1074812118;
-+pub const ND_IOCTL_CLEAR_ERROR: u32 = 3223342596;
-+pub const IOC_PR_CLEAR: u32 = 1074819277;
-+pub const SCIF_READFROM: u32 = 3223876362;
-+pub const PPPIOCGDEBUG: u32 = 2147775553;
-+pub const BLKGETZONESZ: u32 = 2147750532;
-+pub const HIDIOCGUSAGES: u32 = 3491514387;
-+pub const SONYPI_IOCGTEMP: u32 = 2147579404;
-+pub const UI_SET_MSCBIT: u32 = 1074025832;
-+pub const APM_IOC_SUSPEND: u32 = 16642;
-+pub const BTRFS_IOC_TREE_SEARCH: u32 = 3489698833;
-+pub const RTC_PLL_GET: u32 = 2149609489;
-+pub const RIO_CM_EP_GET_LIST: u32 = 3221512962;
-+pub const USBDEVFS_DISCSIGNAL: u32 = 2148553998;
-+pub const LIRC_GET_MIN_TIMEOUT: u32 = 2147772680;
-+pub const SWITCHTEC_IOCTL_EVENT_SUMMARY_LEGACY: u32 = 2174244674;
-+pub const DM_TARGET_MSG: u32 = 3241737486;
-+pub const SONYPI_IOCGBAT1REM: u32 = 2147644931;
-+pub const EVIOCSFF: u32 = 1076905344;
-+pub const TUNSETGROUP: u32 = 1074025678;
-+pub const EVIOCGKEYCODE: u32 = 2148025604;
-+pub const KCOV_REMOTE_ENABLE: u32 = 1075340134;
-+pub const ND_IOCTL_GET_CONFIG_SIZE: u32 = 3222031876;
-+pub const FDEJECT: u32 = 602;
-+pub const TUNSETOFFLOAD: u32 = 1074025680;
-+pub const PPPIOCCONNECT: u32 = 1074033722;
-+pub const ATM_ADDADDR: u32 = 1074815368;
-+pub const VDUSE_DEV_INJECT_CONFIG_IRQ: u32 = 33043;
-+pub const AUTOFS_DEV_IOCTL_ASKUMOUNT: u32 = 3222836093;
-+pub const VHOST_VDPA_GET_STATUS: u32 = 2147594097;
-+pub const CCISS_PASSTHRU: u32 = 3227009547;
-+pub const MGSL_IOCCLRMODCOUNT: u32 = 27919;
-+pub const TEE_IOC_SUPPL_SEND: u32 = 2148574215;
-+pub const ATMARPD_CTRL: u32 = 25057;
-+pub const UI_ABS_SETUP: u32 = 1075598596;
-+pub const UI_DEV_DESTROY: u32 = 21762;
-+pub const BTRFS_IOC_QUOTA_CTL: u32 = 3222311976;
-+pub const RTC_AIE_ON: u32 = 28673;
-+pub const AUTOFS_IOC_EXPIRE: u32 = 2165085029;
-+pub const PPPIOCSDEBUG: u32 = 1074033728;
-+pub const GPIO_V2_LINE_SET_VALUES_IOCTL: u32 = 3222320143;
-+pub const PPPIOCSMRU: u32 = 1074033746;
-+pub const CCISS_DEREGDISK: u32 = 16908;
-+pub const UI_DEV_CREATE: u32 = 21761;
-+pub const FUSE_DEV_IOC_CLONE: u32 = 2147804416;
-+pub const BTRFS_IOC_START_SYNC: u32 = 2148045848;
-+pub const NILFS_IOCTL_DELETE_CHECKPOINT: u32 = 1074294401;
-+pub const SNAPSHOT_AVAIL_SWAP_SIZE: u32 = 2148021011;
-+pub const DM_TABLE_CLEAR: u32 = 3241737482;
-+pub const CCISS_GETINTINFO: u32 = 2148024834;
-+pub const PPPIOCSASYNCMAP: u32 = 1074033751;
-+pub const I2OEVTGET: u32 = 2154326283;
-+pub const NVME_IOCTL_RESET: u32 = 20036;
-+pub const PPYIELD: u32 = 28813;
-+pub const NVME_IOCTL_IO64_CMD: u32 = 3226488392;
-+pub const TUNSETCARRIER: u32 = 1074025698;
-+pub const DM_DEV_WAIT: u32 = 3241737480;
-+pub const RTC_WIE_ON: u32 = 28687;
-+pub const MEDIA_IOC_DEVICE_INFO: u32 = 3238034432;
-+pub const RIO_CM_CHAN_CREATE: u32 = 3221381891;
-+pub const MGSL_IOCSPARAMS: u32 = 1076915456;
-+pub const RTC_SET_TIME: u32 = 1076129802;
-+pub const VHOST_RESET_OWNER: u32 = 44802;
-+pub const IOC_OPAL_PSID_REVERT_TPR: u32 = 1091072232;
-+pub const AUTOFS_DEV_IOCTL_OPENMOUNT: u32 = 3222836084;
-+pub const UDF_GETEABLOCK: u32 = 2148035649;
-+pub const VFIO_IOMMU_MAP_DMA: u32 = 15217;
-+pub const VIDIOC_SUBSCRIBE_EVENT: u32 = 1075861082;
-+pub const HIDIOCGFLAG: u32 = 2147764238;
-+pub const HIDIOCGUCODE: u32 = 3222816781;
-+pub const VIDIOC_OMAP3ISP_AF_CFG: u32 = 3226228421;
-+pub const DM_REMOVE_ALL: u32 = 3241737473;
-+pub const ASPEED_LPC_CTRL_IOCTL_MAP: u32 = 1074835969;
-+pub const CCISS_GETFIRMVER: u32 = 2147762696;
-+pub const ND_IOCTL_ARS_START: u32 = 3223342594;
-+pub const PPPIOCSMRRU: u32 = 1074033723;
-+pub const CEC_ADAP_S_LOG_ADDRS: u32 = 3227279620;
-+pub const RPROC_GET_SHUTDOWN_ON_RELEASE: u32 = 2147792642;
-+pub const DMA_HEAP_IOCTL_ALLOC: u32 = 3222816768;
-+pub const PPSETTIME: u32 = 1074819222;
-+pub const RTC_ALM_READ: u32 = 2149871624;
-+pub const VDUSE_SET_API_VERSION: u32 = 1074299137;
-+pub const RIO_MPORT_MAINT_WRITE_REMOTE: u32 = 1075342600;
-+pub const VIDIOC_SUBDEV_S_CROP: u32 = 3224917564;
-+pub const USBDEVFS_CONNECT: u32 = 21783;
-+pub const SYNC_IOC_FILE_INFO: u32 = 3224911364;
-+pub const ATMARP_MKIP: u32 = 25058;
-+pub const VFIO_IOMMU_SPAPR_TCE_GET_INFO: u32 = 15216;
-+pub const CCISS_GETHEARTBEAT: u32 = 2147762694;
-+pub const ATM_RSTADDR: u32 = 1074815367;
-+pub const NBD_SET_SIZE: u32 = 43778;
-+pub const UDF_GETVOLIDENT: u32 = 2148035650;
-+pub const GPIO_V2_LINE_GET_VALUES_IOCTL: u32 = 3222320142;
-+pub const MGSL_IOCSTXIDLE: u32 = 27906;
-+pub const FSL_HV_IOCTL_SETPROP: u32 = 3223891720;
-+pub const BTRFS_IOC_GET_DEV_STATS: u32 = 3288896564;
-+pub const PPRSTATUS: u32 = 2147577985;
-+pub const MGSL_IOCTXENABLE: u32 = 27908;
-+pub const UDF_GETEASIZE: u32 = 2147773504;
-+pub const NVME_IOCTL_ADMIN64_CMD: u32 = 3226488391;
-+pub const VHOST_SET_OWNER: u32 = 44801;
-+pub const RIO_ALLOC_DMA: u32 = 3222826259;
-+pub const RIO_CM_CHAN_ACCEPT: u32 = 3221775111;
-+pub const I2OHRTGET: u32 = 3222825217;
-+pub const ATM_SETCIRANGE: u32 = 1074815371;
-+pub const HPET_IE_ON: u32 = 26625;
-+pub const PERF_EVENT_IOC_ID: u32 = 2148017159;
-+pub const TUNSETSNDBUF: u32 = 1074025684;
-+pub const PTP_PIN_SETFUNC: u32 = 1080048903;
-+pub const PPPIOCDISCONN: u32 = 29753;
-+pub const VIDIOC_QUERYCTRL: u32 = 3225703972;
-+pub const PPEXCL: u32 = 28815;
-+pub const PCITEST_MSI: u32 = 1074024451;
-+pub const FDWERRORCLR: u32 = 598;
-+pub const AUTOFS_IOC_FAIL: u32 = 37729;
-+pub const USBDEVFS_IOCTL: u32 = 3222295826;
-+pub const VIDIOC_S_STD: u32 = 1074288152;
-+pub const F2FS_IOC_RESIZE_FS: u32 = 1074328848;
-+pub const SONET_SETDIAG: u32 = 3221512466;
-+pub const BTRFS_IOC_DEFRAG: u32 = 1342215170;
-+pub const CCISS_GETDRIVVER: u32 = 2147762697;
-+pub const IPMICTL_GET_TIMING_PARMS_CMD: u32 = 2148034839;
-+pub const HPET_IRQFREQ: u32 = 1074292742;
-+pub const ATM_GETESI: u32 = 1074815365;
-+pub const CCISS_GETLUNINFO: u32 = 2148286993;
-+pub const AUTOFS_DEV_IOCTL_ISMOUNTPOINT: u32 = 3222836094;
-+pub const TEE_IOC_SHM_ALLOC: u32 = 3222316033;
-+pub const PERF_EVENT_IOC_SET_BPF: u32 = 1074013192;
-+pub const UDMABUF_CREATE_LIST: u32 = 1074296131;
-+pub const VHOST_SET_LOG_BASE: u32 = 1074310916;
-+pub const ZATM_GETPOOL: u32 = 1074815329;
-+pub const BR2684_SETFILT: u32 = 1075601808;
-+pub const RNDGETPOOL: u32 = 2148028930;
-+pub const PPS_GETPARAMS: u32 = 2148036769;
-+pub const IOC_PR_RESERVE: u32 = 1074819273;
-+pub const VIDIOC_TRY_DECODER_CMD: u32 = 3225966177;
-+pub const RIO_CM_CHAN_CLOSE: u32 = 1073898244;
-+pub const VIDIOC_DV_TIMINGS_CAP: u32 = 3230684772;
-+pub const IOCTL_MEI_CONNECT_CLIENT_VTAG: u32 = 3222554628;
-+pub const PMU_IOC_GET_BACKLIGHT: u32 = 2148024833;
-+pub const USBDEVFS_GET_CAPABILITIES: u32 = 2147767578;
-+pub const SCIF_WRITETO: u32 = 3223876363;
-+pub const UDF_RELOCATE_BLOCKS: u32 = 3221777475;
-+pub const FSL_HV_IOCTL_PARTITION_RESTART: u32 = 3221794561;
-+pub const CCISS_REGNEWD: u32 = 16910;
-+pub const FAT_IOCTL_SET_ATTRIBUTES: u32 = 1074033169;
-+pub const VIDIOC_CREATE_BUFS: u32 = 3238024796;
-+pub const CAPI_GET_VERSION: u32 = 3222291207;
-+pub const SWITCHTEC_IOCTL_EVENT_SUMMARY: u32 = 2228770626;
-+pub const VFIO_EEH_PE_OP: u32 = 15225;
-+pub const FW_CDEV_IOC_CREATE_ISO_CONTEXT: u32 = 3223331592;
-+pub const F2FS_IOC_RELEASE_COMPRESS_BLOCKS: u32 = 2148070674;
-+pub const NBD_SET_SIZE_BLOCKS: u32 = 43783;
-+pub const IPMI_BMC_IOCTL_SET_SMS_ATN: u32 = 45312;
-+pub const ASPEED_P2A_CTRL_IOCTL_GET_MEMORY_CONFIG: u32 = 3222319873;
-+pub const VIDIOC_S_AUDOUT: u32 = 1077171762;
-+pub const VIDIOC_S_FMT: u32 = 3234878981;
-+pub const PPPIOCATTACH: u32 = 1074033725;
-+pub const VHOST_GET_VRING_BUSYLOOP_TIMEOUT: u32 = 1074310948;
-+pub const FS_IOC_MEASURE_VERITY: u32 = 3221513862;
-+pub const CCISS_BIG_PASSTHRU: u32 = 3227533842;
-+pub const IPMICTL_SET_MY_LUN_CMD: u32 = 2147772691;
-+pub const PCITEST_LEGACY_IRQ: u32 = 20482;
-+pub const USBDEVFS_SUBMITURB: u32 = 2151175434;
-+pub const AUTOFS_IOC_READY: u32 = 37728;
-+pub const BTRFS_IOC_SEND: u32 = 1078498342;
-+pub const VIDIOC_G_EXT_CTRLS: u32 = 3223344711;
-+pub const JSIOCSBTNMAP: u32 = 1140877875;
-+pub const PPPIOCSFLAGS: u32 = 1074033753;
-+pub const NVRAM_INIT: u32 = 28736;
-+pub const RFKILL_IOCTL_NOINPUT: u32 = 20993;
-+pub const BTRFS_IOC_BALANCE: u32 = 1342215180;
-+pub const FS_IOC_GETFSMAP: u32 = 3233830971;
-+pub const IPMICTL_GET_MY_CHANNEL_LUN_CMD: u32 = 2147772699;
-+pub const STP_POLICY_ID_GET: u32 = 2148541697;
-+pub const PPSETFLAGS: u32 = 1074032795;
-+pub const CEC_ADAP_S_PHYS_ADDR: u32 = 1073897730;
-+pub const ATMTCP_CREATE: u32 = 24974;
-+pub const IPMI_BMC_IOCTL_FORCE_ABORT: u32 = 45314;
-+pub const PPPIOCGXASYNCMAP: u32 = 2149610576;
-+pub const VHOST_SET_VRING_CALL: u32 = 1074310945;
-+pub const LIRC_GET_FEATURES: u32 = 2147772672;
-+pub const GSMIOC_DISABLE_NET: u32 = 18179;
-+pub const AUTOFS_IOC_CATATONIC: u32 = 37730;
-+pub const NBD_DO_IT: u32 = 43779;
-+pub const LIRC_SET_REC_CARRIER_RANGE: u32 = 1074030879;
-+pub const IPMICTL_GET_MY_CHANNEL_ADDRESS_CMD: u32 = 2147772697;
-+pub const EVIOCSCLOCKID: u32 = 1074021792;
-+pub const USBDEVFS_FREE_STREAMS: u32 = 2148029725;
-+pub const FSI_SCOM_RESET: u32 = 1074033411;
-+pub const PMU_IOC_GRAB_BACKLIGHT: u32 = 2148024838;
-+pub const VIDIOC_SUBDEV_S_FMT: u32 = 3227014661;
-+pub const FDDEFPRM: u32 = 1075839555;
-+pub const TEE_IOC_INVOKE: u32 = 2148574211;
-+pub const USBDEVFS_BULK: u32 = 3222820098;
-+pub const SCIF_VWRITETO: u32 = 3223876365;
-+pub const SONYPI_IOCSBRT: u32 = 1073837568;
-+pub const BTRFS_IOC_FILE_EXTENT_SAME: u32 = 3222836278;
-+pub const RTC_PIE_ON: u32 = 28677;
-+pub const BTRFS_IOC_SCAN_DEV: u32 = 1342215172;
-+pub const PPPIOCXFERUNIT: u32 = 29774;
-+pub const WDIOC_GETTIMEOUT: u32 = 2147768071;
-+pub const BTRFS_IOC_SET_RECEIVED_SUBVOL: u32 = 3234370597;
-+pub const DFL_FPGA_PORT_ERR_SET_IRQ: u32 = 1074312774;
-+pub const FBIO_WAITFORVSYNC: u32 = 1074021920;
-+pub const RTC_PIE_OFF: u32 = 28678;
-+pub const EVIOCGRAB: u32 = 1074021776;
-+pub const PMU_IOC_SET_BACKLIGHT: u32 = 1074283010;
-+pub const EVIOCGREP: u32 = 2148025603;
-+pub const PERF_EVENT_IOC_MODIFY_ATTRIBUTES: u32 = 1074275339;
-+pub const UFFDIO_CONTINUE: u32 = 3223366151;
-+pub const VDUSE_GET_API_VERSION: u32 = 2148040960;
-+pub const RTC_RD_TIME: u32 = 2149871625;
-+pub const FDMSGOFF: u32 = 582;
-+pub const IPMICTL_REGISTER_FOR_CMD_CHANS: u32 = 2148296988;
-+pub const CAPI_GET_ERRCODE: u32 = 2147631905;
-+pub const PCITEST_SET_IRQTYPE: u32 = 1074024456;
-+pub const VIDIOC_SUBDEV_S_EDID: u32 = 3223868969;
-+pub const MATROXFB_SET_OUTPUT_MODE: u32 = 1074294522;
-+pub const RIO_DEV_ADD: u32 = 1075866903;
-+pub const VIDIOC_ENUM_FREQ_BANDS: u32 = 3225441893;
-+pub const FBIO_RADEON_SET_MIRROR: u32 = 1074282500;
-+pub const PCITEST_GET_IRQTYPE: u32 = 20489;
-+pub const JSIOCGVERSION: u32 = 2147772929;
-+pub const SONYPI_IOCSBLUE: u32 = 1073837577;
-+pub const SNAPSHOT_PREF_IMAGE_SIZE: u32 = 13074;
-+pub const F2FS_IOC_GET_FEATURES: u32 = 2147808524;
-+pub const SCIF_REG: u32 = 3223876360;
-+pub const NILFS_IOCTL_CLEAN_SEGMENTS: u32 = 1081634440;
-+pub const FW_CDEV_IOC_INITIATE_BUS_RESET: u32 = 1074012933;
-+pub const RIO_WAIT_FOR_ASYNC: u32 = 1074294038;
-+pub const VHOST_SET_VRING_NUM: u32 = 1074310928;
-+pub const AUTOFS_DEV_IOCTL_PROTOVER: u32 = 3222836082;
-+pub const RIO_FREE_DMA: u32 = 1074294036;
-+pub const MGSL_IOCRXENABLE: u32 = 27909;
-+pub const IOCTL_VM_SOCKETS_GET_LOCAL_CID: u32 = 1977;
-+pub const IPMICTL_SET_TIMING_PARMS_CMD: u32 = 2148034838;
-+pub const PPPIOCGL2TPSTATS: u32 = 2152231990;
-+pub const PERF_EVENT_IOC_PERIOD: u32 = 1074275332;
-+pub const PTP_PIN_SETFUNC2: u32 = 1080048912;
-+pub const CHIOEXCHANGE: u32 = 1075602178;
-+pub const NILFS_IOCTL_GET_SUINFO: u32 = 2149084804;
-+pub const CEC_DQEVENT: u32 = 3226493191;
-+pub const UI_SET_SWBIT: u32 = 1074025837;
-+pub const VHOST_VDPA_SET_CONFIG: u32 = 1074311028;
-+pub const TUNSETIFF: u32 = 1074025674;
-+pub const CHIOPOSITION: u32 = 1074553603;
-+pub const IPMICTL_SET_MAINTENANCE_MODE_CMD: u32 = 1074030879;
-+pub const BTRFS_IOC_DEFAULT_SUBVOL: u32 = 1074304019;
-+pub const RIO_UNMAP_OUTBOUND: u32 = 1076391184;
-+pub const CAPI_CLR_FLAGS: u32 = 2147762981;
-+pub const FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE: u32 = 1075323663;
-+pub const MATROXFB_GET_OUTPUT_CONNECTION: u32 = 2148036344;
-+pub const EVIOCSMASK: u32 = 1074808211;
-+pub const BTRFS_IOC_FORGET_DEV: u32 = 1342215173;
-+pub const CXL_MEM_QUERY_COMMANDS: u32 = 2148060673;
-+pub const CEC_S_MODE: u32 = 1074028809;
-+pub const MGSL_IOCSIF: u32 = 27914;
-+pub const SWITCHTEC_IOCTL_PFF_TO_PORT: u32 = 3222034244;
-+pub const PPSETMODE: u32 = 1074032768;
-+pub const VFIO_DEVICE_SET_IRQS: u32 = 15214;
-+pub const VIDIOC_PREPARE_BUF: u32 = 3227014749;
-+pub const CEC_ADAP_G_CONNECTOR_INFO: u32 = 2151964938;
-+pub const IOC_OPAL_WRITE_SHADOW_MBR: u32 = 1092645098;
-+pub const VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL: u32 = 3225441867;
-+pub const UDMABUF_CREATE: u32 = 1075344706;
-+pub const SONET_CLRDIAG: u32 = 3221512467;
-+pub const PHN_SET_REG: u32 = 1074294785;
-+pub const RNDADDTOENTCNT: u32 = 1074024961;
-+pub const VBG_IOCTL_CHECK_BALLOON: u32 = 3223344657;
-+pub const VIDIOC_OMAP3ISP_STAT_REQ: u32 = 3223869126;
-+pub const PPS_FETCH: u32 = 3221778596;
-+pub const RTC_AIE_OFF: u32 = 28674;
-+pub const VFIO_GROUP_SET_CONTAINER: u32 = 15208;
-+pub const FW_CDEV_IOC_RECEIVE_PHY_PACKETS: u32 = 1074275094;
-+pub const VFIO_IOMMU_SPAPR_TCE_REMOVE: u32 = 15224;
-+pub const VFIO_IOMMU_GET_INFO: u32 = 15216;
-+pub const DM_DEV_SUSPEND: u32 = 3241737478;
-+pub const F2FS_IOC_GET_COMPRESS_OPTION: u32 = 2147677461;
-+pub const FW_CDEV_IOC_STOP_ISO: u32 = 1074012939;
-+pub const GPIO_V2_GET_LINEINFO_IOCTL: u32 = 3238048773;
-+pub const ATMMPC_CTRL: u32 = 25048;
-+pub const PPPIOCSXASYNCMAP: u32 = 1075868751;
-+pub const CHIOGSTATUS: u32 = 1074815752;
-+pub const FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE: u32 = 3222807309;
-+pub const RIO_MPORT_MAINT_PORT_IDX_GET: u32 = 2147773699;
-+pub const CAPI_SET_FLAGS: u32 = 2147762980;
-+pub const VFIO_GROUP_GET_DEVICE_FD: u32 = 15210;
-+pub const VHOST_SET_MEM_TABLE: u32 = 1074310915;
-+pub const MATROXFB_SET_OUTPUT_CONNECTION: u32 = 1074294520;
-+pub const DFL_FPGA_PORT_GET_REGION_INFO: u32 = 46658;
-+pub const VHOST_GET_FEATURES: u32 = 2148052736;
-+pub const LIRC_GET_REC_RESOLUTION: u32 = 2147772679;
-+pub const PACKET_CTRL_CMD: u32 = 3222820865;
-+pub const LIRC_SET_TRANSMITTER_MASK: u32 = 1074030871;
-+pub const BTRFS_IOC_ADD_DEV: u32 = 1342215178;
-+pub const JSIOCGCORR: u32 = 2149870114;
-+pub const VIDIOC_G_FMT: u32 = 3234878980;
-+pub const RTC_EPOCH_SET: u32 = 1074294798;
-+pub const CAPI_GET_PROFILE: u32 = 3225436937;
-+pub const ATM_GETLOOP: u32 = 1074815314;
-+pub const SCIF_LISTEN: u32 = 1074033410;
-+pub const NBD_CLEAR_QUE: u32 = 43781;
-+pub const F2FS_IOC_MOVE_RANGE: u32 = 3223385353;
-+pub const LIRC_GET_LENGTH: u32 = 2147772687;
-+pub const I8K_SET_FAN: u32 = 3221776775;
-+pub const FDSETMAXERRS: u32 = 1075053132;
-+pub const VIDIOC_SUBDEV_QUERYCAP: u32 = 2151699968;
-+pub const SNAPSHOT_SET_SWAP_AREA: u32 = 1074541325;
-+pub const LIRC_GET_REC_TIMEOUT: u32 = 2147772708;
-+pub const EVIOCRMFF: u32 = 1074021761;
-+pub const GPIO_GET_LINEEVENT_IOCTL: u32 = 3224417284;
-+pub const PPRDATA: u32 = 2147577989;
-+pub const RIO_MPORT_GET_PROPERTIES: u32 = 2150657284;
-+pub const TUNSETVNETHDRSZ: u32 = 1074025688;
-+pub const GPIO_GET_LINEINFO_IOCTL: u32 = 3225990146;
-+pub const GSMIOC_GETCONF: u32 = 2152482560;
-+pub const LIRC_GET_SEND_MODE: u32 = 2147772673;
-+pub const PPPIOCSACTIVE: u32 = 1074820166;
-+pub const SIOCGSTAMPNS_NEW: u32 = 2148567303;
-+pub const IPMICTL_RECEIVE_MSG: u32 = 3224398092;
-+pub const LIRC_SET_SEND_DUTY_CYCLE: u32 = 1074030869;
-+pub const UI_END_FF_ERASE: u32 = 1074550219;
-+pub const SWITCHTEC_IOCTL_FLASH_PART_INFO: u32 = 3222296385;
-+pub const FW_CDEV_IOC_SEND_PHY_PACKET: u32 = 3222807317;
-+pub const NBD_SET_FLAGS: u32 = 43786;
-+pub const VFIO_DEVICE_GET_REGION_INFO: u32 = 15212;
-+pub const REISERFS_IOC_UNPACK: u32 = 1074318593;
-+pub const FW_CDEV_IOC_REMOVE_DESCRIPTOR: u32 = 1074012935;
-+pub const RIO_SET_EVENT_MASK: u32 = 1074031885;
-+pub const SNAPSHOT_ALLOC_SWAP_PAGE: u32 = 2148021012;
-+pub const VDUSE_VQ_INJECT_IRQ: u32 = 1074037015;
-+pub const I2OPASSTHRU: u32 = 2148559116;
-+pub const IOC_OPAL_SET_PW: u32 = 1109422304;
-+pub const FSI_SCOM_READ: u32 = 3223352065;
-+pub const VHOST_VDPA_GET_DEVICE_ID: u32 = 2147790704;
-+pub const VIDIOC_QBUF: u32 = 3227014671;
-+pub const VIDIOC_S_TUNER: u32 = 1079268894;
-+pub const TUNGETVNETHDRSZ: u32 = 2147767511;
-+pub const CAPI_NCCI_GETUNIT: u32 = 2147762983;
-+pub const DFL_FPGA_PORT_UINT_GET_IRQ_NUM: u32 = 2147792455;
-+pub const VIDIOC_OMAP3ISP_STAT_EN: u32 = 3221771975;
-+pub const GPIO_V2_LINE_SET_CONFIG_IOCTL: u32 = 3239097357;
-+pub const TEE_IOC_VERSION: u32 = 2148312064;
-+pub const VIDIOC_LOG_STATUS: u32 = 22086;
-+pub const IPMICTL_SEND_COMMAND_SETTIME: u32 = 2150656277;
-+pub const VHOST_SET_LOG_FD: u32 = 1074048775;
-+pub const SCIF_SEND: u32 = 3222827782;
-+pub const VIDIOC_SUBDEV_G_FMT: u32 = 3227014660;
-+pub const NS_ADJBUFLEV: u32 = 24931;
-+pub const VIDIOC_DBG_S_REGISTER: u32 = 1077433935;
-+pub const NILFS_IOCTL_RESIZE: u32 = 1074294411;
-+pub const PHN_GETREG: u32 = 3221778437;
-+pub const I2OSWDL: u32 = 3224398085;
-+pub const VBG_IOCTL_VMMDEV_REQUEST_BIG: u32 = 22019;
-+pub const JSIOCGBUTTONS: u32 = 2147576338;
-+pub const VFIO_IOMMU_ENABLE: u32 = 15219;
-+pub const DM_DEV_RENAME: u32 = 3241737477;
-+pub const MEDIA_IOC_SETUP_LINK: u32 = 3224665091;
-+pub const VIDIOC_ENUMOUTPUT: u32 = 3225966128;
-+pub const STP_POLICY_ID_SET: u32 = 3222283520;
-+pub const VHOST_VDPA_SET_CONFIG_CALL: u32 = 1074048887;
-+pub const VIDIOC_SUBDEV_G_CROP: u32 = 3224917563;
-+pub const VIDIOC_S_CROP: u32 = 1075074620;
-+pub const WDIOC_GETTEMP: u32 = 2147768067;
-+pub const IOC_OPAL_ADD_USR_TO_LR: u32 = 1092120804;
-+pub const UI_SET_LEDBIT: u32 = 1074025833;
-+pub const NBD_SET_SOCK: u32 = 43776;
-+pub const BTRFS_IOC_SNAP_DESTROY_V2: u32 = 1342215231;
-+pub const HIDIOCGCOLLECTIONINFO: u32 = 3222292497;
-+pub const I2OSWUL: u32 = 3224398086;
-+pub const IOCTL_MEI_NOTIFY_GET: u32 = 2147764227;
-+pub const FDFMTTRK: u32 = 1074528840;
-+pub const MMTIMER_GETBITS: u32 = 27908;
-+pub const VIDIOC_ENUMSTD: u32 = 3225966105;
-+pub const VHOST_GET_VRING_BASE: u32 = 3221794578;
-+pub const VFIO_DEVICE_IOEVENTFD: u32 = 15220;
-+pub const ATMARP_SETENTRY: u32 = 25059;
-+pub const CCISS_REVALIDVOLS: u32 = 16906;
-+pub const MGSL_IOCLOOPTXDONE: u32 = 27913;
-+pub const RTC_VL_READ: u32 = 2147774483;
-+pub const ND_IOCTL_ARS_STATUS: u32 = 3224391171;
-+pub const RIO_DEV_DEL: u32 = 1075866904;
-+pub const VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES: u32 = 3223606797;
-+pub const VIDIOC_SUBDEV_DV_TIMINGS_CAP: u32 = 3230684772;
-+pub const SONYPI_IOCSFAN: u32 = 1073837579;
-+pub const SPIOCSTYPE: u32 = 1074295041;
-+pub const IPMICTL_REGISTER_FOR_CMD: u32 = 2147641614;
-+pub const I8K_GET_FAN: u32 = 3221776774;
-+pub const TUNGETVNETBE: u32 = 2147767519;
-+pub const AUTOFS_DEV_IOCTL_FAIL: u32 = 3222836087;
-+pub const UI_END_FF_UPLOAD: u32 = 1080579529;
-+pub const TOSH_SMM: u32 = 3222828176;
-+pub const SONYPI_IOCGBAT2REM: u32 = 2147644933;
-+pub const F2FS_IOC_GET_COMPRESS_BLOCKS: u32 = 2148070673;
-+pub const PPPIOCSNPMODE: u32 = 1074295883;
-+pub const USBDEVFS_CONTROL: u32 = 3222820096;
-+pub const HIDIOCGUSAGE: u32 = 3222816779;
-+pub const TUNSETTXFILTER: u32 = 1074025681;
-+pub const TUNGETVNETLE: u32 = 2147767517;
-+pub const VIDIOC_ENUM_DV_TIMINGS: u32 = 3230946914;
-+pub const BTRFS_IOC_INO_PATHS: u32 = 3224933411;
-+pub const MGSL_IOCGXSYNC: u32 = 27924;
-+pub const HIDIOCGFIELDINFO: u32 = 3224913930;
-+pub const VIDIOC_SUBDEV_G_STD: u32 = 2148029975;
-+pub const I2OVALIDATE: u32 = 2147772680;
-+pub const VIDIOC_TRY_ENCODER_CMD: u32 = 3223869006;
-+pub const NILFS_IOCTL_GET_CPINFO: u32 = 2149084802;
-+pub const VIDIOC_G_FREQUENCY: u32 = 3224131128;
-+pub const VFAT_IOCTL_READDIR_SHORT: u32 = 2184212994;
-+pub const ND_IOCTL_GET_CONFIG_DATA: u32 = 3222031877;
-+pub const F2FS_IOC_RESERVE_COMPRESS_BLOCKS: u32 = 2148070675;
-+pub const FDGETDRVSTAT: u32 = 2152727058;
-+pub const SYNC_IOC_MERGE: u32 = 3224387075;
-+pub const VIDIOC_S_DV_TIMINGS: u32 = 3229898327;
-+pub const PPPIOCBRIDGECHAN: u32 = 1074033717;
-+pub const LIRC_SET_SEND_MODE: u32 = 1074030865;
-+pub const RIO_ENABLE_PORTWRITE_RANGE: u32 = 1074818315;
-+pub const ATM_GETTYPE: u32 = 1074815364;
-+pub const PHN_GETREGS: u32 = 3223875591;
-+pub const FDSETEMSGTRESH: u32 = 586;
-+pub const NILFS_IOCTL_GET_VINFO: u32 = 3222826630;
-+pub const MGSL_IOCWAITEVENT: u32 = 3221515528;
-+pub const CAPI_INSTALLED: u32 = 2147631906;
-+pub const EVIOCGMASK: u32 = 2148550034;
-+pub const BTRFS_IOC_SUBVOL_GETFLAGS: u32 = 2148045849;
-+pub const FSL_HV_IOCTL_PARTITION_GET_STATUS: u32 = 3222056706;
-+pub const MEDIA_IOC_ENUM_ENTITIES: u32 = 3238034433;
-+pub const GSMIOC_GETFIRST: u32 = 2147763972;
-+pub const FW_CDEV_IOC_FLUSH_ISO: u32 = 1074012952;
-+pub const VIDIOC_DBG_G_CHIP_INFO: u32 = 3234354790;
-+pub const F2FS_IOC_RELEASE_VOLATILE_WRITE: u32 = 62724;
-+pub const CAPI_GET_SERIAL: u32 = 3221504776;
-+pub const FDSETDRVPRM: u32 = 1082131088;
-+pub const IOC_OPAL_SAVE: u32 = 1092120796;
-+pub const VIDIOC_G_DV_TIMINGS: u32 = 3229898328;
-+pub const TUNSETIFINDEX: u32 = 1074025690;
-+pub const CCISS_SETINTINFO: u32 = 1074283011;
-+pub const CM_IOSDBGLVL: u32 = 1074291706;
-+pub const RTC_VL_CLR: u32 = 28692;
-+pub const VIDIOC_REQBUFS: u32 = 3222558216;
-+pub const USBDEVFS_REAPURBNDELAY32: u32 = 1074025741;
-+pub const TEE_IOC_SHM_REGISTER: u32 = 3222840329;
-+pub const USBDEVFS_SETCONFIGURATION: u32 = 2147767557;
-+pub const CCISS_GETNODENAME: u32 = 2148549124;
-+pub const VIDIOC_SUBDEV_S_FRAME_INTERVAL: u32 = 3224393238;
-+pub const VIDIOC_ENUM_FRAMESIZES: u32 = 3224131146;
-+pub const VFIO_DEVICE_PCI_HOT_RESET: u32 = 15217;
-+pub const FW_CDEV_IOC_SEND_BROADCAST_REQUEST: u32 = 1076372242;
-+pub const LPSETTIMEOUT_NEW: u32 = 1074791951;
-+pub const RIO_CM_MPORT_GET_LIST: u32 = 3221512971;
-+pub const FW_CDEV_IOC_QUEUE_ISO: u32 = 3222807305;
-+pub const FDRAWCMD: u32 = 600;
-+pub const SCIF_UNREG: u32 = 3222303497;
-+pub const PPPIOCGIDLE64: u32 = 2148561983;
-+pub const USBDEVFS_RELEASEINTERFACE: u32 = 2147767568;
-+pub const VIDIOC_CROPCAP: u32 = 3224131130;
-+pub const DFL_FPGA_PORT_GET_INFO: u32 = 46657;
-+pub const PHN_SET_REGS: u32 = 1074294787;
-+pub const ATMLEC_DATA: u32 = 25041;
-+pub const PPPOEIOCDFWD: u32 = 45313;
-+pub const VIDIOC_S_SELECTION: u32 = 3225441887;
-+pub const SNAPSHOT_FREE_SWAP_PAGES: u32 = 13065;
-+pub const BTRFS_IOC_LOGICAL_INO: u32 = 3224933412;
-+pub const VIDIOC_S_CTRL: u32 = 3221771804;
-+pub const ZATM_SETPOOL: u32 = 1074815331;
-+pub const MTIOCPOS: u32 = 2148035843;
-+pub const PMU_IOC_SLEEP: u32 = 16896;
-+pub const AUTOFS_DEV_IOCTL_PROTOSUBVER: u32 = 3222836083;
-+pub const VBG_IOCTL_CHANGE_FILTER_MASK: u32 = 3223344652;
-+pub const NILFS_IOCTL_GET_SUSTAT: u32 = 2150657669;
-+pub const VIDIOC_QUERYCAP: u32 = 2154321408;
-+pub const HPET_INFO: u32 = 2149083139;
-+pub const VIDIOC_AM437X_CCDC_CFG: u32 = 1074288321;
-+pub const DM_LIST_DEVICES: u32 = 3241737474;
-+pub const TUNSETOWNER: u32 = 1074025676;
-+pub const VBG_IOCTL_CHANGE_GUEST_CAPABILITIES: u32 = 3223344654;
-+pub const RNDADDENTROPY: u32 = 1074287107;
-+pub const USBDEVFS_RESET: u32 = 21780;
-+pub const BTRFS_IOC_SUBVOL_CREATE: u32 = 1342215182;
-+pub const USBDEVFS_FORBID_SUSPEND: u32 = 21793;
-+pub const FDGETDRVTYP: u32 = 2148532751;
-+pub const PPWCONTROL: u32 = 1073836164;
-+pub const VIDIOC_ENUM_FRAMEINTERVALS: u32 = 3224655435;
-+pub const KCOV_DISABLE: u32 = 25445;
-+pub const IOC_OPAL_ACTIVATE_LSP: u32 = 1092120799;
-+pub const VHOST_VDPA_GET_IOVA_RANGE: u32 = 2148577144;
-+pub const PPPIOCSPASS: u32 = 1074820167;
-+pub const RIO_CM_CHAN_CONNECT: u32 = 1074291464;
-+pub const I2OSWDEL: u32 = 3224398087;
-+pub const FS_IOC_SET_ENCRYPTION_POLICY: u32 = 2148296211;
-+pub const IOC_OPAL_MBR_DONE: u32 = 1091596521;
-+pub const PPPIOCSMAXCID: u32 = 1074033745;
-+pub const PPSETPHASE: u32 = 1074032788;
-+pub const VHOST_VDPA_SET_VRING_ENABLE: u32 = 1074311029;
-+pub const USBDEVFS_GET_SPEED: u32 = 21791;
-+pub const SONET_GETFRAMING: u32 = 2147770646;
-+pub const VIDIOC_QUERYBUF: u32 = 3227014665;
-+pub const VIDIOC_S_EDID: u32 = 3223868969;
-+pub const BTRFS_IOC_QGROUP_ASSIGN: u32 = 1075352617;
-+pub const PPS_GETCAP: u32 = 2148036771;
-+pub const SNAPSHOT_PLATFORM_SUPPORT: u32 = 13071;
-+pub const LIRC_SET_REC_TIMEOUT_REPORTS: u32 = 1074030873;
-+pub const SCIF_GET_NODEIDS: u32 = 3222827790;
-+pub const NBD_DISCONNECT: u32 = 43784;
-+pub const VIDIOC_SUBDEV_G_FRAME_INTERVAL: u32 = 3224393237;
-+pub const VFIO_IOMMU_DISABLE: u32 = 15220;
-+pub const SNAPSHOT_CREATE_IMAGE: u32 = 1074017041;
-+pub const SNAPSHOT_POWER_OFF: u32 = 13072;
-+pub const APM_IOC_STANDBY: u32 = 16641;
-+pub const PPPIOCGUNIT: u32 = 2147775574;
-+pub const AUTOFS_IOC_EXPIRE_MULTI: u32 = 1074041702;
-+pub const SCIF_BIND: u32 = 3221779201;
-+pub const IOC_WATCH_QUEUE_SET_SIZE: u32 = 22368;
-+pub const NILFS_IOCTL_CHANGE_CPMODE: u32 = 1074818688;
-+pub const IOC_OPAL_LOCK_UNLOCK: u32 = 1092120797;
-+pub const F2FS_IOC_SET_PIN_FILE: u32 = 1074066701;
-+pub const PPPIOCGRASYNCMAP: u32 = 2147775573;
-+pub const MMTIMER_MMAPAVAIL: u32 = 27910;
-+pub const I2OPASSTHRU32: u32 = 2148034828;
-+pub const DFL_FPGA_FME_PORT_RELEASE: u32 = 1074050689;
-+pub const VIDIOC_SUBDEV_QUERY_DV_TIMINGS: u32 = 2156156515;
-+pub const UI_SET_SNDBIT: u32 = 1074025834;
-+pub const VIDIOC_G_AUDOUT: u32 = 2150913585;
-+pub const RTC_PLL_SET: u32 = 1075867666;
-+pub const VIDIOC_ENUMAUDIO: u32 = 3224655425;
-+pub const AUTOFS_DEV_IOCTL_TIMEOUT: u32 = 3222836090;
-+pub const VBG_IOCTL_DRIVER_VERSION_INFO: u32 = 3224131072;
-+pub const VHOST_SCSI_GET_EVENTS_MISSED: u32 = 1074048836;
-+pub const VHOST_SET_VRING_ADDR: u32 = 1076408081;
-+pub const VDUSE_CREATE_DEV: u32 = 1095794946;
-+pub const FDFLUSH: u32 = 587;
-+pub const VBG_IOCTL_WAIT_FOR_EVENTS: u32 = 3223344650;
-+pub const DFL_FPGA_FME_ERR_SET_IRQ: u32 = 1074312836;
-+pub const F2FS_IOC_GET_PIN_FILE: u32 = 2147808526;
-+pub const SCIF_CONNECT: u32 = 3221779203;
-+pub const BLKREPORTZONE: u32 = 3222278786;
-+pub const AUTOFS_IOC_ASKUMOUNT: u32 = 2147783536;
-+pub const ATM_ADDPARTY: u32 = 1074815476;
-+pub const FDSETPRM: u32 = 1075839554;
-+pub const ATM_GETSTATZ: u32 = 1074815313;
-+pub const ISST_IF_MSR_COMMAND: u32 = 3221814788;
-+pub const BTRFS_IOC_GET_SUBVOL_INFO: u32 = 2180551740;
-+pub const VIDIOC_UNSUBSCRIBE_EVENT: u32 = 1075861083;
-+pub const SEV_ISSUE_CMD: u32 = 3222295296;
-+pub const GPIOHANDLE_SET_LINE_VALUES_IOCTL: u32 = 3225465865;
-+pub const PCITEST_COPY: u32 = 1074286598;
-+pub const IPMICTL_GET_MY_ADDRESS_CMD: u32 = 2147772690;
-+pub const CHIOGPICKER: u32 = 2147771140;
-+pub const CAPI_NCCI_OPENCOUNT: u32 = 2147762982;
-+pub const CXL_MEM_SEND_COMMAND: u32 = 3224423938;
-+pub const PERF_EVENT_IOC_SET_FILTER: u32 = 1074275334;
-+pub const IOC_OPAL_REVERT_TPR: u32 = 1091072226;
-+pub const CHIOGVPARAMS: u32 = 2154849043;
-+pub const PTP_PEROUT_REQUEST: u32 = 1077427459;
-+pub const FSI_SCOM_CHECK: u32 = 2147775232;
-+pub const RTC_IRQP_READ: u32 = 2148036619;
-+pub const RIO_MPORT_MAINT_READ_LOCAL: u32 = 2149084421;
-+pub const HIDIOCGRDESCSIZE: u32 = 2147764225;
-+pub const UI_GET_VERSION: u32 = 2147767597;
-+pub const NILFS_IOCTL_GET_CPSTAT: u32 = 2149084803;
-+pub const CCISS_GETBUSTYPES: u32 = 2147762695;
-+pub const VFIO_IOMMU_SPAPR_TCE_CREATE: u32 = 15223;
-+pub const VIDIOC_EXPBUF: u32 = 3225441808;
-+pub const UI_SET_RELBIT: u32 = 1074025830;
-+pub const VFIO_SET_IOMMU: u32 = 15206;
-+pub const VIDIOC_S_MODULATOR: u32 = 1078220343;
-+pub const TUNGETFILTER: u32 = 2148553947;
-+pub const MEYEIOC_SYNC: u32 = 3221518019;
-+pub const CCISS_SETNODENAME: u32 = 1074807301;
-+pub const FBIO_GETCONTROL2: u32 = 2148025993;
-+pub const TUNSETDEBUG: u32 = 1074025673;
-+pub const DM_DEV_REMOVE: u32 = 3241737476;
-+pub const HIDIOCSUSAGES: u32 = 1344030740;
-+pub const FS_IOC_ADD_ENCRYPTION_KEY: u32 = 3226494487;
-+pub const FBIOGET_VBLANK: u32 = 2149598738;
-+pub const ATM_GETSTAT: u32 = 1074815312;
-+pub const VIDIOC_G_JPEGCOMP: u32 = 2156680765;
-+pub const TUNATTACHFILTER: u32 = 1074812117;
-+pub const UI_SET_ABSBIT: u32 = 1074025831;
-+pub const DFL_FPGA_PORT_ERR_GET_IRQ_NUM: u32 = 2147792453;
-+pub const USBDEVFS_REAPURB32: u32 = 1074025740;
-+pub const BTRFS_IOC_TRANS_END: u32 = 37895;
-+pub const CAPI_REGISTER: u32 = 1074545409;
-+pub const F2FS_IOC_COMPRESS_FILE: u32 = 62744;
-+pub const USBDEVFS_DISCARDURB: u32 = 21771;
-+pub const HE_GET_REG: u32 = 1074815328;
-+pub const ATM_SETLOOP: u32 = 1074815315;
-+pub const ATMSIGD_CTRL: u32 = 25072;
-+pub const CIOC_KERNEL_VERSION: u32 = 3221775114;
-+pub const BTRFS_IOC_CLONE_RANGE: u32 = 1075876877;
-+pub const SNAPSHOT_UNFREEZE: u32 = 13058;
-+pub const F2FS_IOC_START_VOLATILE_WRITE: u32 = 62723;
-+pub const PMU_IOC_HAS_ADB: u32 = 2148024836;
-+pub const I2OGETIOPS: u32 = 2149607680;
-+pub const VIDIOC_S_FBUF: u32 = 1076909579;
-+pub const PPRCONTROL: u32 = 2147577987;
-+pub const CHIOSPICKER: u32 = 1074029317;
-+pub const VFIO_IOMMU_SPAPR_REGISTER_MEMORY: u32 = 15221;
-+pub const TUNGETSNDBUF: u32 = 2147767507;
-+pub const GSMIOC_SETCONF: u32 = 1078740737;
-+pub const IOC_PR_PREEMPT: u32 = 1075343563;
-+pub const KCOV_INIT_TRACE: u32 = 2148033281;
-+pub const SONYPI_IOCGBAT1CAP: u32 = 2147644930;
-+pub const SWITCHTEC_IOCTL_FLASH_INFO: u32 = 2148554560;
-+pub const MTIOCTOP: u32 = 1074294017;
-+pub const VHOST_VDPA_SET_STATUS: u32 = 1073852274;
-+pub const VHOST_SCSI_SET_EVENTS_MISSED: u32 = 1074048835;
-+pub const VFIO_IOMMU_DIRTY_PAGES: u32 = 15221;
-+pub const BTRFS_IOC_SCRUB_PROGRESS: u32 = 3288372253;
-+pub const PPPIOCGMRU: u32 = 2147775571;
-+pub const BTRFS_IOC_DEV_REPLACE: u32 = 3391657013;
-+pub const PPPIOCGFLAGS: u32 = 2147775578;
-+pub const NILFS_IOCTL_SET_SUINFO: u32 = 1075342989;
-+pub const FW_CDEV_IOC_GET_CYCLE_TIMER2: u32 = 3222807316;
-+pub const ATM_DELLECSADDR: u32 = 1074815375;
-+pub const FW_CDEV_IOC_GET_SPEED: u32 = 8977;
-+pub const PPPIOCGIDLE32: u32 = 2148037695;
-+pub const VFIO_DEVICE_RESET: u32 = 15215;
-+pub const GPIO_GET_LINEINFO_UNWATCH_IOCTL: u32 = 3221533708;
-+pub const WDIOC_GETSTATUS: u32 = 2147768065;
-+pub const BTRFS_IOC_SET_FEATURES: u32 = 1076925497;
-+pub const IOCTL_MEI_CONNECT_CLIENT: u32 = 3222292481;
-+pub const VIDIOC_OMAP3ISP_AEWB_CFG: u32 = 3223344835;
-+pub const PCITEST_READ: u32 = 1074286597;
-+pub const VFIO_GROUP_GET_STATUS: u32 = 15207;
-+pub const MATROXFB_GET_ALL_OUTPUTS: u32 = 2148036347;
-+pub const USBDEVFS_CLEAR_HALT: u32 = 2147767573;
-+pub const VIDIOC_DECODER_CMD: u32 = 3225966176;
-+pub const VIDIOC_G_AUDIO: u32 = 2150913569;
-+pub const CCISS_RESCANDISK: u32 = 16912;
-+pub const RIO_DISABLE_PORTWRITE_RANGE: u32 = 1074818316;
-+pub const IOC_OPAL_SECURE_ERASE_LR: u32 = 1091596519;
-+pub const USBDEVFS_REAPURB: u32 = 1074287884;
-+pub const DFL_FPGA_CHECK_EXTENSION: u32 = 46593;
-+pub const AUTOFS_IOC_PROTOVER: u32 = 2147783523;
-+pub const FSL_HV_IOCTL_MEMCPY: u32 = 3223891717;
-+pub const BTRFS_IOC_GET_FEATURES: u32 = 2149094457;
-+pub const PCITEST_MSIX: u32 = 1074024455;
-+pub const BTRFS_IOC_DEFRAG_RANGE: u32 = 1076925456;
-+pub const UI_BEGIN_FF_ERASE: u32 = 3222033866;
-+pub const DM_GET_TARGET_VERSION: u32 = 3241737489;
-+pub const PPPIOCGIDLE: u32 = 2148561983;
-+pub const NVRAM_SETCKS: u32 = 28737;
-+pub const WDIOC_GETSUPPORT: u32 = 2150127360;
-+pub const GSMIOC_ENABLE_NET: u32 = 1077167874;
-+pub const GPIO_GET_CHIPINFO_IOCTL: u32 = 2151986177;
-+pub const NE_ADD_VCPU: u32 = 3221532193;
-+pub const EVIOCSKEYCODE_V2: u32 = 1076380932;
-+pub const PTP_SYS_OFFSET_EXTENDED2: u32 = 3300932882;
-+pub const SCIF_FENCE_WAIT: u32 = 3221517072;
-+pub const RIO_TRANSFER: u32 = 3222826261;
-+pub const FSL_HV_IOCTL_DOORBELL: u32 = 3221794566;
-+pub const RIO_MPORT_MAINT_WRITE_LOCAL: u32 = 1075342598;
-+pub const I2OEVTREG: u32 = 1074555146;
-+pub const I2OPARMGET: u32 = 3223873796;
-+pub const EVIOCGID: u32 = 2148025602;
-+pub const BTRFS_IOC_QGROUP_CREATE: u32 = 1074828330;
-+pub const AUTOFS_DEV_IOCTL_SETPIPEFD: u32 = 3222836088;
-+pub const VIDIOC_S_PARM: u32 = 3234616854;
-+pub const TUNSETSTEERINGEBPF: u32 = 2147767520;
-+pub const ATM_GETNAMES: u32 = 1074815363;
-+pub const VIDIOC_QUERYMENU: u32 = 3224131109;
-+pub const DFL_FPGA_PORT_DMA_UNMAP: u32 = 46660;
-+pub const I2OLCTGET: u32 = 3222825218;
-+pub const FS_IOC_GET_ENCRYPTION_PWSALT: u32 = 1074816532;
-+pub const NS_SETBUFLEV: u32 = 1074815330;
-+pub const BLKCLOSEZONE: u32 = 1074795143;
-+pub const SONET_GETFRSENSE: u32 = 2147901719;
-+pub const UI_SET_EVBIT: u32 = 1074025828;
-+pub const DM_LIST_VERSIONS: u32 = 3241737485;
-+pub const HIDIOCGSTRING: u32 = 2164541444;
-+pub const PPPIOCATTCHAN: u32 = 1074033720;
-+pub const VDUSE_DEV_SET_CONFIG: u32 = 1074299154;
-+pub const TUNGETFEATURES: u32 = 2147767503;
-+pub const VFIO_GROUP_UNSET_CONTAINER: u32 = 15209;
-+pub const IPMICTL_SET_MY_ADDRESS_CMD: u32 = 2147772689;
-+pub const CCISS_REGNEWDISK: u32 = 1074020877;
-+pub const VIDIOC_QUERY_DV_TIMINGS: u32 = 2156156515;
-+pub const PHN_SETREGS: u32 = 1076391944;
-+pub const FAT_IOCTL_GET_ATTRIBUTES: u32 = 2147774992;
-+pub const FSL_MC_SEND_MC_COMMAND: u32 = 3225440992;
-+pub const TUNGETIFF: u32 = 2147767506;
-+pub const PTP_CLOCK_GETCAPS2: u32 = 2152742154;
-+pub const BTRFS_IOC_RESIZE: u32 = 1342215171;
-+pub const VHOST_SET_VRING_ENDIAN: u32 = 1074310931;
-+pub const PPS_KC_BIND: u32 = 1074294949;
-+pub const F2FS_IOC_WRITE_CHECKPOINT: u32 = 62727;
-+pub const UI_SET_FFBIT: u32 = 1074025835;
-+pub const IPMICTL_GET_MY_LUN_CMD: u32 = 2147772692;
-+pub const CEC_ADAP_G_PHYS_ADDR: u32 = 2147639553;
-+pub const CEC_G_MODE: u32 = 2147770632;
-+pub const USBDEVFS_RESETEP: u32 = 2147767555;
-+pub const MEDIA_REQUEST_IOC_QUEUE: u32 = 31872;
-+pub const USBDEVFS_ALLOC_STREAMS: u32 = 2148029724;
-+pub const MGSL_IOCSXCTRL: u32 = 27925;
-+pub const MEDIA_IOC_G_TOPOLOGY: u32 = 3225975812;
-+pub const PPPIOCUNBRIDGECHAN: u32 = 29748;
-+pub const F2FS_IOC_COMMIT_ATOMIC_WRITE: u32 = 62722;
-+pub const ISST_IF_GET_PLATFORM_INFO: u32 = 2148072960;
-+pub const SCIF_FENCE_MARK: u32 = 3222303503;
-+pub const USBDEVFS_RELEASE_PORT: u32 = 2147767577;
-+pub const VFIO_CHECK_EXTENSION: u32 = 15205;
-+pub const BTRFS_IOC_QGROUP_LIMIT: u32 = 2150667307;
-+pub const FAT_IOCTL_GET_VOLUME_ID: u32 = 2147774995;
-+pub const UI_SET_PHYS: u32 = 1074287980;
-+pub const FDWERRORGET: u32 = 2150105623;
-+pub const VIDIOC_SUBDEV_G_EDID: u32 = 3223868968;
-+pub const MGSL_IOCGSTATS: u32 = 27911;
-+pub const RPROC_SET_SHUTDOWN_ON_RELEASE: u32 = 1074050817;
-+pub const SIOCGSTAMP_NEW: u32 = 2148567302;
-+pub const RTC_WKALM_RD: u32 = 2150133776;
-+pub const PHN_GET_REG: u32 = 3221778432;
-+pub const DELL_WMI_SMBIOS_CMD: u32 = 3224655616;
-+pub const PHN_NOT_OH: u32 = 28676;
-+pub const PPGETMODES: u32 = 2147774615;
-+pub const CHIOGPARAMS: u32 = 2148819718;
-+pub const VFIO_DEVICE_GET_GFX_DMABUF: u32 = 15219;
-+pub const VHOST_SET_VRING_BUSYLOOP_TIMEOUT: u32 = 1074310947;
-+pub const VIDIOC_SUBDEV_G_SELECTION: u32 = 3225441853;
-+pub const BTRFS_IOC_RM_DEV_V2: u32 = 1342215226;
-+pub const MGSL_IOCWAITGPIO: u32 = 3222301970;
-+pub const PMU_IOC_CAN_SLEEP: u32 = 2148024837;
-+pub const KCOV_ENABLE: u32 = 25444;
-+pub const BTRFS_IOC_CLONE: u32 = 1074041865;
-+pub const F2FS_IOC_DEFRAGMENT: u32 = 3222336776;
-+pub const FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE: u32 = 1074012942;
-+pub const AGPIOC_ALLOCATE: u32 = 3221766406;
-+pub const NE_SET_USER_MEMORY_REGION: u32 = 1075359267;
-+pub const MGSL_IOCTXABORT: u32 = 27910;
-+pub const MGSL_IOCSGPIO: u32 = 1074818320;
-+pub const LIRC_SET_REC_CARRIER: u32 = 1074030868;
-+pub const F2FS_IOC_FLUSH_DEVICE: u32 = 1074328842;
-+pub const SNAPSHOT_ATOMIC_RESTORE: u32 = 13060;
-+pub const RTC_UIE_OFF: u32 = 28676;
-+pub const BT_BMC_IOCTL_SMS_ATN: u32 = 45312;
-+pub const NVME_IOCTL_ID: u32 = 20032;
-+pub const NE_START_ENCLAVE: u32 = 3222318628;
-+pub const VIDIOC_STREAMON: u32 = 1074026002;
-+pub const FDPOLLDRVSTAT: u32 = 2152727059;
-+pub const AUTOFS_DEV_IOCTL_READY: u32 = 3222836086;
-+pub const VIDIOC_ENUMAUDOUT: u32 = 3224655426;
-+pub const VIDIOC_SUBDEV_S_STD: u32 = 1074288152;
-+pub const WDIOC_GETTIMELEFT: u32 = 2147768074;
-+pub const ATM_GETLINKRATE: u32 = 1074815361;
-+pub const RTC_WKALM_SET: u32 = 1076391951;
-+pub const VHOST_GET_BACKEND_FEATURES: u32 = 2148052774;
-+pub const ATMARP_ENCAP: u32 = 25061;
-+pub const CAPI_GET_FLAGS: u32 = 2147762979;
-+pub const IPMICTL_SET_MY_CHANNEL_ADDRESS_CMD: u32 = 2147772696;
-+pub const DFL_FPGA_FME_PORT_ASSIGN: u32 = 1074050690;
-+pub const NS_GET_OWNER_UID: u32 = 46852;
-+pub const VIDIOC_OVERLAY: u32 = 1074025998;
-+pub const BTRFS_IOC_WAIT_SYNC: u32 = 1074304022;
-+pub const GPIOHANDLE_SET_CONFIG_IOCTL: u32 = 3226776586;
-+pub const VHOST_GET_VRING_ENDIAN: u32 = 1074310932;
-+pub const ATM_GETADDR: u32 = 1074815366;
-+pub const PHN_GET_REGS: u32 = 3221778434;
-+pub const AUTOFS_DEV_IOCTL_REQUESTER: u32 = 3222836091;
-+pub const AUTOFS_DEV_IOCTL_EXPIRE: u32 = 3222836092;
-+pub const SNAPSHOT_S2RAM: u32 = 13067;
-+pub const JSIOCSAXMAP: u32 = 1077963313;
-+pub const F2FS_IOC_SET_COMPRESS_OPTION: u32 = 1073935638;
-+pub const VBG_IOCTL_HGCM_DISCONNECT: u32 = 3223082501;
-+pub const SCIF_FENCE_SIGNAL: u32 = 3223876369;
-+pub const VFIO_DEVICE_GET_PCI_HOT_RESET_INFO: u32 = 15216;
-+pub const VIDIOC_SUBDEV_ENUM_MBUS_CODE: u32 = 3224393218;
-+pub const MMTIMER_GETOFFSET: u32 = 27904;
-+pub const RIO_CM_CHAN_LISTEN: u32 = 1073898246;
-+pub const ATM_SETSC: u32 = 1074029041;
-+pub const F2FS_IOC_SHUTDOWN: u32 = 2147768445;
-+pub const NVME_IOCTL_RESCAN: u32 = 20038;
-+pub const BLKOPENZONE: u32 = 1074795142;
-+pub const DM_VERSION: u32 = 3241737472;
-+pub const CEC_TRANSMIT: u32 = 3224920325;
-+pub const FS_IOC_GET_ENCRYPTION_POLICY_EX: u32 = 3221841430;
-+pub const SIOCMKCLIP: u32 = 25056;
-+pub const IPMI_BMC_IOCTL_CLEAR_SMS_ATN: u32 = 45313;
-+pub const HIDIOCGVERSION: u32 = 2147764225;
-+pub const VIDIOC_S_INPUT: u32 = 3221509671;
-+pub const VIDIOC_G_CROP: u32 = 3222558267;
-+pub const LIRC_SET_WIDEBAND_RECEIVER: u32 = 1074030883;
-+pub const EVIOCGEFFECTS: u32 = 2147763588;
-+pub const UVCIOC_CTRL_QUERY: u32 = 3222304033;
-+pub const IOC_OPAL_GENERIC_TABLE_RW: u32 = 1094217963;
-+pub const FS_IOC_READ_VERITY_METADATA: u32 = 3223873159;
-+pub const ND_IOCTL_SET_CONFIG_DATA: u32 = 3221769734;
-+pub const USBDEVFS_GETDRIVER: u32 = 1090802952;
-+pub const IDT77105_GETSTAT: u32 = 1074815282;
-+pub const HIDIOCINITREPORT: u32 = 18437;
-+pub const VFIO_DEVICE_GET_INFO: u32 = 15211;
-+pub const RIO_CM_CHAN_RECEIVE: u32 = 3222299402;
-+pub const RNDGETENTCNT: u32 = 2147766784;
-+pub const PPPIOCNEWUNIT: u32 = 3221517374;
-+pub const BTRFS_IOC_INO_LOOKUP: u32 = 3489698834;
-+pub const FDRESET: u32 = 596;
-+pub const IOC_PR_REGISTER: u32 = 1075343560;
-+pub const HIDIOCSREPORT: u32 = 1074546696;
-+pub const TEE_IOC_OPEN_SESSION: u32 = 2148574210;
-+pub const TEE_IOC_SUPPL_RECV: u32 = 2148574214;
-+pub const BTRFS_IOC_BALANCE_CTL: u32 = 1074041889;
-+pub const GPIO_GET_LINEINFO_WATCH_IOCTL: u32 = 3225990155;
-+pub const HIDIOCGRAWINFO: u32 = 2148026371;
-+pub const PPPIOCSCOMPRESS: u32 = 1074820173;
-+pub const USBDEVFS_CONNECTINFO: u32 = 1074287889;
-+pub const BLKRESETZONE: u32 = 1074795139;
-+pub const CHIOINITELEM: u32 = 25361;
-+pub const NILFS_IOCTL_SET_ALLOC_RANGE: u32 = 1074818700;
-+pub const AUTOFS_DEV_IOCTL_CATATONIC: u32 = 3222836089;
-+pub const RIO_MPORT_MAINT_HDID_SET: u32 = 1073900801;
-+pub const PPGETPHASE: u32 = 2147774617;
-+pub const USBDEVFS_DISCONNECT_CLAIM: u32 = 2164806939;
-+pub const FDMSGON: u32 = 581;
-+pub const VIDIOC_G_SLICED_VBI_CAP: u32 = 3228849733;
-+pub const BTRFS_IOC_BALANCE_V2: u32 = 3288372256;
-+pub const MEDIA_REQUEST_IOC_REINIT: u32 = 31873;
-+pub const IOC_OPAL_ERASE_LR: u32 = 1091596518;
-+pub const FDFMTBEG: u32 = 583;
-+pub const RNDRESEEDCRNG: u32 = 20999;
-+pub const ISST_IF_GET_PHY_ID: u32 = 3221814785;
-+pub const TUNSETNOCSUM: u32 = 1074025672;
-+pub const SONET_GETSTAT: u32 = 2149867792;
-+pub const TFD_IOC_SET_TICKS: u32 = 1074287616;
-+pub const PPDATADIR: u32 = 1074032784;
-+pub const IOC_OPAL_ENABLE_DISABLE_MBR: u32 = 1091596517;
-+pub const GPIO_V2_GET_LINE_IOCTL: u32 = 3260068871;
-+pub const RIO_CM_CHAN_SEND: u32 = 1074815753;
-+pub const PPWCTLONIRQ: u32 = 1073836178;
-+pub const SONYPI_IOCGBRT: u32 = 2147579392;
-+pub const IOC_PR_RELEASE: u32 = 1074819274;
-+pub const PPCLRIRQ: u32 = 2147774611;
-+pub const IPMICTL_SET_MY_CHANNEL_LUN_CMD: u32 = 2147772698;
-+pub const MGSL_IOCSXSYNC: u32 = 27923;
-+pub const HPET_IE_OFF: u32 = 26626;
-+pub const IOC_OPAL_ACTIVATE_USR: u32 = 1091596513;
-+pub const SONET_SETFRAMING: u32 = 1074028821;
-+pub const PERF_EVENT_IOC_PAUSE_OUTPUT: u32 = 1074013193;
-+pub const BTRFS_IOC_LOGICAL_INO_V2: u32 = 3224933435;
-+pub const VBG_IOCTL_HGCM_CONNECT: u32 = 3231471108;
-+pub const BLKFINISHZONE: u32 = 1074795144;
-+pub const EVIOCREVOKE: u32 = 1074021777;
-+pub const VFIO_DEVICE_FEATURE: u32 = 15221;
-+pub const CCISS_GETPCIINFO: u32 = 2148024833;
-+pub const ISST_IF_MBOX_COMMAND: u32 = 3221814787;
-+pub const SCIF_ACCEPTREQ: u32 = 3222303492;
-+pub const PERF_EVENT_IOC_QUERY_BPF: u32 = 3221758986;
-+pub const VIDIOC_STREAMOFF: u32 = 1074026003;
-+pub const VDUSE_DESTROY_DEV: u32 = 1090552067;
-+pub const FDGETFDCSTAT: u32 = 2150105621;
-+pub const CM_IOCGATR: u32 = 3221775105;
-+pub const VIDIOC_S_PRIORITY: u32 = 1074026052;
-+pub const SNAPSHOT_FREEZE: u32 = 13057;
-+pub const VIDIOC_ENUMINPUT: u32 = 3226490394;
-+pub const ZATM_GETPOOLZ: u32 = 1074815330;
-+pub const RIO_DISABLE_DOORBELL_RANGE: u32 = 1074294026;
-+pub const GPIO_V2_GET_LINEINFO_WATCH_IOCTL: u32 = 3238048774;
-+pub const VIDIOC_G_STD: u32 = 2148029975;
-+pub const USBDEVFS_ALLOW_SUSPEND: u32 = 21794;
-+pub const SONET_GETSTATZ: u32 = 2149867793;
-+pub const SCIF_ACCEPTREG: u32 = 3221779205;
-+pub const VIDIOC_ENCODER_CMD: u32 = 3223869005;
-+pub const PPPIOCSRASYNCMAP: u32 = 1074033748;
-+pub const IOCTL_MEI_NOTIFY_SET: u32 = 1074022402;
-+pub const BTRFS_IOC_QUOTA_RESCAN_STATUS: u32 = 2151715885;
-+pub const F2FS_IOC_GARBAGE_COLLECT: u32 = 1074066694;
-+pub const ATMLEC_CTRL: u32 = 25040;
-+pub const MATROXFB_GET_AVAILABLE_OUTPUTS: u32 = 2148036345;
-+pub const DM_DEV_CREATE: u32 = 3241737475;
-+pub const VHOST_VDPA_GET_VRING_NUM: u32 = 2147659638;
-+pub const VIDIOC_G_CTRL: u32 = 3221771803;
-+pub const NBD_CLEAR_SOCK: u32 = 43780;
-+pub const VFIO_DEVICE_QUERY_GFX_PLANE: u32 = 15218;
-+pub const WDIOC_KEEPALIVE: u32 = 2147768069;
-+pub const NVME_IOCTL_SUBSYS_RESET: u32 = 20037;
-+pub const PTP_EXTTS_REQUEST2: u32 = 1074806027;
-+pub const PCITEST_BAR: u32 = 20481;
-+pub const MGSL_IOCGGPIO: u32 = 2148560145;
-+pub const EVIOCSREP: u32 = 1074283779;
-+pub const VFIO_DEVICE_GET_IRQ_INFO: u32 = 15213;
-+pub const HPET_DPI: u32 = 26629;
-+pub const VDUSE_VQ_SETUP_KICKFD: u32 = 1074299158;
-+pub const ND_IOCTL_CALL: u32 = 3225439754;
-+pub const HIDIOCGDEVINFO: u32 = 2149337091;
-+pub const DM_TABLE_DEPS: u32 = 3241737483;
-+pub const BTRFS_IOC_DEV_INFO: u32 = 3489698846;
-+pub const VDUSE_IOTLB_GET_FD: u32 = 3223355664;
-+pub const FW_CDEV_IOC_GET_INFO: u32 = 3223855872;
-+pub const VIDIOC_G_PRIORITY: u32 = 2147767875;
-+pub const ATM_NEWBACKENDIF: u32 = 1073897971;
-+pub const VIDIOC_S_EXT_CTRLS: u32 = 3223344712;
-+pub const VIDIOC_SUBDEV_ENUM_DV_TIMINGS: u32 = 3230946914;
-+pub const VIDIOC_OMAP3ISP_CCDC_CFG: u32 = 3224917697;
-+pub const VIDIOC_S_HW_FREQ_SEEK: u32 = 1076909650;
-+pub const DM_TABLE_LOAD: u32 = 3241737481;
-+pub const F2FS_IOC_START_ATOMIC_WRITE: u32 = 62721;
-+pub const VIDIOC_G_OUTPUT: u32 = 2147767854;
-+pub const ATM_DROPPARTY: u32 = 1074029045;
-+pub const CHIOGELEM: u32 = 1080845072;
-+pub const BTRFS_IOC_GET_SUPPORTED_FEATURES: u32 = 2152240185;
-+pub const EVIOCSKEYCODE: u32 = 1074283780;
-+pub const NE_GET_IMAGE_LOAD_INFO: u32 = 3222318626;
-+pub const TUNSETLINK: u32 = 1074025677;
-+pub const FW_CDEV_IOC_ADD_DESCRIPTOR: u32 = 3222807302;
-+pub const BTRFS_IOC_SCRUB_CANCEL: u32 = 37916;
-+pub const PPS_SETPARAMS: u32 = 1074294946;
-+pub const IOC_OPAL_LR_SETUP: u32 = 1093169379;
-+pub const FW_CDEV_IOC_DEALLOCATE: u32 = 1074012931;
-+pub const WDIOC_SETTIMEOUT: u32 = 3221509894;
-+pub const IOC_WATCH_QUEUE_SET_FILTER: u32 = 22369;
-+pub const CAPI_GET_MANUFACTURER: u32 = 3221504774;
-+pub const VFIO_IOMMU_SPAPR_UNREGISTER_MEMORY: u32 = 15222;
-+pub const ASPEED_P2A_CTRL_IOCTL_SET_WINDOW: u32 = 1074836224;
-+pub const VIDIOC_G_EDID: u32 = 3223868968;
-+pub const F2FS_IOC_GARBAGE_COLLECT_RANGE: u32 = 1075377419;
-+pub const RIO_MAP_INBOUND: u32 = 3223874833;
-+pub const IOC_OPAL_TAKE_OWNERSHIP: u32 = 1091072222;
-+pub const USBDEVFS_CLAIM_PORT: u32 = 2147767576;
-+pub const VIDIOC_S_AUDIO: u32 = 1077171746;
-+pub const FS_IOC_GET_ENCRYPTION_NONCE: u32 = 2148558363;
-+pub const FW_CDEV_IOC_SEND_STREAM_PACKET: u32 = 1076372243;
-+pub const BTRFS_IOC_SNAP_DESTROY: u32 = 1342215183;
-+pub const SNAPSHOT_FREE: u32 = 13061;
-+pub const I8K_GET_SPEED: u32 = 3221776773;
-+pub const HIDIOCGREPORT: u32 = 1074546695;
-+pub const HPET_EPI: u32 = 26628;
-+pub const JSIOCSCORR: u32 = 1076128289;
-+pub const IOC_PR_PREEMPT_ABORT: u32 = 1075343564;
-+pub const RIO_MAP_OUTBOUND: u32 = 3223874831;
-+pub const ATM_SETESI: u32 = 1074815372;
-+pub const FW_CDEV_IOC_START_ISO: u32 = 1074799370;
-+pub const ATM_DELADDR: u32 = 1074815369;
-+pub const PPFCONTROL: u32 = 1073901710;
-+pub const SONYPI_IOCGFAN: u32 = 2147579402;
-+pub const RTC_IRQP_SET: u32 = 1074294796;
-+pub const PCITEST_WRITE: u32 = 1074286596;
-+pub const PPCLAIM: u32 = 28811;
-+pub const VIDIOC_S_JPEGCOMP: u32 = 1082938942;
-+pub const IPMICTL_UNREGISTER_FOR_CMD: u32 = 2147641615;
-+pub const VHOST_SET_FEATURES: u32 = 1074310912;
-+pub const TOSHIBA_ACPI_SCI: u32 = 3222828177;
-+pub const VIDIOC_DQBUF: u32 = 3227014673;
-+pub const BTRFS_IOC_BALANCE_PROGRESS: u32 = 2214630434;
-+pub const BTRFS_IOC_SUBVOL_SETFLAGS: u32 = 1074304026;
-+pub const ATMLEC_MCAST: u32 = 25042;
-+pub const MMTIMER_GETFREQ: u32 = 2148035842;
-+pub const VIDIOC_G_SELECTION: u32 = 3225441886;
-+pub const RTC_ALM_SET: u32 = 1076129799;
-+pub const PPPOEIOCSFWD: u32 = 1074311424;
-+pub const IPMICTL_GET_MAINTENANCE_MODE_CMD: u32 = 2147772702;
-+pub const FS_IOC_ENABLE_VERITY: u32 = 1082156677;
-+pub const NILFS_IOCTL_GET_BDESCS: u32 = 3222826631;
-+pub const FDFMTEND: u32 = 585;
-+pub const DMA_BUF_SET_NAME: u32 = 1074291201;
-+pub const UI_BEGIN_FF_UPLOAD: u32 = 3228063176;
-+pub const RTC_UIE_ON: u32 = 28675;
-+pub const PPRELEASE: u32 = 28812;
-+pub const VFIO_IOMMU_UNMAP_DMA: u32 = 15218;
-+pub const VIDIOC_OMAP3ISP_PRV_CFG: u32 = 3228587714;
-+pub const GPIO_GET_LINEHANDLE_IOCTL: u32 = 3245126659;
-+pub const VFAT_IOCTL_READDIR_BOTH: u32 = 2184212993;
-+pub const NVME_IOCTL_ADMIN_CMD: u32 = 3225964097;
-+pub const VHOST_SET_VRING_KICK: u32 = 1074310944;
-+pub const BTRFS_IOC_SUBVOL_CREATE_V2: u32 = 1342215192;
-+pub const BTRFS_IOC_SNAP_CREATE: u32 = 1342215169;
-+pub const SONYPI_IOCGBAT2CAP: u32 = 2147644932;
-+pub const PPNEGOT: u32 = 1074032785;
-+pub const NBD_PRINT_DEBUG: u32 = 43782;
-+pub const BTRFS_IOC_INO_LOOKUP_USER: u32 = 3489698878;
-+pub const BTRFS_IOC_GET_SUBVOL_ROOTREF: u32 = 3489698877;
-+pub const FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS: u32 = 3225445913;
-+pub const BTRFS_IOC_FS_INFO: u32 = 2214630431;
-+pub const VIDIOC_ENUM_FMT: u32 = 3225441794;
-+pub const VIDIOC_G_INPUT: u32 = 2147767846;
-+pub const VTPM_PROXY_IOC_NEW_DEV: u32 = 3222577408;
-+pub const DFL_FPGA_FME_ERR_GET_IRQ_NUM: u32 = 2147792515;
-+pub const ND_IOCTL_DIMM_FLAGS: u32 = 3221769731;
-+pub const BTRFS_IOC_QUOTA_RESCAN: u32 = 1077974060;
-+pub const MMTIMER_GETCOUNTER: u32 = 2148035849;
-+pub const MATROXFB_GET_OUTPUT_MODE: u32 = 3221778170;
-+pub const BTRFS_IOC_QUOTA_RESCAN_WAIT: u32 = 37934;
-+pub const RIO_CM_CHAN_BIND: u32 = 1074291461;
-+pub const HIDIOCGRDESC: u32 = 2416199682;
-+pub const MGSL_IOCGIF: u32 = 27915;
-+pub const VIDIOC_S_OUTPUT: u32 = 3221509679;
-+pub const HIDIOCGREPORTINFO: u32 = 3222030345;
-+pub const WDIOC_GETBOOTSTATUS: u32 = 2147768066;
-+pub const VDUSE_VQ_GET_INFO: u32 = 3224404245;
-+pub const ACRN_IOCTL_ASSIGN_PCIDEV: u32 = 1076142677;
-+pub const BLKGETDISKSEQ: u32 = 2148012672;
-+pub const ACRN_IOCTL_PM_GET_CPU_STATE: u32 = 3221791328;
-+pub const ACRN_IOCTL_DESTROY_VM: u32 = 41489;
-+pub const ACRN_IOCTL_SET_PTDEV_INTR: u32 = 1075094099;
-+pub const ACRN_IOCTL_CREATE_IOREQ_CLIENT: u32 = 41522;
-+pub const ACRN_IOCTL_IRQFD: u32 = 1075356273;
-+pub const ACRN_IOCTL_CREATE_VM: u32 = 3224412688;
-+pub const ACRN_IOCTL_INJECT_MSI: u32 = 1074831907;
-+pub const ACRN_IOCTL_ATTACH_IOREQ_CLIENT: u32 = 41523;
-+pub const ACRN_IOCTL_RESET_PTDEV_INTR: u32 = 1075094100;
-+pub const ACRN_IOCTL_NOTIFY_REQUEST_FINISH: u32 = 1074307633;
-+pub const ACRN_IOCTL_SET_IRQLINE: u32 = 1074307621;
-+pub const ACRN_IOCTL_START_VM: u32 = 41490;
-+pub const ACRN_IOCTL_SET_VCPU_REGS: u32 = 1093181974;
-+pub const ACRN_IOCTL_SET_MEMSEG: u32 = 1075880513;
-+pub const ACRN_IOCTL_PAUSE_VM: u32 = 41491;
-+pub const ACRN_IOCTL_CLEAR_VM_IOREQ: u32 = 41525;
-+pub const ACRN_IOCTL_UNSET_MEMSEG: u32 = 1075880514;
-+pub const ACRN_IOCTL_IOEVENTFD: u32 = 1075880560;
-+pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 1076142678;
-+pub const ACRN_IOCTL_RESET_VM: u32 = 41493;
-+pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 41524;
-+pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 1074307620;
--- 
-2.42.1
-
diff --git a/poky/meta/recipes-gnome/librsvg/librsvg/0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch b/poky/meta/recipes-gnome/librsvg/librsvg/0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch
index d7487c2..c34a610 100644
--- a/poky/meta/recipes-gnome/librsvg/librsvg/0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch
+++ b/poky/meta/recipes-gnome/librsvg/librsvg/0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch
@@ -1,4 +1,4 @@
-From 95b2cd0169cb1b4694c2bce67169b1aa1d5e2be0 Mon Sep 17 00:00:00 2001
+From d0f4f5b3ae900b9d092407e29b5372d93910c18c Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Tue, 21 Sep 2021 16:27:14 +0200
 Subject: [PATCH] Makefile.am: pass rust target to cargo also when not cross
@@ -14,10 +14,10 @@
  2 files changed, 1 insertion(+), 5 deletions(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index e93714e..effe5d3 100644
+index 2a89954..4e296d3 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -137,9 +137,7 @@ else
+@@ -173,9 +173,7 @@ else
  CARGO_RELEASE_ARGS=--release
  endif
  
@@ -28,10 +28,10 @@
  CARGO_VERBOSE = $(cargo_verbose_$(V))
  cargo_verbose_ = $(cargo_verbose_$(AM_DEFAULT_VERBOSITY))
 diff --git a/configure.ac b/configure.ac
-index 41590ca..84cd56b 100644
+index 42215cf..2499c96 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -255,9 +255,7 @@ AC_ARG_VAR(RUST_TARGET, [Set rust target (default=$host)])
+@@ -292,9 +292,7 @@ AC_ARG_VAR(RUST_TARGET, [Set rust target (default=$host)])
  : ${RUST_TARGET:=$host}
  
  AM_CONDITIONAL([CROSS_COMPILING], [test "x$cross_compiling" = xyes])
@@ -42,6 +42,3 @@
  AC_SUBST([RUST_TARGET_SUBDIR])
  
  dnl ===========================================================================
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-gnome/librsvg/librsvg_2.56.3.bb b/poky/meta/recipes-gnome/librsvg/librsvg_2.57.1.bb
similarity index 91%
rename from poky/meta/recipes-gnome/librsvg/librsvg_2.56.3.bb
rename to poky/meta/recipes-gnome/librsvg/librsvg_2.57.1.bb
index 9824b88..4b52d40 100644
--- a/poky/meta/recipes-gnome/librsvg/librsvg_2.56.3.bb
+++ b/poky/meta/recipes-gnome/librsvg/librsvg_2.57.1.bb
@@ -19,11 +19,11 @@
 
 require ${BPN}-crates.inc
 
-SRC_URI += "file://0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch \
-            file://0001-Add-riscv32-support.patch;patchdir=../cargo_home/bitbake/linux-raw-sys-0.4.3 \
+SRC_URI += " \
+           file://0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch \
            "
 
-SRC_URI[archive.sha256sum] = "5a328048a02d014645cd27f61140f4e0b11280fb2c7f2a21864fe0c59ac1ce88"
+SRC_URI[archive.sha256sum] = "074671a3ed6fbcd67cae2a40e539107f4f097ca8a4ab1a894c05e2524ff340ef"
 
 UPSTREAM_CHECK_REGEX = "librsvg-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
 
diff --git a/poky/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch b/poky/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch
index a2dcb13..316a57f 100644
--- a/poky/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch
+++ b/poky/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch
@@ -1,4 +1,4 @@
-From e8c1b7e1dc6d108a3b49d0adfdc4f836cfafcf1a Mon Sep 17 00:00:00 2001
+From 4cede5edcff96134baf35953d58595c4aa5f1fc5 Mon Sep 17 00:00:00 2001
 From: Jose Quaresma <quaresma.jose@gmail.com>
 Date: Sun, 7 Feb 2021 01:30:39 +0000
 Subject: [PATCH] generate glslang pkg-config
@@ -8,7 +8,6 @@
 Upstream-Status: Pending
 
 Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
-
 ---
  glslang/CMakeLists.txt      |  2 ++
  glslang/glslang.pc.cmake.in | 11 +++++++++++
@@ -16,21 +15,21 @@
  create mode 100644 glslang/glslang.pc.cmake.in
 
 diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
-index 72e82b48..c6188e12 100644
+index 37eecaad..6974935c 100644
 --- a/glslang/CMakeLists.txt
 +++ b/glslang/CMakeLists.txt
-@@ -223,6 +223,8 @@ if(ENABLE_GLSLANG_INSTALL)
+@@ -251,6 +251,8 @@ if(PROJECT_IS_TOP_LEVEL)
          ")
          install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glslangTargets.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
      endif()
 +    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/glslang.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc @ONLY)
 +    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
  
-     set(ALL_HEADERS
-         ${GLSLANG_HEADERS}
+     set(PUBLIC_HEADERS
+         Public/ResourceLimits.h
 diff --git a/glslang/glslang.pc.cmake.in b/glslang/glslang.pc.cmake.in
 new file mode 100644
-index 00000000..948a0952
+index 00000000..43104e68
 --- /dev/null
 +++ b/glslang/glslang.pc.cmake.in
 @@ -0,0 +1,11 @@
diff --git a/poky/meta/recipes-graphics/glslang/glslang_1.3.268.0.bb b/poky/meta/recipes-graphics/glslang/glslang_1.3.275.0.bb
similarity index 96%
rename from poky/meta/recipes-graphics/glslang/glslang_1.3.268.0.bb
rename to poky/meta/recipes-graphics/glslang/glslang_1.3.275.0.bb
index 033830b..2fd1e72 100644
--- a/poky/meta/recipes-graphics/glslang/glslang_1.3.268.0.bb
+++ b/poky/meta/recipes-graphics/glslang/glslang_1.3.275.0.bb
@@ -8,7 +8,7 @@
 LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2a2b5acd7bc4844964cfda45fe807dc3"
 
-SRCREV = "36d08c0d940cf307a23928299ef52c7970d8cee6"
+SRCREV = "a91631b260cba3f22858d6c6827511e636c2458a"
 SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https;branch=main \
            file://0001-generate-glslang-pkg-config.patch \
            "
diff --git a/poky/meta/recipes-graphics/kmscube/kmscube/0001-cube-gears-Change-header-file-to-GLES3-gl3.h.patch b/poky/meta/recipes-graphics/kmscube/kmscube/0001-cube-gears-Change-header-file-to-GLES3-gl3.h.patch
index 6843a66..f8608d4 100644
--- a/poky/meta/recipes-graphics/kmscube/kmscube/0001-cube-gears-Change-header-file-to-GLES3-gl3.h.patch
+++ b/poky/meta/recipes-graphics/kmscube/kmscube/0001-cube-gears-Change-header-file-to-GLES3-gl3.h.patch
@@ -1,4 +1,4 @@
-From 0651c4edc9909832ff2acbbf170268f34e36616d Mon Sep 17 00:00:00 2001
+From 5f54f067da7ee24a61d6cb41e0636383729e2bad Mon Sep 17 00:00:00 2001
 From: Fabio Estevam <festevam@gmail.com>
 Date: Mon, 8 Jan 2024 15:00:01 -0300
 Subject: [PATCH] cube-gears: Change header file to <GLES3/gl3.h>
@@ -17,17 +17,15 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/cube-gears.c b/cube-gears.c
-index d5b7a5f9cbef..cb538ecc4aee 100644
+index d5b7a5f..cb538ec 100644
 --- a/cube-gears.c
 +++ b/cube-gears.c
 @@ -31,7 +31,7 @@
  #include <sys/time.h>
  #include <math.h>
-
+ 
 -#include <GL/gl.h>
 +#include <GLES3/gl3.h>
-
+ 
  #include "common.h"
  #include "esUtil.h"
---
-2.34.1
diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
index 505acb0..19bbcd1 100644
--- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
+++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
@@ -10,7 +10,7 @@
 
 LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb"
 
-SRCREV = "96d63eb59e34c647cda1cbb489265f8c536ae055"
+SRCREV = "6ab022fdfcfedd28f4b5dbd8d3299414a367746f"
 SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https \
            file://0001-cube-gears-Change-header-file-to-GLES3-gl3.h.patch \
            "
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch b/poky/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch
new file mode 100644
index 0000000..ab16152
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch
@@ -0,0 +1,58 @@
+From 4bd15a419e892da843489c374c58c5b29c40b5d6 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@smile.fr>
+Date: Tue, 6 Feb 2024 09:47:09 +0100
+Subject: [PATCH 1/2] drisw: fix build without dri3
+
+commit 1887368df41 ("glx/sw: check for modifier support in the kopper path")
+added dri3_priv.h header and dri3_check_multibuffer() function in drisw that
+can be build without dri3.
+
+  i686-buildroot-linux-gnu/bin/ld: src/glx/libglx.a.p/drisw_glx.c.o: in function `driswCreateScreenDriver':
+  drisw_glx.c:(.text.driswCreateScreenDriver+0x3a0): undefined reference to `dri3_check_multibuffer'
+  collect2: error: ld returned 1 exit status
+
+Add HAVE_DRI3 guard around dri3_priv.h header and the zink code using
+dri3_check_multibuffer().
+
+Fixes: 1887368df41 ("glx/sw: check for modifier support in the kopper path")
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478]
+Signed-off-by: Romain Naour <romain.naour@smile.fr>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/glx/drisw_glx.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
+index 3d3f752..4b19e2d 100644
+--- a/src/glx/drisw_glx.c
++++ b/src/glx/drisw_glx.c
+@@ -32,7 +32,9 @@
+ #include <dlfcn.h>
+ #include "dri_common.h"
+ #include "drisw_priv.h"
++#ifdef HAVE_DRI3
+ #include "dri3_priv.h"
++#endif
+ #include <X11/extensions/shmproto.h>
+ #include <assert.h>
+ #include <vulkan/vulkan_core.h>
+@@ -995,6 +997,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv,
+        goto handle_error;
+    }
+ 
++#ifdef HAVE_DRI3
+    if (pdpyp->zink) {
+       bool err;
+       psc->has_multibuffer = dri3_check_multibuffer(priv->dpy, &err);
+@@ -1005,6 +1008,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv,
+          goto handle_error;
+       }
+    }
++#endif
+ 
+    glx_config_destroy_list(psc->base.configs);
+    psc->base.configs = configs;
+-- 
+2.44.0
+
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-gallium-Fix-build-with-llvm-17.patch b/poky/meta/recipes-graphics/mesa/files/0001-gallium-Fix-build-with-llvm-17.patch
index 237f940..ceb0153 100644
--- a/poky/meta/recipes-graphics/mesa/files/0001-gallium-Fix-build-with-llvm-17.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0001-gallium-Fix-build-with-llvm-17.patch
@@ -1,4 +1,4 @@
-From 6d07f6aa7f92f40d78a2db645f16f0f3e7d3c2e8 Mon Sep 17 00:00:00 2001
+From 3e1e5c475b52651657c906e6b03ee13567cccdd7 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 23 Jun 2023 01:20:38 -0700
 Subject: [PATCH] gallium: Fix build with llvm 17
@@ -9,7 +9,6 @@
 
 Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23827]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
 ---
  src/gallium/auxiliary/gallivm/lp_bld_init.c | 6 +++++-
  1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
index 9cd9bee..baa98a0 100644
--- a/poky/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
@@ -1,11 +1,10 @@
-From 3ef37c63f03ad6f2af407de350486fdd25e9132a Mon Sep 17 00:00:00 2001
+From 02cc21800fe29f566add525e63f619c0536d6e7b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 13 Jan 2020 15:23:47 -0800
 Subject: [PATCH] meson misdetects 64bit atomics on mips/clang
 
 Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
 ---
  src/util/u_atomic.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
index b0be8d0..7be7d81 100644
--- a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
@@ -1,4 +1,4 @@
-From f2fe76d506f356de055b8eca83a7c9d0744a40af Mon Sep 17 00:00:00 2001
+From e8ec6b1cc5e401ba719095722d8b317d755ae613 Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair@alistair23.me>
 Date: Thu, 14 Nov 2019 13:04:49 -0800
 Subject: [PATCH] meson.build: check for all linux host_os combinations
@@ -14,16 +14,15 @@
 Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
 Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
 Signed-off-by: Alistair Francis <alistair@alistair23.me>
-
 ---
  meson.build | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 35cc5f1..9a49c0d 100644
+index 133fd9a..817861e 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -128,7 +128,7 @@
+@@ -128,7 +128,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
  # Only build shared_glapi if at least one OpenGL API is enabled
  with_shared_glapi = with_shared_glapi and with_any_opengl
  
@@ -32,7 +31,7 @@
  
  gallium_drivers = get_option('gallium-drivers')
  if gallium_drivers.contains('auto')
-@@ -998,7 +998,7 @@
+@@ -997,7 +997,7 @@ if cc.has_function('fmemopen')
  endif
  
  # TODO: this is very incomplete
diff --git a/poky/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch b/poky/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch
new file mode 100644
index 0000000..036a0b4
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch
@@ -0,0 +1,42 @@
+From 62495ebb977866c52d5bed8499a547c49f0d9bc1 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@smile.fr>
+Date: Tue, 6 Feb 2024 09:47:10 +0100
+Subject: [PATCH 2/2] glxext: don't try zink if not enabled in mesa
+
+Commit 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers")
+added an automatic zink fallback even when the zink gallium is not
+enabled at build time.
+
+It leads to unexpected error log while loading drisw driver and
+zink is not installed on the rootfs:
+
+  MESA-LOADER: failed to open zink: /usr/lib/dri/zink_dri.so
+
+Fixes: 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers")
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478]
+Signed-off-by: Romain Naour <romain.naour@smile.fr>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/glx/glxext.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/glx/glxext.c b/src/glx/glxext.c
+index 05c825a..7a06aa9 100644
+--- a/src/glx/glxext.c
++++ b/src/glx/glxext.c
+@@ -908,9 +908,11 @@ __glXInitialize(Display * dpy)
+ #endif /* HAVE_DRI3 */
+       if (!debug_get_bool_option("LIBGL_DRI2_DISABLE", false))
+          dpyPriv->dri2Display = dri2CreateDisplay(dpy);
++#if defined(HAVE_ZINK)
+       if (!dpyPriv->dri3Display && !dpyPriv->dri2Display)
+          try_zink = !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false) &&
+                     !getenv("GALLIUM_DRIVER");
++#endif /* HAVE_ZINK */
+    }
+ #endif /* GLX_USE_DRM */
+    if (glx_direct)
+-- 
+2.44.0
+
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_24.0.1.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_24.0.2.bb
similarity index 100%
rename from poky/meta/recipes-graphics/mesa/mesa-gl_24.0.1.bb
rename to poky/meta/recipes-graphics/mesa/mesa-gl_24.0.2.bb
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index cdac01d..12d7a18 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -18,9 +18,11 @@
            file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
            file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
            file://0001-gallium-Fix-build-with-llvm-17.patch \
+           file://0001-drisw-fix-build-without-dri3.patch \
+           file://0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch \
 "
 
-SRC_URI[sha256sum] = "f387192b08c471c545590dd12230a2a343244804b5fe866fec6aea02eab57613"
+SRC_URI[sha256sum] = "94e28a8edad06d8ed2b83eb53f253b9eb5aa62c3080f939702e1b3039b56c9e8"
 
 UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
 
diff --git a/poky/meta/recipes-graphics/mesa/mesa_24.0.1.bb b/poky/meta/recipes-graphics/mesa/mesa_24.0.2.bb
similarity index 100%
rename from poky/meta/recipes-graphics/mesa/mesa_24.0.1.bb
rename to poky/meta/recipes-graphics/mesa/mesa_24.0.2.bb
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Fix-narrowing-errors-seen-with-clang.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Fix-narrowing-errors-seen-with-clang.patch
index b1bb00e..08e709b 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Fix-narrowing-errors-seen-with-clang.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Fix-narrowing-errors-seen-with-clang.patch
@@ -1,4 +1,4 @@
-From cd38c91e8c743bfc1841bcdd08e1ab18bf22f0e1 Mon Sep 17 00:00:00 2001
+From 77f327909e4a99c64261290cd76e234e10cc64d2 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 3 May 2023 21:59:43 -0700
 Subject: [PATCH] tests: Fix narrowing errors seen with clang
@@ -48,6 +48,3 @@
  		glClearBufferuiv(GL_COLOR, 0, clear_color);
  		break;
  	}
--- 
-2.40.1
-
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-utils-Include-libgen.h-on-musl-linux-systems.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-utils-Include-libgen.h-on-musl-linux-systems.patch
index 35e919e..e180664 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0001-utils-Include-libgen.h-on-musl-linux-systems.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0001-utils-Include-libgen.h-on-musl-linux-systems.patch
@@ -1,4 +1,4 @@
-From 232a67b651ccb415b7d4d47584613359b7ebd920 Mon Sep 17 00:00:00 2001
+From 608cdeddc8e8a679b195927c4d34dc8d93142a91 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 13 Feb 2024 08:53:37 -0800
 Subject: [PATCH] utils: Include libgen.h on musl/linux systems
@@ -26,6 +26,3 @@
  #  include "libgen.h" // for basename
  #elif defined(_MSC_VER)
  
--- 
-2.43.1
-
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch b/poky/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
index 5d6ec36..70bb550 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
@@ -1,4 +1,4 @@
-From 3bf1beee1ddd19bc536ff2856e04ac269d43daa2 Mon Sep 17 00:00:00 2001
+From cb8e4b99fcfe81399e3e6d922156db4a48a39a8e Mon Sep 17 00:00:00 2001
 From: Pascal Bach <pascal.bach@siemens.com>
 Date: Thu, 4 Oct 2018 14:43:17 +0200
 Subject: [PATCH] cmake: use proper WAYLAND_INCLUDE_DIRS variable
@@ -15,7 +15,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/tests/util/CMakeLists.txt b/tests/util/CMakeLists.txt
-index a5f080156..a303a9f58 100644
+index 1714ab41f..3b67aa7da 100644
 --- a/tests/util/CMakeLists.txt
 +++ b/tests/util/CMakeLists.txt
 @@ -97,7 +97,7 @@ if(PIGLIT_USE_WAFFLE)
@@ -27,6 +27,3 @@
  		)
  	endif()
  	if(PIGLIT_HAS_X11)
--- 
-2.11.0
-
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch b/poky/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
index 16c7c5c..ce5cbd3 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
@@ -1,8 +1,8 @@
-From 1c67250308a92d4991ed05d9d240090ab84accae Mon Sep 17 00:00:00 2001
+From 7d2d23125f1946a7b74f9a427388d469500fcd8d Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 10 Nov 2020 17:13:50 +0000
-Subject: [PATCH 2/2] tests/util/piglit-shader.c: do not hardcode build path
- into target binary
+Subject: [PATCH] tests/util/piglit-shader.c: do not hardcode build path into
+ target binary
 
 This helps reproducibilty.
 
@@ -13,7 +13,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/tests/util/piglit-shader.c b/tests/util/piglit-shader.c
-index 4fd68d21e..c9ea8295e 100644
+index 1787eb180..9e74704b1 100644
 --- a/tests/util/piglit-shader.c
 +++ b/tests/util/piglit-shader.c
 @@ -73,7 +73,7 @@ piglit_compile_shader(GLenum target, const char *filename)
@@ -25,6 +25,3 @@
  	}
  
  	snprintf(filename_with_path, FILENAME_MAX - 1,
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb
index ab749f7..99d75e6 100644
--- a/poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -14,7 +14,7 @@
            "
 UPSTREAM_CHECK_COMMITS = "1"
 
-SRCREV = "f3f1b3f960611a88cb1a037114ba4724f1bf330e"
+SRCREV = "22eaf6a91cfd57f7bb3df4e5068c2ac1472d4ec1"
 # (when PV goes above 1.0 remove the trailing r)
 PV = "1.0+gitr"
 
diff --git a/poky/meta/recipes-graphics/shaderc/files/0001-CMakeLists.txt-drop-OSDependent-OGLCompiler-from-lis.patch b/poky/meta/recipes-graphics/shaderc/files/0001-CMakeLists.txt-drop-OSDependent-OGLCompiler-from-lis.patch
deleted file mode 100644
index ecaa2dd..0000000
--- a/poky/meta/recipes-graphics/shaderc/files/0001-CMakeLists.txt-drop-OSDependent-OGLCompiler-from-lis.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 7f6c60f928dabd8b15aa948886523ddf15709215 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Wed, 2 Nov 2022 15:42:58 +0100
-Subject: [PATCH] CMakeLists.txt: drop OSDependent/OGLCompiler from lists of
- glslang libraries
-
-glslang no longer installs them separately, and all needed
-functionality has been merged into glslang shared library itself:
-
-This wasn't a problem previously as they were still provided,
-as static libraries but in latest glslang they no longer are:
-https://github.com/KhronosGroup/glslang/commit/7cd519511c32d7e86d901c7ed231cb84c652d18d
-
-Upstream-Status: Submitted [https://github.com/google/shaderc/pull/1276]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- glslc/CMakeLists.txt           | 2 +-
- libshaderc/CMakeLists.txt      | 2 +-
- libshaderc/README.md           | 4 ++--
- libshaderc_util/CMakeLists.txt | 2 +-
- 4 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt
-index 31664d1..5093bd9 100644
---- a/glslc/CMakeLists.txt
-+++ b/glslc/CMakeLists.txt
-@@ -43,7 +43,7 @@ if (SHADERC_ENABLE_WGSL_OUTPUT)
- endif(SHADERC_ENABLE_WGSL_OUTPUT)
- 
- target_link_libraries(glslc PRIVATE
--  glslang OSDependent OGLCompiler HLSL glslang SPIRV    # Glslang libraries
-+  glslang HLSL glslang SPIRV    # Glslang libraries
-   $<$<BOOL:${SHADERC_ENABLE_WGSL_OUTPUT}>:libtint>      # Tint libraries, optional
-   shaderc_util shaderc                                  # internal Shaderc libraries
-   ${CMAKE_THREAD_LIBS_INIT})
-diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt
-index 3ada419..d3542bf 100644
---- a/libshaderc/CMakeLists.txt
-+++ b/libshaderc/CMakeLists.txt
-@@ -62,7 +62,7 @@ endif(SHADERC_ENABLE_INSTALL)
- 
- find_package(Threads)
- set(SHADERC_LIBS
--  glslang OSDependent OGLCompiler glslang ${CMAKE_THREAD_LIBS_INIT}
-+  glslang glslang ${CMAKE_THREAD_LIBS_INIT}
-   shaderc_util
-   SPIRV # from glslang
-   SPIRV-Tools
-diff --git a/libshaderc/README.md b/libshaderc/README.md
-index bf9d317..1071769 100644
---- a/libshaderc/README.md
-+++ b/libshaderc/README.md
-@@ -7,8 +7,8 @@ A library for compiling shader strings into SPIR-V.
- There are two main shaderc libraries that are created during a CMake
- compilation. The first is `libshaderc`, which is a static library
- containing just the functionality exposed by libshaderc. It depends
--on other compilation targets `glslang`, `OSDependent`, `OGLCompiler`,
--`shaderc_util`, `SPIRV`, `HLSL`, `SPIRV-Tools`, and `SPIRV-Tools-opt`.
-+on other compilation targets `glslang`, `shaderc_util`, `SPIRV`,
-+`HLSL`, `SPIRV-Tools`, and `SPIRV-Tools-opt`.
- 
- The other is `libshaderc_combined`, which is a static library containing
- libshaderc and all of its dependencies.
-diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt
-index 99ce3c4..5291175 100644
---- a/libshaderc_util/CMakeLists.txt
-+++ b/libshaderc_util/CMakeLists.txt
-@@ -46,7 +46,7 @@ add_definitions(-DENABLE_HLSL)
- 
- find_package(Threads)
- target_link_libraries(shaderc_util PRIVATE
--  glslang OSDependent OGLCompiler HLSL glslang SPIRV
-+  glslang HLSL glslang SPIRV
-   SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT})
- 
- shaderc_add_tests(
diff --git a/poky/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch b/poky/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch
index 35855bd..4212512 100644
--- a/poky/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch
+++ b/poky/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch
@@ -1,4 +1,4 @@
-From d3fbd6b9427f29606540528d17fe02930cd78d0c Mon Sep 17 00:00:00 2001
+From 792a46ef27ef879a21c9f01a198eae213ea535e6 Mon Sep 17 00:00:00 2001
 From: Jose Quaresma <quaresma.jose@gmail.com>
 Date: Sat, 13 Feb 2021 00:45:56 +0000
 Subject: [PATCH] cmake: disable building external dependencies
@@ -9,17 +9,16 @@
 Upstream-Status: Inappropriate [OE-core specific]
 
 Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
-
 ---
  CMakeLists.txt                | 13 ++++++++++---
  utils/update_build_version.py | 22 +++++++++++++++-------
  2 files changed, 25 insertions(+), 10 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 633c244..75b01da 100644
+index 7bc8f5d..13fc535 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -67,6 +67,7 @@ else()
+@@ -62,6 +62,7 @@ else()
  endif()
  
  option(SHADERC_ENABLE_WERROR_COMPILE "Enable passing -Werror to compiler, if available" ON)
@@ -27,7 +26,7 @@
  
  set (CMAKE_CXX_STANDARD 17)
  
-@@ -129,8 +130,14 @@ endif(MSVC)
+@@ -123,8 +124,14 @@ endif(MSVC)
  
  
  # Configure subdirectories.
@@ -44,7 +43,7 @@
  
  add_subdirectory(libshaderc_util)
  add_subdirectory(libshaderc)
-@@ -142,7 +149,7 @@ endif()
+@@ -136,7 +143,7 @@ endif()
  add_custom_target(build-version
    ${PYTHON_EXECUTABLE}
    ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py
@@ -54,7 +53,7 @@
  
  function(define_pkg_config_file NAME LIBS)
 diff --git a/utils/update_build_version.py b/utils/update_build_version.py
-index 5785390..f72b762 100755
+index 11ee53e..d39e59d 100755
 --- a/utils/update_build_version.py
 +++ b/utils/update_build_version.py
 @@ -30,6 +30,7 @@ import re
diff --git a/poky/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch b/poky/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch
index 0e8ad7e..39f982b 100644
--- a/poky/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch
+++ b/poky/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch
@@ -1,4 +1,4 @@
-From d02ad48d5c9b48af70ddea2e6998081347ef82f3 Mon Sep 17 00:00:00 2001
+From ec2442940e1d5338971861bb81537bae3a6c19e2 Mon Sep 17 00:00:00 2001
 From: Jose Quaresma <quaresma.jose@gmail.com>
 Date: Sat, 13 Feb 2021 00:45:56 +0000
 Subject: [PATCH] libshaderc_util: fix glslang header file location
@@ -6,13 +6,12 @@
 Upstream-Status: Pending
 
 Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
-
 ---
  libshaderc_util/src/compiler.cc | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/libshaderc_util/src/compiler.cc b/libshaderc_util/src/compiler.cc
-index 051558b..9c4476c 100644
+index e5f5d10..5fd6d3c 100644
 --- a/libshaderc_util/src/compiler.cc
 +++ b/libshaderc_util/src/compiler.cc
 @@ -20,7 +20,7 @@
diff --git a/poky/meta/recipes-graphics/shaderc/shaderc_2023.7.bb b/poky/meta/recipes-graphics/shaderc/shaderc_2023.8.bb
similarity index 88%
rename from poky/meta/recipes-graphics/shaderc/shaderc_2023.7.bb
rename to poky/meta/recipes-graphics/shaderc/shaderc_2023.8.bb
index cf2ced9..bc7afbd 100644
--- a/poky/meta/recipes-graphics/shaderc/shaderc_2023.7.bb
+++ b/poky/meta/recipes-graphics/shaderc/shaderc_2023.8.bb
@@ -6,11 +6,10 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRCREV = "3882b16417077aa8eaa7b5775920e7ba4b8a224d"
+SRCREV = "f8a25c591bf5edbb462ca4aea99dcc666f096d13"
 SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \
            file://0001-cmake-disable-building-external-dependencies.patch \
            file://0002-libshaderc_util-fix-glslang-header-file-location.patch \
-           file://0001-CMakeLists.txt-drop-OSDependent-OGLCompiler-from-lis.patch \
            "
 UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/spir/spirv-headers_1.3.268.0.bb b/poky/meta/recipes-graphics/spir/spirv-headers_1.3.275.0.bb
similarity index 93%
rename from poky/meta/recipes-graphics/spir/spirv-headers_1.3.268.0.bb
rename to poky/meta/recipes-graphics/spir/spirv-headers_1.3.275.0.bb
index 7045f70..598a8fc 100644
--- a/poky/meta/recipes-graphics/spir/spirv-headers_1.3.268.0.bb
+++ b/poky/meta/recipes-graphics/spir/spirv-headers_1.3.275.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d"
 
-SRCREV = "e867c06631767a2d96424cbec530f9ee5e78180f"
+SRCREV = "1c6bb2743599e6eb6f37b2969acc0aef812e32e3"
 SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=main"
 PE = "1"
 # These recipes need to be updated in lockstep with each other:
diff --git a/poky/meta/recipes-graphics/spir/spirv-tools_1.3.268.0.bb b/poky/meta/recipes-graphics/spir/spirv-tools_1.3.275.0.bb
similarity index 96%
rename from poky/meta/recipes-graphics/spir/spirv-tools_1.3.268.0.bb
rename to poky/meta/recipes-graphics/spir/spirv-tools_1.3.275.0.bb
index 1cccafd..05c6de1 100644
--- a/poky/meta/recipes-graphics/spir/spirv-tools_1.3.268.0.bb
+++ b/poky/meta/recipes-graphics/spir/spirv-tools_1.3.275.0.bb
@@ -7,7 +7,7 @@
 LICENSE  = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRCREV = "360d469b9eac54d6c6e20f609f9ec35e3a5380ad"
+SRCREV = "f0cc85efdbbe3a46eae90e0f915dc1509836d0fc"
 SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=main;protocol=https"
 PE = "1"
 # These recipes need to be updated in lockstep with each other:
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.268.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.275.0.bb
similarity index 95%
rename from poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.268.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.275.0.bb
index a1a8331..aacec8c 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.268.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.275.0.bb
@@ -11,7 +11,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.md;md5=1bc355d8c4196f774c8b87ed1a8dd625"
 SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https"
 
-SRCREV = "7b3466a1f47a9251ac1113efbe022ff016e2f95b"
+SRCREV = "217e93c664ec6704ec2d8c36fa116c1a4a1e2d40"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.268.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.bb
similarity index 94%
rename from poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.268.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.bb
index 5a5749d..7caed67 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.268.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.bb
@@ -9,8 +9,8 @@
 
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=vulkan-sdk-1.3.268;protocol=https"
-SRCREV = "f4c838e2e7358fc450f8112119bbdbb5b03e03fa"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=vulkan-sdk-1.3.275;protocol=https"
+SRCREV = "00893b9a03e526aec2c5bf487521d16dfa435229"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.268.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.275.0.bb
similarity index 93%
rename from poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.268.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.275.0.bb
index 78bd9b0..f86912c 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.268.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.275.0.bb
@@ -7,7 +7,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
 SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=main;protocol=https"
-SRCREV = "1532001f7edae559af1988293eec90bc5e2607d5"
+SRCREV = "c86d42cf9eb620eeac377e3bff46ae342c5cd664"
 
 S = "${WORKDIR}/git"
 
@@ -15,7 +15,7 @@
 ANY_OF_DISTRO_FEATURES = "x11 wayland"
 REQUIRED_DISTRO_FEATURES = "vulkan"
 
-DEPENDS += "vulkan-headers vulkan-loader"
+DEPENDS += "vulkan-headers vulkan-loader vulkan-volk"
 
 EXTRA_OECMAKE = "\
                  -DBUILD_TESTS=OFF \
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.268.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.275.0.bb
similarity index 94%
rename from poky/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.268.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.275.0.bb
index fee4ba6..759a039 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.268.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.275.0.bb
@@ -10,7 +10,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.md;md5=4ca2d6799091aaa98a8520f1b793939b"
 
 SRC_URI = "git://github.com/KhronosGroup/Vulkan-Utility-Libraries.git;branch=main;protocol=https"
-SRCREV = "c9ca4ac620a238a93c65d864f2eaa33954d74509"
+SRCREV = "4cfc176e3242b4dbdfd3f6c5680c5d8f2cb7db45"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.268.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.275.0.bb
similarity index 94%
rename from poky/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.268.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.275.0.bb
index 6c2715b..2395891 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.268.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.275.0.bb
@@ -8,8 +8,8 @@
 LICENSE = "Apache-2.0 & MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd3c0bc366cd9b6a906e22f0bcb5910f"
 
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.3.268;protocol=https"
-SRCREV = "3c64adb4e052062fc60b6580c365429fddfbcfbf"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.3.275;protocol=https"
+SRCREV = "780c65337e111c7385109c7b720d757a778e4fe2"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-volk_1.3.275.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-volk_1.3.275.0.bb
new file mode 100644
index 0000000..f4e6e89
--- /dev/null
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-volk_1.3.275.0.bb
@@ -0,0 +1,37 @@
+SUMMARY = "A meta-loader for Vulkan"
+DESCRIPTION = "Volk allows one to dynamically load entrypoints required \
+to use Vulkan without linking to vulkan-1.dll or statically linking Vulkan loader. \
+"
+HOMEPAGE = "https://www.khronos.org/vulkan/"
+BUGTRACKER = "https://github.com/zeux/volk"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=b2dd098d35668a801190a9d9d47461b0"
+
+SRC_URI = "git://github.com/zeux/volk.git;branch=master;protocol=https"
+SRCREV = "f2a16e3e19c2349b873343b2dc38a1d4c25af23a"
+
+S = "${WORKDIR}/git"
+
+REQUIRED_DISTRO_FEATURES = "vulkan"
+
+DEPENDS = "vulkan-headers"
+
+EXTRA_OECMAKE = "\
+    -DVOLK_INSTALL=ON \
+    "
+
+inherit cmake features_check pkgconfig
+
+# These recipes need to be updated in lockstep with each other:
+# glslang, vulkan-headers, vulkan-loader, vulkan-tools,
+# vulkan-validation-layers, spirv-headers, spirv-tools,
+# vulkan-utility-libraries.
+# The tags versions should always be sdk-x.y.z, as this is what
+# upstream considers a release.
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
+
+do_install:append() {
+    sed -i -e 's,${STAGING_DIR_TARGET},,g' ${D}${libdir}/cmake/volk/volkTargets.cmake
+}
diff --git a/poky/meta/recipes-graphics/xorg-lib/libpciaccess/0001-linux_sysfs-Use-pwrite-pread-instead-of-64bit-versio.patch b/poky/meta/recipes-graphics/xorg-lib/libpciaccess/0001-linux_sysfs-Use-pwrite-pread-instead-of-64bit-versio.patch
deleted file mode 100644
index 512a473..0000000
--- a/poky/meta/recipes-graphics/xorg-lib/libpciaccess/0001-linux_sysfs-Use-pwrite-pread-instead-of-64bit-versio.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From d20ff4f2e4feaafa6a6191b9cae3815b85617943 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 11 Nov 2022 11:15:58 -0800
-Subject: [PATCH] linux_sysfs: Use pwrite/pread instead of 64bit versions
-
-pread64/pwrite64 are aliased to pread/pwrite when largefile support is
-enabled e.g. using _FILE_OFFSET_BITS=64 macro
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/merge_requests/26]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/linux_sysfs.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/linux_sysfs.c b/src/linux_sysfs.c
-index d62f48c..20c800e 100644
---- a/src/linux_sysfs.c
-+++ b/src/linux_sysfs.c
-@@ -462,7 +462,7 @@ pci_device_linux_sysfs_read( struct pci_device * dev, void * data,
- 
- 
-     while ( temp_size > 0 ) {
--	const ssize_t bytes = pread64( fd, data_bytes, temp_size, offset );
-+	const ssize_t bytes = pread( fd, data_bytes, temp_size, offset );
- 
- 	/* If zero bytes were read, then we assume it's the end of the
- 	 * config file.
-@@ -522,7 +522,7 @@ pci_device_linux_sysfs_write( struct pci_device * dev, const void * data,
- 
- 
-     while ( temp_size > 0 ) {
--	const ssize_t bytes = pwrite64( fd, data_bytes, temp_size, offset );
-+	const ssize_t bytes = pwrite( fd, data_bytes, temp_size, offset );
- 
- 	/* If zero bytes were written, then we assume it's the end of the
- 	 * config file.
--- 
-2.38.1
-
diff --git a/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.17.bb b/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.17.bb
deleted file mode 100644
index 54bdb08..0000000
--- a/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.17.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Generic PCI access library for X"
-
-DESCRIPTION = "libpciaccess provides functionality for X to access the \
-PCI bus and devices in a platform-independent way."
-
-require xorg-lib-common.inc
-
-SRC_URI += "file://0001-linux_sysfs-Use-pwrite-pread-instead-of-64bit-versio.patch"
-
-SRC_URI[sha256sum] = "74283ba3c974913029e7a547496a29145b07ec51732bbb5b5c58d5025ad95b73"
-
-LICENSE = "MIT & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=277aada5222b9a22fbf3471ff3687068"
-
-REQUIRED_DISTRO_FEATURES = ""
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.18.bb b/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.18.bb
new file mode 100644
index 0000000..74b308c
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.18.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Generic PCI access library for X"
+
+DESCRIPTION = "libpciaccess provides functionality for X to access the \
+PCI bus and devices in a platform-independent way."
+
+HOMEPAGE = "http://www.x.org"
+BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
+
+SECTION = "x11/libs"
+LICENSE = "MIT"
+DEPENDS = "util-macros"
+
+SRC_URI = "${XORG_MIRROR}/individual/lib/${BP}.tar.xz"
+
+inherit features_check pkgconfig meson
+
+REQUIRED_DISTRO_FEATURES ?= "x11"
+
+SRC_URI[sha256sum] = "5461b0257d495254346f52a9c329b44b346262663675d3fecdb204a7e7c262a9"
+
+LICENSE = "MIT & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=54c978968e565218eea36cf03ef24352"
+
+REQUIRED_DISTRO_FEATURES = ""
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20231211.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20240220.bb
similarity index 99%
rename from poky/meta/recipes-kernel/linux-firmware/linux-firmware_20231211.bb
rename to poky/meta/recipes-kernel/linux-firmware/linux-firmware_20240220.bb
index 3a3690b..1fd44f4 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20231211.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20240220.bb
@@ -93,7 +93,7 @@
                     file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0 \
                     file://LICENCE.cavium;md5=c37aaffb1ebe5939b2580d073a95daea \
                     file://LICENCE.chelsio_firmware;md5=819aa8c3fa453f1b258ed8d168a9d903 \
-                    file://LICENSE.cirrus;md5=bb18d943382abf8e8232a9407bfdafe0 \
+                    file://LICENSE.cirrus;md5=662ea2c1a8888f7d79ed7f27c27472e1 \
                     file://LICENCE.cnm;md5=93b67e6bac7f8fec22b96b8ad0a1a9d0 \
                     file://LICENCE.cw1200;md5=f0f770864e7a8444a5c5aa9d12a3a7ed \
                     file://LICENCE.cypress;md5=48cd9436c763bf873961f9ed7b5c147b \
@@ -155,7 +155,7 @@
                     "
 # WHENCE checksum is defined separately to ease overriding it if
 # class-devupstream is selected.
-WHENCE_CHKSUM  = "3113c4ea08e5171555f3bf49eceb5b07"
+WHENCE_CHKSUM  = "a344e6c28970fc7daafa81c10247aeb6"
 
 # These are not common licenses, set NO_GENERIC_LICENSE for them
 # so that the license files will be copied from fetched source
@@ -243,7 +243,7 @@
 # Pin this to the 20220509 release, override this in local.conf
 SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae"
 
-SRC_URI[sha256sum] = "96af7e4b5eabd37869cdb3dcbb7ab36911106d39b76e799fa1caab16a9dbe8bb"
+SRC_URI[sha256sum] = "bf0f239dc0801e9d6bf5d5fb3e2f549575632cf4688f4348184199cb02c2bcd7"
 
 inherit allarch
 
diff --git a/poky/meta/recipes-kernel/linux/cve-exclusion_6.6.inc b/poky/meta/recipes-kernel/linux/cve-exclusion_6.6.inc
index 723a588..5449b7e 100644
--- a/poky/meta/recipes-kernel/linux/cve-exclusion_6.6.inc
+++ b/poky/meta/recipes-kernel/linux/cve-exclusion_6.6.inc
@@ -1,9 +1,9 @@
 
 # Auto-generated CVE metadata, DO NOT EDIT BY HAND.
-# Generated at 2024-02-26 20:14:05.493685+00:00 for version 6.6.18
+# Generated at 2024-03-03 16:30:03.739466+00:00 for version 6.6.20
 
 python check_kernel_cve_status_version() {
-    this_version = "6.6.18"
+    this_version = "6.6.20"
     kernel_version = d.getVar("LINUX_VERSION")
     if kernel_version != this_version:
         bb.warn("Kernel CVE status needs updating: generated for %s but kernel is %s" % (this_version, kernel_version))
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index c91aa07..bd3e5a9 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -61,6 +61,6 @@
 KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
 
 KERNEL_VERSION_SANITY_SKIP = "1"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb
index 6eca6de..e80594b 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb
@@ -14,13 +14,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "3c1e1f6195b25babe903679416ed839a53c8b3e8"
-SRCREV_meta ?= "c97276cdc9d89cceef61184e296e5c837a265ed1"
+SRCREV_machine ?= "7c5911ab2e70bf84bb38a598b2a7e094618a9620"
+SRCREV_meta ?= "8cd63077f67a0f7ff639a2ff24c82b09d71048a4"
 
 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.6;destsuffix=${KMETA};protocol=https"
 
-LINUX_VERSION ?= "6.6.18"
+LINUX_VERSION ?= "6.6.20"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
@@ -45,4 +45,4 @@
 KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
+KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb
index c6ba2a8..c2a0387 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb
@@ -8,7 +8,7 @@
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion_6.6.inc
 
-LINUX_VERSION ?= "6.6.18"
+LINUX_VERSION ?= "6.6.20"
 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 ?= "e064a7d658a30b027b999183e21cd37305caff2a"
-SRCREV_meta ?= "c97276cdc9d89cceef61184e296e5c837a265ed1"
+SRCREV_machine ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
+SRCREV_meta ?= "8cd63077f67a0f7ff639a2ff24c82b09d71048a4"
 
 PV = "${LINUX_VERSION}+git"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_6.6.bb b/poky/meta/recipes-kernel/linux/linux-yocto_6.6.bb
index 2d21869..0f62dea 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_6.6.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_6.6.bb
@@ -18,25 +18,25 @@
 KBRANCH:qemuloongarch64  ?= "v6.6/standard/base"
 KBRANCH:qemumips64 ?= "v6.6/standard/mti-malta64"
 
-SRCREV_machine:qemuarm ?= "ea82a603d36f829f4267018d4c425f5f921074ea"
-SRCREV_machine:qemuarm64 ?= "e064a7d658a30b027b999183e21cd37305caff2a"
-SRCREV_machine:qemuloongarch64 ?= "e064a7d658a30b027b999183e21cd37305caff2a"
-SRCREV_machine:qemumips ?= "cf67a27829c10d065e0447af29ee330e385bcafb"
-SRCREV_machine:qemuppc ?= "e064a7d658a30b027b999183e21cd37305caff2a"
-SRCREV_machine:qemuriscv64 ?= "e064a7d658a30b027b999183e21cd37305caff2a"
-SRCREV_machine:qemuriscv32 ?= "e064a7d658a30b027b999183e21cd37305caff2a"
-SRCREV_machine:qemux86 ?= "e064a7d658a30b027b999183e21cd37305caff2a"
-SRCREV_machine:qemux86-64 ?= "e064a7d658a30b027b999183e21cd37305caff2a"
-SRCREV_machine:qemumips64 ?= "52456b6cb3393c1848da3ccdae37727c31896f1c"
-SRCREV_machine ?= "e064a7d658a30b027b999183e21cd37305caff2a"
-SRCREV_meta ?= "c97276cdc9d89cceef61184e296e5c837a265ed1"
+SRCREV_machine:qemuarm ?= "9d30fb4668cd7087e81b40f223cdd0090863602b"
+SRCREV_machine:qemuarm64 ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
+SRCREV_machine:qemuloongarch64 ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
+SRCREV_machine:qemumips ?= "4b49da8bb522bdaf928855c2c102fa839625c6c1"
+SRCREV_machine:qemuppc ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
+SRCREV_machine:qemuriscv64 ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
+SRCREV_machine:qemuriscv32 ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
+SRCREV_machine:qemux86 ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
+SRCREV_machine:qemux86-64 ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
+SRCREV_machine:qemumips64 ?= "8e7605bafdfeb842396292181d524b183a1e13d6"
+SRCREV_machine ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
+SRCREV_meta ?= "8cd63077f67a0f7ff639a2ff24c82b09d71048a4"
 
 # 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 ?= "d8a27ea2c98685cdaa5fa66c809c7069a4ff394b"
+SRCREV_machine:class-devupstream ?= "9b4a8eac17f0d840729384618b4b1e876233026c"
 PN:class-devupstream = "linux-yocto-upstream"
 KBRANCH:class-devupstream = "v6.6/base"
 
@@ -44,7 +44,7 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=${KMETA};protocol=https"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "6.6.18"
+LINUX_VERSION ?= "6.6.20"
 
 PV = "${LINUX_VERSION}+git"
 
@@ -63,7 +63,7 @@
 KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
 KERNEL_FEATURES:append:powerpc =" arch/powerpc/powerpc-debug.scc"
 KERNEL_FEATURES:append:powerpc64 =" arch/powerpc/powerpc-debug.scc"
 KERNEL_FEATURES:append:powerpc64le =" arch/powerpc/powerpc-debug.scc"
diff --git a/poky/meta/recipes-multimedia/libpng/libpng_1.6.42.bb b/poky/meta/recipes-multimedia/libpng/libpng_1.6.42.bb
index d84cb19..cadbe95 100644
--- a/poky/meta/recipes-multimedia/libpng/libpng_1.6.42.bb
+++ b/poky/meta/recipes-multimedia/libpng/libpng_1.6.42.bb
@@ -10,10 +10,10 @@
 
 LIBV = "16"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}${LIBV}/${BP}.tar.xz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/${BP}.tar.xz"
 SRC_URI[sha256sum] = "c919dbc11f4c03b05aba3f8884d8eb7adfe3572ad228af972bb60057bdb48450"
 
-MIRRORS += "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}${LIBV}/ ${SOURCEFORGE_MIRROR}/${BPN}/${BPN}${LIBV}/older-releases/"
+MIRRORS += "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/ ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/older-releases/"
 
 UPSTREAM_CHECK_URI = "http://libpng.org/pub/png/libpng.html"
 
diff --git a/poky/meta/recipes-sato/puzzles/puzzles_git.bb b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
index ab4b239..e9403ee 100644
--- a/poky/meta/recipes-sato/puzzles/puzzles_git.bb
+++ b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
@@ -2,7 +2,7 @@
 DESCRIPTION = "Collection of small computer programs which implement one-player puzzle games."
 HOMEPAGE = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=92d2b7a2fc96b5f7f17101df7db1fefa"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=191542b32377bde254e9799e0a46f18b"
 
 # gtk support includes a bunch of x11 headers
 REQUIRED_DISTRO_FEATURES = "x11"
@@ -10,7 +10,7 @@
 SRC_URI = "git://git.tartarus.org/simon/puzzles.git;branch=main;protocol=https"
 
 UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "08365fb260ae6e32442dd9f196e65d13facb4b33"
+SRCREV = "80aac3104096aee4057b675c53ece8e60793aa90"
 PE = "2"
 PV = "0.0+git"
 
diff --git a/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc b/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc
index e7d520e..016614b 100644
--- a/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc
+++ b/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc
@@ -6,7 +6,7 @@
 output. It also supports mixing multiple fonts at the \
 same time, including Xft fonts."
 HOMEPAGE = "https://rxvt.org/"
-DEPENDS = "virtual/libx11 libxt libxft gdk-pixbuf libxmu libptytty"
+DEPENDS = "virtual/libx11 libxt libxft gdk-pixbuf libxmu libptytty ncurses-native"
 
 SRC_URI = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${PV}.tar.bz2 \
 	   file://xwc.patch \
@@ -53,6 +53,9 @@
 
 	install -m 0644 ${WORKDIR}/rxvt.png ${D}/${datadir}/pixmaps
 	install -m 0644 ${WORKDIR}/rxvt.desktop ${D}/${datadir}/applications
+
+	${STAGING_BINDIR_NATIVE}/tic -x ${S}/doc/etc/rxvt-unicode.terminfo -o ${D}${datadir}/terminfo || \
+	${STAGING_BINDIR_NATIVE}/tic ${S}/doc/etc/rxvt-unicode.terminfo -o ${D}${datadir}/terminfo
 }
 
-FILES:${PN} += "${datadir}/applications/rxvt.desktop ${datadir}/pixmaps/rxvt.png"
+FILES:${PN} += "${datadir}/applications/rxvt.desktop ${datadir}/pixmaps/rxvt.png ${datadir}/terminfo"
diff --git a/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/rxvt.desktop b/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/rxvt.desktop
index 6b7978a..1ac3d99 100644
--- a/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/rxvt.desktop
+++ b/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/rxvt.desktop
@@ -1,6 +1,6 @@
 [Desktop Entry]
 Version=1.0
-Name=Terminal
+Name=Rxvt Terminal
 Comment=A unicode capable rxvt clone
 Exec=rxvt
 Icon=utilities-terminal
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch
index 4266d11..a819e22 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch
@@ -1,7 +1,7 @@
-From 73efe0ea75c3ac4cb088f300acc3de44d5dd3344 Mon Sep 17 00:00:00 2001
+From 575b848a3b3c14280679db80d0d518922c83d62a Mon Sep 17 00:00:00 2001
 From: Kai Kang <kai.kang@windriver.com>
 Date: Fri, 11 Aug 2023 14:20:48 +0800
-Subject: [PATCH] [CMake] Add a variable to control macro
+Subject: [PATCH] Add a variable to control macro
  __PAS_ALWAYS_INLINE_BUT_NOT_INLINE
  https://bugs.webkit.org/show_bug.cgi?id=260065
 
@@ -44,7 +44,7 @@
  2 files changed, 8 insertions(+), 1 deletion(-)
 
 diff --git a/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h b/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h
-index 5d5fb38cddbd..a554f70064eb 100644
+index 5d5fb38c..a554f700 100644
 --- a/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h
 +++ b/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h
 @@ -44,7 +44,7 @@ __PAS_BEGIN_EXTERN_C;
@@ -57,7 +57,7 @@
  #else
  #define __PAS_ALWAYS_INLINE_BUT_NOT_INLINE
 diff --git a/Source/cmake/WebKitCompilerFlags.cmake b/Source/cmake/WebKitCompilerFlags.cmake
-index 9b2fecf9a0d3..7cdc2b6afbe0 100644
+index 9b2fecf9..7cdc2b6a 100644
 --- a/Source/cmake/WebKitCompilerFlags.cmake
 +++ b/Source/cmake/WebKitCompilerFlags.cmake
 @@ -453,3 +453,10 @@ endif ()
@@ -71,6 +71,3 @@
 +if (WEBKIT_NO_INLINE_HINTS)
 +    add_definitions(-DWEBKIT_NO_INLINE_HINTS)
 +endif ()
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
index 8ae39f1..8e29ce1 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
@@ -1,4 +1,4 @@
-From 10cfdcc905915d8814c609008a069102f2bc7e39 Mon Sep 17 00:00:00 2001
+From 6348f91c29e2350ad3fec5264aa57dd4994d4583 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
@@ -14,7 +14,7 @@
  1 file changed, 3 insertions(+)
 
 diff --git a/Source/cmake/FindGI.cmake b/Source/cmake/FindGI.cmake
-index af039cbb..b3e810cd 100644
+index fdc56b21..d42eca52 100644
 --- a/Source/cmake/FindGI.cmake
 +++ b/Source/cmake/FindGI.cmake
 @@ -72,6 +72,9 @@ if (PKG_CONFIG_FOUND)
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch
index e5ece82..a4ef565 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch
@@ -1,4 +1,4 @@
-From 95398982f4a120147a98a27e176facf6d95b2bf7 Mon Sep 17 00:00:00 2001
+From a180f6821f81c65e320be0cebac72b4dcf86342e 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
@@ -33,7 +33,6 @@
 
 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 +++++++++----------
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch b/poky/meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch
index a6d67c1..8ce37a0 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch
@@ -1,4 +1,7 @@
-clang/arm: Do not use MUST_TAIL_CALL
+From a9c874f7418cefbe78f7cd26505ae495cb59bbcf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 12 Jan 2024 09:21:39 -0800
+Subject: [PATCH] clang/arm: Do not use MUST_TAIL_CALL
 
 This causes clang-17 to crash see [1]
 this code is new in webkit 2.42[2] thats why we do not see the crash in older webkit
@@ -8,6 +11,12 @@
 
 Upstream-Status: Inappropriate [work around to avoid clang compiler crash]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Source/WTF/wtf/Compiler.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/WTF/wtf/Compiler.h b/Source/WTF/wtf/Compiler.h
+index 0ea5cb76..c5480dbc 100644
 --- a/Source/WTF/wtf/Compiler.h
 +++ b/Source/WTF/wtf/Compiler.h
 @@ -284,7 +284,7 @@
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/reproducibility.patch b/poky/meta/recipes-sato/webkit/webkitgtk/reproducibility.patch
index e866a1a..93a431a 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/reproducibility.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/reproducibility.patch
@@ -1,3 +1,8 @@
+From d096b945113ddecaf33062296e20b6d5a007cab3 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Mon, 3 Jan 2022 14:18:34 +0000
+Subject: [PATCH] webkitgtk: Add reproducibility fix
+
 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.
 
@@ -6,11 +11,14 @@
 
 Upstream-Status: Pending [could be reworked]
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ Source/JavaScriptCore/generator/GeneratedFile.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
-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
+diff --git a/Source/JavaScriptCore/generator/GeneratedFile.rb b/Source/JavaScriptCore/generator/GeneratedFile.rb
+index 6ed2b6e4..86a28286 100644
+--- a/Source/JavaScriptCore/generator/GeneratedFile.rb
++++ b/Source/JavaScriptCore/generator/GeneratedFile.rb
 @@ -25,7 +25,7 @@ require 'date'
  require 'digest'
  
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/t6-not-declared.patch b/poky/meta/recipes-sato/webkit/webkitgtk/t6-not-declared.patch
new file mode 100644
index 0000000..d4720e4
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/t6-not-declared.patch
@@ -0,0 +1,37 @@
+From 3d5373575695b293b8559155431d0079a6153aff Mon Sep 17 00:00:00 2001
+From: Michael Catanzaro <mcatanzaro@redhat.com>
+Date: Mon, 5 Feb 2024 11:00:49 -0600
+Subject: [PATCH] =?UTF-8?q?[GTK]=20[2.42.5]=20LowLevelInterpreter.cpp:339:?=
+ =?UTF-8?q?21:=20error:=20=E2=80=98t6=E2=80=99=20was=20not=20declared=20in?=
+ =?UTF-8?q?=20this=20scope=20https://bugs.webkit.org/show=5Fbug.cgi=3Fid?=
+ =?UTF-8?q?=3D268739?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Unreviewed build fix. Seems a backport went badly, and we didn't notice
+because the code is architecture-specific.
+
+* Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:
+(JSC::CLoop::execute):
+
+Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/3d5373575695b293b8559155431d0079a6153aff]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Source/JavaScriptCore/llint/LowLevelInterpreter.cpp | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
+index 5064ead6cd2e7..9a2e2653b1219 100644
+--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
++++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
+@@ -336,8 +336,6 @@ JSValue CLoop::execute(OpcodeID entryOpcodeID, void* executableAddress, VM* vm,
+     UNUSED_VARIABLE(t2);
+     UNUSED_VARIABLE(t3);
+     UNUSED_VARIABLE(t5);
+-    UNUSED_VARIABLE(t6);
+-    UNUSED_VARIABLE(t7);
+ 
+     struct StackPointerScope {
+         StackPointerScope(CLoopStack& stack)
+
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.42.2.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.42.5.bb
similarity index 98%
rename from poky/meta/recipes-sato/webkit/webkitgtk_2.42.2.bb
rename to poky/meta/recipes-sato/webkit/webkitgtk_2.42.5.bb
index 997aa55..6790814 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.42.2.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.42.5.bb
@@ -15,8 +15,9 @@
            file://0d3344e17d258106617b0e6d783d073b188a2548.patch \
            file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \
            file://no-musttail-arm.patch \
+           file://t6-not-declared.patch \
            "
-SRC_URI[sha256sum] = "5720aa3e8627f1b9f63252187d4df0f8233ae71d697b1796ebfbe5ca750bd118"
+SRC_URI[sha256sum] = "b64278c1f20b8cfdbfb5ff573c37d871aba74a1db26d9b39f74e8953fe61e749"
 
 inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen
 
diff --git a/poky/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch b/poky/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch
index 66687a5..bc811d6 100644
--- a/poky/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch
+++ b/poky/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch
@@ -1,4 +1,4 @@
-From 6ab00a4279823829a9b82dc9e4d055da4de88c6e Mon Sep 17 00:00:00 2001
+From fe9ebb8c0fa7b84a9c5c667386b8fbb3baea2fad Mon Sep 17 00:00:00 2001
 From: Markus Volk <f_l_k@t-online.de>
 Date: Mon, 12 Dec 2022 15:42:42 +0100
 Subject: [PATCH] remove hardcoded path
@@ -10,11 +10,11 @@
 
 Upstream-Status: Inappropriate [oe-specific]
 ---
- meson.build       | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
+ meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index fd0e3373..2f273ada 100644
+index fa171d5..79d5168 100644
 --- a/meson.build
 +++ b/meson.build
 @@ -185,10 +185,10 @@ endif
@@ -30,6 +30,3 @@
          else
              error('Unable to find Snowball header "libstemmer.h". Please ensure libstemmer/Snowball is installed properly in order to continue.')
          endif
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-support/appstream/appstream_1.0.0.bb b/poky/meta/recipes-support/appstream/appstream_1.0.2.bb
similarity index 92%
rename from poky/meta/recipes-support/appstream/appstream_1.0.0.bb
rename to poky/meta/recipes-support/appstream/appstream_1.0.2.bb
index 3f8bfcd..7eb12a0 100644
--- a/poky/meta/recipes-support/appstream/appstream_1.0.0.bb
+++ b/poky/meta/recipes-support/appstream/appstream_1.0.2.bb
@@ -28,7 +28,7 @@
 	https://www.freedesktop.org/software/appstream/releases/AppStream-${PV}.tar.xz \
 	file://0001-remove-hardcoded-path.patch \
 "
-SRC_URI[sha256sum] = "ef23477a380e8b525e92cfa87687f1146b9cef74c641349a1ae11250be5401d0"
+SRC_URI[sha256sum] = "1a5148ca97dcbf5eb6e9c380278bb0d20938569292ea8652df1b3cac8bd2736b"
 
 S = "${WORKDIR}/AppStream-${PV}"
 
diff --git a/poky/meta/recipes-support/attr/acl/0001-chacl-Use-portable-version-of-dirent-and-readdir.patch b/poky/meta/recipes-support/attr/acl/0001-chacl-Use-portable-version-of-dirent-and-readdir.patch
deleted file mode 100644
index 775675e..0000000
--- a/poky/meta/recipes-support/attr/acl/0001-chacl-Use-portable-version-of-dirent-and-readdir.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 1a5671a4eb13b81b98c3e71f00370781563f66d8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 10 Nov 2022 17:57:24 -0800
-Subject: [PATCH] chacl: Use portable version of dirent and readdir
-
-Using 64bit versions on 32bit architectures should be enabled with
---enable-largefile, this makes it portable across musl and glibc
-
-Upstream-Status: Backport [https://git.savannah.nongnu.org/cgit/acl.git/commit/?id=2b42f64737adf6a2ddd491213580d6e9cdd2f5af]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- tools/chacl.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tools/chacl.c b/tools/chacl.c
-index 525a7ff..8fff875 100644
---- a/tools/chacl.c
-+++ b/tools/chacl.c
-@@ -320,7 +320,7 @@ walk_dir(acl_t acl, acl_t dacl, const char *fname)
- {
- 	int failed = 0;
- 	DIR *dir;
--	struct dirent64 *d;
-+	struct dirent *d;
- 	char *name;
- 
- 	if ((dir = opendir(fname)) == NULL) {
-@@ -332,7 +332,7 @@ walk_dir(acl_t acl, acl_t dacl, const char *fname)
- 		return(0);	/* got a file, not an error */
- 	}
- 
--	while ((d = readdir64(dir)) != NULL) {
-+	while ((d = readdir(dir)) != NULL) {
- 		/* skip "." and ".." entries */
- 		if (strcmp(d->d_name, ".") == 0 || strcmp(d->d_name, "..") == 0)
- 			continue;
--- 
-2.38.1
-
diff --git a/poky/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch b/poky/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch
index ba2ffee..219feac 100644
--- a/poky/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch
+++ b/poky/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch
@@ -1,4 +1,4 @@
-From 9e08219e0e99ee2589cf35fa8d52cef3515accce Mon Sep 17 00:00:00 2001
+From 7dec6fa3b3494a55120402ff1ea3eb96b67138e8 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 12 Dec 2019 15:47:49 +0100
 Subject: [PATCH] test: patch out failing bits
@@ -58,6 +58,3 @@
  	$ : > f
  	$ : <> f
  	>~ .*f: Permission denied$
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch b/poky/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch
index 57ef0bb..748f37f 100644
--- a/poky/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch
+++ b/poky/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch
@@ -1,4 +1,4 @@
-From 39d332a8801de5d9ef09dacb3dba85c208b7b2ad Mon Sep 17 00:00:00 2001
+From 42ae3f8a5e32ba0681ccd1552a203ddad8748a6e Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 12 Dec 2019 13:45:52 +0100
 Subject: [PATCH] tests: do not hardcode the build path into a helper library
@@ -10,7 +10,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/test/Makemodule.am b/test/Makemodule.am
-index 17d4927..015de7f 100644
+index e1d715d..cffe732 100644
 --- a/test/Makemodule.am
 +++ b/test/Makemodule.am
 @@ -30,7 +30,7 @@ EXTRA_DIST += \
@@ -21,4 +21,4 @@
 +libtestlookup_la_CFLAGS = -DBASEDIR=\"/tmp/acl-ptest\"
  libtestlookup_la_LDFLAGS = -rpath $(abs_builddir)
  
- AM_TESTS_ENVIRONMENT = PATH="$(abs_top_builddir):$$PATH";
+ # Make sure translations don't break tests when matching output.
diff --git a/poky/meta/recipes-support/attr/acl_2.3.1.bb b/poky/meta/recipes-support/attr/acl_2.3.2.bb
similarity index 94%
rename from poky/meta/recipes-support/attr/acl_2.3.1.bb
rename to poky/meta/recipes-support/attr/acl_2.3.2.bb
index 9badd33..6178473 100644
--- a/poky/meta/recipes-support/attr/acl_2.3.1.bb
+++ b/poky/meta/recipes-support/attr/acl_2.3.2.bb
@@ -19,10 +19,9 @@
            file://run-ptest \
            file://0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch \
            file://0001-test-patch-out-failing-bits.patch \
-           file://0001-chacl-Use-portable-version-of-dirent-and-readdir.patch \
            "
 
-SRC_URI[sha256sum] = "760c61c68901b37fdd5eefeeaf4c0c7a26bdfdd8ac747a1edff1ce0e243c11af"
+SRC_URI[sha256sum] = "5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c"
 
 inherit autotools gettext ptest
 
diff --git a/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb b/poky/meta/recipes-support/bmaptool/bmaptool_git.bb
similarity index 78%
rename from poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb
rename to poky/meta/recipes-support/bmaptool/bmaptool_git.bb
index ffb6ccf..87328af 100644
--- a/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb
+++ b/poky/meta/recipes-support/bmaptool/bmaptool_git.bb
@@ -1,16 +1,16 @@
 SUMMARY = "Tools to generate block map (AKA bmap) and flash images using bmap"
-DESCRIPTION = "Bmap-tools - tools to generate block map (AKA bmap) and flash images using \
-bmap. Bmaptool is a generic tool for creating the block map (bmap) for a file, \
+DESCRIPTION = "bmaptool - tools to generate block map (AKA bmap) and flash images using \
+bmap. bmaptool is a generic tool for creating the block map (bmap) for a file, \
 and copying files using the block map. The idea is that large file containing \
 unused blocks, like raw system image files, can be copied or flashed a lot \
 faster with bmaptool than with traditional tools like "dd" or "cp"."
-HOMEPAGE = "https://github.com/01org/bmap-tools"
+HOMEPAGE = "https://github.com/yoctoproject/bmaptool"
 SECTION = "console/utils"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-SRC_URI = "git://github.com/intel/${BPN};branch=main;protocol=https \
+SRC_URI = "git://github.com/yoctoproject/${BPN};branch=main;protocol=https \
 	file://0001-BmapCopy.py-fix-error-message.patch \
 	file://0002-CLI.py-fix-block-device-udev-race-condition.patch \
 	file://0003-BmapCopy.py-tweak-suggested-udev-rule.patch \
diff --git a/poky/meta/recipes-support/bmap-tools/files/0001-BmapCopy.py-fix-error-message.patch b/poky/meta/recipes-support/bmaptool/files/0001-BmapCopy.py-fix-error-message.patch
similarity index 100%
rename from poky/meta/recipes-support/bmap-tools/files/0001-BmapCopy.py-fix-error-message.patch
rename to poky/meta/recipes-support/bmaptool/files/0001-BmapCopy.py-fix-error-message.patch
diff --git a/poky/meta/recipes-support/bmap-tools/files/0002-CLI.py-fix-block-device-udev-race-condition.patch b/poky/meta/recipes-support/bmaptool/files/0002-CLI.py-fix-block-device-udev-race-condition.patch
similarity index 100%
rename from poky/meta/recipes-support/bmap-tools/files/0002-CLI.py-fix-block-device-udev-race-condition.patch
rename to poky/meta/recipes-support/bmaptool/files/0002-CLI.py-fix-block-device-udev-race-condition.patch
diff --git a/poky/meta/recipes-support/bmap-tools/files/0003-BmapCopy.py-tweak-suggested-udev-rule.patch b/poky/meta/recipes-support/bmaptool/files/0003-BmapCopy.py-tweak-suggested-udev-rule.patch
similarity index 100%
rename from poky/meta/recipes-support/bmap-tools/files/0003-BmapCopy.py-tweak-suggested-udev-rule.patch
rename to poky/meta/recipes-support/bmaptool/files/0003-BmapCopy.py-tweak-suggested-udev-rule.patch
diff --git a/poky/meta/recipes-support/boost/boost-1.83.0.inc b/poky/meta/recipes-support/boost/boost-1.84.0.inc
similarity index 90%
rename from poky/meta/recipes-support/boost/boost-1.83.0.inc
rename to poky/meta/recipes-support/boost/boost-1.84.0.inc
index da275f1..5bbea2b 100644
--- a/poky/meta/recipes-support/boost/boost-1.83.0.inc
+++ b/poky/meta/recipes-support/boost/boost-1.84.0.inc
@@ -12,7 +12,7 @@
 BOOST_P = "boost_${BOOST_VER}"
 
 SRC_URI = "https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/${BOOST_P}.tar.bz2"
-SRC_URI[sha256sum] = "6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e"
+SRC_URI[sha256sum] = "cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454"
 
 UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/"
 UPSTREAM_CHECK_REGEX = "release/(?P<pver>.*)/source/"
diff --git a/poky/meta/recipes-support/boost/boost-build-native_1.83.0.bb b/poky/meta/recipes-support/boost/boost-build-native_1.84.0.bb
similarity index 100%
rename from poky/meta/recipes-support/boost/boost-build-native_1.83.0.bb
rename to poky/meta/recipes-support/boost/boost-build-native_1.84.0.bb
diff --git a/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch b/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch
index 4fe1574..9ba5d5c 100644
--- a/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch
+++ b/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch
@@ -1,4 +1,4 @@
-From 21ba558abe074e7d49bdc931018ce2138e6e8eb5 Mon Sep 17 00:00:00 2001
+From 18185e939ca121335a6172c8e50872af8122a759 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 18 Dec 2018 15:42:57 +0100
 Subject: [PATCH] Don't set up arch/instruction-set flags, we do that
@@ -8,16 +8,15 @@
 Upstream-Status: Inappropriate
 Signed-off-by: Christopher Larson <chris_larson@mentor.com>
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  tools/build/src/tools/gcc.jam | 153 ----------------------------------
  1 file changed, 153 deletions(-)
 
 diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
-index 726555369..5c5f8ba91 100644
+index 834f5e1bf..493a43e6d 100644
 --- a/tools/build/src/tools/gcc.jam
 +++ b/tools/build/src/tools/gcc.jam
-@@ -1124,156 +1124,3 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + :
+@@ -1113,156 +1113,3 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + :
          <architecture>$(architecture)/<instruction-set>$(instruction-set)
          : $(values) ;
  }
diff --git a/poky/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch b/poky/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch
index 78b1922..913810a 100644
--- a/poky/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch
+++ b/poky/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch
@@ -1,4 +1,4 @@
-From 59402e3a61d14eb7ce8c2019ea1a87ad4bd28605 Mon Sep 17 00:00:00 2001
+From bbb0845c0a79238fb2e84cca41826a0944b6ce7e Mon Sep 17 00:00:00 2001
 From: Anuj Mittal <anuj.mittal@intel.com>
 Date: Thu, 14 Nov 2019 10:13:53 +0800
 Subject: [PATCH] dont setup compiler flags -m32/-m64
@@ -13,13 +13,14 @@
  1 file changed, 14 deletions(-)
 
 diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
-index c7e3cf3..24486e0 100644
+index 493a43e6d..42dccbdfe 100644
 --- a/tools/build/src/tools/gcc.jam
 +++ b/tools/build/src/tools/gcc.jam
-@@ -430,20 +430,6 @@ local rule compile-link-flags ( * )
+@@ -360,20 +360,6 @@ local rule compile-link-flags ( * )
+     compile-link-flags <link>shared/<target-os>$(non-windows) : -fPIC ;
  }
  
- {
+-{
 -    # Handle address-model
 -    compile-link-flags <target-os>aix/<address-model>32 : -maix32 ;
 -    compile-link-flags <target-os>aix/<address-model>64 : -maix64 ;
@@ -33,10 +34,6 @@
 -    compile-link-flags <target-os>$(generic-os)/<architecture>$(arch)/<address-model>64 : -m64 ;
 -}
 -
--{
+ {
      # Handle threading
      local rule threading-flags ( * )
-     {
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch b/poky/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch
index 595ba17..9b6fcc6 100644
--- a/poky/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch
+++ b/poky/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch
@@ -1,4 +1,4 @@
-From cabfcba1ff7511ffd6b91ca244288d44f585aad2 Mon Sep 17 00:00:00 2001
+From d6864bd78c01c5e8578805a7b67555c70a0e99a2 Mon Sep 17 00:00:00 2001
 From: Jackie Huang <jackie.huang@windriver.com>
 Date: Fri, 23 Sep 2016 01:04:50 -0700
 Subject: [PATCH] boost-math: disable pch for gcc
@@ -14,10 +14,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/libs/math/build/Jamfile.v2 b/libs/math/build/Jamfile.v2
-index e19fb2e..82472a7 100644
+index fd840287e..5aff7d724 100644
 --- a/libs/math/build/Jamfile.v2
 +++ b/libs/math/build/Jamfile.v2
-@@ -13,7 +13,7 @@ project
+@@ -14,7 +14,7 @@ project
        #<toolset>intel-linux:<pch>off
        <toolset>intel-darwin:<pch>off
        <toolset>msvc-7.1:<pch>off
@@ -26,6 +26,3 @@
        #<toolset>gcc:<cxxflags>-fvisibility=hidden
        <toolset>intel-linux:<cxxflags>-fvisibility=hidden
        #<toolset>sun:<cxxflags>-xldscope=hidden
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-support/boost/boost_1.83.0.bb b/poky/meta/recipes-support/boost/boost_1.84.0.bb
similarity index 100%
rename from poky/meta/recipes-support/boost/boost_1.83.0.bb
rename to poky/meta/recipes-support/boost/boost_1.84.0.bb
diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_253.bb b/poky/meta/recipes-support/diffoscope/diffoscope_259.bb
similarity index 93%
rename from poky/meta/recipes-support/diffoscope/diffoscope_253.bb
rename to poky/meta/recipes-support/diffoscope/diffoscope_259.bb
index a1fc63e..eca2c20 100644
--- a/poky/meta/recipes-support/diffoscope/diffoscope_253.bb
+++ b/poky/meta/recipes-support/diffoscope/diffoscope_259.bb
@@ -12,7 +12,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "ca3d826b691f4998d6de28a016b3555d56a7283b97ad92944ce643ea6e7eb614"
+SRC_URI[sha256sum] = "c1f14452467f84c4be804a3725cbfdd5eadf977ece7ad463be8b647d1a87fb42"
 
 RDEPENDS:${PN} += "\
         binutils \
diff --git a/poky/meta/recipes-support/libbsd/libbsd_0.11.8.bb b/poky/meta/recipes-support/libbsd/libbsd_0.12.1.bb
similarity index 90%
rename from poky/meta/recipes-support/libbsd/libbsd_0.11.8.bb
rename to poky/meta/recipes-support/libbsd/libbsd_0.12.1.bb
index 17049c8..161dc6d 100644
--- a/poky/meta/recipes-support/libbsd/libbsd_0.11.8.bb
+++ b/poky/meta/recipes-support/libbsd/libbsd_0.12.1.bb
@@ -33,12 +33,12 @@
 LICENSE:${PN}-src = "BSD-3-Clause & ISC & PD"
 LICENSE:${PN}-staticdev = "BSD-3-Clause & ISC & PD"
 
-LIC_FILES_CHKSUM = "file://COPYING;md5=befe09fada57bdcf7f7c12f51081b08f"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9b087a0981a1fcad42efbba6d4925a0f"
 SECTION = "libs"
 
 SRC_URI = "https://libbsd.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "55fdfa2696fb4d55a592fa9ad14a9df897c7b0008ddb3b30c419914841f85f33"
+SRC_URI[sha256sum] = "d7747f8ec1baa6ff5c096a9dd587c061233dec90da0f1aedd66d830f6db6996a"
 
 inherit autotools pkgconfig
 
diff --git a/poky/meta/recipes-support/libpcre/libpcre2_10.42.bb b/poky/meta/recipes-support/libpcre/libpcre2_10.43.bb
similarity index 91%
rename from poky/meta/recipes-support/libpcre/libpcre2_10.42.bb
rename to poky/meta/recipes-support/libpcre/libpcre2_10.43.bb
index f471b3f..fd0bd79 100644
--- a/poky/meta/recipes-support/libpcre/libpcre2_10.42.bb
+++ b/poky/meta/recipes-support/libpcre/libpcre2_10.43.bb
@@ -8,14 +8,14 @@
 HOMEPAGE = "http://www.pcre.org"
 SECTION = "devel"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=41bfb977e4933c506588724ce69bf5d2"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=321a5eb46acae6b6c1ff2c7a866d836a"
 
 SRC_URI = "${GITHUB_BASE_URI}/download/pcre2-${PV}/pcre2-${PV}.tar.bz2"
 
 GITHUB_BASE_URI = "https://github.com/PhilipHazel/pcre2/releases"
 UPSTREAM_CHECK_REGEX = "releases/tag/pcre2-(?P<pver>\d+(\.\d+)+)$"
 
-SRC_URI[sha256sum] = "8d36cd8cb6ea2a4c2bb358ff6411b0c788633a2a45dabbf1aeb4b701d1b5e840"
+SRC_URI[sha256sum] = "e2a53984ff0b07dfdb5ae4486bbb9b21cca8e7df2434096cc9bf1b728c350bcb"
 
 CVE_PRODUCT = "pcre2"
 
diff --git a/poky/meta/recipes-support/libusb/libusb1/0001-configure.ac-Link-with-latomic-only-if-no-atomic-bui.patch b/poky/meta/recipes-support/libusb/libusb1/0001-configure.ac-Link-with-latomic-only-if-no-atomic-bui.patch
deleted file mode 100644
index 3c223e0..0000000
--- a/poky/meta/recipes-support/libusb/libusb1/0001-configure.ac-Link-with-latomic-only-if-no-atomic-bui.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 95e601ce116dd46ea7915c171976b85ea0905d58 Mon Sep 17 00:00:00 2001
-From: Lonnie Abelbeck <lonnie@abelbeck.com>
-Date: Sun, 8 May 2022 14:05:56 -0500
-Subject: [PATCH] configure.ac: Link with -latomic only if no atomic builtins
-
-Follow-up to 561dbda, a check of GCC atomic builtins needs to be done
-first.
-
-I'm no autoconf guru, but using this:
-https://github.com/mesa3d/mesa/blob/0df485c285b73c34ba9062f0c27e55c3c702930d/configure.ac#L469
-as inspiration, I created a pre-check before calling AC_SEARCH_LIBS(...)
-
-Fixes #1135
-Closes #1139
-Upstream-Status: Backport [https://github.com/kraj/libusb/commit/95e601ce116dd46ea7915c171976b85ea0905d58]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac          | 16 +++++++++++++++-
- libusb/version_nano.h |  2 +-
- 2 files changed, 16 insertions(+), 2 deletions(-)
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -153,7 +153,21 @@ if test "x$platform" = xposix; then
- 	AC_SEARCH_LIBS([pthread_create], [pthread],
- 		[test "x$ac_cv_search_pthread_create" != "xnone required" && AC_SUBST(THREAD_LIBS, [-lpthread])],
- 		[], [])
--	AC_SEARCH_LIBS([__atomic_fetch_add_4], [atomic])
-+	dnl Check for new-style atomic builtins. We first check without linking to -latomic.
-+	AC_MSG_CHECKING(whether __atomic_load_n is supported)
-+	AC_LINK_IFELSE([AC_LANG_SOURCE([[
-+	#include <stdint.h>
-+	int main() {
-+		struct {
-+			uint64_t *v;
-+		} x;
-+		return (int)__atomic_load_n(x.v, __ATOMIC_ACQUIRE) &
-+		       (int)__atomic_add_fetch(x.v, (uint64_t)1, __ATOMIC_ACQ_REL);
-+	}]])], GCC_ATOMIC_BUILTINS_SUPPORTED=yes, GCC_ATOMIC_BUILTINS_SUPPORTED=no)
-+	AC_MSG_RESULT($GCC_ATOMIC_BUILTINS_SUPPORTED)
-+	if test "x$GCC_ATOMIC_BUILTINS_SUPPORTED" != xyes; then
-+		AC_SEARCH_LIBS([__atomic_fetch_add_4], [atomic])
-+	fi
- elif test "x$platform" = xwindows; then
- 	AC_DEFINE([PLATFORM_WINDOWS], [1], [Define to 1 if compiling for a Windows platform.])
- else
diff --git a/poky/meta/recipes-support/libusb/libusb1_1.0.26.bb b/poky/meta/recipes-support/libusb/libusb1_1.0.27.bb
similarity index 82%
rename from poky/meta/recipes-support/libusb/libusb1_1.0.26.bb
rename to poky/meta/recipes-support/libusb/libusb1_1.0.27.bb
index 2af6fcd..f2431d7 100644
--- a/poky/meta/recipes-support/libusb/libusb1_1.0.26.bb
+++ b/poky/meta/recipes-support/libusb/libusb1_1.0.27.bb
@@ -11,14 +11,13 @@
 BBCLASSEXTEND = "native nativesdk"
 
 SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libusb-${PV}.tar.bz2 \
-           file://0001-configure.ac-Link-with-latomic-only-if-no-atomic-bui.patch \
            file://run-ptest \
-          "
+           "
 
 GITHUB_BASE_URI = "https://github.com/libusb/libusb/releases"
 UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$"
 
-SRC_URI[sha256sum] = "12ce7a61fc9854d1d2a1ffe095f7b5fac19ddba095c259e6067a46500381b5a5"
+SRC_URI[sha256sum] = "ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575"
 
 S = "${WORKDIR}/libusb-${PV}"
 
@@ -41,7 +40,7 @@
 }
 
 do_install_ptest() {
-    install -m 755 ${B}/tests/.libs/stress ${D}${PTEST_PATH}
+    install -m 755 ${B}/tests/stress ${D}${PTEST_PATH}
 }
 
 FILES:${PN} += "${base_libdir}/*.so.*"
diff --git a/poky/meta/recipes-support/nghttp2/nghttp2/0001-fetch-ocsp-response-use-python3.patch b/poky/meta/recipes-support/nghttp2/nghttp2/0001-fetch-ocsp-response-use-python3.patch
deleted file mode 100644
index e4db096..0000000
--- a/poky/meta/recipes-support/nghttp2/nghttp2/0001-fetch-ocsp-response-use-python3.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 73ec79432fc557a8be4f1500982b1c0f5fdf12a9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com>
-Date: Thu, 7 Nov 2019 09:58:52 +0000
-Subject: [PATCH] fetch-ocsp-response: use python3
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [oe specific]
-Signed-off-by: André Draszik <git@andred.net>
----
- script/fetch-ocsp-response | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/script/fetch-ocsp-response b/script/fetch-ocsp-response
-index 0ff7461..185116b 100755
---- a/script/fetch-ocsp-response
-+++ b/script/fetch-ocsp-response
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- 
- # nghttp2 - HTTP/2 C Library
--- 
-2.23.0.rc1
-
diff --git a/poky/meta/recipes-support/nghttp2/nghttp2_1.59.0.bb b/poky/meta/recipes-support/nghttp2/nghttp2_1.60.0.bb
similarity index 78%
rename from poky/meta/recipes-support/nghttp2/nghttp2_1.59.0.bb
rename to poky/meta/recipes-support/nghttp2/nghttp2_1.60.0.bb
index fa0013c..cf62c32 100644
--- a/poky/meta/recipes-support/nghttp2/nghttp2_1.59.0.bb
+++ b/poky/meta/recipes-support/nghttp2/nghttp2_1.60.0.bb
@@ -4,11 +4,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec"
 
-SRC_URI = "\
-    ${GITHUB_BASE_URI}/download/v${PV}/nghttp2-${PV}.tar.xz \
-    file://0001-fetch-ocsp-response-use-python3.patch \
-"
-SRC_URI[sha256sum] = "fdc9bd71f5cf8d3fdfb63066b89364c10eb2fdeab55f3c6755cd7917b2ec4ffb"
+SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/nghttp2-${PV}.tar.xz"
+SRC_URI[sha256sum] = "625d6c3da1d9ca4fd643a638256431ae68fd1901653b2a61a245eea7b261bf4e"
 
 inherit cmake manpages python3native github-releases
 PACKAGECONFIG[manpages] = ""
diff --git a/poky/meta/recipes-support/taglib/taglib_1.13.1.bb b/poky/meta/recipes-support/taglib/taglib_2.0.bb
similarity index 93%
rename from poky/meta/recipes-support/taglib/taglib_1.13.1.bb
rename to poky/meta/recipes-support/taglib/taglib_2.0.bb
index b26563a..4bf9be1 100644
--- a/poky/meta/recipes-support/taglib/taglib_1.13.1.bb
+++ b/poky/meta/recipes-support/taglib/taglib_2.0.bb
@@ -7,11 +7,11 @@
                     file://COPYING.MPL;md5=bfe1f75d606912a4111c90743d6c7325 \
                     file://taglib/audioproperties.h;beginline=1;endline=24;md5=9df2c7399519b7310568a7c55042ecee"
 
-DEPENDS = "zlib"
+DEPENDS = "zlib utfcpp"
 
 SRC_URI = "http://taglib.github.io/releases/${BP}.tar.gz"
 
-SRC_URI[sha256sum] = "c8da2b10f1bfec2cd7dbfcd33f4a2338db0765d851a50583d410bacf055cfd0b"
+SRC_URI[sha256sum] = "e36ea877a6370810b97d84cf8f72b1e4ed205149ab3ac8232d44c850f38a2859"
 
 UPSTREAM_CHECK_URI = "https://taglib.org/"
 UPSTREAM_CHECK_REGEX = "taglib-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-support/utfcpp/utfcpp_4.0.5.bb b/poky/meta/recipes-support/utfcpp/utfcpp_4.0.5.bb
new file mode 100644
index 0000000..5ac6fd3
--- /dev/null
+++ b/poky/meta/recipes-support/utfcpp/utfcpp_4.0.5.bb
@@ -0,0 +1,16 @@
+SUMMARY = " UTF-8 with C++ in a Portable Way"
+HOMEPAGE = "https://github.com/nemtrif/utfcpp"
+
+LICENSE = "BSL-1.0 & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e4224ccaecb14d942c71d31bef20d78c \
+                    file://extern/ftest/LICENSE;md5=d33c6488d3b003723a5f17ac984db030"
+
+SRC_URI = "gitsm://github.com/nemtrif/utfcpp;protocol=https;branch=master"
+
+SRCREV = "6be08bbea14ffa0a5c594257fb6285a054395cd7"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+FILES:${PN}-dev += "${datadir}/utf8cpp/cmake"
diff --git a/poky/scripts/lib/wic/misc.py b/poky/scripts/lib/wic/misc.py
index 2b90821..1a7c140 100644
--- a/poky/scripts/lib/wic/misc.py
+++ b/poky/scripts/lib/wic/misc.py
@@ -25,7 +25,7 @@
 logger = logging.getLogger('wic')
 
 # executable -> recipe pairs for exec_native_cmd
-NATIVE_RECIPES = {"bmaptool": "bmap-tools",
+NATIVE_RECIPES = {"bmaptool": "bmaptool",
                   "dumpe2fs": "e2fsprogs",
                   "grub-mkimage": "grub-efi",
                   "isohybrid": "syslinux",
