summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-devtools
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2021-06-02 22:28:27 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2021-06-07 18:15:22 +0300
commitac69b488c6ecf0e6df8321218006f23211c45e46 (patch)
tree899942e99c3be5138dd4784f939f0e8b717f90b9 /poky/meta/recipes-devtools
parentee32beb0333105ea120420a3556a752079ef5437 (diff)
downloadopenbmc-ac69b488c6ecf0e6df8321218006f23211c45e46.tar.xz
poky: subtree update:2dcd1f2a21..9d1b332292
Alejandro Hernandez Samaniego (2): baremetal-helloworld: Enable RISC-V 64 port baremetal-image: Fix post process command rootfs_update_timestamp Alexander Kanavin (94): python3: add markdown/smartypants/typogrify modules gi-docgen: add a recipe and class gdk-pixbuf/pango: replace gtk-doc with gi-docgen vala: upgrade 0.50.4 -> 0.52.2 xkbcomp: upgrade 1.4.4 -> 1.4.5 stress-ng: upgrade 0.12.05 -> 0.12.06 xserver-xorg: upgrade 1.20.10 -> 1.20.11 xorgproto: upgrade 2020.1 -> 2021.3 dpkg: update 1.20.7.1 -> 1.20.9 puzzles: update to latest revision cmake: update 3.19.5 -> 3.20.1 meson: update 0.57.1 -> 0.57.2 systemd: backport a patch to avoid unnecessary rsync dependency with latest meson pulseaudio: unbreak build with latest meson libdnf: upgrade 0.58.0 -> 0.62.0 bluez5: upgrade 5.56 -> 5.58 libxkbcommon: update 1.0.3 -> 1.2.1 libgudev: update 234 -> 236 vulkan-samples: update to latest revision gnupg: upgrade 2.2.27 -> 2.3.1 virglrenderer: update 0.8.2 -> 0.9.1 webkitgtk: update 2.30.6 -> 2.32.0 acl: upgrade 2.2.53 -> 2.3.1 bind: upgrade 9.16.12 -> 9.16.13 bison: upgrade 3.7.5 -> 3.7.6 createrepo-c: upgrade 0.17.0 -> 0.17.2 cronie: upgrade 1.5.5 -> 1.5.7 dnf: upgrade 4.6.0 -> 4.7.0 e2fsprogs: upgrade 1.46.1 -> 1.46.2 gnu-efi: upgrade 3.0.12 -> 3.0.13 systemd-boot: backport a fix to address failures with new gnu-efi gobject-introspection: upgrade 1.66.1 -> 1.68.0 gtk+3: upgrade 3.24.25 -> 3.24.28 harfbuzz: upgrade 2.7.4 -> 2.8.0 less: upgrade 563 -> 581 libfm: upgrade 1.3.1 -> 1.3.2 libinput: upgrade 1.16.4 -> 1.17.1 libwpe: upgrade 1.8.0 -> 1.10.0 libxres: upgrade 1.2.0 -> 1.2.1 linux-firmware: upgrade 20210208 -> 20210315 pango: upgrade 1.48.2 -> 1.48.4 piglit: upgrade to latest revision pkgconf: upgrade 1.7.3 -> 1.7.4 python3-hypothesis: upgrade 6.2.0 -> 6.9.1 python3-importlib-metadata: upgrade 3.4.0 -> 3.10.1 python3-pytest: upgrade 6.2.2 -> 6.2.3 python3-setuptools-scm: upgrade 5.0.1 -> 6.0.1 x264: upgrade to latest revision ptest: add a test for orphaned ptests, and restore ones found by it swig: fix upstream version check liberation-fonts: fix upstream version check Revert "go: Use dl.google.com for SRC_URI" powertop: update 2.13 -> 2.14 mesa: add lmsensors PACKAGECONFIG ffmpeg: update 4.3.2 -> 4.4 qemu: use 4 cores in qemu guests avahi: disable gtk bits gdk-pixbuf: rewrite the cross-build support for tests gnome: drop upstream even condition from a few recipes expat: upgrade 2.2.10 -> 2.3.0 meson.bbclass: split python routines into a separate class gstreamer1.0-plugins-base: backport a patch to fix meson 0.58 builds meson: update 0.57.2 -> 0.58.0 qemu: backport a patch to fix meson 0.58 builds nativesdk-meson: correctly set cpu_family bitbake: fetch2/wget: when checking latest versions, consider all numerical directories mklibs: remove recipes and class local.conf: Drop support for mklibs u-boot: upgrade 2021.01 -> 2021.04 gdk-pixbuf: update a patch status systemd: update 247.6 -> 248.3 systemd-conf: do not version in lockstep with systemd gnu-config: update to latest revision mmc-utils: update to latest revision python3-smartypants: fix upstream version check at: upgrade 3.2.1 -> 3.2.2 gnomebase: trim the SRC_URI directory from the back gsettings-desktop-schemas: upgrade 3.38.0 -> 40.0 igt-gpu-tools: upgrade 1.25 -> 1.26 mesa: update 21.0.3 -> 21.1.1 vulkan-samples: update to latest revision libgpg-error: update 1.41 -> 1.42 webkitgtk: update 2.32.0 -> 2.32.1 glib-2.0: update 2.68.1 -> 2.68.2 apt: upgrade 2.2.2 -> 2.2.3 cmake: update 3.20.1 -> 3.20.2 libdnf: update 0.62.0 -> 0.63.0 harfbuzz: update 2.8.0 -> 2.8.1 curl: update 7.76.0 -> 7.76.1 systemtap: update 4.4 -> 4.5 wayland: package target binaries into -tools, not into -dev ptest: add newly discovered missing runtime dependencies across recipes images: remove sato/weston ptest images images: add ptest images based on core-image-minimal Andreas Müller (1): gstreamer1.0-plugins-good: fix build with gcc11 Andrej Valek (1): expat: upgrade 2.3.0 -> 2.4.1 Anuj Mittal (1): lsb-release: fix reproducibility failure Armin Kuster (5): bitbake: hashserv/server.py: drop unused imports bitbake: hashserver/client.py: drop unused imports poky.yaml: fedora33: add missing pkgs systemctl: Stop tracebacks use formated error messages package_manager/rpm: decode systemctl failures Bastian Krause (1): ccache: version bump 4.2.1 -> 4.3 Bruce Ashfield (18): linux-yocto/5.4: qemuppc32: reduce serial shutdown issues kern-tools: Kconfiglib: add support for bare 'modules' keyword lttng-modules: update devupstream to v2.13-rc lttng-modules: update to v2.12.6 kernel-yocto: provide debug / summary information for metadata linux-yocto/5.10: update to v5.10.35 linux-yocto/5.4: update to v5.4.117 linux-yocto/5.10: ktypes/standard: disable obsolete crypto options by default linux-yocto/5.10: update to v5.10.36 linux-yocto/5.4: update to v5.4.118 linux-yocto/5.10: update to v5.10.37 linux-yocto/5.4: update to v5.4.119 kernel-devsrc: adjust NM and OBJTOOL variables for target linux-yocto/5.10: update to v5.10.38 linux-yocto-dev: bump to v5.13+ linux-yocto/5.4: update to v5.4.120 linux-yocto/5.10: update to v5.10.41 linux-yocto/5.4: update to v5.4.123 Carlos Rafael Giani (1): ffmpeg: Add libopus packageconfig Changqing Li (2): unfs3: correct configure option pkgconfig: update SRC_URI Chen Qi (3): db: update CVE_PRODUCT rt-tests: update SRCREV xxhash: backport patch to fix special char problem Daniel McGregor (3): lib/oe/gpg_sign.py: Fix gpg verification sstate: Ignore sstate signing key bison: Make libtextstyle and libreadline optional Daniel Wagenknecht (1): kernel-dev: document KCONFIG_MODE Douglas Royds (3): Revert "icecc: Don't use icecc when INHIBIT_DEFAULT_DEPS is set" icecc: Demote "could not get ICECC_CC" warning to note icecc-create-env: Silence warning: invalid ICECC_ENV_EXEC Drew Moseley (1): manuals: fix a few incorrect option specifications. Guillaume Champagne (1): image-live.bbclass: order do_bootimg after do_rootfs Joshua Watt (1): zstd: Add patch to fix MinGW builds Kai Kang (1): grub2.inc: remove '-O2' from CFLAGS Khem Raj (17): swig: Upgrade to 4.0.2 python3-markdown: Upgrade to 3.3.4 ffmpeg: Fix build on mips npth: Check for pthread_create for including lpthread gcc: Add target gcc include search for musl config too gcc: Extend .gccrelocprefix section support to musl configs gcc: Refresh patch to fix patch fuzz musl: Fix __NR_fstatat syscall name for riscv libxfixes: Update to 6.0.0 release xorgproto: Upgrade to 2021.4 release glibc: Update to latest 2.33 branch systemd: Fix 248.3 on musl glibc: Enable memory tagging for aarch64 gcc: Update to latest on release/gcc-11 branch apt: Add missing <array> header ovmf: Fix VLA warnings with GCC 11 libucontext: Switch to meson build system Martin Jansa (4): gcc-sanitizers: Package up static hwasan files as well webkitgtk: fix build without opengl in DISTRO_FEATURES binutils: backport DWARF-5 support for gold sstatesig.py: make it fatal error when sstate manifest isn't found Michael Halstead (3): releases: update to include 3.2.4 uninative: Upgrade to 3.2 (gcc11 support) releases: update to include 3.3.1 Michael Opdenacker (8): manuals: reduce verbosity with "worry about" expression manuals: reduce verbosity related to "the following" expression ref-manual: simplify style kernel-dev manual: simplify style dev-manual: simplify style sdk-manual: simplify style and fix formating overview-manual: simplify style and add missings references manuals: simplify style Mike Crowe (2): npm.bbclass: Allow nodedir to be overridden by NPM_NODEDIR libnotify: Make gtk+3 dependency optional Ming Liu (4): kernel-fitimage.bbclass: fix a wrong conditional check initramfs-framework:rootfs: fix wrong indentions kernel-fitimage.bbclass: drop unit addresses from bootscr sections uboot-sign/kernel-fitimage: split generate_rsa_keys task Nikolay Papenkov (1): flex: correct license information Nisha Parrakat (1): squashfs-tools: package squashfs-fs.h Peter Kjellerstedt (3): libcap: Configure Make variables correctly without a horrible hack util-linux.inc: Do not modify BPN native.bbclass: Do not remove "-native" in the middle of recipe names Petr Vorel (1): ltp: Update to 20210524 Richard Purdie (92): oeqa/qemurunner: Fix binary vs str issue oeqa/qemurunner: Improve handling of run_serial for shutdown commands ptest-packagelists: Add expat-ptest to fast ptests puzzles: Upstream changed to main branch for development grub2: Add CVE whitelist entries for issues fixed in 2.06 glibc: Document and whitelist CVE-2019-1010022-25 qemu: Exclude CVE-2017-5957 from cve-check qemu: Exclude CVE-2007-0998 from cve-check qemu: Exclude CVE-2018-18438 from cve-check jquery: Exclude CVE-2007-2379 from cve-check logrotate: Exclude CVE-2011-1548,1549,1550 from cve-check openssh: Exclude CVE-2007-2768 from cve-check ovmf: Improve reproducibility by enabling prefix mapping bind: Exclude CVE-2019-6470 from cve-check openssh: Exclude CVE-2008-3844 from cve-check unzip: Exclude CVE-2008-0888 from cve-check cpio: Exclude CVE-2010-4226 from cve-check xinetd: Exclude CVE-2013-4342 from cve-check ghostscript: Exclude CVE-2013-6629 from cve-check bluez: Exclude CVE-2020-12352 CVE-2020-24490 from cve-check tiff: Exclude CVE-2015-7313 from cve-check ovmf: Disable lto to aid reproducibility ovmf: Fix other reproducibility issues rpm: Exclude CVE-2021-20271 from cve-check coreutils: Exclude CVE-2016-2781 from cve-check librsvg: Exclude CVE-2018-1000041 from cve-check avahi: Exclude CVE-2021-26720 from cve-check qemu: Set SMP to 4 cpus for arm/x86 only qemuboot-x86: Switch to IvyBridge and q35 instead of pc qemu-x86: Add commandline options to improve boot sstate: Handle manifest 'corruption' issue lttng-ust: Upgrade 2.12.1 -> 2.12.2 qemu: Upgrade 5.2.0 -> 6.0.0 python3-markupsafe: Upgrade 1.1.1 -> 2.0.0 python3-jinja2: Upgrade 2.11.3 -> 3.0.0 ofono: upgrade 1.31 -> 1.32 libnss-mdns: upgrade 0.14.1 -> 0.15 python3-git: upgrade 3.1.14 -> 3.1.17 bind: upgrade 9.16.13 -> 9.16.15 vala: upgrade 0.52.2 -> 0.52.3 libjpeg-turbo: upgrade 2.0.6 -> 2.1.0 btrfs-tools: upgrade 5.12 -> 5.12.1 python3-hypothesis: upgrade 6.9.1 -> 6.12.0 python3-numpy: upgrade 1.20.2 -> 1.20.3 gtk+3: upgrade 3.24.28 -> 3.24.29 sudo: upgrade 1.9.6p1 -> 1.9.7 stress-ng: upgrade 0.12.06 -> 0.12.08 less: upgrade 581 -> 586 libtirpc: upgrade 1.3.1 -> 1.3.2 libinput: upgrade 1.17.1 -> 1.17.2 zstd: upgrade 1.4.9 -> 1.5.0 hdparm: upgrade 9.61 -> 9.62 libxkbcommon: upgrade 1.2.1 -> 1.3.0 spirv-tools: upgrade 2020.7 -> 2021.1 diffoscope: upgrade 172 -> 175 mpg123: upgrade 1.26.5 -> 1.27.2 sqlite3: upgrade 3.35.3 -> 3.35.5 wayland-protocols: upgrade 1.20 -> 1.21 shaderc: upgrade 2020.5 -> 2021.0 wpebackend-fdo: upgrade 1.8.3 -> 1.8.4 libxcrypt-compat: upgrade 4.4.19 -> 4.4.20 Revert "cml1.bbclass: Return sorted list of cfg files" bitbake: server/process: Handle error in heartbeat funciton in OOM case glibc: Add 8GB VM usage cap for usermode test suite cve-extra-exclusions.inc: add exclusion list for intractable CVE's rpm: Drop CVE exclusion as database fixed to handle cve-extra-exclusions: Fix typos grub: Exclude CVE-2019-14865 from cve-check cve-extra-exclusions.inc: Clean up merged CPE updates ltp: Disable problematic tests causing autobuilder hangs python3-setuptools: upgrade 56.0.0 -> 56.2.0 distro/maintainers: Fix up the ptest image entries oeqa/runtime/rpm: Drop log message counting test component linux-firmware: upgrade 20210315 -> 20210511 libxcrypt: Upgrade 4.4.20 -> 4.4.22 iproute2: upgrade 5.11.0 -> 5.12.0 libx11: upgrade 1.7.0 -> 1.7.1 python3-hypothesis: upgrade 6.12.0 -> 6.13.7 pango: upgrade 1.48.4 -> 1.48.5 python3-importlib-metadata: upgrade 4.0.1 -> 4.3.0 libmodulemd: upgrade 2.12.0 -> 2.12.1 vte: upgrade 0.64.0 -> 0.64.1 libinput: upgrade 1.17.2 -> 1.17.3 gi-docgen: upgrade 2021.5 -> 2021.6 kmod: upgrade 28 -> 29 xorgproto: upgrade 2021.4 -> 2021.4.99.1 libpcre2: upgrade 10.36 -> 10.37 libepoxy: upgrade 1.5.5 -> 1.5.8 python3-jinja2: upgrade 3.0.0 -> 3.0.1 curl: upgrade 7.76.1 -> 7.77.0 python3-setuptools: upgrade 56.2.0 -> 57.0.0 oeqa/qemurunner: Improve timeout handling Richard Weinberger (1): Add support for erofs filesystems Robert Joslyn (3): liberation-fonts: Update to 2.1.4 epiphany: Update to 40.1 btrfs-tools: Update to 5.12 Robert P. J. Day (8): sdk-manual: couple minor fixes in using.rst sdk-manual: various cleanups to intro.rst ref-manual: delete references to dead LSB compliance ref-manual: delete extraneous back quote image.bbclass: fix comment "pacackages" -> "packages" meta/lib/oe/rootfs.py: Fix typo "Restoreing" -> "Restoring" bitbake.conf: alphabetize contents of ASSUME_PROVIDED ref-manual: add links to some variables in glossary Romain Naour (1): dejagnu: needs expect at runtime Ross Burton (12): cairo: backport patch for CVE-2020-35492 libnotify: whitelist CVE-2013-7381 (specific to the NodeJS bindings) builder: whitelist CVE-2008-4178 (a different builder) libarchive: disable redundant libxml2 PACKAGECONFIG meson: update patch status cups: whitelist CVE-2021-25317 libsolv: add missing db dependency rpm: turn Berkeley DB hard dependency into PACKAGECONFIG python3: update status on upstreamed patch ref-manual: Ubuntu 20.04 is also LTS package_rpm: pass XZ_THREADS to rpm gcc: revert libstc++-gdb.py installation changes Samuli Piippo (3): gcc-cross-canadian: add symlinks for ld.bfd and ld.gold libarchive: enable zstd support cmake-native: enabled zstd support Stefan Ghinea (1): boost: fix do_fetch failure Steve Sakoman (1): expat: set CVE_PRODUCT Tony Tascioglu (3): libxml2: Reformat runtest.patch libxml2: Add bash dependency for ptests. libxml2: Update to 2.9.12 Trevor Gamblin (2): python3: upgrade 3.9.4 -> 3.9.5 bind: upgrade 9.16.15 -> 9.16.16 Ulrich Ölmann (1): local.conf.sample: fix typo Vinícius Ossanes Aquino (1): lttng-modules: backport patches to fix build against 5.12+ kernel Yann Dirson (1): linux-firmware: include all relevant files in -bcm4356 hongxu (1): gdk-pixbuf: fix nativesdk do_configure failed wangmy (21): python3-pygments: upgrade 2.8.1 -> 2.9.0 at-spi2-core: upgrade 2.40.0 -> 2.40.1 ell: upgrade 0.39 -> 0.40 kexec-tools: upgrade 2.0.21 -> 2.0.22 go: upgrade 1.16.3 -> 1.16.4 python3-attrs: upgrade 20.3.0 -> 21.2.0 python3-six: upgrade 1.15.0 -> 1.16.0 vulkan-samples: update to latest revision vulkan-headers: upgrade 1.2.170.0 -> 1.2.176.0 vulkan-tools: upgrade 1.2.170.0 -> 1.2.176.0 vulkan-loader: upgrade 1.2.170.0 -> 1.2.176.0 distcc: upgrade 3.3.5 -> 3.4 libdrm: upgrade 2.4.105 -> 2.4.106 libidn2: upgrade 2.3.0 -> 2.3.1 libtasn1: upgrade 4.16.0 -> 4.17.0 python3-libarchive-c: upgrade 2.9 -> 3.0 python3-markupsafe: upgrade 2.0.0 -> 2.0.1 python3-more-itertools: upgrade 8.7.0 -> 8.8.0 python3-pytest: upgrade 6.2.3 -> 6.2.4 logrotate: upgrade 3.18.0 -> 3.18.1 stress-ng: upgrade 0.12.08 -> 0.12.09 zhengruoqin (10): busybox: upgrade 1.33.0 -> 1.33.1 rng-tools: upgrade 6.11 -> 6.12 rpcbind: upgrade 1.2.5 -> 1.2.6 sysklogd: upgrade 2.2.2 -> 2.2.3 python3-importlib-metadata: upgrade 3.10.1 -> 4.0.1 python3-sortedcontainers: upgrade 2.3.0 -> 2.4.0 rxvt-unicode: upgrade 9.22 -> 9.26 libedit: upgrade 20210419-3.1 -> 20210522-3.1 libtest-needs-perl: upgrade 0.002006 -> 0.002009 libucontext: upgrade 0.10 -> 1.1 Change-Id: I5e5148036ac2a7918974733e5751c3392139b17e Signed-off-by: William A. Kennington III <wak@google.com>
Diffstat (limited to 'poky/meta/recipes-devtools')
-rw-r--r--poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch2
-rw-r--r--poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch2
-rw-r--r--poky/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch32
-rw-r--r--poky/meta/recipes-devtools/apt/apt_2.2.3.bb (renamed from poky/meta/recipes-devtools/apt/apt_2.2.2.bb)3
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-2.36.inc1
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0018-Add-DWARF-5-support-in-gold.patch1374
-rw-r--r--poky/meta/recipes-devtools/bison/bison_3.7.6.bb (renamed from poky/meta/recipes-devtools/bison/bison_3.7.5.bb)23
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb (renamed from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.11.1.bb)7
-rw-r--r--poky/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch161
-rw-r--r--poky/meta/recipes-devtools/ccache/ccache_4.3.bb (renamed from poky/meta/recipes-devtools/ccache/ccache_4.2.1.bb)8
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake-native_3.20.2.bb (renamed from poky/meta/recipes-devtools/cmake/cmake-native_3.19.5.bb)2
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake.inc5
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch4
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch122
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake_3.20.2.bb (renamed from poky/meta/recipes-devtools/cmake/cmake_3.19.5.bb)0
-rw-r--r--poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch6
-rw-r--r--poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.2.bb (renamed from poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb1
-rw-r--r--poky/meta/recipes-devtools/distcc/distcc_3.4.bb (renamed from poky/meta/recipes-devtools/distcc/distcc_3.3.5.bb)2
-rw-r--r--poky/meta/recipes-devtools/dnf/dnf/0001-dnf-rpm-miscutils.py-fix-usage-of-_.patch39
-rw-r--r--poky/meta/recipes-devtools/dnf/dnf/0002-dnf-rpm-miscutils.py-do-not-hardcode-usr-bin-rpmkeys.patch37
-rw-r--r--poky/meta/recipes-devtools/dnf/dnf_4.7.0.bb (renamed from poky/meta/recipes-devtools/dnf/dnf_4.6.0.bb)4
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb (renamed from poky/meta/recipes-devtools/dpkg/dpkg_1.20.7.1.bb)4
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch24
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch48
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch2
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch6
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb (renamed from poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.1.bb)4
-rw-r--r--poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.2.1.bb21
-rw-r--r--poky/meta/recipes-devtools/flex/flex_2.6.4.bb6
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-11.1.inc9
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc2
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc4
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc/0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch76
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch64
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch179
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch10
-rw-r--r--poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb4
-rw-r--r--poky/meta/recipes-devtools/go/go-1.16.4.inc (renamed from poky/meta/recipes-devtools/go/go-1.16.3.inc)4
-rw-r--r--poky/meta/recipes-devtools/go/go-binary-native_1.16.4.bb (renamed from poky/meta/recipes-devtools/go/go-binary-native_1.16.3.bb)4
-rw-r--r--poky/meta/recipes-devtools/go/go-common.inc2
-rw-r--r--poky/meta/recipes-devtools/go/go-cross-canadian_1.16.4.bb (renamed from poky/meta/recipes-devtools/go/go-cross-canadian_1.16.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-cross_1.16.4.bb (renamed from poky/meta/recipes-devtools/go/go-cross_1.16.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-crosssdk_1.16.4.bb (renamed from poky/meta/recipes-devtools/go/go-crosssdk_1.16.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-native_1.16.4.bb (renamed from poky/meta/recipes-devtools/go/go-native_1.16.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-runtime_1.16.4.bb (renamed from poky/meta/recipes-devtools/go/go-runtime_1.16.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go_1.16.4.bb (renamed from poky/meta/recipes-devtools/go/go_1.16.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb1
-rw-r--r--poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb5
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch17
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb (renamed from poky/meta/recipes-devtools/libdnf/libdnf_0.58.0.bb)4
-rw-r--r--poky/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb (renamed from poky/meta/recipes-devtools/libedit/libedit_20210419-3.1.bb)2
-rw-r--r--poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb4
-rw-r--r--poky/meta/recipes-devtools/meson/meson.inc16
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch26
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch8
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch28
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch14
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch16
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch58
-rw-r--r--poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch412
-rw-r--r--poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch23
-rw-r--r--poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch2
-rw-r--r--poky/meta/recipes-devtools/meson/meson_0.58.0.bb (renamed from poky/meta/recipes-devtools/meson/meson_0.57.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.0.bb (renamed from poky/meta/recipes-devtools/meson/nativesdk-meson_0.57.1.bb)14
-rw-r--r--poky/meta/recipes-devtools/mklibs/files/ac_init_fix.patch19
-rw-r--r--poky/meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch103
-rw-r--r--poky/meta/recipes-devtools/mklibs/files/fix_STT_GNU_IFUNC.patch26
-rw-r--r--poky/meta/recipes-devtools/mklibs/files/fix_cross_compile.patch81
-rw-r--r--poky/meta/recipes-devtools/mklibs/files/show-GNU-unique-symbols-as-provided-symbols.patch34
-rw-r--r--poky/meta/recipes-devtools/mklibs/files/sysrooted-ldso.patch18
-rw-r--r--poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.44.bb22
-rw-r--r--poky/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch32
-rw-r--r--poky/meta/recipes-devtools/mmc/mmc-utils_git.bb6
-rw-r--r--poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002009.bb (renamed from poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb)4
-rw-r--r--poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb (renamed from poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.3.bb)2
-rw-r--r--poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb2
-rw-r--r--poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.3.bb (renamed from poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.2.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch4
-rw-r--r--poky/meta/recipes-devtools/python/python3-attrs_21.2.0.bb (renamed from poky/meta/recipes-devtools/python/python3-attrs_20.3.0.bb)3
-rw-r--r--poky/meta/recipes-devtools/python/python3-git_3.1.17.bb (renamed from poky/meta/recipes-devtools/python/python3-git_3.1.14.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-hypothesis_6.13.7.bb (renamed from poky/meta/recipes-devtools/python/python3-hypothesis_6.2.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-importlib-metadata_4.3.0.bb (renamed from poky/meta/recipes-devtools/python/python3-importlib-metadata_3.4.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb (renamed from poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-libarchive-c_3.0.bb (renamed from poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb)4
-rw-r--r--poky/meta/recipes-devtools/python/python3-markdown_3.3.4.bb13
-rw-r--r--poky/meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb (renamed from poky/meta/recipes-devtools/python/python3-markupsafe_1.1.1.bb)3
-rw-r--r--poky/meta/recipes-devtools/python/python3-more-itertools_8.8.0.bb (renamed from poky/meta/recipes-devtools/python/python3-more-itertools_8.7.0.bb)8
-rw-r--r--poky/meta/recipes-devtools/python/python3-pygments_2.9.0.bb (renamed from poky/meta/recipes-devtools/python/python3-pygments_2.8.1.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-pytest_6.2.4.bb (renamed from poky/meta/recipes-devtools/python/python3-pytest_6.2.2.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-setuptools-scm_6.0.1.bb (renamed from poky/meta/recipes-devtools/python/python3-setuptools-scm_5.0.1.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-setuptools/reproducibility.patch40
-rw-r--r--poky/meta/recipes-devtools/python/python3-setuptools_57.0.0.bb (renamed from poky/meta/recipes-devtools/python/python3-setuptools_56.0.0.bb)5
-rw-r--r--poky/meta/recipes-devtools/python/python3-six_1.15.0.bb5
-rw-r--r--poky/meta/recipes-devtools/python/python3-six_1.16.0.bb4
-rw-r--r--poky/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb13
-rw-r--r--poky/meta/recipes-devtools/python/python3-sortedcontainers_2.4.0.bb (renamed from poky/meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb14
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch3
-rw-r--r--poky/meta/recipes-devtools/python/python3_3.9.5.bb (renamed from poky/meta/recipes-devtools/python/python3_3.9.4.bb)5
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-native_6.0.0.bb (renamed from poky/meta/recipes-devtools/qemu/qemu-native_5.2.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb (renamed from poky/meta/recipes-devtools/qemu/qemu-system-native_5.2.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu.inc47
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch10
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0001-configure-fix-detection-of-gdbus-codegen.patch50
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch6
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch10
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0001-tests-meson.build-use-relative-path-to-refer-to-file.patch15
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch12
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch8
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch32
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch8
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch12
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2020-27821.patch143
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2020-29443.patch107
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_1.patch153
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_2.patch117
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_3.patch303
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20181.patch81
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20203.patch73
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20221.patch70
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20257.patch55
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20263.patch214
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3392.patch89
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_1.patch56
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_2.patch92
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_3.patch109
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_4.patch75
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_5.patch56
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_6.patch99
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_1.patch177
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_10.patch44
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_2.patch42
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch43
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_4.patch43
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_5.patch45
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_6.patch43
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_7.patch45
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_8.patch44
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_9.patch46
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/cross.patch12
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/determinism.patch29
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/mingwfix.patch21
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/mmap.patch29
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/mmap2.patch25
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu_6.0.0.bb (renamed from poky/meta/recipes-devtools/qemu/qemu_5.2.0.bb)4
-rw-r--r--poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb5
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb2
-rw-r--r--poky/meta/recipes-devtools/swig/swig.inc2
-rw-r--r--poky/meta/recipes-devtools/swig/swig/0001-Add-Node-7.x-aka-V8-5.2-support.patch330
-rw-r--r--poky/meta/recipes-devtools/swig/swig/0001-Fix-generated-code-for-constant-expressions-containi.patch179
-rw-r--r--poky/meta/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch13
-rw-r--r--poky/meta/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch7
-rw-r--r--poky/meta/recipes-devtools/swig/swig/Python-Fix-new-GCC8-warnings-in-generated-code.patch191
-rw-r--r--poky/meta/recipes-devtools/swig/swig/determinism.patch8
-rw-r--r--poky/meta/recipes-devtools/swig/swig/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch36
-rw-r--r--poky/meta/recipes-devtools/swig/swig_3.0.12.bb13
-rw-r--r--poky/meta/recipes-devtools/swig/swig_4.0.2.bb7
-rw-r--r--poky/meta/recipes-devtools/unfs3/unfs3_git.bb2
-rw-r--r--poky/meta/recipes-devtools/vala/vala_0.52.3.bb (renamed from poky/meta/recipes-devtools/vala/vala_0.50.4.bb)2
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb2
161 files changed, 2735 insertions, 4313 deletions
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
index e0e7e0cd5..a9a8eb630 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
@@ -1,4 +1,4 @@
-From 382f8381ef8baf754057e376a6d9bf840ca6d543 Mon Sep 17 00:00:00 2001
+From 5fb6355c7dd00c97fe90e805ace075b6e9b6952d Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 10 May 2019 16:47:38 +0200
Subject: [PATCH] Do not init tables from dpkg configuration
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
index c14dc2a41..34d0c4b4c 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
@@ -1,4 +1,4 @@
-From a603b3281f3f60a87531c8cec4843f970170d409 Mon Sep 17 00:00:00 2001
+From 76f8386cac7f13688b386686e0b1fc4b1b574f53 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 21 May 2020 20:13:25 +0000
Subject: [PATCH] Revert "always run 'dpkg --configure -a' at the end of our
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch b/poky/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
new file mode 100644
index 000000000..cfee50c7a
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
@@ -0,0 +1,32 @@
+From f999aeb5ceb77b81c36e6a55300a521aaa2da882 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 26 May 2021 22:12:46 -0700
+Subject: [PATCH] aptwebserver.cc: Include <array>
+
+This helps getting std::array definition
+
+Fixes
+test/interactive-helper/aptwebserver.cc:36:55: error: constexpr variable cannot have non-literal type 'const std::array<std::array<const char *, 2>, 6>'
+ constexpr std::array<std::array<char const *,2>,6> htmlencode = {{
+
+Upstream-Status: Submitted [https://github.com/Debian/apt/pull/133]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/interactive-helper/aptwebserver.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc
+index 58ba54f84..0e030c7e9 100644
+--- a/test/interactive-helper/aptwebserver.cc
++++ b/test/interactive-helper/aptwebserver.cc
+@@ -22,6 +22,7 @@
+ #include <unistd.h>
+
+ #include <algorithm>
++#include <array>
+ #include <fstream>
+ #include <iostream>
+ #include <list>
+--
+2.31.1
+
diff --git a/poky/meta/recipes-devtools/apt/apt_2.2.2.bb b/poky/meta/recipes-devtools/apt/apt_2.2.3.bb
index 192aec46b..fe00fb03c 100644
--- a/poky/meta/recipes-devtools/apt/apt_2.2.2.bb
+++ b/poky/meta/recipes-devtools/apt/apt_2.2.3.bb
@@ -13,6 +13,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
file://0001-srvrec-Keep-support-for-older-resolver.patch \
file://0001-cmake-Do-not-build-po-files.patch \
file://0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch \
+ file://0001-aptwebserver.cc-Include-array.patch \
"
SRC_URI_append_class-native = " \
@@ -25,7 +26,7 @@ SRC_URI_append_class-nativesdk = " \
file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
"
-SRC_URI[sha256sum] = "c5449a4c2126a12497a9949cd10209926005d329f6ce7942a3781fa2fcf50487"
+SRC_URI[sha256sum] = "2880474bc08c79f103cd30d24a9c30c78b480c65076e466d24df93b9fa05ab27"
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
# the package is taken from snapshots.debian.org; that source is static and goes stale
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.36.inc b/poky/meta/recipes-devtools/binutils/binutils-2.36.inc
index 66080dfce..d54e2a345 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-2.36.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.36.inc
@@ -36,6 +36,7 @@ SRC_URI = "\
file://0015-sync-with-OE-libtool-changes.patch \
file://0016-Check-for-clang-before-checking-gcc-version.patch \
file://0017-Add-support-for-the-DW_FORM_strx-forms-to-the-BFD-li.patch \
+ file://0018-Add-DWARF-5-support-in-gold.patch \
file://CVE-2021-20197.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0018-Add-DWARF-5-support-in-gold.patch b/poky/meta/recipes-devtools/binutils/binutils/0018-Add-DWARF-5-support-in-gold.patch
new file mode 100644
index 000000000..353b68085
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0018-Add-DWARF-5-support-in-gold.patch
@@ -0,0 +1,1374 @@
+From 29dab7648672342418a9d32767e3b3182d9e6a30 Mon Sep 17 00:00:00 2001
+From: Cary Coutant <ccoutant@gmail.com>
+Date: Wed, 17 Mar 2021 21:31:15 -0700
+Subject: [PATCH] Add DWARF 5 support in gold.
+
+elfcpp/
+ PR gold/27246
+ * dwarf.h (enum DW_LNCT): Add line number table content type codes.
+ (enum DW_LINE_OPS): Reformat.
+ (enum DW_LINE_EXTENDED_OPS): Reformat.
+ (enum DW_CHILDREN): Reformat.
+ (enum DW_RLE): Add range list entry types.
+ (enum DW_SECT): Update values for DWARF 5.
+
+gold/
+ PR gold/27246
+ * dwarf_reader.cc (Dwarf_abbrev_table::do_get_abbrev): Handle
+ DW_FORM_implicit_const.
+ (Dwarf_ranges_table::read_ranges_table): Add version parameter;
+ Adjust all callers. Look for .debug_rnglists section if DWARF 5.
+ (Dwarf_ranges_table::read_range_list_v5): New method.
+ (Dwarf_die::read_attributes): Handle new DWARF 5 DW_FORM codes.
+ (Dwarf_die::skip_attributes): Likewise.
+ (Dwarf_info_reader::do_parse): Support DWARF 5 unit header format.
+ (Dwarf_info_reader::read_3bytes_from_pointer): New method.
+ (Sized_dwarf_line_info::Sized_dwarf_line_info): Initialize
+ str_buffer_, str_buffer_start, reloc_map_, line_number_map_.
+ Look for .debug_line_str section.
+ (Sized_dwarf_line_info::read_header_prolog): Support DWARF 5 prolog.
+ (Sized_dwarf_line_info::read_header_tables): Rename to...
+ (Sized_dwarf_line_info::read_header_tables_v2): ... this.
+ (Sized_dwarf_line_info::read_header_tables_v5): New method.
+ (Sized_dwarf_line_info::process_one_opcode): Insert missing "this->".
+ Change advance_line to signed int64_t.
+ (Sized_dwarf_line_info::read_lines): Add endptr parameter; adjust
+ callers. Insert missing "this->".
+ (Sized_dwarf_line_info::read_line_mappings): Support DWARF 5.
+ (Sized_dwarf_line_info::do_addr2line): Add debug code.
+ * dwarf_reader.h (Dwarf_abbrev_table::Attribute): Add implicit_const
+ field. Adjust constructor.
+ (Dwarf_abbrev_table::add_sttribute): Add implicit_const parameter.
+ (Dwarf_ranges_table::read_ranges_table): Add version parameter.
+ (Dwarf_ranges_table::read_range_list_v5): New method.
+ (Dwarf_die): Remove unused attr_off field.
+ (Dwarf_info_reader::Dwarf_info_reader): Initialize unit_type_ field.
+ (Dwarf_info_reader::is_type_unit): New method.
+ (Dwarf_info_reader::read_3bytes_from_pointer): New method.
+ (Dwarf_info_reader::read_range_list): Call read_range_list_v5 for
+ DWARF 5 range lists.
+ (Dwarf_info_reader::is_type_unit_): Remove.
+ (Dwarf_info_reader::unit_type_): New field.
+ (Sized_dwarf_line_info::~Sized_dwarf_line_info): Delete
+ str_buffer_start_.
+ (Sized_dwarf_line_info::read_header_tables): Rename to...
+ (Sized_dwarf_line_info::read_header_tables_v2): ... this.
+ (Sized_dwarf_line_info::read_header_tables_v5): New method.
+ (Sized_dwarf_line_info::read_lines): Add endptr parameter.
+ (Sized_dwarf_line_info::Dwarf_line_infoHeader): Add address_size field.
+ (Sized_dwarf_line_info::str_buffer_): New field.
+ (Sized_dwarf_line_info::str_buffer_end_): New field.
+ (Sized_dwarf_line_info::str_buffer_start_): New field.
+ (Sized_dwarf_line_info::end_of_header_length_): New field.
+ (Sized_dwarf_line_info::end_of_unit_): New field.
+
+Upstream-Status: Backport [5cde809b7b9 Add DWARF 5 support in gold.]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ elfcpp/dwarf.h | 89 +++++--
+ gold/dwarf_reader.cc | 591 +++++++++++++++++++++++++++++++++++++------
+ gold/dwarf_reader.h | 103 ++++++--
+ 3 files changed, 654 insertions(+), 129 deletions(-)
+
+diff --git a/elfcpp/dwarf.h b/elfcpp/dwarf.h
+index e24347f8481..c9a9e02369c 100644
+--- a/elfcpp/dwarf.h
++++ b/elfcpp/dwarf.h
+@@ -152,35 +152,48 @@ enum DW_EH_PE
+ DW_EH_PE_indirect = 0x80
+ };
+
++// Line number table content type codes.
++
++enum DW_LNCT
++{
++ DW_LNCT_path = 0x1,
++ DW_LNCT_directory_index = 0x2,
++ DW_LNCT_timestamp = 0x3,
++ DW_LNCT_size = 0x4,
++ DW_LNCT_MD5 = 0x5,
++ DW_LNCT_lo_user = 0x2000,
++ DW_LNCT_hi_user = 0x3fff
++};
++
+ // Line number opcodes.
+
+ enum DW_LINE_OPS
+ {
+- DW_LNS_extended_op = 0,
+- DW_LNS_copy = 1,
+- DW_LNS_advance_pc = 2,
+- DW_LNS_advance_line = 3,
+- DW_LNS_set_file = 4,
+- DW_LNS_set_column = 5,
+- DW_LNS_negate_stmt = 6,
+- DW_LNS_set_basic_block = 7,
+- DW_LNS_const_add_pc = 8,
+- DW_LNS_fixed_advance_pc = 9,
++ DW_LNS_extended_op = 0x00,
++ DW_LNS_copy = 0x01,
++ DW_LNS_advance_pc = 0x02,
++ DW_LNS_advance_line = 0x03,
++ DW_LNS_set_file = 0x04,
++ DW_LNS_set_column = 0x05,
++ DW_LNS_negate_stmt = 0x06,
++ DW_LNS_set_basic_block = 0x07,
++ DW_LNS_const_add_pc = 0x08,
++ DW_LNS_fixed_advance_pc = 0x09,
+ // DWARF 3.
+- DW_LNS_set_prologue_end = 10,
+- DW_LNS_set_epilogue_begin = 11,
+- DW_LNS_set_isa = 12
++ DW_LNS_set_prologue_end = 0x0a,
++ DW_LNS_set_epilogue_begin = 0x0b,
++ DW_LNS_set_isa = 0x0c
+ };
+
+ // Line number extended opcodes.
+
+ enum DW_LINE_EXTENDED_OPS
+ {
+- DW_LNE_end_sequence = 1,
+- DW_LNE_set_address = 2,
+- DW_LNE_define_file = 3,
++ DW_LNE_end_sequence = 0x01,
++ DW_LNE_set_address = 0x02,
++ DW_LNE_define_file = 0x03,
+ // DWARF4.
+- DW_LNE_set_discriminator = 4,
++ DW_LNE_set_discriminator = 0x04,
+ // HP extensions.
+ DW_LNE_HP_negate_is_UV_update = 0x11,
+ DW_LNE_HP_push_context = 0x12,
+@@ -191,13 +204,15 @@ enum DW_LINE_EXTENDED_OPS
+ DW_LNE_HP_negate_post_semantics = 0x17,
+ DW_LNE_HP_negate_function_exit = 0x18,
+ DW_LNE_HP_negate_front_end_logical = 0x19,
+- DW_LNE_HP_define_proc = 0x20
++ DW_LNE_HP_define_proc = 0x20,
++ DW_LNE_lo_user = 0x80,
++ DW_LNE_hi_user = 0xff
+ };
+
+ enum DW_CHILDREN
+ {
+- DW_CHILDREN_no =0x00,
+- DW_CHILDREN_yes =0x01
++ DW_CHILDREN_no = 0,
++ DW_CHILDREN_yes = 1
+ };
+
+ // Source language names and codes.
+@@ -247,20 +262,38 @@ enum DW_LANG
+ DW_LANG_HP_Assembler = 0x8007
+ };
+
++// Range list entry kinds in .debug_rnglists* section.
++
++enum DW_RLE
++{
++ DW_RLE_end_of_list = 0x00,
++ DW_RLE_base_addressx = 0x01,
++ DW_RLE_startx_endx = 0x02,
++ DW_RLE_startx_length = 0x03,
++ DW_RLE_offset_pair = 0x04,
++ DW_RLE_base_address = 0x05,
++ DW_RLE_start_end = 0x06,
++ DW_RLE_start_length = 0x07
++};
++
+ // DWARF section identifiers used in the package format.
+ // Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFissionDWP.
++// Added (with changes) in DWARF 5.
+
+ enum DW_SECT
+ {
+- DW_SECT_INFO = 1,
+- DW_SECT_TYPES = 2,
+- DW_SECT_ABBREV = 3,
+- DW_SECT_LINE = 4,
+- DW_SECT_LOC = 5,
++ DW_SECT_INFO = 1,
++ DW_SECT_ABBREV = 3,
++ DW_SECT_LINE = 4,
++ DW_SECT_LOCLISTS = 5,
+ DW_SECT_STR_OFFSETS = 6,
+- DW_SECT_MACINFO = 7,
+- DW_SECT_MACRO = 8,
+- DW_SECT_MAX = DW_SECT_MACRO,
++ DW_SECT_MACINFO = 7,
++ DW_SECT_RNGLISTS = 8,
++ DW_SECT_MAX = DW_SECT_RNGLISTS,
++ // These were used only for the experimental Fission support in DWARF 4.
++ DW_SECT_TYPES = 2,
++ DW_SECT_LOC = 5,
++ DW_SECT_MACRO = 8
+ };
+
+ } // End namespace elfcpp.
+diff --git a/gold/dwarf_reader.cc b/gold/dwarf_reader.cc
+index f0e6b89bde2..83a0114ed39 100644
+--- a/gold/dwarf_reader.cc
++++ b/gold/dwarf_reader.cc
+@@ -26,6 +26,7 @@
+ #include <utility>
+ #include <vector>
+
++#include "debug.h"
+ #include "elfcpp_swap.h"
+ #include "dwarf.h"
+ #include "object.h"
+@@ -275,6 +276,14 @@ Dwarf_abbrev_table::do_get_abbrev(unsigned int code)
+ uint64_t form = read_unsigned_LEB_128(this->buffer_pos_, &len);
+ this->buffer_pos_ += len;
+
++ // For DW_FORM_implicit_const, read the constant.
++ int64_t implicit_const = 0;
++ if (form == elfcpp::DW_FORM_implicit_const)
++ {
++ implicit_const = read_signed_LEB_128(this->buffer_pos_, &len);
++ this->buffer_pos_ += len;
++ }
++
+ // A (0,0) pair terminates the list.
+ if (attr == 0 && form == 0)
+ break;
+@@ -282,7 +291,7 @@ Dwarf_abbrev_table::do_get_abbrev(unsigned int code)
+ if (attr == elfcpp::DW_AT_sibling)
+ entry->has_sibling_attribute = true;
+
+- entry->add_attribute(attr, form);
++ entry->add_attribute(attr, form, implicit_const);
+ }
+
+ this->store_abbrev(nextcode, entry);
+@@ -302,8 +311,16 @@ Dwarf_ranges_table::read_ranges_table(
+ Relobj* object,
+ const unsigned char* symtab,
+ off_t symtab_size,
+- unsigned int ranges_shndx)
++ unsigned int ranges_shndx,
++ unsigned int version)
+ {
++ const std::string section_name(version < 5
++ ? ".debug_ranges"
++ : ".debug_rnglists");
++ const std::string compressed_section_name(version < 5
++ ? ".zdebug_ranges"
++ : ".zdebug_rnglists");
++
+ // If we've already read this abbrev table, return immediately.
+ if (this->ranges_shndx_ > 0
+ && this->ranges_shndx_ == ranges_shndx)
+@@ -318,7 +335,7 @@ Dwarf_ranges_table::read_ranges_table(
+ for (unsigned int i = 1; i < object->shnum(); ++i)
+ {
+ std::string name = object->section_name(i);
+- if (name == ".debug_ranges" || name == ".zdebug_ranges")
++ if (name == section_name || name == compressed_section_name)
+ {
+ ranges_shndx = i;
+ this->output_section_offset_ = object->output_section_offset(i);
+@@ -393,7 +410,7 @@ Dwarf_ranges_table::read_range_list(
+ {
+ Dwarf_range_list* ranges;
+
+- if (!this->read_ranges_table(object, symtab, symtab_size, ranges_shndx))
++ if (!this->read_ranges_table(object, symtab, symtab_size, ranges_shndx, 4))
+ return NULL;
+
+ // Correct the offset. For incremental update links, we have a
+@@ -459,6 +476,125 @@ Dwarf_ranges_table::read_range_list(
+ return ranges;
+ }
+
++// Read a DWARF 5 range list from section RANGES_SHNDX at offset RANGES_OFFSET.
++
++Dwarf_range_list*
++Dwarf_ranges_table::read_range_list_v5(
++ Relobj* object,
++ const unsigned char* symtab,
++ off_t symtab_size,
++ unsigned int addr_size,
++ unsigned int ranges_shndx,
++ off_t offset)
++{
++ Dwarf_range_list* ranges;
++
++ if (!this->read_ranges_table(object, symtab, symtab_size, ranges_shndx, 5))
++ return NULL;
++
++ ranges = new Dwarf_range_list();
++ off_t base = 0;
++ unsigned int shndx0 = 0;
++
++ // Correct the offset. For incremental update links, we have a
++ // relocated offset that is relative to the output section, but
++ // here we need an offset relative to the input section.
++ offset -= this->output_section_offset_;
++
++ // Read the range list at OFFSET.
++ const unsigned char* prle = this->ranges_buffer_ + offset;
++ while (prle < this->ranges_buffer_end_)
++ {
++ off_t start;
++ off_t end;
++ unsigned int shndx1 = 0;
++ unsigned int shndx2 = 0;
++ size_t len;
++
++ // Read the entry type.
++ unsigned int rle_type = *prle++;
++ offset += 1;
++
++ if (rle_type == elfcpp::DW_RLE_end_of_list)
++ break;
++
++ switch (rle_type)
++ {
++ case elfcpp::DW_RLE_base_address:
++ if (addr_size == 4)
++ base = this->dwinfo_->read_from_pointer<32>(prle);
++ else
++ base = this->dwinfo_->read_from_pointer<64>(prle);
++ if (this->ranges_reloc_mapper_ != NULL)
++ shndx0 = this->lookup_reloc(offset, &base);
++ prle += addr_size;
++ offset += addr_size;
++ break;
++
++ case elfcpp::DW_RLE_offset_pair:
++ start = read_unsigned_LEB_128(prle, &len);
++ prle += len;
++ offset += len;
++ end = read_unsigned_LEB_128(prle, &len);
++ prle += len;
++ offset += len;
++ if (shndx0 == 0 || object->is_section_included(shndx0))
++ ranges->add(shndx0, base + start, base + end);
++ break;
++
++ case elfcpp::DW_RLE_start_end:
++ if (addr_size == 4)
++ {
++ start = this->dwinfo_->read_from_pointer<32>(prle);
++ end = this->dwinfo_->read_from_pointer<32>(prle + 4);
++ }
++ else
++ {
++ start = this->dwinfo_->read_from_pointer<64>(prle);
++ end = this->dwinfo_->read_from_pointer<64>(prle + 8);
++ }
++ if (this->ranges_reloc_mapper_ != NULL)
++ {
++ shndx1 = this->lookup_reloc(offset, &start);
++ shndx2 = this->lookup_reloc(offset + addr_size, &end);
++ if (shndx1 != shndx2)
++ gold_warning(_("%s: DWARF info may be corrupt; offsets in a "
++ "range list entry are in different sections"),
++ object->name().c_str());
++ }
++ prle += addr_size * 2;
++ offset += addr_size * 2;
++ if (shndx1 == 0 || object->is_section_included(shndx1))
++ ranges->add(shndx1, start, end);
++ break;
++
++ case elfcpp::DW_RLE_start_length:
++ if (addr_size == 4)
++ start = this->dwinfo_->read_from_pointer<32>(prle);
++ else
++ start = this->dwinfo_->read_from_pointer<64>(prle);
++ if (this->ranges_reloc_mapper_ != NULL)
++ shndx1 = this->lookup_reloc(offset, &start);
++ prle += addr_size;
++ offset += addr_size;
++ end = start + read_unsigned_LEB_128(prle, &len);
++ prle += len;
++ offset += len;
++ if (shndx1 == 0 || object->is_section_included(shndx1))
++ ranges->add(shndx1, start, end);
++ break;
++
++ default:
++ gold_warning(_("%s: DWARF range list contains "
++ "unsupported entry type (%d)"),
++ object->name().c_str(), rle_type);
++ break;
++ }
++ }
++
++ return ranges;
++}
++
+ // Look for a relocation at offset OFF in the range table,
+ // and return the section index and offset of the target.
+
+@@ -709,7 +845,13 @@ Dwarf_die::read_attributes()
+ case elfcpp::DW_FORM_flag_present:
+ attr_value.val.intval = 1;
+ break;
++ case elfcpp::DW_FORM_implicit_const:
++ attr_value.val.intval =
++ this->abbrev_code_->attributes[i].implicit_const;
++ break;
+ case elfcpp::DW_FORM_strp:
++ case elfcpp::DW_FORM_strp_sup:
++ case elfcpp::DW_FORM_line_strp:
+ {
+ off_t str_off;
+ if (this->dwinfo_->offset_size() == 4)
+@@ -722,6 +864,26 @@ Dwarf_die::read_attributes()
+ attr_value.val.refval = str_off;
+ break;
+ }
++ case elfcpp::DW_FORM_strx:
++ case elfcpp::DW_FORM_GNU_str_index:
++ attr_value.val.uintval = read_unsigned_LEB_128(pattr, &len);
++ pattr += len;
++ break;
++ case elfcpp::DW_FORM_strx1:
++ attr_value.val.uintval = *pattr++;
++ break;
++ case elfcpp::DW_FORM_strx2:
++ attr_value.val.uintval =
++ this->dwinfo_->read_from_pointer<16>(&pattr);
++ break;
++ case elfcpp::DW_FORM_strx3:
++ attr_value.val.uintval =
++ this->dwinfo_->read_3bytes_from_pointer(&pattr);
++ break;
++ case elfcpp::DW_FORM_strx4:
++ attr_value.val.uintval =
++ this->dwinfo_->read_from_pointer<32>(&pattr);
++ break;
+ case elfcpp::DW_FORM_sec_offset:
+ {
+ off_t sec_off;
+@@ -747,7 +909,6 @@ Dwarf_die::read_attributes()
+ this->dwinfo_->lookup_reloc(attr_off, &sec_off);
+ attr_value.aux.shndx = shndx;
+ attr_value.val.refval = sec_off;
+- ref_form = true;
+ break;
+ }
+ case elfcpp::DW_FORM_ref_addr:
+@@ -815,6 +976,7 @@ Dwarf_die::read_attributes()
+ break;
+ }
+ case elfcpp::DW_FORM_ref4:
++ case elfcpp::DW_FORM_ref_sup4:
+ {
+ off_t sec_off;
+ sec_off = this->dwinfo_->read_from_pointer<32>(&pattr);
+@@ -835,11 +997,20 @@ Dwarf_die::read_attributes()
+ attr_value.val.intval = sec_off;
+ break;
+ }
++ case elfcpp::DW_FORM_data16:
++ {
++ // For now, treat this as a 16-byte block.
++ attr_value.val.blockval = pattr;
++ attr_value.aux.blocklen = 16;
++ pattr += 16;
++ break;
++ }
+ case elfcpp::DW_FORM_ref_sig8:
+ attr_value.val.uintval =
+ this->dwinfo_->read_from_pointer<64>(&pattr);
+ break;
+ case elfcpp::DW_FORM_ref8:
++ case elfcpp::DW_FORM_ref_sup8:
+ {
+ off_t sec_off;
+ sec_off = this->dwinfo_->read_from_pointer<64>(&pattr);
+@@ -856,11 +1027,29 @@ Dwarf_die::read_attributes()
+ pattr += len;
+ break;
+ case elfcpp::DW_FORM_udata:
++ attr_value.val.uintval = read_unsigned_LEB_128(pattr, &len);
++ pattr += len;
++ break;
++ case elfcpp::DW_FORM_addrx:
+ case elfcpp::DW_FORM_GNU_addr_index:
+- case elfcpp::DW_FORM_GNU_str_index:
+ attr_value.val.uintval = read_unsigned_LEB_128(pattr, &len);
+ pattr += len;
+ break;
++ case elfcpp::DW_FORM_addrx1:
++ attr_value.val.uintval = *pattr++;
++ break;
++ case elfcpp::DW_FORM_addrx2:
++ attr_value.val.uintval =
++ this->dwinfo_->read_from_pointer<16>(&pattr);
++ break;
++ case elfcpp::DW_FORM_addrx3:
++ attr_value.val.uintval =
++ this->dwinfo_->read_3bytes_from_pointer(&pattr);
++ break;
++ case elfcpp::DW_FORM_addrx4:
++ attr_value.val.uintval =
++ this->dwinfo_->read_from_pointer<32>(&pattr);
++ break;
+ case elfcpp::DW_FORM_sdata:
+ attr_value.val.intval = read_signed_LEB_128(pattr, &len);
+ pattr += len;
+@@ -870,6 +1059,11 @@ Dwarf_die::read_attributes()
+ len = strlen(attr_value.val.stringval);
+ pattr += len + 1;
+ break;
++ case elfcpp::DW_FORM_loclistx:
++ case elfcpp::DW_FORM_rnglistx:
++ attr_value.val.uintval = read_unsigned_LEB_128(pattr, &len);
++ pattr += len;
++ break;
+ default:
+ return false;
+ }
+@@ -954,9 +1148,12 @@ Dwarf_die::skip_attributes()
+ switch(form)
+ {
+ case elfcpp::DW_FORM_flag_present:
++ case elfcpp::DW_FORM_implicit_const:
+ break;
+ case elfcpp::DW_FORM_strp:
+ case elfcpp::DW_FORM_sec_offset:
++ case elfcpp::DW_FORM_strp_sup:
++ case elfcpp::DW_FORM_line_strp:
+ pattr += this->dwinfo_->offset_size();
+ break;
+ case elfcpp::DW_FORM_addr:
+@@ -993,23 +1190,42 @@ Dwarf_die::skip_attributes()
+ case elfcpp::DW_FORM_data1:
+ case elfcpp::DW_FORM_ref1:
+ case elfcpp::DW_FORM_flag:
++ case elfcpp::DW_FORM_strx1:
++ case elfcpp::DW_FORM_addrx1:
+ pattr += 1;
+ break;
+ case elfcpp::DW_FORM_data2:
+ case elfcpp::DW_FORM_ref2:
++ case elfcpp::DW_FORM_strx2:
++ case elfcpp::DW_FORM_addrx2:
+ pattr += 2;
+ break;
++ case elfcpp::DW_FORM_strx3:
++ case elfcpp::DW_FORM_addrx3:
++ pattr += 3;
++ break;
+ case elfcpp::DW_FORM_data4:
+ case elfcpp::DW_FORM_ref4:
++ case elfcpp::DW_FORM_ref_sup4:
++ case elfcpp::DW_FORM_strx4:
++ case elfcpp::DW_FORM_addrx4:
+ pattr += 4;
+ break;
+ case elfcpp::DW_FORM_data8:
+ case elfcpp::DW_FORM_ref8:
+ case elfcpp::DW_FORM_ref_sig8:
++ case elfcpp::DW_FORM_ref_sup8:
+ pattr += 8;
+ break;
++ case elfcpp::DW_FORM_data16:
++ pattr += 16;
++ break;
+ case elfcpp::DW_FORM_ref_udata:
+ case elfcpp::DW_FORM_udata:
++ case elfcpp::DW_FORM_addrx:
++ case elfcpp::DW_FORM_strx:
++ case elfcpp::DW_FORM_loclistx:
++ case elfcpp::DW_FORM_rnglistx:
+ case elfcpp::DW_FORM_GNU_addr_index:
+ case elfcpp::DW_FORM_GNU_str_index:
+ read_unsigned_LEB_128(pattr, &len);
+@@ -1313,6 +1529,13 @@ Dwarf_info_reader::do_parse()
+ elfcpp::Swap_unaligned<16, big_endian>::readval(pinfo);
+ pinfo += 2;
+
++ // DWARF 5: Read the unit type (1 byte) and address size (1 byte).
++ if (this->cu_version_ >= 5)
++ {
++ this->unit_type_ = *pinfo++;
++ this->address_size_ = *pinfo++;
++ }
++
+ // Read debug_abbrev_offset (4 or 8 bytes).
+ if (this->offset_size_ == 4)
+ abbrev_offset = elfcpp::Swap_unaligned<32, big_endian>::readval(pinfo);
+@@ -1333,13 +1556,14 @@ Dwarf_info_reader::do_parse()
+ }
+ pinfo += this->offset_size_;
+
+- // Read address_size (1 byte).
+- this->address_size_ = *pinfo++;
++ // DWARF 2-4: Read address_size (1 byte).
++ if (this->cu_version_ < 5)
++ this->address_size_ = *pinfo++;
+
+ // For type units, read the two extra fields.
+ uint64_t signature = 0;
+ off_t type_offset = 0;
+- if (this->is_type_unit_)
++ if (this->is_type_unit())
+ {
+ if (!this->check_buffer(pinfo + 8 + this->offset_size_))
+ break;
+@@ -1369,7 +1593,7 @@ Dwarf_info_reader::do_parse()
+ if (root_die.tag() != 0)
+ {
+ // Visit the CU or TU.
+- if (this->is_type_unit_)
++ if (this->is_type_unit())
+ this->visit_type_unit(section_offset + this->cu_offset_,
+ cu_end - cu_start, type_offset, signature,
+ &root_die);
+@@ -1460,6 +1684,19 @@ Dwarf_info_reader::read_from_pointer(const unsigned char** source)
+ return return_value;
+ }
+
++// Read a 3-byte integer. Update SOURCE after read.
++inline typename elfcpp::Valtype_base<32>::Valtype
++Dwarf_info_reader::read_3bytes_from_pointer(const unsigned char** source)
++{
++ typename elfcpp::Valtype_base<32>::Valtype return_value;
++ if (this->object_->is_big_endian())
++ return_value = ((*source)[0] << 16) | ((*source)[1] << 8) | (*source)[2];
++ else
++ return_value = ((*source)[2] << 16) | ((*source)[1] << 8) | (*source)[0];
++ *source += 3;
++ return return_value;
++}
++
+ // Look for a relocation at offset ATTR_OFF in the dwarf info,
+ // and return the section index and offset of the target.
+
+@@ -1561,27 +1798,40 @@ Sized_dwarf_line_info<size, big_endian>::Sized_dwarf_line_info(
+ Object* object,
+ unsigned int read_shndx)
+ : data_valid_(false), buffer_(NULL), buffer_start_(NULL),
++ str_buffer_(NULL), str_buffer_start_(NULL),
+ reloc_mapper_(NULL), symtab_buffer_(NULL), directories_(), files_(),
+- current_header_index_(-1)
++ current_header_index_(-1), reloc_map_(), line_number_map_()
+ {
+- unsigned int debug_shndx;
++ unsigned int debug_line_shndx = 0;
++ unsigned int debug_line_str_shndx = 0;
+
+- for (debug_shndx = 1; debug_shndx < object->shnum(); ++debug_shndx)
++ for (unsigned int i = 1; i < object->shnum(); ++i)
+ {
++ section_size_type buffer_size;
++ bool is_new = false;
++
+ // FIXME: do this more efficiently: section_name() isn't super-fast
+- std::string name = object->section_name(debug_shndx);
++ std::string name = object->section_name(i);
+ if (name == ".debug_line" || name == ".zdebug_line")
+ {
+- section_size_type buffer_size;
+- bool is_new = false;
+- this->buffer_ = object->decompressed_section_contents(debug_shndx,
+- &buffer_size,
+- &is_new);
++ this->buffer_ =
++ object->decompressed_section_contents(i, &buffer_size, &is_new);
+ if (is_new)
+ this->buffer_start_ = this->buffer_;
+ this->buffer_end_ = this->buffer_ + buffer_size;
+- break;
++ debug_line_shndx = i;
++ }
++ else if (name == ".debug_line_str" || name == ".zdebug_line_str")
++ {
++ this->str_buffer_ =
++ object->decompressed_section_contents(i, &buffer_size, &is_new);
++ if (is_new)
++ this->str_buffer_start_ = this->str_buffer_;
++ this->str_buffer_end_ = this->str_buffer_ + buffer_size;
++ debug_line_str_shndx = i;
+ }
++ if (debug_line_shndx > 0 && debug_line_str_shndx > 0)
++ break;
+ }
+ if (this->buffer_ == NULL)
+ return;
+@@ -1594,7 +1844,7 @@ Sized_dwarf_line_info<size, big_endian>::Sized_dwarf_line_info(
+ unsigned int reloc_sh_type = object->section_type(i);
+ if ((reloc_sh_type == elfcpp::SHT_REL
+ || reloc_sh_type == elfcpp::SHT_RELA)
+- && object->section_info(i) == debug_shndx)
++ && object->section_info(i) == debug_line_shndx)
+ {
+ reloc_shndx = i;
+ this->track_relocs_type_ = reloc_sh_type;
+@@ -1640,65 +1890,80 @@ Sized_dwarf_line_info<size, big_endian>::read_header_prolog(
+ uint32_t initial_length = elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr);
+ lineptr += 4;
+
+- // In DWARF2/3, if the initial length is all 1 bits, then the offset
++ // In DWARF, if the initial length is all 1 bits, then the offset
+ // size is 8 and we need to read the next 8 bytes for the real length.
+ if (initial_length == 0xffffffff)
+ {
+- header_.offset_size = 8;
++ this->header_.offset_size = 8;
+ initial_length = elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr);
+ lineptr += 8;
+ }
+ else
+- header_.offset_size = 4;
++ this->header_.offset_size = 4;
+
+- header_.total_length = initial_length;
++ this->header_.total_length = initial_length;
+
+- gold_assert(lineptr + header_.total_length <= buffer_end_);
++ this->end_of_unit_ = lineptr + initial_length;
++ gold_assert(this->end_of_unit_ <= buffer_end_);
+
+- header_.version = elfcpp::Swap_unaligned<16, big_endian>::readval(lineptr);
++ this->header_.version =
++ elfcpp::Swap_unaligned<16, big_endian>::readval(lineptr);
+ lineptr += 2;
+
+- // Skip address size and segment selector for DWARF5.
+- if (header_.version >= 5)
+- lineptr += 2;
++ // We can only read versions 2-5 of the DWARF line number table.
++ // For other versions, just skip the entire line number table.
++ if (this->header_.version < 2 || this->header_.version > 5)
++ return this->end_of_unit_;
+
+- if (header_.offset_size == 4)
+- header_.prologue_length = elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr);
++ // DWARF 5 only: address size and segment selector.
++ if (this->header_.version >= 5)
++ {
++ this->header_.address_size = *lineptr;
++ // We ignore the segment selector.
++ lineptr += 2;
++ }
++
++ if (this->header_.offset_size == 4)
++ this->header_.prologue_length =
++ elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr);
+ else
+- header_.prologue_length = elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr);
+- lineptr += header_.offset_size;
++ this->header_.prologue_length =
++ elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr);
++ lineptr += this->header_.offset_size;
+
+- header_.min_insn_length = *lineptr;
++ this->end_of_header_length_ = lineptr;
++
++ this->header_.min_insn_length = *lineptr;
+ lineptr += 1;
+
+- if (header_.version < 4)
+- header_.max_ops_per_insn = 1;
++ if (this->header_.version < 4)
++ this->header_.max_ops_per_insn = 1;
+ else
+ {
+ // DWARF 4 added the maximum_operations_per_instruction field.
+- header_.max_ops_per_insn = *lineptr;
++ this->header_.max_ops_per_insn = *lineptr;
+ lineptr += 1;
+ // TODO: Add support for values other than 1.
+- gold_assert(header_.max_ops_per_insn == 1);
++ gold_assert(this->header_.max_ops_per_insn == 1);
+ }
+
+- header_.default_is_stmt = *lineptr;
++ this->header_.default_is_stmt = *lineptr;
+ lineptr += 1;
+
+- header_.line_base = *reinterpret_cast<const signed char*>(lineptr);
++ this->header_.line_base = *reinterpret_cast<const signed char*>(lineptr);
+ lineptr += 1;
+
+- header_.line_range = *lineptr;
++ this->header_.line_range = *lineptr;
+ lineptr += 1;
+
+- header_.opcode_base = *lineptr;
++ this->header_.opcode_base = *lineptr;
+ lineptr += 1;
+
+- header_.std_opcode_lengths.resize(header_.opcode_base + 1);
+- header_.std_opcode_lengths[0] = 0;
+- for (int i = 1; i < header_.opcode_base; i++)
++ this->header_.std_opcode_lengths.resize(this->header_.opcode_base + 1);
++ this->header_.std_opcode_lengths[0] = 0;
++ for (int i = 1; i < this->header_.opcode_base; i++)
+ {
+- header_.std_opcode_lengths[i] = *lineptr;
++ this->header_.std_opcode_lengths[i] = *lineptr;
+ lineptr += 1;
+ }
+
+@@ -1707,10 +1972,11 @@ Sized_dwarf_line_info<size, big_endian>::read_header_prolog(
+
+ // The header for a debug_line section is mildly complicated, because
+ // the line info is very tightly encoded.
++// This routine is for DWARF versions 2, 3, and 4.
+
+ template<int size, bool big_endian>
+ const unsigned char*
+-Sized_dwarf_line_info<size, big_endian>::read_header_tables(
++Sized_dwarf_line_info<size, big_endian>::read_header_tables_v2(
+ const unsigned char* lineptr)
+ {
+ ++this->current_header_index_;
+@@ -1775,6 +2041,169 @@ Sized_dwarf_line_info<size, big_endian>::read_header_tables(
+ return lineptr;
+ }
+
++// This routine is for DWARF version 5.
++
++template<int size, bool big_endian>
++const unsigned char*
++Sized_dwarf_line_info<size, big_endian>::read_header_tables_v5(
++ const unsigned char* lineptr)
++{
++ size_t len;
++
++ ++this->current_header_index_;
++
++ gold_assert(static_cast<int>(this->directories_.size())
++ == this->current_header_index_);
++ gold_assert(static_cast<int>(this->files_.size())
++ == this->current_header_index_);
++
++ // Read the directory list.
++ unsigned int format_count = *lineptr;
++ lineptr += 1;
++
++ unsigned int *types = new unsigned int[format_count];
++ unsigned int *forms = new unsigned int[format_count];
++
++ for (unsigned int i = 0; i < format_count; i++)
++ {
++ types[i] = read_unsigned_LEB_128(lineptr, &len);
++ lineptr += len;
++ forms[i] = read_unsigned_LEB_128(lineptr, &len);
++ lineptr += len;
++ }
++
++ uint64_t entry_count = read_unsigned_LEB_128(lineptr, &len);
++ lineptr += len;
++ this->directories_.push_back(std::vector<std::string>(0));
++ std::vector<std::string>& dir_list = this->directories_.back();
++
++ for (unsigned int j = 0; j < entry_count; j++)
++ {
++ std::string dirname;
++
++ for (unsigned int i = 0; i < format_count; i++)
++ {
++ if (types[i] == elfcpp::DW_LNCT_path)
++ {
++ if (forms[i] == elfcpp::DW_FORM_string)
++ {
++ dirname = reinterpret_cast<const char*>(lineptr);
++ lineptr += dirname.size() + 1;
++ }
++ else if (forms[i] == elfcpp::DW_FORM_line_strp)
++ {
++ uint64_t offset;
++ if (this->header_.offset_size == 4)
++ offset =
++ elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr);
++ else
++ offset =
++ elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr);
++ typename Reloc_map::const_iterator it
++ = this->reloc_map_.find(lineptr - this->buffer_);
++ if (it != reloc_map_.end())
++ {
++ if (this->track_relocs_type_ == elfcpp::SHT_RELA)
++ offset = 0;
++ offset += it->second.second;
++ }
++ lineptr += this->header_.offset_size;
++ dirname = reinterpret_cast<const char*>(this->str_buffer_
++ + offset);
++ }
++ else
++ return lineptr;
++ }
++ else
++ return lineptr;
++ }
++ dir_list.push_back(dirname);
++ }
++
++ delete[] types;
++ delete[] forms;
++
++ // Read the filenames list.
++ format_count = *lineptr;
++ lineptr += 1;
++
++ types = new unsigned int[format_count];
++ forms = new unsigned int[format_count];
++
++ for (unsigned int i = 0; i < format_count; i++)
++ {
++ types[i] = read_unsigned_LEB_128(lineptr, &len);
++ lineptr += len;
++ forms[i] = read_unsigned_LEB_128(lineptr, &len);
++ lineptr += len;
++ }
++
++ entry_count = read_unsigned_LEB_128(lineptr, &len);
++ lineptr += len;
++ this->files_.push_back(
++ std::vector<std::pair<int, std::string> >(0));
++ std::vector<std::pair<int, std::string> >& file_list = this->files_.back();
++
++ for (unsigned int j = 0; j < entry_count; j++)
++ {
++ const char* path = NULL;
++ int dirindex = 0;
++
++ for (unsigned int i = 0; i < format_count; i++)
++ {
++ if (types[i] == elfcpp::DW_LNCT_path)
++ {
++ if (forms[i] == elfcpp::DW_FORM_string)
++ {
++ path = reinterpret_cast<const char*>(lineptr);
++ lineptr += strlen(path) + 1;
++ }
++ else if (forms[i] == elfcpp::DW_FORM_line_strp)
++ {
++ uint64_t offset;
++ if (this->header_.offset_size == 4)
++ offset = elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr);
++ else
++ offset = elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr);
++ typename Reloc_map::const_iterator it
++ = this->reloc_map_.find(lineptr - this->buffer_);
++ if (it != reloc_map_.end())
++ {
++ if (this->track_relocs_type_ == elfcpp::SHT_RELA)
++ offset = 0;
++ offset += it->second.second;
++ }
++ lineptr += this->header_.offset_size;
++ path = reinterpret_cast<const char*>(this->str_buffer_
++ + offset);
++ }
++ else
++ return lineptr;
++ }
++ else if (types[i] == elfcpp::DW_LNCT_directory_index)
++ {
++ if (forms[i] == elfcpp::DW_FORM_udata)
++ {
++ dirindex = read_unsigned_LEB_128(lineptr, &len);
++ lineptr += len;
++ }
++ else
++ return lineptr;
++ }
++ else
++ return lineptr;
++ }
++ gold_debug(DEBUG_LOCATION, "File %3d: %s",
++ static_cast<int>(file_list.size()), path);
++ file_list.push_back(std::make_pair(dirindex, path));
++ }
++
++ delete[] types;
++ delete[] forms;
++
++ return lineptr;
++}
++
+ // Process a single opcode in the .debug.line structure.
+
+ template<int size, bool big_endian>
+@@ -1790,15 +2219,15 @@ Sized_dwarf_line_info<size, big_endian>::process_one_opcode(
+
+ // If the opcode is great than the opcode_base, it is a special
+ // opcode. Most line programs consist mainly of special opcodes.
+- if (opcode >= header_.opcode_base)
++ if (opcode >= this->header_.opcode_base)
+ {
+- opcode -= header_.opcode_base;
+- const int advance_address = ((opcode / header_.line_range)
+- * header_.min_insn_length);
++ opcode -= this->header_.opcode_base;
++ const int advance_address = ((opcode / this->header_.line_range)
++ * this->header_.min_insn_length);
+ lsm->address += advance_address;
+
+- const int advance_line = ((opcode % header_.line_range)
+- + header_.line_base);
++ const int advance_line = ((opcode % this->header_.line_range)
++ + this->header_.line_base);
+ lsm->line_num += advance_line;
+ lsm->basic_block = true;
+ *len = oplen;
+@@ -1818,13 +2247,13 @@ Sized_dwarf_line_info<size, big_endian>::process_one_opcode(
+ const uint64_t advance_address
+ = read_unsigned_LEB_128(start, &templen);
+ oplen += templen;
+- lsm->address += header_.min_insn_length * advance_address;
++ lsm->address += this->header_.min_insn_length * advance_address;
+ }
+ break;
+
+ case elfcpp::DW_LNS_advance_line:
+ {
+- const uint64_t advance_line = read_signed_LEB_128(start, &templen);
++ const int64_t advance_line = read_signed_LEB_128(start, &templen);
+ oplen += templen;
+ lsm->line_num += advance_line;
+ }
+@@ -1865,9 +2294,9 @@ Sized_dwarf_line_info<size, big_endian>::process_one_opcode(
+
+ case elfcpp::DW_LNS_const_add_pc:
+ {
+- const int advance_address = (header_.min_insn_length
+- * ((255 - header_.opcode_base)
+- / header_.line_range));
++ const int advance_address = (this->header_.min_insn_length
++ * ((255 - this->header_.opcode_base)
++ / this->header_.line_range));
+ lsm->address += advance_address;
+ }
+ break;
+@@ -1950,7 +2379,7 @@ Sized_dwarf_line_info<size, big_endian>::process_one_opcode(
+ default:
+ {
+ // Ignore unknown opcode silently
+- for (int i = 0; i < header_.std_opcode_lengths[opcode]; i++)
++ for (int i = 0; i < this->header_.std_opcode_lengths[opcode]; i++)
+ {
+ size_t templen;
+ read_unsigned_LEB_128(start, &templen);
+@@ -1970,28 +2399,24 @@ Sized_dwarf_line_info<size, big_endian>::process_one_opcode(
+ template<int size, bool big_endian>
+ unsigned const char*
+ Sized_dwarf_line_info<size, big_endian>::read_lines(unsigned const char* lineptr,
++ unsigned const char* endptr,
+ unsigned int shndx)
+ {
+ struct LineStateMachine lsm;
+
+- // LENGTHSTART is the place the length field is based on. It is the
+- // point in the header after the initial length field.
+- const unsigned char* lengthstart = buffer_;
+-
+- // In 64 bit dwarf, the initial length is 12 bytes, because of the
+- // 0xffffffff at the start.
+- if (header_.offset_size == 8)
+- lengthstart += 12;
+- else
+- lengthstart += 4;
+-
+- while (lineptr < lengthstart + header_.total_length)
++ while (lineptr < endptr)
+ {
+- ResetLineStateMachine(&lsm, header_.default_is_stmt);
++ ResetLineStateMachine(&lsm, this->header_.default_is_stmt);
+ while (!lsm.end_sequence)
+ {
+ size_t oplength;
++
++ if (lineptr >= endptr)
++ break;
++
+ bool add_line = this->process_one_opcode(lineptr, &lsm, &oplength);
++ lineptr += oplength;
++
+ if (add_line
+ && (shndx == -1U || lsm.shndx == -1U || shndx == lsm.shndx))
+ {
+@@ -2012,11 +2437,10 @@ Sized_dwarf_line_info<size, big_endian>::read_lines(unsigned const char* lineptr
+ map.back().last_line_for_offset = false;
+ map.push_back(entry);
+ }
+- lineptr += oplength;
+ }
+ }
+
+- return lengthstart + header_.total_length;
++ return endptr;
+ }
+
+ // Read the relocations into a Reloc_map.
+@@ -2057,9 +2481,17 @@ Sized_dwarf_line_info<size, big_endian>::read_line_mappings(unsigned int shndx)
+ {
+ const unsigned char* lineptr = this->buffer_;
+ lineptr = this->read_header_prolog(lineptr);
+- lineptr = this->read_header_tables(lineptr);
+- lineptr = this->read_lines(lineptr, shndx);
+- this->buffer_ = lineptr;
++ if (this->header_.version >= 2 && this->header_.version <= 4)
++ {
++ lineptr = this->read_header_tables_v2(lineptr);
++ lineptr = this->read_lines(lineptr, this->end_of_unit_, shndx);
++ }
++ else if (this->header_.version == 5)
++ {
++ lineptr = this->read_header_tables_v5(lineptr);
++ lineptr = this->read_lines(lineptr, this->end_of_unit_, shndx);
++ }
++ this->buffer_ = this->end_of_unit_;
+ }
+
+ // Sort the lines numbers, so addr2line can use binary search.
+@@ -2215,6 +2647,9 @@ Sized_dwarf_line_info<size, big_endian>::do_addr2line(
+ off_t offset,
+ std::vector<std::string>* other_lines)
+ {
++ gold_debug(DEBUG_LOCATION, "do_addr2line: shndx %u offset %08x",
++ shndx, static_cast<int>(offset));
++
+ if (this->data_valid_ == false)
+ return "";
+
+diff --git a/gold/dwarf_reader.h b/gold/dwarf_reader.h
+index 80b2231327c..921a1f7c876 100644
+--- a/gold/dwarf_reader.h
++++ b/gold/dwarf_reader.h
+@@ -173,11 +173,12 @@ class Dwarf_abbrev_table
+ // An attribute list entry.
+ struct Attribute
+ {
+- Attribute(unsigned int a, unsigned int f)
+- : attr(a), form(f)
++ Attribute(unsigned int a, unsigned int f, int c)
++ : attr(a), form(f), implicit_const(c)
+ { }
+ unsigned int attr;
+ unsigned int form;
++ int implicit_const;
+ };
+
+ // An abbrev code entry.
+@@ -190,9 +191,9 @@ class Dwarf_abbrev_table
+ }
+
+ void
+- add_attribute(unsigned int attr, unsigned int form)
++ add_attribute(unsigned int attr, unsigned int form, int implicit_const)
+ {
+- this->attributes.push_back(Attribute(attr, form));
++ this->attributes.push_back(Attribute(attr, form, implicit_const));
+ }
+
+ // The DWARF tag.
+@@ -349,14 +350,15 @@ class Dwarf_ranges_table
+ delete this->ranges_reloc_mapper_;
+ }
+
+- // Read the ranges table from an object file.
++ // Fetch the contents of the ranges table from an object file.
+ bool
+ read_ranges_table(Relobj* object,
+ const unsigned char* symtab,
+ off_t symtab_size,
+- unsigned int ranges_shndx);
++ unsigned int ranges_shndx,
++ unsigned int version);
+
+- // Read the range table from an object file.
++ // Read the DWARF 2/3/4 range table.
+ Dwarf_range_list*
+ read_range_list(Relobj* object,
+ const unsigned char* symtab,
+@@ -365,6 +367,15 @@ class Dwarf_ranges_table
+ unsigned int ranges_shndx,
+ off_t ranges_offset);
+
++ // Read the DWARF 5 rnglists table.
++ Dwarf_range_list*
++ read_range_list_v5(Relobj* object,
++ const unsigned char* symtab,
++ off_t symtab_size,
++ unsigned int address_size,
++ unsigned int ranges_shndx,
++ off_t ranges_offset);
++
+ // Look for a relocation at offset OFF in the range table,
+ // and return the section index and offset of the target.
+ unsigned int
+@@ -490,8 +501,6 @@ class Dwarf_die
+ unsigned int shndx;
+ // Block length for block forms.
+ unsigned int blocklen;
+- // Attribute offset for DW_FORM_strp.
+- unsigned int attr_off;
+ } aux;
+ };
+
+@@ -684,6 +693,10 @@ class Dwarf_die
+ // calls the various visit_xxx() methods for each header. Clients
+ // should derive a new class from this one and implement the
+ // visit_compilation_unit() and visit_type_unit() functions.
++// IS_TYPE_UNIT is true if we are reading from a .debug_types section,
++// which is used only in DWARF 4. For DWARF 5, it will be false,
++// and we will determine whether it's a type init when we parse the
++// header.
+
+ class Dwarf_info_reader
+ {
+@@ -695,7 +708,7 @@ class Dwarf_info_reader
+ unsigned int shndx,
+ unsigned int reloc_shndx,
+ unsigned int reloc_type)
+- : is_type_unit_(is_type_unit), object_(object), symtab_(symtab),
++ : object_(object), symtab_(symtab),
+ symtab_size_(symtab_size), shndx_(shndx), reloc_shndx_(reloc_shndx),
+ reloc_type_(reloc_type), abbrev_shndx_(0), string_shndx_(0),
+ buffer_(NULL), buffer_end_(NULL), cu_offset_(0), cu_length_(0),
+@@ -703,7 +716,12 @@ class Dwarf_info_reader
+ abbrev_table_(), ranges_table_(this),
+ reloc_mapper_(NULL), string_buffer_(NULL), string_buffer_end_(NULL),
+ owns_string_buffer_(false), string_output_section_offset_(0)
+- { }
++ {
++ // For DWARF 4, we infer the unit type from the section name.
++ // For DWARF 5, we will read this from the unit header.
++ this->unit_type_ =
++ (is_type_unit ? elfcpp::DW_UT_type : elfcpp::DW_UT_compile);
++ }
+
+ virtual
+ ~Dwarf_info_reader()
+@@ -714,6 +732,13 @@ class Dwarf_info_reader
+ delete[] this->string_buffer_;
+ }
+
++ bool
++ is_type_unit() const
++ {
++ return (this->unit_type_ == elfcpp::DW_UT_type
++ || this->unit_type_ == elfcpp::DW_UT_split_type);
++ }
++
+ // Begin parsing the debug info. This calls visit_compilation_unit()
+ // or visit_type_unit() for each compilation or type unit found in the
+ // section, and visit_die() for each top-level DIE.
+@@ -745,6 +770,9 @@ class Dwarf_info_reader
+ inline typename elfcpp::Valtype_base<valsize>::Valtype
+ read_from_pointer(const unsigned char** source);
+
++ inline typename elfcpp::Valtype_base<32>::Valtype
++ read_3bytes_from_pointer(const unsigned char** source);
++
+ // Look for a relocation at offset ATTR_OFF in the dwarf info,
+ // and return the section index and offset of the target.
+ unsigned int
+@@ -818,12 +846,20 @@ class Dwarf_info_reader
+ Dwarf_range_list*
+ read_range_list(unsigned int ranges_shndx, off_t ranges_offset)
+ {
+- return this->ranges_table_.read_range_list(this->object_,
+- this->symtab_,
+- this->symtab_size_,
+- this->address_size_,
+- ranges_shndx,
+- ranges_offset);
++ if (this->cu_version_ < 5)
++ return this->ranges_table_.read_range_list(this->object_,
++ this->symtab_,
++ this->symtab_size_,
++ this->address_size_,
++ ranges_shndx,
++ ranges_offset);
++ else
++ return this->ranges_table_.read_range_list_v5(this->object_,
++ this->symtab_,
++ this->symtab_size_,
++ this->address_size_,
++ ranges_shndx,
++ ranges_offset);
+ }
+
+ // Return the object.
+@@ -873,8 +909,8 @@ class Dwarf_info_reader
+ bool
+ do_read_string_table(unsigned int string_shndx);
+
+- // True if this is a type unit; false for a compilation unit.
+- bool is_type_unit_;
++ // The unit type (DW_UT_xxx).
++ unsigned int unit_type_;
+ // The object containing the .debug_info or .debug_types input section.
+ Relobj* object_;
+ // The ELF symbol table.
+@@ -1008,6 +1044,8 @@ class Sized_dwarf_line_info : public Dwarf_line_info
+ {
+ if (this->buffer_start_ != NULL)
+ delete[] this->buffer_start_;
++ if (this->str_buffer_start_ != NULL)
++ delete[] this->str_buffer_start_;
+ }
+
+ private:
+@@ -1030,19 +1068,23 @@ class Sized_dwarf_line_info : public Dwarf_line_info
+ void
+ read_relocs();
+
+- // Reads the DWARF2/3 header for this line info. Each takes as input
++ // Reads the DWARF header for this line info. Each takes as input
+ // a starting buffer position, and returns the ending position.
+ const unsigned char*
+ read_header_prolog(const unsigned char* lineptr);
+
+ const unsigned char*
+- read_header_tables(const unsigned char* lineptr);
++ read_header_tables_v2(const unsigned char* lineptr);
++
++ const unsigned char*
++ read_header_tables_v5(const unsigned char* lineptr);
+
+- // Reads the DWARF2/3 line information. If shndx is non-negative,
++ // Reads the DWARF line information. If shndx is non-negative,
+ // discard all line information that doesn't pertain to the given
+ // section.
+ const unsigned char*
+- read_lines(const unsigned char* lineptr, unsigned int shndx);
++ read_lines(const unsigned char* lineptr, const unsigned char* endptr,
++ unsigned int shndx);
+
+ // Process a single line info opcode at START using the state
+ // machine at LSM. Return true if we should define a line using the
+@@ -1069,6 +1111,7 @@ class Sized_dwarf_line_info : public Dwarf_line_info
+ {
+ off_t total_length;
+ int version;
++ int address_size;
+ off_t prologue_length;
+ int min_insn_length; // insn stands for instruction
+ int max_ops_per_insn; // Added in DWARF-4.
+@@ -1089,6 +1132,20 @@ class Sized_dwarf_line_info : public Dwarf_line_info
+ // of the buffer.
+ const unsigned char* buffer_start_;
+
++ // str_buffer is the buffer for the line table strings.
++ const unsigned char* str_buffer_;
++ const unsigned char* str_buffer_end_;
++ // If the buffer was allocated temporarily, and therefore must be
++ // deallocated in the dtor, this contains a pointer to the start
++ // of the buffer.
++ const unsigned char* str_buffer_start_;
++
++ // Pointer to the end of the header_length field (aka prologue_length).
++ const unsigned char* end_of_header_length_;
++
++ // Pointer to the end of the current compilation unit.
++ const unsigned char* end_of_unit_;
++
+ // This has relocations that point into buffer.
+ Sized_elf_reloc_mapper<size, big_endian>* reloc_mapper_;
+ // The type of the reloc section in track_relocs_--SHT_REL or SHT_RELA.
diff --git a/poky/meta/recipes-devtools/bison/bison_3.7.5.bb b/poky/meta/recipes-devtools/bison/bison_3.7.6.bb
index c8bbea445..a8d57f274 100644
--- a/poky/meta/recipes-devtools/bison/bison_3.7.5.bb
+++ b/poky/meta/recipes-devtools/bison/bison_3.7.6.bb
@@ -5,7 +5,7 @@ grammars ought to work with Bison with no change. Anyone familiar with Yacc shou
little trouble."
HOMEPAGE = "http://www.gnu.org/software/bison/"
LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
SECTION = "devel"
DEPENDS = "bison-native flex-native"
@@ -13,12 +13,27 @@ SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \
file://add-with-bisonlocaledir.patch \
file://0001-Use-mapped-file-name-for-symbols.patch \
"
-SRC_URI[sha256sum] = "e8c53bc5bc396d636622d0f25e31ca92fd53f00b09629f13ef540d564a6b31ab"
+SRC_URI[sha256sum] = "67d68ce1e22192050525643fc0a7a22297576682bef6a5c51446903f5aeef3cf"
+
+inherit autotools gettext texinfo
# No point in hardcoding path to m4, just use PATH
-EXTRA_OECONF += "M4=m4"
+CACHED_CONFIGUREVARS = "ac_cv_path_M4=m4"
-inherit autotools gettext texinfo
+PACKAGECONFIG ??= "readline ${@ 'textstyle' if d.getVar('USE_NLS') == 'yes' else ''}"
+PACKAGECONFIG_class-native ??= ""
+
+# Make readline and textstyle optional. There are recipie for these, but leave them
+# disabled for the native recipe. This prevents host contamination of the native tool.
+PACKAGECONFIG[readline] = "--with-libreadline-prefix,--without-libreadline-prefix,readline"
+PACKAGECONFIG[textstyle] = "--with-libtextstyle-prefix,--without-libtextstyle-prefix,gettext"
+
+# Include the cached configure variables, configure is really good at finding
+# libreadline, even if we don't want it.
+CACHED_CONFIGUREVARS += "${@bb.utils.contains('PACKAGECONFIG', 'readline', '', ' \
+ ac_cv_header_readline_history_h=no \
+ ac_cv_header_readline_readline_h=no \
+ gl_cv_lib_readline=no', d)}"
# The automatic m4 path detection gets confused, so force the right value
acpaths = "-I ./m4"
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.11.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb
index b5e0561c1..3fc959bf8 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.11.1.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb
@@ -7,10 +7,10 @@ btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3."
HOMEPAGE = "https://btrfs.wiki.kernel.org"
-LICENSE = "GPLv2 & LGPLv3+"
+LICENSE = "GPLv2 & LGPLv2.1+"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067 \
- file://libbtrfsutil/COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \
+ file://libbtrfsutil/COPYING;md5=4fbd65380cdd255951079008b364516c \
"
SECTION = "base"
DEPENDS = "lzo util-linux zlib"
@@ -19,7 +19,7 @@ DEPENDS_append_class-target = " udev"
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 \
"
-SRCREV = "8d5051f279f7994fb80536ef8f846f06d121d898"
+SRCREV = "96d77fcefdd3b9fd297b5aabbce6dc43e2315ee2"
S = "${WORKDIR}/git"
PACKAGECONFIG ??= " \
@@ -31,6 +31,7 @@ PACKAGECONFIG ??= " \
PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native"
PACKAGECONFIG[programs] = "--enable-programs,--disable-programs"
PACKAGECONFIG[convert] = "--enable-convert --with-convert=ext2,--disable-convert --without-convert,e2fsprogs"
+PACKAGECONFIG[zoned] = "--enable-zoned,--disable-zoned"
PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native"
PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd"
diff --git a/poky/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch b/poky/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch
deleted file mode 100644
index 51ca0e82f..000000000
--- a/poky/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-From aebabafe085dd1b84027a1e31e5566c82528bd62 Mon Sep 17 00:00:00 2001
-From: Bastian Krause <bst@pengutronix.de>
-Date: Tue, 4 May 2021 11:41:56 +0200
-Subject: [PATCH] doc: allow disabling docs/man page generation
-
-The assumption that HTML documentation and manual pages should be
-generated if the required tools (asciidoc) are present is not always
-true. So add a cmake option that allows disabling the docs/man page
-generation. The default is to generate docs/man pages like before.
-
-Origin: https://github.com/ccache/ccache/pull/844
-Upstream-Status: Submitted
-Signed-off-by: Bastian Krause <bst@pengutronix.de>
----
- doc/CMakeLists.txt | 128 +++++++++++++++++++++++----------------------
- 1 file changed, 66 insertions(+), 62 deletions(-)
-
-diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
-index c5ce224d..74b7831b 100644
---- a/doc/CMakeLists.txt
-+++ b/doc/CMakeLists.txt
-@@ -1,70 +1,74 @@
-+option(BUILD_DOCS "Indicates whether HTML documentation and manual pages should be built or not" ON)
-+
- find_program(ASCIIDOC_EXE asciidoc)
- mark_as_advanced(ASCIIDOC_EXE) # Don't show in CMake UIs
-
--if(NOT ASCIIDOC_EXE)
-- message(WARNING "Could not find asciidoc; documentation will not be generated")
--else()
-- #
-- # HTML documentation
-- #
-- function(generate_html adoc_file)
-- get_filename_component(base_name "${adoc_file}" NAME_WE)
-- set(html_file "${base_name}.html")
-- add_custom_command(
-- OUTPUT "${html_file}"
-- COMMAND
-- ${ASCIIDOC_EXE}
-- -o "${html_file}"
-- -a revnumber="${CCACHE_VERSION}"
-- -a toc
-- -b xhtml11
-- "${CMAKE_SOURCE_DIR}/${adoc_file}"
-- MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/${adoc_file}"
-- )
-- set(html_files "${html_files}" "${html_file}" PARENT_SCOPE)
-- endfunction()
-+if (BUILD_DOCS)
-+ if(NOT ASCIIDOC_EXE)
-+ message(WARNING "Could not find asciidoc; documentation will not be generated")
-+ else()
-+ #
-+ # HTML documentation
-+ #
-+ function(generate_html adoc_file)
-+ get_filename_component(base_name "${adoc_file}" NAME_WE)
-+ set(html_file "${base_name}.html")
-+ add_custom_command(
-+ OUTPUT "${html_file}"
-+ COMMAND
-+ ${ASCIIDOC_EXE}
-+ -o "${html_file}"
-+ -a revnumber="${CCACHE_VERSION}"
-+ -a toc
-+ -b xhtml11
-+ "${CMAKE_SOURCE_DIR}/${adoc_file}"
-+ MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/${adoc_file}"
-+ )
-+ set(html_files "${html_files}" "${html_file}" PARENT_SCOPE)
-+ endfunction()
-
-- generate_html(LICENSE.adoc)
-- generate_html(doc/AUTHORS.adoc)
-- generate_html(doc/MANUAL.adoc)
-- generate_html(doc/NEWS.adoc)
-+ generate_html(LICENSE.adoc)
-+ generate_html(doc/AUTHORS.adoc)
-+ generate_html(doc/MANUAL.adoc)
-+ generate_html(doc/NEWS.adoc)
-
-- add_custom_target(doc-html DEPENDS "${html_files}")
-- set(doc_files "${html_files}")
-+ add_custom_target(doc-html DEPENDS "${html_files}")
-+ set(doc_files "${html_files}")
-
-- #
-- # Man page
-- #
-- find_program(A2X_EXE a2x)
-- mark_as_advanced(A2X_EXE) # Don't show in CMake UIs
-- if(NOT A2X_EXE)
-- message(WARNING "Could not find a2x; man page will not be generated")
-- else()
-- # MANUAL.adoc -> MANUAL.xml -> man page
-- add_custom_command(
-- OUTPUT MANUAL.xml
-- COMMAND
-- ${ASCIIDOC_EXE}
-- -o -
-- -a revnumber=${CCACHE_VERSION}
-- -d manpage
-- -b docbook "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc"
-- | perl -pe 's!<literal>\(.*?\)</literal>!<emphasis role="strong">\\1</emphasis>!g'
-- >MANUAL.xml
-- MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc"
-- )
-- add_custom_command(
-- OUTPUT ccache.1
-- COMMAND ${A2X_EXE} --doctype manpage --format manpage MANUAL.xml
-- MAIN_DEPENDENCY MANUAL.xml
-- )
-- add_custom_target(doc-man-page DEPENDS ccache.1)
-- install(
-- FILES "${CMAKE_CURRENT_BINARY_DIR}/ccache.1"
-- DESTINATION "${CMAKE_INSTALL_MANDIR}/man1"
-- )
-- set(doc_files "${doc_files}" ccache.1)
-- endif()
-+ #
-+ # Man page
-+ #
-+ find_program(A2X_EXE a2x)
-+ mark_as_advanced(A2X_EXE) # Don't show in CMake UIs
-+ if(NOT A2X_EXE)
-+ message(WARNING "Could not find a2x; man page will not be generated")
-+ else()
-+ # MANUAL.adoc -> MANUAL.xml -> man page
-+ add_custom_command(
-+ OUTPUT MANUAL.xml
-+ COMMAND
-+ ${ASCIIDOC_EXE}
-+ -o -
-+ -a revnumber=${CCACHE_VERSION}
-+ -d manpage
-+ -b docbook "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc"
-+ | perl -pe 's!<literal>\(.*?\)</literal>!<emphasis role="strong">\\1</emphasis>!g'
-+ >MANUAL.xml
-+ MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc"
-+ )
-+ add_custom_command(
-+ OUTPUT ccache.1
-+ COMMAND ${A2X_EXE} --doctype manpage --format manpage MANUAL.xml
-+ MAIN_DEPENDENCY MANUAL.xml
-+ )
-+ add_custom_target(doc-man-page DEPENDS ccache.1)
-+ install(
-+ FILES "${CMAKE_CURRENT_BINARY_DIR}/ccache.1"
-+ DESTINATION "${CMAKE_INSTALL_MANDIR}/man1"
-+ )
-+ set(doc_files "${doc_files}" ccache.1)
-+ endif()
-
-- add_custom_target(doc ALL DEPENDS "${doc_files}")
-+ add_custom_target(doc ALL DEPENDS "${doc_files}")
-+ endif()
- endif()
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/ccache/ccache_4.2.1.bb b/poky/meta/recipes-devtools/ccache/ccache_4.3.bb
index 8dd5893d6..53a0bcf7a 100644
--- a/poky/meta/recipes-devtools/ccache/ccache_4.2.1.bb
+++ b/poky/meta/recipes-devtools/ccache/ccache_4.3.bb
@@ -11,10 +11,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=698a26b57e513d678e1e7727bf56395b"
DEPENDS = "zstd"
-SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz \
- file://0001-doc-allow-disabling-docs-man-page-generation.patch \
- "
-SRC_URI[sha256sum] = "320d2b17d2f76393e5d4bb28c8dee5ca783248e9cd23dff0654694d60f8a4b62"
+SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "b9789c42e52c73e99428f311a34def9ffec3462736439afd12dbacc7987c1533"
UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/"
@@ -24,4 +22,4 @@ PATCHTOOL = "patch"
BBCLASSEXTEND = "native nativesdk"
-PACKAGECONFIG[docs] = "-DBUILD_DOCS=ON,-DBUILD_DOCS=OFF,asciidoc"
+PACKAGECONFIG[docs] = "-DENABLE_DOCUMENTATION=ON,-DENABLE_DOCUMENTATION=OFF,asciidoc"
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.19.5.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.20.2.bb
index d91e42ef9..335097d38 100644
--- a/poky/meta/recipes-devtools/cmake/cmake-native_3.19.5.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.20.2.bb
@@ -1,7 +1,7 @@
require cmake.inc
inherit native
-DEPENDS += "bzip2-replacement-native xz-native zlib-native curl-native ncurses-native"
+DEPENDS += "bzip2-replacement-native xz-native zlib-native curl-native ncurses-native zstd-native"
SRC_URI += "file://OEToolchainConfig.cmake \
file://environment.d-cmake.sh \
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index e0f59a6c6..be4376062 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -10,19 +10,18 @@ HOMEPAGE = "http://www.cmake.org/"
BUGTRACKER = "http://public.kitware.com/Bug/my_view_page.php"
SECTION = "console/utils"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://Copyright.txt;md5=c721f56fce89ba2eadc2fdd8ba1f4d83 \
+LIC_FILES_CHKSUM = "file://Copyright.txt;md5=31023e1d3f51ca90a58f55bcee8e2339 \
file://Source/cmake.h;beginline=1;endline=2;md5=a5f70e1fef8614734eae0d62b4f5891b \
"
CMAKE_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
- file://0002-cmake-Prevent-the-detection-of-Qt5.patch \
file://0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch \
file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \
"
-SRC_URI[sha256sum] = "c432296eb5dec6d71eae15d140f6297d63df44e9ffe3e453628d1dc8fc4201ce"
+SRC_URI[sha256sum] = "aecf6ecb975179eb3bb6a4a50cae192d41e92b9372b02300f9e8f1d5f559544e"
UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
index 818151032..9609f5f7c 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
@@ -1,4 +1,4 @@
-From 66d5b27dc37ef6243f6549e16d0285ba6c064a6e Mon Sep 17 00:00:00 2001
+From e75f76b00cc9c1cfc231c5e731e975552f5dd13e Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Thu, 27 Apr 2017 11:35:05 -0400
Subject: [PATCH] CMakeDetermineSystem: use oe environment vars to load default
@@ -25,7 +25,7 @@ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
1 file changed, 7 insertions(+)
diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake
-index bae270d..5bb6bc0 100644
+index bae270de..5bb6bc0d 100644
--- a/Modules/CMakeDetermineSystem.cmake
+++ b/Modules/CMakeDetermineSystem.cmake
@@ -111,6 +111,13 @@ else()
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch b/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
deleted file mode 100644
index 33db07ccf..000000000
--- a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 98abade8cc119e076e4c5f1461c5188f6d49c1d8 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Wed, 17 Jan 2018 10:02:14 -0200
-Subject: [PATCH] cmake: Prevent the detection of Qt5
-
-Organization: O.S. Systems Software LTDA.
-
-CMake doesn't have dependency on qt4/qt5, so these tests usually fail
-but still can cause undeterministic results or build failures (when
-OE_QMAKE_PATH_EXTERNAL_HOST_BINS is undefined or native qmake removed
-while running the test in cmake)
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-
----
- Source/QtDialog/CMakeLists.txt | 2 +-
- Tests/CMakeLists.txt | 2 +-
- Tests/Qt4And5Automoc/CMakeLists.txt | 4 ++--
- Tests/QtAutogen/AutogenGuiTest.cmake | 3 +--
- Tests/QtAutogen/MacOsFW/CMakeLists.txt | 2 +-
- Tests/RunCMake/CMakeLists.txt | 2 +-
- Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake | 2 +-
- 7 files changed, 8 insertions(+), 9 deletions(-)
-
-diff --git a/Source/QtDialog/CMakeLists.txt b/Source/QtDialog/CMakeLists.txt
-index 452a303..d0a9fb4 100644
---- a/Source/QtDialog/CMakeLists.txt
-+++ b/Source/QtDialog/CMakeLists.txt
-@@ -3,7 +3,7 @@
-
- project(QtDialog)
- CMake_OPTIONAL_COMPONENT(cmake-gui)
--find_package(Qt5Widgets REQUIRED)
-+#find_package(Qt5Widgets REQUIRED)
-
- set(CMake_QT_EXTRA_LIBRARIES)
-
-diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
-index 1fb47cb..e022229 100644
---- a/Tests/CMakeLists.txt
-+++ b/Tests/CMakeLists.txt
-@@ -251,7 +251,7 @@ if(BUILD_TESTING)
- set(CMake_TEST_Qt5 1)
- endif()
- if(CMake_TEST_Qt5)
-- find_package(Qt5Widgets QUIET NO_MODULE)
-+ #find_package(Qt5Widgets QUIET NO_MODULE)
- endif()
-
- if(NOT CMake_TEST_EXTERNAL_CMAKE)
-diff --git a/Tests/Qt4And5Automoc/CMakeLists.txt b/Tests/Qt4And5Automoc/CMakeLists.txt
-index ad74961..a9dd74b 100644
---- a/Tests/Qt4And5Automoc/CMakeLists.txt
-+++ b/Tests/Qt4And5Automoc/CMakeLists.txt
-@@ -3,11 +3,11 @@ cmake_minimum_required(VERSION 2.8.12)
- project(Qt4And5Automoc)
-
- if (QT_REVERSE_FIND_ORDER)
-- find_package(Qt5Core REQUIRED)
-+ #find_package(Qt5Core REQUIRED)
- find_package(Qt4 REQUIRED)
- else()
- find_package(Qt4 REQUIRED)
-- find_package(Qt5Core REQUIRED)
-+ #find_package(Qt5Core REQUIRED)
- endif()
-
- set(CMAKE_AUTOMOC ON)
-diff --git a/Tests/QtAutogen/AutogenGuiTest.cmake b/Tests/QtAutogen/AutogenGuiTest.cmake
-index b76d341..a6e0acb 100644
---- a/Tests/QtAutogen/AutogenGuiTest.cmake
-+++ b/Tests/QtAutogen/AutogenGuiTest.cmake
-@@ -22,8 +22,7 @@ if (QT_TEST_VERSION EQUAL 4)
- endmacro()
-
- elseif(QT_TEST_VERSION EQUAL 5)
--
-- find_package(Qt5Widgets REQUIRED)
-+ #find_package(Qt5Widgets REQUIRED)
-
- set(QT_QTCORE_TARGET Qt5::Core)
- set(QT_LIBRARIES Qt5::Widgets)
-diff --git a/Tests/QtAutogen/MacOsFW/CMakeLists.txt b/Tests/QtAutogen/MacOsFW/CMakeLists.txt
-index c08efc4..87e25d9 100644
---- a/Tests/QtAutogen/MacOsFW/CMakeLists.txt
-+++ b/Tests/QtAutogen/MacOsFW/CMakeLists.txt
-@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10)
- project(MacOsFW)
- include("../AutogenGuiTest.cmake")
-
--find_package(Qt5Test REQUIRED)
-+#find_package(Qt5Test REQUIRED)
-
- set(CMAKE_CXX_STANDARD 11)
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/output/bin)
-diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
-index 370dd76..6bacbff 100644
---- a/Tests/RunCMake/CMakeLists.txt
-+++ b/Tests/RunCMake/CMakeLists.txt
-@@ -473,7 +473,7 @@ if(NOT WIN32)
- endif ()
-
- find_package(Qt4 QUIET)
--find_package(Qt5Core QUIET)
-+#find_package(Qt5Core QUIET)
- if (QT4_FOUND AND Qt5Core_FOUND AND NOT Qt5Core_VERSION VERSION_LESS 5.1.0)
- add_RunCMake_test(IncompatibleQt)
- endif()
-diff --git a/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake b/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake
-index 4fccdc4..b76e1e5 100644
---- a/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake
-+++ b/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake
-@@ -1,6 +1,6 @@
-
- find_package(Qt4 REQUIRED)
--find_package(Qt5Core REQUIRED)
-+#find_package(Qt5Core REQUIRED)
-
- add_executable(mainexe main.cpp)
- target_link_libraries(mainexe Qt4::QtCore Qt5::Core)
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.19.5.bb b/poky/meta/recipes-devtools/cmake/cmake_3.20.2.bb
index 64c92b89f..64c92b89f 100644
--- a/poky/meta/recipes-devtools/cmake/cmake_3.19.5.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake_3.20.2.bb
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
index d675af4f8..4b844574e 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
@@ -1,4 +1,4 @@
-From 218a4760945be7a404df6515ffbc769c92791f9b Mon Sep 17 00:00:00 2001
+From 6f8f6d151b831b60f6e7892aa9294a6361353c72 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 30 Dec 2016 18:31:02 +0200
Subject: [PATCH] Do not set PYTHON_INSTALL_DIR by running python
@@ -11,11 +11,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt
-index 855127f..dff1d97 100644
+index ecc262d..a86514c 100644
--- a/src/python/CMakeLists.txt
+++ b/src/python/CMakeLists.txt
@@ -14,7 +14,7 @@ if (NOT SKBUILD)
- FIND_PACKAGE(PythonInterp 3 EXACT REQUIRED)
+ FIND_PACKAGE(PythonLibs 3 REQUIRED)
endif (NOT SKBUILD)
-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.0.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.2.bb
index e0433806b..76bdd6983 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.0.bb
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.2.bb
@@ -8,7 +8,7 @@ SRC_URI = "git://github.com/rpm-software-management/createrepo_c \
file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
"
-SRCREV = "909a0636665ed96f97babc3b887f9badc88875c3"
+SRCREV = "8eff6ed99f5fd0ba844cb8513963435caab5fd3c"
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.2.bb
index 0a007bb2c..ce242c359 100644
--- a/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb
+++ b/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SECTION = "devel"
DEPENDS += "expect-native"
+RDEPENDS_${PN} = "expect"
inherit autotools
diff --git a/poky/meta/recipes-devtools/distcc/distcc_3.3.5.bb b/poky/meta/recipes-devtools/distcc/distcc_3.4.bb
index 5c2644199..3bab6d53e 100644
--- a/poky/meta/recipes-devtools/distcc/distcc_3.3.5.bb
+++ b/poky/meta/recipes-devtools/distcc/distcc_3.4.bb
@@ -20,7 +20,7 @@ SRC_URI = "git://github.com/distcc/distcc.git \
file://distcc \
file://distcc.service \
"
-SRCREV = "8572e2a1af39e69b2a2d74622fed6d2dd7dca9b7"
+SRCREV = "50d821efe99cae82c05be0a4ab3b4035ef0d3883"
S = "${WORKDIR}/git"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
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
new file mode 100644
index 000000000..99afe0984
--- /dev/null
+++ b/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-rpm-miscutils.py-fix-usage-of-_.patch
@@ -0,0 +1,39 @@
+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
new file mode 100644
index 000000000..b4c9e074d
--- /dev/null
+++ b/poky/meta/recipes-devtools/dnf/dnf/0002-dnf-rpm-miscutils.py-do-not-hardcode-usr-bin-rpmkeys.patch
@@ -0,0 +1,37 @@
+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_4.6.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.7.0.bb
index 6651e6435..7314eaf7b 100644
--- a/poky/meta/recipes-devtools/dnf/dnf_4.6.0.bb
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.7.0.bb
@@ -16,9 +16,11 @@ SRC_URI = "git://github.com/rpm-software-management/dnf.git \
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 = "c826d7db401ebf9b59b2fa74570a919e4af2673e"
+SRCREV = "395541fbf8f87f81cdca7567f22be1182e55bea7"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.20.7.1.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb
index 55ac84f72..60ae3ff73 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg_1.20.7.1.bb
+++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb
@@ -1,7 +1,7 @@
require dpkg.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=sid \
+SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=1.20.x \
file://noman.patch \
file://remove-tar-no-timestamp.patch \
file://arch_pm.patch \
@@ -19,6 +19,6 @@ SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=sid \
SRC_URI_append_class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch"
-SRCREV = "667bf0aeb92e0e7bb225ee273569c5e2389083bd"
+SRCREV = "2177b782b16e77e97c9643961a5ae3c639bcc4a3"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch
new file mode 100644
index 000000000..26f972b31
--- /dev/null
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch
@@ -0,0 +1,24 @@
+From 42ba67f9a51ef959e7fd8dac29b5398c121c6976 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 30 Apr 2021 23:45:56 +0200
+Subject: [PATCH] lib/ext2fs/unix_io.c: do unlock on error
+
+Upstream-Status: Submitted [https://github.com/tytso/e2fsprogs/pull/68]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ lib/ext2fs/unix_io.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c
+index 64eee342..528c2fbc 100644
+--- a/lib/ext2fs/unix_io.c
++++ b/lib/ext2fs/unix_io.c
+@@ -398,7 +398,7 @@ static errcode_t raw_write_blk(io_channel channel,
+ mutex_lock(data, BOUNCE_MTX);
+ if (ext2fs_llseek(data->dev, location, SEEK_SET) < 0) {
+ retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
+- goto error_out;
++ goto error_unlock;
+ }
+ actual = write(data->dev, buf, size);
+ mutex_unlock(data, BOUNCE_MTX);
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch
new file mode 100644
index 000000000..2452f7e08
--- /dev/null
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch
@@ -0,0 +1,48 @@
+From 3593063f735f453d43f461292e26913436c11ca3 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sat, 1 May 2021 13:06:12 +0200
+Subject: [PATCH] lib/ext2fs/unix_io.c: revert parts of "libext2fs: fix
+ potential races in unix_io"
+
+Upstream-Status: Submitted [https://github.com/tytso/e2fsprogs/pull/68]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ lib/ext2fs/unix_io.c | 15 ++++++++-------
+ 1 file changed, 8 insertions(+), 7 deletions(-)
+
+diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c
+index 528c2fbc..f4916b21 100644
+--- a/lib/ext2fs/unix_io.c
++++ b/lib/ext2fs/unix_io.c
+@@ -311,10 +311,10 @@ bounce_read:
+ size += really_read;
+ goto short_read;
+ }
+- actual = size;
+- if (actual > align_size)
+- actual = align_size;
+- actual -= offset;
++ if ((actual + offset) > align_size)
++ actual = align_size - offset;
++ if (actual > size)
++ actual = size;
+ memcpy(buf, data->bounce + offset, actual);
+
+ really_read += actual;
+@@ -455,9 +455,10 @@ bounce_write:
+ }
+ }
+ actual = size;
+- if (actual > align_size)
+- actual = align_size;
+- actual -= offset;
++ if ((actual + offset) > align_size)
++ actual = align_size - offset;
++ if (actual > size)
++ actual = size;
+ memcpy(((char *)data->bounce) + offset, buf, actual);
+ if (ext2fs_llseek(data->dev, aligned_blk * align_size, SEEK_SET) < 0) {
+ retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
+--
+2.24.0
+
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch
index d7c07c3b0..e8b2aafbf 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch
@@ -1,4 +1,4 @@
-From 9263b8764702f2b26ddaaf80808ebab31a1dba3b Mon Sep 17 00:00:00 2001
+From 8957443bcbea43685c76eb3cbc5009f7fd529283 Mon Sep 17 00:00:00 2001
From: Jackie Huang <jackie.huang@windriver.com>
Date: Wed, 10 Aug 2016 11:19:44 +0800
Subject: [PATCH] Fix missing check for permission denied.
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch
index 88d0ae77c..96eb7f20d 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch
@@ -1,4 +1,4 @@
-From 6e4c1644a3a8cacf7c1f5953cc378589bb046d5a Mon Sep 17 00:00:00 2001
+From 3b75308cc75adc249db6ca36e42fe93309b9a018 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Mon, 23 Dec 2013 13:38:34 +0000
Subject: [PATCH] e2fsprogs: silence debugfs
@@ -14,10 +14,10 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c
-index 132c5f9d..98063727 100644
+index b67a88bc..76dd5556 100644
--- a/debugfs/debugfs.c
+++ b/debugfs/debugfs.c
-@@ -2510,7 +2510,7 @@ static int source_file(const char *cmd_file, int ss_idx)
+@@ -2518,7 +2518,7 @@ static int source_file(const char *cmd_file, int ss_idx)
cp = strchr(buf, '\r');
if (cp)
*cp = 0;
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.1.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb
index be8b67c35..fc022f37d 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.1.bb
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb
@@ -4,6 +4,8 @@ SRC_URI += "file://remove.ldconfig.call.patch \
file://run-ptest \
file://ptest.patch \
file://mkdir_p.patch \
+ file://0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch \
+ file://0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch \
"
SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \
@@ -11,7 +13,7 @@ SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permissio
"
-SRCREV = "3114c623f56b0d61f5f34b85f7b23d28f6c848c0"
+SRCREV = "1eea0e2bd9a6760ebad834d5d2cf700fffe5ebe2"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+(\.\d+)*)$"
EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \
diff --git a/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.2.1.bb b/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.2.1.bb
new file mode 100644
index 000000000..6435fea68
--- /dev/null
+++ b/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.2.1.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Tools for erofs filesystems"
+LICENSE = "GPLv2+"
+SECTION = "base"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94fa01670a2a8f2d3ab2de15004e0848"
+HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/tree/README"
+
+SRCREV = "d1f4953edfcf4f51c71ba91586e21fc6ce9f6db9"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "util-linux-libuuid"
+
+inherit pkgconfig autotools
+
+PACKAGECONFIG ??= "lz4"
+PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4"
+
+EXTRA_OECONF = "${PACKAGECONFIG_CONFARGS} --disable-fuse"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/flex/flex_2.6.4.bb b/poky/meta/recipes-devtools/flex/flex_2.6.4.bb
index 1d43d2228..54e7e0172 100644
--- a/poky/meta/recipes-devtools/flex/flex_2.6.4.bb
+++ b/poky/meta/recipes-devtools/flex/flex_2.6.4.bb
@@ -3,12 +3,14 @@ DESCRIPTION = "Flex is a fast lexical analyser generator. Flex is a tool for ge
lexical patterns in text."
HOMEPAGE = "http://sourceforge.net/projects/flex/"
SECTION = "devel"
-LICENSE = "BSD-2-Clause"
+LICENSE = "BSD-3-Clause & LGPL-2.0+"
+LICENSE_${PN}-libfl = "BSD-3-Clause"
DEPENDS = "${@bb.utils.contains('PTEST_ENABLED', '1', 'bison-native flex-native', '', d)}"
BBCLASSEXTEND = "native nativesdk"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067 \
+ file://src/gettext.h;beginline=1;endline=17;md5=9c05dda2f58d89b850c399cf22e1a00c"
SRC_URI = "https://github.com/westes/flex/releases/download/v${PV}/flex-${PV}.tar.gz \
file://run-ptest \
diff --git a/poky/meta/recipes-devtools/gcc/gcc-11.1.inc b/poky/meta/recipes-devtools/gcc/gcc-11.1.inc
index 713002266..bf29879de 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-11.1.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-11.1.inc
@@ -6,7 +6,7 @@ PV = "11.1.0"
# BINV should be incremented to a revision after a minor gcc release
-BINV = "11.1.0"
+BINV = "11.1.1"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
@@ -25,7 +25,10 @@ LIC_FILES_CHKSUM = "\
#RELEASE ?= "5b2ac9b40c325e9209c0bd55955db84aad4a0cc5"
#BASEURI ?= "https://github.com/gcc-mirror/gcc/archive/${RELEASE}.zip;downloadfilename=gcc-${PV}-${RELEASE}.zip"
-BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
+
+BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz \
+ http://downloads.yoctoproject.org/mirror/sources/gcc-11.1.0-9ee61d2b51df012c659359873637cc2162ecccf3.patch;apply=yes;name=backports \
+ "
SRC_URI = "\
${BASEURI} \
file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
@@ -65,8 +68,10 @@ SRC_URI = "\
file://0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \
file://0036-mingw32-Enable-operation_not_supported.patch \
file://0037-libatomic-Do-not-enforce-march-on-aarch64.patch \
+ file://0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch \
"
SRC_URI[sha256sum] = "4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf"
+SRC_URI[backports.sha256sum] = "69274bebd6c069a13443d4af61070e854740a639ec4d66eedf3e80070363587b"
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
index 878feaf81..1872faee1 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -124,7 +124,7 @@ do_install () {
dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/
install -d $dest
suffix=${EXEEXT}
- for t in ar as ld nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do
+ for t in ar as ld ld.bfd ld.gold nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do
if [ "$t" = "g77" -o "$t" = "gfortran" ] && [ ! -e ${D}${bindir}/${TARGET_PREFIX}$t$suffix ]; then
continue
fi
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
index d0348c481..59e91daae 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
@@ -90,7 +90,9 @@ FILES_libasan-dev += "\
${libdir}/libhwasan.so \
${libdir}/libasan.la \
"
-FILES_libasan-staticdev += "${libdir}/libasan.a"
+FILES_libasan-staticdev += "${libdir}/libasan.a \
+ ${libdir}/libhwasan.a \
+"
FILES_libubsan += "${libdir}/libubsan.so.*"
FILES_libubsan-dev += "\
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch b/poky/meta/recipes-devtools/gcc/gcc/0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch
new file mode 100644
index 000000000..a3e31e4f9
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc/0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch
@@ -0,0 +1,76 @@
+This change breaks installation on baremetal targets, so whilst the cause is
+investigated revert the commit.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 8ec52bd0ba2141ef0bcc6f93e26a23d662b40f78 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Wed, 26 May 2021 19:54:29 +0100
+Subject: [PATCH] Revert "libstdc++: Install libstdc++*-gdb.py more robustly
+ [PR 99453]"
+
+This reverts commit dbb87d6a9c37c8eca80d77782717a8144515c16d.
+---
+ libstdc++-v3/python/Makefile.am | 20 ++++++++++++++++----
+ libstdc++-v3/python/Makefile.in | 14 ++++++++++++--
+ 2 files changed, 28 insertions(+), 6 deletions(-)
+
+diff --git a/libstdc++-v3/python/Makefile.am b/libstdc++-v3/python/Makefile.am
+index 0c2b207b86e..01517a2a522 100644
+--- a/libstdc++-v3/python/Makefile.am
++++ b/libstdc++-v3/python/Makefile.am
+@@ -44,9 +44,21 @@ gdb.py: hook.in Makefile
+ install-data-local: gdb.py
+ @$(mkdir_p) $(DESTDIR)$(toolexeclibdir)
+ ## We want to install gdb.py as SOMETHING-gdb.py. SOMETHING is the
+-## full name of the final library. We use the libtool .la file to get
+-## the correct name.
+- @libname=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
+- $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \
++## full name of the final library. We want to ignore symlinks, the
++## .la file, and any previous -gdb.py file. This is inherently
++## fragile, but there does not seem to be a better option, because
++## libtool hides the real names from us.
++ @here=`pwd`; cd $(DESTDIR)$(toolexeclibdir); \
++ for file in libstdc++.*; do \
++ case $$file in \
++ *-gdb.py) ;; \
++ *.la) ;; \
++ *) if test -h $$file; then \
++ continue; \
++ fi; \
++ libname=$$file;; \
++ esac; \
++ done; \
++ cd $$here; \
+ echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
+ $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py
+diff --git a/libstdc++-v3/python/Makefile.in b/libstdc++-v3/python/Makefile.in
+index 2efe0b96a19..c35dbe55961 100644
+--- a/libstdc++-v3/python/Makefile.in
++++ b/libstdc++-v3/python/Makefile.in
+@@ -607,8 +607,18 @@ gdb.py: hook.in Makefile
+
+ install-data-local: gdb.py
+ @$(mkdir_p) $(DESTDIR)$(toolexeclibdir)
+- @libname=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
+- $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \
++ @here=`pwd`; cd $(DESTDIR)$(toolexeclibdir); \
++ for file in libstdc++.*; do \
++ case $$file in \
++ *-gdb.py) ;; \
++ *.la) ;; \
++ *) if test -h $$file; then \
++ continue; \
++ fi; \
++ libname=$$file;; \
++ esac; \
++ done; \
++ cd $$here; \
+ echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
+ $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py
+
+--
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch
index 98472dd2b..120d5a29b 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch
@@ -1,4 +1,4 @@
-From 9b4eb0e18a953d79d20c78d3ba741af6d71ab9ca Mon Sep 17 00:00:00 2001
+From 6f410ed8fb7eee11ba7a25634c2257666b98ef52 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 20 Feb 2015 10:25:11 +0000
Subject: [PATCH] Ensure target gcc headers can be included
@@ -11,14 +11,18 @@ found by gcc with the existing search paths. Add support for
picking up these headers under the sysroot supplied on the gcc
command line in order to resolve this.
+Extend target gcc headers search to musl too
+
Upstream-Status: Pending
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- gcc/Makefile.in | 2 ++
- gcc/cppdefault.c | 4 ++++
- 2 files changed, 6 insertions(+)
+ gcc/Makefile.in | 2 ++
+ gcc/config/linux.h | 8 ++++++++
+ gcc/config/rs6000/sysv4.h | 8 ++++++++
+ gcc/cppdefault.c | 4 ++++
+ 4 files changed, 22 insertions(+)
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 59c45c81393..9b17d120aa1 100644
@@ -40,6 +44,58 @@ index 59c45c81393..9b17d120aa1 100644
-DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \
-DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
-DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
+diff --git a/gcc/config/linux.h b/gcc/config/linux.h
+index 87efc5f69fe..b525bcd56b3 100644
+--- a/gcc/config/linux.h
++++ b/gcc/config/linux.h
+@@ -165,6 +165,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ #define INCLUDE_DEFAULTS_MUSL_TOOL
+ #endif
+
++#ifdef GCC_INCLUDE_SUBDIR_TARGET
++#define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
++ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0},
++#else
++#define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET
++#endif
++
+ #ifdef NATIVE_SYSTEM_HEADER_DIR
+ #define INCLUDE_DEFAULTS_MUSL_NATIVE \
+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
+@@ -191,6 +198,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ INCLUDE_DEFAULTS_MUSL_PREFIX \
+ INCLUDE_DEFAULTS_MUSL_CROSS \
+ INCLUDE_DEFAULTS_MUSL_TOOL \
++ INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
+ INCLUDE_DEFAULTS_MUSL_NATIVE \
+ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
+ { 0, 0, 0, 0, 0, 0 } \
+diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
+index 510abe169c5..0c2bba5ea32 100644
+--- a/gcc/config/rs6000/sysv4.h
++++ b/gcc/config/rs6000/sysv4.h
+@@ -995,6 +995,13 @@ ncrtn.o%s"
+ #define INCLUDE_DEFAULTS_MUSL_TOOL
+ #endif
+
++#ifdef GCC_INCLUDE_SUBDIR_TARGET
++#define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
++ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0},
++#else
++#define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET
++#endif
++
+ #ifdef NATIVE_SYSTEM_HEADER_DIR
+ #define INCLUDE_DEFAULTS_MUSL_NATIVE \
+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
+@@ -1021,6 +1028,7 @@ ncrtn.o%s"
+ INCLUDE_DEFAULTS_MUSL_PREFIX \
+ INCLUDE_DEFAULTS_MUSL_CROSS \
+ INCLUDE_DEFAULTS_MUSL_TOOL \
++ INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
+ INCLUDE_DEFAULTS_MUSL_NATIVE \
+ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
+ { 0, 0, 0, 0, 0, 0 } \
diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
index c503d14fc3f..d54d6ce0076 100644
--- a/gcc/cppdefault.c
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch
index 3958e9c21..b1054fa74 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch
@@ -1,4 +1,4 @@
-From 35c084a051bcd6587ebc73e4acb045cb2bdf7e99 Mon Sep 17 00:00:00 2001
+From 354682ad8f71f62643dcd83f64b51b5979615a0c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 7 Dec 2015 23:39:54 +0000
Subject: [PATCH] handle sysroot support for nativesdk-gcc
@@ -23,6 +23,9 @@ b) Add other paths which need relocation into a .gccrelocprefix section
Upstream-Status: Inappropriate
RP 2015/7/28
+Extend the gccrelocprefix support to musl config too, this ensures
+that gcc will get right bits in SDK installations
+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Added PREFIXVAR and EXEC_PREFIXVAR to support runtime relocation. Without
@@ -32,16 +35,18 @@ implementation.)
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
---
- gcc/c-family/c-opts.c | 4 +--
- gcc/cppdefault.c | 63 ++++++++++++++++++++++++++-----------------
- gcc/cppdefault.h | 13 ++++-----
- gcc/gcc.c | 20 +++++++++-----
- gcc/incpath.c | 12 ++++-----
- gcc/prefix.c | 6 +++--
- 6 files changed, 70 insertions(+), 48 deletions(-)
+ gcc/c-family/c-opts.c | 4 +--
+ gcc/config/linux.h | 24 +++++++--------
+ gcc/config/rs6000/sysv4.h | 24 +++++++--------
+ gcc/cppdefault.c | 63 ++++++++++++++++++++++++---------------
+ gcc/cppdefault.h | 13 ++++----
+ gcc/gcc.c | 20 +++++++++----
+ gcc/incpath.c | 12 ++++----
+ gcc/prefix.c | 6 ++--
+ 8 files changed, 94 insertions(+), 72 deletions(-)
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
-index bd15b9cd902..2bd667e3f58 100644
+index 89e05a4c551..5577383665d 100644
--- a/gcc/c-family/c-opts.c
+++ b/gcc/c-family/c-opts.c
@@ -1436,8 +1436,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain)
@@ -55,6 +60,162 @@ index bd15b9cd902..2bd667e3f58 100644
path = (char *) xmalloc (prefix_len + suffix_len + 1);
memcpy (path, prefix, prefix_len);
+diff --git a/gcc/config/linux.h b/gcc/config/linux.h
+index b525bcd56b3..ba02c013e30 100644
+--- a/gcc/config/linux.h
++++ b/gcc/config/linux.h
+@@ -129,53 +129,53 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ * Unfortunately, this is mostly duplicated from cppdefault.c */
+ #if DEFAULT_LIBC == LIBC_MUSL
+ #define INCLUDE_DEFAULTS_MUSL_GPP \
+- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \
++ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1, \
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \
+- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \
++ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1, \
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \
+- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \
++ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1, \
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
+
+ #ifdef LOCAL_INCLUDE_DIR
+ #define INCLUDE_DEFAULTS_MUSL_LOCAL \
+- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \
+- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 }, \
++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 },
+ #else
+ #define INCLUDE_DEFAULTS_MUSL_LOCAL
+ #endif
+
+ #ifdef PREFIX_INCLUDE_DIR
+ #define INCLUDE_DEFAULTS_MUSL_PREFIX \
+- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0},
++ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0},
+ #else
+ #define INCLUDE_DEFAULTS_MUSL_PREFIX
+ #endif
+
+ #ifdef CROSS_INCLUDE_DIR
+ #define INCLUDE_DEFAULTS_MUSL_CROSS \
+- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0},
++ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0},
+ #else
+ #define INCLUDE_DEFAULTS_MUSL_CROSS
+ #endif
+
+ #ifdef TOOL_INCLUDE_DIR
+ #define INCLUDE_DEFAULTS_MUSL_TOOL \
+- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0},
++ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0},
+ #else
+ #define INCLUDE_DEFAULTS_MUSL_TOOL
+ #endif
+
+ #ifdef GCC_INCLUDE_SUBDIR_TARGET
+ #define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
+- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0},
++ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0},
+ #else
+ #define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET
+ #endif
+
+ #ifdef NATIVE_SYSTEM_HEADER_DIR
+ #define INCLUDE_DEFAULTS_MUSL_NATIVE \
+- { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
+- { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
++ { NATIVE_SYSTEM_HEADER_DIRVAR, 0, 0, 0, 1, 2 }, \
++ { NATIVE_SYSTEM_HEADER_DIRVAR, 0, 0, 0, 1, 0 },
+ #else
+ #define INCLUDE_DEFAULTS_MUSL_NATIVE
+ #endif
+@@ -200,7 +200,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ INCLUDE_DEFAULTS_MUSL_TOOL \
+ INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
+ INCLUDE_DEFAULTS_MUSL_NATIVE \
+- { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
++ { GCC_INCLUDE_DIRVAR, "GCC", 0, 1, 0, 0 }, \
+ { 0, 0, 0, 0, 0, 0 } \
+ }
+ #endif
+diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
+index 0c2bba5ea32..313a8de4417 100644
+--- a/gcc/config/rs6000/sysv4.h
++++ b/gcc/config/rs6000/sysv4.h
+@@ -959,53 +959,53 @@ ncrtn.o%s"
+ /* Include order changes for musl, same as in generic linux.h. */
+ #if DEFAULT_LIBC == LIBC_MUSL
+ #define INCLUDE_DEFAULTS_MUSL_GPP \
+- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \
++ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1, \
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \
+- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \
++ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1, \
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \
+- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \
++ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1, \
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
+
+ #ifdef LOCAL_INCLUDE_DIR
+ #define INCLUDE_DEFAULTS_MUSL_LOCAL \
+- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \
+- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 }, \
++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 },
+ #else
+ #define INCLUDE_DEFAULTS_MUSL_LOCAL
+ #endif
+
+ #ifdef PREFIX_INCLUDE_DIR
+ #define INCLUDE_DEFAULTS_MUSL_PREFIX \
+- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0},
++ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0},
+ #else
+ #define INCLUDE_DEFAULTS_MUSL_PREFIX
+ #endif
+
+ #ifdef CROSS_INCLUDE_DIR
+ #define INCLUDE_DEFAULTS_MUSL_CROSS \
+- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0},
++ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0},
+ #else
+ #define INCLUDE_DEFAULTS_MUSL_CROSS
+ #endif
+
+ #ifdef TOOL_INCLUDE_DIR
+ #define INCLUDE_DEFAULTS_MUSL_TOOL \
+- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0},
++ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0},
+ #else
+ #define INCLUDE_DEFAULTS_MUSL_TOOL
+ #endif
+
+ #ifdef GCC_INCLUDE_SUBDIR_TARGET
+ #define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
+- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0},
++ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0},
+ #else
+ #define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET
+ #endif
+
+ #ifdef NATIVE_SYSTEM_HEADER_DIR
+ #define INCLUDE_DEFAULTS_MUSL_NATIVE \
+- { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
+- { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
++ { NATIVE_SYSTEM_HEADER_DIRVAR, 0, 0, 0, 1, 2 }, \
++ { NATIVE_SYSTEM_HEADER_DIRVAR, 0, 0, 0, 1, 0 },
+ #else
+ #define INCLUDE_DEFAULTS_MUSL_NATIVE
+ #endif
+@@ -1030,7 +1030,7 @@ ncrtn.o%s"
+ INCLUDE_DEFAULTS_MUSL_TOOL \
+ INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
+ INCLUDE_DEFAULTS_MUSL_NATIVE \
+- { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
++ { GCC_INCLUDE_DIRVAR, "GCC", 0, 1, 0, 0 }, \
+ { 0, 0, 0, 0, 0, 0 } \
+ }
+ #endif
diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
index d54d6ce0076..784a92a0c24 100644
--- a/gcc/cppdefault.c
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
index edca9e3ca..9c616d24d 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
@@ -22,12 +22,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
gcc/config/rs6000/linux64.h | 10 ++++++++++
3 files changed, 27 insertions(+)
-diff --git a/gcc/config/linux.h b/gcc/config/linux.h
-index 87efc5f69fe..3c7b7c538b9 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
-@@ -195,6 +195,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
+@@ -203,6 +203,13 @@ see the files COPYING3 and COPYING.RUNTI
+ { GCC_INCLUDE_DIRVAR, "GCC", 0, 1, 0, 0 }, \
{ 0, 0, 0, 0, 0, 0 } \
}
+#ifdef TARGET_LIBC_PROVIDES_SSP
@@ -40,8 +38,6 @@ index 87efc5f69fe..3c7b7c538b9 100644
#endif
#if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
-diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
-index 47c9d9ac0b6..d065f88b377 100644
--- a/gcc/config/rs6000/linux.h
+++ b/gcc/config/rs6000/linux.h
@@ -94,6 +94,16 @@
@@ -61,8 +57,6 @@ index 47c9d9ac0b6..d065f88b377 100644
#undef LINK_OS_LINUX_SPEC
#define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \
%{!static-pie: \
-diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
-index a11e01faa3d..ce464f3626b 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -369,6 +369,16 @@ extern int dot_symbols;
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 d4ec4593f..8d7d6ac3e 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 @@ DEPENDS_class-native = "hostperl-runtime-native"
INHIBIT_DEFAULT_DEPS = "1"
-SRCREV = "277b4ed1776f721145b2649d888f1deb445fecc5"
-PV = "20210424+git${SRCPV}"
+SRCREV = "92fac9b5ceb9f111a04d7f8f98831570e77886c6"
+PV = "20210522+git${SRCPV}"
SRC_URI = "git://git.savannah.gnu.org/config.git \
file://gnu-configize.in"
diff --git a/poky/meta/recipes-devtools/go/go-1.16.3.inc b/poky/meta/recipes-devtools/go/go-1.16.4.inc
index ebd25a5ea..71c17de31 100644
--- a/poky/meta/recipes-devtools/go/go-1.16.3.inc
+++ b/poky/meta/recipes-devtools/go/go-1.16.4.inc
@@ -1,7 +1,7 @@
require go-common.inc
GO_BASEVERSION = "1.16"
-PV = "1.16.3"
+PV = "1.16.4"
FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
@@ -17,4 +17,4 @@ SRC_URI += "\
file://0008-use-GOBUILDMODE-to-set-buildmode.patch \
file://0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch \
"
-SRC_URI[main.sha256sum] = "b298d29de9236ca47a023e382313bcc2d2eed31dfa706b60a04103ce83a71a25"
+SRC_URI[main.sha256sum] = "ae4f6b6e2a1677d31817984655a762074b5356da50fb58722b99104870d43503"
diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.16.3.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.16.4.bb
index d01a2bd8f..8c046e8e5 100644
--- a/poky/meta/recipes-devtools/go/go-binary-native_1.16.3.bb
+++ b/poky/meta/recipes-devtools/go/go-binary-native_1.16.4.bb
@@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
PROVIDES = "go-native"
SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "951a3c7c6ce4e56ad883f97d9db74d3d6d80d5fec77455c6ada6c1f7ac4776d2"
-SRC_URI[go_linux_arm64.sha256sum] = "566b1d6f17d2bc4ad5f81486f0df44f3088c3ed47a3bec4099d8ed9939e90d5d"
+SRC_URI[go_linux_amd64.sha256sum] = "7154e88f5a8047aad4b80ebace58a059e36e7e2e4eb3b383127a28c711b4ff59"
+SRC_URI[go_linux_arm64.sha256sum] = "8b18eb05ddda2652d69ab1b1dd1f40dd731799f43c6a58b512ad01ae5b5bba21"
UPSTREAM_CHECK_URI = "https://golang.org/dl/"
UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/poky/meta/recipes-devtools/go/go-common.inc b/poky/meta/recipes-devtools/go/go-common.inc
index c368b95b6..39a681a71 100644
--- a/poky/meta/recipes-devtools/go/go-common.inc
+++ b/poky/meta/recipes-devtools/go/go-common.inc
@@ -14,7 +14,7 @@ LICENSE = "BSD-3-Clause"
inherit goarch
-SRC_URI = "https://dl.google.com/go/go${PV}.src.tar.gz;name=main"
+SRC_URI = "https://golang.org/dl/go${PV}.src.tar.gz;name=main"
S = "${WORKDIR}/go"
B = "${S}"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.src\.tar"
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.3.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.4.bb
index 7ac9449e4..7ac9449e4 100644
--- a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.3.bb
+++ b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.4.bb
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.16.3.bb b/poky/meta/recipes-devtools/go/go-cross_1.16.4.bb
index 80b5a03f6..80b5a03f6 100644
--- a/poky/meta/recipes-devtools/go/go-cross_1.16.3.bb
+++ b/poky/meta/recipes-devtools/go/go-cross_1.16.4.bb
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.3.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.4.bb
index 1857c8a57..1857c8a57 100644
--- a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.3.bb
+++ b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.4.bb
diff --git a/poky/meta/recipes-devtools/go/go-native_1.16.3.bb b/poky/meta/recipes-devtools/go/go-native_1.16.4.bb
index f14892cdb..f14892cdb 100644
--- a/poky/meta/recipes-devtools/go/go-native_1.16.3.bb
+++ b/poky/meta/recipes-devtools/go/go-native_1.16.4.bb
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.16.3.bb b/poky/meta/recipes-devtools/go/go-runtime_1.16.4.bb
index 63464a150..63464a150 100644
--- a/poky/meta/recipes-devtools/go/go-runtime_1.16.3.bb
+++ b/poky/meta/recipes-devtools/go/go-runtime_1.16.4.bb
diff --git a/poky/meta/recipes-devtools/go/go_1.16.3.bb b/poky/meta/recipes-devtools/go/go_1.16.4.bb
index 4e9e0ebec..4e9e0ebec 100644
--- a/poky/meta/recipes-devtools/go/go_1.16.3.bb
+++ b/poky/meta/recipes-devtools/go/go_1.16.4.bb
diff --git a/poky/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb b/poky/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb
index 231c1c20e..61b8487c7 100644
--- a/poky/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb
+++ b/poky/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb
@@ -11,6 +11,7 @@ PR = "r2"
DEPENDS = ""
INHIBIT_DEFAULT_DEPS = "1"
+ICECC_DISABLED = "1"
# This is needed, because otherwise there is dependency loop from quilt-native
# Dependency loop #1 found:
diff --git a/poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb b/poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb
index 65905966c..03792730f 100644
--- a/poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb
+++ b/poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb
@@ -19,6 +19,11 @@ SRC_URI[map.sha256sum] = "399548fb0e7b146c12f5ba18099a47d594a970fee96212eee0ab48
UPSTREAM_CHECK_REGEX = "jquery-(?P<pver>\d+(\.\d+)+)\.js"
+# https://github.com/jquery/jquery/issues/3927
+# There are ways jquery can expose security issues but any issues are in the apps exposing them
+# and there is little we can directly do
+CVE_CHECK_WHITELIST += "CVE-2007-2379"
+
inherit allarch
do_install() {
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch
index f8d256e01..b740521fd 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch
@@ -1,23 +1,26 @@
-From 8aa5402393fabaf4fff51be3af4868e8dfab6da7 Mon Sep 17 00:00:00 2001
+From fc0b81bb717db3f41513f09f6661676a7aea6dd4 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 9 Mar 2021 19:30:42 +0000
Subject: [PATCH] libdnf/config.h: avoid the use of non-portable __WORDSIZE
Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/1159]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
- libdnf/config.h | 8 +++-----
- 1 file changed, 3 insertions(+), 5 deletions(-)
+ libdnf/config.h | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/libdnf/config.h b/libdnf/config.h
-index 16121f6f..2925923e 100644
+index 01b330b4..dbd53f5e 100644
--- a/libdnf/config.h
+++ b/libdnf/config.h
-@@ -18,12 +18,10 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
+@@ -20,14 +20,11 @@
+ #ifdef __APPLE__
+ #include <stdint.h>
+-#else
-#include <bits/wordsize.h>
+ #endif
+#include <limits.h>
-#if __WORDSIZE == 32
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.58.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb
index dbe68d5a1..79e886545 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.58.0.bb
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb
@@ -14,8 +14,8 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \
file://0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch \
"
-SRCREV = "85278894f21bc1957dc47a2a09ddacf59bc3cda8"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+SRCREV = "669a5c691acba91693d238d6262ac99a440aa9b3"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!4\.90)\d+(\.\d+)+)"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/libedit/libedit_20210419-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb
index a34b77328..43e6f2244 100644
--- a/poky/meta/recipes-devtools/libedit/libedit_20210419-3.1.bb
+++ b/poky/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb
@@ -13,7 +13,7 @@ inherit autotools
SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \
file://stdc-predef.patch \
"
-SRC_URI[sha256sum] = "571ebe44b74860823e24a08cf04086ff104fd7dfa1020abf26c52543134f5602"
+SRC_URI[sha256sum] = "0220bc2047e927c0c1984ef5f7b4eb2a9469a5b7bf12ba573ca3b23ca02bbb6f"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
index 2f60ce8e0..771b2c094 100644
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
@@ -8,8 +8,8 @@ SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https;branch=
file://0001-modulemd-generate-the-manpage-only-if-the-feature-is.patch \
"
-PV = "2.12.0"
-SRCREV = "aaed38c899a958a88a6a368a70510e350ebe336c"
+PV = "2.12.1"
+SRCREV = "c0897fa0e9d7d1305fd4813b1010c1d4cca42346"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc
index e186dede9..f60381453 100644
--- a/poky/meta/recipes-devtools/meson/meson.inc
+++ b/poky/meta/recipes-devtools/meson/meson.inc
@@ -12,21 +12,13 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
file://0003-native_bindir.patch \
file://0001-python-module-do-not-manipulate-the-environment-when.patch \
file://disable-rpath-handling.patch \
- file://cross-prop-default.patch \
file://0001-modules-python.py-do-not-substitute-python-s-install.patch \
- file://0001-minstall-Correctly-set-uid-gid-of-installed-files.patch \
file://gi-target-dep.patch \
+ file://0001-Make-CPU-family-warnings-fatal.patch \
+ file://0002-Support-building-allarch-recipes-again.patch \
+ file://4e312c19e693a69b0650ce6c8a8903163c959996.patch \
"
-SRC_URI[sha256sum] = "72e1c782ba9bda204f4a1ed57f98d027d7b6eb9414c723eebbd6ec7f1955c8a6"
-
-SRC_URI_append_class-native = " \
- file://0001-Make-CPU-family-warnings-fatal.patch \
- file://0002-Support-building-allarch-recipes-again.patch \
-"
-
-# remove at next version upgrade or when output changes
-PR = "r1"
-HASHEQUIV_HASH_VERSION .= ".1"
+SRC_URI[sha256sum] = "f4820df0bc969c99019fd4af8ca5f136ee94c63d8a5ad67e7eb73bdbc9182fdd"
UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases"
UPSTREAM_CHECK_REGEX = "meson-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
index 48941c97f..bcccfabd1 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
@@ -1,41 +1,43 @@
-From 76934bcbf2cfa7304e8864e28c51f58adda0392f Mon Sep 17 00:00:00 2001
+From b64032a2eb1fb760f4ffd5b4b666e2433cf80d39 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Tue, 3 Jul 2018 13:59:09 +0100
-Subject: [PATCH] Make CPU family warnings fatal
+Subject: [PATCH 1/2] Make CPU family warnings fatal
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Ross Burton <ross.burton@intel.com>
-
---
mesonbuild/envconfig.py | 2 +-
mesonbuild/environment.py | 4 +---
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
-index ba35d16..2d3c34c 100644
+index c6a4df3..4d58c91 100644
--- a/mesonbuild/envconfig.py
+++ b/mesonbuild/envconfig.py
-@@ -254,7 +254,7 @@ class MachineInfo:
-
+@@ -266,7 +266,7 @@ class MachineInfo:
+
cpu_family = literal['cpu_family']
if cpu_family not in known_cpu_families:
-- mlog.warning('Unknown CPU family {}, please report this at https://github.com/mesonbuild/meson/issues/new'.format(cpu_family))
+- mlog.warning(f'Unknown CPU family {cpu_family}, please report this at https://github.com/mesonbuild/meson/issues/new')
+ raise EnvironmentException('Unknown CPU family {}, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.'.format(cpu_family))
-
+
endian = literal['endian']
if endian not in ('little', 'big'):
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 756dd81..4d2c2b6 100644
+index fc9b703..eea8345 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
-@@ -434,9 +434,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
+@@ -436,9 +436,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
trial = 'ppc64'
-
+
if trial not in known_cpu_families:
- mlog.warning('Unknown CPU family {!r}, please report this at '
- 'https://github.com/mesonbuild/meson/issues/new with the '
- 'output of `uname -a` and `cat /proc/cpuinfo`'.format(trial))
+ raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % trial)
-
+
return trial
+
+--
+2.24.0
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
index 471f1500d..ce90e515d 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
@@ -1,4 +1,4 @@
-From d3ef01a4208a801acad380a4aaceb6a21f8fa603 Mon Sep 17 00:00:00 2001
+From 2f9c59e0489e569c5382404667c10f5c200a72ad Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 4 Aug 2017 16:16:41 +0300
Subject: [PATCH] gtkdoc: fix issues that arise when cross-compiling
@@ -20,11 +20,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 4 insertions(+)
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
-index bcf77b9..6a4b472 100644
+index dc2979e..c9ff9bd 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
-@@ -974,6 +974,10 @@ This will become a hard error in the future.''')
- args.append('--{}={}'.format(program_name, path))
+@@ -1053,6 +1053,10 @@ class GnomeModule(ExtensionModule):
+ args.append(f'--{program_name}={path}')
if namespace:
args.append('--namespace=' + namespace)
+ gtkdoc_exe_wrapper = state.environment.properties.host.get('gtkdoc_exe_wrapper', None)
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch b/poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch
deleted file mode 100644
index d55b7cc7c..000000000
--- a/poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 3f6f4964dc79ae986f44afe1687922381f237edd Mon Sep 17 00:00:00 2001
-From: Peter Kjellerstedt <pkj@axis.com>
-Date: Wed, 3 Mar 2021 12:47:28 +0100
-Subject: [PATCH] minstall: Correctly set uid/gid of installed files
-
-In commit caab4d3d, the uid and gid arguments passed to os.chown() by
-set_chown() were accidentally swapped, causing files to end up with
-incorrect owner/group if the owner and group are not the same.
-
-Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/6226ac26ef63335bfb817db02b3f295c78214a82]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- mesonbuild/minstall.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py
-index 785ff5869..07da408aa 100644
---- a/mesonbuild/minstall.py
-+++ b/mesonbuild/minstall.py
-@@ -148,7 +148,7 @@ def set_chown(path: str, user: T.Optional[str] = None, group: T.Optional[str] =
- Use a real function rather than a lambda to help mypy out. Also real
- functions are faster.
- """
-- real_os_chown(path, gid, uid, dir_fd=dir_fd, follow_symlinks=follow_symlinks)
-+ real_os_chown(path, uid, gid, dir_fd=dir_fd, follow_symlinks=follow_symlinks)
-
- try:
- os.chown = chown
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch b/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
index eb0e90dbd..fdadc6869 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
@@ -1,4 +1,4 @@
-From 689e28c49b85311f93f39df70cbee702fc44afb6 Mon Sep 17 00:00:00 2001
+From 2264e67d7c2c22ca634fd26ea8ada6f0344ab280 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 19 Nov 2018 14:24:26 +0100
Subject: [PATCH] python module: do not manipulate the environment when calling
@@ -12,10 +12,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 12 deletions(-)
diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
-index 07be318..b770603 100644
+index 422155b..aaf5844 100644
--- a/mesonbuild/modules/python.py
+++ b/mesonbuild/modules/python.py
-@@ -71,11 +71,6 @@ class PythonDependency(ExternalDependency):
+@@ -70,11 +70,6 @@ class PythonDependency(ExternalDependency):
old_pkg_libdir = os.environ.get('PKG_CONFIG_LIBDIR')
old_pkg_path = os.environ.get('PKG_CONFIG_PATH')
@@ -26,9 +26,9 @@ index 07be318..b770603 100644
-
try:
self.pkgdep = PkgConfigDependency(pkg_name, environment, kwargs)
- mlog.debug('Found "{}" via pkgconfig lookup in LIBPC ({})'.format(pkg_name, pkg_libdir))
-@@ -84,13 +79,6 @@ class PythonDependency(ExternalDependency):
- mlog.debug('"{}" could not be found in LIBPC ({})'.format(pkg_name, pkg_libdir))
+ mlog.debug(f'Found "{pkg_name}" via pkgconfig lookup in LIBPC ({pkg_libdir})')
+@@ -83,13 +78,6 @@ class PythonDependency(ExternalDependency):
+ mlog.debug(f'"{pkg_name}" could not be found in LIBPC ({pkg_libdir})')
mlog.debug(e)
- if old_pkg_path is not None:
@@ -39,5 +39,5 @@ index 07be318..b770603 100644
- else:
- os.environ.pop('PKG_CONFIG_LIBDIR', None)
else:
- mlog.debug('"{}" could not be found in LIBPC ({}), this is likely due to a relocated python installation'.format(pkg_name, pkg_libdir))
+ mlog.debug(f'"{pkg_name}" could not be found in LIBPC ({pkg_libdir}), this is likely due to a relocated python installation')
diff --git a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
index d0fe1126f..dcc1ce9c2 100644
--- a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
@@ -1,26 +1,28 @@
-From 6efb6114836fd4a1e012aa03b37f3beeeb22b466 Mon Sep 17 00:00:00 2001
+From 656bf55fed01df2d2e2ad6d9d9887173cb16b85c Mon Sep 17 00:00:00 2001
From: Peter Kjellerstedt <pkj@axis.com>
Date: Thu, 26 Jul 2018 16:32:49 +0200
-Subject: [PATCH] Support building allarch recipes again
+Subject: [PATCH 2/2] Support building allarch recipes again
This registers "allarch" as a known CPU family.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
-
---
mesonbuild/envconfig.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
-index 2d3c34c..b9e7908 100644
+index 4d58c91..ff01ad1 100644
--- a/mesonbuild/envconfig.py
+++ b/mesonbuild/envconfig.py
-@@ -38,6 +38,7 @@ _T = T.TypeVar('_T')
-
-
+@@ -36,6 +36,7 @@ from pathlib import Path
+
+
known_cpu_families = (
+ 'allarch',
'aarch64',
'alpha',
'arc',
+--
+2.24.0
+
diff --git a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
index ed85116c4..89257b9e0 100644
--- a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
@@ -1,4 +1,4 @@
-From 1546e1f95a119175b7a4e4272a26dd85505e5ede Mon Sep 17 00:00:00 2001
+From 30e97d4090a3d3f5b7ddcaf27cfa17f3c8c1d462 Mon Sep 17 00:00:00 2001
From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Date: Wed, 15 Nov 2017 15:05:01 +0100
Subject: [PATCH] native_bindir
@@ -18,23 +18,22 @@ Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
mesonbuild/dependencies/base.py | 19 +++++++++++--------
- mesonbuild/dependencies/ui.py | 6 +++---
- 2 files changed, 14 insertions(+), 11 deletions(-)
+ 1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
-index cd77b4b..7e3f338 100644
+index 14380d4..d0c443f 100644
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
-@@ -192,7 +192,7 @@ class Dependency:
+@@ -179,7 +179,7 @@ class Dependency:
def get_exe_args(self, compiler):
return []
- def get_pkgconfig_variable(self, variable_name: str, kwargs: T.Dict[str, T.Any]) -> str:
+ def get_pkgconfig_variable(self, variable_name: str, kwargs: T.Dict[str, T.Any], use_native=False) -> str:
- raise DependencyException('{!r} is not a pkgconfig dependency'.format(self.name))
+ raise DependencyException(f'{self.name!r} is not a pkgconfig dependency')
def get_configtool_variable(self, variable_name):
-@@ -280,7 +280,7 @@ class InternalDependency(Dependency):
+@@ -267,7 +267,7 @@ class InternalDependency(Dependency):
return True
return any(d.is_built() for d in self.ext_deps)
@@ -43,7 +42,7 @@ index cd77b4b..7e3f338 100644
raise DependencyException('Method "get_pkgconfig_variable()" is '
'invalid for an internal dependency')
-@@ -658,8 +658,11 @@ class PkgConfigDependency(ExternalDependency):
+@@ -645,8 +645,11 @@ class PkgConfigDependency(ExternalDependency):
return s.format(self.__class__.__name__, self.name, self.is_found,
self.version_reqs)
@@ -57,16 +56,16 @@ index cd77b4b..7e3f338 100644
p, out, err = Popen_safe(cmd, env=env)
rc, out, err = p.returncode, out.strip(), err.strip()
call = ' '.join(cmd)
-@@ -685,7 +688,7 @@ class PkgConfigDependency(ExternalDependency):
- env['PKG_CONFIG_LIBDIR'] = new_pkg_config_libdir
- mlog.debug('PKG_CONFIG_LIBDIR: ' + new_pkg_config_libdir)
+@@ -674,7 +677,7 @@ class PkgConfigDependency(ExternalDependency):
+ if key.startswith('PKG_'):
+ mlog.debug(f'env[{key}]: {value}')
- def _call_pkgbin(self, args, env=None):
+ def _call_pkgbin(self, args, env=None, use_native=False):
# Always copy the environment since we're going to modify it
# with pkg-config variables
if env is None:
-@@ -699,7 +702,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -688,7 +691,7 @@ class PkgConfigDependency(ExternalDependency):
targs = tuple(args)
cache = PkgConfigDependency.pkgbin_cache
if (self.pkgbin, targs, fenv) not in cache:
@@ -75,7 +74,7 @@ index cd77b4b..7e3f338 100644
return cache[(self.pkgbin, targs, fenv)]
def _convert_mingw_paths(self, args: T.List[str]) -> T.List[str]:
-@@ -905,7 +908,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -894,7 +897,7 @@ class PkgConfigDependency(ExternalDependency):
(self.name, out_raw))
self.link_args, self.raw_link_args = self._search_libs(out, out_raw)
@@ -84,7 +83,7 @@ index cd77b4b..7e3f338 100644
options = ['--variable=' + variable_name, self.name]
if 'define_variable' in kwargs:
-@@ -918,7 +921,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -907,7 +910,7 @@ class PkgConfigDependency(ExternalDependency):
options = ['--define-variable=' + '='.join(definition)] + options
@@ -93,34 +92,3 @@ index cd77b4b..7e3f338 100644
variable = ''
if ret != 0:
if self.required:
-diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py
-index d897d76..a598d2e 100644
---- a/mesonbuild/dependencies/ui.py
-+++ b/mesonbuild/dependencies/ui.py
-@@ -325,7 +325,7 @@ class QtBaseDependency(ExternalDependency):
- self.bindir = self.get_pkgconfig_host_bins(core)
- if not self.bindir:
- # If exec_prefix is not defined, the pkg-config file is broken
-- prefix = core.get_pkgconfig_variable('exec_prefix', {})
-+ prefix = core.get_pkgconfig_variable('exec_prefix', {}, use_native=True)
- if prefix:
- self.bindir = os.path.join(prefix, 'bin')
-
-@@ -528,7 +528,7 @@ class Qt4Dependency(QtBaseDependency):
- applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease']
- for application in applications:
- try:
-- return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, {}))
-+ return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, {}, use_native=True))
- except MesonException:
- pass
-
-@@ -538,7 +538,7 @@ class Qt5Dependency(QtBaseDependency):
- QtBaseDependency.__init__(self, 'qt5', env, kwargs)
-
- def get_pkgconfig_host_bins(self, core):
-- return core.get_pkgconfig_variable('host_bins', {})
-+ return core.get_pkgconfig_variable('host_bins', {}, use_native=True)
-
- def get_private_includes(self, mod_inc_dir, module):
- return _qt_get_private_includes(mod_inc_dir, module, self.version)
diff --git a/poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch b/poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch
new file mode 100644
index 000000000..76daf019b
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch
@@ -0,0 +1,412 @@
+From 4e312c19e693a69b0650ce6c8a8903163c959996 Mon Sep 17 00:00:00 2001
+From: Xavier Claessens <xavier.claessens@collabora.com>
+Date: Tue, 11 May 2021 09:18:47 -0400
+Subject: [PATCH] gnome: Fix gtkdoc generation
+
+install_scripts used to replace @BUILD_ROOT@ and @SOURCE_ROOT@ but it
+was not documented and got removed in Meson 0.58.0. gnome.gtkdoc() was
+relying on that behaviour, but it has always been broken in the case the
+source or build directory contains spaces.
+
+Fix this by changing get_include_args() to substitue paths directly
+which will then get escaped correctly.
+
+Add a unit test that builds GObject documentation which is where this
+issue has been spotted.
+
+Fixes: #8744
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/modules/__init__.py | 54 +++++++++----------
+ mesonbuild/modules/gnome.py | 15 +++---
+ mesonbuild/modules/hotdoc.py | 3 +-
+ mesonbuild/modules/qt.py | 4 +-
+ mesonbuild/modules/windows.py | 5 +-
+ .../10 gtk-doc/doc/foobar1/foobar-docs.sgml | 2 +-
+ .../doc/foobar1/foobar-sections.txt | 16 ++++++
+ .../10 gtk-doc/doc/foobar1/foobar.types | 4 ++
+ .../10 gtk-doc/doc/foobar1/meson.build | 6 ++-
+ test cases/frameworks/10 gtk-doc/foo.c | 30 +++++++++++
+ .../frameworks/10 gtk-doc/include/foo.h | 18 +++++++
+ test cases/frameworks/10 gtk-doc/meson.build | 12 +++++
+ test cases/frameworks/10 gtk-doc/test.json | 4 +-
+ 13 files changed, 127 insertions(+), 46 deletions(-)
+ create mode 100644 test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt
+ create mode 100644 test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types
+ create mode 100644 test cases/frameworks/10 gtk-doc/foo.c
+
+diff --git a/mesonbuild/modules/__init__.py b/mesonbuild/modules/__init__.py
+index ddb5e3e6cf3..c0970294c34 100644
+--- a/mesonbuild/modules/__init__.py
++++ b/mesonbuild/modules/__init__.py
+@@ -56,6 +56,33 @@ def __init__(self, interpreter: 'Interpreter') -> None:
+ self.target_machine = interpreter.builtin['target_machine'].held_object
+ self.current_node = interpreter.current_node
+
++ def get_include_args(self, include_dirs, prefix='-I'):
++ if not include_dirs:
++ return []
++
++ srcdir = self.environment.get_source_dir()
++ builddir = self.environment.get_build_dir()
++
++ dirs_str = []
++ for dirs in unholder(include_dirs):
++ if isinstance(dirs, str):
++ dirs_str += [f'{prefix}{dirs}']
++ continue
++
++ # Should be build.IncludeDirs object.
++ basedir = dirs.get_curdir()
++ for d in dirs.get_incdirs():
++ expdir = os.path.join(basedir, d)
++ srctreedir = os.path.join(srcdir, expdir)
++ buildtreedir = os.path.join(builddir, expdir)
++ dirs_str += [f'{prefix}{buildtreedir}',
++ f'{prefix}{srctreedir}']
++ for d in dirs.get_extra_build_dirs():
++ dirs_str += [f'{prefix}{d}']
++
++ return dirs_str
++
++
+ class ModuleObject:
+ """Base class for all objects returned by modules
+ """
+@@ -71,33 +98,6 @@ def __init__(self, interpreter: T.Optional['Interpreter'] = None) -> None:
+ class ExtensionModule(ModuleObject):
+ pass
+
+-def get_include_args(include_dirs, prefix='-I'):
+- '''
+- Expand include arguments to refer to the source and build dirs
+- by using @SOURCE_ROOT@ and @BUILD_ROOT@ for later substitution
+- '''
+- if not include_dirs:
+- return []
+-
+- dirs_str = []
+- for dirs in unholder(include_dirs):
+- if isinstance(dirs, str):
+- dirs_str += [f'{prefix}{dirs}']
+- continue
+-
+- # Should be build.IncludeDirs object.
+- basedir = dirs.get_curdir()
+- for d in dirs.get_incdirs():
+- expdir = os.path.join(basedir, d)
+- srctreedir = os.path.join('@SOURCE_ROOT@', expdir)
+- buildtreedir = os.path.join('@BUILD_ROOT@', expdir)
+- dirs_str += [f'{prefix}{buildtreedir}',
+- f'{prefix}{srctreedir}']
+- for d in dirs.get_extra_build_dirs():
+- dirs_str += [f'{prefix}{d}']
+-
+- return dirs_str
+-
+ def is_module_library(fname):
+ '''
+ Check if the file is a library-like file generated by a module-specific
+diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
+index d0b053d4f76..c91cda66f8b 100644
+--- a/mesonbuild/modules/gnome.py
++++ b/mesonbuild/modules/gnome.py
+@@ -26,7 +26,6 @@
+ from .. import mesonlib
+ from .. import interpreter
+ from . import GResourceTarget, GResourceHeaderTarget, GirTarget, TypelibTarget, VapiTarget
+-from . import get_include_args
+ from . import ExtensionModule
+ from . import ModuleReturnValue
+ from ..mesonlib import (
+@@ -394,7 +393,7 @@ def _get_dependencies_flags(self, deps, state, depends, include_rpath=False,
+ gi_includes.update([girdir])
+ if isinstance(dep, InternalDependency):
+ cflags.update(dep.get_compile_args())
+- cflags.update(get_include_args(dep.include_directories))
++ cflags.update(state.get_include_args(dep.include_directories))
+ for lib in unholder(dep.libraries):
+ if isinstance(lib, build.SharedLibrary):
+ internal_ldflags.update(self._get_link_args(state, lib, depends, include_rpath))
+@@ -443,7 +442,7 @@ def _get_dependencies_flags(self, deps, state, depends, include_rpath=False,
+ else:
+ external_ldflags.update([lib])
+ elif isinstance(dep, (build.StaticLibrary, build.SharedLibrary)):
+- cflags.update(get_include_args(dep.get_include_dirs()))
++ cflags.update(state.get_include_args(dep.get_include_dirs()))
+ depends.append(dep)
+ else:
+ mlog.log(f'dependency {dep!r} not handled to build gir files')
+@@ -853,7 +852,7 @@ def generate_gir(self, state, args, kwargs):
+ scan_command += self._scan_header(kwargs)
+ scan_command += self._scan_extra_args(kwargs)
+ scan_command += ['-I' + srcdir, '-I' + builddir]
+- scan_command += get_include_args(girtargets_inc_dirs)
++ scan_command += state.get_include_args(girtargets_inc_dirs)
+ scan_command += ['--filelist=' + self._make_gir_filelist(state, srcdir, ns, nsversion, girtargets, libsources)]
+ scan_command += self._scan_link_withs(state, depends, kwargs)
+ scan_command += self._scan_include(state, depends, gir_inc_dirs, kwargs)
+@@ -863,8 +862,8 @@ def generate_gir(self, state, args, kwargs):
+ scan_command += ['--cflags-begin']
+ scan_command += cflags
+ scan_command += ['--cflags-end']
+- scan_command += get_include_args(inc_dirs)
+- scan_command += get_include_args(list(gi_includes) + gir_inc_dirs + inc_dirs, prefix='--add-include-path=')
++ scan_command += state.get_include_args(inc_dirs)
++ scan_command += state.get_include_args(list(gi_includes) + gir_inc_dirs + inc_dirs, prefix='--add-include-path=')
+ scan_command += list(internal_ldflags)
+ scan_command += self._scan_gir_targets(state, girtargets)
+ scan_command += self._scan_langs(state, [lc[0] for lc in langs_compilers])
+@@ -886,7 +885,7 @@ def generate_gir(self, state, args, kwargs):
+
+ typelib_output = f'{ns}-{nsversion}.typelib'
+ typelib_cmd = [gicompiler, scan_target, '--output', '@OUTPUT@']
+- typelib_cmd += get_include_args(gir_inc_dirs, prefix='--includedir=')
++ typelib_cmd += state.get_include_args(gir_inc_dirs, prefix='--includedir=')
+
+ for incdir in typelib_includes:
+ typelib_cmd += ["--includedir=" + incdir]
+@@ -1127,7 +1126,7 @@ def _get_build_args(self, kwargs, state, depends):
+ 'Gir include dirs should be include_directories().')
+
+ cflags.extend(deps_cflags)
+- cflags.extend(get_include_args(inc_dirs))
++ cflags.extend(state.get_include_args(inc_dirs))
+ ldflags = []
+ ldflags.extend(internal_ldflags)
+ ldflags.extend(external_ldflags)
+diff --git a/mesonbuild/modules/hotdoc.py b/mesonbuild/modules/hotdoc.py
+index bf8cd229c0d..89a5d938ea7 100644
+--- a/mesonbuild/modules/hotdoc.py
++++ b/mesonbuild/modules/hotdoc.py
+@@ -22,7 +22,6 @@
+ from mesonbuild.coredata import MesonException
+ from . import ModuleReturnValue
+ from . import ExtensionModule
+-from . import get_include_args
+ from ..dependencies import Dependency, InternalDependency
+ from ..interpreterbase import FeatureNew, InvalidArguments, noPosargs, noKwargs
+ from ..interpreter import CustomTargetHolder
+@@ -191,7 +190,7 @@ def process_dependencies(self, deps):
+ for dep in mesonlib.listify(ensure_list(deps)):
+ dep = getattr(dep, "held_object", dep)
+ if isinstance(dep, InternalDependency):
+- inc_args = get_include_args(dep.include_directories)
++ inc_args = self.state.get_include_args(dep.include_directories)
+ cflags.update([self.replace_dirs_in_string(x)
+ for x in inc_args])
+ cflags.update(self.process_dependencies(dep.libraries))
+diff --git a/mesonbuild/modules/qt.py b/mesonbuild/modules/qt.py
+index b7389bd59af..1bf0099d1df 100644
+--- a/mesonbuild/modules/qt.py
++++ b/mesonbuild/modules/qt.py
+@@ -23,7 +23,7 @@
+ from ..mesonlib import MesonException, extract_as_list, File, unholder, version_compare
+ from ..dependencies import Dependency
+ import xml.etree.ElementTree as ET
+-from . import ModuleReturnValue, get_include_args, ExtensionModule
++from . import ModuleReturnValue, ExtensionModule
+ from ..interpreterbase import noPosargs, permittedKwargs, FeatureNew, FeatureNewKwargs
+ from ..interpreter import extract_required_kwarg
+ from ..programs import NonExistingExternalProgram
+@@ -239,7 +239,7 @@ def preprocess(self, state, args, kwargs):
+ ui_gen = build.Generator([self.uic], ui_kwargs)
+ ui_output = ui_gen.process_files(f'Qt{self.qt_version} ui', ui_files, state)
+ sources.append(ui_output)
+- inc = get_include_args(include_dirs=include_directories)
++ inc = state.get_include_args(include_dirs=include_directories)
+ compile_args = []
+ for dep in unholder(dependencies):
+ if isinstance(dep, Dependency):
+diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py
+index d7a86380885..c4fdc196681 100644
+--- a/mesonbuild/modules/windows.py
++++ b/mesonbuild/modules/windows.py
+@@ -19,7 +19,6 @@
+ from .. import mlog
+ from .. import mesonlib, build
+ from ..mesonlib import MachineChoice, MesonException, extract_as_list, unholder
+-from . import get_include_args
+ from . import ModuleReturnValue
+ from . import ExtensionModule
+ from ..interpreter import CustomTargetHolder
+@@ -83,12 +82,12 @@ def compile_resources(self, state, args, kwargs):
+ wrc_depends = extract_as_list(kwargs, 'depends', pop = True)
+ for d in wrc_depends:
+ if isinstance(d, CustomTargetHolder):
+- extra_args += get_include_args([d.outdir_include()])
++ extra_args += state.get_include_args([d.outdir_include()])
+ inc_dirs = extract_as_list(kwargs, 'include_directories', pop = True)
+ for incd in inc_dirs:
+ if not isinstance(incd.held_object, (str, build.IncludeDirs)):
+ raise MesonException('Resource include dirs should be include_directories().')
+- extra_args += get_include_args(inc_dirs)
++ extra_args += state.get_include_args(inc_dirs)
+
+ rescomp, rescomp_type = self._find_resource_compiler(state)
+ if rescomp_type == ResourceCompilerType.rc:
+diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml
+index 95f73efdf45..6ccd087dc18 100644
+--- a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml
++++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml
+@@ -35,7 +35,7 @@
+ </partintro>
+ <xi:include href="xml/foo.xml"/>
+ <xi:include href="../../include/bar.xml"/>
+- <xi:include href="xml/foo-version.xml"/>
++ <xi:include href="xml/version.xml"/>
+ </reference>
+
+ </book>
+diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt
+new file mode 100644
+index 00000000000..d14c8dab010
+--- /dev/null
++++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt
+@@ -0,0 +1,16 @@
++<SECTION>
++<FILE>foo</FILE>
++<TITLE>FooObj</TITLE>
++FooObj
++FooObjClass
++foo_do_something
++</SECTION>
++
++<SECTION>
++<FILE>version</FILE>
++<TITLE>version</TITLE>
++FOO_MAJOR_VERSION
++FOO_MINOR_VERSION
++FOO_MICRO_VERSION
++</SECTION>
++
+diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types
+new file mode 100644
+index 00000000000..0a9c046f3ed
+--- /dev/null
++++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types
+@@ -0,0 +1,4 @@
++% This include is useless it's a regression test for https://github.com/mesonbuild/meson/issues/8744
++#include <foo.h>
++
++foo_obj_get_type
+diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build b/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build
+index 149c6e956aa..f4b3724dbae 100644
+--- a/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build
++++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build
+@@ -1,5 +1,9 @@
+ gnome.gtkdoc('foobar',
+- src_dir : inc,
++ src_dir : [inc, '.'],
+ main_sgml : 'foobar-docs.sgml',
+ content_files : [docbook, version_xml],
++ dependencies: foo_dep,
++ # Manually written types file for regression test:
++ # https://github.com/mesonbuild/meson/issues/8744
++ gobject_typesfile: 'foobar.types',
+ install : true)
+diff --git a/test cases/frameworks/10 gtk-doc/foo.c b/test cases/frameworks/10 gtk-doc/foo.c
+new file mode 100644
+index 00000000000..36c0639ec08
+--- /dev/null
++++ b/test cases/frameworks/10 gtk-doc/foo.c
+@@ -0,0 +1,30 @@
++#include <foo.h>
++
++
++struct _FooObj {
++ GObject parent;
++ int dummy;
++};
++
++G_DEFINE_TYPE(FooObj, foo_obj, G_TYPE_OBJECT)
++
++static void foo_obj_init (FooObj *self)
++{
++}
++
++static void foo_obj_class_init (FooObjClass *klass)
++{
++}
++
++/**
++ * foo_do_something:
++ * @self: self
++ *
++ * Useless function.
++ *
++ * Returns: 0.
++ */
++int foo_do_something(FooObj *self)
++{
++ return 0;
++}
+diff --git a/test cases/frameworks/10 gtk-doc/include/foo.h b/test cases/frameworks/10 gtk-doc/include/foo.h
+index 7b8946b6a86..510f3d1ecb5 100644
+--- a/test cases/frameworks/10 gtk-doc/include/foo.h
++++ b/test cases/frameworks/10 gtk-doc/include/foo.h
+@@ -1,5 +1,7 @@
+ #pragma once
+
++#include <glib-object.h>
++
+ /**
+ * FooIndecision:
+ * @FOO_MAYBE: Something maybe
+@@ -13,3 +15,19 @@ typedef enum {
+ FOO_POSSIBLY,
+ } FooIndecision;
+
++/**
++ * FooObjClass:
++ *
++ * The class
++ */
++
++/**
++ * FooObj:
++ *
++ * The instance
++ */
++
++#define FOO_TYPE_OBJ foo_obj_get_type()
++G_DECLARE_FINAL_TYPE(FooObj, foo_obj, FOO, OBJ, GObject)
++
++int foo_do_something(FooObj *self);
+diff --git a/test cases/frameworks/10 gtk-doc/meson.build b/test cases/frameworks/10 gtk-doc/meson.build
+index 5c22ad0afa4..292980fafa7 100644
+--- a/test cases/frameworks/10 gtk-doc/meson.build
++++ b/test cases/frameworks/10 gtk-doc/meson.build
+@@ -24,4 +24,16 @@ if gtkdoc_ver.version_compare('<1.26')
+ error('MESON_SKIP_TEST gtk-doc test requires gtkdoc >= 1.26.')
+ endif
+
++gobject = dependency('gobject-2.0')
++
++libfoo = library('foo', 'foo.c',
++ include_directories: inc,
++ dependencies: gobject,
++)
++
++foo_dep = declare_dependency(
++ link_with: libfoo,
++ include_directories: inc,
++)
++
+ subdir('doc')
+diff --git a/test cases/frameworks/10 gtk-doc/test.json b/test cases/frameworks/10 gtk-doc/test.json
+index c44126cc741..03ad0595817 100644
+--- a/test cases/frameworks/10 gtk-doc/test.json
++++ b/test cases/frameworks/10 gtk-doc/test.json
+@@ -4,8 +4,8 @@
+ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/BAR.html"},
+ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar.devhelp2"},
+ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar.html"},
+- {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar-foo.html"},
+- {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar-foo-version.html"},
++ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/FooObj.html"},
++ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foo-version.html"},
+ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/home.png"},
+ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/index.html"},
+ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/left.png"},
diff --git a/poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch b/poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch
deleted file mode 100644
index 772395e87..000000000
--- a/poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-meson.build files that use cc.run() in native builds can silently fallback to
-meson.get_cross_property() in cross builds without an exe-wrapper, but there's
-no way to know that this is happening.
-
-As the defaults may be pessimistic (for example, disabling the support for a
-feature that should be enabled) emit a warning when the default is used, so that
-the recipe can explicitly set the cross property as relevant.
-
-Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/5071]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
-index 3c3cfae0..10e741ae 100644
---- a/mesonbuild/interpreter.py
-+++ b/mesonbuild/interpreter.py
-@@ -1890,6 +1890,7 @@ class MesonMain(InterpreterObject):
- return props[propname]
- except Exception:
- if len(args) == 2:
-+ mlog.warning('Cross property %s is using default value %s' % (propname, args[1]))
- return args[1]
- raise InterpreterException('Unknown cross property: %s.' % propname)
-
diff --git a/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch b/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch
index 25b30ca27..29e164ccc 100644
--- a/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch
+++ b/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch
@@ -3,7 +3,7 @@ to be executed) but *host* gobject-introspection libraries, as otherwise the
native pkg-config can be used and the build will try to link native and host
binaries together.
-Upstream-Status: Pending
+Upstream-Status: Backport [589236226856f591c9e8daf0cb7aa1aef8862388]
Signed-off-by: Ross Burton <ross.burton@arm.com>
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
diff --git a/poky/meta/recipes-devtools/meson/meson_0.57.1.bb b/poky/meta/recipes-devtools/meson/meson_0.58.0.bb
index de9b905c1..de9b905c1 100644
--- a/poky/meta/recipes-devtools/meson/meson_0.57.1.bb
+++ b/poky/meta/recipes-devtools/meson/meson_0.58.0.bb
diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.57.1.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.0.bb
index 8778cab12..74e1a7104 100644
--- a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.57.1.bb
+++ b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.0.bb
@@ -1,21 +1,11 @@
include meson.inc
-inherit siteinfo
+inherit meson-routines
inherit nativesdk
SRC_URI += "file://meson-setup.py \
file://meson-wrapper"
-def meson_endian(prefix, d):
- arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS")
- sitedata = siteinfo_data_for_machine(arch, os, d)
- if "endian-little" in sitedata:
- return "little"
- elif "endian-big" in sitedata:
- return "big"
- else:
- bb.fatal("Cannot determine endianism for %s-%s" % (arch, os))
-
# The cross file logic is similar but not identical to that in meson.bbclass,
# since it's generating for an SDK rather than a cross-compile. Important
# differences are:
@@ -44,7 +34,7 @@ sys_root = @OECORE_TARGET_SYSROOT
[host_machine]
system = '${SDK_OS}'
-cpu_family = '${SDK_ARCH}'
+cpu_family = '${@meson_cpu_family("SDK_ARCH", d)}'
cpu = '${SDK_ARCH}'
endian = '${@meson_endian("SDK", d)}'
EOF
diff --git a/poky/meta/recipes-devtools/mklibs/files/ac_init_fix.patch b/poky/meta/recipes-devtools/mklibs/files/ac_init_fix.patch
deleted file mode 100644
index 422af1042..000000000
--- a/poky/meta/recipes-devtools/mklibs/files/ac_init_fix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Get the version of mklibs by simpler means. The MKLIBS_VERSION string in the
-configure.ac file is replaced with real version string by the
-do_configure_prepend() function from the recipe .bb file.
-
-Upstream-Status: Inappropriate [configuration]
-
-Nitin A Kamble <nitin.a.kamble@intel.com>
-Date: 2011/01/24
-
-Index: mklibs/configure.ac
-===================================================================
---- mklibs.orig/configure.ac 2010-02-21 17:34:56.000000000 -0800
-+++ mklibs/configure.ac 2011-01-24 18:52:19.943242079 -0800
-@@ -1,4 +1,4 @@
--AC_INIT([mklibs],m4_esyscmd(dpkg-parsechangelog | perl -ne 'print $1 if m/^Version: (.*)$/;'))
-+AC_INIT([mklibs], MKLIBS_VERSION)
- AM_INIT_AUTOMAKE([foreign no-define])
- AC_CONFIG_HEADERS([config.h])
- AM_MAINTAINER_MODE
diff --git a/poky/meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch b/poky/meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch
deleted file mode 100644
index 17d9af4de..000000000
--- a/poky/meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From dcb45256970b15b672d0004533826c94083356e5 Mon Sep 17 00:00:00 2001
-From: Yuanjie Huang <yuanjie.huang@windriver.com>
-Date: Fri, 17 Apr 2015 14:48:20 +0800
-Subject: [PATCH 4/6] avoid failure on symbol provided by application
-
-Upstream-Status: Pending
-
-Undefined symbols in a library can be provided by the application
-that links to the library, such as `logsink' in libmultipath.so.0.
-This fix checks the type of object in which the symbol is needed
-and the existence of the symbol in application, when a symbol
-cannot be provided by libraries. It prevents false alarm on absence
-of symbols.
-
-Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
-
----
- src/mklibs | 28 ++++++++++++++++++++++++----
- 1 file changed, 24 insertions(+), 4 deletions(-)
-
-diff --git a/src/mklibs b/src/mklibs
-index a3533c0..66b7a09 100755
---- a/src/mklibs
-+++ b/src/mklibs
-@@ -133,9 +133,9 @@ class Symbol(object):
- return '@'.join(ret)
-
- class UndefinedSymbol(Symbol):
-- def __init__(self, name, weak, version, library):
-+ def __init__(self, name, weak, version, library, object):
- super(UndefinedSymbol, self).__init__(name, version, library)
-- self.weak, self.library = weak, library
-+ self.weak, self.library, self.object = weak, library, object
-
- def symbol_is_blacklisted(name):
- # The ARM Embedded ABI spec states symbols under this namespace as
-@@ -152,6 +152,11 @@ def undefined_symbols(obj):
-
- output = command("mklibs-readelf", "--print-symbols-undefined", obj)
-
-+ if len(obj) > len(dest_path) and obj[:len(dest_path)] == dest_path:
-+ object = obj[len(dest_path) + 1:-len('-so-stripped')]
-+ else:
-+ object = obj
-+
- result = []
- for line in output:
- name, weak_string, version_string, library_string = line.split()[:4]
-@@ -171,7 +176,7 @@ def undefined_symbols(obj):
- if library_string.lower() != 'none':
- library = library_string
-
-- result.append(UndefinedSymbol(name, weak, version, library))
-+ result.append(UndefinedSymbol(name, weak, version, library, object))
-
- return result
-
-@@ -498,12 +503,13 @@ while 1:
- and re.search("^ps_", str(symbol)))
- and not (re.search("ld-linux.so.3$", str(symbol)))
- and not (re.search("^__gnu_local_gp", str(symbol)))):
-- debug(DEBUG_SPAM, "needed_symbols adding %s, weak: %s" % (symbol, symbol.weak))
-+ debug(DEBUG_SPAM, "needed_symbols adding %s, weak: %s, for %s" % (symbol, symbol.weak, obj))
- needed_symbols[str(symbol)] = symbol
- libraries.update(library_depends(obj))
-
- # calculate what symbols are present in small_libs and available_libs
- present_symbols = {}
-+ present_symbol_progs = {}
- checked_libs = small_libs
- checked_libs.extend(available_libs)
- checked_libs.append(sysroot + ldlib)
-@@ -513,6 +519,12 @@ while 1:
- names = symbol.base_names()
- for name in names:
- present_symbols[name] = symbol
-+ if not so_pattern.match(lib):
-+ debug(DEBUG_SPAM, "present_symbol_progs adding %s, from executable %s" % (' '.join(names), lib))
-+ for name in names:
-+ progs = present_symbol_progs.get(name, set())
-+ progs.add(lib)
-+ present_symbol_progs[name] = progs
-
- # are we finished?
- num_unresolved = 0
-@@ -568,6 +580,14 @@ while 1:
- for name in needed_symbols:
- if not name in symbol_provider:
- if not needed_symbols[name].weak:
-+ # WORKAROUND: Undefined symbols in a library can be provided by the application
-+ # that links to the library. So if the object which requires the symbol is a library
-+ # and some application can provide the symbol, the undefined symbol is skipped.
-+ symbol = needed_symbols[name]
-+ if so_pattern.match(symbol.object) and present_symbol_progs.get(name, None):
-+ debug(DEBUG_SPAM, "symbol %s in library %s is provided by executable %s" \
-+ % (name, symbol.object, ' '.join(present_symbol_progs[name])))
-+ continue
- raise Exception("No library provides non-weak %s" % name)
- else:
- lib = symbol_provider[name]
---
-2.16.1
-
diff --git a/poky/meta/recipes-devtools/mklibs/files/fix_STT_GNU_IFUNC.patch b/poky/meta/recipes-devtools/mklibs/files/fix_STT_GNU_IFUNC.patch
deleted file mode 100644
index d27a48916..000000000
--- a/poky/meta/recipes-devtools/mklibs/files/fix_STT_GNU_IFUNC.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-The libc6-dev in Ubuntu 9.04 is so old that the elf.h doesn't
-define STT_GNU_IFUNC, so we have to define it ourselves.
-
-Upstream-Status: Inappropriate [other] - old release specific, maybe removable
-
--- Dexuan Cui (dexuan.cui@intel.com) Feb 16, 2011.
-
-diff --git a/src/mklibs-readelf/main.cpp b/src/mklibs-readelf/main.cpp
-index 2444c39..56d93f8 100644
---- a/src/mklibs-readelf/main.cpp
-+++ b/src/mklibs-readelf/main.cpp
-@@ -6,6 +6,14 @@
- #include <vector>
-
- #include <elf.h>
-+/*
-+ * The /usr/include/elf.h in some distributions(like Ubuntu 9.04) doesn't
-+ * define the macro. We need to define it here.
-+ */
-+#ifndef STT_GNU_IFUNC
-+#define STT_GNU_IFUNC 10 /* Symbol is indirect code object */
-+#endif
-+
- #include <getopt.h>
-
- #include "elf.hpp"
diff --git a/poky/meta/recipes-devtools/mklibs/files/fix_cross_compile.patch b/poky/meta/recipes-devtools/mklibs/files/fix_cross_compile.patch
deleted file mode 100644
index 13e4606b8..000000000
--- a/poky/meta/recipes-devtools/mklibs/files/fix_cross_compile.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Remove dependency on dpkg
-
-Upstream-Status: Submitted
-
-Asking the host OS whether it supports multiarch is not useful
-in a cross-compilation environment, or if the user has specified
-a libdir explicitly. So this patch, based on the work of Mentor
-Graphics, removes mklibs's dependency on dpkg package.
-
-Signed-off-by: Yuanjie Huang <Yuanjie.Huang@windriver.com>
- src/mklibs | 30 +++++++++++++++++++-----------
- 1 file changed, 19 insertions(+), 11 deletions(-)
-
-diff --git a/src/mklibs b/src/mklibs
-index d9b784b..c5614ea 100755
---- a/src/mklibs
-+++ b/src/mklibs
-@@ -261,6 +261,11 @@ def extract_soname(so_file):
- return ""
-
- def multiarch(paths):
-+ # Asking the host OS whether it supports multiarch is not useful
-+ # in a cross-compilation environment, or if the user has specified
-+ # a libdir explicitly.
-+ if sysroot != "" or libdir != "":
-+ return paths
- devnull = open('/dev/null', 'w')
- dpkg_architecture = subprocess.Popen(
- ['dpkg-architecture', '-qDEB_HOST_MULTIARCH'],
-@@ -340,7 +345,7 @@ lib_path = []
- dest_path = "DEST"
- ldlib = "LDLIB"
- include_default_lib_path = "yes"
--default_lib_path = multiarch(["/lib/", "/usr/lib/", "/usr/X11R6/lib/"])
-+default_lib_path = ["/lib/", "/usr/lib/", "/usr/X11R6/lib/"]
- libc_extras_dir = "/usr/lib/libc_pic"
- libc_extras_dir_default = True
- libdir = "lib"
-@@ -386,7 +391,7 @@ for opt, arg in optlist:
- elif opt == "--libdir":
- libdir = arg
- elif opt in ("--help", "-h"):
-- usage(0)
-+ usage(0)
- sys.exit(0)
- elif opt in ("--version", "-V"):
- version(vers)
-@@ -395,6 +400,7 @@ for opt, arg in optlist:
- print "WARNING: unknown option: " + opt + "\targ: " + arg
-
- if include_default_lib_path == "yes":
-+ default_lib_path = multiarch(default_lib_path)
- lib_path.extend([a.replace("/lib/", "/" + libdir + "/") for a in default_lib_path])
-
- if libc_extras_dir_default:
-@@ -661,16 +669,16 @@ ld_path_name = os.path.dirname(ldlib)
- ld_full_path = "../" + ldlib
- ld_file = find_lib(ld_file_name)
-
--if ld_path_name != "/lib":
-- if os.access(dest_path + "/" + ld_file_name, os.F_OK):
-- os.remove(dest_path + "/" + ld_file_name)
-+#if ld_path_name != "/lib":
-+# if os.access(dest_path + "/" + ld_file_name, os.F_OK):
-+# os.remove(dest_path + "/" + ld_file_name)
-
--if not os.path.exists(dest_path + "/../" + ld_path_name):
-- os.mkdir(dest_path + "/../" + ld_path_name)
-+#if not os.path.exists(dest_path + "/../" + ld_path_name):
-+# os.mkdir(dest_path + "/../" + ld_path_name)
-
--if not os.access(dest_path + "/" + ld_full_path, os.F_OK):
-- debug(DEBUG_NORMAL, "I: stripping and copying dynamic linker to " + ld_full_path)
-+if not os.access(dest_path + "/" + ld_file_name, os.F_OK):
-+ debug(DEBUG_NORMAL, "I: stripping and copying dynamic linker to " + ld_file_name)
- command(target + "objcopy", "--strip-unneeded -R .note -R .comment",
-- ld_file, dest_path + "/" + ld_full_path)
-+ ld_file, dest_path + "/" + ld_file_name)
-
--os.chmod(dest_path + "/" + ld_full_path, 0755)
-+os.chmod(dest_path + "/" + ld_file_name, 0755)
diff --git a/poky/meta/recipes-devtools/mklibs/files/show-GNU-unique-symbols-as-provided-symbols.patch b/poky/meta/recipes-devtools/mklibs/files/show-GNU-unique-symbols-as-provided-symbols.patch
deleted file mode 100644
index bc56593e6..000000000
--- a/poky/meta/recipes-devtools/mklibs/files/show-GNU-unique-symbols-as-provided-symbols.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From eddf04c7f8312e9c29cdb24e431b7e4fb2cc70ed Mon Sep 17 00:00:00 2001
-From: Yuanjie Huang <yuanjie.huang@windriver.com>
-Date: Wed, 15 Apr 2015 14:00:06 +0800
-Subject: [PATCH] Show GNU unique symbols as provided symbols
-
-Upstream-Status: Submitted
-
-GNU Unique symbol is a GNU extension employed by new version of GCC
-by default. Even Standard C++ library in GCC 4.9 provides some symbols,
-such as _ZNSs4_Rep20_S_empty_rep_storageE in this binding type instead
-of ELF standard weak binding.
-This patch adds support of this new binding type to mklibs-readelf.
-
-Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
----
- src/mklibs-readelf/main.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/mklibs-readelf/main.cpp b/src/mklibs-readelf/main.cpp
-index 56d93f8..0134530 100644
---- a/src/mklibs-readelf/main.cpp
-+++ b/src/mklibs-readelf/main.cpp
-@@ -88,7 +88,7 @@ static void process_symbols_provided (const Elf::section_type<Elf::section_type_
- uint8_t type = symbol->get_type ();
- const std::string &name = symbol->get_name_string ();
-
-- if (bind != STB_GLOBAL && bind != STB_WEAK)
-+ if (bind != STB_GLOBAL && bind != STB_WEAK && bind != STB_GNU_UNIQUE)
- continue;
- if (shndx == SHN_UNDEF || shndx == SHN_ABS)
- continue;
---
-1.8.5.2.233.g932f7e4
-
diff --git a/poky/meta/recipes-devtools/mklibs/files/sysrooted-ldso.patch b/poky/meta/recipes-devtools/mklibs/files/sysrooted-ldso.patch
deleted file mode 100644
index 75500a029..000000000
--- a/poky/meta/recipes-devtools/mklibs/files/sysrooted-ldso.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-In cross builds we will have to respect sysroot
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: mklibs-0.1.39/src/mklibs
-===================================================================
---- mklibs-0.1.39.orig/src/mklibs 2014-03-01 18:25:36.000000000 +0000
-+++ mklibs-0.1.39/src/mklibs 2014-10-19 00:51:46.813534596 +0000
-@@ -495,7 +495,7 @@
- present_symbols = {}
- checked_libs = small_libs
- checked_libs.extend(available_libs)
-- checked_libs.append(ldlib)
-+ checked_libs.append(sysroot + ldlib)
- for lib in checked_libs:
- for symbol in provided_symbols(lib):
- debug(DEBUG_SPAM, "present_symbols adding %s" % symbol)
diff --git a/poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.44.bb b/poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.44.bb
deleted file mode 100644
index 1784af1f4..000000000
--- a/poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.44.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Shared library optimisation tool"
-DESCRIPTION = "mklibs produces cut-down shared libraries that contain only the routines required by a particular set of executables."
-HOMEPAGE = "https://launchpad.net/mklibs"
-SECTION = "devel"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=98d31037b13d896e33890738ef01af64"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20180828T214102Z/pool/main/m/mklibs/mklibs_${PV}.tar.xz \
- file://ac_init_fix.patch\
- file://fix_STT_GNU_IFUNC.patch\
- file://sysrooted-ldso.patch \
- file://avoid-failure-on-symbol-provided-by-application.patch \
- file://show-GNU-unique-symbols-as-provided-symbols.patch \
- file://fix_cross_compile.patch \
-"
-
-SRC_URI[md5sum] = "6b6eeb9b4016c6a7317acc28c89e32cc"
-SRC_URI[sha256sum] = "3af0b6bd35e5b6fc58d8b68827fbae2ff6b7e20dd2b238ccb9b49d84722066c2"
-
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/m/mklibs/"
-
-inherit autotools gettext native
diff --git a/poky/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch b/poky/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch
deleted file mode 100644
index 12707357b..000000000
--- a/poky/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 04fbe6ddb5f1e02efbcae3cdf5beb16757a98948 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 10 May 2019 12:58:01 -0700
-Subject: [PATCH] mmc_cmd.c: Use extra braces when initializing subobjects
-
-clang warns with -Werror,-Wmissing-braces, as following error
-| mmc_cmds.c:1886:36: error: suggest braces around initialization of subobject [-Werror,-W
-missing-braces]
-| struct rpmb_frame frame_status = {0};
-| ^
-| {}
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- mmc_cmds.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mmc_cmds.c b/mmc_cmds.c
-index 19a9da1..838e8c3 100644
---- a/mmc_cmds.c
-+++ b/mmc_cmds.c
-@@ -1883,7 +1883,7 @@ static int do_rpmb_op(int fd,
- u_int16_t rpmb_type;
- struct mmc_ioc_multi_cmd *mioc;
- struct mmc_ioc_cmd *ioc;
-- struct rpmb_frame frame_status = {0};
-+ struct rpmb_frame frame_status = {{0}};
-
- if (!frame_in || !frame_out || !out_cnt)
- return -EINVAL;
diff --git a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
index 8fe606915..bdd0bf7f1 100644
--- a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
+++ b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
@@ -5,13 +5,11 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://mmc.c;beginline=1;endline=20;md5=fae32792e20f4d27ade1c5a762d16b7d"
SRCBRANCH ?= "master"
-SRCREV = "73d6c59af8d1bcedf5de4aa1f5d5b7f765f545f5"
+SRCREV = "43282e80e174cc73b09b81a4d17cb3a7b4dc5cfc"
PV = "0.1+git${SRCPV}"
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git;branch=${SRCBRANCH} \
- file://0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch \
- "
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git;branch=${SRCBRANCH}"
UPSTREAM_CHECK_COMMITS = "1"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb b/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002009.bb
index c44ee6340..2234f6a74 100644
--- a/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb
+++ b/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002009.bb
@@ -17,8 +17,8 @@ DEPENDS += "perl"
SRC_URI = "https://cpan.metacpan.org/authors/id/H/HA/${CPAN_AUTHOR}/${CPAN_NAME}-${PV}.tar.gz"
-SRC_URI[md5sum] = "d5c96d51d8d5510f7c0b7f354c49af1c"
-SRC_URI[sha256sum] = "77f9fff0c96c5e09f34d0416b3533c3319f7cd0bb1f7fe8f8072ad59f433f0e5"
+SRC_URI[md5sum] = "5643cd323afb77d20363acbaf9b12bcc"
+SRC_URI[sha256sum] = "571c21193ad16195df58b06b268798796a391b398c443271721d2cc0fb7c4ac3"
S = "${WORKDIR}/${CPAN_NAME}-${PV}"
diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.3.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb
index 12496c384..93832105f 100644
--- a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.3.bb
+++ b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb
@@ -20,7 +20,7 @@ SRC_URI = "\
file://pkg-config-native.in \
file://pkg-config-esdk.in \
"
-SRC_URI[sha256sum] = "b846aea51cf696c3392a0ae58bef93e2e72f8e7073ca6ad1ed8b01c85871f9c0"
+SRC_URI[sha256sum] = "d73f32c248a4591139a6b17777c80d4deab6b414ec2b3d21d0a24be348c476ab"
inherit autotools
diff --git a/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
index 72db876ad..964d85fa3 100644
--- a/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
+++ b/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRCREV = "edf8e6f0ea77ede073f07bff0d2ae1fc7a38103b"
PV = "0.29.2+git${SRCPV}"
-SRC_URI = "git://anongit.freedesktop.org/pkg-config \
+SRC_URI = "git://gitlab.freedesktop.org/pkg-config/pkg-config.git;branch=master;protocol=https \
file://pkg-config-esdk.in \
file://pkg-config-native.in \
file://fix-glib-configure-libtool-usage.patch \
diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.2.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.3.bb
index 0a60ca746..d160fd655 100644
--- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.2.bb
+++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.3.bb
@@ -12,7 +12,7 @@ SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${S
file://0001-numpy-core-Define-RISCV-32-support.patch \
file://run-ptest \
"
-SRC_URI[sha256sum] = "c049f410c78e76ffb0af830a8afbdf8baac09897b4152b97b1a3b8345ee338ff"
+SRC_URI[sha256sum] = "b7340f0628ce1823c151e3d2a2a8cba2a3ff1357fba4475a24b1816e75c21f90"
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/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
index 680edbe70..1082fe79b 100644
--- a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
+++ b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
@@ -1,4 +1,4 @@
-From 6380cc63f79abe8b8404c9be5ed5f213a70c8c6a Mon Sep 17 00:00:00 2001
+From f6afc18e08a6c428ce8becd114c535a6840f1b9f Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 17 Jul 2018 10:13:38 +0800
Subject: [PATCH] conditionally do not fetch code by easy_install
@@ -15,7 +15,7 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 5 insertions(+)
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
-index eeb21b5..eca1edd 100644
+index 45adb6a..9ac3342 100644
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
@@ -636,6 +636,11 @@ class easy_install(Command):
diff --git a/poky/meta/recipes-devtools/python/python3-attrs_20.3.0.bb b/poky/meta/recipes-devtools/python/python3-attrs_21.2.0.bb
index 55cfda718..e89fbc96f 100644
--- a/poky/meta/recipes-devtools/python/python3-attrs_20.3.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-attrs_21.2.0.bb
@@ -3,8 +3,7 @@ HOMEPAGE = "http://www.attrs.org/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff"
-SRC_URI[sha256sum] = "832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700"
-SRC_URI[md5sum] = "4fe38f89297b2b446d83190fce189f29"
+SRC_URI[sha256sum] = "ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"
inherit pypi setuptools3
diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.14.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.17.bb
index 911c8f148..009cac660 100644
--- a/poky/meta/recipes-devtools/python/python3-git_3.1.14.bb
+++ b/poky/meta/recipes-devtools/python/python3-git_3.1.17.bb
@@ -12,7 +12,7 @@ PYPI_PACKAGE = "GitPython"
inherit pypi setuptools3
-SRC_URI[sha256sum] = "be27633e7509e58391f10207cd32b2a6cf5b908f92d9cd30da2e514e1137af61"
+SRC_URI[sha256sum] = "ee24bdc93dce357630764db659edaf6b8d664d4ff5447ccfeedd2dc5c253f41e"
DEPENDS += " ${PYTHON_PN}-gitdb"
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.2.0.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.13.7.bb
index be9418386..7688ff6d1 100644
--- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.2.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.13.7.bb
@@ -7,7 +7,7 @@ PYPI_PACKAGE = "hypothesis"
inherit pypi setuptools3
-SRC_URI[sha256sum] = "c16fbde26b65c98a2464c48209b066c2f6dab5e8e38acd9d959021eb8d58b6c0"
+SRC_URI[sha256sum] = "262bb8cee0293ad06c453e78cf89bddcb613b91f82ea5587f3787611ee62861b"
RDEPENDS_${PN} += "python3-attrs python3-core python3-sortedcontainers"
diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_3.4.0.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.3.0.bb
index 81f24e55c..f4ac3c44e 100644
--- a/poky/meta/recipes-devtools/python/python3-importlib-metadata_3.4.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.3.0.bb
@@ -8,7 +8,7 @@ inherit pypi setuptools3
PYPI_PACKAGE = "importlib_metadata"
UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P<pver>(\d+[\.\-_]*)+)/"
-SRC_URI[sha256sum] = "fa5daa4477a7414ae34e95942e4dd07f62adf589143c875c133c1e53c4eff38d"
+SRC_URI[sha256sum] = "c4646abbce80191bb548636f846e353ff1edc46a06bc536ea0a60d53211dc690"
S = "${WORKDIR}/importlib_metadata-${PV}"
diff --git a/poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb b/poky/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb
index 11a4d5432..b37a043cc 100644
--- a/poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://pypi.org/project/Jinja/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462"
-SRC_URI[sha256sum] = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"
+SRC_URI[sha256sum] = "703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4"
PYPI_PACKAGE = "Jinja2"
diff --git a/poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb b/poky/meta/recipes-devtools/python/python3-libarchive-c_3.0.bb
index 3a2d8733e..d29195545 100644
--- a/poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb
+++ b/poky/meta/recipes-devtools/python/python3-libarchive-c_3.0.bb
@@ -9,8 +9,8 @@ PYPI_PACKAGE = "libarchive-c"
inherit pypi setuptools3
-SRC_URI[md5sum] = "083bd2cb0043c1e22a52cb9a05e31532"
-SRC_URI[sha256sum] = "9919344cec203f5db6596a29b5bc26b07ba9662925a05e24980b84709232ef60"
+SRC_URI[md5sum] = "920885f5910aa8245e30896996e0415b"
+SRC_URI[sha256sum] = "6f12fa9cf0e44579e5f45bbf11aa455a930fbfdb13ea0ce3c3dfe7b9b9a452ba"
RDEPENDS_${PN} += "\
libarchive \
diff --git a/poky/meta/recipes-devtools/python/python3-markdown_3.3.4.bb b/poky/meta/recipes-devtools/python/python3-markdown_3.3.4.bb
new file mode 100644
index 000000000..47cccbe5b
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-markdown_3.3.4.bb
@@ -0,0 +1,13 @@
+SUMMARY = "A Python implementation of John Gruber's Markdown."
+HOMEPAGE = "https://python-markdown.github.io/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=745aaad0c69c60039e638bff9ffc59ed"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "Markdown"
+SRC_URI[sha256sum] = "31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49"
+
+BBCLASSEXTEND = "native"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-logging ${PYTHON_PN}-setuptools"
diff --git a/poky/meta/recipes-devtools/python/python3-markupsafe_1.1.1.bb b/poky/meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb
index cade4e0f5..5be43b6c5 100644
--- a/poky/meta/recipes-devtools/python/python3-markupsafe_1.1.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb
@@ -3,8 +3,7 @@ HOMEPAGE = "http://github.com/mitsuhiko/markupsafe"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75"
-SRC_URI[md5sum] = "43fd756864fe42063068e092e220c57b"
-SRC_URI[sha256sum] = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"
+SRC_URI[sha256sum] = "594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"
PYPI_PACKAGE = "MarkupSafe"
inherit pypi setuptools3
diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools_8.7.0.bb b/poky/meta/recipes-devtools/python/python3-more-itertools_8.8.0.bb
index 0cb61915b..1c0e84d27 100644
--- a/poky/meta/recipes-devtools/python/python3-more-itertools_8.7.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-more-itertools_8.8.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/erikrose/more-itertools"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5"
-SRC_URI[sha256sum] = "c5d6da9ca3ff65220c3bfd2a8db06d698f05d4d2b9be57e1deb2be5a45019713"
+SRC_URI[sha256sum] = "83f0308e05477c68f56ea3a888172c78ed5d5b3c282addb67508e7ba6c8f813a"
inherit pypi setuptools3 ptest
@@ -11,9 +11,13 @@ SRC_URI += " \
file://run-ptest \
"
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-asyncio \
+ "
+
RDEPENDS_${PN}-ptest += " \
${PYTHON_PN}-pytest \
-"
+ "
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.8.1.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.9.0.bb
index a2e008348..7fedcb5a8 100644
--- a/poky/meta/recipes-devtools/python/python3-pygments_2.8.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygments_2.9.0.bb
@@ -5,7 +5,7 @@ LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=98419e351433ac106a24e3ad435930bc"
inherit setuptools3
-SRC_URI[sha256sum] = "2656e1a6edcdabf4275f9a3640db59fd5de107d88e8663c5d4e9a0fa62f77f94"
+SRC_URI[sha256sum] = "a18f47b506a429f6f4b9df81bb02beab9ca21d0a5fee38ed15aef65f0545519f"
DEPENDS += "\
${PYTHON_PN} \
diff --git a/poky/meta/recipes-devtools/python/python3-pytest_6.2.2.bb b/poky/meta/recipes-devtools/python/python3-pytest_6.2.4.bb
index d221cbcd7..fa43e6ebf 100644
--- a/poky/meta/recipes-devtools/python/python3-pytest_6.2.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-pytest_6.2.4.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=81eb9f71d006c6b268cf4388e3c98f7b"
SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch "
-SRC_URI[sha256sum] = "9d1edf9e7d0b84d72ea3dbcdfd22b35fb543a5e8f2a60092dd578936bf63d7f9"
+SRC_URI[sha256sum] = "50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b"
inherit update-alternatives pypi setuptools3
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-scm_5.0.1.bb b/poky/meta/recipes-devtools/python/python3-setuptools-scm_6.0.1.bb
index ead80da7b..24409eddc 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools-scm_5.0.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools-scm_6.0.1.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "setuptools_scm handles managing your Python package versions in S
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
-SRC_URI[sha256sum] = "c85b6b46d0edd40d2301038cdea96bb6adc14d62ef943e75afb08b3e7bcf142a"
+SRC_URI[sha256sum] = "d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92"
PYPI_PACKAGE = "setuptools_scm"
inherit pypi setuptools3
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools/reproducibility.patch b/poky/meta/recipes-devtools/python/python3-setuptools/reproducibility.patch
new file mode 100644
index 000000000..149d8ad5c
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-setuptools/reproducibility.patch
@@ -0,0 +1,40 @@
+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_56.0.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_57.0.0.bb
index 07a82ad21..a15b51e31 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_56.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_57.0.0.bb
@@ -8,9 +8,10 @@ inherit pypi setuptools3
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"
+SRC_URI += "file://0001-change-shebang-to-python3.patch \
+ file://reproducibility.patch"
-SRC_URI[sha256sum] = "08a1c0f99455307c48690f00d5c2ac2c1ccfab04df00454fef854ec145b81302"
+SRC_URI[sha256sum] = "401cbf33a7bf817d08014d51560fc003b895c4cdc1a5b521ad2969e928a07535"
DEPENDS += "${PYTHON_PN}"
diff --git a/poky/meta/recipes-devtools/python/python3-six_1.15.0.bb b/poky/meta/recipes-devtools/python/python3-six_1.15.0.bb
deleted file mode 100644
index 6c6f3f962..000000000
--- a/poky/meta/recipes-devtools/python/python3-six_1.15.0.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-inherit setuptools3
-require python-six.inc
-
-SRC_URI[md5sum] = "9f90a0eaa0ea7747fda01ca79d21ebcb"
-SRC_URI[sha256sum] = "30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"
diff --git a/poky/meta/recipes-devtools/python/python3-six_1.16.0.bb b/poky/meta/recipes-devtools/python/python3-six_1.16.0.bb
new file mode 100644
index 000000000..1ba48d4f4
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-six_1.16.0.bb
@@ -0,0 +1,4 @@
+inherit setuptools3
+require python-six.inc
+
+SRC_URI[sha256sum] = "1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"
diff --git a/poky/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb b/poky/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb
new file mode 100644
index 000000000..ba3408247
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Translator of plain ASCII punctuation characters into 'smart' typographic punctuation HTML entities"
+HOMEPAGE = "https://pythonhosted.org/smartypants/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=977036977591ac666c728921ecc54c4f"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "smartypants"
+SRC_URI[sha256sum] = "7812353a32022699a1aa8cd5626e01c94a946dcaeedaee2d0b382bae4c4cbf36"
+
+BBCLASSEXTEND = "native"
+
+UPSTREAM_CHECK_REGEX = "/${PYPI_PACKAGE}/(?P<pver>(?!2\.0\.1)(\d+[\.\-_]*)+)/"
diff --git a/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb b/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.4.0.bb
index 6060c0372..0755d3e17 100644
--- a/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.4.0.bb
@@ -4,6 +4,6 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=7c7c6a1a12ec816da16c1839137d53ae"
inherit pypi setuptools3
-SRC_URI[sha256sum] = "59cc937650cf60d677c16775597c89a960658a09cf7c1a668f86e1e4464b10a1"
+SRC_URI[sha256sum] = "25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb b/poky/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb
new file mode 100644
index 000000000..3becb0dd8
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Filters to enhance web typography, including support for Django & Jinja templates"
+HOMEPAGE = "https://github.com/mintchaos/typogrify"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=12bc792d6f5415dbf421f3fd183c6dd2"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "typogrify"
+SRC_URI[sha256sum] = "8be4668cda434163ce229d87ca273a11922cb1614cb359970b7dc96eed13cb38"
+
+BBCLASSEXTEND = "native"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-smartypants"
+
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
index 237645bc6..9ed03858d 100644
--- 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
@@ -9,8 +9,7 @@ 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: Submitted [https://github.com/python/cpython/pull/13186]
-
+Upstream-Status: Backport [https://github.com/python/cpython/commit/a25c46bd7dd47a2f95b32d17ee2f66de214892c6]
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
Makefile.pre.in | 2 +-
diff --git a/poky/meta/recipes-devtools/python/python3_3.9.4.bb b/poky/meta/recipes-devtools/python/python3_3.9.5.bb
index cb371ceed..f4002f251 100644
--- a/poky/meta/recipes-devtools/python/python3_3.9.4.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.9.5.bb
@@ -38,7 +38,7 @@ SRC_URI_append_class-native = " \
file://12-distutils-prefix-is-inside-staging-area.patch \
file://0001-Don-t-search-system-for-headers-libraries.patch \
"
-SRC_URI[sha256sum] = "4b0e6644a76f8df864ae24ac500a51bbf68bd098f6a173e27d3b61cdca9aa134"
+SRC_URI[sha256sum] = "0c5a140665436ec3dbfbb79e2dfb6d192655f26ef4a29aeffcb6d1820d716d83"
# exclude pre-releases for both python 2.x and 3.x
UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
@@ -344,6 +344,7 @@ PACKAGES =+ "libpython3 libpython3-staticdev"
FILES_libpython3 = "${libdir}/libpython*.so.*"
FILES_libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}-*/libpython${PYTHON_MAJMIN}.a"
INSANE_SKIP_${PN}-dev += "dev-elf"
+INSANE_SKIP_${PN}-ptest = "dev-deps"
# catch all the rest (unsorted)
PACKAGES += "${PN}-misc"
@@ -367,7 +368,7 @@ FILES_${PN}-man = "${datadir}/man"
# See https://bugs.python.org/issue18748 and https://bugs.python.org/issue37395
RDEPENDS_libpython3_append_libc-glibc = " libgcc"
RDEPENDS_${PN}-ctypes_append_libc-glibc = " ${MLPREFIX}ldconfig"
-RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip bzip2 libgcc tzdata-europe coreutils sed"
+RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev unzip bzip2 libgcc tzdata-europe coreutils sed"
RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-tr-tr.iso-8859-9"
RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk tk-lib', '', d)}"
RDEPENDS_${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter tcl', '', d)}"
diff --git a/poky/meta/recipes-devtools/qemu/qemu-native_5.2.0.bb b/poky/meta/recipes-devtools/qemu/qemu-native_6.0.0.bb
index c8acff8e1..d23d7a8ad 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-native_5.2.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu-native_6.0.0.bb
@@ -6,4 +6,4 @@ require qemu-native.inc
EXTRA_OECONF_append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent"
-PACKAGECONFIG ??= ""
+PACKAGECONFIG ??= "pie"
diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_5.2.0.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb
index 390dadea4..9d7d0cdce 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-system-native_5.2.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb
@@ -11,7 +11,7 @@ DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native"
EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}"
-PACKAGECONFIG ??= "fdt alsa kvm \
+PACKAGECONFIG ??= "fdt alsa kvm pie \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '', d)} \
"
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index 384b0c19b..0cbd66301 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -25,46 +25,29 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch \
file://0001-Add-enable-disable-udev.patch \
file://0001-qemu-Do-not-include-file-if-not-exists.patch \
- file://mingwfix.patch \
- file://mmap.patch \
file://mmap2.patch \
file://determinism.patch \
file://0001-tests-meson.build-use-relative-path-to-refer-to-file.patch \
- file://CVE-2021-20203.patch \
- file://CVE-2020-35517_1.patch \
- file://CVE-2020-35517_2.patch \
- file://CVE-2020-35517_3.patch \
- file://CVE-2021-20181.patch \
- file://CVE-2020-29443.patch \
- file://CVE-2021-20221.patch \
- file://CVE-2021-3409_1.patch \
- file://CVE-2021-3409_2.patch \
- file://CVE-2021-3409_3.patch \
- file://CVE-2021-3409_4.patch \
- file://CVE-2021-3409_5.patch \
- file://CVE-2021-3409_6.patch \
- file://CVE-2021-3416_1.patch \
- file://CVE-2021-3416_2.patch \
- file://CVE-2021-3416_3.patch \
- file://CVE-2021-3416_4.patch \
- file://CVE-2021-3416_5.patch \
- file://CVE-2021-3416_6.patch \
- file://CVE-2021-3416_7.patch \
- file://CVE-2021-3416_8.patch \
- file://CVE-2021-3416_9.patch \
- file://CVE-2021-3416_10.patch \
- file://CVE-2021-20257.patch \
- file://CVE-2020-27821.patch \
- file://CVE-2021-20263.patch \
- file://CVE-2021-3392.patch \
+ file://0001-configure-fix-detection-of-gdbus-codegen.patch \
"
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
-SRC_URI[sha256sum] = "cb18d889b628fbe637672b0326789d9b0e3b8027e0445b936537c78549df17bc"
+SRC_URI[sha256sum] = "87bc1a471ca24b97e7005711066007d443423d19aacda3d442558ae032fa30b9"
SRC_URI_append_class-target = " file://cross.patch"
SRC_URI_append_class-nativesdk = " file://cross.patch"
+# Applies against virglrender < 0.6.0 and not qemu itself
+CVE_CHECK_WHITELIST += "CVE-2017-5957"
+
+# The VNC server can expose host files uder some circumstances. We don't
+# enable it by default.
+CVE_CHECK_WHITELIST += "CVE-2007-0998"
+
+# 'The issues identified by this CVE were determined to not constitute a vulnerability.'
+# https://bugzilla.redhat.com/show_bug.cgi?id=1609015#c11
+CVE_CHECK_WHITELIST += "CVE-2018-18438"
+
COMPATIBLE_HOST_mipsarchn32 = "null"
COMPATIBLE_HOST_mipsarchn64 = "null"
@@ -82,8 +65,6 @@ do_install_ptest() {
find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcodp]" | xargs -i rm -rf {}
# Don't check the file genreated by configure
- sed -i -e 's,${HOSTTOOLS_DIR}/python3,${bindir}/python3,' \
- ${D}/${PTEST_PATH}/tests/qemu-iotests/common.env
sed -i -e "1s,#!/usr/bin/bash,#!${base_bindir}/bash," ${D}${PTEST_PATH}/tests/data/acpi/disassemle-aml.sh
# Strip the paths from the QEMU variable, we can use PATH
@@ -110,7 +91,7 @@ EXTRA_OECONF = " \
--extra-cflags='${CFLAGS}' \
--extra-ldflags='${LDFLAGS}' \
--with-git=/bin/false \
- --disable-git-update \
+ --with-git-submodules=ignore \
--meson=meson \
${PACKAGECONFIG_CONFARGS} \
"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch
index c99adee8a..4b37967e7 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch
@@ -12,13 +12,13 @@ Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
configure | 4 ++++
1 file changed, 4 insertions(+)
-Index: qemu-5.2.0/configure
+Index: qemu-6.0.0/configure
===================================================================
---- qemu-5.2.0.orig/configure
-+++ qemu-5.2.0/configure
-@@ -1525,6 +1525,10 @@ for opt do
+--- qemu-6.0.0.orig/configure
++++ qemu-6.0.0/configure
+@@ -1565,6 +1565,10 @@ for opt do
;;
- --disable-libdaxctl) libdaxctl=no
+ --disable-gio) gio=no
;;
+ --enable-libudev) libudev="yes"
+ ;;
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-configure-fix-detection-of-gdbus-codegen.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-configure-fix-detection-of-gdbus-codegen.patch
new file mode 100644
index 000000000..8bffc3129
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-configure-fix-detection-of-gdbus-codegen.patch
@@ -0,0 +1,50 @@
+From 464cfc64201b21386030b8f353fe9724a3413a85 Mon Sep 17 00:00:00 2001
+From: Paolo Bonzini <pbonzini@redhat.com>
+Date: Wed, 5 May 2021 10:15:34 -0400
+Subject: [PATCH] configure: fix detection of gdbus-codegen
+
+"pkg-config --variable=gdbus_codegen gio-2.0" returns "gdbus-codegen",
+and it does not pass test -x (which does not walk the path).
+
+Meson 0.58.0 notices that something is iffy, as the dbus_vmstate1
+assignment in tests/qtest/meson.build uses an empty string as the
+command, and fails very eloquently:
+
+../tests/qtest/meson.build:92:2: ERROR: No program name specified.
+
+Use the "has" function instead of test -x, and fix the generation
+of config-host.mak since meson.build expects that GDBUS_CODEGEN
+is absent, rather than empty, if the tool is unavailable.
+
+Reported-by: Sebastian Mitterle <smitterl@redhat.com>
+Fixes: #178
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commitdiff;h=5ecfb76ccc056eb6127e44268e475827ae73b9e0]
+(not in 6.0.0, should be kept when upgrading)
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ configure | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+Index: qemu-6.0.0/configure
+===================================================================
+--- qemu-6.0.0.orig/configure
++++ qemu-6.0.0/configure
+@@ -3366,7 +3366,7 @@ if ! test "$gio" = "no"; then
+ gio_cflags=$($pkg_config --cflags gio-2.0)
+ gio_libs=$($pkg_config --libs gio-2.0)
+ gdbus_codegen=$($pkg_config --variable=gdbus_codegen gio-2.0)
+- if [ ! -x "$gdbus_codegen" ]; then
++ if ! has "$gdbus_codegen"; then
+ gdbus_codegen=
+ fi
+ # Check that the libraries actually work -- Ubuntu 18.04 ships
+@@ -5704,6 +5704,8 @@ if test "$gio" = "yes" ; then
+ echo "CONFIG_GIO=y" >> $config_host_mak
+ echo "GIO_CFLAGS=$gio_cflags" >> $config_host_mak
+ echo "GIO_LIBS=$gio_libs" >> $config_host_mak
++fi
++if test "$gdbus_codegen" != "" ; then
+ echo "GDBUS_CODEGEN=$gdbus_codegen" >> $config_host_mak
+ fi
+ echo "CONFIG_TLS_PRIORITY=\"$tls_priority\"" >> $config_host_mak
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
index 8ce12bdb4..2f2d19f53 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
@@ -20,10 +20,10 @@ Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
hw/usb/dev-wacom.c | 94 +++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 93 insertions(+), 1 deletion(-)
-Index: qemu-5.2.0/hw/usb/dev-wacom.c
+Index: qemu-6.0.0/hw/usb/dev-wacom.c
===================================================================
---- qemu-5.2.0.orig/hw/usb/dev-wacom.c
-+++ qemu-5.2.0/hw/usb/dev-wacom.c
+--- qemu-6.0.0.orig/hw/usb/dev-wacom.c
++++ qemu-6.0.0/hw/usb/dev-wacom.c
@@ -69,6 +69,89 @@ static const USBDescStrings desc_strings
[STR_SERIALNUMBER] = "1",
};
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch
index 3fe9aa6eb..b8d288d3a 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch
@@ -15,11 +15,11 @@ Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
linux-user/syscall.c | 2 ++
1 file changed, 2 insertions(+)
-Index: qemu-5.2.0/linux-user/syscall.c
+Index: qemu-6.0.0/linux-user/syscall.c
===================================================================
---- qemu-5.2.0.orig/linux-user/syscall.c
-+++ qemu-5.2.0/linux-user/syscall.c
-@@ -109,7 +109,9 @@
+--- qemu-6.0.0.orig/linux-user/syscall.c
++++ qemu-6.0.0/linux-user/syscall.c
+@@ -113,7 +113,9 @@
#include <linux/blkpg.h>
#include <netpacket/packet.h>
#include <linux/netlink.h>
@@ -28,4 +28,4 @@ Index: qemu-5.2.0/linux-user/syscall.c
+#endif
#include <linux/rtc.h>
#include <sound/asound.h>
- #ifdef CONFIG_BTRFS
+ #ifdef HAVE_BTRFS_H
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-tests-meson.build-use-relative-path-to-refer-to-file.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-tests-meson.build-use-relative-path-to-refer-to-file.patch
index 5cb5757c3..d5e1ab4d5 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0001-tests-meson.build-use-relative-path-to-refer-to-file.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-tests-meson.build-use-relative-path-to-refer-to-file.patch
@@ -16,19 +16,16 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
tests/meson.build | 2 +-
1 files changed, 1 insertions(+), 1 deletion(-)
-diff --git a/tests/meson.build b/tests/meson.build
-index afeb6be..54684b5 100644
---- a/tests/meson.build
-+++ b/tests/meson.build
-@@ -113,7 +113,7 @@ tests = {
+Index: qemu-6.0.0/tests/unit/meson.build
+===================================================================
+--- qemu-6.0.0.orig/tests/unit/meson.build
++++ qemu-6.0.0/tests/unit/meson.build
+@@ -42,7 +42,7 @@ tests = {
'test-keyval': [testqapi],
'test-logging': [],
'test-uuid': [],
- 'ptimer-test': ['ptimer-test-stubs.c', meson.source_root() / 'hw/core/ptimer.c'],
-+ 'ptimer-test': ['ptimer-test-stubs.c', '../hw/core/ptimer.c'],
++ 'ptimer-test': ['ptimer-test-stubs.c', '../../hw/core/ptimer.c'],
'test-qapi-util': [],
}
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch b/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
index fd54f96b0..733789be2 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
@@ -18,13 +18,13 @@ Signed-off-by: Roy Li <rongqing.li@windriver.com>
hw/mips/malta.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: qemu-5.2.0/hw/mips/malta.c
+Index: qemu-6.0.0/hw/mips/malta.c
===================================================================
---- qemu-5.2.0.orig/hw/mips/malta.c
-+++ qemu-5.2.0/hw/mips/malta.c
-@@ -62,7 +62,7 @@
-
- #define ENVP_ADDR 0x80002000l
+--- qemu-6.0.0.orig/hw/mips/malta.c
++++ qemu-6.0.0/hw/mips/malta.c
+@@ -65,7 +65,7 @@
+ #define ENVP_PADDR 0x2000
+ #define ENVP_VADDR cpu_mips_phys_to_kseg0(NULL, ENVP_PADDR)
#define ENVP_NB_ENTRIES 16
-#define ENVP_ENTRY_SIZE 256
+#define ENVP_ENTRY_SIZE 1024
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
index a0bd1c5eb..330bcaef0 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
@@ -12,11 +12,11 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
configure | 9 ---------
1 file changed, 9 deletions(-)
-Index: qemu-5.2.0/configure
+Index: qemu-6.0.0/configure
===================================================================
---- qemu-5.2.0.orig/configure
-+++ qemu-5.2.0/configure
-@@ -5001,15 +5001,6 @@ fi
+--- qemu-6.0.0.orig/configure
++++ qemu-6.0.0/configure
+@@ -4648,15 +4648,6 @@ fi
# check if we have valgrind/valgrind.h
valgrind_h=no
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch b/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch
index 201125c1f..05dc849da 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch
@@ -51,11 +51,11 @@ Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
qapi/char.json | 5 +++
3 files changed, 109 insertions(+)
-Index: qemu-5.2.0/chardev/char-socket.c
+Index: qemu-6.0.0/chardev/char-socket.c
===================================================================
---- qemu-5.2.0.orig/chardev/char-socket.c
-+++ qemu-5.2.0/chardev/char-socket.c
-@@ -1308,6 +1308,67 @@ static bool qmp_chardev_validate_socket(
+--- qemu-6.0.0.orig/chardev/char-socket.c
++++ qemu-6.0.0/chardev/char-socket.c
+@@ -1362,6 +1362,67 @@ static bool qmp_chardev_validate_socket(
return true;
}
@@ -123,7 +123,7 @@ Index: qemu-5.2.0/chardev/char-socket.c
static void qmp_chardev_open_socket(Chardev *chr,
ChardevBackend *backend,
-@@ -1316,6 +1377,9 @@ static void qmp_chardev_open_socket(Char
+@@ -1370,6 +1431,9 @@ static void qmp_chardev_open_socket(Char
{
SocketChardev *s = SOCKET_CHARDEV(chr);
ChardevSocket *sock = backend->u.socket.data;
@@ -133,7 +133,7 @@ Index: qemu-5.2.0/chardev/char-socket.c
bool do_nodelay = sock->has_nodelay ? sock->nodelay : false;
bool is_listen = sock->has_server ? sock->server : true;
bool is_telnet = sock->has_telnet ? sock->telnet : false;
-@@ -1381,6 +1445,14 @@ static void qmp_chardev_open_socket(Char
+@@ -1446,6 +1510,14 @@ static void qmp_chardev_open_socket(Char
update_disconnected_filename(s);
@@ -148,7 +148,7 @@ Index: qemu-5.2.0/chardev/char-socket.c
if (s->is_listen) {
if (qmp_chardev_open_socket_server(chr, is_telnet || is_tn3270,
is_waitconnect, errp) < 0) {
-@@ -1400,6 +1472,9 @@ static void qemu_chr_parse_socket(QemuOp
+@@ -1465,6 +1537,9 @@ static void qemu_chr_parse_socket(QemuOp
const char *host = qemu_opt_get(opts, "host");
const char *port = qemu_opt_get(opts, "port");
const char *fd = qemu_opt_get(opts, "fd");
@@ -158,7 +158,7 @@ Index: qemu-5.2.0/chardev/char-socket.c
#ifdef CONFIG_LINUX
bool tight = qemu_opt_get_bool(opts, "tight", true);
bool abstract = qemu_opt_get_bool(opts, "abstract", false);
-@@ -1407,6 +1482,20 @@ static void qemu_chr_parse_socket(QemuOp
+@@ -1472,6 +1547,20 @@ static void qemu_chr_parse_socket(QemuOp
SocketAddressLegacy *addr;
ChardevSocket *sock;
@@ -179,7 +179,7 @@ Index: qemu-5.2.0/chardev/char-socket.c
if ((!!path + !!fd + !!host) != 1) {
error_setg(errp,
"Exactly one of 'path', 'fd' or 'host' required");
-@@ -1448,13 +1537,24 @@ static void qemu_chr_parse_socket(QemuOp
+@@ -1522,13 +1611,24 @@ static void qemu_chr_parse_socket(QemuOp
sock->tls_creds = g_strdup(qemu_opt_get(opts, "tls-creds"));
sock->has_tls_authz = qemu_opt_get(opts, "tls-authz");
sock->tls_authz = g_strdup(qemu_opt_get(opts, "tls-authz"));
@@ -204,11 +204,11 @@ Index: qemu-5.2.0/chardev/char-socket.c
#ifdef CONFIG_LINUX
q_unix->has_tight = true;
q_unix->tight = tight;
-Index: qemu-5.2.0/chardev/char.c
+Index: qemu-6.0.0/chardev/char.c
===================================================================
---- qemu-5.2.0.orig/chardev/char.c
-+++ qemu-5.2.0/chardev/char.c
-@@ -839,6 +839,9 @@ QemuOptsList qemu_chardev_opts = {
+--- qemu-6.0.0.orig/chardev/char.c
++++ qemu-6.0.0/chardev/char.c
+@@ -840,6 +840,9 @@ QemuOptsList qemu_chardev_opts = {
.name = "path",
.type = QEMU_OPT_STRING,
},{
@@ -218,10 +218,10 @@ Index: qemu-5.2.0/chardev/char.c
.name = "host",
.type = QEMU_OPT_STRING,
},{
-Index: qemu-5.2.0/qapi/char.json
+Index: qemu-6.0.0/qapi/char.json
===================================================================
---- qemu-5.2.0.orig/qapi/char.json
-+++ qemu-5.2.0/qapi/char.json
+--- qemu-6.0.0.orig/qapi/char.json
++++ qemu-6.0.0/qapi/char.json
@@ -250,6 +250,10 @@
#
# @addr: socket address to listen on (server=true)
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch b/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch
index 294cf5129..3491fa8a5 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch
@@ -29,11 +29,11 @@ Signed-off-by: He Zhe <zhe.he@windriver.com>
hw/intc/apic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: qemu-5.2.0/hw/intc/apic.c
+Index: qemu-6.0.0/hw/intc/apic.c
===================================================================
---- qemu-5.2.0.orig/hw/intc/apic.c
-+++ qemu-5.2.0/hw/intc/apic.c
-@@ -605,7 +605,7 @@ int apic_accept_pic_intr(DeviceState *de
+--- qemu-6.0.0.orig/hw/intc/apic.c
++++ qemu-6.0.0/hw/intc/apic.c
+@@ -606,7 +606,7 @@ int apic_accept_pic_intr(DeviceState *de
APICCommonState *s = APIC(dev);
uint32_t lvt0;
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch b/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
index c5d206b91..cc6a5fe75 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
@@ -14,11 +14,11 @@ Signed-off-by: He Zhe <zhe.he@windriver.com>
configure | 48 ++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 40 insertions(+), 8 deletions(-)
-Index: qemu-5.2.0/configure
+Index: qemu-6.0.0/configure
===================================================================
---- qemu-5.2.0.orig/configure
-+++ qemu-5.2.0/configure
-@@ -2956,6 +2956,30 @@ has_libgcrypt() {
+--- qemu-6.0.0.orig/configure
++++ qemu-6.0.0/configure
+@@ -2847,6 +2847,30 @@ has_libgcrypt() {
return 0
}
@@ -49,7 +49,7 @@ Index: qemu-5.2.0/configure
if test "$nettle" != "no"; then
pass="no"
-@@ -2994,7 +3018,14 @@ fi
+@@ -2885,7 +2909,14 @@ fi
if test "$gcrypt" != "no"; then
pass="no"
@@ -65,7 +65,7 @@ Index: qemu-5.2.0/configure
gcrypt_cflags=$(libgcrypt-config --cflags)
gcrypt_libs=$(libgcrypt-config --libs)
# Debian has removed -lgpg-error from libgcrypt-config
-@@ -3004,12 +3035,12 @@ if test "$gcrypt" != "no"; then
+@@ -2895,12 +2926,12 @@ if test "$gcrypt" != "no"; then
then
gcrypt_libs="$gcrypt_libs -lgpg-error"
fi
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-27821.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-27821.patch
deleted file mode 100644
index 58622f048..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-27821.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From 279f90a9ab07304f0a49fc10e4bfd1243a8cddbe Mon Sep 17 00:00:00 2001
-From: Paolo Bonzini <pbonzini@redhat.com>
-Date: Tue, 1 Dec 2020 09:29:56 -0500
-Subject: [PATCH 1/2] memory: clamp cached translation in case it points to an
- MMIO region
-
-In using the address_space_translate_internal API, address_space_cache_init
-forgot one piece of advice that can be found in the code for
-address_space_translate_internal:
-
- /* MMIO registers can be expected to perform full-width accesses based only
- * on their address, without considering adjacent registers that could
- * decode to completely different MemoryRegions. When such registers
- * exist (e.g. I/O ports 0xcf8 and 0xcf9 on most PC chipsets), MMIO
- * regions overlap wildly. For this reason we cannot clamp the accesses
- * here.
- *
- * If the length is small (as is the case for address_space_ldl/stl),
- * everything works fine. If the incoming length is large, however,
- * the caller really has to do the clamping through memory_access_size.
- */
-
-address_space_cache_init is exactly one such case where "the incoming length
-is large", therefore we need to clamp the resulting length---not to
-memory_access_size though, since we are not doing an access yet, but to
-the size of the resulting section. This ensures that subsequent accesses
-to the cached MemoryRegionSection will be in range.
-
-With this patch, the enclosed testcase notices that the used ring does
-not fit into the MSI-X table and prints a "qemu-system-x86_64: Cannot map used"
-error.
-
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-
-Upstream-Status: Backport [4bfb024bc76973d40a359476dc0291f46e435442]
-CVE: CVE-2020-27821
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- softmmu/physmem.c | 10 ++++++++
- tests/qtest/fuzz-test.c | 51 +++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 61 insertions(+)
-
-diff --git a/softmmu/physmem.c b/softmmu/physmem.c
-index 3027747c0..2cd1de4a2 100644
---- a/softmmu/physmem.c
-+++ b/softmmu/physmem.c
-@@ -3255,6 +3255,7 @@ int64_t address_space_cache_init(MemoryRegionCache *cache,
- AddressSpaceDispatch *d;
- hwaddr l;
- MemoryRegion *mr;
-+ Int128 diff;
-
- assert(len > 0);
-
-@@ -3263,6 +3264,15 @@ int64_t address_space_cache_init(MemoryRegionCache *cache,
- d = flatview_to_dispatch(cache->fv);
- cache->mrs = *address_space_translate_internal(d, addr, &cache->xlat, &l, true);
-
-+ /*
-+ * cache->xlat is now relative to cache->mrs.mr, not to the section itself.
-+ * Take that into account to compute how many bytes are there between
-+ * cache->xlat and the end of the section.
-+ */
-+ diff = int128_sub(cache->mrs.size,
-+ int128_make64(cache->xlat - cache->mrs.offset_within_region));
-+ l = int128_get64(int128_min(diff, int128_make64(l)));
-+
- mr = cache->mrs.mr;
- memory_region_ref(mr);
- if (memory_access_is_direct(mr, is_write)) {
-diff --git a/tests/qtest/fuzz-test.c b/tests/qtest/fuzz-test.c
-index 9cb4c42bd..28739248e 100644
---- a/tests/qtest/fuzz-test.c
-+++ b/tests/qtest/fuzz-test.c
-@@ -47,6 +47,55 @@ static void test_lp1878642_pci_bus_get_irq_level_assert(void)
- qtest_outl(s, 0x5d02, 0xebed205d);
- }
-
-+/*
-+ * Here a MemoryRegionCache pointed to an MMIO region but had a
-+ * larger size than the underlying region.
-+ */
-+static void test_mmio_oob_from_memory_region_cache(void)
-+{
-+ QTestState *s;
-+
-+ s = qtest_init("-M pc-q35-5.2 -display none -m 512M "
-+ "-device virtio-scsi,num_queues=8,addr=03.0 ");
-+
-+ qtest_outl(s, 0xcf8, 0x80001811);
-+ qtest_outb(s, 0xcfc, 0x6e);
-+ qtest_outl(s, 0xcf8, 0x80001824);
-+ qtest_outl(s, 0xcf8, 0x80001813);
-+ qtest_outl(s, 0xcfc, 0xa080000);
-+ qtest_outl(s, 0xcf8, 0x80001802);
-+ qtest_outl(s, 0xcfc, 0x5a175a63);
-+ qtest_outb(s, 0x6e08, 0x9e);
-+ qtest_writeb(s, 0x9f003, 0xff);
-+ qtest_writeb(s, 0x9f004, 0x01);
-+ qtest_writeb(s, 0x9e012, 0x0e);
-+ qtest_writeb(s, 0x9e01b, 0x0e);
-+ qtest_writeb(s, 0x9f006, 0x01);
-+ qtest_writeb(s, 0x9f008, 0x01);
-+ qtest_writeb(s, 0x9f00a, 0x01);
-+ qtest_writeb(s, 0x9f00c, 0x01);
-+ qtest_writeb(s, 0x9f00e, 0x01);
-+ qtest_writeb(s, 0x9f010, 0x01);
-+ qtest_writeb(s, 0x9f012, 0x01);
-+ qtest_writeb(s, 0x9f014, 0x01);
-+ qtest_writeb(s, 0x9f016, 0x01);
-+ qtest_writeb(s, 0x9f018, 0x01);
-+ qtest_writeb(s, 0x9f01a, 0x01);
-+ qtest_writeb(s, 0x9f01c, 0x01);
-+ qtest_writeb(s, 0x9f01e, 0x01);
-+ qtest_writeb(s, 0x9f020, 0x01);
-+ qtest_writeb(s, 0x9f022, 0x01);
-+ qtest_writeb(s, 0x9f024, 0x01);
-+ qtest_writeb(s, 0x9f026, 0x01);
-+ qtest_writeb(s, 0x9f028, 0x01);
-+ qtest_writeb(s, 0x9f02a, 0x01);
-+ qtest_writeb(s, 0x9f02c, 0x01);
-+ qtest_writeb(s, 0x9f02e, 0x01);
-+ qtest_writeb(s, 0x9f030, 0x01);
-+ qtest_outb(s, 0x6e10, 0x00);
-+ qtest_quit(s);
-+}
-+
- int main(int argc, char **argv)
- {
- const char *arch = qtest_get_arch();
-@@ -58,6 +107,8 @@ int main(int argc, char **argv)
- test_lp1878263_megasas_zero_iov_cnt);
- qtest_add_func("fuzz/test_lp1878642_pci_bus_get_irq_level_assert",
- test_lp1878642_pci_bus_get_irq_level_assert);
-+ qtest_add_func("fuzz/test_mmio_oob_from_memory_region_cache",
-+ test_mmio_oob_from_memory_region_cache);
- }
-
- return g_test_run();
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-29443.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-29443.patch
deleted file mode 100644
index c72324fce..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-29443.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From c9a71afe182be5b62bd2ccdaf861695e0ec0731a Mon Sep 17 00:00:00 2001
-From: Prasad J Pandit <pjp@fedoraproject.org>
-Date: Mon, 18 Jan 2021 17:21:30 +0530
-Subject: [PATCH] ide: atapi: check logical block address and read size
- (CVE-2020-29443)
-
-While processing ATAPI cmd_read/cmd_read_cd commands,
-Logical Block Address (LBA) maybe invalid OR closer to the last block,
-leading to an OOB access issues. Add range check to avoid it.
-
-Fixes: CVE-2020-29443
-Reported-by: Wenxiang Qian <leonwxqian@gmail.com>
-Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
-Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
-Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
-Message-Id: <20210118115130.457044-1-ppandit@redhat.com>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-
-Upstream-Status: Backport [b8d7f1bc59276fec85e4d09f1567613a3e14d31e]
-CVE: CVE-2020-29443
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/ide/atapi.c | 30 ++++++++++++++++++++++++------
- 1 file changed, 24 insertions(+), 6 deletions(-)
-
-diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c
-index e79157863..b626199e3 100644
---- a/hw/ide/atapi.c
-+++ b/hw/ide/atapi.c
-@@ -322,6 +322,8 @@ static void ide_atapi_cmd_reply(IDEState *s, int size, int max_size)
- static void ide_atapi_cmd_read_pio(IDEState *s, int lba, int nb_sectors,
- int sector_size)
- {
-+ assert(0 <= lba && lba < (s->nb_sectors >> 2));
-+
- s->lba = lba;
- s->packet_transfer_size = nb_sectors * sector_size;
- s->elementary_transfer_size = 0;
-@@ -420,6 +422,8 @@ eot:
- static void ide_atapi_cmd_read_dma(IDEState *s, int lba, int nb_sectors,
- int sector_size)
- {
-+ assert(0 <= lba && lba < (s->nb_sectors >> 2));
-+
- s->lba = lba;
- s->packet_transfer_size = nb_sectors * sector_size;
- s->io_buffer_size = 0;
-@@ -973,35 +977,49 @@ static void cmd_prevent_allow_medium_removal(IDEState *s, uint8_t* buf)
-
- static void cmd_read(IDEState *s, uint8_t* buf)
- {
-- int nb_sectors, lba;
-+ unsigned int nb_sectors, lba;
-+
-+ /* Total logical sectors of ATAPI_SECTOR_SIZE(=2048) bytes */
-+ uint64_t total_sectors = s->nb_sectors >> 2;
-
- if (buf[0] == GPCMD_READ_10) {
- nb_sectors = lduw_be_p(buf + 7);
- } else {
- nb_sectors = ldl_be_p(buf + 6);
- }
--
-- lba = ldl_be_p(buf + 2);
- if (nb_sectors == 0) {
- ide_atapi_cmd_ok(s);
- return;
- }
-
-+ lba = ldl_be_p(buf + 2);
-+ if (lba >= total_sectors || lba + nb_sectors - 1 >= total_sectors) {
-+ ide_atapi_cmd_error(s, ILLEGAL_REQUEST, ASC_LOGICAL_BLOCK_OOR);
-+ return;
-+ }
-+
- ide_atapi_cmd_read(s, lba, nb_sectors, 2048);
- }
-
- static void cmd_read_cd(IDEState *s, uint8_t* buf)
- {
-- int nb_sectors, lba, transfer_request;
-+ unsigned int nb_sectors, lba, transfer_request;
-
-- nb_sectors = (buf[6] << 16) | (buf[7] << 8) | buf[8];
-- lba = ldl_be_p(buf + 2);
-+ /* Total logical sectors of ATAPI_SECTOR_SIZE(=2048) bytes */
-+ uint64_t total_sectors = s->nb_sectors >> 2;
-
-+ nb_sectors = (buf[6] << 16) | (buf[7] << 8) | buf[8];
- if (nb_sectors == 0) {
- ide_atapi_cmd_ok(s);
- return;
- }
-
-+ lba = ldl_be_p(buf + 2);
-+ if (lba >= total_sectors || lba + nb_sectors - 1 >= total_sectors) {
-+ ide_atapi_cmd_error(s, ILLEGAL_REQUEST, ASC_LOGICAL_BLOCK_OOR);
-+ return;
-+ }
-+
- transfer_request = buf[9] & 0xf8;
- if (transfer_request == 0x00) {
- /* nothing */
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_1.patch
deleted file mode 100644
index 73a4cb206..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_1.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From 8afaaee976965b7fb90ec225a51d60f35c5f173c Mon Sep 17 00:00:00 2001
-From: Stefan Hajnoczi <stefanha@redhat.com>
-Date: Thu, 4 Feb 2021 15:02:06 +0000
-Subject: [PATCH] virtiofsd: extract lo_do_open() from lo_open()
-
-Both lo_open() and lo_create() have similar code to open a file. Extract
-a common lo_do_open() function from lo_open() that will be used by
-lo_create() in a later commit.
-
-Since lo_do_open() does not otherwise need fuse_req_t req, convert
-lo_add_fd_mapping() to use struct lo_data *lo instead.
-
-Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-Message-Id: <20210204150208.367837-2-stefanha@redhat.com>
-Reviewed-by: Greg Kurz <groug@kaod.org>
-Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
-
-Upstream-Status: Backport
-[https://github.com/qemu/qemu/commit/8afaaee976965b7fb90ec225a51d60f35c5f173c]
-
-CVE: CVE-2020-35517
-
-Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
-Signed-off-by: Khairul Rohaizzat Jamaluddin <khairul.rohaizzat.jamaluddin@intel.com>
----
- tools/virtiofsd/passthrough_ll.c | 73 +++++++++++++++++++++++++---------------
- 1 file changed, 46 insertions(+), 27 deletions(-)
-
-diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
-index 5fb36d9..f14fa51 100644
---- a/tools/virtiofsd/passthrough_ll.c
-+++ b/tools/virtiofsd/passthrough_ll.c
-@@ -459,17 +459,17 @@ static void lo_map_remove(struct lo_map *map, size_t key)
- }
-
- /* Assumes lo->mutex is held */
--static ssize_t lo_add_fd_mapping(fuse_req_t req, int fd)
-+static ssize_t lo_add_fd_mapping(struct lo_data *lo, int fd)
- {
- struct lo_map_elem *elem;
-
-- elem = lo_map_alloc_elem(&lo_data(req)->fd_map);
-+ elem = lo_map_alloc_elem(&lo->fd_map);
- if (!elem) {
- return -1;
- }
-
- elem->fd = fd;
-- return elem - lo_data(req)->fd_map.elems;
-+ return elem - lo->fd_map.elems;
- }
-
- /* Assumes lo->mutex is held */
-@@ -1651,6 +1651,38 @@ static void update_open_flags(int writeback, int allow_direct_io,
- }
- }
-
-+static int lo_do_open(struct lo_data *lo, struct lo_inode *inode,
-+ struct fuse_file_info *fi)
-+{
-+ char buf[64];
-+ ssize_t fh;
-+ int fd;
-+
-+ update_open_flags(lo->writeback, lo->allow_direct_io, fi);
-+
-+ sprintf(buf, "%i", inode->fd);
-+ fd = openat(lo->proc_self_fd, buf, fi->flags & ~O_NOFOLLOW);
-+ if (fd == -1) {
-+ return errno;
-+ }
-+
-+ pthread_mutex_lock(&lo->mutex);
-+ fh = lo_add_fd_mapping(lo, fd);
-+ pthread_mutex_unlock(&lo->mutex);
-+ if (fh == -1) {
-+ close(fd);
-+ return ENOMEM;
-+ }
-+
-+ fi->fh = fh;
-+ if (lo->cache == CACHE_NONE) {
-+ fi->direct_io = 1;
-+ } else if (lo->cache == CACHE_ALWAYS) {
-+ fi->keep_cache = 1;
-+ }
-+ return 0;
-+}
-+
- static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name,
- mode_t mode, struct fuse_file_info *fi)
- {
-@@ -1691,7 +1723,7 @@ static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name,
- ssize_t fh;
-
- pthread_mutex_lock(&lo->mutex);
-- fh = lo_add_fd_mapping(req, fd);
-+ fh = lo_add_fd_mapping(lo, fd);
- pthread_mutex_unlock(&lo->mutex);
- if (fh == -1) {
- close(fd);
-@@ -1892,38 +1924,25 @@ static void lo_fsyncdir(fuse_req_t req, fuse_ino_t ino, int datasync,
-
- static void lo_open(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi)
- {
-- int fd;
-- ssize_t fh;
-- char buf[64];
- struct lo_data *lo = lo_data(req);
-+ struct lo_inode *inode = lo_inode(req, ino);
-+ int err;
-
- fuse_log(FUSE_LOG_DEBUG, "lo_open(ino=%" PRIu64 ", flags=%d)\n", ino,
- fi->flags);
-
-- update_open_flags(lo->writeback, lo->allow_direct_io, fi);
--
-- sprintf(buf, "%i", lo_fd(req, ino));
-- fd = openat(lo->proc_self_fd, buf, fi->flags & ~O_NOFOLLOW);
-- if (fd == -1) {
-- return (void)fuse_reply_err(req, errno);
-- }
--
-- pthread_mutex_lock(&lo->mutex);
-- fh = lo_add_fd_mapping(req, fd);
-- pthread_mutex_unlock(&lo->mutex);
-- if (fh == -1) {
-- close(fd);
-- fuse_reply_err(req, ENOMEM);
-+ if (!inode) {
-+ fuse_reply_err(req, EBADF);
- return;
- }
-
-- fi->fh = fh;
-- if (lo->cache == CACHE_NONE) {
-- fi->direct_io = 1;
-- } else if (lo->cache == CACHE_ALWAYS) {
-- fi->keep_cache = 1;
-+ err = lo_do_open(lo, inode, fi);
-+ lo_inode_put(lo, &inode);
-+ if (err) {
-+ fuse_reply_err(req, err);
-+ } else {
-+ fuse_reply_open(req, fi);
- }
-- fuse_reply_open(req, fi);
- }
-
- static void lo_release(fuse_req_t req, fuse_ino_t ino,
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_2.patch
deleted file mode 100644
index bf11bdb6f..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_2.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 22d2ece71e533310da31f2857ebc4a00d91968b3 Mon Sep 17 00:00:00 2001
-From: Stefan Hajnoczi <stefanha@redhat.com>
-Date: Thu, 4 Feb 2021 15:02:07 +0000
-Subject: [PATCH] virtiofsd: optionally return inode pointer from
- lo_do_lookup()
-
-lo_do_lookup() finds an existing inode or allocates a new one. It
-increments nlookup so that the inode stays alive until the client
-releases it.
-
-Existing callers don't need the struct lo_inode so the function doesn't
-return it. Extend the function to optionally return the inode. The next
-commit will need it.
-
-Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-Reviewed-by: Greg Kurz <groug@kaod.org>
-Message-Id: <20210204150208.367837-3-stefanha@redhat.com>
-Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
-
-Upstream-Status: Backport
-[https://github.com/qemu/qemu/commit/22d2ece71e533310da31f2857ebc4a00d91968b3]
-
-CVE: CVE-2020-35517
-
-Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
-Signed-off-by: Khairul Rohaizzat Jamaluddin <khairul.rohaizzat.jamaluddin@intel.com>
----
- tools/virtiofsd/passthrough_ll.c | 29 +++++++++++++++++++++--------
- 1 file changed, 21 insertions(+), 8 deletions(-)
-
-diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
-index f14fa51..aa35fc6 100644
---- a/tools/virtiofsd/passthrough_ll.c
-+++ b/tools/virtiofsd/passthrough_ll.c
-@@ -831,11 +831,13 @@ static int do_statx(struct lo_data *lo, int dirfd, const char *pathname,
- }
-
- /*
-- * Increments nlookup and caller must release refcount using
-- * lo_inode_put(&parent).
-+ * Increments nlookup on the inode on success. unref_inode_lolocked() must be
-+ * called eventually to decrement nlookup again. If inodep is non-NULL, the
-+ * inode pointer is stored and the caller must call lo_inode_put().
- */
- static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name,
-- struct fuse_entry_param *e)
-+ struct fuse_entry_param *e,
-+ struct lo_inode **inodep)
- {
- int newfd;
- int res;
-@@ -845,6 +847,10 @@ static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name,
- struct lo_inode *inode = NULL;
- struct lo_inode *dir = lo_inode(req, parent);
-
-+ if (inodep) {
-+ *inodep = NULL;
-+ }
-+
- /*
- * name_to_handle_at() and open_by_handle_at() can reach here with fuse
- * mount point in guest, but we don't have its inode info in the
-@@ -913,7 +919,14 @@ static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name,
- pthread_mutex_unlock(&lo->mutex);
- }
- e->ino = inode->fuse_ino;
-- lo_inode_put(lo, &inode);
-+
-+ /* Transfer ownership of inode pointer to caller or drop it */
-+ if (inodep) {
-+ *inodep = inode;
-+ } else {
-+ lo_inode_put(lo, &inode);
-+ }
-+
- lo_inode_put(lo, &dir);
-
- fuse_log(FUSE_LOG_DEBUG, " %lli/%s -> %lli\n", (unsigned long long)parent,
-@@ -948,7 +961,7 @@ static void lo_lookup(fuse_req_t req, fuse_ino_t parent, const char *name)
- return;
- }
-
-- err = lo_do_lookup(req, parent, name, &e);
-+ err = lo_do_lookup(req, parent, name, &e, NULL);
- if (err) {
- fuse_reply_err(req, err);
- } else {
-@@ -1056,7 +1069,7 @@ static void lo_mknod_symlink(fuse_req_t req, fuse_ino_t parent,
- goto out;
- }
-
-- saverr = lo_do_lookup(req, parent, name, &e);
-+ saverr = lo_do_lookup(req, parent, name, &e, NULL);
- if (saverr) {
- goto out;
- }
-@@ -1534,7 +1547,7 @@ static void lo_do_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,
-
- if (plus) {
- if (!is_dot_or_dotdot(name)) {
-- err = lo_do_lookup(req, ino, name, &e);
-+ err = lo_do_lookup(req, ino, name, &e, NULL);
- if (err) {
- goto error;
- }
-@@ -1732,7 +1745,7 @@ static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name,
- }
-
- fi->fh = fh;
-- err = lo_do_lookup(req, parent, name, &e);
-+ err = lo_do_lookup(req, parent, name, &e, NULL);
- }
- if (lo->cache == CACHE_NONE) {
- fi->direct_io = 1;
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_3.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_3.patch
deleted file mode 100644
index f348f3f2b..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_3.patch
+++ /dev/null
@@ -1,303 +0,0 @@
-From a3fdbbc7f271bff7d53d0501b29d910ece0b3789 Mon Sep 17 00:00:00 2001
-From: Stefan Hajnoczi <stefanha@redhat.com>
-Date: Thu, 4 Feb 2021 15:02:08 +0000
-Subject: [PATCH] virtiofsd: prevent opening of special files (CVE-2020-35517)
-
-A well-behaved FUSE client does not attempt to open special files with
-FUSE_OPEN because they are handled on the client side (e.g. device nodes
-are handled by client-side device drivers).
-
-The check to prevent virtiofsd from opening special files is missing in
-a few cases, most notably FUSE_OPEN. A malicious client can cause
-virtiofsd to open a device node, potentially allowing the guest to
-escape. This can be exploited by a modified guest device driver. It is
-not exploitable from guest userspace since the guest kernel will handle
-special files inside the guest instead of sending FUSE requests.
-
-This patch fixes this issue by introducing the lo_inode_open() function
-to check the file type before opening it. This is a short-term solution
-because it does not prevent a compromised virtiofsd process from opening
-device nodes on the host.
-
-Restructure lo_create() to try O_CREAT | O_EXCL first. Note that O_CREAT
-| O_EXCL does not follow symlinks, so O_NOFOLLOW masking is not
-necessary here. If the file exists and the user did not specify O_EXCL,
-open it via lo_do_open().
-
-Reported-by: Alex Xu <alex@alxu.ca>
-Fixes: CVE-2020-35517
-Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
-Reviewed-by: Vivek Goyal <vgoyal@redhat.com>
-Reviewed-by: Greg Kurz <groug@kaod.org>
-Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-Message-Id: <20210204150208.367837-4-stefanha@redhat.com>
-Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
-
-Upstream-Status: Backport
-[https://github.com/qemu/qemu/commit/a3fdbbc7f271bff7d53d0501b29d910ece0b3789]
-
-CVE: CVE-2020-35517
-
-Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
-Signed-off-by: Khairul Rohaizzat Jamaluddin <khairul.rohaizzat.jamaluddin@intel.com>
----
- tools/virtiofsd/passthrough_ll.c | 144 ++++++++++++++++++++-----------
- 1 file changed, 92 insertions(+), 52 deletions(-)
-
-diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
-index aa35fc6ba5a5..147b59338a18 100644
---- a/tools/virtiofsd/passthrough_ll.c
-+++ b/tools/virtiofsd/passthrough_ll.c
-@@ -555,6 +555,38 @@ static int lo_fd(fuse_req_t req, fuse_ino_t ino)
- return fd;
- }
-
-+/*
-+ * Open a file descriptor for an inode. Returns -EBADF if the inode is not a
-+ * regular file or a directory.
-+ *
-+ * Use this helper function instead of raw openat(2) to prevent security issues
-+ * when a malicious client opens special files such as block device nodes.
-+ * Symlink inodes are also rejected since symlinks must already have been
-+ * traversed on the client side.
-+ */
-+static int lo_inode_open(struct lo_data *lo, struct lo_inode *inode,
-+ int open_flags)
-+{
-+ g_autofree char *fd_str = g_strdup_printf("%d", inode->fd);
-+ int fd;
-+
-+ if (!S_ISREG(inode->filetype) && !S_ISDIR(inode->filetype)) {
-+ return -EBADF;
-+ }
-+
-+ /*
-+ * The file is a symlink so O_NOFOLLOW must be ignored. We checked earlier
-+ * that the inode is not a special file but if an external process races
-+ * with us then symlinks are traversed here. It is not possible to escape
-+ * the shared directory since it is mounted as "/" though.
-+ */
-+ fd = openat(lo->proc_self_fd, fd_str, open_flags & ~O_NOFOLLOW);
-+ if (fd < 0) {
-+ return -errno;
-+ }
-+ return fd;
-+}
-+
- static void lo_init(void *userdata, struct fuse_conn_info *conn)
- {
- struct lo_data *lo = (struct lo_data *)userdata;
-@@ -684,9 +716,9 @@ static void lo_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr,
- if (fi) {
- truncfd = fd;
- } else {
-- sprintf(procname, "%i", ifd);
-- truncfd = openat(lo->proc_self_fd, procname, O_RDWR);
-+ truncfd = lo_inode_open(lo, inode, O_RDWR);
- if (truncfd < 0) {
-+ errno = -truncfd;
- goto out_err;
- }
- }
-@@ -848,7 +880,7 @@ static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name,
- struct lo_inode *dir = lo_inode(req, parent);
-
- if (inodep) {
-- *inodep = NULL;
-+ *inodep = NULL; /* in case there is an error */
- }
-
- /*
-@@ -1664,19 +1696,26 @@ static void update_open_flags(int writeback, int allow_direct_io,
- }
- }
-
-+/*
-+ * Open a regular file, set up an fd mapping, and fill out the struct
-+ * fuse_file_info for it. If existing_fd is not negative, use that fd instead
-+ * opening a new one. Takes ownership of existing_fd.
-+ *
-+ * Returns 0 on success or a positive errno.
-+ */
- static int lo_do_open(struct lo_data *lo, struct lo_inode *inode,
-- struct fuse_file_info *fi)
-+ int existing_fd, struct fuse_file_info *fi)
- {
-- char buf[64];
- ssize_t fh;
-- int fd;
-+ int fd = existing_fd;
-
- update_open_flags(lo->writeback, lo->allow_direct_io, fi);
-
-- sprintf(buf, "%i", inode->fd);
-- fd = openat(lo->proc_self_fd, buf, fi->flags & ~O_NOFOLLOW);
-- if (fd == -1) {
-- return errno;
-+ if (fd < 0) {
-+ fd = lo_inode_open(lo, inode, fi->flags);
-+ if (fd < 0) {
-+ return -fd;
-+ }
- }
-
- pthread_mutex_lock(&lo->mutex);
-@@ -1699,9 +1738,10 @@ static int lo_do_open(struct lo_data *lo, struct lo_inode *inode,
- static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name,
- mode_t mode, struct fuse_file_info *fi)
- {
-- int fd;
-+ int fd = -1;
- struct lo_data *lo = lo_data(req);
- struct lo_inode *parent_inode;
-+ struct lo_inode *inode = NULL;
- struct fuse_entry_param e;
- int err;
- struct lo_cred old = {};
-@@ -1727,36 +1767,38 @@ static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name,
-
- update_open_flags(lo->writeback, lo->allow_direct_io, fi);
-
-- fd = openat(parent_inode->fd, name, (fi->flags | O_CREAT) & ~O_NOFOLLOW,
-- mode);
-+ /* Try to create a new file but don't open existing files */
-+ fd = openat(parent_inode->fd, name, fi->flags | O_CREAT | O_EXCL, mode);
- err = fd == -1 ? errno : 0;
-- lo_restore_cred(&old);
-
-- if (!err) {
-- ssize_t fh;
-+ lo_restore_cred(&old);
-
-- pthread_mutex_lock(&lo->mutex);
-- fh = lo_add_fd_mapping(lo, fd);
-- pthread_mutex_unlock(&lo->mutex);
-- if (fh == -1) {
-- close(fd);
-- err = ENOMEM;
-- goto out;
-- }
-+ /* Ignore the error if file exists and O_EXCL was not given */
-+ if (err && (err != EEXIST || (fi->flags & O_EXCL))) {
-+ goto out;
-+ }
-
-- fi->fh = fh;
-- err = lo_do_lookup(req, parent, name, &e, NULL);
-+ err = lo_do_lookup(req, parent, name, &e, &inode);
-+ if (err) {
-+ goto out;
- }
-- if (lo->cache == CACHE_NONE) {
-- fi->direct_io = 1;
-- } else if (lo->cache == CACHE_ALWAYS) {
-- fi->keep_cache = 1;
-+
-+ err = lo_do_open(lo, inode, fd, fi);
-+ fd = -1; /* lo_do_open() takes ownership of fd */
-+ if (err) {
-+ /* Undo lo_do_lookup() nlookup ref */
-+ unref_inode_lolocked(lo, inode, 1);
- }
-
- out:
-+ lo_inode_put(lo, &inode);
- lo_inode_put(lo, &parent_inode);
-
- if (err) {
-+ if (fd >= 0) {
-+ close(fd);
-+ }
-+
- fuse_reply_err(req, err);
- } else {
- fuse_reply_create(req, &e, fi);
-@@ -1770,7 +1812,6 @@ static struct lo_inode_plock *lookup_create_plock_ctx(struct lo_data *lo,
- pid_t pid, int *err)
- {
- struct lo_inode_plock *plock;
-- char procname[64];
- int fd;
-
- plock =
-@@ -1787,12 +1828,10 @@ static struct lo_inode_plock *lookup_create_plock_ctx(struct lo_data *lo,
- }
-
- /* Open another instance of file which can be used for ofd locks. */
-- sprintf(procname, "%i", inode->fd);
--
- /* TODO: What if file is not writable? */
-- fd = openat(lo->proc_self_fd, procname, O_RDWR);
-- if (fd == -1) {
-- *err = errno;
-+ fd = lo_inode_open(lo, inode, O_RDWR);
-+ if (fd < 0) {
-+ *err = -fd;
- free(plock);
- return NULL;
- }
-@@ -1949,7 +1988,7 @@ static void lo_open(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi)
- return;
- }
-
-- err = lo_do_open(lo, inode, fi);
-+ err = lo_do_open(lo, inode, -1, fi);
- lo_inode_put(lo, &inode);
- if (err) {
- fuse_reply_err(req, err);
-@@ -2014,39 +2053,40 @@ static void lo_flush(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi)
- static void lo_fsync(fuse_req_t req, fuse_ino_t ino, int datasync,
- struct fuse_file_info *fi)
- {
-+ struct lo_inode *inode = lo_inode(req, ino);
-+ struct lo_data *lo = lo_data(req);
- int res;
- int fd;
-- char *buf;
-
- fuse_log(FUSE_LOG_DEBUG, "lo_fsync(ino=%" PRIu64 ", fi=0x%p)\n", ino,
- (void *)fi);
-
-- if (!fi) {
-- struct lo_data *lo = lo_data(req);
--
-- res = asprintf(&buf, "%i", lo_fd(req, ino));
-- if (res == -1) {
-- return (void)fuse_reply_err(req, errno);
-- }
-+ if (!inode) {
-+ fuse_reply_err(req, EBADF);
-+ return;
-+ }
-
-- fd = openat(lo->proc_self_fd, buf, O_RDWR);
-- free(buf);
-- if (fd == -1) {
-- return (void)fuse_reply_err(req, errno);
-+ if (!fi) {
-+ fd = lo_inode_open(lo, inode, O_RDWR);
-+ if (fd < 0) {
-+ res = -fd;
-+ goto out;
- }
- } else {
- fd = lo_fi_fd(req, fi);
- }
-
- if (datasync) {
-- res = fdatasync(fd);
-+ res = fdatasync(fd) == -1 ? errno : 0;
- } else {
-- res = fsync(fd);
-+ res = fsync(fd) == -1 ? errno : 0;
- }
- if (!fi) {
- close(fd);
- }
-- fuse_reply_err(req, res == -1 ? errno : 0);
-+out:
-+ lo_inode_put(lo, &inode);
-+ fuse_reply_err(req, res);
- }
-
- static void lo_read(fuse_req_t req, fuse_ino_t ino, size_t size, off_t offset,
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20181.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20181.patch
deleted file mode 100644
index 1b8c77f83..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20181.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From c2d2d14e8deece958bbc4fc649d22c3564bc4e7e Mon Sep 17 00:00:00 2001
-From: Greg Kurz <groug@kaod.org>
-Date: Thu, 14 Jan 2021 17:04:12 +0100
-Subject: [PATCH] 9pfs: Fully restart unreclaim loop (CVE-2021-20181)
-
-Depending on the client activity, the server can be asked to open a huge
-number of file descriptors and eventually hit RLIMIT_NOFILE. This is
-currently mitigated using a reclaim logic : the server closes the file
-descriptors of idle fids, based on the assumption that it will be able
-to re-open them later. This assumption doesn't hold of course if the
-client requests the file to be unlinked. In this case, we loop on the
-entire fid list and mark all related fids as unreclaimable (the reclaim
-logic will just ignore them) and, of course, we open or re-open their
-file descriptors if needed since we're about to unlink the file.
-
-This is the purpose of v9fs_mark_fids_unreclaim(). Since the actual
-opening of a file can cause the coroutine to yield, another client
-request could possibly add a new fid that we may want to mark as
-non-reclaimable as well. The loop is thus restarted if the re-open
-request was actually transmitted to the backend. This is achieved
-by keeping a reference on the first fid (head) before traversing
-the list.
-
-This is wrong in several ways:
-- a potential clunk request from the client could tear the first
- fid down and cause the reference to be stale. This leads to a
- use-after-free error that can be detected with ASAN, using a
- custom 9p client
-- fids are added at the head of the list : restarting from the
- previous head will always miss fids added by a some other
- potential request
-
-All these problems could be avoided if fids were being added at the
-end of the list. This can be achieved with a QSIMPLEQ, but this is
-probably too much change for a bug fix. For now let's keep it
-simple and just restart the loop from the current head.
-
-Fixes: CVE-2021-20181
-Buglink: https://bugs.launchpad.net/qemu/+bug/1911666
-Reported-by: Zero Day Initiative <zdi-disclosures@trendmicro.com>
-Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
-Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
-Message-Id: <161064025265.1838153.15185571283519390907.stgit@bahia.lan>
-Signed-off-by: Greg Kurz <groug@kaod.org>
-
-Upstream-Status: Backport [89fbea8737e8f7b954745a1ffc4238d377055305]
-CVE: CVE-2021-20181
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/9pfs/9p.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
-index 94df440fc..6026b51a1 100644
---- a/hw/9pfs/9p.c
-+++ b/hw/9pfs/9p.c
-@@ -502,9 +502,9 @@ static int coroutine_fn v9fs_mark_fids_unreclaim(V9fsPDU *pdu, V9fsPath *path)
- {
- int err;
- V9fsState *s = pdu->s;
-- V9fsFidState *fidp, head_fid;
-+ V9fsFidState *fidp;
-
-- head_fid.next = s->fid_list;
-+again:
- for (fidp = s->fid_list; fidp; fidp = fidp->next) {
- if (fidp->path.size != path->size) {
- continue;
-@@ -524,7 +524,7 @@ static int coroutine_fn v9fs_mark_fids_unreclaim(V9fsPDU *pdu, V9fsPath *path)
- * switched to the worker thread
- */
- if (err == 0) {
-- fidp = &head_fid;
-+ goto again;
- }
- }
- }
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20203.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20203.patch
deleted file mode 100644
index 269c6f129..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20203.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From: Prasad J Pandit <pjp@fedoraproject.org>
-
-While activating device in vmxnet3_acticate_device(), it does not
-validate guest supplied configuration values against predefined
-minimum - maximum limits. This may lead to integer overflow or
-OOB access issues. Add checks to avoid it.
-
-Fixes: CVE-2021-20203
-Buglink: https://bugs.launchpad.net/qemu/+bug/1913873
-Reported-by: Gaoning Pan <pgn@zju.edu.cn>
-Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
-
-Upstream-Status: Acepted [https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg07935.html]
-CVE: CVE-2021-20203
-Signed-off-by: Minjae Kim <flowergom@gmail.com>
----
- hw/net/vmxnet3.c | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
-index eff299f629..4a910ca971 100644
---- a/hw/net/vmxnet3.c
-+++ b/hw/net/vmxnet3.c
-@@ -1420,6 +1420,7 @@ static void vmxnet3_activate_device(VMXNET3State *s)
- vmxnet3_setup_rx_filtering(s);
- /* Cache fields from shared memory */
- s->mtu = VMXNET3_READ_DRV_SHARED32(d, s->drv_shmem, devRead.misc.mtu);
-+ assert(VMXNET3_MIN_MTU <= s->mtu && s->mtu < VMXNET3_MAX_MTU);
- VMW_CFPRN("MTU is %u", s->mtu);
-
- s->max_rx_frags =
-@@ -1473,6 +1474,9 @@ static void vmxnet3_activate_device(VMXNET3State *s)
- /* Read rings memory locations for TX queues */
- pa = VMXNET3_READ_TX_QUEUE_DESCR64(d, qdescr_pa, conf.txRingBasePA);
- size = VMXNET3_READ_TX_QUEUE_DESCR32(d, qdescr_pa, conf.txRingSize);
-+ if (size > VMXNET3_TX_RING_MAX_SIZE) {
-+ size = VMXNET3_TX_RING_MAX_SIZE;
-+ }
-
- vmxnet3_ring_init(d, &s->txq_descr[i].tx_ring, pa, size,
- sizeof(struct Vmxnet3_TxDesc), false);
-@@ -1483,6 +1487,9 @@ static void vmxnet3_activate_device(VMXNET3State *s)
- /* TXC ring */
- pa = VMXNET3_READ_TX_QUEUE_DESCR64(d, qdescr_pa, conf.compRingBasePA);
- size = VMXNET3_READ_TX_QUEUE_DESCR32(d, qdescr_pa, conf.compRingSize);
-+ if (size > VMXNET3_TC_RING_MAX_SIZE) {
-+ size = VMXNET3_TC_RING_MAX_SIZE;
-+ }
- vmxnet3_ring_init(d, &s->txq_descr[i].comp_ring, pa, size,
- sizeof(struct Vmxnet3_TxCompDesc), true);
- VMXNET3_RING_DUMP(VMW_CFPRN, "TXC", i, &s->txq_descr[i].comp_ring);
-@@ -1524,6 +1531,9 @@ static void vmxnet3_activate_device(VMXNET3State *s)
- /* RX rings */
- pa = VMXNET3_READ_RX_QUEUE_DESCR64(d, qd_pa, conf.rxRingBasePA[j]);
- size = VMXNET3_READ_RX_QUEUE_DESCR32(d, qd_pa, conf.rxRingSize[j]);
-+ if (size > VMXNET3_RX_RING_MAX_SIZE) {
-+ size = VMXNET3_RX_RING_MAX_SIZE;
-+ }
- vmxnet3_ring_init(d, &s->rxq_descr[i].rx_ring[j], pa, size,
- sizeof(struct Vmxnet3_RxDesc), false);
- VMW_CFPRN("RX queue %d:%d: Base: %" PRIx64 ", Size: %d",
-@@ -1533,6 +1543,9 @@ static void vmxnet3_activate_device(VMXNET3State *s)
- /* RXC ring */
- pa = VMXNET3_READ_RX_QUEUE_DESCR64(d, qd_pa, conf.compRingBasePA);
- size = VMXNET3_READ_RX_QUEUE_DESCR32(d, qd_pa, conf.compRingSize);
-+ if (size > VMXNET3_RC_RING_MAX_SIZE) {
-+ size = VMXNET3_RC_RING_MAX_SIZE;
-+ }
- vmxnet3_ring_init(d, &s->rxq_descr[i].comp_ring, pa, size,
- sizeof(struct Vmxnet3_RxCompDesc), true);
- VMW_CFPRN("RXC queue %d: Base: %" PRIx64 ", Size: %d", i, pa, size);
---
-2.29.2
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20221.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20221.patch
deleted file mode 100644
index d762a51d0..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20221.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From e428bcfb86fb46d9773ae11e69712052dcff3d45 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>
-Date: Sun, 31 Jan 2021 11:34:01 +0100
-Subject: [PATCH] hw/intc/arm_gic: Fix interrupt ID in GICD_SGIR register
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Per the ARM Generic Interrupt Controller Architecture specification
-(document "ARM IHI 0048B.b (ID072613)"), the SGIINTID field is 4 bit,
-not 10:
-
- - 4.3 Distributor register descriptions
- - 4.3.15 Software Generated Interrupt Register, GICD_SG
-
- - Table 4-21 GICD_SGIR bit assignments
-
- The Interrupt ID of the SGI to forward to the specified CPU
- interfaces. The value of this field is the Interrupt ID, in
- the range 0-15, for example a value of 0b0011 specifies
- Interrupt ID 3.
-
-Correct the irq mask to fix an undefined behavior (which eventually
-lead to a heap-buffer-overflow, see [Buglink]):
-
- $ echo 'writel 0x8000f00 0xff4affb0' | qemu-system-aarch64 -M virt,accel=qtest -qtest stdio
- [I 1612088147.116987] OPENED
- [R +0.278293] writel 0x8000f00 0xff4affb0
- ../hw/intc/arm_gic.c:1498:13: runtime error: index 944 out of bounds for type 'uint8_t [16][8]'
- SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../hw/intc/arm_gic.c:1498:13
-
-This fixes a security issue when running with KVM on Arm with
-kernel-irqchip=off. (The default is kernel-irqchip=on, which is
-unaffected, and which is also the correct choice for performance.)
-
-Cc: qemu-stable@nongnu.org
-Fixes: CVE-2021-20221
-Fixes: 9ee6e8bb853 ("ARMv7 support.")
-Buglink: https://bugs.launchpad.net/qemu/+bug/1913916
-Buglink: https://bugs.launchpad.net/qemu/+bug/1913917
-Reported-by: Alexander Bulekov <alxndr@bu.edu>
-Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-Message-id: 20210131103401.217160-1-f4bug@amsat.org
-Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
-Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-
-Upstream-Status: Backport [edfe2eb4360cde4ed5d95bda7777edcb3510f76a]
-CVE: CVE-2021-20221
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/intc/arm_gic.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/hw/intc/arm_gic.c b/hw/intc/arm_gic.c
-index c60dc6b5e..fbde60de0 100644
---- a/hw/intc/arm_gic.c
-+++ b/hw/intc/arm_gic.c
-@@ -1474,7 +1474,7 @@ static void gic_dist_writel(void *opaque, hwaddr offset,
- int target_cpu;
-
- cpu = gic_get_current_cpu(s);
-- irq = value & 0x3ff;
-+ irq = value & 0xf;
- switch ((value >> 24) & 3) {
- case 0:
- mask = (value >> 16) & ALL_CPU_MASK;
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20257.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20257.patch
deleted file mode 100644
index 7175b24e9..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20257.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From affdf476543405045c281a7c67d1eaedbcea8135 Mon Sep 17 00:00:00 2001
-From: Jason Wang <jasowang@redhat.com>
-Date: Wed, 24 Feb 2021 13:45:28 +0800
-Subject: [PATCH] e1000: fail early for evil descriptor
-
-During procss_tx_desc(), driver can try to chain data descriptor with
-legacy descriptor, when will lead underflow for the following
-calculation in process_tx_desc() for bytes:
-
- if (tp->size + bytes > msh)
- bytes = msh - tp->size;
-
-This will lead a infinite loop. So check and fail early if tp->size if
-greater or equal to msh.
-
-Reported-by: Alexander Bulekov <alxndr@bu.edu>
-Reported-by: Cheolwoo Myung <cwmyung@snu.ac.kr>
-Reported-by: Ruhr-University Bochum <bugs-syssec@rub.de>
-Cc: Prasad J Pandit <ppandit@redhat.com>
-Cc: qemu-stable@nongnu.org
-Signed-off-by: Jason Wang <jasowang@redhat.com>
-
-Upstream-Status: Backport [3de46e6fc489c52c9431a8a832ad8170a7569bd8]
-CVE: CVE-2021-20257
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/net/e1000.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/hw/net/e1000.c b/hw/net/e1000.c
-index cf22c4f07..c3564c7ce 100644
---- a/hw/net/e1000.c
-+++ b/hw/net/e1000.c
-@@ -670,6 +670,9 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp)
- msh = tp->tso_props.hdr_len + tp->tso_props.mss;
- do {
- bytes = split_size;
-+ if (tp->size >= msh) {
-+ goto eop;
-+ }
- if (tp->size + bytes > msh)
- bytes = msh - tp->size;
-
-@@ -695,6 +698,7 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp)
- tp->size += split_size;
- }
-
-+eop:
- if (!(txd_lower & E1000_TXD_CMD_EOP))
- return;
- if (!(tp->cptse && tp->size < tp->tso_props.hdr_len)) {
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20263.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20263.patch
deleted file mode 100644
index 4f9a91f0c..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20263.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-From aaa5f8e00c2e85a893b972f1e243fb14c26b70dc Mon Sep 17 00:00:00 2001
-From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
-Date: Wed, 24 Feb 2021 19:56:25 +0000
-Subject: [PATCH 2/2] virtiofs: drop remapped security.capability xattr as
- needed
-
-On Linux, the 'security.capability' xattr holds a set of
-capabilities that can change when an executable is run, giving
-a limited form of privilege escalation to those programs that
-the writer of the file deemed worthy.
-
-Any write causes the 'security.capability' xattr to be dropped,
-stopping anyone from gaining privilege by modifying a blessed
-file.
-
-Fuse relies on the daemon to do this dropping, and in turn the
-daemon relies on the host kernel to drop the xattr for it. However,
-with the addition of -o xattrmap, the xattr that the guest
-stores its capabilities in is now not the same as the one that
-the host kernel automatically clears.
-
-Where the mapping changes 'security.capability', explicitly clear
-the remapped name to preserve the same behaviour.
-
-This bug is assigned CVE-2021-20263.
-
-Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
-Reviewed-by: Vivek Goyal <vgoyal@redhat.com>
-
-Upstream-Status: Backport [e586edcb410543768ef009eaa22a2d9dd4a53846]
-CVE: CVE-2021-20263
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- docs/tools/virtiofsd.rst | 4 ++
- tools/virtiofsd/passthrough_ll.c | 77 +++++++++++++++++++++++++++++++-
- 2 files changed, 80 insertions(+), 1 deletion(-)
-
-diff --git a/docs/tools/virtiofsd.rst b/docs/tools/virtiofsd.rst
-index 866b7db3e..00554c75b 100644
---- a/docs/tools/virtiofsd.rst
-+++ b/docs/tools/virtiofsd.rst
-@@ -228,6 +228,10 @@ The 'map' type adds a number of separate rules to add **prepend** as a prefix
- to the matched **key** (or all attributes if **key** is empty).
- There may be at most one 'map' rule and it must be the last rule in the set.
-
-+Note: When the 'security.capability' xattr is remapped, the daemon has to do
-+extra work to remove it during many operations, which the host kernel normally
-+does itself.
-+
- xattr-mapping Examples
- ----------------------
-
-diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
-index 03c5e0d13..c9197da86 100644
---- a/tools/virtiofsd/passthrough_ll.c
-+++ b/tools/virtiofsd/passthrough_ll.c
-@@ -160,6 +160,7 @@ struct lo_data {
- int posix_lock;
- int xattr;
- char *xattrmap;
-+ char *xattr_security_capability;
- char *source;
- char *modcaps;
- double timeout;
-@@ -226,6 +227,8 @@ static __thread bool cap_loaded = 0;
-
- static struct lo_inode *lo_find(struct lo_data *lo, struct stat *st,
- uint64_t mnt_id);
-+static int xattr_map_client(const struct lo_data *lo, const char *client_name,
-+ char **out_name);
-
- static int is_dot_or_dotdot(const char *name)
- {
-@@ -365,6 +368,37 @@ out:
- return ret;
- }
-
-+/*
-+ * The host kernel normally drops security.capability xattr's on
-+ * any write, however if we're remapping xattr names we need to drop
-+ * whatever the clients security.capability is actually stored as.
-+ */
-+static int drop_security_capability(const struct lo_data *lo, int fd)
-+{
-+ if (!lo->xattr_security_capability) {
-+ /* We didn't remap the name, let the host kernel do it */
-+ return 0;
-+ }
-+ if (!fremovexattr(fd, lo->xattr_security_capability)) {
-+ /* All good */
-+ return 0;
-+ }
-+
-+ switch (errno) {
-+ case ENODATA:
-+ /* Attribute didn't exist, that's fine */
-+ return 0;
-+
-+ case ENOTSUP:
-+ /* FS didn't support attribute anyway, also fine */
-+ return 0;
-+
-+ default:
-+ /* Hmm other error */
-+ return errno;
-+ }
-+}
-+
- static void lo_map_init(struct lo_map *map)
- {
- map->elems = NULL;
-@@ -717,6 +751,11 @@ static void lo_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr,
- uid_t uid = (valid & FUSE_SET_ATTR_UID) ? attr->st_uid : (uid_t)-1;
- gid_t gid = (valid & FUSE_SET_ATTR_GID) ? attr->st_gid : (gid_t)-1;
-
-+ saverr = drop_security_capability(lo, ifd);
-+ if (saverr) {
-+ goto out_err;
-+ }
-+
- res = fchownat(ifd, "", uid, gid, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW);
- if (res == -1) {
- goto out_err;
-@@ -735,6 +774,14 @@ static void lo_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr,
- }
- }
-
-+ saverr = drop_security_capability(lo, truncfd);
-+ if (saverr) {
-+ if (!fi) {
-+ close(truncfd);
-+ }
-+ goto out_err;
-+ }
-+
- res = ftruncate(truncfd, attr->st_size);
- if (!fi) {
- saverr = errno;
-@@ -1726,6 +1773,13 @@ static int lo_do_open(struct lo_data *lo, struct lo_inode *inode,
- if (fd < 0) {
- return -fd;
- }
-+ if (fi->flags & (O_TRUNC)) {
-+ int err = drop_security_capability(lo, fd);
-+ if (err) {
-+ close(fd);
-+ return err;
-+ }
-+ }
- }
-
- pthread_mutex_lock(&lo->mutex);
-@@ -2114,6 +2168,12 @@ static void lo_write_buf(fuse_req_t req, fuse_ino_t ino,
- "lo_write_buf(ino=%" PRIu64 ", size=%zd, off=%lu)\n", ino,
- out_buf.buf[0].size, (unsigned long)off);
-
-+ res = drop_security_capability(lo_data(req), out_buf.buf[0].fd);
-+ if (res) {
-+ fuse_reply_err(req, res);
-+ return;
-+ }
-+
- /*
- * If kill_priv is set, drop CAP_FSETID which should lead to kernel
- * clearing setuid/setgid on file.
-@@ -2353,6 +2413,7 @@ static void parse_xattrmap(struct lo_data *lo)
- {
- const char *map = lo->xattrmap;
- const char *tmp;
-+ int ret;
-
- lo->xattr_map_nentries = 0;
- while (*map) {
-@@ -2383,7 +2444,7 @@ static void parse_xattrmap(struct lo_data *lo)
- * the last entry.
- */
- parse_xattrmap_map(lo, map, sep);
-- return;
-+ break;
- } else {
- fuse_log(FUSE_LOG_ERR,
- "%s: Unexpected type;"
-@@ -2452,6 +2513,19 @@ static void parse_xattrmap(struct lo_data *lo)
- fuse_log(FUSE_LOG_ERR, "Empty xattr map\n");
- exit(1);
- }
-+
-+ ret = xattr_map_client(lo, "security.capability",
-+ &lo->xattr_security_capability);
-+ if (ret) {
-+ fuse_log(FUSE_LOG_ERR, "Failed to map security.capability: %s\n",
-+ strerror(ret));
-+ exit(1);
-+ }
-+ if (!strcmp(lo->xattr_security_capability, "security.capability")) {
-+ /* 1-1 mapping, don't need to do anything */
-+ free(lo->xattr_security_capability);
-+ lo->xattr_security_capability = NULL;
-+ }
- }
-
- /*
-@@ -3480,6 +3554,7 @@ static void fuse_lo_data_cleanup(struct lo_data *lo)
-
- free(lo->xattrmap);
- free_xattrmap(lo);
-+ free(lo->xattr_security_capability);
- free(lo->source);
- }
-
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3392.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3392.patch
deleted file mode 100644
index af94cff7e..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3392.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 3791642c8d60029adf9b00bcb4e34d7d8a1aea4d Mon Sep 17 00:00:00 2001
-From: Michael Tokarev <mjt@tls.msk.ru>
-Date: Mon, 19 Apr 2021 15:42:47 +0200
-Subject: [PATCH] mptsas: Remove unused MPTSASState 'pending' field
- (CVE-2021-3392)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-While processing SCSI i/o requests in mptsas_process_scsi_io_request(),
-the Megaraid emulator appends new MPTSASRequest object 'req' to
-the 's->pending' queue. In case of an error, this same object gets
-dequeued in mptsas_free_request() only if SCSIRequest object
-'req->sreq' is initialised. This may lead to a use-after-free issue.
-
-Since s->pending is actually not used, simply remove it from
-MPTSASState.
-
-Cc: qemu-stable@nongnu.org
-Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
-Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Reported-by: Cheolwoo Myung <cwmyung@snu.ac.kr>
-Message-id: 20210419134247.1467982-1-f4bug@amsat.org
-Message-Id: <20210416102243.1293871-1-mjt@msgid.tls.msk.ru>
-Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
-Reported-by: Cheolwoo Myung <cwmyung@snu.ac.kr>
-BugLink: https://bugs.launchpad.net/qemu/+bug/1914236 (CVE-2021-3392)
-Fixes: e351b826112 ("hw: Add support for LSI SAS1068 (mptsas) device")
-[PMD: Reworded description, added more tags]
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
-Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-
-CVE: CVE-2021-3392
-Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=3791642c8d60029adf9b00bcb4e34d7d8a1aea4d]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- hw/scsi/mptsas.c | 6 ------
- hw/scsi/mptsas.h | 1 -
- 2 files changed, 7 deletions(-)
-
-diff --git a/hw/scsi/mptsas.c b/hw/scsi/mptsas.c
-index 7416e7870614..db3219e7d206 100644
---- a/hw/scsi/mptsas.c
-+++ b/hw/scsi/mptsas.c
-@@ -251,13 +251,10 @@ static int mptsas_build_sgl(MPTSASState *s, MPTSASRequest *req, hwaddr addr)
-
- static void mptsas_free_request(MPTSASRequest *req)
- {
-- MPTSASState *s = req->dev;
--
- if (req->sreq != NULL) {
- req->sreq->hba_private = NULL;
- scsi_req_unref(req->sreq);
- req->sreq = NULL;
-- QTAILQ_REMOVE(&s->pending, req, next);
- }
- qemu_sglist_destroy(&req->qsg);
- g_free(req);
-@@ -303,7 +300,6 @@ static int mptsas_process_scsi_io_request(MPTSASState *s,
- }
-
- req = g_new0(MPTSASRequest, 1);
-- QTAILQ_INSERT_TAIL(&s->pending, req, next);
- req->scsi_io = *scsi_io;
- req->dev = s;
-
-@@ -1319,8 +1315,6 @@ static void mptsas_scsi_realize(PCIDevice *dev, Error **errp)
-
- s->request_bh = qemu_bh_new(mptsas_fetch_requests, s);
-
-- QTAILQ_INIT(&s->pending);
--
- scsi_bus_new(&s->bus, sizeof(s->bus), &dev->qdev, &mptsas_scsi_info, NULL);
- }
-
-diff --git a/hw/scsi/mptsas.h b/hw/scsi/mptsas.h
-index b85ac1a5fcc7..c046497db719 100644
---- a/hw/scsi/mptsas.h
-+++ b/hw/scsi/mptsas.h
-@@ -79,7 +79,6 @@ struct MPTSASState {
- uint16_t reply_frame_size;
-
- SCSIBus bus;
-- QTAILQ_HEAD(, MPTSASRequest) pending;
- };
-
- void mptsas_fix_scsi_io_endianness(MPIMsgSCSIIORequest *req);
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_1.patch
deleted file mode 100644
index f9395add4..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_1.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From c01ae9a35b3c6b4a8e1f1bfa0a0caafe394f8b5c Mon Sep 17 00:00:00 2001
-From: Bin Meng <bmeng.cn@gmail.com>
-Date: Tue, 16 Feb 2021 11:46:52 +0800
-Subject: [PATCH 1/6] hw/sd: sdhci: Simplify updating s->prnsts in
- sdhci_sdma_transfer_multi_blocks()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-s->prnsts is updated in both branches of the if () else () statement.
-Move the common bits outside so that it is cleaner.
-
-Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
-Tested-by: Alexander Bulekov <alxndr@bu.edu>
-Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
-Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-Message-Id: <1613447214-81951-5-git-send-email-bmeng.cn@gmail.com>
-Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-
-Upstream-Status: Backport [8bc1f1aa51d32c3184e7b19d5b94c35ecc06f056]
-CVE: CVE-2021-3409
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/sd/sdhci.c | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
-index 2f8b74a84..f83c5e295 100644
---- a/hw/sd/sdhci.c
-+++ b/hw/sd/sdhci.c
-@@ -596,9 +596,9 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState *s)
- page_aligned = true;
- }
-
-+ s->prnsts |= SDHC_DATA_INHIBIT | SDHC_DAT_LINE_ACTIVE;
- if (s->trnmod & SDHC_TRNS_READ) {
-- s->prnsts |= SDHC_DOING_READ | SDHC_DATA_INHIBIT |
-- SDHC_DAT_LINE_ACTIVE;
-+ s->prnsts |= SDHC_DOING_READ;
- while (s->blkcnt) {
- if (s->data_count == 0) {
- sdbus_read_data(&s->sdbus, s->fifo_buffer, block_size);
-@@ -625,8 +625,7 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState *s)
- }
- }
- } else {
-- s->prnsts |= SDHC_DOING_WRITE | SDHC_DATA_INHIBIT |
-- SDHC_DAT_LINE_ACTIVE;
-+ s->prnsts |= SDHC_DOING_WRITE;
- while (s->blkcnt) {
- begin = s->data_count;
- if (((boundary_count + begin) < block_size) && page_aligned) {
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_2.patch
deleted file mode 100644
index f3d2bb137..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_2.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From b9bb4700798bce98888c51d7b6dbc19ec49159d5 Mon Sep 17 00:00:00 2001
-From: Bin Meng <bmeng.cn@gmail.com>
-Date: Wed, 3 Mar 2021 20:26:35 +0800
-Subject: [PATCH 2/6] hw/sd: sdhci: Don't transfer any data when command time
- out
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-At the end of sdhci_send_command(), it starts a data transfer if the
-command register indicates data is associated. But the data transfer
-should only be initiated when the command execution has succeeded.
-
-With this fix, the following reproducer:
-
-outl 0xcf8 0x80001810
-outl 0xcfc 0xe1068000
-outl 0xcf8 0x80001804
-outw 0xcfc 0x7
-write 0xe106802c 0x1 0x0f
-write 0xe1068004 0xc 0x2801d10101fffffbff28a384
-write 0xe106800c 0x1f 0x9dacbbcad9e8f7061524334251606f7e8d9cabbac9d8e7f60514233241505f
-write 0xe1068003 0x28 0x80d000251480d000252280d000253080d000253e80d000254c80d000255a80d000256880d0002576
-write 0xe1068003 0x1 0xfe
-
-cannot be reproduced with the following QEMU command line:
-
-$ qemu-system-x86_64 -nographic -M pc-q35-5.0 \
- -device sdhci-pci,sd-spec-version=3 \
- -drive if=sd,index=0,file=null-co://,format=raw,id=mydrive \
- -device sd-card,drive=mydrive \
- -monitor none -serial none -qtest stdio
-
-Cc: qemu-stable@nongnu.org
-Fixes: CVE-2020-17380
-Fixes: CVE-2020-25085
-Fixes: CVE-2021-3409
-Fixes: d7dfca0807a0 ("hw/sdhci: introduce standard SD host controller")
-Reported-by: Alexander Bulekov <alxndr@bu.edu>
-Reported-by: Cornelius Aschermann (Ruhr-Universität Bochum)
-Reported-by: Sergej Schumilo (Ruhr-Universität Bochum)
-Reported-by: Simon Wörner (Ruhr-Universität Bochum)
-Buglink: https://bugs.launchpad.net/qemu/+bug/1892960
-Buglink: https://bugs.launchpad.net/qemu/+bug/1909418
-Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1928146
-Acked-by: Alistair Francis <alistair.francis@wdc.com>
-Tested-by: Alexander Bulekov <alxndr@bu.edu>
-Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
-Message-Id: <20210303122639.20004-2-bmeng.cn@gmail.com>
-Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-
-Upstream-Status: Backport [b263d8f928001b5cfa2a993ea43b7a5b3a1811e8]
-CVE: CVE-2021-3409
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/sd/sdhci.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
-index f83c5e295..44f8a82ea 100644
---- a/hw/sd/sdhci.c
-+++ b/hw/sd/sdhci.c
-@@ -326,6 +326,7 @@ static void sdhci_send_command(SDHCIState *s)
- SDRequest request;
- uint8_t response[16];
- int rlen;
-+ bool timeout = false;
-
- s->errintsts = 0;
- s->acmd12errsts = 0;
-@@ -349,6 +350,7 @@ static void sdhci_send_command(SDHCIState *s)
- trace_sdhci_response16(s->rspreg[3], s->rspreg[2],
- s->rspreg[1], s->rspreg[0]);
- } else {
-+ timeout = true;
- trace_sdhci_error("timeout waiting for command response");
- if (s->errintstsen & SDHC_EISEN_CMDTIMEOUT) {
- s->errintsts |= SDHC_EIS_CMDTIMEOUT;
-@@ -369,7 +371,7 @@ static void sdhci_send_command(SDHCIState *s)
-
- sdhci_update_irq(s);
-
-- if (s->blksize && (s->cmdreg & SDHC_CMD_DATA_PRESENT)) {
-+ if (!timeout && s->blksize && (s->cmdreg & SDHC_CMD_DATA_PRESENT)) {
- s->data_count = 0;
- sdhci_data_transfer(s);
- }
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_3.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_3.patch
deleted file mode 100644
index c3b37ed61..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_3.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 405ca416ccc8135544a4fe5732974497244128c9 Mon Sep 17 00:00:00 2001
-From: Bin Meng <bmeng.cn@gmail.com>
-Date: Wed, 3 Mar 2021 20:26:36 +0800
-Subject: [PATCH 3/6] hw/sd: sdhci: Don't write to SDHC_SYSAD register when
- transfer is in progress
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Per "SD Host Controller Standard Specification Version 7.00"
-chapter 2.2.1 SDMA System Address Register:
-
-This register can be accessed only if no transaction is executing
-(i.e., after a transaction has stopped).
-
-With this fix, the following reproducer:
-
-outl 0xcf8 0x80001010
-outl 0xcfc 0xfbefff00
-outl 0xcf8 0x80001001
-outl 0xcfc 0x06000000
-write 0xfbefff2c 0x1 0x05
-write 0xfbefff0f 0x1 0x37
-write 0xfbefff0a 0x1 0x01
-write 0xfbefff0f 0x1 0x29
-write 0xfbefff0f 0x1 0x02
-write 0xfbefff0f 0x1 0x03
-write 0xfbefff04 0x1 0x01
-write 0xfbefff05 0x1 0x01
-write 0xfbefff07 0x1 0x02
-write 0xfbefff0c 0x1 0x33
-write 0xfbefff0e 0x1 0x20
-write 0xfbefff0f 0x1 0x00
-write 0xfbefff2a 0x1 0x01
-write 0xfbefff0c 0x1 0x00
-write 0xfbefff03 0x1 0x00
-write 0xfbefff05 0x1 0x00
-write 0xfbefff2a 0x1 0x02
-write 0xfbefff0c 0x1 0x32
-write 0xfbefff01 0x1 0x01
-write 0xfbefff02 0x1 0x01
-write 0xfbefff03 0x1 0x01
-
-cannot be reproduced with the following QEMU command line:
-
-$ qemu-system-x86_64 -nographic -machine accel=qtest -m 512M \
- -nodefaults -device sdhci-pci,sd-spec-version=3 \
- -drive if=sd,index=0,file=null-co://,format=raw,id=mydrive \
- -device sd-card,drive=mydrive -qtest stdio
-
-Cc: qemu-stable@nongnu.org
-Fixes: CVE-2020-17380
-Fixes: CVE-2020-25085
-Fixes: CVE-2021-3409
-Fixes: d7dfca0807a0 ("hw/sdhci: introduce standard SD host controller")
-Reported-by: Alexander Bulekov <alxndr@bu.edu>
-Reported-by: Cornelius Aschermann (Ruhr-Universität Bochum)
-Reported-by: Sergej Schumilo (Ruhr-Universität Bochum)
-Reported-by: Simon Wörner (Ruhr-Universität Bochum)
-Buglink: https://bugs.launchpad.net/qemu/+bug/1892960
-Buglink: https://bugs.launchpad.net/qemu/+bug/1909418
-Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1928146
-Tested-by: Alexander Bulekov <alxndr@bu.edu>
-Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
-Message-Id: <20210303122639.20004-3-bmeng.cn@gmail.com>
-Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-
-Upstream-Status: Backport [8be45cc947832b3c02144c9d52921f499f2d77fe]
-CVE: CVE-2021-3409
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/sd/sdhci.c | 20 +++++++++++---------
- 1 file changed, 11 insertions(+), 9 deletions(-)
-
-diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
-index 44f8a82ea..d8a46f307 100644
---- a/hw/sd/sdhci.c
-+++ b/hw/sd/sdhci.c
-@@ -1121,15 +1121,17 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size)
-
- switch (offset & ~0x3) {
- case SDHC_SYSAD:
-- s->sdmasysad = (s->sdmasysad & mask) | value;
-- MASKED_WRITE(s->sdmasysad, mask, value);
-- /* Writing to last byte of sdmasysad might trigger transfer */
-- if (!(mask & 0xFF000000) && TRANSFERRING_DATA(s->prnsts) && s->blkcnt &&
-- s->blksize && SDHC_DMA_TYPE(s->hostctl1) == SDHC_CTRL_SDMA) {
-- if (s->trnmod & SDHC_TRNS_MULTI) {
-- sdhci_sdma_transfer_multi_blocks(s);
-- } else {
-- sdhci_sdma_transfer_single_block(s);
-+ if (!TRANSFERRING_DATA(s->prnsts)) {
-+ s->sdmasysad = (s->sdmasysad & mask) | value;
-+ MASKED_WRITE(s->sdmasysad, mask, value);
-+ /* Writing to last byte of sdmasysad might trigger transfer */
-+ if (!(mask & 0xFF000000) && s->blkcnt && s->blksize &&
-+ SDHC_DMA_TYPE(s->hostctl1) == SDHC_CTRL_SDMA) {
-+ if (s->trnmod & SDHC_TRNS_MULTI) {
-+ sdhci_sdma_transfer_multi_blocks(s);
-+ } else {
-+ sdhci_sdma_transfer_single_block(s);
-+ }
- }
- }
- break;
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_4.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_4.patch
deleted file mode 100644
index d5be99759..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_4.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From b672bcaf5522294a4d8de3e88e0932d55585ee3b Mon Sep 17 00:00:00 2001
-From: Bin Meng <bmeng.cn@gmail.com>
-Date: Wed, 3 Mar 2021 20:26:37 +0800
-Subject: [PATCH 4/6] hw/sd: sdhci: Correctly set the controller status for
- ADMA
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When an ADMA transfer is started, the codes forget to set the
-controller status to indicate a transfer is in progress.
-
-With this fix, the following 2 reproducers:
-
-https://paste.debian.net/plain/1185136
-https://paste.debian.net/plain/1185141
-
-cannot be reproduced with the following QEMU command line:
-
-$ qemu-system-x86_64 -nographic -machine accel=qtest -m 512M \
- -nodefaults -device sdhci-pci,sd-spec-version=3 \
- -drive if=sd,index=0,file=null-co://,format=raw,id=mydrive \
- -device sd-card,drive=mydrive -qtest stdio
-
-Cc: qemu-stable@nongnu.org
-Fixes: CVE-2020-17380
-Fixes: CVE-2020-25085
-Fixes: CVE-2021-3409
-Fixes: d7dfca0807a0 ("hw/sdhci: introduce standard SD host controller")
-Reported-by: Alexander Bulekov <alxndr@bu.edu>
-Reported-by: Cornelius Aschermann (Ruhr-Universität Bochum)
-Reported-by: Sergej Schumilo (Ruhr-Universität Bochum)
-Reported-by: Simon Wörner (Ruhr-Universität Bochum)
-Buglink: https://bugs.launchpad.net/qemu/+bug/1892960
-Buglink: https://bugs.launchpad.net/qemu/+bug/1909418
-Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1928146
-Tested-by: Alexander Bulekov <alxndr@bu.edu>
-Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
-Message-Id: <20210303122639.20004-4-bmeng.cn@gmail.com>
-Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-
-Upstream-Status: Backport [bc6f28995ff88f5d82c38afcfd65406f0ae375aa]
-CVE: CVE-2021-3409
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/sd/sdhci.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
-index d8a46f307..7de03c6dd 100644
---- a/hw/sd/sdhci.c
-+++ b/hw/sd/sdhci.c
-@@ -768,7 +768,9 @@ static void sdhci_do_adma(SDHCIState *s)
-
- switch (dscr.attr & SDHC_ADMA_ATTR_ACT_MASK) {
- case SDHC_ADMA_ATTR_ACT_TRAN: /* data transfer */
-+ s->prnsts |= SDHC_DATA_INHIBIT | SDHC_DAT_LINE_ACTIVE;
- if (s->trnmod & SDHC_TRNS_READ) {
-+ s->prnsts |= SDHC_DOING_READ;
- while (length) {
- if (s->data_count == 0) {
- sdbus_read_data(&s->sdbus, s->fifo_buffer, block_size);
-@@ -796,6 +798,7 @@ static void sdhci_do_adma(SDHCIState *s)
- }
- }
- } else {
-+ s->prnsts |= SDHC_DOING_WRITE;
- while (length) {
- begin = s->data_count;
- if ((length + begin) < block_size) {
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_5.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_5.patch
deleted file mode 100644
index 719905683..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_5.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From c2298884cf6bcf2b047b4bae5f78432b052b5729 Mon Sep 17 00:00:00 2001
-From: Bin Meng <bmeng.cn@gmail.com>
-Date: Wed, 3 Mar 2021 20:26:38 +0800
-Subject: [PATCH 5/6] hw/sd: sdhci: Limit block size only when SDHC_BLKSIZE
- register is writable
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The codes to limit the maximum block size is only necessary when
-SDHC_BLKSIZE register is writable.
-
-Tested-by: Alexander Bulekov <alxndr@bu.edu>
-Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
-Message-Id: <20210303122639.20004-5-bmeng.cn@gmail.com>
-Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-
-Upstream-Status: Backport [5cd7aa3451b76bb19c0f6adc2b931f091e5d7fcd]
-CVE: CVE-2021-3409
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/sd/sdhci.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
-index 7de03c6dd..6c780126e 100644
---- a/hw/sd/sdhci.c
-+++ b/hw/sd/sdhci.c
-@@ -1142,15 +1142,15 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size)
- if (!TRANSFERRING_DATA(s->prnsts)) {
- MASKED_WRITE(s->blksize, mask, extract32(value, 0, 12));
- MASKED_WRITE(s->blkcnt, mask >> 16, value >> 16);
-- }
-
-- /* Limit block size to the maximum buffer size */
-- if (extract32(s->blksize, 0, 12) > s->buf_maxsz) {
-- qemu_log_mask(LOG_GUEST_ERROR, "%s: Size 0x%x is larger than "
-- "the maximum buffer 0x%x\n", __func__, s->blksize,
-- s->buf_maxsz);
-+ /* Limit block size to the maximum buffer size */
-+ if (extract32(s->blksize, 0, 12) > s->buf_maxsz) {
-+ qemu_log_mask(LOG_GUEST_ERROR, "%s: Size 0x%x is larger than "
-+ "the maximum buffer 0x%x\n", __func__, s->blksize,
-+ s->buf_maxsz);
-
-- s->blksize = deposit32(s->blksize, 0, 12, s->buf_maxsz);
-+ s->blksize = deposit32(s->blksize, 0, 12, s->buf_maxsz);
-+ }
- }
-
- break;
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_6.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_6.patch
deleted file mode 100644
index 624c1f649..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_6.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From db916870a839346767b6d5ca7d0eed3128ba5fea Mon Sep 17 00:00:00 2001
-From: Bin Meng <bmeng.cn@gmail.com>
-Date: Wed, 3 Mar 2021 20:26:39 +0800
-Subject: [PATCH 6/6] hw/sd: sdhci: Reset the data pointer of s->fifo_buffer[]
- when a different block size is programmed
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-If the block size is programmed to a different value from the
-previous one, reset the data pointer of s->fifo_buffer[] so that
-s->fifo_buffer[] can be filled in using the new block size in
-the next transfer.
-
-With this fix, the following reproducer:
-
-outl 0xcf8 0x80001010
-outl 0xcfc 0xe0000000
-outl 0xcf8 0x80001001
-outl 0xcfc 0x06000000
-write 0xe000002c 0x1 0x05
-write 0xe0000005 0x1 0x02
-write 0xe0000007 0x1 0x01
-write 0xe0000028 0x1 0x10
-write 0x0 0x1 0x23
-write 0x2 0x1 0x08
-write 0xe000000c 0x1 0x01
-write 0xe000000e 0x1 0x20
-write 0xe000000f 0x1 0x00
-write 0xe000000c 0x1 0x32
-write 0xe0000004 0x2 0x0200
-write 0xe0000028 0x1 0x00
-write 0xe0000003 0x1 0x40
-
-cannot be reproduced with the following QEMU command line:
-
-$ qemu-system-x86_64 -nographic -machine accel=qtest -m 512M \
- -nodefaults -device sdhci-pci,sd-spec-version=3 \
- -drive if=sd,index=0,file=null-co://,format=raw,id=mydrive \
- -device sd-card,drive=mydrive -qtest stdio
-
-Cc: qemu-stable@nongnu.org
-Fixes: CVE-2020-17380
-Fixes: CVE-2020-25085
-Fixes: CVE-2021-3409
-Fixes: d7dfca0807a0 ("hw/sdhci: introduce standard SD host controller")
-Reported-by: Alexander Bulekov <alxndr@bu.edu>
-Reported-by: Cornelius Aschermann (Ruhr-Universität Bochum)
-Reported-by: Sergej Schumilo (Ruhr-Universität Bochum)
-Reported-by: Simon Wörner (Ruhr-Universität Bochum)
-Buglink: https://bugs.launchpad.net/qemu/+bug/1892960
-Buglink: https://bugs.launchpad.net/qemu/+bug/1909418
-Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1928146
-Tested-by: Alexander Bulekov <alxndr@bu.edu>
-Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
-Message-Id: <20210303122639.20004-6-bmeng.cn@gmail.com>
-Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-
-Upstream-Status: Backport [cffb446e8fd19a14e1634c7a3a8b07be3f01d5c9]
-CVE: CVE-2021-3409
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/sd/sdhci.c | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
-index 6c780126e..216842420 100644
---- a/hw/sd/sdhci.c
-+++ b/hw/sd/sdhci.c
-@@ -1140,6 +1140,8 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size)
- break;
- case SDHC_BLKSIZE:
- if (!TRANSFERRING_DATA(s->prnsts)) {
-+ uint16_t blksize = s->blksize;
-+
- MASKED_WRITE(s->blksize, mask, extract32(value, 0, 12));
- MASKED_WRITE(s->blkcnt, mask >> 16, value >> 16);
-
-@@ -1151,6 +1153,16 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size)
-
- s->blksize = deposit32(s->blksize, 0, 12, s->buf_maxsz);
- }
-+
-+ /*
-+ * If the block size is programmed to a different value from
-+ * the previous one, reset the data pointer of s->fifo_buffer[]
-+ * so that s->fifo_buffer[] can be filled in using the new block
-+ * size in the next transfer.
-+ */
-+ if (blksize != s->blksize) {
-+ s->data_count = 0;
-+ }
- }
-
- break;
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_1.patch
deleted file mode 100644
index 5bacd6748..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_1.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From 4b1988a29d67277d6c8ce1df52975f5616592913 Mon Sep 17 00:00:00 2001
-From: Jason Wang <jasowang@redhat.com>
-Date: Wed, 24 Feb 2021 11:44:36 +0800
-Subject: [PATCH 01/10] net: introduce qemu_receive_packet()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Some NIC supports loopback mode and this is done by calling
-nc->info->receive() directly which in fact suppresses the effort of
-reentrancy check that is done in qemu_net_queue_send().
-
-Unfortunately we can't use qemu_net_queue_send() here since for
-loopback there's no sender as peer, so this patch introduce a
-qemu_receive_packet() which is used for implementing loopback mode
-for a NIC with this check.
-
-NIC that supports loopback mode will be converted to this helper.
-
-This is intended to address CVE-2021-3416.
-
-Cc: Prasad J Pandit <ppandit@redhat.com>
-Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Cc: qemu-stable@nongnu.org
-Signed-off-by: Jason Wang <jasowang@redhat.com>
-
-Upstream-Status: Backport [705df5466c98f3efdd2b68d3b31dad86858acad7]
-CVE: CVE-2021-3416
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- include/net/net.h | 5 +++++
- include/net/queue.h | 8 ++++++++
- net/net.c | 38 +++++++++++++++++++++++++++++++-------
- net/queue.c | 22 ++++++++++++++++++++++
- 4 files changed, 66 insertions(+), 7 deletions(-)
-
-diff --git a/include/net/net.h b/include/net/net.h
-index 778fc787c..03f058ecb 100644
---- a/include/net/net.h
-+++ b/include/net/net.h
-@@ -143,12 +143,17 @@ void *qemu_get_nic_opaque(NetClientState *nc);
- void qemu_del_net_client(NetClientState *nc);
- typedef void (*qemu_nic_foreach)(NICState *nic, void *opaque);
- void qemu_foreach_nic(qemu_nic_foreach func, void *opaque);
-+int qemu_can_receive_packet(NetClientState *nc);
- int qemu_can_send_packet(NetClientState *nc);
- ssize_t qemu_sendv_packet(NetClientState *nc, const struct iovec *iov,
- int iovcnt);
- ssize_t qemu_sendv_packet_async(NetClientState *nc, const struct iovec *iov,
- int iovcnt, NetPacketSent *sent_cb);
- ssize_t qemu_send_packet(NetClientState *nc, const uint8_t *buf, int size);
-+ssize_t qemu_receive_packet(NetClientState *nc, const uint8_t *buf, int size);
-+ssize_t qemu_receive_packet_iov(NetClientState *nc,
-+ const struct iovec *iov,
-+ int iovcnt);
- ssize_t qemu_send_packet_raw(NetClientState *nc, const uint8_t *buf, int size);
- ssize_t qemu_send_packet_async(NetClientState *nc, const uint8_t *buf,
- int size, NetPacketSent *sent_cb);
-diff --git a/include/net/queue.h b/include/net/queue.h
-index c0269bb1d..9f2f289d7 100644
---- a/include/net/queue.h
-+++ b/include/net/queue.h
-@@ -55,6 +55,14 @@ void qemu_net_queue_append_iov(NetQueue *queue,
-
- void qemu_del_net_queue(NetQueue *queue);
-
-+ssize_t qemu_net_queue_receive(NetQueue *queue,
-+ const uint8_t *data,
-+ size_t size);
-+
-+ssize_t qemu_net_queue_receive_iov(NetQueue *queue,
-+ const struct iovec *iov,
-+ int iovcnt);
-+
- ssize_t qemu_net_queue_send(NetQueue *queue,
- NetClientState *sender,
- unsigned flags,
-diff --git a/net/net.c b/net/net.c
-index 6a2c3d956..5e15e5d27 100644
---- a/net/net.c
-+++ b/net/net.c
-@@ -528,6 +528,17 @@ int qemu_set_vnet_be(NetClientState *nc, bool is_be)
- #endif
- }
-
-+int qemu_can_receive_packet(NetClientState *nc)
-+{
-+ if (nc->receive_disabled) {
-+ return 0;
-+ } else if (nc->info->can_receive &&
-+ !nc->info->can_receive(nc)) {
-+ return 0;
-+ }
-+ return 1;
-+}
-+
- int qemu_can_send_packet(NetClientState *sender)
- {
- int vm_running = runstate_is_running();
-@@ -540,13 +551,7 @@ int qemu_can_send_packet(NetClientState *sender)
- return 1;
- }
-
-- if (sender->peer->receive_disabled) {
-- return 0;
-- } else if (sender->peer->info->can_receive &&
-- !sender->peer->info->can_receive(sender->peer)) {
-- return 0;
-- }
-- return 1;
-+ return qemu_can_receive_packet(sender->peer);
- }
-
- static ssize_t filter_receive_iov(NetClientState *nc,
-@@ -679,6 +684,25 @@ ssize_t qemu_send_packet(NetClientState *nc, const uint8_t *buf, int size)
- return qemu_send_packet_async(nc, buf, size, NULL);
- }
-
-+ssize_t qemu_receive_packet(NetClientState *nc, const uint8_t *buf, int size)
-+{
-+ if (!qemu_can_receive_packet(nc)) {
-+ return 0;
-+ }
-+
-+ return qemu_net_queue_receive(nc->incoming_queue, buf, size);
-+}
-+
-+ssize_t qemu_receive_packet_iov(NetClientState *nc, const struct iovec *iov,
-+ int iovcnt)
-+{
-+ if (!qemu_can_receive_packet(nc)) {
-+ return 0;
-+ }
-+
-+ return qemu_net_queue_receive_iov(nc->incoming_queue, iov, iovcnt);
-+}
-+
- ssize_t qemu_send_packet_raw(NetClientState *nc, const uint8_t *buf, int size)
- {
- return qemu_send_packet_async_with_flags(nc, QEMU_NET_PACKET_FLAG_RAW,
-diff --git a/net/queue.c b/net/queue.c
-index 19e32c80f..c872d51df 100644
---- a/net/queue.c
-+++ b/net/queue.c
-@@ -182,6 +182,28 @@ static ssize_t qemu_net_queue_deliver_iov(NetQueue *queue,
- return ret;
- }
-
-+ssize_t qemu_net_queue_receive(NetQueue *queue,
-+ const uint8_t *data,
-+ size_t size)
-+{
-+ if (queue->delivering) {
-+ return 0;
-+ }
-+
-+ return qemu_net_queue_deliver(queue, NULL, 0, data, size);
-+}
-+
-+ssize_t qemu_net_queue_receive_iov(NetQueue *queue,
-+ const struct iovec *iov,
-+ int iovcnt)
-+{
-+ if (queue->delivering) {
-+ return 0;
-+ }
-+
-+ return qemu_net_queue_deliver_iov(queue, NULL, 0, iov, iovcnt);
-+}
-+
- ssize_t qemu_net_queue_send(NetQueue *queue,
- NetClientState *sender,
- unsigned flags,
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_10.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_10.patch
deleted file mode 100644
index 7deec1a34..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_10.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 65b851efd3d0280425c202f4e5880c48f8334dae Mon Sep 17 00:00:00 2001
-From: Alexander Bulekov <alxndr@bu.edu>
-Date: Mon, 1 Mar 2021 14:35:30 -0500
-Subject: [PATCH 10/10] lan9118: switch to use qemu_receive_packet() for
- loopback
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This patch switches to use qemu_receive_packet() which can detect
-reentrancy and return early.
-
-This is intended to address CVE-2021-3416.
-
-Cc: Prasad J Pandit <ppandit@redhat.com>
-Cc: qemu-stable@nongnu.org
-Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com
-Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
-Signed-off-by: Jason Wang <jasowang@redhat.com>
-
-Upstream-Status: Backport [37cee01784ff0df13e5209517e1b3594a5e792d1]
-CVE: CVE-2021-3416
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/net/lan9118.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/hw/net/lan9118.c b/hw/net/lan9118.c
-index ab57c02c8..75f18ae2d 100644
---- a/hw/net/lan9118.c
-+++ b/hw/net/lan9118.c
-@@ -669,7 +669,7 @@ static void do_tx_packet(lan9118_state *s)
- /* FIXME: Honor TX disable, and allow queueing of packets. */
- if (s->phy_control & 0x4000) {
- /* This assumes the receive routine doesn't touch the VLANClient. */
-- lan9118_receive(qemu_get_queue(s->nic), s->txp->data, s->txp->len);
-+ qemu_receive_packet(qemu_get_queue(s->nic), s->txp->data, s->txp->len);
- } else {
- qemu_send_packet(qemu_get_queue(s->nic), s->txp->data, s->txp->len);
- }
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_2.patch
deleted file mode 100644
index 5e53e20ba..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_2.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From e2a48a3c7cc33dbbe89f896e0f07462cb04ff6b5 Mon Sep 17 00:00:00 2001
-From: Jason Wang <jasowang@redhat.com>
-Date: Wed, 24 Feb 2021 12:13:22 +0800
-Subject: [PATCH 02/10] e1000: switch to use qemu_receive_packet() for loopback
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This patch switches to use qemu_receive_packet() which can detect
-reentrancy and return early.
-
-This is intended to address CVE-2021-3416.
-
-Cc: Prasad J Pandit <ppandit@redhat.com>
-Cc: qemu-stable@nongnu.org
-Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Jason Wang <jasowang@redhat.com>
-
-Upstream-Status: Backport [1caff0340f49c93d535c6558a5138d20d475315c]
-CVE: CVE-2021-3416
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/net/e1000.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/hw/net/e1000.c b/hw/net/e1000.c
-index d7d05ae30..cf22c4f07 100644
---- a/hw/net/e1000.c
-+++ b/hw/net/e1000.c
-@@ -546,7 +546,7 @@ e1000_send_packet(E1000State *s, const uint8_t *buf, int size)
-
- NetClientState *nc = qemu_get_queue(s->nic);
- if (s->phy_reg[PHY_CTRL] & MII_CR_LOOPBACK) {
-- nc->info->receive(nc, buf, size);
-+ qemu_receive_packet(nc, buf, size);
- } else {
- qemu_send_packet(nc, buf, size);
- }
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch
deleted file mode 100644
index 3fc469e3e..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From c041a4da1ff119715e0ccf2d4a7af62568f17b93 Mon Sep 17 00:00:00 2001
-From: Jason Wang <jasowang@redhat.com>
-Date: Wed, 24 Feb 2021 12:57:40 +0800
-Subject: [PATCH 03/10] dp8393x: switch to use qemu_receive_packet() for
- loopback packet
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This patch switches to use qemu_receive_packet() which can detect
-reentrancy and return early.
-
-This is intended to address CVE-2021-3416.
-
-Cc: Prasad J Pandit <ppandit@redhat.com>
-Cc: qemu-stable@nongnu.org
-Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com
-Signed-off-by: Jason Wang <jasowang@redhat.com>
-
-Upstream-Status: Backport [331d2ac9ea307c990dc86e6493e8f0c48d14bb33]
-CVE: CVE-2021-3416
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/net/dp8393x.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c
-index 205c0decc..533a8304d 100644
---- a/hw/net/dp8393x.c
-+++ b/hw/net/dp8393x.c
-@@ -506,7 +506,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s)
- s->regs[SONIC_TCR] |= SONIC_TCR_CRSL;
- if (nc->info->can_receive(nc)) {
- s->loopback_packet = 1;
-- nc->info->receive(nc, s->tx_buffer, tx_len);
-+ qemu_receive_packet(nc, s->tx_buffer, tx_len);
- }
- } else {
- /* Transmit packet */
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_4.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_4.patch
deleted file mode 100644
index e14f37735..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_4.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 9ac5345344b75995bc96d171eaa5dc8d26bf0e21 Mon Sep 17 00:00:00 2001
-From: Jason Wang <jasowang@redhat.com>
-Date: Wed, 24 Feb 2021 13:00:01 +0800
-Subject: [PATCH 04/10] msf2-mac: switch to use qemu_receive_packet() for
- loopback
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This patch switches to use qemu_receive_packet() which can detect
-reentrancy and return early.
-
-This is intended to address CVE-2021-3416.
-
-Cc: Prasad J Pandit <ppandit@redhat.com>
-Cc: qemu-stable@nongnu.org
-Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Jason Wang <jasowang@redhat.com>
-
-Upstream-Status: Backport [26194a58f4eb83c5bdf4061a1628508084450ba1]
-CVE: CVE-2021-3416
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/net/msf2-emac.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/hw/net/msf2-emac.c b/hw/net/msf2-emac.c
-index 32ba9e841..3e6206044 100644
---- a/hw/net/msf2-emac.c
-+++ b/hw/net/msf2-emac.c
-@@ -158,7 +158,7 @@ static void msf2_dma_tx(MSF2EmacState *s)
- * R_CFG1 bit 0 is set.
- */
- if (s->regs[R_CFG1] & R_CFG1_LB_EN_MASK) {
-- nc->info->receive(nc, buf, size);
-+ qemu_receive_packet(nc, buf, size);
- } else {
- qemu_send_packet(nc, buf, size);
- }
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_5.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_5.patch
deleted file mode 100644
index c3f8f9759..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_5.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From d465dc79c9ee729d91ef086b993e956b1935be69 Mon Sep 17 00:00:00 2001
-From: Jason Wang <jasowang@redhat.com>
-Date: Wed, 24 Feb 2021 13:14:35 +0800
-Subject: [PATCH 05/10] sungem: switch to use qemu_receive_packet() for
- loopback
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This patch switches to use qemu_receive_packet() which can detect
-reentrancy and return early.
-
-This is intended to address CVE-2021-3416.
-
-Cc: Prasad J Pandit <ppandit@redhat.com>
-Cc: qemu-stable@nongnu.org
-Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
-Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
-Signed-off-by: Jason Wang <jasowang@redhat.com>
-
-Upstream-Status: Backport [8c92060d3c0248bd4d515719a35922cd2391b9b4]
-CVE: CVE-2021-3416
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/net/sungem.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/hw/net/sungem.c b/hw/net/sungem.c
-index 33c3722df..3684a4d73 100644
---- a/hw/net/sungem.c
-+++ b/hw/net/sungem.c
-@@ -306,7 +306,7 @@ static void sungem_send_packet(SunGEMState *s, const uint8_t *buf,
- NetClientState *nc = qemu_get_queue(s->nic);
-
- if (s->macregs[MAC_XIFCFG >> 2] & MAC_XIFCFG_LBCK) {
-- nc->info->receive(nc, buf, size);
-+ qemu_receive_packet(nc, buf, size);
- } else {
- qemu_send_packet(nc, buf, size);
- }
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_6.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_6.patch
deleted file mode 100644
index 855c6970f..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_6.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From c0010f9b2bafe866fe32e3c2688454bc24147136 Mon Sep 17 00:00:00 2001
-From: Jason Wang <jasowang@redhat.com>
-Date: Wed, 24 Feb 2021 13:27:52 +0800
-Subject: [PATCH 06/10] tx_pkt: switch to use qemu_receive_packet_iov() for
- loopback
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This patch switches to use qemu_receive_receive_iov() which can detect
-reentrancy and return early.
-
-This is intended to address CVE-2021-3416.
-
-Cc: Prasad J Pandit <ppandit@redhat.com>
-Cc: qemu-stable@nongnu.org
-Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Jason Wang <jasowang@redhat.com>
-
-Upstream-Status: Backport [8c552542b81e56ff532dd27ec6e5328954bdda73]
-CVE: CVE-2021-3416
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/net/net_tx_pkt.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/hw/net/net_tx_pkt.c b/hw/net/net_tx_pkt.c
-index da262edc3..1f9aa59ec 100644
---- a/hw/net/net_tx_pkt.c
-+++ b/hw/net/net_tx_pkt.c
-@@ -553,7 +553,7 @@ static inline void net_tx_pkt_sendv(struct NetTxPkt *pkt,
- NetClientState *nc, const struct iovec *iov, int iov_cnt)
- {
- if (pkt->is_loopback) {
-- nc->info->receive_iov(nc, iov, iov_cnt);
-+ qemu_receive_packet_iov(nc, iov, iov_cnt);
- } else {
- qemu_sendv_packet(nc, iov, iov_cnt);
- }
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_7.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_7.patch
deleted file mode 100644
index 4e1115de0..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_7.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 64b38675c728354e4015e4bec3d975cd4cb8a981 Mon Sep 17 00:00:00 2001
-From: Alexander Bulekov <alxndr@bu.edu>
-Date: Fri, 26 Feb 2021 13:47:53 -0500
-Subject: [PATCH 07/10] rtl8139: switch to use qemu_receive_packet() for
- loopback
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This patch switches to use qemu_receive_packet() which can detect
-reentrancy and return early.
-
-This is intended to address CVE-2021-3416.
-
-Cc: Prasad J Pandit <ppandit@redhat.com>
-Cc: qemu-stable@nongnu.org
-Buglink: https://bugs.launchpad.net/qemu/+bug/1910826
-Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com
-Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
-Signed-off-by: Jason Wang <jasowang@redhat.com>
-
-Upstream-Status: Backport [5311fb805a4403bba024e83886fa0e7572265de4]
-CVE: CVE-2021-3416
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/net/rtl8139.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
-index ba5ace1ab..d2dd03e6a 100644
---- a/hw/net/rtl8139.c
-+++ b/hw/net/rtl8139.c
-@@ -1795,7 +1795,7 @@ static void rtl8139_transfer_frame(RTL8139State *s, uint8_t *buf, int size,
- }
-
- DPRINTF("+++ transmit loopback mode\n");
-- rtl8139_do_receive(qemu_get_queue(s->nic), buf, size, do_interrupt);
-+ qemu_receive_packet(qemu_get_queue(s->nic), buf, size);
-
- if (iov) {
- g_free(buf2);
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_8.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_8.patch
deleted file mode 100644
index ed716468d..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_8.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 023ce62f0a788ad3a8233c7a828554bceeafd031 Mon Sep 17 00:00:00 2001
-From: Alexander Bulekov <alxndr@bu.edu>
-Date: Mon, 1 Mar 2021 10:33:34 -0500
-Subject: [PATCH 08/10] pcnet: switch to use qemu_receive_packet() for loopback
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This patch switches to use qemu_receive_packet() which can detect
-reentrancy and return early.
-
-This is intended to address CVE-2021-3416.
-
-Cc: Prasad J Pandit <ppandit@redhat.com>
-Cc: qemu-stable@nongnu.org
-Buglink: https://bugs.launchpad.net/qemu/+bug/1917085
-Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com
-Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
-Signed-off-by: Jason Wang <jasowang@redhat.com>
-
-Upstream-Status: Backport [99ccfaa1edafd79f7a3a0ff7b58ae4da7c514928]
-CVE: CVE-2021-3416
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/net/pcnet.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
-index f3f18d859..dcd3fc494 100644
---- a/hw/net/pcnet.c
-+++ b/hw/net/pcnet.c
-@@ -1250,7 +1250,7 @@ txagain:
- if (BCR_SWSTYLE(s) == 1)
- add_crc = !GET_FIELD(tmd.status, TMDS, NOFCS);
- s->looptest = add_crc ? PCNET_LOOPTEST_CRC : PCNET_LOOPTEST_NOCRC;
-- pcnet_receive(qemu_get_queue(s->nic), s->buffer, s->xmit_pos);
-+ qemu_receive_packet(qemu_get_queue(s->nic), s->buffer, s->xmit_pos);
- s->looptest = 0;
- } else {
- if (s->nic) {
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_9.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_9.patch
deleted file mode 100644
index 39d32b33a..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_9.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From ecf7e62bb2cb02c9bd40082504ae376f3e19ffd2 Mon Sep 17 00:00:00 2001
-From: Alexander Bulekov <alxndr@bu.edu>
-Date: Mon, 1 Mar 2021 14:33:43 -0500
-Subject: [PATCH 09/10] cadence_gem: switch to use qemu_receive_packet() for
- loopback
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This patch switches to use qemu_receive_packet() which can detect
-reentrancy and return early.
-
-This is intended to address CVE-2021-3416.
-
-Cc: Prasad J Pandit <ppandit@redhat.com>
-Cc: qemu-stable@nongnu.org
-Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
-Signed-off-by: Jason Wang <jasowang@redhat.com>
-
-Upstream-Status: Backport [e73adfbeec9d4e008630c814759052ed945c3fed]
-CVE: CVE-2021-3416
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- hw/net/cadence_gem.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c
-index 7a534691f..43b760e3f 100644
---- a/hw/net/cadence_gem.c
-+++ b/hw/net/cadence_gem.c
-@@ -1275,8 +1275,8 @@ static void gem_transmit(CadenceGEMState *s)
- /* Send the packet somewhere */
- if (s->phy_loop || (s->regs[GEM_NWCTRL] &
- GEM_NWCTRL_LOCALLOOP)) {
-- gem_receive(qemu_get_queue(s->nic), s->tx_packet,
-- total_bytes);
-+ qemu_receive_packet(qemu_get_queue(s->nic), s->tx_packet,
-+ total_bytes);
- } else {
- qemu_send_packet(qemu_get_queue(s->nic), s->tx_packet,
- total_bytes);
---
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/cross.patch b/poky/meta/recipes-devtools/qemu/qemu/cross.patch
index 438c1ad08..a0fc39e5e 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/cross.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/cross.patch
@@ -6,19 +6,19 @@ Upstream-Status: Inappropriate [may be rewritten in a way upstream may accept?]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Index: qemu-5.2.0/configure
+Index: qemu-6.0.0/configure
===================================================================
---- qemu-5.2.0.orig/configure
-+++ qemu-5.2.0/configure
-@@ -6973,7 +6973,6 @@ if has $sdl2_config; then
+--- qemu-6.0.0.orig/configure
++++ qemu-6.0.0/configure
+@@ -6371,7 +6371,6 @@ if has $sdl2_config; then
fi
echo "strip = [$(meson_quote $strip)]" >> $cross
echo "windres = [$(meson_quote $windres)]" >> $cross
--if test -n "$cross_prefix"; then
+-if test "$cross_compile" = "yes"; then
cross_arg="--cross-file config-meson.cross"
echo "[host_machine]" >> $cross
if test "$mingw32" = "yes" ; then
-@@ -6999,9 +6998,6 @@ if test -n "$cross_prefix"; then
+@@ -6403,9 +6402,6 @@ if test "$cross_compile" = "yes"; then
else
echo "endian = 'little'" >> $cross
fi
diff --git a/poky/meta/recipes-devtools/qemu/qemu/determinism.patch b/poky/meta/recipes-devtools/qemu/qemu/determinism.patch
index cb1c90777..330a31204 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/determinism.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/determinism.patch
@@ -4,38 +4,19 @@ qemu build are not reproducible due to either full buildpaths or timestamps.
Replace the full paths with relative ones. I couldn't figure out how to get
meson to pass relative paths but we can fix that in the script.
-For the keymaps, omit the timestamps as they don't matter to us.
-
Upstream-Status: Pending [some version of all/part of this may be accepted]
RP 2021/3/1
-Index: qemu-5.2.0/scripts/decodetree.py
+Index: qemu-6.0.0/scripts/decodetree.py
===================================================================
---- qemu-5.2.0.orig/scripts/decodetree.py
-+++ qemu-5.2.0/scripts/decodetree.py
-@@ -1303,8 +1303,8 @@ def main():
+--- qemu-6.0.0.orig/scripts/decodetree.py
++++ qemu-6.0.0/scripts/decodetree.py
+@@ -1304,7 +1304,7 @@ def main():
toppat = ExcMultiPattern(0)
for filename in args:
- input_file = filename
-- f = open(filename, 'r')
+ input_file = os.path.relpath(filename)
-+ f = open(input_file, 'r')
+ f = open(filename, 'rt', encoding='utf-8')
parse_file(f, toppat)
f.close()
-
-Index: qemu-5.2.0/ui/keycodemapdb/tools/keymap-gen
-===================================================================
---- qemu-5.2.0.orig/ui/keycodemapdb/tools/keymap-gen
-+++ qemu-5.2.0/ui/keycodemapdb/tools/keymap-gen
-@@ -317,9 +317,8 @@ class LanguageGenerator(object):
- raise NotImplementedError()
-
- def generate_header(self, database, args):
-- today = time.strftime("%Y-%m-%d %H:%M")
- self._boilerplate([
-- "This file is auto-generated from keymaps.csv on %s" % today,
-+ "This file is auto-generated from keymaps.csv",
- "Database checksum sha256(%s)" % database.mapchecksum,
- "To re-generate, run:",
- " %s" % args,
diff --git a/poky/meta/recipes-devtools/qemu/qemu/mingwfix.patch b/poky/meta/recipes-devtools/qemu/qemu/mingwfix.patch
deleted file mode 100644
index 8d76cef63..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/mingwfix.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-OE assumes that mingw files are in a unix like file layout. The
-'flattening' done by configure in qemu for mingw32 breaks things
-for us. We are discussing with upstream but for now, hack this to
-disable it and use the unix like layout everywhere.
-
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg01073.html]
-
-Index: qemu-5.2.0/configure
-===================================================================
---- qemu-5.2.0.orig/configure
-+++ qemu-5.2.0/configure
-@@ -1541,7 +1541,7 @@ libdir="${libdir:-$prefix/lib}"
- libexecdir="${libexecdir:-$prefix/libexec}"
- includedir="${includedir:-$prefix/include}"
-
--if test "$mingw32" = "yes" ; then
-+if test "$mingw32" = "dontwantthis" ; then
- mandir="$prefix"
- datadir="$prefix"
- docdir="$prefix"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/mmap.patch b/poky/meta/recipes-devtools/qemu/qemu/mmap.patch
deleted file mode 100644
index edd9734f3..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/mmap.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-If mremap() is called without the MREMAP_MAYMOVE flag with a start address
-just before the end of memory (reserved_va) where new_size would exceed
-GUEST_ADD_MAX, the assert(end - 1 <= GUEST_ADDR_MAX) in page_set_flags()
-would trigger.
-
-Add an extra guard to the guest_range_valid() checks to prevent this and
-avoid asserting binaries when reserved_va is set.
-
-This meant a test case now gives the same behaviour regardless of whether
-reserved_va is set or not.
-
-Upstream-Status: Backport [https://github.com/qemu/qemu/commit/ccc5ccc17f8cfbfd87d9aede5d12a2d47c56e712]
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org
-
-Index: qemu-5.2.0/linux-user/mmap.c
-===================================================================
---- qemu-5.2.0.orig/linux-user/mmap.c
-+++ qemu-5.2.0/linux-user/mmap.c
-@@ -727,7 +727,9 @@ abi_long target_mremap(abi_ulong old_add
-
- if (!guest_range_valid(old_addr, old_size) ||
- ((flags & MREMAP_FIXED) &&
-- !guest_range_valid(new_addr, new_size))) {
-+ !guest_range_valid(new_addr, new_size)) ||
-+ ((flags & MREMAP_MAYMOVE) == 0 &&
-+ !guest_range_valid(old_addr, new_size))) {
- errno = ENOMEM;
- return -1;
- }
diff --git a/poky/meta/recipes-devtools/qemu/qemu/mmap2.patch b/poky/meta/recipes-devtools/qemu/qemu/mmap2.patch
index 165213175..e115473b7 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/mmap2.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/mmap2.patch
@@ -13,27 +13,26 @@ rather than ENOMEM so adjust the other part of the test to this.
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg01355.html]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org
-Index: qemu-5.2.0/linux-user/mmap.c
+Index: qemu-6.0.0/linux-user/mmap.c
===================================================================
---- qemu-5.2.0.orig/linux-user/mmap.c
-+++ qemu-5.2.0/linux-user/mmap.c
-@@ -722,12 +722,14 @@ abi_long target_mremap(abi_ulong old_add
+--- qemu-6.0.0.orig/linux-user/mmap.c
++++ qemu-6.0.0/linux-user/mmap.c
+@@ -733,12 +733,16 @@ abi_long target_mremap(abi_ulong old_add
int prot;
void *host_addr;
-- if (!guest_range_valid(old_addr, old_size) ||
+- if (!guest_range_valid_untagged(old_addr, old_size) ||
- ((flags & MREMAP_FIXED) &&
-- !guest_range_valid(new_addr, new_size)) ||
-- ((flags & MREMAP_MAYMOVE) == 0 &&
-- !guest_range_valid(old_addr, new_size))) {
-- errno = ENOMEM;
-+ if (!guest_range_valid(old_addr, old_size)) {
++ if (!guest_range_valid_untagged(old_addr, old_size)) {
+ errno = EFAULT;
+ return -1;
+ }
-+
-+ if (((flags & MREMAP_FIXED) && !guest_range_valid(new_addr, new_size)) ||
-+ ((flags & MREMAP_MAYMOVE) == 0 && !guest_range_valid(old_addr, new_size))) {
++
++ if (((flags & MREMAP_FIXED) &&
+ !guest_range_valid_untagged(new_addr, new_size)) ||
+ ((flags & MREMAP_MAYMOVE) == 0 &&
+ !guest_range_valid_untagged(old_addr, new_size))) {
+- errno = ENOMEM;
+ errno = EINVAL;
return -1;
}
diff --git a/poky/meta/recipes-devtools/qemu/qemu_5.2.0.bb b/poky/meta/recipes-devtools/qemu/qemu_6.0.0.bb
index f265204b1..90b135a61 100644
--- a/poky/meta/recipes-devtools/qemu/qemu_5.2.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu_6.0.0.bb
@@ -19,11 +19,11 @@ do_install_append_class-nativesdk() {
}
PACKAGECONFIG ??= " \
- fdt sdl kvm \
+ fdt sdl kvm pie \
${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \
"
-PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm \
+PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm pie \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '', d)} \
"
diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb b/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb
index 7c03b41fc..95a6f5cf7 100644
--- a/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb
+++ b/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb
@@ -47,7 +47,7 @@ SRCREV = "3659b8a04f5b8bacf6535e0124e7fe23f15286bd"
S = "${WORKDIR}/git"
-DEPENDS = "libgcrypt db file popt xz bzip2 elfutils python3"
+DEPENDS = "libgcrypt file popt xz bzip2 elfutils python3"
DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native"
inherit autotools gettext pkgconfig python3native
@@ -70,11 +70,12 @@ EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --disable-plugins"
BBCLASSEXTEND = "native nativesdk"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'inhibit', '', d)}"
+PACKAGECONFIG ??= "bdb ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'inhibit', '', d)}"
# The inhibit plugin serves no purpose outside of the target
PACKAGECONFIG_remove_class-native = "inhibit"
PACKAGECONFIG_remove_class-nativesdk = "inhibit"
+PACKAGECONFIG[bdb] = "--enable-bdb,--disable-bdb,db"
PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils"
PACKAGECONFIG[inhibit] = "--enable-inhibit-plugin,--disable-inhibit-plugin,dbus"
PACKAGECONFIG[rpm2archive] = "--with-archive,--without-archive,libarchive"
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
index 2b1409d78..137e5097f 100644
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -32,7 +32,9 @@ do_compile() {
}
do_install() {
+ install -d "${D}${includedir}"
oe_runmake install INSTALL_DIR=${D}${sbindir}
+ install -m 0644 "${S}"/squashfs_fs.h "${D}${includedir}"
}
ARM_INSTRUCTION_SET_armv4 = "arm"
diff --git a/poky/meta/recipes-devtools/swig/swig.inc b/poky/meta/recipes-devtools/swig/swig.inc
index e62718c50..292bca393 100644
--- a/poky/meta/recipes-devtools/swig/swig.inc
+++ b/poky/meta/recipes-devtools/swig/swig.inc
@@ -13,6 +13,8 @@ SECTION = "devel"
DEPENDS = "libpcre bison-native"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/swig/files/swig/"
+UPSTREAM_CHECK_REGEX = "swig-(?P<pver>\d+(\.\d+)+)"
inherit autotools python3native pkgconfig
diff --git a/poky/meta/recipes-devtools/swig/swig/0001-Add-Node-7.x-aka-V8-5.2-support.patch b/poky/meta/recipes-devtools/swig/swig/0001-Add-Node-7.x-aka-V8-5.2-support.patch
deleted file mode 100644
index 885c39561..000000000
--- a/poky/meta/recipes-devtools/swig/swig/0001-Add-Node-7.x-aka-V8-5.2-support.patch
+++ /dev/null
@@ -1,330 +0,0 @@
-From 1a5aadcd66e85c63d228bfd811a521d617c22a38 Mon Sep 17 00:00:00 2001
-From: Patrick Schneider <patrick.schneider@meetnow.eu>
-Date: Thu, 13 Apr 2017 15:02:53 +0200
-Subject: [PATCH] Add Node 7.x aka V8 5.2+ support
-
-* Use WeakCallbackInfo instead of WeakCallbackData
-* Use GetPrivate instead of GetHiddenValue
-* Adopted new signature for SetWeak to support destructor calling
-* SetAccessor deprecation fixed
-* Proper version checks where applicable
-
-Upstream-Status: Submitted [https://github.com/swig/swig/pull/968]
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
----
- Lib/javascript/v8/javascriptcode.swg | 27 +++++++++++++++++-----
- Lib/javascript/v8/javascripthelpers.swg | 29 +++++++++++++++++++++---
- Lib/javascript/v8/javascriptinit.swg | 16 +++++++++++--
- Lib/javascript/v8/javascriptrun.swg | 40 ++++++++++++++++++++++++++++-----
- 4 files changed, 95 insertions(+), 17 deletions(-)
-
-diff --git a/Lib/javascript/v8/javascriptcode.swg b/Lib/javascript/v8/javascriptcode.swg
-index fb7d55c..b8c5089 100644
---- a/Lib/javascript/v8/javascriptcode.swg
-+++ b/Lib/javascript/v8/javascriptcode.swg
-@@ -133,10 +133,13 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent<v8::Value> object, v
- SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
- #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
- static void $jswrapper(v8::Isolate *isolate, v8::Persistent<v8::Object> *object, SWIGV8_Proxy *proxy) {
--#else
-+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
- v8::Local<v8::Object> object = data.GetValue();
- SWIGV8_Proxy *proxy = data.GetParameter();
-+#else
-+ static void $jswrapper(const v8::WeakCallbackInfo<SWIGV8_Proxy> &data) {
-+ SWIGV8_Proxy *proxy = data.GetParameter();
- #endif
-
- if(proxy->swigCMemOwn && proxy->swigCObject) {
-@@ -147,7 +150,9 @@ static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &dat
- }
- delete proxy;
-
-+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- object.Clear();
-+#endif
-
- #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
- object.Dispose();
-@@ -155,7 +160,7 @@ static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &dat
- object.Dispose(isolate);
- #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032100)
- object->Dispose(isolate);
--#else
-+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- object->Dispose();
- #endif
- }
-@@ -177,10 +182,13 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent<v8::Value> object, v
- SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
- #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
- static void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object> *object, SWIGV8_Proxy *proxy) {
--#else
-+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
- v8::Local<v8::Object> object = data.GetValue();
- SWIGV8_Proxy *proxy = data.GetParameter();
-+#else
-+static void $jswrapper(const v8::WeakCallbackInfo<SWIGV8_Proxy> &data) {
-+ SWIGV8_Proxy *proxy = data.GetParameter();
- #endif
-
- if(proxy->swigCMemOwn && proxy->swigCObject) {
-@@ -197,7 +205,7 @@ static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &dat
- object->Dispose(isolate);
- #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
- object->Dispose();
--#else
-+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- object.Clear();
- #endif
- }
-@@ -211,7 +219,11 @@ static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &dat
- * ----------------------------------------------------------------------------- */
- %fragment("js_getter", "templates")
- %{
-+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- static SwigV8ReturnValue $jswrapper(v8::Local<v8::String> property, const SwigV8PropertyCallbackInfo &info) {
-+#else
-+static SwigV8ReturnValue $jswrapper(v8::Local<v8::Name> property, const SwigV8PropertyCallbackInfo &info) {
-+#endif
- SWIGV8_HANDLESCOPE();
-
- v8::Handle<v8::Value> jsresult;
-@@ -233,8 +245,11 @@ fail:
- * ----------------------------------------------------------------------------- */
- %fragment("js_setter", "templates")
- %{
--static void $jswrapper(v8::Local<v8::String> property, v8::Local<v8::Value> value,
-- const SwigV8PropertyCallbackInfoVoid &info) {
-+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
-+static void $jswrapper(v8::Local<v8::String> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid &info) {
-+#else
-+static void $jswrapper(v8::Local<v8::Name> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid &info) {
-+#endif
- SWIGV8_HANDLESCOPE();
-
- $jslocals
-diff --git a/Lib/javascript/v8/javascripthelpers.swg b/Lib/javascript/v8/javascripthelpers.swg
-index 091467d..7461079 100644
---- a/Lib/javascript/v8/javascripthelpers.swg
-+++ b/Lib/javascript/v8/javascripthelpers.swg
-@@ -6,11 +6,16 @@ typedef v8::InvocationCallback SwigV8FunctionCallback;
- typedef v8::AccessorGetter SwigV8AccessorGetterCallback;
- typedef v8::AccessorSetter SwigV8AccessorSetterCallback;
- typedef v8::AccessorInfo SwigV8PropertyCallbackInfoVoid;
--#else
-+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- typedef v8::FunctionCallback SwigV8FunctionCallback;
- typedef v8::AccessorGetterCallback SwigV8AccessorGetterCallback;
- typedef v8::AccessorSetterCallback SwigV8AccessorSetterCallback;
- typedef v8::PropertyCallbackInfo<void> SwigV8PropertyCallbackInfoVoid;
-+#else
-+typedef v8::FunctionCallback SwigV8FunctionCallback;
-+typedef v8::AccessorNameGetterCallback SwigV8AccessorGetterCallback;
-+typedef v8::AccessorNameSetterCallback SwigV8AccessorSetterCallback;
-+typedef v8::PropertyCallbackInfo<void> SwigV8PropertyCallbackInfoVoid;
- #endif
-
- /**
-@@ -65,18 +70,36 @@ SWIGRUNTIME void SWIGV8_AddStaticFunction(v8::Handle<v8::Object> obj, const char
- */
- SWIGRUNTIME void SWIGV8_AddStaticVariable(v8::Handle<v8::Object> obj, const char* symbol,
- SwigV8AccessorGetterCallback getter, SwigV8AccessorSetterCallback setter) {
-+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- obj->SetAccessor(SWIGV8_SYMBOL_NEW(symbol), getter, setter);
-+#else
-+ obj->SetAccessor(SWIGV8_CURRENT_CONTEXT(), SWIGV8_SYMBOL_NEW(symbol), getter, setter);
-+#endif
- }
-
--SWIGRUNTIME void JS_veto_set_variable(v8::Local<v8::String> property, v8::Local<v8::Value> value,
-- const SwigV8PropertyCallbackInfoVoid& info)
-+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
-+SWIGRUNTIME void JS_veto_set_variable(v8::Local<v8::String> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid& info)
-+#else
-+SWIGRUNTIME void JS_veto_set_variable(v8::Local<v8::Name> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid& info)
-+#endif
- {
- char buffer[256];
- char msg[512];
- int res;
-
-+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- property->WriteUtf8(buffer, 256);
- res = sprintf(msg, "Tried to write read-only variable: %s.", buffer);
-+#else
-+ v8::Local<v8::String> sproperty;
-+ if (property->ToString(SWIGV8_CURRENT_CONTEXT()).ToLocal(&sproperty)) {
-+ sproperty->WriteUtf8(buffer, 256);
-+ res = sprintf(msg, "Tried to write read-only variable: %s.", buffer);
-+ }
-+ else {
-+ res = -1;
-+ }
-+#endif
-
- if(res<0) {
- SWIG_exception(SWIG_ERROR, "Tried to write read-only variable.");
-diff --git a/Lib/javascript/v8/javascriptinit.swg b/Lib/javascript/v8/javascriptinit.swg
-index 34befa7..86008d9 100644
---- a/Lib/javascript/v8/javascriptinit.swg
-+++ b/Lib/javascript/v8/javascriptinit.swg
-@@ -7,15 +7,27 @@ SWIG_V8_SetModule(void *, swig_module_info *swig_module) {
- v8::Local<v8::Object> global_obj = SWIGV8_CURRENT_CONTEXT()->Global();
- v8::Local<v8::External> mod = SWIGV8_EXTERNAL_NEW(swig_module);
- assert(!mod.IsEmpty());
-+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- global_obj->SetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data"), mod);
-+#else
-+ v8::Local<v8::Private> privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data"));
-+ global_obj->SetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey, mod);
-+#endif
- }
-
- SWIGRUNTIME swig_module_info *
- SWIG_V8_GetModule(void *) {
- v8::Local<v8::Object> global_obj = SWIGV8_CURRENT_CONTEXT()->Global();
-+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- v8::Local<v8::Value> moduleinfo = global_obj->GetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data"));
-+#else
-+ v8::Local<v8::Private> privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data"));
-+ v8::Local<v8::Value> moduleinfo;
-+ if (!global_obj->GetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey).ToLocal(&moduleinfo))
-+ return 0;
-+#endif
-
-- if (moduleinfo.IsEmpty())
-+ if (moduleinfo.IsEmpty() || moduleinfo->IsNull() || moduleinfo->IsUndefined())
- {
- // It's not yet loaded
- return 0;
-@@ -23,7 +35,7 @@ SWIG_V8_GetModule(void *) {
-
- v8::Local<v8::External> moduleinfo_extern = v8::Local<v8::External>::Cast(moduleinfo);
-
-- if (moduleinfo_extern.IsEmpty())
-+ if (moduleinfo_extern.IsEmpty() || moduleinfo_extern->IsNull() || moduleinfo_extern->IsUndefined())
- {
- // Something's not right
- return 0;
-diff --git a/Lib/javascript/v8/javascriptrun.swg b/Lib/javascript/v8/javascriptrun.swg
-index 5ac52a5..30002c0 100644
---- a/Lib/javascript/v8/javascriptrun.swg
-+++ b/Lib/javascript/v8/javascriptrun.swg
-@@ -193,8 +193,10 @@ public:
- void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Value> object, void *parameter);
- #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
- void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy);
--#else
-+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- void (*dtor) (const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data);
-+#else
-+ void (*dtor) (const v8::WeakCallbackInfo<SWIGV8_Proxy> &data);
- #endif
- };
-
-@@ -241,9 +243,12 @@ SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Val
- SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
- #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
- SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy) {
--#else
-+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
- SWIGV8_Proxy *proxy = data.GetParameter();
-+#else
-+SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackInfo<SWIGV8_Proxy> &data) {
-+ SWIGV8_Proxy *proxy = data.GetParameter();
- #endif
-
- delete proxy;
-@@ -312,12 +317,18 @@ SWIGRUNTIME void SWIGV8_SetPrivateData(v8::Handle<v8::Object> obj, void *ptr, sw
- } else {
- cdata->handle.MakeWeak(cdata, SWIGV8_Proxy_DefaultDtor);
- }
--#else
-+#elifif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) {
- cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor);
- } else {
- cdata->handle.SetWeak(cdata, SWIGV8_Proxy_DefaultDtor);
- }
-+#else
-+ if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) {
-+ cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor, v8::WeakCallbackType::kParameter);
-+ } else {
-+ cdata->handle.SetWeak(cdata, SWIGV8_Proxy_DefaultDtor, v8::WeakCallbackType::kParameter);
-+ }
- #endif
-
- #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
-@@ -470,7 +481,14 @@ int SwigV8Packed_Check(v8::Handle<v8::Value> valRef) {
-
- v8::Handle<v8::Object> objRef = valRef->ToObject();
- if(objRef->InternalFieldCount() < 1) return false;
-+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- v8::Handle<v8::Value> flag = objRef->GetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__"));
-+#else
-+ v8::Local<v8::Private> privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__"));
-+ v8::Local<v8::Value> flag;
-+ if (!objRef->GetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey).ToLocal(&flag))
-+ return false;
-+#endif
- return (flag->IsBoolean() && flag->BooleanValue());
- }
-
-@@ -519,10 +537,13 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persist
- SwigV8PackedData *cdata = static_cast<SwigV8PackedData *>(parameter);
- #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
- SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persistent<v8::Object> *object, SwigV8PackedData *cdata) {
--#else
-+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackData<v8::Object, SwigV8PackedData> &data) {
- v8::Local<v8::Object> object = data.GetValue();
- SwigV8PackedData *cdata = data.GetParameter();
-+#else
-+SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackInfo<SwigV8PackedData> &data) {
-+ SwigV8PackedData *cdata = data.GetParameter();
- #endif
-
- delete cdata;
-@@ -537,7 +558,7 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackData<v8::Ob
- object->Dispose(isolate);
- #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
- object->Dispose();
--#else
-+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- object.Clear();
- #endif
- }
-@@ -550,7 +571,12 @@ v8::Handle<v8::Value> SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf
- // v8::Handle<v8::Object> obj = SWIGV8_OBJECT_NEW();
- v8::Local<v8::Object> obj = SWIGV8_OBJECT_NEW();
-
-+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- obj->SetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__"), SWIGV8_BOOLEAN_NEW(true));
-+#else
-+ v8::Local<v8::Private> privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__"));
-+ obj->SetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey, SWIGV8_BOOLEAN_NEW(true));
-+#endif
-
- #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031511)
- obj->SetPointerInInternalField(0, cdata);
-@@ -573,9 +599,11 @@ v8::Handle<v8::Value> SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf
- cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, _wrap_SwigV8PackedData_delete);
- #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
- cdata->handle.MakeWeak(cdata, _wrap_SwigV8PackedData_delete);
--#else
-+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
- cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete);
- // v8::V8::SetWeak(&cdata->handle, cdata, _wrap_SwigV8PackedData_delete);
-+#else
-+ cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete, v8::WeakCallbackType::kParameter);
- #endif
-
- #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
---
-2.9.5
-
diff --git a/poky/meta/recipes-devtools/swig/swig/0001-Fix-generated-code-for-constant-expressions-containi.patch b/poky/meta/recipes-devtools/swig/swig/0001-Fix-generated-code-for-constant-expressions-containi.patch
deleted file mode 100644
index f4ed782a8..000000000
--- a/poky/meta/recipes-devtools/swig/swig/0001-Fix-generated-code-for-constant-expressions-containi.patch
+++ /dev/null
@@ -1,179 +0,0 @@
-From 90ba174fcea1618af57aa594199541d47a89b7f6 Mon Sep 17 00:00:00 2001
-From: William S Fulton <wsf@fultondesigns.co.uk>
-Date: Sun, 17 Sep 2017 19:02:55 +0100
-Subject: [PATCH 1/2] Fix generated code for constant expressions containing
- wchar_t L literals.
-
-Such as:
- # define __WCHAR_MAX (0x7fffffff + L'\0')
-
-Reported on swig-user mailing list.
----
- CHANGES.current | 5 +++++
- Examples/test-suite/csharp/preproc_constants_c_runme.cs | 3 ++-
- Examples/test-suite/csharp/preproc_constants_runme.cs | 2 ++
- Examples/test-suite/d/preproc_constants_c_runme.1.d | 2 ++
- Examples/test-suite/d/preproc_constants_c_runme.2.d | 2 ++
- Examples/test-suite/d/preproc_constants_runme.1.d | 2 ++
- Examples/test-suite/d/preproc_constants_runme.2.d | 2 ++
- Examples/test-suite/php/preproc_constants_c_runme.php | 2 ++
- Examples/test-suite/php/preproc_constants_runme.php | 2 ++
- Examples/test-suite/php5/preproc_constants_c_runme.php | 2 ++
- Examples/test-suite/php5/preproc_constants_runme.php | 2 ++
- Examples/test-suite/preproc_constants.i | 3 +++
- Source/CParse/parser.y | 2 +-
- 13 files changed, 29 insertions(+), 2 deletions(-)
-
-Upstream-Status: Backport
-[https://github.com/swig/swig/commit/90ba174fcea1618af57aa594199541d47a89b7f6]
-Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
-
-diff --git a/Examples/test-suite/csharp/preproc_constants_c_runme.cs b/Examples/test-suite/csharp/preproc_constants_c_runme.cs
-index 76c684d..1c28e49 100644
---- a/Examples/test-suite/csharp/preproc_constants_c_runme.cs
-+++ b/Examples/test-suite/csharp/preproc_constants_c_runme.cs
-@@ -61,7 +61,8 @@ public class runme {
- assert( typeof(int) == preproc_constants_c.EXPR_LAND.GetType() );
- assert( typeof(int) == preproc_constants_c.EXPR_LOR.GetType() );
- assert( typeof(double) == preproc_constants_c.EXPR_CONDITIONAL.GetType() );
--
-+ assert( typeof(int) == preproc_constants_c.EXPR_WCHAR_MAX.GetType() );
-+ assert( typeof(int) == preproc_constants_c.EXPR_WCHAR_MIN.GetType() );
- }
- static void assert(bool assertion) {
- if (!assertion)
-diff --git a/Examples/test-suite/csharp/preproc_constants_runme.cs b/Examples/test-suite/csharp/preproc_constants_runme.cs
-index 9fae591..6b02e30 100644
---- a/Examples/test-suite/csharp/preproc_constants_runme.cs
-+++ b/Examples/test-suite/csharp/preproc_constants_runme.cs
-@@ -60,6 +60,8 @@ public class runme {
- assert( typeof(bool) == preproc_constants.EXPR_LAND.GetType() );
- assert( typeof(bool) == preproc_constants.EXPR_LOR.GetType() );
- assert( typeof(double) == preproc_constants.EXPR_CONDITIONAL.GetType() );
-+ assert( typeof(int) == preproc_constants.EXPR_WCHAR_MAX.GetType() );
-+ assert( typeof(int) == preproc_constants.EXPR_WCHAR_MIN.GetType() );
-
- }
- static void assert(bool assertion) {
-diff --git a/Examples/test-suite/d/preproc_constants_c_runme.1.d b/Examples/test-suite/d/preproc_constants_c_runme.1.d
-index d846c71..2b349af 100644
---- a/Examples/test-suite/d/preproc_constants_c_runme.1.d
-+++ b/Examples/test-suite/d/preproc_constants_c_runme.1.d
-@@ -61,4 +61,6 @@ void main() {
- static assert(is(int == typeof(EXPR_LAND())));
- static assert(is(int == typeof(EXPR_LOR())));
- static assert(is(double == typeof(EXPR_CONDITIONAL())));
-+ static assert(is(int == typeof(EXPR_WCHAR_MAX())));
-+ static assert(is(int == typeof(EXPR_WCHAR_MIN())));
- }
-diff --git a/Examples/test-suite/d/preproc_constants_c_runme.2.d b/Examples/test-suite/d/preproc_constants_c_runme.2.d
-index 9bdbb93..1bac525 100644
---- a/Examples/test-suite/d/preproc_constants_c_runme.2.d
-+++ b/Examples/test-suite/d/preproc_constants_c_runme.2.d
-@@ -61,4 +61,6 @@ void main() {
- static assert(is(int == typeof(EXPR_LAND())));
- static assert(is(int == typeof(EXPR_LOR())));
- static assert(is(double == typeof(EXPR_CONDITIONAL())));
-+ static assert(is(int == typeof(EXPR_WCHAR_MAX())));
-+ static assert(is(int == typeof(EXPR_WCHAR_MIN())));
- }
-diff --git a/Examples/test-suite/d/preproc_constants_runme.1.d b/Examples/test-suite/d/preproc_constants_runme.1.d
-index 009405f..f743f48 100644
---- a/Examples/test-suite/d/preproc_constants_runme.1.d
-+++ b/Examples/test-suite/d/preproc_constants_runme.1.d
-@@ -60,4 +60,6 @@ void main() {
- static assert(is(bool == typeof(EXPR_LAND())));
- static assert(is(bool == typeof(EXPR_LOR())));
- static assert(is(double == typeof(EXPR_CONDITIONAL())));
-+ static assert(is(int == typeof(EXPR_WCHAR_MAX())));
-+ static assert(is(int == typeof(EXPR_WCHAR_MIN())));
- }
-diff --git a/Examples/test-suite/d/preproc_constants_runme.2.d b/Examples/test-suite/d/preproc_constants_runme.2.d
-index 2d92ef0..0d96c37 100644
---- a/Examples/test-suite/d/preproc_constants_runme.2.d
-+++ b/Examples/test-suite/d/preproc_constants_runme.2.d
-@@ -60,4 +60,6 @@ void main() {
- static assert(is(bool == typeof(EXPR_LAND())));
- static assert(is(bool == typeof(EXPR_LOR())));
- static assert(is(double == typeof(EXPR_CONDITIONAL())));
-+ static assert(is(int == typeof(EXPR_WCHAR_MAX())));
-+ static assert(is(int == typeof(EXPR_WCHAR_MIN())));
- }
-diff --git a/Examples/test-suite/php/preproc_constants_c_runme.php b/Examples/test-suite/php/preproc_constants_c_runme.php
-index af9b76e..e59fe18 100644
---- a/Examples/test-suite/php/preproc_constants_c_runme.php
-+++ b/Examples/test-suite/php/preproc_constants_c_runme.php
-@@ -62,5 +62,7 @@ check::equal(gettype(preproc_constants_c::EXPR_OR), "integer", "preproc_constant
- check::equal(gettype(preproc_constants_c::EXPR_LAND), "integer", "preproc_constants.EXPR_LAND has unexpected type");
- check::equal(gettype(preproc_constants_c::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type");
- check::equal(gettype(preproc_constants_c::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type");
-+check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type");
-+check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type");
-
- ?>
-diff --git a/Examples/test-suite/php/preproc_constants_runme.php b/Examples/test-suite/php/preproc_constants_runme.php
-index 5c9119b..8e117ea 100644
---- a/Examples/test-suite/php/preproc_constants_runme.php
-+++ b/Examples/test-suite/php/preproc_constants_runme.php
-@@ -61,5 +61,7 @@ check::equal(gettype(preproc_constants::EXPR_OR), "integer", "preproc_constants.
- check::equal(gettype(preproc_constants::EXPR_LAND), "boolean", "preproc_constants.EXPR_LAND has unexpected type");
- check::equal(gettype(preproc_constants::EXPR_LOR), "boolean", "preproc_constants.EXPR_LOR has unexpected type");
- check::equal(gettype(preproc_constants::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type");
-+check::equal(gettype(preproc_constants::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type");
-+check::equal(gettype(preproc_constants::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type");
-
- ?>
-diff --git a/Examples/test-suite/php5/preproc_constants_c_runme.php b/Examples/test-suite/php5/preproc_constants_c_runme.php
-index 1ea0195..d978fab 100644
---- a/Examples/test-suite/php5/preproc_constants_c_runme.php
-+++ b/Examples/test-suite/php5/preproc_constants_c_runme.php
-@@ -62,5 +62,7 @@ check::equal(gettype(preproc_constants_c::EXPR_OR), "integer", "preproc_constant
- check::equal(gettype(preproc_constants_c::EXPR_LAND), "integer", "preproc_constants.EXPR_LAND has unexpected type");
- check::equal(gettype(preproc_constants_c::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type");
- check::equal(gettype(preproc_constants_c::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type");
-+check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type");
-+check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type");
-
- ?>
-diff --git a/Examples/test-suite/php5/preproc_constants_runme.php b/Examples/test-suite/php5/preproc_constants_runme.php
-index fb9ee4f..7527026 100644
---- a/Examples/test-suite/php5/preproc_constants_runme.php
-+++ b/Examples/test-suite/php5/preproc_constants_runme.php
-@@ -70,5 +70,7 @@ check::equal(gettype(preproc_constants::EXPR_LAND), "integer", "preproc_constant
- check::equal(gettype(preproc_constants::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type");
-
- check::equal(gettype(preproc_constants::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type");
-+check::equal(gettype(preproc_constants::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type");
-+check::equal(gettype(preproc_constants::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type");
-
- ?>
-diff --git a/Examples/test-suite/preproc_constants.i b/Examples/test-suite/preproc_constants.i
-index 3a999ad..16b44c9 100644
---- a/Examples/test-suite/preproc_constants.i
-+++ b/Examples/test-suite/preproc_constants.i
-@@ -87,6 +87,9 @@
- #define EXPR_LOR 0xFF || 1
- #define EXPR_CONDITIONAL true ? 2 : 2.2
-
-+#define EXPR_WCHAR_MAX (0x7fffffff + L'\0')
-+#define EXPR_WCHAR_MIN (-EXPR_WCHAR_MAX - 1)
-+
- #define EXPR_CHAR_COMPOUND_ADD 'A' + 12
- #define EXPR_CHAR_COMPOUND_LSHIFT 'B' << 6
- #define H_SUPPRESS_SCALING_MAGIC (('s'<<24) | ('u'<<16) | ('p'<<8) | 'p')
-diff --git a/Source/CParse/parser.y b/Source/CParse/parser.y
-index 2e92cd0..273dadb 100644
---- a/Source/CParse/parser.y
-+++ b/Source/CParse/parser.y
-@@ -194,7 +194,7 @@ int SWIG_cparse_template_reduce(int treduce) {
- * ----------------------------------------------------------------------------- */
-
- static int promote_type(int t) {
-- if (t <= T_UCHAR || t == T_CHAR) return T_INT;
-+ if (t <= T_UCHAR || t == T_CHAR || t == T_WCHAR) return T_INT;
- return t;
- }
-
---
-2.9.5
-
diff --git a/poky/meta/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch b/poky/meta/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch
index 81df3e264..f27f80ea1 100644
--- a/poky/meta/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch
+++ b/poky/meta/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch
@@ -13,13 +13,11 @@ http://sourceforge.net/mailarchive/message.php?msg_id=29179733
Source/Modules/main.cxx | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
-diff --git a/Source/Modules/main.cxx b/Source/Modules/main.cxx
-index d2f5d3b..cbb0a12 100644
--- a/Source/Modules/main.cxx
+++ b/Source/Modules/main.cxx
-@@ -26,6 +26,11 @@ char cvsroot_main_cxx[] = "$Id$";
- #include "cparse.h"
+@@ -25,6 +25,11 @@
#include <ctype.h>
+ #include <errno.h>
#include <limits.h> // for INT_MAX
+#ifndef _WIN32
+#include <cstddef>
@@ -29,7 +27,7 @@ index d2f5d3b..cbb0a12 100644
// Global variables
-@@ -902,9 +907,9 @@ int SWIG_main(int argc, char *argv[], Language *l) {
+@@ -934,9 +939,9 @@ int SWIG_main(int argc, char *argv[], co
// Check for SWIG_LIB environment variable
if ((c = getenv("SWIG_LIB")) == (char *) 0) {
@@ -40,7 +38,7 @@ index d2f5d3b..cbb0a12 100644
if (!(GetModuleFileName(0, buf, MAX_PATH) == 0 || (p = strrchr(buf, '\\')) == 0)) {
*(p + 1) = '\0';
SwigLib = NewStringf("%sLib", buf); // Native windows installation path
-@@ -914,7 +919,22 @@ int SWIG_main(int argc, char *argv[], Language *l) {
+@@ -946,7 +951,22 @@ int SWIG_main(int argc, char *argv[], co
if (Len(SWIG_LIB_WIN_UNIX) > 0)
SwigLibWinUnix = NewString(SWIG_LIB_WIN_UNIX); // Unix installation path using a drive letter (for msys/mingw)
#else
@@ -64,6 +62,3 @@ index d2f5d3b..cbb0a12 100644
#endif
} else {
SwigLib = NewString(c);
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch b/poky/meta/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch
index 1b1128aca..114de7ed9 100644
--- a/poky/meta/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch
+++ b/poky/meta/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch
@@ -9,11 +9,9 @@ Upstream-Status: pending
configure.ac | 38 +++++++-------------------------------
1 file changed, 7 insertions(+), 31 deletions(-)
-diff --git a/configure.ac b/configure.ac
-index 0c984b7..6edcec1 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -70,38 +70,14 @@ AC_MSG_RESULT([$with_pcre])
+@@ -52,38 +52,14 @@ AC_MSG_RESULT([$with_pcre])
dnl To make configuring easier, check for a locally built PCRE using the Tools/pcre-build.sh script
if test x"${with_pcre}" = xyes ; then
@@ -59,6 +57,3 @@ index 0c984b7..6edcec1 100644
dnl CCache
---
-1.9.3
-
diff --git a/poky/meta/recipes-devtools/swig/swig/Python-Fix-new-GCC8-warnings-in-generated-code.patch b/poky/meta/recipes-devtools/swig/swig/Python-Fix-new-GCC8-warnings-in-generated-code.patch
deleted file mode 100644
index a91385916..000000000
--- a/poky/meta/recipes-devtools/swig/swig/Python-Fix-new-GCC8-warnings-in-generated-code.patch
+++ /dev/null
@@ -1,191 +0,0 @@
-From b6c0ef4b8f6e5c089ac7104b3aaba8f1d17b8b82 Mon Sep 17 00:00:00 2001
-From: Olly Betts <olly@survex.com>
-Date: Mon, 11 Jun 2018 15:51:53 +1200
-Subject: [PATCH] [Python] Fix new GCC8 warnings in generated code
-
-Avoid casts between incompatible function types where possible (when
-keyword args are in use, it is not possible to avoid such warnings as
-they are inherent in the design of Python's C API in that particular
-case). Fixes #1259.
-
-Upstream-Status: Backport
-[https://github.com/swig/swig/commit/7f9883011029674553a2a4b623d459f02b512458]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- Lib/python/pyinit.swg | 4 ++--
- Lib/python/pyrun.swg | 34 ++++++++++++++++++++++++++--------
- Source/Modules/python.cxx | 26 +++++++++++++-------------
- 3 files changed, 41 insertions(+), 23 deletions(-)
-
-diff --git a/Lib/python/pyinit.swg b/Lib/python/pyinit.swg
-index 2cc5828..6bf68c1 100644
---- a/Lib/python/pyinit.swg
-+++ b/Lib/python/pyinit.swg
-@@ -368,8 +368,8 @@ SWIG_init(void) {
- (char *)"this", &SwigPyBuiltin_ThisClosure, NULL, NULL, NULL
- };
- static SwigPyGetSet thisown_getset_closure = {
-- (PyCFunction) SwigPyObject_own,
-- (PyCFunction) SwigPyObject_own
-+ SwigPyObject_own,
-+ SwigPyObject_own
- };
- static PyGetSetDef thisown_getset_def = {
- (char *)"thisown", SwigPyBuiltin_GetterClosure, SwigPyBuiltin_SetterClosure, NULL, &thisown_getset_closure
-diff --git a/Lib/python/pyrun.swg b/Lib/python/pyrun.swg
-index ab1237f..3d0b1b3 100644
---- a/Lib/python/pyrun.swg
-+++ b/Lib/python/pyrun.swg
-@@ -465,6 +465,14 @@ SwigPyObject_repr(SwigPyObject *v, PyObject *args)
- return repr;
- }
-
-+/* We need a version taking two PyObject* parameters so it's a valid
-+ * PyCFunction to use in swigobject_methods[]. */
-+SWIGRUNTIME PyObject *
-+SwigPyObject_repr2(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
-+{
-+ return SwigPyObject_repr((SwigPyObject*)v);
-+}
-+
- SWIGRUNTIME int
- SwigPyObject_compare(SwigPyObject *v, SwigPyObject *w)
- {
-@@ -594,11 +602,7 @@ SwigPyObject_append(PyObject* v, PyObject* next)
- }
-
- SWIGRUNTIME PyObject*
--#ifdef METH_NOARGS
--SwigPyObject_next(PyObject* v)
--#else
- SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
--#endif
- {
- SwigPyObject *sobj = (SwigPyObject *) v;
- if (sobj->next) {
-@@ -633,6 +637,20 @@ SwigPyObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
- return SWIG_Py_Void();
- }
-
-+#ifdef METH_NOARGS
-+static PyObject*
-+SwigPyObject_disown2(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
-+{
-+ return SwigPyObject_disown(v);
-+}
-+
-+static PyObject*
-+SwigPyObject_acquire2(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
-+{
-+ return SwigPyObject_acquire(v);
-+}
-+#endif
-+
- SWIGINTERN PyObject*
- SwigPyObject_own(PyObject *v, PyObject *args)
- {
-@@ -673,12 +691,12 @@ SwigPyObject_own(PyObject *v, PyObject *args)
- #ifdef METH_O
- static PyMethodDef
- swigobject_methods[] = {
-- {(char *)"disown", (PyCFunction)SwigPyObject_disown, METH_NOARGS, (char *)"releases ownership of the pointer"},
-- {(char *)"acquire", (PyCFunction)SwigPyObject_acquire, METH_NOARGS, (char *)"acquires ownership of the pointer"},
-+ {(char *)"disown", (PyCFunction)SwigPyObject_disown2, METH_NOARGS, (char *)"releases ownership of the pointer"},
-+ {(char *)"acquire", (PyCFunction)SwigPyObject_acquire2,METH_NOARGS, (char *)"acquires ownership of the pointer"},
- {(char *)"own", (PyCFunction)SwigPyObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"},
- {(char *)"append", (PyCFunction)SwigPyObject_append, METH_O, (char *)"appends another 'this' object"},
- {(char *)"next", (PyCFunction)SwigPyObject_next, METH_NOARGS, (char *)"returns the next 'this' object"},
-- {(char *)"__repr__",(PyCFunction)SwigPyObject_repr, METH_NOARGS, (char *)"returns object representation"},
-+ {(char *)"__repr__",(PyCFunction)SwigPyObject_repr2, METH_NOARGS, (char *)"returns object representation"},
- {0, 0, 0, 0}
- };
- #else
-@@ -689,7 +707,7 @@ swigobject_methods[] = {
- {(char *)"own", (PyCFunction)SwigPyObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"},
- {(char *)"append", (PyCFunction)SwigPyObject_append, METH_VARARGS, (char *)"appends another 'this' object"},
- {(char *)"next", (PyCFunction)SwigPyObject_next, METH_VARARGS, (char *)"returns the next 'this' object"},
-- {(char *)"__repr__",(PyCFunction)SwigPyObject_repr, METH_VARARGS, (char *)"returns object representation"},
-+ {(char *)"__repr__",(PyCFunction)SwigPyObject_repr, METH_VARARGS, (char *)"returns object representation"},
- {0, 0, 0, 0}
- };
- #endif
-diff --git a/Source/Modules/python.cxx b/Source/Modules/python.cxx
-index a6801fc..72eaa77 100644
---- a/Source/Modules/python.cxx
-+++ b/Source/Modules/python.cxx
-@@ -1109,7 +1109,7 @@ public:
- * ------------------------------------------------------------ */
- int add_pyinstancemethod_new() {
- String *name = NewString("SWIG_PyInstanceMethod_New");
-- Printf(methods, "\t { (char *)\"%s\", (PyCFunction)%s, METH_O, NULL},\n", name, name);
-+ Printf(methods, "\t { \"%s\", %s, METH_O, NULL},\n", name, name);
- Delete(name);
- return 0;
- }
-@@ -2479,17 +2479,17 @@ public:
- if (!kw) {
- if (n && funpack) {
- if (num_required == 0 && num_arguments == 0) {
-- Printf(methods, "\t { (char *)\"%s\", (PyCFunction)%s, METH_NOARGS, ", name, function);
-+ Printf(methods, "\t { \"%s\", %s, METH_NOARGS, ", name, function);
- } else if (num_required == 1 && num_arguments == 1) {
-- Printf(methods, "\t { (char *)\"%s\", (PyCFunction)%s, METH_O, ", name, function);
-+ Printf(methods, "\t { \"%s\", %s, METH_O, ", name, function);
- } else {
-- Printf(methods, "\t { (char *)\"%s\", %s, METH_VARARGS, ", name, function);
-+ Printf(methods, "\t { \"%s\", %s, METH_VARARGS, ", name, function);
- }
- } else {
-- Printf(methods, "\t { (char *)\"%s\", %s, METH_VARARGS, ", name, function);
-+ Printf(methods, "\t { \"%s\", %s, METH_VARARGS, ", name, function);
- }
- } else {
-- Printf(methods, "\t { (char *)\"%s\", (PyCFunction) %s, METH_VARARGS | METH_KEYWORDS, ", name, function);
-+ Printf(methods, "\t { \"%s\", (PyCFunction)%s, METH_VARARGS|METH_KEYWORDS, ", name, function);
- }
-
- if (!n) {
-@@ -3857,7 +3857,7 @@ public:
- if (shadow) {
- if (builtin) {
- String *rname = SwigType_namestr(real_classname);
-- Printf(builtin_methods, " { \"__disown__\", (PyCFunction) Swig::Director::swig_pyobj_disown< %s >, METH_NOARGS, \"\" },\n", rname);
-+ Printf(builtin_methods, " { \"__disown__\", Swig::Director::swig_pyobj_disown< %s >, METH_NOARGS, \"\" },\n", rname);
- Delete(rname);
- } else {
- String *symname = Getattr(n, "sym:name");
-@@ -4694,13 +4694,13 @@ public:
- int argcount = Getattr(n, "python:argcount") ? atoi(Char(Getattr(n, "python:argcount"))) : 2;
- String *ds = have_docstring(n) ? cdocstring(n, AUTODOC_FUNC) : NewString("");
- if (check_kwargs(n)) {
-- Printf(builtin_methods, " { \"%s\", (PyCFunction) %s, METH_VARARGS|METH_KEYWORDS, (char *) \"%s\" },\n", symname, wname, ds);
-+ Printf(builtin_methods, " { \"%s\", (PyCFunction)%s, METH_VARARGS|METH_KEYWORDS, \"%s\" },\n", symname, wname, ds);
- } else if (argcount == 0) {
-- Printf(builtin_methods, " { \"%s\", (PyCFunction) %s, METH_NOARGS, (char *) \"%s\" },\n", symname, wname, ds);
-+ Printf(builtin_methods, " { \"%s\", %s, METH_NOARGS, \"%s\" },\n", symname, wname, ds);
- } else if (argcount == 1) {
-- Printf(builtin_methods, " { \"%s\", (PyCFunction) %s, METH_O, (char *) \"%s\" },\n", symname, wname, ds);
-+ Printf(builtin_methods, " { \"%s\", %s, METH_O, \"%s\" },\n", symname, wname, ds);
- } else {
-- Printf(builtin_methods, " { \"%s\", (PyCFunction) %s, METH_VARARGS, (char *) \"%s\" },\n", symname, wname, ds);
-+ Printf(builtin_methods, " { \"%s\", %s, METH_VARARGS, \"%s\" },\n", symname, wname, ds);
- }
- Delete(fullname);
- Delete(wname);
-@@ -4801,10 +4801,10 @@ public:
- Append(pyflags, "METH_VARARGS");
- if (have_docstring(n)) {
- String *ds = cdocstring(n, AUTODOC_STATICFUNC);
-- Printf(builtin_methods, " { \"%s\", (PyCFunction) %s, %s, (char *) \"%s\" },\n", symname, wname, pyflags, ds);
-+ Printf(builtin_methods, " { \"%s\", (PyCFunction)%s, %s, \"%s\" },\n", symname, wname, pyflags, ds);
- Delete(ds);
- } else {
-- Printf(builtin_methods, " { \"%s\", (PyCFunction) %s, %s, \"\" },\n", symname, wname, pyflags);
-+ Printf(builtin_methods, " { \"%s\", (PyCFunction)%s, %s, \"\" },\n", symname, wname, pyflags);
- }
- Delete(fullname);
- Delete(wname);
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/swig/swig/determinism.patch b/poky/meta/recipes-devtools/swig/swig/determinism.patch
index 8ffb4bce8..84c399182 100644
--- a/poky/meta/recipes-devtools/swig/swig/determinism.patch
+++ b/poky/meta/recipes-devtools/swig/swig/determinism.patch
@@ -5,11 +5,9 @@ Upstream-Status: Inappropriate [OE reproducibiity fix upstream unlikely to take]
RP 2021/3/1
-Index: swig-3.0.12/Source/Modules/main.cxx
-===================================================================
---- swig-3.0.12.orig/Source/Modules/main.cxx
-+++ swig-3.0.12/Source/Modules/main.cxx
-@@ -636,7 +636,6 @@ void SWIG_getoptions(int argc, char *arg
+--- a/Source/Modules/main.cxx
++++ b/Source/Modules/main.cxx
+@@ -642,7 +642,6 @@ static void getoptions(int argc, char *a
}
} else if (strcmp(argv[i], "-version") == 0) {
fprintf(stdout, "\nSWIG Version %s\n", Swig_package_version());
diff --git a/poky/meta/recipes-devtools/swig/swig/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch b/poky/meta/recipes-devtools/swig/swig/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch
deleted file mode 100644
index 10e4afd1b..000000000
--- a/poky/meta/recipes-devtools/swig/swig/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 9825fcbab5c4ddd867432f9922bebfbec7b78af0 Mon Sep 17 00:00:00 2001
-From: Mark Dufour <m.dufour@kopano.com>
-Date: Tue, 14 Feb 2017 10:34:37 +0100
-Subject: [PATCH] [Coverity] fix issue reported for SWIG_Python_FixMethods
-
-Fix Coverity issue reported for SWIG_Python_FixMethods:
-
-"buffer_size: Calling strncpy with a source string whose length
-(10 chars) is greater than or equal to the size argument (10)
-will fail to null-terminate buff."
-
-The issue is only reported for the "swig_ptr: " line, but for
-consistency we replace both occurrences of strncpy with memcpy.
----
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport [https://github.com/swig/swig/pull/898]
-
- Lib/python/pyinit.swg | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: swig-3.0.12/Lib/python/pyinit.swg
-===================================================================
---- swig-3.0.12.orig/Lib/python/pyinit.swg
-+++ swig-3.0.12/Lib/python/pyinit.swg
-@@ -306,9 +306,9 @@ SWIG_Python_FixMethods(PyMethodDef *meth
- char *ndoc = (char*)malloc(ldoc + lptr + 10);
- if (ndoc) {
- char *buff = ndoc;
-- strncpy(buff, methods[i].ml_doc, ldoc);
-+ memcpy(buff, methods[i].ml_doc, ldoc);
- buff += ldoc;
-- strncpy(buff, "swig_ptr: ", 10);
-+ memcpy(buff, "swig_ptr: ", 10);
- buff += 10;
- SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
- methods[i].ml_doc = ndoc;
diff --git a/poky/meta/recipes-devtools/swig/swig_3.0.12.bb b/poky/meta/recipes-devtools/swig/swig_3.0.12.bb
deleted file mode 100644
index 090aaa811..000000000
--- a/poky/meta/recipes-devtools/swig/swig_3.0.12.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI += "file://0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch \
- file://0001-configure-use-pkg-config-for-pcre-detection.patch \
- file://0001-Add-Node-7.x-aka-V8-5.2-support.patch \
- file://swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch \
- file://Python-Fix-new-GCC8-warnings-in-generated-code.patch \
- file://0001-Fix-generated-code-for-constant-expressions-containi.patch \
- file://determinism.patch \
- "
-SRC_URI[md5sum] = "82133dfa7bba75ff9ad98a7046be687c"
-SRC_URI[sha256sum] = "7cf9f447ae7ed1c51722efc45e7f14418d15d7a1e143ac9f09a668999f4fc94d"
-
diff --git a/poky/meta/recipes-devtools/swig/swig_4.0.2.bb b/poky/meta/recipes-devtools/swig/swig_4.0.2.bb
new file mode 100644
index 000000000..718ad89a5
--- /dev/null
+++ b/poky/meta/recipes-devtools/swig/swig_4.0.2.bb
@@ -0,0 +1,7 @@
+require ${BPN}.inc
+
+SRC_URI += "file://0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch \
+ file://0001-configure-use-pkg-config-for-pcre-detection.patch \
+ file://determinism.patch \
+ "
+SRC_URI[sha256sum] = "d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc"
diff --git a/poky/meta/recipes-devtools/unfs3/unfs3_git.bb b/poky/meta/recipes-devtools/unfs3/unfs3_git.bb
index a21fb5839..f9bae720c 100644
--- a/poky/meta/recipes-devtools/unfs3/unfs3_git.bb
+++ b/poky/meta/recipes-devtools/unfs3/unfs3_git.bb
@@ -37,7 +37,7 @@ BBCLASSEXTEND = "native nativesdk"
inherit autotools
EXTRA_OECONF_append_class-native = " --sbindir=${bindir}"
CFLAGS_append = " -I${STAGING_INCDIR}/tirpc"
-LDFLAGS_append = " -ltirpc"
+EXTRA_OECONF_append = " LIBS=-ltirpc"
# Turn off these header detects else the inode search
# will walk entire file systems and this is a real problem
diff --git a/poky/meta/recipes-devtools/vala/vala_0.50.4.bb b/poky/meta/recipes-devtools/vala/vala_0.52.3.bb
index 438163551..133dc9efa 100644
--- a/poky/meta/recipes-devtools/vala/vala_0.50.4.bb
+++ b/poky/meta/recipes-devtools/vala/vala_0.52.3.bb
@@ -2,4 +2,4 @@ require ${BPN}.inc
SRC_URI += " file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch"
-SRC_URI[sha256sum] = "58fc31fa8bf492035b11d1a7d514801710afc65bd458b24c0f8d00280a92a38c"
+SRC_URI[sha256sum] = "037ea1a92bf0f1ab04a71b52a01d50aca1945ad1017b6189d9614f84f5c9b2d9"
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb
index ebbd83dd3..d0c60d0a3 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb
+++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb
@@ -130,7 +130,7 @@ RDEPENDS_${PN} += "perl"
# redirect functions like strlen.
RRECOMMENDS_${PN} += "${TCLIBC}-dbg"
-RDEPENDS_${PN}-ptest += " bash coreutils file \
+RDEPENDS_${PN}-ptest += " bash coreutils curl file \
gdb libgomp \
perl \
perl-module-file-basename perl-module-file-glob perl-module-getopt-long \