diff options
author | Andrew Geissler <geissonator@yahoo.com> | 2023-05-19 18:14:02 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2023-05-19 21:39:02 +0300 |
commit | 3eeda90d141cf2db6541a740e22e20be04504bb5 (patch) | |
tree | 09891347148b8e07eeedd6ce6a6a4566f4385d35 /poky | |
parent | dc9d614711d1f205166fa42a0af05054fe06b26d (diff) | |
download | openbmc-3eeda90d141cf2db6541a740e22e20be04504bb5.tar.xz |
subtree updates
meta-openembedded: f3cdc9d7ee..0474e0b870:
Alexander Amelkin (1):
ipmitool: Update links
Bhargav Das (1):
python3-libevdev: Add recipe for python libevdev module.
Changqing Li (1):
redis: upgrade 6.2.11 -> 6.2.12
Chen Qi (1):
frr: add CVE_PRODUCT
Diego Dassie (2):
paho-mqtt-c: Disable building tests
paho-mqtt-c: Improve performance
Fabio Estevam (1):
lvgl: lvgl-demo-fb: Inherit features_check
Johannes Kauffmann (2):
open62541: allow overriding encryption providers
open62541: disable warnings as errors
Jun Nie (3):
libcbor: Add initial support
python3-pefile: Add initial support
python3-uswid: Add initial support
Khem Raj (27):
gitpkgv: Fix python deprecation warning
python3-pyzstd: Disable LTO on clang+arm
libftdi: Remove sysroot paths from .cmake files
libencode-perl: Remove buildpaths from generated .exh files
libcdio: Drop need for LIBCDIO_SOURCE_PATH
enca: Remove buildpaths from target scripts
libirecovery: Add missing build dependency on readline
usbmuxd: Remove recipe for 1.1.1
usbmuxd: Updgrade to latest on master branch
packagegroup-meta-oe: Add kpatch for glibc + x86_64 only
packagegroup-meta-oe: Remove minicoredumper-ptest for musl
libimobiledevice: Delete recipe for 1.3.0
libimobiledevice: Update to latest tip
libimobiledevice: Fix build with clang
idevicerestore: Update to latest on master branch
libpaper: Add recipe
psutils: Add recipe
nodejs: Upgrade to 18.16.0
python3-pylint: Fix missing deps for ptests
etcd: Inherit missing features_check
fftw: Remove hardcoded sysroot into binaries
lmdb: Pass CFLAGS to Makefile
squid: Remove buildpaths from generated binaries
libiio: Do not generate lineinfo in lex/yacc generated files
php: Remove buildpaths from scripts and generated headers
uw-imap: Pass CFLAGS from environment
libmad: Add a patch to pass cflags to build
Marcel Ziswiler (1):
libusbgx: fix device hot-plug use case
Marek Vasut (7):
lvgl: Upgrade lvgl to 8.3.7 and lv-driver to 8.3.0
lvgl: Activate custom tick implementation
lvgl: Add configurable color depth, default to 32bpp
lvgl: Support both fbdev and wayland backends
lvgl: Update lvgl-demo-fb to 8.3.0
lvgl: Upgrade dialog-lvgl to next/main version
lvgl: Add dependency on fbdev into lvgl-demo-fb DISTRO_FEATURES
Markus Volk (12):
xdg-desktop-portal-wlr: update 0.6.0 -> 0.7.0
python3-pillow: add libxcb to RDEPENDS for x11
adw-gtk3: update 4.5 -> 4.6
paprefs: add recipe
imaagemagick: update 7.1.1-5 -> 7.1.1-8
fuse3: update 3.12.0 -> 3.14.1
gnome-software: update 44.0 -> 44.1
gjs: update 1.75.1 -> 1.76.0
evince: update 44.0 -> 44.1
gdm: update 44.0 -> 44.1
xdg-desktop-portal-gnome: update 44.0 -> 44.1
libcamera: update 0.0.4 -> 0.0.5
Martin Jansa (18):
glfw: respect DISTRO_FEATURES when enabling x11 in default PACKAGECONFIG and return it to REQUIRED_DISTRO_FEATURES
libreport: add dependency on libarchive
libxmlb: add missing dependency on glib-2.0 and xz
geoclue: fix build without gobject-introspection-data
appstream: fix build without gobject-introspection-data
ostree: fix build without gobject-introspection-data
rdfind: fix build with -Werror=return-type
spice-gtk: respect gobject-introspection-data
cpulimit: fix do_install with multilib
libnfs: fix installed-vs-shipped issues with multilib
btrfsmaintenance: install to ${datadir}/${BPN}
libtomcrypt: pass LIBPATH to fix installed-vs-shipped with multilib
nanopb: fix installed-vs-shipped with multilib
nv-codec-headers: fix installed-vs-shipped with multilib
zfs: fix installation paths for multilib
poppler: add dependency on glib-2.0-native
paprefs: add x11 to REQUIRED_DISTRO_FEATURES
etcd: don't hardcode /usr/lib in do_install
Matija Tudan (1):
serial: add recipe for version 1.2.1
Ming Liu (4):
libusbgx: uprev to the latest commit
libusbgx: fix some systemd service conditions
libusbgx: drop hard-coded /usr/bin,/etc
libusbgx: check scripts in /etc/usbgx.d
Mingli Yu (1):
minicoredumper: correct the sysvinit service file attribute
Petr Gotthard (4):
strongswan: add PACKAGECONFIG for the NetworkManager module
openfortivpn: add new recipe
networkmanager-fortisslvpn: add new recipe
networkmanager-openconnect: add new recipe
Ross Burton (6):
v4l-utils: do out-of-tree builds
python3-ninja: simplify recipe
libisofs: add new recipe
libburn: move to meta-filesystems
libisoburn: add new recipe
xorriso: remove obsolete recipe
Trevor Gamblin (9):
python3-pytest-mock: Add recipe
python3-tomlkit: Add recipe
ptest-packagelists-meta-python: Add new tests
python3-platformdirs: Add recipe
python3-pylint: upgrade 2.14.5 -> 2.17.3
python3-pylint: add ptest
ptest-packagelists-meta-python: Add new tests
python3-pylint: upgrade 2.17.3 -> 2.17.4
python3-pylint: omit failing pickle test
Vasileios Anagnostopoulos (1):
asio: update to 1.28.0
Wang Mingyu (74):
abseil-cpp: upgrade 20230125.2 -> 20230125.3
appstream: upgrade 0.16.1 -> 0.16.2
babl: upgrade 0.1.104 -> 0.1.106
audit: upgrade 3.1 -> 3.1.1
boost-sml: upgrade 1.1.6 -> 1.1.8
ctags: upgrade 6.0.20230416.0 -> 6.0.20230430.0
eog: upgrade 44.0 -> 44.1
gspell: upgrade 1.12.0 -> 1.12.1
etcd-cpp-apiv3: upgrade 0.14.2 -> 0.14.3
googlebenchmark: upgrade 1.7.1 -> 1.8.0
hwdata: upgrade 0.369 -> 0.370
libbpf: upgrade 1.1.0 -> 1.2.0
iozone3: upgrade 492 -> 506
libadwaita: upgrade 1.3.1 -> 1.3.2
libcgi-perl: upgrade 4.56 -> 4.57
libjs-jquery-cookie: upgrade 3.0.1 -> 3.0.5
libmodule-build-tiny-perl: upgrade 0.043 -> 0.045
log4cpp: upgrade 1.1.3 -> 1.1.4
nautilus: upgrade 44.0 -> 44.1
makedumpfile: upgrade 1.7.2 -> 1.7.3
mg: upgrade 20230406 -> 20230501
python3-yarl: upgrade 1.8.2 -> 1.9.2
python3-alembic: upgrade 1.10.3 -> 1.10.4
python3-cassandra-driver: upgrade 3.26.0 -> 3.27.0
python3-can: upgrade 4.1.0 -> 4.2.0
python3-astroid: upgrade 2.15.3 -> 2.15.4
python3-argcomplete: upgrade 3.0.5 -> 3.0.8
python3-coverage: upgrade 7.2.3 -> 7.2.5
python3-imageio: upgrade 2.27.0 -> 2.28.1
python3-gast: upgrade 0.5.3 -> 0.5.4
python3-langtable: upgrade 0.0.61 -> 0.0.62
python3-flask-socketio: upgrade 5.3.3 -> 5.3.4
python3-elementpath: upgrade 4.1.1 -> 4.1.2
python3-nocasedict: upgrade 2.0.0 -> 2.0.1
python3-protobuf: upgrade 4.22.3 -> 4.22.4
python3-pint: upgrade 0.20.1 -> 0.21
python3-pulsectl: upgrade 22.3.2 -> 23.5.0
python3-pika: upgrade 1.3.1 -> 1.3.2
python3-pymisp: upgrade 2.4.170.1 -> 2.4.170.2
python3-pyudev: upgrade 0.24.0 -> 0.24.1
python3-regex: upgrade 2023.3.23 -> 2023.5.5
python3-rich: upgrade 13.3.4 -> 13.3.5
python3-smpplib: upgrade 2.2.2 -> 2.2.3
python3-sentry-sdk: upgrade 1.20.0 -> 1.22.1
python3-sqlalchemy: upgrade 2.0.9 -> 2.0.12
python3-termcolor: upgrade 2.2.0 -> 2.3.0
python3-twitter: upgrade 4.13.0 -> 4.14.0
python3-web3: upgrade 6.2.0 -> 6.3.0
tracker: upgrade 3.5.0 -> 3.5.1
python3-zeroconf: upgrade 0.56.0 -> 0.62.0
python3-xstatic: upgrade 1.0.2 -> 1.0.3
python3-requests-toolbelt: upgrade 0.10.1 -> 1.0.0
libimobiledevice-glue: SRCREV bump d2ff796..114098d
libplist: upgrade 2.2.0 -> 2.3.0
ctags: upgrade 6.0.20230430.0 -> 6.0.20230507.0
libnet-dns-perl: upgrade 1.37 -> 1.38
libdivecomputer: upgrade 0.7.0 -> 0.8.0
python3-platformdirs: upgrade 3.5.0 -> 3.5.1
python3-sympy: upgrade 1.11.1 -> 1.12
python3-google-auth: upgrade 2.17.3 -> 2.18.0
php: upgrade 8.2.5 -> 8.2.6
postgresql: upgrade 15.2 -> 15.3
python3-protobuf: upgrade 4.22.4 -> 4.23.0
python3-pulsectl: upgrade 23.5.0 -> 23.5.1
python3-pymisp: upgrade 2.4.170.2 -> 2.4.171
python3-pyjwt: upgrade 2.6.0 -> 2.7.0
python3-redis: upgrade 4.5.4 -> 4.5.5
python3-pytest-xdist: upgrade 3.2.1 -> 3.3.0
python3-sentry-sdk: upgrade 1.22.1 -> 1.22.2
python3-typeguard: upgrade 3.0.2 -> 4.0.0
python3-sqlalchemy: upgrade 2.0.12 -> 2.0.13
python3-websockets: upgrade 11.0.2 -> 11.0.3
xterm: upgrade 379 -> 380
wavpack: upgrade 4.60.1 -> 5.1.0
Xiangyu Chen (1):
pahole: fix native package build error
ojayanth (2):
etcd: systemd unit support to start existing etcd node
etcd: add systemd unit support for clustering
poky: 76cec94fad..35e5d29a7d:
Alexander Kanavin (1):
gcr: consider all versions, not only x.even.y
Andrew Jeffery (1):
Revert "ipk: Decode byte data to string in manifest handling"
Anuj Mittal (2):
gstreamer1.0: upgrade 1.22.0 -> 1.22.2
vte: upgrade 0.72.0 -> 0.72.1
Chen Qi (1):
sqlite3: update CVE_PRODUCT
Frederic Martinsons (1):
ptest-cargo.bbclass: add the possibility to define test arguments
Khem Raj (3):
musl: Update to 1.2.4 release
cpio: Run ptests under ptest user
python3-requests: Upgrade to 2.30.0
Luca Ceresoli (2):
ref-manual: classes: kernel: remove incorrect sentence opening
ref-manual: classes: kernel: document automatic defconfig usage
Martin Jansa (1):
populate_sdk_base.bbclass: respect MLPREFIX for ptest-pkgs's ptest-runner
Michael Opdenacker (2):
migration-guides: start of 4.3 migration and release notes
ref-manual: document FIT_ADDRESS_CELLS
Paul Gortmaker (1):
yocto-bsp: drop MIPS Edgerouter support
Qiu Tingting (1):
e2fsprogs: fix ptest bug for second running
Richard Purdie (5):
migration/release-notes-4.3: Add extra notes
qemu: Update ppc instruction fix to match revised upstream version
glib-networking: Add test retry to avoid failures
glib-networking: Correct glib error handling in test patch
qemu: Further updates to the ppc patch after upstream discussion
Ross Burton (6):
gdb: fix crashes when debugging threads with Arm Pointer Authentication enabled
Revert "ffmpeg: move ffmpeg config into packageconfig"
ffmpeg: add v4l2 PACKAGECONFIG
python3: use libedit instead of readline
python3: clean up PACKAGECONFIG
python3: use system expat
Tim Orling (2):
python3-urllib3: upgrade 1.26.15 -> 2.0.2
python3-attrs: upgrade 22.2.0 -> 23.1.0
Trevor Gamblin (3):
python3-trove-classifiers: Add recipe
python3-hatchling: upgrade 1.13.0 -> 1.14.1
python3-calver: Add recipe
Zang Ruochen (1):
elfutils: upgrade 0.188 -> 0.189
nikhil (1):
tiff: Remove unused patch from tiff
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I5304cb7a7ca3c09a110f52fa5b2844f5f00f4851
Diffstat (limited to 'poky')
61 files changed, 835 insertions, 839 deletions
diff --git a/poky/documentation/migration-guides/index.rst b/poky/documentation/migration-guides/index.rst index 6f7bcbef29..a3bddb3f1e 100644 --- a/poky/documentation/migration-guides/index.rst +++ b/poky/documentation/migration-guides/index.rst @@ -12,6 +12,7 @@ to move to one release of the Yocto Project from the previous one. .. toctree:: migration-general + release-4.3 release-4.2 release-4.1 release-4.0 diff --git a/poky/documentation/migration-guides/migration-4.3.rst b/poky/documentation/migration-guides/migration-4.3.rst new file mode 100644 index 0000000000..c2e5699ccb --- /dev/null +++ b/poky/documentation/migration-guides/migration-4.3.rst @@ -0,0 +1,102 @@ +.. SPDX-License-Identifier: CC-BY-SA-2.0-UK + +Release 4.3 (nanbield) +======================== + +Migration notes for 4.3 (nanbield) +------------------------------------ + +This section provides migration information for moving to the Yocto +Project 4.3 Release (codename "nanbield") from the prior release. + +.. _migration-4.3-supported-kernel-versions: + +Supported kernel versions +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The :term:`OLDEST_KERNEL` setting has been changed to "5.15" in this release, meaning that +out the box, older kernels are not supported. There were two reasons for this. +Firstly it allows glibc optimisations that improve the performance of the system +by removing compatibility code and using modern kernel APIs exclusively. The second +issue was this allows 64 bit time support even on 32 bit platforms and resolves Y2038 +issues. + +It is still possible to override this value and build for older kernels, this is just +no longer the default supported configuration. This setting does not affect which +kernel versions SDKs will run against and does not affect which versions of the kernel +can be used to run builds. + +.. _migration-4.3-supported-distributions: + +Supported distributions +~~~~~~~~~~~~~~~~~~~~~~~ + +This release supports running BitBake on new GNU/Linux distributions: + +On the other hand, some earlier distributions are no longer supported: + +See :ref:`all supported distributions <system-requirements-supported-distros>`. + +.. _migration-4.3-go-changes: + +Go language changes +~~~~~~~~~~~~~~~~~~~ + +- Support for the Glide package manager has been removed, as ``go mod`` + has become the standard. + +.. _migration-4.3-recipe-changes: + +Recipe changes +~~~~~~~~~~~~~~ + +- Runtime testing of ptest now fails if no test results are returned by + any given ptest. + +.. _migration-4.3-class-changes: + +Class changes +~~~~~~~~~~~~~ + +- The ``perl-version`` class no longer provides the ``PERLVERSION`` and ``PERLARCH`` variables + as there were no users in any core layer. The functions for this functionality + are still available. + +.. _migration-4.3-removed-variables: + +Removed variables +~~~~~~~~~~~~~~~~~ + +The following variables have been removed: + +- ``PERLARCH`` +- ``PERLVERSION`` + +.. _migration-4.3-removed-recipes: + +Removed recipes +~~~~~~~~~~~~~~~ + +The following recipes have been removed in this release: + +- ``glide``, as explained in :ref:`migration-4.3-go-changes`. + +.. _migration-4.3-removed-classes: + +Removed classes +~~~~~~~~~~~~~~~ + +The following classes have been removed in this release: + + +.. _migration-4.3-misc-changes: + +Miscellaneous changes +~~~~~~~~~~~~~~~~~~~~~ + +- The ``-crosssdk`` suffix and any :term:`MLPREFIX` were removed from + ``virtual/XXX`` provider/dependencies where a ``PREFIX`` was used as well, + as we don't need both and it made automated dependency rewriting + unnecessarily complex. In general this only affects internal toolchain + dependencies so isn't end user visible. + diff --git a/poky/documentation/migration-guides/release-4.3.rst b/poky/documentation/migration-guides/release-4.3.rst new file mode 100644 index 0000000000..92516ae8f5 --- /dev/null +++ b/poky/documentation/migration-guides/release-4.3.rst @@ -0,0 +1,9 @@ +.. SPDX-License-Identifier: CC-BY-SA-2.0-UK + +Release 4.3 (nanbield) +======================== + +.. toctree:: + + migration-4.3 + release-notes-4.3 diff --git a/poky/documentation/migration-guides/release-notes-4.3.rst b/poky/documentation/migration-guides/release-notes-4.3.rst new file mode 100644 index 0000000000..ede3dc41aa --- /dev/null +++ b/poky/documentation/migration-guides/release-notes-4.3.rst @@ -0,0 +1,71 @@ +.. SPDX-License-Identifier: CC-BY-SA-2.0-UK + +Release notes for 4.3 (nandbield) +---------------------------------- + +New Features / Enhancements in 4.3 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Linux kernel 6.x, glibc 2.xx and ~xxx other recipe upgrades + +- New variables: + +- Architecture-specific enhancements: + +- Kernel-related enhancements: + +- New core recipes: + +- New classes: + + - A ``ptest-cargo`` class was added to allow Cargo based recipes to easily add ptests + +- QEMU/runqemu enhancements: + +- Image-related enhancements: + +- wic Image Creator enhancements: + +- FIT image related improvements: + + - New :term:`FIT_ADDRESS_CELLS` variable allowing + to specify 64 bit addresses. + +- SDK-related improvements: + +- Testing: + +- Utility script changes: + +- BitBake improvements: + + - The BitBake Cooker log now contains notes when the caches are + invalidated which is useful for memory resident bitbake debugging. + +- Packaging changes: + +- Miscellaneous changes: + + - Git based recipes in OE-Core which used the git protocol have been + changed to use https where possibile. https is now believed to be + faster and more reliable. + + - The ``os-release`` recipe added a ``CPE_NAME`` to the fields provided, with the + default being populated from :term:`DISTRO`. + +Known Issues in 4.3 +~~~~~~~~~~~~~~~~~~~ + +Recipe License changes in 4.3 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following corrections have been made to the :term:`LICENSE` values set by recipes: + +Security Fixes in 4.3 +~~~~~~~~~~~~~~~~~~~~~ + +Recipe Upgrades in 4.3 +~~~~~~~~~~~~~~~~~~~~~~ + +Contributors to 4.3 +~~~~~~~~~~~~~~~~~~~ diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst index a78368b380..ab1628401e 100644 --- a/poky/documentation/ref-manual/classes.rst +++ b/poky/documentation/ref-manual/classes.rst @@ -1532,11 +1532,18 @@ code to build all kernel trees. All needed headers are staged into the :term:`STAGING_KERNEL_DIR` directory to allow out-of-tree module builds using the :ref:`ref-classes-module` class. -This means that each built kernel module is packaged separately and -inter-module dependencies are created by parsing the ``modinfo`` output. -If all modules are required, then installing the ``kernel-modules`` -package installs all packages with modules and various other kernel -packages such as ``kernel-vmlinux``. +If a file named ``defconfig`` is listed in :term:`SRC_URI`, then by default +:ref:`ref-tasks-configure` copies it as ``.config`` in the build directory, +so it is automatically used as the kernel configuration for the build. This +copy is not performed in case ``.config`` already exists there: this allows +recipes to produce a configuration by other means in +``do_configure:prepend``. + +Each built kernel module is packaged separately and inter-module +dependencies are created by parsing the ``modinfo`` output. If all modules +are required, then installing the ``kernel-modules`` package installs all +packages with modules and various other kernel packages such as +``kernel-vmlinux``. The :ref:`ref-classes-kernel` class contains logic that allows you to embed an initial RAM filesystem (:term:`Initramfs`) image when you build the kernel image. For @@ -1590,7 +1597,8 @@ Only a single kernel can be added to the FIT image created by :ref:`ref-classes-kernel-fitimage` and the kernel image in FIT is mandatory. The address where the kernel image is to be loaded by U-Boot is specified by :term:`UBOOT_LOADADDRESS` and the entrypoint by -:term:`UBOOT_ENTRYPOINT`. +:term:`UBOOT_ENTRYPOINT`. Setting :term:`FIT_ADDRESS_CELLS` to "2" +is necessary if such addresses are 64 bit ones. Multiple device trees can be added to the FIT image created by :ref:`ref-classes-kernel-fitimage` and the device tree is optional. diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst index 574af2c2f9..6ee65e1788 100644 --- a/poky/documentation/ref-manual/variables.rst +++ b/poky/documentation/ref-manual/variables.rst @@ -2898,6 +2898,26 @@ system and gives an overview of their function and contents. For guidance on how to create your own file permissions settings table file, examine the existing ``fs-perms.txt``. + :term:`FIT_ADDRESS_CELLS` + + Specifies the value of the ``#address-cells`` value for the + description of the kernel FIT image. + + The default value is set to "1" by the :ref:`ref-classes-kernel-fitimage` + class, which corresponds to 32 bit addresses. + + For platforms who need to set 64 bit addresses in + :term:`UBOOT_LOADADDRESS` and :term:`UBOOT_ENTRYPOINT`, you need to + set this value to "2", as two 32 bit values (cells) will be needed + to represent such addresses. + + Here is an example setting "0x400000000" as a load address:: + + FIT_ADDRESS_CELLS = "2" + UBOOT_LOADADDRESS= "0x04 0x00000000" + + See `more details about #address-cells <https://elinux.org/Device_Tree_Usage#How_Addressing_Works>`__. + :term:`FIT_CONF_DEFAULT_DTB` Specifies the default device tree binary (dtb) file for a fitImage when multiple are provided. @@ -9041,11 +9061,17 @@ system and gives an overview of their function and contents. creation, the :term:`UBOOT_ENTRYPOINT` variable is passed as a command-line parameter to the ``uboot-mkimage`` utility. + To pass a 64 bit address for FIT image creation, you will need to set + the :term:`FIT_ADDRESS_CELLS` variable too. + :term:`UBOOT_LOADADDRESS` Specifies the load address for the U-Boot image. During U-Boot image creation, the :term:`UBOOT_LOADADDRESS` variable is passed as a command-line parameter to the ``uboot-mkimage`` utility. + To pass a 64 bit address for FIT image creation, you will need to set + the :term:`FIT_ADDRESS_CELLS` variable too. + :term:`UBOOT_LOCALVERSION` Appends a string to the name of the local version of the U-Boot image. For example, assuming the version of the U-Boot image built diff --git a/poky/meta-yocto-bsp/README.hardware.md b/poky/meta-yocto-bsp/README.hardware.md index 44dbb35b93..8ea0ef1461 100644 --- a/poky/meta-yocto-bsp/README.hardware.md +++ b/poky/meta-yocto-bsp/README.hardware.md @@ -28,7 +28,6 @@ Hardware Reference Boards The following boards are supported by the meta-yocto-bsp layer: * Texas Instruments Beaglebone (beaglebone-yocto) - * Ubiquiti Networks EdgeRouter Lite (edgerouter) * General IA platforms (genericx86 and genericx86-64) For more information see the board's section below. The appropriate MACHINE @@ -48,7 +47,6 @@ Consumer Devices The following consumer devices are supported by the meta-yocto-bsp layer: * Intel x86 based PCs and devices (genericx86) - * Ubiquiti Networks EdgeRouter Lite (edgerouter) For more information see the device's section below. The appropriate MACHINE variable value corresponding to the device is given in brackets. @@ -153,113 +151,3 @@ From a Linux system with access to the image files perform the following steps: # dd if=core-image-minimal-beaglebone-yocto.wic of=/dev/sdb 3. Insert the SD card into the Beaglebone and boot the board. - -Ubiquiti Networks EdgeRouter Lite (edgerouter) -============================================== - -The EdgeRouter Lite is part of the EdgeMax series. It is a MIPS64 router -(based on the Cavium Octeon processor) with 512MB of RAM, which uses an -internal USB pendrive for storage. - -Setup instructions ------------------- - -You will need the following: -* RJ45 -> serial ("rollover") cable connected from your PC to the CONSOLE - port on the device -* Ethernet connected to the first ethernet port on the board - -If using NFS as part of the setup process, you will also need: -* NFS root setup on your workstation -* TFTP server installed on your workstation (if fetching the kernel from - TFTP, see below). - ---- Preparation --- - -Build an image (e.g. core-image-minimal) using "edgerouter" as the MACHINE. -In the following instruction it is based on core-image-minimal. Another target -may be similiar with it. - ---- Booting from NFS root / kernel via TFTP --- - -Load the kernel, and boot the system as follows: - - 1. Get the kernel (vmlinux) file from the tmp/deploy/images/edgerouter - directory, and make them available on your TFTP server. - - 2. Connect the board's first serial port to your workstation and then start up - your favourite serial terminal so that you will be able to interact with - the serial console. If you don't have a favourite, picocom is suggested: - - $ picocom /dev/ttyS0 -b 115200 - - 3. Power up or reset the board and press a key on the terminal when prompted - to get to the U-Boot command line - - 4. Set up the environment in U-Boot: - - => setenv ipaddr <board ip> - => setenv serverip <tftp server ip> - - 5. Download the kernel and boot: - - => tftp $loadaddr vmlinux - => bootoctlinux $loadaddr coremask=0x3 root=/dev/nfs rw nfsroot=<nfsroot ip>:<rootfs path> ip=<board ip>:<server ip>:<gateway ip>:<netmask>:edgerouter:eth0:off mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom) - ---- Booting from USB disk --- - -To boot from the USB disk, you either need to remove it from the edgerouter -box and populate it from another computer, or use a previously booted NFS -image and populate from the edgerouter itself. - -Type 1: Use partitioned image ------------------------------ - -Steps: - - 1. Remove the USB disk from the edgerouter and insert it into a computer - that has access to your build artifacts. - - 2. Flash the image. - - # dd if=core-image-minimal-edgerouter.wic of=/dev/sdb - - 3. Insert USB disk into the edgerouter and boot it. - -Type 2: NFS ------------ - -Note: If you place the kernel on the ext3 partition, you must re-create the - ext3 filesystem, since the factory u-boot can only handle 128 byte inodes and - cannot read the partition otherwise. - - These boot instructions assume that you have recreated the ext3 filesystem with - 128 byte inodes, you have an updated uboot or you are running and image capable - of making the filesystem on the board itself. - - - 1. Boot from NFS root - - 2. Mount the USB disk partition 2 and then extract the contents of - tmp/deploy/core-image-XXXX.tar.bz2 into it. - - Before starting, copy core-image-minimal-xxx.tar.bz2 and vmlinux into - rootfs path on your workstation. - - and then, - - # mount /dev/sda2 /media/sda2 - # tar -xvjpf core-image-minimal-XXX.tar.bz2 -C /media/sda2 - # cp vmlinux /media/sda2/boot/vmlinux - # umount /media/sda2 - # reboot - - 3. Reboot the board and press a key on the terminal when prompted to get to the U-Boot - command line: - - # reboot - - 4. Load the kernel and boot: - - => ext2load usb 0:2 $loadaddr boot/vmlinux - => bootoctlinux $loadaddr coremask=0x3 root=/dev/sda2 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom) diff --git a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf deleted file mode 100644 index ffdcf55f02..0000000000 --- a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf +++ /dev/null @@ -1,26 +0,0 @@ -#@TYPE: Machine -#@NAME: Edgerouter -#@DESCRIPTION: Machine configuration for a generic edgerouter - -require conf/machine/include/mips/tune-mips64.inc - -MACHINE_FEATURES = "pci ext2 ext3 serial" - -KERNEL_IMAGETYPE = "vmlinux" -KERNEL_ALT_IMAGETYPE = "vmlinux.bin" -KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment" - -PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" -PREFERRED_VERSION_linux-yocto ?= "6.1%" - -SERIAL_CONSOLES = "115200;ttyS0" -USE_VT ?= "0" - -MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" - -IMAGE_FSTYPES ?= "jffs2 tar.bz2 wic wic.bmap" -JFFS2_ERASEBLOCK = "0x10000" - -WKS_FILE ?= "edgerouter.wks" -IMAGE_BOOT_FILES ?= "vmlinux;vmlinux.64" -do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot" diff --git a/poky/meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py b/poky/meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py deleted file mode 100644 index e31670db48..0000000000 --- a/poky/meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright (C) 2014 Intel Corporation -# -# Released under the MIT license (see COPYING.MIT) - -# This module adds support to testimage.bbclass to deploy images and run -# tests on a Ubiquiti Networks EdgeRouter Lite. The device must be set up -# to boot into the master image already - the easiest way to do that is as -# follows: -# -# 1. Take out the internal USB drive and plug it into your PC -# 2. Repartition the USB drive so that you have three partitions in this -# order: -# 1: vfat, labelled "boot" (it will need to be formatted with mkfs.vfat -# for this to be possible, since FAT partitions formatted under -# DOS/Windows will only support uppercase labels) -# 2: ext3 (for master image) labelled "testmaster" -# 3: ext3 (for image under test) labelled "testrootfs" -# 3. Copy the kernel to be used by the master image to the FAT partition -# (it should be named "vmlinux.64" with the factory u-boot configuration) -# 4. Install the master image onto the "testmaster" ext3 partition. If -# you do this by just extracting the contents of an image onto the -# partition, you will also likely need to create the master image marker -# file /etc/masterimage within this partition so that we can tell when -# we're booted into it that it is the master image. -# 5. Put the USB drive back into the device, and ensure the console port -# and first ethernet port are connected before powering on -# -# TEST_SERIALCONTROL_CMD will need to be set in local.conf so that we can -# interact with u-boot over the serial console port. - -import os -import bb -import time -import subprocess -import sys -import pexpect - -from oeqa.controllers.controllerimage import ControllerImageHardwareTarget - - -class EdgeRouterTarget(ControllerImageHardwareTarget): - - def __init__(self, d): - super(EdgeRouterTarget, self).__init__(d) - - self.image_fstype = self.get_image_fstype(d) - self.deploy_cmds = [ - 'mount -L boot /boot', - 'mkdir -p /mnt/testrootfs', - 'mount -L testrootfs /mnt/testrootfs', - 'cp ~/test-kernel /boot', - 'rm -rf /mnt/testrootfs/*', - 'tar xvf ~/test-rootfs.%s -C /mnt/testrootfs' % self.image_fstype - ] - if not self.serialcontrol_cmd: - bb.fatal("This TEST_TARGET needs a TEST_SERIALCONTROL_CMD defined in local.conf.") - - - def _deploy(self): - self.controller.run("umount /mnt/testrootfs;") - self.controller.ignore_status = False - self.controller.copy_to(self.kernel, "~/test-kernel") - self.controller.copy_to(self.rootfs, "~/test-rootfs.%s" % self.image_fstype) - for cmd in self.deploy_cmds: - self.controller.run(cmd) - - def _start(self, params=None): - self.power_cycle(self.controller) - try: - serialconn = pexpect.spawn(self.serialcontrol_cmd, env=self.origenv, logfile=sys.stdout) - serialconn.expect("U-Boot") - serialconn.sendline("a") - serialconn.expect("Octeon ubnt_e100#") - serialconn.sendline("fatload usb 0:1 $loadaddr test-kernel") - serialconn.expect(" bytes read") - serialconn.expect("Octeon ubnt_e100#") - serialconn.sendline("bootoctlinux $loadaddr coremask=0x3 root=/dev/sda3 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)") - serialconn.expect("login:", timeout=120) - serialconn.close() - except pexpect.ExceptionPexpect as e: - bb.fatal('Serial interaction failed: %s' % str(e)) - - def _wait_until_booted(self): - try: - serialconn = pexpect.spawn(self.serialcontrol_cmd, env=self.origenv, logfile=sys.stdout) - serialconn.expect("login:", timeout=120) - serialconn.close() - except pexpect.ExceptionPexpect as e: - bb.fatal('Serial interaction failed: %s' % str(e)) diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend index a90958f546..4a62ac952c 100644 --- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend +++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend @@ -1,6 +1,5 @@ KBRANCH:genericx86 = "standard/base" KBRANCH:genericx86-64 = "standard/base" -KBRANCH:edgerouter = "standard/edgerouter" KBRANCH:beaglebone-yocto = "standard/beaglebone" KMACHINE:genericx86 ?= "common-pc" @@ -9,5 +8,4 @@ KMACHINE:beaglebone-yocto ?= "beaglebone" COMPATIBLE_MACHINE:genericx86 = "genericx86" COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" -COMPATIBLE_MACHINE:edgerouter = "edgerouter" COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend index 87aa38a85e..7a33505b55 100644 --- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend +++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend @@ -1,6 +1,5 @@ KBRANCH:genericx86 = "v5.15/standard/base" KBRANCH:genericx86-64 = "v5.15/standard/base" -KBRANCH:edgerouter = "v5.15/standard/edgerouter" KBRANCH:beaglebone-yocto = "v5.15/standard/beaglebone" KMACHINE:genericx86 ?= "common-pc" @@ -9,15 +8,12 @@ KMACHINE:beaglebone-yocto ?= "beaglebone" SRCREV_machine:genericx86 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6" SRCREV_machine:genericx86-64 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6" -SRCREV_machine:edgerouter ?= "2ac6461adfceb54f47a756046fbdd142adce4301" SRCREV_machine:beaglebone-yocto ?= "26aee42556a000123129552b73de6bf2ac039034" COMPATIBLE_MACHINE:genericx86 = "genericx86" COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" -COMPATIBLE_MACHINE:edgerouter = "edgerouter" COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" LINUX_VERSION:genericx86 = "5.15.103" LINUX_VERSION:genericx86-64 = "5.15.103" -LINUX_VERSION:edgerouter = "5.15.103" LINUX_VERSION:beaglebone-yocto = "5.15.103" diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend index dc58f988eb..b80c51848d 100644 --- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend +++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend @@ -1,6 +1,5 @@ KBRANCH:genericx86 = "v6.1/standard/base" KBRANCH:genericx86-64 = "v6.1/standard/base" -KBRANCH:edgerouter = "v6.1/standard/edgerouter" KBRANCH:beaglebone-yocto = "v6.1/standard/beaglebone" KMACHINE:genericx86 ?= "common-pc" @@ -9,15 +8,12 @@ KMACHINE:beaglebone-yocto ?= "beaglebone" SRCREV_machine:genericx86 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" SRCREV_machine:genericx86-64 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" -SRCREV_machine:edgerouter ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" SRCREV_machine:beaglebone-yocto ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" COMPATIBLE_MACHINE:genericx86 = "genericx86" COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" -COMPATIBLE_MACHINE:edgerouter = "edgerouter" COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" LINUX_VERSION:genericx86 = "6.1.20" LINUX_VERSION:genericx86-64 = "6.1.20" -LINUX_VERSION:edgerouter = "6.1.20" LINUX_VERSION:beaglebone-yocto = "6.1.20" diff --git a/poky/meta-yocto-bsp/wic/edgerouter.wks b/poky/meta-yocto-bsp/wic/edgerouter.wks deleted file mode 100644 index 7176fe436b..0000000000 --- a/poky/meta-yocto-bsp/wic/edgerouter.wks +++ /dev/null @@ -1,4 +0,0 @@ -# short-description: Create SD card image for Edgerouter -# long-description: Create a partitioned SD card image for MIPS64 Edgerouter reference hardware. -part /boot --source bootimg-partition --ondisk sda --fstype=vfat --label boot --active --align 4 --size 16 -part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 4 diff --git a/poky/meta/classes-recipe/populate_sdk_base.bbclass b/poky/meta/classes-recipe/populate_sdk_base.bbclass index 1c619ef3cf..b23ea26d40 100644 --- a/poky/meta/classes-recipe/populate_sdk_base.bbclass +++ b/poky/meta/classes-recipe/populate_sdk_base.bbclass @@ -15,7 +15,7 @@ COMPLEMENTARY_GLOB[staticdev-pkgs] = '*-staticdev' COMPLEMENTARY_GLOB[doc-pkgs] = '*-doc' COMPLEMENTARY_GLOB[dbg-pkgs] = '*-dbg' COMPLEMENTARY_GLOB[src-pkgs] = '*-src' -COMPLEMENTARY_GLOB[ptest-pkgs] = '*-ptest ptest-runner' +COMPLEMENTARY_GLOB[ptest-pkgs] = '*-ptest ${MLPREFIX}ptest-runner' COMPLEMENTARY_GLOB[bash-completion-pkgs] = '*-bash-completion' def complementary_globs(featurevar, d): diff --git a/poky/meta/classes-recipe/ptest-cargo.bbclass b/poky/meta/classes-recipe/ptest-cargo.bbclass index f28bc7a826..4ed528445a 100644 --- a/poky/meta/classes-recipe/ptest-cargo.bbclass +++ b/poky/meta/classes-recipe/ptest-cargo.bbclass @@ -1,5 +1,8 @@ inherit cargo ptest +RUST_TEST_ARGS ??= "" +RUST_TEST_ARGS[doc] = "Arguments to give to the test binaries (e.g. --shuffle)" + # I didn't find a cleaner way to share data between compile and install tasks CARGO_TEST_BINARIES_FILES ?= "${B}/test_binaries_list" @@ -74,6 +77,7 @@ python do_install_ptest_cargo() { pn = d.getVar("PN", True) ptest_path = d.getVar("PTEST_PATH", True) cargo_test_binaries_file = d.getVar('CARGO_TEST_BINARIES_FILES', True) + rust_test_args = d.getVar('RUST_TEST_ARGS') or "" ptest_dir = os.path.join(dest_dir, ptest_path.lstrip('/')) os.makedirs(ptest_dir, exist_ok=True) @@ -94,12 +98,12 @@ python do_install_ptest_cargo() { f.write(f"\necho \"\"\n") f.write(f"echo \"## starting to run rust tests ##\"\n") for test_path in test_paths: - f.write(f"{test_path}\n") + f.write(f"{test_path} {rust_test_args}\n") else: with open(ptest_script, "a") as f: f.write("#!/bin/sh\n") for test_path in test_paths: - f.write(f"{test_path}\n") + f.write(f"{test_path} {rust_test_args}\n") os.chmod(ptest_script, 0o755) # this is chown -R root:root ${D}${PTEST_PATH} diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index e24d8545ba..395c187c1b 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -607,6 +607,7 @@ RECIPE_MAINTAINER:pn-python3-attrs = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-babel = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-bcrypt = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-build = "Ross Burton <ross.burton@arm.com>" +RECIPE_MAINTAINER:pn-python3-calver = "Trevor Gamblin <tgamblin@baylibre.com>" RECIPE_MAINTAINER:pn-python3-certifi = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-cffi = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-chardet = "Tim Orling <tim.orling@konsulko.com>" @@ -702,6 +703,7 @@ RECIPE_MAINTAINER:pn-python3-subunit = "Oleksandr Kravchuk <open.source@oleksand RECIPE_MAINTAINER:pn-python3-testtools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER:pn-python3-toml = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-tomli = "Tim Orling <tim.orling@konsulko.com>" +RECIPE_MAINTAINER:pn-python3-trove-classifiers = "Trevor Gamblin <tgamblin@baylibre.com>" RECIPE_MAINTAINER:pn-python3-typing-extensions = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-typogrify = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER:pn-python3-unittest-automake-output = "Ross Burton <ross.burton@arm.com>" diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc index 2f83132aeb..faa9bd6983 100644 --- a/poky/meta/conf/distro/include/ptest-packagelists.inc +++ b/poky/meta/conf/distro/include/ptest-packagelists.inc @@ -56,6 +56,7 @@ PTESTS_FAST = "\ popt \ python3-atomicwrites \ python3-bcrypt \ + python3-calver \ python3-hypothesis \ python3-jinja2 \ python3-jsonpointer \ @@ -64,6 +65,7 @@ PTESTS_FAST = "\ python3-pluggy \ python3-pyasn1 \ python3-pytz \ + python3-trove-classifiers \ python3-wcwidth \ python3-webcolors \ qemu \ diff --git a/poky/meta/lib/oe/package_manager/ipk/manifest.py b/poky/meta/lib/oe/package_manager/ipk/manifest.py index 469e14c3c6..3549d7428d 100644 --- a/poky/meta/lib/oe/package_manager/ipk/manifest.py +++ b/poky/meta/lib/oe/package_manager/ipk/manifest.py @@ -64,7 +64,7 @@ class PkgManifest(Manifest): if len(pkgs_to_install) == 0: return - output = pm.dummy_install(pkgs_to_install).decode('utf-8') + output = pm.dummy_install(pkgs_to_install) with open(self.full_manifest, 'w+') as manifest: pkg_re = re.compile('^Installing ([^ ]+) [^ ].*') diff --git a/poky/meta/recipes-core/glib-networking/glib-networking/eagain.patch b/poky/meta/recipes-core/glib-networking/glib-networking/eagain.patch new file mode 100644 index 0000000000..ac6592ffef --- /dev/null +++ b/poky/meta/recipes-core/glib-networking/glib-networking/eagain.patch @@ -0,0 +1,29 @@ +In autobuilder testing we regularly see glib-networking ptest fail with: + +GLib-Net:ERROR:/usr/src/debug/glib-networking/2.74.0-r0/tls/tests/connection.c:1944:simul_read_thread: assertion failed (error == NULL): Resource temporarily unavailable (g-io-error-quark, 27) +Bail out! GLib-Net:ERROR:/usr/src/debug/glib-networking/2.74.0-r0/tls/tests/connection.c:1944:simul_read_thread: assertion failed (error == NULL): Resource temporarily unavailable (g-io-error-quark, 27) +FAIL: glib-networking/connection-openssl.test (Child process killed by signal 6) +SUMMARY: total=4; passed=3; skipped=0; failed=1; user=0.9s; system=0.4s; maxrss=10708 +FAIL: glib-networking/connection-openssl.test (Child process killed by signal 6) + +The test should probably retry in this situation so test a patch which does this. + +Upstream-Status: Pending [testing to see if patch resolves the issue] + +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Index: glib-networking-2.74.0/tls/tests/connection.c +=================================================================== +--- glib-networking-2.74.0.orig/tls/tests/connection.c ++++ glib-networking-2.74.0/tls/tests/connection.c +@@ -1941,6 +1941,10 @@ simul_read_thread (gpointer user_data) + test->buf + test->nread, + MIN (TEST_DATA_LENGTH / 2, TEST_DATA_LENGTH - test->nread), + NULL, &error); ++ ++ if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_BUSY)) ++ continue; ++ + g_assert_no_error (error); + + test->nread += nread; diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.74.0.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.74.0.bb index dc0be23357..b3a88aca8d 100644 --- a/poky/meta/recipes-core/glib-networking/glib-networking_2.74.0.bb +++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.74.0.bb @@ -24,6 +24,7 @@ GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gettext upstream-version-is-even gio-module-cache ptest-gnome SRC_URI += "file://run-ptest" +SRC_URI += "file://eagain.patch" FILES:${PN} += "\ ${libdir}/gio/modules/libgio*.so \ diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb index 7c9a9cd671..19b07d6be9 100644 --- a/poky/meta/recipes-core/musl/musl_git.bb +++ b/poky/meta/recipes-core/musl/musl_git.bb @@ -4,9 +4,9 @@ require musl.inc inherit linuxloader -SRCREV = "b928c7234f62c35a9b4927586ff4c3cbf6e513b5" +SRCREV = "f5f55d6589940fd2c2188d76686efe3a530e64e0" -BASEVER = "1.2.3" +BASEVER = "1.2.4" PV = "${BASEVER}+git${SRCPV}" diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest index c97c0377e9..279923db8e 100644 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest @@ -8,3 +8,4 @@ rm -f *.tmp rm -f *.ok rm -f *.failed rm -f *.log +cp ../data/test_data.tmp ./ diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb index f29c55e346..d3786d6f4c 100644 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb @@ -141,4 +141,7 @@ do_install_ptest() { install -d ${D}${PTEST_PATH}/lib install -m 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/ + + install -d ${D}${PTEST_PATH}/data + install -m 0644 ${B}/tests/test_data.tmp ${D}${PTEST_PATH}/data/ } diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.188.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.189.bb index 74271b2411..236f8cef92 100644 --- a/poky/meta/recipes-devtools/elfutils/elfutils_0.188.bb +++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.189.bb @@ -21,15 +21,12 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \ file://0001-skip-the-test-when-gcc-not-deployed.patch \ file://ptest.patch \ file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \ - file://0001-PR29926-debuginfod-Fix-usage-of-deprecated-CURLINFO_.patch \ - file://0002-debuginfod-client-Use-CURLOPT_PROTOCOLS_STR-for-libc.patch \ - file://handle_DW_TAG_unspecified_type.patch \ " SRC_URI:append:libc-musl = " \ file://0003-musl-utils.patch \ file://0015-config-eu.am-do-not-use-Werror.patch \ " -SRC_URI[sha256sum] = "fb8b0e8d0802005b9a309c60c1d8de32dd2951b56f0c3a3cb56d21ce01595dff" +SRC_URI[sha256sum] = "39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8" inherit autotools gettext ptest pkgconfig diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-PR29926-debuginfod-Fix-usage-of-deprecated-CURLINFO_.patch b/poky/meta/recipes-devtools/elfutils/files/0001-PR29926-debuginfod-Fix-usage-of-deprecated-CURLINFO_.patch deleted file mode 100644 index ee192e3581..0000000000 --- a/poky/meta/recipes-devtools/elfutils/files/0001-PR29926-debuginfod-Fix-usage-of-deprecated-CURLINFO_.patch +++ /dev/null @@ -1,49 +0,0 @@ -From d2bf497b12fbd49b4996ccf0744303ffd67735b1 Mon Sep 17 00:00:00 2001 -From: Andrew Paprocki <andrew@ishiboo.com> -Date: Wed, 21 Dec 2022 11:15:00 -0500 -Subject: [PATCH] PR29926: debuginfod: Fix usage of deprecated CURLINFO_* - -The `CURLINFO_SIZE_DOWNLOAD_T` and `CURLINFO_CONTENT_LENGTH_DOWNLOAD_T` -identifiers are `enum`s, not pre-processor definitions, so the current -`#ifdef` logic is not selecting the newer API. This results in the -older identifiers being used and they now generate errors when compiled -against Curl 7.87, which has silently deprecated them, causing GCC to -emit `-Werror=deprecated-declarations`. - -Instead, the newer identifiers were added in Curl 7.55, so explicitly -check for `CURL_AT_LEAST_VERSION(7, 55, 0)` instead of the current -logic. This eliminates the error when compiling against Curl 7.87. - -Ref: https://github.com/curl/curl/pull/1511 - -Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commit;h=d2bf497b12fbd49b4996ccf0744303ffd67735b1] -Signed-off-by: Andrew Paprocki <andrew@ishiboo.com> ---- - debuginfod/debuginfod-client.c | 4 ++-- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c -index 8873fcc8..692aecce 100644 ---- a/debuginfod/debuginfod-client.c -+++ b/debuginfod/debuginfod-client.c -@@ -1456,7 +1456,7 @@ debuginfod_query_server (debuginfod_client *c, - deflate-compressing proxies, this number is likely to be - unavailable, so -1 may show. */ - CURLcode curl_res; --#ifdef CURLINFO_CONTENT_LENGTH_DOWNLOAD_T -+#if CURL_AT_LEAST_VERSION(7, 55, 0) - curl_off_t cl; - curl_res = curl_easy_getinfo(target_handle, - CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, -@@ -1491,7 +1491,7 @@ debuginfod_query_server (debuginfod_client *c, - if (target_handle) /* we've committed to a server; report its download progress */ - { - CURLcode curl_res; --#ifdef CURLINFO_SIZE_DOWNLOAD_T -+#if CURL_AT_LEAST_VERSION(7, 55, 0) - curl_off_t dl; - curl_res = curl_easy_getinfo(target_handle, - CURLINFO_SIZE_DOWNLOAD_T, --- -2.39.1 - diff --git a/poky/meta/recipes-devtools/elfutils/files/0002-debuginfod-client-Use-CURLOPT_PROTOCOLS_STR-for-libc.patch b/poky/meta/recipes-devtools/elfutils/files/0002-debuginfod-client-Use-CURLOPT_PROTOCOLS_STR-for-libc.patch deleted file mode 100644 index 2d4c912e82..0000000000 --- a/poky/meta/recipes-devtools/elfutils/files/0002-debuginfod-client-Use-CURLOPT_PROTOCOLS_STR-for-libc.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 6560fb26a62ef135a804357ef4f15a47de3e49b3 Mon Sep 17 00:00:00 2001 -From: Mark Wielaard <mark@klomp.org> -Date: Tue, 10 Jan 2023 23:20:41 +0100 -Subject: [PATCH] debuginfod-client: Use CURLOPT_PROTOCOLS_STR for libcurl >= 7.85.0 - -https://sourceware.org/bugzilla/show_bug.cgi?id=29926 - -Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commit;h=6560fb26a62ef135a804357ef4f15a47de3e49b3] -Signed-off-by: Mark Wielaard <mark@klomp.org> ---- - debuginfod/debuginfod-client.c | 5 +++++ - 2 files changed, 10 insertions(+) - -diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c -index a16165bd..1ce45632 100644 ---- a/debuginfod/debuginfod-client.c -+++ b/debuginfod/debuginfod-client.c -@@ -1336,8 +1336,13 @@ debuginfod_query_server (debuginfod_client *c, - - /* Only allow http:// + https:// + file:// so we aren't being - redirected to some unsupported protocol. */ -+#if CURL_AT_LEAST_VERSION(7, 85, 0) -+ curl_easy_setopt_ck(data[i].handle, CURLOPT_PROTOCOLS_STR, -+ "http,https,file"); -+#else - curl_easy_setopt_ck(data[i].handle, CURLOPT_PROTOCOLS, - (CURLPROTO_HTTP | CURLPROTO_HTTPS | CURLPROTO_FILE)); -+#endif - curl_easy_setopt_ck(data[i].handle, CURLOPT_URL, data[i].url); - if (vfd >= 0) - curl_easy_setopt_ck(data[i].handle, CURLOPT_ERRORBUFFER, --- -2.39.1 - diff --git a/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch b/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch index a7715587db..fd1ec010e5 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch @@ -14,20 +14,19 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- config/eu.am | 2 -- 1 file changed, 2 deletions(-) - diff --git a/config/eu.am b/config/eu.am -index 58cd3c4..ac42390 100644 +index e6c241f..4136e7c 100644 --- a/config/eu.am +++ b/config/eu.am -@@ -91,7 +91,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ - -Wold-style-definition -Wstrict-prototypes $(TRAMPOLINES_WARNING) \ +@@ -99,7 +99,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ + $(USE_AFTER_FREE3_WARNING) \ - $(if $($(*F)_no_Werror),,-Werror) \ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ -@@ -101,7 +100,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ +@@ -109,7 +108,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ $(TRAMPOLINES_WARNING) \ $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ @@ -35,3 +34,4 @@ index 58cd3c4..ac42390 100644 $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ +-- diff --git a/poky/meta/recipes-devtools/elfutils/files/handle_DW_TAG_unspecified_type.patch b/poky/meta/recipes-devtools/elfutils/files/handle_DW_TAG_unspecified_type.patch deleted file mode 100644 index 8cab01c29a..0000000000 --- a/poky/meta/recipes-devtools/elfutils/files/handle_DW_TAG_unspecified_type.patch +++ /dev/null @@ -1,88 +0,0 @@ -From: Mark Wielaard <mark@klomp.org> -Date: Thu, 26 Jan 2023 17:19:15 +0000 (+0100) -Subject: backends: Handle DW_TAG_unspecified_type in dwarf_peeled_die_type -X-Git-Url: https://sourceware.org/git/?p=elfutils.git;a=commitdiff_plain;h=f2c522567ad63ac293535fba9704895e685ab5bc;hp=3fa98a6f29b0f370e32549ead7eb897c839af980 - -backends: Handle DW_TAG_unspecified_type in dwarf_peeled_die_type - -binutils 2.40 introduces DW_TAG_unspecified_type for assembly -functions with an unknown return type. This breaks the -run-funcretval.sh testcase because dwfl_module_return_value_location -returns an error for such functions because it cannot determine the -return value location. Fix that by treating DW_TAG_unspecified_type -as if the DIE doesn't have a DW_AT_type. - -Also update the testcase to explicitly checking for -DW_TAG_unspecified_type and printing "returns unspecified type". - -https://sourceware.org/bugzilla/show_bug.cgi?id=30047 - -Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commitdiff;h=f2c522567ad63ac293535fba9704895e685ab5bc;hp=3fa98a6f29b0f370e32549ead7eb897c839af980] -Signed-off-by: Mark Wielaard <mark@klomp.org> ---- - ---- a/backends/libebl_CPU.h -+++ b/backends/libebl_CPU.h -@@ -1,5 +1,6 @@ - /* Common interface for libebl modules. - Copyright (C) 2000, 2001, 2002, 2003, 2005, 2013, 2014 Red Hat, Inc. -+ Copyright (C) 2023 Mark J. Wielaard <mark@klomp.org> - This file is part of elfutils. - - This file is free software; you can redistribute it and/or modify -@@ -53,7 +54,9 @@ extern bool (*generic_debugscn_p) (const - dwarf_tag (_die); }) - - /* Get a type die corresponding to DIE. Peel CV qualifiers off -- it. */ -+ it. Returns zero if the DIE doesn't have a type, or the type -+ is DW_TAG_unspecified_type. Returns -1 on error. Otherwise -+ returns the result tag DW_AT value. */ - static inline int - dwarf_peeled_die_type (Dwarf_Die *die, Dwarf_Die *result) - { -@@ -69,7 +72,14 @@ dwarf_peeled_die_type (Dwarf_Die *die, D - if (dwarf_peel_type (result, result) != 0) - return -1; - -- return DWARF_TAG_OR_RETURN (result); -+ if (result == NULL) -+ return -1; -+ -+ int tag = dwarf_tag (result); -+ if (tag == DW_TAG_unspecified_type) -+ return 0; /* Treat an unspecified type as if there was no type. */ -+ -+ return tag; - } - - #endif /* libebl_CPU.h */ ---- a/tests/funcretval.c -+++ b/tests/funcretval.c -@@ -1,5 +1,6 @@ - /* Test program for dwfl_module_return_value_location. - Copyright (C) 2005 Red Hat, Inc. -+ Copyright (C) 2023 Mark J. Wielaard <mark@klomp.org> - This file is part of elfutils. - - This file is free software; you can redistribute it and/or modify -@@ -67,7 +68,18 @@ handle_function (Dwarf_Die *funcdie, voi - error (EXIT_FAILURE, 0, "dwfl_module_return_value_location: %s", - dwfl_errmsg (-1)); - else if (nlocops == 0) -- puts ("returns no value"); -+ { -+ // Check if this is the special unspecified type -+ // https://sourceware.org/bugzilla/show_bug.cgi?id=30047 -+ Dwarf_Die die_mem, *typedie = &die_mem; -+ Dwarf_Attribute attr_mem, *attr; -+ attr = dwarf_attr_integrate (funcdie, DW_AT_type, &attr_mem); -+ if (dwarf_formref_die (attr, typedie) != NULL -+ && dwarf_tag (typedie) == DW_TAG_unspecified_type) -+ puts ("returns unspecified type"); -+ else -+ puts ("returns no value"); -+ } - else - { - printf ("return value location:"); diff --git a/poky/meta/recipes-devtools/gdb/gdb.inc b/poky/meta/recipes-devtools/gdb/gdb.inc index 9457c27f8b..8589de62ff 100644 --- a/poky/meta/recipes-devtools/gdb/gdb.inc +++ b/poky/meta/recipes-devtools/gdb/gdb.inc @@ -15,6 +15,7 @@ SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.xz \ file://0008-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \ file://0009-gdbserver-linux-low.cc-Fix-a-typo-in-ternary-operato.patch \ file://add-missing-ldflags.patch \ + file://0001-aarch64-Check-for-valid-inferior-thread-regcache-bef.patch \ " SRC_URI[sha256sum] = "115ad5c18d69a6be2ab15882d365dda2a2211c14f480b3502c6eba576e2e95a0" diff --git a/poky/meta/recipes-devtools/gdb/gdb/0001-aarch64-Check-for-valid-inferior-thread-regcache-bef.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-aarch64-Check-for-valid-inferior-thread-regcache-bef.patch new file mode 100644 index 0000000000..9adf4a4db5 --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb/0001-aarch64-Check-for-valid-inferior-thread-regcache-bef.patch @@ -0,0 +1,286 @@ +From b3eff3e15576229af9bae026c5c23ee694b90389 Mon Sep 17 00:00:00 2001 +From: Luis Machado <luis.machado@arm.com> +Date: Fri, 24 Mar 2023 07:58:38 +0000 +Subject: [PATCH] aarch64: Check for valid inferior thread/regcache before + reading pauth registers + +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@arm.com> + +There were reports of gdb throwing internal errors when calling +inferior_thread ()/get_current_regcache () on a system with +Pointer Authentication enabled. + +In such cases, gdb produces the following backtrace, or a variation +of it (for gdb's with the non-address removal implemented only in +the aarch64-linux-tdep.c file). + +../../../repos/binutils-gdb/gdb/thread.c:86: internal-error: inferior_thread: Assertion `current_thread_ != nullptr' failed. +A problem internal to GDB has been detected, +further debugging may prove unreliable. +----- Backtrace ----- +0xaaaae04a571f gdb_internal_backtrace_1 + ../../../repos/binutils-gdb/gdb/bt-utils.c:122 +0xaaaae04a57f3 _Z22gdb_internal_backtracev + ../../../repos/binutils-gdb/gdb/bt-utils.c:168 +0xaaaae0b52ccf internal_vproblem + ../../../repos/binutils-gdb/gdb/utils.c:401 +0xaaaae0b5310b _Z15internal_verrorPKciS0_St9__va_list + ../../../repos/binutils-gdb/gdb/utils.c:481 +0xaaaae0e24b8f _Z18internal_error_locPKciS0_z + ../../../repos/binutils-gdb/gdbsupport/errors.cc:58 +0xaaaae0a88983 _Z15inferior_threadv + ../../../repos/binutils-gdb/gdb/thread.c:86 +0xaaaae0956c87 _Z20get_current_regcachev + ../../../repos/binutils-gdb/gdb/regcache.c:428 +0xaaaae035223f aarch64_remove_non_address_bits + ../../../repos/binutils-gdb/gdb/aarch64-tdep.c:3572 +0xaaaae03e8abb _Z31gdbarch_remove_non_address_bitsP7gdbarchm + ../../../repos/binutils-gdb/gdb/gdbarch.c:3109 +0xaaaae0a692d7 memory_xfer_partial + ../../../repos/binutils-gdb/gdb/target.c:1620 +0xaaaae0a695e3 _Z19target_xfer_partialP10target_ops13target_objectPKcPhPKhmmPm + ../../../repos/binutils-gdb/gdb/target.c:1684 +0xaaaae0a69e9f target_read_partial + ../../../repos/binutils-gdb/gdb/target.c:1937 +0xaaaae0a69fdf _Z11target_readP10target_ops13target_objectPKcPhml + ../../../repos/binutils-gdb/gdb/target.c:1977 +0xaaaae0a69937 _Z18target_read_memorymPhl + ../../../repos/binutils-gdb/gdb/target.c:1773 +0xaaaae08be523 ps_xfer_memory + ../../../repos/binutils-gdb/gdb/proc-service.c:90 +0xaaaae08be6db ps_pdread + ../../../repos/binutils-gdb/gdb/proc-service.c:124 +0x40001ed7c3b3 _td_fetch_value + /build/glibc-RIFKjK/glibc-2.31/nptl_db/fetch-value.c:115 +0x40001ed791ef td_ta_map_lwp2thr + /build/glibc-RIFKjK/glibc-2.31/nptl_db/td_ta_map_lwp2thr.c:194 +0xaaaae07f4473 thread_from_lwp + ../../../repos/binutils-gdb/gdb/linux-thread-db.c:413 +0xaaaae07f6d6f _ZN16thread_db_target4waitE6ptid_tP17target_waitstatus10enum_flagsI16target_wait_flagE + ../../../repos/binutils-gdb/gdb/linux-thread-db.c:1420 +0xaaaae0a6b33b _Z11target_wait6ptid_tP17target_waitstatus10enum_flagsI16target_wait_flagE + ../../../repos/binutils-gdb/gdb/target.c:2586 +0xaaaae0789cf7 do_target_wait_1 + ../../../repos/binutils-gdb/gdb/infrun.c:3825 +0xaaaae0789e6f operator() + ../../../repos/binutils-gdb/gdb/infrun.c:3884 +0xaaaae078a167 do_target_wait + ../../../repos/binutils-gdb/gdb/infrun.c:3903 +0xaaaae078b0af _Z20fetch_inferior_eventv + ../../../repos/binutils-gdb/gdb/infrun.c:4314 +0xaaaae076652f _Z22inferior_event_handler19inferior_event_type + ../../../repos/binutils-gdb/gdb/inf-loop.c:41 +0xaaaae07dc68b handle_target_event + ../../../repos/binutils-gdb/gdb/linux-nat.c:4206 +0xaaaae0e25fbb handle_file_event + ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:573 +0xaaaae0e264f3 gdb_wait_for_event + ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:694 +0xaaaae0e24f9b _Z16gdb_do_one_eventi + ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:217 +0xaaaae080f033 start_event_loop + ../../../repos/binutils-gdb/gdb/main.c:411 +0xaaaae080f1b7 captured_command_loop + ../../../repos/binutils-gdb/gdb/main.c:475 +0xaaaae0810b97 captured_main + ../../../repos/binutils-gdb/gdb/main.c:1318 +0xaaaae0810c1b _Z8gdb_mainP18captured_main_args + ../../../repos/binutils-gdb/gdb/main.c:1337 +0xaaaae0338453 main + ../../../repos/binutils-gdb/gdb/gdb.c:32 +--------------------- +../../../repos/binutils-gdb/gdb/thread.c:86: internal-error: inferior_thread: Assertion `current_thread_ != nullptr' failed. +A problem internal to GDB has been detected, +further debugging may prove unreliable. +Quit this debugging session? (y or n) + +We also see failures across the testsuite if the tests get executed on a target +that has native support for the pointer authentication feature. But +gdb.base/break.exp and gdb.base/access-mem-running.exp are two examples of +tests that run into errors and internal errors. + +This issue started after commit d88cb738e6a7a7179dfaff8af78d69250c852af1, which +enabled more broad use of pointer authentication masks to remove non-address +bits of pointers, but wasn't immediately detected because systems with native +support for pointer authentication are not that common yet. + +The above crash happens because gdb is in the middle of handling an event, +and do_target_wait_1 calls switch_to_inferior_no_thread, nullifying the +current thread. This means a call to inferior_thread () will assert, and +attempting to call get_current_regcache () will also call inferior_thread (), +resulting in an assertion as well. + +target_has_registers was one function that seemed useful for detecting these +types of situation where we don't have a register cache. The problem with that +is the inconsistent state of inferior_ptid, which is used by +target_has_registers. + +Despite the call to switch_to_no_thread in switch_to_inferior_no_thread from +do_target_wait_1 in the backtrace above clearing inferior_ptid, the call to +ps_xfer_memory sets inferior_ptid momentarily before reading memory: + +static ps_err_e +ps_xfer_memory (const struct ps_prochandle *ph, psaddr_t addr, + gdb_byte *buf, size_t len, int write) +{ + scoped_restore_current_inferior restore_inferior; + set_current_inferior (ph->thread->inf); + + scoped_restore_current_program_space restore_current_progspace; + set_current_program_space (ph->thread->inf->pspace); + + scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid); + inferior_ptid = ph->thread->ptid; + + CORE_ADDR core_addr = ps_addr_to_core_addr (addr); + + int ret; + if (write) + ret = target_write_memory (core_addr, buf, len); + else + ret = target_read_memory (core_addr, buf, len); + return (ret == 0 ? PS_OK : PS_ERR); +} + +Maybe this shouldn't happen, or maybe it is just an unfortunate state to be +in. But this prevents the use of target_has_registers to guard against the +lack of registers, since, although current_thread_ is still nullptr, +inferior_ptid is valid and is not null_ptid. + +There is another crash scenario after we kill a previously active inferior, in +which case the gdbarch will still say we support pointer authentication but we +will also have no current thread (inferior_thread () will assert etc). + +If the target has support for pointer authentication, gdb needs to use +a couple (or 4, for bare-metal) mask registers to mask off some bits of +pointers, and for that it needs to access the registers. + +At some points, like the one from the backtrace above, there is no active +thread/current regcache because gdb is in the middle of doing event handling +and switching between threads. + +Simon suggested the use of inferior_ptid to fetch the register cache, as +opposed to relying on the current register cache. Though we need to make sure +inferior_ptid is valid (not null_ptid), I think this works nicely. + +With inferior_ptid, we can do safety checks along the way, making sure we have +a thread to fetch a register cache from and checking if the thread is actually +stopped or running. + +The following patch implements this idea with safety checks to make sure we +don't run into assertions or errors. If any of the checks fail, we fallback to +using a default mask to remove non-address bits of a pointer. + +I discussed with Pedro the possibility of caching the mask register values +(which are per-process and can change mid-execution), but there isn't a good +spot to cache those values. Besides, the mask registers can change constantly +for bare-metal debugging when switching between exception levels. + +In some cases, it is just not possible to get access to these mask registers, +like the case where threads are running. In those cases, using a default mask +to remove the non-address bits should be enough. + +This can happen when we let threads run in the background and then we attempt +to access a memory address (now that gdb is capable of reading memory even +with threads running). Thus gdb will attempt to remove non-address bits +of that memory access, will attempt to access registers, running into errors. + +Regression-tested on aarch64-linux Ubuntu 20.04. +--- + gdb/aarch64-linux-tdep.c | 64 ++++++++++++++++++++++++++++++---------- + 1 file changed, 49 insertions(+), 15 deletions(-) + +diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c +index 20a041c599e..4b2915b8e99 100644 +--- a/gdb/aarch64-linux-tdep.c ++++ b/gdb/aarch64-linux-tdep.c +@@ -57,6 +57,9 @@ + #include "elf/common.h" + #include "elf/aarch64.h" + ++/* For inferior_ptid and current_inferior (). */ ++#include "inferior.h" ++ + /* Signal frame handling. + + +------------+ ^ +@@ -1986,29 +1989,60 @@ aarch64_linux_decode_memtag_section (struct gdbarch *gdbarch, + static CORE_ADDR + aarch64_remove_non_address_bits (struct gdbarch *gdbarch, CORE_ADDR pointer) + { +- aarch64_gdbarch_tdep *tdep = gdbarch_tdep<aarch64_gdbarch_tdep> (gdbarch); +- + /* By default, we assume TBI and discard the top 8 bits plus the VA range +- select bit (55). */ ++ select bit (55). Below we try to fetch information about pointer ++ authentication masks in order to make non-address removal more ++ precise. */ + CORE_ADDR mask = AARCH64_TOP_BITS_MASK; + +- if (tdep->has_pauth ()) ++ /* Check if we have an inferior first. If not, just use the default ++ mask. ++ ++ We use the inferior_ptid here because the pointer authentication masks ++ should be the same across threads of a process. Since we may not have ++ access to the current thread (gdb may have switched to no inferiors ++ momentarily), we use the inferior ptid. */ ++ if (inferior_ptid != null_ptid) + { +- /* Fetch the PAC masks. These masks are per-process, so we can just +- fetch data from whatever thread we have at the moment. ++ /* If we do have an inferior, attempt to fetch its thread's thread_info ++ struct. */ ++ thread_info *thread ++ = find_thread_ptid (current_inferior ()->process_target (), ++ inferior_ptid); + +- Also, we have both a code mask and a data mask. For now they are the +- same, but this may change in the future. */ +- struct regcache *regs = get_current_regcache (); +- CORE_ADDR cmask, dmask; ++ /* If the thread is running, we will not be able to fetch the mask ++ registers. */ ++ if (thread != nullptr && thread->state != THREAD_RUNNING) ++ { ++ /* Otherwise, fetch the register cache and the masks. */ ++ struct regcache *regs ++ = get_thread_regcache (current_inferior ()->process_target (), ++ inferior_ptid); ++ ++ /* Use the gdbarch from the register cache to check for pointer ++ authentication support, as it matches the features found in ++ that particular thread. */ ++ aarch64_gdbarch_tdep *tdep ++ = gdbarch_tdep<aarch64_gdbarch_tdep> (regs->arch ()); ++ ++ /* Is there pointer authentication support? */ ++ if (tdep->has_pauth ()) ++ { ++ /* We have both a code mask and a data mask. For now they are ++ the same, but this may change in the future. */ ++ CORE_ADDR cmask, dmask; + +- if (regs->cooked_read (tdep->pauth_reg_base, &dmask) != REG_VALID) +- dmask = mask; ++ if (regs->cooked_read (tdep->pauth_reg_base, &dmask) ++ != REG_VALID) ++ dmask = mask; + +- if (regs->cooked_read (tdep->pauth_reg_base + 1, &cmask) != REG_VALID) +- cmask = mask; ++ if (regs->cooked_read (tdep->pauth_reg_base + 1, &cmask) ++ != REG_VALID) ++ cmask = mask; + +- mask |= aarch64_mask_from_pac_registers (cmask, dmask); ++ mask |= aarch64_mask_from_pac_registers (cmask, dmask); ++ } ++ } + } + + return aarch64_remove_top_bits (pointer, mask); +-- +2.34.1 + diff --git a/poky/meta/recipes-devtools/python/python3-attrs_22.2.0.bb b/poky/meta/recipes-devtools/python/python3-attrs_23.1.0.bb index 8c1ff330e7..c8e2e514a4 100644 --- a/poky/meta/recipes-devtools/python/python3-attrs_22.2.0.bb +++ b/poky/meta/recipes-devtools/python/python3-attrs_23.1.0.bb @@ -3,9 +3,14 @@ HOMEPAGE = "http://www.attrs.org/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=5e55731824cf9205cfabeab9a0600887" -SRC_URI[sha256sum] = "c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99" +SRC_URI[sha256sum] = "6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015" -inherit pypi python_setuptools_build_meta +inherit pypi python_hatchling + +DEPENDS += " \ + ${PYTHON_PN}-hatch-vcs-native \ + ${PYTHON_PN}-hatch-fancy-pypi-readme-native \ +" RDEPENDS:${PN}:class-target += " \ ${PYTHON_PN}-crypt \ diff --git a/poky/meta/recipes-devtools/python/python3-calver/0001-setup.py-hard-code-version.patch b/poky/meta/recipes-devtools/python/python3-calver/0001-setup.py-hard-code-version.patch new file mode 100644 index 0000000000..43f8a78ef0 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-calver/0001-setup.py-hard-code-version.patch @@ -0,0 +1,32 @@ +From 390a233ed969f82b2ef209b23bfb523e785603f9 Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin <tgamblin@baylibre.com> +Date: Tue, 9 May 2023 10:19:41 -0400 +Subject: [PATCH] setup.py: hard-code version + +setup.py is pulling the build version from the current date rather than +a release tag or other predictable method, causing reproducibility +issues in builds. Patch this to make reproducible builds work while +discussing this with upstream maintainer (or developing a patch that can +make calver rely on a more standard pyproject.toml solution). + +Upstream-Status: Inappropriate (configuration) + +Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 73f6b10..2e27cf1 100644 +--- a/setup.py ++++ b/setup.py +@@ -42,5 +42,5 @@ setup( + "use_calver = calver.integration:version", + ], + }, +- version=calver_version(True), ++ version=calver_version("2022.6.26"), + ) +-- +2.40.0 + diff --git a/poky/meta/recipes-devtools/python/python3-calver/run-ptest b/poky/meta/recipes-devtools/python/python3-calver/run-ptest new file mode 100644 index 0000000000..8d2017d39c --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-calver/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest --automake diff --git a/poky/meta/recipes-devtools/python/python3-calver_2022.6.26.bb b/poky/meta/recipes-devtools/python/python3-calver_2022.6.26.bb new file mode 100644 index 0000000000..58b33f19ff --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-calver_2022.6.26.bb @@ -0,0 +1,28 @@ +SUMMARY = "Setuptools extension for CalVer package versions" +HOMEPAGE = "https://github.com/di/calver" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI = " \ + git://github.com/di/calver;branch=master;protocol=https \ + file://run-ptest \ + file://0001-setup.py-hard-code-version.patch \ +" +SRCREV = "3268d8acf2c345f32a1c5f08ba25dc67f76cca81" + +inherit python_setuptools_build_meta ptest + +S = "${WORKDIR}/git" + +RDEPENDS:${PN}-ptest += " \ + ${PYTHON_PN}-pretend \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests ${D}${PTEST_PATH}/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-hatchling_1.13.0.bb b/poky/meta/recipes-devtools/python/python3-hatchling_1.14.1.bb index 17e7f86ba6..a3d2b741b1 100644 --- a/poky/meta/recipes-devtools/python/python3-hatchling_1.13.0.bb +++ b/poky/meta/recipes-devtools/python/python3-hatchling_1.14.1.bb @@ -5,10 +5,10 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cbe2fd33fc9297692812fc94b7d27fd9" inherit pypi python_hatchling -DEPENDS += "python3-pluggy-native python3-pathspec-native python3-packaging-native python3-editables-native" +DEPENDS += "python3-pluggy-native python3-pathspec-native python3-packaging-native python3-editables-native python3-trove-classifiers-native" DEPENDS:remove:class-native = "python3-hatchling-native" -SRC_URI[sha256sum] = "f8d275a2cc720735286b7c2e2bc35da05761e6d3695c2fa416550395f10c53c7" +SRC_URI[sha256sum] = "55fbc88cbd0d96c09c3e9392b51db513fd4cb4caf47615d65f935a5ef1756133" do_compile:prepend() { export PYTHONPATH=src diff --git a/poky/meta/recipes-devtools/python/python3-requests_2.28.2.bb b/poky/meta/recipes-devtools/python/python3-requests_2.30.0.bb index 8ab1ec0121..1286eba786 100644 --- a/poky/meta/recipes-devtools/python/python3-requests_2.28.2.bb +++ b/poky/meta/recipes-devtools/python/python3-requests_2.30.0.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://python-requests.org" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" -SRC_URI[sha256sum] = "98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf" +SRC_URI[sha256sum] = "239d7d4458afcb28a692cdd298d87542235f4ca8d36d03a15bfc128a6559a2f4" inherit pypi setuptools3 diff --git a/poky/meta/recipes-devtools/python/python3-trove-classifiers/run-ptest b/poky/meta/recipes-devtools/python/python3-trove-classifiers/run-ptest new file mode 100644 index 0000000000..8d2017d39c --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-trove-classifiers/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest --automake diff --git a/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.4.29.bb b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.4.29.bb new file mode 100644 index 0000000000..4bbcea5489 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.4.29.bb @@ -0,0 +1,26 @@ +SUMMARY = "Canonical source for classifiers on PyPI (pypi.org)." +HOMEPAGE = "https://github.com/pypa/trove-classifiers" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRC_URI[sha256sum] = "8adcc06f1eb7c495f0bdceb698bd9c044b3e57b0d5767d99ec4b6b17c9bbe957" + +inherit pypi python_setuptools_build_meta ptest + +DEPENDS += " python3-calver-native" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unittest-automake-output \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-urllib3_1.26.15.bb b/poky/meta/recipes-devtools/python/python3-urllib3_2.0.2.bb index d2de7c4c02..bc1cdb009f 100644 --- a/poky/meta/recipes-devtools/python/python3-urllib3_1.26.15.bb +++ b/poky/meta/recipes-devtools/python/python3-urllib3_2.0.2.bb @@ -3,15 +3,16 @@ HOMEPAGE = "https://github.com/shazow/urllib3" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c" -SRC_URI[sha256sum] = "8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305" +SRC_URI[sha256sum] = "61717a1095d7e155cdb737ac7bb2f4324a858a1e2e6466f6d03ff630ca68d3cc" -inherit pypi setuptools3 +inherit pypi python_hatchling RDEPENDS:${PN} += "\ ${PYTHON_PN}-certifi \ ${PYTHON_PN}-cryptography \ ${PYTHON_PN}-email \ ${PYTHON_PN}-idna \ + ${PYTHON_PN}-json \ ${PYTHON_PN}-netclient \ ${PYTHON_PN}-pyopenssl \ ${PYTHON_PN}-threading \ diff --git a/poky/meta/recipes-devtools/python/python3_3.11.2.bb b/poky/meta/recipes-devtools/python/python3_3.11.2.bb index 5bd8d32b14..421a305e22 100644 --- a/poky/meta/recipes-devtools/python/python3_3.11.2.bb +++ b/poky/meta/recipes-devtools/python/python3_3.11.2.bb @@ -72,11 +72,11 @@ ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}" -DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux-libuuid libtirpc libnsl2 autoconf-archive-native ncurses" +DEPENDS = "bzip2-replacement-native expat libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux-libuuid libtirpc libnsl2 autoconf-archive-native ncurses" DEPENDS:append:class-target = " python3-native" DEPENDS:append:class-nativesdk = " python3-native" -EXTRA_OECONF = " --without-ensurepip --enable-shared --with-platlibdir=${baselib}" +EXTRA_OECONF = " --without-ensurepip --enable-shared --with-platlibdir=${baselib} --with-system-expat" EXTRA_OECONF:append:class-native = " --bindir=${bindir}/${PN}" EXTRA_OECONF:append:class-target = " --with-build-python=nativepython3" EXTRA_OECONF:append:class-nativesdk = " --with-build-python=nativepython3" @@ -95,17 +95,15 @@ CACHED_CONFIGUREVARS = " \ " # PGO currently causes builds to not be reproducible so disable by default, see YOCTO #13407 -PACKAGECONFIG:class-target ??= "readline gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}" -PACKAGECONFIG:class-native ??= "readline gdbm" -PACKAGECONFIG:class-nativesdk ??= "readline gdbm" -PACKAGECONFIG[readline] = ",,readline" +PACKAGECONFIG ??= "editline gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}" +PACKAGECONFIG[readline] = "--with-readline=readline,,readline,,,editline" PACKAGECONFIG[editline] = "--with-readline=editline,,libedit,,,readline" # Use profile guided optimisation by running PyBench inside qemu-user PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native" PACKAGECONFIG[tk] = ",,tk" PACKAGECONFIG[tcl] = ",,tcl" PACKAGECONFIG[gdbm] = ",,gdbm" -PACKAGECONFIG[lto] = "--with-lto,," +PACKAGECONFIG[lto] = "--with-lto,--without-lto" do_configure:prepend () { mkdir -p ${B}/Modules diff --git a/poky/meta/recipes-devtools/qemu/qemu/ppc.patch b/poky/meta/recipes-devtools/qemu/qemu/ppc.patch index ade1daf61f..e14c48cf85 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/ppc.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/ppc.patch @@ -1,70 +1,148 @@ -target/ppc: Fix fallback to MFSS for MFFSCRN, MFFSCRNI, MFFSCE and MFFSL +From 31f02021ac17442c514593f7b9ed750ea87c21b1 Mon Sep 17 00:00:00 2001 +From: Richard Purdie <richard.purdie@linuxfoundation.org> +Date: Sat, 6 May 2023 07:42:35 +0100 +Cc: Víctor Colombo <victor.colombo@eldorado.org.br> +Cc: Matheus Ferst <matheus.ferst@eldorado.org.br> +Cc: Daniel Henrique Barboza <danielhb413@gmail.com> +Cc: Richard Henderson <richard.henderson@linaro.org> +Cc: Philippe Mathieu-Daudé <philmd@linaro.org> +Subject: [PATCH v3] target/ppc: Fix fallback to MFSS for MFFS* instructions on + pre 3.0 ISAs -The following commits changed the code such that these instructions became invalid -on pre 3.0 ISAs: +The following commits changed the code such that the fallback to MFSS for MFFSCRN, +MFFSCRNI, MFFSCE and MFFSL on pre 3.0 ISAs was removed and became an illegal instruction: - bf8adfd88b547680aa857c46098f3a1e94373160 - target/ppc: Move mffscrn[i] to decodetree + bf8adfd88b547680aa857c46098f3a1e94373160 - target/ppc: Move mffscrn[i] to decodetree 394c2e2fda70da722f20fb60412d6c0ca4bfaa03 - target/ppc: Move mffsce to decodetree - 3e5bce70efe6bd1f684efbb21fd2a316cbf0657e - target/ppc: Move mffsl to decodetree + 3e5bce70efe6bd1f684efbb21fd2a316cbf0657e - target/ppc: Move mffsl to decodetree The hardware will handle them as a MFFS instruction as the code did previously. -Restore that behaviour. This means applications that were segfaulting under qemu -when encountering these instructions now operate correctly. The instruction -is used in glibc libm functions for example. +This means applications that were segfaulting under qemu when encountering these +instructions which is used in glibc libm functions for example. -Upstream-Status: Submitted [https://lore.kernel.org/qemu-devel/20230504110150.3044402-1-richard.purdie@linuxfoundation.org/] +The fallback for MFFSCDRN and MFFSCDRNI added in a later patch was also missing. + +This patch restores the fallback to MFSS for these instructions on pre 3.0s ISAs +as the hardware decoder would, fixing the segfaulting libm code. It doesn't have +the fallback for 3.0 onwards to match hardware behaviour. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> +--- + target/ppc/insn32.decode | 20 +++++++++++++------- + target/ppc/translate/fp-impl.c.inc | 22 ++++++++++++++++------ + 2 files changed, 29 insertions(+), 13 deletions(-) -Index: qemu-8.0.0/target/ppc/translate/fp-impl.c.inc -=================================================================== ---- qemu-8.0.0.orig/target/ppc/translate/fp-impl.c.inc -+++ qemu-8.0.0/target/ppc/translate/fp-impl.c.inc -@@ -584,7 +584,10 @@ static bool trans_MFFSCE(DisasContext *c - { - TCGv_i64 fpscr; +v3 - drop fallback to MFFS for 3.0 ISA to match hardware +v2 - switch to use decodetree pattern groups per feedback + +Upstream-Status: Submitted [https://lore.kernel.org/qemu-devel/20230506065240.3177798-1-richard.purdie@linuxfoundation.org/] + +diff --git a/target/ppc/insn32.decode b/target/ppc/insn32.decode +index f8f589e9fd..4fcf3af8d0 100644 +--- a/target/ppc/insn32.decode ++++ b/target/ppc/insn32.decode +@@ -390,13 +390,19 @@ SETNBCR 011111 ..... ..... ----- 0111100000 - @X_bi -- REQUIRE_INSNS_FLAGS2(ctx, ISA300); -+ if (unlikely(!(ctx->insns_flags2 & PPC2_ISA300))) { + ### Move To/From FPSCR + +-MFFS 111111 ..... 00000 ----- 1001000111 . @X_t_rc +-MFFSCE 111111 ..... 00001 ----- 1001000111 - @X_t +-MFFSCRN 111111 ..... 10110 ..... 1001000111 - @X_tb +-MFFSCDRN 111111 ..... 10100 ..... 1001000111 - @X_tb +-MFFSCRNI 111111 ..... 10111 ---.. 1001000111 - @X_imm2 +-MFFSCDRNI 111111 ..... 10101 --... 1001000111 - @X_imm3 +-MFFSL 111111 ..... 11000 ----- 1001000111 - @X_t ++{ ++ # Before Power ISA v3.0, MFFS bits 11~15 were reserved and should be ignored ++ MFFS_ISA207 111111 ..... ----- ----- 1001000111 . @X_t_rc ++ [ ++ MFFS 111111 ..... 00000 ----- 1001000111 . @X_t_rc ++ MFFSCE 111111 ..... 00001 ----- 1001000111 - @X_t ++ MFFSCRN 111111 ..... 10110 ..... 1001000111 - @X_tb ++ MFFSCDRN 111111 ..... 10100 ..... 1001000111 - @X_tb ++ MFFSCRNI 111111 ..... 10111 ---.. 1001000111 - @X_imm2 ++ MFFSCDRNI 111111 ..... 10101 --... 1001000111 - @X_imm3 ++ MFFSL 111111 ..... 11000 ----- 1001000111 - @X_t ++ ] ++} + + ### Decimal Floating-Point Arithmetic Instructions + +diff --git a/target/ppc/translate/fp-impl.c.inc b/target/ppc/translate/fp-impl.c.inc +index 57d8437851..874774eade 100644 +--- a/target/ppc/translate/fp-impl.c.inc ++++ b/target/ppc/translate/fp-impl.c.inc +@@ -568,6 +568,22 @@ static void store_fpscr_masked(TCGv_i64 fpscr, uint64_t clear_mask, + gen_helper_store_fpscr(cpu_env, fpscr_masked, st_mask); + } + ++static bool trans_MFFS_ISA207(DisasContext *ctx, arg_X_t_rc *a) ++{ ++ if (!(ctx->insns_flags2 & PPC2_ISA300)) { ++ /* ++ * Before Power ISA v3.0, MFFS bits 11~15 were reserved, any instruction ++ * with OPCD=63 and XO=583 should be decoded as MFFS. ++ */ + return trans_MFFS(ctx, a); + } ++ /* ++ * For Power ISA v3.0+, return false and let the pattern group ++ * select the correct instruction. ++ */ ++ return false; ++} + + static bool trans_MFFS(DisasContext *ctx, arg_X_t_rc *a) + { + REQUIRE_FPU(ctx); +@@ -584,7 +600,6 @@ static bool trans_MFFSCE(DisasContext *ctx, arg_X_t *a) + { + TCGv_i64 fpscr; + +- REQUIRE_INSNS_FLAGS2(ctx, ISA300); REQUIRE_FPU(ctx); gen_reset_fpstatus(); -@@ -597,7 +600,10 @@ static bool trans_MFFSCRN(DisasContext * +@@ -597,7 +612,6 @@ static bool trans_MFFSCRN(DisasContext *ctx, arg_X_tb *a) { TCGv_i64 t1, fpscr; - REQUIRE_INSNS_FLAGS2(ctx, ISA300); -+ if (unlikely(!(ctx->insns_flags2 & PPC2_ISA300))) { -+ return trans_MFFS(ctx, a); -+ } -+ REQUIRE_FPU(ctx); t1 = tcg_temp_new_i64(); -@@ -631,7 +637,10 @@ static bool trans_MFFSCRNI(DisasContext +@@ -614,7 +628,6 @@ static bool trans_MFFSCDRN(DisasContext *ctx, arg_X_tb *a) + { + TCGv_i64 t1, fpscr; + +- REQUIRE_INSNS_FLAGS2(ctx, ISA300); + REQUIRE_FPU(ctx); + + t1 = tcg_temp_new_i64(); +@@ -631,7 +644,6 @@ static bool trans_MFFSCRNI(DisasContext *ctx, arg_X_imm2 *a) + { + TCGv_i64 t1, fpscr; + +- REQUIRE_INSNS_FLAGS2(ctx, ISA300); + REQUIRE_FPU(ctx); + + t1 = tcg_temp_new_i64(); +@@ -647,7 +659,6 @@ static bool trans_MFFSCDRNI(DisasContext *ctx, arg_X_imm3 *a) { TCGv_i64 t1, fpscr; - REQUIRE_INSNS_FLAGS2(ctx, ISA300); -+ if (unlikely(!(ctx->insns_flags2 & PPC2_ISA300))) { -+ return trans_MFFS(ctx, a); -+ } -+ REQUIRE_FPU(ctx); t1 = tcg_temp_new_i64(); -@@ -661,7 +670,10 @@ static bool trans_MFFSCDRNI(DisasContext +@@ -661,7 +672,6 @@ static bool trans_MFFSCDRNI(DisasContext *ctx, arg_X_imm3 *a) static bool trans_MFFSL(DisasContext *ctx, arg_X_t *a) { - REQUIRE_INSNS_FLAGS2(ctx, ISA300); -+ if (unlikely(!(ctx->insns_flags2 & PPC2_ISA300))) { -+ return trans_MFFS(ctx, a); -+ } -+ REQUIRE_FPU(ctx); gen_reset_fpstatus(); +-- +2.39.2 + diff --git a/poky/meta/recipes-extended/cpio/cpio-2.13/run-ptest b/poky/meta/recipes-extended/cpio/cpio-2.13/run-ptest index f027574e86..f35a756d6b 100644..100755 --- a/poky/meta/recipes-extended/cpio/cpio-2.13/run-ptest +++ b/poky/meta/recipes-extended/cpio/cpio-2.13/run-ptest @@ -1,10 +1,3 @@ #!/bin/sh -# Define cpio test work dir -WORKDIR=@PTEST_PATH@/tests/ - -# Run test -cd ${WORKDIR} -./atconfig ./atlocal ./testsuite - -./testsuite 2>&1 | grep -E '[0-9]{1,3}: ' | sed -e 's/^.....//' -e '/[ok]$/s/^/PASS: /;/FAILED (.*)/s/^/FAIL: /;/skipped (.*)/s/^/SKIP: /;/expected failure/ s/^/PASS: /;/UNEXPECTED PASS/s/^/FAIL: /' -e 's/ok$//g' -e 's/FAILED.*//g' -e 's/skipped.*//g' -e 's/expected failure.*//g' -e 's/UNEXPECTED PASS.*//g' +su -c ./test.sh ptest diff --git a/poky/meta/recipes-extended/cpio/cpio-2.13/test.sh b/poky/meta/recipes-extended/cpio/cpio-2.13/test.sh new file mode 100644 index 0000000000..f027574e86 --- /dev/null +++ b/poky/meta/recipes-extended/cpio/cpio-2.13/test.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +# Define cpio test work dir +WORKDIR=@PTEST_PATH@/tests/ + +# Run test +cd ${WORKDIR} +./atconfig ./atlocal ./testsuite + +./testsuite 2>&1 | grep -E '[0-9]{1,3}: ' | sed -e 's/^.....//' -e '/[ok]$/s/^/PASS: /;/FAILED (.*)/s/^/FAIL: /;/skipped (.*)/s/^/SKIP: /;/expected failure/ s/^/PASS: /;/UNEXPECTED PASS/s/^/FAIL: /' -e 's/ok$//g' -e 's/FAILED.*//g' -e 's/skipped.*//g' -e 's/expected failure.*//g' -e 's/UNEXPECTED PASS.*//g' diff --git a/poky/meta/recipes-extended/cpio/cpio_2.13.bb b/poky/meta/recipes-extended/cpio/cpio_2.13.bb index df5e09cae8..55bcc606b3 100644 --- a/poky/meta/recipes-extended/cpio/cpio_2.13.bb +++ b/poky/meta/recipes-extended/cpio/cpio_2.13.bb @@ -14,6 +14,7 @@ SRC_URI = "${GNU_MIRROR}/cpio/cpio-${PV}.tar.gz \ file://0001-Use-__alignof__-with-clang.patch \ file://0001-Wrong-CRC-with-ASCII-CRC-for-large-files.patch \ file://run-ptest \ + file://test.sh \ " SRC_URI[md5sum] = "389c5452d667c23b5eceb206f5000810" @@ -57,9 +58,24 @@ do_install_ptest() { install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/ install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/ install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/ - sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/run-ptest + install --mode=755 ${WORKDIR}/test.sh ${D}${PTEST_PATH}/test.sh + sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/test.sh } +# ptest.bbclass currently chowns the ptest directory explicitly, so we need to +# change permission after that has happened so the ptest user can write a +# temporary directory. +do_install_ptest_base:append() { + chgrp -R ptest ${D}${PTEST_PATH}/ + chmod -R g+w ${D}${PTEST_PATH}/ +} + +# The tests need to run as a non-root user, so pull in the ptest user +DEPENDS:append:class-target = "${@bb.utils.contains('PTEST_ENABLED', '1', ' ptest-runner', '', d)}" +PACKAGE_WRITE_DEPS += "ptest-runner" + +RDEPENDS:${PN}-ptest += "ptest-runner" + PACKAGES =+ "${PN}-rmt" FILES:${PN}-rmt = "${sbindir}/rmt*" diff --git a/poky/meta/recipes-gnome/gcr/gcr_4.1.0.bb b/poky/meta/recipes-gnome/gcr/gcr_4.1.0.bb index 0cc466b614..239d9806cc 100644 --- a/poky/meta/recipes-gnome/gcr/gcr_4.1.0.bb +++ b/poky/meta/recipes-gnome/gcr/gcr_4.1.0.bb @@ -17,8 +17,7 @@ CFLAGS += "-D_GNU_SOURCE" GNOMEBASEBUILDCLASS = "meson" GTKDOC_MESON_OPTION = "gtk_doc" -inherit gnomebase gtk-icon-cache gi-docgen features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg -UPSTREAM_CHECK_REGEX = "gcr-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz" +inherit gnomebase gtk-icon-cache gi-docgen features_check vala gobject-introspection gettext mime mime-xdg REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', '', d)}" diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb index 7db43a8281..f84d9bb6d0 100644 --- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb +++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb @@ -40,8 +40,7 @@ DEPENDS = "nasm-native" inherit autotools pkgconfig PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc \ - alsa bzlib lzma pic pthreads shared theora zlib \ - ${@bb.utils.contains('AVAILTUNES', 'mips32r2', 'mips32r2', '', d)} \ + alsa bzlib lzma theora zlib \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)}" # libraries to build in addition to avutil @@ -71,6 +70,7 @@ PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2" PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex" PACKAGECONFIG[srt] = "--enable-libsrt,--disable-libsrt,srt" PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg" +PACKAGECONFIG[v4l2] = "--enable-libv4l2,--disable-libv4l2,v4l-utils" PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva" PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx" @@ -80,13 +80,6 @@ PACKAGECONFIG[xcb] = "--enable-libxcb,--disable-libxcb,libxcb" PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv" PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" -# other configuration options -PACKAGECONFIG[mips32r2] = ",--disable-mipsdsp --disable-mipsdspr2" -PACKAGECONFIG[pic] = "--enable-pic" -PACKAGECONFIG[pthreads] = "--enable-pthreads,--disable-pthreads" -PACKAGECONFIG[shared] = "--enable-shared" -PACKAGECONFIG[strip] = ",--disable-stripping" - # Check codecs that require --enable-nonfree USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}" @@ -97,6 +90,10 @@ def cpu(d): return 'generic' EXTRA_OECONF = " \ + --disable-stripping \ + --enable-pic \ + --enable-shared \ + --enable-pthreads \ ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \ \ --cross-prefix=${TARGET_PREFIX} \ @@ -114,6 +111,7 @@ EXTRA_OECONF = " \ --libdir=${libdir} \ --shlibdir=${libdir} \ --datadir=${datadir}/ffmpeg \ + ${@bb.utils.contains('AVAILTUNES', 'mips32r2', '', '--disable-mipsdsp --disable-mipsdspr2', d)} \ --cpu=${@cpu(d)} \ --pkg-config=pkg-config \ " diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.2.bb index 3e9a789d24..8b282bbb7b 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.0.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.2.bb @@ -12,7 +12,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${PV} file://0001-connect-has-a-different-signature-on-musl.patch \ " -SRC_URI[sha256sum] = "4d21fee5c15f2877c0b1f6c2da0cdba67ce7caab2c199ab27e91a1394d5ba195" +SRC_URI[sha256sum] = "eb62726d3e27a8782369a24fd6364a8885ed2462b3bbdab091dffc8139ee06d8" DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" RRECOMMENDS:${PN} = "git" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch deleted file mode 100644 index 0a06540fb4..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch +++ /dev/null @@ -1,49 +0,0 @@ -From cde31d23c071ee93fae96331805f696856084254 Mon Sep 17 00:00:00 2001 -From: "U. Artie Eoff" <ullysses.a.eoff@intel.com> -Date: Mon, 13 Feb 2023 17:02:01 -0500 -Subject: [PATCH] avviddec: change - AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADS - -This fixes a compile error with recent upstream FFmpeg. - -The AV_CODEC_CAP_AUTO_THREADS was deprecated and renamed to -AV_CODEC_CAP_OTHER_THREADS in FFmpeg upstream commit -7d09579190de (lavc 58.132.100). - -The AV_CODEC_CAP_AUTO_THREADS was finally removed in FFmpeg upstream -commit 10c9a0874cb3 (lavc 59.63.100). - -Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3964> - -Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/cde31d23c071ee93fae96331805f696856084254?merge_request_iid=3964] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - ext/libav/gstavviddec.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c -index 43cea456ae8..6d7c4cd0de8 100644 ---- a/ext/libav/gstavviddec.c -+++ b/ext/libav/gstavviddec.c -@@ -35,6 +35,10 @@ - - GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE); - -+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,132,100) -+#define AV_CODEC_CAP_OTHER_THREADS AV_CODEC_CAP_AUTO_THREADS -+#endif -+ - #define GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED (1<<15) - - #define MAX_TS_MASK 0xff -@@ -615,7 +619,7 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder, - if (ffmpegdec->max_threads == 0) { - /* When thread type is FF_THREAD_FRAME, extra latency is introduced equal - * to one frame per thread. We thus need to calculate the thread count ourselves */ -- if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_AUTO_THREADS)) || -+ if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_OTHER_THREADS)) || - (ffmpegdec->context->thread_type & FF_THREAD_FRAME)) - ffmpegdec->context->thread_count = - MIN (gst_ffmpeg_auto_max_threads (), 16); --- -GitLab diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.2.bb index d1dce6739d..ed3dbaca22 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.2.bb @@ -11,10 +11,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \ file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \ " -SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \ - file://ffmpeg-6.0.patch \ - " -SRC_URI[sha256sum] = "0e48407b4905227a260213dbda84cba3812f0530fc7a75b43829102ef82810f1" +SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz" +SRC_URI[sha256sum] = "fcaaf9878fe8f3bc82317ef13a1558824cb68df1f8968c6797f556c5e33bcffd" S = "${WORKDIR}/gst-libav-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.2.bb index ed4c44583e..d2d23050d9 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.0.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.2.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz" -SRC_URI[sha256sum] = "dbc951a99af532380e599aa8acd9e1385fdb299b46b5868cd2be4230ad888341" +SRC_URI[sha256sum] = "1b0c57f2cc4ddeec5e7f0c436e502f06665c4e93c73261855b94e04fc94337b2" S = "${WORKDIR}/gst-omx-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.2.bb index bb6bcb45b0..6260f9586b 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.0.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.2.bb @@ -10,7 +10,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad file://0002-avoid-including-sys-poll.h-directly.patch \ file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ " -SRC_URI[sha256sum] = "3c9d9300f5f4fb3e3d36009379d1fb6d9ecd79c1a135df742b8a68417dd663a1" +SRC_URI[sha256sum] = "3d8faf1ce3402c8535ce3a8c4e1a6c960e4b5655dbda6b55943db9ac79022d0f" S = "${WORKDIR}/gst-plugins-bad-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.2.bb index 91c072accd..c1e5d0cd09 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.0.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.2.bb @@ -11,7 +11,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-ba file://0003-viv-fb-Make-sure-config.h-is-included.patch \ file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ " -SRC_URI[sha256sum] = "f53672294f3985d56355c8b1df8f6b49c8c8721106563e19f53be3507ff2229d" +SRC_URI[sha256sum] = "eb65120c4ee79b7a153c3c1972d5c0158c2151877cc51ec7725bba5749679d49" S = "${WORKDIR}/gst-plugins-base-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.2.bb index 67a6a22404..a9352949b5 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.0.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.2.bb @@ -8,7 +8,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-go file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch" -SRC_URI[sha256sum] = "582e617271e7f314d1a2211e3e3856ae2e4303c8c0d6114e9c4a5ea5719294b0" +SRC_URI[sha256sum] = "7c8cc59425f2b232f60ca7d13e56edd615da4f711e73dd01a7cffa46e6bc0cdd" S = "${WORKDIR}/gst-plugins-good-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.2.bb index 35baaea304..dc81bf27f6 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.2.bb @@ -14,7 +14,7 @@ LICENSE_FLAGS = "commercial" SRC_URI = " \ https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \ " -SRC_URI[sha256sum] = "a644dc981afa2d8d3a913f763ab9523c0620ee4e65a7ec73c7721c29da3c5a0c" +SRC_URI[sha256sum] = "8f30f44db0bd063709bf6fbe55138e3a98af0abcb61c360f35582bbe10e80691" S = "${WORKDIR}/gst-plugins-ugly-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.2.bb index c447f2cbe8..52d987eee5 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.0.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.2.bb @@ -8,7 +8,7 @@ LICENSE = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" -SRC_URI[sha256sum] = "6c63ad364ca4617eb2cbb3975ab26c66760eb3c7a6adf5be69f99c11e21ef3a5" +SRC_URI[sha256sum] = "bef2b3d82ce4be46b775b1bb56305c1003ee01b535a53a82f9fe8924972153ad" DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.2.bb index f943c829c4..02c2badc2a 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.2.bb @@ -10,7 +10,7 @@ PNREAL = "gst-rtsp-server" SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" -SRC_URI[sha256sum] = "aea24eeb59ee5fadfac355de2f7cecb51966c3e147e5ad7cfb4c314f1a4086ed" +SRC_URI[sha256sum] = "2be4aecfb88710100ea7115ed0216403e8094344ebf146094271b8d4d73828bf" S = "${WORKDIR}/${PNREAL}-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.2.bb index 8a703f533e..6111720976 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.0.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.2.bb @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "593ccad19f88e5fa29f40f98356c007806bd535828707b1406944d16a90bdff5" +SRC_URI[sha256sum] = "d2e642f9745f97d9f73a7f5085e7659a9a31fe209b774e6e45dae041b435df06" S = "${WORKDIR}/${REALPN}-${PV}" DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" @@ -51,10 +51,3 @@ FILES:${PN} += "${libdir}/gstreamer-*/*.so" FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug" FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a" FILES:${PN}-tests = "${bindir}/*" - -# correct .pc install location - fixed in upstream trunk -do_install:append() { - mkdir -p ${D}/${libdir}/pkgconfig - mv ${D}/${libdir}/gstreamer-1.0/pkgconfig/*.pc ${D}/${libdir}/pkgconfig - rmdir ${D}/${libdir}/gstreamer-1.0/pkgconfig/ -} diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.2.bb index 11002e667d..f6dd2c168e 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.0.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.2.bb @@ -22,7 +22,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.x file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \ file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \ " -SRC_URI[sha256sum] = "78d21b5469ac93edafc6d8ceb63bc82f6cbbee94d2f866cca6b9252157ee0a09" +SRC_URI[sha256sum] = "b2afe73603921c608ba48969dbb7d743776744bfe5d8059ece241137b7f88e21" PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ check \ diff --git a/poky/meta/recipes-multimedia/libtiff/files/0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch b/poky/meta/recipes-multimedia/libtiff/files/0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch deleted file mode 100644 index 17b37be041..0000000000 --- a/poky/meta/recipes-multimedia/libtiff/files/0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch +++ /dev/null @@ -1,267 +0,0 @@ -From f00484b9519df933723deb38fff943dc291a793d Mon Sep 17 00:00:00 2001 -From: Su_Laus <sulau@freenet.de> -Date: Tue, 30 Aug 2022 16:56:48 +0200 -Subject: [PATCH] Revised handling of TIFFTAG_INKNAMES and related - TIFFTAG_NUMBEROFINKS value - -In order to solve the buffer overflow issues related to TIFFTAG_INKNAMES and related TIFFTAG_NUMBEROFINKS value, a revised handling of those tags within LibTiff is proposed: - -Behaviour for writing: - `NumberOfInks` MUST fit to the number of inks in the `InkNames` string. - `NumberOfInks` is automatically set when `InkNames` is set. - If `NumberOfInks` is different to the number of inks within `InkNames` string, that will be corrected and a warning is issued. - If `NumberOfInks` is not equal to samplesperpixel only a warning will be issued. - -Behaviour for reading: - When reading `InkNames` from a TIFF file, the `NumberOfInks` will be set automatically to the number of inks in `InkNames` string. - If `NumberOfInks` is different to the number of inks within `InkNames` string, that will be corrected and a warning is issued. - If `NumberOfInks` is not equal to samplesperpixel only a warning will be issued. - -This allows the safe use of the NumberOfInks value to read out the InkNames without buffer overflow - -This MR will close the following issues: #149, #150, #152, #168 (to be checked), #250, #269, #398 and #456. - -It also fixes the old bug at http://bugzilla.maptools.org/show_bug.cgi?id=2599, for which the limitation of `NumberOfInks = SPP` was introduced, which is in my opinion not necessary and does not solve the general issue. - -CVE: CVE-2022-3599 CVE-2022-4645 -Upstream-Status: Backport [https://gitlab.com/libtiff/libtiff/-/commit/e813112545942107551433d61afd16ac094ff246.patch] -Signed-off-by: Ross Burton <ross.burton@arm.com> -Signed-off-by: Pawan Badganchi <Pawan.Badganchi@kpit.com> ---- - libtiff/tif_dir.c | 119 ++++++++++++++++++++++++----------------- - libtiff/tif_dir.h | 2 + - libtiff/tif_dirinfo.c | 2 +- - libtiff/tif_dirwrite.c | 5 ++ - libtiff/tif_print.c | 4 ++ - 5 files changed, 82 insertions(+), 50 deletions(-) - -diff --git a/libtiff/tif_dir.c b/libtiff/tif_dir.c -index 793e8a79..816f7756 100644 ---- a/libtiff/tif_dir.c -+++ b/libtiff/tif_dir.c -@@ -136,32 +136,30 @@ setExtraSamples(TIFF* tif, va_list ap, uint32_t* v) - } - - /* -- * Confirm we have "samplesperpixel" ink names separated by \0. Returns -+ * Count ink names separated by \0. Returns - * zero if the ink names are not as expected. - */ --static uint32_t --checkInkNamesString(TIFF* tif, uint32_t slen, const char* s) -+static uint16_t -+countInkNamesString(TIFF *tif, uint32_t slen, const char *s) - { -- TIFFDirectory* td = &tif->tif_dir; -- uint16_t i = td->td_samplesperpixel; -+ uint16_t i = 0; -+ const char *ep = s + slen; -+ const char *cp = s; - - if (slen > 0) { -- const char* ep = s+slen; -- const char* cp = s; -- for (; i > 0; i--) { -+ do { - for (; cp < ep && *cp != '\0'; cp++) {} - if (cp >= ep) - goto bad; - cp++; /* skip \0 */ -- } -- return ((uint32_t)(cp - s)); -+ i++; -+ } while (cp < ep); -+ return (i); - } - bad: - TIFFErrorExt(tif->tif_clientdata, "TIFFSetField", -- "%s: Invalid InkNames value; expecting %"PRIu16" names, found %"PRIu16, -- tif->tif_name, -- td->td_samplesperpixel, -- (uint16_t)(td->td_samplesperpixel-i)); -+ "%s: Invalid InkNames value; no NUL at given buffer end location %"PRIu32", after %"PRIu16" ink", -+ tif->tif_name, slen, i); - return (0); - } - -@@ -478,13 +476,61 @@ _TIFFVSetField(TIFF* tif, uint32_t tag, va_list ap) - _TIFFsetFloatArray(&td->td_refblackwhite, va_arg(ap, float*), 6); - break; - case TIFFTAG_INKNAMES: -- v = (uint16_t) va_arg(ap, uint16_vap); -- s = va_arg(ap, char*); -- v = checkInkNamesString(tif, v, s); -- status = v > 0; -- if( v > 0 ) { -- _TIFFsetNString(&td->td_inknames, s, v); -- td->td_inknameslen = v; -+ { -+ v = (uint16_t) va_arg(ap, uint16_vap); -+ s = va_arg(ap, char*); -+ uint16_t ninksinstring; -+ ninksinstring = countInkNamesString(tif, v, s); -+ status = ninksinstring > 0; -+ if(ninksinstring > 0 ) { -+ _TIFFsetNString(&td->td_inknames, s, v); -+ td->td_inknameslen = v; -+ /* Set NumberOfInks to the value ninksinstring */ -+ if (TIFFFieldSet(tif, FIELD_NUMBEROFINKS)) -+ { -+ if (td->td_numberofinks != ninksinstring) { -+ TIFFErrorExt(tif->tif_clientdata, module, -+ "Warning %s; Tag %s:\n Value %"PRIu16" of NumberOfInks is different from the number of inks %"PRIu16".\n -> NumberOfInks value adapted to %"PRIu16"", -+ tif->tif_name, fip->field_name, td->td_numberofinks, ninksinstring, ninksinstring); -+ td->td_numberofinks = ninksinstring; -+ } -+ } else { -+ td->td_numberofinks = ninksinstring; -+ TIFFSetFieldBit(tif, FIELD_NUMBEROFINKS); -+ } -+ if (TIFFFieldSet(tif, FIELD_SAMPLESPERPIXEL)) -+ { -+ if (td->td_numberofinks != td->td_samplesperpixel) { -+ TIFFErrorExt(tif->tif_clientdata, module, -+ "Warning %s; Tag %s:\n Value %"PRIu16" of NumberOfInks is different from the SamplesPerPixel value %"PRIu16"", -+ tif->tif_name, fip->field_name, td->td_numberofinks, td->td_samplesperpixel); -+ } -+ } -+ } -+ } -+ break; -+ case TIFFTAG_NUMBEROFINKS: -+ v = (uint16_t)va_arg(ap, uint16_vap); -+ /* If InkNames already set also NumberOfInks is set accordingly and should be equal */ -+ if (TIFFFieldSet(tif, FIELD_INKNAMES)) -+ { -+ if (v != td->td_numberofinks) { -+ TIFFErrorExt(tif->tif_clientdata, module, -+ "Error %s; Tag %s:\n It is not possible to set the value %"PRIu32" for NumberOfInks\n which is different from the number of inks in the InkNames tag (%"PRIu16")", -+ tif->tif_name, fip->field_name, v, td->td_numberofinks); -+ /* Do not set / overwrite number of inks already set by InkNames case accordingly. */ -+ status = 0; -+ } -+ } else { -+ td->td_numberofinks = (uint16_t)v; -+ if (TIFFFieldSet(tif, FIELD_SAMPLESPERPIXEL)) -+ { -+ if (td->td_numberofinks != td->td_samplesperpixel) { -+ TIFFErrorExt(tif->tif_clientdata, module, -+ "Warning %s; Tag %s:\n Value %"PRIu32" of NumberOfInks is different from the SamplesPerPixel value %"PRIu16"", -+ tif->tif_name, fip->field_name, v, td->td_samplesperpixel); -+ } -+ } - } - break; - case TIFFTAG_PERSAMPLE: -@@ -986,34 +1032,6 @@ _TIFFVGetField(TIFF* tif, uint32_t tag, va_list ap) - if (fip->field_bit == FIELD_CUSTOM) { - standard_tag = 0; - } -- -- if( standard_tag == TIFFTAG_NUMBEROFINKS ) -- { -- int i; -- for (i = 0; i < td->td_customValueCount; i++) { -- uint16_t val; -- TIFFTagValue *tv = td->td_customValues + i; -- if (tv->info->field_tag != standard_tag) -- continue; -- if( tv->value == NULL ) -- return 0; -- val = *(uint16_t *)tv->value; -- /* Truncate to SamplesPerPixel, since the */ -- /* setting code for INKNAMES assume that there are SamplesPerPixel */ -- /* inknames. */ -- /* Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2599 */ -- if( val > td->td_samplesperpixel ) -- { -- TIFFWarningExt(tif->tif_clientdata,"_TIFFVGetField", -- "Truncating NumberOfInks from %u to %"PRIu16, -- val, td->td_samplesperpixel); -- val = td->td_samplesperpixel; -- } -- *va_arg(ap, uint16_t*) = val; -- return 1; -- } -- return 0; -- } - - switch (standard_tag) { - case TIFFTAG_SUBFILETYPE: -@@ -1195,6 +1213,9 @@ _TIFFVGetField(TIFF* tif, uint32_t tag, va_list ap) - case TIFFTAG_INKNAMES: - *va_arg(ap, const char**) = td->td_inknames; - break; -+ case TIFFTAG_NUMBEROFINKS: -+ *va_arg(ap, uint16_t *) = td->td_numberofinks; -+ break; - default: - { - int i; -diff --git a/libtiff/tif_dir.h b/libtiff/tif_dir.h -index 09065648..0c251c9e 100644 ---- a/libtiff/tif_dir.h -+++ b/libtiff/tif_dir.h -@@ -117,6 +117,7 @@ typedef struct { - /* CMYK parameters */ - int td_inknameslen; - char* td_inknames; -+ uint16_t td_numberofinks; /* number of inks in InkNames string */ - - int td_customValueCount; - TIFFTagValue *td_customValues; -@@ -174,6 +175,7 @@ typedef struct { - #define FIELD_TRANSFERFUNCTION 44 - #define FIELD_INKNAMES 46 - #define FIELD_SUBIFD 49 -+#define FIELD_NUMBEROFINKS 50 - /* FIELD_CUSTOM (see tiffio.h) 65 */ - /* end of support for well-known tags; codec-private tags follow */ - #define FIELD_CODEC 66 /* base of codec-private tags */ -diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c -index 3371cb5c..3b4bcd33 100644 ---- a/libtiff/tif_dirinfo.c -+++ b/libtiff/tif_dirinfo.c -@@ -114,7 +114,7 @@ tiffFields[] = { - { TIFFTAG_SUBIFD, -1, -1, TIFF_IFD8, 0, TIFF_SETGET_C16_IFD8, TIFF_SETGET_UNDEFINED, FIELD_SUBIFD, 1, 1, "SubIFD", (TIFFFieldArray*) &tiffFieldArray }, - { TIFFTAG_INKSET, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "InkSet", NULL }, - { TIFFTAG_INKNAMES, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_C16_ASCII, TIFF_SETGET_UNDEFINED, FIELD_INKNAMES, 1, 1, "InkNames", NULL }, -- { TIFFTAG_NUMBEROFINKS, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "NumberOfInks", NULL }, -+ { TIFFTAG_NUMBEROFINKS, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_NUMBEROFINKS, 1, 0, "NumberOfInks", NULL }, - { TIFFTAG_DOTRANGE, 2, 2, TIFF_SHORT, 0, TIFF_SETGET_UINT16_PAIR, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "DotRange", NULL }, - { TIFFTAG_TARGETPRINTER, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "TargetPrinter", NULL }, - { TIFFTAG_EXTRASAMPLES, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_C16_UINT16, TIFF_SETGET_UNDEFINED, FIELD_EXTRASAMPLES, 0, 1, "ExtraSamples", NULL }, -diff --git a/libtiff/tif_dirwrite.c b/libtiff/tif_dirwrite.c -index 6c86fdca..062e4610 100644 ---- a/libtiff/tif_dirwrite.c -+++ b/libtiff/tif_dirwrite.c -@@ -626,6 +626,11 @@ TIFFWriteDirectorySec(TIFF* tif, int isimage, int imagedone, uint64_t* pdiroff) - if (!TIFFWriteDirectoryTagAscii(tif,&ndir,dir,TIFFTAG_INKNAMES,tif->tif_dir.td_inknameslen,tif->tif_dir.td_inknames)) - goto bad; - } -+ if (TIFFFieldSet(tif, FIELD_NUMBEROFINKS)) -+ { -+ if (!TIFFWriteDirectoryTagShort(tif, &ndir, dir, TIFFTAG_NUMBEROFINKS, tif->tif_dir.td_numberofinks)) -+ goto bad; -+ } - if (TIFFFieldSet(tif,FIELD_SUBIFD)) - { - if (!TIFFWriteDirectoryTagSubifd(tif,&ndir,dir)) -diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c -index 16ce5780..a91b9e7b 100644 ---- a/libtiff/tif_print.c -+++ b/libtiff/tif_print.c -@@ -397,6 +397,10 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags) - } - fputs("\n", fd); - } -+ if (TIFFFieldSet(tif, FIELD_NUMBEROFINKS)) { -+ fprintf(fd, " NumberOfInks: %d\n", -+ td->td_numberofinks); -+ } - if (TIFFFieldSet(tif,FIELD_THRESHHOLDING)) { - fprintf(fd, " Thresholding: "); - switch (td->td_threshholding) { --- -2.34.1 - diff --git a/poky/meta/recipes-support/sqlite/sqlite3.inc b/poky/meta/recipes-support/sqlite/sqlite3.inc index 9a0de08553..c246d42fdf 100644 --- a/poky/meta/recipes-support/sqlite/sqlite3.inc +++ b/poky/meta/recipes-support/sqlite/sqlite3.inc @@ -18,7 +18,7 @@ S = "${WORKDIR}/sqlite-autoconf-${SQLITE_PV}" UPSTREAM_CHECK_URI = "http://www.sqlite.org/" UPSTREAM_CHECK_REGEX = "releaselog/(?P<pver>(\d+[\.\-_]*)+)\.html" -CVE_PRODUCT = "sqlite" +CVE_PRODUCT = "sqlite sqlite3" inherit autotools pkgconfig siteinfo diff --git a/poky/meta/recipes-support/vte/vte_0.72.0.bb b/poky/meta/recipes-support/vte/vte_0.72.1.bb index 5eaff99159..b9ff3183c8 100644 --- a/poky/meta/recipes-support/vte/vte_0.72.0.bb +++ b/poky/meta/recipes-support/vte/vte_0.72.1.bb @@ -21,7 +21,7 @@ inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-intr # vapigen.m4 is required when vala is not present (but the one from vala should be used normally) SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch" -SRC_URI[archive.sha256sum] = "40fe914d6c70db34176c922725b6c6ea15d5f3cb2a9b44c57e200a5f950a6736" +SRC_URI[archive.sha256sum] = "0554f9f88d56ce2d78398fcc7f69bc00e53bbbc5f694e0ae1dcaf5286f89d7e4" ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" |