poky: subtree update:2834c2f853..17aabc0127

Adam Romanek (3):
      bitbake: fetch/git: run gc in foreground to avoid race with tar
      bitbake: fetch2/s3: allow to use credentials from environment variables
      own-mirrors: Add support for s3:// scheme in SOURCE_MIRROR_URL

Alexander Kanavin (44):
      devtool upgrade: rebase override-only patches as well
      cmake: update 3.20.3 -> 3.20.4
      gnu-config: update to latest revision
      bash: update 5.1 -> 5.1.8
      dnf: updatee 4.7.0 -> 4.8.0
      vulkan-samples: update to latest revision
      bind: upgrade 9.16.16 -> 9.16.18
      bluez5: upgrade 5.58 -> 5.59
      dejagnu: upgrade 1.6.2 -> 1.6.3
      libdnf: upgrade 0.63.0 -> 0.63.1
      libpcre: upgrade 8.44 -> 8.45
      libxi: upgrade 1.7.10 -> 1.7.99.2
      mtools: upgrade 4.0.29 -> 4.0.31
      python3-git: upgrade 3.1.17 -> 3.1.18
      sqlite3: upgrade 3.35.5 -> 3.36.0
      vte: upgrade 0.64.1 -> 0.64.2
      x264: upgrade to latest revision
      python3: apply test skipping patch unconditionally
      pypi: set SRC_URI with _prepend, not with +=
      man-pages: upgrade 5.11 -> 5.12
      rt-tests: update 1.10 -> 2.1
      python3-iniparse: update 0.4 -> 0.5
      iputils: correct upstream version check
      texinfo: update 6.7 -> 6.8
      xserver-xorg: exclude development snapshots from upstream version checks
      xwayland: exclude development snapshots from upstream version checks
      devtool: correctly handle non-standard source tree locations in upgrades
      llvm: make upgradable via devtool
      xserver-xorg: update 1.20.11 -> 1.20.12
      libmodulemd: update 2.12.1 -> 2.13.0
      bluez5: upgrade 5.59 -> 5.60
      createrepo-c: upgrade 0.17.3 -> 0.17.4
      ethtool: upgrade 5.12 -> 5.13
      gtk+3: upgrade 3.24.29 -> 3.24.30
      harfbuzz: upgrade 2.8.1 -> 2.8.2
      iproute2: upgrade 5.12.0 -> 5.13.0
      libgit2: upgrade 1.1.0 -> 1.1.1
      mpg123: upgrade 1.28.0 -> 1.28.2
      mtools: upgrade 4.0.31 -> 4.0.32
      ruby: upgrade 3.0.1 -> 3.0.2
      stress-ng: upgrade 0.12.11 -> 0.12.12
      webkitgtk: upgrade 2.32.1 -> 2.32.2
      xwayland: upgrade 21.1.1 -> 21.1.2
      tcl: fix upstream version check

Alexey Brodkin (3):
      dpkg: Add ARC support
      default-distrovars.inc: Remove seccomp for ARC
      dhcpcd: add ARC support

Andreas Müller (4):
      libdrm: upgrade 2.4.106 -> 2.4.107
      mesa: upgrade 21.1.3 -> 21.1.4
      pango: upgrade 1.48.5 -> 1.48.7
      mesa: upgrade 21.1.4 -> 21.1.5

Andrej Valek (1):
      busybox: add tmpdir option into mktemp applet

Armin Kuster (1):
      maintainers.inc: remove myself as a Maintainer

Asfak Rahman (1):
      openssh: Remove temporary keys before generating new ones

Bruce Ashfield (24):
      linux-yocto/5.10: update to v5.10.46
      linux-yocto/5.10: features/nft_tables: refresh config options
      linux-yocto/5.4: update to v5.4.128
      linux-yocto/5.10: rcu: Fix stall-warning deadlock due to non-release of rcu_node ->lock
      linux-yocto/5.10: update to v5.10.47
      linux-yocto/5.4: update to v5.4.129
      linux-yocto/5.10: scsi-debug needs scsi-disk
      linux-libc-headers: update to 5.13
      kernel-devsrc: fix scripts/prepare for ARM64
      kernel-devsrc: fix scripts prepare for powerpc
      kernel-devsrc: powerpc64 add scripts prepare support
      linux-yocto: introduce 5.13 recipes
      linux-yocto/5.13: add devupstream support
      linux-yocto-rt/5.13: integrate -rt1
      linux-yocto: add vfat KERNEL_FEATURE when MACHINE_FEATURES include vfat
      linux-yocto/5.10: update to v5.10.49
      linux-yocto/5.4: update to v5.4.131
      linux-yocto/5.13: update to v5.13.2
      linux-yocto/5.10: update to v5.10.50
      linux-yocto/5.4: update to v5.4.132
      linux-yocto/5.13: update to v5.13.3
      linux-yocto/5.13: update to v5.13.4
      linux-yocto/5.10: update to v5.10.52
      linux-yocto/5.4: update to v5.4.134

Changhyeok Bae (1):
      iputils: Update to 20210202

Changqing Li (1):
      boost-build-native: workaround one rarely hang problem on fedora34

Christoph Muellner (1):
      ldconfig-native: Add RISC-V support

Damian Wrobel (1):
      gobject-introspection: Fix the license (add MIT)

Denys Dmytriyenko (1):
      bitbake: providers: replace newly added logger.warn() with logger.warning()

Fabio Berton (1):
      lib/oe/package_manager: Don't ignore installation failures in install_complementary

Florian Amstutz (1):
      devtool: deploy-target: Fix preserving attributes when using --strip

Jose Quaresma (3):
      glslang: upgrade 11.4.0 -> 11.5.0
      shaderc: upgrade 2021.0 -> 2021.1
      spirv-tools: upgrade 2021.1 -> 2021.2

Joshua Watt (3):
      ref-manual: Document BUILDHISTORY_PATH_PREFIX_STRIP
      bitbake: bitbake: Add piping compression library
      bitbake: server: Fix early parsing errors preventing zombie bitbake

Khem Raj (7):
      glib-2.0: Fix signature of close_range
      gnome-desktop-testing: Fix non-literal format string warning
      util-linux: Disable chfn-chsh on non-target builds
      libseccomp: Update to main branch
      systemd: Fix libseccomp testcase involving __NR_ppoll
      util-linux: Fix signature of close_range()
      gpgme: Use glibc provided closefrom API when available

Lee Chee Yang (1):
      qemu: fix CVE-2021-3527

Marek Vasut (2):
      pulseaudio: Drop pulseaudio-conf
      update-rc.d: update SRCREV to pull in fix for non-bash shell support

Mark Hatle (1):
      populate_sdk_ext: Error if trying to generate an eSDK from a mulitconfig

Max Krummenacher (1):
      xwayland: port packageconfig from xserver-xorg recipe

Michael Halstead (1):
      releases: update to include 3.1.9

Michael Ho (1):
      sstate.bbclass: fix errors about read-only sstate mirrors

Mike Crowe (1):
      licence_image: Add lic-pkgs IMAGE_FEATURE

Mingli Yu (4):
      pulseaudio: check if NEON code can be compiled on arm
      perlcross: check the file if patched or not
      perl: correct libpth and glibpth
      parselogs.py: ignore rndr initialization failure

Patrick Williams (1):
      docs: remove image-mklibs references

Paul Barker (1):
      linux-yocto: Fix devupstream SRCREV assignment

Peter Bergin (1):
      Revert "libubootenv: inherit uboot-config"

Quentin Schulz (1):
      docs: replace remaining ``FOO`` by :term:`FOO`

Ralph Siemsen (1):
      oeqa/manual/toaster: fix small typo

Richard Purdie (26):
      package_pkgdata: Avoid task hash mismatches for generic task changes
      selftest/fetch: Avoid occasional selftest failure from poor temp file name choice
      kernel: Fix interaction when packaging disabled
      kernel-devicetree: Fix interaction when packaging disabled
      python3-pip/python3-pbr: Drop obsolete md5sum at upgrade
      oeqa/selftest/runcmd: Tweal test timeouts
      bash: Fix a rare make race build failure
      sstate/staging: Handle directory creation race issue
      oeqa/selftest/archiver: Allow tests to ignore empty directories
      dwarfsrcfiles: Avoid races over debug-link files
      oeqa/selftest/multiprocesslauch: Fix test race
      runqemu: Remove potential lock races around tap device handling
      glibc-testsuite: Fix build failures when directly running recipe
      license: Drop adding RRECOMMENDS for license packages
      report-error: Drop pointless inherit
      pseudo: Add uninative configuration sanity check
      pseudo: Update to latest version including statx fix
      sstate: Drop pseudo exclusion
      oeqa/qemurunner: Handle files no longer existing gracefully
      python3: Add a fix for a make install race
      Add README link to README.poky
      README.OE-Core/README.qemu: Move to markdown format
      bitbake: data_smart/parse: Allow ':' characters in variable/function names
      zstd: Include pzstd in the build
      buildtools-tarball: Add lz4 and ztsd (including pzstd)
      build-appliance-image: Update to master head revision

Ross Burton (29):
      glibc: backport MTE improvements from master
      glibc: re-enable memory tagging
      libgudev: fix SRC_URI
      cantarell-fonts: fix SRC_URI
      shadow: generate alternative links for chfn and chsh
      util-linux: build chfn and chsh
      util-linux: add missing ptest dependencies
      util-linux: backport test suite fixes
      util-linux: rewrite the ptest integration
      glib-2.0: fix g-file-into modification time test
      oeqa/selftest/recipetool: update socat version to fix failing download
      parted: improve ptest execution
      tcl: suffix all Tcl man pages instead of using alternatives
      tcl: EXTRA_OECONF already passes --libdir, don't do it again
      tcl: mark a patch as upstreamable
      tcl: use tcl-core instead of patching out packages
      tcl: use AUTOTOOLS_SCRIPT_PATH
      tcl: remove redundant file creation
      tcl: detect tests that error as well as fail
      tcl: clock.test needs a timezone to be set
      tcl: fix race in interp.test
      parted: remove obsolete patch
      parted: fix ptest RRECOMMENDS
      busybox: support mounting swap via labels
      meta: remove redundant ${libdir}/cmake from FILES_${PN}-dev
      cups: update to 2.3.3op2
      parted: skip tests that need vfat support
      avahi: fix CVE-2021-36217, crash on pinging '.local'
      parted: add device mappper PACKAGECONFIG

Sakib Sajal (3):
      buildstats.bbclass: log host data on failure to task specific file
      oe-time-dd-test.sh: add options and refactor
      scripts/oe-time-dd-test.sh: run "uptime" on each iteration

Saul Wold (4):
      qemurunner: Add info log for qemu startup
      oeqa/qemurunner: add support qmp cmd args
      oeqa/dump.py: Add support for QMP command arguments
      testimage.bbclass: Add dump-guest-memory cmd

Scott Weaver (1):
      meta-skeleton: update to satisfy yocto-check-layer tests

Tim Orling (6):
      python3-importlib-metadata: upgrade 4.5.0 -> 4.6.0
      python3-packaging: upgrade 20.9 -> 21.0
      python3-hypothesis: upgrade 6.14.0 -> 6.14.1
      python3-zipp: upgrade 3.4.1 -> 3.5.0
      at-spi2-core: upgrade 2.40.2 -> 2.40.3
      python3-hypothesis: upgrade 6.14.1 -> 6.14.3

Tony Tascioglu (1):
      valgrind: skip flaky ptest fb_test_amd64

Trevor Gamblin (2):
      python3-pip: upgrade 20.0.2 -> 21.1.2
      python3-pip: add multiprocessing to RDEPENDS

Yi Zhao (1):
      libffi: disable use of static exec trampolines

Zoltán Böszörményi (1):
      tzdata: Allow controlling zoneinfo binary format

Zqiang (1):
      ifupdown: Skip wrong test item

bkylerussell@gmail.com (1):
      gstreamer: add libgst packages to PACKAGES_DYNAMIC

jbouchard (1):
      Use the label provided when formating a dos partition

wangmy (19):
      libcap: upgrade 2.50 -> 2.51
      libhandy: upgrade 1.2.2 -> 1.2.3
      libva: upgrade 2.11.0 -> 2.12.0
      libxcrypt: upgrade 4.4.22 -> 4.4.23
      python3-numpy: upgrade 1.20.3 -> 1.21.0
      python3-pbr: upgrade 5.4.4 -> 5.6.0
      cmake: upgrade 3.20.4 -> 3.20.5
      gpgme: upgrade 1.15.1 -> 1.16.0
      libglu: upgrade 9.0.1 -> 9.0.2
      stress-ng: upgrade 0.12.10 -> 0.12.11
      xf86-input-libinput: upgrade 1.0.1 -> 1.1.0
      vulkan-headers: upgrade 1.2.176 -> 1.2.182
      vulkan-loader: upgrade 1.2.176 -> 1.2.182
      vulkan-tools: upgrade 1.2.176 -> 1.2.182
      gnome-desktop-testing: upgrade 2018.1 -> 2021.1
      python3-importlib-metadata: upgrade 4.6.0 -> 4.6.1
      u-boot: upgrade 2021.04 -> 2021.07
      python3-setuptools: upgrade 57.0.0 -> 57.1.0
      btrfs-tools: upgrade 5.12.1 -> 5.13

zangrc (1):
      python3-pip: upgrade 21.1.2 -> 21.1.3

zhengruoqin (3):
      libffi: upgrade 3.3 -> 3.4.2
      python3: upgrade 3.9.5 -> 3.9.6
      python3-pathlib2: upgrade 2.3.5 -> 2.3.6

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: If493204235c3a1ce4e7fe65438168512d17a900e
diff --git a/poky/README.OE-Core b/poky/README.OE-Core.md
similarity index 100%
rename from poky/README.OE-Core
rename to poky/README.OE-Core.md
diff --git a/poky/README.md b/poky/README.md
new file mode 120000
index 0000000..6d6b297
--- /dev/null
+++ b/poky/README.md
@@ -0,0 +1 @@
+README.poky.md
\ No newline at end of file
diff --git a/poky/README.qemu b/poky/README.qemu.md
similarity index 100%
rename from poky/README.qemu
rename to poky/README.qemu.md
diff --git a/poky/bitbake/bin/bitbake-selftest b/poky/bitbake/bin/bitbake-selftest
index 6c07374..aec4706 100755
--- a/poky/bitbake/bin/bitbake-selftest
+++ b/poky/bitbake/bin/bitbake-selftest
@@ -29,6 +29,7 @@
          "bb.tests.runqueue",
          "bb.tests.siggen",
          "bb.tests.utils",
+         "bb.tests.compression",
          "hashserv.tests",
          "layerindexlib.tests.layerindexobj",
          "layerindexlib.tests.restapi",
diff --git a/poky/bitbake/lib/bb/compress/_pipecompress.py b/poky/bitbake/lib/bb/compress/_pipecompress.py
new file mode 100644
index 0000000..4b9f662
--- /dev/null
+++ b/poky/bitbake/lib/bb/compress/_pipecompress.py
@@ -0,0 +1,194 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Helper library to implement streaming compression and decompression using an
+# external process
+#
+# This library should be used directly by end users; a wrapper library for the
+# specific compression tool should be created
+
+import builtins
+import io
+import os
+import subprocess
+
+
+def open_wrap(
+    cls, filename, mode="rb", *, encoding=None, errors=None, newline=None, **kwargs
+):
+    """
+    Open a compressed file in binary or text mode.
+
+    Users should not call this directly. A specific compression library can use
+    this helper to provide it's own "open" command
+
+    The filename argument can be an actual filename (a str or bytes object), or
+    an existing file object to read from or write to.
+
+    The mode argument can be "r", "rb", "w", "wb", "x", "xb", "a" or "ab" for
+    binary mode, or "rt", "wt", "xt" or "at" for text mode. The default mode is
+    "rb".
+
+    For binary mode, this function is equivalent to the cls constructor:
+    cls(filename, mode). In this case, the encoding, errors and newline
+    arguments must not be provided.
+
+    For text mode, a cls object is created, and wrapped in an
+    io.TextIOWrapper instance with the specified encoding, error handling
+    behavior, and line ending(s).
+    """
+    if "t" in mode:
+        if "b" in mode:
+            raise ValueError("Invalid mode: %r" % (mode,))
+    else:
+        if encoding is not None:
+            raise ValueError("Argument 'encoding' not supported in binary mode")
+        if errors is not None:
+            raise ValueError("Argument 'errors' not supported in binary mode")
+        if newline is not None:
+            raise ValueError("Argument 'newline' not supported in binary mode")
+
+    file_mode = mode.replace("t", "")
+    if isinstance(filename, (str, bytes, os.PathLike)):
+        binary_file = cls(filename, file_mode, **kwargs)
+    elif hasattr(filename, "read") or hasattr(filename, "write"):
+        binary_file = cls(None, file_mode, fileobj=filename, **kwargs)
+    else:
+        raise TypeError("filename must be a str or bytes object, or a file")
+
+    if "t" in mode:
+        return io.TextIOWrapper(
+            binary_file, encoding, errors, newline, write_through=True
+        )
+    else:
+        return binary_file
+
+
+class CompressionError(OSError):
+    pass
+
+
+class PipeFile(io.RawIOBase):
+    """
+    Class that implements generically piping to/from a compression program
+
+    Derived classes should add the function get_compress() and get_decompress()
+    that return the required commands. Input will be piped into stdin and the
+    (de)compressed output should be written to stdout, e.g.:
+
+        class FooFile(PipeCompressionFile):
+            def get_decompress(self):
+                return ["fooc", "--decompress", "--stdout"]
+
+            def get_compress(self):
+                return ["fooc", "--compress", "--stdout"]
+
+    """
+
+    READ = 0
+    WRITE = 1
+
+    def __init__(self, filename=None, mode="rb", *, stderr=None, fileobj=None):
+        if "t" in mode or "U" in mode:
+            raise ValueError("Invalid mode: {!r}".format(mode))
+
+        if not "b" in mode:
+            mode += "b"
+
+        if mode.startswith("r"):
+            self.mode = self.READ
+        elif mode.startswith("w"):
+            self.mode = self.WRITE
+        else:
+            raise ValueError("Invalid mode %r" % mode)
+
+        if fileobj is not None:
+            self.fileobj = fileobj
+        else:
+            self.fileobj = builtins.open(filename, mode or "rb")
+
+        if self.mode == self.READ:
+            self.p = subprocess.Popen(
+                self.get_decompress(),
+                stdin=self.fileobj,
+                stdout=subprocess.PIPE,
+                stderr=stderr,
+                close_fds=True,
+            )
+            self.pipe = self.p.stdout
+        else:
+            self.p = subprocess.Popen(
+                self.get_compress(),
+                stdin=subprocess.PIPE,
+                stdout=self.fileobj,
+                stderr=stderr,
+                close_fds=True,
+            )
+            self.pipe = self.p.stdin
+
+        self.__closed = False
+
+    def _check_process(self):
+        if self.p is None:
+            return
+
+        returncode = self.p.wait()
+        if returncode:
+            raise CompressionError("Process died with %d" % returncode)
+        self.p = None
+
+    def close(self):
+        if self.closed:
+            return
+
+        self.pipe.close()
+        if self.p is not None:
+            self._check_process()
+        self.fileobj.close()
+
+        self.__closed = True
+
+    @property
+    def closed(self):
+        return self.__closed
+
+    def fileno(self):
+        return self.pipe.fileno()
+
+    def flush(self):
+        self.pipe.flush()
+
+    def isatty(self):
+        return self.pipe.isatty()
+
+    def readable(self):
+        return self.mode == self.READ
+
+    def writable(self):
+        return self.mode == self.WRITE
+
+    def readinto(self, b):
+        if self.mode != self.READ:
+            import errno
+
+            raise OSError(
+                errno.EBADF, "read() on write-only %s object" % self.__class__.__name__
+            )
+        size = self.pipe.readinto(b)
+        if size == 0:
+            self._check_process()
+        return size
+
+    def write(self, data):
+        if self.mode != self.WRITE:
+            import errno
+
+            raise OSError(
+                errno.EBADF, "write() on read-only %s object" % self.__class__.__name__
+            )
+        data = self.pipe.write(data)
+
+        if not data:
+            self._check_process()
+
+        return data
diff --git a/poky/bitbake/lib/bb/compress/lz4.py b/poky/bitbake/lib/bb/compress/lz4.py
new file mode 100644
index 0000000..0f6bc51
--- /dev/null
+++ b/poky/bitbake/lib/bb/compress/lz4.py
@@ -0,0 +1,17 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import bb.compress._pipecompress
+
+
+def open(*args, **kwargs):
+    return bb.compress._pipecompress.open_wrap(LZ4File, *args, **kwargs)
+
+
+class LZ4File(bb.compress._pipecompress.PipeFile):
+    def get_compress(self):
+        return ["lz4c", "-z", "-c"]
+
+    def get_decompress(self):
+        return ["lz4c", "-d", "-c"]
diff --git a/poky/bitbake/lib/bb/compress/zstd.py b/poky/bitbake/lib/bb/compress/zstd.py
new file mode 100644
index 0000000..50c4213
--- /dev/null
+++ b/poky/bitbake/lib/bb/compress/zstd.py
@@ -0,0 +1,28 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import bb.compress._pipecompress
+import shutil
+
+
+def open(*args, **kwargs):
+    return bb.compress._pipecompress.open_wrap(ZstdFile, *args, **kwargs)
+
+
+class ZstdFile(bb.compress._pipecompress.PipeFile):
+    def __init__(self, *args, num_threads=1, compresslevel=3, **kwargs):
+        self.num_threads = num_threads
+        self.compresslevel = compresslevel
+        super().__init__(*args, **kwargs)
+
+    def _get_zstd(self):
+        if self.num_threads == 1 or not shutil.which("pzstd"):
+            return ["zstd"]
+        return ["pzstd", "-p", "%d" % self.num_threads]
+
+    def get_compress(self):
+        return self._get_zstd() + ["-c", "-%d" % self.compresslevel]
+
+    def get_decompress(self):
+        return self._get_zstd() + ["-d", "-c"]
diff --git a/poky/bitbake/lib/bb/data_smart.py b/poky/bitbake/lib/bb/data_smart.py
index 2328c33..f48726a 100644
--- a/poky/bitbake/lib/bb/data_smart.py
+++ b/poky/bitbake/lib/bb/data_smart.py
@@ -481,6 +481,7 @@
 
     def setVar(self, var, value, **loginfo):
         #print("var=" + str(var) + "  val=" + str(value))
+        var = var.replace(":", "_")
         self.expand_cache = {}
         parsing=False
         if 'parsing' in loginfo:
@@ -589,6 +590,8 @@
         """
         Rename the variable key to newkey
         """
+        key = key.replace(":", "_")
+        newkey = newkey.replace(":", "_")
         if key == newkey:
             bb.warn("Calling renameVar with equivalent keys (%s) is invalid" % key)
             return
@@ -637,6 +640,7 @@
         self.setVar(var + "_prepend", value, ignore=True, parsing=True)
 
     def delVar(self, var, **loginfo):
+        var = var.replace(":", "_")
         self.expand_cache = {}
 
         loginfo['detail'] = ""
@@ -664,6 +668,7 @@
                          override = None
 
     def setVarFlag(self, var, flag, value, **loginfo):
+        var = var.replace(":", "_")
         self.expand_cache = {}
 
         if 'op' not in loginfo:
@@ -687,6 +692,7 @@
             self.dict["__exportlist"]["_content"].add(var)
 
     def getVarFlag(self, var, flag, expand=True, noweakdefault=False, parsing=False, retparser=False):
+        var = var.replace(":", "_")
         if flag == "_content":
             cachename = var
         else:
@@ -814,6 +820,7 @@
         return value
 
     def delVarFlag(self, var, flag, **loginfo):
+        var = var.replace(":", "_")
         self.expand_cache = {}
 
         local_var, _ = self._findVar(var)
@@ -831,6 +838,7 @@
             del self.dict[var][flag]
 
     def appendVarFlag(self, var, flag, value, **loginfo):
+        var = var.replace(":", "_")
         loginfo['op'] = 'append'
         loginfo['flag'] = flag
         self.varhistory.record(**loginfo)
@@ -838,6 +846,7 @@
         self.setVarFlag(var, flag, newvalue, ignore=True)
 
     def prependVarFlag(self, var, flag, value, **loginfo):
+        var = var.replace(":", "_")
         loginfo['op'] = 'prepend'
         loginfo['flag'] = flag
         self.varhistory.record(**loginfo)
@@ -845,6 +854,7 @@
         self.setVarFlag(var, flag, newvalue, ignore=True)
 
     def setVarFlags(self, var, flags, **loginfo):
+        var = var.replace(":", "_")
         self.expand_cache = {}
         infer_caller_details(loginfo)
         if not var in self.dict:
@@ -859,6 +869,7 @@
             self.dict[var][i] = flags[i]
 
     def getVarFlags(self, var, expand = False, internalflags=False):
+        var = var.replace(":", "_")
         local_var, _ = self._findVar(var)
         flags = {}
 
@@ -875,6 +886,7 @@
 
 
     def delVarFlags(self, var, **loginfo):
+        var = var.replace(":", "_")
         self.expand_cache = {}
         if not var in self.dict:
             self._makeShadowCopy(var)
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index c8e9126..0d49e1d 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -834,7 +834,10 @@
                   'SSH_AUTH_SOCK', 'SSH_AGENT_PID',
                   'SOCKS5_USER', 'SOCKS5_PASSWD',
                   'DBUS_SESSION_BUS_ADDRESS',
-                  'P4CONFIG']
+                  'P4CONFIG',
+                  'AWS_ACCESS_KEY_ID',
+                  'AWS_SECRET_ACCESS_KEY',
+                  'AWS_DEFAULT_REGION']
 
     if not cleanup:
         cleanup = []
diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py
index 5e65c83..488f4c7 100644
--- a/poky/bitbake/lib/bb/fetch2/git.py
+++ b/poky/bitbake/lib/bb/fetch2/git.py
@@ -231,7 +231,7 @@
             for name in ud.names:
                 ud.unresolvedrev[name] = 'HEAD'
 
-        ud.basecmd = d.getVar("FETCHCMD_git") or "git -c core.fsyncobjectfiles=0"
+        ud.basecmd = d.getVar("FETCHCMD_git") or "git -c core.fsyncobjectfiles=0 -c gc.autoDetach=false"
 
         write_tarballs = d.getVar("BB_GENERATE_MIRROR_TARBALLS") or "0"
         ud.write_tarballs = write_tarballs != "0" or ud.rebaseable
diff --git a/poky/bitbake/lib/bb/parse/ast.py b/poky/bitbake/lib/bb/parse/ast.py
index 50a88f7..db2bdc3 100644
--- a/poky/bitbake/lib/bb/parse/ast.py
+++ b/poky/bitbake/lib/bb/parse/ast.py
@@ -97,6 +97,7 @@
     def eval(self, data):
         groupd = self.groupd
         key = groupd["var"]
+        key = key.replace(":", "_")
         loginfo = {
             'variable': key,
             'file': self.filename,
@@ -207,6 +208,7 @@
     def eval(self, data):
 
         for func in self.n:
+            func = func.replace(":", "_")
             calledfunc = self.classname + "_" + func
 
             if data.getVar(func, False) and not data.getVarFlag(func, 'export_func', False):
diff --git a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
index f8988b8..152ef6a 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -22,7 +22,7 @@
 # For compatibility
 bb.deprecate_import(__name__, "bb.parse", ["vars_from_file"])
 
-__func_start_regexp__    = re.compile(r"(((?P<py>python(?=(\s|\()))|(?P<fr>fakeroot(?=\s)))\s*)*(?P<func>[\w\.\-\+\{\}\$]+)?\s*\(\s*\)\s*{$" )
+__func_start_regexp__    = re.compile(r"(((?P<py>python(?=(\s|\()))|(?P<fr>fakeroot(?=\s)))\s*)*(?P<func>[\w\.\-\+\{\}\$:]+)?\s*\(\s*\)\s*{$" )
 __inherit_regexp__       = re.compile(r"inherit\s+(.+)" )
 __export_func_regexp__   = re.compile(r"EXPORT_FUNCTIONS\s+(.+)" )
 __addtask_regexp__       = re.compile(r"addtask\s+(?P<func>\w+)\s*((before\s*(?P<before>((.*(?=after))|(.*))))|(after\s*(?P<after>((.*(?=before))|(.*)))))*")
diff --git a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
index f171c5c..0834fe3 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
@@ -20,7 +20,7 @@
 __config_regexp__  = re.compile( r"""
     ^
     (?P<exp>export\s+)?
-    (?P<var>[a-zA-Z0-9\-_+.${}/~]+?)
+    (?P<var>[a-zA-Z0-9\-_+.${}/~:]+?)
     (\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?
 
     \s* (
diff --git a/poky/bitbake/lib/bb/providers.py b/poky/bitbake/lib/bb/providers.py
index 3ec11a4..516d45e 100644
--- a/poky/bitbake/lib/bb/providers.py
+++ b/poky/bitbake/lib/bb/providers.py
@@ -133,7 +133,7 @@
 
     if required_v is not None:
         if preferred_v is not None:
-            logger.warn("REQUIRED_VERSION and PREFERRED_VERSION for package %s%s are both set using REQUIRED_VERSION %s", pn, itemstr, required_v)
+            logger.warning("REQUIRED_VERSION and PREFERRED_VERSION for package %s%s are both set using REQUIRED_VERSION %s", pn, itemstr, required_v)
         else:
             logger.debug("REQUIRED_VERSION is set for package %s%s", pn, itemstr)
         # REQUIRED_VERSION always takes precedence over PREFERRED_VERSION
@@ -173,7 +173,7 @@
             pv_str = '%s:%s' % (preferred_e, pv_str)
         if preferred_file is None:
             if not required:
-                logger.warn("preferred version %s of %s not available%s", pv_str, pn, itemstr)
+                logger.warning("preferred version %s of %s not available%s", pv_str, pn, itemstr)
             available_vers = []
             for file_set in pkg_pn:
                 for f in file_set:
@@ -185,7 +185,7 @@
                         available_vers.append(ver_str)
             if available_vers:
                 available_vers.sort()
-                logger.warn("versions of %s available: %s", pn, ' '.join(available_vers))
+                logger.warning("versions of %s available: %s", pn, ' '.join(available_vers))
             if required:
                 logger.error("required version %s of %s not available%s", pv_str, pn, itemstr)
         else:
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index 155e8d1..a095572 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -147,7 +147,7 @@
                 conn = newconnections.pop(-1)
                 fds.append(conn)
                 self.controllersock = conn
-            elif self.timeout is None and not ready:
+            elif not self.timeout and not ready:
                 serverlog("No timeout, exiting.")
                 self.quit = True
 
diff --git a/poky/bitbake/lib/bb/tests/compression.py b/poky/bitbake/lib/bb/tests/compression.py
new file mode 100644
index 0000000..d3ddf67
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/compression.py
@@ -0,0 +1,98 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+from pathlib import Path
+import bb.compress.lz4
+import bb.compress.zstd
+import contextlib
+import os
+import shutil
+import tempfile
+import unittest
+import subprocess
+
+
+class CompressionTests(object):
+    def setUp(self):
+        self._t = tempfile.TemporaryDirectory()
+        self.tmpdir = Path(self._t.name)
+        self.addCleanup(self._t.cleanup)
+
+    def _file_helper(self, mode_suffix, data):
+        tmp_file = self.tmpdir / "compressed"
+
+        with self.do_open(tmp_file, mode="w" + mode_suffix) as f:
+            f.write(data)
+
+        with self.do_open(tmp_file, mode="r" + mode_suffix) as f:
+            read_data = f.read()
+
+        self.assertEqual(read_data, data)
+
+    def test_text_file(self):
+        self._file_helper("t", "Hello")
+
+    def test_binary_file(self):
+        self._file_helper("b", "Hello".encode("utf-8"))
+
+    def _pipe_helper(self, mode_suffix, data):
+        rfd, wfd = os.pipe()
+        with open(rfd, "rb") as r, open(wfd, "wb") as w:
+            with self.do_open(r, mode="r" + mode_suffix) as decompress:
+                with self.do_open(w, mode="w" + mode_suffix) as compress:
+                    compress.write(data)
+                read_data = decompress.read()
+
+        self.assertEqual(read_data, data)
+
+    def test_text_pipe(self):
+        self._pipe_helper("t", "Hello")
+
+    def test_binary_pipe(self):
+        self._pipe_helper("b", "Hello".encode("utf-8"))
+
+    def test_bad_decompress(self):
+        tmp_file = self.tmpdir / "compressed"
+        with tmp_file.open("wb") as f:
+            f.write(b"\x00")
+
+        with self.assertRaises(OSError):
+            with self.do_open(tmp_file, mode="rb", stderr=subprocess.DEVNULL) as f:
+                data = f.read()
+
+
+class LZ4Tests(CompressionTests, unittest.TestCase):
+    def setUp(self):
+        if shutil.which("lz4c") is None:
+            self.skipTest("'lz4c' not found")
+        super().setUp()
+
+    @contextlib.contextmanager
+    def do_open(self, *args, **kwargs):
+        with bb.compress.lz4.open(*args, **kwargs) as f:
+            yield f
+
+
+class ZStdTests(CompressionTests, unittest.TestCase):
+    def setUp(self):
+        if shutil.which("zstd") is None:
+            self.skipTest("'zstd' not found")
+        super().setUp()
+
+    @contextlib.contextmanager
+    def do_open(self, *args, **kwargs):
+        with bb.compress.zstd.open(*args, **kwargs) as f:
+            yield f
+
+
+class PZStdTests(CompressionTests, unittest.TestCase):
+    def setUp(self):
+        if shutil.which("pzstd") is None:
+            self.skipTest("'pzstd' not found")
+        super().setUp()
+
+    @contextlib.contextmanager
+    def do_open(self, *args, **kwargs):
+        with bb.compress.zstd.open(*args, num_threads=2, **kwargs) as f:
+            yield f
diff --git a/poky/documentation/bsp-guide/bsp.rst b/poky/documentation/bsp-guide/bsp.rst
index 5c43f53..5f62376 100644
--- a/poky/documentation/bsp-guide/bsp.rst
+++ b/poky/documentation/bsp-guide/bsp.rst
@@ -1365,7 +1365,7 @@
 -  :term:`IMAGE_INSTALL`:
    Specifies packages to install into an image through the
    :ref:`image <ref-classes-image>` class. Recipes
-   use the ``IMAGE_INSTALL`` variable.
+   use the :term:`IMAGE_INSTALL` variable.
 
 -  ``do_image_wic[depends]``: A task that is constructed during the
    build. In this example, the task depends on specific tools in order
diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst
index 762636a..2af2896 100644
--- a/poky/documentation/dev-manual/common-tasks.rst
+++ b/poky/documentation/dev-manual/common-tasks.rst
@@ -268,7 +268,7 @@
       quickly.
 
       In summary, you need to place all files referenced from
-      ``SRC_URI`` in a machine-specific subdirectory within the layer in
+      :term:`SRC_URI` in a machine-specific subdirectory within the layer in
       order to restrict those files to machine-specific builds.
 
 -  *Perform Steps to Apply for Yocto Project Compatibility:* If you want
@@ -1305,7 +1305,7 @@
 
 The :term:`SRC_URI` variable in your recipe must define each unique location
 for your source files. It is good practice to not hard-code version
-numbers in a URL used in ``SRC_URI``. Rather than hard-code these
+numbers in a URL used in :term:`SRC_URI`. Rather than hard-code these
 values, use ``${``\ :term:`PV`\ ``}``,
 which causes the fetch process to use the version specified in the
 recipe filename. Specifying the version in this manner means that
@@ -2743,7 +2743,7 @@
 The most important variables you must set in your machine configuration
 file or include from a lower-level configuration file are as follows:
 
--  ``TARGET_ARCH`` (e.g. "arm")
+-  :term:`TARGET_ARCH` (e.g. "arm")
 
 -  ``PREFERRED_PROVIDER_virtual/kernel``
 
@@ -2751,9 +2751,9 @@
 
 You might also need these variables:
 
--  ``SERIAL_CONSOLES`` (e.g. "115200;ttyS0 115200;ttyS1")
+-  :term:`SERIAL_CONSOLES` (e.g. "115200;ttyS0 115200;ttyS1")
 
--  ``KERNEL_IMAGETYPE`` (e.g. "zImage")
+-  :term:`KERNEL_IMAGETYPE` (e.g. "zImage")
 
 -  :term:`IMAGE_FSTYPES` (e.g. "tar.gz jffs2")
 
@@ -3277,7 +3277,7 @@
 
 -  :term:`EXTENDPE`: The epoch - (if
    :term:`PE` is not specified, which is
-   usually the case for most recipes, then ``EXTENDPE`` is blank).
+   usually the case for most recipes, then :term:`EXTENDPE` is blank).
 
 -  :term:`PV`: The recipe version.
 
@@ -4167,7 +4167,7 @@
       If :term:`DISTRO` settings change or fundamental configuration settings
       such as the filesystem layout, you need to work with a clean :term:`TMPDIR`.
       Sharing :term:`TMPDIR` under these circumstances might work but since it is
-      not guaranteed, you should use a clean ``TMPDIR``.
+      not guaranteed, you should use a clean :term:`TMPDIR`.
 
 -  *Enable the Appropriate Package Architecture:* By default, the
    OpenEmbedded build system enables three levels of package
@@ -4392,7 +4392,7 @@
       INHERIT += "own-mirrors"
       BB_NO_NETWORK = "1"
 
-   The ``SOURCE_MIRROR_URL`` and ``own-mirror``
+   The :term:`SOURCE_MIRROR_URL` and ``own-mirror``
    class set up the system to use the downloads directory as your "own
    mirror". Using the :term:`BB_NO_NETWORK` variable makes sure that
    BitBake's fetching process in step 3 stays local, which means files
@@ -4676,7 +4676,7 @@
 
 For the most part, the Multilib class extension works automatically to
 extend the package name from ``${PN}`` to ``${MLPREFIX}${PN}``, where
-``MLPREFIX`` is the particular multilib (e.g. "lib32-" or "lib64-").
+:term:`MLPREFIX` is the particular multilib (e.g. "lib32-" or "lib64-").
 Standard variables such as
 :term:`DEPENDS`,
 :term:`RDEPENDS`,
@@ -6258,7 +6258,7 @@
    software being packaged. Do not confuse :term:`PV` with the binary
    package version.
 
--  ``PR``: The recipe revision.
+-  :term:`PR`: The recipe revision.
 
 -  :term:`SRCPV`: The OpenEmbedded
    build system uses this string to help define the value of :term:`PV` when
@@ -7946,8 +7946,8 @@
    Here are some notes on using the ``buildhistory-collect-srcrevs`` command:
 
    -  By default, only values where the :term:`SRCREV` was not hardcoded
-      (usually when ``AUTOREV`` is used) are reported. Use the ``-a``
-      option to see all ``SRCREV`` values.
+      (usually when :term:`AUTOREV` is used) are reported. Use the ``-a``
+      option to see all :term:`SRCREV` values.
 
    -  The output statements might not have any effect if overrides are
       applied elsewhere in the build system configuration. Use the
@@ -8002,7 +8002,7 @@
 
    DISTRO = poky
    DISTRO_VERSION = 1.7
-   USER_CLASSES = buildstats image-mklibs image-prelink
+   USER_CLASSES = buildstats image-prelink
    IMAGE_CLASSES = image_types
    IMAGE_FEATURES = debug-tweaks
    IMAGE_LINGUAS =
diff --git a/poky/documentation/kernel-dev/common.rst b/poky/documentation/kernel-dev/common.rst
index de62df5..a97140b 100644
--- a/poky/documentation/kernel-dev/common.rst
+++ b/poky/documentation/kernel-dev/common.rst
@@ -81,7 +81,7 @@
    variable to include kernel modules.
 
    In this example we wish to build for qemux86 so we must set the
-   ``MACHINE`` variable to "qemux86" and also add the "kernel-modules".
+   :term:`MACHINE` variable to "qemux86" and also add the "kernel-modules".
    As described we do this by appending to ``conf/local.conf``::
 
       MACHINE = "qemux86"
@@ -259,7 +259,7 @@
    variable to include kernel modules.
 
    In this example we wish to build for qemux86 so we must set the
-   ``MACHINE`` variable to "qemux86" and also add the "kernel-modules".
+   :term:`MACHINE` variable to "qemux86" and also add the "kernel-modules".
    As described we do this by appending to ``conf/local.conf``::
 
       MACHINE = "qemux86"
@@ -588,7 +588,7 @@
    added to the Yocto Project.
 
    In general, however, the Yocto Project maintainers take care of
-   moving the ``SRC_URI``-specified configuration options to the
+   moving the :term:`SRC_URI`-specified configuration options to the
    kernel's ``meta`` branch. Not only is it easier for BSP developers
    not to have to put those configurations in the branch,
    but having the maintainers do it allows them to apply 'global'
@@ -730,7 +730,7 @@
 
 Aside from modifying your kernel recipe and providing your own
 ``defconfig`` file, you need to be sure no files or statements set
-``SRC_URI`` to use a ``defconfig`` other than your "in-tree" file (e.g.
+:term:`SRC_URI` to use a ``defconfig`` other than your "in-tree" file (e.g.
 a kernel's ``linux-``\ `machine`\ ``.inc`` file). In other words, if the
 build system detects a statement that identifies an "out-of-tree"
 ``defconfig`` file, that statement will override your
diff --git a/poky/documentation/migration-guides/migration-1.5.rst b/poky/documentation/migration-guides/migration-1.5.rst
index e956d9f..e1ba4a9 100644
--- a/poky/documentation/migration-guides/migration-1.5.rst
+++ b/poky/documentation/migration-guides/migration-1.5.rst
@@ -124,7 +124,7 @@
    need to refer to this directory. The ``runqemu`` script now uses this
    variable to find images and kernel binaries and will use BitBake to
    determine the directory. Alternatively, you can set the
-   ``DEPLOY_DIR_IMAGE`` variable in the external environment.
+   :term:`DEPLOY_DIR_IMAGE` variable in the external environment.
 
 -  When buildhistory is enabled, its output is now written under the
    :term:`Build Directory` rather than
@@ -333,7 +333,7 @@
    :term:`BAD_RECOMMENDATIONS` supports
    pre-renamed package names.
 
--  ``classes/rootfs_rpm``: Implement ``BAD_RECOMMENDATIONS`` for RPM.
+-  ``classes/rootfs_rpm``: Implement :term:`BAD_RECOMMENDATIONS` for RPM.
 
 -  ``systemd``: Remove ``systemd_unitdir`` if ``systemd`` is not in
    :term:`DISTRO_FEATURES`.
diff --git a/poky/documentation/migration-guides/migration-1.7.rst b/poky/documentation/migration-guides/migration-1.7.rst
index c3a50ee..8c642da 100644
--- a/poky/documentation/migration-guides/migration-1.7.rst
+++ b/poky/documentation/migration-guides/migration-1.7.rst
@@ -13,7 +13,7 @@
 :term:`PACKAGECONFIG` options to enable various
 optional features. The method used to set defaults for these options
 means that existing ``local.conf`` files will need to be modified to
-append to ``PACKAGECONFIG`` for ``qemu-native`` and ``nativesdk-qemu``
+append to :term:`PACKAGECONFIG` for ``qemu-native`` and ``nativesdk-qemu``
 instead of setting it. In other words, to enable graphical output for
 QEMU, you should now have these lines in ``local.conf``::
 
diff --git a/poky/documentation/migration-guides/migration-2.1.rst b/poky/documentation/migration-guides/migration-2.1.rst
index 6c5ed96..3135d69 100644
--- a/poky/documentation/migration-guides/migration-2.1.rst
+++ b/poky/documentation/migration-guides/migration-2.1.rst
@@ -62,12 +62,12 @@
 ----------------------------
 
 :term:`EXTRA_OEMAKE` now defaults to "" instead of
-"-e MAKEFLAGS=". Setting ``EXTRA_OEMAKE`` to "-e MAKEFLAGS=" by default
+"-e MAKEFLAGS=". Setting :term:`EXTRA_OEMAKE` to "-e MAKEFLAGS=" by default
 was a historical accident that has required many classes (e.g.
 ``autotools``, ``module``) and recipes to override this default in order
 to work with sensible build systems. When upgrading to the release, you
 must edit any recipe that relies upon this old default by either setting
-``EXTRA_OEMAKE`` back to "-e MAKEFLAGS=" or by explicitly setting any
+:term:`EXTRA_OEMAKE` back to "-e MAKEFLAGS=" or by explicitly setting any
 required variable value overrides using :term:`EXTRA_OEMAKE`, which is
 typically only needed when a Makefile sets a default value for a
 variable that is inappropriate for cross-compilation using the "="
diff --git a/poky/documentation/migration-guides/migration-2.2.rst b/poky/documentation/migration-guides/migration-2.2.rst
index d6dacdf..cbdc6a7 100644
--- a/poky/documentation/migration-guides/migration-2.2.rst
+++ b/poky/documentation/migration-guides/migration-2.2.rst
@@ -271,7 +271,7 @@
 The :term:`IMGDEPLOYDIR` variable was introduced to allow sstate caching of
 image creation results. Image recipes defining custom :term:`IMAGE_CMD` or
 doing postprocessing on the generated images need to be adapted to use
-``IMGDEPLOYDIR`` instead of :term:`DEPLOY_DIR_IMAGE`. ``IMAGE_MANIFEST``
+:term:`IMGDEPLOYDIR` instead of :term:`DEPLOY_DIR_IMAGE`. :term:`IMAGE_MANIFEST`
 creation and symlinking of the most recent image file will fail otherwise.
 
 .. _migration-2.2-bitbake-changes:
@@ -292,7 +292,7 @@
    change is more in-line with how the other fetchers work for source
    control systems. Recipes that fetch from Perforce will need to be
    updated to use :term:`SRCREV` in place of specifying the source revision
-   within ``SRC_URI``.
+   within :term:`SRC_URI`.
 
 -  Some of BitBake's internal code structures for accessing the recipe
    cache needed to be changed to support the new multi-configuration
diff --git a/poky/documentation/migration-guides/migration-2.3.rst b/poky/documentation/migration-guides/migration-2.3.rst
index 886d579..b79bc54 100644
--- a/poky/documentation/migration-guides/migration-2.3.rst
+++ b/poky/documentation/migration-guides/migration-2.3.rst
@@ -36,7 +36,7 @@
    has a ``pkg_postinst`` that calls ``systemctl`` if "systemd" is in
    :term:`DISTRO_FEATURES`. In the example,
    ``systemd-systemctl-native`` is added to :term:`PACKAGE_WRITE_DEPS`,
-   which is also conditional on "systemd" being in ``DISTRO_FEATURES``.
+   which is also conditional on "systemd" being in :term:`DISTRO_FEATURES`.
 
 -  Examine Recipes that Use ``SSTATEPOSTINSTFUNCS``: You need to
    examine any recipe that uses ``SSTATEPOSTINSTFUNCS`` and determine
diff --git a/poky/documentation/migration-guides/migration-2.4.rst b/poky/documentation/migration-guides/migration-2.4.rst
index 07f2bef..cab8135 100644
--- a/poky/documentation/migration-guides/migration-2.4.rst
+++ b/poky/documentation/migration-guides/migration-2.4.rst
@@ -51,7 +51,7 @@
       ``su`` is normally provided through the shadow file format. The
       main ``util-linux`` package has runtime dependencies (i.e.
       :term:`RDEPENDS`) on the ``util-linux-su`` package
-      when "pam" is in ``DISTRO_FEATURES``.
+      when "pam" is in :term:`DISTRO_FEATURES`.
 
    -  The ``switch_root`` program is now packaged in a separate
       "util-linux-switch-root" package for small initramfs images that
@@ -72,10 +72,10 @@
    change also eliminates needing to pull in the entire ``initscripts``
    package. The main ``initscripts`` package has a runtime dependency
    (i.e. :term:`RDEPENDS`) on the ``sushell`` package when "selinux" is in
-   ``DISTRO_FEATURES``.
+   :term:`DISTRO_FEATURES`.
 
 -  ``glib-2.0``: The ``glib-2.0`` package now has a recommended
-   runtime dependency (i.e. ``RRECOMMENDS``) on the ``shared-mime-info``
+   runtime dependency (i.e. :term:`RRECOMMENDS`) on the ``shared-mime-info``
    package, since large portions of GIO are not useful without the MIME
    database. You can remove the dependency by using the
    :term:`BAD_RECOMMENDATIONS` variable if
diff --git a/poky/documentation/migration-guides/migration-2.5.rst b/poky/documentation/migration-guides/migration-2.5.rst
index d14580d..79f804f 100644
--- a/poky/documentation/migration-guides/migration-2.5.rst
+++ b/poky/documentation/migration-guides/migration-2.5.rst
@@ -278,12 +278,12 @@
    performance and compression. In order to build a live image with
    squashfs+lz4 compression enabled you should now set
    ``LIVE_ROOTFS_TYPE = "squashfs-lz4"`` and ensure that ``live`` is in
-   ``IMAGE_FSTYPES``.
+   :term:`IMAGE_FSTYPES`.
 
 -  Recipes with an unconditional dependency on ``libpam`` are only
    buildable with ``pam`` in :term:`DISTRO_FEATURES`. If the dependency is
    truly optional then it is recommended that the dependency be
-   conditional upon ``pam`` being in ``DISTRO_FEATURES``.
+   conditional upon ``pam`` being in :term:`DISTRO_FEATURES`.
 
 -  For EFI-based machines, the bootloader (``grub-efi`` by default) is
    installed into the image at /boot. Wic can be used to split the
diff --git a/poky/documentation/migration-guides/migration-2.6.rst b/poky/documentation/migration-guides/migration-2.6.rst
index 3216ed5..a8c56ed 100644
--- a/poky/documentation/migration-guides/migration-2.6.rst
+++ b/poky/documentation/migration-guides/migration-2.6.rst
@@ -430,7 +430,7 @@
    .. note::
 
       ``genericx86`` and ``genericx86-64`` retain ``kernel-modules`` as part of
-      the ``RRECOMMENDS`` variable setting.
+      the :term:`RRECOMMENDS` variable setting.
 
 -  The ``LGPLv2_WHITELIST_GPL-3.0`` variable has been removed. If you
    are setting this variable in your configuration, set or append it to
diff --git a/poky/documentation/migration-guides/migration-2.7.rst b/poky/documentation/migration-guides/migration-2.7.rst
index 25d9229..69bd390 100644
--- a/poky/documentation/migration-guides/migration-2.7.rst
+++ b/poky/documentation/migration-guides/migration-2.7.rst
@@ -72,7 +72,7 @@
 The following corrections have been made to the
 :term:`LICENSE` values set by recipes:
 
-- *socat*: Corrected ``LICENSE`` to be "GPLv2" rather than "GPLv2+".
+- *socat*: Corrected :term:`LICENSE` to be "GPLv2" rather than "GPLv2+".
 - *libgfortran*: Set license to "GPL-3.0-with-GCC-exception".
 - *elfutils*: Removed "Elfutils-Exception" and set to "GPLv2" for shared libraries
 
diff --git a/poky/documentation/migration-guides/migration-3.0.rst b/poky/documentation/migration-guides/migration-3.0.rst
index 163c620..20c7026 100644
--- a/poky/documentation/migration-guides/migration-3.0.rst
+++ b/poky/documentation/migration-guides/migration-3.0.rst
@@ -243,7 +243,7 @@
 -  Setting ``DEPENDS_${PN}`` anywhere (i.e. typically in a recipe) now
    triggers an error. The error is triggered because
    :term:`DEPENDS` is not a package-specific variable
-   unlike RDEPENDS. You should set ``DEPENDS`` instead.
+   unlike RDEPENDS. You should set :term:`DEPENDS` instead.
 
 -  systemd currently does not work well with the musl C library because
    only upstream officially supports linking the library with glibc.
diff --git a/poky/documentation/overview-manual/concepts.rst b/poky/documentation/overview-manual/concepts.rst
index 642ef15..1e5f0f9 100644
--- a/poky/documentation/overview-manual/concepts.rst
+++ b/poky/documentation/overview-manual/concepts.rst
@@ -774,7 +774,7 @@
 
    -  :term:`BPN`: The name of the recipe
       used to build the package. The :term:`BPN` variable is a version of
-      the ``PN`` variable but with common prefixes and suffixes removed.
+      the :term:`PN` variable but with common prefixes and suffixes removed.
 
    -  :term:`PV`: The version of the
       recipe used to build the package.
@@ -1918,7 +1918,7 @@
 
 .. note::
 
-   The shared state directory (``SSTATE_DIR``) is organized into two-character
+   The shared state directory (:term:`SSTATE_DIR`) is organized into two-character
    subdirectories, where the subdirectory names are based on the first two
    characters of the hash.
    If the shared state directory structure for a mirror has the same structure
@@ -2028,7 +2028,7 @@
 
    .. note::
 
-      By default, ``foo-dev`` also has an ``RDEPENDS``-style dependency on
+      By default, ``foo-dev`` also has an :term:`RDEPENDS`-style dependency on
       ``foo``, because the default value of ``RDEPENDS_${PN}-dev`` (set in
       bitbake.conf) includes "${PN}".
 
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst
index 09878c4..49905f2 100644
--- a/poky/documentation/ref-manual/classes.rst
+++ b/poky/documentation/ref-manual/classes.rst
@@ -116,7 +116,7 @@
 
 -  :ref:`ref-tasks-compile` - Runs ``make`` with
    arguments that specify the compiler and linker. You can pass
-   additional arguments through the ``EXTRA_OEMAKE`` variable.
+   additional arguments through the :term:`EXTRA_OEMAKE` variable.
 
 -  :ref:`ref-tasks-install` - Runs ``make install`` and
    passes in ``${``\ :term:`D`\ ``}`` as ``DESTDIR``.
@@ -932,20 +932,6 @@
 Normally, you do not use this class directly. Instead, you add "live" to
 :term:`IMAGE_FSTYPES`.
 
-.. _ref-classes-image-mklibs:
-
-``image-mklibs.bbclass``
-========================
-
-The ``image-mklibs`` class enables the use of the ``mklibs`` utility
-during the :ref:`ref-tasks-rootfs` task, which optimizes
-the size of libraries contained in the image.
-
-By default, the class is enabled in the ``local.conf.template`` using
-the :term:`USER_CLASSES` variable as follows::
-
-   USER_CLASSES ?= "buildstats image-mklibs image-prelink"
-
 .. _ref-classes-image-prelink:
 
 ``image-prelink.bbclass``
@@ -959,7 +945,7 @@
 By default, the class is enabled in the ``local.conf.template`` using
 the :term:`USER_CLASSES` variable as follows::
 
-   USER_CLASSES ?= "buildstats image-mklibs image-prelink"
+   USER_CLASSES ?= "buildstats image-prelink"
 
 .. _ref-classes-insane:
 
@@ -995,7 +981,7 @@
 output. So exercise caution when disabling these checks.
 
 Here are the tests you can list with the :term:`WARN_QA` and
-``ERROR_QA`` variables:
+:term:`ERROR_QA` variables:
 
 -  ``already-stripped:`` Checks that produced binaries have not
    already been stripped prior to the build system extracting debug
@@ -1030,7 +1016,7 @@
    adds a dependency on the ``initscripts-functions`` package to
    packages that install an initscript that refers to
    ``/etc/init.d/functions``. The recipe should really have an explicit
-   ``RDEPENDS`` for the package in question on ``initscripts-functions``
+   :term:`RDEPENDS` for the package in question on ``initscripts-functions``
    so that the OpenEmbedded build system is able to ensure that the
    ``initscripts`` recipe is actually built and thus the
    ``initscripts-functions`` package is made available.
@@ -1200,7 +1186,7 @@
    turn into ``FILES = "xyz"``.
 
 -  ``rpaths:`` Checks for rpaths in the binaries that contain build
-   system paths such as ``TMPDIR``. If this test fails, bad ``-rpath``
+   system paths such as :term:`TMPDIR`. If this test fails, bad ``-rpath``
    options are being passed to the linker commands and your binaries
    have potential security issues.
 
@@ -1273,7 +1259,7 @@
 
 The ``kernel`` class handles building Linux kernels. The class contains
 code to build all kernel trees. All needed headers are staged into the
-``STAGING_KERNEL_DIR`` directory to allow out-of-tree module builds
+:term:`STAGING_KERNEL_DIR` directory to allow out-of-tree module builds
 using the :ref:`module <ref-classes-module>` class.
 
 This means that each built kernel module is packaged separately and
diff --git a/poky/documentation/ref-manual/faq.rst b/poky/documentation/ref-manual/faq.rst
index 640ef77..c7322e7 100644
--- a/poky/documentation/ref-manual/faq.rst
+++ b/poky/documentation/ref-manual/faq.rst
@@ -292,7 +292,7 @@
 :term:`MIRRORS` in that order.
 
 Assuming your distribution is "poky", the OpenEmbedded build system uses
-the Yocto Project source ``PREMIRRORS`` by default for SCM-based
+the Yocto Project source :term:`PREMIRRORS` by default for SCM-based
 sources, upstreams for normal tarballs, and then falls back to a number
 of other mirrors including the Yocto Project source mirror if those
 fail.
diff --git a/poky/documentation/ref-manual/kickstart.rst b/poky/documentation/ref-manual/kickstart.rst
index a7443f9..fc723cc 100644
--- a/poky/documentation/ref-manual/kickstart.rst
+++ b/poky/documentation/ref-manual/kickstart.rst
@@ -208,7 +208,7 @@
    bootloader times out and boots the default option.
 
 -  ``--append``: Specifies kernel parameters. These parameters will be
-   added to the syslinux ``APPEND`` or ``grub`` kernel command line.
+   added to the syslinux :term:`APPEND` or ``grub`` kernel command line.
 
 -  ``--configfile``: Specifies a user-defined configuration file for
    the bootloader. You can provide a full pathname for the file or a
diff --git a/poky/documentation/ref-manual/qa-checks.rst b/poky/documentation/ref-manual/qa-checks.rst
index a105acc..0ef203c 100644
--- a/poky/documentation/ref-manual/qa-checks.rst
+++ b/poky/documentation/ref-manual/qa-checks.rst
@@ -604,7 +604,7 @@
     so using ${:term:`BPN`} rather than ${:term:`PN`} as the latter will change
     for different variants of the same recipe e.g. when :term:`BBCLASSEXTEND`
     or multilib are being used. This check will fail if a reference to ``${PN}``
-    is found within the ``SRC_URI`` value - change it to ``${BPN}`` instead.
+    is found within the :term:`SRC_URI` value - change it to ``${BPN}`` instead.
 
 
 .. _qa-check-unhandled-features-check:
diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst
index 71c2e11..3de37a1 100644
--- a/poky/documentation/ref-manual/variables.rst
+++ b/poky/documentation/ref-manual/variables.rst
@@ -280,7 +280,7 @@
          S = "${WORKDIR}/${BP}"
 
       You can separate the (:term:`S`) directory and the directory pointed to
-      by the ``B`` variable. Most Autotools-based recipes support
+      by the :term:`B` variable. Most Autotools-based recipes support
       separating these directories. The build system defaults to using
       separate directories for ``gcc`` and some kernel recipes.
 
@@ -553,7 +553,7 @@
          BB_SERVER_TIMEOUT = "20"
 
       If you want the server to never be unloaded,
-      set ``BB_SERVER_TIMEOUT`` to "-1".
+      set :term:`BB_SERVER_TIMEOUT` to "-1".
 
    :term:`BBCLASSEXTEND`
       Allows you to extend a recipe so that it builds variants of the
@@ -577,7 +577,7 @@
          variants by rewriting variable values and applying overrides such
          as ``_class-native``. For example, to generate a native version of
          a recipe, a :term:`DEPENDS` on "foo" is rewritten
-         to a ``DEPENDS`` on "foo-native".
+         to a :term:`DEPENDS` on "foo-native".
 
          Even when using :term:`BBCLASSEXTEND`, the recipe is only parsed once.
          Parsing once adds some limitations. For example, it is not
@@ -892,13 +892,13 @@
       the :term:`BUILD_CFLAGS` and
       :term:`BUILDSDK_CFLAGS` default values.
 
-      The default value of the ``BUILD_OPTIMIZATION`` variable is "-O2
+      The default value of the :term:`BUILD_OPTIMIZATION` variable is "-O2
       -pipe".
 
    :term:`BUILD_OS`
       Specifies the operating system in use on the build host (e.g.
       "linux"). The OpenEmbedded build system sets the value of
-      ``BUILD_OS`` from the OS reported by the ``uname`` command - the
+      :term:`BUILD_OS` from the OS reported by the ``uname`` command - the
       first word, converted to lower-case characters.
 
    :term:`BUILD_PREFIX`
@@ -1021,6 +1021,20 @@
 
          BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group"
 
+   :term:`BUILDHISTORY_PATH_PREFIX_STRIP`
+      When inheriting the :ref:`buildhistory <ref-classes-buildhistory>`
+      class, this variable specifies a common path prefix that should be
+      stripped off the beginning of paths in the task signature list when the
+      ``task`` feature is active in :term:`BUILDHISTORY_FEATURES`. This can be
+      useful when build history is populated from multiple sources that may not
+      all use the same top level directory.
+
+      By default, the ``buildhistory`` class sets the variable as follows::
+
+         BUILDHISTORY_PATH_PREFIX_STRIP ?= ""
+
+      In this case, no prefixes will be stripped.
+
    :term:`BUILDHISTORY_PUSH_REPO`
       When inheriting the :ref:`buildhistory <ref-classes-buildhistory>`
       class, this variable optionally specifies a remote repository to
@@ -1114,7 +1128,7 @@
 
       .. note::
 
-         ``CLASSOVERRIDE`` gets its default "class-target" value from the
+         :term:`CLASSOVERRIDE` gets its default "class-target" value from the
          ``bitbake.conf`` file.
 
       As an example, the following override allows you to install extra
@@ -1205,7 +1219,7 @@
 
    :term:`COMPONENTS_DIR`
       Stores sysroot components for each recipe. The OpenEmbedded build
-      system uses ``COMPONENTS_DIR`` when constructing recipe-specific
+      system uses :term:`COMPONENTS_DIR` when constructing recipe-specific
       sysroots for other recipes.
 
       The default is
@@ -1611,7 +1625,7 @@
             ":ref:`overview-manual/concepts:automatically added runtime dependencies`"
             section in the Yocto Project Overview and Concepts Manual,
             runtime dependencies will often be added automatically, meaning
-            ``DEPENDS`` alone is sufficient for most recipes.
+            :term:`DEPENDS` alone is sufficient for most recipes.
 
          -  Counterintuitively, :term:`DEPENDS` is often necessary even for
             recipes that install precompiled components. For example, if
@@ -1652,7 +1666,7 @@
       "package_deb".
 
       The BitBake configuration file initially defines the
-      ``DEPLOY_DIR_DEB`` variable as a sub-folder of
+      :term:`DEPLOY_DIR_DEB` variable as a sub-folder of
       :term:`DEPLOY_DIR`::
 
          DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb"
@@ -2568,7 +2582,7 @@
    :term:`FONT_EXTRA_RDEPENDS`
       When inheriting the :ref:`fontcache <ref-classes-fontcache>` class,
       this variable specifies the runtime dependencies for font packages.
-      By default, the ``FONT_EXTRA_RDEPENDS`` is set to "fontconfig-utils".
+      By default, the :term:`FONT_EXTRA_RDEPENDS` is set to "fontconfig-utils".
 
    :term:`FONT_PACKAGES`
       When inheriting the :ref:`fontcache <ref-classes-fontcache>` class,
@@ -3005,7 +3019,7 @@
 
          -  If an image recipe uses the "inherit image" line and you are
             setting :term:`IMAGE_FSTYPES` inside the recipe, you must set
-            ``IMAGE_FSTYPES`` prior to using the "inherit image" line.
+            :term:`IMAGE_FSTYPES` prior to using the "inherit image" line.
 
          -  Due to the way the OpenEmbedded build system processes this
             variable, you cannot update its contents by using ``_append``
@@ -3334,13 +3348,13 @@
    :term:`IMGDEPLOYDIR`
       When inheriting the :ref:`image <ref-classes-image>` class directly or
       through the :ref:`core-image <ref-classes-core-image>` class, the
-      ``IMGDEPLOYDIR`` points to a temporary work area for deployed files
+      :term:`IMGDEPLOYDIR` points to a temporary work area for deployed files
       that is set in the ``image`` class as follows::
 
          IMGDEPLOYDIR = "${WORKDIR}/deploy-${PN}-image-complete"
 
       Recipes inheriting the ``image`` class should copy files to be
-      deployed into ``IMGDEPLOYDIR``, and the class will take care of
+      deployed into :term:`IMGDEPLOYDIR`, and the class will take care of
       copying them into :term:`DEPLOY_DIR_IMAGE` afterwards.
 
    :term:`INC_PR`
@@ -3698,7 +3712,7 @@
       - qemu
       - mips
 
-      You define the ``KARCH`` variable in the :ref:`kernel-dev/advanced:bsp descriptions`.
+      You define the :term:`KARCH` variable in the :ref:`kernel-dev/advanced:bsp descriptions`.
 
    :term:`KBRANCH`
       A regular expression used by the build process to explicitly identify
@@ -4653,7 +4667,7 @@
 
    :term:`module_autoload`
       This variable has been replaced by the :term:`KERNEL_MODULE_AUTOLOAD`
-      variable. You should replace all occurrences of ``module_autoload``
+      variable. You should replace all occurrences of :term:`module_autoload`
       with additions to :term:`KERNEL_MODULE_AUTOLOAD`, for example::
 
          module_autoload_rfcomm = "rfcomm"
@@ -4684,9 +4698,9 @@
       You must use the kernel module name override.
 
       Run ``man modprobe.d`` in the shell to find out more information on
-      the exact syntax you want to provide with ``module_conf``.
+      the exact syntax you want to provide with :term:`module_conf`.
 
-      Including ``module_conf`` causes the OpenEmbedded build system to
+      Including :term:`module_conf` causes the OpenEmbedded build system to
       populate the ``/etc/modprobe.d/modname.conf`` file with
       ``modprobe.d`` syntax lines. Here is an example that adds the options
       ``arg1`` and ``arg2`` to a module named ``mymodule``::
@@ -4876,7 +4890,7 @@
       information, see the ":ref:`dev-manual/common-tasks:using a development shell`" section in
       the Yocto Project Development Tasks Manual.
 
-      You can use the following values for the ``OE_TERMINAL`` variable:
+      You can use the following values for the :term:`OE_TERMINAL` variable:
 
       - auto
       - gnome
@@ -5260,7 +5274,7 @@
          PACKAGECONFIG[f2] = "\
               ... and so on and so on ...
 
-      The ``PACKAGECONFIG`` variable itself specifies a space-separated
+      The :term:`PACKAGECONFIG` variable itself specifies a space-separated
       list of the features to enable. Following the features, you can
       determine the behavior of each feature by providing up to six
       order-dependent arguments, which are separated by commas. You can
@@ -5600,7 +5614,7 @@
 
       If applicable, the :term:`PN` variable also contains any special suffix
       or prefix. For example, using ``bash`` to build packages for the
-      native machine, ``PN`` is ``bash-native``. Using ``bash`` to build
+      native machine, :term:`PN` is ``bash-native``. Using ``bash`` to build
       packages for the target and for Multilib, :term:`PN` would be ``bash``
       and ``lib64-bash``, respectively.
 
@@ -5670,7 +5684,7 @@
          :term:`PR` does not need to be increased for changes that do not change the
          package contents or metadata.
 
-      Because manually managing ``PR`` can be cumbersome and error-prone,
+      Because manually managing :term:`PR` can be cumbersome and error-prone,
       an automated solution exists. See the
       ":ref:`dev-manual/common-tasks:working with a pr service`" section
       in the Yocto Project Development Tasks Manual for more information.
@@ -6042,7 +6056,7 @@
 
       In the example,
       the development package depends on the ``perl`` package. Thus, the
-      ``RDEPENDS`` variable has the ``${PN}-dev`` package name as part of
+      :term:`RDEPENDS` variable has the ``${PN}-dev`` package name as part of
       the variable.
 
       .. note::
@@ -7079,7 +7093,7 @@
 
    :term:`SRC_URI_OVERRIDES_PACKAGE_ARCH`
       By default, the OpenEmbedded build system automatically detects
-      whether ``SRC_URI`` contains files that are machine-specific. If so,
+      whether :term:`SRC_URI` contains files that are machine-specific. If so,
       the build system automatically changes :term:`PACKAGE_ARCH`. Setting this
       variable to "0" disables this behavior.
 
@@ -7292,7 +7306,7 @@
 
             ``-native`` recipes are not installed into host paths like such
             as ``/usr``. Rather, these recipes are installed into
-            ``STAGING_DIR_NATIVE``. When compiling ``-native`` recipes,
+            :term:`STAGING_DIR_NATIVE`. When compiling ``-native`` recipes,
             standard build environment variables such as
             :term:`CPPFLAGS` and
             :term:`CFLAGS` are set up so that both host paths
@@ -7726,13 +7740,13 @@
       Specifies the prefix used for the toolchain binary target tools.
 
       Depending on the type of recipe and the build target,
-      ``TARGET_PREFIX`` is set as follows:
+      :term:`TARGET_PREFIX` is set as follows:
 
       -  For recipes building for the target machine, the value is
          "${:term:`TARGET_SYS`}-".
 
       -  For native recipes, the build system sets the variable to the
-         value of ``BUILD_PREFIX``.
+         value of :term:`BUILD_PREFIX`.
 
       -  For native SDK recipes (``nativesdk``), the build system sets the
          variable to the value of :term:`SDK_PREFIX`.
@@ -7778,7 +7792,7 @@
       separate to avoid potential conflicts.
 
       In the ``defaultsetup.conf`` file, the default value of
-      ``TCLIBCAPPEND`` is "-${TCLIBC}". However, distros such as poky,
+      :term:`TCLIBCAPPEND` is "-${TCLIBC}". However, distros such as poky,
       which normally only support one ``libc`` variant, set
       :term:`TCLIBCAPPEND` to "" in their distro configuration file resulting
       in no suffix being applied.
@@ -7960,7 +7974,7 @@
       ``BaseTarget`` class, which is an abstract class that cannot be used
       as a value of :term:`TEST_TARGET`.
 
-      You can provide the following arguments with ``TEST_TARGET``:
+      You can provide the following arguments with :term:`TEST_TARGET`:
 
       -  *"qemu":* Boots a QEMU image and runs the tests. See the
          ":ref:`dev-manual/common-tasks:enabling runtime tests on qemu`" section
@@ -8298,7 +8312,7 @@
       In this example, "sd" is selected as the configuration of the possible four for the
       :term:`UBOOT_MACHINE`. The "sd" configuration defines
       "mx6qsabreauto_config" as the value for :term:`UBOOT_MACHINE`, while the
-      "sdcard" specifies the ``IMAGE_FSTYPES`` to use for the U-Boot image.
+      "sdcard" specifies the :term:`IMAGE_FSTYPES` to use for the U-Boot image.
 
       For more information on how the :term:`UBOOT_CONFIG` is handled, see the
       :ref:`uboot-config <ref-classes-uboot-config>`
@@ -8357,7 +8371,7 @@
    :term:`UBOOT_MKIMAGE_DTCOPTS`
       Options for the device tree compiler passed to mkimage '-D'
       feature while creating FIT image in :ref:`kernel-fitimage <ref-classes-kernel-fitimage>` class.
-      If ``UBOOT_MKIMAGE_DTCOPTS`` is not set then kernel-fitimage will not
+      If :term:`UBOOT_MKIMAGE_DTCOPTS` is not set then kernel-fitimage will not
       pass the ``-D`` option to mkimage.
 
    :term:`UBOOT_MKIMAGE_SIGN`
@@ -8502,11 +8516,11 @@
    :term:`USER_CLASSES`
       A list of classes to globally inherit. These classes are used by the
       OpenEmbedded build system to enable extra features (e.g.
-      ``buildstats``, ``image-mklibs``, and so forth).
+      ``buildstats``, ``image-prelink``, and so forth).
 
       The default list is set in your ``local.conf`` file::
 
-         USER_CLASSES ?= "buildstats image-mklibs image-prelink"
+         USER_CLASSES ?= "buildstats image-prelink"
 
       For more information, see
       ``meta-poky/conf/local.conf.sample`` in the :term:`Source Directory`.
diff --git a/poky/documentation/releases.rst b/poky/documentation/releases.rst
index 890cd03..d6e1fb3 100644
--- a/poky/documentation/releases.rst
+++ b/poky/documentation/releases.rst
@@ -34,6 +34,7 @@
 - :yocto_docs:`3.1.6 Documentation </3.1.6>`
 - :yocto_docs:`3.1.7 Documentation </3.1.7>`
 - :yocto_docs:`3.1.8 Documentation </3.1.8>`
+- :yocto_docs:`3.1.8 Documentation </3.1.9>`
 
 ==========================
  Outdated Release Manuals
diff --git a/poky/documentation/sphinx-static/switchers.js b/poky/documentation/sphinx-static/switchers.js
index 301c231..6364935 100644
--- a/poky/documentation/sphinx-static/switchers.js
+++ b/poky/documentation/sphinx-static/switchers.js
@@ -5,7 +5,7 @@
     'dev': 'dev (3.4)',
     '3.3.1': '3.3.1',
     '3.2.4': '3.2.4',
-    '3.1.8': '3.1.8',
+    '3.1.9': '3.1.9',
     '3.0.4': '3.0.4',
     '2.7.4': '2.7.4',
   };
diff --git a/poky/meta-skeleton/README.skeleton b/poky/meta-skeleton/README.skeleton
new file mode 100644
index 0000000..35503c1
--- /dev/null
+++ b/poky/meta-skeleton/README.skeleton
@@ -0,0 +1,4 @@
+meta-skeleton
+=============
+
+The meta-skeleton layer contains example recipes and configuration files.
diff --git a/poky/meta-skeleton/recipes-core/busybox/busybox_%.bbappend b/poky/meta-skeleton/recipes-core/busybox/busybox_%.bbappend
index 64cdefc..5c5e7c3 100644
--- a/poky/meta-skeleton/recipes-core/busybox/busybox_%.bbappend
+++ b/poky/meta-skeleton/recipes-core/busybox/busybox_%.bbappend
@@ -2,11 +2,12 @@
 # mechanism as the linux-yocto kernel recipe.
 #
 # The entries here will override any entries in the base busybox recipe
+# when DISTRO = "mydistro" is defined in your conf/local.conf file.
 #
 # More details can be found in the Kernel Dev Manual
 # http://www.yoctoproject.org/docs/current/kernel-dev/kernel-dev.html#changing-the-configuration
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
-SRC_URI += " \
+SRC_URI_append_mydistro += " \
 	    file://no_rfkill.cfg \
            "
diff --git a/poky/meta/classes/buildstats.bbclass b/poky/meta/classes/buildstats.bbclass
index 8a1466d..0de6052 100644
--- a/poky/meta/classes/buildstats.bbclass
+++ b/poky/meta/classes/buildstats.bbclass
@@ -108,25 +108,31 @@
     import subprocess, os, datetime
     # minimum time allowed for each command to run, in seconds
     time_threshold = 0.5
+    limit = 10
     # the total number of commands
     num_cmds = 0
-    # interval at which data will be logged
-    interval = int(d.getVar("BB_HEARTBEAT_EVENT", False))
     msg = ""
     if type == "interval":
+        # interval at which data will be logged
+        interval = d.getVar("BB_HEARTBEAT_EVENT", False)
+        if interval is None:
+            bb.warn("buildstats: Collecting host data at intervals failed. Set BB_HEARTBEAT_EVENT=\"<interval>\" in conf/local.conf for the interval at which host data will be logged.")
+            d.setVar("BB_LOG_HOST_STAT_ON_INTERVAL", "0")
+            return
+        interval = int(interval)
         cmds = d.getVar('BB_LOG_HOST_STAT_CMDS_INTERVAL')
-        msg = "Host Stats: Collecting data at interval.\n"
+        msg = "Host Stats: Collecting data at %d second intervals.\n" % interval
         if cmds is None:
             d.setVar("BB_LOG_HOST_STAT_ON_INTERVAL", "0")
-            bb.warn("buildstats: Collecting host data at intervals failed. Set BB_LOG_HOST_STAT_CMDS_INTERVAL=\"command1 ; command2 ; ... \" in conf/local.conf\n")
+            bb.warn("buildstats: Collecting host data at intervals failed. Set BB_LOG_HOST_STAT_CMDS_INTERVAL=\"command1 ; command2 ; ... \" in conf/local.conf.")
             return
     if type == "failure":
         cmds = d.getVar('BB_LOG_HOST_STAT_CMDS_FAILURE')
         msg = "Host Stats: Collecting data on failure.\n"
-        msg += "Failed at task " + e.task + "\n"
+        msg += "Failed at task: " + e.task + "\n"
         if cmds is None:
             d.setVar("BB_LOG_HOST_STAT_ON_FAILURE", "0")
-            bb.warn("buildstats: Collecting host data on failure failed. Set BB_LOG_HOST_STAT_CMDS_FAILURE=\"command1 ; command2 ; ... \" in conf/local.conf\n")
+            bb.warn("buildstats: Collecting host data on failure failed. Set BB_LOG_HOST_STAT_CMDS_FAILURE=\"command1 ; command2 ; ... \" in conf/local.conf.")
             return
     c_san = []
     for cmd in cmds.split(";"):
@@ -134,18 +140,20 @@
             continue
         num_cmds += 1
         c_san.append(cmd)
-    if num_cmds <= 0:
-        d.setVar("BB_LOG_HOST_STAT_ON_INTERVAL", "0")
-        d.setVar("BB_LOG_HOST_STAT_ON_FAILURE", "0")
+    if num_cmds == 0:
+        if type == "interval":
+            d.setVar("BB_LOG_HOST_STAT_ON_INTERVAL", "0")
+        if type == "failure":
+            d.setVar("BB_LOG_HOST_STAT_ON_FAILURE", "0")
         return
 
     # return if the interval is not enough to run all commands within the specified BB_HEARTBEAT_EVENT interval
-    limit = interval / num_cmds
-    if limit <= time_threshold:
-        d.setVar("BB_LOG_HOST_STAT_ON_INTERVAL", "0")
-        d.setVar("BB_LOG_HOST_STAT_ON_FAILURE", "0")
-        bb.warn("buildstats: Collecting host data failed. BB_HEARTBEAT_EVENT interval not enough to run the specified commands. HINT: Increase value of BB_HEARTBEAT_EVENT in conf/local.conf\n")
-        return
+    if type == "interval":
+        limit = interval / num_cmds
+        if limit <= time_threshold:
+            d.setVar("BB_LOG_HOST_STAT_ON_INTERVAL", "0")
+            bb.warn("buildstats: Collecting host data failed. BB_HEARTBEAT_EVENT interval not enough to run the specified commands. Increase value of BB_HEARTBEAT_EVENT in conf/local.conf.")
+            return
 
     # set the environment variables 
     path = d.getVar("PATH")
@@ -179,7 +187,7 @@
         taskdir = os.path.join(bsdir, d.getVar('PF'))
         if isinstance(e, bb.event.HeartbeatEvent) and bb.utils.to_boolean(d.getVar("BB_LOG_HOST_STAT_ON_INTERVAL")):
             bb.utils.mkdirhier(bsdir)
-            write_host_data(os.path.join(bsdir, "host_stats"), e, d, "interval")
+            write_host_data(os.path.join(bsdir, "host_stats_interval"), e, d, "interval")
 
     if isinstance(e, bb.event.BuildStarted):
         ########################################################################
@@ -254,8 +262,8 @@
         build_status = os.path.join(bsdir, "build_stats")
         with open(build_status, "a") as f:
             f.write(d.expand("Failed at: ${PF} at task: %s \n" % e.task))
-            if bb.utils.to_boolean(d.getVar("BB_LOG_HOST_STAT_ON_FAILURE")):
-                write_host_data(os.path.join(bsdir, "host_stats"), e, d, "failure")
+        if bb.utils.to_boolean(d.getVar("BB_LOG_HOST_STAT_ON_FAILURE")):
+            write_host_data(os.path.join(bsdir, "host_stats_%s_failure" % e.task), e, d, "failure")
 }
 
 addhandler run_buildstats
diff --git a/poky/meta/classes/core-image.bbclass b/poky/meta/classes/core-image.bbclass
index d81f68b..84fd3ee 100644
--- a/poky/meta/classes/core-image.bbclass
+++ b/poky/meta/classes/core-image.bbclass
@@ -31,6 +31,8 @@
 #   - post-install-logging
 # - dev-pkgs            - development packages (headers, etc.) for all installed packages in the rootfs
 # - dbg-pkgs            - debug symbol packages for all installed packages in the rootfs
+# - lic-pkgs            - license packages for all installed pacakges in the rootfs, requires
+#                         LICENSE_CREATE_PACKAGE="1" to be set when building packages too
 # - doc-pkgs            - documentation packages for all installed packages in the rootfs
 # - bash-completion-pkgs - bash-completion packages for recipes using bash-completion bbclass
 # - ptest-pkgs          - ptest packages for all ptest-enabled recipes
diff --git a/poky/meta/classes/kernel-devicetree.bbclass b/poky/meta/classes/kernel-devicetree.bbclass
index d4f8864..27a4905 100644
--- a/poky/meta/classes/kernel-devicetree.bbclass
+++ b/poky/meta/classes/kernel-devicetree.bbclass
@@ -1,8 +1,11 @@
 # Support for device tree generation
-PACKAGES_append = " \
-    ${KERNEL_PACKAGE_NAME}-devicetree \
-    ${@[d.getVar('KERNEL_PACKAGE_NAME') + '-image-zimage-bundle', ''][d.getVar('KERNEL_DEVICETREE_BUNDLE') != '1']} \
-"
+python () {
+    if not bb.data.inherits_class('nopackages', d):
+        d.appendVar("PACKAGES", " ${KERNEL_PACKAGE_NAME}-devicetree")
+        if d.getVar('KERNEL_DEVICETREE_BUNDLE') == '1':
+            d.appendVar("PACKAGES", " ${KERNEL_PACKAGE_NAME}-image-zimage-bundle")
+}
+
 FILES_${KERNEL_PACKAGE_NAME}-devicetree = "/${KERNEL_IMAGEDEST}/*.dtb /${KERNEL_IMAGEDEST}/*.dtbo"
 FILES_${KERNEL_PACKAGE_NAME}-image-zimage-bundle = "/${KERNEL_IMAGEDEST}/zImage-*.dtb.bin"
 
diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass
index 379bed4..846b196 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -92,6 +92,8 @@
     imagedest = d.getVar('KERNEL_IMAGEDEST')
 
     for type in types.split():
+        if bb.data.inherits_class('nopackages', d):
+            continue
         typelower = type.lower()
         d.appendVar('PACKAGES', ' %s-image-%s' % (kname, typelower))
         d.setVar('FILES_' + kname + '-image-' + typelower, '/' + imagedest + '/' + type + '-${KERNEL_VERSION_NAME}' + ' /' + imagedest + '/' + type)
diff --git a/poky/meta/classes/license.bbclass b/poky/meta/classes/license.bbclass
index f7978e2..c87473c 100644
--- a/poky/meta/classes/license.bbclass
+++ b/poky/meta/classes/license.bbclass
@@ -63,14 +63,6 @@
         # first in PACKAGES to be sure that nothing else gets LICENSE_FILES_DIRECTORY
         d.setVar('PACKAGES', "%s %s" % (pn_lic, packages))
         d.setVar('FILES_' + pn_lic, files)
-    for pn in packages.split():
-        if pn == pn_lic:
-            continue
-        rrecommends_pn = d.getVar('RRECOMMENDS_' + pn)
-        if rrecommends_pn:
-            d.setVar('RRECOMMENDS_' + pn, "%s %s" % (pn_lic, rrecommends_pn))
-        else:
-            d.setVar('RRECOMMENDS_' + pn, "%s" % (pn_lic))
 
 def copy_license_files(lic_files_paths, destdir):
     import shutil
diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass
index 73cebb4..5dbec28 100644
--- a/poky/meta/classes/license_image.bbclass
+++ b/poky/meta/classes/license_image.bbclass
@@ -1,5 +1,15 @@
 ROOTFS_LICENSE_DIR = "${IMAGE_ROOTFS}/usr/share/common-licenses"
 
+# This requires LICENSE_CREATE_PACKAGE=1 to work too
+COMPLEMENTARY_GLOB[lic-pkgs] = "*-lic"
+
+python() {
+    if not oe.data.typed_value('LICENSE_CREATE_PACKAGE', d):
+        features = set(oe.data.typed_value('IMAGE_FEATURES', d))
+        if 'lic-pkgs' in features:
+            bb.error("'lic-pkgs' in IMAGE_FEATURES but LICENSE_CREATE_PACKAGE not enabled to generate -lic packages")
+}
+
 python write_package_manifest() {
     # Get list of installed packages
     license_image_dir = d.expand('${LICENSE_DIRECTORY}/${IMAGE_NAME}')
diff --git a/poky/meta/classes/own-mirrors.bbclass b/poky/meta/classes/own-mirrors.bbclass
index a777835..d58a61f 100644
--- a/poky/meta/classes/own-mirrors.bbclass
+++ b/poky/meta/classes/own-mirrors.bbclass
@@ -10,4 +10,5 @@
 https?$://.*/.* ${SOURCE_MIRROR_URL} \n \
 ftp://.*/.*     ${SOURCE_MIRROR_URL} \n \
 npm://.*/?.*    ${SOURCE_MIRROR_URL} \n \
+s3://.*/.*      ${SOURCE_MIRROR_URL} \n \
 "
diff --git a/poky/meta/classes/package_pkgdata.bbclass b/poky/meta/classes/package_pkgdata.bbclass
index 18b7ed6..a1ea8fc 100644
--- a/poky/meta/classes/package_pkgdata.bbclass
+++ b/poky/meta/classes/package_pkgdata.bbclass
@@ -162,6 +162,6 @@
 
 }
 package_prepare_pkgdata[cleandirs] = "${WORKDIR_PKGDATA}"
-package_prepare_pkgdata[vardepsexclude] += "MACHINE_ARCH PACKAGE_EXTRA_ARCHS SDK_ARCH BUILD_ARCH SDK_OS BB_TASKDEPDATA"
+package_prepare_pkgdata[vardepsexclude] += "MACHINE_ARCH PACKAGE_EXTRA_ARCHS SDK_ARCH BUILD_ARCH SDK_OS BB_TASKDEPDATA SSTATETASKS"
 
 
diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes/populate_sdk_ext.bbclass
index 517b4e4..4aabafa 100644
--- a/poky/meta/classes/populate_sdk_ext.bbclass
+++ b/poky/meta/classes/populate_sdk_ext.bbclass
@@ -750,6 +750,11 @@
     if d.getVar('SDK_ARCH') != d.getVar('BUILD_ARCH'):
         bb.fatal('The extensible SDK can currently only be built for the same architecture as the machine being built on - SDK_ARCH is set to %s (likely via setting SDKMACHINE) which is different from the architecture of the build machine (%s). Unable to continue.' % (d.getVar('SDK_ARCH'), d.getVar('BUILD_ARCH')))
 
+    # FIXME hopefully we can remove this restriction at some point, but the eSDK
+    # can only be built for the primary (default) multiconfig
+    if d.getVar('BB_CURRENT_MC') != 'default':
+        bb.fatal('The extensible SDK can currently only be built for the default multiconfig.  Currently trying to build for %s.' % d.getVar('BB_CURRENT_MC'))
+
     d.setVar('SDK_INSTALL_TARGETS', get_sdk_install_targets(d))
     if d.getVar('SDK_INCLUDE_BUILDTOOLS') == '1':
         buildtools_fn = get_current_buildtools(d)
diff --git a/poky/meta/classes/pypi.bbclass b/poky/meta/classes/pypi.bbclass
index 87b4c85..384a209 100644
--- a/poky/meta/classes/pypi.bbclass
+++ b/poky/meta/classes/pypi.bbclass
@@ -19,7 +19,7 @@
 
 HOMEPAGE ?= "https://pypi.python.org/pypi/${PYPI_PACKAGE}/"
 SECTION = "devel/python"
-SRC_URI += "${PYPI_SRC_URI}"
+SRC_URI_prepend = "${PYPI_SRC_URI} "
 S = "${WORKDIR}/${PYPI_PACKAGE}-${PV}"
 
 UPSTREAM_CHECK_URI ?= "https://pypi.org/project/${PYPI_PACKAGE}/"
diff --git a/poky/meta/classes/report-error.bbclass b/poky/meta/classes/report-error.bbclass
index 9cb6b0b..de48e4f 100644
--- a/poky/meta/classes/report-error.bbclass
+++ b/poky/meta/classes/report-error.bbclass
@@ -6,8 +6,6 @@
 #
 # Licensed under the MIT license, see COPYING.MIT for details
 
-inherit base
-
 ERR_REPORT_DIR ?= "${LOG_DIR}/error-report"
 
 def errorreport_getdata(e):
diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass
index 3a3f7cc..f6710fc 100644
--- a/poky/meta/classes/sstate.bbclass
+++ b/poky/meta/classes/sstate.bbclass
@@ -123,8 +123,6 @@
 python () {
     if bb.data.inherits_class('native', d):
         d.setVar('SSTATE_PKGARCH', d.getVar('BUILD_ARCH', False))
-        if d.getVar("PN") == "pseudo-native":
-            d.appendVar('SSTATE_PKGARCH', '_${ORIGNATIVELSBSTRING}')
     elif bb.data.inherits_class('crosssdk', d):
         d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}"))
     elif bb.data.inherits_class('cross', d):
@@ -483,7 +481,7 @@
         ss = sstate_state_fromvars(ld, task)
         sstate_clean_cachefile(ss, ld)
 
-def sstate_clean_manifest(manifest, d, prefix=None):
+def sstate_clean_manifest(manifest, d, canrace=False, prefix=None):
     import oe.path
 
     mfile = open(manifest)
@@ -501,7 +499,9 @@
             if entry.endswith("/"):
                 if os.path.islink(entry[:-1]):
                     os.remove(entry[:-1])
-                elif os.path.exists(entry) and len(os.listdir(entry)) == 0:
+                elif os.path.exists(entry) and len(os.listdir(entry)) == 0 and not canrace:
+                    # Removing directories whilst builds are in progress exposes a race. Only
+                    # do it in contexts where it is safe to do so.
                     os.rmdir(entry[:-1])
             else:
                 os.remove(entry)
@@ -539,7 +539,7 @@
         for lock in ss['lockfiles']:
             locks.append(bb.utils.lockfile(lock))
 
-        sstate_clean_manifest(manifest, d)
+        sstate_clean_manifest(manifest, d, canrace=True)
 
         for lock in locks:
             bb.utils.unlockfile(lock)
@@ -703,6 +703,10 @@
             os.utime(siginfo, None)
         except PermissionError:
             pass
+        except OSError as e:
+            # Handle read-only file systems gracefully
+            if e.errno != errno.EROFS:
+                raise e
 
     return
 
@@ -1145,6 +1149,10 @@
                 os.utime(siginfo, None)
             except PermissionError:
                 pass
+            except OSError as e:
+                # Handle read-only file systems gracefully
+                if e.errno != errno.EROFS:
+                    raise e
 
 }
 
diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass
index 806a857..32a615c 100644
--- a/poky/meta/classes/staging.bbclass
+++ b/poky/meta/classes/staging.bbclass
@@ -409,7 +409,7 @@
         if os.path.islink(f) and not os.path.exists(f):
             bb.note("%s no longer exists, removing from sysroot" % f)
             lnk = os.readlink(f.replace(".complete", ""))
-            sstate_clean_manifest(depdir + "/" + lnk, d, workdir)
+            sstate_clean_manifest(depdir + "/" + lnk, d, canrace=True, prefix=workdir)
             os.unlink(f)
             os.unlink(f.replace(".complete", ""))
 
@@ -454,7 +454,7 @@
             fl = depdir + "/" + l
             bb.note("Task %s no longer depends on %s, removing from sysroot" % (mytaskname, l))
             lnk = os.readlink(fl)
-            sstate_clean_manifest(depdir + "/" + lnk, d, workdir)
+            sstate_clean_manifest(depdir + "/" + lnk, d, canrace=True, prefix=workdir)
             os.unlink(fl)
             os.unlink(fl + ".complete")
 
@@ -475,7 +475,7 @@
                 continue
             else:
                 bb.note("%s exists in sysroot, but is stale (%s vs. %s), removing." % (c, lnk, c + "." + taskhash))
-                sstate_clean_manifest(depdir + "/" + lnk, d, workdir)
+                sstate_clean_manifest(depdir + "/" + lnk, d, canrace=True, prefix=workdir)
                 os.unlink(depdir + "/" + c)
                 if os.path.lexists(depdir + "/" + c + ".complete"):
                     os.unlink(depdir + "/" + c + ".complete")
diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes/testimage.bbclass
index 43de9d4..ed3a885 100644
--- a/poky/meta/classes/testimage.bbclass
+++ b/poky/meta/classes/testimage.bbclass
@@ -130,6 +130,7 @@
 testimage_dump_monitor () {
     query-status
     query-block
+    dump-guest-memory {"paging":false,"protocol":"file:%s.img"}
 }
 
 python do_testimage() {
diff --git a/poky/meta/conf/distro/include/default-distrovars.inc b/poky/meta/conf/distro/include/default-distrovars.inc
index ac10245..e0726fa 100644
--- a/poky/meta/conf/distro/include/default-distrovars.inc
+++ b/poky/meta/conf/distro/include/default-distrovars.inc
@@ -13,6 +13,9 @@
 # seccomp is not yet ported to rv32
 DISTRO_FEATURES_DEFAULT_remove_riscv32 = "seccomp"
 
+# seccomp is not yet ported to ARC
+DISTRO_FEATURES_DEFAULT_remove_arc = "seccomp"
+
 DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth debuginfod ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat seccomp"
 DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT}"
 IMAGE_FEATURES ?= ""
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index e59f01d..13e4329 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -119,7 +119,7 @@
 RECIPE_MAINTAINER_pn-core-image-sato-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER_pn-coreutils = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER_pn-cpio = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER_pn-cracklib = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-cracklib = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-createrepo-c = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-cronie = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-cross-localedef-native = "Khem Raj <raj.khem@gmail.com>"
@@ -127,7 +127,7 @@
 RECIPE_MAINTAINER_pn-cryptodev-module = "Robert Yang <liezhi.yang@windriver.com>"
 RECIPE_MAINTAINER_pn-cryptodev-tests = "Robert Yang <liezhi.yang@windriver.com>"
 RECIPE_MAINTAINER_pn-cups = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-curl = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-curl = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-cve-update-db-native = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER_pn-cwautomacros = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER_pn-db = "Unassigned <unassigned@yoctoproject.org>"
@@ -139,7 +139,7 @@
 RECIPE_MAINTAINER_pn-dejagnu = "Nathan Rossi <nathan@nathanrossi.com>"
 RECIPE_MAINTAINER_pn-depmodwrapper-cross = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-desktop-file-utils = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-dhcpcd = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-dhcpcd = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-diffoscope = "Joshua Watt <JPEWhacker@gmail.com>"
 RECIPE_MAINTAINER_pn-diffstat = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER_pn-diffutils = "Chen Qi <Qi.Chen@windriver.com>"
@@ -162,7 +162,7 @@
 RECIPE_MAINTAINER_pn-elfutils = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
 RECIPE_MAINTAINER_pn-ell = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
 RECIPE_MAINTAINER_pn-enchant2 = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-encodings = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-encodings = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-epiphany = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-erofs-utils = "Richard Weinberger <richard@nod.at>"
 RECIPE_MAINTAINER_pn-ethtool = "Changhyeok Bae <changhyeok.bae@gmail.com>"
@@ -174,8 +174,8 @@
 RECIPE_MAINTAINER_pn-findutils = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER_pn-flac = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-flex = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-font-alias = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-font-util = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-font-alias = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-font-util = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-fontconfig = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER_pn-formfactor = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER_pn-freetype = "Ross Burton <ross.burton@arm.com>"
@@ -216,7 +216,7 @@
 RECIPE_MAINTAINER_pn-gnu-config = "Robert Yang <liezhi.yang@windriver.com>"
 RECIPE_MAINTAINER_pn-gnu-efi = "Yi Zhao <yi.zhao@windriver.com>"
 RECIPE_MAINTAINER_pn-gnupg = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-gnutls = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-gnutls = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-go = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-go-binary-native = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-go-cross-${TUNE_PKGARCH} = "Khem Raj <raj.khem@gmail.com>"
@@ -286,10 +286,10 @@
 RECIPE_MAINTAINER_pn-json-glib = "Yi Zhao <yi.zhao@windriver.com>"
 RECIPE_MAINTAINER_pn-jquery = "Joshua Watt <JPEWhacker@gmail.com>"
 RECIPE_MAINTAINER_pn-kbd = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-kea = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-kea = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-kern-tools-native = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER_pn-kernel-devsrc = "Bruce Ashfield <bruce.ashfield@gmail.com>"
-RECIPE_MAINTAINER_pn-kexec-tools = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-kexec-tools = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-keymaps = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-kmod = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER_pn-kmod-native = "Chen Qi <Qi.Chen@windriver.com>"
@@ -302,7 +302,7 @@
 RECIPE_MAINTAINER_pn-libacpi = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-libaio = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-libarchive = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
-RECIPE_MAINTAINER_pn-libassuan = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libassuan = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libatomic-ops = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-libbsd = "Yi Zhao <yi.zhao@windriver.com>"
 RECIPE_MAINTAINER_pn-libcap = "Yi Zhao <yi.zhao@windriver.com>"
@@ -315,7 +315,7 @@
 RECIPE_MAINTAINER_pn-libcroco = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-libdaemon = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-libdazzle = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libdmx = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libdmx = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libdnf = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-libdrm = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
 RECIPE_MAINTAINER_pn-libedit = "Khem Raj <raj.khem@gmail.com>"
@@ -329,7 +329,7 @@
 RECIPE_MAINTAINER_pn-libffi = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-libfm = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-libfm-extra = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libfontenc = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libfontenc = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libgcc = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-libgcc-initial = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-libgcrypt = "Hongxu Jia <hongxu.jia@windriver.com>"
@@ -341,7 +341,7 @@
 RECIPE_MAINTAINER_pn-libgudev = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER_pn-libhandy = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-libical = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-libice = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libice = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libid3tag = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libidn2 = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER_pn-libinput = "Ross Burton <ross.burton@arm.com>"
@@ -366,7 +366,7 @@
 RECIPE_MAINTAINER_pn-libpcap = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-libpciaccess = "Wang Mingyu <wangmy@fujitsu.com>"
 RECIPE_MAINTAINER_pn-libpcre = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-libpcre2 = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libpcre2 = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libpipeline = "Wang Mingyu <wangmy@fujitsu.com>"
 RECIPE_MAINTAINER_pn-libpng = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-libportal = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -377,9 +377,9 @@
 RECIPE_MAINTAINER_pn-librsvg = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-libsamplerate0 = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libsdl2 = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-libseccomp = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libseccomp = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libsecret = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libsm = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libsm = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libsndfile1 = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libsolv = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-libsoup-2.4 = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -407,24 +407,24 @@
 RECIPE_MAINTAINER_pn-libvorbis = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
 RECIPE_MAINTAINER_pn-libwebp = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-libwpe = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libx11 = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxau = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxcb = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxcomposite = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxcursor = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libx11 = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxau = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxcb = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxcomposite = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxcursor = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libxcrypt = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-libxcrypt-compat = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libxdamage = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxdmcp = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxext = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxfixes = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxfont = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxfont2 = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxft = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxi = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxinerama = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxkbcommon = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxkbfile = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libxdamage = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxdmcp = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxext = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxfixes = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxfont = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxfont2 = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxft = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxi = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxinerama = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxkbcommon = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxkbfile = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libxml-namespacesupport-perl = "Tim Orling <timothy.t.orling@intel.com>"
 RECIPE_MAINTAINER_pn-libxml-parser-perl = "Tim Orling <timothy.t.orling@intel.com>"
 RECIPE_MAINTAINER_pn-libxml-perl = "Tim Orling <timothy.t.orling@intel.com>"
@@ -432,19 +432,19 @@
 RECIPE_MAINTAINER_pn-libxml-sax-perl = "Tim Orling <timothy.t.orling@intel.com>"
 RECIPE_MAINTAINER_pn-libxml-simple-perl = "Tim Orling <timothy.t.orling@intel.com>"
 RECIPE_MAINTAINER_pn-libxml2 = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-libxmu = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxpm = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxrandr = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxrender = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxres = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxscrnsaver = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxshmfence = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libxmu = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxpm = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxrandr = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxrender = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxres = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxscrnsaver = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxshmfence = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libxslt = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libxt = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxtst = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxv = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxvmc = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxxf86vm = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libxt = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxtst = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxv = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxvmc = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-libxxf86vm = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-libyaml = "Wang Mingyu <wangmy@fujitsu.com>"
 RECIPE_MAINTAINER_pn-lighttpd = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-linux-dummy = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -456,7 +456,7 @@
 RECIPE_MAINTAINER_pn-linux-yocto-tiny = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER_pn-llvm = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-logrotate = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-log4cplus = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-log4cplus = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-lrzsz = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-lsb-release = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER_pn-lsof = "Ross Burton <ross.burton@arm.com>"
@@ -500,9 +500,9 @@
 RECIPE_MAINTAINER_pn-meta-toolchain = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER_pn-meta-world-pkgdata = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER_pn-mingetty = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-mini-x-session = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-mini-x-session = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-minicom = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-mkfontscale = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-mkfontscale = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-mmc-utils = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-mobile-broadband-provider-info = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-modutils-initscripts = "Yi Zhao <yi.zhao@windriver.com>"
@@ -527,9 +527,9 @@
 RECIPE_MAINTAINER_pn-newlib = "Alejandro Hernandez <aehs29@gmail.com>"
 RECIPE_MAINTAINER_pn-ncurses = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER_pn-neard = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-net-tools = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-netbase = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-nettle = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-net-tools = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-netbase = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-nettle = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-nfs-export-root = "Robert Yang <liezhi.yang@windriver.com>"
 RECIPE_MAINTAINER_pn-nfs-utils = "Robert Yang <liezhi.yang@windriver.com>"
 RECIPE_MAINTAINER_pn-ninja = "Khem Raj <raj.khem@gmail.com>"
@@ -538,7 +538,7 @@
 RECIPE_MAINTAINER_pn-numactl = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER_pn-ofono = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER_pn-opensbi = "Alistair Francis <alistair.francis@wdc.com>"
-RECIPE_MAINTAINER_pn-openssh = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-openssh = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-openssl = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-opkg = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
 RECIPE_MAINTAINER_pn-opkg-arch-config = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
@@ -562,7 +562,7 @@
 RECIPE_MAINTAINER_pn-perlcross = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-piglit = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER_pn-pigz = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-pinentry = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-pinentry = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-pixman = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-pkgconf = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER_pn-pkgconfig = "Ross Burton <ross.burton@arm.com>"
@@ -646,7 +646,7 @@
 RECIPE_MAINTAINER_pn-re2c = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-readline = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER_pn-resolvconf = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-rgb = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-rgb = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-rpcbind = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER_pn-rng-tools = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-rpcsvc-proto = "Khem Raj <raj.khem@gmail.com>"
@@ -655,7 +655,7 @@
 RECIPE_MAINTAINER_pn-rt-tests = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-ruby = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER_pn-run-postinsts = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-rxvt-unicode = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-rxvt-unicode = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-sato-screenshot = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER_pn-sbc = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-screen = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -713,8 +713,8 @@
 RECIPE_MAINTAINER_pn-tiff = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-time = "Robert Yang <liezhi.yang@windriver.com>"
 RECIPE_MAINTAINER_pn-ttf-bitstream-vera = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-tzcode-native = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-tzdata = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-tzcode-native = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-tzdata = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-u-boot = "Marek Vasut <marek.vasut@gmail.com>"
 RECIPE_MAINTAINER_pn-u-boot-tools = "Marek Vasut <marek.vasut@gmail.com>"
 RECIPE_MAINTAINER_pn-udev-extraconf = "Ross Burton <ross.burton@arm.com>"
@@ -727,7 +727,7 @@
 RECIPE_MAINTAINER_pn-usbutils = "Alexander Kanavin <alex.kanavin@gmail.com>"
 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 = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-util-macros = "Unassigned <unassigned@yoctoproject.org>"
 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>"
@@ -755,54 +755,54 @@
 RECIPE_MAINTAINER_pn-wireless-regdb = "Adrian Bunk <bunk@kernel.org>"
 RECIPE_MAINTAINER_pn-wpa-supplicant = "Changhyeok Bae <changhyeok.bae@gmail.com>"
 RECIPE_MAINTAINER_pn-wpebackend-fdo = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-x11perf = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-x11perf = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-x264 = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-xauth = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xcb-proto = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xcb-util = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xcb-util-image = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xcb-util-keysyms = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xcb-util-renderutil = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xcb-util-wm = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xcursor-transparent-theme = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-xauth = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xcb-proto = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xcb-util = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xcb-util-image = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xcb-util-keysyms = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xcb-util-renderutil = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xcb-util-wm = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xcursor-transparent-theme = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-xdg-utils = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-xdpyinfo = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xev = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xeyes = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xf86-input-evdev = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xf86-input-keyboard = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xf86-input-libinput = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xf86-input-mouse = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xf86-input-synaptics = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xf86-input-vmmouse = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xf86-video-cirrus = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xf86-video-fbdev = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xf86-video-intel = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xf86-video-vesa = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xf86-video-vmware = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xhost = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-xdpyinfo = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xev = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xeyes = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xf86-input-evdev = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xf86-input-keyboard = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xf86-input-libinput = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xf86-input-mouse = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xf86-input-synaptics = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xf86-input-vmmouse = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xf86-video-cirrus = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xf86-video-fbdev = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xf86-video-intel = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xf86-video-vesa = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xf86-video-vmware = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xhost = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-xinetd = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-xinit = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xinput = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xinput-calibrator = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xkbcomp = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xkeyboard-config = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-xinit = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xinput = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xinput-calibrator = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xkbcomp = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xkeyboard-config = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-xmlto = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-xmodmap = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xorg-minimal-fonts = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xorgproto = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xprop = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xrandr = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xrestop = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xserver-nodm-init = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xserver-xf86-config = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xserver-xorg = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xset = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xtrans = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xuser-account = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xvinfo = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xwayland = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xwininfo = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-xmodmap = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xorg-minimal-fonts = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xorgproto = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xprop = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xrandr = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xrestop = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xserver-nodm-init = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xserver-xf86-config = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xserver-xorg = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xset = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xtrans = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xuser-account = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xvinfo = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xwayland = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-xwininfo = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-xxhash = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-xz = "Denys Dmytriyenko <denis@denix.org>"
 RECIPE_MAINTAINER_pn-zip = "Denys Dmytriyenko <denis@denix.org>"
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index c6e5ac6..68e5d84 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -21,7 +21,7 @@
 BINUVERSION ?= "2.36%"
 GDBVERSION ?= "10.%"
 GLIBCVERSION ?= "2.33"
-LINUXLIBCVERSION ?= "5.10%"
+LINUXLIBCVERSION ?= "5.13%"
 QEMUVERSION ?= "6.0%"
 GOVERSION ?= "1.16%"
 # This can not use wildcards like 8.0.% since it is also used in mesa to denote
diff --git a/poky/meta/lib/oe/package_manager/__init__.py b/poky/meta/lib/oe/package_manager/__init__.py
index 4d22bc0..de5916d 100644
--- a/poky/meta/lib/oe/package_manager/__init__.py
+++ b/poky/meta/lib/oe/package_manager/__init__.py
@@ -344,10 +344,8 @@
     def install_complementary(self, globs=None):
         """
         Install complementary packages based upon the list of currently installed
-        packages e.g. locales, *-dev, *-dbg, etc. This will only attempt to install
-        these packages, if they don't exist then no error will occur.  Note: every
-        backend needs to call this function explicitly after the normal package
-        installation
+        packages e.g. locales, *-dev, *-dbg, etc. Note: every backend needs to
+        call this function explicitly after the normal package installation.
         """
         if globs is None:
             globs = self.d.getVar('IMAGE_INSTALL_COMPLEMENTARY')
@@ -398,7 +396,7 @@
                 bb.note("Installing complementary packages ... %s (skipped already provided packages %s)" % (
                     ' '.join(install_pkgs),
                     ' '.join(skip_pkgs)))
-                self.install(install_pkgs, attempt_only=True)
+                self.install(install_pkgs)
             except subprocess.CalledProcessError as e:
                 bb.fatal("Could not compute complementary packages list. Command "
                          "'%s' returned %d:\n%s" %
diff --git a/poky/meta/lib/oeqa/manual/toaster-managed-mode.json b/poky/meta/lib/oeqa/manual/toaster-managed-mode.json
index 38b396a..40eda64 100644
--- a/poky/meta/lib/oeqa/manual/toaster-managed-mode.json
+++ b/poky/meta/lib/oeqa/manual/toaster-managed-mode.json
@@ -136,7 +136,7 @@
           "expected_results": ""
         },
         "3": {
-          "action": "Check that default values are as follows: \n\tDISTRO - poky \n\tIMAGE_FSTYPES - ext3 jffs2 tar.bz2 \n\tIMAGE_INSTALL_append - \"Not set\" \n\tPACKAGE_CLASES - package_rpm \n        SSTATE_DIR  - /homeDirectory/poky/sstate-cache \n\n",
+          "action": "Check that default values are as follows: \n\tDISTRO - poky \n\tIMAGE_FSTYPES - ext3 jffs2 tar.bz2 \n\tIMAGE_INSTALL_append - \"Not set\" \n\tPACKAGE_CLASSES - package_rpm \n        SSTATE_DIR  - /homeDirectory/poky/sstate-cache \n\n",
           "expected_results": ""
         },
         "4": {
diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
index 1bb0425..73243c3 100644
--- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -59,6 +59,7 @@
     "Failed to process device, ignoring: Device or resource busy",
     "Cannot find a map file",
     "[rdrand]: Initialization Failed",
+    "[rndr  ]: Initialization Failed",
     "[pulseaudio] authkey.c: Failed to open cookie file",
     "[pulseaudio] authkey.c: Failed to load authentication key",
     ]
diff --git a/poky/meta/lib/oeqa/selftest/cases/archiver.py b/poky/meta/lib/oeqa/selftest/cases/archiver.py
index ddd08ec..0194ae9 100644
--- a/poky/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/poky/meta/lib/oeqa/selftest/cases/archiver.py
@@ -35,11 +35,11 @@
         src_path = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS'])
 
         # Check that include_recipe was included
-        included_present = len(glob.glob(src_path + '/%s-*' % include_recipe))
+        included_present = len(glob.glob(src_path + '/%s-*/*' % include_recipe))
         self.assertTrue(included_present, 'Recipe %s was not included.' % include_recipe)
 
         # Check that exclude_recipe was excluded
-        excluded_present = len(glob.glob(src_path + '/%s-*' % exclude_recipe))
+        excluded_present = len(glob.glob(src_path + '/%s-*/*' % exclude_recipe))
         self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % exclude_recipe)
 
     def test_archiver_filters_by_type(self):
@@ -67,11 +67,11 @@
         src_path_native = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS'])
 
         # Check that target_recipe was included
-        included_present = len(glob.glob(src_path_target + '/%s-*' % target_recipe))
+        included_present = len(glob.glob(src_path_target + '/%s-*/*' % target_recipe))
         self.assertTrue(included_present, 'Recipe %s was not included.' % target_recipe)
 
         # Check that native_recipe was excluded
-        excluded_present = len(glob.glob(src_path_native + '/%s-*' % native_recipe))
+        excluded_present = len(glob.glob(src_path_native + '/%s-*/*' % native_recipe))
         self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % native_recipe)
 
     def test_archiver_filters_by_type_and_name(self):
@@ -104,17 +104,17 @@
         src_path_native = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS'])
 
         # Check that target_recipe[0] and native_recipes[1] were included
-        included_present = len(glob.glob(src_path_target + '/%s-*' % target_recipes[0]))
+        included_present = len(glob.glob(src_path_target + '/%s-*/*' % target_recipes[0]))
         self.assertTrue(included_present, 'Recipe %s was not included.' % target_recipes[0])
 
-        included_present = len(glob.glob(src_path_native + '/%s-*' % native_recipes[1]))
+        included_present = len(glob.glob(src_path_native + '/%s-*/*' % native_recipes[1]))
         self.assertTrue(included_present, 'Recipe %s was not included.' % native_recipes[1])
 
         # Check that native_recipes[0] and target_recipes[1] were excluded
-        excluded_present = len(glob.glob(src_path_native + '/%s-*' % native_recipes[0]))
+        excluded_present = len(glob.glob(src_path_native + '/%s-*/*' % native_recipes[0]))
         self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % native_recipes[0])
 
-        excluded_present = len(glob.glob(src_path_target + '/%s-*' % target_recipes[1]))
+        excluded_present = len(glob.glob(src_path_target + '/%s-*/*' % target_recipes[1]))
         self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % target_recipes[1])
 
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/fetch.py b/poky/meta/lib/oeqa/selftest/cases/fetch.py
index 67e85d3..cd15f65 100644
--- a/poky/meta/lib/oeqa/selftest/cases/fetch.py
+++ b/poky/meta/lib/oeqa/selftest/cases/fetch.py
@@ -55,25 +55,26 @@
 
 
 class Dependencies(OESelftestTestCase):
-    def write_recipe(self, content):
-        f = tempfile.NamedTemporaryFile(mode="wt", suffix=".bb")
-        f.write(content)
-        f.flush()
+    def write_recipe(self, content, tempdir):
+        f = os.path.join(tempdir, "test.bb")
+        with open(f, "w") as fd:
+            fd.write(content)
         return f
 
     def test_dependencies(self):
         """
         Verify that the correct dependencies are generated for specific SRC_URI entries.
         """
-        with bb.tinfoil.Tinfoil() as tinfoil:
+
+        with bb.tinfoil.Tinfoil() as tinfoil, tempfile.TemporaryDirectory(prefix="selftest-fetch") as tempdir:
             tinfoil.prepare(config_only=False, quiet=2)
 
             r = """
             LICENSE="CLOSED"
             SRC_URI="http://example.com/tarball.zip"
             """
-            f = self.write_recipe(textwrap.dedent(r))
-            d = tinfoil.parse_recipe_file(f.name)
+            f = self.write_recipe(textwrap.dedent(r), tempdir)
+            d = tinfoil.parse_recipe_file(f)
             self.assertIn("wget-native", d.getVarFlag("do_fetch", "depends"))
             self.assertIn("unzip-native", d.getVarFlag("do_unpack", "depends"))
 
@@ -82,8 +83,8 @@
             LICENSE="CLOSED"
             SRC_URI="https://example.com/tarball;downloadfilename=something.zip"
             """
-            f = self.write_recipe(textwrap.dedent(r))
-            d = tinfoil.parse_recipe_file(f.name)
+            f = self.write_recipe(textwrap.dedent(r), tempdir)
+            d = tinfoil.parse_recipe_file(f)
             self.assertIn("wget-native", d.getVarFlag("do_fetch", "depends"))
             self.assertIn("unzip-native", d.getVarFlag("do_unpack", "depends") or "")
 
@@ -91,8 +92,8 @@
             LICENSE="CLOSED"
             SRC_URI="ftp://example.com/tarball.lz"
             """
-            f = self.write_recipe(textwrap.dedent(r))
-            d = tinfoil.parse_recipe_file(f.name)
+            f = self.write_recipe(textwrap.dedent(r), tempdir)
+            d = tinfoil.parse_recipe_file(f)
             self.assertIn("wget-native", d.getVarFlag("do_fetch", "depends"))
             self.assertIn("lzip-native", d.getVarFlag("do_unpack", "depends"))
 
@@ -100,6 +101,6 @@
             LICENSE="CLOSED"
             SRC_URI="git://example.com/repo"
             """
-            f = self.write_recipe(textwrap.dedent(r))
-            d = tinfoil.parse_recipe_file(f.name)
+            f = self.write_recipe(textwrap.dedent(r), tempdir)
+            d = tinfoil.parse_recipe_file(f)
             self.assertIn("git-native", d.getVarFlag("do_fetch", "depends"))
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py b/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py
index a7214be..bbf67bf 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py
@@ -64,7 +64,7 @@
         import bb
 
         def testfunction(item, d):
-            if item == "2" or item == "1":
+            if item == "2":
                 raise KeyError("Invalid number %s" % item)
             return "Found %s" % item
 
@@ -99,5 +99,4 @@
         # Assert the function prints exceptions
         with captured_output() as (out, err):
             self.assertRaises(bb.BBHandledException, multiprocess_launch, testfunction, ["1", "2", "3", "4", "5", "6"], d, extraargs=(d,))
-        self.assertIn("KeyError: 'Invalid number 1'", out.getvalue())
         self.assertIn("KeyError: 'Invalid number 2'", out.getvalue())
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index 9d56e9e..f0685d3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -374,7 +374,7 @@
         # Try adding a recipe
         temprecipe = os.path.join(self.tempdir, 'recipe')
         os.makedirs(temprecipe)
-        pv = '1.7.3.0'
+        pv = '1.7.4.1'
         srcuri = 'http://www.dest-unreach.org/socat/download/socat-%s.tar.bz2' % pv
         result = runCmd('recipetool create %s -o %s' % (srcuri, temprecipe))
         dirlist = os.listdir(temprecipe)
diff --git a/poky/meta/lib/oeqa/selftest/cases/runcmd.py b/poky/meta/lib/oeqa/selftest/cases/runcmd.py
index fa6113d..e961238 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runcmd.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runcmd.py
@@ -27,8 +27,8 @@
 
     # The delta is intentionally smaller than the timeout, to detect cases where
     # we incorrectly apply the timeout more than once.
-    TIMEOUT = 5
-    DELTA = 3
+    TIMEOUT = 10
+    DELTA = 8
 
     def test_result_okay(self):
         result = runCmd("true")
diff --git a/poky/meta/lib/oeqa/targetcontrol.py b/poky/meta/lib/oeqa/targetcontrol.py
index 005ebaa..1fdff82 100644
--- a/poky/meta/lib/oeqa/targetcontrol.py
+++ b/poky/meta/lib/oeqa/targetcontrol.py
@@ -152,6 +152,8 @@
 
         self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner)
         self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner)
+        if (self.monitor_dumper):
+            self.monitor_dumper.create_dir("qmp")
 
     def deploy(self):
         bb.utils.mkdirhier(self.testdir)
diff --git a/poky/meta/lib/oeqa/utils/dump.py b/poky/meta/lib/oeqa/utils/dump.py
index 843e19f..bb067f48 100644
--- a/poky/meta/lib/oeqa/utils/dump.py
+++ b/poky/meta/lib/oeqa/utils/dump.py
@@ -18,6 +18,7 @@
         # Some testing doesn't inherit testimage, so it is needed
         # to set some defaults.
         self.parent_dir = parent_dir
+        self.dump_dir = parent_dir
         dft_cmds = """  top -bn1
                         iostat -x -z -N -d -p ALL 20 2
                         ps -ef
@@ -47,7 +48,7 @@
                 raise err
         self.dump_dir = dump_dir
 
-    def _write_dump(self, command, output):
+    def _construct_filename(self, command):
         if isinstance(self, HostDumper):
             prefix = "host"
         elif isinstance(self, TargetDumper):
@@ -61,6 +62,10 @@
             fullname = os.path.join(self.dump_dir, filename)
             if not os.path.exists(fullname):
                 break
+        return fullname
+
+    def _write_dump(self, command, output):
+        fullname = self._construct_filename(command)
         if isinstance(self, MonitorDumper):
             with open(fullname, 'w') as json_file:
                 json.dump(output, json_file, indent=4)
@@ -117,8 +122,16 @@
         if dump_dir:
             self.dump_dir = dump_dir
         for cmd in self.cmds:
+            cmd_name = cmd.split()[0]
             try:
-                output = self.runner.run_monitor(cmd)
-                self._write_dump(cmd, output)
-            except:
-                print("Failed to dump QMP CMD: %s" % (cmd))
+                if len(cmd.split()) > 1:
+                    cmd_args = cmd.split()[1]
+                    if "%s" in cmd_args:
+                        filename = self._construct_filename(cmd_name)
+                    cmd_data = json.loads(cmd_args % (filename))
+                    output = self.runner.run_monitor(cmd_name, cmd_data)
+                else:
+                    output = self.runner.run_monitor(cmd_name)
+                self._write_dump(cmd_name, output)
+            except Exception as e:
+                print("Failed to dump QMP CMD: %s with\nExecption: %s" % (cmd_name, e))
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index abbc7f7..5c9d2b2 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -236,6 +236,7 @@
         # to be a proper fix but this will suffice for now.
         self.runqemu = subprocess.Popen(launch_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, stdin=subprocess.PIPE, preexec_fn=os.setpgrp, env=env, cwd=self.tmpdir)
         output = self.runqemu.stdout
+        launch_time = time.time()
 
         #
         # We need the preexec_fn above so that all runqemu processes can easily be killed
@@ -339,6 +340,10 @@
 
             try:
                 self.qmp.connect()
+                connect_time = time.time()
+                self.logger.info("QMP connected to QEMU at %s and took %s seconds" %
+                                  (time.strftime("%D %H:%M:%S"),
+                                   time.time() - launch_time))
             except OSError as msg:
                 self.logger.warning("Failed to connect qemu monitor socket: %s File: %s" % (msg, msg.filename))
                 return False
@@ -354,19 +359,25 @@
         mapdir = "/proc/" + str(self.qemupid) + "/map_files/"
         try:
             for f in os.listdir(mapdir):
-                linktarget = os.readlink(os.path.join(mapdir, f))
-                if not linktarget.startswith("/") or linktarget.startswith("/dev") or "deleted" in linktarget:
+                try:
+                    linktarget = os.readlink(os.path.join(mapdir, f))
+                    if not linktarget.startswith("/") or linktarget.startswith("/dev") or "deleted" in linktarget:
+                        continue
+                    with open(linktarget, "rb") as readf:
+                        data = True
+                        while data:
+                            data = readf.read(4096)
+                except FileNotFoundError:
                     continue
-                with open(linktarget, "rb") as readf:
-                    data = True
-                    while data:
-                        data = readf.read(4096)
         # Centos7 doesn't allow us to read /map_files/
         except PermissionError:
             pass
 
         # Release the qemu process to continue running
         self.run_monitor('cont')
+        self.logger.info("QMP released QEMU at %s and took %s seconds from connect" %
+                          (time.strftime("%D %H:%M:%S"),
+                           time.time() - connect_time))
 
         # We are alive: qemu is running
         out = self.getOutput(output)
@@ -594,8 +605,12 @@
                         return True
         return False
 
-    def run_monitor(self, command, timeout=60):
-        return self.qmp.cmd(command)
+    def run_monitor(self, command, args=None, timeout=60):
+        if hasattr(self, 'qmp') and self.qmp:
+            if args is not None:
+                return self.qmp.cmd(command, args)
+            else:
+                return self.qmp.cmd(command)
 
     def run_serial(self, command, raw=False, timeout=60):
         # We assume target system have echo to get command status
diff --git a/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb b/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb
index 2cf87c7..3062969 100644
--- a/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb
+++ b/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb
@@ -15,7 +15,7 @@
 
 S = "${WORKDIR}/git"
 
-inherit uboot-config cmake lib_package
+inherit cmake lib_package
 
 EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release"
 
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
index dbbb9ff..6b92538 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -12,7 +12,7 @@
 
 # We use the revision in order to avoid having to fetch it from the
 # repo during parse
-SRCREV = "b46dd116ce03e235f2a7d4843c6278e1da44b5e1"
+SRCREV = "840658b093976390e9537724f802281c9c8439f5"
 
 SRC_URI = "git://git.denx.de/u-boot.git \
           "
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.04.bb b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.07.bb
similarity index 100%
rename from poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.04.bb
rename to poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.07.bb
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2021.04.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2021.07.bb
similarity index 100%
rename from poky/meta/recipes-bsp/u-boot/u-boot_2021.04.bb
rename to poky/meta/recipes-bsp/u-boot/u-boot_2021.07.bb
diff --git a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
index 4302310..79ce669 100644
--- a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -25,6 +25,7 @@
            file://initscript.patch \
            file://0001-Fix-opening-etc-resolv.conf-error.patch \
            file://handle-hup.patch \
+           file://local-ping.patch \
            "
 
 UPSTREAM_CHECK_URI = "https://github.com/lathiat/avahi/releases/"
diff --git a/poky/meta/recipes-connectivity/avahi/files/local-ping.patch b/poky/meta/recipes-connectivity/avahi/files/local-ping.patch
new file mode 100644
index 0000000..94116ad
--- /dev/null
+++ b/poky/meta/recipes-connectivity/avahi/files/local-ping.patch
@@ -0,0 +1,152 @@
+CVE: CVE-2021-36217
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 9d31939e55280a733d930b15ac9e4dda4497680c Mon Sep 17 00:00:00 2001
+From: Tommi Rantala <tommi.t.rantala@nokia.com>
+Date: Mon, 8 Feb 2021 11:04:43 +0200
+Subject: [PATCH] Fix NULL pointer crashes from #175
+
+avahi-daemon is crashing when running "ping .local".
+The crash is due to failing assertion from NULL pointer.
+Add missing NULL pointer checks to fix it.
+
+Introduced in #175 - merge commit 8f75a045709a780c8cf92a6a21e9d35b593bdecd
+---
+ avahi-core/browse-dns-server.c   | 5 ++++-
+ avahi-core/browse-domain.c       | 5 ++++-
+ avahi-core/browse-service-type.c | 3 +++
+ avahi-core/browse-service.c      | 3 +++
+ avahi-core/browse.c              | 3 +++
+ avahi-core/resolve-address.c     | 5 ++++-
+ avahi-core/resolve-host-name.c   | 5 ++++-
+ avahi-core/resolve-service.c     | 5 ++++-
+ 8 files changed, 29 insertions(+), 5 deletions(-)
+
+diff --git a/avahi-core/browse-dns-server.c b/avahi-core/browse-dns-server.c
+index 049752e9..c2d914fa 100644
+--- a/avahi-core/browse-dns-server.c
++++ b/avahi-core/browse-dns-server.c
+@@ -343,7 +343,10 @@ AvahiSDNSServerBrowser *avahi_s_dns_server_browser_new(
+         AvahiSDNSServerBrowser* b;
+ 
+         b = avahi_s_dns_server_browser_prepare(server, interface, protocol, domain, type, aprotocol, flags, callback, userdata);
++        if (!b)
++            return NULL;
++
+         avahi_s_dns_server_browser_start(b);
+ 
+         return b;
+-}
+\ No newline at end of file
++}
+diff --git a/avahi-core/browse-domain.c b/avahi-core/browse-domain.c
+index f145d56a..06fa70c0 100644
+--- a/avahi-core/browse-domain.c
++++ b/avahi-core/browse-domain.c
+@@ -253,7 +253,10 @@ AvahiSDomainBrowser *avahi_s_domain_browser_new(
+         AvahiSDomainBrowser *b;
+ 
+         b = avahi_s_domain_browser_prepare(server, interface, protocol, domain, type, flags, callback, userdata);
++        if (!b)
++            return NULL;
++
+         avahi_s_domain_browser_start(b);
+ 
+         return b;
+-}
+\ No newline at end of file
++}
+diff --git a/avahi-core/browse-service-type.c b/avahi-core/browse-service-type.c
+index fdd22dcd..b1fc7af8 100644
+--- a/avahi-core/browse-service-type.c
++++ b/avahi-core/browse-service-type.c
+@@ -171,6 +171,9 @@ AvahiSServiceTypeBrowser *avahi_s_service_type_browser_new(
+         AvahiSServiceTypeBrowser *b;
+ 
+         b = avahi_s_service_type_browser_prepare(server, interface, protocol, domain, flags, callback, userdata);
++        if (!b)
++            return NULL;
++
+         avahi_s_service_type_browser_start(b);
+ 
+         return b;
+diff --git a/avahi-core/browse-service.c b/avahi-core/browse-service.c
+index 5531360c..63e0275a 100644
+--- a/avahi-core/browse-service.c
++++ b/avahi-core/browse-service.c
+@@ -184,6 +184,9 @@ AvahiSServiceBrowser *avahi_s_service_browser_new(
+         AvahiSServiceBrowser *b;
+ 
+         b = avahi_s_service_browser_prepare(server, interface, protocol, service_type, domain, flags, callback, userdata);
++        if (!b)
++            return NULL;
++
+         avahi_s_service_browser_start(b);
+ 
+         return b;
+diff --git a/avahi-core/browse.c b/avahi-core/browse.c
+index 2941e579..e8a915e9 100644
+--- a/avahi-core/browse.c
++++ b/avahi-core/browse.c
+@@ -634,6 +634,9 @@ AvahiSRecordBrowser *avahi_s_record_browser_new(
+         AvahiSRecordBrowser *b;
+ 
+         b = avahi_s_record_browser_prepare(server, interface, protocol, key, flags, callback, userdata);
++        if (!b)
++            return NULL;
++
+         avahi_s_record_browser_start_query(b);
+ 
+         return b;
+diff --git a/avahi-core/resolve-address.c b/avahi-core/resolve-address.c
+index ac0b29b1..e61dd242 100644
+--- a/avahi-core/resolve-address.c
++++ b/avahi-core/resolve-address.c
+@@ -286,7 +286,10 @@ AvahiSAddressResolver *avahi_s_address_resolver_new(
+         AvahiSAddressResolver *b;
+ 
+         b = avahi_s_address_resolver_prepare(server, interface, protocol, address, flags, callback, userdata);
++        if (!b)
++            return NULL;
++
+         avahi_s_address_resolver_start(b);
+ 
+         return b;
+-}
+\ No newline at end of file
++}
+diff --git a/avahi-core/resolve-host-name.c b/avahi-core/resolve-host-name.c
+index 808b0e72..4e8e5973 100644
+--- a/avahi-core/resolve-host-name.c
++++ b/avahi-core/resolve-host-name.c
+@@ -318,7 +318,10 @@ AvahiSHostNameResolver *avahi_s_host_name_resolver_new(
+         AvahiSHostNameResolver *b;
+ 
+         b = avahi_s_host_name_resolver_prepare(server, interface, protocol, host_name, aprotocol, flags, callback, userdata);
++        if (!b)
++            return NULL;
++
+         avahi_s_host_name_resolver_start(b);
+ 
+         return b;
+-}
+\ No newline at end of file
++}
+diff --git a/avahi-core/resolve-service.c b/avahi-core/resolve-service.c
+index 66bf3cae..43771763 100644
+--- a/avahi-core/resolve-service.c
++++ b/avahi-core/resolve-service.c
+@@ -519,7 +519,10 @@ AvahiSServiceResolver *avahi_s_service_resolver_new(
+         AvahiSServiceResolver *b;
+ 
+         b = avahi_s_service_resolver_prepare(server, interface, protocol, name, type, domain, aprotocol, flags, callback, userdata);
++        if (!b)
++            return NULL;
++
+         avahi_s_service_resolver_start(b);
+ 
+         return b;
+-}
+\ No newline at end of file
++}
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.18/0001-avoid-start-failure-with-bind-user.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.16/0001-avoid-start-failure-with-bind-user.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.16.18/0001-avoid-start-failure-with-bind-user.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.18/0001-named-lwresd-V-and-start-log-hide-build-options.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.16/0001-named-lwresd-V-and-start-log-hide-build-options.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.16.18/0001-named-lwresd-V-and-start-log-hide-build-options.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.18/bind-ensure-searching-for-json-headers-searches-sysr.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.16/bind-ensure-searching-for-json-headers-searches-sysr.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.16.18/bind-ensure-searching-for-json-headers-searches-sysr.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/bind9 b/poky/meta/recipes-connectivity/bind/bind-9.16.18/bind9
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.16/bind9
rename to poky/meta/recipes-connectivity/bind/bind-9.16.18/bind9
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/conf.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.18/conf.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.16/conf.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.16.18/conf.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind-9.16.18/generate-rndc-key.sh
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.16/generate-rndc-key.sh
rename to poky/meta/recipes-connectivity/bind/bind-9.16.18/generate-rndc-key.sh
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.18/init.d-add-support-for-read-only-rootfs.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.16/init.d-add-support-for-read-only-rootfs.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.16.18/init.d-add-support-for-read-only-rootfs.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.18/make-etc-initd-bind-stop-work.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.16/make-etc-initd-bind-stop-work.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.16.18/make-etc-initd-bind-stop-work.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/named.service b/poky/meta/recipes-connectivity/bind/bind-9.16.18/named.service
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.16/named.service
rename to poky/meta/recipes-connectivity/bind/bind-9.16.18/named.service
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.16.16.bb b/poky/meta/recipes-connectivity/bind/bind_9.16.18.bb
similarity index 96%
rename from poky/meta/recipes-connectivity/bind/bind_9.16.16.bb
rename to poky/meta/recipes-connectivity/bind/bind_9.16.18.bb
index b1525984..e7a1c5d 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.16.16.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.16.18.bb
@@ -20,7 +20,7 @@
            file://0001-avoid-start-failure-with-bind-user.patch \
            "
 
-SRC_URI[sha256sum] = "6c913902adf878e7dc5e229cea94faefc9d40f44775a30213edd08860f761d7b"
+SRC_URI[sha256sum] = "3c6263a4364eb5dce233f9f22b90acfa1ec2488d534f91d21663d0ac25ce5e65"
 
 UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
 # stay at 9.16 follow the ESV versions divisible by 4
@@ -62,8 +62,6 @@
 
 do_install_append() {
 
-	rmdir "${D}${localstatedir}/run"
-	rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
 	install -d -o bind "${D}${localstatedir}/cache/bind"
 	install -d "${D}${sysconfdir}/bind"
 	install -d "${D}${sysconfdir}/init.d"
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
index 635cad8..f2d9a4f 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -45,6 +45,7 @@
 PACKAGECONFIG[mesh] = "--enable-mesh --enable-external-ell,--disable-mesh, json-c ell"
 PACKAGECONFIG[btpclient] = "--enable-btpclient --enable-external-ell,--disable-btpclient, ell"
 PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
+PACKAGECONFIG[manpages] = "--enable-manpages,--disable-manpages,python3-docutils-native"
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
            file://init \
@@ -53,7 +54,6 @@
            file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
            file://0001-test-gatt-Fix-hung-issue.patch \
            file://0001-audio-Rename-pause-funciton-to-avoid-shadowing-glibc.patch \
-           file://0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch \
            "
 S = "${WORKDIR}/bluez-${PV}"
 
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch
deleted file mode 100644
index 03b42f7..0000000
--- a/poky/meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From d341ba650af1b7068d9ad034732b4f41b91bb2c1 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Sun, 25 Apr 2021 18:56:41 +0200
-Subject: [PATCH] Makefile.am: add missing mkdir for ell/shared
-
-This addresses build errors out of source tree.
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Makefile.am b/Makefile.am
-index be5d5c7..72ad425 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -623,6 +623,7 @@ lib/bluetooth/%.h: lib/%.h
- 	$(AM_V_GEN)$(LN_S) -f $(abspath $<) $@
- 
- ell/shared: Makefile
-+	$(AM_V_at)$(MKDIR_P) ell
- 	$(AM_V_GEN)for f in $(ell_shared) ; do \
- 		if [ ! -f $$f ] ; then \
- 			$(LN_S) -t ell -f $(abs_srcdir)/../ell/$$f ; \
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5_5.58.bb b/poky/meta/recipes-connectivity/bluez5/bluez5_5.60.bb
similarity index 94%
rename from poky/meta/recipes-connectivity/bluez5/bluez5_5.58.bb
rename to poky/meta/recipes-connectivity/bluez5/bluez5_5.60.bb
index eb8475e..defa0c1 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5_5.58.bb
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5_5.60.bb
@@ -1,6 +1,6 @@
 require bluez5.inc
 
-SRC_URI[sha256sum] = "c8065e75a5eb67236849ef68a354b1700540305a8c88ef0a0fd6288f19daf1f1"
+SRC_URI[sha256sum] = "710999580d01ee59ec585e5e7c07fd94eddedc001aa26fe7464c546f9d945304"
 
 # These issues have kernel fixes rather than bluez fixes so exclude here
 CVE_CHECK_WHITELIST += "CVE-2020-12352 CVE-2020-24490"
diff --git a/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb b/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb
index 56fcf5c..5be480e 100644
--- a/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb
+++ b/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb
@@ -13,6 +13,7 @@
 
 SRC_URI = "https://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz \
            file://0001-remove-INCLUDEDIR-to-prevent-build-issues.patch \
+           file://0002-src-privsep-linux.c-add-support-for-arc-28.patch \
            file://dhcpcd.service \
            file://dhcpcd@.service \
            "
diff --git a/poky/meta/recipes-connectivity/dhcpcd/files/0002-src-privsep-linux.c-add-support-for-arc-28.patch b/poky/meta/recipes-connectivity/dhcpcd/files/0002-src-privsep-linux.c-add-support-for-arc-28.patch
new file mode 100644
index 0000000..045f06a
--- /dev/null
+++ b/poky/meta/recipes-connectivity/dhcpcd/files/0002-src-privsep-linux.c-add-support-for-arc-28.patch
@@ -0,0 +1,63 @@
+From 82386110e67cf75c224e9817fce55e6b0f143266 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Mon, 8 Feb 2021 07:23:54 +0100
+Subject: [PATCH] src/privsep-linux.c: add support for arc (#28)
+
+Fix the following build failure:
+
+privsep-linux.c:206:4: error: #error "Platform does not support seccomp filter yet"
+ #  error "Platform does not support seccomp filter yet"
+    ^~~~~
+In file included from privsep-linux.c:36:
+privsep-linux.c:213:38: error: 'SECCOMP_AUDIT_ARCH' undeclared here (not in a function); did you mean 'SECCOMP_ALLOW_ARG'?
+  BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, SECCOMP_AUDIT_ARCH, 1, 0),
+                                      ^~~~~~~~~~~~~~~~~~
+
+It should be noted that AUDIT_ARCH_{ARCOMPACT,ARCV2} is only defined
+since kernel 5.2 and
+https://github.com/torvalds/linux/commit/67f2a8a29311841ba6ab9b0e2d1b8f1e9978cd84
+
+Detection of arc compact and arc v2 have been "copy/pasted" from
+https://github.com/wbx-github/uclibc-ng/commit/afab56958f1cbb47b831ee3ebff231dfbae74af2
+
+Fixes:
+ - http://autobuild.buildroot.org/results/d29083700a80dd647621eed06faeeae03f0587d3
+
+Upstream-Status: Backport [https://github.com/NetworkConfiguration/dhcpcd/commit/82386110e67cf75c224e9817fce55e6b0f143266]
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+---
+ src/privsep-linux.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/src/privsep-linux.c b/src/privsep-linux.c
+index 402667af..21d41a9a 100644
+--- a/src/privsep-linux.c
++++ b/src/privsep-linux.c
+@@ -149,6 +149,22 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, struct msghdr *msg)
+ #  define SECCOMP_AUDIT_ARCH AUDIT_ARCH_I386
+ #elif defined(__x86_64__)
+ #  define SECCOMP_AUDIT_ARCH AUDIT_ARCH_X86_64
++#elif defined(__arc__)
++#  if defined(__A7__)
++#    if (BYTE_ORDER == LITTLE_ENDIAN)
++#      define SECCOMP_AUDIT_ARCH AUDIT_ARCH_ARCOMPACT
++#    else
++#      define SECCOMP_AUDIT_ARCH AUDIT_ARCH_ARCOMPACTBE
++#    endif
++#  elif defined(__HS__)
++#    if (BYTE_ORDER == LITTLE_ENDIAN)
++#      define SECCOMP_AUDIT_ARCH AUDIT_ARCH_ARCV2
++#    else
++#      define SECCOMP_AUDIT_ARCH AUDIT_ARCH_ARCV2BE
++#    endif
++#  else
++#    error "Platform does not support seccomp filter yet"
++#  endif
+ #elif defined(__arm__)
+ #  ifndef EM_ARM
+ #    define EM_ARM 40
+-- 
+2.16.2
+
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.12.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.13.0.bb
similarity index 75%
rename from poky/meta/recipes-connectivity/iproute2/iproute2_5.12.0.bb
rename to poky/meta/recipes-connectivity/iproute2/iproute2_5.13.0.bb
index 3631123..b117637 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.12.0.bb
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.13.0.bb
@@ -4,7 +4,7 @@
            file://0001-libc-compat.h-add-musl-workaround.patch \
            "
 
-SRC_URI[sha256sum] = "9d268db98a36ee2a0e3ff3b92b2efff66fc1138a51e409bdef6ab3cfe15f326f"
+SRC_URI[sha256sum] = "72a2e53774cac9e65f7b617deebb2059f87e8960d6e9713e4d788cea966f1b36"
 
 # CFLAGS are computed in Makefile and reference CCOPTS
 #
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/sshd_check_keys b/poky/meta/recipes-connectivity/openssh/openssh/sshd_check_keys
index 1931dc7..ef117de 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh/sshd_check_keys
+++ b/poky/meta/recipes-connectivity/openssh/openssh/sshd_check_keys
@@ -6,6 +6,7 @@
     local DIR="$(dirname "$FILE")"
 
     mkdir -p "$DIR"
+    rm -f ${FILE}.tmp
     ssh-keygen -q -f "${FILE}.tmp" -N '' -t $TYPE
 
     # Atomically rename file public key
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-mktemp-add-tmpdir-option.patch b/poky/meta/recipes-core/busybox/busybox/0001-mktemp-add-tmpdir-option.patch
new file mode 100644
index 0000000..4a1960d
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox/0001-mktemp-add-tmpdir-option.patch
@@ -0,0 +1,81 @@
+From ceb378209f953ea745ed93a8645567196380ce3c Mon Sep 17 00:00:00 2001
+From: Andrej Valek <andrej.valek@siemens.com>
+Date: Thu, 24 Jun 2021 19:13:22 +0200
+Subject: [PATCH] mktemp: add tmpdir option
+
+Make mktemp more compatible with coreutils.
+- add "--tmpdir" option
+- add long variants for "d,q,u" options
+
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2021-June/088932.html]
+
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ coreutils/mktemp.c | 26 ++++++++++++++++++--------
+ 1 file changed, 18 insertions(+), 8 deletions(-)
+
+diff --git a/coreutils/mktemp.c b/coreutils/mktemp.c
+index 5393320a5..05c6d98c6 100644
+--- a/coreutils/mktemp.c
++++ b/coreutils/mktemp.c
+@@ -39,16 +39,17 @@
+ //kbuild:lib-$(CONFIG_MKTEMP) += mktemp.o
+ 
+ //usage:#define mktemp_trivial_usage
+-//usage:       "[-dt] [-p DIR] [TEMPLATE]"
++//usage:       "[-dt] [-p DIR, --tmpdir[=DIR]] [TEMPLATE]"
+ //usage:#define mktemp_full_usage "\n\n"
+ //usage:       "Create a temporary file with name based on TEMPLATE and print its name.\n"
+ //usage:       "TEMPLATE must end with XXXXXX (e.g. [/dir/]nameXXXXXX).\n"
+ //usage:       "Without TEMPLATE, -t tmp.XXXXXX is assumed.\n"
+-//usage:     "\n	-d	Make directory, not file"
+-//usage:     "\n	-q	Fail silently on errors"
+-//usage:     "\n	-t	Prepend base directory name to TEMPLATE"
+-//usage:     "\n	-p DIR	Use DIR as a base directory (implies -t)"
+-//usage:     "\n	-u	Do not create anything; print a name"
++//usage:     "\n	-d			Make directory, not file"
++//usage:     "\n	-q			Fail silently on errors"
++//usage:     "\n	-t			Prepend base directory name to TEMPLATE"
++//usage:     "\n	-p DIR, --tmpdir[=DIR]	Use DIR as a base directory (implies -t)"
++//usage:     "\n				For --tmpdir is a optional one."
++//usage:     "\n	-u			Do not create anything; print a name"
+ //usage:     "\n"
+ //usage:     "\nBase directory is: -p DIR, else $TMPDIR, else /tmp"
+ //usage:
+@@ -72,13 +73,22 @@ int mktemp_main(int argc UNUSED_PARAM, char **argv)
+ 		OPT_t = 1 << 2,
+ 		OPT_p = 1 << 3,
+ 		OPT_u = 1 << 4,
++		OPT_td = 1 << 5,
+ 	};
+ 
+ 	path = getenv("TMPDIR");
+ 	if (!path || path[0] == '\0')
+ 		path = "/tmp";
+ 
+-	opts = getopt32(argv, "^" "dqtp:u" "\0" "?1"/*1 arg max*/, &path);
++	opts = getopt32long(argv, "^"
++	       "dqtp:u\0"
++	       "?1" /* 1 arg max */,
++	       "directory\0" No_argument       "d"
++	       "quiet\0"     No_argument       "q"
++	       "dry-run\0"   No_argument       "u"
++	       "tmpdir\0"    Optional_argument "\xff"
++	       , &path, &path
++	);
+ 
+ 	chp = argv[optind];
+ 	if (!chp) {
+@@ -95,7 +105,7 @@ int mktemp_main(int argc UNUSED_PARAM, char **argv)
+ 		goto error;
+ 	}
+ #endif
+-	if (opts & (OPT_t|OPT_p))
++	if (opts & (OPT_t|OPT_p|OPT_td))
+ 		chp = concat_path_file(path, chp);
+ 
+ 	if (opts & OPT_u) {
+-- 
+2.11.0
+
diff --git a/poky/meta/recipes-core/busybox/busybox/mount-via-label.cfg b/poky/meta/recipes-core/busybox/busybox/mount-via-label.cfg
index 2fe7ab2..5a285de 100644
--- a/poky/meta/recipes-core/busybox/busybox/mount-via-label.cfg
+++ b/poky/meta/recipes-core/busybox/busybox/mount-via-label.cfg
@@ -1,9 +1,11 @@
 CONFIG_BLKID=y
 CONFIG_FEATURE_BLKID_TYPE=y
 CONFIG_FEATURE_MOUNT_LABEL=y
+CONFIG_FEATURE_SWAPONOFF_LABEL=y
 CONFIG_VOLUMEID=y
 CONFIG_FEATURE_VOLUMEID_BTRFS=y
 CONFIG_FEATURE_VOLUMEID_EXT=y
 CONFIG_FEATURE_VOLUMEID_F2FS=y
 CONFIG_FEATURE_VOLUMEID_FAT=y
 CONFIG_FEATURE_VOLUMEID_SQUASHFS=y
+CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
diff --git a/poky/meta/recipes-core/busybox/busybox_1.33.1.bb b/poky/meta/recipes-core/busybox/busybox_1.33.1.bb
index a71ff53..4c2bc11 100644
--- a/poky/meta/recipes-core/busybox/busybox_1.33.1.bb
+++ b/poky/meta/recipes-core/busybox/busybox_1.33.1.bb
@@ -38,6 +38,8 @@
            ${@["", "file://mdev.cfg"][(d.getVar('VIRTUAL-RUNTIME_dev_manager') == 'busybox-mdev')]} \
            file://syslog.cfg \
            file://unicode.cfg \
+           file://rev.cfg \
+           file://pgrep.cfg \
            file://rcS \
            file://rcK \
            file://makefile-libbb-race.patch \
@@ -45,9 +47,8 @@
            file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \
            file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \
            file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \
-           file://rev.cfg \
-           file://pgrep.cfg \
            file://0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch \
+           file://0001-mktemp-add-tmpdir-option.patch \
            "
 SRC_URI_append_libc-musl = " file://musl.cfg "
 
diff --git a/poky/meta/recipes-core/dbus/dbus_1.12.20.bb b/poky/meta/recipes-core/dbus/dbus_1.12.20.bb
index 32e7d9c..2f6da67 100644
--- a/poky/meta/recipes-core/dbus/dbus_1.12.20.bb
+++ b/poky/meta/recipes-core/dbus/dbus_1.12.20.bb
@@ -71,7 +71,7 @@
 "
 FILES_${PN}-lib = "${libdir}/lib*.so.*"
 RRECOMMENDS_${PN}-lib = "${PN}"
-FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${libdir}/cmake/DBus1 ${bindir}/dbus-test-tool ${datadir}/xml/dbus-1"
+FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-test-tool ${datadir}/xml/dbus-1"
 
 PACKAGE_WRITE_DEPS += "${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}"
 pkg_postinst_dbus() {
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-correctly-use-3-parameters-for-close_range.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-correctly-use-3-parameters-for-close_range.patch
new file mode 100644
index 0000000..6ff25fc
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-correctly-use-3-parameters-for-close_range.patch
@@ -0,0 +1,29 @@
+From b71117d89434db83d34bc1b981ca03d4be299576 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 8 Jul 2021 17:26:43 -0700
+Subject: [PATCH] correctly use 3 parameters for close_range
+
+libc implementation has 3 parameter e.g.
+https://www.freebsd.org/cgi/man.cgi?query=close_range&sektion=2&format=html
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2180]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ glib/gspawn.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/glib/gspawn.c b/glib/gspawn.c
+index 899647c2f..3073a10a4 100644
+--- a/glib/gspawn.c
++++ b/glib/gspawn.c
+@@ -1520,7 +1520,7 @@ safe_closefrom (int lowfd)
+    *
+    * Handle ENOSYS in case it’s supported in libc but not the kernel; if so,
+    * fall back to safe_fdwalk(). */
+-  if (close_range (lowfd, G_MAXUINT) != 0 && errno == ENOSYS)
++  if (close_range (lowfd, G_MAXUINT, 0) != 0 && errno == ENOSYS)
+ #endif  /* HAVE_CLOSE_RANGE */
+   (void) safe_fdwalk (close_func, GINT_TO_POINTER (lowfd));
+ #endif
+--
+2.32.0
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/time-test.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/time-test.patch
new file mode 100644
index 0000000..4d7ef97
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/time-test.patch
@@ -0,0 +1,40 @@
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2177]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 289f8be1b397a453cfcf35641455f3ae5fb4faeb Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 6 Jul 2021 19:26:03 +0100
+Subject: [PATCH] gio/tests/g-file-info: don't assume million-in-one events
+ don't happen
+
+The modification time test creates a file, gets the modification time in
+seconds, then gets the modification time in microseconds and assumes
+that the difference between the two has to be above 0.
+
+As rare as this may be, it can happen:
+
+$ stat g-file-info-test-50A450 -c %y
+2021-07-06 18:24:56.000000767 +0100
+
+Change the test to simply assert that the difference not negative to
+handle this case.
+---
+ gio/tests/g-file-info.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gio/tests/g-file-info.c b/gio/tests/g-file-info.c
+index c11c50462..fd0c64b55 100644
+--- a/gio/tests/g-file-info.c
++++ b/gio/tests/g-file-info.c
+@@ -178,7 +178,7 @@ test_g_file_info_modification_time (void)
+   g_assert_nonnull (dt_usecs);
+ 
+   ts = g_date_time_difference (dt_usecs, dt);
+-  g_assert_cmpint (ts, >, 0);
++  g_assert_cmpint (ts, >=, 0);
+   g_assert_cmpint (ts, <, G_USEC_PER_SEC);
+ 
+   /* Try round-tripping the modification time. */
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb
index 2a3a00f..cbce6ea 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb
@@ -17,6 +17,8 @@
            file://0001-meson-Run-atomics-test-on-clang-as-well.patch \
            file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
            file://0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch \
+           file://time-test.patch \
+           file://0001-correctly-use-3-parameters-for-close_range.patch \
            "
 SRC_URI_append_class-native = " file://relocate-modules.patch"
 
diff --git a/poky/meta/recipes-core/glibc/glibc-testsuite_2.33.bb b/poky/meta/recipes-core/glibc/glibc-testsuite_2.33.bb
index d887aef..659d313 100644
--- a/poky/meta/recipes-core/glibc/glibc-testsuite_2.33.bb
+++ b/poky/meta/recipes-core/glibc/glibc-testsuite_2.33.bb
@@ -61,3 +61,4 @@
 inherit nopackages
 deltask do_stash_locale
 deltask do_install
+deltask do_populate_sysroot
diff --git a/poky/meta/recipes-core/glibc/glibc/mte-backports.patch b/poky/meta/recipes-core/glibc/glibc/mte-backports.patch
new file mode 100644
index 0000000..d9604fd
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/mte-backports.patch
@@ -0,0 +1,1238 @@
+Backport a number of patches from master to improve Arm MTE support.
+
+Upstream-Status: Backport [will be in 2.34]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 2643466c2928a93de7b80a61f6a8f61a653862e1 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <szabolcs.nagy@arm.com>
+Date: Thu, 11 Mar 2021 14:09:56 +0000
+Subject: [PATCH 01/11] malloc: Fix a potential realloc issue with memory
+ tagging
+
+At an _int_free call site in realloc the wrong size was used for tag
+clearing: the chunk header of the next chunk was also cleared which
+in practice may work, but logically wrong.
+
+The tag clearing is moved before the memcpy to save a tag computation,
+this avoids a chunk2mem.  Another chunk2mem is removed because newmem
+does not have to be recomputed. Whitespaces got fixed too.
+
+Reviewed-by: DJ Delorie <dj@redhat.com>
+---
+ malloc/malloc.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/malloc/malloc.c b/malloc/malloc.c
+index 8f8f12c276..51cec67e55 100644
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -4851,14 +4851,14 @@ _int_realloc(mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize,
+             }
+           else
+             {
+-	      void *oldmem = chunk2mem (oldp);
++	      void *oldmem = chunk2rawmem (oldp);
++	      size_t sz = CHUNK_AVAILABLE_SIZE (oldp) - CHUNK_HDR_SZ;
++	      (void) TAG_REGION (oldmem, sz);
+ 	      newmem = TAG_NEW_USABLE (newmem);
+-	      memcpy (newmem, oldmem,
+-		      CHUNK_AVAILABLE_SIZE (oldp) - CHUNK_HDR_SZ);
+-	      (void) TAG_REGION (chunk2rawmem (oldp), oldsize);
+-              _int_free (av, oldp, 1);
+-              check_inuse_chunk (av, newp);
+-              return chunk2mem (newp);
++	      memcpy (newmem, oldmem, sz);
++	      _int_free (av, oldp, 1);
++	      check_inuse_chunk (av, newp);
++	      return newmem;
+             }
+         }
+     }
+-- 
+2.25.1
+
+
+From 32f3132be063e4b16a5cdb058980af354126e2f4 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <szabolcs.nagy@arm.com>
+Date: Thu, 28 Jan 2021 17:34:36 +0000
+Subject: [PATCH 02/11] malloc: Move MTAG_MMAP_FLAGS definition
+
+This is only used internally in malloc.c, the extern declaration
+was wrong, __mtag_mmap_flags has internal linkage.
+
+Reviewed-by: DJ Delorie <dj@redhat.com>
+---
+ include/malloc.h | 7 -------
+ malloc/malloc.c  | 2 ++
+ 2 files changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/include/malloc.h b/include/malloc.h
+index 7ae08d53d3..b77761f74d 100644
+--- a/include/malloc.h
++++ b/include/malloc.h
+@@ -16,11 +16,4 @@ typedef struct malloc_state *mstate;
+ 
+ # endif /* !_ISOMAC */
+ 
+-#ifdef USE_MTAG
+-extern int __mtag_mmap_flags;
+-#define MTAG_MMAP_FLAGS __mtag_mmap_flags
+-#else
+-#define MTAG_MMAP_FLAGS 0
+-#endif
+-
+ #endif
+diff --git a/malloc/malloc.c b/malloc/malloc.c
+index 51cec67e55..61c25d0f93 100644
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -463,11 +463,13 @@ static void *(*__tag_region)(void *, size_t) = __default_tag_region;
+ static void *(*__tag_new_usable)(void *) = __default_tag_nop;
+ static void *(*__tag_at)(void *) = __default_tag_nop;
+ 
++# define MTAG_MMAP_FLAGS __mtag_mmap_flags
+ # define TAG_NEW_MEMSET(ptr, val, size) __tag_new_memset (ptr, val, size)
+ # define TAG_REGION(ptr, size) __tag_region (ptr, size)
+ # define TAG_NEW_USABLE(ptr) __tag_new_usable (ptr)
+ # define TAG_AT(ptr) __tag_at (ptr)
+ #else
++# define MTAG_MMAP_FLAGS 0
+ # define TAG_NEW_MEMSET(ptr, val, size) memset (ptr, val, size)
+ # define TAG_REGION(ptr, size) (ptr)
+ # define TAG_NEW_USABLE(ptr) (ptr)
+-- 
+2.25.1
+
+
+From 4b13f77fb97f9618a7868ab767d05e0c2d7c6f6f Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <szabolcs.nagy@arm.com>
+Date: Thu, 4 Feb 2021 11:38:23 +0000
+Subject: [PATCH 03/11] malloc: Simplify __mtag_tag_new_usable
+
+The chunk cannot be a dumped one here.  The only non-obvious cases
+are free and realloc which may be called on a dumped area chunk,
+but in both cases it can be verified that tagging is already
+avoided for dumped area chunks.
+
+Reviewed-by: DJ Delorie <dj@redhat.com>
+---
+ malloc/arena.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/malloc/arena.c b/malloc/arena.c
+index bf17be27d4..0777dc70c6 100644
+--- a/malloc/arena.c
++++ b/malloc/arena.c
+@@ -298,11 +298,6 @@ __mtag_tag_new_usable (void *ptr)
+   if (ptr)
+     {
+       mchunkptr cp = mem2chunk(ptr);
+-      /* This likely will never happen, but we can't handle retagging
+-	 chunks from the dumped main arena.  So just return the
+-	 existing pointer.  */
+-      if (DUMPED_MAIN_ARENA_CHUNK (cp))
+-	return ptr;
+       ptr = __libc_mtag_tag_region (__libc_mtag_new_tag (ptr),
+ 				    CHUNK_AVAILABLE_SIZE (cp) - CHUNK_HDR_SZ);
+     }
+-- 
+2.25.1
+
+
+From 4f05837ba6934c5b8bbc6738f8883890493f50b6 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <szabolcs.nagy@arm.com>
+Date: Thu, 4 Feb 2021 11:52:14 +0000
+Subject: [PATCH 04/11] malloc: Avoid taggig mmaped memory on free
+
+Either the memory belongs to the dumped area, in which case we don't
+want to tag (the dumped area has the same tag as malloc internal data
+so tagging is unnecessary, but chunks there may not have the right
+alignment for the tag granule), or the memory will be unmapped
+immediately (and thus tagging is not useful).
+
+Reviewed-by: DJ Delorie <dj@redhat.com>
+---
+ malloc/malloc.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/malloc/malloc.c b/malloc/malloc.c
+index 61c25d0f93..ecb87350b0 100644
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -3284,9 +3284,6 @@ __libc_free (void *mem)
+ 
+   p = mem2chunk (mem);
+ 
+-  /* Mark the chunk as belonging to the library again.  */
+-  (void)TAG_REGION (chunk2rawmem (p), CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ);
+-
+   if (chunk_is_mmapped (p))                       /* release mmapped memory. */
+     {
+       /* See if the dynamic brk/mmap threshold needs adjusting.
+@@ -3307,6 +3304,10 @@ __libc_free (void *mem)
+     {
+       MAYBE_INIT_TCACHE ();
+ 
++      /* Mark the chunk as belonging to the library again.  */
++      (void)TAG_REGION (chunk2rawmem (p),
++			CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ);
++
+       ar_ptr = arena_for_chunk (p);
+       _int_free (ar_ptr, p, 0);
+     }
+-- 
+2.25.1
+
+
+From 673fad3798846101b77a89595cfa17f334a1c898 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <szabolcs.nagy@arm.com>
+Date: Tue, 16 Feb 2021 14:12:25 +0000
+Subject: [PATCH 05/11] malloc: Refactor TAG_ macros to avoid indirection
+
+This does not change behaviour, just removes one layer of indirection
+in the internal memory tagging logic.
+
+Use tag_ and mtag_ prefixes instead of __tag_ and __mtag_ since these
+are all symbols with internal linkage, private to malloc.c, so there
+is no user namespace pollution issue.
+
+Reviewed-by: DJ Delorie <dj@redhat.com>
+---
+ malloc/arena.c  | 16 +++++-----
+ malloc/hooks.c  | 10 +++---
+ malloc/malloc.c | 81 +++++++++++++++++++++++--------------------------
+ 3 files changed, 51 insertions(+), 56 deletions(-)
+
+diff --git a/malloc/arena.c b/malloc/arena.c
+index 0777dc70c6..d0778fea92 100644
+--- a/malloc/arena.c
++++ b/malloc/arena.c
+@@ -332,12 +332,12 @@ ptmalloc_init (void)
+       if (__MTAG_SBRK_UNTAGGED)
+ 	__morecore = __failing_morecore;
+ 
+-      __mtag_mmap_flags = __MTAG_MMAP_FLAGS;
+-      __tag_new_memset = __mtag_tag_new_memset;
+-      __tag_region = __libc_mtag_tag_region;
+-      __tag_new_usable = __mtag_tag_new_usable;
+-      __tag_at = __libc_mtag_address_get_tag;
+-      __mtag_granule_mask = ~(size_t)(__MTAG_GRANULE_SIZE - 1);
++      mtag_mmap_flags = __MTAG_MMAP_FLAGS;
++      tag_new_memset = __mtag_tag_new_memset;
++      tag_region = __libc_mtag_tag_region;
++      tag_new_usable = __mtag_tag_new_usable;
++      tag_at = __libc_mtag_address_get_tag;
++      mtag_granule_mask = ~(size_t)(__MTAG_GRANULE_SIZE - 1);
+     }
+ #endif
+ 
+@@ -557,7 +557,7 @@ new_heap (size_t size, size_t top_pad)
+             }
+         }
+     }
+-  if (__mprotect (p2, size, MTAG_MMAP_FLAGS | PROT_READ | PROT_WRITE) != 0)
++  if (__mprotect (p2, size, mtag_mmap_flags | PROT_READ | PROT_WRITE) != 0)
+     {
+       __munmap (p2, HEAP_MAX_SIZE);
+       return 0;
+@@ -587,7 +587,7 @@ grow_heap (heap_info *h, long diff)
+     {
+       if (__mprotect ((char *) h + h->mprotect_size,
+                       (unsigned long) new_size - h->mprotect_size,
+-                      MTAG_MMAP_FLAGS | PROT_READ | PROT_WRITE) != 0)
++                      mtag_mmap_flags | PROT_READ | PROT_WRITE) != 0)
+         return -2;
+ 
+       h->mprotect_size = new_size;
+diff --git a/malloc/hooks.c b/malloc/hooks.c
+index efec05f0a8..d8e304c31c 100644
+--- a/malloc/hooks.c
++++ b/malloc/hooks.c
+@@ -68,7 +68,7 @@ __malloc_check_init (void)
+    tags, so fetch the tag at each location before dereferencing
+    it.  */
+ #define SAFE_CHAR_OFFSET(p,offset) \
+-  ((unsigned char *) TAG_AT (((unsigned char *) p) + offset))
++  ((unsigned char *) tag_at (((unsigned char *) p) + offset))
+ 
+ /* A simple, standard set of debugging hooks.  Overhead is `only' one
+    byte per chunk; still this will catch most cases of double frees or
+@@ -249,7 +249,7 @@ malloc_check (size_t sz, const void *caller)
+   top_check ();
+   victim = _int_malloc (&main_arena, nb);
+   __libc_lock_unlock (main_arena.mutex);
+-  return mem2mem_check (TAG_NEW_USABLE (victim), sz);
++  return mem2mem_check (tag_new_usable (victim), sz);
+ }
+ 
+ static void
+@@ -280,7 +280,7 @@ free_check (void *mem, const void *caller)
+   else
+     {
+       /* Mark the chunk as belonging to the library again.  */
+-      (void)TAG_REGION (chunk2rawmem (p), CHUNK_AVAILABLE_SIZE (p)
++      (void)tag_region (chunk2rawmem (p), CHUNK_AVAILABLE_SIZE (p)
+                                          - CHUNK_HDR_SZ);
+       _int_free (&main_arena, p, 1);
+       __libc_lock_unlock (main_arena.mutex);
+@@ -375,7 +375,7 @@ invert:
+ 
+   __libc_lock_unlock (main_arena.mutex);
+ 
+-  return mem2mem_check (TAG_NEW_USABLE (newmem), bytes);
++  return mem2mem_check (tag_new_usable (newmem), bytes);
+ }
+ 
+ static void *
+@@ -417,7 +417,7 @@ memalign_check (size_t alignment, size_t bytes, const void *caller)
+   top_check ();
+   mem = _int_memalign (&main_arena, alignment, bytes + 1);
+   __libc_lock_unlock (main_arena.mutex);
+-  return mem2mem_check (TAG_NEW_USABLE (mem), bytes);
++  return mem2mem_check (tag_new_usable (mem), bytes);
+ }
+ 
+ #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_25)
+diff --git a/malloc/malloc.c b/malloc/malloc.c
+index ecb87350b0..62d00f54cc 100644
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -413,26 +413,26 @@ void *(*__morecore)(ptrdiff_t) = __default_morecore;
+    operations can continue to be used.  Support macros are used to do
+    this:
+ 
+-   void *TAG_NEW_MEMSET (void *ptr, int, val, size_t size)
++   void *tag_new_memset (void *ptr, int, val, size_t size)
+ 
+    Has the same interface as memset(), but additionally allocates a
+    new tag, colors the memory with that tag and returns a pointer that
+    is correctly colored for that location.  The non-tagging version
+    will simply call memset.
+ 
+-   void *TAG_REGION (void *ptr, size_t size)
++   void *tag_region (void *ptr, size_t size)
+ 
+    Color the region of memory pointed to by PTR and size SIZE with
+    the color of PTR.  Returns the original pointer.
+ 
+-   void *TAG_NEW_USABLE (void *ptr)
++   void *tag_new_usable (void *ptr)
+ 
+    Allocate a new random color and use it to color the user region of
+    a chunk; this may include data from the subsequent chunk's header
+    if tagging is sufficiently fine grained.  Returns PTR suitably
+    recolored for accessing the memory there.
+ 
+-   void *TAG_AT (void *ptr)
++   void *tag_at (void *ptr)
+ 
+    Read the current color of the memory at the address pointed to by
+    PTR (ignoring it's current color) and return PTR recolored to that
+@@ -455,25 +455,20 @@ __default_tag_nop (void *ptr)
+   return ptr;
+ }
+ 
+-static int __mtag_mmap_flags = 0;
+-static size_t __mtag_granule_mask = ~(size_t)0;
++static int mtag_mmap_flags = 0;
++static size_t mtag_granule_mask = ~(size_t)0;
+ 
+-static void *(*__tag_new_memset)(void *, int, size_t) = memset;
+-static void *(*__tag_region)(void *, size_t) = __default_tag_region;
+-static void *(*__tag_new_usable)(void *) = __default_tag_nop;
+-static void *(*__tag_at)(void *) = __default_tag_nop;
++static void *(*tag_new_memset)(void *, int, size_t) = memset;
++static void *(*tag_region)(void *, size_t) = __default_tag_region;
++static void *(*tag_new_usable)(void *) = __default_tag_nop;
++static void *(*tag_at)(void *) = __default_tag_nop;
+ 
+-# define MTAG_MMAP_FLAGS __mtag_mmap_flags
+-# define TAG_NEW_MEMSET(ptr, val, size) __tag_new_memset (ptr, val, size)
+-# define TAG_REGION(ptr, size) __tag_region (ptr, size)
+-# define TAG_NEW_USABLE(ptr) __tag_new_usable (ptr)
+-# define TAG_AT(ptr) __tag_at (ptr)
+ #else
+-# define MTAG_MMAP_FLAGS 0
+-# define TAG_NEW_MEMSET(ptr, val, size) memset (ptr, val, size)
+-# define TAG_REGION(ptr, size) (ptr)
+-# define TAG_NEW_USABLE(ptr) (ptr)
+-# define TAG_AT(ptr) (ptr)
++# define mtag_mmap_flags 0
++# define tag_new_memset(ptr, val, size) memset (ptr, val, size)
++# define tag_region(ptr, size) (ptr)
++# define tag_new_usable(ptr) (ptr)
++# define tag_at(ptr) (ptr)
+ #endif
+ 
+ #include <string.h>
+@@ -1305,8 +1300,8 @@ nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ /* Convert between user mem pointers and chunk pointers, updating any
+    memory tags on the pointer to respect the tag value at that
+    location.  */
+-#define chunk2mem(p) ((void*)TAG_AT (((char*)(p) + CHUNK_HDR_SZ)))
+-#define mem2chunk(mem) ((mchunkptr)TAG_AT (((char*)(mem) - CHUNK_HDR_SZ)))
++#define chunk2mem(p) ((void *)tag_at (((char*)(p) + CHUNK_HDR_SZ)))
++#define mem2chunk(mem) ((mchunkptr)tag_at (((char*)(mem) - CHUNK_HDR_SZ)))
+ 
+ /* The smallest possible chunk */
+ #define MIN_CHUNK_SIZE        (offsetof(struct malloc_chunk, fd_nextsize))
+@@ -1337,7 +1332,7 @@ nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ #ifdef USE_MTAG
+ #define CHUNK_AVAILABLE_SIZE(p) \
+   ((chunksize (p) + (chunk_is_mmapped (p) ? 0 : SIZE_SZ))	\
+-   & __mtag_granule_mask)
++   & mtag_granule_mask)
+ #else
+ #define CHUNK_AVAILABLE_SIZE(p) \
+   (chunksize (p) + (chunk_is_mmapped (p) ? 0 : SIZE_SZ))
+@@ -1361,7 +1356,7 @@ checked_request2size (size_t req, size_t *sz) __nonnull (1)
+      number.  Ideally, this would be part of request2size(), but that
+      must be a macro that produces a compile time constant if passed
+      a constant literal.  */
+-  req = (req + ~__mtag_granule_mask) & __mtag_granule_mask;
++  req = (req + ~mtag_granule_mask) & mtag_granule_mask;
+ #endif
+ 
+   *sz = request2size (req);
+@@ -2467,7 +2462,7 @@ sysmalloc (INTERNAL_SIZE_T nb, mstate av)
+       if ((unsigned long) (size) > (unsigned long) (nb))
+         {
+           mm = (char *) (MMAP (0, size,
+-			       MTAG_MMAP_FLAGS | PROT_READ | PROT_WRITE, 0));
++			       mtag_mmap_flags | PROT_READ | PROT_WRITE, 0));
+ 
+           if (mm != MAP_FAILED)
+             {
+@@ -2665,7 +2660,7 @@ sysmalloc (INTERNAL_SIZE_T nb, mstate av)
+           if ((unsigned long) (size) > (unsigned long) (nb))
+             {
+               char *mbrk = (char *) (MMAP (0, size,
+-					   MTAG_MMAP_FLAGS | PROT_READ | PROT_WRITE,
++					   mtag_mmap_flags | PROT_READ | PROT_WRITE,
+ 					   0));
+ 
+               if (mbrk != MAP_FAILED)
+@@ -3221,14 +3216,14 @@ __libc_malloc (size_t bytes)
+       && tcache->counts[tc_idx] > 0)
+     {
+       victim = tcache_get (tc_idx);
+-      return TAG_NEW_USABLE (victim);
++      return tag_new_usable (victim);
+     }
+   DIAG_POP_NEEDS_COMMENT;
+ #endif
+ 
+   if (SINGLE_THREAD_P)
+     {
+-      victim = TAG_NEW_USABLE (_int_malloc (&main_arena, bytes));
++      victim = tag_new_usable (_int_malloc (&main_arena, bytes));
+       assert (!victim || chunk_is_mmapped (mem2chunk (victim)) ||
+ 	      &main_arena == arena_for_chunk (mem2chunk (victim)));
+       return victim;
+@@ -3249,7 +3244,7 @@ __libc_malloc (size_t bytes)
+   if (ar_ptr != NULL)
+     __libc_lock_unlock (ar_ptr->mutex);
+ 
+-  victim = TAG_NEW_USABLE (victim);
++  victim = tag_new_usable (victim);
+ 
+   assert (!victim || chunk_is_mmapped (mem2chunk (victim)) ||
+           ar_ptr == arena_for_chunk (mem2chunk (victim)));
+@@ -3305,7 +3300,7 @@ __libc_free (void *mem)
+       MAYBE_INIT_TCACHE ();
+ 
+       /* Mark the chunk as belonging to the library again.  */
+-      (void)TAG_REGION (chunk2rawmem (p),
++      (void)tag_region (chunk2rawmem (p),
+ 			CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ);
+ 
+       ar_ptr = arena_for_chunk (p);
+@@ -3408,7 +3403,7 @@ __libc_realloc (void *oldmem, size_t bytes)
+ 	     reused.  There's a performance hit for both us and the
+ 	     caller for doing this, so we might want to
+ 	     reconsider.  */
+-	  return TAG_NEW_USABLE (newmem);
++	  return tag_new_usable (newmem);
+ 	}
+ #endif
+       /* Note the extra SIZE_SZ overhead. */
+@@ -3451,7 +3446,7 @@ __libc_realloc (void *oldmem, size_t bytes)
+         {
+ 	  size_t sz = CHUNK_AVAILABLE_SIZE (oldp) - CHUNK_HDR_SZ;
+ 	  memcpy (newp, oldmem, sz);
+-	  (void) TAG_REGION (chunk2rawmem (oldp), sz);
++	  (void) tag_region (chunk2rawmem (oldp), sz);
+           _int_free (ar_ptr, oldp, 0);
+         }
+     }
+@@ -3509,7 +3504,7 @@ _mid_memalign (size_t alignment, size_t bytes, void *address)
+       p = _int_memalign (&main_arena, alignment, bytes);
+       assert (!p || chunk_is_mmapped (mem2chunk (p)) ||
+ 	      &main_arena == arena_for_chunk (mem2chunk (p)));
+-      return TAG_NEW_USABLE (p);
++      return tag_new_usable (p);
+     }
+ 
+   arena_get (ar_ptr, bytes + alignment + MINSIZE);
+@@ -3527,7 +3522,7 @@ _mid_memalign (size_t alignment, size_t bytes, void *address)
+ 
+   assert (!p || chunk_is_mmapped (mem2chunk (p)) ||
+           ar_ptr == arena_for_chunk (mem2chunk (p)));
+-  return TAG_NEW_USABLE (p);
++  return tag_new_usable (p);
+ }
+ /* For ISO C11.  */
+ weak_alias (__libc_memalign, aligned_alloc)
+@@ -3544,7 +3539,7 @@ __libc_valloc (size_t bytes)
+   void *address = RETURN_ADDRESS (0);
+   size_t pagesize = GLRO (dl_pagesize);
+   p = _mid_memalign (pagesize, bytes, address);
+-  return TAG_NEW_USABLE (p);
++  return tag_new_usable (p);
+ }
+ 
+ void *
+@@ -3569,7 +3564,7 @@ __libc_pvalloc (size_t bytes)
+   rounded_bytes = rounded_bytes & -(pagesize - 1);
+ 
+   p = _mid_memalign (pagesize, rounded_bytes, address);
+-  return TAG_NEW_USABLE (p);
++  return tag_new_usable (p);
+ }
+ 
+ void *
+@@ -3666,7 +3661,7 @@ __libc_calloc (size_t n, size_t elem_size)
+      regardless of MORECORE_CLEARS, so we zero the whole block while
+      doing so.  */
+ #ifdef USE_MTAG
+-  return TAG_NEW_MEMSET (mem, 0, CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ);
++  return tag_new_memset (mem, 0, CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ);
+ #else
+   INTERNAL_SIZE_T csz = chunksize (p);
+ 
+@@ -4821,7 +4816,7 @@ _int_realloc(mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize,
+           av->top = chunk_at_offset (oldp, nb);
+           set_head (av->top, (newsize - nb) | PREV_INUSE);
+           check_inuse_chunk (av, oldp);
+-          return TAG_NEW_USABLE (chunk2rawmem (oldp));
++          return tag_new_usable (chunk2rawmem (oldp));
+         }
+ 
+       /* Try to expand forward into next chunk;  split off remainder below */
+@@ -4856,8 +4851,8 @@ _int_realloc(mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize,
+             {
+ 	      void *oldmem = chunk2rawmem (oldp);
+ 	      size_t sz = CHUNK_AVAILABLE_SIZE (oldp) - CHUNK_HDR_SZ;
+-	      (void) TAG_REGION (oldmem, sz);
+-	      newmem = TAG_NEW_USABLE (newmem);
++	      (void) tag_region (oldmem, sz);
++	      newmem = tag_new_usable (newmem);
+ 	      memcpy (newmem, oldmem, sz);
+ 	      _int_free (av, oldp, 1);
+ 	      check_inuse_chunk (av, newp);
+@@ -4881,7 +4876,7 @@ _int_realloc(mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize,
+     {
+       remainder = chunk_at_offset (newp, nb);
+       /* Clear any user-space tags before writing the header.  */
+-      remainder = TAG_REGION (remainder, remainder_size);
++      remainder = tag_region (remainder, remainder_size);
+       set_head_size (newp, nb | (av != &main_arena ? NON_MAIN_ARENA : 0));
+       set_head (remainder, remainder_size | PREV_INUSE |
+                 (av != &main_arena ? NON_MAIN_ARENA : 0));
+@@ -4891,7 +4886,7 @@ _int_realloc(mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize,
+     }
+ 
+   check_inuse_chunk (av, newp);
+-  return TAG_NEW_USABLE (chunk2rawmem (newp));
++  return tag_new_usable (chunk2rawmem (newp));
+ }
+ 
+ /*
+@@ -5108,7 +5103,7 @@ musable (void *mem)
+       /* The usable space may be reduced if memory tagging is needed,
+ 	 since we cannot share the user-space data with malloc's internal
+ 	 data structure.  */
+-      result &= __mtag_granule_mask;
++      result &= mtag_granule_mask;
+ #endif
+       return result;
+     }
+-- 
+2.25.1
+
+
+From f0ea41e819f40aacedf25431bedd95da9c5db534 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <szabolcs.nagy@arm.com>
+Date: Wed, 27 Jan 2021 15:45:43 +0000
+Subject: [PATCH 06/11] malloc: Use global flag instead of function pointer
+ dispatch for mtag
+
+A flag check can be faster than function pointers because of how
+branch prediction and speculation works and it can also remove a layer
+of indirection when there is a mismatch between the malloc internal
+tag_* api and __libc_mtag_* target hooks.
+
+Memory tagging wrapper functions are moved to malloc.c from arena.c and
+the logic now checks mmap_enabled.  The definition of tag_new_usable is
+moved after chunk related definitions.
+
+This refactoring also allows using mtag_enabled checks instead of
+USE_MTAG ifdefs when memory tagging support only changes code logic
+when memory tagging is enabled at runtime. Note: an "if (false)" code
+block is optimized away even at -O0 by gcc.
+
+Reviewed-by: DJ Delorie <dj@redhat.com>
+---
+ malloc/arena.c  | 33 +---------------------------
+ malloc/malloc.c | 58 ++++++++++++++++++++++++++++++++-----------------
+ 2 files changed, 39 insertions(+), 52 deletions(-)
+
+diff --git a/malloc/arena.c b/malloc/arena.c
+index d0778fea92..1e83bb66bd 100644
+--- a/malloc/arena.c
++++ b/malloc/arena.c
+@@ -287,34 +287,6 @@ extern struct dl_open_hook *_dl_open_hook;
+ libc_hidden_proto (_dl_open_hook);
+ #endif
+ 
+-#ifdef USE_MTAG
+-
+-/* Generate a new (random) tag value for PTR and tag the memory it
+-   points to upto the end of the usable size for the chunk containing
+-   it.  Return the newly tagged pointer.  */
+-static void *
+-__mtag_tag_new_usable (void *ptr)
+-{
+-  if (ptr)
+-    {
+-      mchunkptr cp = mem2chunk(ptr);
+-      ptr = __libc_mtag_tag_region (__libc_mtag_new_tag (ptr),
+-				    CHUNK_AVAILABLE_SIZE (cp) - CHUNK_HDR_SZ);
+-    }
+-  return ptr;
+-}
+-
+-/* Generate a new (random) tag value for PTR, set the tags for the
+-   memory to the new tag and initialize the memory contents to VAL.
+-   In practice this function will only be called with VAL=0, but we
+-   keep this parameter to maintain the same prototype as memset.  */
+-static void *
+-__mtag_tag_new_memset (void *ptr, int val, size_t size)
+-{
+-  return __libc_mtag_memset_with_tag (__libc_mtag_new_tag (ptr), val, size);
+-}
+-#endif
+-
+ static void
+ ptmalloc_init (void)
+ {
+@@ -332,11 +304,8 @@ ptmalloc_init (void)
+       if (__MTAG_SBRK_UNTAGGED)
+ 	__morecore = __failing_morecore;
+ 
++      mtag_enabled = true;
+       mtag_mmap_flags = __MTAG_MMAP_FLAGS;
+-      tag_new_memset = __mtag_tag_new_memset;
+-      tag_region = __libc_mtag_tag_region;
+-      tag_new_usable = __mtag_tag_new_usable;
+-      tag_at = __libc_mtag_address_get_tag;
+       mtag_granule_mask = ~(size_t)(__MTAG_GRANULE_SIZE - 1);
+     }
+ #endif
+diff --git a/malloc/malloc.c b/malloc/malloc.c
+index 62d00f54cc..253a919ec5 100644
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -441,35 +441,41 @@ void *(*__morecore)(ptrdiff_t) = __default_morecore;
+ */
+ 
+ #ifdef USE_MTAG
++static bool mtag_enabled = false;
++static int mtag_mmap_flags = 0;
++static size_t mtag_granule_mask = ~(size_t)0;
++#else
++# define mtag_enabled false
++# define mtag_mmap_flags 0
++#endif
+ 
+-/* Default implementaions when memory tagging is supported, but disabled.  */
+-static void *
+-__default_tag_region (void *ptr, size_t size)
++static __always_inline void *
++tag_region (void *ptr, size_t size)
+ {
++  if (__glibc_unlikely (mtag_enabled))
++    return __libc_mtag_tag_region (ptr, size);
+   return ptr;
+ }
+ 
+-static void *
+-__default_tag_nop (void *ptr)
++static __always_inline void *
++tag_new_memset (void *ptr, int val, size_t size)
+ {
+-  return ptr;
++  if (__glibc_unlikely (mtag_enabled))
++    return __libc_mtag_memset_with_tag (__libc_mtag_new_tag (ptr), val, size);
++  return memset (ptr, val, size);
+ }
+ 
+-static int mtag_mmap_flags = 0;
+-static size_t mtag_granule_mask = ~(size_t)0;
+-
+-static void *(*tag_new_memset)(void *, int, size_t) = memset;
+-static void *(*tag_region)(void *, size_t) = __default_tag_region;
+-static void *(*tag_new_usable)(void *) = __default_tag_nop;
+-static void *(*tag_at)(void *) = __default_tag_nop;
++/* Defined later.  */
++static void *
++tag_new_usable (void *ptr);
+ 
+-#else
+-# define mtag_mmap_flags 0
+-# define tag_new_memset(ptr, val, size) memset (ptr, val, size)
+-# define tag_region(ptr, size) (ptr)
+-# define tag_new_usable(ptr) (ptr)
+-# define tag_at(ptr) (ptr)
+-#endif
++static __always_inline void *
++tag_at (void *ptr)
++{
++  if (__glibc_unlikely (mtag_enabled))
++    return __libc_mtag_address_get_tag (ptr);
++  return ptr;
++}
+ 
+ #include <string.h>
+ 
+@@ -1460,6 +1466,18 @@ checked_request2size (size_t req, size_t *sz) __nonnull (1)
+ #pragma GCC poison mchunk_size
+ #pragma GCC poison mchunk_prev_size
+ 
++static __always_inline void *
++tag_new_usable (void *ptr)
++{
++  if (__glibc_unlikely (mtag_enabled) && ptr)
++    {
++      mchunkptr cp = mem2chunk(ptr);
++      ptr = __libc_mtag_tag_region (__libc_mtag_new_tag (ptr),
++				    CHUNK_AVAILABLE_SIZE (cp) - CHUNK_HDR_SZ);
++    }
++  return ptr;
++}
++
+ /*
+    -------------------- Internal data structures --------------------
+ 
+-- 
+2.25.1
+
+
+From 8597244d5c3edbd672b285eea5f6dea833256f9d Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <szabolcs.nagy@arm.com>
+Date: Wed, 17 Feb 2021 10:39:37 +0000
+Subject: [PATCH 07/11] malloc: Ensure the generic mtag hooks are not used
+
+Use inline functions instead of macros, because macros can cause unused
+variable warnings and type conversion issues.  We assume these functions
+may appear in the code but only in dead code paths (hidden by a runtime
+check), so it's important that they can compile with correct types, but
+if they are actually used that should be an error.
+
+Currently the hooks are only used when USE_MTAG is true which only
+happens on aarch64 and then the aarch64 specific code is used not this
+generic header.  However followup refactoring will allow the hooks to
+be used with !USE_MTAG.
+
+Note: the const qualifier in the comment was wrong: changing tags is a
+write operation.
+
+Reviewed-by: DJ Delorie <dj@redhat.com>
+---
+ sysdeps/generic/libc-mtag.h | 41 ++++++++++++++++++++++++++++---------
+ 1 file changed, 31 insertions(+), 10 deletions(-)
+
+diff --git a/sysdeps/generic/libc-mtag.h b/sysdeps/generic/libc-mtag.h
+index 1a866cdc0c..e8fc236b6c 100644
+--- a/sysdeps/generic/libc-mtag.h
++++ b/sysdeps/generic/libc-mtag.h
+@@ -31,22 +31,43 @@
+ /* Extra flags to pass to mmap() to request a tagged region of memory.  */
+ #define __MTAG_MMAP_FLAGS 0
+ 
++/* Memory tagging target hooks are only called when memory tagging is
++   enabled at runtime.  The generic definitions here must not be used.  */
++void __libc_mtag_link_error (void);
++
+ /* Set the tags for a region of memory, which must have size and alignment
+-   that are multiples of __MTAG_GRANULE_SIZE.  Size cannot be zero.
+-   void *__libc_mtag_tag_region (const void *, size_t)  */
+-#define __libc_mtag_tag_region(p, s) (p)
++   that are multiples of __MTAG_GRANULE_SIZE.  Size cannot be zero.  */
++static inline void *
++__libc_mtag_tag_region (void *p, size_t n)
++{
++  __libc_mtag_link_error ();
++  return p;
++}
+ 
+ /* Optimized equivalent to __libc_mtag_tag_region followed by memset.  */
+-#define __libc_mtag_memset_with_tag memset
++static inline void *
++__libc_mtag_memset_with_tag (void *p, int c, size_t n)
++{
++  __libc_mtag_link_error ();
++  return memset (p, c, n);
++}
+ 
+ /* Convert address P to a pointer that is tagged correctly for that
+-   location.
+-   void *__libc_mtag_address_get_tag (void*)  */
+-#define __libc_mtag_address_get_tag(p) (p)
++   location.  */
++static inline void *
++__libc_mtag_address_get_tag (void *p)
++{
++  __libc_mtag_link_error ();
++  return p;
++}
+ 
+ /* Assign a new (random) tag to a pointer P (does not adjust the tag on
+-   the memory addressed).
+-   void *__libc_mtag_new_tag (void*)  */
+-#define __libc_mtag_new_tag(p) (p)
++   the memory addressed).  */
++static inline void *
++__libc_mtag_new_tag (void *p)
++{
++  __libc_mtag_link_error ();
++  return p;
++}
+ 
+ #endif /* _GENERIC_LIBC_MTAG_H */
+-- 
+2.25.1
+
+
+From 3d9e16280ad881d038aedba0b6fcbd9e78b29072 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <szabolcs.nagy@arm.com>
+Date: Fri, 29 Jan 2021 17:07:28 +0000
+Subject: [PATCH 08/11] malloc: Only support zeroing and not arbitrary memset
+ with mtag
+
+The memset api is suboptimal and does not provide much benefit. Memory
+tagging only needs a zeroing memset (and only for memory that's sized
+and aligned to multiples of the tag granule), so change the internal
+api and the target hooks accordingly.  This is to simplify the
+implementation of the target hook.
+
+Reviewed-by: DJ Delorie <dj@redhat.com>
+---
+ malloc/malloc.c                                | 17 ++++++++---------
+ sysdeps/aarch64/Makefile                       |  2 +-
+ ...g_memset_tag.S => __mtag_tag_zero_region.S} | 18 +++++++-----------
+ sysdeps/aarch64/libc-mtag.h                    |  4 ++--
+ sysdeps/generic/libc-mtag.h                    |  6 +++---
+ 5 files changed, 21 insertions(+), 26 deletions(-)
+ rename sysdeps/aarch64/{__mtag_memset_tag.S => __mtag_tag_zero_region.S} (82%)
+
+diff --git a/malloc/malloc.c b/malloc/malloc.c
+index 253a919ec5..01cf6e9325 100644
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -413,12 +413,11 @@ void *(*__morecore)(ptrdiff_t) = __default_morecore;
+    operations can continue to be used.  Support macros are used to do
+    this:
+ 
+-   void *tag_new_memset (void *ptr, int, val, size_t size)
++   void *tag_new_zero_region (void *ptr, size_t size)
+ 
+-   Has the same interface as memset(), but additionally allocates a
+-   new tag, colors the memory with that tag and returns a pointer that
+-   is correctly colored for that location.  The non-tagging version
+-   will simply call memset.
++   Allocates a new tag, colors the memory with that tag, zeros the
++   memory and returns a pointer that is correctly colored for that
++   location.  The non-tagging version will simply call memset with 0.
+ 
+    void *tag_region (void *ptr, size_t size)
+ 
+@@ -458,11 +457,11 @@ tag_region (void *ptr, size_t size)
+ }
+ 
+ static __always_inline void *
+-tag_new_memset (void *ptr, int val, size_t size)
++tag_new_zero_region (void *ptr, size_t size)
+ {
+   if (__glibc_unlikely (mtag_enabled))
+-    return __libc_mtag_memset_with_tag (__libc_mtag_new_tag (ptr), val, size);
+-  return memset (ptr, val, size);
++    return __libc_mtag_tag_zero_region (__libc_mtag_new_tag (ptr), size);
++  return memset (ptr, 0, size);
+ }
+ 
+ /* Defined later.  */
+@@ -3679,7 +3678,7 @@ __libc_calloc (size_t n, size_t elem_size)
+      regardless of MORECORE_CLEARS, so we zero the whole block while
+      doing so.  */
+ #ifdef USE_MTAG
+-  return tag_new_memset (mem, 0, CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ);
++  return tag_new_zero_region (mem, CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ);
+ #else
+   INTERNAL_SIZE_T csz = chunksize (p);
+ 
+diff --git a/sysdeps/aarch64/Makefile b/sysdeps/aarch64/Makefile
+index d3ab37a40a..259070cfad 100644
+--- a/sysdeps/aarch64/Makefile
++++ b/sysdeps/aarch64/Makefile
+@@ -41,7 +41,7 @@ endif
+ ifeq ($(subdir),misc)
+ sysdep_headers += sys/ifunc.h
+ sysdep_routines += __mtag_address_get_tag \
+-		   __mtag_memset_tag \
++		   __mtag_tag_zero_region \
+ 		   __mtag_new_tag \
+ 		   __mtag_tag_region
+ 
+diff --git a/sysdeps/aarch64/__mtag_memset_tag.S b/sysdeps/aarch64/__mtag_tag_zero_region.S
+similarity index 82%
+rename from sysdeps/aarch64/__mtag_memset_tag.S
+rename to sysdeps/aarch64/__mtag_tag_zero_region.S
+index 3c202888a4..74d398bba5 100644
+--- a/sysdeps/aarch64/__mtag_memset_tag.S
++++ b/sysdeps/aarch64/__mtag_tag_zero_region.S
+@@ -20,9 +20,6 @@
+ 
+ #ifdef USE_MTAG
+ 
+-/* Use the same register names and assignments as memset.  */
+-#include "memset-reg.h"
+-
+ 	.arch armv8.5-a
+ 	.arch_extension memtag
+ 
+@@ -31,16 +28,15 @@
+ /* FIXME: This is a minimal implementation.  We could do much better than
+    this for large values of COUNT.  */
+ 
+-ENTRY(__libc_mtag_memset_with_tag)
++#define dstin x0
++#define count x1
++#define dst   x2
+ 
+-	and	valw, valw, 255
+-	orr	valw, valw, valw, lsl 8
+-	orr	valw, valw, valw, lsl 16
+-	orr	val, val, val, lsl 32
+-	mov	dst, dstin
++ENTRY(__libc_mtag_tag_zero_region)
+ 
++	mov	dst, dstin
+ L(loop):
+-	stgp	val, val, [dst], #16
++	stzg	dst, [dst], #16
+ 	subs	count, count, 16
+ 	bne	L(loop)
+ #if 0
+@@ -49,5 +45,5 @@ L(loop):
+ 	ldg	dstin, [dstin] // Recover the tag created (might be untagged).
+ #endif
+ 	ret
+-END (__libc_mtag_memset_with_tag)
++END (__libc_mtag_tag_zero_region)
+ #endif /* USE_MTAG */
+diff --git a/sysdeps/aarch64/libc-mtag.h b/sysdeps/aarch64/libc-mtag.h
+index 979cbb743e..f58402ccf9 100644
+--- a/sysdeps/aarch64/libc-mtag.h
++++ b/sysdeps/aarch64/libc-mtag.h
+@@ -39,8 +39,8 @@
+    void *__libc_mtag_tag_region (const void *, size_t)  */
+ void *__libc_mtag_tag_region (void *, size_t);
+ 
+-/* Optimized equivalent to __libc_mtag_tag_region followed by memset.  */
+-void *__libc_mtag_memset_with_tag (void *, int, size_t);
++/* Optimized equivalent to __libc_mtag_tag_region followed by memset to 0.  */
++void *__libc_mtag_tag_zero_region (void *, size_t);
+ 
+ /* Convert address P to a pointer that is tagged correctly for that
+    location.
+diff --git a/sysdeps/generic/libc-mtag.h b/sysdeps/generic/libc-mtag.h
+index e8fc236b6c..4743e873f1 100644
+--- a/sysdeps/generic/libc-mtag.h
++++ b/sysdeps/generic/libc-mtag.h
+@@ -44,12 +44,12 @@ __libc_mtag_tag_region (void *p, size_t n)
+   return p;
+ }
+ 
+-/* Optimized equivalent to __libc_mtag_tag_region followed by memset.  */
++/* Optimized equivalent to __libc_mtag_tag_region followed by memset to 0.  */
+ static inline void *
+-__libc_mtag_memset_with_tag (void *p, int c, size_t n)
++__libc_mtag_tag_zero_region (void *p, size_t n)
+ {
+   __libc_mtag_link_error ();
+-  return memset (p, c, n);
++  return memset (p, 0, n);
+ }
+ 
+ /* Convert address P to a pointer that is tagged correctly for that
+-- 
+2.25.1
+
+
+From 4d596cb72342ba0734dc847653431e078a70edfc Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <szabolcs.nagy@arm.com>
+Date: Tue, 16 Feb 2021 17:02:44 +0000
+Subject: [PATCH 09/11] malloc: Change calloc when tagging is disabled
+
+When glibc is built with memory tagging support (USE_MTAG) but it is not
+enabled at runtime (mtag_enabled) then unconditional memset was used
+even though that can be often avoided.
+
+This is for performance when tagging is supported but not enabled.
+The extra check should have no overhead: tag_new_zero_region already
+had a runtime check which the compiler can now optimize away.
+
+Reviewed-by: DJ Delorie <dj@redhat.com>
+---
+ malloc/malloc.c | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+diff --git a/malloc/malloc.c b/malloc/malloc.c
+index 01cf6e9325..0b2aff3768 100644
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -3591,11 +3591,9 @@ __libc_calloc (size_t n, size_t elem_size)
+   mchunkptr oldtop;
+   INTERNAL_SIZE_T sz, oldtopsize;
+   void *mem;
+-#ifndef USE_MTAG
+   unsigned long clearsize;
+   unsigned long nclears;
+   INTERNAL_SIZE_T *d;
+-#endif
+   ptrdiff_t bytes;
+ 
+   if (__glibc_unlikely (__builtin_mul_overflow (n, elem_size, &bytes)))
+@@ -3674,12 +3672,13 @@ __libc_calloc (size_t n, size_t elem_size)
+     return 0;
+ 
+   mchunkptr p = mem2chunk (mem);
++
+   /* If we are using memory tagging, then we need to set the tags
+      regardless of MORECORE_CLEARS, so we zero the whole block while
+      doing so.  */
+-#ifdef USE_MTAG
+-  return tag_new_zero_region (mem, CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ);
+-#else
++  if (__glibc_unlikely (mtag_enabled))
++    return tag_new_zero_region (mem, CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ);
++
+   INTERNAL_SIZE_T csz = chunksize (p);
+ 
+   /* Two optional cases in which clearing not necessary */
+@@ -3733,7 +3732,6 @@ __libc_calloc (size_t n, size_t elem_size)
+     }
+ 
+   return mem;
+-#endif
+ }
+ 
+ /*
+-- 
+2.25.1
+
+
+From 287a35fba55a0a817db7af71ee966a37b7642bf0 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <szabolcs.nagy@arm.com>
+Date: Mon, 8 Feb 2021 12:39:01 +0000
+Subject: [PATCH 10/11] malloc: Use branches instead of mtag_granule_mask
+
+The branches may be better optimized since mtag_enabled is widely used.
+
+Granule size larger than a chunk header is not supported since then we
+cannot have both the chunk header and user area granule aligned.  To
+fix that for targets with large granule, the chunk layout has to change.
+
+So code that attempted to handle the granule mask generally was changed.
+This simplified CHUNK_AVAILABLE_SIZE and the logic in malloc_usable_size.
+
+Reviewed-by: DJ Delorie <dj@redhat.com>
+---
+ malloc/arena.c  |  1 -
+ malloc/malloc.c | 34 ++++++++++++++--------------------
+ 2 files changed, 14 insertions(+), 21 deletions(-)
+
+diff --git a/malloc/arena.c b/malloc/arena.c
+index 1e83bb66bd..9fbbb38a15 100644
+--- a/malloc/arena.c
++++ b/malloc/arena.c
+@@ -306,7 +306,6 @@ ptmalloc_init (void)
+ 
+       mtag_enabled = true;
+       mtag_mmap_flags = __MTAG_MMAP_FLAGS;
+-      mtag_granule_mask = ~(size_t)(__MTAG_GRANULE_SIZE - 1);
+     }
+ #endif
+ 
+diff --git a/malloc/malloc.c b/malloc/malloc.c
+index 0b2aff3768..849bd8e2c9 100644
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -442,7 +442,6 @@ void *(*__morecore)(ptrdiff_t) = __default_morecore;
+ #ifdef USE_MTAG
+ static bool mtag_enabled = false;
+ static int mtag_mmap_flags = 0;
+-static size_t mtag_granule_mask = ~(size_t)0;
+ #else
+ # define mtag_enabled false
+ # define mtag_mmap_flags 0
+@@ -1333,15 +1332,16 @@ nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    ((req) + SIZE_SZ + MALLOC_ALIGN_MASK) & ~MALLOC_ALIGN_MASK)
+ 
+ /* Available size of chunk.  This is the size of the real usable data
+-   in the chunk, plus the chunk header.  */
+-#ifdef USE_MTAG
+-#define CHUNK_AVAILABLE_SIZE(p) \
+-  ((chunksize (p) + (chunk_is_mmapped (p) ? 0 : SIZE_SZ))	\
+-   & mtag_granule_mask)
+-#else
+-#define CHUNK_AVAILABLE_SIZE(p) \
+-  (chunksize (p) + (chunk_is_mmapped (p) ? 0 : SIZE_SZ))
+-#endif
++   in the chunk, plus the chunk header.  Note: If memory tagging is
++   enabled the layout changes to accomodate the granule size, this is
++   wasteful for small allocations so not done by default.  The logic
++   does not work if chunk headers are not granule aligned.  */
++_Static_assert (__MTAG_GRANULE_SIZE <= CHUNK_HDR_SZ,
++		"memory tagging is not supported with large granule.");
++#define CHUNK_AVAILABLE_SIZE(p)                                       \
++  (__MTAG_GRANULE_SIZE > SIZE_SZ && __glibc_unlikely (mtag_enabled) ? \
++    chunksize (p) :                                                   \
++    chunksize (p) + (chunk_is_mmapped (p) ? 0 : SIZE_SZ))
+ 
+ /* Check if REQ overflows when padded and aligned and if the resulting value
+    is less than PTRDIFF_T.  Returns TRUE and the requested size or MINSIZE in
+@@ -1353,7 +1353,6 @@ checked_request2size (size_t req, size_t *sz) __nonnull (1)
+   if (__glibc_unlikely (req > PTRDIFF_MAX))
+     return false;
+ 
+-#ifdef USE_MTAG
+   /* When using tagged memory, we cannot share the end of the user
+      block with the header for the next chunk, so ensure that we
+      allocate blocks that are rounded up to the granule size.  Take
+@@ -1361,8 +1360,9 @@ checked_request2size (size_t req, size_t *sz) __nonnull (1)
+      number.  Ideally, this would be part of request2size(), but that
+      must be a macro that produces a compile time constant if passed
+      a constant literal.  */
+-  req = (req + ~mtag_granule_mask) & mtag_granule_mask;
+-#endif
++  if (__glibc_unlikely (mtag_enabled))
++    req = (req + (__MTAG_GRANULE_SIZE - 1)) &
++	  ~(size_t)(__MTAG_GRANULE_SIZE - 1);
+ 
+   *sz = request2size (req);
+   return true;
+@@ -5112,14 +5112,8 @@ musable (void *mem)
+ 	    result = chunksize (p) - CHUNK_HDR_SZ;
+ 	}
+       else if (inuse (p))
+-	result = chunksize (p) - SIZE_SZ;
++	result = CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ;
+ 
+-#ifdef USE_MTAG
+-      /* The usable space may be reduced if memory tagging is needed,
+-	 since we cannot share the user-space data with malloc's internal
+-	 data structure.  */
+-      result &= mtag_granule_mask;
+-#endif
+       return result;
+     }
+   return 0;
+-- 
+2.25.1
+
+
+From 66de173bf919e601e408dc78772c6841ad6388ab Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <szabolcs.nagy@arm.com>
+Date: Wed, 17 Feb 2021 10:15:18 +0000
+Subject: [PATCH 11/11] malloc: Use mtag_enabled instead of USE_MTAG
+
+Use the runtime check where possible: it should not cause slow down in
+the !USE_MTAG case since then mtag_enabled is constant false, but it
+allows compiling the tagging logic so it's less likely to break or
+diverge when developers only test the !USE_MTAG case.
+
+Reviewed-by: DJ Delorie <dj@redhat.com>
+---
+ malloc/hooks.c  | 10 ++++------
+ malloc/malloc.c | 10 ++++------
+ 2 files changed, 8 insertions(+), 12 deletions(-)
+
+diff --git a/malloc/hooks.c b/malloc/hooks.c
+index d8e304c31c..9474e199c3 100644
+--- a/malloc/hooks.c
++++ b/malloc/hooks.c
+@@ -262,11 +262,10 @@ free_check (void *mem, const void *caller)
+ 
+   int err = errno;
+ 
+-#ifdef USE_MTAG
+   /* Quickly check that the freed pointer matches the tag for the memory.
+      This gives a useful double-free detection.  */
+-  *(volatile char *)mem;
+-#endif
++  if (__glibc_unlikely (mtag_enabled))
++    *(volatile char *)mem;
+ 
+   __libc_lock_lock (main_arena.mutex);
+   p = mem2chunk_check (mem, NULL);
+@@ -310,11 +309,10 @@ realloc_check (void *oldmem, size_t bytes, const void *caller)
+       return NULL;
+     }
+ 
+-#ifdef USE_MTAG
+   /* Quickly check that the freed pointer matches the tag for the memory.
+      This gives a useful double-free detection.  */
+-  *(volatile char *)oldmem;
+-#endif
++  if (__glibc_unlikely (mtag_enabled))
++    *(volatile char *)oldmem;
+ 
+   __libc_lock_lock (main_arena.mutex);
+   const mchunkptr oldp = mem2chunk_check (oldmem, &magic_p);
+diff --git a/malloc/malloc.c b/malloc/malloc.c
+index 849bd8e2c9..36583120ce 100644
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -3286,11 +3286,10 @@ __libc_free (void *mem)
+   if (mem == 0)                              /* free(0) has no effect */
+     return;
+ 
+-#ifdef USE_MTAG
+   /* Quickly check that the freed pointer matches the tag for the memory.
+      This gives a useful double-free detection.  */
+-  *(volatile char *)mem;
+-#endif
++  if (__glibc_unlikely (mtag_enabled))
++    *(volatile char *)mem;
+ 
+   int err = errno;
+ 
+@@ -3352,11 +3351,10 @@ __libc_realloc (void *oldmem, size_t bytes)
+   if (oldmem == 0)
+     return __libc_malloc (bytes);
+ 
+-#ifdef USE_MTAG
+   /* Perform a quick check to ensure that the pointer's tag matches the
+      memory's tag.  */
+-  *(volatile char*) oldmem;
+-#endif
++  if (__glibc_unlikely (mtag_enabled))
++    *(volatile char*) oldmem;
+ 
+   /* chunk corresponding to oldmem */
+   const mchunkptr oldp = mem2chunk (oldmem);
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc_2.33.bb b/poky/meta/recipes-core/glibc/glibc_2.33.bb
index caa2e2a..925efe8 100644
--- a/poky/meta/recipes-core/glibc/glibc_2.33.bb
+++ b/poky/meta/recipes-core/glibc/glibc_2.33.bb
@@ -56,6 +56,7 @@
            file://0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \
            file://0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \
            file://0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch \
+           file://mte-backports.patch \
            "
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build-${TARGET_SYS}"
@@ -91,7 +92,7 @@
 EXTRA_OECONF_append_x86 = " --enable-cet"
 EXTRA_OECONF_append_x86-64 = " --enable-cet"
 
-PACKAGECONFIG ??= "nscd"
+PACKAGECONFIG ??= "nscd memory-tagging"
 PACKAGECONFIG[nscd] = "--enable-nscd,--disable-nscd"
 PACKAGECONFIG[memory-tagging] = "--enable-memory-tagging,--disable-memory-tagging"
 
diff --git a/poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/add-riscv-support.patch b/poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/add-riscv-support.patch
new file mode 100644
index 0000000..fc41aee
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/add-riscv-support.patch
@@ -0,0 +1,79 @@
+From fd50228cc213d2d87f5e3cf1f123acb3fda9b04e Mon Sep 17 00:00:00 2001
+From: Christoph Muellner <cmuellner@linux.com>
+Date: Mon, 28 Jun 2021 00:34:12 +0200
+Subject: [PATCH] ldconfig: Add RISC-V support
+
+ldconfig-native does not support RISC-V at the moment.
+Let's pull the reqired constants from upstream and add
+the required parsing code.
+
+Upstream-Status: Backport
+
+Signed-off-by: Christoph Muellner <cmuellner@linux.com>
+---
+ cache.c      |  6 ++++++
+ ldconfig.h   |  2 ++
+ readelflib.c | 10 ++++++++++
+ 3 files changed, 18 insertions(+)
+
+diff --git a/cache.c b/cache.c
+index c4f5411..a3b9e70 100644
+--- a/cache.c
++++ b/cache.c
+@@ -125,6 +125,12 @@ print_entry (const char *lib, int flag, unsigned int osversion,
+     case FLAG_AARCH64_LIB64:
+       fputs (",AArch64", stdout);
+       break;
++    case FLAG_RISCV_FLOAT_ABI_SOFT:
++      fputs (",soft-float", stdout);
++      break;
++    case FLAG_RISCV_FLOAT_ABI_DOUBLE:
++      fputs (",double-float", stdout);
++      break;
+     case 0:
+       break;
+     default:
+diff --git a/ldconfig.h b/ldconfig.h
+index 6a8a750..2e5e379 100644
+--- a/ldconfig.h
++++ b/ldconfig.h
+@@ -38,6 +38,8 @@
+ #define FLAG_ARM_LIBHF			0x0900
+ #define FLAG_AARCH64_LIB64		0x0a00
+ #define FLAG_ARM_LIBSF			0x0b00
++#define FLAG_RISCV_FLOAT_ABI_SOFT	0x0f00
++#define FLAG_RISCV_FLOAT_ABI_DOUBLE	0x1000
+ 
+ /* Name of auxiliary cache.  */
+ #define _PATH_LDCONFIG_AUX_CACHE "/var/cache/ldconfig/aux-cache"
+diff --git a/readelflib.c b/readelflib.c
+index 9ec0a54..a01e1ce 100644
+--- a/readelflib.c
++++ b/readelflib.c
+@@ -33,6 +33,10 @@
+ #define EM_AARCH64	183		/* ARM AARCH64 */
+ #endif
+ 
++#ifndef EM_RISCV
++#define EM_RISCV	243		/* RISC-V */
++#endif
++
+ #undef check_ptr
+ #define check_ptr(ptr)						\
+ do								\
+@@ -331,6 +335,12 @@ process_elf_file64 (const char *file_name, const char *lib, int *flag,
+       /* see sysdeps/unix/sysv/linux/arm/readelflib.c */
+       *flag |= FLAG_AARCH64_LIB64|FLAG_ELF_LIBC6;
+       break;
++    case EM_RISCV:
++      /* RISC-V libraries are always libc.so.6+. */
++      /* NOTE: This does not correctly handle soft-float binaries */
++      /* see sysdeps/unix/sysv/linux/riscv/readelflib.c */
++      *flag |= FLAG_RISCV_FLOAT_ABI_DOUBLE|FLAG_ELF_LIBC6;
++      break;
+     default:
+       error(0, 0, "%s is a 64-bit ELF for unknown machine %lx\n",
+             file_name, (long)elf_header->e_machine);
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb b/poky/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb
index 919d114..fd1630b 100644
--- a/poky/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb
+++ b/poky/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb
@@ -15,6 +15,7 @@
            file://endian-ness_handling_fix.patch \
            file://add-64-bit-flag-for-ELF64-entries.patch \
            file://no-aux-cache.patch \
+           file://add-riscv-support.patch \
 "
 
 PR = "r2"
diff --git a/poky/meta/recipes-core/ifupdown/files/0001-ifupdown-skip-wrong-test-case.patch b/poky/meta/recipes-core/ifupdown/files/0001-ifupdown-skip-wrong-test-case.patch
new file mode 100644
index 0000000..c751e4f
--- /dev/null
+++ b/poky/meta/recipes-core/ifupdown/files/0001-ifupdown-skip-wrong-test-case.patch
@@ -0,0 +1,32 @@
+From 98243deface88614e3f332c4a85d04a9abce55ff Mon Sep 17 00:00:00 2001
+From: Zqiang <qiang.zhang@windriver.com>
+Date: Mon, 19 Apr 2021 14:15:45 +0800
+Subject: [PATCH] ifupdown: skip wrong test case
+
+The test parameters of testcase(12-15) file is not right,
+it triggers a test failure, these test items are invalid
+and are skipped directly.
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Zqiang <qiang.zhang@windriver.com>
+---
+ tests/testbuild-linux | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/testbuild-linux b/tests/testbuild-linux
+index 1181ea0..5f148eb 100755
+--- a/tests/testbuild-linux
++++ b/tests/testbuild-linux
+@@ -3,7 +3,7 @@
+ dir=tests/linux
+ 
+ result=true
+-for test in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do
++for test in 1 2 3 4 5 6 7 8 9 10 11 16 17 18; do
+ 	if [ -e $dir/testcase.$test ]; then
+ 		args="$(cat $dir/testcase.$test | sed -n 's/^# RUN: //p')"
+ 	else
+-- 
+2.17.1
+
diff --git a/poky/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch b/poky/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch
index d7600cf..ea88a90 100644
--- a/poky/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch
+++ b/poky/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch
@@ -3,9 +3,12 @@
 Upstream-Status: Inappropriate [oe-core specific]
 
 Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ tests/testbuild-linux | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
 
 diff --git a/tests/testbuild-linux b/tests/testbuild-linux
-index 1181ea0..d5c1814 100755
+index 5f148eb..d9b1698 100755
 --- a/tests/testbuild-linux
 +++ b/tests/testbuild-linux
 @@ -1,6 +1,7 @@
@@ -16,8 +19,8 @@
 +dir=$curdir/linux
  
  result=true
- for test in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do
-@@ -12,7 +13,7 @@ for test in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do
+ for test in 1 2 3 4 5 6 7 8 9 10 11 16 17 18; do
+@@ -12,7 +13,7 @@ for test in 1 2 3 4 5 6 7 8 9 10 11 16 17 18; do
          echo "Testcase $test: $args"
  
  	exitcode=0
@@ -26,7 +29,7 @@
                  >$dir/up-res-out.$test 2>$dir/up-res-err.$test || exitcode=$?
  
          (echo "exit code: $exitcode";
-@@ -20,7 +21,7 @@ for test in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do
+@@ -20,7 +21,7 @@ for test in 1 2 3 4 5 6 7 8 9 10 11 16 17 18; do
           echo "====stderr===="; cat $dir/up-res-err.$test) > $dir/up-res.$test
  
  	exitcode=0
@@ -35,7 +38,7 @@
                 >$dir/down-res-out.$test 2>$dir/down-res-err.$test || exitcode=$?
  
          (echo "exit code: $exitcode";
-@@ -28,9 +29,9 @@ for test in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do
+@@ -28,9 +29,9 @@ for test in 1 2 3 4 5 6 7 8 9 10 11 16 17 18; do
           echo "====stderr===="; cat $dir/down-res-err.$test) > $dir/down-res.$test
  
          if diff -ub $dir/up.$test $dir/up-res.$test && diff -ub $dir/down.$test $dir/down-res.$test; then
@@ -47,3 +50,5 @@
                  result=false
          fi
          echo "=========="
+--
+2.17.1
diff --git a/poky/meta/recipes-core/ifupdown/ifupdown_0.8.36.bb b/poky/meta/recipes-core/ifupdown/ifupdown_0.8.36.bb
index c0a90a3..0daf50a 100644
--- a/poky/meta/recipes-core/ifupdown/ifupdown_0.8.36.bb
+++ b/poky/meta/recipes-core/ifupdown/ifupdown_0.8.36.bb
@@ -13,6 +13,7 @@
            file://0001-Define-FNM_EXTMATCH-for-musl.patch \
            file://0001-Makefile-do-not-use-dpkg-for-determining-OS-type.patch \
            file://run-ptest \
+           file://0001-ifupdown-skip-wrong-test-case.patch \
            ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://tweak-ptest-script.patch', '', d)} \
            "
 SRCREV = "c73226073e2b13970ca613b20a13b9c0253bf9da"
diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index 32f8d16..1176311 100644
--- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -24,7 +24,7 @@
 
 inherit core-image setuptools3
 
-SRCREV ?= "b44849c32c87fbb8c5a465ecc29a6182e6781d78"
+SRCREV ?= "75f491e5e20bd0aade764ea5bd15f547fafb7684"
 SRC_URI = "git://git.yoctoproject.org/poky \
            file://Yocto_Build_Appliance.vmx \
            file://Yocto_Build_Appliance.vmxf \
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.22.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.23.bb
similarity index 100%
rename from poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.22.bb
rename to poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.23.bb
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt.inc b/poky/meta/recipes-core/libxcrypt/libxcrypt.inc
index e4505a6..79a2aa4 100644
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt.inc
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt.inc
@@ -10,7 +10,7 @@
 inherit autotools pkgconfig
 
 SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}"
-SRCREV = "3df9620d08db207367c0c5152148665b5ce422e1"
+SRCREV = "5dcc36aeeb053654659e898fd3de7f365c1c4df5"
 SRCBRANCH ?= "develop"
 
 SRC_URI += "file://fix_cflags_handling.patch"
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.22.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.23.bb
similarity index 100%
rename from poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.22.bb
rename to poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.23.bb
diff --git a/poky/meta/recipes-core/libxml/libxml2_2.9.12.bb b/poky/meta/recipes-core/libxml/libxml2_2.9.12.bb
index 955d934..2d1e929 100644
--- a/poky/meta/recipes-core/libxml/libxml2_2.9.12.bb
+++ b/poky/meta/recipes-core/libxml/libxml2_2.9.12.bb
@@ -67,7 +67,7 @@
 PACKAGES += "${PN}-python"
 
 FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
-FILES_${PN}-dev += "${libdir}/xml2Conf.sh ${libdir}/cmake/*"
+FILES_${PN}-dev += "${libdir}/xml2Conf.sh"
 FILES_${PN}-utils = "${bindir}/*"
 FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
 
diff --git a/poky/meta/recipes-core/meta/buildtools-tarball.bb b/poky/meta/recipes-core/meta/buildtools-tarball.bb
index 9da81d5..b5dae17 100644
--- a/poky/meta/recipes-core/meta/buildtools-tarball.bb
+++ b/poky/meta/recipes-core/meta/buildtools-tarball.bb
@@ -29,6 +29,8 @@
     nativesdk-rpcsvc-proto \
     nativesdk-patch \
     nativesdk-mtools \
+    nativesdk-zstd \
+    nativesdk-lz4 \
     "
 
 MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}"
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-test-seccomp-Check-for-__NR_ppoll-before-use.patch b/poky/meta/recipes-core/systemd/systemd/0001-test-seccomp-Check-for-__NR_ppoll-before-use.patch
new file mode 100644
index 0000000..0ba5fa2
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-test-seccomp-Check-for-__NR_ppoll-before-use.patch
@@ -0,0 +1,39 @@
+From 027ac2ad0695bb506460f9dd7e57149b71055887 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Jun 2021 23:21:01 -0700
+Subject: [PATCH] test-seccomp: Check for __NR_ppoll before use
+
+some newer architectures like riscv32 do not have __NR_ppoll from get go
+
+Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/19858]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/test/test-seccomp.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/test/test-seccomp.c b/src/test/test-seccomp.c
+index b1f917eb54..daac0fcea8 100644
+--- a/src/test/test-seccomp.c
++++ b/src/test/test-seccomp.c
+@@ -832,7 +832,7 @@ static void test_load_syscall_filter_set_raw(void) {
+                 assert_se(s = hashmap_new(NULL));
+ #if defined __NR_poll && __NR_poll >= 0
+                 assert_se(hashmap_put(s, UINT32_TO_PTR(__NR_poll + 1), INT_TO_PTR(-1)) >= 0);
+-#else
++#elif defined __NR_ppoll
+                 assert_se(hashmap_put(s, UINT32_TO_PTR(__NR_ppoll + 1), INT_TO_PTR(-1)) >= 0);
+ #endif
+ 
+@@ -849,7 +849,8 @@ static void test_load_syscall_filter_set_raw(void) {
+                 assert_se(s = hashmap_new(NULL));
+ #if defined __NR_poll && __NR_poll >= 0
+                 assert_se(hashmap_put(s, UINT32_TO_PTR(__NR_poll + 1), INT_TO_PTR(EILSEQ)) >= 0);
+-#else
++#elif defined __NR_ppoll
++                assert_se(hashmap_put(s, UINT32_TO_PTR(__NR_ppoll + 1), INT_TO_PTR(-1)) >= 0);
+                 assert_se(hashmap_put(s, UINT32_TO_PTR(__NR_ppoll + 1), INT_TO_PTR(EILSEQ)) >= 0);
+ #endif
+ 
+-- 
+2.32.0
+
diff --git a/poky/meta/recipes-core/systemd/systemd_248.3.bb b/poky/meta/recipes-core/systemd/systemd_248.3.bb
index 3760770..f5022a9 100644
--- a/poky/meta/recipes-core/systemd/systemd_248.3.bb
+++ b/poky/meta/recipes-core/systemd/systemd_248.3.bb
@@ -26,6 +26,7 @@
            file://0003-implment-systemd-sysv-install-for-OE.patch \
            file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \
            file://0001-test-parse-argument-Include-signal.h.patch \
+           file://0001-test-seccomp-Check-for-__NR_ppoll-before-use.patch \
            "
 
 # patches needed by musl
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 75632d9..da71667 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"
-SRCREV = "4b150b25b38de688d25cde2b2d22c268ed65a748"
+SRCREV = "8636cf478d426b568c1be11dbd9346f67e03adac"
 
 UPSTREAM_CHECK_COMMITS = "1"
 
diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc
index 9d7d8a2..0648366 100644
--- a/poky/meta/recipes-core/util-linux/util-linux.inc
+++ b/poky/meta/recipes-core/util-linux/util-linux.inc
@@ -36,5 +36,12 @@
            file://display_testname_for_subtest.patch \
            file://avoid_parallel_tests.patch \
            file://8a3a74160b96498d672e3652827aa7e6d7f3a120.patch \
+           file://tests-kill.patch \
+           file://tests-blkdiscard.patch \
+           file://tests-ul.patch \
+           file://tests-eject.patch \
+           file://tests-lscpu.patch \
+           file://0001-login-fix-close_range-use.patch \
            "
+
 SRC_URI[sha256sum] = "bd07b7e98839e0359842110525a3032fdb8eaf3a90bedde3dd1652d32d15cce5"
diff --git a/poky/meta/recipes-core/util-linux/util-linux/0001-login-fix-close_range-use.patch b/poky/meta/recipes-core/util-linux/util-linux/0001-login-fix-close_range-use.patch
new file mode 100644
index 0000000..7a47597
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/0001-login-fix-close_range-use.patch
@@ -0,0 +1,62 @@
+From 76ae0badd3fd7c8653fa4d3c78d2dcfcec51d23d Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Wed, 14 Jul 2021 17:25:57 +0200
+Subject: [PATCH] login: fix close_range() use
+
+This new syscall comes with three arguments (see kernel commit
+278a5fbaed89dacd04e9d052f4594ffd0e0585de). Not sure why util-linux
+assume only two.
+
+Upstream-Status: Backport [https://github.com/karelzak/util-linux/commit/b8d99a618baffb4fc03cda4c40e29778b6d77ad4]
+Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1981729
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ include/fileutils.h | 4 ++--
+ lib/fileutils.c     | 2 +-
+ login-utils/login.c | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/include/fileutils.h b/include/fileutils.h
+index ad54b95..f86426b 100644
+--- a/include/fileutils.h
++++ b/include/fileutils.h
+@@ -82,9 +82,9 @@ static inline struct dirent *xreaddir(DIR *dp)
+ # if defined(SYS_close_range)
+ #  include <sys/types.h>
+ #  ifndef HAVE_CLOSE_RANGE
+-static inline int close_range(unsigned int first, unsigned int last)
++static inline int close_range(unsigned int first, unsigned int last, int flags)
+ {
+-	return syscall(SYS_close_range, first, last);
++	return syscall(SYS_close_range, first, last, flags);
+ }
+ #  endif
+ #  define HAVE_CLOSE_RANGE 1
+diff --git a/lib/fileutils.c b/lib/fileutils.c
+index 846b718..a979b03 100644
+--- a/lib/fileutils.c
++++ b/lib/fileutils.c
+@@ -189,7 +189,7 @@ int main(int argc, char *argv[])
+ 		ignore_result( dup(STDIN_FILENO) );
+
+ # ifdef HAVE_CLOSE_RANGE
+-		close_range(STDERR_FILENO + 1, ~0U);
++		close_range(STDERR_FILENO + 1, ~0U, 0);
+ # else
+ 		ul_close_all_fds(STDERR_FILENO + 1, ~0U);
+ # endif
+diff --git a/login-utils/login.c b/login-utils/login.c
+index 7fefd05..94a042d 100644
+--- a/login-utils/login.c
++++ b/login-utils/login.c
+@@ -1358,7 +1358,7 @@ static void initialize(int argc, char **argv, struct login_context *cxt)
+ #endif
+ 	}
+ #ifdef HAVE_CLOSE_RANGE
+-	close_range(STDERR_FILENO + 1, ~0U);
++	close_range(STDERR_FILENO + 1, ~0U, 0);
+ #else
+ 	ul_close_all_fds(STDERR_FILENO + 1, ~0U);
+ #endif
+--
+2.32.0
diff --git a/poky/meta/recipes-core/util-linux/util-linux/run-ptest b/poky/meta/recipes-core/util-linux/util-linux/run-ptest
index e135ee5..3a910be 100644
--- a/poky/meta/recipes-core/util-linux/util-linux/run-ptest
+++ b/poky/meta/recipes-core/util-linux/util-linux/run-ptest
@@ -13,31 +13,12 @@
 export bindir=$(dirname $current_path)
 export PATH=$bindir/bin:$PATH
 
-cd tests || exit 1                                                          
-
-comps=$(find ts/ -type f -perm -111 -regex ".*/[^\.~]*" |  sort)
-
-
-echo
-echo "-------------------- util-linux regression tests --------------------"
-echo
-echo "                    For development purpose only.                    "
-echo "                 Don't execute on production system!                 "
-echo
-
-res=0
-count=0
-for ts in $comps; 
-do 
-   $ts | sed -u '{        
+./tests/run.sh --use-system-commands --parsable --show-diff | sed -u '{
       s/^\(.*\):\(.*\) \.\.\. OK$/PASS: \1:\2/                              
       s/^\(.*\):\(.*\) \.\.\. FAILED \(.*\)$/FAIL: \1:\2 \3/                
       s/^\(.*\):\(.*\) \.\.\. SKIPPED \(.*\)$/SKIP: \1:\2 \3/               
-   }' 
-done
-
+   }'
 
 if [ "x$UDEV_PID" != "x" ]; then
     /etc/init.d/udev start
 fi
-
diff --git a/poky/meta/recipes-core/util-linux/util-linux/tests-blkdiscard.patch b/poky/meta/recipes-core/util-linux/util-linux/tests-blkdiscard.patch
new file mode 100644
index 0000000..34b07a4
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/tests-blkdiscard.patch
@@ -0,0 +1,31 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 45fe65d934df2c938701f1c3cd3e0a6f3bdf25e6 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 29 Jun 2021 18:10:40 +0100
+Subject: [PATCH] tests/blkdiscard: check correct log file for errors
+
+When checking if the discard ioctl is supported, look in stderr not stdout.
+
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ tests/ts/blkdiscard/offsets | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/ts/blkdiscard/offsets b/tests/ts/blkdiscard/offsets
+index 9dddc35e2..5e724d51b 100755
+--- a/tests/ts/blkdiscard/offsets
++++ b/tests/ts/blkdiscard/offsets
+@@ -48,7 +48,7 @@ ts_log "testing offsets with full block size"
+ run_tscmd $TS_CMD_BLKDISCARD -v $DEVICE
+ if [ "$?" != "0" ]; then
+ 	# Skip the rest? For example loop backing files on NFS seem unsupported.
+-	grep -q "BLKDISCARD ioctl failed: Operation not supported" "$TS_OUTPUT" \
++	grep -q "BLKDISCARD ioctl failed: Operation not supported" "$TS_ERRLOG" \
+ 		&& ts_skip "BLKDISCARD not supported"
+ fi
+ run_tscmd $TS_CMD_BLKDISCARD -v -o 1 $DEVICE
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux/tests-eject.patch b/poky/meta/recipes-core/util-linux/util-linux/tests-eject.patch
new file mode 100644
index 0000000..51e914d
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/tests-eject.patch
@@ -0,0 +1,56 @@
+Upstream-Status: Submitted [https://github.com/karelzak/util-linux/pull/1375]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From dd956268ba89fc1caf83c45c3c495f34d261e0e2 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Thu, 1 Jul 2021 20:44:31 +0100
+Subject: [PATCH] test/eject: guard asan LD_PRELOAD with use-system-commands
+ check
+
+This test tries to add asan to LD_PRELOAD because the just-built eject
+will call the host /bin/umount, and apparently asan doesn't like this.
+
+However, if ldd isn't present, this fails as the path to asan is the
+error message saying that ldd isn't present.
+
+As the asan workaround is only needed when executing the binaries that
+have just been built and not the system binaries, only use it if the
+test is on the built binaries.
+
+Closes #1373.
+
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ tests/ts/eject/umount | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/tests/ts/eject/umount b/tests/ts/eject/umount
+index a829d46c0..2be281ee3 100755
+--- a/tests/ts/eject/umount
++++ b/tests/ts/eject/umount
+@@ -60,13 +60,15 @@ function deinit_device {
+ 	ts_scsi_debug_rmmod
+ }
+ 
+-# As the eject binary execl()s an uninstrumented /bin/umount binary, we need
+-# to explicitly $LD_PRELOAD the ASan's runtime DSO, otherwise ASan will complain.
+-# Since all three utilities used by this test (eject, fdisk, mount) are just
+-# libtool wrappers, let's check the kill binary instead, which should have
+-# the needed DSO information.
+-ASAN_RT_PATH="$(ts_get_asan_rt_path "$TS_CMD_KILL")"
+-[ -n "$ASAN_RT_PATH" ] && export LD_PRELOAD="$ASAN_RT_PATH:$LD_PRELOAD"
++if [ "$TS_USE_SYSTEM_COMMANDS" != "yes" ]; then
++	# As the eject binary execl()s an uninstrumented /bin/umount binary, we need
++	# to explicitly $LD_PRELOAD the ASan's runtime DSO, otherwise ASan will complain.
++	# Since all three utilities used by this test (eject, fdisk, mount) are just
++	# libtool wrappers, let's check the kill binary instead, which should have
++	# the needed DSO information.
++	ASAN_RT_PATH="$(ts_get_asan_rt_path "$TS_CMD_KILL")"
++	[ -n "$ASAN_RT_PATH" ] && export LD_PRELOAD="$ASAN_RT_PATH:$LD_PRELOAD"
++fi
+ 
+ ts_init_subtest "by-disk"
+ init_device
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux/tests-kill.patch b/poky/meta/recipes-core/util-linux/util-linux/tests-kill.patch
new file mode 100644
index 0000000..fa49fd4
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/tests-kill.patch
@@ -0,0 +1,88 @@
+Don't hardcode the use of /bin/kill, as this could be kill.procps.  Instead ask
+the shell what kill binary to use, which will be the symlink in
+/usr/lib/util-linux/ptest/bin/.
+
+Upstream-Status: Backport [https://github.com/karelzak/util-linux/pull/1367]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From e3f8a88cf688dffacb5f6033a8d24e2db40f75f6 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 29 Jun 2021 16:34:20 +0100
+Subject: [PATCH] Don't hardcode /bin
+
+---
+ tests/ts/kill/all_processes  | 2 +-
+ tests/ts/kill/name_to_number | 2 +-
+ tests/ts/kill/options        | 2 +-
+ tests/ts/kill/print_pid      | 2 +-
+ tests/ts/kill/queue          | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/tests/ts/kill/all_processes b/tests/ts/kill/all_processes
+index 0b137574d..b2280777f 100755
+--- a/tests/ts/kill/all_processes
++++ b/tests/ts/kill/all_processes
+@@ -22,7 +22,7 @@ ts_skip_nonroot
+ 
+ # make sure we do not use shell built-in command
+ if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
+-	TS_CMD_KILL="/bin/kill"
++	TS_CMD_KILL="$(which kill)"
+ fi
+ 
+ ts_check_test_command "$TS_CMD_KILL"
+diff --git a/tests/ts/kill/name_to_number b/tests/ts/kill/name_to_number
+index 9f4881cb7..8a7f4bef0 100755
+--- a/tests/ts/kill/name_to_number
++++ b/tests/ts/kill/name_to_number
+@@ -20,7 +20,7 @@ ts_init "$*"
+ 
+ # make sure we do not use shell built-in command
+ if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
+-	TS_CMD_KILL="/bin/kill"
++	TS_CMD_KILL="$(which kill)"
+ fi
+ 
+ ts_check_test_command "$TS_CMD_KILL"
+diff --git a/tests/ts/kill/options b/tests/ts/kill/options
+index 2788c70a2..10653a543 100755
+--- a/tests/ts/kill/options
++++ b/tests/ts/kill/options
+@@ -20,7 +20,7 @@ ts_init "$*"
+ 
+ # make sure we do not use shell built-in command
+ if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
+-	TS_CMD_KILL="/bin/kill"
++	TS_CMD_KILL="$(which kill)"
+ fi
+ 
+ ts_check_test_command "$TS_CMD_KILL"
+diff --git a/tests/ts/kill/print_pid b/tests/ts/kill/print_pid
+index 6926a3714..6e2db3711 100755
+--- a/tests/ts/kill/print_pid
++++ b/tests/ts/kill/print_pid
+@@ -20,7 +20,7 @@ ts_init "$*"
+ 
+ # make sure we do not use shell built-in command
+ if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
+-	TS_CMD_KILL="/bin/kill"
++	TS_CMD_KILL="$(which kill)"
+ fi
+ 
+ ts_check_test_command "$TS_CMD_KILL"
+diff --git a/tests/ts/kill/queue b/tests/ts/kill/queue
+index 18f10e8c2..6c9e9efc9 100755
+--- a/tests/ts/kill/queue
++++ b/tests/ts/kill/queue
+@@ -20,7 +20,7 @@ ts_init "$*"
+ 
+ # make sure we do not use shell built-in command
+ if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
+-	TS_CMD_KILL="/bin/kill"
++	TS_CMD_KILL="$(which kill)"
+ fi
+ 
+ ts_check_test_command "$TS_CMD_KILL"
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux/tests-lscpu.patch b/poky/meta/recipes-core/util-linux/util-linux/tests-lscpu.patch
new file mode 100644
index 0000000..36a19bd
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/tests-lscpu.patch
@@ -0,0 +1,42 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From c2ca2837a27a3f1344904037ea691bfdbb288f02 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Fri, 2 Jul 2021 13:12:13 +0200
+Subject: [PATCH] lscpu: don't use DMI if executed with --sysroot
+
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ sys-utils/lscpu-arm.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/sys-utils/lscpu-arm.c b/sys-utils/lscpu-arm.c
+index d52765f9d..c7128094c 100644
+--- a/sys-utils/lscpu-arm.c
++++ b/sys-utils/lscpu-arm.c
+@@ -322,7 +322,8 @@ static void arm_decode(struct lscpu_cxt *cxt, struct lscpu_cputype *ct)
+ 
+ 	arm_ids_decode(ct);
+ 	arm_rXpY_decode(ct);
+-	if (cxt->is_cluster)
++
++	if (!cxt->noalive && cxt->is_cluster)
+ 		ct->nr_socket_on_cluster = get_number_of_physical_sockets_from_dmi();
+ }
+ 
+@@ -330,8 +331,9 @@ static int is_cluster_arm(struct lscpu_cxt *cxt)
+ {
+ 	struct stat st;
+ 
+-	if (!(strcmp(cxt->arch->name, "aarch64")) &&
+-	     (stat(_PATH_ACPI_PPTT, &st) < 0) && (cxt->ncputypes == 1))
++	if (!cxt->noalive
++	    && strcmp(cxt->arch->name, "aarch64") == 0
++	    && stat(_PATH_ACPI_PPTT, &st) < 0 && cxt->ncputypes == 1)
+ 		return 1;
+ 	else
+ 		return 0;
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux/tests-ul.patch b/poky/meta/recipes-core/util-linux/util-linux/tests-ul.patch
new file mode 100644
index 0000000..6896393
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/tests-ul.patch
@@ -0,0 +1,35 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From b1c71f19ea404e74d36ca5b8fbb0484043cdaef3 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Wed, 30 Jun 2021 11:25:01 +0100
+Subject: [PATCH] tests: mark ul/ul as a known failure
+
+As with ul/basic, this test produces different output when ran under
+different terminals, which isn't very useful.
+
+Set TS_KNOWN_FAIL so that these problems don't cause the test to fail.
+
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ tests/ts/ul/ul | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tests/ts/ul/ul b/tests/ts/ul/ul
+index b856e33db..c707658ac 100755
+--- a/tests/ts/ul/ul
++++ b/tests/ts/ul/ul
+@@ -20,6 +20,9 @@ ts_init "$*"
+ 
+ ts_check_test_command "$TS_CMD_UL"
+ 
++# This test provides different result on some terminals and virtual machines
++TS_KNOWN_FAIL="yes"
++
+ printf "a\x08ab\x5F\x08c\\n\\ttab\\f\\b\\r" |
+ 	$TS_CMD_UL -t xterm >> $TS_OUTPUT 2>> $TS_ERRLOG
+ 
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.37.bb b/poky/meta/recipes-core/util-linux/util-linux_2.37.bb
index 9a50c75..2548b72 100644
--- a/poky/meta/recipes-core/util-linux/util-linux_2.37.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.37.bb
@@ -71,7 +71,7 @@
     --enable-mount --enable-partx --enable-raw --enable-rfkill \
     --enable-unshare --enable-write \
     \
-    --disable-bfs --disable-chfn-chsh --disable-login \
+    --disable-bfs --disable-login \
     --disable-makeinstall-chown --disable-minix --disable-newgrp \
     --disable-use-tty-group --disable-vipw \
     \
@@ -91,7 +91,7 @@
 # build host versions during development
 #
 PACKAGECONFIG ?= "pcre2"
-PACKAGECONFIG_class-target ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
+PACKAGECONFIG_class-target ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'chfn-chsh pam', '', d)}"
 PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam,"
 # Respect the systemd feature for uuidd
 PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-systemd --without-systemdsystemunitdir,systemd"
@@ -102,6 +102,7 @@
 # PCRE support in hardlink
 PACKAGECONFIG[pcre2] = ",,libpcre2"
 PACKAGECONFIG[cryptsetup] = "--with-cryptsetup,--without-cryptsetup,cryptsetup"
+PACKAGECONFIG[chfn-chsh] = "--enable-chfn-chsh,--disable-chfn-chsh,"
 
 EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'"
 
@@ -132,8 +133,8 @@
 RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev"
 
 RDEPENDS_${PN}-bash-completion += "${PN}-lsblk"
-RDEPENDS_${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs grep iproute2 kmod mdadm procps sed socat which xz"
-RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug"
+RDEPENDS_${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs findutils grep iproute2 kmod mdadm procps sed socat which xz"
+RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug kernel-module-sd-mod kernel-module-loop"
 RDEPENDS_${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff"
 ALLOW_EMPTY_${PN}-swaponoff = "1"
 
@@ -209,6 +210,8 @@
 ALTERNATIVE_LINK_NAME[blkid] = "${base_sbindir}/blkid"
 ALTERNATIVE_LINK_NAME[blockdev] = "${base_sbindir}/blockdev"
 ALTERNATIVE_LINK_NAME[cal] = "${bindir}/cal"
+ALTERNATIVE_LINK_NAME[chfn] = "${bindir}/chfn"
+ALTERNATIVE_LINK_NAME[chsh] = "${bindir}/chsh"
 ALTERNATIVE_LINK_NAME[chrt] = "${bindir}/chrt"
 ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg"
 ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject"
@@ -278,25 +281,10 @@
     cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/
     cp ${WORKDIR}/build/config.h ${D}${PTEST_PATH}
 
-    # The original paths of executables to be tested point to a local folder containing
-    # the executables. We want to test the installed executables, not the local copies.
-    # So strip the paths, the executables will be located via "which"
-    sed  -i \
-         -e '/^TS_CMD/ s|$top_builddir/||g' \
-         -e '/^TS_HELPER/ s|$top_builddir|${PTEST_PATH}|g' \
-         ${D}${PTEST_PATH}/tests/commands.sh
+    sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest
 
-    # Change 'if [ ! -x "$1" ]' to 'if [ ! -x "`which $1 2>/dev/null`"]'
-    sed -i -e \
-        '/^\tif[[:space:]]\[[[:space:]]![[:space:]]-x[[:space:]]"$1"/s|$1|`which $1 2>/dev/null`|g' \
-         ${D}${PTEST_PATH}/tests/functions.sh
-
-    # Running "kill" without the the complete path would use the shell's built-in kill
-    sed -i -e \
-         '/^TS_CMD_KILL/ s|kill|${PTEST_PATH}/bin/kill|g' \
-         ${D}${PTEST_PATH}/tests/commands.sh
-
-
-    sed -i 's|@base_sbindir@|${base_sbindir}|g'       ${D}${PTEST_PATH}/run-ptest
-
+    # chfn needs PAM
+    if ! ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'true', 'false', d)}; then
+        rm -rf ${D}${PTEST_PATH}/tests/ts/chfn
+    fi
 }
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-fix-error-for-undeclared-macro-on-musl.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-fix-error-for-undeclared-macro-on-musl.patch
new file mode 100644
index 0000000..251f5d2
--- /dev/null
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-fix-error-for-undeclared-macro-on-musl.patch
@@ -0,0 +1,28 @@
+From a9802902d37b83c2c992cfe34179312f7209a962 Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@fujitsu.com>
+Date: Mon, 19 Jul 2021 10:12:12 +0900
+Subject: [PATCH] fix error for undeclared macro on musl 
+
+Fixes the following compilation errors with musl that does not have
+NAME_MAX declared:
+'NAME_MAX' undeclared (first use in this function)
+
+Upstream-Status: Pending
+
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+---
+ cmds/filesystem-usage.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/cmds/filesystem-usage.c b/cmds/filesystem-usage.c
+index 50d8995e..856e9d7b 100644
+--- a/cmds/filesystem-usage.c
++++ b/cmds/filesystem-usage.c
+@@ -24,6 +24,7 @@
+ #include <stdarg.h>
+ #include <getopt.h>
+ #include <fcntl.h>
++#include <limits.h>
+ 
+ #include "common/utils.h"
+ #include "kerncompat.h"
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.bb
similarity index 95%
rename from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb
rename to poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.bb
index d0c9cf2..fa33cad 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.bb
@@ -19,8 +19,9 @@
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
            file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
            file://0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch \
+           file://0001-fix-error-for-undeclared-macro-on-musl.patch \
            "
-SRCREV = "96d77fcefdd3b9fd297b5aabbce6dc43e2315ee2"
+SRCREV = "de4914dbfd7e419d1c534b3d2ec8728e702114bf"
 S = "${WORKDIR}/git"
 
 PACKAGECONFIG ??= " \
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.20.3.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.20.5.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cmake/cmake-native_3.20.3.bb
rename to poky/meta/recipes-devtools/cmake/cmake-native_3.20.5.bb
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index 0987c01..c557a55 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -21,7 +21,7 @@
            file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \
 "
 
-SRC_URI[sha256sum] = "4d008ac3461e271fcfac26a05936f77fc7ab64402156fb371d41284851a651b8"
+SRC_URI[sha256sum] = "12c8040ef5c6f1bc5b8868cede16bb7926c18980f59779e299ab52cbc6f15bb0"
 
 UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.20.3.bb b/poky/meta/recipes-devtools/cmake/cmake_3.20.5.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cmake/cmake_3.20.3.bb
rename to poky/meta/recipes-devtools/cmake/cmake_3.20.5.bb
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.3.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.4.bb
similarity index 96%
rename from poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.3.bb
rename to poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.4.bb
index 481c4bf..206c27c 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.3.bb
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.4.bb
@@ -8,7 +8,7 @@
            file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
            "
 
-SRCREV = "8196982f0974c268898a5550d61b374bd58103e2"
+SRCREV = "cb74969736bdea86465e85feeceb895ff7a42610"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb b/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.3.bb
similarity index 77%
rename from poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb
rename to poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.3.bb
index ce242c3..ce35b80 100644
--- a/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb
+++ b/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.3.bb
@@ -13,7 +13,6 @@
 
 SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
 
-SRC_URI[md5sum] = "e1b07516533f351b3aba3423fafeffd6"
-SRC_URI[sha256sum] = "0d0671e1b45189c5fc8ade4b3b01635fb9eeab45cf54f57db23e4c4c1a17d261"
+SRC_URI[sha256sum] = "87daefacd7958b4a69f88c6856dbd1634261963c414079d0c371f589cd66a2e3"
 
 BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-rpm-miscutils.py-fix-usage-of-_.patch b/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-rpm-miscutils.py-fix-usage-of-_.patch
deleted file mode 100644
index 99afe09..0000000
--- a/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-rpm-miscutils.py-fix-usage-of-_.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 2729c00f0060beab8537a9bebc796b170949093d Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 4 May 2021 22:03:30 +0200
-Subject: [PATCH 1/2] dnf/rpm/miscutils.py: fix usage of _()
-
-Specifically:
-- an import of _ was missing
-- _ was reused for a different purpose
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/dnf/pull/1762]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- dnf/rpm/miscutils.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/dnf/rpm/miscutils.py b/dnf/rpm/miscutils.py
-index 235aaf28f..7e33d4c42 100644
---- a/dnf/rpm/miscutils.py
-+++ b/dnf/rpm/miscutils.py
-@@ -22,6 +22,7 @@ import subprocess
- import logging
- 
- from dnf.i18n import ucd
-+from dnf.i18n import _
- from shutil import which
- 
- 
-@@ -46,7 +47,7 @@ def _verifyPkgUsingRpmkeys(package, installroot):
-             env={'LC_ALL': 'C'},
-             stdout=subprocess.PIPE,
-             cwd='/') as p:
--        data, _ = p.communicate()
-+        data, err = p.communicate()
-     if p.returncode != 0 or data != (package.encode('ascii', 'strict') + b': digests signatures OK\n'):
-         return 0
-     else:
--- 
-2.31.1
-
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0002-dnf-rpm-miscutils.py-do-not-hardcode-usr-bin-rpmkeys.patch b/poky/meta/recipes-devtools/dnf/dnf/0002-dnf-rpm-miscutils.py-do-not-hardcode-usr-bin-rpmkeys.patch
deleted file mode 100644
index b4c9e07..0000000
--- a/poky/meta/recipes-devtools/dnf/dnf/0002-dnf-rpm-miscutils.py-do-not-hardcode-usr-bin-rpmkeys.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From dc14022a99dc017c52c484efb32729729baf854c Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 4 May 2021 22:07:32 +0200
-Subject: [PATCH 2/2] dnf/rpm/miscutils.py: do not hardcode /usr/bin/rpmkeys
-
-Some build systems (e.g. Yocto) place a specially configured
-rpmkeys executable elsewhere and set up PATH accordingly;
-it's better to always take it from there.
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/dnf/pull/1763]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- dnf/rpm/miscutils.py | 8 +++-----
- 1 file changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/dnf/rpm/miscutils.py b/dnf/rpm/miscutils.py
-index 7e33d4c42..fcd956db9 100644
---- a/dnf/rpm/miscutils.py
-+++ b/dnf/rpm/miscutils.py
-@@ -30,11 +30,9 @@ logger = logging.getLogger('dnf')
- 
- 
- def _verifyPkgUsingRpmkeys(package, installroot):
--    rpmkeys_binary = '/usr/bin/rpmkeys'
--    if not os.path.isfile(rpmkeys_binary):
--        rpmkeys_binary = which("rpmkeys")
--        logger.info(_('Using rpmkeys executable from {path} to verify signature for package: {package}.').format(
--            path=rpmkeys_binary, package=package))
-+    rpmkeys_binary = which("rpmkeys")
-+    logger.info(_('Using rpmkeys executable from {path} to verify signature for package: {package}.').format(
-+        path=rpmkeys_binary, package=package))
- 
-     if not os.path.isfile(rpmkeys_binary):
-         logger.critical(_('Cannot find rpmkeys executable to verify signatures.'))
--- 
-2.31.1
-
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 0ed9afc..5cffc9d 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,4 +1,4 @@
-From 6be13143a54c79085d400d5bd4c7a6e1cb6ffaf5 Mon Sep 17 00:00:00 2001
+From ceb1043c4f3de095e36908232320b74a4128a94e 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
@@ -11,15 +11,15 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 38cf4fbf..6c5debd8 100644
+index 9e2e9e9e..2056089d 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -19,7 +19,7 @@ ELSE ()
      MESSAGE (FATAL_ERROR "Invalid PYTHON_DESIRED value: " ${PYTHON_DESIRED})
  ENDIF()
  
--EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib())" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
-+#EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib())" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
+-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from sysconfig import get_path; stdout.write(get_path('purelib'))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
++#EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from sysconfig import get_path; stdout.write(get_path('purelib'))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
  MESSAGE(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}")
  
  ADD_SUBDIRECTORY (dnf)
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.7.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.8.0.bb
similarity index 94%
rename from poky/meta/recipes-devtools/dnf/dnf_4.7.0.bb
rename to poky/meta/recipes-devtools/dnf/dnf_4.8.0.bb
index 7314eaf..44c4405 100644
--- a/poky/meta/recipes-devtools/dnf/dnf_4.7.0.bb
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.8.0.bb
@@ -16,11 +16,9 @@
            file://0030-Run-python-scripts-using-env.patch \
            file://0001-set-python-path-for-completion_helper.patch \
            file://0001-dnf-write-the-log-lock-to-root.patch \
-           file://0001-dnf-rpm-miscutils.py-fix-usage-of-_.patch \
-           file://0002-dnf-rpm-miscutils.py-do-not-hardcode-usr-bin-rpmkeys.patch \
            "
 
-SRCREV = "395541fbf8f87f81cdca7567f22be1182e55bea7"
+SRCREV = "e7b29753dce94769d30f92e671f55863985d24f0"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0014-arch-Add-support-for-ARCv2-CPU.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0014-arch-Add-support-for-ARCv2-CPU.patch
new file mode 100644
index 0000000..ece18a3
--- /dev/null
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0014-arch-Add-support-for-ARCv2-CPU.patch
@@ -0,0 +1,68 @@
+From c6acfba64b470c7e919fd5bd29124d7228492537 Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@debian.org>
+Date: Fri, 28 May 2021 04:07:49 +0200
+Subject: [PATCH] arch: Add support for ARCv2 CPU
+
+This is based on the ARCv2 32-bit little-endian hard-float ISA.
+
+Closes: #980963
+
+Upstream-Status: Backport [https://salsa.debian.org/dpkg-team/dpkg/-/commit/0d134cdcb0dcc6b21fa7926964c1426a5821181d]
+
+Based-on-patch-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
+Signed-off-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
+---
+ data/cputable                  | 1 +
+ scripts/Dpkg/Shlibs/Objdump.pm | 1 +
+ scripts/t/Dpkg_Arch.t          | 4 ++--
+ 3 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/data/cputable b/data/cputable
+index 9f2a8e0e4..277bed88f 100644
+--- a/data/cputable
++++ b/data/cputable
+@@ -20,6 +20,7 @@ i386		i686		(i[34567]86|pentium)	32	little
+ ia64		ia64		ia64			64	little
+ alpha		alpha		alpha.*			64	little
+ amd64		x86_64		(amd64|x86_64)		64	little
++arc		arc		arc			32	little
+ armeb		armeb		arm.*b			32	big
+ arm		arm		arm.*			32	little
+ arm64		aarch64		aarch64			64	little
+diff --git a/scripts/Dpkg/Shlibs/Objdump.pm b/scripts/Dpkg/Shlibs/Objdump.pm
+index 4cee866e7..93319d1eb 100644
+--- a/scripts/Dpkg/Shlibs/Objdump.pm
++++ b/scripts/Dpkg/Shlibs/Objdump.pm
+@@ -100,6 +100,7 @@ use constant {
+     ELF_MACH_OR1K           => 92,
+     ELF_MACH_XTENSA         => 94,
+     ELF_MACH_MICROBLAZE     => 189,
++    ELF_MACH_ARCV2          => 195,
+     ELF_MACH_AVR_OLD        => 0x1057,
+     ELF_MACH_OR1K_OLD       => 0x8472,
+     ELF_MACH_ALPHA          => 0x9026,
+diff --git a/scripts/t/Dpkg_Arch.t b/scripts/t/Dpkg_Arch.t
+index a3a9e6fee..f0bba272a 100644
+--- a/scripts/t/Dpkg_Arch.t
++++ b/scripts/t/Dpkg_Arch.t
+@@ -16,7 +16,7 @@
+ use strict;
+ use warnings;
+ 
+-use Test::More tests => 16836;
++use Test::More tests => 18407;
+ 
+ use_ok('Dpkg::Arch', qw(debarch_to_debtuple debarch_to_multiarch
+                         debarch_eq debarch_is debarch_is_wildcard
+@@ -174,7 +174,7 @@ is(gnutriplet_to_debarch(undef), undef, 'undef gnutriplet');
+ is(gnutriplet_to_debarch('unknown-unknown-unknown'), undef, 'unknown gnutriplet');
+ is(gnutriplet_to_debarch('x86_64-linux-gnu'), 'amd64', 'known gnutriplet');
+ 
+-is(scalar get_valid_arches(), 539, 'expected amount of known architectures');
++is(scalar get_valid_arches(), 554, 'expected amount of known architectures');
+ 
+ {
+     local $ENV{CC} = 'false';
+-- 
+2.16.2
+
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb
index 60ae3ff..18ca0e3 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb
+++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb
@@ -15,6 +15,7 @@
            file://pager.patch \
            file://0001-Add-support-for-riscv32-CPU.patch \
            file://0013-scripts-dpkg-fsys-usrunmess.pl-correct-shebang.patch \
+           file://0014-arch-Add-support-for-ARCv2-CPU.patch \
            "
 
 SRC_URI_append_class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch"
diff --git a/poky/meta/recipes-devtools/dwarfsrcfiles/files/dwarfsrcfiles.c b/poky/meta/recipes-devtools/dwarfsrcfiles/files/dwarfsrcfiles.c
index af7af52..9eb5ca8 100644
--- a/poky/meta/recipes-devtools/dwarfsrcfiles/files/dwarfsrcfiles.c
+++ b/poky/meta/recipes-devtools/dwarfsrcfiles/files/dwarfsrcfiles.c
@@ -9,6 +9,7 @@
 
 #include <argp.h>
 #include <stdio.h>
+#include <stdlib.h>
 
 #include <dwarf.h>
 #include <elfutils/libdw.h>
@@ -83,13 +84,15 @@
 int
 main (int argc, char **argv)
 {
-  char* args[3];
+  char* args[5];
   int res = 0;
   Dwfl *dwfl;
   Dwarf_Addr bias;
   
-  if (argc != 2)
+  if (argc != 2) {
     fprintf(stderr, "Usage %s <file>", argv[0]);
+    exit(EXIT_FAILURE);
+  }
   
   // Pretend "dwarfsrcfiles -e <file>" was given, so we can use standard
   // dwfl argp parser to open the file for us and get our Dwfl. Useful
@@ -98,8 +101,12 @@
   args[0] = argv[0];
   args[1] = "-e";
   args[2] = argv[1];
+  // We don't want to follow debug linked files due to the way OE processes
+  // files, could race against changes in the linked binary (e.g. objcopy on it)
+  args[3] = "--debuginfo-path";
+  args[4] = "/not/exist";
   
-  argp_parse (dwfl_standard_argp (), 3, args, 0, NULL, &dwfl);
+  argp_parse (dwfl_standard_argp (), 5, args, 0, NULL, &dwfl);
   
   Dwarf_Die *cu = NULL;
   while ((cu = dwfl_nextcu (dwfl, cu, &bias)) != NULL)
diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
index 8d7d6ac..4203634 100644
--- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
+++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
@@ -9,8 +9,8 @@
 
 INHIBIT_DEFAULT_DEPS = "1"
 
-SRCREV = "92fac9b5ceb9f111a04d7f8f98831570e77886c6"
-PV = "20210522+git${SRCPV}"
+SRCREV = "4550d2f15b3a7ce2451c1f29500b9339430c877f"
+PV = "20210620+git${SRCPV}"
 
 SRC_URI = "git://git.savannah.gnu.org/config.git \
            file://gnu-configize.in"
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.63.1.bb
similarity index 97%
rename from poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb
rename to poky/meta/recipes-devtools/libdnf/libdnf_0.63.1.bb
index a26ee55..6ffeb94 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.63.1.bb
@@ -15,7 +15,7 @@
            file://0001-drop-FindPythonInstDir.cmake.patch \
            "
 
-SRCREV = "669a5c691acba91693d238d6262ac99a440aa9b3"
+SRCREV = "8e451380bf84bd76e3925cbae2a06bb0e56f5cd9"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!4\.90)\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-modulemd-generate-the-manpage-only-if-the-feature-is.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-modulemd-generate-the-manpage-only-if-the-feature-is.patch
deleted file mode 100644
index d5c87a1..0000000
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-modulemd-generate-the-manpage-only-if-the-feature-is.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a04fd2c8ac9e0f7a6fc17f02b2a95227b3d0aae4 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 31 Mar 2020 16:06:39 +0200
-Subject: [PATCH] modulemd: generate the manpage only if the feature is enabled
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- modulemd/meson.build | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/modulemd/meson.build b/modulemd/meson.build
-index 9ef1902..9f71e72 100644
---- a/modulemd/meson.build
-+++ b/modulemd/meson.build
-@@ -494,6 +494,7 @@ if with_docs
-     )
- endif
- 
-+if with_manpages == 'enabled'
- help2man_opts = [
-   '--no-info',
-   '--section=1',
-@@ -506,3 +507,4 @@ custom_target(
-     ],
-     install: true,
-     install_dir: join_paths(get_option('mandir'), 'man1'))
-+endif
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
index 771b2c0..963e881 100644
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
@@ -4,25 +4,21 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=25a3927bff3ee4f5b21bcb0ed3fcd6bb"
 
-SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https;branch=main \
-           file://0001-modulemd-generate-the-manpage-only-if-the-feature-is.patch \
-           "
+SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https;branch=main"
 
-PV = "2.12.1"
-SRCREV = "c0897fa0e9d7d1305fd4813b1010c1d4cca42346"
+PV = "2.13.0"
+SRCREV = "1a032da198333ee77bdbe4be65e60eb4115ea73f"
 
 S = "${WORKDIR}/git"
 
-inherit meson gobject-introspection python3-dir
+inherit meson gobject-introspection
 
-EXTRA_OEMESON = "-Dwith_docs=false -Drpmio=disabled -Dlibmagic=disabled -Dwith_manpages=disabled -Dgobject_overrides_dir_py3=${PYTHON_SITEPACKAGES_DIR}/gi/overrides"
+EXTRA_OEMESON = "-Dwith_py3=false -Dwith_docs=false -Drpmio=disabled -Dlibmagic=disabled -Dwith_manpages=disabled -Dgobject_overrides_dir_py3=${PYTHON_SITEPACKAGES_DIR}/gi/overrides"
 
-DEPENDS += "glib-2.0 libyaml glib-2.0-native python3"
+DEPENDS += "glib-2.0 libyaml glib-2.0-native"
 
 BBCLASSEXTEND = "native nativesdk"
 
 GIR_MESON_OPTION = 'skip_introspection'
 GIR_MESON_ENABLE_FLAG = 'false'
 GIR_MESON_DISABLE_FLAG = 'true'
-
-FILES_${PN} += "${libdir}/${PYTHON_DIR}/*"
diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb
index 8a5d3dc..de79adc 100644
--- a/poky/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb
@@ -19,11 +19,9 @@
 
 PROVIDES += "llvm${PV}"
 
-MAJOR_VERSION = "12"
-MINOR_VERSION = "0"
-PATCH_VERSION = "0"
+PV = "12.0.0"
 
-PV = "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}"
+MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}"
 
 LLVM_RELEASE = "${PV}"
 LLVM_DIR = "llvm${LLVM_RELEASE}"
@@ -178,7 +176,7 @@
 FILES_${PN}-dev += " \
     ${libdir}/${LLVM_DIR}/llvm-config \
     ${libdir}/${LLVM_DIR}/libRemarks.so \
-    ${libdir}/${LLVM_DIR}/libLLVM-${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}.so \
+    ${libdir}/${LLVM_DIR}/libLLVM-${PV}.so \
 "
 
 FILES_${PN}-staticdev += "\
diff --git a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
index f187487..81d76d0 100644
--- a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
+++ b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
@@ -1,4 +1,4 @@
-From 9590860ba35cbd524cec51bdd009f0c63a7dd417 Mon Sep 17 00:00:00 2001
+From 630dbcabc408cf5d73edaa7cf64a48194976b290 Mon Sep 17 00:00:00 2001
 From: Ed Bartosh <ed.bartosh@linux.intel.com>
 Date: Tue, 13 Jun 2017 14:55:52 +0300
 Subject: [PATCH] Disabled reading host configs.
@@ -12,10 +12,10 @@
  1 file changed, 8 deletions(-)
 
 diff --git a/config.c b/config.c
-index 415755f..b61a49d 100644
+index bb13682..9186c77 100644
 --- a/config.c
 +++ b/config.c
-@@ -774,14 +774,6 @@ void read_config(void)
+@@ -836,14 +836,6 @@ void read_config(void)
  	memcpy(devices, const_devices,
  	       nr_const_devices*sizeof(struct device));
  
diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.29.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.32.bb
similarity index 93%
rename from poky/meta/recipes-devtools/mtools/mtools_4.0.29.bb
rename to poky/meta/recipes-devtools/mtools/mtools_4.0.32.bb
index 38de1dd..5018750 100644
--- a/poky/meta/recipes-devtools/mtools/mtools_4.0.29.bb
+++ b/poky/meta/recipes-devtools/mtools/mtools_4.0.32.bb
@@ -24,7 +24,7 @@
 	glibc-gconv-ibm866 \
 	glibc-gconv-ibm869 \
 	"
-SRC_URI[sha256sum] = "c6b50b4603e7afe54ba0109094669373028db9af743f5c541bca4b7664aefec7"
+SRC_URI[sha256sum] = "62498cd51ae7c79a27c879a45f0d2a8c44e1404cbb901372d09b02735ef5ad89"
 
 SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \
            file://mtools-makeinfo.patch \
diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-check-the-file-if-patched-or-not.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-check-the-file-if-patched-or-not.patch
new file mode 100644
index 0000000..fb7b287
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-check-the-file-if-patched-or-not.patch
@@ -0,0 +1,31 @@
+From 24a3e0c48f9ebe473b5f1078663e275c27d0537f Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Fri, 2 Jul 2021 09:08:21 +0000
+Subject: [PATCH] Makefile: check the file if patched or not
+
+Check the file if patched or not to avoid patched more than
+one time.
+
+Upstream-Status: Inappropriate (OE-specific)
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index f4a26f5..7bc748e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -61,7 +61,7 @@ miniperlmain$O: $(CROSSPATCHED)
+ # Original versions are not saved anymore; patch generally takes care of this,
+ # and if that fails, reaching for the source tarball is the safest option.
+ $(CROSSPATCHED): %.applied: %.patch
+-	patch -p1 -i $< && touch $@
++	test ! -f $@ && (patch -p1 -i $< && touch $@)
+ 
+ # ---[ common ]-----------------------------------------------------------------
+ 
+-- 
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb b/poky/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb
index b77bbd1..b19692b 100644
--- a/poky/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb
+++ b/poky/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb
@@ -17,6 +17,7 @@
            file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \
            file://determinism.patch \
            file://0001-cnf-configure_func_sel.sh-disable-thread_safe_nl_lan.patch \
+           file://0001-Makefile-check-the-file-if-patched-or-not.patch \
            "
 UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/"
 
diff --git a/poky/meta/recipes-devtools/perl/perl_5.34.0.bb b/poky/meta/recipes-devtools/perl/perl_5.34.0.bb
index 7935a58..434535c 100644
--- a/poky/meta/recipes-devtools/perl/perl_5.34.0.bb
+++ b/poky/meta/recipes-devtools/perl/perl_5.34.0.bb
@@ -53,6 +53,8 @@
     -Dsoname=libperl.so.5 \
     -Dvendorprefix=${prefix} \
     -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \
+    -Dlibpth='${libdir} ${base_libdir}' \
+    -Dglibpth='${libdir} ${base_libdir}' \
     ${PACKAGECONFIG_CONFARGS}
 
     #perl.c uses an ARCHLIB_EXP define to generate compile-time code that
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo.inc b/poky/meta/recipes-devtools/pseudo/pseudo.inc
index 65d6e50..e6512bc 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo.inc
+++ b/poky/meta/recipes-devtools/pseudo/pseudo.inc
@@ -112,6 +112,19 @@
 	fi
 }
 
+do_compile_append_class-native () {
+	if [ '${@bb.data.inherits_class('uninative', d)}' = 'True' ]; then
+		for i in PSEUDO_PORT_UNIX_SYNCFS PSEUDO_PORT_UIDS_GENERIC PSEUDO_PORT_LINUX_NEWCLONE PSEUDO_PORT_LINUX_XATTR PSEUDO_PORT_LINUX_STATVFS; do
+			grep $i.1 ${S}/pseudo_ports.h
+			if [ $? != 0 ]; then
+				echo "$i not enabled in pseudo which is incompatible with uninative"
+				exit 1
+			fi
+		done
+	fi
+}
+
+
 do_install () {
 	oe_runmake 'DESTDIR=${D}' ${MAKEOPTS} 'LIB=lib/pseudo/lib$(MARK64)' install
 }
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
index 4eab133..0ba460f 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -6,7 +6,7 @@
            file://fallback-group \
            "
 
-SRCREV = "ee24ebec9e5a11dd5208c9be2870f35eab3b9e20"
+SRCREV = "b988b0a6b8afd8d459bc9a2528e834f63a3d59b2"
 S = "${WORKDIR}/git"
 PV = "1.9.0+git${SRCPV}"
 
diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
index cdb6a47..9f5f25f 100644
--- a/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
+++ b/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
@@ -8,16 +8,15 @@
 Upstream-Status: Inappropriate (As the code stands, this is a hack)
 Signed-off-by: Ross Burton <ross.burton@intel.com>
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
- numpy/distutils/system_info.py | 42 ++++------------------------------
- 1 file changed, 5 insertions(+), 37 deletions(-)
+ numpy/distutils/system_info.py | 42 +++++-----------------------------
+ 1 file changed, 6 insertions(+), 36 deletions(-)
 
 diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
-index 3a6a7b2..6c2c3da 100644
+index 82e864a..135246d 100644
 --- a/numpy/distutils/system_info.py
 +++ b/numpy/distutils/system_info.py
-@@ -309,45 +309,13 @@ if sys.platform == 'win32':
+@@ -323,44 +323,14 @@ if sys.platform == 'win32':
          add_system_root(os.path.join(conda_dir, 'Library'))
  
  else:
@@ -25,7 +24,7 @@
 -                                 '/opt/local/lib', '/sw/lib'], platform_bits)
      default_runtime_dirs = []
 -    default_include_dirs = ['/usr/local/include',
--                            '/opt/include', '/usr/include',
+-                            '/opt/include',
 -                            # path of umfpack under macports
 -                            '/opt/local/include/ufsparse',
 -                            '/opt/local/include', '/sw/include',
@@ -34,8 +33,7 @@
 -
 -    default_x11_lib_dirs = libpaths(['/usr/X11R6/lib', '/usr/X11/lib',
 -                                     '/usr/lib'], platform_bits)
--    default_x11_include_dirs = ['/usr/X11R6/include', '/usr/X11/include',
--                                '/usr/include']
+-    default_x11_include_dirs = ['/usr/X11R6/include', '/usr/X11/include']
 -
 -    if os.path.exists('/usr/lib/X11'):
 -        globbed_x11_dir = glob('/usr/lib/*/libX11.so')
@@ -59,15 +57,16 @@
 -                # gcc supports the "-print-multiarch" option
 -                default_x11_lib_dirs += [os.path.join("/usr/lib/", triplet)]
 -                default_lib_dirs += [os.path.join("/usr/lib/", triplet)]
+ 
 +    default_lib_dirs = libpaths(['/deadir/lib'], platform_bits)
 +    default_include_dirs = ['/deaddir/include']
 +    default_src_dirs = ['.', '/deaddir/src']
- 
++
 +    default_x11_lib_dirs = libpaths(['/deaddir/lib'], platform_bits)
 +    default_x11_include_dirs = ['/deaddir/include']
  
  if os.path.join(sys.prefix, 'lib') not in default_lib_dirs:
      default_lib_dirs.insert(0, os.path.join(sys.prefix, 'lib'))
 -- 
-2.17.1
+2.25.1
 
diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.3.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.0.bb
similarity index 92%
rename from poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.3.bb
rename to poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.0.bb
index d160fd6..7ad2f06 100644
--- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.3.bb
+++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.0.bb
@@ -3,7 +3,7 @@
 DESCRIPTION = "NumPy is the fundamental package needed for scientific computing with Python."
 SECTION = "devel/python"
 LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=aa1ecaef18152f75bfae546b29c49d3c"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b076ad374a7d311ba3126a22b2d52596"
 
 SRCNAME = "numpy"
 
@@ -12,7 +12,7 @@
            file://0001-numpy-core-Define-RISCV-32-support.patch \
            file://run-ptest \
 "
-SRC_URI[sha256sum] = "b7340f0628ce1823c151e3d2a2a8cba2a3ff1357fba4475a24b1816e75c21f90"
+SRC_URI[sha256sum] = "b662c841b29848c04d9134f31dbaa7d4c8e673f45bb3a5f28d02f49c424d558a"
 
 UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.17.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.18.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-git_3.1.17.bb
rename to poky/meta/recipes-devtools/python/python3-git_3.1.18.bb
index 009cac6..955418c 100644
--- a/poky/meta/recipes-devtools/python/python3-git_3.1.17.bb
+++ b/poky/meta/recipes-devtools/python/python3-git_3.1.18.bb
@@ -12,7 +12,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "ee24bdc93dce357630764db659edaf6b8d664d4ff5447ccfeedd2dc5c253f41e"
+SRC_URI[sha256sum] = "b838a895977b45ab6f0cc926a9045c8d1c44e2b653c1fcc39fe91f42c6e8f05b"
 
 DEPENDS += " ${PYTHON_PN}-gitdb"
 
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.14.0.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.14.3.bb
similarity index 85%
rename from poky/meta/recipes-devtools/python/python3-hypothesis_6.14.0.bb
rename to poky/meta/recipes-devtools/python/python3-hypothesis_6.14.3.bb
index 89071b2..83c9917 100644
--- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.14.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.14.3.bb
@@ -7,7 +7,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "9bdee01ae260329b16117e9b0229a839b4a77747a985922653f595bd2a6a541a"
+SRC_URI[sha256sum] = "1c8776d9fc8c598cf1b93b99bd87976f9d9b589fc58843d85a30090700f14a8a"
 
 RDEPENDS_${PN} += " \
     python3-attrs \
diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.5.0.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.6.1.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-importlib-metadata_4.5.0.bb
rename to poky/meta/recipes-devtools/python/python3-importlib-metadata_4.6.1.bb
index 7c15678..7e9604a 100644
--- a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.5.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.6.1.bb
@@ -8,7 +8,7 @@
 PYPI_PACKAGE = "importlib_metadata"
 UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P<pver>(\d+[\.\-_]*)+)/"
 
-SRC_URI[sha256sum] = "b142cc1dd1342f31ff04bb7d022492b09920cb64fed867cd3ea6f80fe3ebd139"
+SRC_URI[sha256sum] = "079ada16b7fc30dfbb5d13399a5113110dab1aa7c2bc62f66af75f0b717c8cac"
 
 S = "${WORKDIR}/importlib_metadata-${PV}"
 
diff --git a/poky/meta/recipes-devtools/python/python3-iniparse/0001-Add-python-3-compatibility.patch b/poky/meta/recipes-devtools/python/python3-iniparse/0001-Add-python-3-compatibility.patch
deleted file mode 100644
index 44090a2..0000000
--- a/poky/meta/recipes-devtools/python/python3-iniparse/0001-Add-python-3-compatibility.patch
+++ /dev/null
@@ -1,552 +0,0 @@
-From 8a98e4d44a5e59439a4b6bd95368cc362412c995 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 24 Mar 2017 18:06:08 +0200
-Subject: [PATCH] Add python 3 compatibility.
-
-Taken from
-http://pkgs.fedoraproject.org/cgit/rpms/python-iniparse.git/tree/python-iniparse-python3-compat.patch
-
-Upstream-Status: Inappropriate [upstream is defunct]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- iniparse/__init__.py     | 20 ++++++++++----------
- iniparse/compat.py       | 30 ++++++++++++++++--------------
- iniparse/config.py       | 16 ++++++++--------
- iniparse/configparser.py |  7 +++++++
- iniparse/ini.py          | 20 ++++++++++++--------
- iniparse/utils.py        |  4 ++--
- tests/__init__.py        | 14 +++++++-------
- tests/test_compat.py     | 23 +++++++++++++++--------
- tests/test_fuzz.py       | 18 +++++++++---------
- tests/test_ini.py        |  8 ++++----
- tests/test_misc.py       |  4 ++--
- tests/test_tidy.py       |  2 +-
- tests/test_unicode.py    | 10 +++++-----
- 13 files changed, 98 insertions(+), 78 deletions(-)
- create mode 100644 iniparse/configparser.py
-
-diff --git a/iniparse/__init__.py b/iniparse/__init__.py
-index 8de756f..7193f92 100644
---- a/iniparse/__init__.py
-+++ b/iniparse/__init__.py
-@@ -3,17 +3,17 @@
- # Copyright (c) 2007 Tim Lauridsen <tla@rasmil.dk>
- # All Rights Reserved.  See LICENSE-PSF & LICENSE for details.
- 
--from ini import INIConfig, change_comment_syntax
--from config import BasicConfig, ConfigNamespace
--from compat import RawConfigParser, ConfigParser, SafeConfigParser
--from utils import tidy
-+from .ini import INIConfig, change_comment_syntax
-+from .config import BasicConfig, ConfigNamespace
-+from .compat import RawConfigParser, ConfigParser, SafeConfigParser
-+from .utils import tidy
- 
--from ConfigParser import DuplicateSectionError,    \
--                  NoSectionError, NoOptionError,   \
--                  InterpolationMissingOptionError, \
--                  InterpolationDepthError,         \
--                  InterpolationSyntaxError,        \
--                  DEFAULTSECT, MAX_INTERPOLATION_DEPTH
-+from .configparser import DuplicateSectionError,    \
-+                   NoSectionError, NoOptionError,   \
-+                   InterpolationMissingOptionError, \
-+                   InterpolationDepthError,         \
-+                   InterpolationSyntaxError,        \
-+                   DEFAULTSECT, MAX_INTERPOLATION_DEPTH
- 
- __all__ = [
-     'BasicConfig', 'ConfigNamespace',
-diff --git a/iniparse/compat.py b/iniparse/compat.py
-index db89ed8..f95c25c 100644
---- a/iniparse/compat.py
-+++ b/iniparse/compat.py
-@@ -12,19 +12,21 @@ The underlying INIConfig object can be accessed as cfg.data
- """
- 
- import re
--from ConfigParser import DuplicateSectionError,    \
--                  NoSectionError, NoOptionError,   \
--                  InterpolationMissingOptionError, \
--                  InterpolationDepthError,         \
--                  InterpolationSyntaxError,        \
--                  DEFAULTSECT, MAX_INTERPOLATION_DEPTH
-+from .configparser import DuplicateSectionError,    \
-+                   NoSectionError, NoOptionError,   \
-+                   InterpolationMissingOptionError, \
-+                   InterpolationDepthError,         \
-+                   InterpolationSyntaxError,        \
-+                   DEFAULTSECT, MAX_INTERPOLATION_DEPTH
- 
- # These are imported only for compatiability.
- # The code below does not reference them directly.
--from ConfigParser import Error, InterpolationError, \
--                  MissingSectionHeaderError, ParsingError
-+from .configparser import Error, InterpolationError, \
-+                   MissingSectionHeaderError, ParsingError
- 
--import ini
-+import six
-+
-+from . import ini
- 
- class RawConfigParser(object):
-     def __init__(self, defaults=None, dict_type=dict):
-@@ -56,7 +58,7 @@ class RawConfigParser(object):
-         # The default section is the only one that gets the case-insensitive
-         # treatment - so it is special-cased here.
-         if section.lower() == "default":
--            raise ValueError, 'Invalid section name: %s' % section
-+            raise ValueError('Invalid section name: %s' % section)
- 
-         if self.has_section(section):
-             raise DuplicateSectionError(section)
-@@ -88,7 +90,7 @@ class RawConfigParser(object):
-         filename may also be given.
-         """
-         files_read = []
--        if isinstance(filenames, basestring):
-+        if isinstance(filenames, six.string_types):
-             filenames = [filenames]
-         for filename in filenames:
-             try:
-@@ -143,7 +145,7 @@ class RawConfigParser(object):
-     def getboolean(self, section, option):
-         v = self.get(section, option)
-         if v.lower() not in self._boolean_states:
--            raise ValueError, 'Not a boolean: %s' % v
-+            raise ValueError('Not a boolean: %s' % v)
-         return self._boolean_states[v.lower()]
- 
-     def has_option(self, section, option):
-@@ -234,7 +236,7 @@ class ConfigParser(RawConfigParser):
-             if "%(" in value:
-                 try:
-                     value = value % vars
--                except KeyError, e:
-+                except KeyError as e:
-                     raise InterpolationMissingOptionError(
-                         option, section, rawval, e.args[0])
-             else:
-@@ -283,7 +285,7 @@ class SafeConfigParser(ConfigParser):
-     _badpercent_re = re.compile(r"%[^%]|%$")
- 
-     def set(self, section, option, value):
--        if not isinstance(value, basestring):
-+        if not isinstance(value, six.string_types):
-             raise TypeError("option values must be strings")
-         # check for bad percent signs:
-         # first, replace all "good" interpolations
-diff --git a/iniparse/config.py b/iniparse/config.py
-index 5cfa2ea..3b28549 100644
---- a/iniparse/config.py
-+++ b/iniparse/config.py
-@@ -143,7 +143,7 @@ class BasicConfig(ConfigNamespace):
- 
-     >>> n.aaa = 42
-     >>> del n.x
--    >>> print n
-+    >>> print(n)
-     aaa = 42
-     name.first = paramjit
-     name.last = oberoi
-@@ -152,7 +152,7 @@ class BasicConfig(ConfigNamespace):
- 
-     >>> isinstance(n.name, ConfigNamespace)
-     True
--    >>> print n.name
-+    >>> print(n.name)
-     first = paramjit
-     last = oberoi
-     >>> sorted(list(n.name))
-@@ -160,7 +160,7 @@ class BasicConfig(ConfigNamespace):
- 
-     Finally, values can be read from a file as follows:
- 
--    >>> from StringIO import StringIO
-+    >>> from six import StringIO
-     >>> sio = StringIO('''
-     ... # comment
-     ... ui.height = 100
-@@ -171,7 +171,7 @@ class BasicConfig(ConfigNamespace):
-     ... ''')
-     >>> n = BasicConfig()
-     >>> n._readfp(sio)
--    >>> print n
-+    >>> print(n)
-     complexity = medium
-     data.secret.password = goodness=gracious me
-     have_python
-@@ -199,7 +199,7 @@ class BasicConfig(ConfigNamespace):
- 
-     def __str__(self, prefix=''):
-         lines = []
--        keys = self._data.keys()
-+        keys = list(self._data.keys())
-         keys.sort()
-         for name in keys:
-             value = self._data[name]
-@@ -258,7 +258,7 @@ def update_config(target, source):
-     >>> n.ui.display_clock = True
-     >>> n.ui.display_qlength = True
-     >>> n.ui.width = 150
--    >>> print n
-+    >>> print(n)
-     playlist.expand_playlist = True
-     ui.display_clock = True
-     ui.display_qlength = True
-@@ -267,7 +267,7 @@ def update_config(target, source):
-     >>> from iniparse import ini
-     >>> i = ini.INIConfig()
-     >>> update_config(i, n)
--    >>> print i
-+    >>> print(i)
-     [playlist]
-     expand_playlist = True
-     <BLANKLINE>
-@@ -277,7 +277,7 @@ def update_config(target, source):
-     width = 150
- 
-     """
--    for name in source:
-+    for name in sorted(source):
-         value = source[name]
-         if isinstance(value, ConfigNamespace):
-             if name in target:
-diff --git a/iniparse/configparser.py b/iniparse/configparser.py
-new file mode 100644
-index 0000000..c543d50
---- /dev/null
-+++ b/iniparse/configparser.py
-@@ -0,0 +1,7 @@
-+try:
-+    from ConfigParser import *
-+    # not all objects get imported with __all__
-+    from ConfigParser import Error, InterpolationMissingOptionError
-+except ImportError:
-+    from configparser import *
-+    from configparser import Error, InterpolationMissingOptionError
-diff --git a/iniparse/ini.py b/iniparse/ini.py
-index 408354d..052d9e9 100644
---- a/iniparse/ini.py
-+++ b/iniparse/ini.py
-@@ -7,7 +7,7 @@
- 
- Example:
- 
--    >>> from StringIO import StringIO
-+    >>> from six import StringIO
-     >>> sio = StringIO('''# configure foo-application
-     ... [foo]
-     ... bar1 = qualia
-@@ -16,14 +16,14 @@ Example:
-     ... special = 1''')
- 
-     >>> cfg = INIConfig(sio)
--    >>> print cfg.foo.bar1
-+    >>> print(cfg.foo.bar1)
-     qualia
--    >>> print cfg['foo-ext'].special
-+    >>> print(cfg['foo-ext'].special)
-     1
-     >>> cfg.foo.newopt = 'hi!'
-     >>> cfg.baz.enabled = 0
- 
--    >>> print cfg
-+    >>> print(cfg)
-     # configure foo-application
-     [foo]
-     bar1 = qualia
-@@ -42,9 +42,11 @@ Example:
- # Backward-compatiable with ConfigParser
- 
- import re
--from ConfigParser import DEFAULTSECT, ParsingError, MissingSectionHeaderError
-+from .configparser import DEFAULTSECT, ParsingError, MissingSectionHeaderError
- 
--import config
-+import six
-+
-+from . import config
- 
- class LineType(object):
-     line = None
-@@ -278,6 +280,8 @@ class LineContainer(object):
-     value = property(get_value, set_value)
- 
-     def __str__(self):
-+        for c in self.contents:
-+            pass#print(c.__str__())
-         s = [x.__str__() for x in self.contents]
-         return '\n'.join(s)
- 
-@@ -465,7 +469,7 @@ class INIConfig(config.ConfigNamespace):
-         self._sections = {}
-         if defaults is None: defaults = {}
-         self._defaults = INISection(LineContainer(), optionxformsource=self)
--        for name, value in defaults.iteritems():
-+        for name, value in defaults.items():
-             self._defaults[name] = value
-         if fp is not None:
-             self._readfp(fp)
-@@ -551,7 +555,7 @@ class INIConfig(config.ConfigNamespace):
- 
-         for line in readline_iterator(fp):
-             # Check for BOM on first line
--            if linecount == 0 and isinstance(line, unicode):
-+            if linecount == 0 and isinstance(line, six.text_type):
-                 if line[0] == u'\ufeff':
-                     line = line[1:]
-                     self._bom = True
-diff --git a/iniparse/utils.py b/iniparse/utils.py
-index 829fc28..f8b773a 100644
---- a/iniparse/utils.py
-+++ b/iniparse/utils.py
-@@ -1,5 +1,5 @@
--import compat
--from ini import LineContainer, EmptyLine
-+from . import compat
-+from .ini import LineContainer, EmptyLine
- 
- def tidy(cfg):
-     """Clean up blank lines.
-diff --git a/tests/__init__.py b/tests/__init__.py
-index f1fa321..88689fb 100644
---- a/tests/__init__.py
-+++ b/tests/__init__.py
-@@ -1,12 +1,12 @@
- import unittest, doctest
- 
--import test_ini
--import test_misc
--import test_fuzz
--import test_compat
--import test_unicode
--import test_tidy
--import test_multiprocessing
-+from . import test_ini
-+from . import test_misc
-+from . import test_fuzz
-+from . import test_compat
-+from . import test_unicode
-+from . import test_tidy
-+from . import test_multiprocessing
- from iniparse import config
- from iniparse import ini
- 
-diff --git a/tests/test_compat.py b/tests/test_compat.py
-index b8da3d5..b6dfb5c 100644
---- a/tests/test_compat.py
-+++ b/tests/test_compat.py
-@@ -1,9 +1,16 @@
- from iniparse import compat as ConfigParser
--import StringIO
-+from six import StringIO
-+try:
-+    import UserDict
-+except ImportError:
-+    import collections as UserDict
- import unittest
--import UserDict
- 
--from test import test_support
-+import sys
-+if sys.version_info[0] < 3:
-+    from test import test_support
-+else:
-+    from test import support as test_support
- 
- class SortedDict(UserDict.UserDict):
-     def items(self):
-@@ -35,7 +42,7 @@ class TestCaseBase(unittest.TestCase):
- 
-     def fromstring(self, string, defaults=None):
-         cf = self.newconfig(defaults)
--        sio = StringIO.StringIO(string)
-+        sio = StringIO(string)
-         cf.readfp(sio)
-         return cf
- 
-@@ -161,7 +168,7 @@ class TestCaseBase(unittest.TestCase):
-                          "No Section!\n")
- 
-     def parse_error(self, exc, src):
--        sio = StringIO.StringIO(src)
-+        sio = StringIO(src)
-         self.assertRaises(exc, self.cf.readfp, sio)
- 
-     def test_query_errors(self):
-@@ -181,7 +188,7 @@ class TestCaseBase(unittest.TestCase):
-     def get_error(self, exc, section, option):
-         try:
-             self.cf.get(section, option)
--        except exc, e:
-+        except exc as e:
-             return e
-         else:
-             self.fail("expected exception type %s.%s"
-@@ -227,7 +234,7 @@ class TestCaseBase(unittest.TestCase):
-             "foo: another very\n"
-             " long line"
-             )
--        output = StringIO.StringIO()
-+        output = StringIO()
-         cf.write(output)
-         self.assertEqual(
-             output.getvalue(),
-@@ -465,7 +472,7 @@ class SortedTestCase(RawConfigParserTestCase):
-                         "o1=4\n"
-                         "[a]\n"
-                         "k=v\n")
--        output = StringIO.StringIO()
-+        output = StringIO()
-         self.cf.write(output)
-         self.assertEquals(output.getvalue(),
-                           "[a]\n"
-diff --git a/tests/test_fuzz.py b/tests/test_fuzz.py
-index 5420dcc..b219500 100644
---- a/tests/test_fuzz.py
-+++ b/tests/test_fuzz.py
-@@ -1,9 +1,10 @@
- import re
- import os
- import random
-+import sys
- import unittest
--import ConfigParser
--from StringIO import StringIO
-+from six import StringIO
-+from six.moves import configparser
- from iniparse import compat, ini, tidy
- 
- # TODO:
-@@ -96,24 +97,25 @@ class test_fuzz(unittest.TestCase):
-                 s = '\n'.join(good_lines)
-                 cc = compat.RawConfigParser()
-                 cc.readfp(StringIO(s))
--                cc_py = ConfigParser.RawConfigParser()
-+                cc_py = configparser.RawConfigParser()
-                 cc_py.readfp(StringIO(s))
-                 # compare the two configparsers
-                 self.assertEqualConfig(cc_py, cc)
-                 # check that tidy does not change semantics
-                 tidy(cc)
--                cc_tidy = ConfigParser.RawConfigParser()
-+                cc_tidy = configparser.RawConfigParser()
-                 cc_tidy.readfp(StringIO(str(cc.data)))
-                 self.assertEqualConfig(cc_py, cc_tidy)
-             except AssertionError:
-                 fname = 'fuzz-test-iter-%d.ini' % fuzz_iter
--                print 'Fuzz test failed at iteration', fuzz_iter
--                print 'Writing out failing INI file as', fname
-+                print('Fuzz test failed at iteration', fuzz_iter)
-+                print('Writing out failing INI file as', fname)
-                 f = open(fname, 'w')
-                 f.write(s)
-                 f.close()
-                 raise
- 
-+    @unittest.skipIf(sys.version_info[0] > 2, 'http://code.google.com/p/iniparse/issues/detail?id=22#c9')
-     def assertEqualConfig(self, c1, c2):
-         self.assertEqualSorted(c1.sections(), c2.sections())
-         self.assertEqualSorted(c1.defaults().items(), c2.defaults().items())
-@@ -123,9 +125,7 @@ class test_fuzz(unittest.TestCase):
-                 self.assertEqual(c1.get(sec, opt), c2.get(sec, opt))
- 
-     def assertEqualSorted(self, l1, l2):
--        l1.sort()
--        l2.sort()
--        self.assertEqual(l1, l2)
-+        self.assertEqual(sorted(l1), sorted(l2))
- 
- class suite(unittest.TestSuite):
-     def __init__(self):
-diff --git a/tests/test_ini.py b/tests/test_ini.py
-index 6a76edb..07d4f4e 100644
---- a/tests/test_ini.py
-+++ b/tests/test_ini.py
-@@ -1,5 +1,5 @@
- import unittest
--from StringIO import StringIO
-+from six import StringIO
- 
- from iniparse import ini
- from iniparse import compat
-@@ -196,13 +196,13 @@ but = also me
-         self.assertEqual(p._data.find('section2').find('just').value, 'kidding')
- 
-         itr = p._data.finditer('section1')
--        v = itr.next()
-+        v = next(itr)
-         self.assertEqual(v.find('help').value, 'yourself')
-         self.assertEqual(v.find('but').value, 'also me')
--        v = itr.next()
-+        v = next(itr)
-         self.assertEqual(v.find('help').value, 'me')
-         self.assertEqual(v.find('I\'m').value, 'desperate')
--        self.assertRaises(StopIteration, itr.next)
-+        self.assertRaises(StopIteration, next, itr)
- 
-         self.assertRaises(KeyError, p._data.find, 'section')
-         self.assertRaises(KeyError, p._data.find('section2').find, 'ahem')
-diff --git a/tests/test_misc.py b/tests/test_misc.py
-index 31cf4da..96ef035 100644
---- a/tests/test_misc.py
-+++ b/tests/test_misc.py
-@@ -1,9 +1,9 @@
- import re
- import unittest
- import pickle
--import ConfigParser
-+from six.moves import configparser
-+from six import StringIO
- from textwrap import dedent
--from StringIO import StringIO
- from iniparse import compat, ini
- 
- class CaseSensitiveConfigParser(compat.ConfigParser):
-diff --git a/tests/test_tidy.py b/tests/test_tidy.py
-index 7304747..26b6cde 100644
---- a/tests/test_tidy.py
-+++ b/tests/test_tidy.py
-@@ -1,6 +1,6 @@
- import unittest
- from textwrap import dedent
--from StringIO import StringIO
-+from six import StringIO
- 
- from iniparse import tidy,INIConfig
- from iniparse.ini import  EmptyLine
-diff --git a/tests/test_unicode.py b/tests/test_unicode.py
-index a56fcab..14d4fbd 100644
---- a/tests/test_unicode.py
-+++ b/tests/test_unicode.py
-@@ -1,5 +1,5 @@
- import unittest
--from StringIO import StringIO
-+import six
- from iniparse import compat, ini
- 
- class test_unicode(unittest.TestCase):
-@@ -17,14 +17,14 @@ baz = Marc-Andr\202
-     """
- 
-     def basic_tests(self, s, strable):
--        f = StringIO(s)
-+        f = six.StringIO(s)
-         i = ini.INIConfig(f)
--        self.assertEqual(unicode(i), s)
--        self.assertEqual(type(i.foo.bar), unicode)
-+        self.assertEqual(six.text_type(i), s)
-+        self.assertEqual(type(i.foo.bar), six.text_type)
-         if strable:
-             self.assertEqual(str(i), str(s))
-         else:
--            self.assertRaises(UnicodeEncodeError, lambda: str(i))
-+            self.assertRaises(UnicodeEncodeError, lambda: six.text_type(i).encode('ascii'))
-         return i
- 
-     def test_ascii(self):
--- 
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/python/python3-iniparse_0.4.bb b/poky/meta/recipes-devtools/python/python3-iniparse_0.5.bb
similarity index 62%
rename from poky/meta/recipes-devtools/python/python3-iniparse_0.4.bb
rename to poky/meta/recipes-devtools/python/python3-iniparse_0.5.bb
index 47cd659..4ed82ea 100644
--- a/poky/meta/recipes-devtools/python/python3-iniparse_0.4.bb
+++ b/poky/meta/recipes-devtools/python/python3-iniparse_0.5.bb
@@ -4,12 +4,9 @@
 LIC_FILES_CHKSUM = "file://LICENSE-PSF;md5=1c78a5bb3584b353496d5f6f34edb4b2 \
                     file://LICENSE;md5=52f28065af11d69382693b45b5a8eb54"
 
-SRC_URI = "file://0001-Add-python-3-compatibility.patch "
+SRC_URI[sha256sum] = "932e5239d526e7acb504017bb707be67019ac428a6932368e6851691093aa842"
 
-SRC_URI[md5sum] = "5e573e9e9733d97623881ce9bbe5eca6"
-SRC_URI[sha256sum] = "abc1ee12d2cfb2506109072d6c21e40b6c75a3fe90a9c924327d80bc0d99c054"
-
-inherit pypi distutils3
+inherit pypi setuptools3
 
 RDEPENDS_${PN} += "python3-core python3-six"
 DEPENDS += "python3-six"
diff --git a/poky/meta/recipes-devtools/python/python3-packaging_20.9.bb b/poky/meta/recipes-devtools/python/python3-packaging_21.0.bb
similarity index 80%
rename from poky/meta/recipes-devtools/python/python3-packaging_20.9.bb
rename to poky/meta/recipes-devtools/python/python3-packaging_21.0.bb
index 92cf6a2..23ecd9d 100644
--- a/poky/meta/recipes-devtools/python/python3-packaging_20.9.bb
+++ b/poky/meta/recipes-devtools/python/python3-packaging_21.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0 & BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91"
 
-SRC_URI[sha256sum] = "5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5"
+SRC_URI[sha256sum] = "7dc96269f53a4ccec5c0670940a4281106dd0bb343f47b7471f779df49c2fbe7"
 
 inherit pypi setuptools3
 
diff --git a/poky/meta/recipes-devtools/python/python3-pathlib2_2.3.5.bb b/poky/meta/recipes-devtools/python/python3-pathlib2_2.3.5.bb
deleted file mode 100644
index a022701..0000000
--- a/poky/meta/recipes-devtools/python/python3-pathlib2_2.3.5.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "Object-oriented filesystem paths"
-HOMEPAGE = "https://github.com/mcmtroffaes/pathlib2"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=042856c23a3e903b33bf361ea1cbe29a"
-
-SRC_URI[md5sum] = "f2bd0a363eb0f8fa0556f35c1d9e66fb"
-SRC_URI[sha256sum] = "6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868"
-
-inherit pypi setuptools3
-
-RDEPENDS_${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-ctypes"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pathlib2_2.3.6.bb b/poky/meta/recipes-devtools/python/python3-pathlib2_2.3.6.bb
new file mode 100644
index 0000000..8516bbe
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pathlib2_2.3.6.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Object-oriented filesystem paths"
+HOMEPAGE = "https://github.com/mcmtroffaes/pathlib2"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=2dc08586cce3ab91bfa091b655c0e440"
+
+SRC_URI[sha256sum] = "7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-ctypes"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.4.4.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.4.4.bb
deleted file mode 100644
index 6f335ea..0000000
--- a/poky/meta/recipes-devtools/python/python3-pbr_5.4.4.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-inherit setuptools3
-require python-pbr.inc
-
-SRC_URI[md5sum] = "65cdc32e1a1ff56d481fc15aa8caf988"
-SRC_URI[sha256sum] = "139d2625547dbfa5fb0b81daebb39601c478c21956dc57e2e07b74450a8c506b"
diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.6.0.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.6.0.bb
new file mode 100644
index 0000000..132e6e5
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pbr_5.6.0.bb
@@ -0,0 +1,4 @@
+inherit setuptools3
+require python-pbr.inc
+
+SRC_URI[sha256sum] = "42df03e7797b796625b1029c0400279c7c34fd7df24a7d7818a1abb5b38710dd"
diff --git a/poky/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch b/poky/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch
index 00cffe1..0187001 100644
--- a/poky/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch
+++ b/poky/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch
@@ -1,32 +1,30 @@
-From e7a00e9b5104ae2fbcea32a35c85760b77fae7e5 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 23 Apr 2020 09:42:10 +0000
+From baa85a4dab2e8d64eb25d1181b6420db25ce919a Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin <trevor.gamblin@windriver.com>
+Date: Tue, 22 Jun 2021 12:31:46 -0400
 Subject: [PATCH] change shebang to python3
 
-Upstream-Status: Pending
+Upstream-Status: Inappropriate (OE-specific)
 
-pip will drop support of python2 from 21.0
+Despite no longer supporting python2, some files in the pip source refer
+to "python" instead of "python3", so patch them as needed to ensure that
+they correctly reference the python3 binary.
 
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
+Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
 ---
- src/pip/_internal/__init__.py             | 2 +-
- src/pip/_vendor/appdirs.py                | 2 +-
- src/pip/_vendor/chardet/cli/chardetect.py | 2 +-
- src/pip/_vendor/requests/certs.py         | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
+ src/pip/_vendor/appdirs.py                    | 2 +-
+ src/pip/_vendor/chardet/langbulgarianmodel.py | 2 +-
+ src/pip/_vendor/chardet/langgreekmodel.py     | 2 +-
+ src/pip/_vendor/chardet/langhebrewmodel.py    | 2 +-
+ src/pip/_vendor/chardet/langhungarianmodel.py | 2 +-
+ src/pip/_vendor/chardet/langrussianmodel.py   | 2 +-
+ src/pip/_vendor/chardet/langthaimodel.py      | 2 +-
+ src/pip/_vendor/chardet/langturkishmodel.py   | 2 +-
+ src/pip/_vendor/chardet/metadata/languages.py | 2 +-
+ src/pip/_vendor/requests/certs.py             | 2 +-
+ 10 files changed, 10 insertions(+), 10 deletions(-)
 
-diff --git a/src/pip/_internal/__init__.py b/src/pip/_internal/__init__.py
-index 3aa8a46..e1ad179 100755
---- a/src/pip/_internal/__init__.py
-+++ b/src/pip/_internal/__init__.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- import pip._internal.utils.inject_securetransport  # noqa
- from pip._internal.utils.typing import MYPY_CHECK_RUNNING
- 
 diff --git a/src/pip/_vendor/appdirs.py b/src/pip/_vendor/appdirs.py
-index 3a52b75..ad3f81d 100644
+index 33a3b7741..60b9ef5f7 100644
 --- a/src/pip/_vendor/appdirs.py
 +++ b/src/pip/_vendor/appdirs.py
 @@ -1,4 +1,4 @@
@@ -35,18 +33,88 @@
  # -*- coding: utf-8 -*-
  # Copyright (c) 2005-2010 ActiveState Software Inc.
  # Copyright (c) 2013 Eddy Petrișor
-diff --git a/src/pip/_vendor/chardet/cli/chardetect.py b/src/pip/_vendor/chardet/cli/chardetect.py
-index c61136b..a497e98 100644
---- a/src/pip/_vendor/chardet/cli/chardetect.py
-+++ b/src/pip/_vendor/chardet/cli/chardetect.py
+diff --git a/src/pip/_vendor/chardet/langbulgarianmodel.py b/src/pip/_vendor/chardet/langbulgarianmodel.py
+index e963a5097..97ea6cea8 100644
+--- a/src/pip/_vendor/chardet/langbulgarianmodel.py
++++ b/src/pip/_vendor/chardet/langbulgarianmodel.py
 @@ -1,4 +1,4 @@
 -#!/usr/bin/env python
 +#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ 
+ from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
+diff --git a/src/pip/_vendor/chardet/langgreekmodel.py b/src/pip/_vendor/chardet/langgreekmodel.py
+index d99528ede..4a127ea83 100644
+--- a/src/pip/_vendor/chardet/langgreekmodel.py
++++ b/src/pip/_vendor/chardet/langgreekmodel.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ 
+ from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
+diff --git a/src/pip/_vendor/chardet/langhebrewmodel.py b/src/pip/_vendor/chardet/langhebrewmodel.py
+index 484c652a4..676c1a711 100644
+--- a/src/pip/_vendor/chardet/langhebrewmodel.py
++++ b/src/pip/_vendor/chardet/langhebrewmodel.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ 
+ from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
+diff --git a/src/pip/_vendor/chardet/langhungarianmodel.py b/src/pip/_vendor/chardet/langhungarianmodel.py
+index bbc5cda64..042eae70a 100644
+--- a/src/pip/_vendor/chardet/langhungarianmodel.py
++++ b/src/pip/_vendor/chardet/langhungarianmodel.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ 
+ from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
+diff --git a/src/pip/_vendor/chardet/langrussianmodel.py b/src/pip/_vendor/chardet/langrussianmodel.py
+index 5594452b5..564b02e58 100644
+--- a/src/pip/_vendor/chardet/langrussianmodel.py
++++ b/src/pip/_vendor/chardet/langrussianmodel.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ 
+ from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
+diff --git a/src/pip/_vendor/chardet/langthaimodel.py b/src/pip/_vendor/chardet/langthaimodel.py
+index 9a37db573..c97487959 100644
+--- a/src/pip/_vendor/chardet/langthaimodel.py
++++ b/src/pip/_vendor/chardet/langthaimodel.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ 
+ from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
+diff --git a/src/pip/_vendor/chardet/langturkishmodel.py b/src/pip/_vendor/chardet/langturkishmodel.py
+index 43f4230ae..7e710c371 100644
+--- a/src/pip/_vendor/chardet/langturkishmodel.py
++++ b/src/pip/_vendor/chardet/langturkishmodel.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ 
+ from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
+diff --git a/src/pip/_vendor/chardet/metadata/languages.py b/src/pip/_vendor/chardet/metadata/languages.py
+index 3237d5abf..aa2ec7c35 100644
+--- a/src/pip/_vendor/chardet/metadata/languages.py
++++ b/src/pip/_vendor/chardet/metadata/languages.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
  """
- Script which takes one or more file paths and reports on their detected
- encodings
+ Metadata about languages used by our model training code for our
 diff --git a/src/pip/_vendor/requests/certs.py b/src/pip/_vendor/requests/certs.py
-index 06a594e..bfa7839 100644
+index 06a594e58..bfa7839a4 100644
 --- a/src/pip/_vendor/requests/certs.py
 +++ b/src/pip/_vendor/requests/certs.py
 @@ -1,4 +1,4 @@
@@ -56,5 +124,5 @@
  
  """
 -- 
-2.24.1
+2.31.1
 
diff --git a/poky/meta/recipes-devtools/python/python3-pip_20.0.2.bb b/poky/meta/recipes-devtools/python/python3-pip_21.1.3.bb
similarity index 73%
rename from poky/meta/recipes-devtools/python/python3-pip_20.0.2.bb
rename to poky/meta/recipes-devtools/python/python3-pip_21.1.3.bb
index 99eeea2..0f105c2 100644
--- a/poky/meta/recipes-devtools/python/python3-pip_20.0.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-pip_21.1.3.bb
@@ -2,16 +2,15 @@
 HOMEPAGE = "https://pypi.org/project/pip"
 SECTION = "devel/python"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c4fa2b50f55649f43060fa04b0919b9b"
 
 DEPENDS += "python3 python3-setuptools-native"
 
+inherit pypi distutils3
+
 SRC_URI += "file://0001-change-shebang-to-python3.patch"
 
-SRC_URI[md5sum] = "7d42ba49b809604f0df3d55df1c3fd86"
-SRC_URI[sha256sum] = "7db0c8ea4c7ea51c8049640e8e6e7fde949de672bfa4949920675563a5a6967f"
-
-inherit pypi distutils3
+SRC_URI[sha256sum] = "b5b1eb91b36894bd01b8e5a56a422c2f3838573da0b0a1c63a096bb454e3b23f"
 
 do_install_append() {
     # Install as pip3 and leave pip2 as default
@@ -23,6 +22,7 @@
   python3-io \
   python3-html \
   python3-json \
+  python3-multiprocessing \
   python3-netserver \
   python3-setuptools \
   python3-unixadmin \
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools/reproducibility.patch b/poky/meta/recipes-devtools/python/python3-setuptools/reproducibility.patch
deleted file mode 100644
index 149d8ad..0000000
--- a/poky/meta/recipes-devtools/python/python3-setuptools/reproducibility.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-The License-File lines in PKG-INFO change ordering depending on the order on disk, 
-for example for python-packaging, one build shows:
-
-License-File: LICENSE
-License-File: LICENSE.APACHE
-License-File: LICENSE.BSD
-
-and the other shows:
-
-License-File: LICENSE
-License-File: LICENSE.BSD
-License-File: LICENSE.APACHE
-
-This is because glob uses os.listdir() which is unsorted. Sort the result to avoid this.
-
-Upstream-Status: Submitted [https://github.com/pypa/setuptools/issues/2691]
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
-Index: setuptools-57.0.0/setuptools/dist.py
-===================================================================
---- setuptools-57.0.0.orig/setuptools/dist.py
-+++ setuptools-57.0.0/setuptools/dist.py
-@@ -15,7 +15,7 @@ import distutils.command
- from distutils.util import strtobool
- from distutils.debug import DEBUG
- from distutils.fancy_getopt import translate_longopt
--from glob import iglob
-+from glob import glob
- import itertools
- import textwrap
- from typing import List, Optional, TYPE_CHECKING
-@@ -603,7 +603,7 @@ class Distribution(_Distribution):
-         return (
-             path
-             for pattern in patterns
--            for path in iglob(pattern)
-+            for path in sorted(glob(pattern))
-             if not path.endswith('~')
-             and os.path.isfile(path)
-         )
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_57.0.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_57.1.0.bb
similarity index 88%
rename from poky/meta/recipes-devtools/python/python3-setuptools_57.0.0.bb
rename to poky/meta/recipes-devtools/python/python3-setuptools_57.1.0.bb
index a15b51e..c066d82 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_57.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_57.1.0.bb
@@ -8,10 +8,9 @@
 
 SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch"
 
-SRC_URI += "file://0001-change-shebang-to-python3.patch \
-            file://reproducibility.patch"
+SRC_URI += "file://0001-change-shebang-to-python3.patch"
 
-SRC_URI[sha256sum] = "401cbf33a7bf817d08014d51560fc003b895c4cdc1a5b521ad2969e928a07535"
+SRC_URI[sha256sum] = "cfca9c97e7eebbc8abe18d5e5e962a08dcad55bb63afddd82d681de4d22a597b"
 
 DEPENDS += "${PYTHON_PN}"
 
diff --git a/poky/meta/recipes-devtools/python/python3-zipp_3.4.1.bb b/poky/meta/recipes-devtools/python/python3-zipp_3.5.0.bb
similarity index 77%
rename from poky/meta/recipes-devtools/python/python3-zipp_3.4.1.bb
rename to poky/meta/recipes-devtools/python/python3-zipp_3.5.0.bb
index 191d3b3..ab12601 100644
--- a/poky/meta/recipes-devtools/python/python3-zipp_3.4.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-zipp_3.5.0.bb
@@ -3,8 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6"
 
-SRC_URI[md5sum] = "3d91c7ab73b62ac3674210df94df600a"
-SRC_URI[sha256sum] = "3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76"
+SRC_URI[sha256sum] = "f5812b1e007e48cff63449a5e9f4e7ebea716b4111f9c4f9a645f91d579bf0c4"
 
 DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
 
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch b/poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch
deleted file mode 100644
index 9ed0385..0000000
--- a/poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 840fda32c82550259d02a7a56a78a9c05162b1a1 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Wed, 8 May 2019 16:10:29 +0800
-Subject: [PATCH] Makefile: fix Issue36464 (parallel build race problem)
-
-When using make -j with the 'install' target, it's possible for altbininstall
-(which normally creates BINDIR) and libainstall (which doesn't, though it
-installs python-config there) to race, resulting in a failure due to
-attempting to install python-config into a nonexistent BINDIR. Ensure it also
-exists in the libainstall target.
-
-Upstream-Status: Backport [https://github.com/python/cpython/commit/a25c46bd7dd47a2f95b32d17ee2f66de214892c6]
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- Makefile.pre.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 15f3687..7e9f173 100644
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -1456,7 +1456,7 @@ LIBPL=		@LIBPL@
- LIBPC=		$(LIBDIR)/pkgconfig
- 
- libainstall:	@DEF_MAKE_RULE@ python-config
--	@for i in $(LIBDIR) $(LIBPL) $(LIBPC); \
-+	@for i in $(LIBDIR) $(LIBPL) $(LIBPC) $(BINDIR); \
- 	do \
- 		if test ! -d $(DESTDIR)$$i; then \
- 			echo "Creating directory $$i"; \
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/python/python3/makerace.patch b/poky/meta/recipes-devtools/python/python3/makerace.patch
new file mode 100644
index 0000000..96744cb
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/makerace.patch
@@ -0,0 +1,23 @@
+libainstall installs python-config.py but the .pyc cache files are generated
+by the libinstall target. This means some builds may not generate the pyc files
+for python-config.py depending on the order things happen in. This means builds
+are not always reproducible.
+
+Add a dependency to avoid the race.
+
+Upstream-Status: Pending
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: Python-3.9.6/Makefile.pre.in
+===================================================================
+--- Python-3.9.6.orig/Makefile.pre.in
++++ Python-3.9.6/Makefile.pre.in
+@@ -1486,7 +1486,7 @@ LIBSUBDIRS=	tkinter tkinter/test tkinter
+ 		venv venv/scripts venv/scripts/common venv/scripts/posix \
+ 		curses pydoc_data \
+ 		zoneinfo
+-libinstall:	build_all $(srcdir)/Modules/xxmodule.c
++libinstall:	build_all $(srcdir)/Modules/xxmodule.c libainstall
+ 	@for i in $(SCRIPTDIR) $(LIBDEST); \
+ 	do \
+ 		if test ! -d $(DESTDIR)$$i; then \
diff --git a/poky/meta/recipes-devtools/python/python3_3.9.5.bb b/poky/meta/recipes-devtools/python/python3_3.9.6.bb
similarity index 97%
rename from poky/meta/recipes-devtools/python/python3_3.9.5.bb
rename to poky/meta/recipes-devtools/python/python3_3.9.6.bb
index 1717ff7..986dfda 100644
--- a/poky/meta/recipes-devtools/python/python3_3.9.5.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.9.6.bb
@@ -20,7 +20,6 @@
            file://python-config.patch \
            file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
            file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
-           file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \
            file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \
            file://crosspythonpath.patch \
            file://0001-Use-FLAG_REF-always-for-interned-strings.patch \
@@ -31,7 +30,8 @@
            file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \
            file://0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch \
            file://0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch \
-           ${@bb.utils.contains('IMAGE_FEATURES', 'tools-sdk', '', 'file://0001-test_ctypes.test_find-skip-without-tools-sdk.patch', d)} \
+           file://0001-test_ctypes.test_find-skip-without-tools-sdk.patch \
+           file://makerace.patch \
            "
 
 SRC_URI_append_class-native = " \
@@ -39,7 +39,7 @@
            file://12-distutils-prefix-is-inside-staging-area.patch \
            file://0001-Don-t-search-system-for-headers-libraries.patch \
            "
-SRC_URI[sha256sum] = "0c5a140665436ec3dbfbb79e2dfb6d192655f26ef4a29aeffcb6d1820d716d83"
+SRC_URI[sha256sum] = "397920af33efc5b97f2e0b57e91923512ef89fc5b3c1d21dbfc8c4828ce0108a"
 
 # exclude pre-releases for both python 2.x and 3.x
 UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index 6674936..33a8bae 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -37,6 +37,8 @@
            file://0006-vhost-user-gpu-fix-memory-leak-in-virgl_resource_att.patch \
            file://0007-vhost-user-gpu-fix-OOB-write-in-virgl_cmd_get_capset.patch \
            file://0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch \
+           file://CVE-2021-3527-1.patch \
+           file://CVE-2021-3527-2.patch \
            "
 UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3527-1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3527-1.patch
new file mode 100644
index 0000000..77a5385
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3527-1.patch
@@ -0,0 +1,42 @@
+From 05a40b172e4d691371534828078be47e7fff524c Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kraxel@redhat.com>
+Date: Mon, 3 May 2021 15:29:15 +0200
+Subject: [PATCH] usb: limit combined packets to 1 MiB (CVE-2021-3527)
+
+usb-host and usb-redirect try to batch bulk transfers by combining many
+small usb packets into a single, large transfer request, to reduce the
+overhead and improve performance.
+
+This patch adds a size limit of 1 MiB for those combined packets to
+restrict the host resources the guest can bind that way.
+
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Message-Id: <20210503132915.2335822-6-kraxel@redhat.com>
+
+Upstream-Status: Backport
+https://gitlab.com/qemu-project/qemu/-/commit/05a40b172e4d691371534828078be47e7fff524c
+CVE: CVE-2021-3527
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+
+---
+ hw/usb/combined-packet.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/hw/usb/combined-packet.c b/hw/usb/combined-packet.c
+index 5d57e883dc..e56802f89a 100644
+--- a/hw/usb/combined-packet.c
++++ b/hw/usb/combined-packet.c
+@@ -171,7 +171,9 @@ void usb_ep_combine_input_packets(USBEndpoint *ep)
+         if ((p->iov.size % ep->max_packet_size) != 0 || !p->short_not_ok ||
+                 next == NULL ||
+                 /* Work around for Linux usbfs bulk splitting + migration */
+-                (totalsize == (16 * KiB - 36) && p->int_req)) {
++                (totalsize == (16 * KiB - 36) && p->int_req) ||
++                /* Next package may grow combined package over 1MiB */
++                totalsize > 1 * MiB - ep->max_packet_size) {
+             usb_device_handle_data(ep->dev, first);
+             assert(first->status == USB_RET_ASYNC);
+             if (first->combined) {
+-- 
+GitLab
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3527-2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3527-2.patch
new file mode 100644
index 0000000..6371ace
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3527-2.patch
@@ -0,0 +1,59 @@
+From 7ec54f9eb62b5d177e30eb8b1cad795a5f8d8986 Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kraxel@redhat.com>
+Date: Mon, 3 May 2021 15:29:12 +0200
+Subject: [PATCH] usb/redir: avoid dynamic stack allocation (CVE-2021-3527)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use autofree heap allocation instead.
+
+Fixes: 4f4321c11ff ("usb: use iovecs in USBPacket")
+Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Message-Id: <20210503132915.2335822-3-kraxel@redhat.com>
+
+Upstream-Status: Backport
+https://gitlab.com/qemu-project/qemu/-/commit/7ec54f9eb62b5d177e30eb8b1cad795a5f8d8986
+CVE: CVE-2021-3527
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+
+---
+ hw/usb/redirect.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
+index 17f06f3417..6a75b0dc4a 100644
+--- a/hw/usb/redirect.c
++++ b/hw/usb/redirect.c
+@@ -620,7 +620,7 @@ static void usbredir_handle_iso_data(USBRedirDevice *dev, USBPacket *p,
+                 .endpoint = ep,
+                 .length = p->iov.size
+             };
+-            uint8_t buf[p->iov.size];
++            g_autofree uint8_t *buf = g_malloc(p->iov.size);
+             /* No id, we look at the ep when receiving a status back */
+             usb_packet_copy(p, buf, p->iov.size);
+             usbredirparser_send_iso_packet(dev->parser, 0, &iso_packet,
+@@ -818,7 +818,7 @@ static void usbredir_handle_bulk_data(USBRedirDevice *dev, USBPacket *p,
+         usbredirparser_send_bulk_packet(dev->parser, p->id,
+                                         &bulk_packet, NULL, 0);
+     } else {
+-        uint8_t buf[size];
++        g_autofree uint8_t *buf = g_malloc(size);
+         usb_packet_copy(p, buf, size);
+         usbredir_log_data(dev, "bulk data out:", buf, size);
+         usbredirparser_send_bulk_packet(dev->parser, p->id,
+@@ -923,7 +923,7 @@ static void usbredir_handle_interrupt_out_data(USBRedirDevice *dev,
+                                                USBPacket *p, uint8_t ep)
+ {
+     struct usb_redir_interrupt_packet_header interrupt_packet;
+-    uint8_t buf[p->iov.size];
++    g_autofree uint8_t *buf = g_malloc(p->iov.size);
+ 
+     DPRINTF("interrupt-out ep %02X len %zd id %"PRIu64"\n", ep,
+             p->iov.size, p->id);
+-- 
+GitLab
+
diff --git a/poky/meta/recipes-devtools/ruby/ruby_3.0.1.bb b/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb
similarity index 96%
rename from poky/meta/recipes-devtools/ruby/ruby_3.0.1.bb
rename to poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb
index 944cb81..f88e874 100644
--- a/poky/meta/recipes-devtools/ruby/ruby_3.0.1.bb
+++ b/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb
@@ -8,7 +8,7 @@
            file://0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch \
            "
 
-SRC_URI[sha256sum] = "369825db2199f6aeef16b408df6a04ebaddb664fb9af0ec8c686b0ce7ab77727"
+SRC_URI[sha256sum] = "5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch b/poky/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
index 66c395d..5b25af2 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
@@ -18,8 +18,8 @@
 
 diff --git a/Makefile.in b/Makefile.in
 index 0370491..daa569a 100644
---- a/Makefile.in
-+++ b/Makefile.in
+--- a/unix/Makefile.in
++++ b/unix/Makefile.in
 @@ -57,7 +57,7 @@ SCRIPT_INSTALL_DIR	= $(INSTALL_ROOT)$(TCL_LIBRARY)
  MODULE_INSTALL_DIR	= $(SCRIPT_INSTALL_DIR)/../tcl8
  
@@ -29,32 +29,10 @@
  
  # Path to the private tcl header dir:
  PRIVATE_INCLUDE_DIR	= @PRIVATE_INCLUDE_DIR@
-diff --git a/configure b/configure
-index 181b9b3..f4cc225 100755
---- a/configure
-+++ b/configure
-@@ -10166,7 +10166,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
- eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
- 
- test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
--PRIVATE_INCLUDE_DIR='$(includedir)'
-+PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
- HTML_DIR='$(DISTDIR)/html'
- 
- # Note:  in the following variable, it's important to use the absolute
-@@ -10323,7 +10323,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}"
- TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}"
- 
- # Install time header dir can be set via --includedir
--eval "TCL_INCLUDE_SPEC=\"-I${includedir}\""
-+eval "TCL_INCLUDE_SPEC=\"-I${includedir}/tcl${VERSION}\""
- 
- #------------------------------------------------------------------------
- # tclConfig.sh refers to this by a different name
 diff --git a/configure.in b/configure.in
 index 9f96e2b..e323e02 100644
---- a/configure.in
-+++ b/configure.in
+--- a/unix/configure.in
++++ b/unix/configure.in
 @@ -773,7 +773,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
  eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
  
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch b/poky/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
index 72a0fa4..2c31cec 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
@@ -17,8 +17,8 @@
 
 Index: unix/Makefile.in
 ===================================================================
---- unix.orig/Makefile.in	2013-11-10 23:38:01.787425628 -0800
-+++ unix/Makefile.in	2013-11-10 23:37:59.807425578 -0800
+--- a/unix.orig/Makefile.in	2013-11-10 23:38:01.787425628 -0800
++++ b/unix/Makefile.in	2013-11-10 23:37:59.807425578 -0800
 @@ -686,7 +686,7 @@
  # tcltest executable gets the build directory burned into its ld search path.
  # This keeps tcltest from picking up an already installed version of the Tcl
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch b/poky/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
index c60eb75..44b2ce0 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
@@ -2,8 +2,8 @@
 
 Index: unix/Makefile.in
 ===================================================================
---- unix.orig/Makefile.in	2013-11-10 23:37:34.243424934 -0800
-+++ unix/Makefile.in	2013-11-10 23:37:34.243424934 -0800
+--- a/unix.orig/Makefile.in	2013-11-10 23:37:34.243424934 -0800
++++ b/unix/Makefile.in	2013-11-10 23:37:34.243424934 -0800
 @@ -709,23 +709,23 @@
  test: test-tcl test-packages
  
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/interp.patch b/poky/meta/recipes-devtools/tcltk/tcl/interp.patch
new file mode 100644
index 0000000..95d6318
--- /dev/null
+++ b/poky/meta/recipes-devtools/tcltk/tcl/interp.patch
@@ -0,0 +1,32 @@
+The interp-36.7 patch has race conditions and is missing cleanup.  This patch by
+a Tcl maintainer should improve matters.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/tests/interp.test b/tests/interp.test
+index d7424847f..fc90990f3 100644
+--- a/tests/interp.test
++++ b/tests/interp.test
+@@ -3595,17 +3595,18 @@ test interp-36.7 {ChildBgerror sets error handler of child [1999035]} -setup {
+         variable result
+         set result [lindex $args 0]
+     }
++    set tout [after 5000 {set result timeout}]
+ } -body {
+     child eval {
+         variable done {}
+         after 0 error foo
+-        after 10 [list ::set [namespace which -variable done] {}]
+-        vwait [namespace which -variable done]
+     }
++    vwait result
+     set result
+ } -cleanup {
++    after cancel $tout
+     variable result {}
+-    unset -nocomplain result
++    unset -nocomplain result tout
+     interp delete child
+ } -result foo
+ 
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/no_packages.patch b/poky/meta/recipes-devtools/tcltk/tcl/no_packages.patch
deleted file mode 100644
index 5c622a2..0000000
--- a/poky/meta/recipes-devtools/tcltk/tcl/no_packages.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-tcl 8.6.0 builds by default a number of packages that are not needed in Yocto.
-This patch changes the makefile so that these packages are not built by default.
-
-Upstream-Status:Inappropriate [embedded specific]
-
-Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
-
-diff --git a/Makefile.in b/Makefile.in
-index b729ffd..2c2e824 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -612,7 +612,7 @@ SRCS = $(GENERIC_SRCS) $(TOMMATH_SRCS) $(UNIX_SRCS) $(NOTIFY_SRCS) \
- # Start of rules
- #--------------------------------------------------------------------------
- 
--all: binaries libraries doc packages
-+all: binaries libraries doc
- 
- binaries: ${LIB_FILE} ${TCL_EXE}
- 
-@@ -656,12 +656,12 @@ Makefile: $(UNIX_DIR)/Makefile.in $(DLTEST_DIR)/Makefile.in
- #tclConfig.h: $(UNIX_DIR)/tclConfig.h.in
- #	$(SHELL) config.status
- 
--clean: clean-packages
-+clean:
- 	rm -rf *.a *.o libtcl* core errs *~ \#* TAGS *.E a.out \
- 		errors ${TCL_EXE} ${TCLTEST_EXE} lib.exp Tcl @DTRACE_HDR@
- 	cd dltest ; $(MAKE) clean
- 
--distclean: distclean-packages clean
-+distclean: clean
- 	rm -rf Makefile config.status config.cache config.log tclConfig.sh \
- 		tclConfig.h *.plist Tcl.framework tcl.pc
- 	cd dltest ; $(MAKE) distclean
-@@ -709,7 +709,7 @@ tcltest-real:
- # tcltest, ie:
- #	% make test TESTFLAGS="-verbose bps -file fileName.test"
- 
--test: test-tcl test-packages
-+test: test-tcl
- 
- test-tcl: ${TCLTEST_EXE}
- 	$(SHELL_ENV) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl $(TESTFLAGS)
-@@ -774,7 +774,7 @@ INSTALL_PACKAGE_TARGETS = install-packages
- INSTALL_DEV_TARGETS = install-headers
- INSTALL_EXTRA_TARGETS = @EXTRA_INSTALL@
- INSTALL_TARGETS = $(INSTALL_BASE_TARGETS) $(INSTALL_DOC_TARGETS) $(INSTALL_DEV_TARGETS) \
--		  $(INSTALL_PACKAGE_TARGETS) $(INSTALL_EXTRA_TARGETS)
-+		  $(INSTALL_EXTRA_TARGETS)
- 
- install: $(INSTALL_TARGETS)
- 
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/run-ptest b/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
index 22bb69a..a62b703 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
+++ b/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
@@ -1,8 +1,12 @@
 #!/bin/sh
 
+# clock.test needs a timezone to be set
+export TZ="Europe/London"
+export TCL_LIBRARY=library
+
 for i in `ls tests/*.test | awk -F/ '{print $2}'`; do
-    TCL_LIBRARY=library ./tcltest tests/all.tcl -file $i >$i.log 2>&1
-    grep -q "^Files with failing tests:" $i.log
+    ./tcltest tests/all.tcl -file $i >$i.log 2>&1
+    grep -q -F -e "Files with failing tests:" -e "Test files exiting with errors:" $i.log
     if [ $? -eq 0 ]; then
         echo "FAIL: $i"
         cat $i.log
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch b/poky/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch
index d1fc9b9..c4283c4 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch
@@ -1,23 +1,9 @@
 Upstream-Status: Pending
 
-Index: unix/configure
-===================================================================
---- unix.orig/configure	2013-09-19 13:17:13.000000000 -0700
-+++ unix/configure	2013-11-11 00:20:51.519490342 -0800
-@@ -7599,6 +7599,9 @@
- 	    # get rid of the warnings.
- 	    #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
- 
-+	    # following line added by CW for Debian GNU/Linux
-+	    TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0"
-+
- 	    SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS} -shared'
- 	    DL_OBJS="tclLoadDl.o"
- 	    DL_LIBS="-ldl"
 Index: unix/tcl.m4
 ===================================================================
---- unix.orig/tcl.m4	2013-09-19 13:17:13.000000000 -0700
-+++ unix/tcl.m4	2013-11-11 00:17:24.263485123 -0800
+--- a/unix.orig/tcl.m4	2013-09-19 13:17:13.000000000 -0700
++++ b/unix/tcl.m4	2013-11-11 00:17:24.263485123 -0800
 @@ -1415,6 +1415,9 @@
  	    # get rid of the warnings.
  	    #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
@@ -30,8 +16,8 @@
  	    DL_LIBS="-ldl"
 Index: unix/Makefile.in
 ===================================================================
---- unix.orig/Makefile.in	2013-09-19 13:17:13.000000000 -0700
-+++ unix/Makefile.in	2013-11-11 00:20:32.423489861 -0800
+--- a/unix.orig/Makefile.in	2013-09-19 13:17:13.000000000 -0700
++++ b/unix/Makefile.in	2013-11-11 00:20:32.423489861 -0800
 @@ -796,7 +796,10 @@
  	    done;
  	@echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/"
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch b/poky/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch
index 17d251d..99c5faf 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch
@@ -7,10 +7,7 @@
 
 [YOCTO #2876]
 
-This is not a bug, but libraries should be installed into directory .../lib/.
-On 64bit target that should be lib64/.
-
-Upstream-Status: Inappropriate [configuration]
+Upstream-Status: Pending
 
 Signed-off-by: Song.Li <Song.Li@windriver.com>
 Signed-off-by: Kai Kang <kai.kang@windriver.com>
@@ -20,23 +17,10 @@
  configure.in | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
-Index: unix/configure
-===================================================================
---- unix.orig/configure	2013-11-10 23:38:33.643426430 -0800
-+++ unix/configure	2013-11-10 23:39:51.347428387 -0800
-@@ -19134,7 +19134,7 @@
- 
- eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
- 
--test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)'
-+test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
- PRIVATE_INCLUDE_DIR='$(includedir)'
- HTML_DIR='$(DISTDIR)/html'
- 
 Index: unix/configure.in
 ===================================================================
---- unix.orig/configure.in	2013-11-10 23:20:50.000000000 -0800
-+++ unix/configure.in	2013-11-10 23:39:41.199428131 -0800
+--- a/unix.orig/configure.in	2013-11-10 23:20:50.000000000 -0800
++++ b/unix/configure.in	2013-11-10 23:39:41.199428131 -0800
 @@ -790,7 +790,7 @@
  
  eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
diff --git a/poky/meta/recipes-devtools/tcltk/tcl_8.6.11.bb b/poky/meta/recipes-devtools/tcltk/tcl_8.6.11.bb
index efb36b3..8d58faf 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl_8.6.11.bb
+++ b/poky/meta/recipes-devtools/tcltk/tcl_8.6.11.bb
@@ -5,42 +5,40 @@
 
 # http://www.tcl.tk/software/tcltk/license.html
 LICENSE = "tcl & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://../license.terms;md5=058f6229798281bbcac4239c788cfa38 \
-    file://../compat/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
-    file://../library/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
-    file://../macosx/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
-    file://../tests/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
-    file://../win/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
+LIC_FILES_CHKSUM = "file://license.terms;md5=058f6229798281bbcac4239c788cfa38 \
+    file://compat/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
+    file://library/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
+    file://macosx/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
+    file://tests/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
+    file://win/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
 "
 
 DEPENDS = "tcl-native zlib"
 
-BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \
+BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/tcl-core${PV}-src.tar.gz \
                 file://tcl-add-soname.patch"
 SRC_URI = "${BASE_SRC_URI} \
            file://fix_non_native_build_issue.patch \
            file://fix_issue_with_old_distro_glibc.patch \
-           file://no_packages.patch \
            file://tcl-remove-hardcoded-install-path.patch \
            file://alter-includedir.patch \
+           file://interp.patch \
            file://run-ptest \
 "
-SRC_URI[sha256sum] = "8c0486668586672c5693d7d95817cb05a18c5ecca2f40e2836b9578064088258"
+SRC_URI[sha256sum] = "cfb49aab82bd179651e23eeeb69606f51b0ddc575ca55c3d35e2457469024cfa"
 
 SRC_URI_class-native = "${BASE_SRC_URI}"
 
-S = "${WORKDIR}/${BPN}${PV}/unix"
+UPSTREAM_CHECK_REGEX = "tcl(?P<pver>\d+(\.\d+)+)-src"
 
-PSEUDO_IGNORE_PATHS .= ",${WORKDIR}/${BPN}${PV}"
+S = "${WORKDIR}/${BPN}${PV}"
+
 VER = "${PV}"
 
-inherit autotools ptest binconfig update-alternatives
+inherit autotools ptest binconfig
 
-EXTRA_OECONF = "--enable-threads --disable-rpath --libdir=${libdir}"
-
-do_compile_prepend() {
-	echo > ${S}/../compat/fixstrtod.c
-}
+AUTOTOOLS_SCRIPT_PATH = "${S}/unix"
+EXTRA_OECONF = "--enable-threads --disable-rpath --enable-man-suffix"
 
 do_install() {
 	autotools_do_install
@@ -54,7 +52,7 @@
 	install -m 0755 tclConfig.sh ${D}${libdir}
 	for dir in compat generic unix; do
 		install -d ${D}${includedir}/${BPN}${VER}/$dir
-		install -m 0644 ${S}/../$dir/*.h ${D}${includedir}/${BPN}${VER}/$dir/
+		install -m 0644 ${S}/$dir/*.h ${D}${includedir}/${BPN}${VER}/$dir/
 	done
 }
 
@@ -65,9 +63,6 @@
 FILES_${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8"
 FILES_${PN}-dev += "${libdir}/tclConfig.sh ${libdir}/tclooConfig.sh"
 
-ALTERNATIVE_${PN}-doc = "Thread.3"
-ALTERNATIVE_LINK_NAME[Thread.3] = "${mandir}/man3/Thread.3"
-
 # isn't getting picked up by shlibs code
 RDEPENDS_${PN} += "tcl-lib"
 RDEPENDS_${PN}-ptest += "libgcc"
@@ -80,8 +75,8 @@
 
 do_install_ptest() {
 	cp ${B}/tcltest ${D}${PTEST_PATH}
-	cp -r ${S}/../library ${D}${PTEST_PATH}
-	cp -r ${S}/../tests ${D}${PTEST_PATH}
+	cp -r ${S}/library ${D}${PTEST_PATH}
+	cp -r ${S}/tests ${D}${PTEST_PATH}
 }
 
 # Fix some paths that might be used by Tcl extensions
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all
index e69de29..c3fc639 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all
@@ -0,0 +1 @@
+none/tests/amd64/fb_test_amd64
diff --git a/poky/meta/recipes-extended/bash/bash/makerace2.patch b/poky/meta/recipes-extended/bash/bash/makerace2.patch
new file mode 100644
index 0000000..43cdd04
--- /dev/null
+++ b/poky/meta/recipes-extended/bash/bash/makerace2.patch
@@ -0,0 +1,98 @@
+The main makefile can call mkbuiltins from multiple different codepaths in parallel.
+When called, it moves the existing files out the way and creates new ones, then
+compares which will break the build if timing is unlucky.
+
+The root of the problem is mkbuiltins.c creating a file but also referencing that
+file under the same name. By modifing it to allow the final name and the temp name
+to be specified, we can avoid the original reason for the moving of files around.
+This allows them to be created under a new name and then replaced if changed,
+removing any race windows around accessing the files whilst they've been
+moved or are being rewritten.
+
+See [YOCTO #14227]
+
+Upstream-Status: Pending
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: bash-5.1.8/builtins/Makefile.in
+===================================================================
+--- bash-5.1.8.orig/builtins/Makefile.in
++++ bash-5.1.8/builtins/Makefile.in
+@@ -185,19 +185,17 @@ gen-helpfiles:	tmpbuiltins.o gen-helpfil
+ 	$(CC_FOR_BUILD) ${CCFLAGS_FOR_BUILD} $(LDFLAGS_FOR_BUILD) -o $@ gen-helpfiles.o tmpbuiltins.o $(LIBS_FOR_BUILD)
+ 
+ builtext.h builtins.c: $(MKBUILTINS) $(DEFSRC)
+-	@-if test -f builtins.c; then mv -f builtins.c old-builtins.c; fi
+-	@-if test -f builtext.h; then mv -f builtext.h old-builtext.h; fi
+-	./$(MKBUILTINS) -externfile builtext.h -structfile builtins.c \
++	./$(MKBUILTINS) -externfile builtext-new.h -externfinalfile builtext.h -structfile builtins-new.c \
+ 	    -noproduction $(DIRECTDEFINE) $(HELPDIRDEFINE) $(HELPSTRINGS) $(DEFSRC)
+-	@-if cmp -s old-builtext.h builtext.h 2>/dev/null; then \
+-		mv old-builtext.h builtext.h; \
++	@-if ! cmp -s builtext.h builtext-new.h 2>/dev/null; then \
++		mv builtext-new.h builtext.h; \
+ 	 else \
+-		$(RM) old-builtext.h; \
++		$(RM) builtext-new.h; \
+ 	 fi
+-	@-if cmp -s old-builtins.c builtins.c 2>/dev/null; then \
+-		mv old-builtins.c builtins.c; \
++	@-if ! cmp -s builtins.c builtins-new.c 2>/dev/null; then \
++		mv builtins-new.c builtins.c; \
+ 	 else \
+-		$(RM) old-builtins.c; \
++		$(RM) builtins-new.c; \
+ 	 fi
+ 
+ helpdoc:	gen-helpfiles
+Index: bash-5.1.8/builtins/mkbuiltins.c
+===================================================================
+--- bash-5.1.8.orig/builtins/mkbuiltins.c
++++ bash-5.1.8/builtins/mkbuiltins.c
+@@ -113,6 +113,9 @@ char *struct_filename = (char *)NULL;
+ /* The name of the external declaration file. */
+ char *extern_filename = (char *)NULL;
+ 
++/* The final name of the external declaration file. */
++char *extern_final_filename = (char *)NULL;
++
+ /* Here is a structure for manipulating arrays of data. */
+ typedef struct {
+   int size;		/* Number of slots allocated to array. */
+@@ -230,6 +233,8 @@ main (argc, argv)
+ 
+       if (strcmp (arg, "-externfile") == 0)
+ 	extern_filename = argv[arg_index++];
++      else if (strcmp (arg, "-externfinalfile") == 0)
++	extern_final_filename = argv[arg_index++];
+       else if (strcmp (arg, "-structfile") == 0)
+ 	struct_filename = argv[arg_index++];
+       else if (strcmp (arg, "-noproduction") == 0)
+@@ -273,6 +278,9 @@ main (argc, argv)
+ 	}
+     }
+ 
++  if (!extern_final_filename)
++    extern_final_filename = extern_filename;
++
+   /* If there are no files to process, just quit now. */
+   if (arg_index == argc)
+     exit (0);
+@@ -1174,7 +1182,7 @@ write_file_headers (structfile, externfi
+ 	fprintf (structfile, "%s\n", structfile_header[i]);
+ 
+       fprintf (structfile, "#include \"%s\"\n",
+-	       extern_filename ? extern_filename : "builtext.h");
++	       extern_final_filename ? extern_final_filename : "builtext.h");
+ 
+       fprintf (structfile, "#include \"bashintl.h\"\n");
+ 
+@@ -1184,7 +1192,7 @@ write_file_headers (structfile, externfi
+   if (externfile)
+     fprintf (externfile,
+ 	     "/* %s - The list of builtins found in libbuiltins.a. */\n",
+-	     extern_filename ? extern_filename : "builtext.h");
++	     extern_final_filename ? extern_final_filename : "builtext.h");
+ }
+ 
+ /* Write out any necessary closing information for
diff --git a/poky/meta/recipes-extended/bash/bash_5.1.8.bb b/poky/meta/recipes-extended/bash/bash_5.1.8.bb
new file mode 100644
index 0000000..5d7704a
--- /dev/null
+++ b/poky/meta/recipes-extended/bash/bash_5.1.8.bb
@@ -0,0 +1,25 @@
+require bash.inc
+
+# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
+           file://execute_cmd.patch \
+           file://mkbuiltins_have_stringize.patch \
+           file://build-tests.patch \
+           file://test-output.patch \
+           file://run-ptest \
+           file://run-bash-ptests \
+           file://fix-run-builtins.patch \
+           file://use_aclocal.patch \
+           file://makerace.patch \
+           file://makerace2.patch \
+           "
+
+SRC_URI[tarball.sha256sum] = "0cfb5c9bb1a29f800a97bd242d19511c997a1013815b805e0fdd32214113d6be"
+
+DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-extended/bash/bash_5.1.bb b/poky/meta/recipes-extended/bash/bash_5.1.bb
deleted file mode 100644
index e5e013b..0000000
--- a/poky/meta/recipes-extended/bash/bash_5.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-require bash.inc
-
-# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
-           ${GNU_MIRROR}/bash/bash-${PV}-patches/bash51-001;apply=yes;striplevel=0;name=patch001 \
-           ${GNU_MIRROR}/bash/bash-${PV}-patches/bash51-002;apply=yes;striplevel=0;name=patch002 \
-           ${GNU_MIRROR}/bash/bash-${PV}-patches/bash51-003;apply=yes;striplevel=0;name=patch003 \
-           ${GNU_MIRROR}/bash/bash-${PV}-patches/bash51-004;apply=yes;striplevel=0;name=patch004 \
-           file://execute_cmd.patch \
-           file://mkbuiltins_have_stringize.patch \
-           file://build-tests.patch \
-           file://test-output.patch \
-           file://run-ptest \
-           file://run-bash-ptests \
-           file://fix-run-builtins.patch \
-           file://use_aclocal.patch \
-           file://makerace.patch \
-           "
-
-SRC_URI[tarball.sha256sum] = "cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa"
-SRC_URI[patch001.sha256sum] = "ebb07b3dbadd98598f078125d0ae0d699295978a5cdaef6282fe19adef45b5fa"
-SRC_URI[patch002.sha256sum] = "15ea6121a801e48e658ceee712ea9b88d4ded022046a6147550790caf04f5dbe"
-SRC_URI[patch003.sha256sum] = "22f2cc262f056b22966281babf4b0a2f84cb7dd2223422e5dcd013c3dcbab6b1"
-SRC_URI[patch004.sha256sum] = "9aaeb65664ef0d28c0067e47ba5652b518298b3b92d33327d84b98b28d873c86"
-
-DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
-DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
-
-BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc
index be5a11c..df23825 100644
--- a/poky/meta/recipes-extended/cups/cups.inc
+++ b/poky/meta/recipes-extended/cups/cups.inc
@@ -8,18 +8,17 @@
 LICENSE = "Apache-2.0"
 DEPENDS = "libpng jpeg dbus zlib libusb1"
 
-SRC_URI = "https://github.com/apple/cups/releases/download/v${PV}/${BP}-source.tar.gz \
+SRC_URI = "https://github.com/OpenPrinting/cups/releases/download/v${PV}/cups-${PV}-source.tar.gz \
            file://0001-use-echo-only-in-init.patch \
            file://0002-don-t-try-to-run-generated-binaries.patch \
-           file://0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch \
+           file://libexecdir.patch \
            file://0004-cups-fix-multilib-install-file-conflicts.patch \
            file://volatiles.99_cups \
            file://cups-volatiles.conf \
-           file://CVE-2020-10001.patch \
            "
 
-UPSTREAM_CHECK_URI = "https://github.com/apple/cups/releases"
-UPSTREAM_CHECK_REGEX = "cups-(?P<pver>\d+\.\d+(\.\d+)?)-source.tar"
+UPSTREAM_CHECK_URI = "https://github.com/OpenPrinting/cups/releases"
+UPSTREAM_CHECK_REGEX = "cups-(?P<pver>.+)-source.tar"
 
 # Issue only applies to MacOS
 CVE_CHECK_WHITELIST += "CVE-2008-1033"
@@ -37,7 +36,7 @@
 USERADD_PACKAGES = "${PN}"
 GROUPADD_PARAM_${PN} = "--system lpadmin"
 
-SYSTEMD_SERVICE_${PN} = "org.cups.cupsd.socket org.cups.cupsd.path org.cups.cupsd.service org.cups.cups-lpd.socket"
+SYSTEMD_SERVICE_${PN} = "cups.socket cups.path cups.service cups-lpd.socket"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
                    ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}"
@@ -63,20 +62,8 @@
 
 EXTRA_AUTORECONF += "--exclude=autoheader"
 
-do_compile () {
-	echo "all:"    >  man/Makefile
-	echo "libs:" >> man/Makefile
-	echo "install:" >> man/Makefile
-	echo "install-data:" >> man/Makefile
-	echo "install-exec:" >> man/Makefile
-	echo "install-headers:" >> man/Makefile
-	echo "install-libs:" >> man/Makefile
-
-	oe_runmake
-}
-
 do_install () {
-	oe_runmake "DSTROOT=${D}" install
+	oe_runmake "DESTDIR=${D}" install
 
 	# Remove /var/run from package as cupsd will populate it on startup
 	rm -fr ${D}/${localstatedir}/run
@@ -105,8 +92,7 @@
 PACKAGES =+ "${PN}-lib ${PN}-libimage"
 
 RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}"
-FILES_${PN} += "${libexecdir}/cups/ \
-	       "
+FILES_${PN} += "${libexecdir}/cups/"
 
 FILES_${PN}-lib = "${libdir}/libcups.so.*"
 
diff --git a/poky/meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch b/poky/meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch
index ea248e4..2bc26ed 100644
--- a/poky/meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch
+++ b/poky/meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch
@@ -26,48 +26,6 @@
  
  
  #
-@@ -205,9 +205,9 @@ ppdc-static:		ppdc.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) foo.drv foo-fr.po
- 	$(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
- 		$(LINKCUPSSTATIC)
- 	$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
--	echo Testing PPD compiler...
--	./ppdc-static -l en,fr -I ../data foo.drv
--	./ppdc-static -l en,fr -z -I ../data foo.drv
-+#	echo Testing PPD compiler...
-+#	./ppdc-static -l en,fr -I ../data foo.drv
-+#	./ppdc-static -l en,fr -z -I ../data foo.drv
- 
- 
- #
-@@ -235,17 +235,17 @@ ppdi-static:		ppdc-static ppdi.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC)
- 	$(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdi-static ppdi.o libcupsppdc.a \
- 		$(LINKCUPSSTATIC)
- 	$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
--	echo Testing PPD importer...
--	$(RM) -r ppd ppd2 sample-import.drv
--	./ppdc-static -l en -I ../data sample.drv
--	./ppdi-static -I ../data -o sample-import.drv ppd/*
--	./ppdc-static -l en -I ../data -d ppd2 sample-import.drv
--	if diff -r ppd ppd2 >/dev/null; then \
--		echo PPD import OK; \
--	else \
--		echo PPD import FAILED; \
--		exit 1; \
--	fi
-+#	echo Testing PPD importer...
-+#	$(RM) -r ppd ppd2 sample-import.drv
-+#	./ppdc-static -l en -I ../data sample.drv
-+#	./ppdi-static -I ../data -o sample-import.drv ppd/*
-+#	./ppdc-static -l en -I ../data -d ppd2 sample-import.drv
-+#	if diff -r ppd ppd2 >/dev/null; then \
-+#		echo PPD import OK; \
-+#	else \
-+#		echo PPD import FAILED; \
-+#		exit 1; \
-+#	fi
- 
- 
- #
 -- 
 2.17.1
 
diff --git a/poky/meta/recipes-extended/cups/cups/0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch b/poky/meta/recipes-extended/cups/cups/0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch
deleted file mode 100644
index b48c7a9..0000000
--- a/poky/meta/recipes-extended/cups/cups/0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 66c2079ae91389ee0f9d704bf0d2cccd53b2c603 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 22 Jul 2012 16:54:17 -0700
-Subject: [PATCH 3/4] cups_1.4.6.bb: Fix build on ppc64
-
-Make CUPS_SERVERBIN relative to libdir otherwise on 64bit arches
-e.g. ppc64 where base libdir is lib64 this does not go well
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Inappropriate [OE config specific]
-
-Update on 20190904:
-Redefine CUPS_SERVERBIN to "$libexecdir/cups" which solves file confliction
-when multilib is enabled.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
----
- config-scripts/cups-directories.m4 | 2 +-
- configure                          | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4
-index b74083a..9a5abb2 100644
---- a/config-scripts/cups-directories.m4
-+++ b/config-scripts/cups-directories.m4
-@@ -270,7 +270,7 @@ case "$host_os_name" in
- 	*)
- 		# All others
- 		INSTALL_SYSV="install-sysv"
--		CUPS_SERVERBIN="$exec_prefix/lib/cups"
-+		CUPS_SERVERBIN="$libexecdir/cups"
- 		;;
- esac
- 
-diff --git a/configure b/configure
-index d3df145..bc68a6c 100755
---- a/configure
-+++ b/configure
-@@ -6420,7 +6420,7 @@ case "$host_os_name" in
- 	*)
- 		# All others
- 		INSTALL_SYSV="install-sysv"
--		CUPS_SERVERBIN="$exec_prefix/lib/cups"
-+		CUPS_SERVERBIN="$libexecdir/cups"
- 		;;
- esac
- 
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-extended/cups/cups/CVE-2020-10001.patch b/poky/meta/recipes-extended/cups/cups/CVE-2020-10001.patch
deleted file mode 100644
index 09a0a57..0000000
--- a/poky/meta/recipes-extended/cups/cups/CVE-2020-10001.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From efbea1742bd30f842fbbfb87a473e5c84f4162f9 Mon Sep 17 00:00:00 2001
-From: Michael R Sweet <msweet@msweet.org>
-Date: Mon, 1 Feb 2021 15:02:32 -0500
-Subject: [PATCH] Fix a buffer (read) overflow in ippReadIO (CVE-2020-10001)
-
-Upstream-Status: Backport
-CVE: CVE-2020-10001
-
-Reference to upstream patch:
-[https://github.com/OpenPrinting/cups/commit/efbea1742bd30f842fbbfb87a473e5c84f4162f9]
-
-[SG: Addapted for version 2.3.3]
-Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
----
- CHANGES.md | 2 ++
- cups/ipp.c | 8 +++++---
- 2 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/CHANGES.md b/CHANGES.md
-index df72892..5ca12da 100644
---- a/CHANGES.md
-+++ b/CHANGES.md
-@@ -4,6 +4,8 @@ CHANGES - 2.3.3 - 2020-04-24
- Changes in CUPS v2.3.3
- ----------------------
- 
-+- Security: Fixed a buffer (read) overflow in the `ippReadIO` function
-+  (CVE-2020-10001)
- - CVE-2020-3898: The `ppdOpen` function did not handle invalid UI
-   constraint.  `ppdcSource::get_resolution` function did not handle
-   invalid resolution strings.
-diff --git a/cups/ipp.c b/cups/ipp.c
-index 3d52934..adbb26f 100644
---- a/cups/ipp.c
-+++ b/cups/ipp.c
-@@ -2866,7 +2866,8 @@ ippReadIO(void       *src,		/* I - Data source */
-   unsigned char		*buffer,	/* Data buffer */
- 			string[IPP_MAX_TEXT],
- 					/* Small string buffer */
--			*bufptr;	/* Pointer into buffer */
-+			*bufptr,	/* Pointer into buffer */
-+			*bufend;	/* End of buffer */
-   ipp_attribute_t	*attr;		/* Current attribute */
-   ipp_tag_t		tag;		/* Current tag */
-   ipp_tag_t		value_tag;	/* Current value tag */
-@@ -3441,6 +3442,7 @@ ippReadIO(void       *src,		/* I - Data source */
- 		}
- 
-                 bufptr = buffer;
-+                bufend = buffer + n;
- 
- 	       /*
- 	        * text-with-language and name-with-language are composite
-@@ -3454,7 +3456,7 @@ ippReadIO(void       *src,		/* I - Data source */
- 
- 		n = (bufptr[0] << 8) | bufptr[1];
- 
--		if ((bufptr + 2 + n) >= (buffer + IPP_BUF_SIZE) || n >= (int)sizeof(string))
-+		if ((bufptr + 2 + n + 2) > bufend || n >= (int)sizeof(string))
- 		{
- 		  _cupsSetError(IPP_STATUS_ERROR_INTERNAL,
- 		                _("IPP language length overflows value."), 1);
-@@ -3481,7 +3483,7 @@ ippReadIO(void       *src,		/* I - Data source */
-                 bufptr += 2 + n;
- 		n = (bufptr[0] << 8) | bufptr[1];
- 
--		if ((bufptr + 2 + n) >= (buffer + IPP_BUF_SIZE))
-+		if ((bufptr + 2 + n) > bufend)
- 		{
- 		  _cupsSetError(IPP_STATUS_ERROR_INTERNAL,
- 		                _("IPP string length overflows value."), 1);
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-extended/cups/cups/libexecdir.patch b/poky/meta/recipes-extended/cups/cups/libexecdir.patch
new file mode 100644
index 0000000..2e15841
--- /dev/null
+++ b/poky/meta/recipes-extended/cups/cups/libexecdir.patch
@@ -0,0 +1,27 @@
+Use $libexecdir instead of hardcoding $prefix/lib as this breaks multilib builds.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4
+index 1430af3a6..6efedc604 100644
+--- a/config-scripts/cups-directories.m4
++++ b/config-scripts/cups-directories.m4
+@@ -265,7 +265,7 @@ case "$host_os_name" in
+ 	*-gnu)
+ 		# GNUs
+ 		INSTALL_SYSV="install-sysv"
+-		CUPS_SERVERBIN="$exec_prefix/lib/cups"
++		CUPS_SERVERBIN="$libexecdir/cups"
+ 		;;
+ 	*bsd* | darwin*)
+ 		# *BSD and Darwin (macOS)
+@@ -275,7 +275,7 @@ case "$host_os_name" in
+ 	*)
+ 		# All others
+ 		INSTALL_SYSV="install-sysv"
+-		CUPS_SERVERBIN="$exec_prefix/lib/cups"
++		CUPS_SERVERBIN="$libexecdir/cups"
+ 		;;
+ esac
+ 
\ No newline at end of file
diff --git a/poky/meta/recipes-extended/cups/cups_2.3.3.bb b/poky/meta/recipes-extended/cups/cups_2.3.3.bb
deleted file mode 100644
index 5caeb6f..0000000
--- a/poky/meta/recipes-extended/cups/cups_2.3.3.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require cups.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI[md5sum] = "412434ceefbdf3ec71bc9188a035f589"
-SRC_URI[sha256sum] = "261fd948bce8647b6d5cb2a1784f0c24cc52b5c4e827b71d726020bcc502f3ee"
diff --git a/poky/meta/recipes-extended/cups/cups_2.3.3op2.bb b/poky/meta/recipes-extended/cups/cups_2.3.3op2.bb
new file mode 100644
index 0000000..fc2aa70
--- /dev/null
+++ b/poky/meta/recipes-extended/cups/cups_2.3.3op2.bb
@@ -0,0 +1,5 @@
+require cups.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[sha256sum] = "deb3575bbe79c0ae963402787f265bfcf8d804a71fc2c94318a74efec86f96df"
diff --git a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
index b3f3de4..3b639eb 100644
--- a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
+++ b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
@@ -1,4 +1,4 @@
-From b493e2fb472307997576eef33cce784594070f44 Mon Sep 17 00:00:00 2001
+From e652ccd8965895087887c270fc0d380b61f96b11 Mon Sep 17 00:00:00 2001
 From: Tudor Florea <tudor.florea@enea.com>
 Date: Wed, 28 May 2014 18:59:54 +0200
 Subject: [PATCH] ethtool: use serial-tests config needed by ptest.
@@ -15,11 +15,11 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configure.ac b/configure.ac
-index 13c2bc0..0b6ca1d 100644
+index 6b620bf..ff62b2a 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
- AC_INIT(ethtool, 5.12, netdev@vger.kernel.org)
+ AC_INIT(ethtool, 5.13, netdev@vger.kernel.org)
  AC_PREREQ(2.52)
  AC_CONFIG_SRCDIR([ethtool.c])
 -AM_INIT_AUTOMAKE([gnu subdir-objects])
diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.12.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.13.bb
similarity index 93%
rename from poky/meta/recipes-extended/ethtool/ethtool_5.12.bb
rename to poky/meta/recipes-extended/ethtool/ethtool_5.13.bb
index df7dd47..8f6a790 100644
--- a/poky/meta/recipes-extended/ethtool/ethtool_5.12.bb
+++ b/poky/meta/recipes-extended/ethtool/ethtool_5.13.bb
@@ -11,7 +11,7 @@
            file://avoid_parallel_tests.patch \
            "
 
-SRC_URI[sha256sum] = "7ca623cc1dd25ba66531573da6a11f1ecde9b62b00742d9ba54f9ba983439bfa"
+SRC_URI[sha256sum] = "e66ab0d74d2a888fd64a0053290dbea66ddc9b75b3d21d117b7edd9576b9db60"
 
 UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/"
 
diff --git a/poky/meta/recipes-extended/iputils/iputils_s20200821.bb b/poky/meta/recipes-extended/iputils/iputils_20210202.bb
similarity index 96%
rename from poky/meta/recipes-extended/iputils/iputils_s20200821.bb
rename to poky/meta/recipes-extended/iputils/iputils_20210202.bb
index e43abf2..02a3037 100644
--- a/poky/meta/recipes-extended/iputils/iputils_s20200821.bb
+++ b/poky/meta/recipes-extended/iputils/iputils_20210202.bb
@@ -13,11 +13,11 @@
 SRC_URI = "git://github.com/iputils/iputils \
            file://0001-rarpd-rdisc-Drop-PrivateUsers.patch \
            "
-SRCREV = "23c3782ae0c7f9c6ae59dbed8ad9204f8758542b"
+SRCREV = "cc16da6b574ce6637f3e6e9ab3c1a728663006ff"
 
 S = "${WORKDIR}/git"
 
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>s\d+)"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>20\d+)"
 
 # Fixed in 2000-10-10, but the versioning of iputils
 # breaks the version order.
diff --git a/poky/meta/recipes-extended/man-pages/man-pages_5.11.bb b/poky/meta/recipes-extended/man-pages/man-pages_5.12.bb
similarity index 80%
rename from poky/meta/recipes-extended/man-pages/man-pages_5.11.bb
rename to poky/meta/recipes-extended/man-pages/man-pages_5.12.bb
index 3cd0bc5..a5b2c30 100644
--- a/poky/meta/recipes-extended/man-pages/man-pages_5.11.bb
+++ b/poky/meta/recipes-extended/man-pages/man-pages_5.12.bb
@@ -4,10 +4,10 @@
 HOMEPAGE = "http://www.kernel.org/pub/linux/docs/man-pages"
 LICENSE = "GPLv2+"
 
-LIC_FILES_CHKSUM = "file://README;md5=207f70f56526417514ac46b6680e314f"
+LIC_FILES_CHKSUM = "file://README;md5=92cd5ee2e0b35d782817e7e277b6ce4b"
 SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz"
 
-SRC_URI[sha256sum] = "3759aee7cd4a229173d3cb651fbba438777bee6206da8d75ea04caaa7c8662b0"
+SRC_URI[sha256sum] = "2684d42ab53184d7607105834e277577daa7e854cdce0d4aacf9f7ad8437c7ce"
 
 inherit manpages
 
@@ -20,7 +20,7 @@
 do_compile[noexec] = "1"
 
 do_install() {
-        oe_runmake install DESTDIR=${D}
+        oe_runmake install prefix=${prefix} DESTDIR=${D}
 }
 
 # Only deliveres man-pages so FILES_${PN} gets everything
diff --git a/poky/meta/recipes-extended/parted/files/check-vfat.patch b/poky/meta/recipes-extended/parted/files/check-vfat.patch
new file mode 100644
index 0000000..c64130a
--- /dev/null
+++ b/poky/meta/recipes-extended/parted/files/check-vfat.patch
@@ -0,0 +1,51 @@
+Add checks for both mkfs.vfat and the vfat file system in the kernel before
+running tests.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/tests/t-lib-helpers.sh b/tests/t-lib-helpers.sh
+index 4c6c75f..2cc7577 100644
+--- a/tests/t-lib-helpers.sh
++++ b/tests/t-lib-helpers.sh
+@@ -418,3 +418,13 @@ require_64bit_()
+           ;;
+   esac
+ }
++
++# Check if the specified filesystem is either built into the kernel, or can be loaded
++# as a module
++# Usage: has_filesystem vfat
++# Ruturns 0 if the filesystem is available, otherwise skips the test
++require_filesystem_()
++{
++  grep -q $1 /proc/filesystems && return 0
++  modprobe --quiet --dry-run $1 || skip_ "this test requires kernel support for $1"
++}
+diff --git a/tests/t1100-busy-label.sh b/tests/t1100-busy-label.sh
+index f1a13df..0f47b08 100755
+--- a/tests/t1100-busy-label.sh
++++ b/tests/t1100-busy-label.sh
+@@ -19,6 +19,9 @@
+ . "${srcdir=.}/init.sh"; path_prepend_ ../parted
+ require_root_
+ require_scsi_debug_module_
++require_fat_
++require_filesystem_ vfat
++
+ ss=$sector_size_
+ 
+ scsi_debug_setup_ sector_size=$ss dev_size_mb=90 > dev-name ||
+diff --git a/tests/t1101-busy-partition.sh b/tests/t1101-busy-partition.sh
+index e35e6f0..c813848 100755
+--- a/tests/t1101-busy-partition.sh
++++ b/tests/t1101-busy-partition.sh
+@@ -22,6 +22,8 @@ test "$VERBOSE" = yes && parted --version
+ 
+ require_root_
+ require_scsi_debug_module_
++require_fat_
++require_filesystem_ vfat
+ 
+ # create memory-backed device
+ scsi_debug_setup_ dev_size_mb=80 > dev-name ||
diff --git a/poky/meta/recipes-extended/parted/files/no_check.patch b/poky/meta/recipes-extended/parted/files/no_check.patch
deleted file mode 100644
index e6a26d1..0000000
--- a/poky/meta/recipes-extended/parted/files/no_check.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-If check is detected, it makes the builds non-determinstic so just force
-it to be disabled.
-
-RP - 4/11/08
-
-Index: parted-3.2/configure.ac
-===================================================================
---- parted-3.2.orig/configure.ac
-+++ parted-3.2/configure.ac
-@@ -555,7 +555,7 @@ AC_CHECK_HEADER([execinfo.h], [
- AM_CONDITIONAL([COMPILE_FOR_S390], [test "$host_cpu" = s390 || test "$host_cpu" = s390x])
- 
- dnl check for "check", unit testing library/header
--PKG_CHECK_MODULES([CHECK], [check >= 0.9.3], have_check=yes, have_check=no)
-+have_check=no
- if test "$have_check" != "yes"; then
-     AC_MSG_RESULT([Unable to locate check version 0.9.3 or higher: not building])
- fi
diff --git a/poky/meta/recipes-extended/parted/files/run-ptest b/poky/meta/recipes-extended/parted/files/run-ptest
index 374f1bf..c3d6fca 100644
--- a/poky/meta/recipes-extended/parted/files/run-ptest
+++ b/poky/meta/recipes-extended/parted/files/run-ptest
@@ -2,6 +2,6 @@
 
 mkdir -p /etc/udev/mount.blacklist.d
 echo /dev/sda1 >> /etc/udev/mount.blacklist.d/parted-tmp
-rm -f *.log
+rm -f tests/*.log
 make -C tests test-suite.log
 rm /etc/udev/mount.blacklist.d/parted-tmp
diff --git a/poky/meta/recipes-extended/parted/parted_3.4.bb b/poky/meta/recipes-extended/parted/parted_3.4.bb
index fb58348..d9b3ffb 100644
--- a/poky/meta/recipes-extended/parted/parted_3.4.bb
+++ b/poky/meta/recipes-extended/parted/parted_3.4.bb
@@ -7,20 +7,19 @@
 DEPENDS = "ncurses util-linux virtual/libiconv"
 
 SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \
-           file://no_check.patch \
            file://fix-doc-mandir.patch \
            file://0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch \
            file://run-ptest \
+           file://check-vfat.patch \
            "
 
 SRC_URI[md5sum] = "357d19387c6e7bc4a8a90fe2d015fe80"
 SRC_URI[sha256sum] = "e1298022472da5589b7f2be1d5ee3c1b66ec3d96dfbad03dc642afd009da5342"
 
-EXTRA_OECONF = "--disable-device-mapper"
-
 inherit autotools pkgconfig gettext texinfo ptest
 
 PACKAGECONFIG ?= "readline"
+PACKAGECONFIG[device-mapper] = "--enable-device-mapper,--disable-device-mapper,libdevmapper lvm2"
 PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
 
 BBCLASSEXTEND = "native nativesdk"
@@ -35,10 +34,13 @@
 	cp ${S}/build-aux/test-driver $t/build-aux/
 	cp -r ${S}/tests $t
 	cp ${B}/tests/Makefile $t/tests/
+	mkdir $t/lib
+	cp ${B}/lib/config.h $t/lib
 	sed -i "s|^VERSION.*|VERSION = ${PV}|g" $t/tests/Makefile
 	sed -i "s|^srcdir =.*|srcdir = \.|g" $t/tests/Makefile
 	sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g" $t/tests/Makefile
-	sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = \.\.|g" $t/tests/Makefile
+	sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = "${PTEST_PATH}"|g" $t/tests/Makefile
+	sed -i "s|^abs_top_builddir =.*|abs_top_builddir = "${PTEST_PATH}"|g" $t/tests/Makefile
 	sed -i "s|^Makefile:.*|Makefile:|g" $t/tests/Makefile
 	sed -i "/^BUILDINFO.*$/d" $t/tests/Makefile
 	for i in print-align print-max print-flags dup-clobber duplicate fs-resize; \
@@ -47,8 +49,8 @@
 	sed -e 's| ../parted||' -i $t/tests/*.sh
 }
 
-RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup python3 make gawk e2fsprogs-mke2fs python3-core dosfstools"
-RRECOMMENDS_${PN}-ptest = "kernel-module-scsi-debug"
+RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup util-linux-mkswap python3 make gawk e2fsprogs-mke2fs e2fsprogs-tune2fs python3-core dosfstools"
+RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug kernel-module-loop kernel-module-vfat"
 RDEPENDS_${PN}-ptest_append_libc-glibc = "\
         glibc-utils \
         locale-base-en-us \
diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc
index 2278541..2cbdfbc 100644
--- a/poky/meta/recipes-extended/shadow/shadow.inc
+++ b/poky/meta/recipes-extended/shadow/shadow.inc
@@ -173,6 +173,8 @@
 ALTERNATIVE_PRIORITY = "200"
 
 ALTERNATIVE_${PN} = "passwd chfn chsh chpasswd vipw vigr nologin"
+ALTERNATIVE_LINK_NAME[chfn] = "${bindir}/chfn"
+ALTERNATIVE_LINK_NAME[chsh] = "${bindir}/chsh"
 ALTERNATIVE_LINK_NAME[chpasswd] = "${sbindir}/chpasswd"
 ALTERNATIVE_LINK_NAME[vipw] = "${base_sbindir}/vipw"
 ALTERNATIVE_LINK_NAME[vigr] = "${base_sbindir}/vigr"
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.10.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb
similarity index 89%
rename from poky/meta/recipes-extended/stress-ng/stress-ng_0.12.10.bb
rename to poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb
index 7b06f00..97eaa75 100644
--- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.10.bb
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb
@@ -9,7 +9,7 @@
            file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \
            file://no_daddr_t.patch \
            "
-SRC_URI[sha256sum] = "bd167b6559fa8a28680371b1defd3ffe2344eb550129d58dd7d5e2d568f2786e"
+SRC_URI[sha256sum] = "f27af50f6f2308e707fef927674bdd209a046b116734281b792aeca35a4e4499"
 
 DEPENDS = "coreutils-native"
 
diff --git a/poky/meta/recipes-extended/texinfo/texinfo/texinfo-4.12-zlib.patch b/poky/meta/recipes-extended/texinfo/texinfo/texinfo-4.12-zlib.patch
deleted file mode 100644
index f72097e..0000000
--- a/poky/meta/recipes-extended/texinfo/texinfo/texinfo-4.12-zlib.patch
+++ /dev/null
@@ -1,254 +0,0 @@
-From 3d3b66cf398853c666e724c3dbcc37d53a2240d5 Mon Sep 17 00:00:00 2001
-From: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
-Date: Tue, 29 Nov 2016 12:27:17 -0600
-Subject: [PATCH] texinfo-4.12-zlib
-
-Upstream-Status: Pending
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
-
----
- install-info/Makefile.in    |  2 +-
- install-info/install-info.c | 79 ++++++++++++++++++++++---------------
- 2 files changed, 48 insertions(+), 33 deletions(-)
-
-diff --git a/install-info/Makefile.in b/install-info/Makefile.in
-index c924509..746df05 100644
---- a/install-info/Makefile.in
-+++ b/install-info/Makefile.in
-@@ -218,7 +218,7 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
- PROGRAMS = $(bin_PROGRAMS)
- am_ginstall_info_OBJECTS = install-info.$(OBJEXT)
- ginstall_info_OBJECTS = $(am_ginstall_info_OBJECTS)
--ginstall_info_LDADD = $(LDADD)
-+ginstall_info_LDADD = $(LDADD) -lz
- am__DEPENDENCIES_1 =
- ginstall_info_DEPENDENCIES = $(top_builddir)/gnulib/lib/libgnu.a \
- 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-diff --git a/install-info/install-info.c b/install-info/install-info.c
-index 21f4fe3..a7aba82 100644
---- a/install-info/install-info.c
-+++ b/install-info/install-info.c
-@@ -19,6 +19,7 @@
- #include <getopt.h>
- #include <regex.h>
- #include <argz.h>
-+#include <zlib.h>
- 
- #define TAB_WIDTH 8
- 
-@@ -681,15 +682,15 @@ The first time you invoke Info you start off looking at this node.\n\
-    
-    Return either stdin reading the file, or a non-stdin pipe reading
-    the output of the compression program.  */
--FILE *
-+void *
- open_possibly_compressed_file (char *filename,
-     void (*create_callback) (char *),
--    char **opened_filename, char **compression_program) 
-+    char **opened_filename, char **compression_program, int *is_pipe)
- {
-   char *local_opened_filename, *local_compression_program;
-   int nread;
-   char data[13];
--  FILE *f;
-+  gzFile *f;
- 
-   /* We let them pass NULL if they don't want this info, but it's easier
-      to always determine it.  */
-@@ -697,48 +698,48 @@ open_possibly_compressed_file (char *filename,
-     opened_filename = &local_opened_filename;
- 
-   *opened_filename = filename;
--  f = fopen (*opened_filename, FOPEN_RBIN);
-+  f = gzopen (*opened_filename, FOPEN_RBIN);
-   if (!f)
-     {
-       *opened_filename = concat (filename, ".gz", "");
--      f = fopen (*opened_filename, FOPEN_RBIN);
-+      f = gzopen (*opened_filename, FOPEN_RBIN);
-     }
-   if (!f)
-     {
-       free (*opened_filename);
-       *opened_filename = concat (filename, ".xz", "");
--      f = fopen (*opened_filename, FOPEN_RBIN);
-+      f = gzopen (*opened_filename, FOPEN_RBIN);
-     }
-   if (!f)
-     {
-       free (*opened_filename);
-       *opened_filename = concat (filename, ".bz2", "");
--      f = fopen (*opened_filename, FOPEN_RBIN);
-+      f = gzopen (*opened_filename, FOPEN_RBIN);
-     }
-   if (!f)
-     {
-       free (*opened_filename);
-       *opened_filename = concat (filename, ".lz", "");
--      f = fopen (*opened_filename, FOPEN_RBIN);
-+      f = gzopen (*opened_filename, FOPEN_RBIN);
-     }
-   if (!f)
-     {
-      free (*opened_filename);
-      *opened_filename = concat (filename, ".lzma", "");
--     f = fopen (*opened_filename, FOPEN_RBIN);
-+     f = gzopen (*opened_filename, FOPEN_RBIN);
-     }
- #ifdef __MSDOS__
-   if (!f)
-     {
-       free (*opened_filename);
-       *opened_filename = concat (filename, ".igz", "");
--      f = fopen (*opened_filename, FOPEN_RBIN);
-+      f = gzopen (*opened_filename, FOPEN_RBIN);
-     }
-   if (!f)
-     {
-       free (*opened_filename);
-       *opened_filename = concat (filename, ".inz", "");
--      f = fopen (*opened_filename, FOPEN_RBIN);
-+      f = gzopen (*opened_filename, FOPEN_RBIN);
-     }
- #endif /* __MSDOS__ */
-   if (!f)
-@@ -754,7 +755,7 @@ open_possibly_compressed_file (char *filename,
-           (*create_callback) (filename);
- 
-           /* And try opening it again.  */
--          f = fopen (*opened_filename, FOPEN_RBIN);
-+          f = gzopen (*opened_filename, FOPEN_RBIN);
-           if (!f)
-             return 0;
-         }
-@@ -764,26 +765,26 @@ open_possibly_compressed_file (char *filename,
- 
-   /* Read first few bytes of file rather than relying on the filename.
-      If the file is shorter than this it can't be usable anyway.  */
--  nread = fread (data, sizeof (data), 1, f);
--  if (nread != 1)
-+  nread = gzread (f, data, sizeof (data));
-+  if (nread != sizeof (data))
-     {
--      if (nread == 0)
-+      if (nread >= 0)
-         {
-           /* Try to create the file if its empty. */
--          if (feof (f) && create_callback)
-+          if (gzeof(f) && create_callback)
-             {
--              if (fclose (f) != 0)
-+              if (gzclose(f) != 0)
-                 return 0; /* unknown error closing file */
- 
--              if (remove (filename) != 0)
-+              if (remove(filename) != 0)
-                 return 0; /* unknown error deleting file */
- 
-               (*create_callback) (filename);
--              f = fopen (*opened_filename, FOPEN_RBIN);
-+              f = gzopen (*opened_filename, FOPEN_RBIN);
-               if (!f)
-                 return 0;
--              nread = fread (data, sizeof (data), 1, f);
--              if (nread == 0)
-+              nread = gzread(f, data, sizeof (data));
-+              if (nread >= 0)
-                 return 0;
-               goto determine_file_type; /* success */
-             }
-@@ -854,35 +855,40 @@ determine_file_type:
-     *compression_program = NULL;
- 
-   /* Seek back over the magic bytes.  */
--  if (fseek (f, 0, 0) < 0)
-+  if (gzseek (f, 0, SEEK_SET) == -1)
-     return 0;
- 
-   if (*compression_program)
-     { /* It's compressed, so open a pipe.  */
-+      FILE *p;
-       char *command = concat (*compression_program, " -d", "");
- 
--      if (fclose (f) < 0)
-+      if (gzclose (f) < 0)
-         return 0;
--      f = freopen (*opened_filename, FOPEN_RBIN, stdin);
--      if (!f)
-+      p = freopen (*opened_filename, FOPEN_RBIN, stdin);
-+      if (!p)
-         return 0;
--      f = popen (command, "r");
--      if (!f)
-+      p = popen (command, "r");
-+      if (!p)
-         {
-           /* Used for error message in calling code. */
-           *opened_filename = command;
-           return 0;
-         }
-+      else
-+        *is_pipe = 1;
-+      return p;
-     }
-   else
-     {
--#if O_BINARY
-+#if 0 && O_BINARY
-       /* Since this is a text file, and we opened it in binary mode,
-          switch back to text mode.  */
-       f = freopen (*opened_filename, "r", f);
-       if (! f)
- 	return 0;
- #endif
-+      *is_pipe = 0;
-     }
- 
-   return f;
-@@ -901,7 +907,8 @@ readfile (char *filename, int *sizep,
-     void (*create_callback) (char *), char **opened_filename,
-     char **compression_program)
- {
--  FILE *f;
-+  void *f;
-+  int pipe_p;
-   int filled = 0;
-   int data_size = 8192;
-   char *data = xmalloc (data_size);
-@@ -909,14 +916,20 @@ readfile (char *filename, int *sizep,
-   /* If they passed the space for the file name to return, use it.  */
-   f = open_possibly_compressed_file (filename, create_callback,
-                                      opened_filename,
--                                     compression_program);
-+                                     compression_program,
-+                                     &pipe_p);
- 
-   if (!f)
-     return 0;
- 
-   for (;;)
-     {
--      int nread = fread (data + filled, 1, data_size - filled, f);
-+      int nread;
-+
-+      if (pipe_p)
-+        nread = fread (data + filled, 1, data_size - filled, f);
-+      else
-+        nread = gzread (f, data + filled, data_size - filled);
-       if (nread < 0)
-         return 0;
-       if (nread == 0)
-@@ -935,8 +948,10 @@ readfile (char *filename, int *sizep,
-   /* We need to close the stream, since on some systems the pipe created
-      by popen is simulated by a temporary file which only gets removed
-      inside pclose.  */
--  if (f != stdin)
-+  if (pipe_p)
-     pclose (f);
-+  else
-+    gzclose (f);
- 
-   *sizep = filled;
-   return data;
diff --git a/poky/meta/recipes-extended/texinfo/texinfo_6.7.bb b/poky/meta/recipes-extended/texinfo/texinfo_6.8.bb
similarity index 93%
rename from poky/meta/recipes-extended/texinfo/texinfo_6.7.bb
rename to poky/meta/recipes-extended/texinfo/texinfo_6.8.bb
index d421b79..e5046ff 100644
--- a/poky/meta/recipes-extended/texinfo/texinfo_6.7.bb
+++ b/poky/meta/recipes-extended/texinfo/texinfo_6.8.bb
@@ -29,15 +29,13 @@
 TARGET_PATCH_class-native = ""
 
 SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \
-           file://texinfo-4.12-zlib.patch \
            file://disable-native-tools.patch \
            file://link-zip.patch \
            file://dont-depend-on-help2man.patch \
            ${TARGET_PATCH} \
            "
 
-SRC_URI[md5sum] = "f0c1782f68ef73738d74bd1e9e30793a"
-SRC_URI[sha256sum] = "a52d05076b90032cb2523673c50e53185938746482cf3ca0213e9b4b50ac2d3e"
+SRC_URI[sha256sum] = "8e09cf753ad1833695d2bac0f57dc3bd6bcbbfbf279450e1ba3bc2d7fb297d08"
 
 tex_texinfo = "texmf/tex/texinfo"
 
diff --git a/poky/meta/recipes-extended/timezone/tzdata.bb b/poky/meta/recipes-extended/timezone/tzdata.bb
index f844311..09145e1 100644
--- a/poky/meta/recipes-extended/timezone/tzdata.bb
+++ b/poky/meta/recipes-extended/timezone/tzdata.bb
@@ -19,13 +19,17 @@
         "
 # pacificnew 
 
+# "slim" is the default since 2020b
+# "fat" is needed by e.g. MariaDB's mysql_tzinfo_to_sql
+ZIC_FMT ?= "slim"
+
 do_compile () {
         for zone in ${TZONES}; do \
-            ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo -L /dev/null \
+            ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${WORKDIR}${datadir}/zoneinfo -L /dev/null \
                 ${S}/${zone} ; \
-            ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/posix -L /dev/null \
+            ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${WORKDIR}${datadir}/zoneinfo/posix -L /dev/null \
                 ${S}/${zone} ; \
-            ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/right -L ${S}/leapseconds \
+            ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${WORKDIR}${datadir}/zoneinfo/right -L ${S}/leapseconds \
                 ${S}/${zone} ; \
         done
 }
diff --git a/poky/meta/recipes-extended/zstd/zstd_1.5.0.bb b/poky/meta/recipes-extended/zstd/zstd_1.5.0.bb
index 806edb6..3786058 100644
--- a/poky/meta/recipes-extended/zstd/zstd_1.5.0.bb
+++ b/poky/meta/recipes-extended/zstd/zstd_1.5.0.bb
@@ -29,10 +29,12 @@
 
 do_compile () {
     oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT}
+    oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT} -C contrib/pzstd
 }
 
 do_install () {
     oe_runmake install 'DESTDIR=${D}'
+    oe_runmake install 'DESTDIR=${D}' PREFIX=${prefix} -C contrib/pzstd
 }
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb
index 4c986a5..048deab 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb
@@ -6,7 +6,7 @@
 HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection"
 BUGTRACKER = "https://gitlab.gnome.org/GNOME/gobject-introspection/issues"
 SECTION = "libs"
-LICENSE = "LGPLv2+ & GPLv2+"
+LICENSE = "LGPLv2+ & GPLv2+ & MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \
                     file://tools/compiler.c;endline=20;md5=fc5007fc20022720e6c0b0cdde41fabd \
                     file://giscanner/sourcescanner.c;endline=22;md5=194d6e0c1d00662f32d030ce44de8d39 \
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3.inc b/poky/meta/recipes-gnome/gtk+/gtk+3.inc
index 8d5edb7..1445c40 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -63,7 +63,6 @@
 PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,,libgl"
 PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
 PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
-PACKAGECONFIG[cloudprint] = "--enable-cloudprint,--disable-cloudprint,rest json-glib"
 PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord"
 
 prepare_gtk_scripts() {
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch b/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
index 398c9bc..35cbab8 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
@@ -1,4 +1,4 @@
-From f83fcf1991afad6d9c15546b2ccd775dad4e314c Mon Sep 17 00:00:00 2001
+From eef50c94587fc30cd624adb5eb213eb9fa663dc1 Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Tue, 21 Jun 2016 15:11:39 +0300
 Subject: [PATCH] Add --disable-opengl configure option
@@ -47,7 +47,7 @@
  create mode 100644 gdk/x11/gdkx-without-gl-context.h
 
 diff --git a/configure.ac b/configure.ac
-index bd651bb..b4c061f 100644
+index 851bcbf..6cbf6a2 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -346,6 +346,15 @@ AC_ARG_ENABLE(cloudproviders,
@@ -210,7 +210,7 @@
  
    return info;
 diff --git a/gdk/Makefile.am b/gdk/Makefile.am
-index 479d6a1..7edbee8 100644
+index 710a548..b45f631 100644
 --- a/gdk/Makefile.am
 +++ b/gdk/Makefile.am
 @@ -274,7 +274,6 @@ x11_introspection_files = 		\
@@ -243,10 +243,10 @@
  GdkX11_3_0_gir_SCANNERFLAGS = 		\
  	--identifier-prefix=Gdk		\
 diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
-index 240c99f..9eb49bf 100644
+index 748f548..911ab2a 100644
 --- a/gdk/gdkdisplay.c
 +++ b/gdk/gdkdisplay.c
-@@ -2419,7 +2419,9 @@ gboolean
+@@ -2420,7 +2420,9 @@ gboolean
  gdk_display_make_gl_context_current (GdkDisplay   *display,
                                       GdkGLContext *context)
  {
@@ -258,7 +258,7 @@
  
  GdkRenderingMode
 diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
-index 933e204..1767508 100644
+index 9690077..55f85ef 100644
 --- a/gdk/gdkgl.c
 +++ b/gdk/gdkgl.c
 @@ -26,7 +26,9 @@
@@ -334,7 +334,7 @@
 +#endif
  }
 diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
-index dfbed63..556f0a3 100644
+index 3b23639..1f04f8e 100644
 --- a/gdk/gdkglcontext.c
 +++ b/gdk/gdkglcontext.c
 @@ -85,7 +85,9 @@
@@ -380,7 +380,7 @@
  
  /**
 diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
-index 6ae0f86..4e48a2a 100644
+index 2de8ba4..1883a79 100644
 --- a/gdk/gdkwindow.c
 +++ b/gdk/gdkwindow.c
 @@ -45,7 +45,9 @@
@@ -513,7 +513,7 @@
 +
  -include $(top_srcdir)/git.mk
 diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
-index 817944e..e7a2947 100644
+index 7e08f47..30fd7b6 100644
 --- a/gdk/x11/gdkdisplay-x11.c
 +++ b/gdk/x11/gdkdisplay-x11.c
 @@ -37,7 +37,9 @@
@@ -526,7 +526,7 @@
  #include "gdk-private.h"
  #include "gdkprofilerprivate.h"
  
-@@ -3188,7 +3190,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
+@@ -3191,7 +3193,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
    display_class->text_property_to_utf8_list = _gdk_x11_display_text_property_to_utf8_list;
    display_class->utf8_to_string_target = _gdk_x11_display_utf8_to_string_target;
  
@@ -538,10 +538,10 @@
    display_class->get_default_seat = gdk_x11_display_get_default_seat;
  
 diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
-index 8939ae9..931bff9 100644
+index bb4df05..46f5349 100644
 --- a/gdk/x11/gdkscreen-x11.c
 +++ b/gdk/x11/gdkscreen-x11.c
-@@ -1723,3 +1723,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen)
+@@ -1827,3 +1827,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen)
  {
    return get_netwm_cardinal_property (screen, "_NET_CURRENT_DESKTOP");
  }
@@ -551,7 +551,7 @@
 +void _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) {}
 +#endif
 diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
-index 1fe7b90..d23a347 100644
+index 721d9bb..8e87acc 100644
 --- a/gdk/x11/gdkwindow-x11.c
 +++ b/gdk/x11/gdkwindow-x11.c
 @@ -36,7 +36,9 @@
@@ -564,7 +564,7 @@
  #include "gdkprivate-x11.h"
  #include "gdk-private.h"
  
-@@ -5861,7 +5863,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
+@@ -5881,7 +5883,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
    impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
    impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
    impl_class->show_window_menu = gdk_x11_window_show_window_menu;
@@ -668,10 +668,10 @@
 +
 +#endif /* __GDK_X_H__ */
 diff --git a/gtk/Makefile.am b/gtk/Makefile.am
-index eaca473..99352d1 100644
+index 074fb35..4fa9eb6 100644
 --- a/gtk/Makefile.am
 +++ b/gtk/Makefile.am
-@@ -1449,7 +1449,7 @@ gtktypefuncs.inc: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_s
+@@ -1457,7 +1457,7 @@ gtktypefuncs.inc: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_s
  	  ${CPP} $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
  	  $(GREP) -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
  	  sort | uniq | \
@@ -681,7 +681,7 @@
  $(srcdir)/gtktestutils.c: gtktypefuncs.inc
  
 diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
-index 9a56443..7de0db2 100644
+index 802303e..33001cf 100644
 --- a/gtk/gtkglarea.c
 +++ b/gtk/gtkglarea.c
 @@ -29,7 +29,9 @@
@@ -724,8 +724,8 @@
  
    g_return_if_fail (GTK_IS_GL_AREA (area));
 @@ -533,11 +540,13 @@ gtk_gl_area_attach_buffers (GtkGLArea *area)
-         glFramebufferRenderbufferEXT (GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT,
-                                       GL_RENDERBUFFER_EXT, priv->depth_stencil_buffer);
+         glFramebufferRenderbuffer (GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
+                                    GL_RENDERBUFFER, priv->depth_stencil_buffer);
      }
 +#endif
  }
@@ -738,7 +738,7 @@
  
    if (priv->context == NULL)
 @@ -569,6 +578,7 @@ gtk_gl_area_delete_buffers (GtkGLArea *area)
-       glDeleteFramebuffersEXT (1, &priv->frame_buffer);
+       glDeleteFramebuffers (1, &priv->frame_buffer);
        priv->frame_buffer = 0;
      }
 +#endif
@@ -777,7 +777,7 @@
  
  static gboolean
 diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
-index c241ec8..24576dd 100644
+index 48237d1..1f9b9be 100644
 --- a/gtk/inspector/general.c
 +++ b/gtk/inspector/general.c
 @@ -33,8 +33,10 @@
@@ -824,7 +824,7 @@
    if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()))
      {
 diff --git a/tests/Makefile.am b/tests/Makefile.am
-index ee1e8b5..e6c6502 100644
+index f283e89..5e7180e 100644
 --- a/tests/Makefile.am
 +++ b/tests/Makefile.am
 @@ -80,8 +80,6 @@ noinst_PROGRAMS =  $(TEST_PROGS)	\
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.29.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.30.bb
similarity index 89%
rename from poky/meta/recipes-gnome/gtk+/gtk+3_3.24.29.bb
rename to poky/meta/recipes-gnome/gtk+/gtk+3_3.24.30.bb
index 031fbb6..7e7566f 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.29.bb
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.30.bb
@@ -8,7 +8,7 @@
            file://0003-Add-disable-opengl-configure-option.patch \
            file://link_fribidi.patch \
            "
-SRC_URI[sha256sum] = "f57ec4ade8f15cab0c23a80dcaee85b876e70a8823d9105f067ce335a8268caa"
+SRC_URI[sha256sum] = "ba75bfff320ad1f4cfbee92ba813ec336322cc3c660d406aad014b07087a3ba9"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
diff --git a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb
index 3b308318..23cd259 100644
--- a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb
+++ b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb
@@ -48,7 +48,6 @@
 }
 
 FILES_${PN} += "${datadir}/sgml"
-FILES_${PN}-dev += "${libdir}/cmake"
 FILES_${PN}-doc = ""
 
 SYSROOT_PREPROCESS_FUNCS_append_class-native = " gtkdoc_makefiles_sysroot_preprocess"
diff --git a/poky/meta/recipes-gnome/libgudev/libgudev_236.bb b/poky/meta/recipes-gnome/libgudev/libgudev_236.bb
index daa578d..5d1d2d7 100644
--- a/poky/meta/recipes-gnome/libgudev/libgudev_236.bb
+++ b/poky/meta/recipes-gnome/libgudev/libgudev_236.bb
@@ -26,3 +26,8 @@
 
 UPSTREAM_CHECK_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgudev/"
 UPSTREAM_CHECK_REGEX = "(?P<pver>(\d+))"
+
+# This isn't a GNOME-style version do gnome_verdir fails. Just return the
+# version as that is how the directory is structured.
+def gnome_verdir(v):
+    return v
diff --git a/poky/meta/recipes-gnome/libhandy/libhandy_1.2.2.bb b/poky/meta/recipes-gnome/libhandy/libhandy_1.2.3.bb
similarity index 92%
rename from poky/meta/recipes-gnome/libhandy/libhandy_1.2.2.bb
rename to poky/meta/recipes-gnome/libhandy/libhandy_1.2.3.bb
index 9652948..acb6e53 100644
--- a/poky/meta/recipes-gnome/libhandy/libhandy_1.2.2.bb
+++ b/poky/meta/recipes-gnome/libhandy/libhandy_1.2.3.bb
@@ -9,8 +9,8 @@
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
-SRC_URI = "git://gitlab.gnome.org/GNOME/libhandy.git;protocol=https"
-SRCREV = "09f36006b26f41a2bb383b0c853e954c5792cfe1"
+SRC_URI = "git://gitlab.gnome.org/GNOME/libhandy.git;protocol=https;branch=libhandy-1-2"
+SRCREV = "e9ca4ac4b134bbd6ab91b6f916a915192fd3a465"
 S = "${WORKDIR}/git"
 
 GIR_MESON_ENABLE_FLAG = 'enabled'
diff --git a/poky/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.301.bb b/poky/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.301.bb
index 8dc4ceb..b0ce561 100644
--- a/poky/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.301.bb
+++ b/poky/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_0.301.bb
@@ -20,3 +20,8 @@
 EXTRA_OEMESON += "-Duseprebuilt=true -Dbuildappstream=false"
 
 FILES_${PN} = "${datadir}/fonts ${datadir}/fontconfig"
+
+# This isn't a GNOME-style version do gnome_verdir fails. Just return the
+# version as that is how the directory is structured.
+def gnome_verdir(v):
+    return v
diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.106.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.107.bb
similarity index 96%
rename from poky/meta/recipes-graphics/drm/libdrm_2.4.106.bb
rename to poky/meta/recipes-graphics/drm/libdrm_2.4.107.bb
index 2f63489..1dd0704 100644
--- a/poky/meta/recipes-graphics/drm/libdrm_2.4.106.bb
+++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.107.bb
@@ -13,7 +13,7 @@
 SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \
           "
 
-SRC_URI[sha256sum] = "92d8ac54429b171e087e61c2894dc5399fe6a549b1fbba09fa6a3cb9d4e57bd4"
+SRC_URI[sha256sum] = "c554cef03b033636a975543eab363cc19081cb464595d3da1ec129f87370f888"
 
 inherit meson pkgconfig manpages
 
diff --git a/poky/meta/recipes-graphics/glslang/glslang_11.4.0.bb b/poky/meta/recipes-graphics/glslang/glslang_11.5.0.bb
similarity index 95%
rename from poky/meta/recipes-graphics/glslang/glslang_11.4.0.bb
rename to poky/meta/recipes-graphics/glslang/glslang_11.5.0.bb
index fd4cf6d..e3eaa2a 100644
--- a/poky/meta/recipes-graphics/glslang/glslang_11.4.0.bb
+++ b/poky/meta/recipes-graphics/glslang/glslang_11.5.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=c5ce49c0456e9b413b98a4368c378229"
 
-SRCREV = "18eef33bd7a4bf5ad8c69f99cb72022608cf6e73"
+SRCREV = "ae2a562936cc8504c9ef2757cceaff163147834f"
 SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https \
            file://0001-generate-glslang-pkg-config.patch"
 UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Removed-unused-variable-supp_size-from-plan_subset_e.patch b/poky/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Removed-unused-variable-supp_size-from-plan_subset_e.patch
deleted file mode 100644
index c1d4df4..0000000
--- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Removed-unused-variable-supp_size-from-plan_subset_e.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From f96b2b653c605679b83a820b38f49a0a0f4baf42 Mon Sep 17 00:00:00 2001
-From: Andi-Bogdan Postelnicu <abpostelnicu@me.com>
-Date: Wed, 2 Jun 2021 14:08:11 +0300
-Subject: [PATCH] Removed unused variable `supp_size` from
- plan_subset_encoding(...).
-
-Upstream-Status: Backport [https://github.com/harfbuzz/harfbuzz/commit/243d056ff1c2af583ceb67e5dfbfaac51dc96e63]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/hb-subset-cff1.cc | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/hb-subset-cff1.cc b/src/hb-subset-cff1.cc
-index df322f8..35dae7b 100644
---- a/src/hb-subset-cff1.cc
-+++ b/src/hb-subset-cff1.cc
-@@ -402,7 +402,7 @@ struct cff_subset_plan {
-   void plan_subset_encoding (const OT::cff1::accelerator_subset_t &acc, hb_subset_plan_t *plan)
-   {
-     const Encoding *encoding = acc.encoding;
--    unsigned int  size0, size1, supp_size;
-+    unsigned int  size0, size1;
-     hb_codepoint_t  code, last_code = CFF_UNDEF_CODE;
-     hb_vector_t<hb_codepoint_t> supp_codes;
- 
-@@ -412,7 +412,6 @@ struct cff_subset_plan {
-       return;
-     }
- 
--    supp_size = 0;
-     supp_codes.init ();
- 
-     subset_enc_num_codes = plan->num_output_glyphs () - 1;
-@@ -448,7 +447,6 @@ struct cff_subset_plan {
- 	  code_pair_t pair = { supp_codes[i], sid };
- 	  subset_enc_supp_codes.push (pair);
- 	}
--	supp_size += SuppEncoding::static_size * supp_codes.length;
-       }
-     }
-     supp_codes.fini ();
--- 
-2.31.1
-
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.2.bb
similarity index 83%
rename from poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb
rename to poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.2.bb
index 1a0e651..6da76ad 100644
--- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb
+++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.2.bb
@@ -4,16 +4,15 @@
 BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz"
 SECTION = "libs"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8f787620b7d3866d9552fd1924c07572 \
-                    file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6ee0f16281694fb6aa689cca1e0fb3da \
+                    file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc \
+                    "
 
 UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
 UPSTREAM_CHECK_REGEX = "harfbuzz-(?P<pver>\d+(\.\d+)+).tar"
 
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz \
-           file://0001-Removed-unused-variable-supp_size-from-plan_subset_e.patch \
-           "
-SRC_URI[sha256sum] = "4124f663ec4bf4e294d9cf230668370b4249a48ff34deaf0f06e8fc82d891300"
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "d58461395ce28b9dc03903254374dd70c38c8c28c5046db123c08f7ab9417be7"
 
 inherit meson pkgconfig lib_package gtk-doc gobject-introspection
 
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb
index 54556ab..3aac321 100644
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb
@@ -76,6 +76,4 @@
         export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
 }
 
-FILES_${PN}-dev += "${libdir}/cmake"
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/libva/libva-initial_2.11.0.bb b/poky/meta/recipes-graphics/libva/libva-initial_2.12.0.bb
similarity index 100%
rename from poky/meta/recipes-graphics/libva/libva-initial_2.11.0.bb
rename to poky/meta/recipes-graphics/libva/libva-initial_2.12.0.bb
diff --git a/poky/meta/recipes-graphics/libva/libva-utils_2.11.1.bb b/poky/meta/recipes-graphics/libva/libva-utils_2.12.0.bb
similarity index 100%
rename from poky/meta/recipes-graphics/libva/libva-utils_2.11.1.bb
rename to poky/meta/recipes-graphics/libva/libva-utils_2.12.0.bb
diff --git a/poky/meta/recipes-graphics/libva/libva.inc b/poky/meta/recipes-graphics/libva/libva.inc
index 43d916c..3d65ac5 100644
--- a/poky/meta/recipes-graphics/libva/libva.inc
+++ b/poky/meta/recipes-graphics/libva/libva.inc
@@ -18,7 +18,7 @@
 
 SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
-SRC_URI[sha256sum] = "6e361117038b571ad4741d38c9280db8c140b17e76e8c01fc7a4d608d3ed7d5d"
+SRC_URI[sha256sum] = "d3f4873715077a8c969c9bfe4ba8455a133353176be0ffe0c41ffd4155c9a8c8"
 
 S = "${WORKDIR}/libva-${PV}"
 
diff --git a/poky/meta/recipes-graphics/libva/libva_2.11.0.bb b/poky/meta/recipes-graphics/libva/libva_2.12.0.bb
similarity index 100%
rename from poky/meta/recipes-graphics/libva/libva_2.11.0.bb
rename to poky/meta/recipes-graphics/libva/libva_2.12.0.bb
diff --git a/poky/meta/recipes-graphics/mesa/libglu_9.0.1.bb b/poky/meta/recipes-graphics/mesa/libglu_9.0.2.bb
similarity index 84%
rename from poky/meta/recipes-graphics/mesa/libglu_9.0.1.bb
rename to poky/meta/recipes-graphics/mesa/libglu_9.0.2.bb
index 703f131..ae18f86 100644
--- a/poky/meta/recipes-graphics/mesa/libglu_9.0.1.bb
+++ b/poky/meta/recipes-graphics/mesa/libglu_9.0.2.bb
@@ -10,12 +10,10 @@
 
 # Epoch as this used to be part of mesa
 PE = "2"
-PR = "0"
 
 SRC_URI = "https://mesa.freedesktop.org/archive/glu/glu-${PV}.tar.gz"
 
-SRC_URI[md5sum] = "5599a0e0a97335e10239d9165aced60d"
-SRC_URI[sha256sum] = "f6f484cfcd51e489afe88031afdea1e173aa652697e4c19ddbcb8260579a10f7"
+SRC_URI[sha256sum] = "24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65"
 
 S = "${WORKDIR}/glu-${PV}"
 
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.3.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb
similarity index 100%
rename from poky/meta/recipes-graphics/mesa/mesa-gl_21.1.3.bb
rename to poky/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index b7e42a9..6a0df4f 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -21,7 +21,7 @@
            file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \
            "
 
-SRC_URI[sha256sum] = "cbe221282670875ffd762247b6a2c95dcee91d0a34c29802c75ef761fc891e69"
+SRC_URI[sha256sum] = "022c7293074aeeced2278c872db4fa693147c70f8595b076cf3f1ef81520766d"
 
 UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
 
diff --git a/poky/meta/recipes-graphics/mesa/mesa_21.1.3.bb b/poky/meta/recipes-graphics/mesa/mesa_21.1.5.bb
similarity index 100%
rename from poky/meta/recipes-graphics/mesa/mesa_21.1.3.bb
rename to poky/meta/recipes-graphics/mesa/mesa_21.1.5.bb
diff --git a/poky/meta/recipes-graphics/pango/pango_1.48.5.bb b/poky/meta/recipes-graphics/pango/pango_1.48.7.bb
similarity index 94%
rename from poky/meta/recipes-graphics/pango/pango_1.48.5.bb
rename to poky/meta/recipes-graphics/pango/pango_1.48.7.bb
index b29c3c2..963fd5d 100644
--- a/poky/meta/recipes-graphics/pango/pango_1.48.5.bb
+++ b/poky/meta/recipes-graphics/pango/pango_1.48.7.bb
@@ -20,7 +20,7 @@
 
 SRC_URI += "file://run-ptest"
 
-SRC_URI[archive.sha256sum] = "501e74496173c02dcd024ded7fbb3f09efd37e2a488e248aa40799424dbb3b2a"
+SRC_URI[archive.sha256sum] = "28a82f6a6cab60aa3b75a90f04197ead2d311fa8fe8b7bfdf8666e2781d506dc"
 
 DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
 
diff --git a/poky/meta/recipes-graphics/shaderc/shaderc_2021.0.bb b/poky/meta/recipes-graphics/shaderc/shaderc_2021.1.bb
similarity index 94%
rename from poky/meta/recipes-graphics/shaderc/shaderc_2021.0.bb
rename to poky/meta/recipes-graphics/shaderc/shaderc_2021.1.bb
index 3d59e0c..e15b579 100644
--- a/poky/meta/recipes-graphics/shaderc/shaderc_2021.0.bb
+++ b/poky/meta/recipes-graphics/shaderc/shaderc_2021.1.bb
@@ -6,7 +6,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRCREV = "1a3e2aaab191f44644e899e29ab7bac50bebdeb8"
+SRCREV = "031a8c9715df5d7c69dcc1ee9d53cbfa35c7b026"
 SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \
            file://0001-cmake-disable-building-external-dependencies.patch \
            file://0002-libshaderc_util-fix-glslang-header-file-location.patch \
diff --git a/poky/meta/recipes-graphics/spir/spirv-tools_2021.1.bb b/poky/meta/recipes-graphics/spir/spirv-tools_2021.2.bb
similarity index 95%
rename from poky/meta/recipes-graphics/spir/spirv-tools_2021.1.bb
rename to poky/meta/recipes-graphics/spir/spirv-tools_2021.2.bb
index 5795d93..6b5ad1e 100644
--- a/poky/meta/recipes-graphics/spir/spirv-tools_2021.1.bb
+++ b/poky/meta/recipes-graphics/spir/spirv-tools_2021.2.bb
@@ -7,7 +7,7 @@
 LICENSE  = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRCREV = "4b3707b788c84449a55f67257ae6aab3ca3552cb"
+SRCREV = "e198c6a785d388db68eb9166b43ac5e5208fd5cc"
 SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git \
            file://0001-fix-strncpy-bound-error.patch \
           "
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.176.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.182.0.bb
similarity index 93%
rename from poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.176.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.182.0.bb
index cff654a..736af7b 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.176.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.182.0.bb
@@ -11,7 +11,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
 SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=master"
 
-SRCREV = "074fa3055cfee530992bcbfa0fcb23106a82c1ab"
+SRCREV = "37164a5726f7e6113810f9557903a117498421cf"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.176.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.182.0.bb
similarity index 96%
rename from poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.176.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.182.0.bb
index e241a2f..ec09fd0 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.176.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.182.0.bb
@@ -11,7 +11,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
 SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git \
            "
-SRCREV = "eb6d6f95dff809d66e95b903105da6424e75862f"
+SRCREV = "1896143df69d439b0933c1bb485f5a4587bdf2dc"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
index a177d9a..972173e 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -11,7 +11,7 @@
            "
 
 UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "04278ed5f0f9847ae6897509eb56d7b21b4e8cde"
+SRCREV = "47c5237be21209afc945e43d03ae409fa80a0155"
 
 UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.176.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.182.0.bb
similarity index 94%
rename from poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.176.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.182.0.bb
index 10fa0fd..d0a298e 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.176.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.182.0.bb
@@ -6,8 +6,8 @@
 
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.2.176"
-SRCREV = "eb3d67bd17ee433e2b0a8e56a7249bd83908812e"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.2.182"
+SRCREV = "9d3305731c3be8de05c9f223a79959d448506a37"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.0.1.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.1.0.bb
similarity index 74%
rename from poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.0.1.bb
rename to poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.1.0.bb
index 1777492..5688eb4 100644
--- a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.0.1.bb
+++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.1.0.bb
@@ -6,6 +6,6 @@
 
 DEPENDS += "libinput"
 
-SRC_URI[sha256sum] = "fddec49c115591918475155bf16aaf23017d7f814cee7823a0c11f867aca245b"
+SRC_URI[sha256sum] = "e11d2a41419124a6e9b148f1df181bf7819fc7398c8ee9a1b6390b0742c68d16"
 
 FILES_${PN} += "${datadir}/X11/xorg.conf.d"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.10.bb b/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.99.2.bb
similarity index 81%
rename from poky/meta/recipes-graphics/xorg-lib/libxi_1.7.10.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxi_1.7.99.2.bb
index 5a08e07..8afa9aa 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.10.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.99.2.bb
@@ -17,7 +17,6 @@
 
 XORG_PN = "libXi"
 
-SRC_URI[md5sum] = "62c4af0839072024b4b1c8cbe84216c7"
-SRC_URI[sha256sum] = "36a30d8f6383a72e7ce060298b4b181fd298bc3a135c8e201b7ca847f5f81061"
+SRC_URI[sha256sum] = "2ce90ebcb7fa0c3ed671924f1268b8f4c500fff62e1284699fc413e182a7896b"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
index da02517..8b0cc27 100644
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
@@ -15,7 +15,9 @@
 PE = "2"
 
 XORG_PN = "xorg-server"
-SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2"
+SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.xz"
+
+UPSTREAM_CHECK_REGEX = "xorg-server-(?P<pver>\d+(\.(?!99)\d+)+)\.tar"
 
 CVE_PRODUCT = "xorg-server"
 
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.11.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.12.bb
similarity index 93%
rename from poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.11.bb
rename to poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.12.bb
index 1eb2056..8f86bea 100644
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.11.bb
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.12.bb
@@ -8,7 +8,7 @@
            file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \
            file://0001-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch \
            "
-SRC_URI[sha256sum] = "914c796e3ffabe1af48071d40ccc85e92117c97a9082ed1df29e4d64e3c34c49"
+SRC_URI[sha256sum] = "336dc093431d81ecc03fa36af771f1181334f2746b7de7796f3cc6a8fa9e8cac"
 
 # These extensions are now integrated into the server, so declare the migration
 # path for in-place upgrades.
diff --git a/poky/meta/recipes-graphics/xwayland/xwayland_21.1.1.bb b/poky/meta/recipes-graphics/xwayland/xwayland_21.1.1.bb
deleted file mode 100644
index 8b1c96f..0000000
--- a/poky/meta/recipes-graphics/xwayland/xwayland_21.1.1.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "XWayland is an X Server that runs under Wayland."
-DESCRIPTION = "XWayland is an X Server running as a Wayland client, \
-and thus is capable of displaying native X11 client applications in a \
-Wayland compositor environment. The goal of XWayland is to facilitate \
-the transition from X Window System to Wayland environments, providing \
-a way to run unported applications in the meantime."
-HOMEPAGE = "https://fedoraproject.org/wiki/Changes/XwaylandStandalone"
-
-LICENSE = "MIT-X"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
-
-SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz"
-SRC_URI[sha256sum] = "31f261ce51bbee76a6ca3ec02aa367ffa2b5efa2b98412df57ccefd7a19003ce"
-
-inherit meson features_check
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy"
-
-do_install_append() {
-    # remove files not needed and clashing with xserver-xorg
-    rm -rf ${D}/${libdir}/xorg/
-}
-
-FILES_${PN} += "${libdir}/xorg/protocol.txt"
-
diff --git a/poky/meta/recipes-graphics/xwayland/xwayland_21.1.2.bb b/poky/meta/recipes-graphics/xwayland/xwayland_21.1.2.bb
new file mode 100644
index 0000000..794a7bd
--- /dev/null
+++ b/poky/meta/recipes-graphics/xwayland/xwayland_21.1.2.bb
@@ -0,0 +1,44 @@
+SUMMARY = "XWayland is an X Server that runs under Wayland."
+DESCRIPTION = "XWayland is an X Server running as a Wayland client, \
+and thus is capable of displaying native X11 client applications in a \
+Wayland compositor environment. The goal of XWayland is to facilitate \
+the transition from X Window System to Wayland environments, providing \
+a way to run unported applications in the meantime."
+HOMEPAGE = "https://fedoraproject.org/wiki/Changes/XwaylandStandalone"
+
+LICENSE = "MIT-X"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
+
+SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz"
+SRC_URI[sha256sum] = "b81cbdd5ad60b8b7ad8c3ecc7ec2a28c9bf021448670735cebb501f08bebd18b"
+
+UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar"
+
+inherit meson features_check
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy"
+
+OPENGL_PKGCONFIGS = "glx glamor dri3"
+PACKAGECONFIG ??= "${XORG_CRYPTO} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \
+"
+PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false"
+PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11"
+PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl"
+PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind"
+PACKAGECONFIG[xinerama] = "-Dxinerama=true,-Dxinerama=false"
+
+# Xorg requires a SHA1 implementation, pick one
+XORG_CRYPTO ??= "openssl"
+PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl"
+PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle"
+PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt"
+
+do_install_append() {
+    # remove files not needed and clashing with xserver-xorg
+    rm -rf ${D}/${libdir}/xorg/
+}
+
+FILES_${PN} += "${libdir}/xorg/protocol.txt"
+
diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch
index b5c4e17..b0e7014 100644
--- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch
+++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch
@@ -13,17 +13,17 @@
  include/uapi/linux/kernel.h | 2 ++
  1 file changed, 2 insertions(+)
 
-Index: linux-4.8-rc4/include/uapi/linux/kernel.h
+Index: linux-5.12.11/include/uapi/linux/kernel.h
 ===================================================================
---- linux-4.8-rc4.orig/include/uapi/linux/kernel.h
-+++ linux-4.8-rc4/include/uapi/linux/kernel.h
-@@ -1,7 +1,9 @@
+--- linux-5.12.11.orig/include/uapi/linux/kernel.h
++++ linux-5.12.11/include/uapi/linux/kernel.h
+@@ -2,7 +2,9 @@
  #ifndef _UAPI_LINUX_KERNEL_H
  #define _UAPI_LINUX_KERNEL_H
  
 +#ifdef __GLIBC__
  #include <linux/sysinfo.h>
+ #include <linux/const.h>
 +#endif
  
- /*
-  * 'kernel.h' contains some often-used function prototypes etc
+ #endif /* _UAPI_LINUX_KERNEL_H */
diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.10.bb b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb
similarity index 80%
rename from poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.10.bb
rename to poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb
index d6a4d5a..251d004 100644
--- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.10.bb
+++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb
@@ -14,6 +14,5 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
-SRC_URI[md5sum] = "753adc474bf799d569dec4f165ed92c3"
-SRC_URI[sha256sum] = "dcdf99e43e98330d925016985bfbc7b83c66d367b714b2de0cbbfcbf83d8ca43"
-
+SRC_URI[md5sum] = "76c60fb304510a7bbd9c838790bc5fe4"
+SRC_URI[sha256sum] = "3f6baa97f37518439f51df2e4f3d65a822ca5ff016aa8e60d2cc53b95a6c89d9"
diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
index 84e9923..21b4283 100644
--- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -112,6 +112,10 @@
 	if [ "${ARCH}" = "arm64" ]; then
 	    cp -a --parents arch/arm64/kernel/vdso/vdso.lds $kerneldir/build/
 	fi
+	if [ "${ARCH}" = "powerpc" ]; then
+	    cp -a --parents arch/powerpc/kernel/vdso32/vdso32.lds $kerneldir/build 2>/dev/null || :
+	    cp -a --parents arch/powerpc/kernel/vdso64/vdso64.lds $kerneldir/build 2>/dev/null || :
+	fi
 
 	cp -a include $kerneldir/build/include
 
@@ -163,6 +167,14 @@
             cp -a --parents arch/arm64/kernel/vdso/gen_vdso_offsets.sh $kerneldir/build/
 
             cp -a --parents arch/arm64/kernel/module.lds $kerneldir/build/ 2>/dev/null || :
+
+            # 5.13+ needs these tools
+            cp -a --parents arch/arm64/tools/gen-cpucaps.awk $kerneldir/build/ 2>/dev/null || :
+            cp -a --parents arch/arm64/tools/cpucaps $kerneldir/build/ 2>/dev/null || :
+
+            if [ -e $kerneldir/build/arch/arm64/tools/gen-cpucaps.awk ]; then
+                 sed -i -e "s,#!.*awk.*,#!${USRBINPATH}/env awk," $kerneldir/build/arch/arm64/tools/gen-cpucaps.awk
+            fi
 	fi
 
 	if [ "${ARCH}" = "powerpc" ]; then
@@ -170,6 +182,8 @@
 	    cp -a --parents arch/${ARCH}/kernel/syscalls/syscall.tbl $kerneldir/build/ 2>/dev/null || :
 	    cp -a --parents arch/${ARCH}/kernel/syscalls/syscalltbl.sh $kerneldir/build/ 2>/dev/null || :
 	    cp -a --parents arch/${ARCH}/kernel/syscalls/syscallhdr.sh $kerneldir/build/ 2>/dev/null || :
+	    cp -a --parents arch/${ARCH}/kernel/vdso32/* $kerneldir/build/ 2>/dev/null || :
+	    cp -a --parents arch/${ARCH}/kernel/vdso64/* $kerneldir/build/ 2>/dev/null || :
 	fi
 
 	# include the machine specific headers for ARM variants, if available.
@@ -273,7 +287,11 @@
         sed -i 's/ifneq "$(LD)" ".*-linux-.*ld.bfd.*$/ifneq "$(LD)" "ld"/' "$kerneldir/build/include/config/auto.conf.cmd"
         sed -i 's/ifneq "$(AR)" ".*-linux-.*ar.*$/ifneq "$(AR)" "ar"/' "$kerneldir/build/include/config/auto.conf.cmd"
         sed -i 's/ifneq "$(OBJCOPY)" ".*-linux-.*objcopy.*$/ifneq "$(OBJCOPY)" "objcopy"/' "$kerneldir/build/include/config/auto.conf.cmd"
-        sed -i 's/ifneq "$(NM)" ".*-linux-.*nm.*$/ifneq "$(NM)" "nm"/' "$kerneldir/build/include/config/auto.conf.cmd"
+        if [ "${ARCH}" = "powerpc" ]; then
+            sed -i 's/ifneq "$(NM)" ".*-linux-.*nm.*$/ifneq "$(NM)" "nm --synthetic"/' "$kerneldir/build/include/config/auto.conf.cmd"
+        else
+            sed -i 's/ifneq "$(NM)" ".*-linux-.*nm.*$/ifneq "$(NM)" "nm"/' "$kerneldir/build/include/config/auto.conf.cmd"
+        fi
         sed -i 's/ifneq "$(HOSTCXX)" ".*$/ifneq "$(HOSTCXX)" "g++"/' "$kerneldir/build/include/config/auto.conf.cmd"
         sed -i 's/ifneq "$(HOSTCC)" ".*$/ifneq "$(HOSTCC)" "gcc"/' "$kerneldir/build/include/config/auto.conf.cmd"
         sed -i 's/ifneq "$(CC_VERSION_TEXT)".*\(gcc.*\)"/ifneq "$(CC_VERSION_TEXT)" "\1"/' "$kerneldir/build/include/config/auto.conf.cmd"
@@ -307,3 +325,7 @@
 RDEPENDS_${PN} += "${@bb.utils.contains('ARCH', 'x86', 'elfutils', '', d)}"
 # 5.8+ needs gcc-plugins libmpc-dev
 RDEPENDS_${PN} += "gcc-plugins libmpc-dev"
+# 5.13+ needs awk for arm64
+RDEPENDS_${PN}_append_aarch64 = " gawk"
+# 5.13+ needs grep for powerpc
+RDEPENDS_${PN}_append_powerpc = " grep"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
index 877e8d2..133b1f6 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
@@ -11,13 +11,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "6186341e981ad4fd3941c7c9af509923bbe2a2a5"
-SRCREV_meta ?= "67dad5ca86bd47dbbaa2194b9854c228055dfd37"
+SRCREV_machine ?= "dad5434fab65cdd316f940c5e9bd46e0d0607b5a"
+SRCREV_meta ?= "c3900f83a5679b563adff82c24fdeb02096ed736"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "5.10.43"
+LINUX_VERSION ?= "5.10.52"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb
new file mode 100644
index 0000000..adcc84b
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb
@@ -0,0 +1,45 @@
+KBRANCH ?= "v5.13/standard/preempt-rt/base"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+# Skip processing of this recipe if it is not explicitly specified as the
+# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
+# to build multiple virtual/kernel providers, e.g. as dependency of
+# core-image-rt-sdk, core-image-rt.
+python () {
+    if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
+        raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
+}
+
+SRCREV_machine ?= "10eba41eae2548d854c5d1908db77e8235336191"
+SRCREV_meta ?= "ab5f1940535350791d2e111e0e16b08be277568d"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
+           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}"
+
+LINUX_VERSION ?= "5.13.4"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "1"
+
+LINUX_KERNEL_TYPE = "preempt-rt"
+
+COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
+
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
+KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
+KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
index 4322892..a975004 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
@@ -11,13 +11,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "08b154b1c1f1c85db88295a4169dff6826c2e383"
-SRCREV_meta ?= "656383210d369bbd49a7a278c6c7c7313f0df825"
+SRCREV_machine ?= "849a67646d942d3a6d706f456df39954367ac7bf"
+SRCREV_meta ?= "d6aec4fb69bae34f34db6f153871a0847d8198f3"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "5.4.125"
+LINUX_VERSION ?= "5.4.134"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
index b44deb6..238123a 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
@@ -6,7 +6,7 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "5.10.43"
+LINUX_VERSION ?= "5.10.52"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine_qemuarm ?= "9c63dda7dd5834bf731747d6ae03ae13d48e20e3"
-SRCREV_machine ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41"
-SRCREV_meta ?= "67dad5ca86bd47dbbaa2194b9854c228055dfd37"
+SRCREV_machine_qemuarm ?= "faa3b7802d0ee1fe0217283ecaf2c54c9503fa20"
+SRCREV_machine ?= "240422889570d39c3f7d63808159c8e743117a1d"
+SRCREV_meta ?= "c3900f83a5679b563adff82c24fdeb02096ed736"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb
new file mode 100644
index 0000000..6598684
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb
@@ -0,0 +1,32 @@
+KBRANCH ?= "v5.13/standard/tiny/base"
+KBRANCH_qemuarm  ?= "v5.13/standard/tiny/arm-versatile-926ejs"
+
+LINUX_KERNEL_TYPE = "tiny"
+KCONFIG_MODE = "--allnoconfig"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+LINUX_VERSION ?= "5.13.4"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "2"
+
+SRCREV_machine_qemuarm ?= "e394a72e8bc77484bf7bae8c842c75b23cc3dd63"
+SRCREV_machine ?= "7275d462cec720120d1767e277a2525d88901c80"
+SRCREV_meta ?= "ab5f1940535350791d2e111e0e16b08be277568d"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
+           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}"
+
+COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
+
+# Functionality flags
+KERNEL_FEATURES = ""
+
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
index 6c93e2b..95ead53 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
@@ -6,7 +6,7 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "5.4.125"
+LINUX_VERSION ?= "5.4.134"
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine_qemuarm ?= "35f9751972b9fba920b1666228a35e5ce0b04440"
-SRCREV_machine ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee"
-SRCREV_meta ?= "656383210d369bbd49a7a278c6c7c7313f0df825"
+SRCREV_machine_qemuarm ?= "86c31c51c87557af60e4d4dbee73f18618bc4c92"
+SRCREV_machine ?= "bf89a54b3f77fbac15dd0194870db288aee5c8b7"
+SRCREV_meta ?= "d6aec4fb69bae34f34db6f153871a0847d8198f3"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto.inc b/poky/meta/recipes-kernel/linux/linux-yocto.inc
index a852809..eb3081e 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/poky/meta/recipes-kernel/linux/linux-yocto.inc
@@ -34,6 +34,7 @@
 KERNEL_FEATURES_append_qemuall=" features/debug/printk.scc"
 
 KERNEL_FEATURES_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'numa', 'features/numa/numa.scc', '', d)}"
+KERNEL_FEATURES_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'vfat', 'cfg/fs/vfat.scc', '', d)}"
 
 # A KMACHINE is the mapping of a yocto $MACHINE to what is built
 # by the kernel. This is typically the branch that should be built,
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
index f99782c..40a2a5e 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
@@ -13,17 +13,17 @@
 KBRANCH_qemux86-64 ?= "v5.10/standard/base"
 KBRANCH_qemumips64 ?= "v5.10/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "2fc3409cf8c2a6d684929576fd409949060a0bd9"
-SRCREV_machine_qemuarm64 ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41"
-SRCREV_machine_qemumips ?= "5cec6d1ab35feb99f023b233871cafa29e3c3682"
-SRCREV_machine_qemuppc ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41"
-SRCREV_machine_qemuriscv64 ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41"
-SRCREV_machine_qemuriscv32 ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41"
-SRCREV_machine_qemux86 ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41"
-SRCREV_machine_qemux86-64 ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41"
-SRCREV_machine_qemumips64 ?= "769a7118662a2256e20df60be9c9727f9c5878b0"
-SRCREV_machine ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41"
-SRCREV_meta ?= "67dad5ca86bd47dbbaa2194b9854c228055dfd37"
+SRCREV_machine_qemuarm ?= "96a6083817785461bcabad63f3872d0a08b21c29"
+SRCREV_machine_qemuarm64 ?= "c8d8b20a749f476020d0844d76f63cd9e4cca644"
+SRCREV_machine_qemumips ?= "acdebd5080a846f3906ba1d5343d5af5c4b76522"
+SRCREV_machine_qemuppc ?= "afd31d567447f4693b7c9af35f09bb37cc0c0fa4"
+SRCREV_machine_qemuriscv64 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
+SRCREV_machine_qemuriscv32 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
+SRCREV_machine_qemux86 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
+SRCREV_machine_qemux86-64 ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
+SRCREV_machine_qemumips64 ?= "efad0ca4150cddffa6d052ffb53fec0553de4da8"
+SRCREV_machine ?= "c2dc854ee7392d43728093bfc206a2ade98c76dd"
+SRCREV_meta ?= "c3900f83a5679b563adff82c24fdeb02096ed736"
 
 # remap qemuarm to qemuarma15 for the 5.8 kernel
 # KMACHINE_qemuarm ?= "qemuarma15"
@@ -32,7 +32,7 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.10.43"
+LINUX_VERSION ?= "5.10.52"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb
new file mode 100644
index 0000000..497c330
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb
@@ -0,0 +1,68 @@
+KBRANCH ?= "v5.13/standard/base"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+# board specific branches
+KBRANCH_qemuarm  ?= "v5.13/standard/arm-versatile-926ejs"
+KBRANCH_qemuarm64 ?= "v5.13/standard/qemuarm64"
+KBRANCH_qemumips ?= "v5.13/standard/mti-malta32"
+KBRANCH_qemuppc  ?= "v5.13/standard/qemuppc"
+KBRANCH_qemuriscv64  ?= "v5.13/standard/base"
+KBRANCH_qemuriscv32  ?= "v5.13/standard/base"
+KBRANCH_qemux86  ?= "v5.13/standard/base"
+KBRANCH_qemux86-64 ?= "v5.13/standard/base"
+KBRANCH_qemumips64 ?= "v5.13/standard/mti-malta64"
+
+SRCREV_machine_qemuarm ?= "dc19ba17f4d43a220ae8129312703add02d03d1e"
+SRCREV_machine_qemuarm64 ?= "1e086c08b65e8bd1f45f01fd8026599a62deb6c0"
+SRCREV_machine_qemumips ?= "4dd19bc8178a6100a2cb9ffd8364e359230253c8"
+SRCREV_machine_qemuppc ?= "73c8e406db9beb3a99a5dd3ea67824f0e3c0d7a8"
+SRCREV_machine_qemuriscv64 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
+SRCREV_machine_qemuriscv32 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
+SRCREV_machine_qemux86 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
+SRCREV_machine_qemux86-64 ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
+SRCREV_machine_qemumips64 ?= "0632623fd488acc7c78a4f48d4630caba5e6044e"
+SRCREV_machine ?= "5e41c505c6057535da2c289d2cc2fec1f64a5068"
+SRCREV_meta ?= "ab5f1940535350791d2e111e0e16b08be277568d"
+
+# 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"
+DEFAULT_PREFERENCE_class-devupstream = "-1"
+SRCREV_machine_class-devupstream ?= "64376a981a0e2e57c46efa63197c2ebb7dab35df"
+PN_class-devupstream = "linux-yocto-upstream"
+KBRANCH_class-devupstream = "v5.13/base"
+
+# remap qemuarm to qemuarma15 for the 5.8 kernel
+# KMACHINE_qemuarm ?= "qemuarma15"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
+           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+LINUX_VERSION ?= "5.13.4"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+DEPENDS += "gmp-native"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "1"
+
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+
+COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
+KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
+KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
+KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
index 7edab49..90a557b 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
@@ -12,16 +12,16 @@
 KBRANCH_qemux86-64 ?= "v5.4/standard/base"
 KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "b523a950c926e2d7475768b504e46fa618a3b891"
-SRCREV_machine_qemuarm64 ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee"
-SRCREV_machine_qemumips ?= "bff59892e827bc85e85fef518305007a787812aa"
-SRCREV_machine_qemuppc ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee"
-SRCREV_machine_qemuriscv64 ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee"
-SRCREV_machine_qemux86 ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee"
-SRCREV_machine_qemux86-64 ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee"
-SRCREV_machine_qemumips64 ?= "e25b97140f5d46ac437cd8a1d9ecc235cbf462b5"
-SRCREV_machine ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee"
-SRCREV_meta ?= "656383210d369bbd49a7a278c6c7c7313f0df825"
+SRCREV_machine_qemuarm ?= "bea52ab7529ef152f99a0f6ebd97cc7e904e5360"
+SRCREV_machine_qemuarm64 ?= "8a29c9de0fc366bd89ce6954685dce0e330dbabe"
+SRCREV_machine_qemumips ?= "b15816ccad0762d27c78c269e7a1986504e60c63"
+SRCREV_machine_qemuppc ?= "906f9509a8d2f842ec8766bf81287f8939ff1fa8"
+SRCREV_machine_qemuriscv64 ?= "dd8a64a523fb714a98328441e0de72cde115a6fc"
+SRCREV_machine_qemux86 ?= "dd8a64a523fb714a98328441e0de72cde115a6fc"
+SRCREV_machine_qemux86-64 ?= "dd8a64a523fb714a98328441e0de72cde115a6fc"
+SRCREV_machine_qemumips64 ?= "152e33a0782920e9707c36ccacf53585a8911e9f"
+SRCREV_machine ?= "dd8a64a523fb714a98328441e0de72cde115a6fc"
+SRCREV_meta ?= "d6aec4fb69bae34f34db6f153871a0847d8198f3"
 
 # remap qemuarm to qemuarma15 for the 5.4 kernel
 # KMACHINE_qemuarm ?= "qemuarma15"
@@ -30,7 +30,7 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-LINUX_VERSION ?= "5.4.125"
+LINUX_VERSION ?= "5.4.134"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
index dba96e0..cb1c9aa 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
@@ -45,6 +45,3 @@
 
 GIR_MESON_ENABLE_FLAG = "enabled"
 GIR_MESON_DISABLE_FLAG = "disabled"
-
-# Dynamically generate packages for all enabled plugins
-PACKAGES_DYNAMIC = "^${PN}-.*"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
index 9a7a1b6..5b80a46 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
@@ -6,6 +6,9 @@
 # This is mainly used by the gstreamer1.0-plugins-* plugin set recipes,
 # but can be used in any recipe that produces GStreamer plugins.
 
+# Dynamically generate packages for all enabled plugins
+PACKAGES_DYNAMIC = "^${PN}-.* ^libgst.*"
+
 PACKAGESPLITFUNCS_prepend = " split_gstreamer10_packages "
 PACKAGESPLITFUNCS_append = " set_gstreamer10_metapkg_rdepends "
 
diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.28.0.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.28.2.bb
similarity index 96%
rename from poky/meta/recipes-multimedia/mpg123/mpg123_1.28.0.bb
rename to poky/meta/recipes-multimedia/mpg123/mpg123_1.28.2.bb
index 143a59b..ebe11d4 100644
--- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.28.0.bb
+++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.28.2.bb
@@ -10,7 +10,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=e7b9c15fcfb986abb4cc5e8400a24169"
 
 SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "e49466853685026da5d113dc7ff026b1b2ad0b57d78df693a446add9db88a7d5"
+SRC_URI[sha256sum] = "7eefd4b68fdac7e138d04c37efe12155a8ebf25a5bccf0fb7e775af22d21db00"
 
 UPSTREAM_CHECK_REGEX = "mpg123-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 005cb36..4e226c6 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -182,8 +182,7 @@
 FILES_libpulse-simple = "${libdir}/libpulse-simple.so.*"
 FILES_libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*"
 
-FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala ${libdir}/cmake"   
-FILES_${PN}-conf = "${sysconfdir}"
+FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala"
 FILES_${PN}-bin += "${sysconfdir}/default/volatiles/04_pulse"
 FILES_${PN}-pa-info = "${bindir}/pa-info"
 FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules */*/udev/rules.d/*.rules ${systemd_user_unitdir}/*"
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-meson-check-if-NEON-code-can-be-compiled-o.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-meson-check-if-NEON-code-can-be-compiled-o.patch
new file mode 100644
index 0000000..5d9370f
--- /dev/null
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-meson-check-if-NEON-code-can-be-compiled-o.patch
@@ -0,0 +1,71 @@
+From 09f846fbdeb19193e778ce51baa77bd03c38372e Mon Sep 17 00:00:00 2001
+From: garrison <garrison@qemu15.qemu-network>
+Date: Fri, 4 Jun 2021 22:13:02 +0000
+Subject: [PATCH] build-sys: meson: check if NEON code can be compiled on arm
+
+When Meson SIMD module returns HAVE_NEON=1 on arm host, do extra compile check
+to verify compiler can actually handle NEON code.
+
+Related Meson issue #6361 https://github.com/mesonbuild/meson/issues/6361
+
+Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/574>
+
+Upstream-Status: Backport[https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/6d2a49a6a1eacc2096d0d9473a074421c181ab56]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ src/pulsecore/meson.build | 41 +++++++++++++++++++++++++++++----------
+ 1 file changed, 31 insertions(+), 10 deletions(-)
+
+diff --git a/src/pulsecore/meson.build b/src/pulsecore/meson.build
+index 99a702e..d0b7990 100644
+--- a/src/pulsecore/meson.build
++++ b/src/pulsecore/meson.build
+@@ -172,16 +172,37 @@ endif
+ 
+ # FIXME: SIMD support (ORC)
+ simd = import('unstable-simd')
+-libpulsecore_simd = simd.check('libpulsecore_simd',
+-  mmx : ['remap_mmx.c', 'svolume_mmx.c'],
+-  sse : ['remap_sse.c', 'sconv_sse.c', 'svolume_sse.c'],
+-  neon : ['remap_neon.c', 'sconv_neon.c', 'mix_neon.c'],
+-  c_args : [pa_c_args],
+-  include_directories : [configinc, topinc],
+-  implicit_include_directories : false,
+-  compiler : cc)
+-libpulsecore_simd_lib = libpulsecore_simd[0]
+-cdata.merge_from(libpulsecore_simd[1])
++simd_variants = [
++  { 'mmx' : ['remap_mmx.c', 'svolume_mmx.c'] },
++  { 'sse' : ['remap_sse.c', 'sconv_sse.c', 'svolume_sse.c'] },
++  { 'neon' : ['remap_neon.c', 'sconv_neon.c', 'mix_neon.c'] },
++]
++
++libpulsecore_simd_lib = []
++
++foreach simd_kwargs : simd_variants
++
++  if host_machine.cpu_family() == 'arm' and 'neon' in simd_kwargs
++    if not cc.compiles('''
++        #include <arm_neon.h>
++        int main() {
++            return sizeof(uint8x8_t) + sizeof(int32x4_t) + sizeof(float32x4_t);
++        }
++        ''', name : 'neon code')
++      continue
++    endif
++  endif
++
++  libpulsecore_simd = simd.check('libpulsecore_simd',
++    kwargs : simd_kwargs,
++    c_args : [pa_c_args],
++    include_directories : [configinc, topinc],
++    implicit_include_directories : false,
++    compiler : cc)
++
++  libpulsecore_simd_lib += libpulsecore_simd[0]
++  cdata.merge_from(libpulsecore_simd[1])
++endforeach
+ 
+ # FIXME: Implement Windows support
+ #'mutex-win32.c',
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb
index 9b8338a..a7ea8ca 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb
@@ -7,6 +7,7 @@
            file://0001-meson-Check-for-__get_cpuid.patch \
            file://volatiles.04_pulse \
            file://0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch \
+           file://0001-build-sys-meson-check-if-NEON-code-can-be-compiled-o.patch \
            "
 SRC_URI[md5sum] = "1efc916251910f1e9d4df7810e3e69f8"
 SRC_URI[sha256sum] = "75d3f7742c1ae449049a4c88900e454b8b350ecaa8c544f3488a2562a9ff66f1"
diff --git a/poky/meta/recipes-multimedia/x264/x264_git.bb b/poky/meta/recipes-multimedia/x264/x264_git.bb
index 81354a8..902396e 100644
--- a/poky/meta/recipes-multimedia/x264/x264_git.bb
+++ b/poky/meta/recipes-multimedia/x264/x264_git.bb
@@ -14,7 +14,7 @@
            "
 UPSTREAM_CHECK_COMMITS = "1"
 
-SRCREV = "55d517bc4569272a2c9a367a4106c234aba2ffbc"
+SRCREV = "5db6aa6cab1b146e07b60cc1736a01f21da01154"
 
 PV = "r3039+git${SRCPV}"
 
diff --git a/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch b/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch
index b177ff7..56556df 100644
--- a/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch
+++ b/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch
@@ -1,4 +1,4 @@
-From b608a817df2b652cd5fa1b5a7cf14b7d2d8afd5f Mon Sep 17 00:00:00 2001
+From 7b0ab10370cad38e26c5ffaaa55a1fd77fff0f18 Mon Sep 17 00:00:00 2001
 From: Randy Witt <randy.e.witt@intel.com>
 Date: Fri, 16 Oct 2020 16:54:30 -0700
 Subject: [PATCH] Makefile: Allow for CC and AR to be overridden
@@ -9,16 +9,17 @@
 Signed-off-by: Randy Witt <randy.e.witt@intel.com>
 
 Upstream-Status: Inappropriate [other]
+
 ---
  Makefile | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/Makefile b/Makefile
-index 636f191..9f57d2c 100644
+index 63cd77c..495d6bb 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -1,6 +1,6 @@
- VERSION = 1.10
+ VERSION = 2.1
 -CC = $(CROSS_COMPILE)gcc
 -AR = $(CROSS_COMPILE)ar
 +CC ?= $(CROSS_COMPILE)gcc
@@ -26,6 +27,3 @@
  
  OBJDIR = bld
  
--- 
-2.29.2
-
diff --git a/poky/meta/recipes-rt/rt-tests/hwlatdetect_1.10.bb b/poky/meta/recipes-rt/rt-tests/hwlatdetect_git.bb
similarity index 100%
rename from poky/meta/recipes-rt/rt-tests/hwlatdetect_1.10.bb
rename to poky/meta/recipes-rt/rt-tests/hwlatdetect_git.bb
diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests.inc b/poky/meta/recipes-rt/rt-tests/rt-tests.inc
index e97140a..5ce4d29 100644
--- a/poky/meta/recipes-rt/rt-tests/rt-tests.inc
+++ b/poky/meta/recipes-rt/rt-tests/rt-tests.inc
@@ -1,7 +1,7 @@
-SRCREV = "c9051a36d934503b4673ca5615f631bae36dead0"
-PV = "1.10+git${SRCPV}"
+SRCREV = "667e1aae896f8448615b062d27c818b32cb960ff"
+PV = "2.1"
 PE = "1"
 
-SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git;branch=unstable/devel/latest"
+SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git;branch=main"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests_1.10.bb b/poky/meta/recipes-rt/rt-tests/rt-tests_git.bb
similarity index 100%
rename from poky/meta/recipes-rt/rt-tests/rt-tests_1.10.bb
rename to poky/meta/recipes-rt/rt-tests/rt-tests_git.bb
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
index efe286e..21828a7 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
@@ -1,4 +1,4 @@
-From af90ae1f128626e8d57a8bcbc432596bfc2987af Mon Sep 17 00:00:00 2001
+From 1a7becde0e508d7fac488bae6c08c1a4a0ac6b73 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 3 Feb 2020 17:06:27 -0800
 Subject: [PATCH] Enable THREADS_PREFER_PTHREAD_FLAG
@@ -20,11 +20,11 @@
  2 files changed, 2 insertions(+)
 
 diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
-index af6c0fac..f393d741 100644
+index 1f500299..0771af9c 100644
 --- a/Source/cmake/OptionsGTK.cmake
 +++ b/Source/cmake/OptionsGTK.cmake
 @@ -6,6 +6,7 @@ WEBKIT_OPTION_BEGIN()
- SET_PROJECT_VERSION(2 32 1)
+ SET_PROJECT_VERSION(2 32 2)
  
  set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
 +set(THREADS_PREFER_PTHREAD_FLAG ON)
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.32.1.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.32.2.bb
similarity index 98%
rename from poky/meta/recipes-sato/webkit/webkitgtk_2.32.1.bb
rename to poky/meta/recipes-sato/webkit/webkitgtk_2.32.2.bb
index 7abf96c..96b6cab 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.32.1.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.32.2.bb
@@ -22,7 +22,7 @@
            file://0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch \
            "
 
-SRC_URI[sha256sum] = "136117317f70f66486f71b8edf5e46f8776403c5d8a296e914b11a36ef836917"
+SRC_URI[sha256sum] = "1790f86975bdef957ba9a12fc09202de8f55c885ee38467afc50d2bdb7a6c5cd"
 
 inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc
 
diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.40.2.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.40.3.bb
similarity index 93%
rename from poky/meta/recipes-support/atk/at-spi2-core_2.40.2.bb
rename to poky/meta/recipes-support/atk/at-spi2-core_2.40.3.bb
index ebd3ed4..b1a7b51 100644
--- a/poky/meta/recipes-support/atk/at-spi2-core_2.40.2.bb
+++ b/poky/meta/recipes-support/atk/at-spi2-core_2.40.3.bb
@@ -11,7 +11,7 @@
 
 SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "44dc17af943b0fd196c61c1e03b6c166960385cae96ccb5e95bdefffb6849f98"
+SRC_URI[sha256sum] = "e49837c2ad30d71e1f29ca8e0968a54b95030272f7ff40b89b48968653f37a5c"
 
 X11DEPENDS = "virtual/libx11 libxi libxtst"
 
diff --git a/poky/meta/recipes-support/bash-completion/bash-completion_2.11.bb b/poky/meta/recipes-support/bash-completion/bash-completion_2.11.bb
index 4076535..67738c3 100644
--- a/poky/meta/recipes-support/bash-completion/bash-completion_2.11.bb
+++ b/poky/meta/recipes-support/bash-completion/bash-completion_2.11.bb
@@ -37,6 +37,4 @@
 FILES_${PN}-extra = "${datadir}/${BPN}/completions/ \
     ${datadir}/${BPN}/helpers/"
 
-FILES_${PN}-dev += "${datadir}/cmake"
-
 BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-support/boost/boost-build-native_4.4.1.bb b/poky/meta/recipes-support/boost/boost-build-native_4.4.1.bb
index ad675ce..d4df5b5 100644
--- a/poky/meta/recipes-support/boost/boost-build-native_4.4.1.bb
+++ b/poky/meta/recipes-support/boost/boost-build-native_4.4.1.bb
@@ -20,7 +20,7 @@
 }
 
 do_install() {
-    ./b2 install --prefix=${prefix} staging-prefix=${D}${prefix}
+    HOME=/var/run ./b2 install --prefix=${prefix} staging-prefix=${D}${prefix}
 }
 
 # The build is either release mode (pre-stripped) or debug (-O0).
diff --git a/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/0001-fix-non-literal-format-string-issue-with-clang.patch b/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/0001-fix-non-literal-format-string-issue-with-clang.patch
new file mode 100644
index 0000000..39efa4a
--- /dev/null
+++ b/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/0001-fix-non-literal-format-string-issue-with-clang.patch
@@ -0,0 +1,31 @@
+From df625a36be8e0c7afa68b3dd23907dc7d658c59a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 8 Jul 2021 23:13:30 -0700
+Subject: [PATCH] fix non-literal format string issue with clang
+
+clang errors out when using -Werror=format-nonliteral
+since the definition of g_strdup_vprintf() from glib-2.0
+is using va_list and clang seems to still warn where as
+gcc doesn't do that for va_list arguments
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gnome-desktop-testing/-/merge_requests/9]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/gnome-desktop-testing-runner.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/gnome-desktop-testing-runner.c b/src/gnome-desktop-testing-runner.c
+index d75b71c..da49e14 100644
+--- a/src/gnome-desktop-testing-runner.c
++++ b/src/gnome-desktop-testing-runner.c
+@@ -74,7 +74,7 @@ static const char * const test_log_message_ids[] = {
+ static gboolean opt_quiet = FALSE;
+ static gboolean opt_tap = FALSE;
+
+-static void
++static void G_GNUC_PRINTF (3, 0)
+ test_log (TestLog what,
+           const char *test_name,
+           const char *format,
+--
+2.32.0
diff --git a/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2018.1.bb b/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2021.1.bb
similarity index 83%
rename from poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2018.1.bb
rename to poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2021.1.bb
index e5c69c0..10200f5 100644
--- a/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2018.1.bb
+++ b/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2021.1.bb
@@ -9,8 +9,10 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
                     file://src/gnome-desktop-testing-runner.c;beginline=1;endline=20;md5=7ef3ad9da2ffcf7707dc11151fe007f4"
 
-SRC_URI = "git://gitlab.gnome.org/GNOME/gnome-desktop-testing.git;protocol=http"
-SRCREV = "4decade67b29ad170fcf3de148e41695fc459f48"
+SRC_URI = "git://gitlab.gnome.org/GNOME/gnome-desktop-testing.git;protocol=http \
+           file://0001-fix-non-literal-format-string-issue-with-clang.patch \
+          "
+SRCREV = "e346cd4ed2e2102c9b195b614f3c642d23f5f6e7"
 
 DEPENDS = "glib-2.0"
 
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch b/poky/meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch
new file mode 100644
index 0000000..1c46684
--- /dev/null
+++ b/poky/meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch
@@ -0,0 +1,24 @@
+From adb1d4e5498a19e9d591ac8f42f9ddfdb23a1354 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 15 Jul 2021 12:33:13 -0700
+Subject: [PATCH] use closefrom() on linux and glibc 2.34+
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/posix-io.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/posix-io.c b/src/posix-io.c
+index e712ef2..ab8ded9 100644
+--- a/src/posix-io.c
++++ b/src/posix-io.c
+@@ -570,7 +570,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
+               if (fd_list[i].fd > fd)
+                 fd = fd_list[i].fd;
+             fd++;
+-#if defined(__sun) || defined(__FreeBSD__)
++#if defined(__sun) || defined(__FreeBSD__) || (defined(__GLIBC__) && __GNUC_PREREQ(2, 34))
+             closefrom (fd);
+             max_fds = fd;
+ #else /*!__sun */
diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.15.1.bb b/poky/meta/recipes-support/gpgme/gpgme_1.16.0.bb
similarity index 93%
rename from poky/meta/recipes-support/gpgme/gpgme_1.15.1.bb
rename to poky/meta/recipes-support/gpgme/gpgme_1.16.0.bb
index dc38aa8..13f456f 100644
--- a/poky/meta/recipes-support/gpgme/gpgme_1.15.1.bb
+++ b/poky/meta/recipes-support/gpgme/gpgme_1.16.0.bb
@@ -20,9 +20,10 @@
            file://0006-fix-build-path-issue.patch \
            file://0007-python-Add-variables-to-tests.patch \
            file://0008-do-not-auto-check-var-PYTHON.patch \
-          "
+           file://0001-use-closefrom-on-linux-and-glibc-2.34.patch \
+           "
 
-SRC_URI[sha256sum] = "eebc3c1b27f1c8979896ff361ba9bb4778b508b2496c2fc10e3775a40b1de1ad"
+SRC_URI[sha256sum] = "6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0"
 
 DEPENDS = "libgpg-error libassuan"
 RDEPENDS_${PN}-cpp += "libstdc++"
@@ -71,9 +72,7 @@
 FILES_${PN}-cpp = "${libdir}/libgpgmepp.so.*"
 FILES_python2-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
 FILES_python3-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
-FILES_${PN}-dev += "${datadir}/common-lisp/source/gpgme/* \
-                    ${libdir}/cmake/* \
-"
+FILES_${PN}-dev += "${datadir}/common-lisp/source/gpgme/*"
 
 CFLAGS_append_libc-musl = " -D__error_t_defined "
 do_configure_prepend () {
diff --git a/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch b/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch
index 414e45a..55872aa 100644
--- a/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch
+++ b/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch
@@ -7,14 +7,13 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  progs/Makefile | 2 +-
  tests/Makefile | 4 ++--
  2 files changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/progs/Makefile b/progs/Makefile
-index 289186e..071a285 100644
+index 3e82862..48533f3 100644
 --- a/progs/Makefile
 +++ b/progs/Makefile
 @@ -49,7 +49,7 @@ capsh: capsh.c capshdoc.h.cf $(DEPS)
@@ -24,8 +23,8 @@
 -	$(CC) $(IPATH) $(CAPSH_SHELL) $(CFLAGS) -o $@ $< $(LIBCAPLIB) $(LDFLAGS) --static
 +	$(CC) $(IPATH) $(CAPSH_SHELL) $(CFLAGS) -o $@ $< $(LIBCAPLIB) $(LDFLAGS)
  
- sudotest: test tcapsh-static
- 	sudo $(LDPATH) ./quicktest.sh
+ uns_test: ../tests/uns_test.c
+ 	$(MAKE) -C ../tests uns_test
 diff --git a/tests/Makefile b/tests/Makefile
 index 4a5f2f9..4266d86 100644
 --- a/tests/Makefile
@@ -48,3 +47,6 @@
  
  clean:
  	rm -f psx_test libcap_psx_test libcap_launch_test uns_test *~
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-support/libcap/libcap_2.50.bb b/poky/meta/recipes-support/libcap/libcap_2.51.bb
similarity index 95%
rename from poky/meta/recipes-support/libcap/libcap_2.50.bb
rename to poky/meta/recipes-support/libcap/libcap_2.51.bb
index 15137f0..a43dca9 100644
--- a/poky/meta/recipes-support/libcap/libcap_2.50.bb
+++ b/poky/meta/recipes-support/libcap/libcap_2.51.bb
@@ -14,7 +14,7 @@
            file://0002-tests-do-not-run-target-executables.patch \
            file://0001-tests-do-not-statically-link-a-test.patch \
            "
-SRC_URI[sha256sum] = "47a57b8bd238b84c93c921a9b4ff82337551dbcb0cca071316aadf3e23b19261"
+SRC_URI[sha256sum] = "6609f3ab7aebcc8f9277f53a577c657d9f3056d1352ea623da7fd7c0f00890f9"
 
 UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/"
 
diff --git a/poky/meta/recipes-support/libffi/libffi/0001-Address-platforms-with-no-__int128-part2.patch b/poky/meta/recipes-support/libffi/libffi/0001-Address-platforms-with-no-__int128-part2.patch
deleted file mode 100644
index 6b5b7d4..0000000
--- a/poky/meta/recipes-support/libffi/libffi/0001-Address-platforms-with-no-__int128-part2.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Address platforms with no __int128.
-
-Fixes remaining pieces from
-https://github.com/libffi/libffi/commit/6663047f56c2932a6b10a790f4ac6666dd181326
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/src/powerpc/ffi_linux64.c.org	2019-12-05 14:48:33.140579431 -0800
-+++ a/src/powerpc/ffi_linux64.c	2019-12-05 14:53:58.827244495 -0800
-@@ -680,9 +680,9 @@ ffi_prep_args64 (extended_cif *ecif, uns
-                     {
-                       if (vecarg_count < NUM_VEC_ARG_REGISTERS64
-                           && i < nfixedargs)
--                        *vec_base.f128++ = *arg.f128++;
-+		        memcpy (vec_base.f128++, arg.f128, sizeof (float128));
-                       else
--                        *next_arg.f128 = *arg.f128++;
-+		        memcpy (next_arg.f128, arg.f128++, sizeof (float128));
-                       if (++next_arg.f128 == gpr_end.f128)
-                         next_arg.f128 = rest.f128;
-                       vecarg_count++;
-@@ -986,9 +986,9 @@ ffi_closure_helper_LINUX64 (ffi_cif *cif
-                   do
-                     {
-                       if (pvec < end_pvec && i < nfixedargs)
--                        *to.f128 = *pvec++;
-+		        memcpy (to.f128, pvec++, sizeof (float128));
-                       else
--                        *to.f128 = *from.f128;
-+		        memcpy (to.f128, from.f128, sizeof (float128));
-                       to.f128++;
-                       from.f128++;
-                     }
diff --git a/poky/meta/recipes-support/libffi/libffi/0001-Address-platforms-with-no-__int128.patch b/poky/meta/recipes-support/libffi/libffi/0001-Address-platforms-with-no-__int128.patch
deleted file mode 100644
index 2e32a50..0000000
--- a/poky/meta/recipes-support/libffi/libffi/0001-Address-platforms-with-no-__int128.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 68f45b9049dffb54f5a29a3a495ab3dfcf010634 Mon Sep 17 00:00:00 2001
-From: Anthony Green <green@moxielogic.com>
-Date: Fri, 29 Nov 2019 07:00:35 -0500
-Subject: [PATCH] Address platforms with no __int128.
-
-Upstream-Status: Backport [https://github.com/libffi/libffi/commit/6663047f56c2932a6b10a790f4ac6666dd181326]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- src/powerpc/ffi_linux64.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/powerpc/ffi_linux64.c b/src/powerpc/ffi_linux64.c
-index de0d033..7364770 100644
---- a/src/powerpc/ffi_linux64.c
-+++ b/src/powerpc/ffi_linux64.c
-@@ -547,9 +547,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
-               if (next_arg.ul == gpr_end.ul)
-                 next_arg.ul = rest.ul;
-               if (vecarg_count < NUM_VEC_ARG_REGISTERS64 && i < nfixedargs)
--                *vec_base.f128++ = **p_argv.f128;
-+		memcpy (vec_base.f128++, *p_argv.f128, sizeof (float128));
-               else
--                *next_arg.f128 = **p_argv.f128;
-+		memcpy (next_arg.f128, *p_argv.f128, sizeof (float128));
-               if (++next_arg.f128 == gpr_end.f128)
-                 next_arg.f128 = rest.f128;
-               vecarg_count++;
diff --git a/poky/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch b/poky/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch
deleted file mode 100644
index 397194b..0000000
--- a/poky/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 14e2e74682db3bfcf057688f738fdd842a02ff2d Mon Sep 17 00:00:00 2001
-From: Carl Hurd <carl@Carls-MacBook-Pro.local>
-Date: Wed, 18 Jul 2018 09:04:32 -0400
-Subject: [PATCH] Fixed missed #ifndef for __mips_soft_float
-
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
-Upstream-Status: Submitted [https://github.com/libffi/libffi/pull/442]
----
- src/mips/o32.S | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/mips/o32.S b/src/mips/o32.S
-index 44e74cb..799139b 100644
---- a/src/mips/o32.S
-+++ b/src/mips/o32.S
-@@ -282,9 +282,11 @@ $LCFI12:
- 	li	$13, 1		# FFI_O32
- 	bne	$16, $13, 1f	# Skip fp save if FFI_O32_SOFT_FLOAT
- 	
-+#ifndef __mips_soft_float
- 	# Store all possible float/double registers.
- 	s.d	$f12, FA_0_0_OFF2($fp)
- 	s.d	$f14, FA_1_0_OFF2($fp)
-+#endif
- 1:
- 	# prepare arguments for ffi_closure_mips_inner_O32
- 	REG_L	a0, 4($15)	 # cif 
diff --git a/poky/meta/recipes-support/libffi/libffi/0001-arm-sysv-reverted-clang-VFP-mitigation.patch b/poky/meta/recipes-support/libffi/libffi/0001-arm-sysv-reverted-clang-VFP-mitigation.patch
index 782dce7..5e529d1 100644
--- a/poky/meta/recipes-support/libffi/libffi/0001-arm-sysv-reverted-clang-VFP-mitigation.patch
+++ b/poky/meta/recipes-support/libffi/libffi/0001-arm-sysv-reverted-clang-VFP-mitigation.patch
@@ -4,9 +4,9 @@
 Subject: [PATCH] arm/sysv: reverted clang VFP mitigation
 
 Since commit e3d2812ce43940aacae5bab2d0e965278cb1e7ea,
-seperate instructions were used when compiling under clang, 
+seperate instructions were used when compiling under clang,
 as clang didn't allow the directives at the time. This mitigation
-now causes compilation to fail under clang 10, as described by 
+now causes compilation to fail under clang 10, as described by
 https://github.com/libffi/libffi/issues/607. Now that
 clang supports the LDC and SDC instructions, this mitigation
 has been reverted.
@@ -18,25 +18,25 @@
  1 file changed, 33 deletions(-)
 
 diff --git a/src/arm/sysv.S b/src/arm/sysv.S
-index 63180a4..e3ce526 100644
+index fb36213..e4272a1 100644
 --- a/src/arm/sysv.S
 +++ b/src/arm/sysv.S
-@@ -128,13 +128,8 @@ ARM_FUNC_START(ffi_call_VFP)
- 	cfi_startproc
+@@ -142,13 +142,8 @@ ARM_FUNC_START(ffi_call_VFP)
  
  	cmp	r3, #3			@ load only d0 if possible
+ 	ite	le
 -#ifdef __clang__
--	vldrle d0, [sp]
--	vldmgt sp, {d0-d7}
+-	vldrle d0, [r0]
+-	vldmgt r0, {d0-d7}
 -#else
- 	ldcle	p11, cr0, [r0]		@ vldrle d0, [sp]
- 	ldcgt	p11, cr0, [r0], {16}	@ vldmgt sp, {d0-d7}
+ 	ldcle	p11, cr0, [r0]		@ vldrle d0, [r0]
+ 	ldcgt	p11, cr0, [r0], {16}	@ vldmgt r0, {d0-d7}
 -#endif
  	add	r0, r0, #64		@ discard the vfp register args
  	/* FALLTHRU */
  ARM_FUNC_END(ffi_call_VFP)
-@@ -172,25 +167,13 @@ ARM_FUNC_START(ffi_call_SYSV)
- 	nop
+@@ -193,25 +188,13 @@ ARM_FUNC_START(ffi_call_SYSV)
+ #endif
  0:
  E(ARM_TYPE_VFP_S)
 -#ifdef __clang__
@@ -61,7 +61,7 @@
  	pop	{fp,pc}
  E(ARM_TYPE_INT64)
  	str	r1, [r2, #4]
-@@ -287,11 +270,7 @@ ARM_FUNC_START(ffi_closure_VFP)
+@@ -320,11 +303,7 @@ ARM_FUNC_START(ffi_closure_VFP)
  	add	ip, sp, #16
  	sub	sp, sp, #64+32			@ allocate frame
  	cfi_adjust_cfa_offset(64+32)
@@ -73,7 +73,7 @@
  	stmdb	sp!, {ip,lr}
  
  	/* See above.  */
-@@ -320,25 +299,13 @@ ARM_FUNC_START_LOCAL(ffi_closure_ret)
+@@ -358,25 +337,13 @@ ARM_FUNC_START_LOCAL(ffi_closure_ret)
  	cfi_rel_offset(lr, 4)
  0:
  E(ARM_TYPE_VFP_S)
@@ -82,23 +82,23 @@
 -#else
  	ldc	p10, cr0, [r2]			@ vldr s0, [r2]
 -#endif
- 	ldm	sp, {sp,pc}
+ 	b	call_epilogue
  E(ARM_TYPE_VFP_D)
 -#ifdef __clang__
 -	vldr d0, [r2]
 -#else
  	ldc	p11, cr0, [r2]			@ vldr d0, [r2]
 -#endif
- 	ldm	sp, {sp,pc}
+ 	b	call_epilogue
  E(ARM_TYPE_VFP_N)
 -#ifdef __clang__
 -	vldm r2, {d0-d3}
 -#else
  	ldc	p11, cr0, [r2], {8}		@ vldm r2, {d0-d3}
 -#endif
- 	ldm	sp, {sp,pc}
+ 	b	call_epilogue
  E(ARM_TYPE_INT64)
  	ldr	r1, [r2, #4]
 -- 
-2.17.1
+2.25.1
 
diff --git a/poky/meta/recipes-support/libffi/libffi/0001-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch b/poky/meta/recipes-support/libffi/libffi/0001-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch
deleted file mode 100644
index 52e6e45..0000000
--- a/poky/meta/recipes-support/libffi/libffi/0001-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From de93adfb6f48100946bba2c3abad2a77a0cfde0b Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Sun, 24 Nov 2019 09:52:01 +0100
-Subject: [PATCH] ffi_powerpc.h: fix build failure with powerpc7
-
-This is a patch pulled down from the following:
-https://github.com/buildroot/buildroot/blob/78926f610b1411b03464152472fd430012deb9ac/package/libffi/0004-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch
-
-This issue is being hit on OpenBMC code when pulling the latest
-libffi tag and building on a P8 ppc64le machine. I verified this
-patch fixes the issue we are seeing.
-
-Below is the original commit message:
-
-Sicne commit 73dd43afc8a447ba98ea02e9aad4c6898dc77fb0, build on powerpc7
-fails on:
-
-In file included from ../src/powerpc/ffi.c:33:0:
-../src/powerpc/ffi_powerpc.h:61:9: error: '_Float128' is not supported on this target
- typedef _Float128 float128;
-         ^~~~~~~~~
-
-Fix this build failure by checking for __HAVE_FLOAT128 before using
-_Float128, as _Float128 is enabled only on specific conditions, see
-output/host/powerpc64-buildroot-linux-gnu/sysroot/usr/include/bits/floatn.h:
-
- /* Defined to 1 if the current compiler invocation provides a
-    floating-point type with the IEEE 754 binary128 format, and this glibc
-    includes corresponding *f128 interfaces for it.  */
- #if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \
-     && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH
- # define __HAVE_FLOAT128 1
- #else
- # define __HAVE_FLOAT128 0
- #endif
-
-Fixes:
- - http://autobuild.buildroot.org/results/5c9dd8fb3b6a128882b6250f197c80232d8a3b53
-
-Upstream-Status: Submitted [https://github.com/libffi/libffi/pull/561]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
----
- src/powerpc/ffi_powerpc.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/powerpc/ffi_powerpc.h b/src/powerpc/ffi_powerpc.h
-index 8e2f2f0..960a5c4 100644
---- a/src/powerpc/ffi_powerpc.h
-+++ b/src/powerpc/ffi_powerpc.h
-@@ -57,7 +57,7 @@ typedef union
-   double d;
- } ffi_dblfl;
-
--#if defined(__FLOAT128_TYPE__)
-+#if defined(__FLOAT128_TYPE__) && defined(__HAVE_FLOAT128)
- typedef _Float128 float128;
- #elif defined(__FLOAT128__)
- typedef __float128 float128;
---
-2.21.0 (Apple Git-122)
-
diff --git a/poky/meta/recipes-support/libffi/libffi/0001-powerpc-fix-build-failure-on-power7-and-older-532.patch b/poky/meta/recipes-support/libffi/libffi/0001-powerpc-fix-build-failure-on-power7-and-older-532.patch
deleted file mode 100644
index 8a7aea4..0000000
--- a/poky/meta/recipes-support/libffi/libffi/0001-powerpc-fix-build-failure-on-power7-and-older-532.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 4dc6cc961300b9deffb648b1237390a5bea1c6d6 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Thu, 28 Nov 2019 12:42:41 +0000
-Subject: [PATCH] powerpc: fix build failure on power7 and older (#532)
-
-Build failure looks as:
-```
-libtool: compile:  powerpc-unknown-linux-gnu-gcc \
-    -O2 -mcpu=powerpc -mtune=powerpc -pipe ... -c src/powerpc/ffi.c ...
-In file included from src/powerpc/ffi.c:33:
-src/powerpc/ffi_powerpc.h:65:9: error: '__int128' is not supported on this target
-   65 | typedef __int128 float128;
-      |         ^~~~~~~~
-```
-
-The fix avoids using __int128 in favour of aligned char[16].
-
-Closes: https://github.com/libffi/libffi/issues/531
-Upstream-Status: Backport [https://github.com/libffi/libffi/commit/01a75ed76ea7e57f1b7a5c183e2b1e890e6aa0fd]
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- src/powerpc/ffi_powerpc.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/powerpc/ffi_powerpc.h b/src/powerpc/ffi_powerpc.h
-index 5ee2a70..8e2f2f0 100644
---- a/src/powerpc/ffi_powerpc.h
-+++ b/src/powerpc/ffi_powerpc.h
-@@ -62,7 +62,7 @@ typedef _Float128 float128;
- #elif defined(__FLOAT128__)
- typedef __float128 float128;
- #else
--typedef __int128 float128;
-+typedef char float128[16] __attribute__((aligned(16)));
- #endif
- 
- void FFI_HIDDEN ffi_closure_SYSV (void);
diff --git a/poky/meta/recipes-support/libffi/libffi_3.3.bb b/poky/meta/recipes-support/libffi/libffi_3.4.2.bb
similarity index 70%
rename from poky/meta/recipes-support/libffi/libffi_3.3.bb
rename to poky/meta/recipes-support/libffi/libffi_3.4.2.bb
index 10ef003..19b6ed3 100644
--- a/poky/meta/recipes-support/libffi/libffi_3.3.bb
+++ b/poky/meta/recipes-support/libffi/libffi_3.4.2.bb
@@ -8,23 +8,17 @@
 A layer must exist above `libffi' that handles type conversions for values passed between the two languages."
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=492385fe22195952f5b9b197868ba268"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=679b5c9bdc79a2b93ee574e193e7a7bc"
 
 SRC_URI = "https://github.com/libffi/libffi/releases/download/v${PV}/${BPN}-${PV}.tar.gz \
            file://not-win32.patch \
-           file://0001-Fixed-missed-ifndef-for-__mips_soft_float.patch \
            file://0001-arm-sysv-reverted-clang-VFP-mitigation.patch \
-           file://0001-powerpc-fix-build-failure-on-power7-and-older-532.patch \
-           file://0001-Address-platforms-with-no-__int128.patch \
-           file://0001-Address-platforms-with-no-__int128-part2.patch \
-           file://0001-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch \
            "
-SRC_URI[md5sum] = "6313289e32f1d38a9df4770b014a2ca7"
-SRC_URI[sha256sum] = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056"
+SRC_URI[sha256sum] = "540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620"
 UPSTREAM_CHECK_URI = "https://github.com/libffi/libffi/releases/"
 UPSTREAM_CHECK_REGEX = "libffi-(?P<pver>\d+(\.\d+)+)\.tar"
 
-EXTRA_OECONF += "--disable-builddir"
+EXTRA_OECONF += "--disable-builddir --disable-exec-static-tramp"
 EXTRA_OEMAKE_class-target = "LIBTOOLFLAGS='--tag=CC'"
 inherit autotools texinfo multilib_header
 
diff --git a/poky/meta/recipes-support/libgit2/libgit2_1.1.0.bb b/poky/meta/recipes-support/libgit2/libgit2_1.1.1.bb
similarity index 90%
rename from poky/meta/recipes-support/libgit2/libgit2_1.1.0.bb
rename to poky/meta/recipes-support/libgit2/libgit2_1.1.1.bb
index 2bbf59e..ae30a7a 100644
--- a/poky/meta/recipes-support/libgit2/libgit2_1.1.0.bb
+++ b/poky/meta/recipes-support/libgit2/libgit2_1.1.1.bb
@@ -6,7 +6,7 @@
 DEPENDS = "curl openssl zlib libssh2 libgcrypt libpcre2"
 
 SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v1.1"
-SRCREV = "7f4fa178629d559c037a1f72f79f79af9c1ef8ce"
+SRCREV = "8a0dc6783c340e61a44c179c48f832165ad2053c"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-support/libpcre/libpcre_8.44.bb b/poky/meta/recipes-support/libpcre/libpcre_8.45.bb
similarity index 92%
rename from poky/meta/recipes-support/libpcre/libpcre_8.44.bb
rename to poky/meta/recipes-support/libpcre/libpcre_8.45.bb
index cd80dc7..345c46e 100644
--- a/poky/meta/recipes-support/libpcre/libpcre_8.44.bb
+++ b/poky/meta/recipes-support/libpcre/libpcre_8.45.bb
@@ -6,14 +6,13 @@
 HOMEPAGE = "http://www.pcre.org"
 SECTION = "devel"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=3bb381a66a5385b246d4877922e7511e"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=b5d5d1a69a24ea2718263f1ff85a1c58"
 SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre-${PV}.tar.bz2 \
            file://run-ptest \
            file://Makefile \
            "
 
-SRC_URI[md5sum] = "cf7326204cc46c755b5b2608033d9d24"
-SRC_URI[sha256sum] = "19108658b23b3ec5058edc9f66ac545ea19f9537234be1ec62b714c84399366d"
+SRC_URI[sha256sum] = "4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8"
 
 CVE_PRODUCT = "pcre"
 
diff --git a/poky/meta/recipes-support/libseccomp/files/0001-arch-Add-riscv32-architecture-support.patch b/poky/meta/recipes-support/libseccomp/files/0001-arch-Add-riscv32-architecture-support.patch
new file mode 100644
index 0000000..62bd61f
--- /dev/null
+++ b/poky/meta/recipes-support/libseccomp/files/0001-arch-Add-riscv32-architecture-support.patch
@@ -0,0 +1,734 @@
+From 6d127a0463ea2d7bb5021562678324e28e0407e5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Jun 2021 19:45:34 -0700
+Subject: [PATCH 1/2] arch: Add riscv32 architecture support
+
+Support for rv32 was upstreamed into 5.4+ kernel
+
+Upstream-Status: Submitted [https://github.com/seccomp/libseccomp/pull/327]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CREDITS                            |  1 +
+ README.md                          |  1 +
+ doc/man/man1/scmp_sys_resolver.1   |  2 +-
+ doc/man/man3/seccomp_arch_add.3    |  1 +
+ include/seccomp-syscalls.h         | 31 ++++++++++++++++++
+ include/seccomp.h.in               |  9 ++++++
+ src/Makefile.am                    |  1 +
+ src/arch-riscv32.c                 | 31 ++++++++++++++++++
+ src/arch-riscv32.h                 | 22 +++++++++++++
+ src/arch-syscall-dump.c            |  4 +++
+ src/arch-syscall-validate          | 51 +++++++++++++++++++++++++++++-
+ src/arch.c                         | 11 ++++++-
+ src/gen_pfc.c                      |  2 ++
+ src/python/libseccomp.pxd          |  1 +
+ src/python/seccomp.pyx             |  2 ++
+ src/syscalls.c                     |  1 +
+ src/syscalls.csv                   |  2 +-
+ src/syscalls.h                     |  2 ++
+ src/system.c                       |  1 +
+ tests/15-basic-resolver.c          |  1 +
+ tests/16-sim-arch_basic.c          |  6 ++++
+ tests/16-sim-arch_basic.py         |  1 +
+ tests/23-sim-arch_all_le_basic.c   |  3 ++
+ tests/23-sim-arch_all_le_basic.py  |  1 +
+ tests/56-basic-iterate_syscalls.c  |  1 +
+ tests/56-basic-iterate_syscalls.py |  1 +
+ tests/regression                   |  5 +--
+ tools/scmp_arch_detect.c           |  3 ++
+ tools/scmp_bpf_disasm.c            |  2 ++
+ tools/scmp_bpf_sim.c               |  2 ++
+ tools/util.c                       |  6 +++-
+ tools/util.h                       |  7 ++++
+ 32 files changed, 208 insertions(+), 7 deletions(-)
+ create mode 100644 src/arch-riscv32.c
+ create mode 100644 src/arch-riscv32.h
+
+diff --git a/CREDITS b/CREDITS
+index d6bbc2a..ad2f7e0 100644
+--- a/CREDITS
++++ b/CREDITS
+@@ -33,6 +33,7 @@ John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
+ Jonah Petri <jonah@petri.us>
+ Justin Cormack <justin.cormack@docker.com>
+ Kees Cook <keescook@chromium.org>
++Khem Raj <raj.khem@gmail.com>
+ Kyle R. Conway <kyle.r.conway@gmail.com>
+ Kenta Tada <Kenta.Tada@sony.com>
+ Luca Bruno <lucab@debian.org>
+diff --git a/README.md b/README.md
+index ba02186..2cd718f 100644
+--- a/README.md
++++ b/README.md
+@@ -54,6 +54,7 @@ The libseccomp library currently supports the architectures listed below:
+ * 32-bit s390 (s390)
+ * 64-bit s390x (s390x)
+ * 64-bit RISC-V (riscv64)
++* 32-bit RISC-V (riscv32)
+ * 32-bit SuperH big endian (sheb)
+ * 32-bit SuperH (sh)
+
+diff --git a/doc/man/man1/scmp_sys_resolver.1 b/doc/man/man1/scmp_sys_resolver.1
+index 267187b..fc68d18 100644
+--- a/doc/man/man1/scmp_sys_resolver.1
++++ b/doc/man/man1/scmp_sys_resolver.1
+@@ -36,7 +36,7 @@ The architecture to use for resolving the system call.  Valid
+ .I ARCH
+ values are "x86", "x86_64", "x32", "arm", "aarch64", "mips", "mipsel", "mips64",
+ "mipsel64", "mips64n32", "mipsel64n32", "parisc", "parisc64", "ppc", "ppc64",
+-"ppc64le", "s390", "s390x", "sheb" and "sh".
++"ppc64le", "riscv32", "s390", "s390x", "sheb" and "sh".
+ .TP
+ .B \-t
+ If necessary, translate the system call name to the proper system call number,
+diff --git a/doc/man/man3/seccomp_arch_add.3 b/doc/man/man3/seccomp_arch_add.3
+index 7baa21e..8966b3a 100644
+--- a/doc/man/man3/seccomp_arch_add.3
++++ b/doc/man/man3/seccomp_arch_add.3
+@@ -30,6 +30,7 @@ seccomp_arch_add, seccomp_arch_remove, seccomp_arch_exist, seccomp_arch_native \
+ .B #define SCMP_ARCH_S390X
+ .B #define SCMP_ARCH_PARISC
+ .B #define SCMP_ARCH_PARISC64
++.B #define SCMP_ARCH_RISCV32
+ .B #define SCMP_ARCH_RISCV64
+ .sp
+ .BI "uint32_t seccomp_arch_resolve_name(const char *" arch_name ");"
+diff --git a/include/seccomp-syscalls.h b/include/seccomp-syscalls.h
+index c694db1..c6ea5ca 100644
+--- a/include/seccomp-syscalls.h
++++ b/include/seccomp-syscalls.h
+@@ -275,6 +275,13 @@
+ #define __PNR_ppoll				-10241
+ #define __PNR_renameat				-10242
+ #define __PNR_riscv_flush_icache		-10243
++#define __PNR_fstat				-10244
++#define __PNR_futex				-10245
++#define __PNR_nanosleep				-10246
++#define __PNR_lseek				-10247
++#define __PNR_clock_gettime			-10248
++#define __PNR_clock_nanosleep			-10249
++#define __PNR_gettimeofday			-10250
+
+ /*
+  * libseccomp syscall definitions
+@@ -442,7 +449,11 @@
+ #define __SNR_clock_getres_time64	__PNR_clock_getres_time64
+ #endif
+
++#ifdef __NR_clock_gettime
+ #define __SNR_clock_gettime		__NR_clock_gettime
++#else
++#define __SNR_clock_gettime		__PNR_clock_gettime
++#endif
+
+ #ifdef __NR_clock_gettime64
+ #define __SNR_clock_gettime64		__NR_clock_gettime64
+@@ -450,7 +461,11 @@
+ #define __SNR_clock_gettime64		__PNR_clock_gettime64
+ #endif
+
++#ifdef __NR_clock_nanosleep
+ #define __SNR_clock_nanosleep		__NR_clock_nanosleep
++#else
++#define __SNR_clock_nanosleep		__PNR_clock_nanosleep
++#endif
+
+ #ifdef __NR_clock_nanosleep_time64
+ #define __SNR_clock_nanosleep_time64	__NR_clock_nanosleep_time64
+@@ -710,7 +725,11 @@
+ #define __SNR_ftruncate64		__PNR_ftruncate64
+ #endif
+
++#ifdef __NR_futex
+ #define __SNR_futex			__NR_futex
++#else
++#define __SNR_futex			__PNR_futex
++#endif
+
+ #ifdef __NR_futex_time64
+ #define __SNR_futex_time64		__NR_futex_time64
+@@ -896,7 +915,11 @@
+
+ #define __SNR_gettid			__NR_gettid
+
++#ifdef __NR_gettimeofday
+ #define __SNR_gettimeofday		__NR_gettimeofday
++#else
++#define __SNR_gettimeofday		__PNR_gettimeofday
++#endif
+
+ #ifdef __NR_getuid
+ #define __SNR_getuid			__NR_getuid
+@@ -1046,7 +1069,11 @@
+
+ #define __SNR_lremovexattr		__NR_lremovexattr
+
++#ifdef __NR_lseek
+ #define __SNR_lseek			__NR_lseek
++#else
++#define __SNR_lseek			__PNR_lseek
++#endif
+
+ #define __SNR_lsetxattr			__NR_lsetxattr
+
+@@ -1218,7 +1245,11 @@
+
+ #define __SNR_name_to_handle_at			__NR_name_to_handle_at
+
++#ifdef __NR_nanosleep
+ #define __SNR_nanosleep			__NR_nanosleep
++#else
++#define __SNR_nanosleep			__PNR_nanosleep
++#endif
+
+ #ifdef __NR_newfstatat
+ #define __SNR_newfstatat		__NR_newfstatat
+diff --git a/include/seccomp.h.in b/include/seccomp.h.in
+index 333a89c..2e911db 100644
+--- a/include/seccomp.h.in
++++ b/include/seccomp.h.in
+@@ -214,7 +214,16 @@ struct scmp_arg_cmp {
+ #endif /* EM_RISCV */
+ #define AUDIT_ARCH_RISCV64	(EM_RISCV|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
+ #endif /* AUDIT_ARCH_RISCV64 */
++
++#ifndef AUDIT_ARCH_RISCV32
++#ifndef EM_RISCV
++#define EM_RISCV		243
++#endif /* EM_RISCV */
++#define AUDIT_ARCH_RISCV32	(EM_RISCV|__AUDIT_ARCH_LE)
++#endif /* AUDIT_ARCH_RISCV32 */
++
+ #define SCMP_ARCH_RISCV64	AUDIT_ARCH_RISCV64
++#define SCMP_ARCH_RISCV32	AUDIT_ARCH_RISCV32
+
+ /**
+  * The SuperH architecture tokens
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 7b59810..7961925 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -44,6 +44,7 @@ SOURCES_ALL = \
+ 	arch-ppc.h arch-ppc.c \
+ 	arch-ppc64.h arch-ppc64.c \
+ 	arch-riscv64.h arch-riscv64.c \
++	arch-riscv32.h arch-riscv32.c \
+ 	arch-s390.h arch-s390.c \
+ 	arch-s390x.h arch-s390x.c \
+ 	arch-sh.h arch-sh.c \
+diff --git a/src/arch-riscv32.c b/src/arch-riscv32.c
+new file mode 100644
+index 0000000..53b3126
+--- /dev/null
++++ b/src/arch-riscv32.c
+@@ -0,0 +1,31 @@
++/*
++ * This library is free software; you can redistribute it and/or modify it
++ * under the terms of version 2.1 of the GNU Lesser General Public License as
++ * published by the Free Software Foundation.
++ *
++ * This library 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 Lesser General Public License
++ * for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this library; if not, see <http://www.gnu.org/licenses>.
++ */
++
++#include <stdlib.h>
++#include <errno.h>
++#include <linux/audit.h>
++
++#include "arch.h"
++#include "arch-riscv32.h"
++
++const struct arch_def arch_def_riscv32 = {
++	.token = SCMP_ARCH_RISCV32,
++	.token_bpf = AUDIT_ARCH_RISCV32,
++	.size = ARCH_SIZE_32,
++	.endian = ARCH_ENDIAN_LITTLE,
++	.syscall_resolve_name = riscv32_syscall_resolve_name,
++	.syscall_resolve_num = riscv32_syscall_resolve_num,
++	.syscall_rewrite = NULL,
++	.rule_add = NULL,
++};
+diff --git a/src/arch-riscv32.h b/src/arch-riscv32.h
+new file mode 100644
+index 0000000..082a77d
+--- /dev/null
++++ b/src/arch-riscv32.h
+@@ -0,0 +1,22 @@
++/*
++ * This library is free software; you can redistribute it and/or modify it
++ * under the terms of version 2.1 of the GNU Lesser General Public License as
++ * published by the Free Software Foundation.
++ *
++ * This library 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 Lesser General Public License
++ * for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this library; if not, see <http://www.gnu.org/licenses>.
++ */
++
++#ifndef _ARCH_RISCV32_H
++#define _ARCH_RISCV32_H
++
++#include "arch.h"
++
++ARCH_DECL(riscv32)
++
++#endif
+diff --git a/src/arch-syscall-dump.c b/src/arch-syscall-dump.c
+index 843483b..c6ab57d 100644
+--- a/src/arch-syscall-dump.c
++++ b/src/arch-syscall-dump.c
+@@ -43,6 +43,7 @@
+ #include "arch-ppc.h"
+ #include "arch-ppc64.h"
+ #include "arch-riscv64.h"
++#include "arch-riscv32.h"
+ #include "arch-s390.h"
+ #include "arch-s390x.h"
+ #include "arch-sh.h"
+@@ -135,6 +136,9 @@ int main(int argc, char *argv[])
+ 		case SCMP_ARCH_RISCV64:
+ 			sys = riscv64_syscall_iterate(iter);
+ 			break;
++		case SCMP_ARCH_RISCV32:
++			sys = riscv32_syscall_iterate(iter);
++			break;
+ 		case SCMP_ARCH_S390:
+ 			sys = s390_syscall_iterate(iter);
+ 			break;
+diff --git a/src/arch-syscall-validate b/src/arch-syscall-validate
+index 68bebef..85c7f3d 100755
+--- a/src/arch-syscall-validate
++++ b/src/arch-syscall-validate
+@@ -519,6 +519,49 @@ function dump_lib_riscv64() {
+ 	dump_lib_arch riscv64 | mangle_lib_syscall riscv64
+ }
+
++#
++# Dump the riscv32 system syscall table
++#
++# Arguments:
++#     1    path to the kernel source
++#
++#  Dump the architecture's syscall table to stdout.
++#
++function dump_sys_riscv32() {
++	local sed_filter=""
++
++	sed_filter+='s/__NR3264_fadvise64/223/;'
++	sed_filter+='s/__NR3264_fcntl/25/;'
++	sed_filter+='s/__NR3264_fstatat/79/;'
++	sed_filter+='s/__NR3264_fstatfs/44/;'
++	sed_filter+='s/__NR3264_ftruncate/46/;'
++	sed_filter+='s/__NR3264_lseek/62/;'
++	sed_filter+='s/__NR3264_mmap/222/;'
++	sed_filter+='s/__NR3264_sendfile/71/;'
++	sed_filter+='s/__NR3264_statfs/43/;'
++	sed_filter+='s/__NR3264_truncate/45/;'
++	sed_filter+='s/__NR3264_fstat/80/;'
++
++	gcc -E -dM -I$1/include/uapi \
++		-D__BITS_PER_LONG=32 \
++		$1/arch/riscv/include/uapi/asm/unistd.h | \
++		grep "^#define __NR_" | \
++		sed '/__NR_syscalls/d' | \
++		sed 's/(__NR_arch_specific_syscall + 15)/259/' | \
++		sed '/__NR_arch_specific_syscall/d' | \
++		sed 's/#define[ \t]\+__NR_\([^ \t]\+\)[ \t]\+\(.*\)/\1,\2/' | \
++		sed $sed_filter | sort
++}
++
++#
++# Dump the riscv32 library syscall table
++#
++#  Dump the library's syscall table to stdout.
++#
++function dump_lib_riscv32() {
++	dump_lib_arch riscv32 | mangle_lib_syscall riscv32
++}
++
+ #
+ # Dump the s390 system syscall table
+ #
+@@ -639,6 +682,9 @@ function dump_sys() {
+ 	ppc64)
+ 		dump_sys_ppc64 "$2"
+ 		;;
++	riscv32)
++		dump_sys_riscv32 "$2"
++		;;
+ 	riscv64)
+ 		dump_sys_riscv64 "$2"
+ 		;;
+@@ -706,6 +752,9 @@ function dump_lib() {
+ 	ppc64)
+ 		dump_lib_ppc64
+ 		;;
++	riscv32)
++		dump_lib_riscv32
++		;;
+ 	riscv64)
+ 		dump_lib_riscv64
+ 		;;
+@@ -751,7 +800,7 @@ function gen_csv() {
+ 	abi_list+=" mips mips64 mips64n32"
+ 	abi_list+=" parisc parisc64"
+ 	abi_list+=" ppc ppc64"
+-	abi_list+=" riscv64"
++	abi_list+=" riscv32 riscv64"
+ 	abi_list+=" s390 s390x"
+ 	abi_list+=" sh"
+
+diff --git a/src/arch.c b/src/arch.c
+index 6ab922f..acf80af 100644
+--- a/src/arch.c
++++ b/src/arch.c
+@@ -43,6 +43,7 @@
+ #include "arch-ppc.h"
+ #include "arch-ppc64.h"
+ #include "arch-riscv64.h"
++#include "arch-riscv32.h"
+ #include "arch-s390.h"
+ #include "arch-s390x.h"
+ #include "arch-sh.h"
+@@ -97,8 +98,12 @@ const struct arch_def *arch_def_native = &arch_def_ppc;
+ const struct arch_def *arch_def_native = &arch_def_s390x;
+ #elif __s390__
+ const struct arch_def *arch_def_native = &arch_def_s390;
+-#elif __riscv && __riscv_xlen == 64
++#elif __riscv
++#if __riscv_xlen == 64
+ const struct arch_def *arch_def_native = &arch_def_riscv64;
++#elif __riscv_xlen == 32
++const struct arch_def *arch_def_native = &arch_def_riscv32;
++#endif
+ #elif __sh__
+ #ifdef __BIG_ENDIAN__
+ const struct arch_def *arch_def_native = &arch_def_sheb;
+@@ -167,6 +172,8 @@ const struct arch_def *arch_def_lookup(uint32_t token)
+ 		return &arch_def_s390;
+ 	case SCMP_ARCH_S390X:
+ 		return &arch_def_s390x;
++	case SCMP_ARCH_RISCV32:
++		return &arch_def_riscv32;
+ 	case SCMP_ARCH_RISCV64:
+ 		return &arch_def_riscv64;
+ 	case SCMP_ARCH_SHEB:
+@@ -223,6 +230,8 @@ const struct arch_def *arch_def_lookup_name(const char *arch_name)
+ 		return &arch_def_s390;
+ 	else if (strcmp(arch_name, "s390x") == 0)
+ 		return &arch_def_s390x;
++	else if (strcmp(arch_name, "riscv32") == 0)
++		return &arch_def_riscv32;
+ 	else if (strcmp(arch_name, "riscv64") == 0)
+ 		return &arch_def_riscv64;
+ 	else if (strcmp(arch_name, "sheb") == 0)
+diff --git a/src/gen_pfc.c b/src/gen_pfc.c
+index c7fb536..d45e181 100644
+--- a/src/gen_pfc.c
++++ b/src/gen_pfc.c
+@@ -87,6 +87,8 @@ static const char *_pfc_arch(const struct arch_def *arch)
+ 		return "s390x";
+ 	case SCMP_ARCH_S390:
+ 		return "s390";
++	case SCMP_ARCH_RISCV32:
++		return "riscv32";
+ 	case SCMP_ARCH_RISCV64:
+ 		return "riscv64";
+ 	case SCMP_ARCH_SHEB:
+diff --git a/src/python/libseccomp.pxd b/src/python/libseccomp.pxd
+index 0629bf1..000d503 100644
+--- a/src/python/libseccomp.pxd
++++ b/src/python/libseccomp.pxd
+@@ -51,6 +51,7 @@ cdef extern from "seccomp.h":
+         SCMP_ARCH_PPC64LE
+         SCMP_ARCH_S390
+         SCMP_ARCH_S390X
++        SCMP_ARCH_RISCV32
+         SCMP_ARCH_RISCV64
+
+     cdef enum scmp_filter_attr:
+diff --git a/src/python/seccomp.pyx b/src/python/seccomp.pyx
+index 1a9eb24..c94ad1d 100644
+--- a/src/python/seccomp.pyx
++++ b/src/python/seccomp.pyx
+@@ -214,6 +214,7 @@ cdef class Arch:
+     PARISC64 - 64-bit PA-RISC
+     PPC64 - 64-bit PowerPC
+     PPC - 32-bit PowerPC
++    RISCV32 - 32-bit RISC-V
+     RISCV64 - 64-bit RISC-V
+     """
+
+@@ -238,6 +239,7 @@ cdef class Arch:
+     PPC64LE = libseccomp.SCMP_ARCH_PPC64LE
+     S390 = libseccomp.SCMP_ARCH_S390
+     S390X = libseccomp.SCMP_ARCH_S390X
++    RISCV32 = libseccomp.SCMP_ARCH_RISCV32
+     RISCV64 = libseccomp.SCMP_ARCH_RISCV64
+
+     def __cinit__(self, arch=libseccomp.SCMP_ARCH_NATIVE):
+diff --git a/src/syscalls.c b/src/syscalls.c
+index ddb84fa..34e08d9 100644
+--- a/src/syscalls.c
++++ b/src/syscalls.c
+@@ -55,3 +55,4 @@ ARCH_DEF(sh)
+ ARCH_DEF(x32)
+ ARCH_DEF(x86)
+ ARCH_DEF(riscv64)
++ARCH_DEF(riscv32)
+diff --git a/src/syscalls.csv b/src/syscalls.csv
+index fbd1058..0ee6c15 100644
+--- a/src/syscalls.csv
++++ b/src/syscalls.csv
+@@ -1,4 +1,4 @@
+-#syscall (v5.12.0-rc7 2021-04-17),x86,x86_64,x32,arm,aarch64,mips,mips64,mips64n32,parisc,parisc64,ppc,ppc64,riscv64,s390,s390x,sh
++#syscall (v5.12.0-rc7 2021-04-17),x86,x86_64,x32,arm,aarch64,mips,mips64,mips64n32,parisc,parisc64,ppc,ppc64,riscv32,riscv64,s390,s390x,sh
+ accept,PNR,43,43,285,202,168,42,42,35,35,330,330,202,PNR,PNR,344
+ accept4,364,288,288,366,242,334,293,297,320,320,344,344,242,364,364,358
+ access,33,21,21,33,PNR,33,20,20,33,33,33,33,PNR,33,33,33
+diff --git a/src/syscalls.h b/src/syscalls.h
+index 4f959af..49887ba 100644
+--- a/src/syscalls.h
++++ b/src/syscalls.h
+@@ -28,6 +28,7 @@
+ #include "arch-x86.h"
+ #include "arch-x86.h"
+ #include "arch-riscv64.h"
++#include "arch-riscv32.h"
+
+ /* NOTE: changes to the arch_syscall_table layout may require changes to the
+  *       generate_syscalls_perf.sh and arch-syscall-validate scripts */
+@@ -49,6 +50,7 @@ struct arch_syscall_table {
+ 	int parisc64;
+ 	int ppc;
+ 	int ppc64;
++	int riscv32;
+ 	int riscv64;
+ 	int s390;
+ 	int s390x;
+diff --git a/src/system.c b/src/system.c
+index ae445bf..063e6be 100644
+--- a/src/system.c
++++ b/src/system.c
+@@ -130,6 +130,7 @@ int sys_chk_seccomp_syscall(void)
+ 	case SCMP_ARCH_PPC64LE:
+ 	case SCMP_ARCH_S390:
+ 	case SCMP_ARCH_S390X:
++	case SCMP_ARCH_RISCV32:
+ 	case SCMP_ARCH_RISCV64:
+ 		break;
+ 	default:
+diff --git a/tests/15-basic-resolver.c b/tests/15-basic-resolver.c
+index 2679270..57092f3 100644
+--- a/tests/15-basic-resolver.c
++++ b/tests/15-basic-resolver.c
+@@ -45,6 +45,7 @@ unsigned int arch_list[] = {
+ 	SCMP_ARCH_S390X,
+ 	SCMP_ARCH_PARISC,
+ 	SCMP_ARCH_PARISC64,
++	SCMP_ARCH_RISCV32,
+ 	SCMP_ARCH_RISCV64,
+ 	-1
+ };
+diff --git a/tests/16-sim-arch_basic.c b/tests/16-sim-arch_basic.c
+index 4fcbb5c..662e081 100644
+--- a/tests/16-sim-arch_basic.c
++++ b/tests/16-sim-arch_basic.c
+@@ -90,6 +90,9 @@ int main(int argc, char *argv[])
+ 	if (rc != 0)
+ 		goto out;
+ 	rc = seccomp_arch_add(ctx, SCMP_ARCH_PPC64LE);
++	if (rc != 0)
++		goto out;
++	rc = seccomp_arch_add(ctx, SCMP_ARCH_RISCV32);
+ 	if (rc != 0)
+ 		goto out;
+ 	rc = seccomp_arch_add(ctx, SCMP_ARCH_RISCV64);
+@@ -160,6 +163,9 @@ int main(int argc, char *argv[])
+ 	if (rc != 0)
+ 		goto out;
+ 	rc = seccomp_arch_remove(ctx, SCMP_ARCH_PPC64LE);
++	if (rc != 0)
++		goto out;
++	rc = seccomp_arch_remove(ctx, SCMP_ARCH_RISCV32);
+ 	if (rc != 0)
+ 		goto out;
+ 	rc = seccomp_arch_remove(ctx, SCMP_ARCH_RISCV64);
+diff --git a/tests/16-sim-arch_basic.py b/tests/16-sim-arch_basic.py
+index f22c985..d5e93a2 100755
+--- a/tests/16-sim-arch_basic.py
++++ b/tests/16-sim-arch_basic.py
+@@ -44,6 +44,7 @@ def test(args):
+     f.add_arch(Arch("mipsel64"))
+     f.add_arch(Arch("mipsel64n32"))
+     f.add_arch(Arch("ppc64le"))
++    f.add_arch(Arch("riscv32"))
+     f.add_arch(Arch("riscv64"))
+     f.add_arch(Arch("sh"))
+     f.add_rule(ALLOW, "read", Arg(0, EQ, sys.stdin.fileno()))
+diff --git a/tests/23-sim-arch_all_le_basic.c b/tests/23-sim-arch_all_le_basic.c
+index 08f030c..ec73224 100644
+--- a/tests/23-sim-arch_all_le_basic.c
++++ b/tests/23-sim-arch_all_le_basic.c
+@@ -75,6 +75,9 @@ int main(int argc, char *argv[])
+ 	if (rc != 0)
+ 		goto out;
+ 	rc = seccomp_arch_add(ctx, seccomp_arch_resolve_name("sh"));
++	if (rc != 0)
++		goto out;
++	rc = seccomp_arch_add(ctx, seccomp_arch_resolve_name("riscv32"));
+ 	if (rc != 0)
+ 		goto out;
+
+diff --git a/tests/23-sim-arch_all_le_basic.py b/tests/23-sim-arch_all_le_basic.py
+index 12bb243..1eebc20 100755
+--- a/tests/23-sim-arch_all_le_basic.py
++++ b/tests/23-sim-arch_all_le_basic.py
+@@ -40,6 +40,7 @@ def test(args):
+     f.add_arch(Arch("mipsel64"))
+     f.add_arch(Arch("mipsel64n32"))
+     f.add_arch(Arch("ppc64le"))
++    f.add_arch(Arch("riscv32"))
+     f.add_arch(Arch("riscv64"))
+     f.add_arch(Arch("sh"))
+     f.add_rule(ALLOW, "read", Arg(0, EQ, sys.stdin.fileno()))
+diff --git a/tests/56-basic-iterate_syscalls.c b/tests/56-basic-iterate_syscalls.c
+index 5e7ab67..c11ca8c 100644
+--- a/tests/56-basic-iterate_syscalls.c
++++ b/tests/56-basic-iterate_syscalls.c
+@@ -46,6 +46,7 @@ unsigned int arch_list[] = {
+ 	SCMP_ARCH_S390X,
+ 	SCMP_ARCH_PARISC,
+ 	SCMP_ARCH_PARISC64,
++	SCMP_ARCH_RISCV32,
+ 	SCMP_ARCH_RISCV64,
+ 	-1
+ };
+diff --git a/tests/56-basic-iterate_syscalls.py b/tests/56-basic-iterate_syscalls.py
+index 77a5b89..2e860bf 100755
+--- a/tests/56-basic-iterate_syscalls.py
++++ b/tests/56-basic-iterate_syscalls.py
+@@ -37,6 +37,7 @@ arch_list = ["x86",
+              "mipsel64",
+              "mipsel64n32",
+              "ppc64le",
++             "riscv32",
+              "riscv64"]
+
+ def test_arch(arch, init):
+diff --git a/tests/regression b/tests/regression
+index 53dab75..2869629 100755
+--- a/tests/regression
++++ b/tests/regression
+@@ -26,7 +26,7 @@ GLBL_ARCH_LE_SUPPORT=" \
+ 	arm aarch64 \
+ 	mipsel mipsel64 mipsel64n32 \
+ 	ppc64le \
+-	riscv64 \
++	riscv32 riscv64 \
+ 	sh"
+ GLBL_ARCH_BE_SUPPORT=" \
+ 	mips mips64 mips64n32 \
+@@ -41,6 +41,7 @@ GLBL_ARCH_32B_SUPPORT=" \
+ 	mips mipsel mips64n32 mipsel64n32 \
+ 	parisc \
+ 	ppc \
++	riscv32 \
+ 	s390 \
+ 	sheb sh"
+
+@@ -785,7 +786,7 @@ function run_test_live() {
+
+ 	# setup the arch specific return values
+ 	case "$arch" in
+-	x86|x86_64|x32|arm|aarch64|parisc|parisc64|ppc|ppc64|ppc64le|ppc|s390|s390x|riscv64|sh|sheb)
++	x86|x86_64|x32|arm|aarch64|parisc|parisc64|ppc|ppc64|ppc64le|ppc|s390|s390x|riscv32|riscv64|sh|sheb)
+ 		rc_kill_process=159
+ 		rc_kill=159
+ 		rc_allow=160
+diff --git a/tools/scmp_arch_detect.c b/tools/scmp_arch_detect.c
+index b6bd2bb..7789970 100644
+--- a/tools/scmp_arch_detect.c
++++ b/tools/scmp_arch_detect.c
+@@ -129,6 +129,9 @@ int main(int argc, char *argv[])
+ 		case SCMP_ARCH_SH:
+ 			printf("sh\n");
+ 			break;
++		case SCMP_ARCH_RISCV32:
++			printf("riscv32\n");
++			break;
+ 		default:
+ 			printf("unknown\n");
+ 		}
+diff --git a/tools/scmp_bpf_disasm.c b/tools/scmp_bpf_disasm.c
+index b95cdeb..49a89c7 100644
+--- a/tools/scmp_bpf_disasm.c
++++ b/tools/scmp_bpf_disasm.c
+@@ -510,6 +510,8 @@ int main(int argc, char *argv[])
+ 				arch = AUDIT_ARCH_S390X;
+ 			else if (strcmp(optarg, "riscv64") == 0)
+ 				arch = AUDIT_ARCH_RISCV64;
++			else if (strcmp(optarg, "riscv32") == 0)
++				arch = AUDIT_ARCH_RISCV32;
+ 			else
+ 				exit_usage(argv[0]);
+ 			break;
+diff --git a/tools/scmp_bpf_sim.c b/tools/scmp_bpf_sim.c
+index 04edfbc..53e6575 100644
+--- a/tools/scmp_bpf_sim.c
++++ b/tools/scmp_bpf_sim.c
+@@ -285,6 +285,8 @@ int main(int argc, char *argv[])
+ 				arch = AUDIT_ARCH_S390;
+ 			else if (strcmp(optarg, "s390x") == 0)
+ 				arch = AUDIT_ARCH_S390X;
++			else if (strcmp(optarg, "riscv32") == 0)
++				arch = AUDIT_ARCH_RISCV32;
+ 			else if (strcmp(optarg, "riscv64") == 0)
+ 				arch = AUDIT_ARCH_RISCV64;
+ 			else if (strcmp(optarg, "sheb") == 0)
+diff --git a/tools/util.c b/tools/util.c
+index afea6c9..1fc1f62 100644
+--- a/tools/util.c
++++ b/tools/util.c
+@@ -78,8 +78,12 @@
+ #define ARCH_NATIVE		AUDIT_ARCH_S390X
+ #elif __s390__
+ #define ARCH_NATIVE		AUDIT_ARCH_S390
+-#elif __riscv && __riscv_xlen == 64
++#elif __riscv
++#if __riscv_xlen == 64
+ #define ARCH_NATIVE		AUDIT_ARCH_RISCV64
++#elif __riscv_xlen == 32
++#define ARCH_NATIVE		AUDIT_ARCH_RISCV32
++#endif
+ #elif __sh__
+ #ifdef __BIG_ENDIAN__
+ #define ARCH_NATIVE		AUDIT_ARCH_SH
+diff --git a/tools/util.h b/tools/util.h
+index 6c2ca33..4d16e38 100644
+--- a/tools/util.h
++++ b/tools/util.h
+@@ -79,6 +79,13 @@
+ #define AUDIT_ARCH_RISCV64	(EM_RISCV|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
+ #endif /* AUDIT_ARCH_RISCV64 */
+
++#ifndef AUDIT_ARCH_RISCV32
++#ifndef EM_RISCV
++#define EM_RISCV		243
++#endif /* EM_RISCV */
++#define AUDIT_ARCH_RISCV32	(EM_RISCV|__AUDIT_ARCH_LE)
++#endif /* AUDIT_ARCH_RISCV32 */
++
+ extern uint32_t arch;
+
+ uint16_t ttoh16(uint32_t arch, uint16_t val);
+--
+2.32.0
diff --git a/poky/meta/recipes-support/libseccomp/files/0001-configure.ac-Bump-version-to-2.5.99.patch b/poky/meta/recipes-support/libseccomp/files/0001-configure.ac-Bump-version-to-2.5.99.patch
new file mode 100644
index 0000000..3fc285b
--- /dev/null
+++ b/poky/meta/recipes-support/libseccomp/files/0001-configure.ac-Bump-version-to-2.5.99.patch
@@ -0,0 +1,26 @@
+From 00b6bc440a75443f9bea431bbb41df50469b5093 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Jun 2021 23:13:20 -0700
+Subject: [PATCH] configure.ac: Bump version to 2.5.99
+
+Upstream-Status: Inappropriate [Needed for git builds only]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 3e87734..48e796f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -19,7 +19,7 @@ dnl #
+ dnl ####
+ dnl libseccomp defines
+ dnl ####
+-AC_INIT([libseccomp], [0.0.0])
++AC_INIT([libseccomp], [2.5.99])
+
+ dnl ####
+ dnl autoconf configuration
+--
+2.32.0
diff --git a/poky/meta/recipes-support/libseccomp/files/0002-Regenerate-syscall-cvs-file-from-5.13-rc5-kernel.patch b/poky/meta/recipes-support/libseccomp/files/0002-Regenerate-syscall-cvs-file-from-5.13-rc5-kernel.patch
new file mode 100644
index 0000000..7ca861a
--- /dev/null
+++ b/poky/meta/recipes-support/libseccomp/files/0002-Regenerate-syscall-cvs-file-from-5.13-rc5-kernel.patch
@@ -0,0 +1,996 @@
+From ee4aba3f59b4bf52a74cb3917e64c704250de8ef Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Jun 2021 20:42:19 -0700
+Subject: [PATCH 2/2] Regenerate syscall cvs file from 5.13-rc5 kernel
+
+Upstream-Status: Submitted [https://github.com/seccomp/libseccomp/pull/327]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/seccomp-syscalls.h |   7 +
+ src/syscalls.csv           | 952 +++++++++++++++++++------------------
+ 2 files changed, 485 insertions(+), 474 deletions(-)
+
+diff --git a/include/seccomp-syscalls.h b/include/seccomp-syscalls.h
+index c6ea5ca..b7651bf 100644
+--- a/include/seccomp-syscalls.h
++++ b/include/seccomp-syscalls.h
+@@ -282,6 +282,7 @@
+ #define __PNR_clock_gettime			-10248
+ #define __PNR_clock_nanosleep			-10249
+ #define __PNR_gettimeofday			-10250
++#define __PNR_quotactl_path			-10251
+
+ /*
+  * libseccomp syscall definitions
+@@ -1547,6 +1548,12 @@
+ #define __SNR_riscv_flush_icache	__PNR_riscv_flush_icache
+ #endif
+
++#ifdef __NR_quotactl_path
++#define __SNR_quotactl_path       __NR_quotactl_path
++#else
++#define __SNR_quotactl_path       __PNR_quotactl_path
++#endif
++
+ #ifdef __NR_rmdir
+ #define __SNR_rmdir			__NR_rmdir
+ #else
+diff --git a/src/syscalls.csv b/src/syscalls.csv
+index 0ee6c15..eec8d21 100644
+--- a/src/syscalls.csv
++++ b/src/syscalls.csv
+@@ -1,474 +1,478 @@
+-#syscall (v5.12.0-rc7 2021-04-17),x86,x86_64,x32,arm,aarch64,mips,mips64,mips64n32,parisc,parisc64,ppc,ppc64,riscv32,riscv64,s390,s390x,sh
+-accept,PNR,43,43,285,202,168,42,42,35,35,330,330,202,PNR,PNR,344
+-accept4,364,288,288,366,242,334,293,297,320,320,344,344,242,364,364,358
+-access,33,21,21,33,PNR,33,20,20,33,33,33,33,PNR,33,33,33
+-acct,51,163,163,51,89,51,158,158,51,51,51,51,89,51,51,51
+-add_key,286,248,248,309,217,280,239,243,264,264,269,269,217,278,278,285
+-adjtimex,124,159,159,124,171,124,154,154,124,124,124,124,171,124,124,124
+-afs_syscall,137,183,183,PNR,PNR,137,176,176,PNR,PNR,137,137,PNR,137,137,PNR
+-alarm,27,37,37,PNR,PNR,27,37,37,27,27,27,27,PNR,27,27,27
+-arch_prctl,384,158,158,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-arm_fadvise64_64,PNR,PNR,PNR,270,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-arm_sync_file_range,PNR,PNR,PNR,341,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-bdflush,134,PNR,PNR,134,PNR,134,PNR,PNR,134,134,134,134,PNR,134,134,134
+-bind,361,49,49,282,200,169,48,48,22,22,327,327,200,361,361,341
+-bpf,357,321,321,386,280,355,315,319,341,341,361,361,280,351,351,375
+-break,17,PNR,PNR,PNR,PNR,17,PNR,PNR,PNR,PNR,17,17,PNR,PNR,PNR,PNR
+-breakpoint,PNR,PNR,PNR,983041,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-brk,45,12,12,45,214,45,12,12,45,45,45,45,214,45,45,45
+-cachectl,PNR,PNR,PNR,PNR,PNR,148,198,198,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-cacheflush,PNR,PNR,PNR,983042,PNR,147,197,197,PNR,PNR,PNR,PNR,PNR,PNR,PNR,123
+-capget,184,125,125,184,90,204,123,123,106,106,183,183,90,184,184,184
+-capset,185,126,126,185,91,205,124,124,107,107,184,184,91,185,185,185
+-chdir,12,80,80,12,49,12,78,78,12,12,12,12,49,12,12,12
+-chmod,15,90,90,15,PNR,15,88,88,15,15,15,15,PNR,15,15,15
+-chown,182,92,92,182,PNR,202,90,90,180,180,181,181,PNR,182,212,182
+-chown32,212,PNR,PNR,212,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,212,PNR,212
+-chroot,61,161,161,61,51,61,156,156,61,61,61,61,51,61,61,61
+-clock_adjtime,343,305,305,372,266,341,300,305,324,324,347,347,266,337,337,361
+-clock_adjtime64,405,PNR,PNR,405,PNR,405,PNR,405,405,PNR,405,PNR,PNR,405,PNR,405
+-clock_getres,266,229,229,264,114,264,223,227,257,257,247,247,114,261,261,266
+-clock_getres_time64,406,PNR,PNR,406,PNR,406,PNR,406,406,PNR,406,PNR,PNR,406,PNR,406
+-clock_gettime,265,228,228,263,113,263,222,226,256,256,246,246,113,260,260,265
+-clock_gettime64,403,PNR,PNR,403,PNR,403,PNR,403,403,PNR,403,PNR,PNR,403,PNR,403
+-clock_nanosleep,267,230,230,265,115,265,224,228,258,258,248,248,115,262,262,267
+-clock_nanosleep_time64,407,PNR,PNR,407,PNR,407,PNR,407,407,PNR,407,PNR,PNR,407,PNR,407
+-clock_settime,264,227,227,262,112,262,221,225,255,255,245,245,112,259,259,264
+-clock_settime64,404,PNR,PNR,404,PNR,404,PNR,404,404,PNR,404,PNR,PNR,404,PNR,404
+-clone,120,56,56,120,220,120,55,55,120,120,120,120,220,120,120,120
+-clone3,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,PNR
+-close,6,3,3,6,57,6,3,3,6,6,6,6,57,6,6,6
+-close_range,436,436,436,436,436,436,436,436,436,436,436,436,436,436,436,436
+-connect,362,42,42,283,203,170,41,41,31,31,328,328,203,362,362,342
+-copy_file_range,377,326,326,391,285,360,320,324,346,346,379,379,285,375,375,380
+-creat,8,85,85,8,PNR,8,83,83,8,8,8,8,PNR,8,8,8
+-create_module,127,174,PNR,PNR,PNR,127,167,167,PNR,PNR,127,127,PNR,127,127,PNR
+-delete_module,129,176,176,129,106,129,169,169,129,129,129,129,106,129,129,129
+-dup,41,32,32,41,23,41,31,31,41,41,41,41,23,41,41,41
+-dup2,63,33,33,63,PNR,63,32,32,63,63,63,63,PNR,63,63,63
+-dup3,330,292,292,358,24,327,286,290,312,312,316,316,24,326,326,330
+-epoll_create,254,213,213,250,PNR,248,207,207,224,224,236,236,PNR,249,249,254
+-epoll_create1,329,291,291,357,20,326,285,289,311,311,315,315,20,327,327,329
+-epoll_ctl,255,233,233,251,21,249,208,208,225,225,237,237,21,250,250,255
+-epoll_ctl_old,PNR,214,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-epoll_pwait,319,281,281,346,22,313,272,276,297,297,303,303,22,312,312,319
+-epoll_pwait2,441,441,441,441,441,441,441,441,441,441,441,441,441,441,441,441
+-epoll_wait,256,232,232,252,PNR,250,209,209,226,226,238,238,PNR,251,251,256
+-epoll_wait_old,PNR,215,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-eventfd,323,284,284,351,PNR,319,278,282,304,304,307,307,PNR,318,318,323
+-eventfd2,328,290,290,356,19,325,284,288,310,310,314,314,19,323,323,328
+-execve,11,59,520,11,221,11,57,57,11,11,11,11,221,11,11,11
+-execveat,358,322,545,387,281,356,316,320,342,342,362,362,281,354,354,376
+-exit,1,60,60,1,93,1,58,58,1,1,1,1,93,1,1,1
+-exit_group,252,231,231,248,94,246,205,205,222,222,234,234,94,248,248,252
+-faccessat,307,269,269,334,48,300,259,263,287,287,298,298,48,300,300,307
+-faccessat2,439,439,439,439,439,439,439,439,439,439,439,439,439,439,439,439
+-fadvise64,250,221,221,PNR,223,254,215,216,PNR,PNR,233,233,223,253,253,250
+-fadvise64_64,272,PNR,PNR,PNR,PNR,PNR,PNR,PNR,236,236,254,PNR,PNR,264,PNR,272
+-fallocate,324,285,285,352,47,320,279,283,305,305,309,309,47,314,314,324
+-fanotify_init,338,300,300,367,262,336,295,300,322,322,323,323,262,332,332,337
+-fanotify_mark,339,301,301,368,263,337,296,301,323,323,324,324,263,333,333,338
+-fchdir,133,81,81,133,50,133,79,79,133,133,133,133,50,133,133,133
+-fchmod,94,91,91,94,52,94,89,89,94,94,94,94,52,94,94,94
+-fchmodat,306,268,268,333,53,299,258,262,286,286,297,297,53,299,299,306
+-fchown,95,93,93,95,55,95,91,91,95,95,95,95,55,95,207,95
+-fchown32,207,PNR,PNR,207,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,207,PNR,207
+-fchownat,298,260,260,325,54,291,250,254,278,278,289,289,54,291,291,298
+-fcntl,55,72,72,55,25,55,70,70,55,55,55,55,25,55,55,55
+-fcntl64,221,PNR,PNR,221,PNR,220,PNR,212,202,202,204,PNR,PNR,221,PNR,221
+-fdatasync,148,75,75,148,83,152,73,73,148,148,148,148,83,148,148,148
+-fgetxattr,231,193,193,231,10,229,185,185,243,243,214,214,10,229,229,231
+-finit_module,350,313,313,379,273,348,307,312,333,333,353,353,273,344,344,368
+-flistxattr,234,196,196,234,13,232,188,188,246,246,217,217,13,232,232,234
+-flock,143,73,73,143,32,143,71,71,143,143,143,143,32,143,143,143
+-fork,2,57,57,2,PNR,2,56,56,2,2,2,2,PNR,2,2,2
+-fremovexattr,237,199,199,237,16,235,191,191,249,249,220,220,16,235,235,237
+-fsconfig,431,431,431,431,431,431,431,431,431,431,431,431,431,431,431,431
+-fsetxattr,228,190,190,228,7,226,182,182,240,240,211,211,7,226,226,228
+-fsmount,432,432,432,432,432,432,432,432,432,432,432,432,432,432,432,432
+-fsopen,430,430,430,430,430,430,430,430,430,430,430,430,430,430,430,430
+-fspick,433,433,433,433,433,433,433,433,433,433,433,433,433,433,433,433
+-fstat,108,5,5,108,80,108,5,5,28,28,108,108,80,108,108,108
+-fstat64,197,PNR,PNR,197,PNR,215,PNR,PNR,112,112,197,PNR,PNR,197,PNR,197
+-fstatat64,300,PNR,PNR,327,PNR,293,PNR,PNR,280,280,291,PNR,PNR,293,PNR,300
+-fstatfs,100,138,138,100,44,100,135,135,100,100,100,100,44,100,100,100
+-fstatfs64,269,PNR,PNR,267,PNR,256,PNR,218,299,299,253,253,PNR,266,266,269
+-fsync,118,74,74,118,82,118,72,72,118,118,118,118,82,118,118,118
+-ftime,35,PNR,PNR,PNR,PNR,35,PNR,PNR,PNR,PNR,35,35,PNR,PNR,PNR,PNR
+-ftruncate,93,77,77,93,46,93,75,75,93,93,93,93,46,93,93,93
+-ftruncate64,194,PNR,PNR,194,PNR,212,PNR,PNR,200,200,194,PNR,PNR,194,PNR,194
+-futex,240,202,202,240,98,238,194,194,210,210,221,221,98,238,238,240
+-futex_time64,422,PNR,PNR,422,PNR,422,PNR,422,422,PNR,422,PNR,PNR,422,PNR,422
+-futimesat,299,261,261,326,PNR,292,251,255,279,279,290,290,PNR,292,292,299
+-getcpu,318,309,309,345,168,312,271,275,296,296,302,302,168,311,311,318
+-getcwd,183,79,79,183,17,203,77,77,110,110,182,182,17,183,183,183
+-getdents,141,78,78,141,PNR,141,76,76,141,141,141,141,PNR,141,141,141
+-getdents64,220,217,217,217,61,219,308,299,201,201,202,202,61,220,220,220
+-getegid,50,108,108,50,177,50,106,106,50,50,50,50,177,50,202,50
+-getegid32,202,PNR,PNR,202,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,202,PNR,202
+-geteuid,49,107,107,49,175,49,105,105,49,49,49,49,175,49,201,49
+-geteuid32,201,PNR,PNR,201,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,201,PNR,201
+-getgid,47,104,104,47,176,47,102,102,47,47,47,47,176,47,200,47
+-getgid32,200,PNR,PNR,200,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,200,PNR,200
+-getgroups,80,115,115,80,158,80,113,113,80,80,80,80,158,80,205,80
+-getgroups32,205,PNR,PNR,205,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,205,PNR,205
+-getitimer,105,36,36,105,102,105,35,35,105,105,105,105,102,105,105,105
+-get_kernel_syms,130,177,PNR,PNR,PNR,130,170,170,PNR,PNR,130,130,PNR,130,130,PNR
+-get_mempolicy,275,239,239,320,236,269,228,232,261,261,260,260,236,269,269,275
+-getpeername,368,52,52,287,205,171,51,51,53,53,332,332,205,368,368,346
+-getpgid,132,121,121,132,155,132,119,119,132,132,132,132,155,132,132,132
+-getpgrp,65,111,111,65,PNR,65,109,109,65,65,65,65,PNR,65,65,65
+-getpid,20,39,39,20,172,20,38,38,20,20,20,20,172,20,20,20
+-getpmsg,188,181,181,PNR,PNR,208,174,174,PNR,PNR,187,187,PNR,188,188,PNR
+-getppid,64,110,110,64,173,64,108,108,64,64,64,64,173,64,64,64
+-getpriority,96,140,140,96,141,96,137,137,96,96,96,96,141,96,96,96
+-getrandom,355,318,318,384,278,353,313,317,339,339,359,359,278,349,349,373
+-getresgid,171,120,120,171,150,191,118,118,171,171,170,170,150,171,211,171
+-getresgid32,211,PNR,PNR,211,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,211,PNR,211
+-getresuid,165,118,118,165,148,186,116,116,165,165,165,165,148,165,209,165
+-getresuid32,209,PNR,PNR,209,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,209,PNR,209
+-getrlimit,76,97,97,PNR,163,76,95,95,76,76,76,76,163,76,191,76
+-get_robust_list,312,274,531,339,100,310,269,273,290,290,299,299,100,305,305,312
+-getrusage,77,98,98,77,165,77,96,96,77,77,77,77,165,77,77,77
+-getsid,147,124,124,147,156,151,122,122,147,147,147,147,156,147,147,147
+-getsockname,367,51,51,286,204,172,50,50,44,44,331,331,204,367,367,345
+-getsockopt,365,55,542,295,209,173,54,54,182,182,340,340,209,365,365,354
+-get_thread_area,244,211,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-gettid,224,186,186,224,178,222,178,178,206,206,207,207,178,236,236,224
+-gettimeofday,78,96,96,78,169,78,94,94,78,78,78,78,169,78,78,78
+-get_tls,PNR,PNR,PNR,983046,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-getuid,24,102,102,24,174,24,100,100,24,24,24,24,174,24,199,24
+-getuid32,199,PNR,PNR,199,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,199,PNR,199
+-getxattr,229,191,191,229,8,227,183,183,241,241,212,212,8,227,227,229
+-gtty,32,PNR,PNR,PNR,PNR,32,PNR,PNR,PNR,PNR,32,32,PNR,PNR,PNR,PNR
+-idle,112,PNR,PNR,PNR,PNR,112,PNR,PNR,PNR,PNR,112,112,PNR,112,112,PNR
+-init_module,128,175,175,128,105,128,168,168,128,128,128,128,105,128,128,128
+-inotify_add_watch,292,254,254,317,27,285,244,248,270,270,276,276,27,285,285,291
+-inotify_init,291,253,253,316,PNR,284,243,247,269,269,275,275,PNR,284,284,290
+-inotify_init1,332,294,294,360,26,329,288,292,314,314,318,318,26,324,324,332
+-inotify_rm_watch,293,255,255,318,28,286,245,249,271,271,277,277,28,286,286,292
+-io_cancel,249,210,210,247,3,245,204,204,219,219,231,231,3,247,247,249
+-ioctl,54,16,514,54,29,54,15,15,54,54,54,54,29,54,54,54
+-io_destroy,246,207,207,244,1,242,201,201,216,216,228,228,1,244,244,246
+-io_getevents,247,208,208,245,4,243,202,202,217,217,229,229,4,245,245,247
+-ioperm,101,173,173,PNR,PNR,101,PNR,PNR,PNR,PNR,101,101,PNR,101,PNR,PNR
+-io_pgetevents,385,333,333,399,292,368,328,332,350,350,388,388,292,382,382,PNR
+-io_pgetevents_time64,416,PNR,PNR,416,PNR,416,PNR,416,416,PNR,416,PNR,PNR,416,PNR,416
+-iopl,110,172,172,PNR,PNR,110,PNR,PNR,PNR,PNR,110,110,PNR,PNR,PNR,PNR
+-ioprio_get,290,252,252,315,31,315,274,278,268,268,274,274,31,283,283,289
+-ioprio_set,289,251,251,314,30,314,273,277,267,267,273,273,30,282,282,288
+-io_setup,245,206,543,243,0,241,200,200,215,215,227,227,0,243,243,245
+-io_submit,248,209,544,246,2,244,203,203,218,218,230,230,2,246,246,248
+-io_uring_enter,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426
+-io_uring_register,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427
+-io_uring_setup,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425
+-ipc,117,PNR,PNR,PNR,PNR,117,PNR,PNR,PNR,PNR,117,117,PNR,117,117,117
+-kcmp,349,312,312,378,272,347,306,311,332,332,354,354,272,343,343,367
+-kexec_file_load,PNR,320,320,401,294,PNR,PNR,PNR,355,355,382,382,294,381,381,PNR
+-kexec_load,283,246,528,347,104,311,270,274,300,300,268,268,104,277,277,283
+-keyctl,288,250,250,311,219,282,241,245,266,266,271,271,219,280,280,287
+-kill,37,62,62,37,129,37,60,60,37,37,37,37,129,37,37,37
+-lchown,16,94,94,16,PNR,16,92,92,16,16,16,16,PNR,16,198,16
+-lchown32,198,PNR,PNR,198,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,198,PNR,198
+-lgetxattr,230,192,192,230,9,228,184,184,242,242,213,213,9,228,228,230
+-link,9,86,86,9,PNR,9,84,84,9,9,9,9,PNR,9,9,9
+-linkat,303,265,265,330,37,296,255,259,283,283,294,294,37,296,296,303
+-listen,363,50,50,284,201,174,49,49,32,32,329,329,201,363,363,343
+-listxattr,232,194,194,232,11,230,186,186,244,244,215,215,11,230,230,232
+-llistxattr,233,195,195,233,12,231,187,187,245,245,216,216,12,231,231,233
+-_llseek,140,PNR,PNR,140,PNR,140,PNR,PNR,140,140,140,140,PNR,140,PNR,140
+-lock,53,PNR,PNR,PNR,PNR,53,PNR,PNR,PNR,PNR,53,53,PNR,PNR,PNR,PNR
+-lookup_dcookie,253,212,212,249,18,247,206,206,223,223,235,235,18,110,110,253
+-lremovexattr,236,198,198,236,15,234,190,190,248,248,219,219,15,234,234,236
+-lseek,19,8,8,19,62,19,8,8,19,19,19,19,62,19,19,19
+-lsetxattr,227,189,189,227,6,225,181,181,239,239,210,210,6,225,225,227
+-lstat,107,6,6,107,PNR,107,6,6,84,84,107,107,PNR,107,107,107
+-lstat64,196,PNR,PNR,196,PNR,214,PNR,PNR,198,198,196,PNR,PNR,196,PNR,196
+-madvise,219,28,28,220,233,218,27,27,119,119,205,205,233,219,219,219
+-mbind,274,237,237,319,235,268,227,231,260,260,259,259,235,268,268,274
+-membarrier,375,324,324,389,283,358,318,322,343,343,365,365,283,356,356,378
+-memfd_create,356,319,319,385,279,354,314,318,340,340,360,360,279,350,350,374
+-migrate_pages,294,256,256,400,238,287,246,250,272,272,258,258,238,287,287,294
+-mincore,218,27,27,219,232,217,26,26,72,72,206,206,232,218,218,218
+-mkdir,39,83,83,39,PNR,39,81,81,39,39,39,39,PNR,39,39,39
+-mkdirat,296,258,258,323,34,289,248,252,276,276,287,287,34,289,289,296
+-mknod,14,133,133,14,PNR,14,131,131,14,14,14,14,PNR,14,14,14
+-mknodat,297,259,259,324,33,290,249,253,277,277,288,288,33,290,290,297
+-mlock,150,149,149,150,228,154,146,146,150,150,150,150,228,150,150,150
+-mlock2,376,325,325,390,284,359,319,323,345,345,378,378,284,374,374,379
+-mlockall,152,151,151,152,230,156,148,148,152,152,152,152,230,152,152,152
+-mmap,90,9,9,PNR,222,90,9,9,90,90,90,90,222,90,90,90
+-mmap2,192,PNR,PNR,192,PNR,210,PNR,PNR,89,89,192,PNR,PNR,192,PNR,192
+-modify_ldt,123,154,154,PNR,PNR,123,PNR,PNR,PNR,PNR,123,123,PNR,PNR,PNR,PNR
+-mount,21,165,165,21,40,21,160,160,21,21,21,21,40,21,21,21
+-mount_setattr,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442
+-move_mount,429,429,429,429,429,429,429,429,429,429,429,429,429,429,429,429
+-move_pages,317,279,533,344,239,308,267,271,295,295,301,301,239,310,310,317
+-mprotect,125,10,10,125,226,125,10,10,125,125,125,125,226,125,125,125
+-mpx,56,PNR,PNR,PNR,PNR,56,PNR,PNR,PNR,PNR,56,56,PNR,PNR,PNR,PNR
+-mq_getsetattr,282,245,245,279,185,276,235,239,234,234,267,267,185,276,276,282
+-mq_notify,281,244,527,278,184,275,234,238,233,233,266,266,184,275,275,281
+-mq_open,277,240,240,274,180,271,230,234,229,229,262,262,180,271,271,277
+-mq_timedreceive,280,243,243,277,183,274,233,237,232,232,265,265,183,274,274,280
+-mq_timedreceive_time64,419,PNR,PNR,419,PNR,419,PNR,419,419,PNR,419,PNR,PNR,419,PNR,419
+-mq_timedsend,279,242,242,276,182,273,232,236,231,231,264,264,182,273,273,279
+-mq_timedsend_time64,418,PNR,PNR,418,PNR,418,PNR,418,418,PNR,418,PNR,PNR,418,PNR,418
+-mq_unlink,278,241,241,275,181,272,231,235,230,230,263,263,181,272,272,278
+-mremap,163,25,25,163,216,167,24,24,163,163,163,163,216,163,163,163
+-msgctl,402,71,71,304,187,402,69,69,191,191,402,402,187,402,402,402
+-msgget,399,68,68,303,186,399,66,66,190,190,399,399,186,399,399,399
+-msgrcv,401,70,70,302,188,401,68,68,189,189,401,401,188,401,401,401
+-msgsnd,400,69,69,301,189,400,67,67,188,188,400,400,189,400,400,400
+-msync,144,26,26,144,227,144,25,25,144,144,144,144,227,144,144,144
+-multiplexer,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,201,201,PNR,PNR,PNR,PNR
+-munlock,151,150,150,151,229,155,147,147,151,151,151,151,229,151,151,151
+-munlockall,153,152,152,153,231,157,149,149,153,153,153,153,231,153,153,153
+-munmap,91,11,11,91,215,91,11,11,91,91,91,91,215,91,91,91
+-name_to_handle_at,341,303,303,370,264,339,298,303,325,325,345,345,264,335,335,359
+-nanosleep,162,35,35,162,101,166,34,34,162,162,162,162,101,162,162,162
+-newfstatat,PNR,262,262,PNR,79,PNR,252,256,PNR,PNR,PNR,291,79,PNR,293,PNR
+-_newselect,142,PNR,PNR,142,PNR,142,22,22,142,142,142,142,PNR,142,PNR,142
+-nfsservctl,169,180,PNR,169,42,189,173,173,PNR,PNR,168,168,42,169,169,169
+-nice,34,PNR,PNR,34,PNR,34,PNR,PNR,34,34,34,34,PNR,34,34,34
+-oldfstat,28,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,28,28,PNR,PNR,PNR,28
+-oldlstat,84,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,84,84,PNR,PNR,PNR,84
+-oldolduname,59,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,59,59,PNR,PNR,PNR,PNR
+-oldstat,18,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,18,18,PNR,PNR,PNR,18
+-olduname,109,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,109,109,PNR,PNR,PNR,109
+-open,5,2,2,5,PNR,5,2,2,5,5,5,5,PNR,5,5,5
+-openat,295,257,257,322,56,288,247,251,275,275,286,286,56,288,288,295
+-openat2,437,437,437,437,437,437,437,437,437,437,437,437,437,437,437,437
+-open_by_handle_at,342,304,304,371,265,340,299,304,326,326,346,346,265,336,336,360
+-open_tree,428,428,428,428,428,428,428,428,428,428,428,428,428,428,428,428
+-pause,29,34,34,29,PNR,29,33,33,29,29,29,29,PNR,29,29,29
+-pciconfig_iobase,PNR,PNR,PNR,271,PNR,PNR,PNR,PNR,PNR,PNR,200,200,PNR,PNR,PNR,PNR
+-pciconfig_read,PNR,PNR,PNR,272,PNR,PNR,PNR,PNR,PNR,PNR,198,198,PNR,PNR,PNR,PNR
+-pciconfig_write,PNR,PNR,PNR,273,PNR,PNR,PNR,PNR,PNR,PNR,199,199,PNR,PNR,PNR,PNR
+-perf_event_open,336,298,298,364,241,333,292,296,318,318,319,319,241,331,331,336
+-personality,136,135,135,136,92,136,132,132,136,136,136,136,92,136,136,136
+-pidfd_getfd,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438
+-pidfd_open,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434
+-pidfd_send_signal,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424
+-pipe,42,22,22,42,PNR,42,21,21,42,42,42,42,PNR,42,42,42
+-pipe2,331,293,293,359,59,328,287,291,313,313,317,317,59,325,325,331
+-pivot_root,217,155,155,218,41,216,151,151,67,67,203,203,41,217,217,217
+-pkey_alloc,381,330,330,395,289,364,324,328,352,352,384,384,289,385,385,385
+-pkey_free,382,331,331,396,290,365,325,329,353,353,385,385,290,386,386,386
+-pkey_mprotect,380,329,329,394,288,363,323,327,351,351,386,386,288,384,384,384
+-poll,168,7,7,168,PNR,188,7,7,168,168,167,167,PNR,168,168,168
+-ppoll,309,271,271,336,73,302,261,265,274,274,281,281,73,302,302,309
+-ppoll_time64,414,PNR,PNR,414,PNR,414,PNR,414,414,PNR,414,PNR,PNR,414,PNR,414
+-prctl,172,157,157,172,167,192,153,153,172,172,171,171,167,172,172,172
+-pread64,180,17,17,180,67,200,16,16,108,108,179,179,67,180,180,180
+-preadv,333,295,534,361,69,330,289,293,315,315,320,320,69,328,328,333
+-preadv2,378,327,546,392,286,361,321,325,347,347,380,380,286,376,376,381
+-prlimit64,340,302,302,369,261,338,297,302,321,321,325,325,261,334,334,339
+-process_madvise,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440
+-process_vm_readv,347,310,539,376,270,345,304,309,330,330,351,351,270,340,340,365
+-process_vm_writev,348,311,540,377,271,346,305,310,331,331,352,352,271,341,341,366
+-prof,44,PNR,PNR,PNR,PNR,44,PNR,PNR,PNR,PNR,44,44,PNR,PNR,PNR,PNR
+-profil,98,PNR,PNR,PNR,PNR,98,PNR,PNR,PNR,PNR,98,98,PNR,PNR,PNR,PNR
+-pselect6,308,270,270,335,72,301,260,264,273,273,280,280,72,301,301,308
+-pselect6_time64,413,PNR,PNR,413,PNR,413,PNR,413,413,PNR,413,PNR,PNR,413,PNR,413
+-ptrace,26,101,521,26,117,26,99,99,26,26,26,26,117,26,26,26
+-putpmsg,189,182,182,PNR,PNR,209,175,175,PNR,PNR,188,188,PNR,189,189,PNR
+-pwrite64,181,18,18,181,68,201,17,17,109,109,180,180,68,181,181,181
+-pwritev,334,296,535,362,70,331,290,294,316,316,321,321,70,329,329,334
+-pwritev2,379,328,547,393,287,362,322,326,348,348,381,381,287,377,377,382
+-query_module,167,178,PNR,PNR,PNR,187,171,171,PNR,PNR,166,166,PNR,167,167,PNR
+-quotactl,131,179,179,131,60,131,172,172,131,131,131,131,60,131,131,131
+-read,3,0,0,3,63,3,0,0,3,3,3,3,63,3,3,3
+-readahead,225,187,187,225,213,223,179,179,207,207,191,191,213,222,222,225
+-readdir,89,PNR,PNR,PNR,PNR,89,PNR,PNR,PNR,PNR,89,89,PNR,89,89,89
+-readlink,85,89,89,85,PNR,85,87,87,85,85,85,85,PNR,85,85,85
+-readlinkat,305,267,267,332,78,298,257,261,285,285,296,296,78,298,298,305
+-readv,145,19,515,145,65,145,18,18,145,145,145,145,65,145,145,145
+-reboot,88,169,169,88,142,88,164,164,88,88,88,88,142,88,88,88
+-recv,PNR,PNR,PNR,291,PNR,175,PNR,PNR,98,98,336,336,PNR,PNR,PNR,350
+-recvfrom,371,45,517,292,207,176,44,44,123,123,337,337,207,371,371,351
+-recvmmsg,337,299,537,365,243,335,294,298,319,319,343,343,243,357,357,357
+-recvmmsg_time64,417,PNR,PNR,417,PNR,417,PNR,417,417,PNR,417,PNR,PNR,417,PNR,417
+-recvmsg,372,47,519,297,212,177,46,46,184,184,342,342,212,372,372,356
+-remap_file_pages,257,216,216,253,234,251,210,210,227,227,239,239,234,267,267,257
+-removexattr,235,197,197,235,14,233,189,189,247,247,218,218,14,233,233,235
+-rename,38,82,82,38,PNR,38,80,80,38,38,38,38,PNR,38,38,38
+-renameat,302,264,264,329,38,295,254,258,282,282,293,293,PNR,295,295,302
+-renameat2,353,316,316,382,276,351,311,315,337,337,357,357,276,347,347,371
+-request_key,287,249,249,310,218,281,240,244,265,265,270,270,218,279,279,286
+-restart_syscall,0,219,219,0,128,253,213,214,0,0,0,0,128,7,7,0
+-riscv_flush_icache,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,259,PNR,PNR,PNR
+-rmdir,40,84,84,40,PNR,40,82,82,40,40,40,40,PNR,40,40,40
+-rseq,386,334,334,398,293,367,327,331,354,354,387,387,293,383,383,387
+-rtas,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,255,255,PNR,PNR,PNR,PNR
+-rt_sigaction,174,13,512,174,134,194,13,13,174,174,173,173,134,174,174,174
+-rt_sigpending,176,127,522,176,136,196,125,125,176,176,175,175,136,176,176,176
+-rt_sigprocmask,175,14,14,175,135,195,14,14,175,175,174,174,135,175,175,175
+-rt_sigqueueinfo,178,129,524,178,138,198,127,127,178,178,177,177,138,178,178,178
+-rt_sigreturn,173,15,513,173,139,193,211,211,173,173,172,172,139,173,173,173
+-rt_sigsuspend,179,130,130,179,133,199,128,128,179,179,178,178,133,179,179,179
+-rt_sigtimedwait,177,128,523,177,137,197,126,126,177,177,176,176,137,177,177,177
+-rt_sigtimedwait_time64,421,PNR,PNR,421,PNR,421,PNR,421,421,PNR,421,PNR,PNR,421,PNR,421
+-rt_tgsigqueueinfo,335,297,536,363,240,332,291,295,317,317,322,322,240,330,330,335
+-s390_guarded_storage,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,378,378,PNR
+-s390_pci_mmio_read,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,353,353,PNR
+-s390_pci_mmio_write,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,352,352,PNR
+-s390_runtime_instr,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,342,342,PNR
+-s390_sthyi,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,380,380,PNR
+-sched_getaffinity,242,204,204,242,123,240,196,196,212,212,223,223,123,240,240,242
+-sched_getattr,352,315,315,381,275,350,310,314,335,335,356,356,275,346,346,369
+-sched_getparam,155,143,143,155,121,159,140,140,155,155,155,155,121,155,155,155
+-sched_get_priority_max,159,146,146,159,125,163,143,143,159,159,159,159,125,159,159,159
+-sched_get_priority_min,160,147,147,160,126,164,144,144,160,160,160,160,126,160,160,160
+-sched_getscheduler,157,145,145,157,120,161,142,142,157,157,157,157,120,157,157,157
+-sched_rr_get_interval,161,148,148,161,127,165,145,145,161,161,161,161,127,161,161,161
+-sched_rr_get_interval_time64,423,PNR,PNR,423,PNR,423,PNR,423,423,PNR,423,PNR,PNR,423,PNR,423
+-sched_setaffinity,241,203,203,241,122,239,195,195,211,211,222,222,122,239,239,241
+-sched_setattr,351,314,314,380,274,349,309,313,334,334,355,355,274,345,345,370
+-sched_setparam,154,142,142,154,118,158,139,139,154,154,154,154,118,154,154,154
+-sched_setscheduler,156,144,144,156,119,160,141,141,156,156,156,156,119,156,156,156
+-sched_yield,158,24,24,158,124,162,23,23,158,158,158,158,124,158,158,158
+-seccomp,354,317,317,383,277,352,312,316,338,338,358,358,277,348,348,372
+-security,PNR,185,185,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-select,82,23,23,PNR,PNR,PNR,PNR,PNR,PNR,PNR,82,82,PNR,PNR,142,PNR
+-semctl,394,66,66,300,191,394,64,64,187,187,394,394,191,394,394,394
+-semget,393,64,64,299,190,393,62,62,186,186,393,393,190,393,393,393
+-semop,PNR,65,65,298,193,PNR,63,63,185,185,PNR,PNR,193,PNR,PNR,PNR
+-semtimedop,PNR,220,220,312,192,PNR,214,215,228,228,PNR,392,192,PNR,392,PNR
+-semtimedop_time64,420,PNR,PNR,420,PNR,420,PNR,420,420,PNR,420,PNR,PNR,420,PNR,420
+-send,PNR,PNR,PNR,289,PNR,178,PNR,PNR,58,58,334,334,PNR,PNR,PNR,348
+-sendfile,187,40,40,187,71,207,39,39,122,122,186,186,71,187,187,187
+-sendfile64,239,PNR,PNR,239,PNR,237,PNR,219,209,209,226,PNR,PNR,223,PNR,239
+-sendmmsg,345,307,538,374,269,343,302,307,329,329,349,349,269,358,358,363
+-sendmsg,370,46,518,296,211,179,45,45,183,183,341,341,211,370,370,355
+-sendto,369,44,44,290,206,180,43,43,82,82,335,335,206,369,369,349
+-setdomainname,121,171,171,121,162,121,166,166,121,121,121,121,162,121,121,121
+-setfsgid,139,123,123,139,152,139,121,121,139,139,139,139,152,139,216,139
+-setfsgid32,216,PNR,PNR,216,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,216,PNR,216
+-setfsuid,138,122,122,138,151,138,120,120,138,138,138,138,151,138,215,138
+-setfsuid32,215,PNR,PNR,215,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,215,PNR,215
+-setgid,46,106,106,46,144,46,104,104,46,46,46,46,144,46,214,46
+-setgid32,214,PNR,PNR,214,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,214,PNR,214
+-setgroups,81,116,116,81,159,81,114,114,81,81,81,81,159,81,206,81
+-setgroups32,206,PNR,PNR,206,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,206,PNR,206
+-sethostname,74,170,170,74,161,74,165,165,74,74,74,74,161,74,74,74
+-setitimer,104,38,38,104,103,104,36,36,104,104,104,104,103,104,104,104
+-set_mempolicy,276,238,238,321,237,270,229,233,262,262,261,261,237,270,270,276
+-setns,346,308,308,375,268,344,303,308,328,328,350,350,268,339,339,364
+-setpgid,57,109,109,57,154,57,107,107,57,57,57,57,154,57,57,57
+-setpriority,97,141,141,97,140,97,138,138,97,97,97,97,140,97,97,97
+-setregid,71,114,114,71,143,71,112,112,71,71,71,71,143,71,204,71
+-setregid32,204,PNR,PNR,204,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,204,PNR,204
+-setresgid,170,119,119,170,149,190,117,117,170,170,169,169,149,170,210,170
+-setresgid32,210,PNR,PNR,210,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,210,PNR,210
+-setresuid,164,117,117,164,147,185,115,115,164,164,164,164,147,164,208,164
+-setresuid32,208,PNR,PNR,208,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,208,PNR,208
+-setreuid,70,113,113,70,145,70,111,111,70,70,70,70,145,70,203,70
+-setreuid32,203,PNR,PNR,203,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,203,PNR,203
+-setrlimit,75,160,160,75,164,75,155,155,75,75,75,75,164,75,75,75
+-set_robust_list,311,273,530,338,99,309,268,272,289,289,300,300,99,304,304,311
+-setsid,66,112,112,66,157,66,110,110,66,66,66,66,157,66,66,66
+-setsockopt,366,54,541,294,208,181,53,53,181,181,339,339,208,366,366,353
+-set_thread_area,243,205,PNR,PNR,PNR,283,242,246,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-set_tid_address,258,218,218,256,96,252,212,213,237,237,232,232,96,252,252,258
+-settimeofday,79,164,164,79,170,79,159,159,79,79,79,79,170,79,79,79
+-set_tls,PNR,PNR,PNR,983045,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-setuid,23,105,105,23,146,23,103,103,23,23,23,23,146,23,213,23
+-setuid32,213,PNR,PNR,213,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,213,PNR,213
+-setxattr,226,188,188,226,5,224,180,180,238,238,209,209,5,224,224,226
+-sgetmask,68,PNR,PNR,PNR,PNR,68,PNR,PNR,68,68,68,68,PNR,PNR,PNR,68
+-shmat,397,30,30,305,196,397,29,29,192,192,397,397,196,397,397,397
+-shmctl,396,31,31,308,195,396,30,30,195,195,396,396,195,396,396,396
+-shmdt,398,67,67,306,197,398,65,65,193,193,398,398,197,398,398,398
+-shmget,395,29,29,307,194,395,28,28,194,194,395,395,194,395,395,395
+-shutdown,373,48,48,293,210,182,47,47,117,117,338,338,210,373,373,352
+-sigaction,67,PNR,PNR,67,PNR,67,PNR,PNR,PNR,PNR,67,67,PNR,67,67,67
+-sigaltstack,186,131,525,186,132,206,129,129,166,166,185,185,132,186,186,186
+-signal,48,PNR,PNR,PNR,PNR,48,PNR,PNR,48,48,48,48,PNR,48,48,48
+-signalfd,321,282,282,349,PNR,317,276,280,302,302,305,305,PNR,316,316,321
+-signalfd4,327,289,289,355,74,324,283,287,309,309,313,313,74,322,322,327
+-sigpending,73,PNR,PNR,73,PNR,73,PNR,PNR,73,73,73,73,PNR,73,73,73
+-sigprocmask,126,PNR,PNR,126,PNR,126,PNR,PNR,126,126,126,126,PNR,126,126,126
+-sigreturn,119,PNR,PNR,119,PNR,119,PNR,PNR,PNR,PNR,119,119,PNR,119,119,119
+-sigsuspend,72,PNR,PNR,72,PNR,72,PNR,PNR,PNR,PNR,72,72,PNR,72,72,72
+-socket,359,41,41,281,198,183,40,40,17,17,326,326,198,359,359,340
+-socketcall,102,PNR,PNR,PNR,PNR,102,PNR,PNR,PNR,PNR,102,102,PNR,102,102,102
+-socketpair,360,53,53,288,199,184,52,52,56,56,333,333,199,360,360,347
+-splice,313,275,275,340,76,304,263,267,291,291,283,283,76,306,306,313
+-spu_create,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,279,279,PNR,PNR,PNR,PNR
+-spu_run,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,278,278,PNR,PNR,PNR,PNR
+-ssetmask,69,PNR,PNR,PNR,PNR,69,PNR,PNR,69,69,69,69,PNR,PNR,PNR,69
+-stat,106,4,4,106,PNR,106,4,4,18,18,106,106,PNR,106,106,106
+-stat64,195,PNR,PNR,195,PNR,213,PNR,PNR,101,101,195,PNR,PNR,195,PNR,195
+-statfs,99,137,137,99,43,99,134,134,99,99,99,99,43,99,99,99
+-statfs64,268,PNR,PNR,266,PNR,255,PNR,217,298,298,252,252,PNR,265,265,268
+-statx,383,332,332,397,291,366,326,330,349,349,383,383,291,379,379,383
+-stime,25,PNR,PNR,PNR,PNR,25,PNR,PNR,25,25,25,25,PNR,25,PNR,25
+-stty,31,PNR,PNR,PNR,PNR,31,PNR,PNR,PNR,PNR,31,31,PNR,PNR,PNR,PNR
+-subpage_prot,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,310,310,PNR,PNR,PNR,PNR
+-swapcontext,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,249,249,PNR,PNR,PNR,PNR
+-swapoff,115,168,168,115,225,115,163,163,115,115,115,115,225,115,115,115
+-swapon,87,167,167,87,224,87,162,162,87,87,87,87,224,87,87,87
+-switch_endian,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,363,363,PNR,PNR,PNR,PNR
+-symlink,83,88,88,83,PNR,83,86,86,83,83,83,83,PNR,83,83,83
+-symlinkat,304,266,266,331,36,297,256,260,284,284,295,295,36,297,297,304
+-sync,36,162,162,36,81,36,157,157,36,36,36,36,81,36,36,36
+-sync_file_range,314,277,277,PNR,84,305,264,268,292,292,PNR,PNR,84,307,307,314
+-sync_file_range2,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,308,308,PNR,PNR,PNR,PNR
+-syncfs,344,306,306,373,267,342,301,306,327,327,348,348,267,338,338,362
+-syscall,PNR,PNR,PNR,PNR,PNR,0,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-_sysctl,149,156,PNR,149,PNR,153,152,152,149,149,149,149,PNR,149,149,149
+-sys_debug_setcontext,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,256,256,PNR,PNR,PNR,PNR
+-sysfs,135,139,139,135,PNR,135,136,136,135,135,135,135,PNR,135,135,135
+-sysinfo,116,99,99,116,179,116,97,97,116,116,116,116,179,116,116,116
+-syslog,103,103,103,103,116,103,101,101,103,103,103,103,116,103,103,103
+-sysmips,PNR,PNR,PNR,PNR,PNR,149,199,199,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-tee,315,276,276,342,77,306,265,269,293,293,284,284,77,308,308,315
+-tgkill,270,234,234,268,131,266,225,229,259,259,250,250,131,241,241,270
+-time,13,201,201,PNR,PNR,13,PNR,PNR,13,13,13,13,PNR,13,PNR,13
+-timer_create,259,222,526,257,107,257,216,220,250,250,240,240,107,254,254,259
+-timer_delete,263,226,226,261,111,261,220,224,254,254,244,244,111,258,258,263
+-timerfd,PNR,PNR,PNR,PNR,PNR,318,277,281,PNR,PNR,PNR,PNR,PNR,317,317,PNR
+-timerfd_create,322,283,283,350,85,321,280,284,306,306,306,306,85,319,319,322
+-timerfd_gettime,326,287,287,354,87,322,281,285,308,308,312,312,87,321,321,326
+-timerfd_gettime64,410,PNR,PNR,410,PNR,410,PNR,410,410,PNR,410,PNR,PNR,410,PNR,410
+-timerfd_settime,325,286,286,353,86,323,282,286,307,307,311,311,86,320,320,325
+-timerfd_settime64,411,PNR,PNR,411,PNR,411,PNR,411,411,PNR,411,PNR,PNR,411,PNR,411
+-timer_getoverrun,262,225,225,260,109,260,219,223,253,253,243,243,109,257,257,262
+-timer_gettime,261,224,224,259,108,259,218,222,252,252,242,242,108,256,256,261
+-timer_gettime64,408,PNR,PNR,408,PNR,408,PNR,408,408,PNR,408,PNR,PNR,408,PNR,408
+-timer_settime,260,223,223,258,110,258,217,221,251,251,241,241,110,255,255,260
+-timer_settime64,409,PNR,PNR,409,PNR,409,PNR,409,409,PNR,409,PNR,PNR,409,PNR,409
+-times,43,100,100,43,153,43,98,98,43,43,43,43,153,43,43,43
+-tkill,238,200,200,238,130,236,192,192,208,208,208,208,130,237,237,238
+-truncate,92,76,76,92,45,92,74,74,92,92,92,92,45,92,92,92
+-truncate64,193,PNR,PNR,193,PNR,211,PNR,PNR,199,199,193,PNR,PNR,193,PNR,193
+-tuxcall,PNR,184,184,PNR,PNR,PNR,PNR,PNR,PNR,PNR,225,225,PNR,PNR,PNR,PNR
+-ugetrlimit,191,PNR,PNR,191,PNR,PNR,PNR,PNR,PNR,PNR,190,190,PNR,191,PNR,191
+-ulimit,58,PNR,PNR,PNR,PNR,58,PNR,PNR,PNR,PNR,58,58,PNR,PNR,PNR,PNR
+-umask,60,95,95,60,166,60,93,93,60,60,60,60,166,60,60,60
+-umount,22,PNR,PNR,PNR,PNR,22,PNR,PNR,PNR,PNR,22,22,PNR,22,22,22
+-umount2,52,166,166,52,39,52,161,161,52,52,52,52,39,52,52,52
+-uname,122,63,63,122,160,122,61,61,59,59,122,122,160,122,122,122
+-unlink,10,87,87,10,PNR,10,85,85,10,10,10,10,PNR,10,10,10
+-unlinkat,301,263,263,328,35,294,253,257,281,281,292,292,35,294,294,301
+-unshare,310,272,272,337,97,303,262,266,288,288,282,282,97,303,303,310
+-uselib,86,134,PNR,86,PNR,86,PNR,PNR,86,86,86,86,PNR,86,86,86
+-userfaultfd,374,323,323,388,282,357,317,321,344,344,364,364,282,355,355,377
+-usr26,PNR,PNR,PNR,983043,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-usr32,PNR,PNR,PNR,983044,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-ustat,62,136,136,62,PNR,62,133,133,62,62,62,62,PNR,62,62,62
+-utime,30,132,132,PNR,PNR,30,130,130,30,30,30,30,PNR,30,30,30
+-utimensat,320,280,280,348,88,316,275,279,301,301,304,304,88,315,315,320
+-utimensat_time64,412,PNR,PNR,412,PNR,412,PNR,412,412,PNR,412,PNR,PNR,412,PNR,412
+-utimes,271,235,235,269,PNR,267,226,230,336,336,251,251,PNR,313,313,271
+-vfork,190,58,58,190,PNR,PNR,PNR,PNR,113,113,189,189,PNR,190,190,190
+-vhangup,111,153,153,111,58,111,150,150,111,111,111,111,58,111,111,111
+-vm86,166,PNR,PNR,PNR,PNR,113,PNR,PNR,PNR,PNR,113,113,PNR,PNR,PNR,PNR
+-vm86old,113,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-vmsplice,316,278,532,343,75,307,266,270,294,294,285,285,75,309,309,316
+-vserver,273,236,PNR,313,PNR,277,236,240,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-wait4,114,61,61,114,260,114,59,59,114,114,114,114,260,114,114,114
+-waitid,284,247,529,280,95,278,237,241,235,235,272,272,95,281,281,284
+-waitpid,7,PNR,PNR,PNR,PNR,7,PNR,PNR,7,7,7,7,PNR,PNR,PNR,7
+-write,4,1,1,4,64,4,1,1,4,4,4,4,64,4,4,4
+-writev,146,20,516,146,66,146,19,19,146,146,146,146,66,146,146,146
++#syscall (v5.13.0-rc5 2021-06-09),x86,x86_64,x32,arm,aarch64,mips,mips64,mips64n32,parisc,parisc64,ppc,ppc64,riscv32,riscv64,s390,s390x,sh
++accept,PNR,43,43,285,202,168,42,42,35,35,330,330,202,202,PNR,PNR,344
++accept4,364,288,288,366,242,334,293,297,320,320,344,344,242,242,364,364,358
++access,33,21,21,33,PNR,33,20,20,33,33,33,33,PNR,PNR,33,33,33
++acct,51,163,163,51,89,51,158,158,51,51,51,51,89,89,51,51,51
++add_key,286,248,248,309,217,280,239,243,264,264,269,269,217,217,278,278,285
++adjtimex,124,159,159,124,171,124,154,154,124,124,124,124,171,171,124,124,124
++afs_syscall,137,183,183,PNR,PNR,137,176,176,PNR,PNR,137,137,PNR,PNR,137,137,PNR
++alarm,27,37,37,PNR,PNR,27,37,37,27,27,27,27,PNR,PNR,27,27,27
++arch_prctl,384,158,158,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++arm_fadvise64_64,PNR,PNR,PNR,270,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++arm_sync_file_range,PNR,PNR,PNR,341,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++bdflush,134,PNR,PNR,134,PNR,134,PNR,PNR,134,134,134,134,PNR,PNR,134,134,134
++bind,361,49,49,282,200,169,48,48,22,22,327,327,200,200,361,361,341
++bpf,357,321,321,386,280,355,315,319,341,341,361,361,280,280,351,351,375
++break,17,PNR,PNR,PNR,PNR,17,PNR,PNR,PNR,PNR,17,17,PNR,PNR,PNR,PNR,PNR
++breakpoint,PNR,PNR,PNR,983041,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++brk,45,12,12,45,214,45,12,12,45,45,45,45,214,214,45,45,45
++cachectl,PNR,PNR,PNR,PNR,PNR,148,198,198,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++cacheflush,PNR,PNR,PNR,983042,PNR,147,197,197,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,123
++capget,184,125,125,184,90,204,123,123,106,106,183,183,90,90,184,184,184
++capset,185,126,126,185,91,205,124,124,107,107,184,184,91,91,185,185,185
++chdir,12,80,80,12,49,12,78,78,12,12,12,12,49,49,12,12,12
++chmod,15,90,90,15,PNR,15,88,88,15,15,15,15,PNR,PNR,15,15,15
++chown,182,92,92,182,PNR,202,90,90,180,180,181,181,PNR,PNR,182,212,182
++chown32,212,PNR,PNR,212,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,212,PNR,212
++chroot,61,161,161,61,51,61,156,156,61,61,61,61,51,51,61,61,61
++clock_adjtime,343,305,305,372,266,341,300,305,324,324,347,347,266,266,337,337,361
++clock_adjtime64,405,PNR,PNR,405,PNR,405,PNR,405,405,PNR,405,PNR,PNR,PNR,405,PNR,405
++clock_getres,266,229,229,264,114,264,223,227,257,257,247,247,114,114,261,261,266
++clock_getres_time64,406,PNR,PNR,406,PNR,406,PNR,406,406,PNR,406,PNR,PNR,PNR,406,PNR,406
++clock_gettime,265,228,228,263,113,263,222,226,256,256,246,246,113,113,260,260,265
++clock_gettime64,403,PNR,PNR,403,PNR,403,PNR,403,403,PNR,403,PNR,PNR,PNR,403,PNR,403
++clock_nanosleep,267,230,230,265,115,265,224,228,258,258,248,248,115,115,262,262,267
++clock_nanosleep_time64,407,PNR,PNR,407,PNR,407,PNR,407,407,PNR,407,PNR,PNR,PNR,407,PNR,407
++clock_settime,264,227,227,262,112,262,221,225,255,255,245,245,112,112,259,259,264
++clock_settime64,404,PNR,PNR,404,PNR,404,PNR,404,404,PNR,404,PNR,PNR,PNR,404,PNR,404
++clone,120,56,56,120,220,120,55,55,120,120,120,120,220,220,120,120,120
++clone3,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,PNR
++close,6,3,3,6,57,6,3,3,6,6,6,6,57,57,6,6,6
++close_range,436,436,436,436,436,436,436,436,436,436,436,436,436,436,436,436,436
++connect,362,42,42,283,203,170,41,41,31,31,328,328,203,203,362,362,342
++copy_file_range,377,326,326,391,285,360,320,324,346,346,379,379,285,285,375,375,380
++creat,8,85,85,8,PNR,8,83,83,8,8,8,8,PNR,PNR,8,8,8
++create_module,127,174,PNR,PNR,PNR,127,167,167,PNR,PNR,127,127,PNR,PNR,127,127,PNR
++delete_module,129,176,176,129,106,129,169,169,129,129,129,129,106,106,129,129,129
++dup,41,32,32,41,23,41,31,31,41,41,41,41,23,23,41,41,41
++dup2,63,33,33,63,PNR,63,32,32,63,63,63,63,PNR,PNR,63,63,63
++dup3,330,292,292,358,24,327,286,290,312,312,316,316,24,24,326,326,330
++epoll_create,254,213,213,250,PNR,248,207,207,224,224,236,236,PNR,PNR,249,249,254
++epoll_create1,329,291,291,357,20,326,285,289,311,311,315,315,20,20,327,327,329
++epoll_ctl,255,233,233,251,21,249,208,208,225,225,237,237,21,21,250,250,255
++epoll_ctl_old,PNR,214,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++epoll_pwait,319,281,281,346,22,313,272,276,297,297,303,303,22,22,312,312,319
++epoll_pwait2,441,441,441,441,441,441,441,441,441,441,441,441,441,441,441,441,441
++epoll_wait,256,232,232,252,PNR,250,209,209,226,226,238,238,PNR,PNR,251,251,256
++epoll_wait_old,PNR,215,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++eventfd,323,284,284,351,PNR,319,278,282,304,304,307,307,PNR,PNR,318,318,323
++eventfd2,328,290,290,356,19,325,284,288,310,310,314,314,19,19,323,323,328
++execve,11,59,520,11,221,11,57,57,11,11,11,11,221,221,11,11,11
++execveat,358,322,545,387,281,356,316,320,342,342,362,362,281,281,354,354,376
++exit,1,60,60,1,93,1,58,58,1,1,1,1,93,93,1,1,1
++exit_group,252,231,231,248,94,246,205,205,222,222,234,234,94,94,248,248,252
++faccessat,307,269,269,334,48,300,259,263,287,287,298,298,48,48,300,300,307
++faccessat2,439,439,439,439,439,439,439,439,439,439,439,439,439,439,439,439,439
++fadvise64,250,221,221,PNR,223,254,215,216,PNR,PNR,233,233,223,223,253,253,250
++fadvise64_64,272,PNR,PNR,PNR,PNR,PNR,PNR,PNR,236,236,254,PNR,PNR,PNR,264,PNR,272
++fallocate,324,285,285,352,47,320,279,283,305,305,309,309,47,47,314,314,324
++fanotify_init,338,300,300,367,262,336,295,300,322,322,323,323,262,262,332,332,337
++fanotify_mark,339,301,301,368,263,337,296,301,323,323,324,324,263,263,333,333,338
++fchdir,133,81,81,133,50,133,79,79,133,133,133,133,50,50,133,133,133
++fchmod,94,91,91,94,52,94,89,89,94,94,94,94,52,52,94,94,94
++fchmodat,306,268,268,333,53,299,258,262,286,286,297,297,53,53,299,299,306
++fchown,95,93,93,95,55,95,91,91,95,95,95,95,55,55,95,207,95
++fchown32,207,PNR,PNR,207,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,207,PNR,207
++fchownat,298,260,260,325,54,291,250,254,278,278,289,289,54,54,291,291,298
++fcntl,55,72,72,55,25,55,70,70,55,55,55,55,25,25,55,55,55
++fcntl64,221,PNR,PNR,221,PNR,220,PNR,212,202,202,204,PNR,PNR,PNR,221,PNR,221
++fdatasync,148,75,75,148,83,152,73,73,148,148,148,148,83,83,148,148,148
++fgetxattr,231,193,193,231,10,229,185,185,243,243,214,214,10,10,229,229,231
++finit_module,350,313,313,379,273,348,307,312,333,333,353,353,273,273,344,344,368
++flistxattr,234,196,196,234,13,232,188,188,246,246,217,217,13,13,232,232,234
++flock,143,73,73,143,32,143,71,71,143,143,143,143,32,32,143,143,143
++fork,2,57,57,2,PNR,2,56,56,2,2,2,2,PNR,PNR,2,2,2
++fremovexattr,237,199,199,237,16,235,191,191,249,249,220,220,16,16,235,235,237
++fsconfig,431,431,431,431,431,431,431,431,431,431,431,431,431,431,431,431,431
++fsetxattr,228,190,190,228,7,226,182,182,240,240,211,211,7,7,226,226,228
++fsmount,432,432,432,432,432,432,432,432,432,432,432,432,432,432,432,432,432
++fsopen,430,430,430,430,430,430,430,430,430,430,430,430,430,430,430,430,430
++fspick,433,433,433,433,433,433,433,433,433,433,433,433,433,433,433,433,433
++fstat,108,5,5,108,80,108,5,5,28,28,108,108,80,80,108,108,108
++fstat64,197,PNR,PNR,197,PNR,215,PNR,PNR,112,112,197,PNR,PNR,PNR,197,PNR,197
++fstatat64,300,PNR,PNR,327,PNR,293,PNR,PNR,280,280,291,PNR,PNR,PNR,293,PNR,300
++fstatfs,100,138,138,100,44,100,135,135,100,100,100,100,44,44,100,100,100
++fstatfs64,269,PNR,PNR,267,PNR,256,PNR,218,299,299,253,253,PNR,PNR,266,266,269
++fsync,118,74,74,118,82,118,72,72,118,118,118,118,82,82,118,118,118
++ftime,35,PNR,PNR,PNR,PNR,35,PNR,PNR,PNR,PNR,35,35,PNR,PNR,PNR,PNR,PNR
++ftruncate,93,77,77,93,46,93,75,75,93,93,93,93,46,46,93,93,93
++ftruncate64,194,PNR,PNR,194,PNR,212,PNR,PNR,200,200,194,PNR,PNR,PNR,194,PNR,194
++futex,240,202,202,240,98,238,194,194,210,210,221,221,98,98,238,238,240
++futex_time64,422,PNR,PNR,422,PNR,422,PNR,422,422,PNR,422,PNR,PNR,PNR,422,PNR,422
++futimesat,299,261,261,326,PNR,292,251,255,279,279,290,290,PNR,PNR,292,292,299
++getcpu,318,309,309,345,168,312,271,275,296,296,302,302,168,168,311,311,318
++getcwd,183,79,79,183,17,203,77,77,110,110,182,182,17,17,183,183,183
++getdents,141,78,78,141,PNR,141,76,76,141,141,141,141,PNR,PNR,141,141,141
++getdents64,220,217,217,217,61,219,308,299,201,201,202,202,61,61,220,220,220
++getegid,50,108,108,50,177,50,106,106,50,50,50,50,177,177,50,202,50
++getegid32,202,PNR,PNR,202,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,202,PNR,202
++geteuid,49,107,107,49,175,49,105,105,49,49,49,49,175,175,49,201,49
++geteuid32,201,PNR,PNR,201,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,201,PNR,201
++getgid,47,104,104,47,176,47,102,102,47,47,47,47,176,176,47,200,47
++getgid32,200,PNR,PNR,200,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,200,PNR,200
++getgroups,80,115,115,80,158,80,113,113,80,80,80,80,158,158,80,205,80
++getgroups32,205,PNR,PNR,205,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,205,PNR,205
++getitimer,105,36,36,105,102,105,35,35,105,105,105,105,102,102,105,105,105
++get_kernel_syms,130,177,PNR,PNR,PNR,130,170,170,PNR,PNR,130,130,PNR,PNR,130,130,PNR
++get_mempolicy,275,239,239,320,236,269,228,232,261,261,260,260,236,236,269,269,275
++getpeername,368,52,52,287,205,171,51,51,53,53,332,332,205,205,368,368,346
++getpgid,132,121,121,132,155,132,119,119,132,132,132,132,155,155,132,132,132
++getpgrp,65,111,111,65,PNR,65,109,109,65,65,65,65,PNR,PNR,65,65,65
++getpid,20,39,39,20,172,20,38,38,20,20,20,20,172,172,20,20,20
++getpmsg,188,181,181,PNR,PNR,208,174,174,PNR,PNR,187,187,PNR,PNR,188,188,PNR
++getppid,64,110,110,64,173,64,108,108,64,64,64,64,173,173,64,64,64
++getpriority,96,140,140,96,141,96,137,137,96,96,96,96,141,141,96,96,96
++getrandom,355,318,318,384,278,353,313,317,339,339,359,359,278,278,349,349,373
++getresgid,171,120,120,171,150,191,118,118,171,171,170,170,150,150,171,211,171
++getresgid32,211,PNR,PNR,211,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,211,PNR,211
++getresuid,165,118,118,165,148,186,116,116,165,165,165,165,148,148,165,209,165
++getresuid32,209,PNR,PNR,209,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,209,PNR,209
++getrlimit,76,97,97,PNR,163,76,95,95,76,76,76,76,163,163,76,191,76
++get_robust_list,312,274,531,339,100,310,269,273,290,290,299,299,100,100,305,305,312
++getrusage,77,98,98,77,165,77,96,96,77,77,77,77,165,165,77,77,77
++getsid,147,124,124,147,156,151,122,122,147,147,147,147,156,156,147,147,147
++getsockname,367,51,51,286,204,172,50,50,44,44,331,331,204,204,367,367,345
++getsockopt,365,55,542,295,209,173,54,54,182,182,340,340,209,209,365,365,354
++get_thread_area,244,211,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++gettid,224,186,186,224,178,222,178,178,206,206,207,207,178,178,236,236,224
++gettimeofday,78,96,96,78,169,78,94,94,78,78,78,78,169,169,78,78,78
++get_tls,PNR,PNR,PNR,983046,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++getuid,24,102,102,24,174,24,100,100,24,24,24,24,174,174,24,199,24
++getuid32,199,PNR,PNR,199,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,199,PNR,199
++getxattr,229,191,191,229,8,227,183,183,241,241,212,212,8,8,227,227,229
++gtty,32,PNR,PNR,PNR,PNR,32,PNR,PNR,PNR,PNR,32,32,PNR,PNR,PNR,PNR,PNR
++idle,112,PNR,PNR,PNR,PNR,112,PNR,PNR,PNR,PNR,112,112,PNR,PNR,112,112,PNR
++init_module,128,175,175,128,105,128,168,168,128,128,128,128,105,105,128,128,128
++inotify_add_watch,292,254,254,317,27,285,244,248,270,270,276,276,27,27,285,285,291
++inotify_init,291,253,253,316,PNR,284,243,247,269,269,275,275,PNR,PNR,284,284,290
++inotify_init1,332,294,294,360,26,329,288,292,314,314,318,318,26,26,324,324,332
++inotify_rm_watch,293,255,255,318,28,286,245,249,271,271,277,277,28,28,286,286,292
++io_cancel,249,210,210,247,3,245,204,204,219,219,231,231,3,3,247,247,249
++ioctl,54,16,514,54,29,54,15,15,54,54,54,54,29,29,54,54,54
++io_destroy,246,207,207,244,1,242,201,201,216,216,228,228,1,1,244,244,246
++io_getevents,247,208,208,245,4,243,202,202,217,217,229,229,4,4,245,245,247
++ioperm,101,173,173,PNR,PNR,101,PNR,PNR,PNR,PNR,101,101,PNR,PNR,101,PNR,PNR
++io_pgetevents,385,333,333,399,292,368,328,332,350,350,388,388,292,292,382,382,PNR
++io_pgetevents_time64,416,PNR,PNR,416,PNR,416,PNR,416,416,PNR,416,PNR,PNR,PNR,416,PNR,416
++iopl,110,172,172,PNR,PNR,110,PNR,PNR,PNR,PNR,110,110,PNR,PNR,PNR,PNR,PNR
++ioprio_get,290,252,252,315,31,315,274,278,268,268,274,274,31,31,283,283,289
++ioprio_set,289,251,251,314,30,314,273,277,267,267,273,273,30,30,282,282,288
++io_setup,245,206,543,243,0,241,200,200,215,215,227,227,0,0,243,243,245
++io_submit,248,209,544,246,2,244,203,203,218,218,230,230,2,2,246,246,248
++io_uring_enter,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426
++io_uring_register,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427
++io_uring_setup,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425
++ipc,117,PNR,PNR,PNR,PNR,117,PNR,PNR,PNR,PNR,117,117,PNR,PNR,117,117,117
++kcmp,349,312,312,378,272,347,306,311,332,332,354,354,272,272,343,343,367
++kexec_file_load,PNR,320,320,401,294,PNR,PNR,PNR,355,355,382,382,294,294,381,381,PNR
++kexec_load,283,246,528,347,104,311,270,274,300,300,268,268,104,104,277,277,283
++keyctl,288,250,250,311,219,282,241,245,266,266,271,271,219,219,280,280,287
++kill,37,62,62,37,129,37,60,60,37,37,37,37,129,129,37,37,37
++landlock_add_rule,445,445,445,445,445,445,445,445,445,445,445,445,445,445,445,445,445
++landlock_create_ruleset,444,444,444,444,444,444,444,444,444,444,444,444,444,444,444,444,444
++landlock_restrict_self,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446
++lchown,16,94,94,16,PNR,16,92,92,16,16,16,16,PNR,PNR,16,198,16
++lchown32,198,PNR,PNR,198,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,198,PNR,198
++lgetxattr,230,192,192,230,9,228,184,184,242,242,213,213,9,9,228,228,230
++link,9,86,86,9,PNR,9,84,84,9,9,9,9,PNR,PNR,9,9,9
++linkat,303,265,265,330,37,296,255,259,283,283,294,294,37,37,296,296,303
++listen,363,50,50,284,201,174,49,49,32,32,329,329,201,201,363,363,343
++listxattr,232,194,194,232,11,230,186,186,244,244,215,215,11,11,230,230,232
++llistxattr,233,195,195,233,12,231,187,187,245,245,216,216,12,12,231,231,233
++_llseek,140,PNR,PNR,140,PNR,140,PNR,PNR,140,140,140,140,PNR,PNR,140,PNR,140
++lock,53,PNR,PNR,PNR,PNR,53,PNR,PNR,PNR,PNR,53,53,PNR,PNR,PNR,PNR,PNR
++lookup_dcookie,253,212,212,249,18,247,206,206,223,223,235,235,18,18,110,110,253
++lremovexattr,236,198,198,236,15,234,190,190,248,248,219,219,15,15,234,234,236
++lseek,19,8,8,19,62,19,8,8,19,19,19,19,62,62,19,19,19
++lsetxattr,227,189,189,227,6,225,181,181,239,239,210,210,6,6,225,225,227
++lstat,107,6,6,107,PNR,107,6,6,84,84,107,107,PNR,PNR,107,107,107
++lstat64,196,PNR,PNR,196,PNR,214,PNR,PNR,198,198,196,PNR,PNR,PNR,196,PNR,196
++madvise,219,28,28,220,233,218,27,27,119,119,205,205,233,233,219,219,219
++mbind,274,237,237,319,235,268,227,231,260,260,259,259,235,235,268,268,274
++membarrier,375,324,324,389,283,358,318,322,343,343,365,365,283,283,356,356,378
++memfd_create,356,319,319,385,279,354,314,318,340,340,360,360,279,279,350,350,374
++migrate_pages,294,256,256,400,238,287,246,250,272,272,258,258,238,238,287,287,294
++mincore,218,27,27,219,232,217,26,26,72,72,206,206,232,232,218,218,218
++mkdir,39,83,83,39,PNR,39,81,81,39,39,39,39,PNR,PNR,39,39,39
++mkdirat,296,258,258,323,34,289,248,252,276,276,287,287,34,34,289,289,296
++mknod,14,133,133,14,PNR,14,131,131,14,14,14,14,PNR,PNR,14,14,14
++mknodat,297,259,259,324,33,290,249,253,277,277,288,288,33,33,290,290,297
++mlock,150,149,149,150,228,154,146,146,150,150,150,150,228,228,150,150,150
++mlock2,376,325,325,390,284,359,319,323,345,345,378,378,284,284,374,374,379
++mlockall,152,151,151,152,230,156,148,148,152,152,152,152,230,230,152,152,152
++mmap,90,9,9,PNR,222,90,9,9,90,90,90,90,222,222,90,90,90
++mmap2,192,PNR,PNR,192,PNR,210,PNR,PNR,89,89,192,PNR,PNR,PNR,192,PNR,192
++modify_ldt,123,154,154,PNR,PNR,123,PNR,PNR,PNR,PNR,123,123,PNR,PNR,PNR,PNR,PNR
++mount,21,165,165,21,40,21,160,160,21,21,21,21,40,40,21,21,21
++mount_setattr,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442
++move_mount,429,429,429,429,429,429,429,429,429,429,429,429,429,429,429,429,429
++move_pages,317,279,533,344,239,308,267,271,295,295,301,301,239,239,310,310,317
++mprotect,125,10,10,125,226,125,10,10,125,125,125,125,226,226,125,125,125
++mpx,56,PNR,PNR,PNR,PNR,56,PNR,PNR,PNR,PNR,56,56,PNR,PNR,PNR,PNR,PNR
++mq_getsetattr,282,245,245,279,185,276,235,239,234,234,267,267,185,185,276,276,282
++mq_notify,281,244,527,278,184,275,234,238,233,233,266,266,184,184,275,275,281
++mq_open,277,240,240,274,180,271,230,234,229,229,262,262,180,180,271,271,277
++mq_timedreceive,280,243,243,277,183,274,233,237,232,232,265,265,183,183,274,274,280
++mq_timedreceive_time64,419,PNR,PNR,419,PNR,419,PNR,419,419,PNR,419,PNR,PNR,PNR,419,PNR,419
++mq_timedsend,279,242,242,276,182,273,232,236,231,231,264,264,182,182,273,273,279
++mq_timedsend_time64,418,PNR,PNR,418,PNR,418,PNR,418,418,PNR,418,PNR,PNR,PNR,418,PNR,418
++mq_unlink,278,241,241,275,181,272,231,235,230,230,263,263,181,181,272,272,278
++mremap,163,25,25,163,216,167,24,24,163,163,163,163,216,216,163,163,163
++msgctl,402,71,71,304,187,402,69,69,191,191,402,402,187,187,402,402,402
++msgget,399,68,68,303,186,399,66,66,190,190,399,399,186,186,399,399,399
++msgrcv,401,70,70,302,188,401,68,68,189,189,401,401,188,188,401,401,401
++msgsnd,400,69,69,301,189,400,67,67,188,188,400,400,189,189,400,400,400
++msync,144,26,26,144,227,144,25,25,144,144,144,144,227,227,144,144,144
++multiplexer,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,201,201,PNR,PNR,PNR,PNR,PNR
++munlock,151,150,150,151,229,155,147,147,151,151,151,151,229,229,151,151,151
++munlockall,153,152,152,153,231,157,149,149,153,153,153,153,231,231,153,153,153
++munmap,91,11,11,91,215,91,11,11,91,91,91,91,215,215,91,91,91
++name_to_handle_at,341,303,303,370,264,339,298,303,325,325,345,345,264,264,335,335,359
++nanosleep,162,35,35,162,101,166,34,34,162,162,162,162,101,101,162,162,162
++newfstatat,PNR,262,262,PNR,79,PNR,252,256,PNR,PNR,PNR,291,79,79,PNR,293,PNR
++_newselect,142,PNR,PNR,142,PNR,142,22,22,142,142,142,142,PNR,PNR,142,PNR,142
++nfsservctl,169,180,PNR,169,42,189,173,173,PNR,PNR,168,168,42,42,169,169,169
++nice,34,PNR,PNR,34,PNR,34,PNR,PNR,34,34,34,34,PNR,PNR,34,34,34
++oldfstat,28,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,28,28,PNR,PNR,PNR,PNR,28
++oldlstat,84,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,84,84,PNR,PNR,PNR,PNR,84
++oldolduname,59,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,59,59,PNR,PNR,PNR,PNR,PNR
++oldstat,18,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,18,18,PNR,PNR,PNR,PNR,18
++olduname,109,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,109,109,PNR,PNR,PNR,PNR,109
++open,5,2,2,5,PNR,5,2,2,5,5,5,5,PNR,PNR,5,5,5
++openat,295,257,257,322,56,288,247,251,275,275,286,286,56,56,288,288,295
++openat2,437,437,437,437,437,437,437,437,437,437,437,437,437,437,437,437,437
++open_by_handle_at,342,304,304,371,265,340,299,304,326,326,346,346,265,265,336,336,360
++open_tree,428,428,428,428,428,428,428,428,428,428,428,428,428,428,428,428,428
++pause,29,34,34,29,PNR,29,33,33,29,29,29,29,PNR,PNR,29,29,29
++pciconfig_iobase,PNR,PNR,PNR,271,PNR,PNR,PNR,PNR,PNR,PNR,200,200,PNR,PNR,PNR,PNR,PNR
++pciconfig_read,PNR,PNR,PNR,272,PNR,PNR,PNR,PNR,PNR,PNR,198,198,PNR,PNR,PNR,PNR,PNR
++pciconfig_write,PNR,PNR,PNR,273,PNR,PNR,PNR,PNR,PNR,PNR,199,199,PNR,PNR,PNR,PNR,PNR
++perf_event_open,336,298,298,364,241,333,292,296,318,318,319,319,241,241,331,331,336
++personality,136,135,135,136,92,136,132,132,136,136,136,136,92,92,136,136,136
++pidfd_getfd,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438
++pidfd_open,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434
++pidfd_send_signal,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424
++pipe,42,22,22,42,PNR,42,21,21,42,42,42,42,PNR,PNR,42,42,42
++pipe2,331,293,293,359,59,328,287,291,313,313,317,317,59,59,325,325,331
++pivot_root,217,155,155,218,41,216,151,151,67,67,203,203,41,41,217,217,217
++pkey_alloc,381,330,330,395,289,364,324,328,352,352,384,384,289,289,385,385,385
++pkey_free,382,331,331,396,290,365,325,329,353,353,385,385,290,290,386,386,386
++pkey_mprotect,380,329,329,394,288,363,323,327,351,351,386,386,288,288,384,384,384
++poll,168,7,7,168,PNR,188,7,7,168,168,167,167,PNR,PNR,168,168,168
++ppoll,309,271,271,336,73,302,261,265,274,274,281,281,73,73,302,302,309
++ppoll_time64,414,PNR,PNR,414,PNR,414,PNR,414,414,PNR,414,PNR,PNR,PNR,414,PNR,414
++prctl,172,157,157,172,167,192,153,153,172,172,171,171,167,167,172,172,172
++pread64,180,17,17,180,67,200,16,16,108,108,179,179,67,67,180,180,180
++preadv,333,295,534,361,69,330,289,293,315,315,320,320,69,69,328,328,333
++preadv2,378,327,546,392,286,361,321,325,347,347,380,380,286,286,376,376,381
++prlimit64,340,302,302,369,261,338,297,302,321,321,325,325,261,261,334,334,339
++process_madvise,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440
++process_vm_readv,347,310,539,376,270,345,304,309,330,330,351,351,270,270,340,340,365
++process_vm_writev,348,311,540,377,271,346,305,310,331,331,352,352,271,271,341,341,366
++prof,44,PNR,PNR,PNR,PNR,44,PNR,PNR,PNR,PNR,44,44,PNR,PNR,PNR,PNR,PNR
++profil,98,PNR,PNR,PNR,PNR,98,PNR,PNR,PNR,PNR,98,98,PNR,PNR,PNR,PNR,PNR
++pselect6,308,270,270,335,72,301,260,264,273,273,280,280,72,72,301,301,308
++pselect6_time64,413,PNR,PNR,413,PNR,413,PNR,413,413,PNR,413,PNR,PNR,PNR,413,PNR,413
++ptrace,26,101,521,26,117,26,99,99,26,26,26,26,117,117,26,26,26
++putpmsg,189,182,182,PNR,PNR,209,175,175,PNR,PNR,188,188,PNR,PNR,189,189,PNR
++pwrite64,181,18,18,181,68,201,17,17,109,109,180,180,68,68,181,181,181
++pwritev,334,296,535,362,70,331,290,294,316,316,321,321,70,70,329,329,334
++pwritev2,379,328,547,393,287,362,322,326,348,348,381,381,287,287,377,377,382
++query_module,167,178,PNR,PNR,PNR,187,171,171,PNR,PNR,166,166,PNR,PNR,167,167,PNR
++quotactl,131,179,179,131,60,131,172,172,131,131,131,131,60,60,131,131,131
++quotactl_path,PNR,PNR,PNR,PNR,443,PNR,PNR,PNR,PNR,PNR,PNR,PNR,443,443,PNR,PNR,PNR
++read,3,0,0,3,63,3,0,0,3,3,3,3,63,63,3,3,3
++readahead,225,187,187,225,213,223,179,179,207,207,191,191,213,213,222,222,225
++readdir,89,PNR,PNR,PNR,PNR,89,PNR,PNR,PNR,PNR,89,89,PNR,PNR,89,89,89
++readlink,85,89,89,85,PNR,85,87,87,85,85,85,85,PNR,PNR,85,85,85
++readlinkat,305,267,267,332,78,298,257,261,285,285,296,296,78,78,298,298,305
++readv,145,19,515,145,65,145,18,18,145,145,145,145,65,65,145,145,145
++reboot,88,169,169,88,142,88,164,164,88,88,88,88,142,142,88,88,88
++recv,PNR,PNR,PNR,291,PNR,175,PNR,PNR,98,98,336,336,PNR,PNR,PNR,PNR,350
++recvfrom,371,45,517,292,207,176,44,44,123,123,337,337,207,207,371,371,351
++recvmmsg,337,299,537,365,243,335,294,298,319,319,343,343,243,243,357,357,357
++recvmmsg_time64,417,PNR,PNR,417,PNR,417,PNR,417,417,PNR,417,PNR,PNR,PNR,417,PNR,417
++recvmsg,372,47,519,297,212,177,46,46,184,184,342,342,212,212,372,372,356
++remap_file_pages,257,216,216,253,234,251,210,210,227,227,239,239,234,234,267,267,257
++removexattr,235,197,197,235,14,233,189,189,247,247,218,218,14,14,233,233,235
++rename,38,82,82,38,PNR,38,80,80,38,38,38,38,PNR,PNR,38,38,38
++renameat,302,264,264,329,38,295,254,258,282,282,293,293,PNR,PNR,295,295,302
++renameat2,353,316,316,382,276,351,311,315,337,337,357,357,276,276,347,347,371
++request_key,287,249,249,310,218,281,240,244,265,265,270,270,218,218,279,279,286
++restart_syscall,0,219,219,0,128,253,213,214,0,0,0,0,128,128,7,7,0
++riscv_flush_icache,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,259,259,PNR,PNR,PNR
++rmdir,40,84,84,40,PNR,40,82,82,40,40,40,40,PNR,PNR,40,40,40
++rseq,386,334,334,398,293,367,327,331,354,354,387,387,293,293,383,383,387
++rtas,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,255,255,PNR,PNR,PNR,PNR,PNR
++rt_sigaction,174,13,512,174,134,194,13,13,174,174,173,173,134,134,174,174,174
++rt_sigpending,176,127,522,176,136,196,125,125,176,176,175,175,136,136,176,176,176
++rt_sigprocmask,175,14,14,175,135,195,14,14,175,175,174,174,135,135,175,175,175
++rt_sigqueueinfo,178,129,524,178,138,198,127,127,178,178,177,177,138,138,178,178,178
++rt_sigreturn,173,15,513,173,139,193,211,211,173,173,172,172,139,139,173,173,173
++rt_sigsuspend,179,130,130,179,133,199,128,128,179,179,178,178,133,133,179,179,179
++rt_sigtimedwait,177,128,523,177,137,197,126,126,177,177,176,176,137,137,177,177,177
++rt_sigtimedwait_time64,421,PNR,PNR,421,PNR,421,PNR,421,421,PNR,421,PNR,PNR,PNR,421,PNR,421
++rt_tgsigqueueinfo,335,297,536,363,240,332,291,295,317,317,322,322,240,240,330,330,335
++s390_guarded_storage,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,378,378,PNR
++s390_pci_mmio_read,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,353,353,PNR
++s390_pci_mmio_write,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,352,352,PNR
++s390_runtime_instr,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,342,342,PNR
++s390_sthyi,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,380,380,PNR
++sched_getaffinity,242,204,204,242,123,240,196,196,212,212,223,223,123,123,240,240,242
++sched_getattr,352,315,315,381,275,350,310,314,335,335,356,356,275,275,346,346,369
++sched_getparam,155,143,143,155,121,159,140,140,155,155,155,155,121,121,155,155,155
++sched_get_priority_max,159,146,146,159,125,163,143,143,159,159,159,159,125,125,159,159,159
++sched_get_priority_min,160,147,147,160,126,164,144,144,160,160,160,160,126,126,160,160,160
++sched_getscheduler,157,145,145,157,120,161,142,142,157,157,157,157,120,120,157,157,157
++sched_rr_get_interval,161,148,148,161,127,165,145,145,161,161,161,161,127,127,161,161,161
++sched_rr_get_interval_time64,423,PNR,PNR,423,PNR,423,PNR,423,423,PNR,423,PNR,PNR,PNR,423,PNR,423
++sched_setaffinity,241,203,203,241,122,239,195,195,211,211,222,222,122,122,239,239,241
++sched_setattr,351,314,314,380,274,349,309,313,334,334,355,355,274,274,345,345,370
++sched_setparam,154,142,142,154,118,158,139,139,154,154,154,154,118,118,154,154,154
++sched_setscheduler,156,144,144,156,119,160,141,141,156,156,156,156,119,119,156,156,156
++sched_yield,158,24,24,158,124,162,23,23,158,158,158,158,124,124,158,158,158
++seccomp,354,317,317,383,277,352,312,316,338,338,358,358,277,277,348,348,372
++security,PNR,185,185,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++select,82,23,23,PNR,PNR,PNR,PNR,PNR,PNR,PNR,82,82,PNR,PNR,PNR,142,PNR
++semctl,394,66,66,300,191,394,64,64,187,187,394,394,191,191,394,394,394
++semget,393,64,64,299,190,393,62,62,186,186,393,393,190,190,393,393,393
++semop,PNR,65,65,298,193,PNR,63,63,185,185,PNR,PNR,193,193,PNR,PNR,PNR
++semtimedop,PNR,220,220,312,192,PNR,214,215,228,228,PNR,392,192,192,PNR,392,PNR
++semtimedop_time64,420,PNR,PNR,420,PNR,420,PNR,420,420,PNR,420,PNR,PNR,PNR,420,PNR,420
++send,PNR,PNR,PNR,289,PNR,178,PNR,PNR,58,58,334,334,PNR,PNR,PNR,PNR,348
++sendfile,187,40,40,187,71,207,39,39,122,122,186,186,71,71,187,187,187
++sendfile64,239,PNR,PNR,239,PNR,237,PNR,219,209,209,226,PNR,PNR,PNR,223,PNR,239
++sendmmsg,345,307,538,374,269,343,302,307,329,329,349,349,269,269,358,358,363
++sendmsg,370,46,518,296,211,179,45,45,183,183,341,341,211,211,370,370,355
++sendto,369,44,44,290,206,180,43,43,82,82,335,335,206,206,369,369,349
++setdomainname,121,171,171,121,162,121,166,166,121,121,121,121,162,162,121,121,121
++setfsgid,139,123,123,139,152,139,121,121,139,139,139,139,152,152,139,216,139
++setfsgid32,216,PNR,PNR,216,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,216,PNR,216
++setfsuid,138,122,122,138,151,138,120,120,138,138,138,138,151,151,138,215,138
++setfsuid32,215,PNR,PNR,215,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,215,PNR,215
++setgid,46,106,106,46,144,46,104,104,46,46,46,46,144,144,46,214,46
++setgid32,214,PNR,PNR,214,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,214,PNR,214
++setgroups,81,116,116,81,159,81,114,114,81,81,81,81,159,159,81,206,81
++setgroups32,206,PNR,PNR,206,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,206,PNR,206
++sethostname,74,170,170,74,161,74,165,165,74,74,74,74,161,161,74,74,74
++setitimer,104,38,38,104,103,104,36,36,104,104,104,104,103,103,104,104,104
++set_mempolicy,276,238,238,321,237,270,229,233,262,262,261,261,237,237,270,270,276
++setns,346,308,308,375,268,344,303,308,328,328,350,350,268,268,339,339,364
++setpgid,57,109,109,57,154,57,107,107,57,57,57,57,154,154,57,57,57
++setpriority,97,141,141,97,140,97,138,138,97,97,97,97,140,140,97,97,97
++setregid,71,114,114,71,143,71,112,112,71,71,71,71,143,143,71,204,71
++setregid32,204,PNR,PNR,204,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,204,PNR,204
++setresgid,170,119,119,170,149,190,117,117,170,170,169,169,149,149,170,210,170
++setresgid32,210,PNR,PNR,210,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,210,PNR,210
++setresuid,164,117,117,164,147,185,115,115,164,164,164,164,147,147,164,208,164
++setresuid32,208,PNR,PNR,208,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,208,PNR,208
++setreuid,70,113,113,70,145,70,111,111,70,70,70,70,145,145,70,203,70
++setreuid32,203,PNR,PNR,203,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,203,PNR,203
++setrlimit,75,160,160,75,164,75,155,155,75,75,75,75,164,164,75,75,75
++set_robust_list,311,273,530,338,99,309,268,272,289,289,300,300,99,99,304,304,311
++setsid,66,112,112,66,157,66,110,110,66,66,66,66,157,157,66,66,66
++setsockopt,366,54,541,294,208,181,53,53,181,181,339,339,208,208,366,366,353
++set_thread_area,243,205,PNR,PNR,PNR,283,242,246,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++set_tid_address,258,218,218,256,96,252,212,213,237,237,232,232,96,96,252,252,258
++settimeofday,79,164,164,79,170,79,159,159,79,79,79,79,170,170,79,79,79
++set_tls,PNR,PNR,PNR,983045,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++setuid,23,105,105,23,146,23,103,103,23,23,23,23,146,146,23,213,23
++setuid32,213,PNR,PNR,213,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,213,PNR,213
++setxattr,226,188,188,226,5,224,180,180,238,238,209,209,5,5,224,224,226
++sgetmask,68,PNR,PNR,PNR,PNR,68,PNR,PNR,68,68,68,68,PNR,PNR,PNR,PNR,68
++shmat,397,30,30,305,196,397,29,29,192,192,397,397,196,196,397,397,397
++shmctl,396,31,31,308,195,396,30,30,195,195,396,396,195,195,396,396,396
++shmdt,398,67,67,306,197,398,65,65,193,193,398,398,197,197,398,398,398
++shmget,395,29,29,307,194,395,28,28,194,194,395,395,194,194,395,395,395
++shutdown,373,48,48,293,210,182,47,47,117,117,338,338,210,210,373,373,352
++sigaction,67,PNR,PNR,67,PNR,67,PNR,PNR,PNR,PNR,67,67,PNR,PNR,67,67,67
++sigaltstack,186,131,525,186,132,206,129,129,166,166,185,185,132,132,186,186,186
++signal,48,PNR,PNR,PNR,PNR,48,PNR,PNR,48,48,48,48,PNR,PNR,48,48,48
++signalfd,321,282,282,349,PNR,317,276,280,302,302,305,305,PNR,PNR,316,316,321
++signalfd4,327,289,289,355,74,324,283,287,309,309,313,313,74,74,322,322,327
++sigpending,73,PNR,PNR,73,PNR,73,PNR,PNR,73,73,73,73,PNR,PNR,73,73,73
++sigprocmask,126,PNR,PNR,126,PNR,126,PNR,PNR,126,126,126,126,PNR,PNR,126,126,126
++sigreturn,119,PNR,PNR,119,PNR,119,PNR,PNR,PNR,PNR,119,119,PNR,PNR,119,119,119
++sigsuspend,72,PNR,PNR,72,PNR,72,PNR,PNR,PNR,PNR,72,72,PNR,PNR,72,72,72
++socket,359,41,41,281,198,183,40,40,17,17,326,326,198,198,359,359,340
++socketcall,102,PNR,PNR,PNR,PNR,102,PNR,PNR,PNR,PNR,102,102,PNR,PNR,102,102,102
++socketpair,360,53,53,288,199,184,52,52,56,56,333,333,199,199,360,360,347
++splice,313,275,275,340,76,304,263,267,291,291,283,283,76,76,306,306,313
++spu_create,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,279,279,PNR,PNR,PNR,PNR,PNR
++spu_run,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,278,278,PNR,PNR,PNR,PNR,PNR
++ssetmask,69,PNR,PNR,PNR,PNR,69,PNR,PNR,69,69,69,69,PNR,PNR,PNR,PNR,69
++stat,106,4,4,106,PNR,106,4,4,18,18,106,106,PNR,PNR,106,106,106
++stat64,195,PNR,PNR,195,PNR,213,PNR,PNR,101,101,195,PNR,PNR,PNR,195,PNR,195
++statfs,99,137,137,99,43,99,134,134,99,99,99,99,43,43,99,99,99
++statfs64,268,PNR,PNR,266,PNR,255,PNR,217,298,298,252,252,PNR,PNR,265,265,268
++statx,383,332,332,397,291,366,326,330,349,349,383,383,291,291,379,379,383
++stime,25,PNR,PNR,PNR,PNR,25,PNR,PNR,25,25,25,25,PNR,PNR,25,PNR,25
++stty,31,PNR,PNR,PNR,PNR,31,PNR,PNR,PNR,PNR,31,31,PNR,PNR,PNR,PNR,PNR
++subpage_prot,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,310,310,PNR,PNR,PNR,PNR,PNR
++swapcontext,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,249,249,PNR,PNR,PNR,PNR,PNR
++swapoff,115,168,168,115,225,115,163,163,115,115,115,115,225,225,115,115,115
++swapon,87,167,167,87,224,87,162,162,87,87,87,87,224,224,87,87,87
++switch_endian,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,363,363,PNR,PNR,PNR,PNR,PNR
++symlink,83,88,88,83,PNR,83,86,86,83,83,83,83,PNR,PNR,83,83,83
++symlinkat,304,266,266,331,36,297,256,260,284,284,295,295,36,36,297,297,304
++sync,36,162,162,36,81,36,157,157,36,36,36,36,81,81,36,36,36
++sync_file_range,314,277,277,PNR,84,305,264,268,292,292,PNR,PNR,84,84,307,307,314
++sync_file_range2,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,308,308,PNR,PNR,PNR,PNR,PNR
++syncfs,344,306,306,373,267,342,301,306,327,327,348,348,267,267,338,338,362
++syscall,PNR,PNR,PNR,PNR,PNR,0,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++_sysctl,149,156,PNR,149,PNR,153,152,152,149,149,149,149,PNR,PNR,149,149,149
++sys_debug_setcontext,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,256,256,PNR,PNR,PNR,PNR,PNR
++sysfs,135,139,139,135,PNR,135,136,136,135,135,135,135,PNR,PNR,135,135,135
++sysinfo,116,99,99,116,179,116,97,97,116,116,116,116,179,179,116,116,116
++syslog,103,103,103,103,116,103,101,101,103,103,103,103,116,116,103,103,103
++sysmips,PNR,PNR,PNR,PNR,PNR,149,199,199,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++tee,315,276,276,342,77,306,265,269,293,293,284,284,77,77,308,308,315
++tgkill,270,234,234,268,131,266,225,229,259,259,250,250,131,131,241,241,270
++time,13,201,201,PNR,PNR,13,PNR,PNR,13,13,13,13,PNR,PNR,13,PNR,13
++timer_create,259,222,526,257,107,257,216,220,250,250,240,240,107,107,254,254,259
++timer_delete,263,226,226,261,111,261,220,224,254,254,244,244,111,111,258,258,263
++timerfd,PNR,PNR,PNR,PNR,PNR,318,277,281,PNR,PNR,PNR,PNR,PNR,PNR,317,317,PNR
++timerfd_create,322,283,283,350,85,321,280,284,306,306,306,306,85,85,319,319,322
++timerfd_gettime,326,287,287,354,87,322,281,285,308,308,312,312,87,87,321,321,326
++timerfd_gettime64,410,PNR,PNR,410,PNR,410,PNR,410,410,PNR,410,PNR,PNR,PNR,410,PNR,410
++timerfd_settime,325,286,286,353,86,323,282,286,307,307,311,311,86,86,320,320,325
++timerfd_settime64,411,PNR,PNR,411,PNR,411,PNR,411,411,PNR,411,PNR,PNR,PNR,411,PNR,411
++timer_getoverrun,262,225,225,260,109,260,219,223,253,253,243,243,109,109,257,257,262
++timer_gettime,261,224,224,259,108,259,218,222,252,252,242,242,108,108,256,256,261
++timer_gettime64,408,PNR,PNR,408,PNR,408,PNR,408,408,PNR,408,PNR,PNR,PNR,408,PNR,408
++timer_settime,260,223,223,258,110,258,217,221,251,251,241,241,110,110,255,255,260
++timer_settime64,409,PNR,PNR,409,PNR,409,PNR,409,409,PNR,409,PNR,PNR,PNR,409,PNR,409
++times,43,100,100,43,153,43,98,98,43,43,43,43,153,153,43,43,43
++tkill,238,200,200,238,130,236,192,192,208,208,208,208,130,130,237,237,238
++truncate,92,76,76,92,45,92,74,74,92,92,92,92,45,45,92,92,92
++truncate64,193,PNR,PNR,193,PNR,211,PNR,PNR,199,199,193,PNR,PNR,PNR,193,PNR,193
++tuxcall,PNR,184,184,PNR,PNR,PNR,PNR,PNR,PNR,PNR,225,225,PNR,PNR,PNR,PNR,PNR
++ugetrlimit,191,PNR,PNR,191,PNR,PNR,PNR,PNR,PNR,PNR,190,190,PNR,PNR,191,PNR,191
++ulimit,58,PNR,PNR,PNR,PNR,58,PNR,PNR,PNR,PNR,58,58,PNR,PNR,PNR,PNR,PNR
++umask,60,95,95,60,166,60,93,93,60,60,60,60,166,166,60,60,60
++umount,22,PNR,PNR,PNR,PNR,22,PNR,PNR,PNR,PNR,22,22,PNR,PNR,22,22,22
++umount2,52,166,166,52,39,52,161,161,52,52,52,52,39,39,52,52,52
++uname,122,63,63,122,160,122,61,61,59,59,122,122,160,160,122,122,122
++unlink,10,87,87,10,PNR,10,85,85,10,10,10,10,PNR,PNR,10,10,10
++unlinkat,301,263,263,328,35,294,253,257,281,281,292,292,35,35,294,294,301
++unshare,310,272,272,337,97,303,262,266,288,288,282,282,97,97,303,303,310
++uselib,86,134,PNR,86,PNR,86,PNR,PNR,86,86,86,86,PNR,PNR,86,86,86
++userfaultfd,374,323,323,388,282,357,317,321,344,344,364,364,282,282,355,355,377
++usr26,PNR,PNR,PNR,983043,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++usr32,PNR,PNR,PNR,983044,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++ustat,62,136,136,62,PNR,62,133,133,62,62,62,62,PNR,PNR,62,62,62
++utime,30,132,132,PNR,PNR,30,130,130,30,30,30,30,PNR,PNR,30,30,30
++utimensat,320,280,280,348,88,316,275,279,301,301,304,304,88,88,315,315,320
++utimensat_time64,412,PNR,PNR,412,PNR,412,PNR,412,412,PNR,412,PNR,PNR,PNR,412,PNR,412
++utimes,271,235,235,269,PNR,267,226,230,336,336,251,251,PNR,PNR,313,313,271
++vfork,190,58,58,190,PNR,PNR,PNR,PNR,113,113,189,189,PNR,PNR,190,190,190
++vhangup,111,153,153,111,58,111,150,150,111,111,111,111,58,58,111,111,111
++vm86,166,PNR,PNR,PNR,PNR,113,PNR,PNR,PNR,PNR,113,113,PNR,PNR,PNR,PNR,PNR
++vm86old,113,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++vmsplice,316,278,532,343,75,307,266,270,294,294,285,285,75,75,309,309,316
++vserver,273,236,PNR,313,PNR,277,236,240,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++wait4,114,61,61,114,260,114,59,59,114,114,114,114,260,260,114,114,114
++waitid,284,247,529,280,95,278,237,241,235,235,272,272,95,95,281,281,284
++waitpid,7,PNR,PNR,PNR,PNR,7,PNR,PNR,7,7,7,7,PNR,PNR,PNR,PNR,7
++write,4,1,1,4,64,4,1,1,4,4,4,4,64,64,4,4,4
++writev,146,20,516,146,66,146,19,19,146,146,146,146,66,66,146,146,146
+--
+2.32.0
diff --git a/poky/meta/recipes-support/libseccomp/libseccomp_2.5.1.bb b/poky/meta/recipes-support/libseccomp/libseccomp_2.5.1.bb
index 8fe1023..79736f2 100644
--- a/poky/meta/recipes-support/libseccomp/libseccomp_2.5.1.bb
+++ b/poky/meta/recipes-support/libseccomp/libseccomp_2.5.1.bb
@@ -7,14 +7,16 @@
 
 DEPENDS += "gperf-native"
 
-SRCREV = "4bf70431a339a2886ab8c82e9a45378f30c6e6c7"
+PV .= "+git${SRCPV}"
+SRCREV = "5822e50c2920ce597d038077dea4a0eedf193f86"
 
-SRC_URI = "git://github.com/seccomp/libseccomp.git;branch=release-2.5 \
+SRC_URI = "git://github.com/seccomp/libseccomp.git;branch=main \
+           file://0001-configure.ac-Bump-version-to-2.5.99.patch \
+           file://0001-arch-Add-riscv32-architecture-support.patch \
+           file://0002-Regenerate-syscall-cvs-file-from-5.13-rc5-kernel.patch \
            file://run-ptest \
            "
 
-COMPATIBLE_HOST_riscv32 = "null"
-
 S = "${WORKDIR}/git"
 
 inherit autotools-brokensep pkgconfig ptest features_check
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.35.5.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.36.0.bb
similarity index 82%
rename from poky/meta/recipes-support/sqlite/sqlite3_3.35.5.bb
rename to poky/meta/recipes-support/sqlite/sqlite3_3.36.0.bb
index d74a621..f5d75e8 100644
--- a/poky/meta/recipes-support/sqlite/sqlite3_3.35.5.bb
+++ b/poky/meta/recipes-support/sqlite/sqlite3_3.36.0.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
 
 SRC_URI = "http://www.sqlite.org/2021/sqlite-autoconf-${SQLITE_PV}.tar.gz"
-SRC_URI[sha256sum] = "f52b72a5c319c3e516ed7a92e123139a6e87af08a2dc43d7757724f6132e6db0"
+SRC_URI[sha256sum] = "bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3"
 
 # -19242 is only an issue in specific development branch commits
 CVE_CHECK_WHITELIST += "CVE-2019-19242"
diff --git a/poky/meta/recipes-support/vte/vte_0.64.1.bb b/poky/meta/recipes-support/vte/vte_0.64.2.bb
similarity index 95%
rename from poky/meta/recipes-support/vte/vte_0.64.1.bb
rename to poky/meta/recipes-support/vte/vte_0.64.2.bb
index 0401eaa..b0baa3f 100644
--- a/poky/meta/recipes-support/vte/vte_0.64.1.bb
+++ b/poky/meta/recipes-support/vte/vte_0.64.2.bb
@@ -20,7 +20,7 @@
 
 # vapigen.m4 is required when vala is not present (but the one from vala should be used normally)
 SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
-SRC_URI[archive.sha256sum] = "12fb41a9ff8e03c5f1711b46560910a4b9b3102aec3e9e7609ceef4dfa98aa2a"
+SRC_URI[archive.sha256sum] = "2b3c820b65a667c1d8859ba20478be626d1519cc3159dac25f703330c6d07e18"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
diff --git a/poky/scripts/lib/devtool/deploy.py b/poky/scripts/lib/devtool/deploy.py
index e5af2c9..8333225 100644
--- a/poky/scripts/lib/devtool/deploy.py
+++ b/poky/scripts/lib/devtool/deploy.py
@@ -168,7 +168,7 @@
         if args.strip and not args.dry_run:
             # Fakeroot copy to new destination
             srcdir = recipe_outdir
-            recipe_outdir = os.path.join(rd.getVar('WORKDIR'), 'deploy-target-stripped')
+            recipe_outdir = os.path.join(rd.getVar('WORKDIR'), 'devtool-deploy-target-stripped')
             if os.path.isdir(recipe_outdir):
                 bb.utils.remove(recipe_outdir, True)
             exec_fakeroot(rd, "cp -af %s %s" % (os.path.join(srcdir, '.'), recipe_outdir), shell=True)
diff --git a/poky/scripts/lib/devtool/upgrade.py b/poky/scripts/lib/devtool/upgrade.py
index 24e3700..da1456a 100644
--- a/poky/scripts/lib/devtool/upgrade.py
+++ b/poky/scripts/lib/devtool/upgrade.py
@@ -261,21 +261,20 @@
             logger.warning('By user choice, the following patches will NOT be applied to the new source tree:\n  %s' % '\n  '.join([os.path.basename(patch) for patch in patches]))
     else:
         __run('git checkout devtool-patched -b %s' % branch)
-        skiptag = False
-        try:
-            __run('git rebase %s' % rev)
-        except bb.process.ExecutionError as e:
-            skiptag = True
-            if 'conflict' in e.stdout:
-                logger.warning('Command \'%s\' failed:\n%s\n\nYou will need to resolve conflicts in order to complete the upgrade.' % (e.command, e.stdout.rstrip()))
-            else:
-                logger.warning('Command \'%s\' failed:\n%s' % (e.command, e.stdout))
-        if not skiptag:
-            if uri.startswith('git://') or uri.startswith('gitsm://'):
-                suffix = 'new'
-            else:
-                suffix = newpv
-            __run('git tag -f devtool-patched-%s' % suffix)
+        (stdout, _) = __run('git branch --list devtool-override-*')
+        branches_to_rebase = [branch] + stdout.split()
+        for b in branches_to_rebase:
+            logger.info("Rebasing {} onto {}".format(b, rev))
+            __run('git checkout %s' % b)
+            try:
+                __run('git rebase %s' % rev)
+            except bb.process.ExecutionError as e:
+                if 'conflict' in e.stdout:
+                    logger.warning('Command \'%s\' failed:\n%s\n\nYou will need to resolve conflicts in order to complete the upgrade.' % (e.command, e.stdout.rstrip()))
+                    __run('git rebase --abort')
+                else:
+                    logger.warning('Command \'%s\' failed:\n%s' % (e.command, e.stdout))
+        __run('git checkout %s' % branch)
 
     if tmpsrctree:
         if keep_temp:
@@ -522,6 +521,15 @@
         else:
             srctree = standard.get_default_srctree(config, pn)
 
+        # Check that recipe isn't using a shared workdir
+        s = os.path.abspath(rd.getVar('S'))
+        workdir = os.path.abspath(rd.getVar('WORKDIR'))
+        srctree_s = srctree
+        if s.startswith(workdir) and s != workdir and os.path.dirname(s) != workdir:
+            # Handle if S is set to a subdirectory of the source
+            srcsubdir = os.path.relpath(s, workdir).split(os.sep, 1)[1]
+            srctree_s = os.path.join(srctree, srcsubdir)
+
         # try to automatically discover latest version and revision if not provided on command line
         if not args.version and not args.srcrev:
             version_info = oe.recipeutils.get_recipe_upstream_version(rd)
@@ -551,12 +559,12 @@
         try:
             logger.info('Extracting current version source...')
             rev1, srcsubdir1 = standard._extract_source(srctree, False, 'devtool-orig', False, config, basepath, workspace, args.fixed_setup, rd, tinfoil, no_overrides=args.no_overrides)
-            old_licenses = _extract_licenses(srctree, (rd.getVar('LIC_FILES_CHKSUM') or ""))
+            old_licenses = _extract_licenses(srctree_s, (rd.getVar('LIC_FILES_CHKSUM') or ""))
             logger.info('Extracting upgraded version source...')
             rev2, md5, sha256, srcbranch, srcsubdir2 = _extract_new_source(args.version, srctree, args.no_patch,
                                                     args.srcrev, args.srcbranch, args.branch, args.keep_temp,
                                                     tinfoil, rd)
-            new_licenses = _extract_licenses(srctree, (rd.getVar('LIC_FILES_CHKSUM') or ""))
+            new_licenses = _extract_licenses(srctree_s, (rd.getVar('LIC_FILES_CHKSUM') or ""))
             license_diff = _generate_license_diff(old_licenses, new_licenses)
             rf, copied = _create_new_recipe(args.version, md5, sha256, args.srcrev, srcbranch, srcsubdir1, srcsubdir2, config.workspace_path, tinfoil, rd, license_diff, new_licenses, srctree, args.keep_failure)
         except bb.process.CmdError as e:
@@ -565,7 +573,7 @@
             _upgrade_error(e, rf, srctree, args.keep_failure)
         standard._add_md5(config, pn, os.path.dirname(rf))
 
-        af = _write_append(rf, srctree, args.same_dir, args.no_same_dir, rev2,
+        af = _write_append(rf, srctree_s, args.same_dir, args.no_same_dir, rev2,
                         copied, config.workspace_path, rd)
         standard._add_md5(config, pn, af)
 
diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py
index f2639e7..32e47f1 100644
--- a/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py
+++ b/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py
@@ -186,8 +186,10 @@
         # dosfs image, created by mkdosfs
         bootimg = "%s/boot%s.img" % (cr_workdir, part.lineno)
 
-        dosfs_cmd = "mkdosfs -n boot -i %s -S 512 -C %s %d" % \
-                    (part.fsuuid, bootimg, blocks)
+        label = part.label if part.label else "boot"
+
+        dosfs_cmd = "mkdosfs -n %s -i %s -S 512 -C %s %d" % \
+                    (label, part.fsuuid, bootimg, blocks)
         exec_native_cmd(dosfs_cmd, native_sysroot)
 
         mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (bootimg, hdddir)
diff --git a/poky/scripts/oe-time-dd-test.sh b/poky/scripts/oe-time-dd-test.sh
index ccdd55e..386de83 100755
--- a/poky/scripts/oe-time-dd-test.sh
+++ b/poky/scripts/oe-time-dd-test.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # oe-time-dd-test records how much time it takes to 
 # write <count> number of kilobytes to the filesystem.
@@ -8,23 +8,24 @@
 # The purporse of this script is to find which part of
 # the build system puts stress on the filesystem io and
 # log all the processes.
-
 usage() {
-        echo "Usage: $0 <count>"
+	echo "$0 is used to detect i/o latency and runs commands to display host information."
+	echo "The following commands are run in order:"
+	echo "1) top -c -b -n1 -w 512"
+	echo "2) iostat -y -z -x 5 1"
+	echo "3) tail -30 tmp*/log/cooker/*/console-latest.log to gather cooker log."
+	echo " "
+	echo "Options:"
+	echo "-c | --count <amount>		dd (transfer) <amount> KiB of data within specified timeout to detect latency."
+	echo "				Must enable -t option."
+	echo "-t | --timeout <time>		timeout in seconds for the <count> amount of data to be transferred."
+	echo "-l | --log-only			run the commands without performing the data transfer."
+	echo "-h | --help			show help"
+
 }
 
-TIMEOUT=15
-
-if [ $# -ne 1 ]; then
-        usage
-        exit 1
-fi
-
-uptime
-timeout ${TIMEOUT} dd if=/dev/zero of=oe-time-dd-test.dat bs=1024 count=$1 conv=fsync
-if [ $? -ne 0 ]; then
-	echo "Timeout used: ${TIMEOUT}"
-	echo "start: top output"
+run_cmds() {
+    echo "start: top output"
 	top -c -b -n1 -w 512
 	echo "end: top output"
 	echo "start: iostat"
@@ -33,4 +34,69 @@
 	echo "start: cooker log"
 	tail -30 tmp*/log/cooker/*/console-latest.log
 	echo "end: cooker log"
+}
+
+if [ $# -lt 1 ]; then
+	usage
+	exit 1
+fi
+
+re_c='^[0-9]+$'
+#re_t='^[0-9]+([.][0-9]+)?$'
+
+while [[ $# -gt 0 ]]; do
+	key="$1"
+
+	case $key in
+		-c|--count)
+			COUNT=$2
+			shift
+			shift
+			if ! [[ $COUNT =~ $re_c ]] || [[ $COUNT -le 0 ]] ; then
+				usage
+				exit 1
+			fi
+			;;
+		-t|--timeout)
+			TIMEOUT=$2
+			shift
+			shift
+			if ! [[ $TIMEOUT =~ $re_c ]] || [[ $TIMEOUT -le 0 ]] ; then
+				usage
+				exit 1
+			fi
+			;;
+		-l|--log-only)
+			LOG_ONLY="true"
+			shift
+			shift
+			;;
+		-h|--help)
+			usage
+			exit 0
+			;;
+		*)
+			usage
+			exit 1
+			;;
+	esac
+done
+
+
+if [ "$LOG_ONLY" = "true" ] ; then
+    uptime
+    run_cmds
+    exit
+fi
+
+if [ -z ${TIMEOUT+x} ] || [ -z ${COUNT+x} ] ; then
+    usage
+    exit 1
+fi
+
+uptime
+echo "Timeout used: ${TIMEOUT}"
+timeout ${TIMEOUT} dd if=/dev/zero of=oe-time-dd-test.dat bs=1024 count=${COUNT} conv=fsync
+if [ $? -ne 0 ]; then
+    run_cmds
 fi
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu
index 1f332ef..2914f15 100755
--- a/poky/scripts/runqemu
+++ b/poky/scripts/runqemu
@@ -233,9 +233,12 @@
     def release_taplock(self):
         if self.taplock_descriptor:
             logger.debug("Releasing lockfile for tap device '%s'" % self.tap)
-            fcntl.flock(self.taplock_descriptor, fcntl.LOCK_UN)
+            # We pass the fd to the qemu process and if we unlock here, it would unlock for
+            # that too. Therefore don't unlock, just close
+            # fcntl.flock(self.taplock_descriptor, fcntl.LOCK_UN)
             self.taplock_descriptor.close()
-            os.remove(self.taplock)
+            # Removing the file is a potential race, don't do that either
+            # os.remove(self.taplock)
             self.taplock_descriptor = None
 
     def check_free_port(self, host, port, lockdir):
@@ -273,17 +276,23 @@
 
     def release_portlock(self, lockfile=None):
         if lockfile != None:
-           logger.debug("Releasing lockfile '%s'" % lockfile)
-           fcntl.flock(self.portlocks[lockfile], fcntl.LOCK_UN)
-           self.portlocks[lockfile].close()
-           os.remove(lockfile)
-           del self.portlocks[lockfile]
+            logger.debug("Releasing lockfile '%s'" % lockfile)
+            # We pass the fd to the qemu process and if we unlock here, it would unlock for
+            # that too. Therefore don't unlock, just close
+            # fcntl.flock(self.portlocks[lockfile], fcntl.LOCK_UN)
+            self.portlocks[lockfile].close()
+            # Removing the file is a potential race, don't do that either
+            # os.remove(lockfile)
+            del self.portlocks[lockfile]
         elif len(self.portlocks):
             for lockfile, descriptor in self.portlocks.items():
                 logger.debug("Releasing lockfile '%s'" % lockfile)
-                fcntl.flock(descriptor, fcntl.LOCK_UN)
+                # We pass the fd to the qemu process and if we unlock here, it would unlock for
+                # that too. Therefore don't unlock, just close
+                # fcntl.flock(descriptor, fcntl.LOCK_UN)
                 descriptor.close()
-                os.remove(lockfile)
+                # Removing the file is a potential race, don't do that either
+                # os.remove(lockfile)
             self.portlocks = {}
 
     def get(self, key):